@pod-os/elements 0.26.0 → 0.26.1-rc.2078d14.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 (453) hide show
  1. package/dist/cjs/elements.cjs.js +1 -1
  2. package/dist/cjs/ion-icon_31.cjs.entry.js +312 -461
  3. package/dist/cjs/ion-icon_31.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ion-searchbar.cjs.entry.js +430 -0
  5. package/dist/cjs/ion-searchbar.cjs.entry.js.map +1 -0
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/collection/apps/pos-app-browser/pos-app-browser.css +8 -15
  8. package/dist/collection/apps/pos-app-browser/pos-app-browser.js +12 -3
  9. package/dist/collection/apps/pos-app-browser/pos-app-browser.js.map +1 -1
  10. package/dist/collection/collection-manifest.json +2 -1
  11. package/dist/collection/components/pos-add-new-thing/pos-add-new-thing.css +2 -2
  12. package/dist/collection/components/pos-make-findable/pos-make-findable.css +7 -4
  13. package/dist/collection/components/pos-navigation/__test/typeToSearch.js +12 -0
  14. package/dist/collection/components/pos-navigation/__test/typeToSearch.js.map +1 -0
  15. package/dist/collection/components/pos-navigation/bar/pos-navigation-bar.css +28 -0
  16. package/dist/collection/components/pos-navigation/bar/pos-navigation-bar.js +102 -0
  17. package/dist/collection/components/pos-navigation/bar/pos-navigation-bar.js.map +1 -0
  18. package/dist/collection/components/pos-navigation/pos-navigation.css +115 -0
  19. package/dist/collection/components/{pos-navigation-bar/pos-navigation-bar.js → pos-navigation/pos-navigation.js} +75 -18
  20. package/dist/collection/components/pos-navigation/pos-navigation.js.map +1 -0
  21. package/dist/collection/components/pos-new-thing-form/pos-new-thing-form.js +1 -1
  22. package/dist/collection/components/pos-rich-link/pos-rich-link.css +1 -1
  23. package/dist/collection/components/pos-rich-link/pos-rich-link.js +2 -2
  24. package/dist/collection/components/pos-router/pos-router.css +1 -1
  25. package/dist/collection/components/pos-router/pos-router.js +1 -1
  26. package/dist/collection/components/pos-select-term/pos-select-term.js +1 -1
  27. package/dist/components/Subject.js +700 -0
  28. package/dist/components/Subject.js.map +1 -0
  29. package/dist/components/ion-searchbar.js +475 -1
  30. package/dist/components/ion-searchbar.js.map +1 -1
  31. package/dist/components/pos-add-new-thing2.js +1 -1
  32. package/dist/components/pos-add-new-thing2.js.map +1 -1
  33. package/dist/components/pos-app-browser.js +49 -40
  34. package/dist/components/pos-app-browser.js.map +1 -1
  35. package/dist/components/pos-app2.js +1 -697
  36. package/dist/components/pos-app2.js.map +1 -1
  37. package/dist/components/pos-make-findable2.js +1 -1
  38. package/dist/components/pos-make-findable2.js.map +1 -1
  39. package/dist/components/pos-navigation-bar2.js +21 -109
  40. package/dist/components/pos-navigation-bar2.js.map +1 -1
  41. package/dist/components/pos-navigation.d.ts +11 -0
  42. package/dist/components/pos-navigation.js +8 -0
  43. package/dist/components/pos-navigation.js.map +1 -0
  44. package/dist/components/pos-navigation2.js +394 -0
  45. package/dist/components/pos-navigation2.js.map +1 -0
  46. package/dist/components/pos-new-thing-form2.js +1 -1
  47. package/dist/components/pos-rich-link2.js +3 -3
  48. package/dist/components/pos-rich-link2.js.map +1 -1
  49. package/dist/components/pos-router2.js +2 -2
  50. package/dist/components/pos-router2.js.map +1 -1
  51. package/dist/components/pos-select-term2.js +1 -1
  52. package/dist/elements/elements.esm.js +1 -1
  53. package/dist/elements/elements.esm.js.map +1 -1
  54. package/dist/elements/{p-a6c03ce8.js → p-01adc2b7.js} +2 -2
  55. package/dist/elements/{p-7190d53c.entry.js → p-09ff1516.entry.js} +2 -2
  56. package/dist/elements/{p-307d1531.js → p-0a6631d5.js} +2 -2
  57. package/dist/elements/{p-c698ab8e.entry.js → p-0b3d14ec.entry.js} +3 -3
  58. package/dist/elements/{p-d8818bb3.entry.js → p-0d4f129d.entry.js} +2 -2
  59. package/dist/elements/p-104fee38.entry.js +2 -0
  60. package/dist/elements/{p-6cc9961e.entry.js → p-11466af2.entry.js} +2 -2
  61. package/dist/elements/{p-3e6ffc13.entry.js → p-11845ff3.entry.js} +2 -2
  62. package/dist/elements/p-13b1d6fe.entry.js +2 -0
  63. package/dist/elements/{p-d358565a.entry.js.map → p-13b1d6fe.entry.js.map} +1 -1
  64. package/dist/elements/p-14bf4c7a.entry.js +2 -0
  65. package/dist/elements/{p-66a58eb0.entry.js.map → p-14bf4c7a.entry.js.map} +1 -1
  66. package/dist/elements/{p-a507d627.entry.js → p-151d1ec8.entry.js} +2 -2
  67. package/dist/elements/{p-89aef852.js → p-1930ffd5.js} +2 -2
  68. package/dist/elements/{p-aa7d93f1.entry.js → p-1a1222a3.entry.js} +2 -2
  69. package/dist/elements/{p-4dd65d40.entry.js → p-1e05efd7.entry.js} +2 -2
  70. package/dist/elements/{p-f50c3045.entry.js → p-1faf2d02.entry.js} +2 -2
  71. package/dist/elements/{p-a421bbe5.entry.js → p-21e90439.entry.js} +2 -2
  72. package/dist/elements/p-220cce23.entry.js +2 -0
  73. package/dist/{components/searchbar.js.map → elements/p-220cce23.entry.js.map} +1 -1
  74. package/dist/elements/{p-552a9992.entry.js → p-22c21319.entry.js} +2 -2
  75. package/dist/elements/{p-66973c59.entry.js → p-24d93ddd.entry.js} +2 -2
  76. package/dist/elements/p-2551eb06.entry.js +2 -0
  77. package/dist/elements/{p-bca341ba.entry.js.map → p-2551eb06.entry.js.map} +1 -1
  78. package/dist/elements/p-258f2385.entry.js +2 -0
  79. package/dist/elements/{p-72a9cbdc.entry.js → p-27bd8113.entry.js} +2 -2
  80. package/dist/elements/{p-c350af00.entry.js → p-2948d57b.entry.js} +2 -2
  81. package/dist/elements/{p-41bb9792.entry.js → p-2cdaf88b.entry.js} +2 -2
  82. package/dist/elements/{p-fa0be1d8.entry.js → p-2e08ee3a.entry.js} +2 -2
  83. package/dist/elements/{p-239442f9.entry.js → p-2e0c20e7.entry.js} +2 -2
  84. package/dist/elements/p-2ec92ff9.entry.js +2 -0
  85. package/dist/elements/p-2f3623f1.entry.js +2 -0
  86. package/dist/elements/{p-c01a4a79.entry.js.map → p-2f3623f1.entry.js.map} +1 -1
  87. package/dist/elements/{p-8e8881a8.entry.js → p-30834f34.entry.js} +2 -2
  88. package/dist/elements/p-30cd90ec.js +6 -0
  89. package/dist/elements/{p-ae984107.entry.js → p-3585f786.entry.js} +2 -2
  90. package/dist/elements/{p-d08312dd.entry.js → p-35f84573.entry.js} +2 -2
  91. package/dist/elements/p-3e130681.entry.js +2 -0
  92. package/dist/elements/{p-bdea20c4.entry.js.map → p-3e130681.entry.js.map} +1 -1
  93. package/dist/elements/{p-ffa8c481.entry.js → p-3f02cc92.entry.js} +2 -2
  94. package/dist/elements/{p-71ee259b.js → p-3f316fc4.js} +2 -2
  95. package/dist/elements/{p-bc675b21.entry.js → p-3f3b74e6.entry.js} +2 -2
  96. package/dist/elements/p-40a2d567.entry.js +2 -0
  97. package/dist/elements/{p-e78cf007.entry.js → p-4dc7c524.entry.js} +2 -2
  98. package/dist/elements/{p-c191e6df.js → p-4e8c31fa.js} +8 -8
  99. package/dist/elements/{p-a45b1964.entry.js → p-5051d2a6.entry.js} +2 -2
  100. package/dist/elements/{p-e0de7c6a.entry.js → p-5a061ddb.entry.js} +2 -2
  101. package/dist/elements/{p-061819d1.js → p-5a8e7149.js} +3 -3
  102. package/dist/elements/p-5bf4c45a.js +5 -0
  103. package/dist/elements/{p-b9dcf3b2.js → p-5e8a3893.js} +2 -2
  104. package/dist/elements/{p-300ec095.entry.js → p-602861f4.entry.js} +3 -3
  105. package/dist/elements/{p-4a370bdc.entry.js → p-627d5e73.entry.js} +2 -2
  106. package/dist/elements/{p-406df11a.entry.js → p-648dac6c.entry.js} +2 -2
  107. package/dist/elements/{p-07d2bd5a.entry.js → p-650db824.entry.js} +2 -2
  108. package/dist/elements/{p-cb550d04.entry.js → p-682dd0f9.entry.js} +2 -2
  109. package/dist/elements/{p-59ec8b76.entry.js → p-689a5c54.entry.js} +3 -3
  110. package/dist/elements/{p-d6394ee4.entry.js → p-6a701de0.entry.js} +2 -2
  111. package/dist/elements/{p-f4035b4a.entry.js → p-6ca9bad7.entry.js} +2 -2
  112. package/dist/elements/{p-25926b66.entry.js → p-6cae9207.entry.js} +2 -2
  113. package/dist/elements/{p-6119b57a.entry.js → p-6e5c902a.entry.js} +2 -2
  114. package/dist/elements/{p-0ddcbecd.entry.js → p-72ba182e.entry.js} +2 -2
  115. package/dist/elements/p-7c14c1f9.entry.js +20 -0
  116. package/dist/elements/p-7c14c1f9.entry.js.map +1 -0
  117. package/dist/elements/{p-1b2d32c1.entry.js → p-8619a806.entry.js} +2 -2
  118. package/dist/elements/{p-4383e1bb.entry.js → p-87af433a.entry.js} +2 -2
  119. package/dist/elements/{p-f96384f2.entry.js → p-87eb06bc.entry.js} +2 -2
  120. package/dist/elements/p-8a691722.entry.js +2 -0
  121. package/dist/elements/{p-95161a5d.entry.js.map → p-8a691722.entry.js.map} +1 -1
  122. package/dist/elements/{p-e8268c7a.entry.js → p-8c13ce70.entry.js} +2 -2
  123. package/dist/elements/{p-b64a85bf.entry.js → p-8f6d4374.entry.js} +2 -2
  124. package/dist/elements/{p-949b115f.js → p-91025a2c.js} +3 -3
  125. package/dist/elements/{p-71835d6f.entry.js → p-95036276.entry.js} +2 -2
  126. package/dist/elements/{p-42169e41.js → p-97889672.js} +2 -2
  127. package/dist/elements/p-97fa472f.entry.js +2 -0
  128. package/dist/elements/{p-a06d93c7.entry.js.map → p-97fa472f.entry.js.map} +1 -1
  129. package/dist/elements/{p-8b209e66.entry.js → p-9840f300.entry.js} +2 -2
  130. package/dist/elements/p-98b2844f.js +5 -0
  131. package/dist/elements/{p-fa19a3e9.entry.js → p-9d23baee.entry.js} +2 -2
  132. package/dist/elements/{p-7e8b8df1.entry.js → p-9d6c94d3.entry.js} +2 -2
  133. package/dist/elements/{p-41854c8f.entry.js → p-9d81c061.entry.js} +2 -2
  134. package/dist/elements/{p-dadb557e.entry.js → p-a19fb8fa.entry.js} +4 -4
  135. package/dist/elements/{p-9a4bf79e.entry.js → p-a7c9aa13.entry.js} +2 -2
  136. package/dist/elements/{p-0ee8b7a7.js → p-acfa402f.js} +2 -2
  137. package/dist/elements/{p-facc0ac5.entry.js → p-af03cfbe.entry.js} +2 -2
  138. package/dist/elements/{p-b8bd7745.entry.js → p-af2b9ecb.entry.js} +2 -2
  139. package/dist/elements/{p-cbf050d6.js → p-b110cb49.js} +2 -2
  140. package/dist/elements/{p-09d80405.entry.js → p-b1292dde.entry.js} +2 -2
  141. package/dist/elements/{p-4ccdbcbf.entry.js → p-b1de75a4.entry.js} +2 -2
  142. package/dist/elements/p-b2c94853.entry.js +2 -0
  143. package/dist/elements/{p-250d4bf1.entry.js.map → p-b2c94853.entry.js.map} +1 -1
  144. package/dist/elements/{p-a376351f.entry.js → p-b34203cd.entry.js} +2 -2
  145. package/dist/elements/{p-dc709055.entry.js → p-b954a40f.entry.js} +2 -2
  146. package/dist/elements/{p-1fc8e557.js → p-bde7428a.js} +2 -2
  147. package/dist/elements/{p-734e5a97.js → p-bf5335d4.js} +2 -2
  148. package/dist/elements/p-c1df6af7.js +8 -0
  149. package/dist/elements/{p-cbae963d.js → p-c30eb80f.js} +3 -3
  150. package/dist/elements/{p-4c078751.entry.js → p-c4332c66.entry.js} +2 -2
  151. package/dist/elements/{p-8e1c68eb.entry.js → p-c466d5bf.entry.js} +2 -2
  152. package/dist/elements/{p-36caf749.entry.js → p-c4894c44.entry.js} +2 -2
  153. package/dist/elements/{p-87c81685.entry.js → p-c4e1867e.entry.js} +2 -2
  154. package/dist/elements/{p-645632a8.entry.js → p-c7db2b55.entry.js} +5 -5
  155. package/dist/elements/p-cb3e5072.entry.js +2 -0
  156. package/dist/elements/{p-49fcec88.entry.js → p-d54d552d.entry.js} +6 -6
  157. package/dist/elements/{p-2a548485.entry.js → p-d7b597ed.entry.js} +2 -2
  158. package/dist/elements/p-da0c771e.js +5 -0
  159. package/dist/elements/{p-7183a9ca.entry.js → p-dbb94429.entry.js} +2 -2
  160. package/dist/elements/{p-c9604122.entry.js → p-de6d7967.entry.js} +2 -2
  161. package/dist/elements/p-e05f218c.entry.js +2 -0
  162. package/dist/elements/{p-2f0509be.entry.js.map → p-e05f218c.entry.js.map} +1 -1
  163. package/dist/elements/{p-b5f6b322.entry.js → p-e15ff70c.entry.js} +2 -2
  164. package/dist/elements/p-e43d654c.js +5 -0
  165. package/dist/elements/{p-01981011.entry.js → p-e7fbd427.entry.js} +2 -2
  166. package/dist/elements/{p-d61d280b.js → p-e912617c.js} +3 -3
  167. package/dist/elements/{p-da0d920d.js → p-ebe1c8ca.js} +2 -2
  168. package/dist/elements/{p-d872fe3e.entry.js → p-ec283f66.entry.js} +2 -2
  169. package/dist/elements/p-ec7a6c44.js +2 -0
  170. package/dist/elements/{p-f40b3ec6.entry.js → p-ed22dcc0.entry.js} +2 -2
  171. package/dist/elements/{p-05fff093.entry.js → p-eeaffc3b.entry.js} +2 -2
  172. package/dist/elements/p-f2c0c8a9.js +5 -0
  173. package/dist/elements/{p-c186950b.entry.js → p-f3bf8ff7.entry.js} +2 -2
  174. package/dist/elements/{p-5441ae35.entry.js → p-fb740291.entry.js} +2 -2
  175. package/dist/elements/{p-5bf40440.entry.js → p-fbff274c.entry.js} +2 -2
  176. package/dist/elements/{p-266d2934.entry.js → p-fd84af22.entry.js} +2 -2
  177. package/dist/elements/{p-a08f0446.entry.js → p-ff684bff.entry.js} +2 -2
  178. package/dist/esm/{BrokenFile-d387a173.js → BrokenFile-0b9882ef.js} +2 -2
  179. package/dist/esm/{BrokenFile-d387a173.js.map → BrokenFile-0b9882ef.js.map} +1 -1
  180. package/dist/esm/{animation-43b39c85.js → animation-756697b9.js} +2 -2
  181. package/dist/esm/{animation-43b39c85.js.map → animation-756697b9.js.map} +1 -1
  182. package/dist/esm/{app-globals-f420d326.js → app-globals-31ecda4c.js} +2 -2
  183. package/dist/esm/{app-globals-f420d326.js.map → app-globals-31ecda4c.js.map} +1 -1
  184. package/dist/esm/elements.js +5 -5
  185. package/dist/esm/{form-controller-3b50bf52.js → form-controller-8a54002c.js} +2 -2
  186. package/dist/esm/{form-controller-3b50bf52.js.map → form-controller-8a54002c.js.map} +1 -1
  187. package/dist/esm/{framework-delegate-c5179013.js → framework-delegate-65b5c396.js} +2 -2
  188. package/dist/esm/{framework-delegate-c5179013.js.map → framework-delegate-65b5c396.js.map} +1 -1
  189. package/dist/esm/{hardware-back-button-12e771ad.js → hardware-back-button-87b1549b.js} +3 -3
  190. package/dist/esm/{hardware-back-button-12e771ad.js.map → hardware-back-button-87b1549b.js.map} +1 -1
  191. package/dist/esm/{helpers-c51da066.js → helpers-bc137989.js} +2 -2
  192. package/dist/esm/{helpers-c51da066.js.map → helpers-bc137989.js.map} +1 -1
  193. package/dist/esm/{index-9725d917.js → index-46d8987d.js} +2 -2
  194. package/dist/esm/{index-9725d917.js.map → index-46d8987d.js.map} +1 -1
  195. package/dist/esm/{index-12e18dab.js → index-81865f43.js} +2 -2
  196. package/dist/esm/{index-12e18dab.js.map → index-81865f43.js.map} +1 -1
  197. package/dist/esm/{index-9edae53a.js → index-a51d17dd.js} +2 -2
  198. package/dist/esm/{index-9edae53a.js.map → index-a51d17dd.js.map} +1 -1
  199. package/dist/esm/{index-7462d21e.js → index-cbb71797.js} +5 -5
  200. package/dist/esm/{index-7462d21e.js.map → index-cbb71797.js.map} +1 -1
  201. package/dist/esm/{index-842e2941.js → index-e7f761c9.js} +2 -2
  202. package/dist/esm/{index-842e2941.js.map → index-e7f761c9.js.map} +1 -1
  203. package/dist/esm/{index-ccbcf170.js → index-fa9f8152.js} +5 -5
  204. package/dist/esm/{index-ccbcf170.js.map → index-fa9f8152.js.map} +1 -1
  205. package/dist/esm/{input-shims-0cb1bad1.js → input-shims-10923fa6.js} +3 -3
  206. package/dist/esm/{input-shims-0cb1bad1.js.map → input-shims-10923fa6.js.map} +1 -1
  207. package/dist/esm/{input.utils-0e2bf61a.js → input.utils-5fe0312f.js} +2 -2
  208. package/dist/esm/{input.utils-0e2bf61a.js.map → input.utils-5fe0312f.js.map} +1 -1
  209. package/dist/esm/ion-accordion-group.entry.js +2 -2
  210. package/dist/esm/ion-accordion.entry.js +4 -4
  211. package/dist/esm/ion-action-sheet_3.entry.js +7 -7
  212. package/dist/esm/ion-app.entry.js +7 -7
  213. package/dist/esm/ion-avatar.entry.js +2 -2
  214. package/dist/esm/ion-back-button.entry.js +4 -4
  215. package/dist/esm/ion-backdrop.entry.js +2 -2
  216. package/dist/esm/ion-badge_5.entry.js +2 -2
  217. package/dist/esm/ion-breadcrumb.entry.js +4 -4
  218. package/dist/esm/ion-breadcrumbs.entry.js +2 -2
  219. package/dist/esm/ion-button_4.entry.js +3 -3
  220. package/dist/esm/ion-card-content.entry.js +2 -2
  221. package/dist/esm/ion-card-header.entry.js +2 -2
  222. package/dist/esm/ion-card-subtitle.entry.js +2 -2
  223. package/dist/esm/ion-card-title.entry.js +2 -2
  224. package/dist/esm/ion-card.entry.js +3 -3
  225. package/dist/esm/ion-checkbox_7.entry.js +5 -5
  226. package/dist/esm/ion-chip.entry.js +2 -2
  227. package/dist/esm/ion-col.entry.js +2 -2
  228. package/dist/esm/ion-content.entry.js +3 -3
  229. package/dist/esm/ion-datetime-button.entry.js +3 -3
  230. package/dist/esm/ion-datetime.entry.js +4 -4
  231. package/dist/esm/ion-fab-button.entry.js +4 -4
  232. package/dist/esm/ion-fab-list.entry.js +2 -2
  233. package/dist/esm/ion-fab.entry.js +2 -2
  234. package/dist/esm/ion-footer.entry.js +4 -4
  235. package/dist/esm/ion-grid.entry.js +2 -2
  236. package/dist/esm/ion-header.entry.js +4 -4
  237. package/dist/esm/ion-icon_31.entry.js +302 -451
  238. package/dist/esm/ion-icon_31.entry.js.map +1 -1
  239. package/dist/esm/ion-img.entry.js +3 -3
  240. package/dist/esm/ion-infinite-scroll-content.entry.js +2 -2
  241. package/dist/esm/ion-infinite-scroll.entry.js +4 -4
  242. package/dist/esm/ion-input.entry.js +7 -7
  243. package/dist/esm/ion-item-divider.entry.js +2 -2
  244. package/dist/esm/ion-item-group.entry.js +2 -2
  245. package/dist/esm/ion-item-option.entry.js +2 -2
  246. package/dist/esm/ion-item-options.entry.js +3 -3
  247. package/dist/esm/ion-item-sliding.entry.js +4 -4
  248. package/dist/esm/ion-loading.entry.js +7 -7
  249. package/dist/esm/ion-menu-button.entry.js +8 -8
  250. package/dist/esm/ion-menu-toggle.entry.js +7 -7
  251. package/dist/esm/ion-menu.entry.js +8 -8
  252. package/dist/esm/ion-modal.entry.js +9 -9
  253. package/dist/esm/ion-nav-link.entry.js +1 -1
  254. package/dist/esm/ion-nav.entry.js +6 -6
  255. package/dist/esm/ion-note.entry.js +2 -2
  256. package/dist/esm/ion-picker-column.entry.js +3 -3
  257. package/dist/esm/ion-picker.entry.js +7 -7
  258. package/dist/esm/ion-popover.entry.js +8 -8
  259. package/dist/esm/ion-range.entry.js +5 -5
  260. package/dist/esm/ion-refresher-content.entry.js +6 -6
  261. package/dist/esm/ion-refresher.entry.js +6 -6
  262. package/dist/esm/ion-reorder-group.entry.js +4 -4
  263. package/dist/esm/ion-reorder.entry.js +3 -3
  264. package/dist/esm/ion-route-redirect.entry.js +1 -1
  265. package/dist/esm/ion-route.entry.js +1 -1
  266. package/dist/esm/ion-router-link.entry.js +2 -2
  267. package/dist/esm/ion-router-outlet.entry.js +6 -6
  268. package/dist/esm/ion-router.entry.js +2 -2
  269. package/dist/esm/ion-row.entry.js +2 -2
  270. package/dist/{components/searchbar.js → esm/ion-searchbar.entry.js} +17 -70
  271. package/dist/esm/ion-searchbar.entry.js.map +1 -0
  272. package/dist/esm/ion-segment-button.entry.js +3 -3
  273. package/dist/esm/ion-segment.entry.js +3 -3
  274. package/dist/esm/ion-select-option.entry.js +2 -2
  275. package/dist/esm/ion-select.entry.js +9 -9
  276. package/dist/esm/ion-spinner.entry.js +2 -2
  277. package/dist/esm/ion-split-pane.entry.js +2 -2
  278. package/dist/esm/ion-tab-bar.entry.js +2 -2
  279. package/dist/esm/ion-tab-button.entry.js +3 -3
  280. package/dist/esm/ion-tab.entry.js +3 -3
  281. package/dist/esm/ion-tabs.entry.js +1 -1
  282. package/dist/esm/ion-text.entry.js +2 -2
  283. package/dist/esm/ion-textarea.entry.js +6 -6
  284. package/dist/esm/ion-thumbnail.entry.js +2 -2
  285. package/dist/esm/ion-title.entry.js +2 -2
  286. package/dist/esm/ion-toggle.entry.js +5 -5
  287. package/dist/esm/ion-toolbar.entry.js +2 -2
  288. package/dist/esm/{ionic-global-07f989af.js → ionic-global-dc58df6a.js} +2 -2
  289. package/dist/esm/{ionic-global-07f989af.js.map → ionic-global-dc58df6a.js.map} +1 -1
  290. package/dist/esm/{ios.transition-02b5b74a.js → ios.transition-cd6a57b8.js} +5 -5
  291. package/dist/esm/{ios.transition-02b5b74a.js.map → ios.transition-cd6a57b8.js.map} +1 -1
  292. package/dist/esm/loader.js +5 -5
  293. package/dist/esm/{md.transition-0e6cf607.js → md.transition-a2999731.js} +5 -5
  294. package/dist/esm/{md.transition-0e6cf607.js.map → md.transition-a2999731.js.map} +1 -1
  295. package/dist/esm/{menu-toggle-util-6257f7b5.js → menu-toggle-util-5d79b187.js} +2 -2
  296. package/dist/esm/{menu-toggle-util-6257f7b5.js.map → menu-toggle-util-5d79b187.js.map} +1 -1
  297. package/dist/esm/{notch-controller-79926902.js → notch-controller-ce206c7f.js} +2 -2
  298. package/dist/esm/{notch-controller-79926902.js.map → notch-controller-ce206c7f.js.map} +1 -1
  299. package/dist/esm/{overlays-ef03d5bd.js → overlays-d7fc4ce2.js} +5 -5
  300. package/dist/esm/{overlays-ef03d5bd.js.map → overlays-d7fc4ce2.js.map} +1 -1
  301. package/dist/esm/pos-app-document-viewer.entry.js +1 -1
  302. package/dist/esm/pos-app-generic.entry.js +1 -1
  303. package/dist/esm/pos-app-image-viewer.entry.js +1 -1
  304. package/dist/esm/pos-app-ldp-container.entry.js +1 -1
  305. package/dist/esm/pos-app-rdf-document.entry.js +1 -1
  306. package/dist/esm/pos-container-contents.entry.js +1 -1
  307. package/dist/esm/pos-container-item.entry.js +1 -1
  308. package/dist/esm/pos-document.entry.js +2 -2
  309. package/dist/esm/pos-list.entry.js +1 -1
  310. package/dist/esm/pos-relations_2.entry.js +1 -1
  311. package/dist/esm/pos-subjects.entry.js +1 -1
  312. package/dist/esm/pos-value.entry.js +1 -1
  313. package/dist/esm/{refresher.utils-d191622d.js → refresher.utils-e60a7dd8.js} +4 -4
  314. package/dist/esm/{refresher.utils-d191622d.js.map → refresher.utils-e60a7dd8.js.map} +1 -1
  315. package/dist/esm/{status-tap-cdf580e7.js → status-tap-a4c12279.js} +4 -4
  316. package/dist/esm/{status-tap-cdf580e7.js.map → status-tap-a4c12279.js.map} +1 -1
  317. package/dist/esm/{swipe-back-698e6532.js → swipe-back-c940b28a.js} +2 -2
  318. package/dist/esm/{swipe-back-698e6532.js.map → swipe-back-c940b28a.js.map} +1 -1
  319. package/dist/types/apps/pos-app-browser/pos-app-browser.d.ts +2 -1
  320. package/dist/types/components/pos-navigation/__test/typeToSearch.d.ts +1 -0
  321. package/dist/types/components/pos-navigation/bar/pos-navigation-bar.d.ts +10 -0
  322. package/dist/types/components/pos-navigation/pos-navigation.d.ts +44 -0
  323. package/dist/types/components.d.ts +48 -7
  324. package/package.json +1 -1
  325. package/dist/collection/components/pos-navigation-bar/pos-navigation-bar.css +0 -51
  326. package/dist/collection/components/pos-navigation-bar/pos-navigation-bar.js.map +0 -1
  327. package/dist/elements/p-07773ed5.entry.js +0 -2
  328. package/dist/elements/p-250d4bf1.entry.js +0 -2
  329. package/dist/elements/p-2f0509be.entry.js +0 -2
  330. package/dist/elements/p-4c78c8c9.js +0 -5
  331. package/dist/elements/p-523432d1.js +0 -2
  332. package/dist/elements/p-627826b0.entry.js +0 -2
  333. package/dist/elements/p-66a58eb0.entry.js +0 -2
  334. package/dist/elements/p-7f53778f.entry.js +0 -2
  335. package/dist/elements/p-8f6d1cbe.entry.js +0 -2
  336. package/dist/elements/p-932de51e.js +0 -8
  337. package/dist/elements/p-95161a5d.entry.js +0 -2
  338. package/dist/elements/p-a06d93c7.entry.js +0 -2
  339. package/dist/elements/p-a13569cf.entry.js +0 -2
  340. package/dist/elements/p-a37a2712.js +0 -5
  341. package/dist/elements/p-b34f1af4.entry.js +0 -20
  342. package/dist/elements/p-b34f1af4.entry.js.map +0 -1
  343. package/dist/elements/p-bca341ba.entry.js +0 -2
  344. package/dist/elements/p-bdea20c4.entry.js +0 -2
  345. package/dist/elements/p-c01a4a79.entry.js +0 -2
  346. package/dist/elements/p-c452a2e9.js +0 -5
  347. package/dist/elements/p-d1e7b393.js +0 -5
  348. package/dist/elements/p-d358565a.entry.js +0 -2
  349. package/dist/elements/p-eba70ed1.js +0 -6
  350. package/dist/elements/p-f67bba50.js +0 -5
  351. package/dist/types/components/pos-navigation-bar/pos-navigation-bar.d.ts +0 -25
  352. /package/dist/elements/{p-a6c03ce8.js.map → p-01adc2b7.js.map} +0 -0
  353. /package/dist/elements/{p-7190d53c.entry.js.map → p-09ff1516.entry.js.map} +0 -0
  354. /package/dist/elements/{p-307d1531.js.map → p-0a6631d5.js.map} +0 -0
  355. /package/dist/elements/{p-c698ab8e.entry.js.map → p-0b3d14ec.entry.js.map} +0 -0
  356. /package/dist/elements/{p-d8818bb3.entry.js.map → p-0d4f129d.entry.js.map} +0 -0
  357. /package/dist/elements/{p-07773ed5.entry.js.map → p-104fee38.entry.js.map} +0 -0
  358. /package/dist/elements/{p-6cc9961e.entry.js.map → p-11466af2.entry.js.map} +0 -0
  359. /package/dist/elements/{p-3e6ffc13.entry.js.map → p-11845ff3.entry.js.map} +0 -0
  360. /package/dist/elements/{p-a507d627.entry.js.map → p-151d1ec8.entry.js.map} +0 -0
  361. /package/dist/elements/{p-89aef852.js.map → p-1930ffd5.js.map} +0 -0
  362. /package/dist/elements/{p-aa7d93f1.entry.js.map → p-1a1222a3.entry.js.map} +0 -0
  363. /package/dist/elements/{p-4dd65d40.entry.js.map → p-1e05efd7.entry.js.map} +0 -0
  364. /package/dist/elements/{p-f50c3045.entry.js.map → p-1faf2d02.entry.js.map} +0 -0
  365. /package/dist/elements/{p-a421bbe5.entry.js.map → p-21e90439.entry.js.map} +0 -0
  366. /package/dist/elements/{p-552a9992.entry.js.map → p-22c21319.entry.js.map} +0 -0
  367. /package/dist/elements/{p-66973c59.entry.js.map → p-24d93ddd.entry.js.map} +0 -0
  368. /package/dist/elements/{p-8f6d1cbe.entry.js.map → p-258f2385.entry.js.map} +0 -0
  369. /package/dist/elements/{p-72a9cbdc.entry.js.map → p-27bd8113.entry.js.map} +0 -0
  370. /package/dist/elements/{p-c350af00.entry.js.map → p-2948d57b.entry.js.map} +0 -0
  371. /package/dist/elements/{p-41bb9792.entry.js.map → p-2cdaf88b.entry.js.map} +0 -0
  372. /package/dist/elements/{p-fa0be1d8.entry.js.map → p-2e08ee3a.entry.js.map} +0 -0
  373. /package/dist/elements/{p-239442f9.entry.js.map → p-2e0c20e7.entry.js.map} +0 -0
  374. /package/dist/elements/{p-627826b0.entry.js.map → p-2ec92ff9.entry.js.map} +0 -0
  375. /package/dist/elements/{p-8e8881a8.entry.js.map → p-30834f34.entry.js.map} +0 -0
  376. /package/dist/elements/{p-eba70ed1.js.map → p-30cd90ec.js.map} +0 -0
  377. /package/dist/elements/{p-ae984107.entry.js.map → p-3585f786.entry.js.map} +0 -0
  378. /package/dist/elements/{p-d08312dd.entry.js.map → p-35f84573.entry.js.map} +0 -0
  379. /package/dist/elements/{p-ffa8c481.entry.js.map → p-3f02cc92.entry.js.map} +0 -0
  380. /package/dist/elements/{p-71ee259b.js.map → p-3f316fc4.js.map} +0 -0
  381. /package/dist/elements/{p-bc675b21.entry.js.map → p-3f3b74e6.entry.js.map} +0 -0
  382. /package/dist/elements/{p-7f53778f.entry.js.map → p-40a2d567.entry.js.map} +0 -0
  383. /package/dist/elements/{p-e78cf007.entry.js.map → p-4dc7c524.entry.js.map} +0 -0
  384. /package/dist/elements/{p-c191e6df.js.map → p-4e8c31fa.js.map} +0 -0
  385. /package/dist/elements/{p-a45b1964.entry.js.map → p-5051d2a6.entry.js.map} +0 -0
  386. /package/dist/elements/{p-e0de7c6a.entry.js.map → p-5a061ddb.entry.js.map} +0 -0
  387. /package/dist/elements/{p-061819d1.js.map → p-5a8e7149.js.map} +0 -0
  388. /package/dist/elements/{p-4c78c8c9.js.map → p-5bf4c45a.js.map} +0 -0
  389. /package/dist/elements/{p-b9dcf3b2.js.map → p-5e8a3893.js.map} +0 -0
  390. /package/dist/elements/{p-300ec095.entry.js.map → p-602861f4.entry.js.map} +0 -0
  391. /package/dist/elements/{p-4a370bdc.entry.js.map → p-627d5e73.entry.js.map} +0 -0
  392. /package/dist/elements/{p-406df11a.entry.js.map → p-648dac6c.entry.js.map} +0 -0
  393. /package/dist/elements/{p-07d2bd5a.entry.js.map → p-650db824.entry.js.map} +0 -0
  394. /package/dist/elements/{p-cb550d04.entry.js.map → p-682dd0f9.entry.js.map} +0 -0
  395. /package/dist/elements/{p-59ec8b76.entry.js.map → p-689a5c54.entry.js.map} +0 -0
  396. /package/dist/elements/{p-d6394ee4.entry.js.map → p-6a701de0.entry.js.map} +0 -0
  397. /package/dist/elements/{p-f4035b4a.entry.js.map → p-6ca9bad7.entry.js.map} +0 -0
  398. /package/dist/elements/{p-25926b66.entry.js.map → p-6cae9207.entry.js.map} +0 -0
  399. /package/dist/elements/{p-6119b57a.entry.js.map → p-6e5c902a.entry.js.map} +0 -0
  400. /package/dist/elements/{p-0ddcbecd.entry.js.map → p-72ba182e.entry.js.map} +0 -0
  401. /package/dist/elements/{p-1b2d32c1.entry.js.map → p-8619a806.entry.js.map} +0 -0
  402. /package/dist/elements/{p-4383e1bb.entry.js.map → p-87af433a.entry.js.map} +0 -0
  403. /package/dist/elements/{p-f96384f2.entry.js.map → p-87eb06bc.entry.js.map} +0 -0
  404. /package/dist/elements/{p-e8268c7a.entry.js.map → p-8c13ce70.entry.js.map} +0 -0
  405. /package/dist/elements/{p-b64a85bf.entry.js.map → p-8f6d4374.entry.js.map} +0 -0
  406. /package/dist/elements/{p-949b115f.js.map → p-91025a2c.js.map} +0 -0
  407. /package/dist/elements/{p-71835d6f.entry.js.map → p-95036276.entry.js.map} +0 -0
  408. /package/dist/elements/{p-42169e41.js.map → p-97889672.js.map} +0 -0
  409. /package/dist/elements/{p-8b209e66.entry.js.map → p-9840f300.entry.js.map} +0 -0
  410. /package/dist/elements/{p-a37a2712.js.map → p-98b2844f.js.map} +0 -0
  411. /package/dist/elements/{p-fa19a3e9.entry.js.map → p-9d23baee.entry.js.map} +0 -0
  412. /package/dist/elements/{p-7e8b8df1.entry.js.map → p-9d6c94d3.entry.js.map} +0 -0
  413. /package/dist/elements/{p-41854c8f.entry.js.map → p-9d81c061.entry.js.map} +0 -0
  414. /package/dist/elements/{p-dadb557e.entry.js.map → p-a19fb8fa.entry.js.map} +0 -0
  415. /package/dist/elements/{p-9a4bf79e.entry.js.map → p-a7c9aa13.entry.js.map} +0 -0
  416. /package/dist/elements/{p-0ee8b7a7.js.map → p-acfa402f.js.map} +0 -0
  417. /package/dist/elements/{p-facc0ac5.entry.js.map → p-af03cfbe.entry.js.map} +0 -0
  418. /package/dist/elements/{p-b8bd7745.entry.js.map → p-af2b9ecb.entry.js.map} +0 -0
  419. /package/dist/elements/{p-cbf050d6.js.map → p-b110cb49.js.map} +0 -0
  420. /package/dist/elements/{p-09d80405.entry.js.map → p-b1292dde.entry.js.map} +0 -0
  421. /package/dist/elements/{p-4ccdbcbf.entry.js.map → p-b1de75a4.entry.js.map} +0 -0
  422. /package/dist/elements/{p-a376351f.entry.js.map → p-b34203cd.entry.js.map} +0 -0
  423. /package/dist/elements/{p-dc709055.entry.js.map → p-b954a40f.entry.js.map} +0 -0
  424. /package/dist/elements/{p-1fc8e557.js.map → p-bde7428a.js.map} +0 -0
  425. /package/dist/elements/{p-734e5a97.js.map → p-bf5335d4.js.map} +0 -0
  426. /package/dist/elements/{p-932de51e.js.map → p-c1df6af7.js.map} +0 -0
  427. /package/dist/elements/{p-cbae963d.js.map → p-c30eb80f.js.map} +0 -0
  428. /package/dist/elements/{p-4c078751.entry.js.map → p-c4332c66.entry.js.map} +0 -0
  429. /package/dist/elements/{p-8e1c68eb.entry.js.map → p-c466d5bf.entry.js.map} +0 -0
  430. /package/dist/elements/{p-36caf749.entry.js.map → p-c4894c44.entry.js.map} +0 -0
  431. /package/dist/elements/{p-87c81685.entry.js.map → p-c4e1867e.entry.js.map} +0 -0
  432. /package/dist/elements/{p-645632a8.entry.js.map → p-c7db2b55.entry.js.map} +0 -0
  433. /package/dist/elements/{p-a13569cf.entry.js.map → p-cb3e5072.entry.js.map} +0 -0
  434. /package/dist/elements/{p-49fcec88.entry.js.map → p-d54d552d.entry.js.map} +0 -0
  435. /package/dist/elements/{p-2a548485.entry.js.map → p-d7b597ed.entry.js.map} +0 -0
  436. /package/dist/elements/{p-c452a2e9.js.map → p-da0c771e.js.map} +0 -0
  437. /package/dist/elements/{p-7183a9ca.entry.js.map → p-dbb94429.entry.js.map} +0 -0
  438. /package/dist/elements/{p-c9604122.entry.js.map → p-de6d7967.entry.js.map} +0 -0
  439. /package/dist/elements/{p-b5f6b322.entry.js.map → p-e15ff70c.entry.js.map} +0 -0
  440. /package/dist/elements/{p-f67bba50.js.map → p-e43d654c.js.map} +0 -0
  441. /package/dist/elements/{p-01981011.entry.js.map → p-e7fbd427.entry.js.map} +0 -0
  442. /package/dist/elements/{p-d61d280b.js.map → p-e912617c.js.map} +0 -0
  443. /package/dist/elements/{p-da0d920d.js.map → p-ebe1c8ca.js.map} +0 -0
  444. /package/dist/elements/{p-d872fe3e.entry.js.map → p-ec283f66.entry.js.map} +0 -0
  445. /package/dist/elements/{p-523432d1.js.map → p-ec7a6c44.js.map} +0 -0
  446. /package/dist/elements/{p-f40b3ec6.entry.js.map → p-ed22dcc0.entry.js.map} +0 -0
  447. /package/dist/elements/{p-05fff093.entry.js.map → p-eeaffc3b.entry.js.map} +0 -0
  448. /package/dist/elements/{p-d1e7b393.js.map → p-f2c0c8a9.js.map} +0 -0
  449. /package/dist/elements/{p-c186950b.entry.js.map → p-f3bf8ff7.entry.js.map} +0 -0
  450. /package/dist/elements/{p-5441ae35.entry.js.map → p-fb740291.entry.js.map} +0 -0
  451. /package/dist/elements/{p-5bf40440.entry.js.map → p-fbff274c.entry.js.map} +0 -0
  452. /package/dist/elements/{p-266d2934.entry.js.map → p-fd84af22.entry.js.map} +0 -0
  453. /package/dist/elements/{p-a08f0446.entry.js.map → p-ff684bff.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{r as t,i,h as e,H as s,e as r}from"./p-42169e41.js";import{c as n}from"./p-71ee259b.js";import{b as o,c as p,a}from"./p-c8020dbc.js";import{g as h}from"./p-669fab6c.js";import{g as c}from"./p-da0d920d.js";import"./p-21b22219.js";import"./p-7efd6867.js";const l=".picker-col{display:flex;position:relative;flex:1;justify-content:center;height:100%;box-sizing:content-box;contain:content}.picker-opts{position:relative;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}@supports (inset-inline-start: 0){.picker-opt{inset-inline-start:0}}@supports not (inset-inline-start: 0){.picker-opt{left:0}:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}[dir=rtl] .picker-opt{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){left:unset;right:unset;right:0}}}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{justify-content:flex-start}.picker-opts-right{justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:0;padding-bottom:0;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;transform-style:preserve-3d;color:inherit;font-size:20px;line-height:42px;pointer-events:none}.picker-opt{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;transform-origin:center center;height:46px;transform-style:preserve-3d;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:20px;line-height:42px;backface-visibility:hidden;pointer-events:auto}:host-context([dir=rtl]) .picker-opt{transform-origin:calc(100% - center) center}[dir=rtl] .picker-opt{transform-origin:calc(100% - center) center}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){transform-origin:calc(100% - center) center}}";const d=l;const f=".picker-col{display:flex;position:relative;flex:1;justify-content:center;height:100%;box-sizing:content-box;contain:content}.picker-opts{position:relative;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}@supports (inset-inline-start: 0){.picker-opt{inset-inline-start:0}}@supports not (inset-inline-start: 0){.picker-opt{left:0}:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}[dir=rtl] .picker-opt{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){left:unset;right:unset;right:0}}}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{justify-content:flex-start}.picker-opts-right{justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;transform-style:preserve-3d;color:inherit;font-size:22px;line-height:42px;pointer-events:none}.picker-opt{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;height:43px;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:22px;line-height:42px;backface-visibility:hidden;pointer-events:auto}.picker-prefix,.picker-suffix,.picker-opt.picker-opt-selected{color:var(--ion-color-primary, #3880ff)}";const g=f;const u=class{constructor(e){t(this,e);this.ionPickerColChange=i(this,"ionPickerColChange",7);this.optHeight=0;this.rotateFactor=0;this.scaleFactor=1;this.velocity=0;this.y=0;this.noAnimate=true;this.colDidChange=false;this.col=undefined}colChanged(){this.colDidChange=true}async connectedCallback(){let t=0;let i=.81;const e=c(this);if(e==="ios"){t=-.46;i=1}this.rotateFactor=t;this.scaleFactor=i;this.gesture=(await import("./p-b943833e.js")).createGesture({el:this.el,gestureName:"picker-swipe",gesturePriority:100,threshold:0,passive:false,onStart:t=>this.onStart(t),onMove:t=>this.onMove(t),onEnd:t=>this.onEnd(t)});this.gesture.enable();this.tmrId=setTimeout((()=>{this.noAnimate=false;this.refresh(true)}),250)}componentDidLoad(){this.onDomChange()}componentDidUpdate(){if(this.colDidChange){this.onDomChange(true,false);this.colDidChange=false}}disconnectedCallback(){if(this.rafId!==undefined)cancelAnimationFrame(this.rafId);if(this.tmrId)clearTimeout(this.tmrId);if(this.gesture){this.gesture.destroy();this.gesture=undefined}}emitColChange(){this.ionPickerColChange.emit(this.col)}setSelected(t,i){const e=t>-1?-(t*this.optHeight):0;this.velocity=0;if(this.rafId!==undefined)cancelAnimationFrame(this.rafId);this.update(e,i,true);this.emitColChange()}update(t,i,e){if(!this.optsEl){return}let s=0;let r=0;const{col:n,rotateFactor:p}=this;const a=n.selectedIndex;const h=n.selectedIndex=this.indexForY(-t);const c=i===0?"":i+"ms";const l=`scale(${this.scaleFactor})`;const d=this.optsEl.children;for(let e=0;e<d.length;e++){const o=d[e];const a=n.options[e];const f=e*this.optHeight+t;let g="";if(p!==0){const t=f*p;if(Math.abs(t)<=90){s=0;r=90;g=`rotateX(${t}deg) `}else{s=-9999}}else{r=0;s=f}const u=h===e;g+=`translate3d(0px,${s}px,${r}px) `;if(this.scaleFactor!==1&&!u){g+=l}if(this.noAnimate){a.duration=0;o.style.transitionDuration=""}else if(i!==a.duration){a.duration=i;o.style.transitionDuration=c}if(g!==a.transform){a.transform=g}o.style.transform=g;a.selected=u;if(u){o.classList.add(k)}else{o.classList.remove(k)}}this.col.prevSelected=a;if(e){this.y=t}if(this.lastIndex!==h){o();this.lastIndex=h}}decelerate(){if(this.velocity!==0){this.velocity*=x;this.velocity=this.velocity>0?Math.max(this.velocity,1):Math.min(this.velocity,-1);let t=this.y+this.velocity;if(t>this.minY){t=this.minY;this.velocity=0}else if(t<this.maxY){t=this.maxY;this.velocity=0}this.update(t,0,true);const i=Math.round(t)%this.optHeight!==0||Math.abs(this.velocity)>1;if(i){this.rafId=requestAnimationFrame((()=>this.decelerate()))}else{this.velocity=0;this.emitColChange();p()}}else if(this.y%this.optHeight!==0){const t=Math.abs(this.y%this.optHeight);this.velocity=t>this.optHeight/2?1:-1;this.decelerate()}}indexForY(t){return Math.min(Math.max(Math.abs(Math.round(t/this.optHeight)),0),this.col.options.length-1)}onStart(t){if(t.event.cancelable){t.event.preventDefault()}t.event.stopPropagation();a();if(this.rafId!==undefined)cancelAnimationFrame(this.rafId);const i=this.col.options;let e=i.length-1;let s=0;for(let t=0;t<i.length;t++){if(!i[t].disabled){e=Math.min(e,t);s=Math.max(s,t)}}this.minY=-(e*this.optHeight);this.maxY=-(s*this.optHeight)}onMove(t){if(t.event.cancelable){t.event.preventDefault()}t.event.stopPropagation();let i=this.y+t.deltaY;if(i>this.minY){i=Math.pow(i,.8);this.bounceFrom=i}else if(i<this.maxY){i+=Math.pow(this.maxY-i,.9);this.bounceFrom=i}else{this.bounceFrom=0}this.update(i,0,false)}onEnd(t){if(this.bounceFrom>0){this.update(this.minY,100,true);this.emitColChange();return}else if(this.bounceFrom<0){this.update(this.maxY,100,true);this.emitColChange();return}this.velocity=n(-m,t.velocityY*23,m);if(this.velocity===0&&t.deltaY===0){const i=t.event.target.closest(".picker-opt");if(i===null||i===void 0?void 0:i.hasAttribute("opt-index")){this.setSelected(parseInt(i.getAttribute("opt-index"),10),b)}}else{this.y+=t.deltaY;if(Math.abs(t.velocityY)<.05){const i=t.deltaY>0;const e=Math.abs(this.y)%this.optHeight/this.optHeight;if(i&&e>.5){this.velocity=Math.abs(this.velocity)*-1}else if(!i&&e<=.5){this.velocity=Math.abs(this.velocity)}}this.decelerate()}}refresh(t,i){var e;let s=this.col.options.length-1;let r=0;const o=this.col.options;for(let t=0;t<o.length;t++){if(!o[t].disabled){s=Math.min(s,t);r=Math.max(r,t)}}if(this.velocity!==0){return}const p=n(s,(e=this.col.selectedIndex)!==null&&e!==void 0?e:0,r);if(this.col.prevSelected!==p||t){const t=p*this.optHeight*-1;const e=i?b:0;this.velocity=0;this.update(t,e,true)}}onDomChange(t,i){const e=this.optsEl;if(e){this.optHeight=e.firstElementChild?e.firstElementChild.clientHeight:0}this.refresh(t,i)}render(){const t=this.col;const i=c(this);return e(s,{key:"49bb4c67a67c7318d4c305df78ceabae36355112",class:Object.assign({[i]:true,"picker-col":true,"picker-opts-left":this.col.align==="left","picker-opts-right":this.col.align==="right"},h(t.cssClass)),style:{"max-width":this.col.columnWidth}},t.prefix&&e("div",{key:"7e65761d24473e4ba0ce2d4fc707a5c5e8127903",class:"picker-prefix",style:{width:t.prefixWidth}},t.prefix),e("div",{key:"65c3aea609401e8ae4ea6d363a1b9436796c0a86",class:"picker-opts",style:{maxWidth:t.optionsWidth},ref:t=>this.optsEl=t},t.options.map(((t,i)=>e("button",{"aria-label":t.ariaLabel,class:{"picker-opt":true,"picker-opt-disabled":!!t.disabled},"opt-index":i},t.text)))),t.suffix&&e("div",{key:"c2e5a324ba95dd8832d3eb81b139e1f674d74a35",class:"picker-suffix",style:{width:t.suffixWidth}},t.suffix))}get el(){return r(this)}static get watchers(){return{col:["colChanged"]}}};const k="picker-opt-selected";const x=.97;const m=90;const b=150;u.style={ios:d,md:g};export{u as ion_picker_column};
2
- //# sourceMappingURL=p-f50c3045.entry.js.map
1
+ import{r as t,i,h as e,H as s,e as r}from"./p-97889672.js";import{c as n}from"./p-3f316fc4.js";import{b as o,c as p,a}from"./p-c8020dbc.js";import{g as c}from"./p-669fab6c.js";import{g as h}from"./p-ebe1c8ca.js";import"./p-21b22219.js";import"./p-7efd6867.js";const l=".picker-col{display:flex;position:relative;flex:1;justify-content:center;height:100%;box-sizing:content-box;contain:content}.picker-opts{position:relative;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}@supports (inset-inline-start: 0){.picker-opt{inset-inline-start:0}}@supports not (inset-inline-start: 0){.picker-opt{left:0}:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}[dir=rtl] .picker-opt{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){left:unset;right:unset;right:0}}}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{justify-content:flex-start}.picker-opts-right{justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:0;padding-bottom:0;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;transform-style:preserve-3d;color:inherit;font-size:20px;line-height:42px;pointer-events:none}.picker-opt{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;transform-origin:center center;height:46px;transform-style:preserve-3d;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:20px;line-height:42px;backface-visibility:hidden;pointer-events:auto}:host-context([dir=rtl]) .picker-opt{transform-origin:calc(100% - center) center}[dir=rtl] .picker-opt{transform-origin:calc(100% - center) center}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){transform-origin:calc(100% - center) center}}";const d=l;const f=".picker-col{display:flex;position:relative;flex:1;justify-content:center;height:100%;box-sizing:content-box;contain:content}.picker-opts{position:relative;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}@supports (inset-inline-start: 0){.picker-opt{inset-inline-start:0}}@supports not (inset-inline-start: 0){.picker-opt{left:0}:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}[dir=rtl] .picker-opt{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){left:unset;right:unset;right:0}}}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{justify-content:flex-start}.picker-opts-right{justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;transform-style:preserve-3d;color:inherit;font-size:22px;line-height:42px;pointer-events:none}.picker-opt{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;height:43px;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:22px;line-height:42px;backface-visibility:hidden;pointer-events:auto}.picker-prefix,.picker-suffix,.picker-opt.picker-opt-selected{color:var(--ion-color-primary, #3880ff)}";const g=f;const u=class{constructor(e){t(this,e);this.ionPickerColChange=i(this,"ionPickerColChange",7);this.optHeight=0;this.rotateFactor=0;this.scaleFactor=1;this.velocity=0;this.y=0;this.noAnimate=true;this.colDidChange=false;this.col=undefined}colChanged(){this.colDidChange=true}async connectedCallback(){let t=0;let i=.81;const e=h(this);if(e==="ios"){t=-.46;i=1}this.rotateFactor=t;this.scaleFactor=i;this.gesture=(await import("./p-b943833e.js")).createGesture({el:this.el,gestureName:"picker-swipe",gesturePriority:100,threshold:0,passive:false,onStart:t=>this.onStart(t),onMove:t=>this.onMove(t),onEnd:t=>this.onEnd(t)});this.gesture.enable();this.tmrId=setTimeout((()=>{this.noAnimate=false;this.refresh(true)}),250)}componentDidLoad(){this.onDomChange()}componentDidUpdate(){if(this.colDidChange){this.onDomChange(true,false);this.colDidChange=false}}disconnectedCallback(){if(this.rafId!==undefined)cancelAnimationFrame(this.rafId);if(this.tmrId)clearTimeout(this.tmrId);if(this.gesture){this.gesture.destroy();this.gesture=undefined}}emitColChange(){this.ionPickerColChange.emit(this.col)}setSelected(t,i){const e=t>-1?-(t*this.optHeight):0;this.velocity=0;if(this.rafId!==undefined)cancelAnimationFrame(this.rafId);this.update(e,i,true);this.emitColChange()}update(t,i,e){if(!this.optsEl){return}let s=0;let r=0;const{col:n,rotateFactor:p}=this;const a=n.selectedIndex;const c=n.selectedIndex=this.indexForY(-t);const h=i===0?"":i+"ms";const l=`scale(${this.scaleFactor})`;const d=this.optsEl.children;for(let e=0;e<d.length;e++){const o=d[e];const a=n.options[e];const f=e*this.optHeight+t;let g="";if(p!==0){const t=f*p;if(Math.abs(t)<=90){s=0;r=90;g=`rotateX(${t}deg) `}else{s=-9999}}else{r=0;s=f}const u=c===e;g+=`translate3d(0px,${s}px,${r}px) `;if(this.scaleFactor!==1&&!u){g+=l}if(this.noAnimate){a.duration=0;o.style.transitionDuration=""}else if(i!==a.duration){a.duration=i;o.style.transitionDuration=h}if(g!==a.transform){a.transform=g}o.style.transform=g;a.selected=u;if(u){o.classList.add(k)}else{o.classList.remove(k)}}this.col.prevSelected=a;if(e){this.y=t}if(this.lastIndex!==c){o();this.lastIndex=c}}decelerate(){if(this.velocity!==0){this.velocity*=x;this.velocity=this.velocity>0?Math.max(this.velocity,1):Math.min(this.velocity,-1);let t=this.y+this.velocity;if(t>this.minY){t=this.minY;this.velocity=0}else if(t<this.maxY){t=this.maxY;this.velocity=0}this.update(t,0,true);const i=Math.round(t)%this.optHeight!==0||Math.abs(this.velocity)>1;if(i){this.rafId=requestAnimationFrame((()=>this.decelerate()))}else{this.velocity=0;this.emitColChange();p()}}else if(this.y%this.optHeight!==0){const t=Math.abs(this.y%this.optHeight);this.velocity=t>this.optHeight/2?1:-1;this.decelerate()}}indexForY(t){return Math.min(Math.max(Math.abs(Math.round(t/this.optHeight)),0),this.col.options.length-1)}onStart(t){if(t.event.cancelable){t.event.preventDefault()}t.event.stopPropagation();a();if(this.rafId!==undefined)cancelAnimationFrame(this.rafId);const i=this.col.options;let e=i.length-1;let s=0;for(let t=0;t<i.length;t++){if(!i[t].disabled){e=Math.min(e,t);s=Math.max(s,t)}}this.minY=-(e*this.optHeight);this.maxY=-(s*this.optHeight)}onMove(t){if(t.event.cancelable){t.event.preventDefault()}t.event.stopPropagation();let i=this.y+t.deltaY;if(i>this.minY){i=Math.pow(i,.8);this.bounceFrom=i}else if(i<this.maxY){i+=Math.pow(this.maxY-i,.9);this.bounceFrom=i}else{this.bounceFrom=0}this.update(i,0,false)}onEnd(t){if(this.bounceFrom>0){this.update(this.minY,100,true);this.emitColChange();return}else if(this.bounceFrom<0){this.update(this.maxY,100,true);this.emitColChange();return}this.velocity=n(-m,t.velocityY*23,m);if(this.velocity===0&&t.deltaY===0){const i=t.event.target.closest(".picker-opt");if(i===null||i===void 0?void 0:i.hasAttribute("opt-index")){this.setSelected(parseInt(i.getAttribute("opt-index"),10),b)}}else{this.y+=t.deltaY;if(Math.abs(t.velocityY)<.05){const i=t.deltaY>0;const e=Math.abs(this.y)%this.optHeight/this.optHeight;if(i&&e>.5){this.velocity=Math.abs(this.velocity)*-1}else if(!i&&e<=.5){this.velocity=Math.abs(this.velocity)}}this.decelerate()}}refresh(t,i){var e;let s=this.col.options.length-1;let r=0;const o=this.col.options;for(let t=0;t<o.length;t++){if(!o[t].disabled){s=Math.min(s,t);r=Math.max(r,t)}}if(this.velocity!==0){return}const p=n(s,(e=this.col.selectedIndex)!==null&&e!==void 0?e:0,r);if(this.col.prevSelected!==p||t){const t=p*this.optHeight*-1;const e=i?b:0;this.velocity=0;this.update(t,e,true)}}onDomChange(t,i){const e=this.optsEl;if(e){this.optHeight=e.firstElementChild?e.firstElementChild.clientHeight:0}this.refresh(t,i)}render(){const t=this.col;const i=h(this);return e(s,{key:"49bb4c67a67c7318d4c305df78ceabae36355112",class:Object.assign({[i]:true,"picker-col":true,"picker-opts-left":this.col.align==="left","picker-opts-right":this.col.align==="right"},c(t.cssClass)),style:{"max-width":this.col.columnWidth}},t.prefix&&e("div",{key:"7e65761d24473e4ba0ce2d4fc707a5c5e8127903",class:"picker-prefix",style:{width:t.prefixWidth}},t.prefix),e("div",{key:"65c3aea609401e8ae4ea6d363a1b9436796c0a86",class:"picker-opts",style:{maxWidth:t.optionsWidth},ref:t=>this.optsEl=t},t.options.map(((t,i)=>e("button",{"aria-label":t.ariaLabel,class:{"picker-opt":true,"picker-opt-disabled":!!t.disabled},"opt-index":i},t.text)))),t.suffix&&e("div",{key:"c2e5a324ba95dd8832d3eb81b139e1f674d74a35",class:"picker-suffix",style:{width:t.suffixWidth}},t.suffix))}get el(){return r(this)}static get watchers(){return{col:["colChanged"]}}};const k="picker-opt-selected";const x=.97;const m=90;const b=150;u.style={ios:d,md:g};export{u as ion_picker_column};
2
+ //# sourceMappingURL=p-1faf2d02.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as t,i as s,w as e,h as i,H as n,e as o}from"./p-42169e41.js";import{r}from"./p-71ee259b.js";import{i as a}from"./p-4d0cb38d.js";import{c,h}from"./p-669fab6c.js";import{g as l}from"./p-da0d920d.js";const d=":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:grid;grid-auto-columns:1fr;position:relative;align-items:stretch;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;user-select:none}:host(.segment-scrollable){justify-content:start;width:auto;overflow-x:auto;grid-auto-columns:minmax(min-content, 1fr)}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.065);border-radius:8px;overflow:hidden;z-index:0}:host(.ion-color){background:rgba(var(--ion-color-base-rgb), 0.065)}:host(.in-toolbar){-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;width:auto}:host(.in-toolbar:not(.ion-color)){background:var(--ion-toolbar-segment-background, var(--background))}:host(.in-toolbar-color:not(.ion-color)){background:rgba(var(--ion-color-contrast-rgb), 0.11)}";const u=d;const f=":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:grid;grid-auto-columns:1fr;position:relative;align-items:stretch;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;user-select:none}:host(.segment-scrollable){justify-content:start;width:auto;overflow-x:auto;grid-auto-columns:minmax(min-content, 1fr)}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:transparent;grid-auto-columns:minmax(auto, 360px)}:host(.in-toolbar){min-height:var(--min-height)}:host(.segment-scrollable) ::slotted(ion-segment-button){min-width:auto}";const g=f;const m=class{constructor(e){t(this,e);this.ionChange=s(this,"ionChange",7);this.ionSelect=s(this,"ionSelect",7);this.ionStyle=s(this,"ionStyle",7);this.onClick=t=>{const s=t.target;const e=this.checked;if(s.tagName==="ION-SEGMENT"){return}this.value=s.value;if(s!==e){this.emitValueChange()}if(this.scrollable||!this.swipeGesture){if(e){this.checkButton(e,s)}else{this.setCheckedClasses()}}};this.getSegmentButton=t=>{var s,e;const i=this.getButtons().filter((t=>!t.disabled));const n=i.findIndex((t=>t===document.activeElement));switch(t){case"first":return i[0];case"last":return i[i.length-1];case"next":return(s=i[n+1])!==null&&s!==void 0?s:i[0];case"previous":return(e=i[n-1])!==null&&e!==void 0?e:i[i.length-1];default:return null}};this.activated=false;this.color=undefined;this.disabled=false;this.scrollable=false;this.swipeGesture=true;this.value=undefined;this.selectOnFocus=false}colorChanged(t,s){if(s===undefined&&t!==undefined||s!==undefined&&t===undefined){this.emitStyle()}}swipeGestureChanged(){this.gestureChanged()}valueChanged(t){this.ionSelect.emit({value:t});this.scrollActiveButtonIntoView()}disabledChanged(){this.gestureChanged();const t=this.getButtons();for(const s of t){s.disabled=this.disabled}}gestureChanged(){if(this.gesture){this.gesture.enable(!this.scrollable&&!this.disabled&&this.swipeGesture)}}connectedCallback(){this.emitStyle()}componentWillLoad(){this.emitStyle()}async componentDidLoad(){this.setCheckedClasses();this.ionSelect.emit({value:this.value});r((()=>{this.scrollActiveButtonIntoView(false)}));this.gesture=(await import("./p-b943833e.js")).createGesture({el:this.el,gestureName:"segment",gesturePriority:100,threshold:0,passive:false,onStart:t=>this.onStart(t),onMove:t=>this.onMove(t),onEnd:t=>this.onEnd(t)});this.gestureChanged();if(this.disabled){this.disabledChanged()}}onStart(t){this.valueBeforeGesture=this.value;this.activate(t)}onMove(t){this.setNextIndex(t)}onEnd(t){this.setActivated(false);this.setNextIndex(t,true);t.event.stopImmediatePropagation();const s=this.value;if(s!==undefined){if(this.valueBeforeGesture!==s){this.emitValueChange()}}this.valueBeforeGesture=undefined}emitValueChange(){const{value:t}=this;this.ionChange.emit({value:t})}getButtons(){return Array.from(this.el.querySelectorAll("ion-segment-button"))}get checked(){return this.getButtons().find((t=>t.value===this.value))}setActivated(t){const s=this.getButtons();s.forEach((s=>{if(t){s.classList.add("segment-button-activated")}else{s.classList.remove("segment-button-activated")}}));this.activated=t}activate(t){const s=t.event.target;const e=this.getButtons();const i=e.find((t=>t.value===this.value));if(s.tagName!=="ION-SEGMENT-BUTTON"){return}if(!i){this.value=s.value;this.setCheckedClasses()}if(this.value===s.value){this.setActivated(true)}}getIndicator(t){const s=t.shadowRoot||t;return s.querySelector(".segment-button-indicator")}checkButton(t,s){const i=this.getIndicator(t);const n=this.getIndicator(s);if(i===null||n===null){return}const o=i.getBoundingClientRect();const r=n.getBoundingClientRect();const a=o.width/r.width;const c=o.left-r.left;const h=`translate3d(${c}px, 0, 0) scaleX(${a})`;e((()=>{n.classList.remove("segment-button-indicator-animated");n.style.setProperty("transform",h);n.getBoundingClientRect();n.classList.add("segment-button-indicator-animated");n.style.setProperty("transform","")}));this.value=s.value;this.setCheckedClasses()}setCheckedClasses(){const t=this.getButtons();const s=t.findIndex((t=>t.value===this.value));const e=s+1;for(const s of t){s.classList.remove("segment-button-after-checked")}if(e<t.length){t[e].classList.add("segment-button-after-checked")}}scrollActiveButtonIntoView(t=true){const{scrollable:s,value:e,el:i}=this;if(s){const s=this.getButtons();const n=s.find((t=>t.value===e));if(n!==undefined){const s=i.getBoundingClientRect();const e=n.getBoundingClientRect();const o=e.x-s.x;const r=o-s.width/2+e.width/2;i.scrollBy({top:0,left:r,behavior:t?"smooth":"instant"})}}}setNextIndex(t,s=false){const e=a(this.el);const i=this.activated;const n=this.getButtons();const o=n.findIndex((t=>t.value===this.value));const r=n[o];let c;let h;if(o===-1){return}const l=r.getBoundingClientRect();const d=l.left;const u=l.width;const f=t.currentX;const g=l.top+l.height/2;const m=this.el.getRootNode();const b=m.elementFromPoint(f,g);const p=e?f>d+u:f<d;const v=e?f<d:f>d+u;if(i&&!s){if(p){const t=o-1;if(t>=0){h=t}}else if(v){if(i&&!s){const t=o+1;if(t<n.length){h=t}}}if(h!==undefined&&!n[h].disabled){c=n[h]}}if(!i&&s){c=b}if(c!=null){if(c.tagName==="ION-SEGMENT"){return false}if(r!==c){this.checkButton(r,c)}}return true}emitStyle(){this.ionStyle.emit({segment:true})}onKeyDown(t){const s=a(this.el);let e=this.selectOnFocus;let i;switch(t.key){case"ArrowRight":t.preventDefault();i=s?this.getSegmentButton("previous"):this.getSegmentButton("next");break;case"ArrowLeft":t.preventDefault();i=s?this.getSegmentButton("next"):this.getSegmentButton("previous");break;case"Home":t.preventDefault();i=this.getSegmentButton("first");break;case"End":t.preventDefault();i=this.getSegmentButton("last");break;case" ":case"Enter":t.preventDefault();i=document.activeElement;e=true}if(!i){return}if(e){const t=this.checked;this.checkButton(t||i,i);if(i!==t){this.emitValueChange()}}i.setFocus()}render(){const t=l(this);return i(n,{key:"01c94f9fcc51fb5a7612588c87155a130b7c8a9d",role:"tablist",onClick:this.onClick,class:c(this.color,{[t]:true,"in-toolbar":h("ion-toolbar",this.el),"in-toolbar-color":h("ion-toolbar[color]",this.el),"segment-activated":this.activated,"segment-disabled":this.disabled,"segment-scrollable":this.scrollable})},i("slot",{key:"b0afdfcb7506a765df42d1d6eb4e1d81bf8fd92a"}))}get el(){return o(this)}static get watchers(){return{color:["colorChanged"],swipeGesture:["swipeGestureChanged"],value:["valueChanged"],disabled:["disabledChanged"]}}};m.style={ios:u,md:g};export{m as ion_segment};
2
- //# sourceMappingURL=p-a421bbe5.entry.js.map
1
+ import{r as t,i as s,w as e,h as i,H as n,e as o}from"./p-97889672.js";import{r}from"./p-3f316fc4.js";import{i as a}from"./p-4d0cb38d.js";import{c,h}from"./p-669fab6c.js";import{g as l}from"./p-ebe1c8ca.js";const u=":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:grid;grid-auto-columns:1fr;position:relative;align-items:stretch;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;user-select:none}:host(.segment-scrollable){justify-content:start;width:auto;overflow-x:auto;grid-auto-columns:minmax(min-content, 1fr)}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.065);border-radius:8px;overflow:hidden;z-index:0}:host(.ion-color){background:rgba(var(--ion-color-base-rgb), 0.065)}:host(.in-toolbar){-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:0;margin-bottom:0;width:auto}:host(.in-toolbar:not(.ion-color)){background:var(--ion-toolbar-segment-background, var(--background))}:host(.in-toolbar-color:not(.ion-color)){background:rgba(var(--ion-color-contrast-rgb), 0.11)}";const d=u;const f=":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:grid;grid-auto-columns:1fr;position:relative;align-items:stretch;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;user-select:none}:host(.segment-scrollable){justify-content:start;width:auto;overflow-x:auto;grid-auto-columns:minmax(min-content, 1fr)}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:transparent;grid-auto-columns:minmax(auto, 360px)}:host(.in-toolbar){min-height:var(--min-height)}:host(.segment-scrollable) ::slotted(ion-segment-button){min-width:auto}";const g=f;const m=class{constructor(e){t(this,e);this.ionChange=s(this,"ionChange",7);this.ionSelect=s(this,"ionSelect",7);this.ionStyle=s(this,"ionStyle",7);this.onClick=t=>{const s=t.target;const e=this.checked;if(s.tagName==="ION-SEGMENT"){return}this.value=s.value;if(s!==e){this.emitValueChange()}if(this.scrollable||!this.swipeGesture){if(e){this.checkButton(e,s)}else{this.setCheckedClasses()}}};this.getSegmentButton=t=>{var s,e;const i=this.getButtons().filter((t=>!t.disabled));const n=i.findIndex((t=>t===document.activeElement));switch(t){case"first":return i[0];case"last":return i[i.length-1];case"next":return(s=i[n+1])!==null&&s!==void 0?s:i[0];case"previous":return(e=i[n-1])!==null&&e!==void 0?e:i[i.length-1];default:return null}};this.activated=false;this.color=undefined;this.disabled=false;this.scrollable=false;this.swipeGesture=true;this.value=undefined;this.selectOnFocus=false}colorChanged(t,s){if(s===undefined&&t!==undefined||s!==undefined&&t===undefined){this.emitStyle()}}swipeGestureChanged(){this.gestureChanged()}valueChanged(t){this.ionSelect.emit({value:t});this.scrollActiveButtonIntoView()}disabledChanged(){this.gestureChanged();const t=this.getButtons();for(const s of t){s.disabled=this.disabled}}gestureChanged(){if(this.gesture){this.gesture.enable(!this.scrollable&&!this.disabled&&this.swipeGesture)}}connectedCallback(){this.emitStyle()}componentWillLoad(){this.emitStyle()}async componentDidLoad(){this.setCheckedClasses();this.ionSelect.emit({value:this.value});r((()=>{this.scrollActiveButtonIntoView(false)}));this.gesture=(await import("./p-b943833e.js")).createGesture({el:this.el,gestureName:"segment",gesturePriority:100,threshold:0,passive:false,onStart:t=>this.onStart(t),onMove:t=>this.onMove(t),onEnd:t=>this.onEnd(t)});this.gestureChanged();if(this.disabled){this.disabledChanged()}}onStart(t){this.valueBeforeGesture=this.value;this.activate(t)}onMove(t){this.setNextIndex(t)}onEnd(t){this.setActivated(false);this.setNextIndex(t,true);t.event.stopImmediatePropagation();const s=this.value;if(s!==undefined){if(this.valueBeforeGesture!==s){this.emitValueChange()}}this.valueBeforeGesture=undefined}emitValueChange(){const{value:t}=this;this.ionChange.emit({value:t})}getButtons(){return Array.from(this.el.querySelectorAll("ion-segment-button"))}get checked(){return this.getButtons().find((t=>t.value===this.value))}setActivated(t){const s=this.getButtons();s.forEach((s=>{if(t){s.classList.add("segment-button-activated")}else{s.classList.remove("segment-button-activated")}}));this.activated=t}activate(t){const s=t.event.target;const e=this.getButtons();const i=e.find((t=>t.value===this.value));if(s.tagName!=="ION-SEGMENT-BUTTON"){return}if(!i){this.value=s.value;this.setCheckedClasses()}if(this.value===s.value){this.setActivated(true)}}getIndicator(t){const s=t.shadowRoot||t;return s.querySelector(".segment-button-indicator")}checkButton(t,s){const i=this.getIndicator(t);const n=this.getIndicator(s);if(i===null||n===null){return}const o=i.getBoundingClientRect();const r=n.getBoundingClientRect();const a=o.width/r.width;const c=o.left-r.left;const h=`translate3d(${c}px, 0, 0) scaleX(${a})`;e((()=>{n.classList.remove("segment-button-indicator-animated");n.style.setProperty("transform",h);n.getBoundingClientRect();n.classList.add("segment-button-indicator-animated");n.style.setProperty("transform","")}));this.value=s.value;this.setCheckedClasses()}setCheckedClasses(){const t=this.getButtons();const s=t.findIndex((t=>t.value===this.value));const e=s+1;for(const s of t){s.classList.remove("segment-button-after-checked")}if(e<t.length){t[e].classList.add("segment-button-after-checked")}}scrollActiveButtonIntoView(t=true){const{scrollable:s,value:e,el:i}=this;if(s){const s=this.getButtons();const n=s.find((t=>t.value===e));if(n!==undefined){const s=i.getBoundingClientRect();const e=n.getBoundingClientRect();const o=e.x-s.x;const r=o-s.width/2+e.width/2;i.scrollBy({top:0,left:r,behavior:t?"smooth":"instant"})}}}setNextIndex(t,s=false){const e=a(this.el);const i=this.activated;const n=this.getButtons();const o=n.findIndex((t=>t.value===this.value));const r=n[o];let c;let h;if(o===-1){return}const l=r.getBoundingClientRect();const u=l.left;const d=l.width;const f=t.currentX;const g=l.top+l.height/2;const m=this.el.getRootNode();const b=m.elementFromPoint(f,g);const p=e?f>u+d:f<u;const v=e?f<u:f>u+d;if(i&&!s){if(p){const t=o-1;if(t>=0){h=t}}else if(v){if(i&&!s){const t=o+1;if(t<n.length){h=t}}}if(h!==undefined&&!n[h].disabled){c=n[h]}}if(!i&&s){c=b}if(c!=null){if(c.tagName==="ION-SEGMENT"){return false}if(r!==c){this.checkButton(r,c)}}return true}emitStyle(){this.ionStyle.emit({segment:true})}onKeyDown(t){const s=a(this.el);let e=this.selectOnFocus;let i;switch(t.key){case"ArrowRight":t.preventDefault();i=s?this.getSegmentButton("previous"):this.getSegmentButton("next");break;case"ArrowLeft":t.preventDefault();i=s?this.getSegmentButton("next"):this.getSegmentButton("previous");break;case"Home":t.preventDefault();i=this.getSegmentButton("first");break;case"End":t.preventDefault();i=this.getSegmentButton("last");break;case" ":case"Enter":t.preventDefault();i=document.activeElement;e=true}if(!i){return}if(e){const t=this.checked;this.checkButton(t||i,i);if(i!==t){this.emitValueChange()}}i.setFocus()}render(){const t=l(this);return i(n,{key:"01c94f9fcc51fb5a7612588c87155a130b7c8a9d",role:"tablist",onClick:this.onClick,class:c(this.color,{[t]:true,"in-toolbar":h("ion-toolbar",this.el),"in-toolbar-color":h("ion-toolbar[color]",this.el),"segment-activated":this.activated,"segment-disabled":this.disabled,"segment-scrollable":this.scrollable})},i("slot",{key:"b0afdfcb7506a765df42d1d6eb4e1d81bf8fd92a"}))}get el(){return o(this)}static get watchers(){return{color:["colorChanged"],swipeGesture:["swipeGestureChanged"],value:["valueChanged"],disabled:["disabledChanged"]}}};m.style={ios:d,md:g};export{m as ion_segment};
2
+ //# sourceMappingURL=p-21e90439.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r,i as a,k as i,h as s,H as e,e as o}from"./p-97889672.js";import{k as t,e as n,a as c,r as h}from"./p-3f316fc4.js";import{i as b}from"./p-4d0cb38d.js";import{c as l}from"./p-669fab6c.js";import{b as d,j as p,k as u,s as m,q as g}from"./p-acfa402f.js";import{c as f,g as x}from"./p-ebe1c8ca.js";const y=".sc-ion-searchbar-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:0.6;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);box-sizing:border-box}.ion-color.sc-ion-searchbar-ios-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:inherit}.searchbar-search-icon.sc-ion-searchbar-ios{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-ios{display:block;position:relative;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-ios{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;min-height:inherit;border:0;outline:none;background:var(--background);font-family:inherit;box-shadow:var(--box-shadow);box-sizing:border-box;appearance:none}.searchbar-input.sc-ion-searchbar-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-ios::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-ios::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-ios>div.sc-ion-searchbar-ios{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);appearance:none}.searchbar-clear-button.sc-ion-searchbar-ios:focus{opacity:0.5}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{display:block}.searchbar-disabled.sc-ion-searchbar-ios-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-ios-h{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.07);--border-radius:10px;--box-shadow:none;--cancel-button-color:var(--ion-color-primary, #3880ff);--clear-button-color:var(--ion-color-step-600, #666666);--color:var(--ion-text-color, #000);--icon-color:var(--ion-color-step-600, #666666);-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:12px;padding-bottom:12px;min-height:60px;contain:content}.searchbar-input-container.sc-ion-searchbar-ios{min-height:36px}.searchbar-search-icon.sc-ion-searchbar-ios{-webkit-margin-start:calc(50% - 60px);margin-inline-start:calc(50% - 60px);top:0;position:absolute;width:1.375rem;height:100%;contain:strict}@supports (inset-inline-start: 0){.searchbar-search-icon.sc-ion-searchbar-ios{inset-inline-start:5px}}@supports not (inset-inline-start: 0){.searchbar-search-icon.sc-ion-searchbar-ios{left:5px}[dir=rtl].sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{left:unset;right:unset;right:5px}[dir=rtl].sc-ion-searchbar-ios .searchbar-search-icon.sc-ion-searchbar-ios{left:unset;right:unset;right:5px}@supports selector(:dir(rtl)){.searchbar-search-icon.sc-ion-searchbar-ios:dir(rtl){left:unset;right:unset;right:5px}}}.searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:6px;padding-bottom:6px;height:100%;font-size:1.0625rem;font-weight:400;contain:strict}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:1.75rem;padding-inline-start:1.75rem;-webkit-padding-end:1.75rem;padding-inline-end:1.75rem}.searchbar-clear-button.sc-ion-searchbar-ios{top:0;background-position:center;position:absolute;width:1.875rem;height:100%;border:0;background-color:transparent}@supports (inset-inline-start: 0){.searchbar-clear-button.sc-ion-searchbar-ios{inset-inline-end:0}}@supports not (inset-inline-start: 0){.searchbar-clear-button.sc-ion-searchbar-ios{right:0}[dir=rtl].sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios,[dir=rtl] .sc-ion-searchbar-ios-h .searchbar-clear-button.sc-ion-searchbar-ios{left:unset;right:unset;left:0}[dir=rtl].sc-ion-searchbar-ios .searchbar-clear-button.sc-ion-searchbar-ios{left:unset;right:unset;left:0}@supports selector(:dir(rtl)){.searchbar-clear-button.sc-ion-searchbar-ios:dir(rtl){left:unset;right:unset;left:0}}}.searchbar-clear-icon.sc-ion-searchbar-ios{width:1.125rem;height:100%}.searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0;flex-shrink:0;background-color:transparent;font-size:16px}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{-webkit-margin-start:0;margin-inline-start:0}.searchbar-left-aligned.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{-webkit-padding-start:1.875rem;padding-inline-start:1.875rem}.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{display:block}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios{transition:all 300ms ease}.searchbar-animated.searchbar-has-focus.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios,.searchbar-animated.searchbar-should-show-cancel.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{opacity:1;pointer-events:auto}.searchbar-animated.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{-webkit-margin-end:-100%;margin-inline-end:-100%;transform:translate3d(0, 0, 0);transition:all 300ms ease;opacity:0;pointer-events:none}.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-input.sc-ion-searchbar-ios,.searchbar-no-animate.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{transition-duration:0ms}.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios{color:var(--ion-color-base)}@media (any-hover: hover){.ion-color.sc-ion-searchbar-ios-h .searchbar-cancel-button.sc-ion-searchbar-ios:hover{color:var(--ion-color-tint)}}ion-toolbar.sc-ion-searchbar-ios-h,ion-toolbar .sc-ion-searchbar-ios-h{padding-top:1px;padding-bottom:15px;min-height:52px}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color),ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color){color:inherit}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-cancel-button.sc-ion-searchbar-ios{color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h .searchbar-search-icon.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-input.sc-ion-searchbar-ios{background:rgba(var(--ion-color-contrast-rgb), 0.07);color:currentColor}ion-toolbar.ion-color.sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios,ion-toolbar.ion-color .sc-ion-searchbar-ios-h:not(.ion-color) .searchbar-clear-button.sc-ion-searchbar-ios{color:currentColor;opacity:0.5}";const v=y;const w=".sc-ion-searchbar-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:0.6;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:center;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);box-sizing:border-box}.ion-color.sc-ion-searchbar-md-h{color:var(--ion-color-contrast)}.ion-color.sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background:var(--ion-color-base)}.ion-color.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.ion-color.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{color:inherit}.searchbar-search-icon.sc-ion-searchbar-md{color:var(--icon-color);pointer-events:none}.searchbar-input-container.sc-ion-searchbar-md{display:block;position:relative;flex-shrink:1;width:100%}.searchbar-input.sc-ion-searchbar-md{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;border-radius:var(--border-radius);display:block;width:100%;min-height:inherit;border:0;outline:none;background:var(--background);font-family:inherit;box-shadow:var(--box-shadow);box-sizing:border-box;appearance:none}.searchbar-input.sc-ion-searchbar-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.searchbar-input.sc-ion-searchbar-md::-webkit-search-cancel-button,.searchbar-input.sc-ion-searchbar-md::-ms-clear{display:none}.searchbar-cancel-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:none;height:100%;border:0;outline:none;color:var(--cancel-button-color);cursor:pointer;appearance:none}.searchbar-cancel-button.sc-ion-searchbar-md>div.sc-ion-searchbar-md{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.searchbar-clear-button.sc-ion-searchbar-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:none;min-height:0;outline:none;color:var(--clear-button-color);appearance:none}.searchbar-clear-button.sc-ion-searchbar-md:focus{opacity:0.5}.searchbar-has-value.searchbar-should-show-clear.sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{display:block}.searchbar-disabled.sc-ion-searchbar-md-h{cursor:default;opacity:0.4;pointer-events:none}.sc-ion-searchbar-md-h{--background:var(--ion-background-color, #fff);--border-radius:2px;--box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);--cancel-button-color:var(--ion-color-step-900, #1a1a1a);--clear-button-color:initial;--color:var(--ion-color-step-850, #262626);--icon-color:var(--ion-color-step-600, #666666);-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;background:inherit}.searchbar-search-icon.sc-ion-searchbar-md{top:11px;width:1.3125rem;height:1.3125rem}@supports (inset-inline-start: 0){.searchbar-search-icon.sc-ion-searchbar-md{inset-inline-start:16px}}@supports not (inset-inline-start: 0){.searchbar-search-icon.sc-ion-searchbar-md{left:16px}[dir=rtl].sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{left:unset;right:unset;right:16px}[dir=rtl].sc-ion-searchbar-md .searchbar-search-icon.sc-ion-searchbar-md{left:unset;right:unset;right:16px}@supports selector(:dir(rtl)){.searchbar-search-icon.sc-ion-searchbar-md:dir(rtl){left:unset;right:unset;right:16px}}}.searchbar-cancel-button.sc-ion-searchbar-md{top:0;background-color:transparent;font-size:1.5em}@supports (inset-inline-start: 0){.searchbar-cancel-button.sc-ion-searchbar-md{inset-inline-start:9px}}@supports not (inset-inline-start: 0){.searchbar-cancel-button.sc-ion-searchbar-md{left:9px}[dir=rtl].sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{left:unset;right:unset;right:9px}[dir=rtl].sc-ion-searchbar-md .searchbar-cancel-button.sc-ion-searchbar-md{left:unset;right:unset;right:9px}@supports selector(:dir(rtl)){.searchbar-cancel-button.sc-ion-searchbar-md:dir(rtl){left:unset;right:unset;right:9px}}}.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-cancel-button.sc-ion-searchbar-md{position:absolute}.searchbar-search-icon.ion-activated.sc-ion-searchbar-md,.searchbar-cancel-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-input.sc-ion-searchbar-md{-webkit-padding-start:3.4375rem;padding-inline-start:3.4375rem;-webkit-padding-end:3.4375rem;padding-inline-end:3.4375rem;padding-top:0.375rem;padding-bottom:0.375rem;background-position:left 8px center;height:auto;font-size:1rem;font-weight:400;line-height:30px}[dir=rtl].sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-input.sc-ion-searchbar-md{background-position:right 8px center}[dir=rtl].sc-ion-searchbar-md .searchbar-input.sc-ion-searchbar-md{background-position:right 8px center}@supports selector(:dir(rtl)){.searchbar-input.sc-ion-searchbar-md:dir(rtl){background-position:right 8px center}}.searchbar-clear-button.sc-ion-searchbar-md{top:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;position:absolute;height:100%;border:0;background-color:transparent}@supports (inset-inline-start: 0){.searchbar-clear-button.sc-ion-searchbar-md{inset-inline-end:13px}}@supports not (inset-inline-start: 0){.searchbar-clear-button.sc-ion-searchbar-md{right:13px}[dir=rtl].sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md,[dir=rtl] .sc-ion-searchbar-md-h .searchbar-clear-button.sc-ion-searchbar-md{left:unset;right:unset;left:13px}[dir=rtl].sc-ion-searchbar-md .searchbar-clear-button.sc-ion-searchbar-md{left:unset;right:unset;left:13px}@supports selector(:dir(rtl)){.searchbar-clear-button.sc-ion-searchbar-md:dir(rtl){left:unset;right:unset;left:13px}}}.searchbar-clear-button.ion-activated.sc-ion-searchbar-md{background-color:transparent}.searchbar-clear-icon.sc-ion-searchbar-md{width:1.375rem;height:100%}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-search-icon.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md{display:block}.searchbar-has-focus.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md,.searchbar-should-show-cancel.sc-ion-searchbar-md-h .searchbar-cancel-button.sc-ion-searchbar-md+.searchbar-search-icon.sc-ion-searchbar-md{display:none}ion-toolbar.sc-ion-searchbar-md-h,ion-toolbar .sc-ion-searchbar-md-h{-webkit-padding-start:7px;padding-inline-start:7px;-webkit-padding-end:7px;padding-inline-end:7px;padding-top:3px;padding-bottom:3px}";const k=w;const C=class{constructor(i){r(this,i);this.ionInput=a(this,"ionInput",7);this.ionChange=a(this,"ionChange",7);this.ionCancel=a(this,"ionCancel",7);this.ionClear=a(this,"ionClear",7);this.ionBlur=a(this,"ionBlur",7);this.ionFocus=a(this,"ionFocus",7);this.ionStyle=a(this,"ionStyle",7);this.isCancelVisible=false;this.shouldAlignLeft=true;this.inputId=`ion-searchbar-${z++}`;this.inheritedAttributes={};this.onClearInput=async r=>{this.ionClear.emit();return new Promise((a=>{setTimeout((()=>{const i=this.getValue();if(i!==""){this.value="";this.emitInputChange();if(r&&!this.focused){this.setFocus();this.focusedValue=i}}a()}),16*4)}))};this.onCancelSearchbar=async r=>{if(r){r.preventDefault();r.stopPropagation()}this.ionCancel.emit();const a=this.getValue();const i=this.focused;await this.onClearInput();if(a&&!i){this.emitValueChange(r)}if(this.nativeInput){this.nativeInput.blur()}};this.onInput=r=>{const a=r.target;if(a){this.value=a.value}this.emitInputChange(r)};this.onChange=r=>{this.emitValueChange(r)};this.onBlur=r=>{this.focused=false;this.ionBlur.emit();this.positionElements();if(this.focusedValue!==this.value){this.emitValueChange(r)}this.focusedValue=undefined};this.onFocus=()=>{this.focused=true;this.focusedValue=this.value;this.ionFocus.emit();this.positionElements()};this.focused=false;this.noAnimate=true;this.color=undefined;this.animated=false;this.autocapitalize="default";this.autocomplete="off";this.autocorrect="off";this.cancelButtonIcon=f.get("backButtonIcon",d);this.cancelButtonText="Cancel";this.clearIcon=undefined;this.debounce=undefined;this.disabled=false;this.inputmode=undefined;this.enterkeyhint=undefined;this.maxlength=undefined;this.minlength=undefined;this.name=this.inputId;this.placeholder="Search";this.searchIcon=undefined;this.showCancelButton="never";this.showClearButton="always";this.spellcheck=false;this.type="search";this.value=""}onLangChanged(r){this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{lang:r});i(this)}onDirChanged(r){this.inheritedAttributes=Object.assign(Object.assign({},this.inheritedAttributes),{dir:r});i(this)}debounceChanged(){const{ionInput:r,debounce:a,originalIonInput:i}=this;this.ionInput=a===undefined?i!==null&&i!==void 0?i:r:t(r,a)}valueChanged(){const r=this.nativeInput;const a=this.getValue();if(r&&r.value!==a){r.value=a}}showCancelButtonChanged(){requestAnimationFrame((()=>{this.positionElements();i(this)}))}connectedCallback(){this.emitStyle()}componentWillLoad(){this.inheritedAttributes=Object.assign({},n(this.el,["lang","dir"]))}componentDidLoad(){this.originalIonInput=this.ionInput;this.positionElements();this.debounceChanged();setTimeout((()=>{this.noAnimate=false}),300)}emitStyle(){this.ionStyle.emit({searchbar:true})}async setFocus(){if(this.nativeInput){this.nativeInput.focus()}}async getInputElement(){if(!this.nativeInput){await new Promise((r=>c(this.el,r)))}return Promise.resolve(this.nativeInput)}emitValueChange(r){const{value:a}=this;const i=a==null?a:a.toString();this.focusedValue=i;this.ionChange.emit({value:i,event:r})}emitInputChange(r){const{value:a}=this;this.ionInput.emit({value:a,event:r})}positionElements(){const r=this.getValue();const a=this.shouldAlignLeft;const i=x(this);const s=!this.animated||r.trim()!==""||!!this.focused;this.shouldAlignLeft=s;if(i!=="ios"){return}if(a!==s){this.positionPlaceholder()}if(this.animated){this.positionCancelButton()}}positionPlaceholder(){const r=this.nativeInput;if(!r){return}const a=b(this.el);const i=(this.el.shadowRoot||this.el).querySelector(".searchbar-search-icon");if(this.shouldAlignLeft){r.removeAttribute("style");i.removeAttribute("style")}else{const s=document;const e=s.createElement("span");e.innerText=this.placeholder||"";s.body.appendChild(e);h((()=>{const s=e.offsetWidth;e.remove();const o="calc(50% - "+s/2+"px)";const t="calc(50% - "+(s/2+i.clientWidth+8)+"px)";if(a){r.style.paddingRight=o;i.style.marginRight=t}else{r.style.paddingLeft=o;i.style.marginLeft=t}}))}}positionCancelButton(){const r=b(this.el);const a=(this.el.shadowRoot||this.el).querySelector(".searchbar-cancel-button");const i=this.shouldShowCancelButton();if(a!==null&&i!==this.isCancelVisible){const s=a.style;this.isCancelVisible=i;if(i){if(r){s.marginLeft="0"}else{s.marginRight="0"}}else{const i=a.offsetWidth;if(i>0){if(r){s.marginLeft=-i+"px"}else{s.marginRight=-i+"px"}}}}}getValue(){return this.value||""}hasValue(){return this.getValue()!==""}shouldShowCancelButton(){if(this.showCancelButton==="never"||this.showCancelButton==="focus"&&!this.focused){return false}return true}shouldShowClearButton(){if(this.showClearButton==="never"||this.showClearButton==="focus"&&!this.focused){return false}return true}render(){const{cancelButtonText:r,autocapitalize:a}=this;const i=this.animated&&f.getBoolean("animated",true);const o=x(this);const t=this.clearIcon||(o==="ios"?p:u);const n=this.searchIcon||(o==="ios"?m:g);const c=this.shouldShowCancelButton();const h=this.showCancelButton!=="never"&&s("button",{key:"9c7b4d2e86d9bcd12e57c9a96723d3da598a3773","aria-label":r,"aria-hidden":c?undefined:"true",type:"button",tabIndex:o==="ios"&&!c?-1:undefined,onMouseDown:this.onCancelSearchbar,onTouchStart:this.onCancelSearchbar,class:"searchbar-cancel-button"},s("div",{key:"1c25268a776134cccd29eb752898cb8ac0eed30f","aria-hidden":"true"},o==="md"?s("ion-icon",{"aria-hidden":"true",mode:o,icon:this.cancelButtonIcon,lazy:false}):r));return s(e,{key:"feef9fc7e405656e134a76dc037aaaa1a4ce36b4",role:"search","aria-disabled":this.disabled?"true":null,class:l(this.color,{[o]:true,"searchbar-animated":i,"searchbar-disabled":this.disabled,"searchbar-no-animate":i&&this.noAnimate,"searchbar-has-value":this.hasValue(),"searchbar-left-aligned":this.shouldAlignLeft,"searchbar-has-focus":this.focused,"searchbar-should-show-clear":this.shouldShowClearButton(),"searchbar-should-show-cancel":this.shouldShowCancelButton()})},s("div",{key:"92e3925dc0de468e5665705902153837105dfa57",class:"searchbar-input-container"},s("input",Object.assign({key:"fb74faf81b347a62338ccdac981525df1c52b322","aria-label":"search text",disabled:this.disabled,ref:r=>this.nativeInput=r,class:"searchbar-input",inputMode:this.inputmode,enterKeyHint:this.enterkeyhint,name:this.name,onInput:this.onInput,onChange:this.onChange,onBlur:this.onBlur,onFocus:this.onFocus,minLength:this.minlength,maxLength:this.maxlength,placeholder:this.placeholder,type:this.type,value:this.getValue(),autoCapitalize:a==="default"?undefined:a,autoComplete:this.autocomplete,autoCorrect:this.autocorrect,spellcheck:this.spellcheck},this.inheritedAttributes)),o==="md"&&h,s("ion-icon",{key:"d58c3636dac1d2e4135989f4c07dc95c51492e60","aria-hidden":"true",mode:o,icon:n,lazy:false,class:"searchbar-search-icon"}),s("button",{key:"1cece7c63ca5ca4b8799e15ee6d2bac100ef0d5e","aria-label":"reset",type:"button","no-blur":true,class:"searchbar-clear-button",onPointerDown:r=>{r.preventDefault()},onClick:()=>this.onClearInput(true)},s("ion-icon",{key:"fe3c2b9cac29002f69e95a89b554c7504e2df050","aria-hidden":"true",mode:o,icon:t,lazy:false,class:"searchbar-clear-icon"}))),o==="ios"&&h)}get el(){return o(this)}static get watchers(){return{lang:["onLangChanged"],dir:["onDirChanged"],debounce:["debounceChanged"],value:["valueChanged"],showCancelButton:["showCancelButtonChanged"]}}};let z=0;C.style={ios:v,md:k};export{C as ion_searchbar};
2
+ //# sourceMappingURL=p-220cce23.entry.js.map
@@ -1 +1 @@
1
- {"file":"searchbar.js","mappings":"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","names":[],"sources":["../node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.ios.css?tag=ion-searchbar&mode=ios&encapsulation=scoped","../node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.md.css?tag=ion-searchbar&mode=md&encapsulation=scoped","../node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.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 searchbar input\n * @prop --box-shadow: Box shadow of the searchbar input\n * @prop --border-radius: Border radius of the searchbar input\n * @prop --cancel-button-color: Color of the searchbar cancel button\n * @prop --clear-button-color: Color of the searchbar clear button\n * @prop --color: Color of the searchbar text\n * @prop --icon-color: Color of the searchbar icon\n * @prop --placeholder-color: Color of the searchbar placeholder\n * @prop --placeholder-font-style: Font style of the searchbar placeholder\n * @prop --placeholder-font-weight: Font weight of the searchbar placeholder\n * @prop --placeholder-opacity: Opacity of the searchbar placeholder\n */\n --placeholder-color: initial;\n --placeholder-font-style: initial;\n --placeholder-font-weight: initial;\n --placeholder-opacity: 0.6;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n display: flex;\n position: relative;\n align-items: center;\n width: 100%;\n color: var(--color);\n font-family: var(--ion-font-family, inherit);\n box-sizing: border-box;\n}\n\n:host(.ion-color) {\n color: var(--ion-color-contrast);\n}\n\n:host(.ion-color) .searchbar-input {\n background: var(--ion-color-base);\n}\n\n:host(.ion-color) .searchbar-clear-button,\n:host(.ion-color) .searchbar-cancel-button,\n:host(.ion-color) .searchbar-search-icon {\n color: inherit;\n}\n\n.searchbar-search-icon {\n color: var(--icon-color);\n pointer-events: none;\n}\n\n.searchbar-input-container {\n display: block;\n position: relative;\n flex-shrink: 1;\n width: 100%;\n}\n\n.searchbar-input {\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n border-radius: var(--border-radius);\n display: block;\n width: 100%;\n min-height: inherit;\n border: 0;\n outline: none;\n background: var(--background);\n font-family: inherit;\n box-shadow: var(--box-shadow);\n box-sizing: border-box;\n appearance: none;\n}\n.searchbar-input::placeholder {\n color: var(--placeholder-color);\n font-family: inherit;\n font-style: var(--placeholder-font-style);\n font-weight: var(--placeholder-font-weight);\n opacity: var(--placeholder-opacity);\n}\n.searchbar-input::-webkit-search-cancel-button, .searchbar-input::-ms-clear {\n display: none;\n}\n\n.searchbar-cancel-button {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n margin-bottom: 0;\n display: none;\n height: 100%;\n border: 0;\n outline: none;\n color: var(--cancel-button-color);\n cursor: pointer;\n appearance: none;\n}\n\n.searchbar-cancel-button > div {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n.searchbar-clear-button {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n margin-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n display: none;\n min-height: 0;\n outline: none;\n color: var(--clear-button-color);\n appearance: none;\n}\n\n/**\n * Normally, we would not want to use :focus\n * here because that would mean tapping the button\n * on mobile would focus it (and keep it focused).\n * However, the clear button always disappears after\n * being activated, so we never get to that state.\n */\n.searchbar-clear-button:focus {\n opacity: 0.5;\n}\n\n:host(.searchbar-has-value.searchbar-should-show-clear) .searchbar-clear-button {\n display: block;\n}\n\n:host(.searchbar-disabled) {\n cursor: default;\n opacity: 0.4;\n pointer-events: 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:host {\n --background: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.07);\n --border-radius: 10px;\n --box-shadow: none;\n --cancel-button-color: var(--ion-color-primary, #3880ff);\n --clear-button-color: var(--ion-color-step-600, #666666);\n --color: var(--ion-text-color, #000);\n --icon-color: var(--ion-color-step-600, #666666);\n -webkit-padding-start: 12px;\n padding-inline-start: 12px;\n -webkit-padding-end: 12px;\n padding-inline-end: 12px;\n padding-top: 12px;\n padding-bottom: 12px;\n min-height: 60px;\n contain: content;\n}\n\n.searchbar-input-container {\n min-height: 36px;\n}\n\n.searchbar-search-icon {\n -webkit-margin-start: calc(50% - 60px);\n margin-inline-start: calc(50% - 60px);\n top: 0;\n position: absolute;\n width: 1.375rem;\n height: 100%;\n contain: strict;\n}\n@supports (inset-inline-start: 0) {\n .searchbar-search-icon {\n inset-inline-start: 5px;\n }\n}\n@supports not (inset-inline-start: 0) {\n .searchbar-search-icon {\n left: 5px;\n }\n :host-context([dir=rtl]) .searchbar-search-icon {\n left: unset;\n right: unset;\n right: 5px;\n }\n [dir=rtl] .searchbar-search-icon {\n left: unset;\n right: unset;\n right: 5px;\n }\n @supports selector(:dir(rtl)) {\n .searchbar-search-icon:dir(rtl) {\n left: unset;\n right: unset;\n right: 5px;\n }\n }\n}\n\n.searchbar-input {\n -webkit-padding-start: 0px;\n padding-inline-start: 0px;\n -webkit-padding-end: 0px;\n padding-inline-end: 0px;\n padding-top: 6px;\n padding-bottom: 6px;\n height: 100%;\n font-size: 1.0625rem;\n font-weight: 400;\n contain: strict;\n}\n\n/**\n * We should only account for the clear button\n * if the clear button is actually visible. Otherwise\n * long text in an input can get cut off when it does not need to.\n */\n:host(.searchbar-has-value.searchbar-should-show-clear) .searchbar-input {\n -webkit-padding-start: 1.75rem;\n padding-inline-start: 1.75rem;\n -webkit-padding-end: 1.75rem;\n padding-inline-end: 1.75rem;\n}\n\n.searchbar-clear-button {\n top: 0;\n background-position: center;\n position: absolute;\n width: 1.875rem;\n height: 100%;\n border: 0;\n background-color: transparent;\n}\n@supports (inset-inline-start: 0) {\n .searchbar-clear-button {\n inset-inline-end: 0;\n }\n}\n@supports not (inset-inline-start: 0) {\n .searchbar-clear-button {\n right: 0;\n }\n :host-context([dir=rtl]) .searchbar-clear-button {\n left: unset;\n right: unset;\n left: 0;\n }\n [dir=rtl] .searchbar-clear-button {\n left: unset;\n right: unset;\n left: 0;\n }\n @supports selector(:dir(rtl)) {\n .searchbar-clear-button:dir(rtl) {\n left: unset;\n right: unset;\n left: 0;\n }\n }\n}\n\n.searchbar-clear-icon {\n width: 1.125rem;\n height: 100%;\n}\n\n.searchbar-cancel-button {\n -webkit-padding-start: 8px;\n padding-inline-start: 8px;\n -webkit-padding-end: 0;\n padding-inline-end: 0;\n padding-top: 0;\n padding-bottom: 0;\n flex-shrink: 0;\n background-color: transparent;\n font-size: 16px;\n}\n\n:host(.searchbar-left-aligned) .searchbar-search-icon {\n -webkit-margin-start: 0;\n margin-inline-start: 0;\n}\n\n:host(.searchbar-left-aligned) .searchbar-input {\n -webkit-padding-start: 1.875rem;\n padding-inline-start: 1.875rem;\n}\n\n:host(.searchbar-has-focus) .searchbar-cancel-button,\n:host(.searchbar-should-show-cancel) .searchbar-cancel-button,\n:host(.searchbar-animated) .searchbar-cancel-button {\n display: block;\n}\n\n:host(.searchbar-animated) .searchbar-search-icon,\n:host(.searchbar-animated) .searchbar-input {\n transition: all 300ms ease;\n}\n\n:host(.searchbar-animated.searchbar-has-focus) .searchbar-cancel-button,\n:host(.searchbar-animated.searchbar-should-show-cancel) .searchbar-cancel-button {\n opacity: 1;\n pointer-events: auto;\n}\n\n:host(.searchbar-animated) .searchbar-cancel-button {\n -webkit-margin-end: -100%;\n margin-inline-end: -100%;\n transform: translate3d(0, 0, 0);\n transition: all 300ms ease;\n opacity: 0;\n pointer-events: none;\n}\n\n:host(.searchbar-no-animate) .searchbar-search-icon,\n:host(.searchbar-no-animate) .searchbar-input,\n:host(.searchbar-no-animate) .searchbar-cancel-button {\n transition-duration: 0ms;\n}\n\n:host(.ion-color) .searchbar-cancel-button {\n color: var(--ion-color-base);\n}\n\n@media (any-hover: hover) {\n :host(.ion-color) .searchbar-cancel-button:hover {\n color: var(--ion-color-tint);\n }\n}\n:host-context(ion-toolbar) {\n padding-top: 1px;\n padding-bottom: 15px;\n min-height: 52px;\n}\n\n:host-context(ion-toolbar.ion-color):not(.ion-color) {\n color: inherit;\n}\n\n:host-context(ion-toolbar.ion-color):not(.ion-color) .searchbar-cancel-button {\n color: currentColor;\n}\n\n:host-context(ion-toolbar.ion-color) .searchbar-search-icon {\n color: currentColor;\n opacity: 0.5;\n}\n\n:host-context(ion-toolbar.ion-color):not(.ion-color) .searchbar-input {\n background: rgba(var(--ion-color-contrast-rgb), 0.07);\n color: currentColor;\n}\n\n:host-context(ion-toolbar.ion-color):not(.ion-color) .searchbar-clear-button {\n color: currentColor;\n opacity: 0.5;\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 searchbar input\n * @prop --box-shadow: Box shadow of the searchbar input\n * @prop --border-radius: Border radius of the searchbar input\n * @prop --cancel-button-color: Color of the searchbar cancel button\n * @prop --clear-button-color: Color of the searchbar clear button\n * @prop --color: Color of the searchbar text\n * @prop --icon-color: Color of the searchbar icon\n * @prop --placeholder-color: Color of the searchbar placeholder\n * @prop --placeholder-font-style: Font style of the searchbar placeholder\n * @prop --placeholder-font-weight: Font weight of the searchbar placeholder\n * @prop --placeholder-opacity: Opacity of the searchbar placeholder\n */\n --placeholder-color: initial;\n --placeholder-font-style: initial;\n --placeholder-font-weight: initial;\n --placeholder-opacity: 0.6;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n display: flex;\n position: relative;\n align-items: center;\n width: 100%;\n color: var(--color);\n font-family: var(--ion-font-family, inherit);\n box-sizing: border-box;\n}\n\n:host(.ion-color) {\n color: var(--ion-color-contrast);\n}\n\n:host(.ion-color) .searchbar-input {\n background: var(--ion-color-base);\n}\n\n:host(.ion-color) .searchbar-clear-button,\n:host(.ion-color) .searchbar-cancel-button,\n:host(.ion-color) .searchbar-search-icon {\n color: inherit;\n}\n\n.searchbar-search-icon {\n color: var(--icon-color);\n pointer-events: none;\n}\n\n.searchbar-input-container {\n display: block;\n position: relative;\n flex-shrink: 1;\n width: 100%;\n}\n\n.searchbar-input {\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n border-radius: var(--border-radius);\n display: block;\n width: 100%;\n min-height: inherit;\n border: 0;\n outline: none;\n background: var(--background);\n font-family: inherit;\n box-shadow: var(--box-shadow);\n box-sizing: border-box;\n appearance: none;\n}\n.searchbar-input::placeholder {\n color: var(--placeholder-color);\n font-family: inherit;\n font-style: var(--placeholder-font-style);\n font-weight: var(--placeholder-font-weight);\n opacity: var(--placeholder-opacity);\n}\n.searchbar-input::-webkit-search-cancel-button, .searchbar-input::-ms-clear {\n display: none;\n}\n\n.searchbar-cancel-button {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n margin-bottom: 0;\n display: none;\n height: 100%;\n border: 0;\n outline: none;\n color: var(--cancel-button-color);\n cursor: pointer;\n appearance: none;\n}\n\n.searchbar-cancel-button > div {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n.searchbar-clear-button {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n margin-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n display: none;\n min-height: 0;\n outline: none;\n color: var(--clear-button-color);\n appearance: none;\n}\n\n/**\n * Normally, we would not want to use :focus\n * here because that would mean tapping the button\n * on mobile would focus it (and keep it focused).\n * However, the clear button always disappears after\n * being activated, so we never get to that state.\n */\n.searchbar-clear-button:focus {\n opacity: 0.5;\n}\n\n:host(.searchbar-has-value.searchbar-should-show-clear) .searchbar-clear-button {\n display: block;\n}\n\n:host(.searchbar-disabled) {\n cursor: default;\n opacity: 0.4;\n pointer-events: 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:host {\n --background: var(--ion-background-color, #fff);\n --border-radius: 2px;\n --box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n --cancel-button-color: var(--ion-color-step-900, #1a1a1a);\n --clear-button-color: initial;\n --color: var(--ion-color-step-850, #262626);\n --icon-color: var(--ion-color-step-600, #666666);\n -webkit-padding-start: 8px;\n padding-inline-start: 8px;\n -webkit-padding-end: 8px;\n padding-inline-end: 8px;\n padding-top: 8px;\n padding-bottom: 8px;\n background: inherit;\n}\n\n.searchbar-search-icon {\n top: 11px;\n width: 1.3125rem;\n height: 1.3125rem;\n}\n@supports (inset-inline-start: 0) {\n .searchbar-search-icon {\n inset-inline-start: 16px;\n }\n}\n@supports not (inset-inline-start: 0) {\n .searchbar-search-icon {\n left: 16px;\n }\n :host-context([dir=rtl]) .searchbar-search-icon {\n left: unset;\n right: unset;\n right: 16px;\n }\n [dir=rtl] .searchbar-search-icon {\n left: unset;\n right: unset;\n right: 16px;\n }\n @supports selector(:dir(rtl)) {\n .searchbar-search-icon:dir(rtl) {\n left: unset;\n right: unset;\n right: 16px;\n }\n }\n}\n\n.searchbar-cancel-button {\n /**\n * The left edge of the cancel button\n * should align with the left edge\n * of the back button if the searchbar\n * is used in a toolbar.\n */\n top: 0;\n background-color: transparent;\n font-size: 1.5em;\n}\n@supports (inset-inline-start: 0) {\n .searchbar-cancel-button {\n inset-inline-start: 9px;\n }\n}\n@supports not (inset-inline-start: 0) {\n .searchbar-cancel-button {\n left: 9px;\n }\n :host-context([dir=rtl]) .searchbar-cancel-button {\n left: unset;\n right: unset;\n right: 9px;\n }\n [dir=rtl] .searchbar-cancel-button {\n left: unset;\n right: unset;\n right: 9px;\n }\n @supports selector(:dir(rtl)) {\n .searchbar-cancel-button:dir(rtl) {\n left: unset;\n right: unset;\n right: 9px;\n }\n }\n}\n\n.searchbar-search-icon,\n.searchbar-cancel-button {\n position: absolute;\n}\n\n.searchbar-search-icon.ion-activated,\n.searchbar-cancel-button.ion-activated {\n background-color: transparent;\n}\n\n.searchbar-input {\n -webkit-padding-start: 3.4375rem;\n padding-inline-start: 3.4375rem;\n -webkit-padding-end: 3.4375rem;\n padding-inline-end: 3.4375rem;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n background-position: left 8px center;\n height: auto;\n font-size: 1rem;\n font-weight: 400;\n line-height: 30px;\n}\n:host-context([dir=rtl]) .searchbar-input {\n background-position: right 8px center;\n}\n\n[dir=rtl] .searchbar-input {\n background-position: right 8px center;\n}\n\n@supports selector(:dir(rtl)) {\n .searchbar-input:dir(rtl) {\n background-position: right 8px center;\n }\n}\n\n.searchbar-clear-button {\n top: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n position: absolute;\n height: 100%;\n border: 0;\n background-color: transparent;\n}\n@supports (inset-inline-start: 0) {\n .searchbar-clear-button {\n inset-inline-end: 13px;\n }\n}\n@supports not (inset-inline-start: 0) {\n .searchbar-clear-button {\n right: 13px;\n }\n :host-context([dir=rtl]) .searchbar-clear-button {\n left: unset;\n right: unset;\n left: 13px;\n }\n [dir=rtl] .searchbar-clear-button {\n left: unset;\n right: unset;\n left: 13px;\n }\n @supports selector(:dir(rtl)) {\n .searchbar-clear-button:dir(rtl) {\n left: unset;\n right: unset;\n left: 13px;\n }\n }\n}\n\n.searchbar-clear-button.ion-activated {\n background-color: transparent;\n}\n\n.searchbar-clear-icon {\n width: 1.375rem;\n height: 100%;\n}\n\n:host(.searchbar-has-focus) .searchbar-search-icon {\n display: block;\n}\n\n:host(.searchbar-has-focus) .searchbar-cancel-button,\n:host(.searchbar-should-show-cancel) .searchbar-cancel-button {\n display: block;\n}\n\n:host(.searchbar-has-focus) .searchbar-cancel-button + .searchbar-search-icon,\n:host(.searchbar-should-show-cancel) .searchbar-cancel-button + .searchbar-search-icon {\n display: none;\n}\n\n:host-context(ion-toolbar) {\n -webkit-padding-start: 7px;\n padding-inline-start: 7px;\n -webkit-padding-end: 7px;\n padding-inline-end: 7px;\n padding-top: 3px;\n padding-bottom: 3px;\n}","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { Host, forceUpdate, h } from \"@stencil/core\";\nimport { debounceEvent, raf, componentOnReady, inheritAttributes } from \"../../utils/helpers\";\nimport { isRTL } from \"../../utils/rtl/index\";\nimport { createColorClasses } from \"../../utils/theme\";\nimport { arrowBackSharp, closeCircle, closeSharp, searchOutline, searchSharp } from \"ionicons/icons\";\nimport { config } from \"../../global/config\";\nimport { getIonMode } from \"../../global/ionic-global\";\n/**\n * @virtualProp {\"ios\" | \"md\"} mode - The mode determines which platform styles to use.\n */\nexport class Searchbar {\n constructor() {\n this.isCancelVisible = false;\n this.shouldAlignLeft = true;\n this.inputId = `ion-searchbar-${searchbarIds++}`;\n this.inheritedAttributes = {};\n /**\n * Clears the input field and triggers the control change.\n */\n this.onClearInput = async (shouldFocus) => {\n this.ionClear.emit();\n return new Promise((resolve) => {\n // setTimeout() fixes https://github.com/ionic-team/ionic/issues/7527\n // wait for 4 frames\n setTimeout(() => {\n const value = this.getValue();\n if (value !== '') {\n this.value = '';\n this.emitInputChange();\n /**\n * When tapping clear button\n * ensure input is focused after\n * clearing input so users\n * can quickly start typing.\n */\n if (shouldFocus && !this.focused) {\n this.setFocus();\n /**\n * The setFocus call above will clear focusedValue,\n * but ionChange will never have gotten a chance to\n * fire. Manually revert focusedValue so onBlur can\n * compare against what was in the box before the clear.\n */\n this.focusedValue = value;\n }\n }\n resolve();\n }, 16 * 4);\n });\n };\n /**\n * Clears the input field and tells the input to blur since\n * the clearInput function doesn't want the input to blur\n * then calls the custom cancel function if the user passed one in.\n */\n this.onCancelSearchbar = async (ev) => {\n if (ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n this.ionCancel.emit();\n // get cached values before clearing the input\n const value = this.getValue();\n const focused = this.focused;\n await this.onClearInput();\n /**\n * If there used to be something in the box, and we weren't focused\n * beforehand (meaning no blur fired that would already handle this),\n * manually fire ionChange.\n */\n if (value && !focused) {\n this.emitValueChange(ev);\n }\n if (this.nativeInput) {\n this.nativeInput.blur();\n }\n };\n /**\n * Update the Searchbar input value when the input changes\n */\n this.onInput = (ev) => {\n const input = ev.target;\n if (input) {\n this.value = input.value;\n }\n this.emitInputChange(ev);\n };\n this.onChange = (ev) => {\n this.emitValueChange(ev);\n };\n /**\n * Sets the Searchbar to not focused and checks if it should align left\n * based on whether there is a value in the searchbar or not.\n */\n this.onBlur = (ev) => {\n this.focused = false;\n this.ionBlur.emit();\n this.positionElements();\n if (this.focusedValue !== this.value) {\n this.emitValueChange(ev);\n }\n this.focusedValue = undefined;\n };\n /**\n * Sets the Searchbar to focused and active on input focus.\n */\n this.onFocus = () => {\n this.focused = true;\n this.focusedValue = this.value;\n this.ionFocus.emit();\n this.positionElements();\n };\n this.focused = false;\n this.noAnimate = true;\n this.color = undefined;\n this.animated = false;\n this.autocapitalize = 'default';\n this.autocomplete = 'off';\n this.autocorrect = 'off';\n this.cancelButtonIcon = config.get('backButtonIcon', arrowBackSharp);\n this.cancelButtonText = 'Cancel';\n this.clearIcon = undefined;\n this.debounce = undefined;\n this.disabled = false;\n this.inputmode = undefined;\n this.enterkeyhint = undefined;\n this.maxlength = undefined;\n this.minlength = undefined;\n this.name = this.inputId;\n this.placeholder = 'Search';\n this.searchIcon = undefined;\n this.showCancelButton = 'never';\n this.showClearButton = 'always';\n this.spellcheck = false;\n this.type = 'search';\n this.value = '';\n }\n /**\n * lang and dir are globally enumerated attributes.\n * As a result, creating these as properties\n * can have unintended side effects. Instead, we\n * listen for attribute changes and inherit them\n * to the inner `<input>` element.\n */\n onLangChanged(newValue) {\n this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { lang: newValue });\n forceUpdate(this);\n }\n onDirChanged(newValue) {\n this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { dir: newValue });\n forceUpdate(this);\n }\n debounceChanged() {\n const { ionInput, debounce, originalIonInput } = this;\n /**\n * If debounce is undefined, we have to manually revert the ionInput emitter in case\n * debounce used to be set to a number. Otherwise, the event would stay debounced.\n */\n this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : debounceEvent(ionInput, debounce);\n }\n valueChanged() {\n const inputEl = this.nativeInput;\n const value = this.getValue();\n if (inputEl && inputEl.value !== value) {\n inputEl.value = value;\n }\n }\n showCancelButtonChanged() {\n requestAnimationFrame(() => {\n this.positionElements();\n forceUpdate(this);\n });\n }\n connectedCallback() {\n this.emitStyle();\n }\n componentWillLoad() {\n this.inheritedAttributes = Object.assign({}, inheritAttributes(this.el, ['lang', 'dir']));\n }\n componentDidLoad() {\n this.originalIonInput = this.ionInput;\n this.positionElements();\n this.debounceChanged();\n setTimeout(() => {\n this.noAnimate = false;\n }, 300);\n }\n emitStyle() {\n this.ionStyle.emit({\n searchbar: true,\n });\n }\n /**\n * Sets focus on the native `input` in `ion-searchbar`. Use this method instead of the global\n * `input.focus()`.\n *\n * Developers who wish to focus an input when a page enters\n * should call `setFocus()` in the `ionViewDidEnter()` lifecycle method.\n *\n * Developers who wish to focus an input when an overlay is presented\n * should call `setFocus` after `didPresent` has resolved.\n *\n * See [managing focus](/docs/developing/managing-focus) for more information.\n */\n async setFocus() {\n if (this.nativeInput) {\n this.nativeInput.focus();\n }\n }\n /**\n * Returns the native `<input>` element used under the hood.\n */\n async getInputElement() {\n /**\n * If this gets called in certain early lifecycle hooks (ex: Vue onMounted),\n * nativeInput won't be defined yet with the custom elements build, so wait for it to load in.\n */\n if (!this.nativeInput) {\n await new Promise((resolve) => componentOnReady(this.el, resolve));\n }\n return Promise.resolve(this.nativeInput);\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(event) {\n const { value } = this;\n // Checks for both null and undefined values\n const newValue = value == null ? value : value.toString();\n // Emitting a value change should update the internal state for tracking the focused value\n this.focusedValue = newValue;\n this.ionChange.emit({ value: newValue, event });\n }\n /**\n * Emits an `ionInput` event.\n */\n emitInputChange(event) {\n const { value } = this;\n this.ionInput.emit({ value, event });\n }\n /**\n * Positions the input search icon, placeholder, and the cancel button\n * based on the input value and if it is focused. (ios only)\n */\n positionElements() {\n const value = this.getValue();\n const prevAlignLeft = this.shouldAlignLeft;\n const mode = getIonMode(this);\n const shouldAlignLeft = !this.animated || value.trim() !== '' || !!this.focused;\n this.shouldAlignLeft = shouldAlignLeft;\n if (mode !== 'ios') {\n return;\n }\n if (prevAlignLeft !== shouldAlignLeft) {\n this.positionPlaceholder();\n }\n if (this.animated) {\n this.positionCancelButton();\n }\n }\n /**\n * Positions the input placeholder\n */\n positionPlaceholder() {\n const inputEl = this.nativeInput;\n if (!inputEl) {\n return;\n }\n const rtl = isRTL(this.el);\n const iconEl = (this.el.shadowRoot || this.el).querySelector('.searchbar-search-icon');\n if (this.shouldAlignLeft) {\n inputEl.removeAttribute('style');\n iconEl.removeAttribute('style');\n }\n else {\n // Create a dummy span to get the placeholder width\n const doc = document;\n const tempSpan = doc.createElement('span');\n tempSpan.innerText = this.placeholder || '';\n doc.body.appendChild(tempSpan);\n // Get the width of the span then remove it\n raf(() => {\n const textWidth = tempSpan.offsetWidth;\n tempSpan.remove();\n // Calculate the input padding\n const inputLeft = 'calc(50% - ' + textWidth / 2 + 'px)';\n // Calculate the icon margin\n /**\n * We take the icon width to account\n * for any text scales applied to the icon\n * such as Dynamic Type on iOS as well as 8px\n * of padding.\n */\n const iconLeft = 'calc(50% - ' + (textWidth / 2 + iconEl.clientWidth + 8) + 'px)';\n // Set the input padding start and icon margin start\n if (rtl) {\n inputEl.style.paddingRight = inputLeft;\n iconEl.style.marginRight = iconLeft;\n }\n else {\n inputEl.style.paddingLeft = inputLeft;\n iconEl.style.marginLeft = iconLeft;\n }\n });\n }\n }\n /**\n * Show the iOS Cancel button on focus, hide it offscreen otherwise\n */\n positionCancelButton() {\n const rtl = isRTL(this.el);\n const cancelButton = (this.el.shadowRoot || this.el).querySelector('.searchbar-cancel-button');\n const shouldShowCancel = this.shouldShowCancelButton();\n if (cancelButton !== null && shouldShowCancel !== this.isCancelVisible) {\n const cancelStyle = cancelButton.style;\n this.isCancelVisible = shouldShowCancel;\n if (shouldShowCancel) {\n if (rtl) {\n cancelStyle.marginLeft = '0';\n }\n else {\n cancelStyle.marginRight = '0';\n }\n }\n else {\n const offset = cancelButton.offsetWidth;\n if (offset > 0) {\n if (rtl) {\n cancelStyle.marginLeft = -offset + 'px';\n }\n else {\n cancelStyle.marginRight = -offset + 'px';\n }\n }\n }\n }\n }\n getValue() {\n return this.value || '';\n }\n hasValue() {\n return this.getValue() !== '';\n }\n /**\n * Determines whether or not the cancel button should be visible onscreen.\n * Cancel button should be shown if one of two conditions applies:\n * 1. `showCancelButton` is set to `always`.\n * 2. `showCancelButton` is set to `focus`, and the searchbar has been focused.\n */\n shouldShowCancelButton() {\n if (this.showCancelButton === 'never' || (this.showCancelButton === 'focus' && !this.focused)) {\n return false;\n }\n return true;\n }\n /**\n * Determines whether or not the clear button should be visible onscreen.\n * Clear button should be shown if one of two conditions applies:\n * 1. `showClearButton` is set to `always`.\n * 2. `showClearButton` is set to `focus`, and the searchbar has been focused.\n */\n shouldShowClearButton() {\n if (this.showClearButton === 'never' || (this.showClearButton === 'focus' && !this.focused)) {\n return false;\n }\n return true;\n }\n render() {\n const { cancelButtonText, autocapitalize } = this;\n const animated = this.animated && config.getBoolean('animated', true);\n const mode = getIonMode(this);\n const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);\n const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);\n const shouldShowCancelButton = this.shouldShowCancelButton();\n const cancelButton = this.showCancelButton !== 'never' && (h(\"button\", { key: '9c7b4d2e86d9bcd12e57c9a96723d3da598a3773', \"aria-label\": cancelButtonText, \"aria-hidden\": shouldShowCancelButton ? undefined : 'true', type: \"button\", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: \"searchbar-cancel-button\" }, h(\"div\", { key: '1c25268a776134cccd29eb752898cb8ac0eed30f', \"aria-hidden\": \"true\" }, mode === 'md' ? (h(\"ion-icon\", { \"aria-hidden\": \"true\", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));\n return (h(Host, { key: 'feef9fc7e405656e134a76dc037aaaa1a4ce36b4', role: \"search\", \"aria-disabled\": this.disabled ? 'true' : null, class: createColorClasses(this.color, {\n [mode]: true,\n 'searchbar-animated': animated,\n 'searchbar-disabled': this.disabled,\n 'searchbar-no-animate': animated && this.noAnimate,\n 'searchbar-has-value': this.hasValue(),\n 'searchbar-left-aligned': this.shouldAlignLeft,\n 'searchbar-has-focus': this.focused,\n 'searchbar-should-show-clear': this.shouldShowClearButton(),\n 'searchbar-should-show-cancel': this.shouldShowCancelButton(),\n }) }, h(\"div\", { key: '92e3925dc0de468e5665705902153837105dfa57', class: \"searchbar-input-container\" }, h(\"input\", Object.assign({ key: 'fb74faf81b347a62338ccdac981525df1c52b322', \"aria-label\": \"search text\", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: \"searchbar-input\", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, h(\"ion-icon\", { key: 'd58c3636dac1d2e4135989f4c07dc95c51492e60', \"aria-hidden\": \"true\", mode: mode, icon: searchIcon, lazy: false, class: \"searchbar-search-icon\" }), h(\"button\", { key: '1cece7c63ca5ca4b8799e15ee6d2bac100ef0d5e', \"aria-label\": \"reset\", type: \"button\", \"no-blur\": true, class: \"searchbar-clear-button\", onPointerDown: (ev) => {\n /**\n * This prevents mobile browsers from\n * blurring the input when the clear\n * button is activated.\n */\n ev.preventDefault();\n }, onClick: () => this.onClearInput(true) }, h(\"ion-icon\", { key: 'fe3c2b9cac29002f69e95a89b554c7504e2df050', \"aria-hidden\": \"true\", mode: mode, icon: clearIcon, lazy: false, class: \"searchbar-clear-icon\" }))), mode === 'ios' && cancelButton));\n }\n static get is() { return \"ion-searchbar\"; }\n static get encapsulation() { return \"scoped\"; }\n static get originalStyleUrls() {\n return {\n \"ios\": [\"searchbar.ios.scss\"],\n \"md\": [\"searchbar.md.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"ios\": [\"searchbar.ios.css\"],\n \"md\": [\"searchbar.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 \"attribute\": \"color\",\n \"reflect\": true\n },\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`, enable searchbar animation.\"\n },\n \"attribute\": \"animated\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"autocapitalize\": {\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\": \"Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.\\nAvailable options: `\\\"off\\\"`, `\\\"none\\\"`, `\\\"on\\\"`, `\\\"sentences\\\"`, `\\\"words\\\"`, `\\\"characters\\\"`.\"\n },\n \"attribute\": \"autocapitalize\",\n \"reflect\": false,\n \"defaultValue\": \"'default'\"\n },\n \"autocomplete\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"AutocompleteTypes\",\n \"resolved\": \"\\\"name\\\" | \\\"email\\\" | \\\"tel\\\" | \\\"url\\\" | \\\"on\\\" | \\\"off\\\" | \\\"honorific-prefix\\\" | \\\"given-name\\\" | \\\"additional-name\\\" | \\\"family-name\\\" | \\\"honorific-suffix\\\" | \\\"nickname\\\" | \\\"username\\\" | \\\"new-password\\\" | \\\"current-password\\\" | \\\"one-time-code\\\" | \\\"organization-title\\\" | \\\"organization\\\" | \\\"street-address\\\" | \\\"address-line1\\\" | \\\"address-line2\\\" | \\\"address-line3\\\" | \\\"address-level4\\\" | \\\"address-level3\\\" | \\\"address-level2\\\" | \\\"address-level1\\\" | \\\"country\\\" | \\\"country-name\\\" | \\\"postal-code\\\" | \\\"cc-name\\\" | \\\"cc-given-name\\\" | \\\"cc-additional-name\\\" | \\\"cc-family-name\\\" | \\\"cc-number\\\" | \\\"cc-exp\\\" | \\\"cc-exp-month\\\" | \\\"cc-exp-year\\\" | \\\"cc-csc\\\" | \\\"cc-type\\\" | \\\"transaction-currency\\\" | \\\"transaction-amount\\\" | \\\"language\\\" | \\\"bday\\\" | \\\"bday-day\\\" | \\\"bday-month\\\" | \\\"bday-year\\\" | \\\"sex\\\" | \\\"tel-country-code\\\" | \\\"tel-national\\\" | \\\"tel-area-code\\\" | \\\"tel-local\\\" | \\\"tel-extension\\\" | \\\"impp\\\" | \\\"photo\\\"\",\n \"references\": {\n \"AutocompleteTypes\": {\n \"location\": \"import\",\n \"path\": \"../../interface\",\n \"id\": \"src/interface.d.ts::AutocompleteTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set the input's autocomplete property.\"\n },\n \"attribute\": \"autocomplete\",\n \"reflect\": false,\n \"defaultValue\": \"'off'\"\n },\n \"autocorrect\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'on' | 'off'\",\n \"resolved\": \"\\\"off\\\" | \\\"on\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set the input's autocorrect property.\"\n },\n \"attribute\": \"autocorrect\",\n \"reflect\": false,\n \"defaultValue\": \"'off'\"\n },\n \"cancelButtonIcon\": {\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\": \"Set the cancel button icon. Only applies to `md` mode.\\nDefaults to `arrow-back-sharp`.\"\n },\n \"attribute\": \"cancel-button-icon\",\n \"reflect\": false,\n \"defaultValue\": \"config.get('backButtonIcon', arrowBackSharp) as string\"\n },\n \"cancelButtonText\": {\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\": \"Set the the cancel button text. Only applies to `ios` mode.\"\n },\n \"attribute\": \"cancel-button-text\",\n \"reflect\": false,\n \"defaultValue\": \"'Cancel'\"\n },\n \"clearIcon\": {\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\": \"Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.\"\n },\n \"attribute\": \"clear-icon\",\n \"reflect\": false\n },\n \"debounce\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set the amount of time, in milliseconds, to wait to trigger the `ionInput` event after each keystroke.\"\n },\n \"attribute\": \"debounce\",\n \"reflect\": false\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 input.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"inputmode\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'\",\n \"resolved\": \"\\\"decimal\\\" | \\\"email\\\" | \\\"none\\\" | \\\"numeric\\\" | \\\"search\\\" | \\\"tel\\\" | \\\"text\\\" | \\\"url\\\" | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"A hint to the browser for which keyboard to display.\\nPossible values: `\\\"none\\\"`, `\\\"text\\\"`, `\\\"tel\\\"`, `\\\"url\\\"`,\\n`\\\"email\\\"`, `\\\"numeric\\\"`, `\\\"decimal\\\"`, and `\\\"search\\\"`.\"\n },\n \"attribute\": \"inputmode\",\n \"reflect\": false\n },\n \"enterkeyhint\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'\",\n \"resolved\": \"\\\"done\\\" | \\\"enter\\\" | \\\"go\\\" | \\\"next\\\" | \\\"previous\\\" | \\\"search\\\" | \\\"send\\\" | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"A hint to the browser for which enter key to display.\\nPossible values: `\\\"enter\\\"`, `\\\"done\\\"`, `\\\"go\\\"`, `\\\"next\\\"`,\\n`\\\"previous\\\"`, `\\\"search\\\"`, and `\\\"send\\\"`.\"\n },\n \"attribute\": \"enterkeyhint\",\n \"reflect\": false\n },\n \"maxlength\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute specifies the maximum number of characters that the user can enter.\"\n },\n \"attribute\": \"maxlength\",\n \"reflect\": false\n },\n \"minlength\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute specifies the minimum number of characters that the user can enter.\"\n },\n \"attribute\": \"minlength\",\n \"reflect\": 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\": \"If used in a form, set the name of the control, which is submitted with the form data.\"\n },\n \"attribute\": \"name\",\n \"reflect\": false,\n \"defaultValue\": \"this.inputId\"\n },\n \"placeholder\": {\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\": \"Set the input's placeholder.\\n`placeholder` can accept either plaintext or HTML as a string.\\nTo display characters normally reserved for HTML, they\\nmust be escaped. For example `<Ionic>` would become\\n`&lt;Ionic&gt;`\\n\\nFor more information: [Security Documentation](https://ionicframework.com/docs/faq/security)\"\n },\n \"attribute\": \"placeholder\",\n \"reflect\": false,\n \"defaultValue\": \"'Search'\"\n },\n \"searchIcon\": {\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 icon to use as the search icon. Defaults to `search-outline` in\\n`ios` mode and `search-sharp` in `md` mode.\"\n },\n \"attribute\": \"search-icon\",\n \"reflect\": false\n },\n \"showCancelButton\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'never' | 'focus' | 'always'\",\n \"resolved\": \"\\\"always\\\" | \\\"focus\\\" | \\\"never\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the behavior for the cancel button. Defaults to `\\\"never\\\"`.\\nSetting to `\\\"focus\\\"` shows the cancel button on focus.\\nSetting to `\\\"never\\\"` hides the cancel button.\\nSetting to `\\\"always\\\"` shows the cancel button regardless\\nof focus state.\"\n },\n \"attribute\": \"show-cancel-button\",\n \"reflect\": false,\n \"defaultValue\": \"'never'\"\n },\n \"showClearButton\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'never' | 'focus' | 'always'\",\n \"resolved\": \"\\\"always\\\" | \\\"focus\\\" | \\\"never\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the behavior for the clear button. Defaults to `\\\"focus\\\"`.\\nSetting to `\\\"focus\\\"` shows the clear button on focus if the\\ninput is not empty.\\nSetting to `\\\"never\\\"` hides the clear button.\\nSetting to `\\\"always\\\"` shows the clear button regardless\\nof focus state, but only if the input is not empty.\"\n },\n \"attribute\": \"show-clear-button\",\n \"reflect\": false,\n \"defaultValue\": \"'always'\"\n },\n \"spellcheck\": {\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`, enable spellcheck on the input.\"\n },\n \"attribute\": \"spellcheck\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"type\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url'\",\n \"resolved\": \"\\\"email\\\" | \\\"number\\\" | \\\"password\\\" | \\\"search\\\" | \\\"tel\\\" | \\\"text\\\" | \\\"url\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set the type of the input.\"\n },\n \"attribute\": \"type\",\n \"reflect\": false,\n \"defaultValue\": \"'search'\"\n },\n \"value\": {\n \"type\": \"string\",\n \"mutable\": true,\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 value of the searchbar.\"\n },\n \"attribute\": \"value\",\n \"reflect\": false,\n \"defaultValue\": \"''\"\n }\n };\n }\n static get states() {\n return {\n \"focused\": {},\n \"noAnimate\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"ionInput\",\n \"name\": \"ionInput\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the `value` of the `ion-searchbar` element has changed.\"\n },\n \"complexType\": {\n \"original\": \"SearchbarInputEventDetail\",\n \"resolved\": \"SearchbarInputEventDetail\",\n \"references\": {\n \"SearchbarInputEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./searchbar-interface\",\n \"id\": \"src/components/searchbar/searchbar-interface.ts::SearchbarInputEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"ionChange\",\n \"name\": \"ionChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The `ionChange` event is fired for `<ion-searchbar>` elements when the user\\nmodifies the element's value. Unlike the `ionInput` event, the `ionChange`\\nevent is not necessarily fired for each alteration to an element's value.\\n\\nThe `ionChange` event is fired when the value has been committed\\nby the user. This can happen when the element loses focus or\\nwhen the \\\"Enter\\\" key is pressed. `ionChange` can also fire\\nwhen clicking the clear or cancel buttons.\"\n },\n \"complexType\": {\n \"original\": \"SearchbarChangeEventDetail\",\n \"resolved\": \"SearchbarChangeEventDetail\",\n \"references\": {\n \"SearchbarChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./searchbar-interface\",\n \"id\": \"src/components/searchbar/searchbar-interface.ts::SearchbarChangeEventDetail\"\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 cancel button is clicked.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"ionClear\",\n \"name\": \"ionClear\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the clear input button is clicked.\"\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 input loses focus.\"\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 input has 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 \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the native `input` in `ion-searchbar`. Use this method instead of the global\\n`input.focus()`.\\n\\nDevelopers who wish to focus an input when a page enters\\nshould call `setFocus()` in the `ionViewDidEnter()` lifecycle method.\\n\\nDevelopers who wish to focus an input when an overlay is presented\\nshould call `setFocus` after `didPresent` has resolved.\\n\\nSee [managing focus](/docs/developing/managing-focus) for more information.\",\n \"tags\": []\n }\n },\n \"getInputElement\": {\n \"complexType\": {\n \"signature\": \"() => Promise<HTMLInputElement>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLInputElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLInputElement\"\n }\n },\n \"return\": \"Promise<HTMLInputElement>\"\n },\n \"docs\": {\n \"text\": \"Returns the native `<input>` element used under the hood.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"lang\",\n \"methodName\": \"onLangChanged\"\n }, {\n \"propName\": \"dir\",\n \"methodName\": \"onDirChanged\"\n }, {\n \"propName\": \"debounce\",\n \"methodName\": \"debounceChanged\"\n }, {\n \"propName\": \"value\",\n \"methodName\": \"valueChanged\"\n }, {\n \"propName\": \"showCancelButton\",\n \"methodName\": \"showCancelButtonChanged\"\n }];\n }\n}\nlet searchbarIds = 0;\n"],"version":3}
1
+ {"version":3,"names":["searchbarIosCss","IonSearchbarIosStyle0","searchbarMdCss","IonSearchbarMdStyle0","Searchbar","constructor","hostRef","this","isCancelVisible","shouldAlignLeft","inputId","searchbarIds","inheritedAttributes","onClearInput","async","shouldFocus","ionClear","emit","Promise","resolve","setTimeout","value","getValue","emitInputChange","focused","setFocus","focusedValue","onCancelSearchbar","ev","preventDefault","stopPropagation","ionCancel","emitValueChange","nativeInput","blur","onInput","input","target","onChange","onBlur","ionBlur","positionElements","undefined","onFocus","ionFocus","noAnimate","color","animated","autocapitalize","autocomplete","autocorrect","cancelButtonIcon","config","get","arrowBackSharp","cancelButtonText","clearIcon","debounce","disabled","inputmode","enterkeyhint","maxlength","minlength","name","placeholder","searchIcon","showCancelButton","showClearButton","spellcheck","type","onLangChanged","newValue","Object","assign","lang","forceUpdate","onDirChanged","dir","debounceChanged","ionInput","originalIonInput","debounceEvent","valueChanged","inputEl","showCancelButtonChanged","requestAnimationFrame","connectedCallback","emitStyle","componentWillLoad","inheritAttributes","el","componentDidLoad","ionStyle","searchbar","focus","getInputElement","componentOnReady","event","toString","ionChange","prevAlignLeft","mode","getIonMode","trim","positionPlaceholder","positionCancelButton","rtl","isRTL","iconEl","shadowRoot","querySelector","removeAttribute","doc","document","tempSpan","createElement","innerText","body","appendChild","raf","textWidth","offsetWidth","remove","inputLeft","iconLeft","clientWidth","style","paddingRight","marginRight","paddingLeft","marginLeft","cancelButton","shouldShowCancel","shouldShowCancelButton","cancelStyle","offset","hasValue","shouldShowClearButton","render","getBoolean","closeCircle","closeSharp","searchOutline","searchSharp","h","key","tabIndex","onMouseDown","onTouchStart","class","icon","lazy","Host","role","createColorClasses","ref","inputMode","enterKeyHint","minLength","maxLength","autoCapitalize","autoComplete","autoCorrect","onPointerDown","onClick"],"sources":["../node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.ios.css?tag=ion-searchbar&mode=ios&encapsulation=scoped","../node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.md.css?tag=ion-searchbar&mode=md&encapsulation=scoped","../node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.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 searchbar input\n * @prop --box-shadow: Box shadow of the searchbar input\n * @prop --border-radius: Border radius of the searchbar input\n * @prop --cancel-button-color: Color of the searchbar cancel button\n * @prop --clear-button-color: Color of the searchbar clear button\n * @prop --color: Color of the searchbar text\n * @prop --icon-color: Color of the searchbar icon\n * @prop --placeholder-color: Color of the searchbar placeholder\n * @prop --placeholder-font-style: Font style of the searchbar placeholder\n * @prop --placeholder-font-weight: Font weight of the searchbar placeholder\n * @prop --placeholder-opacity: Opacity of the searchbar placeholder\n */\n --placeholder-color: initial;\n --placeholder-font-style: initial;\n --placeholder-font-weight: initial;\n --placeholder-opacity: 0.6;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n display: flex;\n position: relative;\n align-items: center;\n width: 100%;\n color: var(--color);\n font-family: var(--ion-font-family, inherit);\n box-sizing: border-box;\n}\n\n:host(.ion-color) {\n color: var(--ion-color-contrast);\n}\n\n:host(.ion-color) .searchbar-input {\n background: var(--ion-color-base);\n}\n\n:host(.ion-color) .searchbar-clear-button,\n:host(.ion-color) .searchbar-cancel-button,\n:host(.ion-color) .searchbar-search-icon {\n color: inherit;\n}\n\n.searchbar-search-icon {\n color: var(--icon-color);\n pointer-events: none;\n}\n\n.searchbar-input-container {\n display: block;\n position: relative;\n flex-shrink: 1;\n width: 100%;\n}\n\n.searchbar-input {\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n border-radius: var(--border-radius);\n display: block;\n width: 100%;\n min-height: inherit;\n border: 0;\n outline: none;\n background: var(--background);\n font-family: inherit;\n box-shadow: var(--box-shadow);\n box-sizing: border-box;\n appearance: none;\n}\n.searchbar-input::placeholder {\n color: var(--placeholder-color);\n font-family: inherit;\n font-style: var(--placeholder-font-style);\n font-weight: var(--placeholder-font-weight);\n opacity: var(--placeholder-opacity);\n}\n.searchbar-input::-webkit-search-cancel-button, .searchbar-input::-ms-clear {\n display: none;\n}\n\n.searchbar-cancel-button {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n margin-bottom: 0;\n display: none;\n height: 100%;\n border: 0;\n outline: none;\n color: var(--cancel-button-color);\n cursor: pointer;\n appearance: none;\n}\n\n.searchbar-cancel-button > div {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n.searchbar-clear-button {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n margin-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n display: none;\n min-height: 0;\n outline: none;\n color: var(--clear-button-color);\n appearance: none;\n}\n\n/**\n * Normally, we would not want to use :focus\n * here because that would mean tapping the button\n * on mobile would focus it (and keep it focused).\n * However, the clear button always disappears after\n * being activated, so we never get to that state.\n */\n.searchbar-clear-button:focus {\n opacity: 0.5;\n}\n\n:host(.searchbar-has-value.searchbar-should-show-clear) .searchbar-clear-button {\n display: block;\n}\n\n:host(.searchbar-disabled) {\n cursor: default;\n opacity: 0.4;\n pointer-events: 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:host {\n --background: rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.07);\n --border-radius: 10px;\n --box-shadow: none;\n --cancel-button-color: var(--ion-color-primary, #3880ff);\n --clear-button-color: var(--ion-color-step-600, #666666);\n --color: var(--ion-text-color, #000);\n --icon-color: var(--ion-color-step-600, #666666);\n -webkit-padding-start: 12px;\n padding-inline-start: 12px;\n -webkit-padding-end: 12px;\n padding-inline-end: 12px;\n padding-top: 12px;\n padding-bottom: 12px;\n min-height: 60px;\n contain: content;\n}\n\n.searchbar-input-container {\n min-height: 36px;\n}\n\n.searchbar-search-icon {\n -webkit-margin-start: calc(50% - 60px);\n margin-inline-start: calc(50% - 60px);\n top: 0;\n position: absolute;\n width: 1.375rem;\n height: 100%;\n contain: strict;\n}\n@supports (inset-inline-start: 0) {\n .searchbar-search-icon {\n inset-inline-start: 5px;\n }\n}\n@supports not (inset-inline-start: 0) {\n .searchbar-search-icon {\n left: 5px;\n }\n :host-context([dir=rtl]) .searchbar-search-icon {\n left: unset;\n right: unset;\n right: 5px;\n }\n [dir=rtl] .searchbar-search-icon {\n left: unset;\n right: unset;\n right: 5px;\n }\n @supports selector(:dir(rtl)) {\n .searchbar-search-icon:dir(rtl) {\n left: unset;\n right: unset;\n right: 5px;\n }\n }\n}\n\n.searchbar-input {\n -webkit-padding-start: 0px;\n padding-inline-start: 0px;\n -webkit-padding-end: 0px;\n padding-inline-end: 0px;\n padding-top: 6px;\n padding-bottom: 6px;\n height: 100%;\n font-size: 1.0625rem;\n font-weight: 400;\n contain: strict;\n}\n\n/**\n * We should only account for the clear button\n * if the clear button is actually visible. Otherwise\n * long text in an input can get cut off when it does not need to.\n */\n:host(.searchbar-has-value.searchbar-should-show-clear) .searchbar-input {\n -webkit-padding-start: 1.75rem;\n padding-inline-start: 1.75rem;\n -webkit-padding-end: 1.75rem;\n padding-inline-end: 1.75rem;\n}\n\n.searchbar-clear-button {\n top: 0;\n background-position: center;\n position: absolute;\n width: 1.875rem;\n height: 100%;\n border: 0;\n background-color: transparent;\n}\n@supports (inset-inline-start: 0) {\n .searchbar-clear-button {\n inset-inline-end: 0;\n }\n}\n@supports not (inset-inline-start: 0) {\n .searchbar-clear-button {\n right: 0;\n }\n :host-context([dir=rtl]) .searchbar-clear-button {\n left: unset;\n right: unset;\n left: 0;\n }\n [dir=rtl] .searchbar-clear-button {\n left: unset;\n right: unset;\n left: 0;\n }\n @supports selector(:dir(rtl)) {\n .searchbar-clear-button:dir(rtl) {\n left: unset;\n right: unset;\n left: 0;\n }\n }\n}\n\n.searchbar-clear-icon {\n width: 1.125rem;\n height: 100%;\n}\n\n.searchbar-cancel-button {\n -webkit-padding-start: 8px;\n padding-inline-start: 8px;\n -webkit-padding-end: 0;\n padding-inline-end: 0;\n padding-top: 0;\n padding-bottom: 0;\n flex-shrink: 0;\n background-color: transparent;\n font-size: 16px;\n}\n\n:host(.searchbar-left-aligned) .searchbar-search-icon {\n -webkit-margin-start: 0;\n margin-inline-start: 0;\n}\n\n:host(.searchbar-left-aligned) .searchbar-input {\n -webkit-padding-start: 1.875rem;\n padding-inline-start: 1.875rem;\n}\n\n:host(.searchbar-has-focus) .searchbar-cancel-button,\n:host(.searchbar-should-show-cancel) .searchbar-cancel-button,\n:host(.searchbar-animated) .searchbar-cancel-button {\n display: block;\n}\n\n:host(.searchbar-animated) .searchbar-search-icon,\n:host(.searchbar-animated) .searchbar-input {\n transition: all 300ms ease;\n}\n\n:host(.searchbar-animated.searchbar-has-focus) .searchbar-cancel-button,\n:host(.searchbar-animated.searchbar-should-show-cancel) .searchbar-cancel-button {\n opacity: 1;\n pointer-events: auto;\n}\n\n:host(.searchbar-animated) .searchbar-cancel-button {\n -webkit-margin-end: -100%;\n margin-inline-end: -100%;\n transform: translate3d(0, 0, 0);\n transition: all 300ms ease;\n opacity: 0;\n pointer-events: none;\n}\n\n:host(.searchbar-no-animate) .searchbar-search-icon,\n:host(.searchbar-no-animate) .searchbar-input,\n:host(.searchbar-no-animate) .searchbar-cancel-button {\n transition-duration: 0ms;\n}\n\n:host(.ion-color) .searchbar-cancel-button {\n color: var(--ion-color-base);\n}\n\n@media (any-hover: hover) {\n :host(.ion-color) .searchbar-cancel-button:hover {\n color: var(--ion-color-tint);\n }\n}\n:host-context(ion-toolbar) {\n padding-top: 1px;\n padding-bottom: 15px;\n min-height: 52px;\n}\n\n:host-context(ion-toolbar.ion-color):not(.ion-color) {\n color: inherit;\n}\n\n:host-context(ion-toolbar.ion-color):not(.ion-color) .searchbar-cancel-button {\n color: currentColor;\n}\n\n:host-context(ion-toolbar.ion-color) .searchbar-search-icon {\n color: currentColor;\n opacity: 0.5;\n}\n\n:host-context(ion-toolbar.ion-color):not(.ion-color) .searchbar-input {\n background: rgba(var(--ion-color-contrast-rgb), 0.07);\n color: currentColor;\n}\n\n:host-context(ion-toolbar.ion-color):not(.ion-color) .searchbar-clear-button {\n color: currentColor;\n opacity: 0.5;\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 searchbar input\n * @prop --box-shadow: Box shadow of the searchbar input\n * @prop --border-radius: Border radius of the searchbar input\n * @prop --cancel-button-color: Color of the searchbar cancel button\n * @prop --clear-button-color: Color of the searchbar clear button\n * @prop --color: Color of the searchbar text\n * @prop --icon-color: Color of the searchbar icon\n * @prop --placeholder-color: Color of the searchbar placeholder\n * @prop --placeholder-font-style: Font style of the searchbar placeholder\n * @prop --placeholder-font-weight: Font weight of the searchbar placeholder\n * @prop --placeholder-opacity: Opacity of the searchbar placeholder\n */\n --placeholder-color: initial;\n --placeholder-font-style: initial;\n --placeholder-font-weight: initial;\n --placeholder-opacity: 0.6;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n display: flex;\n position: relative;\n align-items: center;\n width: 100%;\n color: var(--color);\n font-family: var(--ion-font-family, inherit);\n box-sizing: border-box;\n}\n\n:host(.ion-color) {\n color: var(--ion-color-contrast);\n}\n\n:host(.ion-color) .searchbar-input {\n background: var(--ion-color-base);\n}\n\n:host(.ion-color) .searchbar-clear-button,\n:host(.ion-color) .searchbar-cancel-button,\n:host(.ion-color) .searchbar-search-icon {\n color: inherit;\n}\n\n.searchbar-search-icon {\n color: var(--icon-color);\n pointer-events: none;\n}\n\n.searchbar-input-container {\n display: block;\n position: relative;\n flex-shrink: 1;\n width: 100%;\n}\n\n.searchbar-input {\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n text-align: inherit;\n white-space: inherit;\n color: inherit;\n border-radius: var(--border-radius);\n display: block;\n width: 100%;\n min-height: inherit;\n border: 0;\n outline: none;\n background: var(--background);\n font-family: inherit;\n box-shadow: var(--box-shadow);\n box-sizing: border-box;\n appearance: none;\n}\n.searchbar-input::placeholder {\n color: var(--placeholder-color);\n font-family: inherit;\n font-style: var(--placeholder-font-style);\n font-weight: var(--placeholder-font-weight);\n opacity: var(--placeholder-opacity);\n}\n.searchbar-input::-webkit-search-cancel-button, .searchbar-input::-ms-clear {\n display: none;\n}\n\n.searchbar-cancel-button {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n margin-bottom: 0;\n display: none;\n height: 100%;\n border: 0;\n outline: none;\n color: var(--cancel-button-color);\n cursor: pointer;\n appearance: none;\n}\n\n.searchbar-cancel-button > div {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n}\n\n.searchbar-clear-button {\n margin-left: 0;\n margin-right: 0;\n margin-top: 0;\n margin-bottom: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n display: none;\n min-height: 0;\n outline: none;\n color: var(--clear-button-color);\n appearance: none;\n}\n\n/**\n * Normally, we would not want to use :focus\n * here because that would mean tapping the button\n * on mobile would focus it (and keep it focused).\n * However, the clear button always disappears after\n * being activated, so we never get to that state.\n */\n.searchbar-clear-button:focus {\n opacity: 0.5;\n}\n\n:host(.searchbar-has-value.searchbar-should-show-clear) .searchbar-clear-button {\n display: block;\n}\n\n:host(.searchbar-disabled) {\n cursor: default;\n opacity: 0.4;\n pointer-events: 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:host {\n --background: var(--ion-background-color, #fff);\n --border-radius: 2px;\n --box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);\n --cancel-button-color: var(--ion-color-step-900, #1a1a1a);\n --clear-button-color: initial;\n --color: var(--ion-color-step-850, #262626);\n --icon-color: var(--ion-color-step-600, #666666);\n -webkit-padding-start: 8px;\n padding-inline-start: 8px;\n -webkit-padding-end: 8px;\n padding-inline-end: 8px;\n padding-top: 8px;\n padding-bottom: 8px;\n background: inherit;\n}\n\n.searchbar-search-icon {\n top: 11px;\n width: 1.3125rem;\n height: 1.3125rem;\n}\n@supports (inset-inline-start: 0) {\n .searchbar-search-icon {\n inset-inline-start: 16px;\n }\n}\n@supports not (inset-inline-start: 0) {\n .searchbar-search-icon {\n left: 16px;\n }\n :host-context([dir=rtl]) .searchbar-search-icon {\n left: unset;\n right: unset;\n right: 16px;\n }\n [dir=rtl] .searchbar-search-icon {\n left: unset;\n right: unset;\n right: 16px;\n }\n @supports selector(:dir(rtl)) {\n .searchbar-search-icon:dir(rtl) {\n left: unset;\n right: unset;\n right: 16px;\n }\n }\n}\n\n.searchbar-cancel-button {\n /**\n * The left edge of the cancel button\n * should align with the left edge\n * of the back button if the searchbar\n * is used in a toolbar.\n */\n top: 0;\n background-color: transparent;\n font-size: 1.5em;\n}\n@supports (inset-inline-start: 0) {\n .searchbar-cancel-button {\n inset-inline-start: 9px;\n }\n}\n@supports not (inset-inline-start: 0) {\n .searchbar-cancel-button {\n left: 9px;\n }\n :host-context([dir=rtl]) .searchbar-cancel-button {\n left: unset;\n right: unset;\n right: 9px;\n }\n [dir=rtl] .searchbar-cancel-button {\n left: unset;\n right: unset;\n right: 9px;\n }\n @supports selector(:dir(rtl)) {\n .searchbar-cancel-button:dir(rtl) {\n left: unset;\n right: unset;\n right: 9px;\n }\n }\n}\n\n.searchbar-search-icon,\n.searchbar-cancel-button {\n position: absolute;\n}\n\n.searchbar-search-icon.ion-activated,\n.searchbar-cancel-button.ion-activated {\n background-color: transparent;\n}\n\n.searchbar-input {\n -webkit-padding-start: 3.4375rem;\n padding-inline-start: 3.4375rem;\n -webkit-padding-end: 3.4375rem;\n padding-inline-end: 3.4375rem;\n padding-top: 0.375rem;\n padding-bottom: 0.375rem;\n background-position: left 8px center;\n height: auto;\n font-size: 1rem;\n font-weight: 400;\n line-height: 30px;\n}\n:host-context([dir=rtl]) .searchbar-input {\n background-position: right 8px center;\n}\n\n[dir=rtl] .searchbar-input {\n background-position: right 8px center;\n}\n\n@supports selector(:dir(rtl)) {\n .searchbar-input:dir(rtl) {\n background-position: right 8px center;\n }\n}\n\n.searchbar-clear-button {\n top: 0;\n padding-left: 0;\n padding-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n position: absolute;\n height: 100%;\n border: 0;\n background-color: transparent;\n}\n@supports (inset-inline-start: 0) {\n .searchbar-clear-button {\n inset-inline-end: 13px;\n }\n}\n@supports not (inset-inline-start: 0) {\n .searchbar-clear-button {\n right: 13px;\n }\n :host-context([dir=rtl]) .searchbar-clear-button {\n left: unset;\n right: unset;\n left: 13px;\n }\n [dir=rtl] .searchbar-clear-button {\n left: unset;\n right: unset;\n left: 13px;\n }\n @supports selector(:dir(rtl)) {\n .searchbar-clear-button:dir(rtl) {\n left: unset;\n right: unset;\n left: 13px;\n }\n }\n}\n\n.searchbar-clear-button.ion-activated {\n background-color: transparent;\n}\n\n.searchbar-clear-icon {\n width: 1.375rem;\n height: 100%;\n}\n\n:host(.searchbar-has-focus) .searchbar-search-icon {\n display: block;\n}\n\n:host(.searchbar-has-focus) .searchbar-cancel-button,\n:host(.searchbar-should-show-cancel) .searchbar-cancel-button {\n display: block;\n}\n\n:host(.searchbar-has-focus) .searchbar-cancel-button + .searchbar-search-icon,\n:host(.searchbar-should-show-cancel) .searchbar-cancel-button + .searchbar-search-icon {\n display: none;\n}\n\n:host-context(ion-toolbar) {\n -webkit-padding-start: 7px;\n padding-inline-start: 7px;\n -webkit-padding-end: 7px;\n padding-inline-end: 7px;\n padding-top: 3px;\n padding-bottom: 3px;\n}","/*!\n * (C) Ionic http://ionicframework.com - MIT License\n */\nimport { Host, forceUpdate, h } from \"@stencil/core\";\nimport { debounceEvent, raf, componentOnReady, inheritAttributes } from \"../../utils/helpers\";\nimport { isRTL } from \"../../utils/rtl/index\";\nimport { createColorClasses } from \"../../utils/theme\";\nimport { arrowBackSharp, closeCircle, closeSharp, searchOutline, searchSharp } from \"ionicons/icons\";\nimport { config } from \"../../global/config\";\nimport { getIonMode } from \"../../global/ionic-global\";\n/**\n * @virtualProp {\"ios\" | \"md\"} mode - The mode determines which platform styles to use.\n */\nexport class Searchbar {\n constructor() {\n this.isCancelVisible = false;\n this.shouldAlignLeft = true;\n this.inputId = `ion-searchbar-${searchbarIds++}`;\n this.inheritedAttributes = {};\n /**\n * Clears the input field and triggers the control change.\n */\n this.onClearInput = async (shouldFocus) => {\n this.ionClear.emit();\n return new Promise((resolve) => {\n // setTimeout() fixes https://github.com/ionic-team/ionic/issues/7527\n // wait for 4 frames\n setTimeout(() => {\n const value = this.getValue();\n if (value !== '') {\n this.value = '';\n this.emitInputChange();\n /**\n * When tapping clear button\n * ensure input is focused after\n * clearing input so users\n * can quickly start typing.\n */\n if (shouldFocus && !this.focused) {\n this.setFocus();\n /**\n * The setFocus call above will clear focusedValue,\n * but ionChange will never have gotten a chance to\n * fire. Manually revert focusedValue so onBlur can\n * compare against what was in the box before the clear.\n */\n this.focusedValue = value;\n }\n }\n resolve();\n }, 16 * 4);\n });\n };\n /**\n * Clears the input field and tells the input to blur since\n * the clearInput function doesn't want the input to blur\n * then calls the custom cancel function if the user passed one in.\n */\n this.onCancelSearchbar = async (ev) => {\n if (ev) {\n ev.preventDefault();\n ev.stopPropagation();\n }\n this.ionCancel.emit();\n // get cached values before clearing the input\n const value = this.getValue();\n const focused = this.focused;\n await this.onClearInput();\n /**\n * If there used to be something in the box, and we weren't focused\n * beforehand (meaning no blur fired that would already handle this),\n * manually fire ionChange.\n */\n if (value && !focused) {\n this.emitValueChange(ev);\n }\n if (this.nativeInput) {\n this.nativeInput.blur();\n }\n };\n /**\n * Update the Searchbar input value when the input changes\n */\n this.onInput = (ev) => {\n const input = ev.target;\n if (input) {\n this.value = input.value;\n }\n this.emitInputChange(ev);\n };\n this.onChange = (ev) => {\n this.emitValueChange(ev);\n };\n /**\n * Sets the Searchbar to not focused and checks if it should align left\n * based on whether there is a value in the searchbar or not.\n */\n this.onBlur = (ev) => {\n this.focused = false;\n this.ionBlur.emit();\n this.positionElements();\n if (this.focusedValue !== this.value) {\n this.emitValueChange(ev);\n }\n this.focusedValue = undefined;\n };\n /**\n * Sets the Searchbar to focused and active on input focus.\n */\n this.onFocus = () => {\n this.focused = true;\n this.focusedValue = this.value;\n this.ionFocus.emit();\n this.positionElements();\n };\n this.focused = false;\n this.noAnimate = true;\n this.color = undefined;\n this.animated = false;\n this.autocapitalize = 'default';\n this.autocomplete = 'off';\n this.autocorrect = 'off';\n this.cancelButtonIcon = config.get('backButtonIcon', arrowBackSharp);\n this.cancelButtonText = 'Cancel';\n this.clearIcon = undefined;\n this.debounce = undefined;\n this.disabled = false;\n this.inputmode = undefined;\n this.enterkeyhint = undefined;\n this.maxlength = undefined;\n this.minlength = undefined;\n this.name = this.inputId;\n this.placeholder = 'Search';\n this.searchIcon = undefined;\n this.showCancelButton = 'never';\n this.showClearButton = 'always';\n this.spellcheck = false;\n this.type = 'search';\n this.value = '';\n }\n /**\n * lang and dir are globally enumerated attributes.\n * As a result, creating these as properties\n * can have unintended side effects. Instead, we\n * listen for attribute changes and inherit them\n * to the inner `<input>` element.\n */\n onLangChanged(newValue) {\n this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { lang: newValue });\n forceUpdate(this);\n }\n onDirChanged(newValue) {\n this.inheritedAttributes = Object.assign(Object.assign({}, this.inheritedAttributes), { dir: newValue });\n forceUpdate(this);\n }\n debounceChanged() {\n const { ionInput, debounce, originalIonInput } = this;\n /**\n * If debounce is undefined, we have to manually revert the ionInput emitter in case\n * debounce used to be set to a number. Otherwise, the event would stay debounced.\n */\n this.ionInput = debounce === undefined ? originalIonInput !== null && originalIonInput !== void 0 ? originalIonInput : ionInput : debounceEvent(ionInput, debounce);\n }\n valueChanged() {\n const inputEl = this.nativeInput;\n const value = this.getValue();\n if (inputEl && inputEl.value !== value) {\n inputEl.value = value;\n }\n }\n showCancelButtonChanged() {\n requestAnimationFrame(() => {\n this.positionElements();\n forceUpdate(this);\n });\n }\n connectedCallback() {\n this.emitStyle();\n }\n componentWillLoad() {\n this.inheritedAttributes = Object.assign({}, inheritAttributes(this.el, ['lang', 'dir']));\n }\n componentDidLoad() {\n this.originalIonInput = this.ionInput;\n this.positionElements();\n this.debounceChanged();\n setTimeout(() => {\n this.noAnimate = false;\n }, 300);\n }\n emitStyle() {\n this.ionStyle.emit({\n searchbar: true,\n });\n }\n /**\n * Sets focus on the native `input` in `ion-searchbar`. Use this method instead of the global\n * `input.focus()`.\n *\n * Developers who wish to focus an input when a page enters\n * should call `setFocus()` in the `ionViewDidEnter()` lifecycle method.\n *\n * Developers who wish to focus an input when an overlay is presented\n * should call `setFocus` after `didPresent` has resolved.\n *\n * See [managing focus](/docs/developing/managing-focus) for more information.\n */\n async setFocus() {\n if (this.nativeInput) {\n this.nativeInput.focus();\n }\n }\n /**\n * Returns the native `<input>` element used under the hood.\n */\n async getInputElement() {\n /**\n * If this gets called in certain early lifecycle hooks (ex: Vue onMounted),\n * nativeInput won't be defined yet with the custom elements build, so wait for it to load in.\n */\n if (!this.nativeInput) {\n await new Promise((resolve) => componentOnReady(this.el, resolve));\n }\n return Promise.resolve(this.nativeInput);\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(event) {\n const { value } = this;\n // Checks for both null and undefined values\n const newValue = value == null ? value : value.toString();\n // Emitting a value change should update the internal state for tracking the focused value\n this.focusedValue = newValue;\n this.ionChange.emit({ value: newValue, event });\n }\n /**\n * Emits an `ionInput` event.\n */\n emitInputChange(event) {\n const { value } = this;\n this.ionInput.emit({ value, event });\n }\n /**\n * Positions the input search icon, placeholder, and the cancel button\n * based on the input value and if it is focused. (ios only)\n */\n positionElements() {\n const value = this.getValue();\n const prevAlignLeft = this.shouldAlignLeft;\n const mode = getIonMode(this);\n const shouldAlignLeft = !this.animated || value.trim() !== '' || !!this.focused;\n this.shouldAlignLeft = shouldAlignLeft;\n if (mode !== 'ios') {\n return;\n }\n if (prevAlignLeft !== shouldAlignLeft) {\n this.positionPlaceholder();\n }\n if (this.animated) {\n this.positionCancelButton();\n }\n }\n /**\n * Positions the input placeholder\n */\n positionPlaceholder() {\n const inputEl = this.nativeInput;\n if (!inputEl) {\n return;\n }\n const rtl = isRTL(this.el);\n const iconEl = (this.el.shadowRoot || this.el).querySelector('.searchbar-search-icon');\n if (this.shouldAlignLeft) {\n inputEl.removeAttribute('style');\n iconEl.removeAttribute('style');\n }\n else {\n // Create a dummy span to get the placeholder width\n const doc = document;\n const tempSpan = doc.createElement('span');\n tempSpan.innerText = this.placeholder || '';\n doc.body.appendChild(tempSpan);\n // Get the width of the span then remove it\n raf(() => {\n const textWidth = tempSpan.offsetWidth;\n tempSpan.remove();\n // Calculate the input padding\n const inputLeft = 'calc(50% - ' + textWidth / 2 + 'px)';\n // Calculate the icon margin\n /**\n * We take the icon width to account\n * for any text scales applied to the icon\n * such as Dynamic Type on iOS as well as 8px\n * of padding.\n */\n const iconLeft = 'calc(50% - ' + (textWidth / 2 + iconEl.clientWidth + 8) + 'px)';\n // Set the input padding start and icon margin start\n if (rtl) {\n inputEl.style.paddingRight = inputLeft;\n iconEl.style.marginRight = iconLeft;\n }\n else {\n inputEl.style.paddingLeft = inputLeft;\n iconEl.style.marginLeft = iconLeft;\n }\n });\n }\n }\n /**\n * Show the iOS Cancel button on focus, hide it offscreen otherwise\n */\n positionCancelButton() {\n const rtl = isRTL(this.el);\n const cancelButton = (this.el.shadowRoot || this.el).querySelector('.searchbar-cancel-button');\n const shouldShowCancel = this.shouldShowCancelButton();\n if (cancelButton !== null && shouldShowCancel !== this.isCancelVisible) {\n const cancelStyle = cancelButton.style;\n this.isCancelVisible = shouldShowCancel;\n if (shouldShowCancel) {\n if (rtl) {\n cancelStyle.marginLeft = '0';\n }\n else {\n cancelStyle.marginRight = '0';\n }\n }\n else {\n const offset = cancelButton.offsetWidth;\n if (offset > 0) {\n if (rtl) {\n cancelStyle.marginLeft = -offset + 'px';\n }\n else {\n cancelStyle.marginRight = -offset + 'px';\n }\n }\n }\n }\n }\n getValue() {\n return this.value || '';\n }\n hasValue() {\n return this.getValue() !== '';\n }\n /**\n * Determines whether or not the cancel button should be visible onscreen.\n * Cancel button should be shown if one of two conditions applies:\n * 1. `showCancelButton` is set to `always`.\n * 2. `showCancelButton` is set to `focus`, and the searchbar has been focused.\n */\n shouldShowCancelButton() {\n if (this.showCancelButton === 'never' || (this.showCancelButton === 'focus' && !this.focused)) {\n return false;\n }\n return true;\n }\n /**\n * Determines whether or not the clear button should be visible onscreen.\n * Clear button should be shown if one of two conditions applies:\n * 1. `showClearButton` is set to `always`.\n * 2. `showClearButton` is set to `focus`, and the searchbar has been focused.\n */\n shouldShowClearButton() {\n if (this.showClearButton === 'never' || (this.showClearButton === 'focus' && !this.focused)) {\n return false;\n }\n return true;\n }\n render() {\n const { cancelButtonText, autocapitalize } = this;\n const animated = this.animated && config.getBoolean('animated', true);\n const mode = getIonMode(this);\n const clearIcon = this.clearIcon || (mode === 'ios' ? closeCircle : closeSharp);\n const searchIcon = this.searchIcon || (mode === 'ios' ? searchOutline : searchSharp);\n const shouldShowCancelButton = this.shouldShowCancelButton();\n const cancelButton = this.showCancelButton !== 'never' && (h(\"button\", { key: '9c7b4d2e86d9bcd12e57c9a96723d3da598a3773', \"aria-label\": cancelButtonText, \"aria-hidden\": shouldShowCancelButton ? undefined : 'true', type: \"button\", tabIndex: mode === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: \"searchbar-cancel-button\" }, h(\"div\", { key: '1c25268a776134cccd29eb752898cb8ac0eed30f', \"aria-hidden\": \"true\" }, mode === 'md' ? (h(\"ion-icon\", { \"aria-hidden\": \"true\", mode: mode, icon: this.cancelButtonIcon, lazy: false })) : (cancelButtonText))));\n return (h(Host, { key: 'feef9fc7e405656e134a76dc037aaaa1a4ce36b4', role: \"search\", \"aria-disabled\": this.disabled ? 'true' : null, class: createColorClasses(this.color, {\n [mode]: true,\n 'searchbar-animated': animated,\n 'searchbar-disabled': this.disabled,\n 'searchbar-no-animate': animated && this.noAnimate,\n 'searchbar-has-value': this.hasValue(),\n 'searchbar-left-aligned': this.shouldAlignLeft,\n 'searchbar-has-focus': this.focused,\n 'searchbar-should-show-clear': this.shouldShowClearButton(),\n 'searchbar-should-show-cancel': this.shouldShowCancelButton(),\n }) }, h(\"div\", { key: '92e3925dc0de468e5665705902153837105dfa57', class: \"searchbar-input-container\" }, h(\"input\", Object.assign({ key: 'fb74faf81b347a62338ccdac981525df1c52b322', \"aria-label\": \"search text\", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: \"searchbar-input\", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), mode === 'md' && cancelButton, h(\"ion-icon\", { key: 'd58c3636dac1d2e4135989f4c07dc95c51492e60', \"aria-hidden\": \"true\", mode: mode, icon: searchIcon, lazy: false, class: \"searchbar-search-icon\" }), h(\"button\", { key: '1cece7c63ca5ca4b8799e15ee6d2bac100ef0d5e', \"aria-label\": \"reset\", type: \"button\", \"no-blur\": true, class: \"searchbar-clear-button\", onPointerDown: (ev) => {\n /**\n * This prevents mobile browsers from\n * blurring the input when the clear\n * button is activated.\n */\n ev.preventDefault();\n }, onClick: () => this.onClearInput(true) }, h(\"ion-icon\", { key: 'fe3c2b9cac29002f69e95a89b554c7504e2df050', \"aria-hidden\": \"true\", mode: mode, icon: clearIcon, lazy: false, class: \"searchbar-clear-icon\" }))), mode === 'ios' && cancelButton));\n }\n static get is() { return \"ion-searchbar\"; }\n static get encapsulation() { return \"scoped\"; }\n static get originalStyleUrls() {\n return {\n \"ios\": [\"searchbar.ios.scss\"],\n \"md\": [\"searchbar.md.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"ios\": [\"searchbar.ios.css\"],\n \"md\": [\"searchbar.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 \"attribute\": \"color\",\n \"reflect\": true\n },\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`, enable searchbar animation.\"\n },\n \"attribute\": \"animated\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"autocapitalize\": {\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\": \"Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.\\nAvailable options: `\\\"off\\\"`, `\\\"none\\\"`, `\\\"on\\\"`, `\\\"sentences\\\"`, `\\\"words\\\"`, `\\\"characters\\\"`.\"\n },\n \"attribute\": \"autocapitalize\",\n \"reflect\": false,\n \"defaultValue\": \"'default'\"\n },\n \"autocomplete\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"AutocompleteTypes\",\n \"resolved\": \"\\\"name\\\" | \\\"email\\\" | \\\"tel\\\" | \\\"url\\\" | \\\"on\\\" | \\\"off\\\" | \\\"honorific-prefix\\\" | \\\"given-name\\\" | \\\"additional-name\\\" | \\\"family-name\\\" | \\\"honorific-suffix\\\" | \\\"nickname\\\" | \\\"username\\\" | \\\"new-password\\\" | \\\"current-password\\\" | \\\"one-time-code\\\" | \\\"organization-title\\\" | \\\"organization\\\" | \\\"street-address\\\" | \\\"address-line1\\\" | \\\"address-line2\\\" | \\\"address-line3\\\" | \\\"address-level4\\\" | \\\"address-level3\\\" | \\\"address-level2\\\" | \\\"address-level1\\\" | \\\"country\\\" | \\\"country-name\\\" | \\\"postal-code\\\" | \\\"cc-name\\\" | \\\"cc-given-name\\\" | \\\"cc-additional-name\\\" | \\\"cc-family-name\\\" | \\\"cc-number\\\" | \\\"cc-exp\\\" | \\\"cc-exp-month\\\" | \\\"cc-exp-year\\\" | \\\"cc-csc\\\" | \\\"cc-type\\\" | \\\"transaction-currency\\\" | \\\"transaction-amount\\\" | \\\"language\\\" | \\\"bday\\\" | \\\"bday-day\\\" | \\\"bday-month\\\" | \\\"bday-year\\\" | \\\"sex\\\" | \\\"tel-country-code\\\" | \\\"tel-national\\\" | \\\"tel-area-code\\\" | \\\"tel-local\\\" | \\\"tel-extension\\\" | \\\"impp\\\" | \\\"photo\\\"\",\n \"references\": {\n \"AutocompleteTypes\": {\n \"location\": \"import\",\n \"path\": \"../../interface\",\n \"id\": \"src/interface.d.ts::AutocompleteTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set the input's autocomplete property.\"\n },\n \"attribute\": \"autocomplete\",\n \"reflect\": false,\n \"defaultValue\": \"'off'\"\n },\n \"autocorrect\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'on' | 'off'\",\n \"resolved\": \"\\\"off\\\" | \\\"on\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set the input's autocorrect property.\"\n },\n \"attribute\": \"autocorrect\",\n \"reflect\": false,\n \"defaultValue\": \"'off'\"\n },\n \"cancelButtonIcon\": {\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\": \"Set the cancel button icon. Only applies to `md` mode.\\nDefaults to `arrow-back-sharp`.\"\n },\n \"attribute\": \"cancel-button-icon\",\n \"reflect\": false,\n \"defaultValue\": \"config.get('backButtonIcon', arrowBackSharp) as string\"\n },\n \"cancelButtonText\": {\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\": \"Set the the cancel button text. Only applies to `ios` mode.\"\n },\n \"attribute\": \"cancel-button-text\",\n \"reflect\": false,\n \"defaultValue\": \"'Cancel'\"\n },\n \"clearIcon\": {\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\": \"Set the clear icon. Defaults to `close-circle` for `ios` and `close-sharp` for `md`.\"\n },\n \"attribute\": \"clear-icon\",\n \"reflect\": false\n },\n \"debounce\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set the amount of time, in milliseconds, to wait to trigger the `ionInput` event after each keystroke.\"\n },\n \"attribute\": \"debounce\",\n \"reflect\": false\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 input.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"inputmode\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'none' | 'text' | 'tel' | 'url' | 'email' | 'numeric' | 'decimal' | 'search'\",\n \"resolved\": \"\\\"decimal\\\" | \\\"email\\\" | \\\"none\\\" | \\\"numeric\\\" | \\\"search\\\" | \\\"tel\\\" | \\\"text\\\" | \\\"url\\\" | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"A hint to the browser for which keyboard to display.\\nPossible values: `\\\"none\\\"`, `\\\"text\\\"`, `\\\"tel\\\"`, `\\\"url\\\"`,\\n`\\\"email\\\"`, `\\\"numeric\\\"`, `\\\"decimal\\\"`, and `\\\"search\\\"`.\"\n },\n \"attribute\": \"inputmode\",\n \"reflect\": false\n },\n \"enterkeyhint\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'\",\n \"resolved\": \"\\\"done\\\" | \\\"enter\\\" | \\\"go\\\" | \\\"next\\\" | \\\"previous\\\" | \\\"search\\\" | \\\"send\\\" | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"A hint to the browser for which enter key to display.\\nPossible values: `\\\"enter\\\"`, `\\\"done\\\"`, `\\\"go\\\"`, `\\\"next\\\"`,\\n`\\\"previous\\\"`, `\\\"search\\\"`, and `\\\"send\\\"`.\"\n },\n \"attribute\": \"enterkeyhint\",\n \"reflect\": false\n },\n \"maxlength\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute specifies the maximum number of characters that the user can enter.\"\n },\n \"attribute\": \"maxlength\",\n \"reflect\": false\n },\n \"minlength\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This attribute specifies the minimum number of characters that the user can enter.\"\n },\n \"attribute\": \"minlength\",\n \"reflect\": 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\": \"If used in a form, set the name of the control, which is submitted with the form data.\"\n },\n \"attribute\": \"name\",\n \"reflect\": false,\n \"defaultValue\": \"this.inputId\"\n },\n \"placeholder\": {\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\": \"Set the input's placeholder.\\n`placeholder` can accept either plaintext or HTML as a string.\\nTo display characters normally reserved for HTML, they\\nmust be escaped. For example `<Ionic>` would become\\n`&lt;Ionic&gt;`\\n\\nFor more information: [Security Documentation](https://ionicframework.com/docs/faq/security)\"\n },\n \"attribute\": \"placeholder\",\n \"reflect\": false,\n \"defaultValue\": \"'Search'\"\n },\n \"searchIcon\": {\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 icon to use as the search icon. Defaults to `search-outline` in\\n`ios` mode and `search-sharp` in `md` mode.\"\n },\n \"attribute\": \"search-icon\",\n \"reflect\": false\n },\n \"showCancelButton\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'never' | 'focus' | 'always'\",\n \"resolved\": \"\\\"always\\\" | \\\"focus\\\" | \\\"never\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the behavior for the cancel button. Defaults to `\\\"never\\\"`.\\nSetting to `\\\"focus\\\"` shows the cancel button on focus.\\nSetting to `\\\"never\\\"` hides the cancel button.\\nSetting to `\\\"always\\\"` shows the cancel button regardless\\nof focus state.\"\n },\n \"attribute\": \"show-cancel-button\",\n \"reflect\": false,\n \"defaultValue\": \"'never'\"\n },\n \"showClearButton\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'never' | 'focus' | 'always'\",\n \"resolved\": \"\\\"always\\\" | \\\"focus\\\" | \\\"never\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the behavior for the clear button. Defaults to `\\\"focus\\\"`.\\nSetting to `\\\"focus\\\"` shows the clear button on focus if the\\ninput is not empty.\\nSetting to `\\\"never\\\"` hides the clear button.\\nSetting to `\\\"always\\\"` shows the clear button regardless\\nof focus state, but only if the input is not empty.\"\n },\n \"attribute\": \"show-clear-button\",\n \"reflect\": false,\n \"defaultValue\": \"'always'\"\n },\n \"spellcheck\": {\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`, enable spellcheck on the input.\"\n },\n \"attribute\": \"spellcheck\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"type\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url'\",\n \"resolved\": \"\\\"email\\\" | \\\"number\\\" | \\\"password\\\" | \\\"search\\\" | \\\"tel\\\" | \\\"text\\\" | \\\"url\\\"\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Set the type of the input.\"\n },\n \"attribute\": \"type\",\n \"reflect\": false,\n \"defaultValue\": \"'search'\"\n },\n \"value\": {\n \"type\": \"string\",\n \"mutable\": true,\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 value of the searchbar.\"\n },\n \"attribute\": \"value\",\n \"reflect\": false,\n \"defaultValue\": \"''\"\n }\n };\n }\n static get states() {\n return {\n \"focused\": {},\n \"noAnimate\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"ionInput\",\n \"name\": \"ionInput\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the `value` of the `ion-searchbar` element has changed.\"\n },\n \"complexType\": {\n \"original\": \"SearchbarInputEventDetail\",\n \"resolved\": \"SearchbarInputEventDetail\",\n \"references\": {\n \"SearchbarInputEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./searchbar-interface\",\n \"id\": \"src/components/searchbar/searchbar-interface.ts::SearchbarInputEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"ionChange\",\n \"name\": \"ionChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The `ionChange` event is fired for `<ion-searchbar>` elements when the user\\nmodifies the element's value. Unlike the `ionInput` event, the `ionChange`\\nevent is not necessarily fired for each alteration to an element's value.\\n\\nThe `ionChange` event is fired when the value has been committed\\nby the user. This can happen when the element loses focus or\\nwhen the \\\"Enter\\\" key is pressed. `ionChange` can also fire\\nwhen clicking the clear or cancel buttons.\"\n },\n \"complexType\": {\n \"original\": \"SearchbarChangeEventDetail\",\n \"resolved\": \"SearchbarChangeEventDetail\",\n \"references\": {\n \"SearchbarChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./searchbar-interface\",\n \"id\": \"src/components/searchbar/searchbar-interface.ts::SearchbarChangeEventDetail\"\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 cancel button is clicked.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"ionClear\",\n \"name\": \"ionClear\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the clear input button is clicked.\"\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 input loses focus.\"\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 input has 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 \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the native `input` in `ion-searchbar`. Use this method instead of the global\\n`input.focus()`.\\n\\nDevelopers who wish to focus an input when a page enters\\nshould call `setFocus()` in the `ionViewDidEnter()` lifecycle method.\\n\\nDevelopers who wish to focus an input when an overlay is presented\\nshould call `setFocus` after `didPresent` has resolved.\\n\\nSee [managing focus](/docs/developing/managing-focus) for more information.\",\n \"tags\": []\n }\n },\n \"getInputElement\": {\n \"complexType\": {\n \"signature\": \"() => Promise<HTMLInputElement>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLInputElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLInputElement\"\n }\n },\n \"return\": \"Promise<HTMLInputElement>\"\n },\n \"docs\": {\n \"text\": \"Returns the native `<input>` element used under the hood.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"lang\",\n \"methodName\": \"onLangChanged\"\n }, {\n \"propName\": \"dir\",\n \"methodName\": \"onDirChanged\"\n }, {\n \"propName\": \"debounce\",\n \"methodName\": \"debounceChanged\"\n }, {\n \"propName\": \"value\",\n \"methodName\": \"valueChanged\"\n }, {\n \"propName\": \"showCancelButton\",\n \"methodName\": \"showCancelButtonChanged\"\n }];\n }\n}\nlet searchbarIds = 0;\n"],"mappings":"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","ignoreList":[]}