voyager-ionic-core 7.4.4 → 7.5.1

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 (574) hide show
  1. package/components/action-sheet.js +2 -2
  2. package/components/alert.js +10 -2
  3. package/components/button.js +2 -2
  4. package/components/buttons.js +2 -2
  5. package/components/checkbox.js +1 -1
  6. package/components/data.js +96 -22
  7. package/components/haptic.js +1 -0
  8. package/components/icon.js +31 -18
  9. package/components/index.js +1 -0
  10. package/components/index4.js +26 -19
  11. package/components/index7.js +1 -1
  12. package/components/ion-back-button.js +2 -2
  13. package/components/ion-badge.js +2 -2
  14. package/components/ion-breadcrumb.js +2 -2
  15. package/components/ion-card-content.js +2 -2
  16. package/components/ion-card-subtitle.js +2 -2
  17. package/components/ion-card-title.js +2 -2
  18. package/components/ion-card.js +2 -2
  19. package/components/ion-chip.js +8 -3
  20. package/components/ion-datetime-button.js +6 -6
  21. package/components/ion-datetime.js +6 -6
  22. package/components/ion-header.js +1 -1
  23. package/components/ion-input.js +2 -2
  24. package/components/ion-item-divider.js +2 -2
  25. package/components/ion-item-option.js +2 -2
  26. package/components/ion-item-options.js +2 -2
  27. package/components/ion-loading.js +2 -2
  28. package/components/ion-menu-button.js +2 -2
  29. package/components/ion-menu.js +0 -12
  30. package/components/ion-nav.js +1 -0
  31. package/components/ion-range.js +2 -2
  32. package/components/ion-reorder.js +2 -2
  33. package/components/ion-router.js +3 -0
  34. package/components/ion-searchbar.js +9 -3
  35. package/components/ion-select.js +3 -3
  36. package/components/ion-textarea.js +2 -2
  37. package/components/ion-title.js +2 -2
  38. package/components/ion-toast.js +159 -15
  39. package/components/ion-toolbar.js +1 -1
  40. package/components/ios.transition.js +212 -43
  41. package/components/item.js +2 -2
  42. package/components/label.js +2 -2
  43. package/components/list-header.js +2 -2
  44. package/components/note.js +2 -2
  45. package/components/overlays.js +1 -0
  46. package/components/radio.js +2 -2
  47. package/css/core.css +100 -0
  48. package/css/core.css.map +1 -1
  49. package/css/display.css +33 -0
  50. package/css/display.css.map +1 -1
  51. package/css/float-elements.css +33 -0
  52. package/css/float-elements.css.map +1 -1
  53. package/css/global.bundle.css +84 -6
  54. package/css/global.bundle.css.map +1 -1
  55. package/css/ionic-swiper.css +33 -0
  56. package/css/ionic-swiper.css.map +1 -1
  57. package/css/ionic.bundle.css +1 -1
  58. package/css/ionic.bundle.css.map +1 -1
  59. package/css/padding.css +33 -0
  60. package/css/padding.css.map +1 -1
  61. package/css/structure.css +33 -0
  62. package/css/structure.css.map +1 -1
  63. package/css/text-alignment.css +33 -0
  64. package/css/text-alignment.css.map +1 -1
  65. package/css/text-transformation.css +33 -0
  66. package/css/text-transformation.css.map +1 -1
  67. package/css/typography.css +51 -6
  68. package/css/typography.css.map +1 -1
  69. package/css/utils.bundle.css +165 -0
  70. package/css/utils.bundle.css.map +1 -1
  71. package/dist/cjs/{button-active-0932cee9.js → button-active-c0ff1915.js} +1 -1
  72. package/dist/cjs/{data-db832785.js → data-c8d21093.js} +96 -22
  73. package/dist/cjs/{haptic-c5f6b4d5.js → haptic-678abc9f.js} +1 -0
  74. package/dist/cjs/{index-d8d1fc0b.js → index-09471526.js} +1 -1
  75. package/dist/cjs/{index-f94cbab1.js → index-5e7529f6.js} +26 -19
  76. package/dist/cjs/{index-d3568232.js → index-eccba000.js} +2 -2
  77. package/dist/cjs/index.cjs.js +8 -6
  78. package/dist/cjs/ion-accordion_2.cjs.entry.js +1 -1
  79. package/dist/cjs/ion-action-sheet.cjs.entry.js +5 -5
  80. package/dist/cjs/ion-alert.cjs.entry.js +13 -5
  81. package/dist/cjs/ion-app_8.cjs.entry.js +7 -7
  82. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  83. package/dist/cjs/ion-back-button.cjs.entry.js +3 -3
  84. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +3 -3
  85. package/dist/cjs/ion-button_2.cjs.entry.js +33 -20
  86. package/dist/cjs/ion-card_5.cjs.entry.js +8 -8
  87. package/dist/cjs/ion-checkbox.cjs.entry.js +1 -1
  88. package/dist/cjs/ion-chip.cjs.entry.js +7 -2
  89. package/dist/cjs/ion-datetime-button.cjs.entry.js +6 -6
  90. package/dist/cjs/ion-datetime_3.cjs.entry.js +9 -9
  91. package/dist/cjs/ion-fab_3.cjs.entry.js +1 -1
  92. package/dist/cjs/ion-input.cjs.entry.js +3 -3
  93. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  94. package/dist/cjs/ion-item_8.cjs.entry.js +11 -11
  95. package/dist/cjs/ion-loading.cjs.entry.js +3 -3
  96. package/dist/cjs/ion-menu_3.cjs.entry.js +8 -19
  97. package/dist/cjs/ion-modal.cjs.entry.js +2 -2
  98. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -1
  99. package/dist/cjs/ion-picker-column-internal.cjs.entry.js +1 -1
  100. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  101. package/dist/cjs/ion-radio_2.cjs.entry.js +2 -2
  102. package/dist/cjs/ion-range.cjs.entry.js +2 -2
  103. package/dist/cjs/ion-refresher_2.cjs.entry.js +2 -2
  104. package/dist/cjs/ion-reorder_2.cjs.entry.js +4 -4
  105. package/dist/cjs/ion-route_4.cjs.entry.js +3 -0
  106. package/dist/cjs/ion-searchbar.cjs.entry.js +10 -4
  107. package/dist/cjs/ion-select_3.cjs.entry.js +5 -5
  108. package/dist/cjs/ion-textarea.cjs.entry.js +2 -2
  109. package/dist/cjs/ion-toast.cjs.entry.js +176 -34
  110. package/dist/cjs/ion-toggle.cjs.entry.js +2 -2
  111. package/dist/cjs/ionic.cjs.js +2 -2
  112. package/dist/cjs/{ios.transition-7d688757.js → ios.transition-5af5991e.js} +213 -44
  113. package/dist/cjs/loader.cjs.js +1 -1
  114. package/dist/cjs/{md.transition-d77d3c2e.js → md.transition-1e740a6a.js} +1 -1
  115. package/dist/cjs/{overlays-7e1a08fa.js → overlays-1a734051.js} +1 -0
  116. package/dist/collection/collection-manifest.json +1 -1
  117. package/dist/collection/components/accordion/accordion.ios.css +66 -0
  118. package/dist/collection/components/accordion/accordion.md.css +33 -0
  119. package/dist/collection/components/accordion-group/accordion-group.ios.css +66 -0
  120. package/dist/collection/components/accordion-group/accordion-group.md.css +99 -0
  121. package/dist/collection/components/action-sheet/action-sheet.ios.css +80 -12
  122. package/dist/collection/components/action-sheet/action-sheet.md.css +76 -8
  123. package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +27 -0
  124. package/dist/collection/components/alert/alert.ios.css +138 -21
  125. package/dist/collection/components/alert/alert.js +8 -0
  126. package/dist/collection/components/alert/alert.md.css +108 -8
  127. package/dist/collection/components/alert/test/a11y/alert.e2e.js +122 -0
  128. package/dist/collection/components/avatar/avatar.ios.css +66 -0
  129. package/dist/collection/components/avatar/avatar.md.css +66 -0
  130. package/dist/collection/components/back-button/back-button.ios.css +83 -1
  131. package/dist/collection/components/back-button/back-button.md.css +75 -3
  132. package/dist/collection/components/back-button/test/a11y/back-button.e2e.js +26 -0
  133. package/dist/collection/components/backdrop/backdrop.ios.css +66 -0
  134. package/dist/collection/components/backdrop/backdrop.md.css +66 -0
  135. package/dist/collection/components/badge/badge.ios.css +75 -1
  136. package/dist/collection/components/badge/badge.md.css +67 -1
  137. package/dist/collection/components/badge/test/a11y/badge.e2e.js +22 -0
  138. package/dist/collection/components/breadcrumb/breadcrumb.ios.css +80 -3
  139. package/dist/collection/components/breadcrumb/breadcrumb.md.css +69 -3
  140. package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +33 -0
  141. package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +33 -0
  142. package/dist/collection/components/breadcrumbs/test/a11y/breadcrumbs.e2e.js +21 -0
  143. package/dist/collection/components/button/button.ios.css +118 -19
  144. package/dist/collection/components/button/button.md.css +69 -3
  145. package/dist/collection/components/button/test/a11y/button.e2e.js +61 -0
  146. package/dist/collection/components/buttons/buttons.ios.css +102 -3
  147. package/dist/collection/components/buttons/buttons.md.css +101 -2
  148. package/dist/collection/components/buttons/test/a11y/buttons.e2e.js +74 -0
  149. package/dist/collection/components/card/card.ios.css +67 -1
  150. package/dist/collection/components/card/card.md.css +67 -1
  151. package/dist/collection/components/card/test/a11y/card.e2e.js +31 -0
  152. package/dist/collection/components/card-content/card-content.ios.css +71 -5
  153. package/dist/collection/components/card-content/card-content.md.css +71 -5
  154. package/dist/collection/components/card-header/card-header.ios.css +66 -0
  155. package/dist/collection/components/card-header/card-header.md.css +66 -0
  156. package/dist/collection/components/card-subtitle/card-subtitle.ios.css +67 -1
  157. package/dist/collection/components/card-subtitle/card-subtitle.md.css +67 -1
  158. package/dist/collection/components/card-title/card-title.ios.css +67 -1
  159. package/dist/collection/components/card-title/card-title.md.css +67 -1
  160. package/dist/collection/components/checkbox/checkbox.ios.css +101 -2
  161. package/dist/collection/components/checkbox/checkbox.md.css +99 -0
  162. package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +18 -0
  163. package/dist/collection/components/chip/chip.ios.css +190 -0
  164. package/dist/collection/components/chip/chip.js +4 -2
  165. package/dist/collection/components/chip/{chip.css → chip.md.css} +43 -7
  166. package/dist/collection/components/chip/test/a11y/chip.e2e.js +58 -0
  167. package/dist/collection/components/col/col.css +66 -0
  168. package/dist/collection/components/content/content.css +33 -0
  169. package/dist/collection/components/datetime/datetime.ios.css +198 -7
  170. package/dist/collection/components/datetime/datetime.js +13 -7
  171. package/dist/collection/components/datetime/datetime.md.css +97 -5
  172. package/dist/collection/components/datetime/test/a11y/datetime.e2e.js +28 -0
  173. package/dist/collection/components/datetime/test/hour-cycle/datetime.e2e.js +14 -0
  174. package/dist/collection/components/datetime/utils/data.js +33 -7
  175. package/dist/collection/components/datetime/utils/format.js +27 -10
  176. package/dist/collection/components/datetime/utils/helpers.js +37 -5
  177. package/dist/collection/components/datetime-button/datetime-button.css +36 -2
  178. package/dist/collection/components/datetime-button/datetime-button.js +4 -4
  179. package/dist/collection/components/datetime-button/test/a11y/datetime-button.e2e.js +38 -0
  180. package/dist/collection/components/fab/fab.css +132 -0
  181. package/dist/collection/components/fab-button/fab-button.ios.css +66 -0
  182. package/dist/collection/components/fab-button/fab-button.md.css +66 -0
  183. package/dist/collection/components/fab-list/fab-list.css +66 -0
  184. package/dist/collection/components/footer/footer.ios.css +66 -0
  185. package/dist/collection/components/footer/footer.md.css +66 -0
  186. package/dist/collection/components/grid/grid.css +66 -0
  187. package/dist/collection/components/header/header.ios.css +71 -2
  188. package/dist/collection/components/header/header.md.css +66 -0
  189. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +66 -0
  190. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +66 -0
  191. package/dist/collection/components/input/input.ios.css +100 -1
  192. package/dist/collection/components/input/input.md.css +199 -1
  193. package/dist/collection/components/input/test/a11y/input.e2e.js +15 -1
  194. package/dist/collection/components/item/item.ios.css +70 -4
  195. package/dist/collection/components/item/item.md.css +138 -6
  196. package/dist/collection/components/item/test/a11y/item.e2e.js +116 -1
  197. package/dist/collection/components/item-divider/item-divider.ios.css +101 -9
  198. package/dist/collection/components/item-divider/item-divider.md.css +103 -11
  199. package/dist/collection/components/item-divider/test/a11y/item-divider.e2e.js +44 -0
  200. package/dist/collection/components/item-group/item-group.ios.css +68 -1
  201. package/dist/collection/components/item-group/item-group.md.css +68 -1
  202. package/dist/collection/components/item-option/item-option.ios.css +67 -1
  203. package/dist/collection/components/item-option/item-option.md.css +67 -1
  204. package/dist/collection/components/item-options/item-options.ios.css +99 -1
  205. package/dist/collection/components/item-options/item-options.md.css +99 -1
  206. package/dist/collection/components/item-sliding/item-sliding.css +33 -0
  207. package/dist/collection/components/item-sliding/test/a11y/item-sliding.e2e.js +34 -0
  208. package/dist/collection/components/label/label.ios.css +105 -6
  209. package/dist/collection/components/label/label.md.css +104 -5
  210. package/dist/collection/components/label/test/a11y/label.e2e.js +66 -0
  211. package/dist/collection/components/list/list.ios.css +99 -0
  212. package/dist/collection/components/list/list.md.css +99 -0
  213. package/dist/collection/components/list-header/list-header.ios.css +100 -1
  214. package/dist/collection/components/list-header/list-header.md.css +100 -1
  215. package/dist/collection/components/list-header/test/a11y/list-header.e2e.js +24 -0
  216. package/dist/collection/components/loading/loading.ios.css +67 -1
  217. package/dist/collection/components/loading/loading.md.css +67 -1
  218. package/dist/collection/components/loading/test/a11y/loading.e2e.js +19 -0
  219. package/dist/collection/components/menu/menu.ios.css +66 -0
  220. package/dist/collection/components/menu/menu.js +0 -12
  221. package/dist/collection/components/menu/menu.md.css +66 -0
  222. package/dist/collection/components/menu/test/multiple/menu.e2e.js +60 -0
  223. package/dist/collection/components/menu-button/menu-button.ios.css +70 -2
  224. package/dist/collection/components/menu-button/menu-button.md.css +71 -3
  225. package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +20 -1
  226. package/dist/collection/components/modal/modal.ios.css +66 -0
  227. package/dist/collection/components/modal/modal.md.css +66 -0
  228. package/dist/collection/components/nav/nav.css +33 -0
  229. package/dist/collection/components/nav/nav.js +1 -0
  230. package/dist/collection/components/note/note.ios.css +67 -0
  231. package/dist/collection/components/note/note.md.css +67 -1
  232. package/dist/collection/components/note/test/a11y/note.e2e.js +52 -0
  233. package/dist/collection/components/picker/picker.ios.css +66 -0
  234. package/dist/collection/components/picker/picker.md.css +66 -0
  235. package/dist/collection/components/picker-column/picker-column.ios.css +66 -0
  236. package/dist/collection/components/picker-column/picker-column.md.css +66 -0
  237. package/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +33 -0
  238. package/dist/collection/components/picker-column-internal/picker-column-internal.md.css +66 -0
  239. package/dist/collection/components/picker-internal/picker-internal.ios.css +66 -0
  240. package/dist/collection/components/picker-internal/picker-internal.md.css +66 -0
  241. package/dist/collection/components/popover/popover.ios.css +66 -0
  242. package/dist/collection/components/popover/popover.md.css +66 -0
  243. package/dist/collection/components/progress-bar/progress-bar.ios.css +33 -0
  244. package/dist/collection/components/progress-bar/progress-bar.md.css +33 -0
  245. package/dist/collection/components/radio/radio.ios.css +104 -5
  246. package/dist/collection/components/radio/radio.md.css +104 -5
  247. package/dist/collection/components/radio/test/a11y/radio.e2e.js +21 -0
  248. package/dist/collection/components/range/range.ios.css +82 -8
  249. package/dist/collection/components/range/range.md.css +99 -11
  250. package/dist/collection/components/range/test/a11y/range.e2e.js +22 -0
  251. package/dist/collection/components/refresher/refresher.ios.css +66 -0
  252. package/dist/collection/components/refresher/refresher.md.css +66 -0
  253. package/dist/collection/components/reorder/reorder.ios.css +75 -2
  254. package/dist/collection/components/reorder/reorder.md.css +75 -2
  255. package/dist/collection/components/reorder-group/reorder-group.css +33 -0
  256. package/dist/collection/components/reorder-group/test/a11y/reorder-group.e2e.js +33 -0
  257. package/dist/collection/components/ripple-effect/ripple-effect.css +33 -0
  258. package/dist/collection/components/router/router.js +2 -0
  259. package/dist/collection/components/router/utils/path.js +1 -0
  260. package/dist/collection/components/router-link/router-link.css +33 -0
  261. package/dist/collection/components/router-outlet/router-outlet.css +33 -0
  262. package/dist/collection/components/row/row.css +66 -0
  263. package/dist/collection/components/searchbar/searchbar.ios.css +95 -16
  264. package/dist/collection/components/searchbar/searchbar.js +7 -1
  265. package/dist/collection/components/searchbar/searchbar.md.css +77 -10
  266. package/dist/collection/components/searchbar/test/a11y/searchbar.e2e.js +37 -0
  267. package/dist/collection/components/searchbar/test/basic/searchbar.e2e.js +18 -0
  268. package/dist/collection/components/segment/segment.ios.css +99 -0
  269. package/dist/collection/components/segment/segment.md.css +99 -0
  270. package/dist/collection/components/segment-button/segment-button.ios.css +66 -0
  271. package/dist/collection/components/segment-button/segment-button.md.css +66 -0
  272. package/dist/collection/components/select/select.ios.css +102 -3
  273. package/dist/collection/components/select/select.js +1 -1
  274. package/dist/collection/components/select/select.md.css +167 -2
  275. package/dist/collection/components/select/test/a11y/select.e2e.js +22 -0
  276. package/dist/collection/components/select-popover/select-popover.ios.css +101 -1
  277. package/dist/collection/components/select-popover/select-popover.md.css +99 -0
  278. package/dist/collection/components/skeleton-text/skeleton-text.css +33 -0
  279. package/dist/collection/components/spinner/spinner.css +33 -0
  280. package/dist/collection/components/split-pane/split-pane.ios.css +99 -0
  281. package/dist/collection/components/split-pane/split-pane.md.css +99 -0
  282. package/dist/collection/components/tab-bar/tab-bar.ios.css +99 -0
  283. package/dist/collection/components/tab-bar/tab-bar.md.css +99 -0
  284. package/dist/collection/components/tab-button/tab-button.ios.css +66 -0
  285. package/dist/collection/components/tab-button/tab-button.md.css +66 -0
  286. package/dist/collection/components/tabs/tabs.css +33 -0
  287. package/dist/collection/components/text/text.css +33 -0
  288. package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +15 -1
  289. package/dist/collection/components/textarea/textarea.ios.css +133 -1
  290. package/dist/collection/components/textarea/textarea.md.css +199 -1
  291. package/dist/collection/components/thumbnail/thumbnail.css +33 -0
  292. package/dist/collection/components/title/test/a11y/title.e2e.js +61 -0
  293. package/dist/collection/components/title/title.ios.css +52 -10
  294. package/dist/collection/components/title/title.md.css +35 -2
  295. package/dist/collection/components/toast/animations/ios.enter.js +2 -3
  296. package/dist/collection/components/toast/animations/ios.leave.js +2 -3
  297. package/dist/collection/components/toast/animations/md.enter.js +2 -3
  298. package/dist/collection/components/toast/animations/utils.js +85 -0
  299. package/dist/collection/components/toast/test/a11y/toast.e2e.js +98 -1
  300. package/dist/collection/components/toast/test/position-anchor/toast.e2e.js +45 -0
  301. package/dist/collection/components/toast/toast.ios.css +74 -3
  302. package/dist/collection/components/toast/toast.js +98 -9
  303. package/dist/collection/components/toast/toast.md.css +74 -4
  304. package/dist/collection/components/toggle/toggle.ios.css +99 -0
  305. package/dist/collection/components/toggle/toggle.md.css +99 -0
  306. package/dist/collection/components/toolbar/toolbar.ios.css +66 -14
  307. package/dist/collection/components/toolbar/toolbar.md.css +66 -0
  308. package/dist/collection/css/test/a11y/typography.e2e.js +32 -0
  309. package/dist/collection/index.js +1 -0
  310. package/dist/collection/utils/menu-controller/index.js +26 -19
  311. package/dist/collection/utils/native/haptic.js +1 -0
  312. package/dist/collection/utils/overlays.js +1 -0
  313. package/dist/collection/utils/transition/ios.transition.js +212 -43
  314. package/dist/docs.json +74 -11
  315. package/dist/esm/{button-active-5136c12d.js → button-active-d926d4f4.js} +1 -1
  316. package/dist/esm/{data-009dbf15.js → data-44d9e816.js} +96 -22
  317. package/dist/esm/{haptic-6447af60.js → haptic-1243b917.js} +1 -0
  318. package/dist/esm/{index-641aeeed.js → index-a09eac70.js} +2 -2
  319. package/dist/esm/{index-ecfc2c9f.js → index-c132c5f1.js} +1 -1
  320. package/dist/esm/{index-d78b533e.js → index-df55802d.js} +26 -19
  321. package/dist/esm/index.js +7 -6
  322. package/dist/esm/ion-accordion_2.entry.js +1 -1
  323. package/dist/esm/ion-action-sheet.entry.js +5 -5
  324. package/dist/esm/ion-alert.entry.js +13 -5
  325. package/dist/esm/ion-app_8.entry.js +7 -7
  326. package/dist/esm/ion-avatar_3.entry.js +2 -2
  327. package/dist/esm/ion-back-button.entry.js +3 -3
  328. package/dist/esm/ion-breadcrumb_2.entry.js +3 -3
  329. package/dist/esm/ion-button_2.entry.js +33 -20
  330. package/dist/esm/ion-card_5.entry.js +8 -8
  331. package/dist/esm/ion-checkbox.entry.js +1 -1
  332. package/dist/esm/ion-chip.entry.js +7 -2
  333. package/dist/esm/ion-datetime-button.entry.js +6 -6
  334. package/dist/esm/ion-datetime_3.entry.js +9 -9
  335. package/dist/esm/ion-fab_3.entry.js +1 -1
  336. package/dist/esm/ion-input.entry.js +3 -3
  337. package/dist/esm/ion-item-option_3.entry.js +4 -4
  338. package/dist/esm/ion-item_8.entry.js +11 -11
  339. package/dist/esm/ion-loading.entry.js +3 -3
  340. package/dist/esm/ion-menu_3.entry.js +7 -18
  341. package/dist/esm/ion-modal.entry.js +2 -2
  342. package/dist/esm/ion-nav_2.entry.js +2 -1
  343. package/dist/esm/ion-picker-column-internal.entry.js +1 -1
  344. package/dist/esm/ion-popover.entry.js +2 -2
  345. package/dist/esm/ion-radio_2.entry.js +2 -2
  346. package/dist/esm/ion-range.entry.js +2 -2
  347. package/dist/esm/ion-refresher_2.entry.js +2 -2
  348. package/dist/esm/ion-reorder_2.entry.js +4 -4
  349. package/dist/esm/ion-route_4.entry.js +3 -0
  350. package/dist/esm/ion-searchbar.entry.js +10 -4
  351. package/dist/esm/ion-select_3.entry.js +5 -5
  352. package/dist/esm/ion-textarea.entry.js +2 -2
  353. package/dist/esm/ion-toast.entry.js +159 -17
  354. package/dist/esm/ion-toggle.entry.js +2 -2
  355. package/dist/esm/ionic.js +2 -2
  356. package/dist/esm/{ios.transition-04c9a97a.js → ios.transition-4d1322d6.js} +213 -44
  357. package/dist/esm/loader.js +1 -1
  358. package/dist/esm/{md.transition-67a8aabd.js → md.transition-66b425d0.js} +1 -1
  359. package/dist/esm/{overlays-2fa52617.js → overlays-cec6bac8.js} +1 -0
  360. package/dist/esm-es5/{button-active-5136c12d.js → button-active-d926d4f4.js} +1 -1
  361. package/dist/esm-es5/data-44d9e816.js +4 -0
  362. package/dist/esm-es5/index-a09eac70.js +4 -0
  363. package/dist/esm-es5/index-df55802d.js +4 -0
  364. package/dist/esm-es5/index.js +1 -1
  365. package/dist/esm-es5/ion-accordion_2.entry.js +1 -1
  366. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  367. package/dist/esm-es5/ion-alert.entry.js +1 -1
  368. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  369. package/dist/esm-es5/ion-avatar_3.entry.js +1 -1
  370. package/dist/esm-es5/ion-back-button.entry.js +1 -1
  371. package/dist/esm-es5/ion-breadcrumb_2.entry.js +1 -1
  372. package/dist/esm-es5/ion-button_2.entry.js +1 -1
  373. package/dist/esm-es5/ion-card_5.entry.js +1 -1
  374. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  375. package/dist/esm-es5/ion-chip.entry.js +1 -1
  376. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  377. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  378. package/dist/esm-es5/ion-fab_3.entry.js +1 -1
  379. package/dist/esm-es5/ion-input.entry.js +1 -1
  380. package/dist/esm-es5/ion-item-option_3.entry.js +1 -1
  381. package/dist/esm-es5/ion-item_8.entry.js +1 -1
  382. package/dist/esm-es5/ion-loading.entry.js +1 -1
  383. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  384. package/dist/esm-es5/ion-modal.entry.js +1 -1
  385. package/dist/esm-es5/ion-nav_2.entry.js +1 -1
  386. package/dist/esm-es5/ion-picker-column-internal.entry.js +1 -1
  387. package/dist/esm-es5/ion-popover.entry.js +1 -1
  388. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  389. package/dist/esm-es5/ion-range.entry.js +1 -1
  390. package/dist/esm-es5/ion-refresher_2.entry.js +1 -1
  391. package/dist/esm-es5/ion-reorder_2.entry.js +1 -1
  392. package/dist/esm-es5/ion-searchbar.entry.js +1 -1
  393. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  394. package/dist/esm-es5/ion-textarea.entry.js +1 -1
  395. package/dist/esm-es5/ion-toast.entry.js +1 -1
  396. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  397. package/dist/esm-es5/ionic.js +1 -1
  398. package/dist/esm-es5/ios.transition-4d1322d6.js +4 -0
  399. package/dist/esm-es5/loader.js +1 -1
  400. package/dist/esm-es5/md.transition-66b425d0.js +4 -0
  401. package/dist/html.html-data.json +11 -1
  402. package/dist/ionic/index.esm.js +1 -1
  403. package/dist/ionic/ionic.esm.js +1 -1
  404. package/dist/ionic/ionic.js +1 -1
  405. package/dist/ionic/p-012952cd.system.entry.js +4 -0
  406. package/dist/ionic/p-091c8792.system.js +4 -0
  407. package/dist/ionic/{p-4b8db805.entry.js → p-0ac3fb2c.entry.js} +1 -1
  408. package/dist/ionic/{p-ec9052a4.entry.js → p-0b00b937.entry.js} +1 -1
  409. package/dist/ionic/{p-9b4a77fc.system.entry.js → p-0b7c25ee.system.entry.js} +1 -1
  410. package/dist/ionic/p-0bbede6a.system.entry.js +4 -0
  411. package/dist/ionic/{p-1d0aa82f.system.entry.js → p-0f1f59da.system.entry.js} +1 -1
  412. package/dist/ionic/p-17240d90.js +4 -0
  413. package/dist/ionic/p-19fba51c.entry.js +4 -0
  414. package/dist/ionic/p-1a463b1e.system.entry.js +4 -0
  415. package/dist/ionic/p-1edb53a1.entry.js +4 -0
  416. package/dist/ionic/p-1f260a7b.entry.js +4 -0
  417. package/dist/ionic/{p-1c82e9ff.js → p-28ea45b9.js} +1 -1
  418. package/dist/ionic/p-2a8eeef7.system.js +4 -0
  419. package/dist/ionic/p-303bf1e8.system.entry.js +4 -0
  420. package/dist/ionic/p-31119a15.entry.js +4 -0
  421. package/dist/ionic/p-34259245.system.entry.js +4 -0
  422. package/dist/ionic/{p-914ac0fc.entry.js → p-35b26732.entry.js} +1 -1
  423. package/dist/ionic/p-35e399bd.entry.js +4 -0
  424. package/dist/ionic/{p-4dd96c8d.entry.js → p-38089641.entry.js} +1 -1
  425. package/dist/ionic/{p-f588e951.entry.js → p-3818f63f.entry.js} +1 -1
  426. package/dist/ionic/p-38c5fe2b.system.entry.js +4 -0
  427. package/dist/ionic/p-4215652f.system.entry.js +4 -0
  428. package/dist/ionic/p-4e50b8d1.entry.js +4 -0
  429. package/dist/ionic/p-4f97c112.entry.js +4 -0
  430. package/dist/ionic/p-54200074.entry.js +4 -0
  431. package/dist/ionic/p-572cce26.system.entry.js +4 -0
  432. package/dist/ionic/p-61b192a4.system.entry.js +4 -0
  433. package/dist/ionic/p-62e7d4fa.js +4 -0
  434. package/dist/ionic/p-673846f6.entry.js +4 -0
  435. package/dist/ionic/p-6ce0a709.system.entry.js +4 -0
  436. package/dist/ionic/p-6f6646bf.system.entry.js +4 -0
  437. package/dist/ionic/{p-2a7c0093.entry.js → p-7423746f.entry.js} +1 -1
  438. package/dist/ionic/p-755b2917.system.js +4 -0
  439. package/dist/ionic/p-78030c1f.system.entry.js +4 -0
  440. package/dist/ionic/p-8083aadb.entry.js +4 -0
  441. package/dist/ionic/p-81ef7437.system.entry.js +4 -0
  442. package/dist/ionic/{p-deb6ddad.entry.js → p-8209372c.entry.js} +1 -1
  443. package/dist/ionic/p-8c1805f4.system.entry.js +4 -0
  444. package/dist/ionic/p-8d6728a1.system.entry.js +4 -0
  445. package/dist/ionic/p-9dc85536.system.entry.js +4 -0
  446. package/dist/ionic/p-9e106f58.entry.js +4 -0
  447. package/dist/ionic/p-a164e3ab.system.entry.js +4 -0
  448. package/dist/ionic/{p-5efb899f.entry.js → p-a200a7fc.entry.js} +1 -1
  449. package/dist/ionic/p-a34fc12e.system.entry.js +4 -0
  450. package/dist/ionic/p-a9c32660.entry.js +4 -0
  451. package/dist/ionic/{p-5ece7025.system.js → p-aa377971.system.js} +1 -1
  452. package/dist/ionic/p-ad48dd13.system.js +4 -0
  453. package/dist/ionic/{p-d89d0de0.entry.js → p-afb6658f.entry.js} +1 -1
  454. package/dist/ionic/{p-6fb80ef3.system.entry.js → p-b753ec0d.system.entry.js} +1 -1
  455. package/dist/ionic/p-b8c3f071.system.js +4 -0
  456. package/dist/ionic/p-bb055450.system.entry.js +4 -0
  457. package/dist/ionic/p-c105bd36.entry.js +4 -0
  458. package/dist/ionic/p-c42c86c0.system.entry.js +4 -0
  459. package/dist/ionic/p-c44fe9fd.js +4 -0
  460. package/dist/ionic/p-c575a7b8.system.entry.js +4 -0
  461. package/dist/ionic/{p-3c2c6fce.entry.js → p-c679fcb5.entry.js} +1 -1
  462. package/dist/ionic/p-c8c9d699.system.entry.js +4 -0
  463. package/dist/ionic/p-c92f0a6d.system.entry.js +4 -0
  464. package/dist/ionic/p-c956e82c.system.entry.js +4 -0
  465. package/dist/ionic/p-cabd2c6d.entry.js +4 -0
  466. package/dist/ionic/p-cd2d17c3.system.entry.js +4 -0
  467. package/dist/ionic/{p-238f0ac5.system.entry.js → p-ce7d67a7.system.entry.js} +1 -1
  468. package/dist/ionic/p-d6e53e66.entry.js +4 -0
  469. package/dist/ionic/p-de68588d.js +4 -0
  470. package/dist/ionic/p-e028178a.system.js +4 -0
  471. package/dist/ionic/p-e0f0d55f.system.js +4 -0
  472. package/dist/ionic/p-e1d5752d.system.entry.js +4 -0
  473. package/dist/ionic/{p-f623aa6d.entry.js → p-e25cb483.entry.js} +1 -1
  474. package/dist/ionic/p-e65ebe96.entry.js +4 -0
  475. package/dist/ionic/p-e74faf2a.entry.js +4 -0
  476. package/dist/ionic/p-eb7d0922.js +4 -0
  477. package/dist/ionic/p-eb8dc56f.system.entry.js +4 -0
  478. package/dist/ionic/{p-8297652e.entry.js → p-f4309ac7.entry.js} +1 -1
  479. package/dist/ionic/p-f5bf698b.entry.js +4 -0
  480. package/dist/ionic/p-f7566bad.entry.js +4 -0
  481. package/dist/ionic/p-f919c026.entry.js +4 -0
  482. package/dist/ionic/{p-5cd791b3.system.entry.js → p-f9fa802c.system.entry.js} +1 -1
  483. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +49 -6
  484. package/dist/types/components/datetime/datetime-interface.d.ts +1 -0
  485. package/dist/types/components/datetime/datetime.d.ts +2 -2
  486. package/dist/types/components/datetime/utils/data.d.ts +3 -3
  487. package/dist/types/components/datetime/utils/format.d.ts +3 -3
  488. package/dist/types/components/datetime/utils/helpers.d.ts +15 -1
  489. package/dist/types/components/menu/menu-interface.d.ts +15 -5
  490. package/dist/types/components/toast/animations/ios.enter.d.ts +2 -1
  491. package/dist/types/components/toast/animations/ios.leave.d.ts +2 -2
  492. package/dist/types/components/toast/animations/md.enter.d.ts +2 -1
  493. package/dist/types/components/toast/animations/utils.d.ts +18 -0
  494. package/dist/types/components/toast/toast-interface.d.ts +11 -0
  495. package/dist/types/components/toast/toast.d.ts +21 -1
  496. package/dist/types/components.d.ts +16 -8
  497. package/dist/types/index.d.ts +1 -0
  498. package/dist/types/stencil-public-runtime.d.ts +19 -0
  499. package/dist/types/utils/menu-controller/index.d.ts +2 -22
  500. package/hydrate/index.js +630 -204
  501. package/package.json +10 -12
  502. package/dist/esm-es5/data-009dbf15.js +0 -4
  503. package/dist/esm-es5/index-641aeeed.js +0 -4
  504. package/dist/esm-es5/index-d78b533e.js +0 -4
  505. package/dist/esm-es5/ios.transition-04c9a97a.js +0 -4
  506. package/dist/esm-es5/md.transition-67a8aabd.js +0 -4
  507. package/dist/ionic/p-02a4e81a.js +0 -4
  508. package/dist/ionic/p-03c381ec.system.entry.js +0 -4
  509. package/dist/ionic/p-048f1ebe.entry.js +0 -4
  510. package/dist/ionic/p-04e7c8fd.entry.js +0 -4
  511. package/dist/ionic/p-05ae600a.system.js +0 -4
  512. package/dist/ionic/p-0c37546b.system.entry.js +0 -4
  513. package/dist/ionic/p-117cd69f.system.entry.js +0 -4
  514. package/dist/ionic/p-13d6e57a.js +0 -4
  515. package/dist/ionic/p-164b0e76.entry.js +0 -4
  516. package/dist/ionic/p-170e9de0.system.entry.js +0 -4
  517. package/dist/ionic/p-19384b9e.entry.js +0 -4
  518. package/dist/ionic/p-2784263e.system.entry.js +0 -4
  519. package/dist/ionic/p-29e3a9bb.entry.js +0 -4
  520. package/dist/ionic/p-32717950.system.entry.js +0 -4
  521. package/dist/ionic/p-32d364f0.entry.js +0 -4
  522. package/dist/ionic/p-35818410.entry.js +0 -4
  523. package/dist/ionic/p-37448ac1.entry.js +0 -4
  524. package/dist/ionic/p-38ccfd71.system.entry.js +0 -4
  525. package/dist/ionic/p-44ef7224.system.js +0 -4
  526. package/dist/ionic/p-45f5c8ba.system.entry.js +0 -4
  527. package/dist/ionic/p-47db15c6.entry.js +0 -4
  528. package/dist/ionic/p-4811e4af.system.entry.js +0 -4
  529. package/dist/ionic/p-4bb26b01.system.entry.js +0 -4
  530. package/dist/ionic/p-4d6ac0fe.system.entry.js +0 -4
  531. package/dist/ionic/p-51269f3b.system.js +0 -4
  532. package/dist/ionic/p-55d3a9b2.entry.js +0 -4
  533. package/dist/ionic/p-576e6d0f.system.entry.js +0 -4
  534. package/dist/ionic/p-5b32b053.entry.js +0 -4
  535. package/dist/ionic/p-5bc5008c.entry.js +0 -4
  536. package/dist/ionic/p-5c3e72a8.system.js +0 -4
  537. package/dist/ionic/p-5c651aab.system.entry.js +0 -4
  538. package/dist/ionic/p-64e20cd9.entry.js +0 -4
  539. package/dist/ionic/p-65a5761f.js +0 -4
  540. package/dist/ionic/p-6ac3e877.system.entry.js +0 -4
  541. package/dist/ionic/p-706a0391.entry.js +0 -4
  542. package/dist/ionic/p-72aea40e.system.entry.js +0 -4
  543. package/dist/ionic/p-73ed9a91.js +0 -4
  544. package/dist/ionic/p-7cfd253c.js +0 -4
  545. package/dist/ionic/p-839276d4.entry.js +0 -4
  546. package/dist/ionic/p-8ee012cb.system.entry.js +0 -4
  547. package/dist/ionic/p-908720f3.system.entry.js +0 -4
  548. package/dist/ionic/p-95b14c73.system.entry.js +0 -4
  549. package/dist/ionic/p-99dfa53f.system.entry.js +0 -4
  550. package/dist/ionic/p-a18ec02b.entry.js +0 -4
  551. package/dist/ionic/p-b109a3d7.system.entry.js +0 -4
  552. package/dist/ionic/p-b3690814.system.entry.js +0 -4
  553. package/dist/ionic/p-c3efbcf5.system.js +0 -4
  554. package/dist/ionic/p-c48fc95d.system.entry.js +0 -4
  555. package/dist/ionic/p-c7428627.system.entry.js +0 -4
  556. package/dist/ionic/p-d0ad0430.system.entry.js +0 -4
  557. package/dist/ionic/p-d55c9f92.system.entry.js +0 -4
  558. package/dist/ionic/p-d7b8d224.entry.js +0 -4
  559. package/dist/ionic/p-df5fe0be.system.js +0 -4
  560. package/dist/ionic/p-e1ac688a.entry.js +0 -4
  561. package/dist/ionic/p-e2fd0895.entry.js +0 -4
  562. package/dist/ionic/p-f960fd84.system.entry.js +0 -4
  563. package/dist/ionic/p-fbcb157b.system.js +0 -4
  564. package/dist/ionic/p-fccfe602.entry.js +0 -4
  565. package/dist/ionic/p-ff555f6f.system.entry.js +0 -4
  566. /package/dist/esm-es5/{haptic-6447af60.js → haptic-1243b917.js} +0 -0
  567. /package/dist/esm-es5/{index-ecfc2c9f.js → index-c132c5f1.js} +0 -0
  568. /package/dist/esm-es5/{overlays-2fa52617.js → overlays-cec6bac8.js} +0 -0
  569. /package/dist/ionic/{p-8985b268.system.js → p-8050b9b9.system.js} +0 -0
  570. /package/dist/ionic/{p-6ba7fad7.system.js → p-8f01a9a2.system.js} +0 -0
  571. /package/dist/ionic/{p-14d7b7e2.system.js → p-b4b4bb29.system.js} +0 -0
  572. /package/dist/ionic/{p-bb6f38ed.js → p-b923f3d7.js} +0 -0
  573. /package/dist/ionic/{p-63505fbb.js → p-cf62e1c8.js} +0 -0
  574. /package/dist/ionic/{p-0a87858b.js → p-ea96fa73.js} +0 -0
@@ -1,3 +1,36 @@
1
+ /**
2
+ * Convert a font size to a dynamic font size.
3
+ * Fonts that participate in Dynamic Type should use
4
+ * dynamic font sizes.
5
+ * @param size - The initial font size including the unit (i.e. px or pt)
6
+ * @param unit (optional) - The unit to convert to. Use this if you want to
7
+ * convert to a unit other than $baselineUnit.
8
+ */
9
+ /**
10
+ * Convert a font size to a dynamic font size but impose
11
+ * a maximum font size.
12
+ * @param size - The initial font size including the unit (i.e. px or pt)
13
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
14
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
15
+ * convert to a unit other than $baselineUnit.
16
+ */
17
+ /**
18
+ * Convert a font size to a dynamic font size but impose
19
+ * a minimum font size.
20
+ * @param size - The initial font size including the unit (i.e. px or pt)
21
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
22
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
23
+ * convert to a unit other than $baselineUnit.
24
+ */
25
+ /**
26
+ * Convert a font size to a dynamic font size but impose
27
+ * maximum and minimum font sizes.
28
+ * @param size - The initial font size including the unit (i.e. px or pt)
29
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
30
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
31
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
32
+ * convert to a unit other than $baselineUnit.
33
+ */
1
34
  :host {
2
35
  /**
3
36
  * @prop --bar-background: Background of the range bar
@@ -60,7 +93,9 @@
60
93
  top: calc((var(--height) - var(--knob-handle-size)) / 2);
61
94
  -webkit-margin-start: calc(0px - var(--knob-handle-size) / 2);
62
95
  margin-inline-start: calc(0px - var(--knob-handle-size) / 2);
96
+ display: flex;
63
97
  position: absolute;
98
+ justify-content: center;
64
99
  width: var(--knob-handle-size);
65
100
  height: var(--knob-handle-size);
66
101
  text-align: center;
@@ -407,6 +442,39 @@
407
442
  margin-bottom: 0px;
408
443
  }
409
444
 
445
+ /**
446
+ * Convert a font size to a dynamic font size.
447
+ * Fonts that participate in Dynamic Type should use
448
+ * dynamic font sizes.
449
+ * @param size - The initial font size including the unit (i.e. px or pt)
450
+ * @param unit (optional) - The unit to convert to. Use this if you want to
451
+ * convert to a unit other than $baselineUnit.
452
+ */
453
+ /**
454
+ * Convert a font size to a dynamic font size but impose
455
+ * a maximum font size.
456
+ * @param size - The initial font size including the unit (i.e. px or pt)
457
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
458
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
459
+ * convert to a unit other than $baselineUnit.
460
+ */
461
+ /**
462
+ * Convert a font size to a dynamic font size but impose
463
+ * a minimum font size.
464
+ * @param size - The initial font size including the unit (i.e. px or pt)
465
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
466
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
467
+ * convert to a unit other than $baselineUnit.
468
+ */
469
+ /**
470
+ * Convert a font size to a dynamic font size but impose
471
+ * maximum and minimum font sizes.
472
+ * @param size - The initial font size including the unit (i.e. px or pt)
473
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
474
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
475
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
476
+ * convert to a unit other than $baselineUnit.
477
+ */
410
478
  /**
411
479
  * 18px was chosen so the knob and its focus/active
412
480
  * effects do not get cut off by the item.
@@ -423,13 +491,18 @@
423
491
  --height: 42px;
424
492
  --pin-background: var(--ion-color-primary, #3880ff);
425
493
  --pin-color: var(--ion-color-primary-contrast, #fff);
426
- font-size: 12px;
427
494
  }
428
495
 
429
- ::slotted([slot=label]), .label-text {
496
+ :host(.legacy-range) ::slotted([slot=label]) {
430
497
  font-size: initial;
431
498
  }
432
499
 
500
+ :host(:not(.legacy-range)) ::slotted(:not(ion-icon)[slot=start]),
501
+ :host(:not(.legacy-range)) ::slotted(:not(ion-icon)[slot=end]),
502
+ :host(:not(.legacy-range)) .native-wrapper {
503
+ font-size: 0.75rem;
504
+ }
505
+
433
506
  :host(.legacy-range) {
434
507
  -webkit-padding-start: 14px;
435
508
  padding-inline-start: 14px;
@@ -437,6 +510,7 @@
437
510
  padding-inline-end: 14px;
438
511
  padding-top: 8px;
439
512
  padding-bottom: 8px;
513
+ font-size: 0.75rem;
440
514
  }
441
515
 
442
516
  :host(.range-item-start-adjustment) {
@@ -494,7 +568,7 @@
494
568
  * overlapping the range. The buffer is added to the
495
569
  * bottom of the range label instead of the host.
496
570
  */
497
- padding-top: 28px;
571
+ padding-top: 1.75rem;
498
572
  }
499
573
 
500
574
  :host(.range-has-pin.range-label-placement-stacked) .label-text-wrapper {
@@ -503,7 +577,7 @@
503
577
  * margin to the bottom of the label, it provides a buffer
504
578
  * for the pin to move into when it is pressed.
505
579
  */
506
- margin-bottom: 28px;
580
+ margin-bottom: 1.75rem;
507
581
  }
508
582
 
509
583
  .range-bar-active {
@@ -580,17 +654,26 @@
580
654
  padding-bottom: 8px;
581
655
  border-radius: 50%;
582
656
  transform: translate3d(0, 0, 0) scale(0.01);
583
- display: inline-block;
584
- position: relative;
585
- min-width: 28px;
586
- height: 28px;
657
+ display: flex;
658
+ align-items: center;
659
+ justify-content: center;
660
+ /**
661
+ * The dimensions of the range need
662
+ * to scale with the size of the text
663
+ * which is why we use dynamic dimensions here.
664
+ */
665
+ width: 1.75rem;
666
+ height: 1.75rem;
587
667
  transition: transform 120ms ease, background 120ms ease;
588
668
  background: var(--pin-background);
589
669
  color: var(--pin-color);
590
- text-align: center;
591
670
  }
592
671
  .range-pin::before {
593
- top: 3px;
672
+ /**
673
+ * The -1px here moves the ::before
674
+ * psuedo-element down to create a uniform pin shape.
675
+ */
676
+ bottom: -1px;
594
677
  -webkit-margin-start: -13px;
595
678
  margin-inline-start: -13px;
596
679
  /* stylelint-disable-next-line property-disallowed-list */
@@ -648,9 +731,14 @@
648
731
  }
649
732
  }
650
733
 
734
+ /**
735
+ * Move the pin up by its full height
736
+ * plus a few pixels so the tip is above
737
+ * (but not touching) the knob.
738
+ */
651
739
  .range-knob-pressed .range-pin,
652
740
  .range-knob-handle.ion-focused .range-pin {
653
- transform: translate3d(0, -24px, 0) scale(1);
741
+ transform: translate3d(0, calc(-100% + 4px), 0) scale(1);
654
742
  }
655
743
 
656
744
  @media (any-hover: hover) {
@@ -54,4 +54,26 @@ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
54
54
  await expect(range).toHaveScreenshot(screenshot(`range-focus-with-pin`));
55
55
  });
56
56
  });
57
+ test.describe(title('range: font scaling'), () => {
58
+ test('should scale text on larger font sizes', async ({ page }) => {
59
+ // Capture both icons and text in the start/end slots
60
+ await page.setContent(`
61
+ <style>
62
+ html {
63
+ font-size: 310%;
64
+ }
65
+ </style>
66
+ <ion-range value="50" label="Label" pin="true">
67
+ <ion-icon name="snow" slot="start" aria-hidden="true"></ion-icon>
68
+ <div name="snow" slot="end" aria-hidden="true">Warm</div>
69
+ </ion-range>
70
+ `, config);
71
+ const range = page.locator('ion-range');
72
+ const rangeHandle = range.locator('.range-knob-handle');
73
+ // Capture the range pin in screenshots
74
+ await rangeHandle.evaluate((el) => el.classList.add('ion-focused'));
75
+ await page.waitForChanges();
76
+ await expect(range).toHaveScreenshot(screenshot(`range-scale`));
77
+ });
78
+ });
57
79
  });
@@ -1,3 +1,36 @@
1
+ /**
2
+ * Convert a font size to a dynamic font size.
3
+ * Fonts that participate in Dynamic Type should use
4
+ * dynamic font sizes.
5
+ * @param size - The initial font size including the unit (i.e. px or pt)
6
+ * @param unit (optional) - The unit to convert to. Use this if you want to
7
+ * convert to a unit other than $baselineUnit.
8
+ */
9
+ /**
10
+ * Convert a font size to a dynamic font size but impose
11
+ * a maximum font size.
12
+ * @param size - The initial font size including the unit (i.e. px or pt)
13
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
14
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
15
+ * convert to a unit other than $baselineUnit.
16
+ */
17
+ /**
18
+ * Convert a font size to a dynamic font size but impose
19
+ * a minimum font size.
20
+ * @param size - The initial font size including the unit (i.e. px or pt)
21
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
22
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
23
+ * convert to a unit other than $baselineUnit.
24
+ */
25
+ /**
26
+ * Convert a font size to a dynamic font size but impose
27
+ * maximum and minimum font sizes.
28
+ * @param size - The initial font size including the unit (i.e. px or pt)
29
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
30
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
31
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
32
+ * convert to a unit other than $baselineUnit.
33
+ */
1
34
  ion-refresher {
2
35
  top: 0;
3
36
  display: none;
@@ -115,6 +148,39 @@ ion-refresher-content .arrow-container {
115
148
  display: none;
116
149
  }
117
150
 
151
+ /**
152
+ * Convert a font size to a dynamic font size.
153
+ * Fonts that participate in Dynamic Type should use
154
+ * dynamic font sizes.
155
+ * @param size - The initial font size including the unit (i.e. px or pt)
156
+ * @param unit (optional) - The unit to convert to. Use this if you want to
157
+ * convert to a unit other than $baselineUnit.
158
+ */
159
+ /**
160
+ * Convert a font size to a dynamic font size but impose
161
+ * a maximum font size.
162
+ * @param size - The initial font size including the unit (i.e. px or pt)
163
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
164
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
165
+ * convert to a unit other than $baselineUnit.
166
+ */
167
+ /**
168
+ * Convert a font size to a dynamic font size but impose
169
+ * a minimum font size.
170
+ * @param size - The initial font size including the unit (i.e. px or pt)
171
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
172
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
173
+ * convert to a unit other than $baselineUnit.
174
+ */
175
+ /**
176
+ * Convert a font size to a dynamic font size but impose
177
+ * maximum and minimum font sizes.
178
+ * @param size - The initial font size including the unit (i.e. px or pt)
179
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
180
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
181
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
182
+ * convert to a unit other than $baselineUnit.
183
+ */
118
184
  .refresher-ios .refresher-pulling-icon,
119
185
  .refresher-ios .refresher-refreshing-icon {
120
186
  color: var(--ion-text-color, #000);
@@ -1,3 +1,36 @@
1
+ /**
2
+ * Convert a font size to a dynamic font size.
3
+ * Fonts that participate in Dynamic Type should use
4
+ * dynamic font sizes.
5
+ * @param size - The initial font size including the unit (i.e. px or pt)
6
+ * @param unit (optional) - The unit to convert to. Use this if you want to
7
+ * convert to a unit other than $baselineUnit.
8
+ */
9
+ /**
10
+ * Convert a font size to a dynamic font size but impose
11
+ * a maximum font size.
12
+ * @param size - The initial font size including the unit (i.e. px or pt)
13
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
14
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
15
+ * convert to a unit other than $baselineUnit.
16
+ */
17
+ /**
18
+ * Convert a font size to a dynamic font size but impose
19
+ * a minimum font size.
20
+ * @param size - The initial font size including the unit (i.e. px or pt)
21
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
22
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
23
+ * convert to a unit other than $baselineUnit.
24
+ */
25
+ /**
26
+ * Convert a font size to a dynamic font size but impose
27
+ * maximum and minimum font sizes.
28
+ * @param size - The initial font size including the unit (i.e. px or pt)
29
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
30
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
31
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
32
+ * convert to a unit other than $baselineUnit.
33
+ */
1
34
  ion-refresher {
2
35
  top: 0;
3
36
  display: none;
@@ -115,6 +148,39 @@ ion-refresher-content .arrow-container {
115
148
  display: none;
116
149
  }
117
150
 
151
+ /**
152
+ * Convert a font size to a dynamic font size.
153
+ * Fonts that participate in Dynamic Type should use
154
+ * dynamic font sizes.
155
+ * @param size - The initial font size including the unit (i.e. px or pt)
156
+ * @param unit (optional) - The unit to convert to. Use this if you want to
157
+ * convert to a unit other than $baselineUnit.
158
+ */
159
+ /**
160
+ * Convert a font size to a dynamic font size but impose
161
+ * a maximum font size.
162
+ * @param size - The initial font size including the unit (i.e. px or pt)
163
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
164
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
165
+ * convert to a unit other than $baselineUnit.
166
+ */
167
+ /**
168
+ * Convert a font size to a dynamic font size but impose
169
+ * a minimum font size.
170
+ * @param size - The initial font size including the unit (i.e. px or pt)
171
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
172
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
173
+ * convert to a unit other than $baselineUnit.
174
+ */
175
+ /**
176
+ * Convert a font size to a dynamic font size but impose
177
+ * maximum and minimum font sizes.
178
+ * @param size - The initial font size including the unit (i.e. px or pt)
179
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
180
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
181
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
182
+ * convert to a unit other than $baselineUnit.
183
+ */
118
184
  .refresher-md .refresher-pulling-icon,
119
185
  .refresher-md .refresher-refreshing-icon {
120
186
  color: var(--ion-text-color, #000);
@@ -1,3 +1,36 @@
1
+ /**
2
+ * Convert a font size to a dynamic font size.
3
+ * Fonts that participate in Dynamic Type should use
4
+ * dynamic font sizes.
5
+ * @param size - The initial font size including the unit (i.e. px or pt)
6
+ * @param unit (optional) - The unit to convert to. Use this if you want to
7
+ * convert to a unit other than $baselineUnit.
8
+ */
9
+ /**
10
+ * Convert a font size to a dynamic font size but impose
11
+ * a maximum font size.
12
+ * @param size - The initial font size including the unit (i.e. px or pt)
13
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
14
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
15
+ * convert to a unit other than $baselineUnit.
16
+ */
17
+ /**
18
+ * Convert a font size to a dynamic font size but impose
19
+ * a minimum font size.
20
+ * @param size - The initial font size including the unit (i.e. px or pt)
21
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
22
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
23
+ * convert to a unit other than $baselineUnit.
24
+ */
25
+ /**
26
+ * Convert a font size to a dynamic font size but impose
27
+ * maximum and minimum font sizes.
28
+ * @param size - The initial font size including the unit (i.e. px or pt)
29
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
30
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
31
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
32
+ * convert to a unit other than $baselineUnit.
33
+ */
1
34
  :host([slot]) {
2
35
  display: none;
3
36
  line-height: 0;
@@ -6,10 +39,50 @@
6
39
 
7
40
  .reorder-icon {
8
41
  display: block;
9
- font-size: 22px;
10
42
  }
11
43
 
44
+ /**
45
+ * This ensures that custom reorder
46
+ * icons resize with Dynamic Type.
47
+ */
48
+ ::slotted(ion-icon) {
49
+ font-size: 1rem;
50
+ }
51
+
52
+ /**
53
+ * Convert a font size to a dynamic font size.
54
+ * Fonts that participate in Dynamic Type should use
55
+ * dynamic font sizes.
56
+ * @param size - The initial font size including the unit (i.e. px or pt)
57
+ * @param unit (optional) - The unit to convert to. Use this if you want to
58
+ * convert to a unit other than $baselineUnit.
59
+ */
60
+ /**
61
+ * Convert a font size to a dynamic font size but impose
62
+ * a maximum font size.
63
+ * @param size - The initial font size including the unit (i.e. px or pt)
64
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
65
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
66
+ * convert to a unit other than $baselineUnit.
67
+ */
68
+ /**
69
+ * Convert a font size to a dynamic font size but impose
70
+ * a minimum font size.
71
+ * @param size - The initial font size including the unit (i.e. px or pt)
72
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
73
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
74
+ * convert to a unit other than $baselineUnit.
75
+ */
76
+ /**
77
+ * Convert a font size to a dynamic font size but impose
78
+ * maximum and minimum font sizes.
79
+ * @param size - The initial font size including the unit (i.e. px or pt)
80
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
81
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
82
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
83
+ * convert to a unit other than $baselineUnit.
84
+ */
12
85
  .reorder-icon {
13
- font-size: 34px;
86
+ font-size: 2.125rem;
14
87
  opacity: 0.4;
15
88
  }
@@ -1,3 +1,36 @@
1
+ /**
2
+ * Convert a font size to a dynamic font size.
3
+ * Fonts that participate in Dynamic Type should use
4
+ * dynamic font sizes.
5
+ * @param size - The initial font size including the unit (i.e. px or pt)
6
+ * @param unit (optional) - The unit to convert to. Use this if you want to
7
+ * convert to a unit other than $baselineUnit.
8
+ */
9
+ /**
10
+ * Convert a font size to a dynamic font size but impose
11
+ * a maximum font size.
12
+ * @param size - The initial font size including the unit (i.e. px or pt)
13
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
14
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
15
+ * convert to a unit other than $baselineUnit.
16
+ */
17
+ /**
18
+ * Convert a font size to a dynamic font size but impose
19
+ * a minimum font size.
20
+ * @param size - The initial font size including the unit (i.e. px or pt)
21
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
22
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
23
+ * convert to a unit other than $baselineUnit.
24
+ */
25
+ /**
26
+ * Convert a font size to a dynamic font size but impose
27
+ * maximum and minimum font sizes.
28
+ * @param size - The initial font size including the unit (i.e. px or pt)
29
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
30
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
31
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
32
+ * convert to a unit other than $baselineUnit.
33
+ */
1
34
  :host([slot]) {
2
35
  display: none;
3
36
  line-height: 0;
@@ -6,10 +39,50 @@
6
39
 
7
40
  .reorder-icon {
8
41
  display: block;
9
- font-size: 22px;
10
42
  }
11
43
 
44
+ /**
45
+ * This ensures that custom reorder
46
+ * icons resize with Dynamic Type.
47
+ */
48
+ ::slotted(ion-icon) {
49
+ font-size: 1rem;
50
+ }
51
+
52
+ /**
53
+ * Convert a font size to a dynamic font size.
54
+ * Fonts that participate in Dynamic Type should use
55
+ * dynamic font sizes.
56
+ * @param size - The initial font size including the unit (i.e. px or pt)
57
+ * @param unit (optional) - The unit to convert to. Use this if you want to
58
+ * convert to a unit other than $baselineUnit.
59
+ */
60
+ /**
61
+ * Convert a font size to a dynamic font size but impose
62
+ * a maximum font size.
63
+ * @param size - The initial font size including the unit (i.e. px or pt)
64
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
65
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
66
+ * convert to a unit other than $baselineUnit.
67
+ */
68
+ /**
69
+ * Convert a font size to a dynamic font size but impose
70
+ * a minimum font size.
71
+ * @param size - The initial font size including the unit (i.e. px or pt)
72
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
73
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
74
+ * convert to a unit other than $baselineUnit.
75
+ */
76
+ /**
77
+ * Convert a font size to a dynamic font size but impose
78
+ * maximum and minimum font sizes.
79
+ * @param size - The initial font size including the unit (i.e. px or pt)
80
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
81
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
82
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
83
+ * convert to a unit other than $baselineUnit.
84
+ */
12
85
  .reorder-icon {
13
- font-size: 31px;
86
+ font-size: 1.9375rem;
14
87
  opacity: 0.3;
15
88
  }
@@ -1,3 +1,36 @@
1
+ /**
2
+ * Convert a font size to a dynamic font size.
3
+ * Fonts that participate in Dynamic Type should use
4
+ * dynamic font sizes.
5
+ * @param size - The initial font size including the unit (i.e. px or pt)
6
+ * @param unit (optional) - The unit to convert to. Use this if you want to
7
+ * convert to a unit other than $baselineUnit.
8
+ */
9
+ /**
10
+ * Convert a font size to a dynamic font size but impose
11
+ * a maximum font size.
12
+ * @param size - The initial font size including the unit (i.e. px or pt)
13
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
14
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
15
+ * convert to a unit other than $baselineUnit.
16
+ */
17
+ /**
18
+ * Convert a font size to a dynamic font size but impose
19
+ * a minimum font size.
20
+ * @param size - The initial font size including the unit (i.e. px or pt)
21
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
22
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
23
+ * convert to a unit other than $baselineUnit.
24
+ */
25
+ /**
26
+ * Convert a font size to a dynamic font size but impose
27
+ * maximum and minimum font sizes.
28
+ * @param size - The initial font size including the unit (i.e. px or pt)
29
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
30
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
31
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
32
+ * convert to a unit other than $baselineUnit.
33
+ */
1
34
  .reorder-list-active > * {
2
35
  display: block;
3
36
  transition: transform 300ms;
@@ -0,0 +1,33 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import { expect } from "@playwright/test";
5
+ import { configs, test } from "../../../../utils/test/playwright/index";
6
+ configs({ directions: ['ltr'] }).forEach(({ title, screenshot, config }) => {
7
+ test.describe(title('reorder-group: font scaling'), () => {
8
+ test('should scale text on larger font sizes', async ({ page }) => {
9
+ await page.setContent(`
10
+ <style>
11
+ html {
12
+ font-size: 36px;
13
+ }
14
+ </style>
15
+ <ion-reorder-group disabled="false">
16
+ <ion-item>
17
+ <ion-label>Default Reorder</ion-label>
18
+ <ion-reorder slot="end"></ion-reorder>
19
+ </ion-item>
20
+
21
+ <ion-item>
22
+ <ion-label>Custom Icon</ion-label>
23
+ <ion-reorder slot="end">
24
+ <ion-icon name="pizza"></ion-icon>
25
+ </ion-reorder>
26
+ </ion-item>
27
+ </ion-reorder-group>
28
+ `, config);
29
+ const reorderGroup = page.locator('ion-reorder-group');
30
+ await expect(reorderGroup).toHaveScreenshot(screenshot(`reorder-group-scale`));
31
+ });
32
+ });
33
+ });
@@ -1,3 +1,36 @@
1
+ /**
2
+ * Convert a font size to a dynamic font size.
3
+ * Fonts that participate in Dynamic Type should use
4
+ * dynamic font sizes.
5
+ * @param size - The initial font size including the unit (i.e. px or pt)
6
+ * @param unit (optional) - The unit to convert to. Use this if you want to
7
+ * convert to a unit other than $baselineUnit.
8
+ */
9
+ /**
10
+ * Convert a font size to a dynamic font size but impose
11
+ * a maximum font size.
12
+ * @param size - The initial font size including the unit (i.e. px or pt)
13
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
14
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
15
+ * convert to a unit other than $baselineUnit.
16
+ */
17
+ /**
18
+ * Convert a font size to a dynamic font size but impose
19
+ * a minimum font size.
20
+ * @param size - The initial font size including the unit (i.e. px or pt)
21
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
22
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
23
+ * convert to a unit other than $baselineUnit.
24
+ */
25
+ /**
26
+ * Convert a font size to a dynamic font size but impose
27
+ * maximum and minimum font sizes.
28
+ * @param size - The initial font size including the unit (i.e. px or pt)
29
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
30
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
31
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
32
+ * convert to a unit other than $baselineUnit.
33
+ */
1
34
  :host {
2
35
  left: 0;
3
36
  right: 0;
@@ -215,12 +215,14 @@ export class Router {
215
215
  }
216
216
  const routes = readRoutes(this.el);
217
217
  const fromChain = findChainForSegments(from, routes);
218
+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
218
219
  const beforeLeaveHook = fromChain && fromChain[fromChain.length - 1].beforeLeave;
219
220
  const canLeave = beforeLeaveHook ? await beforeLeaveHook() : true;
220
221
  if (canLeave === false || typeof canLeave === 'object') {
221
222
  return canLeave;
222
223
  }
223
224
  const toChain = findChainForSegments(to, routes);
225
+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
224
226
  const beforeEnterHook = toChain && toChain[toChain.length - 1].beforeEnter;
225
227
  return beforeEnterHook ? beforeEnterHook() : true;
226
228
  }
@@ -38,6 +38,7 @@ export const chainToSegments = (chain) => {
38
38
  for (const route of chain) {
39
39
  for (const segment of route.segments) {
40
40
  if (segment[0] === ':') {
41
+ // eslint-disable-next-line @typescript-eslint/prefer-optional-chain
41
42
  const param = route.params && route.params[segment.slice(1)];
42
43
  if (!param) {
43
44
  return null;