@amwaljs/checkout-button 0.2.9 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1233) hide show
  1. package/dist/checkout/checkout.esm.js +1 -2
  2. package/dist/checkout/index.esm.js +0 -2
  3. package/dist/checkout/p--tz3q7oD.js +4 -0
  4. package/dist/checkout/p-00e120c2.entry.js +1 -0
  5. package/dist/checkout/p-0363331c.entry.js +1 -0
  6. package/dist/checkout/p-0f731364.entry.js +4 -0
  7. package/dist/checkout/p-147541e8.entry.js +1 -0
  8. package/dist/checkout/p-16f51173.entry.js +1 -0
  9. package/dist/checkout/p-178c0495.entry.js +1 -0
  10. package/dist/checkout/p-1c08169f.entry.js +1 -0
  11. package/dist/checkout/p-1c6da25b.entry.js +1 -0
  12. package/dist/checkout/p-1dc3efa2.entry.js +1 -0
  13. package/dist/checkout/p-2383ebd8.entry.js +1 -0
  14. package/dist/checkout/p-25306802.entry.js +1 -0
  15. package/dist/checkout/p-26af1ebe.entry.js +1 -0
  16. package/dist/checkout/p-2768f09a.entry.js +1 -0
  17. package/dist/checkout/p-27fb8b9e.entry.js +1 -0
  18. package/dist/checkout/p-2c421f28.entry.js +1 -0
  19. package/dist/checkout/p-2dd918ca.entry.js +1 -0
  20. package/dist/checkout/p-2e366473.entry.js +1 -0
  21. package/dist/checkout/p-38f520fb.entry.js +1 -0
  22. package/dist/checkout/p-3a262c01.entry.js +1 -0
  23. package/dist/checkout/p-3c416dcd.entry.js +1 -0
  24. package/dist/checkout/p-418e3312.entry.js +1 -0
  25. package/dist/checkout/p-43c67eeb.entry.js +1 -0
  26. package/dist/checkout/p-44f2b201.entry.js +4 -0
  27. package/dist/checkout/p-470783cb.entry.js +1 -0
  28. package/dist/checkout/p-48c40063.entry.js +1 -0
  29. package/dist/checkout/p-490c7f14.entry.js +1 -0
  30. package/dist/checkout/p-493952b7.entry.js +1 -0
  31. package/dist/checkout/p-4de3b067.entry.js +1 -0
  32. package/dist/checkout/p-519c1a94.entry.js +1 -0
  33. package/dist/checkout/p-523f80de.entry.js +1 -0
  34. package/dist/checkout/p-5274360d.entry.js +1 -0
  35. package/dist/checkout/p-550a7fdf.entry.js +1 -0
  36. package/dist/checkout/p-5IcNt7MW.js +8 -0
  37. package/dist/checkout/p-5a2c8845.entry.js +7 -0
  38. package/dist/checkout/p-5d2b220e.entry.js +1 -0
  39. package/dist/checkout/p-60bbcf96.entry.js +1 -0
  40. package/dist/checkout/p-68738638.entry.js +1 -0
  41. package/dist/checkout/p-69233a7c.entry.js +1 -0
  42. package/dist/checkout/p-6a6a2461.entry.js +1 -0
  43. package/dist/checkout/p-6d4c0370.entry.js +1 -0
  44. package/dist/checkout/p-6f4a82d2.entry.js +1 -0
  45. package/dist/checkout/p-733767d9.entry.js +1 -0
  46. package/dist/checkout/p-77ebd92f.entry.js +1 -0
  47. package/dist/checkout/p-7YtNmL9y.js +4 -0
  48. package/dist/checkout/p-7a153eab.entry.js +4 -0
  49. package/dist/checkout/p-7c7e86fe.entry.js +1 -0
  50. package/dist/checkout/p-7d9ee602.entry.js +1 -0
  51. package/dist/checkout/p-7e3bc3c4.entry.js +1 -0
  52. package/dist/checkout/p-8427a296.entry.js +1 -0
  53. package/dist/checkout/p-870ec42b.entry.js +4 -0
  54. package/dist/checkout/p-890e9953.entry.js +1 -0
  55. package/dist/checkout/p-931d2424.entry.js +4 -0
  56. package/dist/checkout/p-93eb6dad.entry.js +1 -0
  57. package/dist/checkout/p-B-hirT0v.js +1 -2
  58. package/dist/checkout/p-B3WORC1a.js +1 -2
  59. package/dist/checkout/p-B7f9Wkif.js +1 -0
  60. package/dist/checkout/p-BJe8ISja.js +4 -0
  61. package/dist/checkout/p-BKaQyStq.js +5 -0
  62. package/dist/checkout/p-BR7SJd-v.js +2 -3
  63. package/dist/checkout/p-BTEOs1at.js +1 -2
  64. package/dist/checkout/p-BY0jsxmW.js +4 -0
  65. package/dist/checkout/p-B_Z54mfe.js +5 -0
  66. package/dist/checkout/p-Ba57PFgY.js +7 -0
  67. package/dist/checkout/p-BgOwfqIY.js +2 -6
  68. package/dist/checkout/p-BmVRXR1y.js +1 -2
  69. package/dist/checkout/p-BmlsNFZH.js +1 -2
  70. package/dist/checkout/p-C03M5ZSM.js +1 -2
  71. package/dist/checkout/p-C53feagD.js +1 -2
  72. package/dist/checkout/p-CAD1l928.js +8 -0
  73. package/dist/checkout/p-CFLSScFJ.js +4 -0
  74. package/dist/checkout/p-CH3Eg9_f.js +2 -9
  75. package/dist/checkout/p-CPoSEOHb.js +4 -0
  76. package/dist/checkout/p-CkCrVZwR.js +4 -0
  77. package/dist/checkout/p-D0wwuiQC.js +4 -0
  78. package/dist/checkout/p-D2NxOvQ8.js +2 -3
  79. package/dist/checkout/p-D4RIp70E.js +1 -2
  80. package/dist/checkout/p-DFxgipTc.js +4 -0
  81. package/dist/checkout/p-DJztqcrH.js +1 -2
  82. package/dist/checkout/p-DKg_dYcq.js +2 -3
  83. package/dist/checkout/p-DQmRrrcF.js +7 -0
  84. package/dist/checkout/p-DSLRCWTg.js +4 -0
  85. package/dist/checkout/p-DdmvYtPY.js +7 -0
  86. package/dist/checkout/p-DiVJyqlX.js +1 -2
  87. package/dist/checkout/p-Drg5BcI0.js +4 -0
  88. package/dist/checkout/p-Dtdm8lKC.js +1 -2
  89. package/dist/checkout/p-LsffVXQ5.js +4 -0
  90. package/dist/checkout/p-ZjP4CjeZ.js +1 -2
  91. package/dist/checkout/p-__1_zp1x.js +4 -0
  92. package/dist/checkout/p-a09d1040.entry.js +1 -0
  93. package/dist/checkout/p-a5f75741.entry.js +1 -0
  94. package/dist/checkout/p-ae30349d.entry.js +1 -0
  95. package/dist/checkout/p-afbe752e.entry.js +1 -0
  96. package/dist/checkout/p-b2e14651.entry.js +1 -0
  97. package/dist/checkout/p-b36fcda4.entry.js +1 -0
  98. package/dist/checkout/p-b67b736b.entry.js +1 -0
  99. package/dist/checkout/p-b7bf5abe.entry.js +1 -0
  100. package/dist/checkout/p-bb513178.entry.js +1 -0
  101. package/dist/checkout/p-bd4e1c37.entry.js +1 -0
  102. package/dist/checkout/p-beb2c33c.entry.js +1 -0
  103. package/dist/checkout/p-becc350d.entry.js +4 -0
  104. package/dist/checkout/p-c19dc56b.entry.js +1 -0
  105. package/dist/checkout/p-c1cbd33c.entry.js +1 -0
  106. package/dist/checkout/p-c34382ea.entry.js +1 -0
  107. package/dist/checkout/p-c4c9e530.entry.js +1 -0
  108. package/dist/checkout/p-c534dea9.entry.js +7 -0
  109. package/dist/checkout/p-c7978eb8.entry.js +4 -0
  110. package/dist/checkout/p-c8f6670e.entry.js +7 -0
  111. package/dist/checkout/p-cb1a44cc.entry.js +5 -0
  112. package/dist/checkout/p-cda0fb4e.entry.js +1 -0
  113. package/dist/checkout/p-cecfb55a.entry.js +1 -0
  114. package/dist/checkout/p-d819f4e4.entry.js +1 -0
  115. package/dist/checkout/p-dd2fe837.entry.js +1 -0
  116. package/dist/checkout/p-dfcadc7e.entry.js +7 -0
  117. package/dist/checkout/p-e37ae6e2.entry.js +1 -0
  118. package/dist/checkout/p-e8173bed.entry.js +21 -0
  119. package/dist/checkout/p-ead19b10.entry.js +1 -0
  120. package/dist/checkout/p-eae34719.entry.js +1 -0
  121. package/dist/checkout/p-eff08443.entry.js +1 -0
  122. package/dist/checkout/p-f0535bc6.entry.js +1 -0
  123. package/dist/checkout/p-fd971fbb.entry.js +1 -0
  124. package/dist/checkout/p-ff3211f5.entry.js +1 -0
  125. package/dist/checkout/p-hHmYLOfE.js +1 -2
  126. package/dist/checkout/p-ktzqax7n.js +1 -2
  127. package/dist/checkout/p-sObYyvOy.js +1 -2
  128. package/dist/checkout/p-vDXqvDVZ.js +8 -0
  129. package/dist/checkout/p-xxOnfNPU.js +9 -0
  130. package/dist/cjs/amwal-checkout-button_5.cjs.entry.js +85 -120
  131. package/dist/cjs/amwal-installments-guide.cjs.entry.js +1 -2
  132. package/dist/cjs/amwal-pos.cjs.entry.js +4 -3
  133. package/dist/cjs/amwal-widget-modal.cjs.entry.js +7 -4
  134. package/dist/cjs/amwal-widget.cjs.entry.js +10 -5
  135. package/dist/cjs/{animation-BtvIVax4.js → animation-DmZTzC07.js} +1 -4
  136. package/dist/cjs/app-globals-B6FjPa2t.js +7 -0
  137. package/dist/cjs/ar-CbT6TM-Q.js +0 -3
  138. package/dist/cjs/capacitor-CqhugS19.js +0 -3
  139. package/dist/cjs/checkout.cjs.js +5 -8
  140. package/dist/cjs/compare-with-utils-JlLIkecm.js +0 -3
  141. package/dist/cjs/{config-DUSoxbhv.js → config-DMigaw94.js} +1 -4
  142. package/dist/cjs/cubic-bezier-Bv3PvaRI.js +0 -3
  143. package/dist/cjs/{data-CjHlPfPW.js → data-C9NB5QNL.js} +1 -4
  144. package/dist/cjs/dir-Br-7_bel.js +0 -3
  145. package/dist/cjs/focus-visible-Da2o6bTP.js +0 -3
  146. package/dist/cjs/{framework-delegate-BoMy23Lz.js → framework-delegate-BFev42vk.js} +1 -4
  147. package/dist/cjs/gesture-controller-CiprlUhH.js +0 -3
  148. package/dist/cjs/haptic-DCn793nz.js +0 -3
  149. package/dist/cjs/{hardware-back-button-B1WYQg6m.js → hardware-back-button-CMceVPAk.js} +1 -4
  150. package/dist/cjs/{helpers-C5_WrFOI.js → helpers-VdS_U_Su.js} +1 -4
  151. package/dist/cjs/i18n-uGNv9SLK.js +0 -3
  152. package/dist/cjs/{index-DwdNl4cs.js → index-BQ9HVZwH.js} +2 -5
  153. package/dist/cjs/index-Calgykmz.js +0 -3
  154. package/dist/cjs/{index-C0J_JwJB.js → index-D1TvI2Ig.js} +2 -5
  155. package/dist/cjs/index-D3mJ1Cix.js +0 -3
  156. package/dist/cjs/{index-C3dD6F2g.js → index-DaUK-X4l.js} +5 -8
  157. package/dist/cjs/index-DseJYF57.js +0 -3
  158. package/dist/cjs/{index-C-U8a6CY.js → index-NREvOo92.js} +4 -7
  159. package/dist/cjs/{index-BPGqVQtz.js → index-q1-id3dG.js} +1708 -86
  160. package/dist/cjs/index.cjs.js +0 -3
  161. package/dist/cjs/{input-shims-DIBy37tN.js → input-shims-CJrPMP1S.js} +3 -6
  162. package/dist/cjs/{input.utils-IVavyQAZ.js → input.utils-D9hnMuNq.js} +2 -5
  163. package/dist/cjs/ion-accordion-group.cjs.entry.js +11 -6
  164. package/dist/cjs/ion-accordion.cjs.entry.js +6 -5
  165. package/dist/cjs/ion-action-sheet_5.cjs.entry.js +37 -20
  166. package/dist/cjs/ion-app.cjs.entry.js +7 -8
  167. package/dist/cjs/ion-avatar.cjs.entry.js +2 -3
  168. package/dist/cjs/ion-back-button.cjs.entry.js +3 -4
  169. package/dist/cjs/ion-backdrop.cjs.entry.js +2 -3
  170. package/dist/cjs/ion-badge.cjs.entry.js +2 -3
  171. package/dist/cjs/ion-breadcrumb.cjs.entry.js +3 -4
  172. package/dist/cjs/ion-breadcrumbs.cjs.entry.js +11 -6
  173. package/dist/cjs/ion-buttons_10.cjs.entry.js +17 -10
  174. package/dist/cjs/ion-card-content.cjs.entry.js +2 -3
  175. package/dist/cjs/ion-card-header.cjs.entry.js +2 -3
  176. package/dist/cjs/ion-card-subtitle.cjs.entry.js +2 -3
  177. package/dist/cjs/ion-card-title.cjs.entry.js +2 -3
  178. package/dist/cjs/ion-card.cjs.entry.js +3 -4
  179. package/dist/cjs/ion-chip.cjs.entry.js +2 -3
  180. package/dist/cjs/ion-col.cjs.entry.js +2 -3
  181. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -5
  182. package/dist/cjs/ion-datetime.cjs.entry.js +40 -19
  183. package/dist/cjs/ion-fab-button.cjs.entry.js +3 -4
  184. package/dist/cjs/ion-fab-list.cjs.entry.js +5 -4
  185. package/dist/cjs/ion-fab.cjs.entry.js +5 -4
  186. package/dist/cjs/ion-footer.cjs.entry.js +4 -5
  187. package/dist/cjs/ion-grid.cjs.entry.js +2 -3
  188. package/dist/cjs/ion-icon.cjs.entry.js +16 -7
  189. package/dist/cjs/ion-img.cjs.entry.js +6 -5
  190. package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +3 -4
  191. package/dist/cjs/ion-infinite-scroll.cjs.entry.js +10 -7
  192. package/dist/cjs/ion-input-otp.cjs.entry.js +12 -7
  193. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +7 -6
  194. package/dist/cjs/ion-input.cjs.entry.js +17 -10
  195. package/dist/cjs/ion-item-divider.cjs.entry.js +2 -3
  196. package/dist/cjs/ion-item-group.cjs.entry.js +2 -3
  197. package/dist/cjs/ion-item-option.cjs.entry.js +2 -3
  198. package/dist/cjs/ion-item-options.cjs.entry.js +3 -4
  199. package/dist/cjs/ion-item-sliding.cjs.entry.js +7 -6
  200. package/dist/cjs/ion-label_2.cjs.entry.js +8 -5
  201. package/dist/cjs/ion-loading.cjs.entry.js +14 -11
  202. package/dist/cjs/ion-menu-button.cjs.entry.js +7 -8
  203. package/dist/cjs/ion-menu-toggle.cjs.entry.js +7 -8
  204. package/dist/cjs/ion-menu.cjs.entry.js +20 -13
  205. package/dist/cjs/ion-nav-link.cjs.entry.js +1 -2
  206. package/dist/cjs/ion-nav.cjs.entry.js +12 -9
  207. package/dist/cjs/ion-note.cjs.entry.js +2 -3
  208. package/dist/cjs/ion-picker-legacy-column.cjs.entry.js +6 -5
  209. package/dist/cjs/ion-picker-legacy.cjs.entry.js +13 -10
  210. package/dist/cjs/ion-picker_3.cjs.entry.js +12 -7
  211. package/dist/cjs/ion-popover.cjs.entry.js +17 -12
  212. package/dist/cjs/ion-progress-bar.cjs.entry.js +3 -4
  213. package/dist/cjs/ion-range.cjs.entry.js +25 -12
  214. package/dist/cjs/ion-refresher-content.cjs.entry.js +6 -7
  215. package/dist/cjs/ion-refresher.cjs.entry.js +9 -8
  216. package/dist/cjs/ion-reorder-group.cjs.entry.js +7 -6
  217. package/dist/cjs/ion-reorder.cjs.entry.js +2 -3
  218. package/dist/cjs/ion-route-redirect.cjs.entry.js +7 -4
  219. package/dist/cjs/ion-route.cjs.entry.js +10 -5
  220. package/dist/cjs/ion-router-link.cjs.entry.js +2 -3
  221. package/dist/cjs/ion-router-outlet.cjs.entry.js +9 -8
  222. package/dist/cjs/ion-router.cjs.entry.js +2 -3
  223. package/dist/cjs/ion-row.cjs.entry.js +2 -3
  224. package/dist/cjs/ion-searchbar.cjs.entry.js +18 -9
  225. package/dist/cjs/ion-segment-button.cjs.entry.js +6 -5
  226. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -2
  227. package/dist/cjs/ion-segment-view.cjs.entry.js +1 -2
  228. package/dist/cjs/ion-segment.cjs.entry.js +15 -8
  229. package/dist/cjs/ion-select-option.cjs.entry.js +2 -3
  230. package/dist/cjs/ion-select.cjs.entry.js +19 -12
  231. package/dist/cjs/ion-skeleton-text.cjs.entry.js +2 -3
  232. package/dist/cjs/ion-spinner.cjs.entry.js +2 -3
  233. package/dist/cjs/ion-split-pane.cjs.entry.js +11 -6
  234. package/dist/cjs/ion-tab-bar.cjs.entry.js +5 -4
  235. package/dist/cjs/ion-tab-button.cjs.entry.js +3 -4
  236. package/dist/cjs/ion-tab.cjs.entry.js +6 -5
  237. package/dist/cjs/ion-tabs.cjs.entry.js +1 -2
  238. package/dist/cjs/ion-textarea.cjs.entry.js +15 -12
  239. package/dist/cjs/ion-thumbnail.cjs.entry.js +2 -3
  240. package/dist/cjs/ion-toast.cjs.entry.js +17 -12
  241. package/dist/cjs/ion-toggle.cjs.entry.js +6 -5
  242. package/dist/cjs/{ionic-global-BmDUlKDf.js → ionic-global-tfENS075.js} +1 -4
  243. package/dist/cjs/{ios.transition-ROXYV2qt.js → ios.transition-EMvH3Tod.js} +4 -7
  244. package/dist/cjs/keyboard-DuKzsHsS.js +0 -3
  245. package/dist/cjs/keyboard-controller-rH21qC_2.js +0 -3
  246. package/dist/cjs/keyboard-iyHR2ZF4.js +0 -3
  247. package/dist/cjs/loader.cjs.js +4 -7
  248. package/dist/cjs/lock-controller-58TZFRHC.js +0 -3
  249. package/dist/cjs/{md.transition-NftVXx7D.js → md.transition-CwoQ7h7X.js} +4 -7
  250. package/dist/cjs/{menu-toggle-util-CROwv_aL.js → menu-toggle-util-By6-554q.js} +1 -4
  251. package/dist/cjs/{notch-controller-BzbZcc1N.js → notch-controller-DWw_ctSD.js} +1 -4
  252. package/dist/cjs/{overlays-gyJEvMkB.js → overlays-sgG7yBK9.js} +8 -9
  253. package/dist/cjs/{refresher.utils-DZrHDYQN.js → refresher.utils-CMKixJwj.js} +3 -6
  254. package/dist/cjs/spinner-configs-BN41iw42.js +0 -3
  255. package/dist/cjs/{status-tap-B5QfH5DO.js → status-tap-CdatiX6b.js} +3 -6
  256. package/dist/cjs/{swipe-back-BkT4j65k.js → swipe-back-D3MYxlFO.js} +2 -5
  257. package/dist/cjs/theme-DbHdw1Nx.js +0 -3
  258. package/dist/cjs/validity-ClNawnRU.js +0 -3
  259. package/dist/cjs/watch-options-DOFUPyuf.js +0 -3
  260. package/dist/collection/collection-manifest.json +1 -1
  261. package/dist/collection/components/amwal-checkout-button/amwal-checkout-button.css +1 -1
  262. package/dist/collection/components/amwal-checkout-button/amwal-checkout-button.js +40 -55
  263. package/dist/collection/components/amwal-checkout-button/amwal-checkout-button.stories.js +0 -1
  264. package/dist/collection/components/amwal-installments-guide/amwal-installments-guide.js +0 -1
  265. package/dist/collection/components/amwal-installments-guide/amwal-installments-guide.stories.js +0 -1
  266. package/dist/collection/components/amwal-installments-timeline/amwal-installments-timeline.js +2 -3
  267. package/dist/collection/components/amwal-installments-timeline/amwal-installments-timeline.stories.js +0 -1
  268. package/dist/collection/components/amwal-pos/amwal-pos.js +0 -1
  269. package/dist/collection/components/amwal-pos/amwal-pos.stories.js +0 -1
  270. package/dist/collection/components/amwal-widget/amwal-widget-modal.js +0 -1
  271. package/dist/collection/components/amwal-widget/amwal-widget.js +8 -7
  272. package/dist/collection/components/amwal-widget/amwal-widget.stories.js +0 -1
  273. package/dist/collection/lang/i18n.js +0 -1
  274. package/dist/components/amwal-checkout-button.js +1 -5375
  275. package/dist/components/amwal-installments-guide.js +1 -83
  276. package/dist/components/amwal-installments-timeline.js +1 -9
  277. package/dist/components/amwal-pos.js +1 -3670
  278. package/dist/components/amwal-widget-modal.js +1 -9
  279. package/dist/components/amwal-widget.js +1 -422
  280. package/dist/components/index.js +1 -9
  281. package/dist/components/ion-accordion-group.js +1 -271
  282. package/dist/components/ion-accordion.js +1 -459
  283. package/dist/components/ion-action-sheet.js +1 -9
  284. package/dist/components/ion-alert.js +1 -9
  285. package/dist/components/ion-app.js +1 -130
  286. package/dist/components/ion-avatar.js +1 -44
  287. package/dist/components/ion-back-button.js +1 -133
  288. package/dist/components/ion-backdrop.js +1 -9
  289. package/dist/components/ion-badge.js +1 -50
  290. package/dist/components/ion-breadcrumb.js +1 -140
  291. package/dist/components/ion-breadcrumbs.js +1 -167
  292. package/dist/components/ion-button.js +1 -9
  293. package/dist/components/ion-buttons.js +1 -9
  294. package/dist/components/ion-card-content.js +1 -48
  295. package/dist/components/ion-card-header.js +1 -59
  296. package/dist/components/ion-card-subtitle.js +1 -51
  297. package/dist/components/ion-card-title.js +1 -51
  298. package/dist/components/ion-card.js +1 -110
  299. package/dist/components/ion-checkbox.js +1 -9
  300. package/dist/components/ion-chip.js +1 -69
  301. package/dist/components/ion-col.js +2 -167
  302. package/dist/components/ion-content.js +1 -9
  303. package/dist/components/ion-datetime-button.js +1 -386
  304. package/dist/components/ion-datetime.js +2 -2051
  305. package/dist/components/ion-fab-button.js +1 -154
  306. package/dist/components/ion-fab-list.js +1 -69
  307. package/dist/components/ion-fab.js +1 -104
  308. package/dist/components/ion-footer.js +2 -163
  309. package/dist/components/ion-grid.js +1 -49
  310. package/dist/components/ion-header.js +1 -9
  311. package/dist/components/ion-icon.js +1 -9
  312. package/dist/components/ion-img.js +1 -127
  313. package/dist/components/ion-infinite-scroll-content.js +1 -72
  314. package/dist/components/ion-infinite-scroll.js +1 -239
  315. package/dist/components/ion-input-otp.js +1 -685
  316. package/dist/components/ion-input-password-toggle.js +1 -131
  317. package/dist/components/ion-input.js +1 -620
  318. package/dist/components/ion-item-divider.js +1 -62
  319. package/dist/components/ion-item-group.js +1 -49
  320. package/dist/components/ion-item-option.js +1 -94
  321. package/dist/components/ion-item-options.js +1 -76
  322. package/dist/components/ion-item-sliding.js +1 -460
  323. package/dist/components/ion-item.js +1 -9
  324. package/dist/components/ion-label.js +1 -9
  325. package/dist/components/ion-list-header.js +1 -9
  326. package/dist/components/ion-list.js +1 -9
  327. package/dist/components/ion-loading.js +3 -354
  328. package/dist/components/ion-menu-button.js +1 -112
  329. package/dist/components/ion-menu-toggle.js +1 -67
  330. package/dist/components/ion-menu.js +1 -744
  331. package/dist/components/ion-modal.js +1 -9
  332. package/dist/components/ion-nav-link.js +2 -68
  333. package/dist/components/ion-nav.js +2 -955
  334. package/dist/components/ion-note.js +1 -50
  335. package/dist/components/ion-picker-column-option.js +1 -9
  336. package/dist/components/ion-picker-column.js +1 -9
  337. package/dist/components/ion-picker-legacy-column.js +1 -9
  338. package/dist/components/ion-picker-legacy.js +3 -347
  339. package/dist/components/ion-picker.js +1 -9
  340. package/dist/components/ion-popover.js +1 -9
  341. package/dist/components/ion-progress-bar.js +1 -103
  342. package/dist/components/ion-radio-group.js +1 -9
  343. package/dist/components/ion-radio.js +1 -9
  344. package/dist/components/ion-range.js +2 -848
  345. package/dist/components/ion-refresher-content.js +1 -91
  346. package/dist/components/ion-refresher.js +1 -753
  347. package/dist/components/ion-reorder-group.js +1 -325
  348. package/dist/components/ion-reorder.js +1 -63
  349. package/dist/components/ion-ripple-effect.js +1 -9
  350. package/dist/components/ion-route-redirect.js +1 -48
  351. package/dist/components/ion-route.js +1 -77
  352. package/dist/components/ion-router-link.js +1 -64
  353. package/dist/components/ion-router-outlet.js +1 -229
  354. package/dist/components/ion-router.js +3 -857
  355. package/dist/components/ion-row.js +1 -39
  356. package/dist/components/ion-searchbar.js +1 -532
  357. package/dist/components/ion-segment-button.js +1 -176
  358. package/dist/components/ion-segment-content.js +1 -38
  359. package/dist/components/ion-segment-view.js +1 -145
  360. package/dist/components/ion-segment.js +1 -605
  361. package/dist/components/ion-select-modal.js +1 -9
  362. package/dist/components/ion-select-option.js +1 -49
  363. package/dist/components/ion-select-popover.js +1 -9
  364. package/dist/components/ion-select.js +1 -1038
  365. package/dist/components/ion-skeleton-text.js +1 -67
  366. package/dist/components/ion-spinner.js +1 -9
  367. package/dist/components/ion-split-pane.js +1 -193
  368. package/dist/components/ion-tab-bar.js +1 -118
  369. package/dist/components/ion-tab-button.js +1 -130
  370. package/dist/components/ion-tab.js +1 -85
  371. package/dist/components/ion-tabs.js +1 -207
  372. package/dist/components/ion-text.js +1 -9
  373. package/dist/components/ion-textarea.js +1 -559
  374. package/dist/components/ion-thumbnail.js +1 -39
  375. package/dist/components/ion-title.js +1 -9
  376. package/dist/components/ion-toast.js +3 -955
  377. package/dist/components/ion-toggle.js +1 -363
  378. package/dist/components/ion-toolbar.js +1 -9
  379. package/dist/components/p-1a8GRr4X.js +8 -0
  380. package/dist/components/p-84v5d37k.js +5 -0
  381. package/dist/components/p-8qbKOEwg.js +7 -0
  382. package/dist/components/p-B-hirT0v.js +1 -38
  383. package/dist/components/p-B2pBbmZL.js +1 -0
  384. package/dist/components/p-B3WORC1a.js +1 -47
  385. package/dist/components/p-B6K4Vevt.js +1 -0
  386. package/dist/components/p-B8CJYukv.js +4 -0
  387. package/dist/components/p-B8rkbvHJ.js +4 -0
  388. package/dist/components/p-BB452BOr.js +1 -0
  389. package/dist/components/p-BGU8Nymd.js +1 -0
  390. package/dist/components/p-BHQVufb8.js +4 -0
  391. package/dist/components/p-BNXO_6OD.js +1 -0
  392. package/dist/components/p-BTEOs1at.js +1 -195
  393. package/dist/components/p-BU2g75_N.js +1 -0
  394. package/dist/components/p-BYPhePqa.js +4 -0
  395. package/dist/components/p-Bam2tSRs.js +1 -0
  396. package/dist/components/p-BgOwfqIY.js +2 -83
  397. package/dist/components/p-BgdIJBVf.js +4 -0
  398. package/dist/components/p-BgihAYme.js +7 -0
  399. package/dist/components/p-BmVRXR1y.js +1 -75
  400. package/dist/components/p-BxP8TDfL.js +2 -159
  401. package/dist/components/p-ByfqFtWT.js +1 -0
  402. package/dist/components/p-Bz350JGF.js +7 -0
  403. package/dist/components/p-C-A_jB82.js +4 -0
  404. package/dist/components/p-C03M5ZSM.js +1 -16
  405. package/dist/components/p-C53feagD.js +1 -18
  406. package/dist/components/p-CECOogQN.js +4 -0
  407. package/dist/components/p-CH3Eg9_f.js +3 -463
  408. package/dist/components/p-CQOdiSAf.js +1 -0
  409. package/dist/components/p-CUAFXzfF.js +1 -0
  410. package/dist/components/p-C_xZxwXS.js +1 -0
  411. package/dist/components/p-CaFnxdQd.js +1 -0
  412. package/dist/components/p-CoO47q0D.js +7 -0
  413. package/dist/components/p-D2NxOvQ8.js +2 -14
  414. package/dist/components/p-DDc_C9oA.js +7 -0
  415. package/dist/components/p-DIdQsHkC.js +4 -0
  416. package/dist/components/p-DJDxJDy6.js +1 -0
  417. package/dist/components/p-DJztqcrH.js +1 -17
  418. package/dist/components/p-DK1OQn93.js +1 -0
  419. package/dist/components/p-DKg_dYcq.js +2 -166
  420. package/dist/components/p-DMTBSB3x.js +1 -0
  421. package/dist/components/p-DQAmWfm1.js +8 -0
  422. package/dist/components/p-DR2jvB6s.js +4 -0
  423. package/dist/components/p-DRov8Rcu.js +4 -0
  424. package/dist/components/p-DVAa5Ick.js +1 -0
  425. package/dist/components/p-DXFVmcjn.js +1 -0
  426. package/dist/components/p-DYhpoJMW.js +4 -0
  427. package/dist/components/p-Db1yB4_h.js +4 -0
  428. package/dist/components/p-DcJzInl-.js +4 -0
  429. package/dist/components/p-DexEOBMU.js +8 -0
  430. package/dist/components/p-DiVJyqlX.js +1 -43
  431. package/dist/components/p-DjZwclUS.js +5 -0
  432. package/dist/components/p-DokQbOf0.js +7 -0
  433. package/dist/components/p-Dtdm8lKC.js +1 -47
  434. package/dist/components/p-DuZ7hY1a.js +2 -145
  435. package/dist/components/p-Dzmy2KMF.js +8 -0
  436. package/dist/components/p-GqmIVAr9.js +1 -0
  437. package/dist/components/p-RvBk4hGw.js +1 -0
  438. package/dist/components/p-RxmIKEEQ.js +1 -0
  439. package/dist/components/p-ZjP4CjeZ.js +1 -7
  440. package/dist/components/p-hHmYLOfE.js +1 -90
  441. package/dist/components/p-jWFeuAB5.js +1 -32
  442. package/dist/components/p-kYICRcU6.js +1 -0
  443. package/dist/components/p-lwDXTYn3.js +4 -0
  444. package/dist/components/p-oMX-ZLwD.js +4 -0
  445. package/dist/components/p-oThWliBi.js +4 -0
  446. package/dist/components/p-pUVFzc0m.js +4 -0
  447. package/dist/components/p-uBkJJD7w.js +1 -0
  448. package/dist/components/p-wRbQpgeV.js +1 -0
  449. package/dist/components/p-zVHkqcTn.js +4 -0
  450. package/dist/esm/amwal-checkout-button_5.entry.js +85 -120
  451. package/dist/esm/amwal-installments-guide.entry.js +1 -2
  452. package/dist/esm/amwal-pos.entry.js +4 -3
  453. package/dist/esm/amwal-widget-modal.entry.js +7 -4
  454. package/dist/esm/amwal-widget.entry.js +10 -5
  455. package/dist/esm/{animation-BU4GfyJQ.js → animation-Cdsew5KM.js} +1 -4
  456. package/dist/esm/app-globals-qL1LLHNB.js +5 -0
  457. package/dist/esm/ar-B3WORC1a.js +0 -3
  458. package/dist/esm/capacitor-CG3xQUND.js +0 -3
  459. package/dist/esm/checkout.js +6 -9
  460. package/dist/esm/compare-with-utils-sObYyvOy.js +0 -3
  461. package/dist/{components/p-uTKLFBBy.js → esm/config-CnpuADYS.js} +1 -4
  462. package/dist/esm/cubic-bezier-hHmYLOfE.js +0 -3
  463. package/dist/esm/{data-BKjeovce.js → data-u308JruM.js} +1 -4
  464. package/dist/esm/dir-C53feagD.js +0 -3
  465. package/dist/esm/focus-visible-BmVRXR1y.js +0 -3
  466. package/dist/{components/p-9R9WjA6V.js → esm/framework-delegate-29_VtSmv.js} +1 -4
  467. package/dist/esm/gesture-controller-BTEOs1at.js +0 -3
  468. package/dist/esm/haptic-C3ucbArX.js +0 -3
  469. package/dist/esm/{hardware-back-button-Nry6hGkN.js → hardware-back-button-DRef5MPc.js} +1 -4
  470. package/dist/esm/{helpers-uLqs1Gao.js → helpers-BuFc0hrS.js} +1 -4
  471. package/dist/esm/i18n-C_AfxZ5D.js +0 -3
  472. package/dist/esm/index-BmlsNFZH.js +0 -3
  473. package/dist/esm/index-CF4QYFB3.js +0 -3
  474. package/dist/esm/{index-CCWf5GQy.js → index-DoRYA1qF.js} +4 -7
  475. package/dist/esm/{index-Ct7Rjd6t.js → index-Dph-Z83P.js} +5 -8
  476. package/dist/esm/{index-BmWsedvI.js → index-J3a2mue2.js} +2 -5
  477. package/dist/esm/{index-ffNEk55Y.js → index-Ul_idjjE.js} +2 -5
  478. package/dist/esm/index-ZjP4CjeZ.js +0 -3
  479. package/dist/esm/{index-BxybgBKJ.js → index-xxOnfNPU.js} +1708 -86
  480. package/dist/esm/index.js +0 -3
  481. package/dist/esm/{input-shims-DkzcZwWm.js → input-shims-D1Cdl4JQ.js} +3 -6
  482. package/dist/esm/{input.utils-C_QovwBX.js → input.utils-CEeVIfb9.js} +2 -5
  483. package/dist/esm/ion-accordion-group.entry.js +11 -6
  484. package/dist/esm/ion-accordion.entry.js +6 -5
  485. package/dist/esm/ion-action-sheet_5.entry.js +37 -20
  486. package/dist/esm/ion-app.entry.js +7 -8
  487. package/dist/esm/ion-avatar.entry.js +2 -3
  488. package/dist/esm/ion-back-button.entry.js +3 -4
  489. package/dist/esm/ion-backdrop.entry.js +2 -3
  490. package/dist/esm/ion-badge.entry.js +2 -3
  491. package/dist/esm/ion-breadcrumb.entry.js +3 -4
  492. package/dist/esm/ion-breadcrumbs.entry.js +11 -6
  493. package/dist/esm/ion-buttons_10.entry.js +17 -10
  494. package/dist/esm/ion-card-content.entry.js +2 -3
  495. package/dist/esm/ion-card-header.entry.js +2 -3
  496. package/dist/esm/ion-card-subtitle.entry.js +2 -3
  497. package/dist/esm/ion-card-title.entry.js +2 -3
  498. package/dist/esm/ion-card.entry.js +3 -4
  499. package/dist/esm/ion-chip.entry.js +2 -3
  500. package/dist/esm/ion-col.entry.js +2 -3
  501. package/dist/esm/ion-datetime-button.entry.js +4 -5
  502. package/dist/esm/ion-datetime.entry.js +40 -19
  503. package/dist/esm/ion-fab-button.entry.js +3 -4
  504. package/dist/esm/ion-fab-list.entry.js +5 -4
  505. package/dist/esm/ion-fab.entry.js +5 -4
  506. package/dist/esm/ion-footer.entry.js +4 -5
  507. package/dist/esm/ion-grid.entry.js +2 -3
  508. package/dist/esm/ion-icon.entry.js +16 -7
  509. package/dist/esm/ion-img.entry.js +6 -5
  510. package/dist/esm/ion-infinite-scroll-content.entry.js +3 -4
  511. package/dist/esm/ion-infinite-scroll.entry.js +10 -7
  512. package/dist/esm/ion-input-otp.entry.js +12 -7
  513. package/dist/esm/ion-input-password-toggle.entry.js +7 -6
  514. package/dist/esm/ion-input.entry.js +17 -10
  515. package/dist/esm/ion-item-divider.entry.js +2 -3
  516. package/dist/esm/ion-item-group.entry.js +2 -3
  517. package/dist/esm/ion-item-option.entry.js +2 -3
  518. package/dist/esm/ion-item-options.entry.js +3 -4
  519. package/dist/esm/ion-item-sliding.entry.js +7 -6
  520. package/dist/esm/ion-label_2.entry.js +8 -5
  521. package/dist/esm/ion-loading.entry.js +14 -11
  522. package/dist/esm/ion-menu-button.entry.js +7 -8
  523. package/dist/esm/ion-menu-toggle.entry.js +7 -8
  524. package/dist/esm/ion-menu.entry.js +20 -13
  525. package/dist/esm/ion-nav-link.entry.js +1 -2
  526. package/dist/esm/ion-nav.entry.js +12 -9
  527. package/dist/esm/ion-note.entry.js +2 -3
  528. package/dist/esm/ion-picker-legacy-column.entry.js +6 -5
  529. package/dist/esm/ion-picker-legacy.entry.js +13 -10
  530. package/dist/esm/ion-picker_3.entry.js +12 -7
  531. package/dist/esm/ion-popover.entry.js +17 -12
  532. package/dist/esm/ion-progress-bar.entry.js +3 -4
  533. package/dist/esm/ion-range.entry.js +25 -12
  534. package/dist/esm/ion-refresher-content.entry.js +6 -7
  535. package/dist/esm/ion-refresher.entry.js +9 -8
  536. package/dist/esm/ion-reorder-group.entry.js +7 -6
  537. package/dist/esm/ion-reorder.entry.js +2 -3
  538. package/dist/esm/ion-route-redirect.entry.js +7 -4
  539. package/dist/esm/ion-route.entry.js +10 -5
  540. package/dist/esm/ion-router-link.entry.js +2 -3
  541. package/dist/esm/ion-router-outlet.entry.js +9 -8
  542. package/dist/esm/ion-router.entry.js +2 -3
  543. package/dist/esm/ion-row.entry.js +2 -3
  544. package/dist/esm/ion-searchbar.entry.js +18 -9
  545. package/dist/esm/ion-segment-button.entry.js +6 -5
  546. package/dist/esm/ion-segment-content.entry.js +1 -2
  547. package/dist/esm/ion-segment-view.entry.js +1 -2
  548. package/dist/esm/ion-segment.entry.js +15 -8
  549. package/dist/esm/ion-select-option.entry.js +2 -3
  550. package/dist/esm/ion-select.entry.js +19 -12
  551. package/dist/esm/ion-skeleton-text.entry.js +2 -3
  552. package/dist/esm/ion-spinner.entry.js +2 -3
  553. package/dist/esm/ion-split-pane.entry.js +11 -6
  554. package/dist/esm/ion-tab-bar.entry.js +5 -4
  555. package/dist/esm/ion-tab-button.entry.js +3 -4
  556. package/dist/esm/ion-tab.entry.js +6 -5
  557. package/dist/esm/ion-tabs.entry.js +1 -2
  558. package/dist/esm/ion-textarea.entry.js +15 -12
  559. package/dist/esm/ion-thumbnail.entry.js +2 -3
  560. package/dist/esm/ion-toast.entry.js +17 -12
  561. package/dist/esm/ion-toggle.entry.js +6 -5
  562. package/dist/esm/{ionic-global-C8oJToxs.js → ionic-global-BbOE2Sur.js} +1 -4
  563. package/dist/{components/p-CKAwPEA1.js → esm/ios.transition-BBpXvlVl.js} +5 -5
  564. package/dist/esm/keyboard-DcbqYXj5.js +0 -3
  565. package/dist/esm/keyboard-DgiyREKb.js +0 -3
  566. package/dist/esm/keyboard-controller-CqGCg8tB.js +0 -3
  567. package/dist/esm/loader.js +5 -8
  568. package/dist/esm/lock-controller-B-hirT0v.js +0 -3
  569. package/dist/{components/p-DG3y4Paj.js → esm/md.transition-uHL_rMwC.js} +5 -5
  570. package/dist/{components/p-BHR1qL-B.js → esm/menu-toggle-util-LSIuEJ8L.js} +1 -4
  571. package/dist/esm/{notch-controller-DCfp6pBF.js → notch-controller-CCHQ50bA.js} +1 -4
  572. package/dist/esm/{overlays-BDbqv7G-.js → overlays-CWok3_we.js} +8 -9
  573. package/dist/esm/{refresher.utils-DOS2Tyfp.js → refresher.utils-BwmoeJ1w.js} +3 -6
  574. package/dist/esm/spinner-configs-D4RIp70E.js +0 -3
  575. package/dist/esm/{status-tap-BTOXpL_S.js → status-tap-CMJKMvwt.js} +3 -6
  576. package/dist/esm/{swipe-back-CetNYyPP.js → swipe-back-BXQCI3bV.js} +2 -5
  577. package/dist/esm/theme-DiVJyqlX.js +0 -3
  578. package/dist/esm/validity-DJztqcrH.js +0 -3
  579. package/dist/esm/watch-options-Dtdm8lKC.js +0 -3
  580. package/dist/types/components/amwal-checkout-button/amwal-checkout-button.d.ts +2 -3
  581. package/dist/types/stencil-public-runtime.d.ts +14 -3
  582. package/package.json +7 -4
  583. package/dist/checkout/checkout.esm.js.map +0 -1
  584. package/dist/checkout/index.esm.js.map +0 -1
  585. package/dist/checkout/loader.esm.js.map +0 -1
  586. package/dist/checkout/p-00a301b3.entry.js +0 -2
  587. package/dist/checkout/p-00a301b3.entry.js.map +0 -1
  588. package/dist/checkout/p-07b5d96f.entry.js +0 -2
  589. package/dist/checkout/p-07b5d96f.entry.js.map +0 -1
  590. package/dist/checkout/p-09688586.entry.js +0 -2
  591. package/dist/checkout/p-09688586.entry.js.map +0 -1
  592. package/dist/checkout/p-18addee5.entry.js +0 -2
  593. package/dist/checkout/p-18addee5.entry.js.map +0 -1
  594. package/dist/checkout/p-18ddefd1.entry.js +0 -5
  595. package/dist/checkout/p-18ddefd1.entry.js.map +0 -1
  596. package/dist/checkout/p-19f6286e.entry.js +0 -2
  597. package/dist/checkout/p-19f6286e.entry.js.map +0 -1
  598. package/dist/checkout/p-1b654d66.entry.js +0 -2
  599. package/dist/checkout/p-1b654d66.entry.js.map +0 -1
  600. package/dist/checkout/p-215f237f.entry.js +0 -2
  601. package/dist/checkout/p-215f237f.entry.js.map +0 -1
  602. package/dist/checkout/p-243533d4.entry.js +0 -2
  603. package/dist/checkout/p-243533d4.entry.js.map +0 -1
  604. package/dist/checkout/p-2641406e.entry.js +0 -5
  605. package/dist/checkout/p-2641406e.entry.js.map +0 -1
  606. package/dist/checkout/p-2683c242.entry.js +0 -2
  607. package/dist/checkout/p-2683c242.entry.js.map +0 -1
  608. package/dist/checkout/p-270607e1.entry.js +0 -2
  609. package/dist/checkout/p-270607e1.entry.js.map +0 -1
  610. package/dist/checkout/p-28d82baa.entry.js +0 -2
  611. package/dist/checkout/p-28d82baa.entry.js.map +0 -1
  612. package/dist/checkout/p-2aa4f4ab.entry.js +0 -2
  613. package/dist/checkout/p-2aa4f4ab.entry.js.map +0 -1
  614. package/dist/checkout/p-2ee1a2b5.entry.js +0 -2
  615. package/dist/checkout/p-2ee1a2b5.entry.js.map +0 -1
  616. package/dist/checkout/p-358214aa.entry.js +0 -2
  617. package/dist/checkout/p-358214aa.entry.js.map +0 -1
  618. package/dist/checkout/p-36e0fbcc.entry.js +0 -20
  619. package/dist/checkout/p-36e0fbcc.entry.js.map +0 -1
  620. package/dist/checkout/p-37e54688.entry.js +0 -2
  621. package/dist/checkout/p-37e54688.entry.js.map +0 -1
  622. package/dist/checkout/p-3ef78696.entry.js +0 -2
  623. package/dist/checkout/p-3ef78696.entry.js.map +0 -1
  624. package/dist/checkout/p-454447c5.entry.js +0 -2
  625. package/dist/checkout/p-454447c5.entry.js.map +0 -1
  626. package/dist/checkout/p-4857bfa5.entry.js +0 -2
  627. package/dist/checkout/p-4857bfa5.entry.js.map +0 -1
  628. package/dist/checkout/p-4d89a3fa.entry.js +0 -2
  629. package/dist/checkout/p-4d89a3fa.entry.js.map +0 -1
  630. package/dist/checkout/p-52764c17.entry.js +0 -2
  631. package/dist/checkout/p-52764c17.entry.js.map +0 -1
  632. package/dist/checkout/p-57f622db.entry.js +0 -2
  633. package/dist/checkout/p-57f622db.entry.js.map +0 -1
  634. package/dist/checkout/p-59888ca4.entry.js +0 -2
  635. package/dist/checkout/p-59888ca4.entry.js.map +0 -1
  636. package/dist/checkout/p-5ecfbad6.entry.js +0 -2
  637. package/dist/checkout/p-5ecfbad6.entry.js.map +0 -1
  638. package/dist/checkout/p-62ca8564.entry.js +0 -2
  639. package/dist/checkout/p-62ca8564.entry.js.map +0 -1
  640. package/dist/checkout/p-6302dd24.entry.js +0 -2
  641. package/dist/checkout/p-6302dd24.entry.js.map +0 -1
  642. package/dist/checkout/p-64ac130b.entry.js +0 -2
  643. package/dist/checkout/p-64ac130b.entry.js.map +0 -1
  644. package/dist/checkout/p-6714fa18.entry.js +0 -2
  645. package/dist/checkout/p-6714fa18.entry.js.map +0 -1
  646. package/dist/checkout/p-681ae472.entry.js +0 -2
  647. package/dist/checkout/p-681ae472.entry.js.map +0 -1
  648. package/dist/checkout/p-69f632b2.entry.js +0 -5
  649. package/dist/checkout/p-69f632b2.entry.js.map +0 -1
  650. package/dist/checkout/p-6b72bcfa.entry.js +0 -2
  651. package/dist/checkout/p-6b72bcfa.entry.js.map +0 -1
  652. package/dist/checkout/p-74c91a78.entry.js +0 -2
  653. package/dist/checkout/p-74c91a78.entry.js.map +0 -1
  654. package/dist/checkout/p-7ba2116f.entry.js +0 -2
  655. package/dist/checkout/p-7ba2116f.entry.js.map +0 -1
  656. package/dist/checkout/p-7d45a649.entry.js +0 -5
  657. package/dist/checkout/p-7d45a649.entry.js.map +0 -1
  658. package/dist/checkout/p-7df3464f.entry.js +0 -2
  659. package/dist/checkout/p-7df3464f.entry.js.map +0 -1
  660. package/dist/checkout/p-7f336a66.entry.js +0 -2
  661. package/dist/checkout/p-7f336a66.entry.js.map +0 -1
  662. package/dist/checkout/p-7f3cb127.entry.js +0 -2
  663. package/dist/checkout/p-7f3cb127.entry.js.map +0 -1
  664. package/dist/checkout/p-82e0c3f5.entry.js +0 -5
  665. package/dist/checkout/p-82e0c3f5.entry.js.map +0 -1
  666. package/dist/checkout/p-83723f22.entry.js +0 -2
  667. package/dist/checkout/p-83723f22.entry.js.map +0 -1
  668. package/dist/checkout/p-83cc118e.entry.js +0 -2
  669. package/dist/checkout/p-83cc118e.entry.js.map +0 -1
  670. package/dist/checkout/p-84d696fb.entry.js +0 -2
  671. package/dist/checkout/p-84d696fb.entry.js.map +0 -1
  672. package/dist/checkout/p-85548f6c.entry.js +0 -2
  673. package/dist/checkout/p-85548f6c.entry.js.map +0 -1
  674. package/dist/checkout/p-85ee65c9.entry.js +0 -2
  675. package/dist/checkout/p-85ee65c9.entry.js.map +0 -1
  676. package/dist/checkout/p-8b182c6a.entry.js +0 -8
  677. package/dist/checkout/p-8b182c6a.entry.js.map +0 -1
  678. package/dist/checkout/p-8d31e4f7.entry.js +0 -2
  679. package/dist/checkout/p-8d31e4f7.entry.js.map +0 -1
  680. package/dist/checkout/p-8e3dc24d.entry.js +0 -2
  681. package/dist/checkout/p-8e3dc24d.entry.js.map +0 -1
  682. package/dist/checkout/p-8e96c15d.entry.js +0 -2
  683. package/dist/checkout/p-8e96c15d.entry.js.map +0 -1
  684. package/dist/checkout/p-8fbb12d6.entry.js +0 -2
  685. package/dist/checkout/p-8fbb12d6.entry.js.map +0 -1
  686. package/dist/checkout/p-924c47c2.entry.js +0 -20
  687. package/dist/checkout/p-924c47c2.entry.js.map +0 -1
  688. package/dist/checkout/p-931cb238.entry.js +0 -2
  689. package/dist/checkout/p-931cb238.entry.js.map +0 -1
  690. package/dist/checkout/p-93bc2286.entry.js +0 -2
  691. package/dist/checkout/p-93bc2286.entry.js.map +0 -1
  692. package/dist/checkout/p-B-KuLMsZ.js +0 -8
  693. package/dist/checkout/p-B-KuLMsZ.js.map +0 -1
  694. package/dist/checkout/p-B-hirT0v.js.map +0 -1
  695. package/dist/checkout/p-B3WORC1a.js.map +0 -1
  696. package/dist/checkout/p-BGDWAHw3.js +0 -5
  697. package/dist/checkout/p-BGDWAHw3.js.map +0 -1
  698. package/dist/checkout/p-BR7SJd-v.js.map +0 -1
  699. package/dist/checkout/p-BTEOs1at.js.map +0 -1
  700. package/dist/checkout/p-BWWP5b2n.js +0 -20
  701. package/dist/checkout/p-BWWP5b2n.js.map +0 -1
  702. package/dist/checkout/p-BgOwfqIY.js.map +0 -1
  703. package/dist/checkout/p-BmVRXR1y.js.map +0 -1
  704. package/dist/checkout/p-BmlsNFZH.js.map +0 -1
  705. package/dist/checkout/p-Bp4HXTAC.js +0 -6
  706. package/dist/checkout/p-Bp4HXTAC.js.map +0 -1
  707. package/dist/checkout/p-BthJ6qTQ.js +0 -5
  708. package/dist/checkout/p-BthJ6qTQ.js.map +0 -1
  709. package/dist/checkout/p-BxybgBKJ.js +0 -9
  710. package/dist/checkout/p-BxybgBKJ.js.map +0 -1
  711. package/dist/checkout/p-C03M5ZSM.js.map +0 -1
  712. package/dist/checkout/p-C0PjLcMv.js +0 -8
  713. package/dist/checkout/p-C0PjLcMv.js.map +0 -1
  714. package/dist/checkout/p-C1xutNb4.js +0 -5
  715. package/dist/checkout/p-C1xutNb4.js.map +0 -1
  716. package/dist/checkout/p-C53feagD.js.map +0 -1
  717. package/dist/checkout/p-C6ZGuX6t.js +0 -11
  718. package/dist/checkout/p-C6ZGuX6t.js.map +0 -1
  719. package/dist/checkout/p-CG5IBVB8.js +0 -5
  720. package/dist/checkout/p-CG5IBVB8.js.map +0 -1
  721. package/dist/checkout/p-CH3Eg9_f.js.map +0 -1
  722. package/dist/checkout/p-CR1XUyil.js +0 -8
  723. package/dist/checkout/p-CR1XUyil.js.map +0 -1
  724. package/dist/checkout/p-CUNZzVQR.js +0 -5
  725. package/dist/checkout/p-CUNZzVQR.js.map +0 -1
  726. package/dist/checkout/p-CZs2_vz-.js +0 -23
  727. package/dist/checkout/p-CZs2_vz-.js.map +0 -1
  728. package/dist/checkout/p-CganX2z7.js +0 -5
  729. package/dist/checkout/p-CganX2z7.js.map +0 -1
  730. package/dist/checkout/p-CiN1CmnZ.js +0 -5
  731. package/dist/checkout/p-CiN1CmnZ.js.map +0 -1
  732. package/dist/checkout/p-D2NxOvQ8.js.map +0 -1
  733. package/dist/checkout/p-D4RIp70E.js.map +0 -1
  734. package/dist/checkout/p-DDV5ZZmu.js +0 -8
  735. package/dist/checkout/p-DDV5ZZmu.js.map +0 -1
  736. package/dist/checkout/p-DGWbKjms.js +0 -5
  737. package/dist/checkout/p-DGWbKjms.js.map +0 -1
  738. package/dist/checkout/p-DJztqcrH.js.map +0 -1
  739. package/dist/checkout/p-DKg_dYcq.js.map +0 -1
  740. package/dist/checkout/p-DQMrQygy.js +0 -17
  741. package/dist/checkout/p-DQMrQygy.js.map +0 -1
  742. package/dist/checkout/p-DiVJyqlX.js.map +0 -1
  743. package/dist/checkout/p-DokgqSDS.js +0 -8
  744. package/dist/checkout/p-DokgqSDS.js.map +0 -1
  745. package/dist/checkout/p-DpIGiwma.js +0 -5
  746. package/dist/checkout/p-DpIGiwma.js.map +0 -1
  747. package/dist/checkout/p-Dtdm8lKC.js.map +0 -1
  748. package/dist/checkout/p-LC8Dag8J.js +0 -5
  749. package/dist/checkout/p-LC8Dag8J.js.map +0 -1
  750. package/dist/checkout/p-PlOw-cTg.js +0 -2
  751. package/dist/checkout/p-PlOw-cTg.js.map +0 -1
  752. package/dist/checkout/p-ZjP4CjeZ.js.map +0 -1
  753. package/dist/checkout/p-a3af7718.entry.js +0 -2
  754. package/dist/checkout/p-a3af7718.entry.js.map +0 -1
  755. package/dist/checkout/p-a4e73261.entry.js +0 -2
  756. package/dist/checkout/p-a4e73261.entry.js.map +0 -1
  757. package/dist/checkout/p-a5f0602a.entry.js +0 -8
  758. package/dist/checkout/p-a5f0602a.entry.js.map +0 -1
  759. package/dist/checkout/p-ad8b3747.entry.js +0 -2
  760. package/dist/checkout/p-ad8b3747.entry.js.map +0 -1
  761. package/dist/checkout/p-ae1491f9.entry.js +0 -14
  762. package/dist/checkout/p-ae1491f9.entry.js.map +0 -1
  763. package/dist/checkout/p-b015f67f.entry.js +0 -2
  764. package/dist/checkout/p-b015f67f.entry.js.map +0 -1
  765. package/dist/checkout/p-b04f980c.entry.js +0 -2
  766. package/dist/checkout/p-b04f980c.entry.js.map +0 -1
  767. package/dist/checkout/p-b0b107e3.entry.js +0 -2
  768. package/dist/checkout/p-b0b107e3.entry.js.map +0 -1
  769. package/dist/checkout/p-b1db1d70.entry.js +0 -2
  770. package/dist/checkout/p-b1db1d70.entry.js.map +0 -1
  771. package/dist/checkout/p-b49b96cf.entry.js +0 -2
  772. package/dist/checkout/p-b49b96cf.entry.js.map +0 -1
  773. package/dist/checkout/p-b828e054.entry.js +0 -2
  774. package/dist/checkout/p-b828e054.entry.js.map +0 -1
  775. package/dist/checkout/p-b93a1bd6.entry.js +0 -2
  776. package/dist/checkout/p-b93a1bd6.entry.js.map +0 -1
  777. package/dist/checkout/p-bc55f859.entry.js +0 -2
  778. package/dist/checkout/p-bc55f859.entry.js.map +0 -1
  779. package/dist/checkout/p-befcbd0d.entry.js +0 -2
  780. package/dist/checkout/p-befcbd0d.entry.js.map +0 -1
  781. package/dist/checkout/p-c48a9448.entry.js +0 -2
  782. package/dist/checkout/p-c48a9448.entry.js.map +0 -1
  783. package/dist/checkout/p-c615397e.entry.js +0 -17
  784. package/dist/checkout/p-c615397e.entry.js.map +0 -1
  785. package/dist/checkout/p-cab41a25.entry.js +0 -62
  786. package/dist/checkout/p-cab41a25.entry.js.map +0 -1
  787. package/dist/checkout/p-cbf0100c.entry.js +0 -2
  788. package/dist/checkout/p-cbf0100c.entry.js.map +0 -1
  789. package/dist/checkout/p-cc591365.entry.js +0 -2
  790. package/dist/checkout/p-cc591365.entry.js.map +0 -1
  791. package/dist/checkout/p-cd8e7091.entry.js +0 -2
  792. package/dist/checkout/p-cd8e7091.entry.js.map +0 -1
  793. package/dist/checkout/p-d0d33188.entry.js +0 -2
  794. package/dist/checkout/p-d0d33188.entry.js.map +0 -1
  795. package/dist/checkout/p-d18cc858.entry.js +0 -2
  796. package/dist/checkout/p-d18cc858.entry.js.map +0 -1
  797. package/dist/checkout/p-d595c210.entry.js +0 -2
  798. package/dist/checkout/p-d595c210.entry.js.map +0 -1
  799. package/dist/checkout/p-d70b96db.entry.js +0 -2
  800. package/dist/checkout/p-d70b96db.entry.js.map +0 -1
  801. package/dist/checkout/p-d9a88167.entry.js +0 -2
  802. package/dist/checkout/p-d9a88167.entry.js.map +0 -1
  803. package/dist/checkout/p-e0fd6219.entry.js +0 -5
  804. package/dist/checkout/p-e0fd6219.entry.js.map +0 -1
  805. package/dist/checkout/p-eae47e9d.entry.js +0 -2
  806. package/dist/checkout/p-eae47e9d.entry.js.map +0 -1
  807. package/dist/checkout/p-ee1b72ba.entry.js +0 -2
  808. package/dist/checkout/p-ee1b72ba.entry.js.map +0 -1
  809. package/dist/checkout/p-eeb818b4.entry.js +0 -2
  810. package/dist/checkout/p-eeb818b4.entry.js.map +0 -1
  811. package/dist/checkout/p-f7dd0c42.entry.js +0 -2
  812. package/dist/checkout/p-f7dd0c42.entry.js.map +0 -1
  813. package/dist/checkout/p-f8f93e18.entry.js +0 -2
  814. package/dist/checkout/p-f8f93e18.entry.js.map +0 -1
  815. package/dist/checkout/p-hHmYLOfE.js.map +0 -1
  816. package/dist/checkout/p-ktzqax7n.js.map +0 -1
  817. package/dist/checkout/p-sObYyvOy.js.map +0 -1
  818. package/dist/checkout/p-syN-rRwJ.js +0 -6
  819. package/dist/checkout/p-syN-rRwJ.js.map +0 -1
  820. package/dist/cjs/animation-BtvIVax4.js.map +0 -1
  821. package/dist/cjs/app-globals-k1SzUfrO.js +0 -10
  822. package/dist/cjs/app-globals-k1SzUfrO.js.map +0 -1
  823. package/dist/cjs/ar-CbT6TM-Q.js.map +0 -1
  824. package/dist/cjs/capacitor-CqhugS19.js.map +0 -1
  825. package/dist/cjs/checkout.cjs.js.map +0 -1
  826. package/dist/cjs/compare-with-utils-JlLIkecm.js.map +0 -1
  827. package/dist/cjs/config-DUSoxbhv.js.map +0 -1
  828. package/dist/cjs/cubic-bezier-Bv3PvaRI.js.map +0 -1
  829. package/dist/cjs/data-CjHlPfPW.js.map +0 -1
  830. package/dist/cjs/dir-Br-7_bel.js.map +0 -1
  831. package/dist/cjs/focus-visible-Da2o6bTP.js.map +0 -1
  832. package/dist/cjs/framework-delegate-BoMy23Lz.js.map +0 -1
  833. package/dist/cjs/gesture-controller-CiprlUhH.js.map +0 -1
  834. package/dist/cjs/haptic-DCn793nz.js.map +0 -1
  835. package/dist/cjs/hardware-back-button-B1WYQg6m.js.map +0 -1
  836. package/dist/cjs/helpers-C5_WrFOI.js.map +0 -1
  837. package/dist/cjs/i18n-uGNv9SLK.js.map +0 -1
  838. package/dist/cjs/index-BPGqVQtz.js.map +0 -1
  839. package/dist/cjs/index-C-U8a6CY.js.map +0 -1
  840. package/dist/cjs/index-C0J_JwJB.js.map +0 -1
  841. package/dist/cjs/index-C3dD6F2g.js.map +0 -1
  842. package/dist/cjs/index-Calgykmz.js.map +0 -1
  843. package/dist/cjs/index-D3mJ1Cix.js.map +0 -1
  844. package/dist/cjs/index-DseJYF57.js.map +0 -1
  845. package/dist/cjs/index-DwdNl4cs.js.map +0 -1
  846. package/dist/cjs/index.cjs.js.map +0 -1
  847. package/dist/cjs/input-shims-DIBy37tN.js.map +0 -1
  848. package/dist/cjs/input.utils-IVavyQAZ.js.map +0 -1
  849. package/dist/cjs/ionic-global-BmDUlKDf.js.map +0 -1
  850. package/dist/cjs/ios.transition-ROXYV2qt.js.map +0 -1
  851. package/dist/cjs/keyboard-DuKzsHsS.js.map +0 -1
  852. package/dist/cjs/keyboard-controller-rH21qC_2.js.map +0 -1
  853. package/dist/cjs/keyboard-iyHR2ZF4.js.map +0 -1
  854. package/dist/cjs/loader.cjs.js.map +0 -1
  855. package/dist/cjs/lock-controller-58TZFRHC.js.map +0 -1
  856. package/dist/cjs/md.transition-NftVXx7D.js.map +0 -1
  857. package/dist/cjs/menu-toggle-util-CROwv_aL.js.map +0 -1
  858. package/dist/cjs/notch-controller-BzbZcc1N.js.map +0 -1
  859. package/dist/cjs/overlays-gyJEvMkB.js.map +0 -1
  860. package/dist/cjs/refresher.utils-DZrHDYQN.js.map +0 -1
  861. package/dist/cjs/spinner-configs-BN41iw42.js.map +0 -1
  862. package/dist/cjs/status-tap-B5QfH5DO.js.map +0 -1
  863. package/dist/cjs/swipe-back-BkT4j65k.js.map +0 -1
  864. package/dist/cjs/theme-DbHdw1Nx.js.map +0 -1
  865. package/dist/cjs/validity-ClNawnRU.js.map +0 -1
  866. package/dist/cjs/watch-options-DOFUPyuf.js.map +0 -1
  867. package/dist/collection/components/amwal-checkout-button/amwal-checkout-button.js.map +0 -1
  868. package/dist/collection/components/amwal-checkout-button/amwal-checkout-button.stories.js.map +0 -1
  869. package/dist/collection/components/amwal-installments-guide/amwal-installments-guide.js.map +0 -1
  870. package/dist/collection/components/amwal-installments-guide/amwal-installments-guide.stories.js.map +0 -1
  871. package/dist/collection/components/amwal-installments-timeline/amwal-installments-timeline.js.map +0 -1
  872. package/dist/collection/components/amwal-installments-timeline/amwal-installments-timeline.stories.js.map +0 -1
  873. package/dist/collection/components/amwal-pos/amwal-pos.js.map +0 -1
  874. package/dist/collection/components/amwal-pos/amwal-pos.stories.js.map +0 -1
  875. package/dist/collection/components/amwal-widget/amwal-widget-modal.js.map +0 -1
  876. package/dist/collection/components/amwal-widget/amwal-widget.js.map +0 -1
  877. package/dist/collection/components/amwal-widget/amwal-widget.stories.js.map +0 -1
  878. package/dist/collection/lang/i18n.js.map +0 -1
  879. package/dist/components/amwal-checkout-button.js.map +0 -1
  880. package/dist/components/amwal-installments-guide.js.map +0 -1
  881. package/dist/components/amwal-installments-timeline.js.map +0 -1
  882. package/dist/components/amwal-pos.js.map +0 -1
  883. package/dist/components/amwal-widget-modal.js.map +0 -1
  884. package/dist/components/amwal-widget.js.map +0 -1
  885. package/dist/components/index.js.map +0 -1
  886. package/dist/components/ion-accordion-group.js.map +0 -1
  887. package/dist/components/ion-accordion.js.map +0 -1
  888. package/dist/components/ion-action-sheet.js.map +0 -1
  889. package/dist/components/ion-alert.js.map +0 -1
  890. package/dist/components/ion-app.js.map +0 -1
  891. package/dist/components/ion-avatar.js.map +0 -1
  892. package/dist/components/ion-back-button.js.map +0 -1
  893. package/dist/components/ion-backdrop.js.map +0 -1
  894. package/dist/components/ion-badge.js.map +0 -1
  895. package/dist/components/ion-breadcrumb.js.map +0 -1
  896. package/dist/components/ion-breadcrumbs.js.map +0 -1
  897. package/dist/components/ion-button.js.map +0 -1
  898. package/dist/components/ion-buttons.js.map +0 -1
  899. package/dist/components/ion-card-content.js.map +0 -1
  900. package/dist/components/ion-card-header.js.map +0 -1
  901. package/dist/components/ion-card-subtitle.js.map +0 -1
  902. package/dist/components/ion-card-title.js.map +0 -1
  903. package/dist/components/ion-card.js.map +0 -1
  904. package/dist/components/ion-checkbox.js.map +0 -1
  905. package/dist/components/ion-chip.js.map +0 -1
  906. package/dist/components/ion-col.js.map +0 -1
  907. package/dist/components/ion-content.js.map +0 -1
  908. package/dist/components/ion-datetime-button.js.map +0 -1
  909. package/dist/components/ion-datetime.js.map +0 -1
  910. package/dist/components/ion-fab-button.js.map +0 -1
  911. package/dist/components/ion-fab-list.js.map +0 -1
  912. package/dist/components/ion-fab.js.map +0 -1
  913. package/dist/components/ion-footer.js.map +0 -1
  914. package/dist/components/ion-grid.js.map +0 -1
  915. package/dist/components/ion-header.js.map +0 -1
  916. package/dist/components/ion-icon.js.map +0 -1
  917. package/dist/components/ion-img.js.map +0 -1
  918. package/dist/components/ion-infinite-scroll-content.js.map +0 -1
  919. package/dist/components/ion-infinite-scroll.js.map +0 -1
  920. package/dist/components/ion-input-otp.js.map +0 -1
  921. package/dist/components/ion-input-password-toggle.js.map +0 -1
  922. package/dist/components/ion-input.js.map +0 -1
  923. package/dist/components/ion-item-divider.js.map +0 -1
  924. package/dist/components/ion-item-group.js.map +0 -1
  925. package/dist/components/ion-item-option.js.map +0 -1
  926. package/dist/components/ion-item-options.js.map +0 -1
  927. package/dist/components/ion-item-sliding.js.map +0 -1
  928. package/dist/components/ion-item.js.map +0 -1
  929. package/dist/components/ion-label.js.map +0 -1
  930. package/dist/components/ion-list-header.js.map +0 -1
  931. package/dist/components/ion-list.js.map +0 -1
  932. package/dist/components/ion-loading.js.map +0 -1
  933. package/dist/components/ion-menu-button.js.map +0 -1
  934. package/dist/components/ion-menu-toggle.js.map +0 -1
  935. package/dist/components/ion-menu.js.map +0 -1
  936. package/dist/components/ion-modal.js.map +0 -1
  937. package/dist/components/ion-nav-link.js.map +0 -1
  938. package/dist/components/ion-nav.js.map +0 -1
  939. package/dist/components/ion-note.js.map +0 -1
  940. package/dist/components/ion-picker-column-option.js.map +0 -1
  941. package/dist/components/ion-picker-column.js.map +0 -1
  942. package/dist/components/ion-picker-legacy-column.js.map +0 -1
  943. package/dist/components/ion-picker-legacy.js.map +0 -1
  944. package/dist/components/ion-picker.js.map +0 -1
  945. package/dist/components/ion-popover.js.map +0 -1
  946. package/dist/components/ion-progress-bar.js.map +0 -1
  947. package/dist/components/ion-radio-group.js.map +0 -1
  948. package/dist/components/ion-radio.js.map +0 -1
  949. package/dist/components/ion-range.js.map +0 -1
  950. package/dist/components/ion-refresher-content.js.map +0 -1
  951. package/dist/components/ion-refresher.js.map +0 -1
  952. package/dist/components/ion-reorder-group.js.map +0 -1
  953. package/dist/components/ion-reorder.js.map +0 -1
  954. package/dist/components/ion-ripple-effect.js.map +0 -1
  955. package/dist/components/ion-route-redirect.js.map +0 -1
  956. package/dist/components/ion-route.js.map +0 -1
  957. package/dist/components/ion-router-link.js.map +0 -1
  958. package/dist/components/ion-router-outlet.js.map +0 -1
  959. package/dist/components/ion-router.js.map +0 -1
  960. package/dist/components/ion-row.js.map +0 -1
  961. package/dist/components/ion-searchbar.js.map +0 -1
  962. package/dist/components/ion-segment-button.js.map +0 -1
  963. package/dist/components/ion-segment-content.js.map +0 -1
  964. package/dist/components/ion-segment-view.js.map +0 -1
  965. package/dist/components/ion-segment.js.map +0 -1
  966. package/dist/components/ion-select-modal.js.map +0 -1
  967. package/dist/components/ion-select-option.js.map +0 -1
  968. package/dist/components/ion-select-popover.js.map +0 -1
  969. package/dist/components/ion-select.js.map +0 -1
  970. package/dist/components/ion-skeleton-text.js.map +0 -1
  971. package/dist/components/ion-spinner.js.map +0 -1
  972. package/dist/components/ion-split-pane.js.map +0 -1
  973. package/dist/components/ion-tab-bar.js.map +0 -1
  974. package/dist/components/ion-tab-button.js.map +0 -1
  975. package/dist/components/ion-tab.js.map +0 -1
  976. package/dist/components/ion-tabs.js.map +0 -1
  977. package/dist/components/ion-text.js.map +0 -1
  978. package/dist/components/ion-textarea.js.map +0 -1
  979. package/dist/components/ion-thumbnail.js.map +0 -1
  980. package/dist/components/ion-title.js.map +0 -1
  981. package/dist/components/ion-toast.js.map +0 -1
  982. package/dist/components/ion-toggle.js.map +0 -1
  983. package/dist/components/ion-toolbar.js.map +0 -1
  984. package/dist/components/p-2HMA6Bk9.js +0 -199
  985. package/dist/components/p-2HMA6Bk9.js.map +0 -1
  986. package/dist/components/p-5oWdAaAi.js +0 -192
  987. package/dist/components/p-5oWdAaAi.js.map +0 -1
  988. package/dist/components/p-9R9WjA6V.js.map +0 -1
  989. package/dist/components/p-B-hirT0v.js.map +0 -1
  990. package/dist/components/p-B2gn37E3.js +0 -71
  991. package/dist/components/p-B2gn37E3.js.map +0 -1
  992. package/dist/components/p-B3WORC1a.js.map +0 -1
  993. package/dist/components/p-BHR1qL-B.js.map +0 -1
  994. package/dist/components/p-BLZx8ena.js +0 -648
  995. package/dist/components/p-BLZx8ena.js.map +0 -1
  996. package/dist/components/p-BPfqVyXF.js +0 -131
  997. package/dist/components/p-BPfqVyXF.js.map +0 -1
  998. package/dist/components/p-BRke83qH.js +0 -59
  999. package/dist/components/p-BRke83qH.js.map +0 -1
  1000. package/dist/components/p-BTEOs1at.js.map +0 -1
  1001. package/dist/components/p-BZwvoMAR.js +0 -42
  1002. package/dist/components/p-BZwvoMAR.js.map +0 -1
  1003. package/dist/components/p-BeDf61kY.js +0 -427
  1004. package/dist/components/p-BeDf61kY.js.map +0 -1
  1005. package/dist/components/p-BfUU8qUe.js +0 -42
  1006. package/dist/components/p-BfUU8qUe.js.map +0 -1
  1007. package/dist/components/p-BgOwfqIY.js.map +0 -1
  1008. package/dist/components/p-BhiX6sCr.js +0 -826
  1009. package/dist/components/p-BhiX6sCr.js.map +0 -1
  1010. package/dist/components/p-Binl0XAs.js +0 -576
  1011. package/dist/components/p-Binl0XAs.js.map +0 -1
  1012. package/dist/components/p-Bm5dgzDt.js +0 -118
  1013. package/dist/components/p-Bm5dgzDt.js.map +0 -1
  1014. package/dist/components/p-BmVRXR1y.js.map +0 -1
  1015. package/dist/components/p-BqMnDwQG.js +0 -194
  1016. package/dist/components/p-BqMnDwQG.js.map +0 -1
  1017. package/dist/components/p-BxP8TDfL.js.map +0 -1
  1018. package/dist/components/p-Byqjk7Y-.js +0 -423
  1019. package/dist/components/p-Byqjk7Y-.js.map +0 -1
  1020. package/dist/components/p-C03M5ZSM.js.map +0 -1
  1021. package/dist/components/p-C53feagD.js.map +0 -1
  1022. package/dist/components/p-C9H5b4Sp.js +0 -156
  1023. package/dist/components/p-C9H5b4Sp.js.map +0 -1
  1024. package/dist/components/p-CBE-1aIM.js +0 -342
  1025. package/dist/components/p-CBE-1aIM.js.map +0 -1
  1026. package/dist/components/p-CH3Eg9_f.js.map +0 -1
  1027. package/dist/components/p-CKAwPEA1.js.map +0 -1
  1028. package/dist/components/p-CQgmejdy.js +0 -103
  1029. package/dist/components/p-CQgmejdy.js.map +0 -1
  1030. package/dist/components/p-CS0AfHCU.js +0 -321
  1031. package/dist/components/p-CS0AfHCU.js.map +0 -1
  1032. package/dist/components/p-CTM7uu-W.js +0 -1656
  1033. package/dist/components/p-CTM7uu-W.js.map +0 -1
  1034. package/dist/components/p-Ccgs7j-d.js +0 -229
  1035. package/dist/components/p-Ccgs7j-d.js.map +0 -1
  1036. package/dist/components/p-ClEjw1rH.js +0 -235
  1037. package/dist/components/p-ClEjw1rH.js.map +0 -1
  1038. package/dist/components/p-CqzV2Pip.js +0 -459
  1039. package/dist/components/p-CqzV2Pip.js.map +0 -1
  1040. package/dist/components/p-D-0nEl_9.js +0 -75
  1041. package/dist/components/p-D-0nEl_9.js.map +0 -1
  1042. package/dist/components/p-D2NxOvQ8.js.map +0 -1
  1043. package/dist/components/p-D86aKvUI.js +0 -305
  1044. package/dist/components/p-D86aKvUI.js.map +0 -1
  1045. package/dist/components/p-DBeEVQxe.js +0 -2542
  1046. package/dist/components/p-DBeEVQxe.js.map +0 -1
  1047. package/dist/components/p-DEAe7QEa.js +0 -152
  1048. package/dist/components/p-DEAe7QEa.js.map +0 -1
  1049. package/dist/components/p-DFwbATZZ.js +0 -92
  1050. package/dist/components/p-DFwbATZZ.js.map +0 -1
  1051. package/dist/components/p-DG3y4Paj.js.map +0 -1
  1052. package/dist/components/p-DJztqcrH.js.map +0 -1
  1053. package/dist/components/p-DKTjDEAE.js +0 -477
  1054. package/dist/components/p-DKTjDEAE.js.map +0 -1
  1055. package/dist/components/p-DKg_dYcq.js.map +0 -1
  1056. package/dist/components/p-DQU52fBY.js +0 -913
  1057. package/dist/components/p-DQU52fBY.js.map +0 -1
  1058. package/dist/components/p-DXxzBbWg.js +0 -290
  1059. package/dist/components/p-DXxzBbWg.js.map +0 -1
  1060. package/dist/components/p-DiBX36NE.js +0 -73
  1061. package/dist/components/p-DiBX36NE.js.map +0 -1
  1062. package/dist/components/p-DiVJyqlX.js.map +0 -1
  1063. package/dist/components/p-DpZBHf1M.js +0 -598
  1064. package/dist/components/p-DpZBHf1M.js.map +0 -1
  1065. package/dist/components/p-DskTArru.js +0 -112
  1066. package/dist/components/p-DskTArru.js.map +0 -1
  1067. package/dist/components/p-Dtdm8lKC.js.map +0 -1
  1068. package/dist/components/p-DuZ7hY1a.js.map +0 -1
  1069. package/dist/components/p-Dw849bTq.js +0 -305
  1070. package/dist/components/p-Dw849bTq.js.map +0 -1
  1071. package/dist/components/p-DwPO21ol.js +0 -153
  1072. package/dist/components/p-DwPO21ol.js.map +0 -1
  1073. package/dist/components/p-JTTQkHB9.js +0 -139
  1074. package/dist/components/p-JTTQkHB9.js.map +0 -1
  1075. package/dist/components/p-L_Psvpkz.js +0 -222
  1076. package/dist/components/p-L_Psvpkz.js.map +0 -1
  1077. package/dist/components/p-Vjh8RfHt.js +0 -264
  1078. package/dist/components/p-Vjh8RfHt.js.map +0 -1
  1079. package/dist/components/p-XkH8uZ6p.js +0 -624
  1080. package/dist/components/p-XkH8uZ6p.js.map +0 -1
  1081. package/dist/components/p-YUfYVoix.js +0 -170
  1082. package/dist/components/p-YUfYVoix.js.map +0 -1
  1083. package/dist/components/p-ZjP4CjeZ.js.map +0 -1
  1084. package/dist/components/p-_OXvEtk1.js +0 -501
  1085. package/dist/components/p-_OXvEtk1.js.map +0 -1
  1086. package/dist/components/p-abe_AkUW.js +0 -1982
  1087. package/dist/components/p-abe_AkUW.js.map +0 -1
  1088. package/dist/components/p-cCiT8ucm.js +0 -1519
  1089. package/dist/components/p-cCiT8ucm.js.map +0 -1
  1090. package/dist/components/p-fROlYcE4.js +0 -380
  1091. package/dist/components/p-fROlYcE4.js.map +0 -1
  1092. package/dist/components/p-hHmYLOfE.js.map +0 -1
  1093. package/dist/components/p-hoAPVm-t.js +0 -354
  1094. package/dist/components/p-hoAPVm-t.js.map +0 -1
  1095. package/dist/components/p-idUkgr5D.js +0 -81
  1096. package/dist/components/p-idUkgr5D.js.map +0 -1
  1097. package/dist/components/p-jWFeuAB5.js.map +0 -1
  1098. package/dist/components/p-o42LW1q1.js +0 -70
  1099. package/dist/components/p-o42LW1q1.js.map +0 -1
  1100. package/dist/components/p-oO2T0VL-.js +0 -50
  1101. package/dist/components/p-oO2T0VL-.js.map +0 -1
  1102. package/dist/components/p-uTKLFBBy.js.map +0 -1
  1103. package/dist/esm/amwal-installments-guide.entry.js.map +0 -1
  1104. package/dist/esm/amwal-pos.entry.js.map +0 -1
  1105. package/dist/esm/amwal-widget-modal.entry.js.map +0 -1
  1106. package/dist/esm/amwal-widget.entry.js.map +0 -1
  1107. package/dist/esm/animation-BU4GfyJQ.js.map +0 -1
  1108. package/dist/esm/app-globals-DiUHe8Ib.js +0 -8
  1109. package/dist/esm/app-globals-DiUHe8Ib.js.map +0 -1
  1110. package/dist/esm/ar-B3WORC1a.js.map +0 -1
  1111. package/dist/esm/capacitor-CG3xQUND.js.map +0 -1
  1112. package/dist/esm/checkout.js.map +0 -1
  1113. package/dist/esm/compare-with-utils-sObYyvOy.js.map +0 -1
  1114. package/dist/esm/config-V6Cb8IlP.js +0 -176
  1115. package/dist/esm/config-V6Cb8IlP.js.map +0 -1
  1116. package/dist/esm/cubic-bezier-hHmYLOfE.js.map +0 -1
  1117. package/dist/esm/data-BKjeovce.js.map +0 -1
  1118. package/dist/esm/dir-C53feagD.js.map +0 -1
  1119. package/dist/esm/focus-visible-BmVRXR1y.js.map +0 -1
  1120. package/dist/esm/framework-delegate-CaqRmNBr.js +0 -143
  1121. package/dist/esm/framework-delegate-CaqRmNBr.js.map +0 -1
  1122. package/dist/esm/gesture-controller-BTEOs1at.js.map +0 -1
  1123. package/dist/esm/haptic-C3ucbArX.js.map +0 -1
  1124. package/dist/esm/hardware-back-button-Nry6hGkN.js.map +0 -1
  1125. package/dist/esm/helpers-uLqs1Gao.js.map +0 -1
  1126. package/dist/esm/i18n-C_AfxZ5D.js.map +0 -1
  1127. package/dist/esm/index-BmWsedvI.js.map +0 -1
  1128. package/dist/esm/index-BmlsNFZH.js.map +0 -1
  1129. package/dist/esm/index-BxybgBKJ.js.map +0 -1
  1130. package/dist/esm/index-CCWf5GQy.js.map +0 -1
  1131. package/dist/esm/index-CF4QYFB3.js.map +0 -1
  1132. package/dist/esm/index-Ct7Rjd6t.js.map +0 -1
  1133. package/dist/esm/index-ZjP4CjeZ.js.map +0 -1
  1134. package/dist/esm/index-ffNEk55Y.js.map +0 -1
  1135. package/dist/esm/index.js.map +0 -1
  1136. package/dist/esm/input-shims-DkzcZwWm.js.map +0 -1
  1137. package/dist/esm/input.utils-C_QovwBX.js.map +0 -1
  1138. package/dist/esm/ion-accordion-group.entry.js.map +0 -1
  1139. package/dist/esm/ion-accordion.entry.js.map +0 -1
  1140. package/dist/esm/ion-app.entry.js.map +0 -1
  1141. package/dist/esm/ion-avatar.entry.js.map +0 -1
  1142. package/dist/esm/ion-back-button.entry.js.map +0 -1
  1143. package/dist/esm/ion-backdrop.entry.js.map +0 -1
  1144. package/dist/esm/ion-badge.entry.js.map +0 -1
  1145. package/dist/esm/ion-breadcrumb.entry.js.map +0 -1
  1146. package/dist/esm/ion-breadcrumbs.entry.js.map +0 -1
  1147. package/dist/esm/ion-card-content.entry.js.map +0 -1
  1148. package/dist/esm/ion-card-header.entry.js.map +0 -1
  1149. package/dist/esm/ion-card-subtitle.entry.js.map +0 -1
  1150. package/dist/esm/ion-card-title.entry.js.map +0 -1
  1151. package/dist/esm/ion-card.entry.js.map +0 -1
  1152. package/dist/esm/ion-chip.entry.js.map +0 -1
  1153. package/dist/esm/ion-col.entry.js.map +0 -1
  1154. package/dist/esm/ion-datetime-button.entry.js.map +0 -1
  1155. package/dist/esm/ion-datetime.entry.js.map +0 -1
  1156. package/dist/esm/ion-fab-button.entry.js.map +0 -1
  1157. package/dist/esm/ion-fab-list.entry.js.map +0 -1
  1158. package/dist/esm/ion-fab.entry.js.map +0 -1
  1159. package/dist/esm/ion-footer.entry.js.map +0 -1
  1160. package/dist/esm/ion-grid.entry.js.map +0 -1
  1161. package/dist/esm/ion-icon.entry.js.map +0 -1
  1162. package/dist/esm/ion-img.entry.js.map +0 -1
  1163. package/dist/esm/ion-infinite-scroll-content.entry.js.map +0 -1
  1164. package/dist/esm/ion-infinite-scroll.entry.js.map +0 -1
  1165. package/dist/esm/ion-input-otp.entry.js.map +0 -1
  1166. package/dist/esm/ion-input-password-toggle.entry.js.map +0 -1
  1167. package/dist/esm/ion-input.entry.js.map +0 -1
  1168. package/dist/esm/ion-item-divider.entry.js.map +0 -1
  1169. package/dist/esm/ion-item-group.entry.js.map +0 -1
  1170. package/dist/esm/ion-item-option.entry.js.map +0 -1
  1171. package/dist/esm/ion-item-options.entry.js.map +0 -1
  1172. package/dist/esm/ion-item-sliding.entry.js.map +0 -1
  1173. package/dist/esm/ion-loading.entry.js.map +0 -1
  1174. package/dist/esm/ion-menu-button.entry.js.map +0 -1
  1175. package/dist/esm/ion-menu-toggle.entry.js.map +0 -1
  1176. package/dist/esm/ion-menu.entry.js.map +0 -1
  1177. package/dist/esm/ion-nav-link.entry.js.map +0 -1
  1178. package/dist/esm/ion-nav.entry.js.map +0 -1
  1179. package/dist/esm/ion-note.entry.js.map +0 -1
  1180. package/dist/esm/ion-picker-legacy-column.entry.js.map +0 -1
  1181. package/dist/esm/ion-picker-legacy.entry.js.map +0 -1
  1182. package/dist/esm/ion-popover.entry.js.map +0 -1
  1183. package/dist/esm/ion-progress-bar.entry.js.map +0 -1
  1184. package/dist/esm/ion-range.entry.js.map +0 -1
  1185. package/dist/esm/ion-refresher-content.entry.js.map +0 -1
  1186. package/dist/esm/ion-refresher.entry.js.map +0 -1
  1187. package/dist/esm/ion-reorder-group.entry.js.map +0 -1
  1188. package/dist/esm/ion-reorder.entry.js.map +0 -1
  1189. package/dist/esm/ion-route-redirect.entry.js.map +0 -1
  1190. package/dist/esm/ion-route.entry.js.map +0 -1
  1191. package/dist/esm/ion-router-link.entry.js.map +0 -1
  1192. package/dist/esm/ion-router-outlet.entry.js.map +0 -1
  1193. package/dist/esm/ion-router.entry.js.map +0 -1
  1194. package/dist/esm/ion-row.entry.js.map +0 -1
  1195. package/dist/esm/ion-searchbar.entry.js.map +0 -1
  1196. package/dist/esm/ion-segment-button.entry.js.map +0 -1
  1197. package/dist/esm/ion-segment-content.entry.js.map +0 -1
  1198. package/dist/esm/ion-segment-view.entry.js.map +0 -1
  1199. package/dist/esm/ion-segment.entry.js.map +0 -1
  1200. package/dist/esm/ion-select-option.entry.js.map +0 -1
  1201. package/dist/esm/ion-select.entry.js.map +0 -1
  1202. package/dist/esm/ion-skeleton-text.entry.js.map +0 -1
  1203. package/dist/esm/ion-spinner.entry.js.map +0 -1
  1204. package/dist/esm/ion-split-pane.entry.js.map +0 -1
  1205. package/dist/esm/ion-tab-bar.entry.js.map +0 -1
  1206. package/dist/esm/ion-tab-button.entry.js.map +0 -1
  1207. package/dist/esm/ion-tab.entry.js.map +0 -1
  1208. package/dist/esm/ion-tabs.entry.js.map +0 -1
  1209. package/dist/esm/ion-textarea.entry.js.map +0 -1
  1210. package/dist/esm/ion-thumbnail.entry.js.map +0 -1
  1211. package/dist/esm/ion-toast.entry.js.map +0 -1
  1212. package/dist/esm/ion-toggle.entry.js.map +0 -1
  1213. package/dist/esm/ionic-global-C8oJToxs.js.map +0 -1
  1214. package/dist/esm/ios.transition-BFolpAgy.js +0 -681
  1215. package/dist/esm/ios.transition-BFolpAgy.js.map +0 -1
  1216. package/dist/esm/keyboard-DcbqYXj5.js.map +0 -1
  1217. package/dist/esm/keyboard-DgiyREKb.js.map +0 -1
  1218. package/dist/esm/keyboard-controller-CqGCg8tB.js.map +0 -1
  1219. package/dist/esm/loader.js.map +0 -1
  1220. package/dist/esm/lock-controller-B-hirT0v.js.map +0 -1
  1221. package/dist/esm/md.transition-e1BRt2V0.js +0 -60
  1222. package/dist/esm/md.transition-e1BRt2V0.js.map +0 -1
  1223. package/dist/esm/menu-toggle-util-CWs_NYdI.js +0 -15
  1224. package/dist/esm/menu-toggle-util-CWs_NYdI.js.map +0 -1
  1225. package/dist/esm/notch-controller-DCfp6pBF.js.map +0 -1
  1226. package/dist/esm/overlays-BDbqv7G-.js.map +0 -1
  1227. package/dist/esm/refresher.utils-DOS2Tyfp.js.map +0 -1
  1228. package/dist/esm/spinner-configs-D4RIp70E.js.map +0 -1
  1229. package/dist/esm/status-tap-BTOXpL_S.js.map +0 -1
  1230. package/dist/esm/swipe-back-CetNYyPP.js.map +0 -1
  1231. package/dist/esm/theme-DiVJyqlX.js.map +0 -1
  1232. package/dist/esm/validity-DJztqcrH.js.map +0 -1
  1233. package/dist/esm/watch-options-Dtdm8lKC.js.map +0 -1
@@ -1 +0,0 @@
1
- {"file":"ion-segment.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["node_modules/@ionic/core/dist/collection/components/segment/segment.ios.css?tag=ion-segment&mode=ios&encapsulation=shadow","node_modules/@ionic/core/dist/collection/components/segment/segment.md.css?tag=ion-segment&mode=md&encapsulation=shadow","node_modules/@ionic/core/dist/collection/components/segment/segment.js"],"sourcesContent":["/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n /**\n * @prop --background: Background of the segment button\n */\n --ripple-color: currentColor;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n display: grid;\n grid-auto-columns: 1fr;\n position: relative;\n align-items: stretch;\n justify-content: center;\n width: 100%;\n background: var(--background);\n font-family: var(--ion-font-family, inherit);\n text-align: center;\n contain: paint;\n user-select: none;\n}\n\n:host(.segment-scrollable) {\n justify-content: start;\n width: auto;\n overflow-x: auto;\n grid-auto-columns: minmax(min-content, 1fr);\n}\n\n:host(.segment-scrollable::-webkit-scrollbar) {\n display: none;\n}\n\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n --background: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.065);\n border-radius: 8px;\n overflow: hidden;\n z-index: 0;\n}\n\n:host(.ion-color) {\n background: rgba(var(--ion-color-base-rgb), 0.065);\n}\n\n:host(.in-toolbar) {\n -webkit-margin-start: auto;\n margin-inline-start: auto;\n -webkit-margin-end: auto;\n margin-inline-end: auto;\n margin-top: 0;\n margin-bottom: 0;\n width: auto;\n}\n\n:host(.in-toolbar:not(.ion-color)) {\n background: var(--ion-toolbar-segment-background, var(--background));\n}\n\n:host(.in-toolbar-color:not(.ion-color)) {\n background: rgba(var(--ion-color-contrast-rgb), 0.11);\n}","/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n /**\n * @prop --background: Background of the segment button\n */\n --ripple-color: currentColor;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n display: grid;\n grid-auto-columns: 1fr;\n position: relative;\n align-items: stretch;\n justify-content: center;\n width: 100%;\n background: var(--background);\n font-family: var(--ion-font-family, inherit);\n text-align: center;\n contain: paint;\n user-select: none;\n}\n\n:host(.segment-scrollable) {\n justify-content: start;\n width: auto;\n overflow-x: auto;\n grid-auto-columns: minmax(min-content, 1fr);\n}\n\n:host(.segment-scrollable::-webkit-scrollbar) {\n display: none;\n}\n\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n --background: transparent;\n grid-auto-columns: minmax(auto, 360px);\n}\n\n:host(.in-toolbar) {\n /**\n * Segment should inherit the\n * height of the toolbar.\n * Note: --min-height is initially\n * set on ion-toolbar, not ion-segment\n */\n min-height: var(--min-height);\n}\n\n:host(.segment-scrollable) ::slotted(ion-segment-button) {\n min-width: auto;\n}","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { Host, h, writeTask } from \"@stencil/core\";\nimport { raf } from \"../../utils/helpers\";\nimport { isRTL } from \"../../utils/rtl/index\";\nimport { createColorClasses, hostContext } from \"../../utils/theme\";\nimport { getIonMode } from \"../../global/ionic-global\";\n/**\n * @virtualProp {\"ios\" | \"md\"} mode - The mode determines which platform styles to use.\n */\nexport class Segment {\n constructor() {\n this.segmentViewEl = null;\n this.activated = false;\n /**\n * If `true`, the user cannot interact with the segment.\n */\n this.disabled = false;\n /**\n * If `true`, the segment buttons will overflow and the user can swipe to see them.\n * In addition, this will disable the gesture to drag the indicator between the buttons\n * in order to swipe to see hidden buttons.\n */\n this.scrollable = false;\n /**\n * If `true`, users will be able to swipe between segment buttons to activate them.\n */\n this.swipeGesture = true;\n /**\n * If `true`, navigating to an `ion-segment-button` with the keyboard will focus and select the element.\n * If `false`, keyboard navigation will only focus the `ion-segment-button` element.\n */\n this.selectOnFocus = false;\n this.onClick = (ev) => {\n const current = ev.target;\n const previous = this.checked;\n // If the current element is a segment then that means\n // the user tried to swipe to a segment button and\n // click a segment button at the same time so we should\n // not update the checked segment button\n if (current.tagName === 'ION-SEGMENT') {\n return;\n }\n this.value = current.value;\n if (current !== previous) {\n this.emitValueChange();\n }\n if (this.segmentViewEl) {\n this.updateSegmentView();\n if (this.scrollable && previous) {\n this.checkButton(previous, current);\n }\n }\n else if (this.scrollable || !this.swipeGesture) {\n if (previous) {\n this.checkButton(previous, current);\n }\n else {\n this.setCheckedClasses();\n }\n }\n };\n this.onSlottedItemsChange = () => {\n /**\n * When the slotted segment buttons change we need to\n * ensure that the new segment buttons are checked if\n * the value matches the segment button value.\n */\n this.valueChanged(this.value);\n };\n this.getSegmentButton = (selector) => {\n var _a, _b;\n const buttons = this.getButtons().filter((button) => !button.disabled);\n const currIndex = buttons.findIndex((button) => button === document.activeElement);\n switch (selector) {\n case 'first':\n return buttons[0];\n case 'last':\n return buttons[buttons.length - 1];\n case 'next':\n return (_a = buttons[currIndex + 1]) !== null && _a !== void 0 ? _a : buttons[0];\n case 'previous':\n return (_b = buttons[currIndex - 1]) !== null && _b !== void 0 ? _b : buttons[buttons.length - 1];\n default:\n return null;\n }\n };\n }\n colorChanged(value, oldValue) {\n /**\n * If color is set after not having\n * previously been set (or vice versa),\n * we need to emit style so the segment-buttons\n * can apply their color classes properly.\n */\n if ((oldValue === undefined && value !== undefined) || (oldValue !== undefined && value === undefined)) {\n this.emitStyle();\n }\n }\n swipeGestureChanged() {\n this.gestureChanged();\n }\n valueChanged(value, oldValue) {\n // Force a value to exist if we're using a segment view\n if (this.segmentViewEl && value === undefined) {\n this.value = this.getButtons()[0].value;\n return;\n }\n if (oldValue !== undefined && value !== undefined) {\n const buttons = this.getButtons();\n const previous = buttons.find((button) => button.value === oldValue);\n const current = buttons.find((button) => button.value === value);\n if (previous && current) {\n if (!this.segmentViewEl) {\n this.checkButton(previous, current);\n }\n else if (this.triggerScrollOnValueChange !== false) {\n this.updateSegmentView();\n }\n }\n }\n else if (value !== undefined && oldValue === undefined && this.segmentViewEl) {\n this.updateSegmentView();\n }\n /**\n * `ionSelect` is emitted every time the value changes (internal or external changes).\n * Used by `ion-segment-button` to determine if the button should be checked.\n */\n this.ionSelect.emit({ value });\n // The scroll listener should handle scrolling the active button into view as needed\n if (!this.segmentViewEl) {\n this.scrollActiveButtonIntoView();\n }\n this.triggerScrollOnValueChange = undefined;\n }\n disabledChanged() {\n this.gestureChanged();\n if (!this.segmentViewEl) {\n const buttons = this.getButtons();\n for (const button of buttons) {\n button.disabled = this.disabled;\n }\n }\n else {\n this.segmentViewEl.disabled = this.disabled;\n }\n }\n gestureChanged() {\n if (this.gesture) {\n this.gesture.enable(!this.scrollable && !this.disabled && this.swipeGesture);\n }\n }\n connectedCallback() {\n this.emitStyle();\n this.segmentViewEl = this.getSegmentView();\n }\n disconnectedCallback() {\n this.segmentViewEl = null;\n }\n componentWillLoad() {\n this.emitStyle();\n }\n async componentDidLoad() {\n this.segmentViewEl = this.getSegmentView();\n this.setCheckedClasses();\n /**\n * We need to wait for the buttons to all be rendered\n * before we can scroll.\n */\n raf(() => {\n /**\n * When the segment loads for the first\n * time we just want to snap the active button into\n * place instead of scroll. Smooth scrolling should only\n * happen when the user interacts with the segment.\n */\n this.scrollActiveButtonIntoView(false);\n });\n this.gesture = (await import('../../utils/gesture')).createGesture({\n el: this.el,\n gestureName: 'segment',\n gesturePriority: 100,\n threshold: 0,\n passive: false,\n onStart: (ev) => this.onStart(ev),\n onMove: (ev) => this.onMove(ev),\n onEnd: (ev) => this.onEnd(ev),\n });\n this.gestureChanged();\n if (this.disabled) {\n this.disabledChanged();\n }\n // Update segment view based on the initial value,\n // but do not animate the scroll\n this.updateSegmentView(false);\n }\n onStart(detail) {\n this.valueBeforeGesture = this.value;\n this.activate(detail);\n }\n onMove(detail) {\n this.setNextIndex(detail);\n }\n onEnd(detail) {\n this.setActivated(false);\n this.setNextIndex(detail, true);\n detail.event.stopImmediatePropagation();\n const value = this.value;\n if (value !== undefined) {\n if (this.valueBeforeGesture !== value) {\n this.emitValueChange();\n this.updateSegmentView();\n }\n }\n this.valueBeforeGesture = undefined;\n }\n /**\n * Emits an `ionChange` event.\n *\n * This API should be called for user committed changes.\n * This API should not be used for external value changes.\n */\n emitValueChange() {\n const { value } = this;\n this.ionChange.emit({ value });\n }\n getButtons() {\n return Array.from(this.el.querySelectorAll('ion-segment-button'));\n }\n get checked() {\n return this.getButtons().find((button) => button.value === this.value);\n }\n /*\n * Activate both the segment and the buttons\n * due to a bug with ::slotted in Safari\n */\n setActivated(activated) {\n const buttons = this.getButtons();\n buttons.forEach((button) => {\n button.classList.toggle('segment-button-activated', activated);\n });\n this.activated = activated;\n }\n activate(detail) {\n const clicked = detail.event.target;\n const buttons = this.getButtons();\n const checked = buttons.find((button) => button.value === this.value);\n // Make sure we are only checking for activation on a segment button\n // since disabled buttons will get the click on the segment\n if (clicked.tagName !== 'ION-SEGMENT-BUTTON') {\n return;\n }\n // If there are no checked buttons, set the current button to checked\n if (!checked) {\n this.value = clicked.value;\n this.setCheckedClasses();\n }\n // If the gesture began on the clicked button with the indicator\n // then we should activate the indicator\n if (this.value === clicked.value) {\n this.setActivated(true);\n }\n }\n getIndicator(button) {\n const root = button.shadowRoot || button;\n return root.querySelector('.segment-button-indicator');\n }\n checkButton(previous, current) {\n const previousIndicator = this.getIndicator(previous);\n const currentIndicator = this.getIndicator(current);\n if (previousIndicator === null || currentIndicator === null) {\n return;\n }\n const previousClientRect = previousIndicator.getBoundingClientRect();\n const currentClientRect = currentIndicator.getBoundingClientRect();\n const widthDelta = previousClientRect.width / currentClientRect.width;\n const xPosition = previousClientRect.left - currentClientRect.left;\n // Scale the indicator width to match the previous indicator width\n // and translate it on top of the previous indicator\n const transform = `translate3d(${xPosition}px, 0, 0) scaleX(${widthDelta})`;\n writeTask(() => {\n // Remove the transition before positioning on top of the previous indicator\n currentIndicator.classList.remove('segment-button-indicator-animated');\n currentIndicator.style.setProperty('transform', transform);\n // Force a repaint to ensure the transform happens\n currentIndicator.getBoundingClientRect();\n // Add the transition to move the indicator into place\n currentIndicator.classList.add('segment-button-indicator-animated');\n // Remove the transform to slide the indicator back to the button clicked\n currentIndicator.style.setProperty('transform', '');\n this.scrollActiveButtonIntoView(true);\n });\n this.value = current.value;\n this.setCheckedClasses();\n }\n setCheckedClasses() {\n const buttons = this.getButtons();\n const index = buttons.findIndex((button) => button.value === this.value);\n const next = index + 1;\n for (const button of buttons) {\n button.classList.remove('segment-button-after-checked');\n }\n if (next < buttons.length) {\n buttons[next].classList.add('segment-button-after-checked');\n }\n }\n getSegmentView() {\n const buttons = this.getButtons();\n // Get the first button with a contentId\n const firstContentId = buttons.find((button) => button.contentId);\n // Get the segment content with an id matching the button's contentId\n const segmentContent = document.querySelector(`ion-segment-content[id=\"${firstContentId === null || firstContentId === void 0 ? void 0 : firstContentId.contentId}\"]`);\n // Return the segment view for that matching segment content\n return segmentContent === null || segmentContent === void 0 ? void 0 : segmentContent.closest('ion-segment-view');\n }\n handleSegmentViewScroll(ev) {\n const { scrollRatio, isManualScroll } = ev.detail;\n if (!isManualScroll) {\n return;\n }\n const dispatchedFrom = ev.target;\n const segmentViewEl = this.segmentViewEl;\n const segmentEl = this.el;\n // Only update the indicator if the event was dispatched from the correct segment view\n if (ev.composedPath().includes(segmentViewEl) || (dispatchedFrom === null || dispatchedFrom === void 0 ? void 0 : dispatchedFrom.contains(segmentEl))) {\n const buttons = this.getButtons();\n // If no buttons are found or there is no value set then do nothing\n if (!buttons.length)\n return;\n const index = buttons.findIndex((button) => button.value === this.value);\n const current = buttons[index];\n const nextIndex = Math.round(scrollRatio * (buttons.length - 1));\n if (this.lastNextIndex === undefined || this.lastNextIndex !== nextIndex) {\n this.lastNextIndex = nextIndex;\n this.triggerScrollOnValueChange = false;\n this.checkButton(current, buttons[nextIndex]);\n this.emitValueChange();\n }\n }\n }\n /**\n * Finds the related segment view and sets its current content\n * based on the selected segment button. This method\n * should be called on initial load of the segment,\n * after the gesture is completed (if dragging between segments)\n * and when a segment button is clicked directly.\n */\n updateSegmentView(smoothScroll = true) {\n const buttons = this.getButtons();\n const button = buttons.find((btn) => btn.value === this.value);\n // If the button does not have a contentId then there is\n // no associated segment view to update\n if (!(button === null || button === void 0 ? void 0 : button.contentId)) {\n return;\n }\n const segmentView = this.segmentViewEl;\n if (segmentView) {\n segmentView.setContent(button.contentId, smoothScroll);\n }\n }\n scrollActiveButtonIntoView(smoothScroll = true) {\n const { scrollable, value, el } = this;\n if (scrollable) {\n const buttons = this.getButtons();\n const activeButton = buttons.find((button) => button.value === value);\n if (activeButton !== undefined) {\n const scrollContainerBox = el.getBoundingClientRect();\n const activeButtonBox = activeButton.getBoundingClientRect();\n /**\n * Subtract the active button x position from the scroll\n * container x position. This will give us the x position\n * of the active button within the scroll container.\n */\n const activeButtonLeft = activeButtonBox.x - scrollContainerBox.x;\n /**\n * If we just used activeButtonLeft, then the active button\n * would be aligned with the left edge of the scroll container.\n * Instead, we want the segment button to be centered. As a result,\n * we subtract half of the scroll container width. This will position\n * the left edge of the active button at the midpoint of the scroll container.\n * We then add half of the active button width. This will position the active\n * button such that the midpoint of the active button is at the midpoint of the\n * scroll container.\n */\n const centeredX = activeButtonLeft - scrollContainerBox.width / 2 + activeButtonBox.width / 2;\n /**\n * newScrollPosition is the absolute scroll position that the\n * container needs to move to in order to center the active button.\n * It is calculated by adding the current scroll position\n * (scrollLeft) to the offset needed to center the button\n * (centeredX).\n */\n const newScrollPosition = el.scrollLeft + centeredX;\n /**\n * We intentionally use scrollTo here instead of scrollIntoView\n * to avoid a WebKit bug where accelerated animations break\n * when using scrollIntoView. Using scrollIntoView will cause the\n * segment container to jump during the transition and then snap into place.\n * This is because scrollIntoView can potentially cause parent element\n * containers to also scroll. scrollTo does not have this same behavior, so\n * we use this API instead.\n *\n * scrollTo is used instead of scrollBy because there is a\n * Webkit bug that causes scrollBy to not work smoothly when\n * the active button is near the edge of the scroll container.\n * This leads to the buttons to jump around during the transition.\n *\n * Note that if there is not enough scrolling space to center the element\n * within the scroll container, the browser will attempt\n * to center by as much as it can.\n */\n el.scrollTo({\n top: 0,\n left: newScrollPosition,\n behavior: smoothScroll ? 'smooth' : 'instant',\n });\n }\n }\n }\n setNextIndex(detail, isEnd = false) {\n const rtl = isRTL(this.el);\n const activated = this.activated;\n const buttons = this.getButtons();\n const index = buttons.findIndex((button) => button.value === this.value);\n const previous = buttons[index];\n let current;\n let nextIndex;\n if (index === -1) {\n return;\n }\n // Get the element that the touch event started on in case\n // it was the checked button, then we will move the indicator\n const rect = previous.getBoundingClientRect();\n const left = rect.left;\n const width = rect.width;\n // Get the element that the gesture is on top of based on the currentX of the\n // gesture event and the Y coordinate of the starting element, since the gesture\n // can move up and down off of the segment\n const currentX = detail.currentX;\n const previousY = rect.top + rect.height / 2;\n /**\n * Segment can be used inside the shadow dom\n * so doing document.elementFromPoint would never\n * return a segment button in that instance.\n * We use getRootNode to which will return the parent\n * shadow root if used inside a shadow component and\n * returns document otherwise.\n */\n const root = this.el.getRootNode();\n const nextEl = root.elementFromPoint(currentX, previousY);\n const decreaseIndex = rtl ? currentX > left + width : currentX < left;\n const increaseIndex = rtl ? currentX < left : currentX > left + width;\n // If the indicator is currently activated then we have started the gesture\n // on top of the checked button so we need to slide the indicator\n // by checking the button next to it as we move\n if (activated && !isEnd) {\n // Decrease index, move left in LTR & right in RTL\n if (decreaseIndex) {\n const newIndex = index - 1;\n if (newIndex >= 0) {\n nextIndex = newIndex;\n }\n // Increase index, moves right in LTR & left in RTL\n }\n else if (increaseIndex) {\n if (activated && !isEnd) {\n const newIndex = index + 1;\n if (newIndex < buttons.length) {\n nextIndex = newIndex;\n }\n }\n }\n if (nextIndex !== undefined && !buttons[nextIndex].disabled) {\n current = buttons[nextIndex];\n }\n }\n // If the indicator is not activated then we will just set the indicator\n // to the element where the gesture ended\n if (!activated && isEnd) {\n current = nextEl;\n }\n if (current != null) {\n /**\n * If current element is ion-segment then that means\n * user tried to select a disabled ion-segment-button,\n * and we should not update the ripple.\n */\n if (current.tagName === 'ION-SEGMENT') {\n return false;\n }\n if (previous !== current) {\n this.checkButton(previous, current);\n }\n }\n return true;\n }\n emitStyle() {\n this.ionStyle.emit({\n segment: true,\n });\n }\n onKeyDown(ev) {\n const rtl = isRTL(this.el);\n let keyDownSelectsButton = this.selectOnFocus;\n let current;\n switch (ev.key) {\n case 'ArrowRight':\n ev.preventDefault();\n current = rtl ? this.getSegmentButton('previous') : this.getSegmentButton('next');\n break;\n case 'ArrowLeft':\n ev.preventDefault();\n current = rtl ? this.getSegmentButton('next') : this.getSegmentButton('previous');\n break;\n case 'Home':\n ev.preventDefault();\n current = this.getSegmentButton('first');\n break;\n case 'End':\n ev.preventDefault();\n current = this.getSegmentButton('last');\n break;\n case ' ':\n case 'Enter':\n ev.preventDefault();\n current = document.activeElement;\n keyDownSelectsButton = true;\n default:\n break;\n }\n if (!current) {\n return;\n }\n if (keyDownSelectsButton) {\n const previous = this.checked;\n this.checkButton(previous || current, current);\n if (current !== previous) {\n this.emitValueChange();\n }\n }\n current.setFocus();\n }\n render() {\n const mode = getIonMode(this);\n return (h(Host, { key: 'e67ed512739cf2cfe657b0c44ebc3dfb1e9fbb79', role: \"tablist\", onClick: this.onClick, class: createColorClasses(this.color, {\n [mode]: true,\n 'in-toolbar': hostContext('ion-toolbar', this.el),\n 'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),\n 'segment-activated': this.activated,\n 'segment-disabled': this.disabled,\n 'segment-scrollable': this.scrollable,\n }) }, h(\"slot\", { key: '804d8acfcb9abfeeee38244b015fbc5c36330b9e', onSlotchange: this.onSlottedItemsChange })));\n }\n static get is() { return \"ion-segment\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"ios\": [\"segment.ios.scss\"],\n \"md\": [\"segment.md.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"ios\": [\"segment.ios.css\"],\n \"md\": [\"segment.md.css\"]\n };\n }\n static get properties() {\n return {\n \"color\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"Color\",\n \"resolved\": \"\\\"danger\\\" | \\\"dark\\\" | \\\"light\\\" | \\\"medium\\\" | \\\"primary\\\" | \\\"secondary\\\" | \\\"success\\\" | \\\"tertiary\\\" | \\\"warning\\\" | string & Record<never, never> | undefined\",\n \"references\": {\n \"Color\": {\n \"location\": \"import\",\n \"path\": \"../../interface\",\n \"id\": \"src/interface.d.ts::Color\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"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).\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": true,\n \"attribute\": \"color\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the user cannot interact with the segment.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"disabled\",\n \"defaultValue\": \"false\"\n },\n \"scrollable\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the segment buttons will overflow and the user can swipe to see them.\\nIn addition, this will disable the gesture to drag the indicator between the buttons\\nin order to swipe to see hidden buttons.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"scrollable\",\n \"defaultValue\": \"false\"\n },\n \"swipeGesture\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, users will be able to swipe between segment buttons to activate them.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"swipe-gesture\",\n \"defaultValue\": \"true\"\n },\n \"value\": {\n \"type\": \"any\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"SegmentValue\",\n \"resolved\": \"number | string | undefined\",\n \"references\": {\n \"SegmentValue\": {\n \"location\": \"import\",\n \"path\": \"./segment-interface\",\n \"id\": \"src/components/segment/segment-interface.ts::SegmentValue\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"the value of the segment.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"value\"\n },\n \"selectOnFocus\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, navigating to an `ion-segment-button` with the keyboard will focus and select the element.\\nIf `false`, keyboard navigation will only focus the `ion-segment-button` element.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"select-on-focus\",\n \"defaultValue\": \"false\"\n }\n };\n }\n static get states() {\n return {\n \"activated\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"ionChange\",\n \"name\": \"ionChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the value property has changed and any dragging pointer has been released from `ion-segment`.\\n\\nThis event will not emit when programmatically setting the `value` property.\"\n },\n \"complexType\": {\n \"original\": \"SegmentChangeEventDetail\",\n \"resolved\": \"SegmentChangeEventDetail\",\n \"references\": {\n \"SegmentChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./segment-interface\",\n \"id\": \"src/components/segment/segment-interface.ts::SegmentChangeEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"ionSelect\",\n \"name\": \"ionSelect\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"Emitted when the value of the segment changes from user committed actions\\nor from externally assigning a value.\"\n },\n \"complexType\": {\n \"original\": \"SegmentChangeEventDetail\",\n \"resolved\": \"SegmentChangeEventDetail\",\n \"references\": {\n \"SegmentChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./segment-interface\",\n \"id\": \"src/components/segment/segment-interface.ts::SegmentChangeEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"ionStyle\",\n \"name\": \"ionStyle\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"Emitted when the styles change.\"\n },\n \"complexType\": {\n \"original\": \"StyleEventDetail\",\n \"resolved\": \"StyleEventDetail\",\n \"references\": {\n \"StyleEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../interface\",\n \"id\": \"src/interface.d.ts::StyleEventDetail\"\n }\n }\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"color\",\n \"methodName\": \"colorChanged\"\n }, {\n \"propName\": \"swipeGesture\",\n \"methodName\": \"swipeGestureChanged\"\n }, {\n \"propName\": \"value\",\n \"methodName\": \"valueChanged\"\n }, {\n \"propName\": \"disabled\",\n \"methodName\": \"disabledChanged\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"ionSegmentViewScroll\",\n \"method\": \"handleSegmentViewScroll\",\n \"target\": \"body\",\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"keydown\",\n \"method\": \"onKeyDown\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"ion-select-modal.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"ion-select-option.js","mappings":";;;AAAA,MAAM,eAAe,GAAG,MAAM,CAAC,mBAAmB,CAAC;;MCKtC,YAAY,iBAAAA,kBAAA,CAAA,MAAA,YAAA,SAAAC,CAAA,CAAA;AACrB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AACI,QAAA,IAAI,CAAC,OAAO,GAAG,cAAc,eAAe,EAAE,EAAE;AAChD;;AAEG;AACH,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACxB;IACD,MAAM,GAAA;QACF,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,0CAA0C,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;;;AA2DtI,IAAI,eAAe,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["node_modules/@ionic/core/dist/collection/components/select-option/select-option.css?tag=ion-select-option&encapsulation=shadow","node_modules/@ionic/core/dist/collection/components/select-option/select-option.js"],"sourcesContent":[":host {\n display: none;\n}","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { Host, h } from \"@stencil/core\";\nimport { getIonMode } from \"../../global/ionic-global\";\nexport class SelectOption {\n constructor() {\n this.inputId = `ion-selopt-${selectOptionIds++}`;\n /**\n * If `true`, the user cannot interact with the select option. This property does not apply when `interface=\"action-sheet\"` as `ion-action-sheet` does not allow for disabled buttons.\n */\n this.disabled = false;\n }\n render() {\n return h(Host, { key: '3a70eea9fa03a9acba582180761d18347c72acee', role: \"option\", id: this.inputId, class: getIonMode(this) });\n }\n static get is() { return \"ion-select-option\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"select-option.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"select-option.css\"]\n };\n }\n static get properties() {\n return {\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the user cannot interact with the select option. This property does not apply when `interface=\\\"action-sheet\\\"` as `ion-action-sheet` does not allow for disabled buttons.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"disabled\",\n \"defaultValue\": \"false\"\n },\n \"value\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"any | null\",\n \"resolved\": \"any\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The text value of the option.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"value\"\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\nlet selectOptionIds = 0;\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"ion-select-popover.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"ion-select.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["node_modules/@ionic/core/dist/collection/components/select/select.ios.css?tag=ion-select&mode=ios&encapsulation=shadow","node_modules/@ionic/core/dist/collection/components/select/select.md.css?tag=ion-select&mode=md&encapsulation=shadow","node_modules/@ionic/core/dist/collection/components/select/select.js"],"sourcesContent":["/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n /**\n * @prop --background: Background of the select\n * @prop --padding-top: Top padding of the select\n * @prop --padding-end: Right padding if direction is left-to-right, and left padding if direction is right-to-left of the select\n * @prop --padding-bottom: Bottom padding of the select\n * @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the select\n *\n * @prop --placeholder-color: Color of the select placeholder text\n * @prop --placeholder-opacity: Opacity of the select placeholder text\n *\n * @prop --highlight-height: The height of the highlight on the select. Only applies to md mode.\n * @prop --highlight-color-focused: The color of the highlight on the select when focused\n * @prop --highlight-color-invalid: The color of the highlight on the select when invalid\n * @prop --highlight-color-valid: The color of the highlight on the select when valid\n *\n * @prop --border-color: Color of the select border\n * @prop --border-radius: Radius of the select border. A large radius may display unevenly when using fill=\"outline\"; if needed, use shape=\"round\" instead or increase --padding-start.\n * @prop --border-style: Style of the select border\n * @prop --border-width: Width of the select border\n *\n * @prop --ripple-color: The color of the ripple effect on MD mode.\n */\n --padding-top: 0px;\n --padding-end: 0px;\n --padding-bottom: 0px;\n --padding-start: 0px;\n --placeholder-color: currentColor;\n --placeholder-opacity: var(--ion-placeholder-opacity, 0.6);\n --background: transparent;\n --border-style: solid;\n --highlight-color-focused: var(--ion-color-primary, #0054e9);\n --highlight-color-valid: var(--ion-color-success, #2dd55b);\n --highlight-color-invalid: var(--ion-color-danger, #c5000f);\n /**\n * This is a private API that is used to switch\n * out the highlight color based on the state\n * of the component without having to write\n * different selectors for different fill variants.\n */\n --highlight-color: var(--highlight-color-focused);\n display: block;\n position: relative;\n width: 100%;\n min-height: 44px;\n font-family: var(--ion-font-family, inherit);\n white-space: nowrap;\n cursor: pointer;\n z-index: 2;\n}\n\n/**\n * Since the label sits on top of the element,\n * the component needs to be taller otherwise the\n * label will appear too close to the select text.\n */\n:host(.select-label-placement-floating),\n:host(.select-label-placement-stacked) {\n min-height: 56px;\n}\n\n:host(.ion-color) {\n --highlight-color-focused: var(--ion-color-base);\n}\n\n:host(.in-item) {\n flex: 1 1 0;\n}\n\n:host(.select-disabled) {\n pointer-events: none;\n}\n\n:host(.has-focus) button {\n border: 2px solid #5e9ed6;\n}\n\n/**\n * Select can be slotted\n * in components such as item and\n * toolbar which is why we do not\n * limit the below behavior to just ion-item.\n */\n:host([slot=start]),\n:host([slot=end]) {\n flex: initial;\n width: auto;\n}\n\n.select-placeholder {\n color: var(--placeholder-color);\n opacity: var(--placeholder-opacity);\n}\n\nbutton {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n border: 0;\n outline: 0;\n clip: rect(0 0 0 0);\n opacity: 0;\n overflow: hidden;\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n.select-icon {\n -webkit-margin-start: 4px;\n margin-inline-start: 4px;\n -webkit-margin-end: 0;\n margin-inline-end: 0;\n margin-top: 0;\n margin-bottom: 0;\n position: relative;\n /**\n * Prevent the icon from shrinking when the label and/or\n * selected item text is long enough to fill the rest of\n * the container.\n */\n flex-shrink: 0;\n}\n\n/**\n * Ensure that the select icon has\n * the correct color contrast when\n * used inside of an item.\n */\n:host(.in-item-color) .select-icon {\n color: inherit;\n}\n\n/**\n * The select icon should be centered with\n * the entire container not just the control\n * with floating/stacked labels.\n */\n:host(.select-label-placement-stacked) .select-icon,\n:host(.select-label-placement-floating) .select-icon {\n position: absolute;\n height: 100%;\n}\n\n/**\n * This positions the icon at the correct\n * edge of the component with LTR and RTL\n * text directions. The position mixin cannot be\n * used here because the icon is in the Shadow DOM.\n */\n:host(.select-ltr.select-label-placement-stacked) .select-icon,\n:host(.select-ltr.select-label-placement-floating) .select-icon {\n right: var(--padding-end, 0);\n}\n\n:host(.select-rtl.select-label-placement-stacked) .select-icon,\n:host(.select-rtl.select-label-placement-floating) .select-icon {\n left: var(--padding-start, 0);\n}\n\n.select-text {\n flex: 1;\n min-width: 16px;\n font-size: inherit;\n text-overflow: ellipsis;\n white-space: inherit;\n overflow: hidden;\n}\n\n.select-wrapper {\n -webkit-padding-start: var(--padding-start);\n padding-inline-start: var(--padding-start);\n -webkit-padding-end: var(--padding-end);\n padding-inline-end: var(--padding-end);\n padding-top: var(--padding-top);\n padding-bottom: var(--padding-bottom);\n border-radius: var(--border-radius);\n display: flex;\n position: relative;\n flex-grow: 1;\n align-items: center;\n justify-content: space-between;\n height: inherit;\n /**\n * This allows developers to set the height\n * on the host of the element but still have\n * the label take up the full height\n * of the parent.\n */\n min-height: inherit;\n transition: background-color 15ms linear;\n background: var(--background);\n line-height: normal;\n cursor: inherit;\n box-sizing: border-box;\n}\n\n.select-wrapper .select-placeholder {\n /**\n * When the floating label appears on top of the\n * select, we need to fade the text out so that the\n * label does not overlap with the placeholder.\n */\n transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.select-wrapper-inner {\n display: flex;\n align-items: center;\n overflow: hidden;\n}\n\n:host(.select-label-placement-stacked) .select-wrapper-inner,\n:host(.select-label-placement-floating) .select-wrapper-inner {\n /**\n * When using a stacked/floating label, the inner wrapper is\n * stacked vertically under the label container. This line\n * ensures that the inner wrapper fills all the remaining height\n * of the component.\n */\n flex-grow: 1;\n}\n\n:host(.ion-touched.ion-invalid) {\n --highlight-color: var(--highlight-color-invalid);\n}\n\n/**\n * The component highlight is only shown\n * on focus, so we can safely set the valid\n * color state when touched/valid. If we\n * set it when .has-focus is present then\n * the highlight color would change\n * from the valid color to the component's\n * color during the transition after the\n * component loses focus.\n */\n:host(.ion-valid) {\n --highlight-color: var(--highlight-color-valid);\n}\n\n.select-bottom {\n /**\n * The bottom content should take on the start and end\n * padding so it is always aligned with either the label\n * or the start of the text select.\n */\n -webkit-padding-start: var(--padding-start);\n padding-inline-start: var(--padding-start);\n -webkit-padding-end: var(--padding-end);\n padding-inline-end: var(--padding-end);\n padding-top: 5px;\n padding-bottom: 0;\n display: flex;\n justify-content: space-between;\n border-top: var(--border-width) var(--border-style) var(--border-color);\n font-size: 0.75rem;\n white-space: normal;\n}\n\n/**\n * If the select has a validity state, the\n * border and label should reflect that as a color.\n * The invalid state should show if the select is\n * invalid and has already been touched.\n * The valid state should show if the select\n * is valid, has already been touched, and\n * is currently focused. Do not show the valid\n * highlight when the select is blurred.\n */\n:host(.has-focus.ion-valid),\n:host(.select-expanded.ion-valid),\n:host(.ion-touched.ion-invalid),\n:host(.select-expanded.ion-touched.ion-invalid) {\n --border-color: var(--highlight-color);\n}\n\n/**\n * Error text should only be shown when .ion-invalid is\n * present on the select. Otherwise the helper text should\n * be shown.\n */\n.select-bottom .error-text {\n display: none;\n color: var(--highlight-color-invalid);\n}\n\n.select-bottom .helper-text {\n display: block;\n color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));\n}\n\n:host(.ion-touched.ion-invalid) .select-bottom .error-text {\n display: block;\n}\n\n:host(.ion-touched.ion-invalid) .select-bottom .helper-text {\n display: none;\n}\n\n.label-text-wrapper {\n /**\n * This causes the label to take up\n * the entire height of its container\n * while still keeping the text centered.\n */\n display: flex;\n align-items: center;\n /**\n * Label text should not extend\n * beyond the bounds of the select.\n * However, we do not set the max\n * width to 100% because then\n * only the label would show and users\n * would not be able to see what they are typing.\n */\n max-width: 200px;\n transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);\n /**\n * This ensures that double tapping this text\n * clicks the <label> and focuses the input\n * when a screen reader is enabled.\n */\n pointer-events: none;\n}\n\n/**\n * We need to use two elements instead of\n * one. The .label-text-wrapper is responsible\n * for centering the label text vertically regardless\n * of the input height using flexbox.\n *\n * The .label-text element is responsible for controlling\n * overflow when label-placement=\"fixed\".\n * We want the ellipses to show up when the\n * fixed label overflows, but text-overflow: ellipsis only\n * works on block-level elements. A flex item is\n * considered blockified (https://www.w3.org/TR/css-display-3/#blockify).\n */\n.label-text,\n::slotted([slot=label]) {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n/**\n * If no label text is placed into the slot\n * then the element should be hidden otherwise\n * there will be additional margins added.\n */\n.label-text-wrapper-hidden,\n.select-outline-notch-hidden {\n display: none;\n}\n\n.native-wrapper {\n display: flex;\n align-items: center;\n /**\n * When the floating label appears on top of the\n * input, we need to fade the input out so that the\n * label does not overlap with the placeholder.\n */\n transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);\n /**\n * This ensures that the .select-text gets\n * truncated with ellipses when the text is\n * too long for the screen.\n */\n overflow: hidden;\n}\n\n:host(.select-justify-space-between) .select-wrapper {\n justify-content: space-between;\n}\n\n:host(.select-justify-start) .select-wrapper {\n justify-content: start;\n}\n\n:host(.select-justify-end) .select-wrapper {\n justify-content: end;\n}\n\n/**\n * Label is on the left of the input in LTR and\n * on the right in RTL.\n */\n:host(.select-label-placement-start) .select-wrapper {\n flex-direction: row;\n}\n\n:host(.select-label-placement-start) .label-text-wrapper {\n /**\n * The margin between the label and\n * the select should be on the end\n * when the label sits at the start.\n */\n -webkit-margin-start: 0;\n margin-inline-start: 0;\n -webkit-margin-end: 16px;\n margin-inline-end: 16px;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n/**\n * Label is on the right of the select in LTR and\n * on the left in RTL.\n */\n:host(.select-label-placement-end) .select-wrapper {\n flex-direction: row-reverse;\n}\n\n/**\n * The margin between the label and\n * the select should be on the start\n * when the label sits at the end.\n */\n:host(.select-label-placement-end) .label-text-wrapper {\n -webkit-margin-start: 16px;\n margin-inline-start: 16px;\n -webkit-margin-end: 0;\n margin-inline-end: 0;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n:host(.select-label-placement-fixed) .label-text-wrapper {\n /**\n * The margin between the label and\n * the select should be on the end\n * when the label sits at the start.\n */\n -webkit-margin-start: 0;\n margin-inline-start: 0;\n -webkit-margin-end: 16px;\n margin-inline-end: 16px;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n/**\n * Label is on the left of the select in LTR and\n * on the right in RTL. Label also has a fixed width.\n */\n:host(.select-label-placement-fixed) .label-text-wrapper {\n flex: 0 0 100px;\n width: 100px;\n min-width: 100px;\n max-width: 200px;\n}\n\n/**\n * Stacked: Label sits above the select and is scaled down.\n * Floating: Label sits over the select when the select has no\n * value and is blurred. Label sits above the input and is scaled\n * down when the select is focused or has a value.\n *\n */\n:host(.select-label-placement-stacked) .select-wrapper,\n:host(.select-label-placement-floating) .select-wrapper {\n flex-direction: column;\n align-items: start;\n}\n\n/**\n * Ensures that the label animates\n * up and to the left in LTR or\n * up and to the right in RTL.\n */\n:host(.select-label-placement-stacked) .label-text-wrapper,\n:host(.select-label-placement-floating) .label-text-wrapper {\n max-width: 100%;\n}\n\n:host(.select-ltr.select-label-placement-stacked) .label-text-wrapper,\n:host(.select-ltr.select-label-placement-floating) .label-text-wrapper {\n transform-origin: left top;\n}\n\n:host(.select-rtl.select-label-placement-stacked) .label-text-wrapper,\n:host(.select-rtl.select-label-placement-floating) .label-text-wrapper {\n transform-origin: right top;\n}\n\n/**\n * Ensures the select does not\n * overlap the label.\n * Also ensure that the native wrapper\n * takes up the remaining available height and width.\n */\n:host(.select-label-placement-stacked) .native-wrapper,\n:host(.select-label-placement-floating) .native-wrapper {\n margin-left: 0;\n margin-right: 0;\n margin-top: 1px;\n margin-bottom: 0;\n flex-grow: 1;\n width: 100%;\n}\n\n/**\n * This makes the label sit over the select\n * when the select is blurred and has no value.\n * The label should not sit over the select if the\n * select has a placeholder.\n * Note: This is different from what ion-input does\n * because the activating the select causes an overlay\n * to appear. This makes it hard to read the placeholder.\n * With ion-input, the input just focuses and the placeholder\n * is still easy to read.\n */\n:host(.select-label-placement-floating) .label-text-wrapper {\n transform: translateY(100%) scale(1);\n}\n\n/**\n * The placeholder should be hidden when the label\n * is on top of the select. This prevents the label\n * from overlapping any placeholder value.\n *\n * TODO(FW-5592): Remove :not(.label-floating) piece\n */\n:host(.select-label-placement-floating:not(.label-floating)) .native-wrapper .select-placeholder {\n opacity: 0;\n}\n\n/**\n * We don't use .label-floating here because that would\n * also include the case where the label is floating due\n * to content in the start/end slot. We want the opacity\n * to remain at the default in this case, since the select\n * isn't being actively interacted with.\n *\n * TODO(FW-5592): Change entire selector to:\n * :host(.label-floating.select-label-placement-floating) .native-wrapper .select-placeholder\n */\n:host(.select-expanded.select-label-placement-floating) .native-wrapper .select-placeholder,\n:host(.has-focus.select-label-placement-floating) .native-wrapper .select-placeholder,\n:host(.has-value.select-label-placement-floating) .native-wrapper .select-placeholder {\n opacity: 1;\n}\n\n/**\n * This makes the label sit above the input.\n */\n:host(.label-floating) .label-text-wrapper {\n transform: translateY(50%) scale(0.75);\n /**\n * Label text should not extend\n * beyond the bounds of the input.\n */\n max-width: calc(100% / 0.75);\n}\n\n::slotted([slot=start]), ::slotted([slot=end]) {\n /**\n * Prevent the slots from shrinking when the label and/or\n * selected item text is long enough to fill the rest of\n * the container.\n */\n flex-shrink: 0;\n}\n\n::slotted([slot=start]:last-of-type) {\n margin-inline-end: 16px;\n margin-inline-start: 0;\n}\n\n::slotted([slot=end]:first-of-type) {\n margin-inline-start: 16px;\n margin-inline-end: 0;\n}\n\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n --border-width: 0.55px;\n --border-color: var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));\n --highlight-height: 0px;\n}\n\n.select-icon {\n width: 1.125rem;\n height: 1.125rem;\n color: var(--ion-color-step-650, var(--ion-text-color-step-350, #595959));\n}\n\n:host(.select-label-placement-stacked) .select-wrapper-inner,\n:host(.select-label-placement-floating) .select-wrapper-inner {\n width: calc(100% - 1.125rem - 4px);\n}\n\n:host(.select-disabled) {\n opacity: 0.3;\n}\n\n/**\n * Slotted buttons have a lot of default padding that can\n * cause them to look misaligned from other pieces such\n * as the control's label, especially when using a clear\n * fill. We also make them circular to ensure that non-\n * clear buttons and the focus/hover state on clear ones\n * don't look too crowded.\n */\n::slotted(ion-button[slot=start].button-has-icon-only),\n::slotted(ion-button[slot=end].button-has-icon-only) {\n --border-radius: 50%;\n --padding-start: 0;\n --padding-end: 0;\n --padding-top: 0;\n --padding-bottom: 0;\n aspect-ratio: 1;\n}","/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n /**\n * @prop --background: Background of the select\n * @prop --padding-top: Top padding of the select\n * @prop --padding-end: Right padding if direction is left-to-right, and left padding if direction is right-to-left of the select\n * @prop --padding-bottom: Bottom padding of the select\n * @prop --padding-start: Left padding if direction is left-to-right, and right padding if direction is right-to-left of the select\n *\n * @prop --placeholder-color: Color of the select placeholder text\n * @prop --placeholder-opacity: Opacity of the select placeholder text\n *\n * @prop --highlight-height: The height of the highlight on the select. Only applies to md mode.\n * @prop --highlight-color-focused: The color of the highlight on the select when focused\n * @prop --highlight-color-invalid: The color of the highlight on the select when invalid\n * @prop --highlight-color-valid: The color of the highlight on the select when valid\n *\n * @prop --border-color: Color of the select border\n * @prop --border-radius: Radius of the select border. A large radius may display unevenly when using fill=\"outline\"; if needed, use shape=\"round\" instead or increase --padding-start.\n * @prop --border-style: Style of the select border\n * @prop --border-width: Width of the select border\n *\n * @prop --ripple-color: The color of the ripple effect on MD mode.\n */\n --padding-top: 0px;\n --padding-end: 0px;\n --padding-bottom: 0px;\n --padding-start: 0px;\n --placeholder-color: currentColor;\n --placeholder-opacity: var(--ion-placeholder-opacity, 0.6);\n --background: transparent;\n --border-style: solid;\n --highlight-color-focused: var(--ion-color-primary, #0054e9);\n --highlight-color-valid: var(--ion-color-success, #2dd55b);\n --highlight-color-invalid: var(--ion-color-danger, #c5000f);\n /**\n * This is a private API that is used to switch\n * out the highlight color based on the state\n * of the component without having to write\n * different selectors for different fill variants.\n */\n --highlight-color: var(--highlight-color-focused);\n display: block;\n position: relative;\n width: 100%;\n min-height: 44px;\n font-family: var(--ion-font-family, inherit);\n white-space: nowrap;\n cursor: pointer;\n z-index: 2;\n}\n\n/**\n * Since the label sits on top of the element,\n * the component needs to be taller otherwise the\n * label will appear too close to the select text.\n */\n:host(.select-label-placement-floating),\n:host(.select-label-placement-stacked) {\n min-height: 56px;\n}\n\n:host(.ion-color) {\n --highlight-color-focused: var(--ion-color-base);\n}\n\n:host(.in-item) {\n flex: 1 1 0;\n}\n\n:host(.select-disabled) {\n pointer-events: none;\n}\n\n:host(.has-focus) button {\n border: 2px solid #5e9ed6;\n}\n\n/**\n * Select can be slotted\n * in components such as item and\n * toolbar which is why we do not\n * limit the below behavior to just ion-item.\n */\n:host([slot=start]),\n:host([slot=end]) {\n flex: initial;\n width: auto;\n}\n\n.select-placeholder {\n color: var(--placeholder-color);\n opacity: var(--placeholder-opacity);\n}\n\nbutton {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n padding: 0;\n border: 0;\n outline: 0;\n clip: rect(0 0 0 0);\n opacity: 0;\n overflow: hidden;\n -webkit-appearance: none;\n -moz-appearance: none;\n}\n\n.select-icon {\n -webkit-margin-start: 4px;\n margin-inline-start: 4px;\n -webkit-margin-end: 0;\n margin-inline-end: 0;\n margin-top: 0;\n margin-bottom: 0;\n position: relative;\n /**\n * Prevent the icon from shrinking when the label and/or\n * selected item text is long enough to fill the rest of\n * the container.\n */\n flex-shrink: 0;\n}\n\n/**\n * Ensure that the select icon has\n * the correct color contrast when\n * used inside of an item.\n */\n:host(.in-item-color) .select-icon {\n color: inherit;\n}\n\n/**\n * The select icon should be centered with\n * the entire container not just the control\n * with floating/stacked labels.\n */\n:host(.select-label-placement-stacked) .select-icon,\n:host(.select-label-placement-floating) .select-icon {\n position: absolute;\n height: 100%;\n}\n\n/**\n * This positions the icon at the correct\n * edge of the component with LTR and RTL\n * text directions. The position mixin cannot be\n * used here because the icon is in the Shadow DOM.\n */\n:host(.select-ltr.select-label-placement-stacked) .select-icon,\n:host(.select-ltr.select-label-placement-floating) .select-icon {\n right: var(--padding-end, 0);\n}\n\n:host(.select-rtl.select-label-placement-stacked) .select-icon,\n:host(.select-rtl.select-label-placement-floating) .select-icon {\n left: var(--padding-start, 0);\n}\n\n.select-text {\n flex: 1;\n min-width: 16px;\n font-size: inherit;\n text-overflow: ellipsis;\n white-space: inherit;\n overflow: hidden;\n}\n\n.select-wrapper {\n -webkit-padding-start: var(--padding-start);\n padding-inline-start: var(--padding-start);\n -webkit-padding-end: var(--padding-end);\n padding-inline-end: var(--padding-end);\n padding-top: var(--padding-top);\n padding-bottom: var(--padding-bottom);\n border-radius: var(--border-radius);\n display: flex;\n position: relative;\n flex-grow: 1;\n align-items: center;\n justify-content: space-between;\n height: inherit;\n /**\n * This allows developers to set the height\n * on the host of the element but still have\n * the label take up the full height\n * of the parent.\n */\n min-height: inherit;\n transition: background-color 15ms linear;\n background: var(--background);\n line-height: normal;\n cursor: inherit;\n box-sizing: border-box;\n}\n\n.select-wrapper .select-placeholder {\n /**\n * When the floating label appears on top of the\n * select, we need to fade the text out so that the\n * label does not overlap with the placeholder.\n */\n transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n.select-wrapper-inner {\n display: flex;\n align-items: center;\n overflow: hidden;\n}\n\n:host(.select-label-placement-stacked) .select-wrapper-inner,\n:host(.select-label-placement-floating) .select-wrapper-inner {\n /**\n * When using a stacked/floating label, the inner wrapper is\n * stacked vertically under the label container. This line\n * ensures that the inner wrapper fills all the remaining height\n * of the component.\n */\n flex-grow: 1;\n}\n\n:host(.ion-touched.ion-invalid) {\n --highlight-color: var(--highlight-color-invalid);\n}\n\n/**\n * The component highlight is only shown\n * on focus, so we can safely set the valid\n * color state when touched/valid. If we\n * set it when .has-focus is present then\n * the highlight color would change\n * from the valid color to the component's\n * color during the transition after the\n * component loses focus.\n */\n:host(.ion-valid) {\n --highlight-color: var(--highlight-color-valid);\n}\n\n.select-bottom {\n /**\n * The bottom content should take on the start and end\n * padding so it is always aligned with either the label\n * or the start of the text select.\n */\n -webkit-padding-start: var(--padding-start);\n padding-inline-start: var(--padding-start);\n -webkit-padding-end: var(--padding-end);\n padding-inline-end: var(--padding-end);\n padding-top: 5px;\n padding-bottom: 0;\n display: flex;\n justify-content: space-between;\n border-top: var(--border-width) var(--border-style) var(--border-color);\n font-size: 0.75rem;\n white-space: normal;\n}\n\n/**\n * If the select has a validity state, the\n * border and label should reflect that as a color.\n * The invalid state should show if the select is\n * invalid and has already been touched.\n * The valid state should show if the select\n * is valid, has already been touched, and\n * is currently focused. Do not show the valid\n * highlight when the select is blurred.\n */\n:host(.has-focus.ion-valid),\n:host(.select-expanded.ion-valid),\n:host(.ion-touched.ion-invalid),\n:host(.select-expanded.ion-touched.ion-invalid) {\n --border-color: var(--highlight-color);\n}\n\n/**\n * Error text should only be shown when .ion-invalid is\n * present on the select. Otherwise the helper text should\n * be shown.\n */\n.select-bottom .error-text {\n display: none;\n color: var(--highlight-color-invalid);\n}\n\n.select-bottom .helper-text {\n display: block;\n color: var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));\n}\n\n:host(.ion-touched.ion-invalid) .select-bottom .error-text {\n display: block;\n}\n\n:host(.ion-touched.ion-invalid) .select-bottom .helper-text {\n display: none;\n}\n\n.label-text-wrapper {\n /**\n * This causes the label to take up\n * the entire height of its container\n * while still keeping the text centered.\n */\n display: flex;\n align-items: center;\n /**\n * Label text should not extend\n * beyond the bounds of the select.\n * However, we do not set the max\n * width to 100% because then\n * only the label would show and users\n * would not be able to see what they are typing.\n */\n max-width: 200px;\n transition: color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1);\n /**\n * This ensures that double tapping this text\n * clicks the <label> and focuses the input\n * when a screen reader is enabled.\n */\n pointer-events: none;\n}\n\n/**\n * We need to use two elements instead of\n * one. The .label-text-wrapper is responsible\n * for centering the label text vertically regardless\n * of the input height using flexbox.\n *\n * The .label-text element is responsible for controlling\n * overflow when label-placement=\"fixed\".\n * We want the ellipses to show up when the\n * fixed label overflows, but text-overflow: ellipsis only\n * works on block-level elements. A flex item is\n * considered blockified (https://www.w3.org/TR/css-display-3/#blockify).\n */\n.label-text,\n::slotted([slot=label]) {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n\n/**\n * If no label text is placed into the slot\n * then the element should be hidden otherwise\n * there will be additional margins added.\n */\n.label-text-wrapper-hidden,\n.select-outline-notch-hidden {\n display: none;\n}\n\n.native-wrapper {\n display: flex;\n align-items: center;\n /**\n * When the floating label appears on top of the\n * input, we need to fade the input out so that the\n * label does not overlap with the placeholder.\n */\n transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);\n /**\n * This ensures that the .select-text gets\n * truncated with ellipses when the text is\n * too long for the screen.\n */\n overflow: hidden;\n}\n\n:host(.select-justify-space-between) .select-wrapper {\n justify-content: space-between;\n}\n\n:host(.select-justify-start) .select-wrapper {\n justify-content: start;\n}\n\n:host(.select-justify-end) .select-wrapper {\n justify-content: end;\n}\n\n/**\n * Label is on the left of the input in LTR and\n * on the right in RTL.\n */\n:host(.select-label-placement-start) .select-wrapper {\n flex-direction: row;\n}\n\n:host(.select-label-placement-start) .label-text-wrapper {\n /**\n * The margin between the label and\n * the select should be on the end\n * when the label sits at the start.\n */\n -webkit-margin-start: 0;\n margin-inline-start: 0;\n -webkit-margin-end: 16px;\n margin-inline-end: 16px;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n/**\n * Label is on the right of the select in LTR and\n * on the left in RTL.\n */\n:host(.select-label-placement-end) .select-wrapper {\n flex-direction: row-reverse;\n}\n\n/**\n * The margin between the label and\n * the select should be on the start\n * when the label sits at the end.\n */\n:host(.select-label-placement-end) .label-text-wrapper {\n -webkit-margin-start: 16px;\n margin-inline-start: 16px;\n -webkit-margin-end: 0;\n margin-inline-end: 0;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n:host(.select-label-placement-fixed) .label-text-wrapper {\n /**\n * The margin between the label and\n * the select should be on the end\n * when the label sits at the start.\n */\n -webkit-margin-start: 0;\n margin-inline-start: 0;\n -webkit-margin-end: 16px;\n margin-inline-end: 16px;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n/**\n * Label is on the left of the select in LTR and\n * on the right in RTL. Label also has a fixed width.\n */\n:host(.select-label-placement-fixed) .label-text-wrapper {\n flex: 0 0 100px;\n width: 100px;\n min-width: 100px;\n max-width: 200px;\n}\n\n/**\n * Stacked: Label sits above the select and is scaled down.\n * Floating: Label sits over the select when the select has no\n * value and is blurred. Label sits above the input and is scaled\n * down when the select is focused or has a value.\n *\n */\n:host(.select-label-placement-stacked) .select-wrapper,\n:host(.select-label-placement-floating) .select-wrapper {\n flex-direction: column;\n align-items: start;\n}\n\n/**\n * Ensures that the label animates\n * up and to the left in LTR or\n * up and to the right in RTL.\n */\n:host(.select-label-placement-stacked) .label-text-wrapper,\n:host(.select-label-placement-floating) .label-text-wrapper {\n max-width: 100%;\n}\n\n:host(.select-ltr.select-label-placement-stacked) .label-text-wrapper,\n:host(.select-ltr.select-label-placement-floating) .label-text-wrapper {\n transform-origin: left top;\n}\n\n:host(.select-rtl.select-label-placement-stacked) .label-text-wrapper,\n:host(.select-rtl.select-label-placement-floating) .label-text-wrapper {\n transform-origin: right top;\n}\n\n/**\n * Ensures the select does not\n * overlap the label.\n * Also ensure that the native wrapper\n * takes up the remaining available height and width.\n */\n:host(.select-label-placement-stacked) .native-wrapper,\n:host(.select-label-placement-floating) .native-wrapper {\n margin-left: 0;\n margin-right: 0;\n margin-top: 1px;\n margin-bottom: 0;\n flex-grow: 1;\n width: 100%;\n}\n\n/**\n * This makes the label sit over the select\n * when the select is blurred and has no value.\n * The label should not sit over the select if the\n * select has a placeholder.\n * Note: This is different from what ion-input does\n * because the activating the select causes an overlay\n * to appear. This makes it hard to read the placeholder.\n * With ion-input, the input just focuses and the placeholder\n * is still easy to read.\n */\n:host(.select-label-placement-floating) .label-text-wrapper {\n transform: translateY(100%) scale(1);\n}\n\n/**\n * The placeholder should be hidden when the label\n * is on top of the select. This prevents the label\n * from overlapping any placeholder value.\n *\n * TODO(FW-5592): Remove :not(.label-floating) piece\n */\n:host(.select-label-placement-floating:not(.label-floating)) .native-wrapper .select-placeholder {\n opacity: 0;\n}\n\n/**\n * We don't use .label-floating here because that would\n * also include the case where the label is floating due\n * to content in the start/end slot. We want the opacity\n * to remain at the default in this case, since the select\n * isn't being actively interacted with.\n *\n * TODO(FW-5592): Change entire selector to:\n * :host(.label-floating.select-label-placement-floating) .native-wrapper .select-placeholder\n */\n:host(.select-expanded.select-label-placement-floating) .native-wrapper .select-placeholder,\n:host(.has-focus.select-label-placement-floating) .native-wrapper .select-placeholder,\n:host(.has-value.select-label-placement-floating) .native-wrapper .select-placeholder {\n opacity: 1;\n}\n\n/**\n * This makes the label sit above the input.\n */\n:host(.label-floating) .label-text-wrapper {\n transform: translateY(50%) scale(0.75);\n /**\n * Label text should not extend\n * beyond the bounds of the input.\n */\n max-width: calc(100% / 0.75);\n}\n\n::slotted([slot=start]), ::slotted([slot=end]) {\n /**\n * Prevent the slots from shrinking when the label and/or\n * selected item text is long enough to fill the rest of\n * the container.\n */\n flex-shrink: 0;\n}\n\n::slotted([slot=start]:last-of-type) {\n margin-inline-end: 16px;\n margin-inline-start: 0;\n}\n\n::slotted([slot=end]:first-of-type) {\n margin-inline-start: 16px;\n margin-inline-end: 0;\n}\n\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host(.select-fill-solid) {\n --background: var(--ion-color-step-50, var(--ion-background-color-step-50, #f2f2f2));\n --border-color: var(--ion-color-step-500, var(--ion-background-color-step-500, gray));\n --border-radius: 4px;\n --padding-start: 16px;\n --padding-end: 16px;\n min-height: 56px;\n}\n\n/**\n * The solid fill style has a border\n * at the bottom of the select wrapper.\n * As a result, the border on the \"bottom\n * content\" is not needed.\n */\n:host(.select-fill-solid) .select-wrapper {\n border-bottom: var(--border-width) var(--border-style) var(--border-color);\n}\n\n/**\n * If the select has a validity state, the\n * border should reflect that as a color.\n */\n:host(.select-expanded.select-fill-solid.ion-valid),\n:host(.has-focus.select-fill-solid.ion-valid),\n:host(.select-fill-solid.ion-touched.ion-invalid) {\n --border-color: var(--highlight-color);\n}\n\n/**\n * The bottom content should never have\n * a border with the solid style.\n */\n:host(.select-fill-solid) .select-bottom {\n border-top: none;\n}\n\n/**\n * Background and border should be\n * slightly darker on hover.\n */\n@media (any-hover: hover) {\n :host(.select-fill-solid:hover) {\n --background: var(--ion-color-step-100, var(--ion-background-color-step-100, #e6e6e6));\n --border-color: var(--ion-color-step-750, var(--ion-background-color-step-750, #404040));\n }\n}\n/**\n * Background and border should be\n * much darker on focus.\n */\n:host(.select-fill-solid.select-expanded),\n:host(.select-fill-solid.has-focus) {\n --background: var(--ion-color-step-150, var(--ion-background-color-step-150, #d9d9d9));\n --border-color: var(--highlight-color);\n}\n\n:host(.select-fill-solid) .select-wrapper {\n /**\n * Only the top left and top right borders should.\n * have a radius when using a solid fill.\n */\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: var(--border-radius);\n border-end-end-radius: 0px;\n border-end-start-radius: 0px;\n}\n\n:host(.label-floating.select-fill-solid) .label-text-wrapper {\n /**\n * Label text should not extend\n * beyond the bounds of the select.\n */\n max-width: calc(100% / 0.75);\n}\n\n/**\n * When the select has a solid fill and\n * in an item, then the icon should\n * take on the highlight color.\n */\n:host(.in-item.select-expanded.select-fill-solid) .select-wrapper .select-icon,\n:host(.in-item.has-focus.select-fill-solid) .select-wrapper .select-icon,\n:host(.in-item.has-focus.ion-valid.select-fill-solid) .select-wrapper .select-icon,\n:host(.in-item.ion-touched.ion-invalid.select-fill-solid) .select-wrapper .select-icon {\n color: var(--highlight-color);\n}\n\n/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host(.select-fill-outline) {\n --border-color: var(--ion-color-step-300, var(--ion-background-color-step-300, #b3b3b3));\n --border-radius: 4px;\n --padding-start: 16px;\n --padding-end: 16px;\n min-height: 56px;\n}\n\n:host(.select-fill-outline.select-shape-round) {\n --border-radius: 28px;\n --padding-start: 32px;\n --padding-end: 32px;\n}\n\n/**\n * If the select has a validity state, the\n * border should reflect that as a color.\n */\n:host(.has-focus.select-fill-outline.ion-valid),\n:host(.select-fill-outline.ion-touched.ion-invalid) {\n --border-color: var(--highlight-color);\n}\n\n/**\n * Border should be\n * slightly darker on hover.\n */\n@media (any-hover: hover) {\n :host(.select-fill-outline:hover) {\n --border-color: var(--ion-color-step-750, var(--ion-background-color-step-750, #404040));\n }\n}\n/**\n * The border should get thicker\n * and take on component color when\n * the select is focused.\n */\n:host(.select-fill-outline.select-expanded),\n:host(.select-fill-outline.has-focus) {\n --border-width: var(--highlight-height);\n --border-color: var(--highlight-color);\n}\n\n/**\n * The bottom content should never have\n * a border with the outline style.\n */\n:host(.select-fill-outline) .select-bottom {\n border-top: none;\n}\n\n/**\n * Outline selects do not have a bottom border.\n * Instead, they have a border that wraps the\n * select + label.\n */\n:host(.select-fill-outline) .select-wrapper {\n border-bottom: none;\n}\n\n:host(.select-ltr.select-fill-outline.select-label-placement-stacked) .label-text-wrapper,\n:host(.select-ltr.select-fill-outline.select-label-placement-floating) .label-text-wrapper {\n transform-origin: left top;\n}\n\n:host(.select-rtl.select-fill-outline.select-label-placement-stacked) .label-text-wrapper,\n:host(.select-rtl.select-fill-outline.select-label-placement-floating) .label-text-wrapper {\n transform-origin: right top;\n}\n\n:host(.select-fill-outline.select-label-placement-stacked) .label-text-wrapper,\n:host(.select-fill-outline.select-label-placement-floating) .label-text-wrapper {\n position: absolute;\n /**\n * Label text should not extend\n * beyond the bounds of the select.\n */\n max-width: calc(100% - var(--padding-start) - var(--padding-end));\n}\n\n/**\n * The label should appear on top of an outline\n * container that overlaps it so it is always clickable.\n */\n:host(.select-fill-outline) .label-text-wrapper,\n:host(.select-fill-outline) .label-text-wrapper {\n position: relative;\n z-index: 1;\n}\n\n/**\n * This makes the label sit above the select.\n */\n:host(.label-floating.select-fill-outline) .label-text-wrapper {\n transform: translateY(-32%) scale(0.75);\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n margin-bottom: 0;\n /**\n * Label text should not extend\n * beyond the bounds of the select.\n */\n max-width: calc((100% - var(--padding-start) - var(--padding-end) - 8px) / 0.75);\n}\n\n/**\n * This ensures that the select does not\n * overlap the floating label while still\n * remaining visually centered.\n */\n:host(.select-fill-outline.select-label-placement-stacked) select,\n:host(.select-fill-outline.select-label-placement-floating) select {\n margin-left: 0;\n margin-right: 0;\n margin-top: 6px;\n margin-bottom: 6px;\n}\n\n:host(.select-fill-outline) .select-outline-container {\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n display: flex;\n position: absolute;\n width: 100%;\n height: 100%;\n}\n\n:host(.select-fill-outline) .select-outline-start,\n:host(.select-fill-outline) .select-outline-end {\n pointer-events: none;\n}\n\n/**\n * By default, each piece of the container should have\n * a top and bottom border. This gives the appearance\n * of a unified container with a border.\n */\n:host(.select-fill-outline) .select-outline-start,\n:host(.select-fill-outline) .select-outline-notch,\n:host(.select-fill-outline) .select-outline-end {\n border-top: var(--border-width) var(--border-style) var(--border-color);\n border-bottom: var(--border-width) var(--border-style) var(--border-color);\n /**\n * `border-box` is applied in the global\n * Ionic stylesheet, but since this is in\n * the Shadow DOM, these elements do not\n * receive the global style. The outline\n * pieces for `ion-input` do because that\n * component is in the Light DOM.\n */\n box-sizing: border-box;\n}\n\n/**\n * Ensures long labels do not cause the notch to flow\n * out of bounds.\n */\n:host(.select-fill-outline) .select-outline-notch {\n max-width: calc(100% - var(--padding-start) - var(--padding-end));\n}\n\n/**\n * This element ensures that the notch used\n * the size of the scaled text so that the\n * border cut out is the correct width.\n * The text in this element should not\n * be interactive.\n */\n:host(.select-fill-outline) .notch-spacer {\n /**\n * We need $select-md-floating-label-padding of padding on the right.\n * However, we also subtracted $select-md-floating-label-padding from\n * the width of .select-outline-start\n * to create space, so we need to take\n * that into consideration here.\n */\n -webkit-padding-end: 8px;\n padding-inline-end: 8px;\n font-size: calc(1em * 0.75);\n opacity: 0;\n pointer-events: none;\n}\n\n:host(.select-fill-outline) .select-outline-start {\n -webkit-border-start: var(--border-width) var(--border-style) var(--border-color);\n border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n}\n\n:host(.select-fill-outline) .select-outline-start {\n border-start-start-radius: var(--border-radius);\n border-start-end-radius: 0px;\n border-end-end-radius: 0px;\n border-end-start-radius: var(--border-radius);\n}\n\n:host(.select-fill-outline) .select-outline-start {\n /**\n * There should be spacing between the translated text\n * and .select-outline-start. However, we can't add this\n * spacing onto the notch because it would cause the\n * label to look like it is not aligned with the\n * text select. Instead, we subtract a few pixels from\n * this element.\n */\n width: calc(var(--padding-start) - 4px);\n}\n\n:host(.select-fill-outline) .select-outline-end {\n -webkit-border-end: var(--border-width) var(--border-style) var(--border-color);\n border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n}\n\n:host(.select-fill-outline) .select-outline-end {\n border-start-start-radius: 0px;\n border-start-end-radius: var(--border-radius);\n border-end-end-radius: var(--border-radius);\n border-end-start-radius: 0px;\n}\n\n:host(.select-fill-outline) .select-outline-end {\n /**\n * The ending outline fragment\n * should take up the remaining free space.\n */\n flex-grow: 1;\n}\n\n/**\n * When the select either has focus or a value,\n * there should be a \"cut out\" at the top for\n * the floating/stacked label. We simulate this \"cut out\"\n * by removing the top border from the notch fragment.\n */\n:host(.label-floating.select-fill-outline) .select-outline-notch {\n border-top: none;\n}\n\n/**\n * When the select has an outline fill and\n * in an item, then the icon should\n * take on the highlight color.\n */\n:host(.in-item.select-expanded.select-fill-outline) .select-wrapper .select-icon,\n:host(.in-item.has-focus.select-fill-outline) .select-wrapper .select-icon,\n:host(.in-item.has-focus.ion-valid.select-fill-outline) .select-wrapper .select-icon,\n:host(.in-item.ion-touched.ion-invalid.select-fill-outline) .select-wrapper .select-icon {\n color: var(--highlight-color);\n}\n\n:host {\n --border-width: 1px;\n --border-color: var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, var(--ion-background-color-step-150, rgba(0, 0, 0, 0.13)))));\n --highlight-height: 2px;\n}\n\n/**\n * When the select is focused the label should\n * take on the highlight color. This should\n * only apply to floating or stacked labels.\n */\n:host(.select-label-placement-floating.select-expanded) .label-text-wrapper,\n:host(.select-label-placement-floating.has-focus) .label-text-wrapper,\n:host(.select-label-placement-stacked.select-expanded) .label-text-wrapper,\n:host(.select-label-placement-stacked.has-focus) .label-text-wrapper {\n color: var(--highlight-color);\n}\n\n:host(.has-focus.select-label-placement-floating.ion-valid) .label-text-wrapper,\n:host(.select-label-placement-floating.ion-touched.ion-invalid) .label-text-wrapper,\n:host(.has-focus.select-label-placement-stacked.ion-valid) .label-text-wrapper,\n:host(.select-label-placement-stacked.ion-touched.ion-invalid) .label-text-wrapper {\n color: var(--highlight-color);\n}\n\n.select-highlight {\n bottom: -1px;\n position: absolute;\n width: 100%;\n height: var(--highlight-height);\n transform: scale(0);\n transition: transform 200ms;\n background: var(--highlight-color);\n}\n.select-highlight {\n inset-inline-start: 0;\n}\n\n:host(.select-expanded) .select-highlight,\n:host(.has-focus) .select-highlight {\n transform: scale(1);\n}\n\n/**\n * Adjust the highlight up by 1px\n * so it is not cut off by the\n * the item's line (if one is present).\n */\n:host(.in-item) .select-highlight {\n bottom: 0;\n}\n:host(.in-item) .select-highlight {\n inset-inline-start: 0;\n}\n\n.select-icon {\n width: 0.8125rem;\n transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);\n color: var(--ion-color-step-500, var(--ion-text-color-step-500, gray));\n}\n\n/**\n * This rotates the chevron icon\n * when the select is activated.\n * This should only happen on MD.\n */\n:host(.select-expanded:not(.has-expanded-icon)) .select-icon {\n transform: rotate(180deg);\n}\n\n/**\n * When the select has no fill and\n * in an item, then the icon should\n * be the same color as the text color.\n */\n:host(.in-item.select-expanded) .select-wrapper .select-icon,\n:host(.in-item.has-focus) .select-wrapper .select-icon,\n:host(.in-item.has-focus.ion-valid) .select-wrapper .select-icon,\n:host(.in-item.ion-touched.ion-invalid) .select-wrapper .select-icon {\n color: var(--ion-color-step-500, var(--ion-text-color-step-500, gray));\n}\n\n/**\n * When the select is focused the icon should\n * take on the highlight color.\n * The icon should also take on the highlight\n * color if there is a validation state.\n */\n:host(.select-expanded) .select-wrapper .select-icon,\n:host(.has-focus.ion-valid) .select-wrapper .select-icon,\n:host(.ion-touched.ion-invalid) .select-wrapper .select-icon,\n:host(.has-focus) .select-wrapper .select-icon {\n color: var(--highlight-color);\n}\n\n:host(.select-shape-round) {\n --border-radius: 16px;\n}\n\n:host(.select-label-placement-stacked) .select-wrapper-inner,\n:host(.select-label-placement-floating) .select-wrapper-inner {\n width: calc(100% - 0.8125rem - 4px);\n}\n\n:host(.select-disabled) {\n opacity: 0.38;\n}\n\n/**\n * Slotted buttons have a lot of default padding that can\n * cause them to look misaligned from other pieces such\n * as the control's label, especially when using a clear\n * fill. We also make them circular to ensure that non-\n * clear buttons and the focus/hover state on clear ones\n * don't look too crowded.\n */\n::slotted(ion-button[slot=start].button-has-icon-only),\n::slotted(ion-button[slot=end].button-has-icon-only) {\n --border-radius: 50%;\n --padding-start: 8px;\n --padding-end: 8px;\n --padding-top: 8px;\n --padding-bottom: 8px;\n aspect-ratio: 1;\n min-height: 40px;\n}","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { Build, Host, h, forceUpdate } from \"@stencil/core\";\nimport { compareOptions, createNotchController, isOptionSelected, checkInvalidState } from \"../../utils/forms/index\";\nimport { focusVisibleElement, renderHiddenInput, inheritAttributes } from \"../../utils/helpers\";\nimport { printIonWarning } from \"../../utils/logging/index\";\nimport { actionSheetController, alertController, popoverController, modalController } from \"../../utils/overlays\";\nimport { isRTL } from \"../../utils/rtl/index\";\nimport { createColorClasses, hostContext } from \"../../utils/theme\";\nimport { watchForOptions } from \"../../utils/watch-options\";\nimport { caretDownSharp, chevronExpand } from \"ionicons/icons\";\nimport { getIonMode } from \"../../global/ionic-global\";\n// TODO(FW-2832): types\n/**\n * @virtualProp {\"ios\" | \"md\"} mode - The mode determines which platform styles to use.\n *\n * @slot label - The label text to associate with the select. Use the `labelPlacement` property to control where the label is placed relative to the select. Use this if you need to render a label with custom HTML.\n * @slot start - Content to display at the leading edge of the select.\n * @slot end - Content to display at the trailing edge of the select.\n *\n * @part placeholder - The text displayed in the select when there is no value.\n * @part text - The displayed value of the select.\n * @part icon - The select icon container.\n * @part container - The container for the selected text or placeholder.\n * @part label - The label text describing the select.\n * @part supporting-text - Supporting text displayed beneath the select.\n * @part helper-text - Supporting text displayed beneath the select when the select is valid.\n * @part error-text - Supporting text displayed beneath the select when the select is invalid and touched.\n */\nexport class Select {\n constructor() {\n this.inputId = `ion-sel-${selectIds++}`;\n this.helperTextId = `${this.inputId}-helper-text`;\n this.errorTextId = `${this.inputId}-error-text`;\n this.inheritedAttributes = {};\n this.isExpanded = false;\n /**\n * The `hasFocus` state ensures the focus class is\n * added regardless of how the element is focused.\n * The `ion-focused` class only applies when focused\n * via tabbing, not by clicking.\n * The `has-focus` logic was added to ensure the class\n * is applied in both cases.\n */\n this.hasFocus = false;\n /**\n * Track validation state for proper aria-live announcements.\n */\n this.isInvalid = false;\n /**\n * The text to display on the cancel button.\n */\n this.cancelText = 'Cancel';\n /**\n * If `true`, the user cannot interact with the select.\n */\n this.disabled = false;\n /**\n * The interface the select should use: `action-sheet`, `popover`, `alert`, or `modal`.\n */\n this.interface = 'alert';\n /**\n * Any additional options that the `alert`, `action-sheet` or `popover` interface\n * can take. See the [ion-alert docs](./alert), the\n * [ion-action-sheet docs](./action-sheet), the\n * [ion-popover docs](./popover), and the [ion-modal docs](./modal) for the\n * create options for each interface.\n *\n * Note: `interfaceOptions` will not override `inputs` or `buttons` with the `alert` interface.\n */\n this.interfaceOptions = {};\n /**\n * Where to place the label relative to the select.\n * `\"start\"`: The label will appear to the left of the select in LTR and to the right in RTL.\n * `\"end\"`: The label will appear to the right of the select in LTR and to the left in RTL.\n * `\"floating\"`: The label will appear smaller and above the select when the select is focused or it has a value. Otherwise it will appear on top of the select.\n * `\"stacked\"`: The label will appear smaller and above the select regardless even when the select is blurred or has no value.\n * `\"fixed\"`: The label has the same behavior as `\"start\"` except it also has a fixed width. Long text will be truncated with ellipses (\"...\").\n * When using `\"floating\"` or `\"stacked\"` we recommend initializing the select with either a `value` or a `placeholder`.\n */\n this.labelPlacement = 'start';\n /**\n * If `true`, the select can accept multiple values.\n */\n this.multiple = false;\n /**\n * The name of the control, which is submitted with the form data.\n */\n this.name = this.inputId;\n /**\n * The text to display on the ok button.\n */\n this.okText = 'OK';\n /**\n * If true, screen readers will announce it as a required field. This property\n * works only for accessibility purposes, it will not prevent the form from\n * submitting if the value is invalid.\n */\n this.required = false;\n this.onClick = (ev) => {\n const target = ev.target;\n const closestSlot = target.closest('[slot=\"start\"], [slot=\"end\"]');\n if (target === this.el || closestSlot === null) {\n this.setFocus();\n this.open(ev);\n }\n else {\n /**\n * Prevent clicks to the start/end slots from opening the select.\n * We ensure the target isn't this element in case the select is slotted\n * in, for example, an item. This would prevent the select from ever\n * being opened since the element itself has slot=\"start\"/\"end\".\n *\n * Clicking a slotted element also causes a click\n * on the <label> element (since it wraps the slots).\n * Clicking <label> dispatches another click event on\n * the native form control that then bubbles up to this\n * listener. This additional event targets the host\n * element, so the select overlay is opened.\n *\n * When the slotted elements are clicked (and therefore\n * the ancestor <label> element) we want to prevent the label\n * from dispatching another click event.\n *\n * Do not call stopPropagation() because this will cause\n * click handlers on the slotted elements to never fire in React.\n * When developers do onClick in React a native \"click\" listener\n * is added on the root element, not the slotted element. When that\n * native click listener fires, React then dispatches the synthetic\n * click event on the slotted element. However, if stopPropagation\n * is called then the native click event will never bubble up\n * to the root element.\n */\n ev.preventDefault();\n }\n };\n this.onFocus = () => {\n this.hasFocus = true;\n this.ionFocus.emit();\n };\n this.onBlur = () => {\n this.hasFocus = false;\n this.ionBlur.emit();\n };\n /**\n * Stops propagation when the label is clicked,\n * otherwise, two clicks will be triggered.\n */\n this.onLabelClick = (ev) => {\n // Only stop propagation if the click was directly on the label\n // and not on the input or other child elements\n if (ev.target === ev.currentTarget) {\n ev.stopPropagation();\n }\n };\n }\n styleChanged() {\n this.emitStyle();\n }\n setValue(value) {\n this.value = value;\n this.ionChange.emit({ value });\n }\n async connectedCallback() {\n const { el } = this;\n this.notchController = createNotchController(el, () => this.notchSpacerEl, () => this.labelSlot);\n this.updateOverlayOptions();\n this.emitStyle();\n this.mutationO = watchForOptions(this.el, 'ion-select-option', async () => {\n this.updateOverlayOptions();\n /**\n * We need to re-render the component\n * because one of the new ion-select-option\n * elements may match the value. In this case,\n * the rendered selected text should be updated.\n */\n forceUpdate(this);\n });\n // Watch for class changes to update validation state.\n if (Build.isBrowser && typeof MutationObserver !== 'undefined') {\n this.validationObserver = new MutationObserver(() => {\n const newIsInvalid = checkInvalidState(this.el);\n if (this.isInvalid !== newIsInvalid) {\n this.isInvalid = newIsInvalid;\n /**\n * Screen readers tend to announce changes\n * to `aria-describedby` when the attribute\n * is changed during a blur event for a\n * native form control.\n * However, the announcement can be spotty\n * when using a non-native form control\n * and `forceUpdate()`.\n * This is due to `forceUpdate()` internally\n * rescheduling the DOM update to a lower\n * priority queue regardless if it's called\n * inside a Promise or not, thus causing\n * the screen reader to potentially miss the\n * change.\n * By using a State variable inside a Promise,\n * it guarantees a re-render immediately at\n * a higher priority.\n */\n Promise.resolve().then(() => {\n this.hintTextId = this.getHintTextId();\n });\n }\n });\n this.validationObserver.observe(el, {\n attributes: true,\n attributeFilter: ['class'],\n });\n }\n // Always set initial state\n this.isInvalid = checkInvalidState(this.el);\n }\n componentWillLoad() {\n this.inheritedAttributes = inheritAttributes(this.el, ['aria-label']);\n this.hintTextId = this.getHintTextId();\n }\n componentDidLoad() {\n /**\n * If any of the conditions that trigger the styleChanged callback\n * are met on component load, it is possible the event emitted\n * prior to a parent web component registering an event listener.\n *\n * To ensure the parent web component receives the event, we\n * emit the style event again after the component has loaded.\n *\n * This is often seen in Angular with the `dist` output target.\n */\n this.emitStyle();\n }\n disconnectedCallback() {\n if (this.mutationO) {\n this.mutationO.disconnect();\n this.mutationO = undefined;\n }\n if (this.notchController) {\n this.notchController.destroy();\n this.notchController = undefined;\n }\n // Clean up validation observer to prevent memory leaks.\n if (this.validationObserver) {\n this.validationObserver.disconnect();\n this.validationObserver = undefined;\n }\n }\n /**\n * Open the select overlay. The overlay is either an alert, action sheet, or popover,\n * depending on the `interface` property on the `ion-select`.\n *\n * @param event The user interface event that called the open.\n */\n async open(event) {\n if (this.disabled || this.isExpanded) {\n return undefined;\n }\n this.isExpanded = true;\n const overlay = (this.overlay = await this.createOverlay(event));\n // Add logic to scroll selected item into view before presenting\n const scrollSelectedIntoView = () => {\n const indexOfSelected = this.childOpts.findIndex((o) => o.value === this.value);\n if (indexOfSelected > -1) {\n const selectedItem = overlay.querySelector(`.select-interface-option:nth-of-type(${indexOfSelected + 1})`);\n if (selectedItem) {\n /**\n * Browsers such as Firefox do not\n * correctly delegate focus when manually\n * focusing an element with delegatesFocus.\n * We work around this by manually focusing\n * the interactive element.\n * ion-radio and ion-checkbox are the only\n * elements that ion-select-popover uses, so\n * we only need to worry about those two components\n * when focusing.\n */\n const interactiveEl = selectedItem.querySelector('ion-radio, ion-checkbox');\n if (interactiveEl) {\n selectedItem.scrollIntoView({ block: 'nearest' });\n // Needs to be called before `focusVisibleElement` to prevent issue with focus event bubbling\n // and removing `ion-focused` style\n interactiveEl.setFocus();\n }\n focusVisibleElement(selectedItem);\n }\n }\n else {\n /**\n * If no value is set then focus the first enabled option.\n */\n const firstEnabledOption = overlay.querySelector('ion-radio:not(.radio-disabled), ion-checkbox:not(.checkbox-disabled)');\n if (firstEnabledOption) {\n /**\n * Focus the option for the same reason as we do above.\n *\n * Needs to be called before `focusVisibleElement` to prevent issue with focus event bubbling\n * and removing `ion-focused` style\n */\n firstEnabledOption.setFocus();\n focusVisibleElement(firstEnabledOption.closest('ion-item'));\n }\n }\n };\n // For modals and popovers, we can scroll before they're visible\n if (this.interface === 'modal') {\n overlay.addEventListener('ionModalWillPresent', scrollSelectedIntoView, { once: true });\n }\n else if (this.interface === 'popover') {\n overlay.addEventListener('ionPopoverWillPresent', scrollSelectedIntoView, { once: true });\n }\n else {\n /**\n * For alerts and action sheets, we need to wait a frame after willPresent\n * because these overlays don't have their content in the DOM immediately\n * when willPresent fires. By waiting a frame, we ensure the content is\n * rendered and can be properly scrolled into view.\n */\n const scrollAfterRender = () => {\n requestAnimationFrame(() => {\n scrollSelectedIntoView();\n });\n };\n if (this.interface === 'alert') {\n overlay.addEventListener('ionAlertWillPresent', scrollAfterRender, { once: true });\n }\n else if (this.interface === 'action-sheet') {\n overlay.addEventListener('ionActionSheetWillPresent', scrollAfterRender, { once: true });\n }\n }\n overlay.onDidDismiss().then(() => {\n this.overlay = undefined;\n this.isExpanded = false;\n this.ionDismiss.emit();\n this.setFocus();\n });\n await overlay.present();\n return overlay;\n }\n createOverlay(ev) {\n let selectInterface = this.interface;\n if (selectInterface === 'action-sheet' && this.multiple) {\n printIonWarning(`[ion-select] - Interface cannot be \"${selectInterface}\" with a multi-value select. Using the \"alert\" interface instead.`);\n selectInterface = 'alert';\n }\n if (selectInterface === 'popover' && !ev) {\n printIonWarning(`[ion-select] - Interface cannot be a \"${selectInterface}\" without passing an event. Using the \"alert\" interface instead.`);\n selectInterface = 'alert';\n }\n if (selectInterface === 'action-sheet') {\n return this.openActionSheet();\n }\n if (selectInterface === 'popover') {\n return this.openPopover(ev);\n }\n if (selectInterface === 'modal') {\n return this.openModal();\n }\n return this.openAlert();\n }\n updateOverlayOptions() {\n const overlay = this.overlay;\n if (!overlay) {\n return;\n }\n const childOpts = this.childOpts;\n const value = this.value;\n switch (this.interface) {\n case 'action-sheet':\n overlay.buttons = this.createActionSheetButtons(childOpts, value);\n break;\n case 'popover':\n const popover = overlay.querySelector('ion-select-popover');\n if (popover) {\n popover.options = this.createOverlaySelectOptions(childOpts, value);\n }\n break;\n case 'modal':\n const modal = overlay.querySelector('ion-select-modal');\n if (modal) {\n modal.options = this.createOverlaySelectOptions(childOpts, value);\n }\n break;\n case 'alert':\n const inputType = this.multiple ? 'checkbox' : 'radio';\n overlay.inputs = this.createAlertInputs(childOpts, inputType, value);\n break;\n }\n }\n createActionSheetButtons(data, selectValue) {\n const actionSheetButtons = data.map((option) => {\n const value = getOptionValue(option);\n // Remove hydrated before copying over classes\n const copyClasses = Array.from(option.classList)\n .filter((cls) => cls !== 'hydrated')\n .join(' ');\n const optClass = `${OPTION_CLASS} ${copyClasses}`;\n const isSelected = isOptionSelected(selectValue, value, this.compareWith);\n return {\n role: isSelected ? 'selected' : '',\n text: option.textContent,\n cssClass: optClass,\n handler: () => {\n this.setValue(value);\n },\n htmlAttributes: {\n 'aria-checked': isSelected ? 'true' : 'false',\n role: 'radio',\n },\n };\n });\n // Add \"cancel\" button\n actionSheetButtons.push({\n text: this.cancelText,\n role: 'cancel',\n handler: () => {\n this.ionCancel.emit();\n },\n });\n return actionSheetButtons;\n }\n createAlertInputs(data, inputType, selectValue) {\n const alertInputs = data.map((option) => {\n const value = getOptionValue(option);\n // Remove hydrated before copying over classes\n const copyClasses = Array.from(option.classList)\n .filter((cls) => cls !== 'hydrated')\n .join(' ');\n const optClass = `${OPTION_CLASS} ${copyClasses}`;\n return {\n type: inputType,\n cssClass: optClass,\n label: option.textContent || '',\n value,\n checked: isOptionSelected(selectValue, value, this.compareWith),\n disabled: option.disabled,\n };\n });\n return alertInputs;\n }\n createOverlaySelectOptions(data, selectValue) {\n const popoverOptions = data.map((option) => {\n const value = getOptionValue(option);\n // Remove hydrated before copying over classes\n const copyClasses = Array.from(option.classList)\n .filter((cls) => cls !== 'hydrated')\n .join(' ');\n const optClass = `${OPTION_CLASS} ${copyClasses}`;\n return {\n text: option.textContent || '',\n cssClass: optClass,\n value,\n checked: isOptionSelected(selectValue, value, this.compareWith),\n disabled: option.disabled,\n handler: (selected) => {\n this.setValue(selected);\n if (!this.multiple) {\n this.close();\n }\n },\n };\n });\n return popoverOptions;\n }\n async openPopover(ev) {\n const { fill, labelPlacement } = this;\n const interfaceOptions = this.interfaceOptions;\n const mode = getIonMode(this);\n const showBackdrop = mode === 'md' ? false : true;\n const multiple = this.multiple;\n const value = this.value;\n let event = ev;\n let size = 'auto';\n const hasFloatingOrStackedLabel = labelPlacement === 'floating' || labelPlacement === 'stacked';\n /**\n * The popover should take up the full width\n * when using a fill in MD mode or if the\n * label is floating/stacked.\n */\n if (hasFloatingOrStackedLabel || (mode === 'md' && fill !== undefined)) {\n size = 'cover';\n /**\n * Otherwise the popover\n * should be positioned relative\n * to the native element.\n */\n }\n else {\n event = Object.assign(Object.assign({}, ev), { detail: {\n ionShadowTarget: this.nativeWrapperEl,\n } });\n }\n const popoverOpts = Object.assign(Object.assign({ mode,\n event, alignment: 'center', size,\n showBackdrop }, interfaceOptions), { component: 'ion-select-popover', cssClass: ['select-popover', interfaceOptions.cssClass], componentProps: {\n header: interfaceOptions.header,\n subHeader: interfaceOptions.subHeader,\n message: interfaceOptions.message,\n multiple,\n value,\n options: this.createOverlaySelectOptions(this.childOpts, value),\n } });\n /**\n * Workaround for Stencil to autodefine\n * ion-select-popover and ion-popover when\n * using Custom Elements build.\n */\n // eslint-disable-next-line\n if (false) {\n // eslint-disable-next-line\n // @ts-ignore\n document.createElement('ion-select-popover');\n document.createElement('ion-popover');\n }\n return popoverController.create(popoverOpts);\n }\n async openActionSheet() {\n const mode = getIonMode(this);\n const interfaceOptions = this.interfaceOptions;\n const actionSheetOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { buttons: this.createActionSheetButtons(this.childOpts, this.value), cssClass: ['select-action-sheet', interfaceOptions.cssClass] });\n /**\n * Workaround for Stencil to autodefine\n * ion-action-sheet when\n * using Custom Elements build.\n */\n // eslint-disable-next-line\n if (false) {\n // eslint-disable-next-line\n // @ts-ignore\n document.createElement('ion-action-sheet');\n }\n return actionSheetController.create(actionSheetOpts);\n }\n async openAlert() {\n const interfaceOptions = this.interfaceOptions;\n const inputType = this.multiple ? 'checkbox' : 'radio';\n const mode = getIonMode(this);\n const alertOpts = Object.assign(Object.assign({ mode }, interfaceOptions), { header: interfaceOptions.header ? interfaceOptions.header : this.labelText, inputs: this.createAlertInputs(this.childOpts, inputType, this.value), buttons: [\n {\n text: this.cancelText,\n role: 'cancel',\n handler: () => {\n this.ionCancel.emit();\n },\n },\n {\n text: this.okText,\n handler: (selectedValues) => {\n this.setValue(selectedValues);\n },\n },\n ], cssClass: [\n 'select-alert',\n interfaceOptions.cssClass,\n this.multiple ? 'multiple-select-alert' : 'single-select-alert',\n ] });\n /**\n * Workaround for Stencil to autodefine\n * ion-alert when\n * using Custom Elements build.\n */\n // eslint-disable-next-line\n if (false) {\n // eslint-disable-next-line\n // @ts-ignore\n document.createElement('ion-alert');\n }\n return alertController.create(alertOpts);\n }\n openModal() {\n const { multiple, value, interfaceOptions } = this;\n const mode = getIonMode(this);\n const modalOpts = Object.assign(Object.assign({}, interfaceOptions), { mode, cssClass: ['select-modal', interfaceOptions.cssClass], component: 'ion-select-modal', componentProps: {\n header: interfaceOptions.header,\n multiple,\n value,\n options: this.createOverlaySelectOptions(this.childOpts, value),\n } });\n /**\n * Workaround for Stencil to autodefine\n * ion-select-modal and ion-modal when\n * using Custom Elements build.\n */\n // eslint-disable-next-line\n if (false) {\n // eslint-disable-next-line\n // @ts-ignore\n document.createElement('ion-select-modal');\n document.createElement('ion-modal');\n }\n return modalController.create(modalOpts);\n }\n /**\n * Close the select interface.\n */\n close() {\n if (!this.overlay) {\n return Promise.resolve(false);\n }\n return this.overlay.dismiss();\n }\n hasValue() {\n return this.getText() !== '';\n }\n get childOpts() {\n return Array.from(this.el.querySelectorAll('ion-select-option'));\n }\n /**\n * Returns any plaintext associated with\n * the label (either prop or slot).\n * Note: This will not return any custom\n * HTML. Use the `hasLabel` getter if you\n * want to know if any slotted label content\n * was passed.\n */\n get labelText() {\n const { label } = this;\n if (label !== undefined) {\n return label;\n }\n const { labelSlot } = this;\n if (labelSlot !== null) {\n return labelSlot.textContent;\n }\n return;\n }\n getText() {\n const selectedText = this.selectedText;\n if (selectedText != null && selectedText !== '') {\n return selectedText;\n }\n return generateText(this.childOpts, this.value, this.compareWith);\n }\n setFocus() {\n if (this.focusEl) {\n this.focusEl.focus();\n }\n }\n emitStyle() {\n const { disabled } = this;\n const style = {\n 'interactive-disabled': disabled,\n };\n this.ionStyle.emit(style);\n }\n renderLabel() {\n const { label } = this;\n return (h(\"div\", { class: {\n 'label-text-wrapper': true,\n 'label-text-wrapper-hidden': !this.hasLabel,\n }, part: \"label\" }, label === undefined ? h(\"slot\", { name: \"label\" }) : h(\"div\", { class: \"label-text\" }, label)));\n }\n componentDidRender() {\n var _a;\n (_a = this.notchController) === null || _a === void 0 ? void 0 : _a.calculateNotchWidth();\n }\n /**\n * Gets any content passed into the `label` slot,\n * not the <slot> definition.\n */\n get labelSlot() {\n return this.el.querySelector('[slot=\"label\"]');\n }\n /**\n * Returns `true` if label content is provided\n * either by a prop or a content. If you want\n * to get the plaintext value of the label use\n * the `labelText` getter instead.\n */\n get hasLabel() {\n return this.label !== undefined || this.labelSlot !== null;\n }\n /**\n * Renders the border container\n * when fill=\"outline\".\n */\n renderLabelContainer() {\n const mode = getIonMode(this);\n const hasOutlineFill = mode === 'md' && this.fill === 'outline';\n if (hasOutlineFill) {\n /**\n * The outline fill has a special outline\n * that appears around the select and the label.\n * Certain stacked and floating label placements cause the\n * label to translate up and create a \"cut out\"\n * inside of that border by using the notch-spacer element.\n */\n return [\n h(\"div\", { class: \"select-outline-container\" }, h(\"div\", { class: \"select-outline-start\" }), h(\"div\", { class: {\n 'select-outline-notch': true,\n 'select-outline-notch-hidden': !this.hasLabel,\n } }, h(\"div\", { class: \"notch-spacer\", \"aria-hidden\": \"true\", ref: (el) => (this.notchSpacerEl = el) }, this.label)), h(\"div\", { class: \"select-outline-end\" })),\n this.renderLabel(),\n ];\n }\n /**\n * If not using the outline style,\n * we can render just the label.\n */\n return this.renderLabel();\n }\n /**\n * Renders either the placeholder\n * or the selected values based on\n * the state of the select.\n */\n renderSelectText() {\n const { placeholder } = this;\n const displayValue = this.getText();\n let addPlaceholderClass = false;\n let selectText = displayValue;\n if (selectText === '' && placeholder !== undefined) {\n selectText = placeholder;\n addPlaceholderClass = true;\n }\n const selectTextClasses = {\n 'select-text': true,\n 'select-placeholder': addPlaceholderClass,\n };\n const textPart = addPlaceholderClass ? 'placeholder' : 'text';\n return (h(\"div\", { \"aria-hidden\": \"true\", class: selectTextClasses, part: textPart }, selectText));\n }\n /**\n * Renders the chevron icon\n * next to the select text.\n */\n renderSelectIcon() {\n const mode = getIonMode(this);\n const { isExpanded, toggleIcon, expandedIcon } = this;\n let icon;\n if (isExpanded && expandedIcon !== undefined) {\n icon = expandedIcon;\n }\n else {\n const defaultIcon = mode === 'ios' ? chevronExpand : caretDownSharp;\n icon = toggleIcon !== null && toggleIcon !== void 0 ? toggleIcon : defaultIcon;\n }\n return h(\"ion-icon\", { class: \"select-icon\", part: \"icon\", \"aria-hidden\": \"true\", icon: icon });\n }\n get ariaLabel() {\n var _a;\n const { placeholder, inheritedAttributes } = this;\n const displayValue = this.getText();\n // The aria label should be preferred over visible text if both are specified\n const definedLabel = (_a = inheritedAttributes['aria-label']) !== null && _a !== void 0 ? _a : this.labelText;\n /**\n * If developer has specified a placeholder\n * and there is nothing selected, the selectText\n * should have the placeholder value.\n */\n let renderedLabel = displayValue;\n if (renderedLabel === '' && placeholder !== undefined) {\n renderedLabel = placeholder;\n }\n /**\n * If there is a developer-defined label,\n * then we need to concatenate the developer label\n * string with the current current value.\n * The label for the control should be read\n * before the values of the control.\n */\n if (definedLabel !== undefined) {\n renderedLabel = renderedLabel === '' ? definedLabel : `${definedLabel}, ${renderedLabel}`;\n }\n return renderedLabel;\n }\n renderListbox() {\n const { disabled, inputId, isExpanded, required } = this;\n return (h(\"button\", { disabled: disabled, id: inputId, \"aria-label\": this.ariaLabel, \"aria-haspopup\": \"dialog\", \"aria-expanded\": `${isExpanded}`, \"aria-describedby\": this.hintTextId, \"aria-invalid\": this.isInvalid ? 'true' : undefined, \"aria-required\": `${required}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));\n }\n getHintTextId() {\n const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;\n if (isInvalid && errorText) {\n return errorTextId;\n }\n if (helperText) {\n return helperTextId;\n }\n return undefined;\n }\n /**\n * Renders the helper text or error text values\n */\n renderHintText() {\n const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;\n return [\n h(\"div\", { id: helperTextId, class: \"helper-text\", part: \"supporting-text helper-text\", \"aria-live\": \"polite\" }, !isInvalid ? helperText : null),\n h(\"div\", { id: errorTextId, class: \"error-text\", part: \"supporting-text error-text\", role: \"alert\" }, isInvalid ? errorText : null),\n ];\n }\n /**\n * Responsible for rendering helper text, and error text. This element\n * should only be rendered if hint text is set.\n */\n renderBottomContent() {\n const { helperText, errorText } = this;\n /**\n * undefined and empty string values should\n * be treated as not having helper/error text.\n */\n const hasHintText = !!helperText || !!errorText;\n if (!hasHintText) {\n return;\n }\n return h(\"div\", { class: \"select-bottom\" }, this.renderHintText());\n }\n render() {\n const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value, hasFocus, } = this;\n const mode = getIonMode(this);\n const hasFloatingOrStackedLabel = labelPlacement === 'floating' || labelPlacement === 'stacked';\n const justifyEnabled = !hasFloatingOrStackedLabel && justify !== undefined;\n const rtl = isRTL(el) ? 'rtl' : 'ltr';\n const inItem = hostContext('ion-item', this.el);\n const shouldRenderHighlight = mode === 'md' && fill !== 'outline' && !inItem;\n const hasValue = this.hasValue();\n const hasStartEndSlots = el.querySelector('[slot=\"start\"], [slot=\"end\"]') !== null;\n renderHiddenInput(true, el, name, parseValue(value), disabled);\n /**\n * If the label is stacked, it should always sit above the select.\n * For floating labels, the label should move above the select if\n * the select has a value, is open, or has anything in either\n * the start or end slot.\n *\n * If there is content in the start slot, the label would overlap\n * it if not forced to float. This is also applied to the end slot\n * because with the default or solid fills, the select is not\n * vertically centered in the container, but the label is. This\n * causes the slots and label to appear vertically offset from each\n * other when the label isn't floating above the input. This doesn't\n * apply to the outline fill, but this was not accounted for to keep\n * things consistent.\n *\n * TODO(FW-5592): Remove hasStartEndSlots condition\n */\n const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));\n return (h(Host, { key: 'd8026835993d0e6dce747098f741a06ae4e4f54d', onClick: this.onClick, class: createColorClasses(this.color, {\n [mode]: true,\n 'in-item': inItem,\n 'in-item-color': hostContext('ion-item.ion-color', el),\n 'select-disabled': disabled,\n 'select-expanded': isExpanded,\n 'has-expanded-icon': expandedIcon !== undefined,\n 'has-value': hasValue,\n 'label-floating': labelShouldFloat,\n 'has-placeholder': placeholder !== undefined,\n 'has-focus': hasFocus,\n // TODO(FW-6451): Remove `ion-focusable` class in favor of `has-focus`.\n 'ion-focusable': true,\n [`select-${rtl}`]: true,\n [`select-fill-${fill}`]: fill !== undefined,\n [`select-justify-${justify}`]: justifyEnabled,\n [`select-shape-${shape}`]: shape !== undefined,\n [`select-label-placement-${labelPlacement}`]: true,\n }) }, h(\"label\", { key: 'fcfb40209d6d07d49c7fdca4884b31abf6ac2567', class: \"select-wrapper\", id: \"select-label\", onClick: this.onLabelClick }, this.renderLabelContainer(), h(\"div\", { key: 'f191664f2290c3890bde1156157c83a6ff17dbe2', class: \"select-wrapper-inner\" }, h(\"slot\", { key: '317a28d1115b4214f291e228ce0fe6fc782e57d5', name: \"start\" }), h(\"div\", { key: 'db68e18abd5ca3a1023d7c7b58bf89893ae18073', class: \"native-wrapper\", ref: (el) => (this.nativeWrapperEl = el), part: \"container\" }, this.renderSelectText(), this.renderListbox()), h(\"slot\", { key: '4274e042267c2234a198b0f65c89477898d08130', name: \"end\" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h(\"div\", { key: '2e2eb1ee2b2791e0683d9afb186fde6e938ca59c', class: \"select-highlight\" })), this.renderBottomContent()));\n }\n static get is() { return \"ion-select\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"ios\": [\"select.ios.scss\"],\n \"md\": [\"select.md.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"ios\": [\"select.ios.css\"],\n \"md\": [\"select.md.css\"]\n };\n }\n static get properties() {\n return {\n \"cancelText\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The text to display on the cancel button.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"cancel-text\",\n \"defaultValue\": \"'Cancel'\"\n },\n \"color\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"Color\",\n \"resolved\": \"\\\"danger\\\" | \\\"dark\\\" | \\\"light\\\" | \\\"medium\\\" | \\\"primary\\\" | \\\"secondary\\\" | \\\"success\\\" | \\\"tertiary\\\" | \\\"warning\\\" | string & Record<never, never> | undefined\",\n \"references\": {\n \"Color\": {\n \"location\": \"import\",\n \"path\": \"../../interface\",\n \"id\": \"src/interface.d.ts::Color\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"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).\\n\\nThis property is only available when using the modern select syntax.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": true,\n \"attribute\": \"color\"\n },\n \"compareWith\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | SelectCompareFn | null\",\n \"resolved\": \"((currentValue: any, compareValue: any) => boolean) | null | string | undefined\",\n \"references\": {\n \"SelectCompareFn\": {\n \"location\": \"import\",\n \"path\": \"./select-interface\",\n \"id\": \"src/components/select/select-interface.ts::SelectCompareFn\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property allows developers to specify a custom function or property\\nname for comparing objects when determining the selected option in the\\nion-select. When not specified, the default behavior will use strict\\nequality (===) for comparison.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"compare-with\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the user cannot interact with the select.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"disabled\",\n \"defaultValue\": \"false\"\n },\n \"fill\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'outline' | 'solid'\",\n \"resolved\": \"\\\"outline\\\" | \\\"solid\\\" | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The fill for the item. If `\\\"solid\\\"` the item will have a background. If\\n`\\\"outline\\\"` the item will be transparent with a border. Only available in `md` mode.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"fill\"\n },\n \"errorText\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Text that is placed under the select and displayed when an error is detected.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"error-text\"\n },\n \"helperText\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Text that is placed under the select and displayed when no error is detected.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"helper-text\"\n },\n \"interface\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"SelectInterface\",\n \"resolved\": \"\\\"action-sheet\\\" | \\\"alert\\\" | \\\"modal\\\" | \\\"popover\\\"\",\n \"references\": {\n \"SelectInterface\": {\n \"location\": \"import\",\n \"path\": \"./select-interface\",\n \"id\": \"src/components/select/select-interface.ts::SelectInterface\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The interface the select should use: `action-sheet`, `popover`, `alert`, or `modal`.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"interface\",\n \"defaultValue\": \"'alert'\"\n },\n \"interfaceOptions\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Any additional options that the `alert`, `action-sheet` or `popover` interface\\ncan take. See the [ion-alert docs](./alert), the\\n[ion-action-sheet docs](./action-sheet), the\\n[ion-popover docs](./popover), and the [ion-modal docs](./modal) for the\\ncreate options for each interface.\\n\\nNote: `interfaceOptions` will not override `inputs` or `buttons` with the `alert` interface.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"interface-options\",\n \"defaultValue\": \"{}\"\n },\n \"justify\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'start' | 'end' | 'space-between'\",\n \"resolved\": \"\\\"end\\\" | \\\"space-between\\\" | \\\"start\\\" | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"How to pack the label and select within a line.\\n`justify` does not apply when the label and select\\nare on different lines when `labelPlacement` is set to\\n`\\\"floating\\\"` or `\\\"stacked\\\"`.\\n`\\\"start\\\"`: The label and select will appear on the left in LTR and\\non the right in RTL.\\n`\\\"end\\\"`: The label and select will appear on the right in LTR and\\non the left in RTL.\\n`\\\"space-between\\\"`: The label and select will appear on opposite\\nends of the line with space between the two elements.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"justify\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The visible label associated with the select.\\n\\nUse this if you need to render a plaintext label.\\n\\nThe `label` property will take priority over the `label` slot if both are used.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"label\"\n },\n \"labelPlacement\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'start' | 'end' | 'floating' | 'stacked' | 'fixed'\",\n \"resolved\": \"\\\"end\\\" | \\\"fixed\\\" | \\\"floating\\\" | \\\"stacked\\\" | \\\"start\\\" | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Where to place the label relative to the select.\\n`\\\"start\\\"`: The label will appear to the left of the select in LTR and to the right in RTL.\\n`\\\"end\\\"`: The label will appear to the right of the select in LTR and to the left in RTL.\\n`\\\"floating\\\"`: The label will appear smaller and above the select when the select is focused or it has a value. Otherwise it will appear on top of the select.\\n`\\\"stacked\\\"`: The label will appear smaller and above the select regardless even when the select is blurred or has no value.\\n`\\\"fixed\\\"`: The label has the same behavior as `\\\"start\\\"` except it also has a fixed width. Long text will be truncated with ellipses (\\\"...\\\").\\nWhen using `\\\"floating\\\"` or `\\\"stacked\\\"` we recommend initializing the select with either a `value` or a `placeholder`.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"label-placement\",\n \"defaultValue\": \"'start'\"\n },\n \"multiple\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the select can accept multiple values.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"multiple\",\n \"defaultValue\": \"false\"\n },\n \"name\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The name of the control, which is submitted with the form data.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"name\",\n \"defaultValue\": \"this.inputId\"\n },\n \"okText\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The text to display on the ok button.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"ok-text\",\n \"defaultValue\": \"'OK'\"\n },\n \"placeholder\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The text to display when the select is empty.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"placeholder\"\n },\n \"selectedText\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | null\",\n \"resolved\": \"null | string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The text to display instead of the selected option's value.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"selected-text\"\n },\n \"toggleIcon\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The toggle icon to use. Defaults to `chevronExpand` for `ios` mode,\\nor `caretDownSharp` for `md` mode.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"toggle-icon\"\n },\n \"expandedIcon\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The toggle icon to show when the select is open. If defined, the icon\\nrotation behavior in `md` mode will be disabled. If undefined, `toggleIcon`\\nwill be used for when the select is both open and closed.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"expanded-icon\"\n },\n \"shape\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'round'\",\n \"resolved\": \"\\\"round\\\" | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The shape of the select. If \\\"round\\\" it will have an increased border radius.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"shape\"\n },\n \"value\": {\n \"type\": \"any\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"any | null\",\n \"resolved\": \"any\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The value of the select.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"value\"\n },\n \"required\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If true, screen readers will announce it as a required field. This property\\nworks only for accessibility purposes, it will not prevent the form from\\nsubmitting if the value is invalid.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"required\",\n \"defaultValue\": \"false\"\n }\n };\n }\n static get states() {\n return {\n \"isExpanded\": {},\n \"hasFocus\": {},\n \"isInvalid\": {},\n \"hintTextId\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"ionChange\",\n \"name\": \"ionChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the value has changed.\\n\\nThis event will not emit when programmatically setting the `value` property.\"\n },\n \"complexType\": {\n \"original\": \"SelectChangeEventDetail\",\n \"resolved\": \"SelectChangeEventDetail<any>\",\n \"references\": {\n \"SelectChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./select-interface\",\n \"id\": \"src/components/select/select-interface.ts::SelectChangeEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"ionCancel\",\n \"name\": \"ionCancel\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the selection is cancelled.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"ionDismiss\",\n \"name\": \"ionDismiss\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the overlay is dismissed.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"ionFocus\",\n \"name\": \"ionFocus\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the select has focus.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"ionBlur\",\n \"name\": \"ionBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the select loses focus.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"ionStyle\",\n \"name\": \"ionStyle\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"Emitted when the styles change.\"\n },\n \"complexType\": {\n \"original\": \"StyleEventDetail\",\n \"resolved\": \"StyleEventDetail\",\n \"references\": {\n \"StyleEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../interface\",\n \"id\": \"src/interface.d.ts::StyleEventDetail\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"open\": {\n \"complexType\": {\n \"signature\": \"(event?: UIEvent) => Promise<any>\",\n \"parameters\": [{\n \"name\": \"event\",\n \"type\": \"UIEvent | undefined\",\n \"docs\": \"The user interface event that called the open.\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"UIEvent\": {\n \"location\": \"global\",\n \"id\": \"global::UIEvent\"\n },\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n },\n \"HTMLIonRadioElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLIonRadioElement\"\n },\n \"HTMLIonCheckboxElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLIonCheckboxElement\"\n }\n },\n \"return\": \"Promise<any>\"\n },\n \"docs\": {\n \"text\": \"Open the select overlay. The overlay is either an alert, action sheet, or popover,\\ndepending on the `interface` property on the `ion-select`.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"event The user interface event that called the open.\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"disabled\",\n \"methodName\": \"styleChanged\"\n }, {\n \"propName\": \"isExpanded\",\n \"methodName\": \"styleChanged\"\n }, {\n \"propName\": \"placeholder\",\n \"methodName\": \"styleChanged\"\n }, {\n \"propName\": \"value\",\n \"methodName\": \"styleChanged\"\n }];\n }\n}\nconst getOptionValue = (el) => {\n const value = el.value;\n return value === undefined ? el.textContent || '' : value;\n};\nconst parseValue = (value) => {\n if (value == null) {\n return undefined;\n }\n if (Array.isArray(value)) {\n return value.join(',');\n }\n return value.toString();\n};\nconst generateText = (opts, value, compareWith) => {\n if (value === undefined) {\n return '';\n }\n if (Array.isArray(value)) {\n return value\n .map((v) => textForValue(opts, v, compareWith))\n .filter((opt) => opt !== null)\n .join(', ');\n }\n else {\n return textForValue(opts, value, compareWith) || '';\n }\n};\nconst textForValue = (opts, value, compareWith) => {\n const selectOpt = opts.find((opt) => {\n return compareOptions(value, getOptionValue(opt), compareWith);\n });\n return selectOpt ? selectOpt.textContent : null;\n};\nlet selectIds = 0;\nconst OPTION_CLASS = 'select-interface-option';\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"ion-skeleton-text.js","mappings":";;;;AAAA,MAAM,eAAe,GAAG,MAAM,CAAC,28BAA28B,CAAC;;MCO99B,YAAY,iBAAAA,kBAAA,CAAA,MAAA,YAAA,SAAAC,CAAA,CAAA;AACrB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;;AACI;;AAEG;AACH,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK;AACxB;IACD,iBAAiB,GAAA;QACb,IAAI,CAAC,SAAS,EAAE;;IAEpB,SAAS,GAAA;;;;AAIL,QAAA,MAAM,KAAK,GAAG;AACV,YAAA,eAAe,EAAE,IAAI;SACxB;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;;IAE7B,MAAM,GAAA;AACF,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC;AACrE,QAAA,MAAM,OAAO,GAAG,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE,CAAC;AAC3F,QAAA,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,0CAA0C,EAAE,KAAK,EAAE;gBAClE,CAAC,IAAI,GAAG,IAAI;AACZ,gBAAA,wBAAwB,EAAE,QAAQ;AAClC,gBAAA,UAAU,EAAE,OAAO;AACtB,aAAA,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,0CAA0C,EAAE,EAAE,QAAQ,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["node_modules/@ionic/core/dist/collection/components/skeleton-text/skeleton-text.css?tag=ion-skeleton-text&encapsulation=shadow","node_modules/@ionic/core/dist/collection/components/skeleton-text/skeleton-text.js"],"sourcesContent":["/**\n * Convert a font size to a dynamic font size.\n * Fonts that participate in Dynamic Type should use\n * dynamic font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param unit (optional) - The unit to convert to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a maximum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * a minimum font size.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * Convert a font size to a dynamic font size but impose\n * maximum and minimum font sizes.\n * @param size - The initial font size including the unit (i.e. px or pt)\n * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).\n * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).\n * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to\n * convert to a unit other than $baselineUnit.\n */\n/**\n * A heuristic that applies CSS to tablet\n * viewports.\n *\n * Usage:\n * @include tablet-viewport() {\n * :host {\n * background-color: green;\n * }\n * }\n */\n/**\n * A heuristic that applies CSS to mobile\n * viewports (i.e. phones, not tablets).\n *\n * Usage:\n * @include mobile-viewport() {\n * :host {\n * background-color: blue;\n * }\n * }\n */\n:host {\n /**\n * @prop --background: Background of the skeleton text\n * @prop --background-rgb: Background of the skeleton text in rgb format\n *\n * @prop --border-radius: Border radius of the skeleton text\n */\n --background: rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065);\n border-radius: var(--border-radius, inherit);\n display: block;\n width: 100%;\n height: inherit;\n margin-top: 4px;\n margin-bottom: 4px;\n background: var(--background);\n line-height: 10px;\n user-select: none;\n pointer-events: none;\n}\n\nspan {\n display: inline-block;\n}\n\n:host(.in-media) {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n margin-bottom: 0;\n height: 100%;\n}\n\n:host(.skeleton-text-animated) {\n position: relative;\n background: linear-gradient(to right, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065) 8%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.135) 18%, rgba(var(--background-rgb, var(--ion-text-color-rgb, 0, 0, 0)), 0.065) 33%);\n background-size: 800px 104px;\n animation-duration: 1s;\n animation-fill-mode: forwards;\n animation-iteration-count: infinite;\n animation-name: shimmer;\n animation-timing-function: linear;\n}\n\n/* stylelint-disable property-disallowed-list */\n@keyframes shimmer {\n 0% {\n background-position: -400px 0;\n }\n 100% {\n background-position: 400px 0;\n }\n}\n/* stylelint-enable property-disallowed-list */","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { Host, h } from \"@stencil/core\";\nimport { hostContext } from \"../../utils/theme\";\nimport { config } from \"../../global/config\";\nimport { getIonMode } from \"../../global/ionic-global\";\nexport class SkeletonText {\n constructor() {\n /**\n * If `true`, the skeleton text will animate.\n */\n this.animated = false;\n }\n componentWillLoad() {\n this.emitStyle();\n }\n emitStyle() {\n // The emitted property is used by item in order\n // to add the item-skeleton-text class which applies\n // overflow: hidden to its label\n const style = {\n 'skeleton-text': true,\n };\n this.ionStyle.emit(style);\n }\n render() {\n const animated = this.animated && config.getBoolean('animated', true);\n const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);\n const mode = getIonMode(this);\n return (h(Host, { key: 'd86ef7392507cdbf48dfd3a71f02d7a83eda4aae', class: {\n [mode]: true,\n 'skeleton-text-animated': animated,\n 'in-media': inMedia,\n } }, h(\"span\", { key: '8e8b5a232a6396d2bba691b05f9de4da44b2965c' }, \"\\u00A0\")));\n }\n static get is() { return \"ion-skeleton-text\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"skeleton-text.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"skeleton-text.css\"]\n };\n }\n static get properties() {\n return {\n \"animated\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the skeleton text will animate.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"reflect\": false,\n \"attribute\": \"animated\",\n \"defaultValue\": \"false\"\n }\n };\n }\n static get events() {\n return [{\n \"method\": \"ionStyle\",\n \"name\": \"ionStyle\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": undefined\n }],\n \"text\": \"Emitted when the styles change.\"\n },\n \"complexType\": {\n \"original\": \"StyleEventDetail\",\n \"resolved\": \"StyleEventDetail\",\n \"references\": {\n \"StyleEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../interface\",\n \"id\": \"src/interface.d.ts::StyleEventDetail\"\n }\n }\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"ion-spinner.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}