@ionic/core 8.4.4-dev.11741032668.18899f9b → 8.4.4-dev.11741046329.16b83b14

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 (436) hide show
  1. package/components/checkbox.js +40 -6
  2. package/components/helpers.js +1 -11
  3. package/components/index6.js +11 -3
  4. package/components/index9.js +1 -1
  5. package/components/ion-segment-button.js +9 -40
  6. package/components/ion-select.js +6 -4
  7. package/components/ion-toggle.js +6 -4
  8. package/components/ionic-global.js +1 -2
  9. package/components/modal.js +259 -35
  10. package/components/toolbar.js +2 -2
  11. package/css/core.css.map +1 -1
  12. package/css/ionic.bundle.css.map +1 -1
  13. package/dist/cjs/{app-globals-4283fe37.js → app-globals-21afee77.js} +1 -1
  14. package/dist/cjs/{data-21dc0f81.js → data-108e531d.js} +1 -1
  15. package/dist/cjs/{framework-delegate-05579976.js → framework-delegate-55f5683a.js} +1 -1
  16. package/dist/cjs/{hardware-back-button-f2cbbdce.js → hardware-back-button-9e8a2c4f.js} +1 -1
  17. package/dist/cjs/{helpers-4be3f90d.js → helpers-afaa9001.js} +0 -11
  18. package/dist/cjs/{index-c441c903.js → index-0d762bba.js} +2 -2
  19. package/dist/cjs/{index-5915f9b3.js → index-2a46a047.js} +11 -3
  20. package/dist/cjs/{index-9c6c9e9c.js → index-3652c918.js} +4 -4
  21. package/dist/cjs/{index-ad7a712e.js → index-9509ecad.js} +1 -1
  22. package/dist/cjs/{index-90ec3b6c.js → index-e975c92b.js} +5 -5
  23. package/dist/cjs/index.cjs.js +10 -10
  24. package/dist/cjs/{input-shims-e748a364.js → input-shims-cd05268a.js} +5 -3
  25. package/dist/cjs/{input.utils-74e4ec28.js → input.utils-ffb2f81b.js} +2 -2
  26. package/dist/cjs/ion-accordion_2.cjs.entry.js +3 -3
  27. package/dist/cjs/ion-action-sheet.cjs.entry.js +6 -6
  28. package/dist/cjs/ion-alert.cjs.entry.js +6 -6
  29. package/dist/cjs/ion-app_8.cjs.entry.js +14 -14
  30. package/dist/cjs/ion-avatar_3.cjs.entry.js +1 -1
  31. package/dist/cjs/ion-back-button.cjs.entry.js +2 -2
  32. package/dist/cjs/ion-backdrop.cjs.entry.js +1 -1
  33. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +2 -2
  34. package/dist/cjs/ion-button_2.cjs.entry.js +3 -3
  35. package/dist/cjs/ion-card_5.cjs.entry.js +2 -2
  36. package/dist/cjs/ion-checkbox.cjs.entry.js +39 -8
  37. package/dist/cjs/ion-chip.cjs.entry.js +1 -1
  38. package/dist/cjs/ion-col_3.cjs.entry.js +1 -1
  39. package/dist/cjs/ion-datetime-button.cjs.entry.js +4 -4
  40. package/dist/cjs/ion-datetime_3.cjs.entry.js +7 -7
  41. package/dist/cjs/ion-fab_3.cjs.entry.js +2 -2
  42. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  43. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +4 -4
  44. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +2 -2
  45. package/dist/cjs/ion-input.cjs.entry.js +5 -5
  46. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  47. package/dist/cjs/ion-item_8.cjs.entry.js +2 -2
  48. package/dist/cjs/ion-loading.cjs.entry.js +6 -6
  49. package/dist/cjs/ion-menu_3.cjs.entry.js +7 -7
  50. package/dist/cjs/ion-modal.cjs.entry.js +266 -43
  51. package/dist/cjs/ion-nav_2.cjs.entry.js +6 -6
  52. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  53. package/dist/cjs/ion-picker-column.cjs.entry.js +2 -2
  54. package/dist/cjs/ion-picker.cjs.entry.js +1 -1
  55. package/dist/cjs/ion-popover.cjs.entry.js +7 -7
  56. package/dist/cjs/ion-progress-bar.cjs.entry.js +2 -2
  57. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  58. package/dist/cjs/ion-range.cjs.entry.js +4 -4
  59. package/dist/cjs/ion-refresher_2.cjs.entry.js +4 -4
  60. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  61. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  62. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  63. package/dist/cjs/ion-searchbar.cjs.entry.js +2 -2
  64. package/dist/cjs/ion-segment_2.cjs.entry.js +10 -41
  65. package/dist/cjs/ion-select-modal.cjs.entry.js +6 -6
  66. package/dist/cjs/ion-select_3.cjs.entry.js +12 -11
  67. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  68. package/dist/cjs/ion-split-pane.cjs.entry.js +1 -1
  69. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +2 -2
  70. package/dist/cjs/ion-tab_2.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-text.cjs.entry.js +1 -1
  72. package/dist/cjs/ion-textarea.cjs.entry.js +5 -5
  73. package/dist/cjs/ion-toast.cjs.entry.js +6 -6
  74. package/dist/cjs/ion-toggle.cjs.entry.js +7 -6
  75. package/dist/cjs/{ionic-global-96da1b2e.js → ionic-global-d9a8bb5b.js} +1 -2
  76. package/dist/cjs/ionic.cjs.js +3 -3
  77. package/dist/cjs/{ios.transition-2dae3b92.js → ios.transition-0e664e88.js} +4 -4
  78. package/dist/cjs/loader.cjs.js +3 -3
  79. package/dist/cjs/{md.transition-ea3260a7.js → md.transition-2e8aef2c.js} +4 -4
  80. package/dist/cjs/{notch-controller-a0c464d1.js → notch-controller-d69150f5.js} +1 -1
  81. package/dist/cjs/{overlays-3880b5b5.js → overlays-65fdaff6.js} +5 -5
  82. package/dist/cjs/{status-tap-fb807fad.js → status-tap-d74f1429.js} +4 -3
  83. package/dist/cjs/{swipe-back-47a52b83.js → swipe-back-0303a5e4.js} +1 -1
  84. package/dist/collection/components/checkbox/checkbox.ios.css +52 -15
  85. package/dist/collection/components/checkbox/checkbox.js +90 -4
  86. package/dist/collection/components/checkbox/checkbox.md.css +52 -15
  87. package/dist/collection/components/modal/animations/ios.enter.js +50 -4
  88. package/dist/collection/components/modal/animations/ios.leave.js +24 -2
  89. package/dist/collection/components/modal/animations/md.enter.js +52 -5
  90. package/dist/collection/components/modal/animations/md.leave.js +26 -3
  91. package/dist/collection/components/modal/animations/sheet.js +11 -2
  92. package/dist/collection/components/modal/gestures/sheet.js +79 -10
  93. package/dist/collection/components/modal/modal.ios.css +16 -0
  94. package/dist/collection/components/modal/modal.js +32 -7
  95. package/dist/collection/components/modal/modal.md.css +6 -0
  96. package/dist/collection/components/segment-button/segment-button.js +9 -40
  97. package/dist/collection/components/select/select.js +23 -4
  98. package/dist/collection/components/toggle/toggle.js +23 -4
  99. package/dist/collection/components/toolbar/toolbar.js +6 -2
  100. package/dist/collection/utils/helpers.js +0 -10
  101. package/dist/collection/utils/logging/index.js +10 -3
  102. package/dist/collection/utils/platform.js +1 -2
  103. package/dist/collection/utils/test/platform.utils.js +1 -1
  104. package/dist/docs.json +187 -2
  105. package/dist/esm/{app-globals-c10a1137.js → app-globals-5dbb61a5.js} +1 -1
  106. package/dist/esm/{data-ae11fd43.js → data-b3284b5e.js} +1 -1
  107. package/dist/esm/{framework-delegate-f683816e.js → framework-delegate-63d1a679.js} +1 -1
  108. package/dist/esm/{hardware-back-button-44195e92.js → hardware-back-button-06ef3c3e.js} +1 -1
  109. package/dist/esm/{helpers-9b49d7d2.js → helpers-da915de8.js} +1 -11
  110. package/dist/esm/{index-b019fc18.js → index-2f7fde3d.js} +5 -5
  111. package/dist/esm/{index-9b0d46f4.js → index-6ad967f3.js} +11 -3
  112. package/dist/esm/{index-5a0f5fd0.js → index-79b30591.js} +1 -1
  113. package/dist/esm/{index-e1e9a0d3.js → index-cb21eccb.js} +4 -4
  114. package/dist/esm/{index-33f7e3ff.js → index-efb8ecdf.js} +2 -2
  115. package/dist/esm/index.js +10 -10
  116. package/dist/esm/{input-shims-0e65111b.js → input-shims-2fd7c6ef.js} +5 -3
  117. package/dist/esm/{input.utils-1ad8dafc.js → input.utils-961c9f17.js} +2 -2
  118. package/dist/esm/ion-accordion_2.entry.js +3 -3
  119. package/dist/esm/ion-action-sheet.entry.js +6 -6
  120. package/dist/esm/ion-alert.entry.js +6 -6
  121. package/dist/esm/ion-app_8.entry.js +14 -14
  122. package/dist/esm/ion-avatar_3.entry.js +1 -1
  123. package/dist/esm/ion-back-button.entry.js +2 -2
  124. package/dist/esm/ion-backdrop.entry.js +1 -1
  125. package/dist/esm/ion-breadcrumb_2.entry.js +2 -2
  126. package/dist/esm/ion-button_2.entry.js +3 -3
  127. package/dist/esm/ion-card_5.entry.js +2 -2
  128. package/dist/esm/ion-checkbox.entry.js +39 -8
  129. package/dist/esm/ion-chip.entry.js +1 -1
  130. package/dist/esm/ion-col_3.entry.js +1 -1
  131. package/dist/esm/ion-datetime-button.entry.js +4 -4
  132. package/dist/esm/ion-datetime_3.entry.js +7 -7
  133. package/dist/esm/ion-fab_3.entry.js +2 -2
  134. package/dist/esm/ion-img.entry.js +2 -2
  135. package/dist/esm/ion-infinite-scroll_2.entry.js +4 -4
  136. package/dist/esm/ion-input-password-toggle.entry.js +2 -2
  137. package/dist/esm/ion-input.entry.js +5 -5
  138. package/dist/esm/ion-item-option_3.entry.js +4 -4
  139. package/dist/esm/ion-item_8.entry.js +2 -2
  140. package/dist/esm/ion-loading.entry.js +6 -6
  141. package/dist/esm/ion-menu_3.entry.js +7 -7
  142. package/dist/esm/ion-modal.entry.js +266 -43
  143. package/dist/esm/ion-nav_2.entry.js +6 -6
  144. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  145. package/dist/esm/ion-picker-column.entry.js +2 -2
  146. package/dist/esm/ion-picker.entry.js +1 -1
  147. package/dist/esm/ion-popover.entry.js +7 -7
  148. package/dist/esm/ion-progress-bar.entry.js +2 -2
  149. package/dist/esm/ion-radio_2.entry.js +2 -2
  150. package/dist/esm/ion-range.entry.js +4 -4
  151. package/dist/esm/ion-refresher_2.entry.js +4 -4
  152. package/dist/esm/ion-reorder_2.entry.js +4 -4
  153. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  154. package/dist/esm/ion-route_4.entry.js +2 -2
  155. package/dist/esm/ion-searchbar.entry.js +2 -2
  156. package/dist/esm/ion-segment_2.entry.js +10 -41
  157. package/dist/esm/ion-select-modal.entry.js +6 -6
  158. package/dist/esm/ion-select_3.entry.js +12 -11
  159. package/dist/esm/ion-spinner.entry.js +1 -1
  160. package/dist/esm/ion-split-pane.entry.js +1 -1
  161. package/dist/esm/ion-tab-bar_2.entry.js +2 -2
  162. package/dist/esm/ion-tab_2.entry.js +2 -2
  163. package/dist/esm/ion-text.entry.js +1 -1
  164. package/dist/esm/ion-textarea.entry.js +5 -5
  165. package/dist/esm/ion-toast.entry.js +6 -6
  166. package/dist/esm/ion-toggle.entry.js +7 -6
  167. package/dist/esm/{ionic-global-bf78a847.js → ionic-global-c81d82ab.js} +1 -2
  168. package/dist/esm/ionic.js +3 -3
  169. package/dist/esm/{ios.transition-b7103952.js → ios.transition-b1da3753.js} +4 -4
  170. package/dist/esm/loader.js +3 -3
  171. package/dist/esm/{md.transition-e4034e0a.js → md.transition-571b3859.js} +4 -4
  172. package/dist/esm/{notch-controller-3dc61260.js → notch-controller-55b09e11.js} +1 -1
  173. package/dist/esm/{overlays-aea27b63.js → overlays-5deab4de.js} +5 -5
  174. package/dist/esm/{status-tap-163e8128.js → status-tap-79eac0ac.js} +4 -3
  175. package/dist/esm/{swipe-back-23ee7ab1.js → swipe-back-e5394307.js} +1 -1
  176. package/dist/esm-es5/app-globals-5dbb61a5.js +4 -0
  177. package/dist/esm-es5/{data-ae11fd43.js → data-b3284b5e.js} +1 -1
  178. package/dist/esm-es5/{framework-delegate-f683816e.js → framework-delegate-63d1a679.js} +1 -1
  179. package/dist/esm-es5/{hardware-back-button-44195e92.js → hardware-back-button-06ef3c3e.js} +1 -1
  180. package/dist/esm-es5/{helpers-9b49d7d2.js → helpers-da915de8.js} +1 -1
  181. package/dist/esm-es5/{index-b019fc18.js → index-2f7fde3d.js} +1 -1
  182. package/dist/esm-es5/index-6ad967f3.js +4 -0
  183. package/dist/esm-es5/{index-5a0f5fd0.js → index-79b30591.js} +1 -1
  184. package/dist/esm-es5/{index-e1e9a0d3.js → index-cb21eccb.js} +1 -1
  185. package/dist/esm-es5/{index-33f7e3ff.js → index-efb8ecdf.js} +1 -1
  186. package/dist/esm-es5/index.js +1 -1
  187. package/dist/esm-es5/input-shims-2fd7c6ef.js +4 -0
  188. package/dist/esm-es5/{input.utils-1ad8dafc.js → input.utils-961c9f17.js} +1 -1
  189. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  190. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  191. package/dist/esm-es5/ion-alert.entry.js +1 -1
  192. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  193. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  194. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  195. package/dist/esm-es5/ion-backdrop.entry.js +1 -1
  196. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  197. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  198. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  199. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  200. package/dist/esm-es5/ion-chip.entry.js +1 -1
  201. package/dist/esm-es5/ion-col_3.entry.js +1 -1
  202. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  203. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  204. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  205. package/dist/esm-es5/ion-img.entry.js +1 -1
  206. package/dist/esm-es5/ion-infinite-scroll_2.entry.js +1 -1
  207. package/dist/esm-es5/ion-input-password-toggle.entry.js +1 -1
  208. package/dist/esm-es5/ion-input.entry.js +1 -1
  209. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  210. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  211. package/dist/esm-es5/ion-loading.entry.js +1 -1
  212. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  213. package/dist/esm-es5/ion-modal.entry.js +1 -1
  214. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  215. package/dist/esm-es5/ion-picker-column-option.entry.js +1 -1
  216. package/dist/esm-es5/ion-picker-column.entry.js +1 -1
  217. package/dist/esm-es5/ion-picker.entry.js +1 -1
  218. package/dist/esm-es5/ion-popover.entry.js +1 -1
  219. package/dist/esm-es5/ion-progress-bar.entry.js +1 -1
  220. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  221. package/dist/esm-es5/ion-range.entry.js +1 -1
  222. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  223. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  224. package/dist/esm-es5/ion-ripple-effect.entry.js +1 -1
  225. package/dist/esm-es5/ion-route_4.entry.js +1 -1
  226. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  227. package/dist/esm-es5/ion-segment_2.entry.js +1 -1
  228. package/dist/esm-es5/ion-select-modal.entry.js +1 -1
  229. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  230. package/dist/esm-es5/ion-spinner.entry.js +1 -1
  231. package/dist/esm-es5/ion-split-pane.entry.js +1 -1
  232. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  233. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  234. package/dist/esm-es5/ion-text.entry.js +1 -1
  235. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  236. package/dist/esm-es5/ion-toast.entry.js +1 -1
  237. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  238. package/dist/esm-es5/{ionic-global-bf78a847.js → ionic-global-c81d82ab.js} +1 -1
  239. package/dist/esm-es5/ionic.js +1 -1
  240. package/dist/esm-es5/{ios.transition-b7103952.js → ios.transition-b1da3753.js} +1 -1
  241. package/dist/esm-es5/loader.js +1 -1
  242. package/dist/esm-es5/md.transition-571b3859.js +4 -0
  243. package/dist/esm-es5/{notch-controller-3dc61260.js → notch-controller-55b09e11.js} +1 -1
  244. package/dist/esm-es5/{overlays-aea27b63.js → overlays-5deab4de.js} +1 -1
  245. package/dist/esm-es5/status-tap-79eac0ac.js +4 -0
  246. package/dist/esm-es5/{swipe-back-23ee7ab1.js → swipe-back-e5394307.js} +1 -1
  247. package/dist/html.html-data.json +24 -0
  248. package/dist/ionic/index.esm.js +1 -1
  249. package/dist/ionic/ionic.esm.js +1 -1
  250. package/dist/ionic/ionic.js +1 -1
  251. package/dist/ionic/{p-3c6d2c1e.system.entry.js → p-01186920.system.entry.js} +1 -1
  252. package/dist/ionic/p-0430c2e0.entry.js +4 -0
  253. package/dist/ionic/p-0574e87e.js +4 -0
  254. package/dist/ionic/{p-77b1bb00.system.entry.js → p-05b74e45.system.entry.js} +1 -1
  255. package/dist/ionic/{p-b7d2ba68.entry.js → p-081a4ce4.entry.js} +1 -1
  256. package/dist/ionic/p-0af823e1.js +4 -0
  257. package/dist/ionic/{p-aa63b365.system.js → p-0eb35a7f.system.js} +1 -1
  258. package/dist/ionic/p-1132ffee.entry.js +4 -0
  259. package/dist/ionic/{p-60f1b2fa.entry.js → p-120fb79a.entry.js} +1 -1
  260. package/dist/ionic/{p-98c08d09.entry.js → p-15d18206.entry.js} +1 -1
  261. package/dist/ionic/{p-035c0885.entry.js → p-15e76dd1.entry.js} +1 -1
  262. package/dist/ionic/{p-6b1f082e.entry.js → p-16188af7.entry.js} +1 -1
  263. package/dist/ionic/p-16bfb979.system.entry.js +4 -0
  264. package/dist/ionic/{p-5126cf1e.system.js → p-19ea7bff.system.js} +1 -1
  265. package/dist/ionic/{p-d60342e3.js → p-1a5bc5f7.js} +1 -1
  266. package/dist/ionic/{p-42808996.js → p-1ab13b2b.js} +1 -1
  267. package/dist/ionic/{p-13892787.system.entry.js → p-1e67b266.system.entry.js} +1 -1
  268. package/dist/ionic/{p-e2e19375.system.entry.js → p-2172893e.system.entry.js} +1 -1
  269. package/dist/ionic/{p-ea7c658c.system.entry.js → p-2346ab53.system.entry.js} +2 -2
  270. package/dist/ionic/{p-944d66b5.system.entry.js → p-248318e0.system.entry.js} +1 -1
  271. package/dist/ionic/{p-a873feda.system.entry.js → p-2507278c.system.entry.js} +1 -1
  272. package/dist/ionic/{p-eb599bcb.js → p-28706c6f.js} +1 -1
  273. package/dist/ionic/{p-4eed0eb2.system.entry.js → p-2abae1cc.system.entry.js} +1 -1
  274. package/dist/ionic/{p-a197ff3b.system.entry.js → p-2b838f86.system.entry.js} +1 -1
  275. package/dist/ionic/{p-a3705e10.entry.js → p-2da9c8a7.entry.js} +1 -1
  276. package/dist/ionic/{p-92e4df0c.system.entry.js → p-2e46590d.system.entry.js} +1 -1
  277. package/dist/ionic/{p-e78bff37.system.entry.js → p-302b50bb.system.entry.js} +1 -1
  278. package/dist/ionic/p-322c5fb4.system.js +4 -0
  279. package/dist/ionic/{p-c66604e4.entry.js → p-33a8a71b.entry.js} +1 -1
  280. package/dist/ionic/{p-f687573e.system.js → p-343b6b1d.system.js} +1 -1
  281. package/dist/ionic/{p-2bc73fb5.js → p-34b11c24.js} +1 -1
  282. package/dist/ionic/{p-b3680e2f.system.js → p-3ad285e3.system.js} +1 -1
  283. package/dist/ionic/{p-8911101b.system.js → p-3c8e5c23.system.js} +1 -1
  284. package/dist/ionic/{p-d4ca0475.js → p-3cc276f4.js} +1 -1
  285. package/dist/ionic/p-49a0e74c.entry.js +4 -0
  286. package/dist/ionic/p-4c2d5b80.system.js +4 -0
  287. package/dist/ionic/p-4c98e2cf.system.js +4 -0
  288. package/dist/ionic/p-4ec778aa.entry.js +4 -0
  289. package/dist/ionic/{p-4ad78edc.entry.js → p-52d7a191.entry.js} +1 -1
  290. package/dist/ionic/{p-1543d6b2.system.entry.js → p-567de071.system.entry.js} +1 -1
  291. package/dist/ionic/p-577bc414.entry.js +4 -0
  292. package/dist/ionic/{p-22e4210e.system.entry.js → p-585b455c.system.entry.js} +1 -1
  293. package/dist/ionic/{p-42585688.system.entry.js → p-58d5df0c.system.entry.js} +1 -1
  294. package/dist/ionic/{p-026517fb.entry.js → p-5b932840.entry.js} +1 -1
  295. package/dist/ionic/{p-97acff20.system.js → p-5c08627a.system.js} +1 -1
  296. package/dist/ionic/{p-eb6f173b.entry.js → p-5c9eb9af.entry.js} +1 -1
  297. package/dist/ionic/{p-9c7efe25.system.entry.js → p-5fce0c0b.system.entry.js} +1 -1
  298. package/dist/ionic/{p-f00ba947.entry.js → p-61db139d.entry.js} +1 -1
  299. package/dist/ionic/{p-85b1ffae.entry.js → p-62af944c.entry.js} +1 -1
  300. package/dist/ionic/{p-4c9ccc7f.system.entry.js → p-63b0abde.system.entry.js} +1 -1
  301. package/dist/ionic/p-67222c16.system.js +4 -0
  302. package/dist/ionic/{p-ca908a50.system.entry.js → p-6933c482.system.entry.js} +1 -1
  303. package/dist/ionic/{p-c2583512.entry.js → p-6d32975a.entry.js} +1 -1
  304. package/dist/ionic/{p-dd0cad9c.entry.js → p-6d6cedc5.entry.js} +1 -1
  305. package/dist/ionic/{p-9c82a07c.system.entry.js → p-6dfb0f39.system.entry.js} +1 -1
  306. package/dist/ionic/{p-7a1766d6.js → p-72812e99.js} +1 -1
  307. package/dist/ionic/p-72bc8a1c.js +4 -0
  308. package/dist/ionic/{p-c3f4ea6c.system.entry.js → p-744c8672.system.entry.js} +1 -1
  309. package/dist/ionic/{p-d4896d36.system.entry.js → p-7458862e.system.entry.js} +1 -1
  310. package/dist/ionic/{p-d0a7f584.system.entry.js → p-74e3f0af.system.entry.js} +2 -2
  311. package/dist/ionic/p-7513b0c4.js +4 -0
  312. package/dist/ionic/{p-5a8efe64.system.entry.js → p-797eeea8.system.entry.js} +1 -1
  313. package/dist/ionic/{p-fd988d29.entry.js → p-7a02f476.entry.js} +1 -1
  314. package/dist/ionic/{p-0dc23518.entry.js → p-7a6eaf9e.entry.js} +1 -1
  315. package/dist/ionic/{p-288a2cff.entry.js → p-7b9a2b23.entry.js} +1 -1
  316. package/dist/ionic/{p-b637aa3f.system.entry.js → p-7ddc46c3.system.entry.js} +1 -1
  317. package/dist/ionic/p-7de1e42c.system.js +4 -0
  318. package/dist/ionic/{p-0eb2553a.system.entry.js → p-7ed1657c.system.entry.js} +1 -1
  319. package/dist/ionic/{p-95da3ae2.system.js → p-8635f5e6.system.js} +1 -1
  320. package/dist/ionic/{p-5bc12439.entry.js → p-8694928f.entry.js} +1 -1
  321. package/dist/ionic/{p-ebd0a280.entry.js → p-89bf08c7.entry.js} +1 -1
  322. package/dist/ionic/{p-830f1a37.system.entry.js → p-8cfba7e9.system.entry.js} +1 -1
  323. package/dist/ionic/{p-4f2f4e3b.entry.js → p-92763d3d.entry.js} +1 -1
  324. package/dist/ionic/{p-0d0a6fb9.system.entry.js → p-933727f9.system.entry.js} +1 -1
  325. package/dist/ionic/p-9343a445.js +4 -0
  326. package/dist/ionic/{p-656516a2.entry.js → p-937a7e21.entry.js} +1 -1
  327. package/dist/ionic/{p-2c9abc61.entry.js → p-948e6c6a.entry.js} +1 -1
  328. package/dist/ionic/{p-56a8aa85.entry.js → p-95775830.entry.js} +1 -1
  329. package/dist/ionic/{p-9065e1ed.system.entry.js → p-98231c01.system.entry.js} +1 -1
  330. package/dist/ionic/{p-808c9efc.system.entry.js → p-985a7e17.system.entry.js} +1 -1
  331. package/dist/ionic/{p-703d60a2.entry.js → p-98ff6b32.entry.js} +1 -1
  332. package/dist/ionic/{p-28cb707b.system.entry.js → p-9b122e3c.system.entry.js} +1 -1
  333. package/dist/ionic/{p-b609d03b.entry.js → p-9b428d25.entry.js} +1 -1
  334. package/dist/ionic/{p-85632b54.entry.js → p-9df2c6fb.entry.js} +1 -1
  335. package/dist/ionic/{p-eb4ac14d.system.js → p-9f3008d4.system.js} +1 -1
  336. package/dist/ionic/{p-d17f0dca.system.entry.js → p-9f364443.system.entry.js} +1 -1
  337. package/dist/ionic/{p-50c24ade.system.entry.js → p-a090bce8.system.entry.js} +1 -1
  338. package/dist/ionic/{p-5b03d498.system.entry.js → p-a0eb506c.system.entry.js} +1 -1
  339. package/dist/ionic/{p-4452a8ac.system.js → p-a15ddedb.system.js} +1 -1
  340. package/dist/ionic/p-a3db8ee3.js +4 -0
  341. package/dist/ionic/{p-9393bfbe.system.entry.js → p-a4a2420e.system.entry.js} +1 -1
  342. package/dist/ionic/{p-d86d7845.system.js → p-a69b9fc5.system.js} +1 -1
  343. package/dist/ionic/{p-1a790eef.system.js → p-a88dec0d.system.js} +2 -2
  344. package/dist/ionic/{p-c15a77e2.entry.js → p-a8f2c254.entry.js} +1 -1
  345. package/dist/ionic/{p-1c2f74e4.system.entry.js → p-ab674093.system.entry.js} +1 -1
  346. package/dist/ionic/{p-647b0625.system.js → p-ada36597.system.js} +1 -1
  347. package/dist/ionic/{p-42a9bb35.entry.js → p-afecb188.entry.js} +1 -1
  348. package/dist/ionic/{p-5b867a40.entry.js → p-b1eb86fd.entry.js} +1 -1
  349. package/dist/ionic/{p-c6ff3239.system.js → p-b3c60433.system.js} +1 -1
  350. package/dist/ionic/{p-bb11d9fb.js → p-b51e4004.js} +1 -1
  351. package/dist/ionic/{p-8db44ad3.js → p-b6efeab8.js} +1 -1
  352. package/dist/ionic/{p-406f9aa1.entry.js → p-b9d7015f.entry.js} +1 -1
  353. package/dist/ionic/{p-200dfb8f.entry.js → p-bb0db172.entry.js} +1 -1
  354. package/dist/ionic/{p-9d4a8059.entry.js → p-bdad26e3.entry.js} +1 -1
  355. package/dist/ionic/{p-842bb3c8.system.entry.js → p-bdf2cb2e.system.entry.js} +1 -1
  356. package/dist/ionic/{p-b5639a4f.entry.js → p-c41ac815.entry.js} +1 -1
  357. package/dist/ionic/{p-f1d1c614.system.js → p-c4238c12.system.js} +1 -1
  358. package/dist/ionic/p-c4b53b16.system.entry.js +4 -0
  359. package/dist/ionic/{p-dcc9aaf1.system.entry.js → p-cac0e0b3.system.entry.js} +1 -1
  360. package/dist/ionic/p-cb13696c.js +4 -0
  361. package/dist/ionic/{p-ef144104.system.entry.js → p-cba1f9bc.system.entry.js} +1 -1
  362. package/dist/ionic/p-cdc83025.entry.js +4 -0
  363. package/dist/ionic/p-d1c5b60e.system.js +4 -0
  364. package/dist/ionic/{p-881d9e52.system.js → p-d22e2a38.system.js} +1 -1
  365. package/dist/ionic/{p-8154947f.system.entry.js → p-d6eaffb1.system.entry.js} +2 -2
  366. package/dist/ionic/{p-e25cd3c7.js → p-d743e981.js} +1 -1
  367. package/dist/ionic/{p-72b65035.entry.js → p-d7aa6b00.entry.js} +1 -1
  368. package/dist/ionic/p-d7dd8fb1.entry.js +4 -0
  369. package/dist/ionic/{p-c3f5dcf9.entry.js → p-de930745.entry.js} +1 -1
  370. package/dist/ionic/{p-9fe2050a.entry.js → p-e06057c9.entry.js} +1 -1
  371. package/dist/ionic/{p-4a465405.system.entry.js → p-e09d6392.system.entry.js} +2 -2
  372. package/dist/ionic/p-e3171ff3.entry.js +4 -0
  373. package/dist/ionic/{p-16f1ba65.system.entry.js → p-e4ee80be.system.entry.js} +1 -1
  374. package/dist/ionic/p-e4fde4fb.system.entry.js +4 -0
  375. package/dist/ionic/p-e6376b93.system.entry.js +4 -0
  376. package/dist/ionic/{p-faa5e2b9.entry.js → p-e76dae93.entry.js} +1 -1
  377. package/dist/ionic/p-e8d56122.js +4 -0
  378. package/dist/ionic/{p-6f3d8334.js → p-ecceeb90.js} +1 -1
  379. package/dist/ionic/{p-d7fef52e.system.entry.js → p-ed75fcfb.system.entry.js} +1 -1
  380. package/dist/ionic/{p-acc78e36.entry.js → p-eef505e8.entry.js} +1 -1
  381. package/dist/ionic/{p-a33837c9.entry.js → p-f1060cd8.entry.js} +1 -1
  382. package/dist/ionic/{p-9ce56f65.system.entry.js → p-f1120724.system.entry.js} +1 -1
  383. package/dist/ionic/{p-0a499487.js → p-f1c4dcd4.js} +1 -1
  384. package/dist/ionic/{p-478dfa8c.system.entry.js → p-f3102647.system.entry.js} +1 -1
  385. package/dist/ionic/{p-13052792.entry.js → p-f63c2d12.entry.js} +1 -1
  386. package/dist/ionic/{p-5976e3b7.system.entry.js → p-fbd41a7e.system.entry.js} +1 -1
  387. package/dist/ionic/{p-712b57f9.system.entry.js → p-fca6ef5f.system.entry.js} +1 -1
  388. package/dist/ionic/{p-bed40aa8.entry.js → p-fceec762.entry.js} +1 -1
  389. package/dist/types/components/checkbox/checkbox.d.ts +25 -0
  390. package/dist/types/components/modal/animations/sheet.d.ts +1 -0
  391. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  392. package/dist/types/components/modal/modal-interface.d.ts +1 -0
  393. package/dist/types/components/modal/modal.d.ts +11 -0
  394. package/dist/types/components/segment-button/segment-button.d.ts +1 -2
  395. package/dist/types/components/select/select.d.ts +6 -0
  396. package/dist/types/components/toggle/toggle.d.ts +6 -0
  397. package/dist/types/components/toolbar/toolbar.d.ts +4 -0
  398. package/dist/types/components.d.ts +48 -0
  399. package/dist/types/utils/config.d.ts +9 -0
  400. package/dist/types/utils/helpers.d.ts +0 -1
  401. package/dist/types/utils/logging/index.d.ts +13 -1
  402. package/dist/types/utils/test/platform.utils.d.ts +1 -1
  403. package/hydrate/index.js +338 -105
  404. package/hydrate/index.mjs +338 -105
  405. package/package.json +1 -1
  406. package/dist/esm-es5/app-globals-c10a1137.js +0 -4
  407. package/dist/esm-es5/index-9b0d46f4.js +0 -4
  408. package/dist/esm-es5/input-shims-0e65111b.js +0 -4
  409. package/dist/esm-es5/md.transition-e4034e0a.js +0 -4
  410. package/dist/esm-es5/status-tap-163e8128.js +0 -4
  411. package/dist/ionic/p-0440660b.js +0 -4
  412. package/dist/ionic/p-06fee233.js +0 -4
  413. package/dist/ionic/p-075a94bd.js +0 -4
  414. package/dist/ionic/p-0ee3b5a2.system.js +0 -4
  415. package/dist/ionic/p-135e5731.js +0 -4
  416. package/dist/ionic/p-1f405274.js +0 -4
  417. package/dist/ionic/p-2c9eb774.system.js +0 -4
  418. package/dist/ionic/p-30ec5574.entry.js +0 -4
  419. package/dist/ionic/p-3667bc71.system.js +0 -4
  420. package/dist/ionic/p-3c7371c4.system.entry.js +0 -4
  421. package/dist/ionic/p-47e6c342.js +0 -4
  422. package/dist/ionic/p-4e8946f7.js +0 -4
  423. package/dist/ionic/p-51f13ac7.entry.js +0 -4
  424. package/dist/ionic/p-6167f80e.entry.js +0 -4
  425. package/dist/ionic/p-627c1f42.entry.js +0 -4
  426. package/dist/ionic/p-68dc53a5.js +0 -4
  427. package/dist/ionic/p-699c97a3.entry.js +0 -4
  428. package/dist/ionic/p-6bc9998f.entry.js +0 -4
  429. package/dist/ionic/p-75a0fffe.system.entry.js +0 -4
  430. package/dist/ionic/p-af09741c.entry.js +0 -4
  431. package/dist/ionic/p-c42a4dad.system.entry.js +0 -4
  432. package/dist/ionic/p-cc964e4f.system.js +0 -4
  433. package/dist/ionic/p-ddc058a7.system.entry.js +0 -4
  434. package/dist/ionic/p-e3357909.entry.js +0 -4
  435. package/dist/ionic/p-f4f255cb.system.js +0 -4
  436. package/dist/ionic/p-ff4b7e40.system.js +0 -4
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- System.register(["./p-25180df3.system.js","./p-d86d7845.system.js","./p-4609d030.system.js"],(function(o){"use strict";var i,t,r,a,d;return{setters:[function(o){i=o.r;t=o.h;r=o.f},function(o){a=o.b},function(o){d=o.c}],execute:function(){var n=":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}:host{--border-radius:50%;width:48px;height:48px}";var e=n;var s=":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}:host{--border-radius:50%;width:64px;height:64px}";var c=s;var p=o("ion_avatar",function(){function o(o){i(this,o)}o.prototype.render=function(){return t(r,{key:"998217066084f966bf5d356fed85bcbd451f675a",class:a(this)},t("slot",{key:"1a6f7c9d4dc6a875f86b5b3cda6d59cb39587f22"}))};return o}());p.style={ios:e,md:c};var l=":host{--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);--padding-top:3px;--padding-end:8px;--padding-bottom:3px;--padding-start:8px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:inline-block;min-width:10px;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);font-size:0.8125rem;font-weight:bold;line-height:1;text-align:center;white-space:nowrap;contain:content;vertical-align:baseline}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(:empty){display:none}:host{border-radius:10px;font-size:max(13px, 0.8125rem)}";var b=l;var g=":host{--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);--padding-top:3px;--padding-end:8px;--padding-bottom:3px;--padding-start:8px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:inline-block;min-width:10px;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);font-size:0.8125rem;font-weight:bold;line-height:1;text-align:center;white-space:nowrap;contain:content;vertical-align:baseline}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(:empty){display:none}:host{--padding-top:3px;--padding-end:4px;--padding-bottom:4px;--padding-start:4px;border-radius:4px}";var f=g;var v=o("ion_badge",function(){function o(o){i(this,o);this.color=undefined}o.prototype.render=function(){var o;var i=a(this);return t(r,{key:"1a2d39c5deec771a2f2196447627b62a7d4c8389",class:d(this.color,(o={},o[i]=true,o))},t("slot",{key:"fc1b6587f1ed24715748eb6785e7fb7a57cdd5cd"}))};return o}());v.style={ios:b,md:f};var h=":host{--size:48px;--border-radius:0;border-radius:var(--border-radius);display:block;width:var(--size);height:var(--size)}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}";var u=h;var m=o("ion_thumbnail",function(){function o(o){i(this,o)}o.prototype.render=function(){return t(r,{key:"cfa9aeb1d4fd624a9732c5230d29dd887e4b7771",class:a(this)},t("slot",{key:"29bc6e64063cba44e2643228df54394883933918"}))};return o}());m.style=u}}}));
4
+ System.register(["./p-25180df3.system.js","./p-a69b9fc5.system.js","./p-4609d030.system.js"],(function(o){"use strict";var i,t,r,a,d;return{setters:[function(o){i=o.r;t=o.h;r=o.f},function(o){a=o.b},function(o){d=o.c}],execute:function(){var n=":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}:host{--border-radius:50%;width:48px;height:48px}";var e=n;var s=":host{border-radius:var(--border-radius);display:block}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}:host{--border-radius:50%;width:64px;height:64px}";var c=s;var p=o("ion_avatar",function(){function o(o){i(this,o)}o.prototype.render=function(){return t(r,{key:"998217066084f966bf5d356fed85bcbd451f675a",class:a(this)},t("slot",{key:"1a6f7c9d4dc6a875f86b5b3cda6d59cb39587f22"}))};return o}());p.style={ios:e,md:c};var b=":host{--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);--padding-top:3px;--padding-end:8px;--padding-bottom:3px;--padding-start:8px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:inline-block;min-width:10px;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);font-size:0.8125rem;font-weight:bold;line-height:1;text-align:center;white-space:nowrap;contain:content;vertical-align:baseline}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(:empty){display:none}:host{border-radius:10px;font-size:max(13px, 0.8125rem)}";var l=b;var g=":host{--background:var(--ion-color-primary, #0054e9);--color:var(--ion-color-primary-contrast, #fff);--padding-top:3px;--padding-end:8px;--padding-bottom:3px;--padding-start:8px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:inline-block;min-width:10px;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);font-size:0.8125rem;font-weight:bold;line-height:1;text-align:center;white-space:nowrap;contain:content;vertical-align:baseline}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(:empty){display:none}:host{--padding-top:3px;--padding-end:4px;--padding-bottom:4px;--padding-start:4px;border-radius:4px}";var f=g;var v=o("ion_badge",function(){function o(o){i(this,o);this.color=undefined}o.prototype.render=function(){var o;var i=a(this);return t(r,{key:"1a2d39c5deec771a2f2196447627b62a7d4c8389",class:d(this.color,(o={},o[i]=true,o))},t("slot",{key:"fc1b6587f1ed24715748eb6785e7fb7a57cdd5cd"}))};return o}());v.style={ios:l,md:f};var h=":host{--size:48px;--border-radius:0;border-radius:var(--border-radius);display:block;width:var(--size);height:var(--size)}::slotted(ion-img),::slotted(img){border-radius:var(--border-radius);width:100%;height:100%;-o-object-fit:cover;object-fit:cover;overflow:hidden}";var u=h;var m=o("ion_thumbnail",function(){function o(o){i(this,o)}o.prototype.render=function(){return t(r,{key:"cfa9aeb1d4fd624a9732c5230d29dd887e4b7771",class:a(this)},t("slot",{key:"29bc6e64063cba44e2643228df54394883933918"}))};return o}());m.style=u}}}));
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * (C) Ionic http://ionicframework.com - MIT License
3
3
  */
4
- import{r as e,d as t,h as a,f as r,i as n}from"./p-d836d43e.js";import{f as i,d as o,r as s}from"./p-075a94bd.js";import{j as l,e as d,i as b,d as h}from"./p-bb11d9fb.js";import{p as g}from"./p-06fee233.js";import{i as c}from"./p-fb813dab.js";import{h as p,c as m}from"./p-47794def.js";import{b as k}from"./p-4e8946f7.js";const u=class{constructor(a){e(this,a),this.ionChange=t(this,"ionChange",7),this.ionInput=t(this,"ionInput",7),this.ionFocus=t(this,"ionFocus",7),this.ionBlur=t(this,"ionBlur",7),this.ionKnobMoveStart=t(this,"ionKnobMoveStart",7),this.ionKnobMoveEnd=t(this,"ionKnobMoveEnd",7),this.rangeId="ion-r-"+w++,this.didLoad=!1,this.noUpdate=!1,this.hasFocus=!1,this.inheritedAttributes={},this.contentEl=null,this.initialContentScrollY=!0,this.clampBounds=e=>l(this.min,e,this.max),this.ensureValueInBounds=e=>this.dualKnobs?{lower:this.clampBounds(e.lower),upper:this.clampBounds(e.upper)}:this.clampBounds(e),this.setupGesture=async()=>{const e=this.rangeSlider;e&&(this.gesture=(await import("./p-8ededb41.js")).createGesture({el:e,gestureName:"range",gesturePriority:100,threshold:10,onStart:()=>this.onStart(),onMove:e=>this.onMove(e),onEnd:e=>this.onEnd(e)}),this.gesture.enable(!this.disabled))},this.handleKeyboard=(e,t)=>{const{ensureValueInBounds:a}=this;let r=this.step;r=r>0?r:1,r/=this.max-this.min,t||(r*=-1),"A"===e?this.ratioA=l(0,this.ratioA+r,1):this.ratioB=l(0,this.ratioB+r,1),this.ionKnobMoveStart.emit({value:a(this.value)}),this.updateValue(),this.emitValueChange(),this.ionKnobMoveEnd.emit({value:a(this.value)})},this.onBlur=()=>{this.hasFocus&&(this.hasFocus=!1,this.ionBlur.emit())},this.onFocus=()=>{this.hasFocus||(this.hasFocus=!0,this.ionFocus.emit())},this.ratioA=0,this.ratioB=0,this.pressedKnob=void 0,this.color=void 0,this.debounce=void 0,this.name=this.rangeId,this.label=void 0,this.dualKnobs=!1,this.min=0,this.max=100,this.pin=!1,this.pinFormatter=e=>Math.round(e),this.snaps=!1,this.step=1,this.ticks=!0,this.activeBarStart=void 0,this.disabled=!1,this.value=0,this.labelPlacement="start"}debounceChanged(){const{ionInput:e,debounce:t,originalIonInput:a}=this;this.ionInput=void 0===t?null!=a?a:e:d(e,t)}minChanged(){this.noUpdate||this.updateRatio()}maxChanged(){this.noUpdate||this.updateRatio()}activeBarStartChanged(){const{activeBarStart:e}=this;void 0!==e&&(e>this.max?(g(`Range: The value of activeBarStart (${e}) is greater than the max (${this.max}). Valid values are greater than or equal to the min value and less than or equal to the max value.`,this.el),this.activeBarStart=this.max):e<this.min&&(g(`Range: The value of activeBarStart (${e}) is less than the min (${this.min}). Valid values are greater than or equal to the min value and less than or equal to the max value.`,this.el),this.activeBarStart=this.min))}disabledChanged(){this.gesture&&this.gesture.enable(!this.disabled)}valueChanged(){this.noUpdate||this.updateRatio()}componentWillLoad(){this.el.hasAttribute("id")&&(this.rangeId=this.el.getAttribute("id")),this.inheritedAttributes=b(this.el)}componentDidLoad(){this.originalIonInput=this.ionInput,this.setupGesture(),this.updateRatio(),this.didLoad=!0}connectedCallback(){var e;this.updateRatio(),this.debounceChanged(),this.disabledChanged(),this.activeBarStartChanged(),this.didLoad&&this.setupGesture();const t=i(this.el);this.contentEl=null!==(e=null==t?void 0:t.querySelector(".ion-content-scroll-host"))&&void 0!==e?e:t}disconnectedCallback(){this.gesture&&(this.gesture.destroy(),this.gesture=void 0)}getValue(){var e;const t=null!==(e=this.value)&&void 0!==e?e:0;return this.dualKnobs?"object"==typeof t?t:{lower:0,upper:t}:"object"==typeof t?t.upper:t}emitValueChange(){this.value=this.ensureValueInBounds(this.value),this.ionChange.emit({value:this.value})}onStart(){this.ionKnobMoveStart.emit({value:this.ensureValueInBounds(this.value)})}onMove(e){const{contentEl:t,pressedKnob:a}=this,r=e.currentX;t&&void 0===this.pressedKnob&&(this.initialContentScrollY=o(t)),void 0===a&&this.setPressedKnob(r),this.update(r)}onEnd(e){var t;const{contentEl:a,initialContentScrollY:r}=this,n=null!==(t=e.currentX)&&void 0!==t?t:e.clientX;void 0===this.pressedKnob&&this.setPressedKnob(n),a&&void 0!==this.pressedKnob&&s(a,r),this.update(n),this.pressedKnob=void 0,this.emitValueChange(),this.ionKnobMoveEnd.emit({value:this.ensureValueInBounds(this.value)})}update(e){const t=this.rect;let a=l(0,(e-t.left)/t.width,1);c(this.el)&&(a=1-a),this.snaps&&(a=v(f(a,this.min,this.max,this.step),this.min,this.max)),"A"===this.pressedKnob?this.ratioA=a:this.ratioB=a,this.updateValue()}setPressedKnob(e){const t=this.rect=this.rangeSlider.getBoundingClientRect();let a=l(0,(e-t.left)/t.width,1);c(this.el)&&(a=1-a),this.pressedKnob=!this.dualKnobs||Math.abs(this.ratioA-a)<Math.abs(this.ratioB-a)?"A":"B",this.setFocus(this.pressedKnob)}get valA(){return f(this.ratioA,this.min,this.max,this.step)}get valB(){return f(this.ratioB,this.min,this.max,this.step)}get ratioLower(){if(this.dualKnobs)return Math.min(this.ratioA,this.ratioB);const{activeBarStart:e}=this;return null==e?0:v(e,this.min,this.max)}get ratioUpper(){return this.dualKnobs?Math.max(this.ratioA,this.ratioB):this.ratioA}updateRatio(){const e=this.getValue(),{min:t,max:a}=this;this.dualKnobs?(this.ratioA=v(e.lower,t,a),this.ratioB=v(e.upper,t,a)):this.ratioA=v(e,t,a)}updateValue(){this.noUpdate=!0;const{valA:e,valB:t}=this;this.value=this.dualKnobs?{lower:Math.min(e,t),upper:Math.max(e,t)}:e,this.ionInput.emit({value:this.value}),this.noUpdate=!1}setFocus(e){if(this.el.shadowRoot){const t=this.el.shadowRoot.querySelector("A"===e?".range-knob-a":".range-knob-b");t&&t.focus()}}get hasStartSlotContent(){return null!==this.el.querySelector('[slot="start"]')}get hasEndSlotContent(){return null!==this.el.querySelector('[slot="end"]')}get hasLabel(){return void 0!==this.label||null!==this.el.querySelector('[slot="label"]')}renderRangeSlider(){var e;const{min:t,max:r,step:n,handleKeyboard:i,pressedKnob:o,disabled:s,pin:l,ratioLower:d,ratioUpper:b,pinFormatter:h,inheritedAttributes:g}=this;let p=100*d+"%",m=100-100*b+"%";const k=c(this.el),u=k?"right":"left",f=k?"left":"right",w=e=>({[u]:e[u]});!1===this.dualKnobs&&(this.valA<(null!==(e=this.activeBarStart)&&void 0!==e?e:this.min)?(p=100*b+"%",m=100-100*d+"%"):(p=100*d+"%",m=100-100*b+"%"));const y={[u]:p,[f]:m},z=[];if(this.snaps&&this.ticks)for(let e=t;e<=r;e+=n){const a=v(e,t,r),n=Math.min(d,b),i=Math.max(d,b),o={ratio:a,active:a>=n&&a<=i};o[u]=100*a+"%",z.push(o)}return a("div",{class:"range-slider",ref:e=>this.rangeSlider=e,onPointerUp:e=>{void 0===this.pressedKnob&&(this.onStart(),this.onEnd(e))}},z.map((e=>a("div",{style:w(e),role:"presentation",class:{"range-tick":!0,"range-tick-active":e.active},part:e.active?"tick-active":"tick"}))),a("div",{class:"range-bar-container"},a("div",{class:"range-bar",role:"presentation",part:"bar"}),a("div",{class:{"range-bar":!0,"range-bar-active":!0,"has-ticks":z.length>0},role:"presentation",style:y,part:"bar-active"})),x(k,{knob:"A",pressed:"A"===o,value:this.valA,ratio:this.ratioA,pin:l,pinFormatter:h,disabled:s,handleKeyboard:i,min:t,max:r,inheritedAttributes:g}),this.dualKnobs&&x(k,{knob:"B",pressed:"B"===o,value:this.valB,ratio:this.ratioB,pin:l,pinFormatter:h,disabled:s,handleKeyboard:i,min:t,max:r,inheritedAttributes:g}))}render(){const{disabled:e,el:t,hasLabel:n,rangeId:i,pin:o,pressedKnob:s,labelPlacement:l,label:d}=this,b=p("ion-item",t),g=b&&!(n&&("start"===l||"fixed"===l)||this.hasStartSlotContent),c=b&&!(n&&"end"===l||this.hasEndSlotContent),u=k(this);return h(!0,t,this.name,JSON.stringify(this.getValue()),e),a(r,{key:"05c699caaead7cc74deaae2a958c4632191473a8",onFocusin:this.onFocus,onFocusout:this.onBlur,id:i,class:m(this.color,{[u]:!0,"in-item":b,"range-disabled":e,"range-pressed":void 0!==s,"range-has-pin":o,[`range-label-placement-${l}`]:!0,"range-item-start-adjustment":g,"range-item-end-adjustment":c})},a("label",{key:"959837bcc48c4bda33ae1f62b66ef444329a2961",class:"range-wrapper",id:"range-label"},a("div",{key:"a434c6b5c26f57f52b3af98d881e7e6a179c89fc",class:{"label-text-wrapper":!0,"label-text-wrapper-hidden":!n},part:"label"},void 0!==d?a("div",{class:"label-text"},d):a("slot",{name:"label"})),a("div",{key:"87df1037b6b3337bd1fab05d33a26bf658c57914",class:"native-wrapper"},a("slot",{key:"2cb88f101da49b70aeae29b0bf5445fac241bb2f",name:"start"}),this.renderRangeSlider(),a("slot",{key:"17b835cfb2bd9b8e1957afd425543ff02b913d83",name:"end"}))))}get el(){return n(this)}static get watchers(){return{debounce:["debounceChanged"],min:["minChanged"],max:["maxChanged"],activeBarStart:["activeBarStartChanged"],disabled:["disabledChanged"],value:["valueChanged"]}}},x=(e,{knob:t,value:r,ratio:n,min:i,max:o,disabled:s,pressed:l,pin:d,handleKeyboard:b,pinFormatter:h,inheritedAttributes:g})=>{const c=e?"right":"left",p=g["aria-label"];return a("div",{onKeyDown:e=>{const a=e.key;"ArrowLeft"===a||"ArrowDown"===a?(b(t,!1),e.preventDefault(),e.stopPropagation()):"ArrowRight"!==a&&"ArrowUp"!==a||(b(t,!0),e.preventDefault(),e.stopPropagation())},class:{"range-knob-handle":!0,"range-knob-a":"A"===t,"range-knob-b":"B"===t,"range-knob-pressed":l,"range-knob-min":r===i,"range-knob-max":r===o,"ion-activatable":!0,"ion-focusable":!0},style:(()=>{const e={};return e[c]=100*n+"%",e})(),role:"slider",tabindex:s?-1:0,"aria-label":void 0!==p?p:null,"aria-labelledby":void 0===p?"range-label":null,"aria-valuemin":i,"aria-valuemax":o,"aria-disabled":s?"true":null,"aria-valuenow":r},d&&a("div",{class:"range-pin",role:"presentation",part:"pin"},h(r)),a("div",{class:"range-knob",role:"presentation",part:"knob"}))},f=(e,t,a,r)=>{let n=(a-t)*e;return r>0&&(n=Math.round(n/r)*r+t),function(e,...t){const a=Math.max(...t.map((e=>function(e){return e%1==0?0:e.toString().split(".")[1].length}(e))));return Number(e.toFixed(a))}(l(t,n,a),t,a,r)},v=(e,t,a)=>l(0,(e-t)/(a-t),1);let w=0;u.style={ios:":host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{top:calc((var(--height) - var(--knob-handle-size)) / 2);-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-pack:center;justify-content:center;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}.range-knob-handle{inset-inline-start:0}:host-context([dir=rtl]) .range-knob-handle{left:unset}[dir=rtl] .range-knob-handle{left:unset}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset}}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar-container{border-radius:var(--bar-border-radius);top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height)}.range-bar-container{inset-inline-start:0}:host-context([dir=rtl]) .range-bar-container{left:unset}[dir=rtl] .range-bar-container{left:unset}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset}}.range-bar{border-radius:var(--bar-border-radius);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-knob{border-radius:var(--knob-border-radius);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}.range-knob{inset-inline-start:calc(50% - var(--knob-size) / 2)}:host-context([dir=rtl]) .range-knob{left:unset}[dir=rtl] .range-knob{left:unset}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset}}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host([slot=start]),:host([slot=end]){width:auto}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}.range-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit}::slotted([slot=label]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}:host(.range-label-placement-start) .range-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.range-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-end) .range-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.range-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.range-label-placement-stacked) .range-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}:host(.range-label-placement-stacked) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host-context([dir=rtl]):host(.range-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).range-label-placement-stacked .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.range-label-placement-stacked:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.in-item.range-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.range-label-placement-stacked) .native-wrapper{margin-bottom:0px}:host{--knob-border-radius:50%;--knob-background:#ffffff;--knob-box-shadow:0px 0.5px 4px rgba(0, 0, 0, 0.12), 0px 6px 13px rgba(0, 0, 0, 0.12);--knob-size:26px;--bar-height:4px;--bar-background:var(--ion-color-step-900, var(--ion-background-color-step-900, #e6e6e6));--bar-background-active:var(--ion-color-primary, #0054e9);--bar-border-radius:2px;--height:42px}:host(.range-item-start-adjustment){-webkit-padding-start:24px;padding-inline-start:24px}:host(.range-item-end-adjustment){-webkit-padding-end:24px;padding-inline-end:24px}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-tick-active{background:var(--ion-color-base)}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-has-pin:not(.range-label-placement-stacked)){padding-top:calc(8px + 0.75rem)}:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper{margin-bottom:calc(8px + 0.75rem)}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-bar-active.has-ticks{border-radius:0;-webkit-margin-start:-2px;margin-inline-start:-2px;-webkit-margin-end:-2px;margin-inline-end:-2px}.range-tick{-webkit-margin-start:-2px;margin-inline-start:-2px;border-radius:0;position:absolute;top:17px;width:4px;height:8px;background:var(--ion-color-step-900, var(--ion-background-color-step-900, #e6e6e6));pointer-events:none}.range-tick-active{background:var(--bar-background-active)}.range-pin{-webkit-transform:translate3d(0, 100%, 0) scale(0.01);transform:translate3d(0, 100%, 0) scale(0.01);-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;min-width:28px;-webkit-transition:-webkit-transform 120ms ease;transition:-webkit-transform 120ms ease;transition:transform 120ms ease;transition:transform 120ms ease, -webkit-transform 120ms ease;background:transparent;color:var(--ion-text-color, #000);font-size:0.75rem;text-align:center}.range-knob-pressed .range-pin,.range-knob-handle.ion-focused .range-pin{-webkit-transform:translate3d(0, calc(-100% + 11px), 0) scale(1);transform:translate3d(0, calc(-100% + 11px), 0) scale(1)}:host(.range-disabled){opacity:0.3}",md:':host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{top:calc((var(--height) - var(--knob-handle-size)) / 2);-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-pack:center;justify-content:center;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}.range-knob-handle{inset-inline-start:0}:host-context([dir=rtl]) .range-knob-handle{left:unset}[dir=rtl] .range-knob-handle{left:unset}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset}}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar-container{border-radius:var(--bar-border-radius);top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height)}.range-bar-container{inset-inline-start:0}:host-context([dir=rtl]) .range-bar-container{left:unset}[dir=rtl] .range-bar-container{left:unset}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset}}.range-bar{border-radius:var(--bar-border-radius);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-knob{border-radius:var(--knob-border-radius);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}.range-knob{inset-inline-start:calc(50% - var(--knob-size) / 2)}:host-context([dir=rtl]) .range-knob{left:unset}[dir=rtl] .range-knob{left:unset}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset}}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host([slot=start]),:host([slot=end]){width:auto}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}.range-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit}::slotted([slot=label]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}:host(.range-label-placement-start) .range-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.range-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-end) .range-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.range-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.range-label-placement-stacked) .range-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}:host(.range-label-placement-stacked) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host-context([dir=rtl]):host(.range-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).range-label-placement-stacked .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.range-label-placement-stacked:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.in-item.range-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.range-label-placement-stacked) .native-wrapper{margin-bottom:0px}:host{--knob-border-radius:50%;--knob-background:var(--bar-background-active);--knob-box-shadow:none;--knob-size:18px;--bar-height:2px;--bar-background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.26);--bar-background-active:var(--ion-color-primary, #0054e9);--bar-border-radius:0;--height:42px;--pin-background:var(--ion-color-primary, #0054e9);--pin-color:var(--ion-color-primary-contrast, #fff)}::slotted(:not(ion-icon)[slot=start]),::slotted(:not(ion-icon)[slot=end]),.native-wrapper{font-size:0.75rem}:host(.range-item-start-adjustment){-webkit-padding-start:18px;padding-inline-start:18px}:host(.range-item-end-adjustment){-webkit-padding-end:18px;padding-inline-end:18px}:host(.ion-color) .range-bar{background:rgba(var(--ion-color-base-rgb), 0.26)}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-knob,:host(.ion-color) .range-knob::before,:host(.ion-color) .range-pin,:host(.ion-color) .range-pin::before,:host(.ion-color) .range-tick{background:var(--ion-color-base);color:var(--ion-color-contrast)}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:14px;margin-inline-end:14px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-has-pin:not(.range-label-placement-stacked)){padding-top:1.75rem}:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper{margin-bottom:1.75rem}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-knob{-webkit-transform:scale(0.67);transform:scale(0.67);-webkit-transition-duration:120ms;transition-duration:120ms;-webkit-transition-property:background-color, border, -webkit-transform;transition-property:background-color, border, -webkit-transform;transition-property:transform, background-color, border;transition-property:transform, background-color, border, -webkit-transform;-webkit-transition-timing-function:ease;transition-timing-function:ease;z-index:2}.range-knob::before{border-radius:50%;position:absolute;width:var(--knob-size);height:var(--knob-size);-webkit-transform:scale(1);transform:scale(1);-webkit-transition:0.267s cubic-bezier(0, 0, 0.58, 1);transition:0.267s cubic-bezier(0, 0, 0.58, 1);background:var(--knob-background);content:"";opacity:0.13;pointer-events:none}.range-knob::before{inset-inline-start:0}.range-tick{position:absolute;top:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick-active{background:transparent}.range-pin{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;border-radius:50%;-webkit-transform:translate3d(0, 0, 0) scale(0.01);transform:translate3d(0, 0, 0) scale(0.01);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:1.75rem;height:1.75rem;-webkit-transition:background 120ms ease, -webkit-transform 120ms ease;transition:background 120ms ease, -webkit-transform 120ms ease;transition:transform 120ms ease, background 120ms ease;transition:transform 120ms ease, background 120ms ease, -webkit-transform 120ms ease;background:var(--pin-background);color:var(--pin-color)}.range-pin::before{bottom:-1px;-webkit-margin-start:-13px;margin-inline-start:-13px;border-radius:50% 50% 50% 0;position:absolute;width:26px;height:26px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:background 120ms ease;transition:background 120ms ease;background:var(--pin-background);content:"";z-index:-1}.range-pin::before{inset-inline-start:50%}:host-context([dir=rtl]) .range-pin::before{left:unset}[dir=rtl] .range-pin::before{left:unset}@supports selector(:dir(rtl)){.range-pin::before:dir(rtl){left:unset}}.range-knob-pressed .range-pin,.range-knob-handle.ion-focused .range-pin{-webkit-transform:translate3d(0, calc(-100% + 4px), 0) scale(1);transform:translate3d(0, calc(-100% + 4px), 0) scale(1)}@media (any-hover: hover){.range-knob-handle:hover .range-knob:before{-webkit-transform:scale(2);transform:scale(2);opacity:0.13}}.range-knob-handle.ion-activated .range-knob:before,.range-knob-handle.ion-focused .range-knob:before,.range-knob-handle.range-knob-pressed .range-knob:before{-webkit-transform:scale(2);transform:scale(2)}.range-knob-handle.ion-focused .range-knob::before{opacity:0.13}.range-knob-handle.ion-activated .range-knob::before,.range-knob-handle.range-knob-pressed .range-knob::before{opacity:0.25}:host(:not(.range-has-pin)) .range-knob-pressed .range-knob,:host(:not(.range-has-pin)) .range-knob-handle.ion-focused .range-knob{-webkit-transform:scale(1);transform:scale(1)}:host(.range-disabled) .range-bar-active,:host(.range-disabled) .range-bar,:host(.range-disabled) .range-tick{background-color:var(--ion-color-step-250, var(--ion-background-color-step-250, #bfbfbf))}:host(.range-disabled) .range-knob{-webkit-transform:scale(0.55);transform:scale(0.55);outline:5px solid #fff;background-color:var(--ion-color-step-250, var(--ion-background-color-step-250, #bfbfbf))}:host(.range-disabled) .label-text-wrapper,:host(.range-disabled) ::slotted([slot=start]),:host(.range-disabled) ::slotted([slot=end]){opacity:0.38}'};export{u as ion_range}
4
+ import{r as e,d as t,h as a,f as r,i as n}from"./p-d836d43e.js";import{f as i,d as o,r as s}from"./p-9343a445.js";import{j as l,e as d,i as b,d as h}from"./p-b51e4004.js";import{p as g}from"./p-e8d56122.js";import{i as c}from"./p-fb813dab.js";import{h as p,c as m}from"./p-47794def.js";import{b as k}from"./p-0574e87e.js";const u=class{constructor(a){e(this,a),this.ionChange=t(this,"ionChange",7),this.ionInput=t(this,"ionInput",7),this.ionFocus=t(this,"ionFocus",7),this.ionBlur=t(this,"ionBlur",7),this.ionKnobMoveStart=t(this,"ionKnobMoveStart",7),this.ionKnobMoveEnd=t(this,"ionKnobMoveEnd",7),this.rangeId="ion-r-"+w++,this.didLoad=!1,this.noUpdate=!1,this.hasFocus=!1,this.inheritedAttributes={},this.contentEl=null,this.initialContentScrollY=!0,this.clampBounds=e=>l(this.min,e,this.max),this.ensureValueInBounds=e=>this.dualKnobs?{lower:this.clampBounds(e.lower),upper:this.clampBounds(e.upper)}:this.clampBounds(e),this.setupGesture=async()=>{const e=this.rangeSlider;e&&(this.gesture=(await import("./p-8ededb41.js")).createGesture({el:e,gestureName:"range",gesturePriority:100,threshold:10,onStart:()=>this.onStart(),onMove:e=>this.onMove(e),onEnd:e=>this.onEnd(e)}),this.gesture.enable(!this.disabled))},this.handleKeyboard=(e,t)=>{const{ensureValueInBounds:a}=this;let r=this.step;r=r>0?r:1,r/=this.max-this.min,t||(r*=-1),"A"===e?this.ratioA=l(0,this.ratioA+r,1):this.ratioB=l(0,this.ratioB+r,1),this.ionKnobMoveStart.emit({value:a(this.value)}),this.updateValue(),this.emitValueChange(),this.ionKnobMoveEnd.emit({value:a(this.value)})},this.onBlur=()=>{this.hasFocus&&(this.hasFocus=!1,this.ionBlur.emit())},this.onFocus=()=>{this.hasFocus||(this.hasFocus=!0,this.ionFocus.emit())},this.ratioA=0,this.ratioB=0,this.pressedKnob=void 0,this.color=void 0,this.debounce=void 0,this.name=this.rangeId,this.label=void 0,this.dualKnobs=!1,this.min=0,this.max=100,this.pin=!1,this.pinFormatter=e=>Math.round(e),this.snaps=!1,this.step=1,this.ticks=!0,this.activeBarStart=void 0,this.disabled=!1,this.value=0,this.labelPlacement="start"}debounceChanged(){const{ionInput:e,debounce:t,originalIonInput:a}=this;this.ionInput=void 0===t?null!=a?a:e:d(e,t)}minChanged(){this.noUpdate||this.updateRatio()}maxChanged(){this.noUpdate||this.updateRatio()}activeBarStartChanged(){const{activeBarStart:e}=this;void 0!==e&&(e>this.max?(g(`Range: The value of activeBarStart (${e}) is greater than the max (${this.max}). Valid values are greater than or equal to the min value and less than or equal to the max value.`,this.el),this.activeBarStart=this.max):e<this.min&&(g(`Range: The value of activeBarStart (${e}) is less than the min (${this.min}). Valid values are greater than or equal to the min value and less than or equal to the max value.`,this.el),this.activeBarStart=this.min))}disabledChanged(){this.gesture&&this.gesture.enable(!this.disabled)}valueChanged(){this.noUpdate||this.updateRatio()}componentWillLoad(){this.el.hasAttribute("id")&&(this.rangeId=this.el.getAttribute("id")),this.inheritedAttributes=b(this.el)}componentDidLoad(){this.originalIonInput=this.ionInput,this.setupGesture(),this.updateRatio(),this.didLoad=!0}connectedCallback(){var e;this.updateRatio(),this.debounceChanged(),this.disabledChanged(),this.activeBarStartChanged(),this.didLoad&&this.setupGesture();const t=i(this.el);this.contentEl=null!==(e=null==t?void 0:t.querySelector(".ion-content-scroll-host"))&&void 0!==e?e:t}disconnectedCallback(){this.gesture&&(this.gesture.destroy(),this.gesture=void 0)}getValue(){var e;const t=null!==(e=this.value)&&void 0!==e?e:0;return this.dualKnobs?"object"==typeof t?t:{lower:0,upper:t}:"object"==typeof t?t.upper:t}emitValueChange(){this.value=this.ensureValueInBounds(this.value),this.ionChange.emit({value:this.value})}onStart(){this.ionKnobMoveStart.emit({value:this.ensureValueInBounds(this.value)})}onMove(e){const{contentEl:t,pressedKnob:a}=this,r=e.currentX;t&&void 0===this.pressedKnob&&(this.initialContentScrollY=o(t)),void 0===a&&this.setPressedKnob(r),this.update(r)}onEnd(e){var t;const{contentEl:a,initialContentScrollY:r}=this,n=null!==(t=e.currentX)&&void 0!==t?t:e.clientX;void 0===this.pressedKnob&&this.setPressedKnob(n),a&&void 0!==this.pressedKnob&&s(a,r),this.update(n),this.pressedKnob=void 0,this.emitValueChange(),this.ionKnobMoveEnd.emit({value:this.ensureValueInBounds(this.value)})}update(e){const t=this.rect;let a=l(0,(e-t.left)/t.width,1);c(this.el)&&(a=1-a),this.snaps&&(a=v(f(a,this.min,this.max,this.step),this.min,this.max)),"A"===this.pressedKnob?this.ratioA=a:this.ratioB=a,this.updateValue()}setPressedKnob(e){const t=this.rect=this.rangeSlider.getBoundingClientRect();let a=l(0,(e-t.left)/t.width,1);c(this.el)&&(a=1-a),this.pressedKnob=!this.dualKnobs||Math.abs(this.ratioA-a)<Math.abs(this.ratioB-a)?"A":"B",this.setFocus(this.pressedKnob)}get valA(){return f(this.ratioA,this.min,this.max,this.step)}get valB(){return f(this.ratioB,this.min,this.max,this.step)}get ratioLower(){if(this.dualKnobs)return Math.min(this.ratioA,this.ratioB);const{activeBarStart:e}=this;return null==e?0:v(e,this.min,this.max)}get ratioUpper(){return this.dualKnobs?Math.max(this.ratioA,this.ratioB):this.ratioA}updateRatio(){const e=this.getValue(),{min:t,max:a}=this;this.dualKnobs?(this.ratioA=v(e.lower,t,a),this.ratioB=v(e.upper,t,a)):this.ratioA=v(e,t,a)}updateValue(){this.noUpdate=!0;const{valA:e,valB:t}=this;this.value=this.dualKnobs?{lower:Math.min(e,t),upper:Math.max(e,t)}:e,this.ionInput.emit({value:this.value}),this.noUpdate=!1}setFocus(e){if(this.el.shadowRoot){const t=this.el.shadowRoot.querySelector("A"===e?".range-knob-a":".range-knob-b");t&&t.focus()}}get hasStartSlotContent(){return null!==this.el.querySelector('[slot="start"]')}get hasEndSlotContent(){return null!==this.el.querySelector('[slot="end"]')}get hasLabel(){return void 0!==this.label||null!==this.el.querySelector('[slot="label"]')}renderRangeSlider(){var e;const{min:t,max:r,step:n,handleKeyboard:i,pressedKnob:o,disabled:s,pin:l,ratioLower:d,ratioUpper:b,pinFormatter:h,inheritedAttributes:g}=this;let p=100*d+"%",m=100-100*b+"%";const k=c(this.el),u=k?"right":"left",f=k?"left":"right",w=e=>({[u]:e[u]});!1===this.dualKnobs&&(this.valA<(null!==(e=this.activeBarStart)&&void 0!==e?e:this.min)?(p=100*b+"%",m=100-100*d+"%"):(p=100*d+"%",m=100-100*b+"%"));const y={[u]:p,[f]:m},z=[];if(this.snaps&&this.ticks)for(let e=t;e<=r;e+=n){const a=v(e,t,r),n=Math.min(d,b),i=Math.max(d,b),o={ratio:a,active:a>=n&&a<=i};o[u]=100*a+"%",z.push(o)}return a("div",{class:"range-slider",ref:e=>this.rangeSlider=e,onPointerUp:e=>{void 0===this.pressedKnob&&(this.onStart(),this.onEnd(e))}},z.map((e=>a("div",{style:w(e),role:"presentation",class:{"range-tick":!0,"range-tick-active":e.active},part:e.active?"tick-active":"tick"}))),a("div",{class:"range-bar-container"},a("div",{class:"range-bar",role:"presentation",part:"bar"}),a("div",{class:{"range-bar":!0,"range-bar-active":!0,"has-ticks":z.length>0},role:"presentation",style:y,part:"bar-active"})),x(k,{knob:"A",pressed:"A"===o,value:this.valA,ratio:this.ratioA,pin:l,pinFormatter:h,disabled:s,handleKeyboard:i,min:t,max:r,inheritedAttributes:g}),this.dualKnobs&&x(k,{knob:"B",pressed:"B"===o,value:this.valB,ratio:this.ratioB,pin:l,pinFormatter:h,disabled:s,handleKeyboard:i,min:t,max:r,inheritedAttributes:g}))}render(){const{disabled:e,el:t,hasLabel:n,rangeId:i,pin:o,pressedKnob:s,labelPlacement:l,label:d}=this,b=p("ion-item",t),g=b&&!(n&&("start"===l||"fixed"===l)||this.hasStartSlotContent),c=b&&!(n&&"end"===l||this.hasEndSlotContent),u=k(this);return h(!0,t,this.name,JSON.stringify(this.getValue()),e),a(r,{key:"05c699caaead7cc74deaae2a958c4632191473a8",onFocusin:this.onFocus,onFocusout:this.onBlur,id:i,class:m(this.color,{[u]:!0,"in-item":b,"range-disabled":e,"range-pressed":void 0!==s,"range-has-pin":o,[`range-label-placement-${l}`]:!0,"range-item-start-adjustment":g,"range-item-end-adjustment":c})},a("label",{key:"959837bcc48c4bda33ae1f62b66ef444329a2961",class:"range-wrapper",id:"range-label"},a("div",{key:"a434c6b5c26f57f52b3af98d881e7e6a179c89fc",class:{"label-text-wrapper":!0,"label-text-wrapper-hidden":!n},part:"label"},void 0!==d?a("div",{class:"label-text"},d):a("slot",{name:"label"})),a("div",{key:"87df1037b6b3337bd1fab05d33a26bf658c57914",class:"native-wrapper"},a("slot",{key:"2cb88f101da49b70aeae29b0bf5445fac241bb2f",name:"start"}),this.renderRangeSlider(),a("slot",{key:"17b835cfb2bd9b8e1957afd425543ff02b913d83",name:"end"}))))}get el(){return n(this)}static get watchers(){return{debounce:["debounceChanged"],min:["minChanged"],max:["maxChanged"],activeBarStart:["activeBarStartChanged"],disabled:["disabledChanged"],value:["valueChanged"]}}},x=(e,{knob:t,value:r,ratio:n,min:i,max:o,disabled:s,pressed:l,pin:d,handleKeyboard:b,pinFormatter:h,inheritedAttributes:g})=>{const c=e?"right":"left",p=g["aria-label"];return a("div",{onKeyDown:e=>{const a=e.key;"ArrowLeft"===a||"ArrowDown"===a?(b(t,!1),e.preventDefault(),e.stopPropagation()):"ArrowRight"!==a&&"ArrowUp"!==a||(b(t,!0),e.preventDefault(),e.stopPropagation())},class:{"range-knob-handle":!0,"range-knob-a":"A"===t,"range-knob-b":"B"===t,"range-knob-pressed":l,"range-knob-min":r===i,"range-knob-max":r===o,"ion-activatable":!0,"ion-focusable":!0},style:(()=>{const e={};return e[c]=100*n+"%",e})(),role:"slider",tabindex:s?-1:0,"aria-label":void 0!==p?p:null,"aria-labelledby":void 0===p?"range-label":null,"aria-valuemin":i,"aria-valuemax":o,"aria-disabled":s?"true":null,"aria-valuenow":r},d&&a("div",{class:"range-pin",role:"presentation",part:"pin"},h(r)),a("div",{class:"range-knob",role:"presentation",part:"knob"}))},f=(e,t,a,r)=>{let n=(a-t)*e;return r>0&&(n=Math.round(n/r)*r+t),function(e,...t){const a=Math.max(...t.map((e=>function(e){return e%1==0?0:e.toString().split(".")[1].length}(e))));return Number(e.toFixed(a))}(l(t,n,a),t,a,r)},v=(e,t,a)=>l(0,(e-t)/(a-t),1);let w=0;u.style={ios:":host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{top:calc((var(--height) - var(--knob-handle-size)) / 2);-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-pack:center;justify-content:center;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}.range-knob-handle{inset-inline-start:0}:host-context([dir=rtl]) .range-knob-handle{left:unset}[dir=rtl] .range-knob-handle{left:unset}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset}}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar-container{border-radius:var(--bar-border-radius);top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height)}.range-bar-container{inset-inline-start:0}:host-context([dir=rtl]) .range-bar-container{left:unset}[dir=rtl] .range-bar-container{left:unset}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset}}.range-bar{border-radius:var(--bar-border-radius);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-knob{border-radius:var(--knob-border-radius);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}.range-knob{inset-inline-start:calc(50% - var(--knob-size) / 2)}:host-context([dir=rtl]) .range-knob{left:unset}[dir=rtl] .range-knob{left:unset}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset}}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host([slot=start]),:host([slot=end]){width:auto}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}.range-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit}::slotted([slot=label]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}:host(.range-label-placement-start) .range-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.range-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-end) .range-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.range-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.range-label-placement-stacked) .range-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}:host(.range-label-placement-stacked) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host-context([dir=rtl]):host(.range-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).range-label-placement-stacked .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.range-label-placement-stacked:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.in-item.range-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.range-label-placement-stacked) .native-wrapper{margin-bottom:0px}:host{--knob-border-radius:50%;--knob-background:#ffffff;--knob-box-shadow:0px 0.5px 4px rgba(0, 0, 0, 0.12), 0px 6px 13px rgba(0, 0, 0, 0.12);--knob-size:26px;--bar-height:4px;--bar-background:var(--ion-color-step-900, var(--ion-background-color-step-900, #e6e6e6));--bar-background-active:var(--ion-color-primary, #0054e9);--bar-border-radius:2px;--height:42px}:host(.range-item-start-adjustment){-webkit-padding-start:24px;padding-inline-start:24px}:host(.range-item-end-adjustment){-webkit-padding-end:24px;padding-inline-end:24px}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-tick-active{background:var(--ion-color-base)}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-has-pin:not(.range-label-placement-stacked)){padding-top:calc(8px + 0.75rem)}:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper{margin-bottom:calc(8px + 0.75rem)}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-bar-active.has-ticks{border-radius:0;-webkit-margin-start:-2px;margin-inline-start:-2px;-webkit-margin-end:-2px;margin-inline-end:-2px}.range-tick{-webkit-margin-start:-2px;margin-inline-start:-2px;border-radius:0;position:absolute;top:17px;width:4px;height:8px;background:var(--ion-color-step-900, var(--ion-background-color-step-900, #e6e6e6));pointer-events:none}.range-tick-active{background:var(--bar-background-active)}.range-pin{-webkit-transform:translate3d(0, 100%, 0) scale(0.01);transform:translate3d(0, 100%, 0) scale(0.01);-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;min-width:28px;-webkit-transition:-webkit-transform 120ms ease;transition:-webkit-transform 120ms ease;transition:transform 120ms ease;transition:transform 120ms ease, -webkit-transform 120ms ease;background:transparent;color:var(--ion-text-color, #000);font-size:0.75rem;text-align:center}.range-knob-pressed .range-pin,.range-knob-handle.ion-focused .range-pin{-webkit-transform:translate3d(0, calc(-100% + 11px), 0) scale(1);transform:translate3d(0, calc(-100% + 11px), 0) scale(1)}:host(.range-disabled){opacity:0.3}",md:':host{--knob-handle-size:calc(var(--knob-size) * 2);display:-ms-flexbox;display:flex;position:relative;-ms-flex:3;flex:3;-ms-flex-align:center;align-items:center;font-family:var(--ion-font-family, inherit);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:2}:host(.range-disabled){pointer-events:none}::slotted(ion-label){-ms-flex:initial;flex:initial}::slotted(ion-icon[slot]){font-size:24px}.range-slider{position:relative;-ms-flex:1;flex:1;width:100%;height:var(--height);contain:size layout style;cursor:-webkit-grab;cursor:grab;-ms-touch-action:pan-y;touch-action:pan-y}:host(.range-pressed) .range-slider{cursor:-webkit-grabbing;cursor:grabbing}.range-pin{position:absolute;background:var(--ion-color-base);color:var(--ion-color-contrast);text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box}.range-knob-handle{top:calc((var(--height) - var(--knob-handle-size)) / 2);-webkit-margin-start:calc(0px - var(--knob-handle-size) / 2);margin-inline-start:calc(0px - var(--knob-handle-size) / 2);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-pack:center;justify-content:center;width:var(--knob-handle-size);height:var(--knob-handle-size);text-align:center}.range-knob-handle{inset-inline-start:0}:host-context([dir=rtl]) .range-knob-handle{left:unset}[dir=rtl] .range-knob-handle{left:unset}@supports selector(:dir(rtl)){.range-knob-handle:dir(rtl){left:unset}}.range-knob-handle:active,.range-knob-handle:focus{outline:none}.range-bar-container{border-radius:var(--bar-border-radius);top:calc((var(--height) - var(--bar-height)) / 2);position:absolute;width:100%;height:var(--bar-height)}.range-bar-container{inset-inline-start:0}:host-context([dir=rtl]) .range-bar-container{left:unset}[dir=rtl] .range-bar-container{left:unset}@supports selector(:dir(rtl)){.range-bar-container:dir(rtl){left:unset}}.range-bar{border-radius:var(--bar-border-radius);position:absolute;width:100%;height:var(--bar-height);background:var(--bar-background);pointer-events:none}.range-knob{border-radius:var(--knob-border-radius);top:calc(50% - var(--knob-size) / 2);position:absolute;width:var(--knob-size);height:var(--knob-size);background:var(--knob-background);-webkit-box-shadow:var(--knob-box-shadow);box-shadow:var(--knob-box-shadow);z-index:2;pointer-events:none}.range-knob{inset-inline-start:calc(50% - var(--knob-size) / 2)}:host-context([dir=rtl]) .range-knob{left:unset}[dir=rtl] .range-knob{left:unset}@supports selector(:dir(rtl)){.range-knob:dir(rtl){left:unset}}:host(.range-pressed) .range-bar-active{will-change:left, right}:host(.in-item){width:100%}:host([slot=start]),:host([slot=end]){width:auto}:host(.in-item) ::slotted(ion-label){-ms-flex-item-align:center;align-self:center}.range-wrapper{display:-ms-flexbox;display:flex;position:relative;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center;height:inherit}::slotted([slot=label]){max-width:200px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.label-text-wrapper-hidden{display:none}.native-wrapper{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}:host(.range-label-placement-start) .range-wrapper{-ms-flex-direction:row;flex-direction:row}:host(.range-label-placement-start) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-end) .range-wrapper{-ms-flex-direction:row-reverse;flex-direction:row-reverse}:host(.range-label-placement-end) .label-text-wrapper{-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:16px;margin-inline-end:16px;margin-top:0;margin-bottom:0}:host(.range-label-placement-fixed) .label-text-wrapper{-ms-flex:0 0 100px;flex:0 0 100px;width:100px;min-width:100px;max-width:200px}:host(.range-label-placement-stacked) .range-wrapper{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch}:host(.range-label-placement-stacked) .label-text-wrapper{-webkit-transform-origin:left top;transform-origin:left top;-webkit-transform:scale(0.75);transform:scale(0.75);margin-left:0;margin-right:0;margin-bottom:16px;max-width:calc(100% / 0.75)}:host-context([dir=rtl]):host(.range-label-placement-stacked) .label-text-wrapper,:host-context([dir=rtl]).range-label-placement-stacked .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}@supports selector(:dir(rtl)){:host(.range-label-placement-stacked:dir(rtl)) .label-text-wrapper{-webkit-transform-origin:right top;transform-origin:right top}}:host(.in-item.range-label-placement-stacked) .label-text-wrapper{margin-top:10px;margin-bottom:16px}:host(.in-item.range-label-placement-stacked) .native-wrapper{margin-bottom:0px}:host{--knob-border-radius:50%;--knob-background:var(--bar-background-active);--knob-box-shadow:none;--knob-size:18px;--bar-height:2px;--bar-background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.26);--bar-background-active:var(--ion-color-primary, #0054e9);--bar-border-radius:0;--height:42px;--pin-background:var(--ion-color-primary, #0054e9);--pin-color:var(--ion-color-primary-contrast, #fff)}::slotted(:not(ion-icon)[slot=start]),::slotted(:not(ion-icon)[slot=end]),.native-wrapper{font-size:0.75rem}:host(.range-item-start-adjustment){-webkit-padding-start:18px;padding-inline-start:18px}:host(.range-item-end-adjustment){-webkit-padding-end:18px;padding-inline-end:18px}:host(.ion-color) .range-bar{background:rgba(var(--ion-color-base-rgb), 0.26)}:host(.ion-color) .range-bar-active,:host(.ion-color) .range-knob,:host(.ion-color) .range-knob::before,:host(.ion-color) .range-pin,:host(.ion-color) .range-pin::before,:host(.ion-color) .range-tick{background:var(--ion-color-base);color:var(--ion-color-contrast)}::slotted([slot=start]){-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:14px;margin-inline-end:14px;margin-top:0;margin-bottom:0}::slotted([slot=end]){-webkit-margin-start:14px;margin-inline-start:14px;-webkit-margin-end:0;margin-inline-end:0;margin-top:0;margin-bottom:0}:host(.range-has-pin:not(.range-label-placement-stacked)){padding-top:1.75rem}:host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper{margin-bottom:1.75rem}.range-bar-active{bottom:0;width:auto;background:var(--bar-background-active)}.range-knob{-webkit-transform:scale(0.67);transform:scale(0.67);-webkit-transition-duration:120ms;transition-duration:120ms;-webkit-transition-property:background-color, border, -webkit-transform;transition-property:background-color, border, -webkit-transform;transition-property:transform, background-color, border;transition-property:transform, background-color, border, -webkit-transform;-webkit-transition-timing-function:ease;transition-timing-function:ease;z-index:2}.range-knob::before{border-radius:50%;position:absolute;width:var(--knob-size);height:var(--knob-size);-webkit-transform:scale(1);transform:scale(1);-webkit-transition:0.267s cubic-bezier(0, 0, 0.58, 1);transition:0.267s cubic-bezier(0, 0, 0.58, 1);background:var(--knob-background);content:"";opacity:0.13;pointer-events:none}.range-knob::before{inset-inline-start:0}.range-tick{position:absolute;top:calc((var(--height) - var(--bar-height)) / 2);width:var(--bar-height);height:var(--bar-height);background:var(--bar-background-active);z-index:1;pointer-events:none}.range-tick-active{background:transparent}.range-pin{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;border-radius:50%;-webkit-transform:translate3d(0, 0, 0) scale(0.01);transform:translate3d(0, 0, 0) scale(0.01);display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:1.75rem;height:1.75rem;-webkit-transition:background 120ms ease, -webkit-transform 120ms ease;transition:background 120ms ease, -webkit-transform 120ms ease;transition:transform 120ms ease, background 120ms ease;transition:transform 120ms ease, background 120ms ease, -webkit-transform 120ms ease;background:var(--pin-background);color:var(--pin-color)}.range-pin::before{bottom:-1px;-webkit-margin-start:-13px;margin-inline-start:-13px;border-radius:50% 50% 50% 0;position:absolute;width:26px;height:26px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);-webkit-transition:background 120ms ease;transition:background 120ms ease;background:var(--pin-background);content:"";z-index:-1}.range-pin::before{inset-inline-start:50%}:host-context([dir=rtl]) .range-pin::before{left:unset}[dir=rtl] .range-pin::before{left:unset}@supports selector(:dir(rtl)){.range-pin::before:dir(rtl){left:unset}}.range-knob-pressed .range-pin,.range-knob-handle.ion-focused .range-pin{-webkit-transform:translate3d(0, calc(-100% + 4px), 0) scale(1);transform:translate3d(0, calc(-100% + 4px), 0) scale(1)}@media (any-hover: hover){.range-knob-handle:hover .range-knob:before{-webkit-transform:scale(2);transform:scale(2);opacity:0.13}}.range-knob-handle.ion-activated .range-knob:before,.range-knob-handle.ion-focused .range-knob:before,.range-knob-handle.range-knob-pressed .range-knob:before{-webkit-transform:scale(2);transform:scale(2)}.range-knob-handle.ion-focused .range-knob::before{opacity:0.13}.range-knob-handle.ion-activated .range-knob::before,.range-knob-handle.range-knob-pressed .range-knob::before{opacity:0.25}:host(:not(.range-has-pin)) .range-knob-pressed .range-knob,:host(:not(.range-has-pin)) .range-knob-handle.ion-focused .range-knob{-webkit-transform:scale(1);transform:scale(1)}:host(.range-disabled) .range-bar-active,:host(.range-disabled) .range-bar,:host(.range-disabled) .range-tick{background-color:var(--ion-color-step-250, var(--ion-background-color-step-250, #bfbfbf))}:host(.range-disabled) .range-knob{-webkit-transform:scale(0.55);transform:scale(0.55);outline:5px solid #fff;background-color:var(--ion-color-step-250, var(--ion-background-color-step-250, #bfbfbf))}:host(.range-disabled) .label-text-wrapper,:host(.range-disabled) ::slotted([slot=start]),:host(.range-disabled) ::slotted([slot=end]){opacity:0.38}'};export{u as ion_range}
@@ -9,9 +9,14 @@ import type { CheckboxChangeEventDetail } from './checkbox-interface';
9
9
  * @part container - The container for the checkbox mark.
10
10
  * @part label - The label text describing the checkbox.
11
11
  * @part mark - The checkmark used to indicate the checked state.
12
+ * @part supporting-text - Supporting text displayed beneath the checkbox label.
13
+ * @part helper-text - Supporting text displayed beneath the checkbox label when the checkbox is valid.
14
+ * @part error-text - Supporting text displayed beneath the checkbox label when the checkbox is invalid and touched.
12
15
  */
13
16
  export declare class Checkbox implements ComponentInterface {
14
17
  private inputId;
18
+ private helperTextId;
19
+ private errorTextId;
15
20
  private focusEl?;
16
21
  private inheritedAttributes;
17
22
  el: HTMLIonCheckboxElement;
@@ -37,6 +42,14 @@ export declare class Checkbox implements ComponentInterface {
37
42
  * If `true`, the user cannot interact with the checkbox.
38
43
  */
39
44
  disabled: boolean;
45
+ /**
46
+ * Text that is placed under the checkbox label and displayed when an error is detected.
47
+ */
48
+ errorText?: string;
49
+ /**
50
+ * Text that is placed under the checkbox label and displayed when no error is detected.
51
+ */
52
+ helperText?: string;
40
53
  /**
41
54
  * The value of the checkbox does not mean if it's checked or not, use the `checked`
42
55
  * property for that.
@@ -71,6 +84,12 @@ export declare class Checkbox implements ComponentInterface {
71
84
  * Setting this property will change the checkbox `display` to `block`.
72
85
  */
73
86
  alignment?: 'start' | 'center';
87
+ /**
88
+ * If true, screen readers will announce it as a required field. This property
89
+ * works only for accessibility purposes, it will not prevent the form from
90
+ * submitting if the value is invalid.
91
+ */
92
+ required: boolean;
74
93
  /**
75
94
  * Emitted when the checked property has changed as a result of a user action such as a click.
76
95
  *
@@ -99,6 +118,12 @@ export declare class Checkbox implements ComponentInterface {
99
118
  private onFocus;
100
119
  private onBlur;
101
120
  private onClick;
121
+ private getHintTextID;
122
+ /**
123
+ * Responsible for rendering helper text and error text.
124
+ * This element should only be rendered if hint text is set.
125
+ */
126
+ private renderHintText;
102
127
  render(): any;
103
128
  private getSVGPath;
104
129
  }
@@ -2,6 +2,7 @@ import type { ModalAnimationOptions } from '../modal-interface';
2
2
  export declare const createSheetEnterAnimation: (opts: ModalAnimationOptions) => {
3
3
  wrapperAnimation: import("../../../interface").Animation;
4
4
  backdropAnimation: import("../../../interface").Animation;
5
+ contentAnimation: import("../../../interface").Animation | undefined;
5
6
  };
6
7
  export declare const createSheetLeaveAnimation: (opts: ModalAnimationOptions) => {
7
8
  wrapperAnimation: import("../../../interface").Animation;
@@ -29,7 +29,7 @@ export interface MoveSheetToBreakpointOptions {
29
29
  */
30
30
  animated: boolean;
31
31
  }
32
- export declare const createSheetGesture: (baseEl: HTMLIonModalElement, backdropEl: HTMLIonBackdropElement, wrapperEl: HTMLElement, initialBreakpoint: number, backdropBreakpoint: number, animation: Animation, breakpoints: number[] | undefined, getCurrentBreakpoint: () => number, onDismiss: () => void, onBreakpointChange: (breakpoint: number) => void) => {
32
+ export declare const createSheetGesture: (baseEl: HTMLIonModalElement, backdropEl: HTMLIonBackdropElement, wrapperEl: HTMLElement, initialBreakpoint: number, backdropBreakpoint: number, animation: Animation, breakpoints: number[] | undefined, expandToScroll: boolean, getCurrentBreakpoint: () => number, onDismiss: () => void, onBreakpointChange: (breakpoint: number) => void) => {
33
33
  gesture: import("@utils/gesture").Gesture;
34
34
  moveSheetToBreakpoint: (options: MoveSheetToBreakpointOptions) => Promise<void>;
35
35
  };
@@ -28,6 +28,7 @@ export interface ModalAnimationOptions {
28
28
  presentingEl?: HTMLElement;
29
29
  currentBreakpoint?: number;
30
30
  backdropBreakpoint?: number;
31
+ expandToScroll: boolean;
31
32
  }
32
33
  export interface ModalBreakpointChangeEventDetail {
33
34
  breakpoint: number;
@@ -61,6 +61,17 @@ export declare class Modal implements ComponentInterface, OverlayInterface {
61
61
  * For example: [0, .25, .5, 1]
62
62
  */
63
63
  breakpoints?: number[];
64
+ /**
65
+ * Controls whether scrolling or dragging within the sheet modal expands
66
+ * it to a larger breakpoint. This only takes effect when `breakpoints`
67
+ * and `initialBreakpoint` are set.
68
+ *
69
+ * If `true`, scrolling or dragging anywhere in the modal will first expand
70
+ * it to the next breakpoint. Once fully expanded, scrolling will affect the content.
71
+ * If `false`, scrolling will always affect the content, and the modal will only expand
72
+ * when dragging the header or handle.
73
+ */
74
+ expandToScroll: boolean;
64
75
  /**
65
76
  * A decimal value between 0 and 1 that indicates the
66
77
  * initial point the modal will open at when creating a
@@ -36,8 +36,7 @@ export declare class SegmentButton implements ComponentInterface, ButtonInterfac
36
36
  */
37
37
  value: SegmentValue;
38
38
  valueChanged(): void;
39
- private waitForSegmentContent;
40
- connectedCallback(): Promise<void>;
39
+ connectedCallback(): void;
41
40
  disconnectedCallback(): void;
42
41
  componentWillLoad(): void;
43
42
  private get hasLabel();
@@ -137,6 +137,12 @@ export declare class Select implements ComponentInterface {
137
137
  * The value of the select.
138
138
  */
139
139
  value?: any | null;
140
+ /**
141
+ * If true, screen readers will announce it as a required field. This property
142
+ * works only for accessibility purposes, it will not prevent the form from
143
+ * submitting if the value is invalid.
144
+ */
145
+ required: boolean;
140
146
  /**
141
147
  * Emitted when the value has changed.
142
148
  *
@@ -76,6 +76,12 @@ export declare class Toggle implements ComponentInterface {
76
76
  * Setting this property will change the toggle `display` to `block`.
77
77
  */
78
78
  alignment?: 'start' | 'center';
79
+ /**
80
+ * If true, screen readers will announce it as a required field. This property
81
+ * works only for accessibility purposes, it will not prevent the form from
82
+ * submitting if the value is invalid.
83
+ */
84
+ required: boolean;
79
85
  /**
80
86
  * Emitted when the user switches the toggle on or off.
81
87
  *
@@ -8,6 +8,10 @@ import type { Color, StyleEventDetail } from '../../interface';
8
8
  * @slot secondary - Content is placed to the left of the toolbar text in `ios` mode, and directly to the right in `md` mode.
9
9
  * @slot primary - Content is placed to the right of the toolbar text in `ios` mode, and to the far right in `md` mode.
10
10
  * @slot end - Content is placed to the right of the toolbar text in LTR, and to the left in RTL.
11
+ *
12
+ * @part background - The background of the toolbar, covering the entire area behind the toolbar content.
13
+ * @part container - The container that wraps all toolbar content, including the default slot and named slot content.
14
+ * @part content - The container for the default slot, wrapping content provided without a named slot.
11
15
  */
12
16
  export declare class Toolbar implements ComponentInterface {
13
17
  private childrenStyles;
@@ -623,6 +623,14 @@ export namespace Components {
623
623
  * If `true`, the user cannot interact with the checkbox.
624
624
  */
625
625
  "disabled": boolean;
626
+ /**
627
+ * Text that is placed under the checkbox label and displayed when an error is detected.
628
+ */
629
+ "errorText"?: string;
630
+ /**
631
+ * Text that is placed under the checkbox label and displayed when no error is detected.
632
+ */
633
+ "helperText"?: string;
626
634
  /**
627
635
  * If `true`, the checkbox will visually appear as indeterminate.
628
636
  */
@@ -643,6 +651,10 @@ export namespace Components {
643
651
  * The name of the control, which is submitted with the form data.
644
652
  */
645
653
  "name": string;
654
+ /**
655
+ * If true, screen readers will announce it as a required field. This property works only for accessibility purposes, it will not prevent the form from submitting if the value is invalid.
656
+ */
657
+ "required": boolean;
646
658
  "setFocus": () => Promise<void>;
647
659
  /**
648
660
  * The value of the checkbox does not mean if it's checked or not, use the `checked` property for that. The value of a checkbox is analogous to the value of an `<input type="checkbox">`, it's only used when the checkbox participates in a native `<form>`.
@@ -1731,6 +1743,10 @@ export namespace Components {
1731
1743
  * Animation to use when the modal is presented.
1732
1744
  */
1733
1745
  "enterAnimation"?: AnimationBuilder;
1746
+ /**
1747
+ * Controls whether scrolling or dragging within the sheet modal expands it to a larger breakpoint. This only takes effect when `breakpoints` and `initialBreakpoint` are set. If `true`, scrolling or dragging anywhere in the modal will first expand it to the next breakpoint. Once fully expanded, scrolling will affect the content. If `false`, scrolling will always affect the content, and the modal will only expand when dragging the header or handle.
1748
+ */
1749
+ "expandToScroll": boolean;
1734
1750
  /**
1735
1751
  * If `true`, focus will not be allowed to move outside of this overlay. If `false`, focus will be allowed to move outside of the overlay. In most scenarios this property should remain set to `true`. Setting this property to `false` can cause severe accessibility issues as users relying on assistive technologies may be able to move focus into a confusing state. We recommend only setting this to `false` when absolutely necessary. Developers may want to consider disabling focus trapping if this overlay presents a non-Ionic overlay from a 3rd party library. Developers would disable focus trapping on the Ionic overlay when presenting the 3rd party overlay and then re-enable focus trapping when dismissing the 3rd party overlay and moving focus back to the Ionic overlay.
1736
1752
  */
@@ -2808,6 +2824,10 @@ export namespace Components {
2808
2824
  * The text to display when the select is empty.
2809
2825
  */
2810
2826
  "placeholder"?: string;
2827
+ /**
2828
+ * If true, screen readers will announce it as a required field. This property works only for accessibility purposes, it will not prevent the form from submitting if the value is invalid.
2829
+ */
2830
+ "required": boolean;
2811
2831
  /**
2812
2832
  * The text to display instead of the selected option's value.
2813
2833
  */
@@ -3280,6 +3300,10 @@ export namespace Components {
3280
3300
  * The name of the control, which is submitted with the form data.
3281
3301
  */
3282
3302
  "name": string;
3303
+ /**
3304
+ * If true, screen readers will announce it as a required field. This property works only for accessibility purposes, it will not prevent the form from submitting if the value is invalid.
3305
+ */
3306
+ "required": boolean;
3283
3307
  /**
3284
3308
  * The value of the toggle does not mean if it's checked or not, use the `checked` property for that. The value of a toggle is analogous to the value of a `<input type="checkbox">`, it's only used when the toggle participates in a native `<form>`.
3285
3309
  */
@@ -5386,6 +5410,14 @@ declare namespace LocalJSX {
5386
5410
  * If `true`, the user cannot interact with the checkbox.
5387
5411
  */
5388
5412
  "disabled"?: boolean;
5413
+ /**
5414
+ * Text that is placed under the checkbox label and displayed when an error is detected.
5415
+ */
5416
+ "errorText"?: string;
5417
+ /**
5418
+ * Text that is placed under the checkbox label and displayed when no error is detected.
5419
+ */
5420
+ "helperText"?: string;
5389
5421
  /**
5390
5422
  * If `true`, the checkbox will visually appear as indeterminate.
5391
5423
  */
@@ -5418,6 +5450,10 @@ declare namespace LocalJSX {
5418
5450
  * Emitted when the checkbox has focus.
5419
5451
  */
5420
5452
  "onIonFocus"?: (event: IonCheckboxCustomEvent<void>) => void;
5453
+ /**
5454
+ * If true, screen readers will announce it as a required field. This property works only for accessibility purposes, it will not prevent the form from submitting if the value is invalid.
5455
+ */
5456
+ "required"?: boolean;
5421
5457
  /**
5422
5458
  * The value of the checkbox does not mean if it's checked or not, use the `checked` property for that. The value of a checkbox is analogous to the value of an `<input type="checkbox">`, it's only used when the checkbox participates in a native `<form>`.
5423
5459
  */
@@ -6474,6 +6510,10 @@ declare namespace LocalJSX {
6474
6510
  * Animation to use when the modal is presented.
6475
6511
  */
6476
6512
  "enterAnimation"?: AnimationBuilder;
6513
+ /**
6514
+ * Controls whether scrolling or dragging within the sheet modal expands it to a larger breakpoint. This only takes effect when `breakpoints` and `initialBreakpoint` are set. If `true`, scrolling or dragging anywhere in the modal will first expand it to the next breakpoint. Once fully expanded, scrolling will affect the content. If `false`, scrolling will always affect the content, and the modal will only expand when dragging the header or handle.
6515
+ */
6516
+ "expandToScroll"?: boolean;
6477
6517
  /**
6478
6518
  * If `true`, focus will not be allowed to move outside of this overlay. If `false`, focus will be allowed to move outside of the overlay. In most scenarios this property should remain set to `true`. Setting this property to `false` can cause severe accessibility issues as users relying on assistive technologies may be able to move focus into a confusing state. We recommend only setting this to `false` when absolutely necessary. Developers may want to consider disabling focus trapping if this overlay presents a non-Ionic overlay from a 3rd party library. Developers would disable focus trapping on the Ionic overlay when presenting the 3rd party overlay and then re-enable focus trapping when dismissing the 3rd party overlay and moving focus back to the Ionic overlay.
6479
6519
  */
@@ -7522,6 +7562,10 @@ declare namespace LocalJSX {
7522
7562
  * The text to display when the select is empty.
7523
7563
  */
7524
7564
  "placeholder"?: string;
7565
+ /**
7566
+ * If true, screen readers will announce it as a required field. This property works only for accessibility purposes, it will not prevent the form from submitting if the value is invalid.
7567
+ */
7568
+ "required"?: boolean;
7525
7569
  /**
7526
7570
  * The text to display instead of the selected option's value.
7527
7571
  */
@@ -8013,6 +8057,10 @@ declare namespace LocalJSX {
8013
8057
  * Emitted when the toggle has focus.
8014
8058
  */
8015
8059
  "onIonFocus"?: (event: IonToggleCustomEvent<void>) => void;
8060
+ /**
8061
+ * If true, screen readers will announce it as a required field. This property works only for accessibility purposes, it will not prevent the form from submitting if the value is invalid.
8062
+ */
8063
+ "required"?: boolean;
8016
8064
  /**
8017
8065
  * The value of the toggle does not mean if it's checked or not, use the `checked` property for that. The value of a toggle is analogous to the value of a `<input type="checkbox">`, it's only used when the toggle participates in a native `<form>`.
8018
8066
  */
@@ -1,6 +1,7 @@
1
1
  import type { SpinnerTypes } from '../components/spinner/spinner-configs';
2
2
  import type { TabButtonLayout } from '../components/tab-bar/tab-bar-interface';
3
3
  import type { AnimationBuilder, Mode } from '../interface';
4
+ import type { LogLevel } from './logging';
4
5
  import type { PlatformConfig } from './platform';
5
6
  export interface IonicConfig {
6
7
  /**
@@ -179,6 +180,14 @@ export interface IonicConfig {
179
180
  * Note that the `hardwareBackButton` config option must also be `true`.
180
181
  */
181
182
  experimentalCloseWatcher?: boolean;
183
+ /**
184
+ * Configures the logging level for Ionic Framework:
185
+ *
186
+ * - `'OFF'`: No errors or warnings are logged.
187
+ * - `'ERROR'`: Logs only errors.
188
+ * - `'WARN'`: Logs errors and warnings.
189
+ */
190
+ logLevel?: LogLevel;
182
191
  keyboardHeight?: number;
183
192
  inputShims?: boolean;
184
193
  scrollPadding?: boolean;
@@ -104,4 +104,3 @@ export declare const shallowEqualStringMap: (map1: {
104
104
  } | undefined, map2: {
105
105
  [k: string]: any;
106
106
  } | undefined) => boolean;
107
- export declare const getNextSiblingOfType: <T extends Element>(element: Element) => T | null;
@@ -1,3 +1,8 @@
1
+ export declare const enum LogLevel {
2
+ OFF = "OFF",
3
+ ERROR = "ERROR",
4
+ WARN = "WARN"
5
+ }
1
6
  /**
2
7
  * Logs a warning to the console with an Ionic prefix
3
8
  * to indicate the library that is warning the developer.
@@ -5,7 +10,14 @@
5
10
  * @param message - The string message to be logged to the console.
6
11
  */
7
12
  export declare const printIonWarning: (message: string, ...params: any[]) => void;
8
- export declare const printIonError: (message: string, ...params: any) => void;
13
+ /**
14
+ * Logs an error to the console with an Ionic prefix
15
+ * to indicate the library that is warning the developer.
16
+ *
17
+ * @param message - The string message to be logged to the console.
18
+ * @param params - Additional arguments to supply to the console.error.
19
+ */
20
+ export declare const printIonError: (message: string, ...params: any[]) => void;
9
21
  /**
10
22
  * Prints an error informing developers that an implementation requires an element to be used
11
23
  * within a specific selector.
@@ -11,7 +11,7 @@ export declare const PlatformConfiguration: {
11
11
  };
12
12
  Capacitor: {
13
13
  Capacitor: {
14
- isNativePlatform: () => boolean;
14
+ isNative: boolean;
15
15
  };
16
16
  };
17
17
  PWA: {