@ionic/core 8.8.9-dev.11780493937.17fe092d → 8.8.9-dev.11780683233.1c5e9d9b

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 (329) hide show
  1. package/components/ion-action-sheet.js +1 -1
  2. package/components/ion-alert.js +1 -1
  3. package/components/ion-back-button.js +1 -1
  4. package/components/ion-button.js +1 -1
  5. package/components/ion-card.js +1 -1
  6. package/components/ion-chip.js +1 -1
  7. package/components/ion-content.js +1 -1
  8. package/components/ion-datetime-button.js +1 -1
  9. package/components/ion-datetime.js +1 -1
  10. package/components/ion-fab-button.js +1 -1
  11. package/components/ion-footer.js +1 -1
  12. package/components/ion-gallery-item.d.ts +11 -0
  13. package/components/ion-gallery-item.js +4 -0
  14. package/components/ion-gallery.js +1 -1
  15. package/components/ion-grid.js +1 -1
  16. package/components/ion-header.js +1 -1
  17. package/components/ion-img.js +1 -1
  18. package/components/ion-infinite-scroll-content.js +1 -1
  19. package/components/ion-infinite-scroll.js +1 -1
  20. package/components/ion-input-otp.js +1 -1
  21. package/components/ion-input-password-toggle.js +1 -1
  22. package/components/ion-input.js +1 -1
  23. package/components/ion-item-divider.js +1 -1
  24. package/components/ion-item-group.js +1 -1
  25. package/components/ion-item-option.js +1 -1
  26. package/components/ion-item-options.js +1 -1
  27. package/components/ion-item-sliding.js +1 -1
  28. package/components/ion-item.js +1 -1
  29. package/components/ion-label.js +1 -1
  30. package/components/ion-list-header.js +1 -1
  31. package/components/ion-list.js +1 -1
  32. package/components/ion-loading.js +1 -1
  33. package/components/ion-menu-button.js +1 -1
  34. package/components/ion-menu-toggle.js +1 -1
  35. package/components/ion-menu.js +1 -1
  36. package/components/ion-modal.js +1 -1
  37. package/components/ion-nav-link.js +1 -1
  38. package/components/ion-nav.js +1 -1
  39. package/components/ion-note.js +1 -1
  40. package/components/ion-picker-column-option.js +1 -1
  41. package/components/ion-picker-legacy-column.js +1 -1
  42. package/components/ion-picker-legacy.js +1 -1
  43. package/components/ion-popover.js +1 -1
  44. package/components/ion-progress-bar.js +1 -1
  45. package/components/ion-radio-group.js +1 -1
  46. package/components/ion-radio.js +1 -1
  47. package/components/ion-range.js +1 -1
  48. package/components/ion-refresher-content.js +1 -1
  49. package/components/ion-refresher.js +1 -1
  50. package/components/ion-reorder-group.js +1 -1
  51. package/components/ion-reorder.js +1 -1
  52. package/components/ion-ripple-effect.js +1 -1
  53. package/components/ion-router-link.js +1 -1
  54. package/components/ion-router-outlet.js +1 -1
  55. package/components/ion-row.js +1 -1
  56. package/components/ion-searchbar.js +1 -1
  57. package/components/ion-segment-button.js +1 -1
  58. package/components/ion-segment-content.js +1 -1
  59. package/components/ion-segment-view.js +1 -1
  60. package/components/ion-segment.js +1 -1
  61. package/components/ion-select-modal.js +1 -1
  62. package/components/ion-select-option.js +1 -1
  63. package/components/ion-select-popover.js +1 -1
  64. package/components/ion-select.js +1 -1
  65. package/components/ion-skeleton-text.js +1 -1
  66. package/components/ion-spinner.js +1 -1
  67. package/components/ion-split-pane.js +1 -1
  68. package/components/ion-tab-bar.js +1 -1
  69. package/components/ion-tab-button.js +1 -1
  70. package/components/ion-tab.js +1 -1
  71. package/components/ion-tabs.js +1 -1
  72. package/components/ion-text.js +1 -1
  73. package/components/ion-textarea.js +1 -1
  74. package/components/ion-thumbnail.js +1 -1
  75. package/components/ion-title.js +1 -1
  76. package/components/ion-toast.js +1 -1
  77. package/components/ion-toggle.js +1 -1
  78. package/components/ion-toolbar.js +1 -1
  79. package/components/p-7kL3tltU.js +4 -0
  80. package/components/{p-CPm7KgOP.js → p-BFZBl0TS.js} +1 -1
  81. package/components/{p-pvh0bjpw.js → p-BVi3gqm6.js} +1 -1
  82. package/components/{p-D6g8ud1e.js → p-BVk7LVs0.js} +1 -1
  83. package/components/{p-B9MABkWm.js → p-BdUtZxku.js} +1 -1
  84. package/components/{p-CzC_ZSgb.js → p-Be8tHurp.js} +1 -1
  85. package/components/{p-C8kBejTT.js → p-CG3ZV6ON.js} +1 -1
  86. package/components/{p-CBS0sBAa.js → p-CaqTORfV.js} +1 -1
  87. package/components/{p-D2mReIu8.js → p-CkA0SI9d.js} +1 -1
  88. package/components/{p-DAXhdEp5.js → p-CsakePQg.js} +1 -1
  89. package/components/{p-CgSn4J7d.js → p-D1gEOh9B.js} +1 -1
  90. package/components/{p-IYdTEyGb.js → p-D3qBmaqi.js} +1 -1
  91. package/components/{p-Do7NMUwR.js → p-DGn-jQpr.js} +1 -1
  92. package/components/p-DH4JHV73.js +4 -0
  93. package/components/{p-DCS3n7Uq.js → p-DYK0qX7x.js} +1 -1
  94. package/components/{p-Dp2x0MpA.js → p-DfV7pOtM.js} +1 -1
  95. package/components/{p-BhkGOA7t.js → p-F3N54OKJ.js} +1 -1
  96. package/components/{p-CgZLVOCc.js → p-MPREydZp.js} +1 -1
  97. package/components/{p-kKYBfhbe.js → p-OFfrVDLw.js} +1 -1
  98. package/components/p-iZO3WzZT.js +4 -0
  99. package/components/p-qclL-gNR.js +4 -0
  100. package/dist/cjs/ion-app_8.cjs.entry.js +33 -291
  101. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  102. package/dist/cjs/ion-col_3.cjs.entry.js +4 -4
  103. package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
  104. package/dist/cjs/ion-gallery-item.cjs.entry.js +79 -0
  105. package/dist/cjs/ion-gallery.cjs.entry.js +96 -14
  106. package/dist/cjs/ion-img.cjs.entry.js +2 -2
  107. package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +3 -3
  108. package/dist/cjs/ion-input-otp.cjs.entry.js +3 -3
  109. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +3 -3
  110. package/dist/cjs/ion-input.cjs.entry.js +4 -4
  111. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  112. package/dist/cjs/ion-item_8.cjs.entry.js +12 -12
  113. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  114. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  115. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  116. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  117. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  118. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  119. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  120. package/dist/cjs/ion-radio_2.cjs.entry.js +5 -5
  121. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  122. package/dist/cjs/ion-refresher_2.cjs.entry.js +3 -3
  123. package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
  124. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  125. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  126. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  127. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  128. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  129. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  130. package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
  131. package/dist/cjs/ion-select_3.cjs.entry.js +6 -6
  132. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  133. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  134. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  135. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  136. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  137. package/dist/cjs/ion-textarea.cjs.entry.js +3 -3
  138. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  139. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  140. package/dist/cjs/ionic.cjs.js +1 -1
  141. package/dist/cjs/loader.cjs.js +1 -1
  142. package/dist/collection/collection-manifest.json +1 -0
  143. package/dist/collection/components/content/content.css +0 -56
  144. package/dist/collection/components/footer/footer.ios.css +0 -13
  145. package/dist/collection/components/footer/footer.js +18 -65
  146. package/dist/collection/components/footer/footer.md.css +0 -13
  147. package/dist/collection/components/footer/footer.utils.js +0 -9
  148. package/dist/collection/components/gallery/gallery.css +1 -86
  149. package/dist/collection/components/gallery/gallery.js +85 -16
  150. package/dist/collection/components/gallery/test/utils.js +13 -13
  151. package/dist/collection/components/gallery-item/gallery-item.css +87 -0
  152. package/dist/collection/components/gallery-item/gallery-item.js +95 -0
  153. package/dist/collection/components/grid/grid.js +2 -2
  154. package/dist/collection/components/header/header.ionic.css +0 -75
  155. package/dist/collection/components/header/header.ios.css +0 -75
  156. package/dist/collection/components/header/header.js +11 -41
  157. package/dist/collection/components/header/header.md.css +0 -75
  158. package/dist/collection/components/header/header.utils.js +0 -9
  159. package/dist/collection/components/img/img.js +2 -2
  160. package/dist/collection/components/infinite-scroll/infinite-scroll.js +1 -1
  161. package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +2 -2
  162. package/dist/collection/components/input/input.js +4 -4
  163. package/dist/collection/components/input-otp/input-otp.js +3 -3
  164. package/dist/collection/components/input-password-toggle/input-password-toggle.js +3 -3
  165. package/dist/collection/components/item-divider/item-divider.js +2 -2
  166. package/dist/collection/components/item-group/item-group.js +1 -1
  167. package/dist/collection/components/item-option/item-option.js +2 -2
  168. package/dist/collection/components/item-options/item-options.js +1 -1
  169. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  170. package/dist/collection/components/label/label.js +2 -2
  171. package/dist/collection/components/list/list.js +1 -1
  172. package/dist/collection/components/list-header/list-header.js +2 -2
  173. package/dist/collection/components/loading/loading.js +2 -2
  174. package/dist/collection/components/menu/menu.js +2 -2
  175. package/dist/collection/components/menu-button/menu-button.js +2 -2
  176. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  177. package/dist/collection/components/modal/modal.js +4 -4
  178. package/dist/collection/components/nav/nav.js +1 -1
  179. package/dist/collection/components/nav-link/nav-link.js +1 -1
  180. package/dist/collection/components/note/note.js +2 -2
  181. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  182. package/dist/collection/components/picker-legacy/picker.js +2 -2
  183. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  184. package/dist/collection/components/popover/popover.js +2 -2
  185. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  186. package/dist/collection/components/radio/radio.js +3 -3
  187. package/dist/collection/components/radio-group/radio-group.js +2 -2
  188. package/dist/collection/components/range/range.js +3 -3
  189. package/dist/collection/components/refresher/refresher.js +1 -1
  190. package/dist/collection/components/refresher-content/refresher-content.js +2 -2
  191. package/dist/collection/components/reorder/reorder.js +2 -2
  192. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  193. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  194. package/dist/collection/components/router-link/router-link.js +2 -2
  195. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  196. package/dist/collection/components/row/row.js +2 -2
  197. package/dist/collection/components/searchbar/searchbar.js +4 -4
  198. package/dist/collection/components/segment/segment.js +2 -2
  199. package/dist/collection/components/segment-button/segment-button.js +2 -2
  200. package/dist/collection/components/segment-content/segment-content.js +1 -1
  201. package/dist/collection/components/segment-view/segment-view.js +2 -2
  202. package/dist/collection/components/select/select.js +3 -3
  203. package/dist/collection/components/select-modal/select-modal.js +1 -1
  204. package/dist/collection/components/select-option/select-option.js +1 -1
  205. package/dist/collection/components/select-popover/select-popover.js +2 -2
  206. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  207. package/dist/collection/components/spinner/spinner.js +1 -1
  208. package/dist/collection/components/split-pane/split-pane.js +2 -2
  209. package/dist/collection/components/tab/tab.js +2 -2
  210. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  211. package/dist/collection/components/tab-button/tab-button.js +2 -2
  212. package/dist/collection/components/tabs/tabs.js +1 -1
  213. package/dist/collection/components/text/text.js +2 -2
  214. package/dist/collection/components/textarea/textarea.js +3 -3
  215. package/dist/collection/components/thumbnail/thumbnail.js +2 -2
  216. package/dist/collection/components/title/title.js +2 -2
  217. package/dist/collection/components/toast/toast.js +2 -2
  218. package/dist/collection/components/toggle/toggle.js +3 -3
  219. package/dist/collection/components/toolbar/toolbar.js +2 -2
  220. package/dist/collection/utils/css-value-validation.js +14 -0
  221. package/dist/docs.json +96 -20
  222. package/dist/esm/ion-app_8.entry.js +33 -291
  223. package/dist/esm/ion-avatar_3.entry.js +2 -2
  224. package/dist/esm/ion-col_3.entry.js +4 -4
  225. package/dist/esm/ion-datetime_3.entry.js +4 -4
  226. package/dist/esm/ion-gallery-item.entry.js +77 -0
  227. package/dist/esm/ion-gallery.entry.js +96 -14
  228. package/dist/esm/ion-img.entry.js +2 -2
  229. package/dist/esm/ion-infinite-scroll_2.entry.js +3 -3
  230. package/dist/esm/ion-input-otp.entry.js +3 -3
  231. package/dist/esm/ion-input-password-toggle.entry.js +3 -3
  232. package/dist/esm/ion-input.entry.js +4 -4
  233. package/dist/esm/ion-item-option_3.entry.js +4 -4
  234. package/dist/esm/ion-item_8.entry.js +12 -12
  235. package/dist/esm/ion-loading.entry.js +2 -2
  236. package/dist/esm/ion-menu_3.entry.js +6 -6
  237. package/dist/esm/ion-modal.entry.js +4 -4
  238. package/dist/esm/ion-nav_2.entry.js +2 -2
  239. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  240. package/dist/esm/ion-popover.entry.js +2 -2
  241. package/dist/esm/ion-progress-bar.entry.js +1 -1
  242. package/dist/esm/ion-radio_2.entry.js +5 -5
  243. package/dist/esm/ion-range.entry.js +3 -3
  244. package/dist/esm/ion-refresher_2.entry.js +3 -3
  245. package/dist/esm/ion-reorder_2.entry.js +3 -3
  246. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  247. package/dist/esm/ion-route_4.entry.js +2 -2
  248. package/dist/esm/ion-searchbar.entry.js +4 -4
  249. package/dist/esm/ion-segment-content.entry.js +1 -1
  250. package/dist/esm/ion-segment-view.entry.js +2 -2
  251. package/dist/esm/ion-segment_2.entry.js +4 -4
  252. package/dist/esm/ion-select-modal.entry.js +1 -1
  253. package/dist/esm/ion-select_3.entry.js +6 -6
  254. package/dist/esm/ion-spinner.entry.js +1 -1
  255. package/dist/esm/ion-split-pane.entry.js +2 -2
  256. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  257. package/dist/esm/ion-tab_2.entry.js +3 -3
  258. package/dist/esm/ion-text.entry.js +2 -2
  259. package/dist/esm/ion-textarea.entry.js +3 -3
  260. package/dist/esm/ion-toast.entry.js +2 -2
  261. package/dist/esm/ion-toggle.entry.js +3 -3
  262. package/dist/esm/ionic.js +1 -1
  263. package/dist/esm/loader.js +1 -1
  264. package/dist/html.html-data.json +45 -9
  265. package/dist/ionic/ionic.esm.js +1 -1
  266. package/dist/ionic/{p-f7ca50a5.entry.js → p-0592c549.entry.js} +1 -1
  267. package/dist/ionic/{p-67c2d349.entry.js → p-0aa510cd.entry.js} +1 -1
  268. package/dist/ionic/{p-9ccfb733.entry.js → p-0cd5fd9d.entry.js} +1 -1
  269. package/dist/ionic/{p-bf0c5a8d.entry.js → p-0e9d4e11.entry.js} +1 -1
  270. package/dist/ionic/{p-497f6391.entry.js → p-11a38333.entry.js} +1 -1
  271. package/dist/ionic/{p-0030507d.entry.js → p-1a009a51.entry.js} +1 -1
  272. package/dist/ionic/{p-7186786e.entry.js → p-23e524f8.entry.js} +1 -1
  273. package/dist/ionic/{p-1439fecb.entry.js → p-2826761a.entry.js} +1 -1
  274. package/dist/ionic/{p-93315d96.entry.js → p-2c4170d8.entry.js} +1 -1
  275. package/dist/ionic/p-2d5a2511.entry.js +4 -0
  276. package/dist/ionic/{p-7f294078.entry.js → p-3706ea52.entry.js} +1 -1
  277. package/dist/ionic/{p-b69add0e.entry.js → p-3e376501.entry.js} +1 -1
  278. package/dist/ionic/{p-c684a3b6.entry.js → p-44597202.entry.js} +1 -1
  279. package/dist/ionic/{p-8458f1b6.entry.js → p-4a27a79a.entry.js} +1 -1
  280. package/dist/ionic/{p-b7235e85.entry.js → p-4f07113d.entry.js} +1 -1
  281. package/dist/ionic/{p-88e7f52a.entry.js → p-52b85650.entry.js} +1 -1
  282. package/dist/ionic/{p-199bffb3.entry.js → p-5a6e0ae1.entry.js} +1 -1
  283. package/dist/ionic/p-6906dca7.entry.js +4 -0
  284. package/dist/ionic/{p-19a1ff9a.entry.js → p-7b09c19d.entry.js} +1 -1
  285. package/dist/ionic/{p-76c70824.entry.js → p-7b886782.entry.js} +1 -1
  286. package/dist/ionic/{p-89eab395.entry.js → p-82c05be2.entry.js} +1 -1
  287. package/dist/ionic/{p-b653f4c2.entry.js → p-83c0eb9b.entry.js} +1 -1
  288. package/dist/ionic/{p-b4fd91b8.entry.js → p-85ff1314.entry.js} +1 -1
  289. package/dist/ionic/{p-3f18dfe9.entry.js → p-8eca5ba1.entry.js} +1 -1
  290. package/dist/ionic/{p-f08edb25.entry.js → p-96f52444.entry.js} +1 -1
  291. package/dist/ionic/{p-f167c55c.entry.js → p-a3b047e0.entry.js} +1 -1
  292. package/dist/ionic/{p-40d9e029.entry.js → p-a73caa5e.entry.js} +1 -1
  293. package/dist/ionic/{p-1ad16c09.entry.js → p-b0dfd018.entry.js} +1 -1
  294. package/dist/ionic/{p-a3f9be52.entry.js → p-b6130fe4.entry.js} +1 -1
  295. package/dist/ionic/{p-084c2623.entry.js → p-c5f745b4.entry.js} +1 -1
  296. package/dist/ionic/{p-52ed96a8.entry.js → p-c781241c.entry.js} +1 -1
  297. package/dist/ionic/p-cb154afe.entry.js +4 -0
  298. package/dist/ionic/{p-031df892.entry.js → p-cde69f38.entry.js} +1 -1
  299. package/dist/ionic/p-d6f0a698.entry.js +4 -0
  300. package/dist/ionic/{p-dd2981d0.entry.js → p-d9804d04.entry.js} +1 -1
  301. package/dist/ionic/{p-7054a1b9.entry.js → p-e342b205.entry.js} +1 -1
  302. package/dist/ionic/p-e4071bf8.entry.js +4 -0
  303. package/dist/ionic/{p-9dfbe98d.entry.js → p-e8916b04.entry.js} +1 -1
  304. package/dist/ionic/{p-dac1d4de.entry.js → p-f10f8f95.entry.js} +1 -1
  305. package/dist/ionic/p-fdcbe59a.entry.js +4 -0
  306. package/dist/types/components/footer/footer.d.ts +2 -12
  307. package/dist/types/components/footer/footer.utils.d.ts +0 -1
  308. package/dist/types/components/gallery/gallery.d.ts +33 -8
  309. package/dist/types/components/gallery/test/utils.d.ts +1 -1
  310. package/dist/types/components/gallery-item/gallery-item.d.ts +35 -0
  311. package/dist/types/components/header/header.d.ts +3 -10
  312. package/dist/types/components/header/header.utils.d.ts +0 -1
  313. package/dist/types/components.d.ts +41 -12
  314. package/dist/types/utils/css-value-validation.d.ts +9 -0
  315. package/hydrate/index.js +334 -421
  316. package/hydrate/index.mjs +334 -421
  317. package/package.json +1 -1
  318. package/components/p-BF5oFX1I.js +0 -4
  319. package/components/p-CpFORZud.js +0 -4
  320. package/components/p-GElQZ38c.js +0 -4
  321. package/components/p-d77Zk1DK.js +0 -4
  322. package/components/p-hdGd8ben.js +0 -4
  323. package/dist/collection/utils/on-scroll/collapse-hide.utils.js +0 -168
  324. package/dist/ionic/p-04b5794c.entry.js +0 -4
  325. package/dist/ionic/p-2aa7567e.entry.js +0 -4
  326. package/dist/ionic/p-44d483c2.entry.js +0 -4
  327. package/dist/ionic/p-ad4d0138.entry.js +0 -4
  328. package/dist/ionic/p-ff09d2a5.entry.js +0 -4
  329. package/dist/types/utils/on-scroll/collapse-hide.utils.d.ts +0 -26
@@ -110,11 +110,11 @@ export class SegmentView {
110
110
  }
111
111
  render() {
112
112
  const { disabled, isManualScroll, swipeGesture } = this;
113
- return (h(Host, { key: '48ce45ca6c45d4bbc804390c31a43729a60abb8a', class: {
113
+ return (h(Host, { key: '8d1aa594c5674bca376ee3e9b18b60b0925dd875', class: {
114
114
  'segment-view-disabled': disabled,
115
115
  'segment-view-scroll-disabled': isManualScroll === false,
116
116
  'segment-view-swipe-disabled': swipeGesture === false,
117
- } }, h("slot", { key: 'e248ce5b24b355bd6b51cbfd25741addf4ffd4fb' })));
117
+ } }, h("slot", { key: '6375fa794ae615b74a70968718aadefa0a9fc1d6' })));
118
118
  }
119
119
  static get is() { return "ion-segment-view"; }
120
120
  static get encapsulation() { return "shadow"; }
@@ -1002,7 +1002,7 @@ export class Select {
1002
1002
  * TODO(FW-5592): Remove hasStartEndSlots condition
1003
1003
  */
1004
1004
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
1005
- return (h(Host, { key: '03fa41ce215865ceeaeddec12d9ac66b5ab18e3f', onClick: this.onClick, class: createColorClasses(this.color, {
1005
+ return (h(Host, { key: 'c8fc8ffc5e66fa0deef9556f365d8d95ff652b5d', onClick: this.onClick, class: createColorClasses(this.color, {
1006
1006
  [theme]: true,
1007
1007
  'in-item': inItem,
1008
1008
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -1021,7 +1021,7 @@ export class Select {
1021
1021
  [`select-shape-${shape}`]: shape !== undefined,
1022
1022
  [`select-label-placement-${labelPlacement}`]: true,
1023
1023
  [`select-size-${size}`]: size !== undefined,
1024
- }) }, h("label", { key: '66808fb8c26f7a5db356b22d43751463cbb4bcaa', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: '3e80160009e0e5b47952d666ca621166067adbea', class: "select-wrapper-inner", part: "inner" },
1024
+ }) }, h("label", { key: 'dd1b83a6bfadcce8e8a9559e529c86d86a5c142d', class: "select-wrapper", id: "select-label", onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: 'c7ae6112920eb9260be01ef4a723549a71e6e275', class: "select-wrapper-inner", part: "inner" },
1025
1025
  /**
1026
1026
  * For the ionic theme, we render the outline container here
1027
1027
  * instead of higher up, so it can be positioned relative to
@@ -1031,7 +1031,7 @@ export class Select {
1031
1031
  * <label> element, ensuring that clicking the label text
1032
1032
  * focuses the select.
1033
1033
  */
1034
- theme === 'ionic' && fill === 'outline' && h("div", { key: '8ea2530c4dc535661bf97d16724bdca3b9e23560', class: "select-outline" }), h("slot", { key: '2526c811e6f0f250421f6de9834d96d21df528b7', name: "start" }), h("div", { key: '95d0b2432c9e656166bf35ddd457a74052c91a27', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '0864febe104e3ac77aa10ce397e7c7569855636e', name: "end" }), shouldRenderInnerIcon && this.renderSelectIcon()), shouldRenderOuterIcon && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'c83f3992d7a0ee55ca635b391421626a9131c8eb', class: "select-highlight" })), this.renderBottomContent()));
1034
+ theme === 'ionic' && fill === 'outline' && h("div", { key: 'da07a6cea39e13cc62de7104ef4c06ac8b3c8fe1', class: "select-outline" }), h("slot", { key: '35c4261e4eb3f5d91e8fe61e02cfe3d93a2c6763', name: "start" }), h("div", { key: 'e70c2896f0c7ad908811f5eb19abde9a432d086e', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: 'ddb79446bfc9dc97714c0395570d67ce6a5aa1bf', name: "end" }), shouldRenderInnerIcon && this.renderSelectIcon()), shouldRenderOuterIcon && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: '297abbcf88af9911c6ecbbb27e2f37846f213bdb', class: "select-highlight" })), this.renderBottomContent()));
1035
1035
  }
1036
1036
  static get is() { return "ion-select"; }
1037
1037
  static get encapsulation() { return "shadow"; }
@@ -147,7 +147,7 @@ export class SelectModal {
147
147
  });
148
148
  }
149
149
  render() {
150
- return (h(Host, { key: '43db0bab8915e4e422acbd73d27a880935c13a38', class: Object.assign({ [getIonMode(this)]: true }, this.getModalContextClasses()) }, h("ion-header", { key: '58f462db240eb759d7be9f090ab9fba48abdea0c' }, h("ion-toolbar", { key: 'dbd4722ad8c2fc21a066b89451fdc5c0a3776808' }, this.header !== undefined && h("ion-title", { key: 'cefe16f3dff1a90d10875506a94fe1d737c67b44' }, this.header), h("ion-buttons", { key: '750ba8ac17447906cbe020d654b943a88adf8185', slot: "end" }, h("ion-button", { key: '8c075ec9d7becf25dd1307bf083bec229a0889ae', "aria-label": this.cancelIcon ? this.cancelText : undefined, onClick: () => this.closeModal() }, this.cancelIcon ? (h("ion-icon", { "aria-hidden": "true", slot: "icon-only", icon: this.cancelButtonIcon })) : (this.cancelText))))), h("ion-content", { key: '65dff8eab0158cdff103ade997246cea2b3c4b9e' }, h("ion-list", { key: 'e3556e81c97146ffda80260265294a4f8d6ebdf2' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
150
+ return (h(Host, { key: '6f1c1c0ad2dad8d4c1defc41a37e9cb4219facef', class: Object.assign({ [getIonMode(this)]: true }, this.getModalContextClasses()) }, h("ion-header", { key: 'e917416fdfb8785511abac755f9cd23e24bc2c70' }, h("ion-toolbar", { key: '7ce8116cdd882958f1c6d0abd9f6ddad60d4232b' }, this.header !== undefined && h("ion-title", { key: 'aa2be148b57b756ca1abdc4b29c26861494e9341' }, this.header), h("ion-buttons", { key: '7a9671f9426a5b9eb0fef1d4b446d2db98332f89', slot: "end" }, h("ion-button", { key: 'c5c1511bed6e3361aa740de9bcab4c7445887518', "aria-label": this.cancelIcon ? this.cancelText : undefined, onClick: () => this.closeModal() }, this.cancelIcon ? (h("ion-icon", { "aria-hidden": "true", slot: "icon-only", icon: this.cancelButtonIcon })) : (this.cancelText))))), h("ion-content", { key: 'ddabe1b04a9f65e741935e387c06ee8f749b38e1' }, h("ion-list", { key: 'cb801aecd27444fb7bb9e3bf06e5934dfd1a9606' }, this.multiple === true ? this.renderCheckboxOptions() : this.renderRadioOptions()))));
151
151
  }
152
152
  static get is() { return "ion-select-modal"; }
153
153
  static get encapsulation() { return "scoped"; }
@@ -21,7 +21,7 @@ export class SelectOption {
21
21
  }
22
22
  render() {
23
23
  const theme = getIonTheme(this);
24
- return (h(Host, { key: 'f4d425097bd16997f0ea48c8896dc92408e55bb9', class: {
24
+ return (h(Host, { key: 'd7baa96e166b66c8f14c97e56674db4dfec2152c', class: {
25
25
  [theme]: true,
26
26
  }, role: "option", id: this.inputId }));
27
27
  }
@@ -149,9 +149,9 @@ export class SelectPopover {
149
149
  const { header, message, options, subHeader } = this;
150
150
  const hasSubHeaderOrMessage = subHeader !== undefined || message !== undefined;
151
151
  const theme = getIonTheme(this);
152
- return (h(Host, { key: 'de63245b6690ffb6201a8faac850b7e73eed8022', class: {
152
+ return (h(Host, { key: '47062077a192fb05f662f30c68e9c12323a69e47', class: {
153
153
  [theme]: true,
154
- } }, h("ion-list", { key: 'a96857c064aaf9a645b9e1ee22932116b1c25d62' }, header !== undefined && h("ion-list-header", { key: '86b8c398f12cdd3e7d2a7d4c4af69029e4decdbc' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: '3bcd9c0a544e1e98243163600413d82a304081db' }, h("ion-label", { key: 'd20b933ba82913b623486c982ab094819f850565', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: 'c869868d89d024b5b02e6a3b626ca91e6f312036' }, subHeader), message !== undefined && h("p", { key: 'd8a26d162ba8d3b092abef38ef3c1795787e7f75' }, message)))), this.renderOptions(options))));
154
+ } }, h("ion-list", { key: '50caf4e5f70d1d7b57256f115c589d90d9cea627' }, header !== undefined && h("ion-list-header", { key: '3401a27174b687632836f086f1a367214021358c' }, header), hasSubHeaderOrMessage && (h("ion-item", { key: '7271f08cd8bae5383bb502d9411d60a5458e18f6' }, h("ion-label", { key: 'e22c6c54f725e3fc630eed38a71afd4bb474b357', class: "ion-text-wrap" }, subHeader !== undefined && h("h3", { key: 'c0ca32ef8100d6aaa3aa2279ed1216bdb6a60b89' }, subHeader), message !== undefined && h("p", { key: '8e2e0b248a05f5483e62db8d608310078040767c' }, message)))), this.renderOptions(options))));
155
155
  }
156
156
  static get is() { return "ion-select-popover"; }
157
157
  static get encapsulation() { return "scoped"; }
@@ -32,11 +32,11 @@ export class SkeletonText {
32
32
  const animated = this.animated && config.getBoolean('animated', true);
33
33
  const inMedia = hostContext('ion-avatar', this.el) || hostContext('ion-thumbnail', this.el);
34
34
  const theme = getIonTheme(this);
35
- return (h(Host, { key: 'aa94213767105077047a369d4e4861027af96060', class: {
35
+ return (h(Host, { key: '370451ee8963b776079f5df365f7bbd70a53b270', class: {
36
36
  [theme]: true,
37
37
  'skeleton-text-animated': animated,
38
38
  'in-media': inMedia,
39
- } }, h("span", { key: 'c5dab0fb89d524827936aef5345cc0c7eda9e274' }, "\u00A0")));
39
+ } }, h("span", { key: '2b861b4ec86cbd61927ab7b81b13517c99dc94c7' }, "\u00A0")));
40
40
  }
41
41
  static get is() { return "ion-skeleton-text"; }
42
42
  static get encapsulation() { return "shadow"; }
@@ -56,7 +56,7 @@ export class Spinner {
56
56
  svgs.push(buildLine(spinner, duration, i, spinner.lines));
57
57
  }
58
58
  }
59
- return (h(Host, { key: 'fb9e66e61191ada25b8cb1f82038e8d6eaeaebe0', class: createColorClasses(self.color, {
59
+ return (h(Host, { key: 'b6559d1626b56a1c63580862263a15798f7d3f71', class: createColorClasses(self.color, {
60
60
  [theme]: true,
61
61
  [`spinner-${spinnerName}`]: true,
62
62
  'spinner-paused': self.paused || config.getBoolean('_testing'),
@@ -131,12 +131,12 @@ export class SplitPane {
131
131
  }
132
132
  render() {
133
133
  const theme = getIonTheme(this);
134
- return (h(Host, { key: 'f9f96d71771ced17604357d27ae7b4b7ed29ec9c', class: {
134
+ return (h(Host, { key: 'b933156f8f9d8ce418ff0d39526967f9653d6639', class: {
135
135
  [theme]: true,
136
136
  // Used internally for styling
137
137
  [`split-pane-${theme}`]: true,
138
138
  'split-pane-visible': this.visible,
139
- } }, h("slot", { key: '4c95f5197bde73de689c3e4425c14c55412539c6' })));
139
+ } }, h("slot", { key: '3ec0a11e5506386747dc972ccb094359ca975bae' })));
140
140
  }
141
141
  static get is() { return "ion-split-pane"; }
142
142
  static get encapsulation() { return "shadow"; }
@@ -51,10 +51,10 @@ export class Tab {
51
51
  }
52
52
  render() {
53
53
  const { tab, active, component } = this;
54
- return (h(Host, { key: '5761999a97a78dda973bd39bf44f10d9637fc00c', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
54
+ return (h(Host, { key: '8b978f848d43898feafa7daa3e3d9819be833038', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
55
55
  'ion-page': component === undefined,
56
56
  'tab-hidden': !active,
57
- } }, h("slot", { key: 'd2cc63bbd20ba5f58ef8d6b23eb50ffa7d80478a' })));
57
+ } }, h("slot", { key: '96a92d86cecc8c9ef4f11d310f7f87bb99ce4e50' })));
58
58
  }
59
59
  static get is() { return "ion-tab"; }
60
60
  static get encapsulation() { return "shadow"; }
@@ -179,7 +179,7 @@ export class TabBar {
179
179
  const theme = getIonTheme(this);
180
180
  const shape = this.getShape();
181
181
  const shouldHide = keyboardVisible && this.el.getAttribute('slot') !== 'top';
182
- return (h(Host, { key: 'dd255e7c4d99f239f43c03eaef94c26ae6db4fc6', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses(color, {
182
+ return (h(Host, { key: '16cd11a815d777a7517150b49b57a204c83c3c37', role: "tablist", "aria-hidden": shouldHide ? 'true' : null, class: createColorClasses(color, {
183
183
  [theme]: true,
184
184
  'tab-bar-translucent': translucent,
185
185
  'tab-bar-hidden': shouldHide,
@@ -187,7 +187,7 @@ export class TabBar {
187
187
  'tab-bar-scroll-hidden': scrollHidden,
188
188
  [`tab-bar-${expand}`]: true,
189
189
  [`tab-bar-${shape}`]: shape !== undefined,
190
- }) }, h("slot", { key: 'f112cf52bce37b8a93f9ca6f9632e85889d2791e' })));
190
+ }) }, h("slot", { key: 'dfdff308f24b3addaf18528a8d869b3fc64306d1' })));
191
191
  }
192
192
  static get is() { return "ion-tab-bar"; }
193
193
  static get encapsulation() { return "shadow"; }
@@ -93,7 +93,7 @@ export class TabButton {
93
93
  rel,
94
94
  target,
95
95
  };
96
- return (h(Host, { key: '124248b961d34d24a3cbeeb669c672caa10f6d07', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
96
+ return (h(Host, { key: 'e4d3aaefcdc42677f7818c51ec1ec0a9cbcf8bcf', onClick: this.onClick, onKeyup: this.onKeyUp, id: tab !== undefined ? `tab-button-${tab}` : null, class: {
97
97
  [theme]: true,
98
98
  'tab-selected': selected,
99
99
  'tab-disabled': disabled,
@@ -106,7 +106,7 @@ export class TabButton {
106
106
  'ion-selectable': true,
107
107
  [`tab-button-shape-${shape}`]: shape !== undefined,
108
108
  'ion-focusable': true,
109
- } }, h("a", Object.assign({ key: 'fde7dc112f62c5e1a08017f1e8665bf68658eadf' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), h("span", { key: '0912736f1e69a8da9a49c94bca1c613061bcaad1', class: "button-inner" }, h("slot", { key: '9b919361a07b62304dddc751658fca0540a3747a' })), theme === 'md' && h("ion-ripple-effect", { key: '472967f7b2b8f63d669fae542bb2eb1900955975', type: "unbounded" }))));
109
+ } }, h("a", Object.assign({ key: '1412d080294dd2602696c5657c71553ef35036d3' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), h("span", { key: '5daebf815b9b4f8016ce5b4b9d05148c1957a46c', class: "button-inner" }, h("slot", { key: 'e1cbabb911936d21d5b1a4f87d236b962beacbab' })), theme === 'md' && h("ion-ripple-effect", { key: 'd4544a7fb87b8559aaf9d2f0aa4d440201ebdb71', type: "unbounded" }))));
110
110
  }
111
111
  static get is() { return "ion-tab-button"; }
112
112
  static get encapsulation() { return "shadow"; }
@@ -165,7 +165,7 @@ export class Tabs {
165
165
  return Array.from(this.el.querySelectorAll('ion-tab'));
166
166
  }
167
167
  render() {
168
- return (h(Host, { key: 'd94b2760650125d00a9bd620f367022119aba911', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: 'dfa95a272dce19af4575e4d6488962cf6c521754', name: "top" }), h("div", { key: 'd537e5212745833107c751cc6f79d12f48f5472a', class: "tabs-inner" }, h("slot", { key: '6db89721daa7ffd390586345137f1fdfcefa7910' })), h("slot", { key: '7b24f140b89e8e316f24170b29390e00c31d9a0c', name: "bottom" })));
168
+ return (h(Host, { key: 'b8c5c75469cb1f1829a217a02555a7da8556454a', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: '50b74e3df8ea0e991e096c7438a65fee0ca0f6b5', name: "top" }), h("div", { key: 'ca8d4329381c4b40882bbd31b4f15264cfa2c220', class: "tabs-inner" }, h("slot", { key: '816ffd6d997530e3b100480c9a8e4a51fa51e59c' })), h("slot", { key: '280bdf5ec61789823c7772287d60a26229fe78fa', name: "bottom" })));
169
169
  }
170
170
  static get is() { return "ion-tabs"; }
171
171
  static get encapsulation() { return "shadow"; }
@@ -11,9 +11,9 @@ import { getIonTheme } from "../../global/ionic-global";
11
11
  export class Text {
12
12
  render() {
13
13
  const theme = getIonTheme(this);
14
- return (h(Host, { key: '4a8be0173621ab64b2849bd02b569e479890c5c4', class: createColorClasses(this.color, {
14
+ return (h(Host, { key: '8fc5565ce579f8e2a9eddbaa7c93264291080bce', class: createColorClasses(this.color, {
15
15
  [theme]: true,
16
- }) }, h("slot", { key: 'af7771d2fd855b5de843f32d58cd33a89051fa8b' })));
16
+ }) }, h("slot", { key: '5be1d661ee3a6f1f9d9428b59e830672faf475b1' })));
17
17
  }
18
18
  static get is() { return "ion-text"; }
19
19
  static get encapsulation() { return "shadow"; }
@@ -565,7 +565,7 @@ export class Textarea {
565
565
  * TODO(FW-5592): Remove hasStartEndSlots condition
566
566
  */
567
567
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || hasFocus || hasStartEndSlots));
568
- return (h(Host, { key: 'd4a95fcd3fe11311d779c10777421c36da20b7a6', class: createColorClasses(this.color, {
568
+ return (h(Host, { key: 'a67ef5f3107776dcd8490bdd2af4a373ae422899', class: createColorClasses(this.color, {
569
569
  [theme]: true,
570
570
  'has-value': hasValue,
571
571
  'has-focus': hasFocus,
@@ -577,7 +577,7 @@ export class Textarea {
577
577
  'in-item': inItem,
578
578
  'textarea-disabled': disabled,
579
579
  'textarea-readonly': readonly,
580
- }) }, h("label", { key: '3d21eab560550527de015d36b1c71761792aa516', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: '5fe9ec91ac5560d2ebbb93751dd770fe17e5f839', class: "textarea-wrapper-inner" },
580
+ }) }, h("label", { key: '7a8605454eb66d87a4b49ffd28e609a633eae09c', class: "textarea-wrapper", htmlFor: inputId, onClick: this.onLabelClick, part: "wrapper" }, this.renderLabelContainer(), h("div", { key: '8b24d96089d11f659dbd5adfcbf317ec34742333', class: "textarea-wrapper-inner" },
581
581
  /**
582
582
  * For the ionic theme, we render the outline container here
583
583
  * instead of higher up, so it can be positioned relative to
@@ -587,7 +587,7 @@ export class Textarea {
587
587
  * <label> element, ensuring that clicking the label text
588
588
  * focuses the textarea.
589
589
  */
590
- theme === 'ionic' && fill === 'outline' && h("div", { key: 'aac1db3f8a9a9d541bd0d76f17c7936daca419d7', class: "textarea-outline" }), h("div", { key: '49779a6b346b5bf2e8f98787c9159f41fd767d26', class: "start-slot-wrapper" }, h("slot", { key: '2a86311a2ee002e286d8cb1e27480364cb3eb5b1', name: "start" })), h("div", { key: '922069ecd0aa72e4294d78e02a4f216706af0d99', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el), part: "container" }, h("textarea", Object.assign({ key: 'c1cae5f0695b4d978fbbd6d0af8d3da681d2c671', class: "native-textarea", part: "native", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined }, this.inheritedAttributes), value)), h("div", { key: '6e76190d9644dd880200f28bbfdb6291362ce639', class: "end-slot-wrapper" }, h("slot", { key: 'fe9466237a1d88bf8cd534e83cca148ce6178abe', name: "end" }))), shouldRenderHighlight && h("div", { key: 'e8a158231e0dcacb4df5b94575fe54d7aff5c23f', class: "textarea-highlight" })), this.renderBottomContent()));
590
+ theme === 'ionic' && fill === 'outline' && h("div", { key: '91a7ea7b6f6fccc473b9e058281e5437c00a9b5d', class: "textarea-outline" }), h("div", { key: 'ba641e63d5aaf2ddb291c875f57181d1c93a2b26', class: "start-slot-wrapper" }, h("slot", { key: '351684d41a2b080541a29e0d9e90dd50747b52dc', name: "start" })), h("div", { key: '5c0793742ff6cc327582c3d78d85c28fa8238a40', class: "native-wrapper", ref: (el) => (this.textareaWrapper = el), part: "container" }, h("textarea", Object.assign({ key: '9cf5c908e3fcd54af07c351dcf0bb91c853f1349', class: "native-textarea", part: "native", ref: (el) => (this.nativeInput = el), id: inputId, disabled: disabled, autoCapitalize: this.autocapitalize, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, minLength: this.minlength, maxLength: this.maxlength, name: this.name, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, cols: this.cols, rows: this.rows, wrap: this.wrap, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeyDown, "aria-describedby": this.getHintTextID(), "aria-invalid": this.isInvalid ? 'true' : undefined }, this.inheritedAttributes), value)), h("div", { key: 'e47ffe0bf8e460a7cb205ed35a1107b44687116d', class: "end-slot-wrapper" }, h("slot", { key: '57d035b5f1db373b8488b129c8d3552eb8e630ac', name: "end" }))), shouldRenderHighlight && h("div", { key: '1259ad761b68aea69a1ae8b61a6bbdee6c071b7b', class: "textarea-highlight" })), this.renderBottomContent()));
591
591
  }
592
592
  static get is() { return "ion-textarea"; }
593
593
  static get encapsulation() { return "shadow"; }
@@ -10,9 +10,9 @@ import { getIonTheme } from "../../global/ionic-global";
10
10
  export class Thumbnail {
11
11
  render() {
12
12
  const theme = getIonTheme(this);
13
- return (h(Host, { key: '2fb4e6f9f650badf2bc492fc4b1c43cad64141c0', class: {
13
+ return (h(Host, { key: 'fdf9d92949a1e8cf6faded77ffed084f74fc040b', class: {
14
14
  [theme]: true,
15
- } }, h("slot", { key: 'ea18f4572b2b019af3470c6bdb7915d4a5dd84bb' })));
15
+ } }, h("slot", { key: 'e1b1439c035d9a9503efd1c1a04aed9f4e8e0af7' })));
16
16
  }
17
17
  static get is() { return "ion-thumbnail"; }
18
18
  static get encapsulation() { return "shadow"; }
@@ -27,11 +27,11 @@ export class ToolbarTitle {
27
27
  render() {
28
28
  const theme = getIonTheme(this);
29
29
  const size = this.getSize();
30
- return (h(Host, { key: '87bb5264f4c13d0d6eeef874ed114539d0b59062', class: createColorClasses(this.color, {
30
+ return (h(Host, { key: 'd64e86bed418cba707d4a26c9274f18ed06c0e9e', class: createColorClasses(this.color, {
31
31
  [theme]: true,
32
32
  [`title-${size}`]: true,
33
33
  'title-rtl': document.dir === 'rtl',
34
- }) }, h("div", { key: '75f2ddfaf693ffdec13d909eefdb09b441d76e80', class: "toolbar-title" }, h("slot", { key: '00539af5e250bee78fdd1c55f2ecdc8e53bc18b0' }))));
34
+ }) }, h("div", { key: '386a71e974cde0bfbf5b655d69ed5f718de8ce48', class: "toolbar-title" }, h("slot", { key: '8aa804c9e1b11574a42268805d3117a085e699b4' }))));
35
35
  }
36
36
  static get is() { return "ion-title"; }
37
37
  static get encapsulation() { return "shadow"; }
@@ -439,9 +439,9 @@ export class Toast {
439
439
  if (layout === 'stacked' && startButtons.length > 0 && endButtons.length > 0) {
440
440
  printIonWarning('[ion-toast] - This toast is using start and end buttons with the stacked toast layout. We recommend following the best practice of using either start or end buttons with the stacked toast layout.', el);
441
441
  }
442
- return (h(Host, Object.assign({ key: 'f8a4c4537d421e924a58f9addbb38a4a043b9f53', tabindex: "-1" }, this.htmlAttributes, { style: {
442
+ return (h(Host, Object.assign({ key: 'f0d62f099dd68f8f541110a60695c2a083c6a4d5', tabindex: "-1" }, this.htmlAttributes, { style: {
443
443
  zIndex: `${60000 + this.overlayIndex}`,
444
- }, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true, [theme]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent, [`toast-shape-${shape}`]: shape !== undefined, [`toast-hue-${hue}`]: hue !== undefined })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: '4f0b39c8e0d7aecfe81da23c3ca1591374a8afa5', class: wrapperClass, part: "wrapper" }, h("div", { key: 'a2cf3ea830d27b51ffe1158fb3f3bf87486401b5', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { key: 'bee5f21ee8df2278e20bf0565495da30c2e61963', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("div", { key: '40a95848e952dd587d1972487affd4b8e088209f', class: "toast-content", part: "content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
444
+ }, class: createColorClasses(this.color, Object.assign(Object.assign({ [mode]: true, [theme]: true }, getClassMap(this.cssClass)), { 'overlay-hidden': true, 'toast-translucent': this.translucent, [`toast-shape-${shape}`]: shape !== undefined, [`toast-hue-${hue}`]: hue !== undefined })), onIonToastWillDismiss: this.dispatchCancelHandler }), h("div", { key: '054ba519f93892a000832990097b265887272da4', class: wrapperClass, part: "wrapper" }, h("div", { key: '45fa83c1711ab98e81b8b00e0af3af436eaa5264', class: "toast-container", part: "container" }, this.renderButtons(startButtons, 'start'), this.icon !== undefined && (h("ion-icon", { key: 'eb4143899be5259e3d933461bc4ca593c8b9dd9b', class: "toast-icon", part: "icon", icon: this.icon, lazy: false, "aria-hidden": "true" })), h("div", { key: 'bae8a899abb9bcd4895df45def79bfe3d704e6e4', class: "toast-content", part: "content", role: "status", "aria-atomic": "true", "aria-live": "polite" }, !revealContentToScreenReader && header !== undefined && this.renderHeader('oldHeader', 'true'), !revealContentToScreenReader && message !== undefined && this.renderToastMessage('oldMessage', 'true'), revealContentToScreenReader && header !== undefined && this.renderHeader('header'), revealContentToScreenReader && message !== undefined && this.renderToastMessage('header')), this.renderButtons(endButtons, 'end')))));
445
445
  }
446
446
  static get is() { return "ion-toast"; }
447
447
  static get encapsulation() { return "shadow"; }
@@ -338,7 +338,7 @@ export class Toggle {
338
338
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
339
339
  const isIonicTheme = theme === 'ionic';
340
340
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
341
- return (h(Host, { key: '48744f35038be7be61fea432996440628d4f2ce9', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses(color, {
341
+ return (h(Host, { key: '9e042d48d2416028c4f76fbb38fa2b26ee7512ef', role: "switch", "aria-checked": `${checked}`, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick, "aria-labelledby": hasLabel ? inputLabelId : null, "aria-label": inheritedAttributes['aria-label'] || null, "aria-disabled": disabled ? 'true' : null, "aria-required": required ? 'true' : undefined, tabindex: disabled ? undefined : 0, onKeyDown: this.onKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, class: createColorClasses(color, {
342
342
  [theme]: true,
343
343
  'in-item': hostContext('ion-item', el),
344
344
  'toggle-activated': activated,
@@ -350,10 +350,10 @@ export class Toggle {
350
350
  [`toggle-${rtl}`]: true,
351
351
  'ion-activatable': isIonicTheme,
352
352
  'ion-focusable': isIonicTheme,
353
- }) }, h("label", { key: '43d05b9140a9ccabc3981a28b01bf2cb844050f6', class: "toggle-wrapper", htmlFor: inputId }, h("input", Object.assign({ key: '716f13f4202712d4ce22fe738879a8259102c329', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), h("div", { key: '0466a7f662ec5804ecc2e22971248a86f20141c7', class: {
353
+ }) }, h("label", { key: 'f13b94af8f0b862b8390172107e75ef670fff34f', class: "toggle-wrapper", htmlFor: inputId }, h("input", Object.assign({ key: 'e6c82e4fc9fcc77ed52408a04188d5696521de0c', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, required: required }, inheritedAttributes)), h("div", { key: '5f32f194da4f83792cccaa536a211b558c5eac1c', class: {
354
354
  'label-text-wrapper': true,
355
355
  'label-text-wrapper-hidden': !hasLabel,
356
- }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: '86b8fbbd03ee3179e84cf906ea4e6881137d798a' }), this.renderHintText()), h("div", { key: '6ccf0131e4ff14c3b1f59d218081b8da5f6b1864', class: "native-wrapper" }, this.renderToggleControl()))));
356
+ }, part: "label", id: inputLabelId, onClick: this.onDivLabelClick }, h("slot", { key: 'c86e28aca1011a3d5a453b92ddc8b6d1ab049f0b' }), this.renderHintText()), h("div", { key: '80390009e2a3d1ad699e1b698df725449c8fab53', class: "native-wrapper" }, this.renderToggleControl()))));
357
357
  }
358
358
  static get is() { return "ion-toggle"; }
359
359
  static get encapsulation() { return "shadow"; }
@@ -242,11 +242,11 @@ export class Toolbar {
242
242
  Object.assign(childStyles, style);
243
243
  });
244
244
  const titlePlacement = this.getTitlePlacement();
245
- return (h(Host, { key: '069913e9241b8e9a2dee8e7d088d181b6faeab5e', class: Object.assign(Object.assign({}, createColorClasses(this.color, {
245
+ return (h(Host, { key: 'bcb621674157410d7eaeb006779bdd677346587e', class: Object.assign(Object.assign({}, createColorClasses(this.color, {
246
246
  [theme]: true,
247
247
  'in-toolbar': hostContext('ion-toolbar', this.el),
248
248
  [`toolbar-title-placement-${titlePlacement}`]: true,
249
- })), childStyles) }, h("div", { key: '3255531be492b9afa7b47476a805f923beea09db', class: "toolbar-background", part: "background" }), h("div", { key: '8758189374c0a12f293c30ca7f8f049b732d2cab', class: "toolbar-container", part: "container" }, h("slot", { key: '74c3705f717968893bf94ea95c99cae313ce68f3', name: "start", onSlotchange: () => this.updateSlotClasses }), h("slot", { key: '298c78f93291442f140f8c52983871215f20ea87', name: "secondary", onSlotchange: () => this.updateSlotClasses }), h("div", { key: 'f7376320b704b8ce375fe2223ae30d51bfc05acb', class: "toolbar-content", part: "content" }, h("slot", { key: 'ddaec08b1fbd13384d834ba4c3b4441c4d749faf' })), h("slot", { key: '6d5bce85159859bb548e4d3fb6b22208dcb48987', name: "primary", onSlotchange: () => this.updateSlotClasses }), h("slot", { key: 'd1d21752ed3bcc7bf15c20de1c0a6fd956373450', name: "end", onSlotchange: () => this.updateSlotClasses }))));
249
+ })), childStyles) }, h("div", { key: '0d31a98b2571b9a0ae142fbdfd83e2ebdcd8e069', class: "toolbar-background", part: "background" }), h("div", { key: 'de938534c487c6cb4060dac44b40c2d872130f50', class: "toolbar-container", part: "container" }, h("slot", { key: 'a337150d353e439eae67c31ff86e383ed51f3d8f', name: "start", onSlotchange: () => this.updateSlotClasses }), h("slot", { key: '02effd3ce0cdad5ec5645fa58ccb329321449190', name: "secondary", onSlotchange: () => this.updateSlotClasses }), h("div", { key: '3e22f5feda2aea02117bdea2fe8a4b8905ba82f6', class: "toolbar-content", part: "content" }, h("slot", { key: 'ebf828643ff05a8bf662a54715d21d0859168d31' })), h("slot", { key: 'a6940648dfe25a7aa8792a1bd9267437274f333c', name: "primary", onSlotchange: () => this.updateSlotClasses }), h("slot", { key: 'afb1d61aa0e430fcf483ba482af64762474e06fe', name: "end", onSlotchange: () => this.updateSlotClasses }))));
250
250
  }
251
251
  static get is() { return "ion-toolbar"; }
252
252
  static get encapsulation() { return "shadow"; }
@@ -9,6 +9,9 @@
9
9
  const LENGTH_PERCENTAGE_PATTERN = /^[-+]?(?:\d+\.?\d*|\.\d+)(?:%|[a-z]+)$/i;
10
10
  // Matches simple `calc` / `min` / `max` / `clamp(...)` functions.
11
11
  const MATH_FUNCTION_PATTERN = /^(calc|min|max|clamp)\s*\(.+\)$/i;
12
+ // Matches a `var(--name)` reference with an optional fallback, e.g.
13
+ // `var(--my-gap)` or `var(--my-gap, 16px)`.
14
+ const VAR_FUNCTION_PATTERN = /^var\(\s*--[^\s,)]+\s*(?:,[\s\S]*)?\)$/i;
12
15
  /**
13
16
  * Returns whether `value` matches the [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage)
14
17
  * syntax. Accepts `<length>` (`<number>` + unit identifier) or `<percentage>` (`<number>%`).
@@ -23,3 +26,14 @@ export function isValidLengthPercentage(value) {
23
26
  }
24
27
  return MATH_FUNCTION_PATTERN.test(v) || LENGTH_PERCENTAGE_PATTERN.test(v);
25
28
  }
29
+ /**
30
+ * Returns whether `value` is a single [`var()`](https://developer.mozilla.org/en-US/docs/Web/CSS/var)
31
+ * reference, e.g. `var(--my-token)` or `var(--my-token, 16px)`. The referenced
32
+ * custom property is resolved by the browser, so the resolved value is not
33
+ * validated here.
34
+ *
35
+ * @param value String value to validate.
36
+ */
37
+ export function isCssVariable(value) {
38
+ return VAR_FUNCTION_PATTERN.test(value.trim());
39
+ }
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2026-06-03T13:41:16",
2
+ "timestamp": "2026-06-05T18:16:20",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.43.0",
@@ -14112,26 +14112,22 @@
14112
14112
  "props": [
14113
14113
  {
14114
14114
  "name": "collapse",
14115
- "type": "\"fade\" | \"hide\" | undefined",
14115
+ "type": "\"fade\" | undefined",
14116
14116
  "complexType": {
14117
- "original": "'fade' | 'hide'",
14118
- "resolved": "\"fade\" | \"hide\" | undefined",
14117
+ "original": "'fade'",
14118
+ "resolved": "\"fade\" | undefined",
14119
14119
  "references": {}
14120
14120
  },
14121
14121
  "mutable": false,
14122
14122
  "attr": "collapse",
14123
14123
  "reflectToAttr": false,
14124
- "docs": "Describes the scroll effect that will be applied to the footer.\n\n- `\"fade\"` only applies when the theme is `\"ios\"`.\n- `\"hide\"` applies to all themes (`\"ios\"`, `\"md\"`, and `\"ionic\"`): the footer\n slides down and fades out after cumulative downward scrolling on the page content,\n and returns on any upward scroll (same behavior as `ion-header[collapse=\"hide\"]`).",
14124
+ "docs": "Describes the scroll effect that will be applied to the footer.\nOnly applies when the theme is `\"ios\"`.",
14125
14125
  "docsTags": [],
14126
14126
  "values": [
14127
14127
  {
14128
14128
  "value": "fade",
14129
14129
  "type": "string"
14130
14130
  },
14131
- {
14132
- "value": "hide",
14133
- "type": "string"
14134
- },
14135
14131
  {
14136
14132
  "type": "undefined"
14137
14133
  }
@@ -14244,7 +14240,7 @@
14244
14240
  },
14245
14241
  {
14246
14242
  "name": "slot",
14247
- "text": "- Content is placed in a responsive gallery layout."
14243
+ "text": "- One or more `ion-gallery-item` components, placed in a responsive\ngallery layout."
14248
14244
  }
14249
14245
  ],
14250
14246
  "usage": {},
@@ -14312,7 +14308,7 @@
14312
14308
  "mutable": false,
14313
14309
  "attr": "gap",
14314
14310
  "reflectToAttr": false,
14315
- "docs": "The space between gallery items. Accepts valid CSS [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage)\nvalues like `16px`, `1rem`, `20%`, math functions like `calc(10px + 20%)`,\nor numbers (treated as pixel values). Can also be set as a breakpoint map\n(e.g. `{ xs: '8px', sm: '1rem', md: '24px' }`). Does not accept\nspace-separated values or CSS keyword values like `inherit`, `auto`, etc.",
14311
+ "docs": "The space between gallery items. Accepts valid CSS [length-percentage](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Values/length-percentage)\nvalues like `16px`, `1rem`, `20%`, math functions like `calc(10px + 20%)`,\nCSS variables like `var(--app-gallery-gap)`, or numbers (treated as pixel\nvalues). Can also be set as a breakpoint map\n(e.g. `{ xs: '8px', sm: '1rem', md: '24px' }`). Does not accept\nspace-separated values or CSS keyword values like `inherit`, `auto`, etc.",
14316
14312
  "docsTags": [
14317
14313
  {
14318
14314
  "name": "default",
@@ -14464,7 +14460,91 @@
14464
14460
  "slots": [
14465
14461
  {
14466
14462
  "name": "",
14467
- "docs": "Content is placed in a responsive gallery layout."
14463
+ "docs": "One or more `ion-gallery-item` components, placed in a responsive\ngallery layout."
14464
+ }
14465
+ ],
14466
+ "parts": [],
14467
+ "states": [],
14468
+ "dependents": [],
14469
+ "dependencies": [],
14470
+ "dependencyGraph": {}
14471
+ },
14472
+ {
14473
+ "filePath": "src/components/gallery-item/gallery-item.tsx",
14474
+ "encapsulation": "shadow",
14475
+ "tag": "ion-gallery-item",
14476
+ "docs": "",
14477
+ "docsTags": [
14478
+ {
14479
+ "name": "virtualProp",
14480
+ "text": "{\"ios\" | \"md\"} mode - The mode determines the platform behaviors of the component."
14481
+ },
14482
+ {
14483
+ "name": "virtualProp",
14484
+ "text": "{\"ios\" | \"md\" | \"ionic\"} theme - The theme determines the visual appearance of the component."
14485
+ },
14486
+ {
14487
+ "name": "slot",
14488
+ "text": "- The content placed inside of the gallery item. This is typically an\n`img`, but can be any element (e.g. a `figure` wrapping an image and caption)."
14489
+ }
14490
+ ],
14491
+ "usage": {},
14492
+ "props": [
14493
+ {
14494
+ "name": "mode",
14495
+ "type": "\"ios\" | \"md\"",
14496
+ "mutable": false,
14497
+ "attr": "mode",
14498
+ "reflectToAttr": false,
14499
+ "docs": "The mode determines the platform behaviors of the component.",
14500
+ "docsTags": [],
14501
+ "values": [
14502
+ {
14503
+ "value": "ios",
14504
+ "type": "string"
14505
+ },
14506
+ {
14507
+ "value": "md",
14508
+ "type": "string"
14509
+ }
14510
+ ],
14511
+ "optional": true,
14512
+ "required": false
14513
+ },
14514
+ {
14515
+ "name": "theme",
14516
+ "type": "\"ios\" | \"md\" | \"ionic\"",
14517
+ "mutable": false,
14518
+ "attr": "theme",
14519
+ "reflectToAttr": false,
14520
+ "docs": "The theme determines the visual appearance of the component.",
14521
+ "docsTags": [],
14522
+ "values": [
14523
+ {
14524
+ "value": "ios",
14525
+ "type": "string"
14526
+ },
14527
+ {
14528
+ "value": "md",
14529
+ "type": "string"
14530
+ },
14531
+ {
14532
+ "value": "ionic",
14533
+ "type": "string"
14534
+ }
14535
+ ],
14536
+ "optional": true,
14537
+ "required": false
14538
+ }
14539
+ ],
14540
+ "methods": [],
14541
+ "events": [],
14542
+ "listeners": [],
14543
+ "styles": [],
14544
+ "slots": [
14545
+ {
14546
+ "name": "",
14547
+ "docs": "The content placed inside of the gallery item. This is typically an\n`img`, but can be any element (e.g. a `figure` wrapping an image and caption)."
14468
14548
  }
14469
14549
  ],
14470
14550
  "parts": [],
@@ -14657,16 +14737,16 @@
14657
14737
  "props": [
14658
14738
  {
14659
14739
  "name": "collapse",
14660
- "type": "\"condense\" | \"fade\" | \"hide\" | undefined",
14740
+ "type": "\"condense\" | \"fade\" | undefined",
14661
14741
  "complexType": {
14662
- "original": "'condense' | 'fade' | 'hide'",
14663
- "resolved": "\"condense\" | \"fade\" | \"hide\" | undefined",
14742
+ "original": "'condense' | 'fade'",
14743
+ "resolved": "\"condense\" | \"fade\" | undefined",
14664
14744
  "references": {}
14665
14745
  },
14666
14746
  "mutable": false,
14667
14747
  "attr": "collapse",
14668
14748
  "reflectToAttr": false,
14669
- "docs": "Describes the scroll effect that will be applied to the header.\n\n- `\"condense\"` and `\"fade\"` only apply when the theme is `\"ios\"`.\n Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles).\n- `\"hide\"` applies to all themes (`\"ios\"`, `\"md\"`, and `\"ionic\"`): the header\n slides up and fades out after cumulative downward scrolling on the page content,\n and returns on any upward scroll.",
14749
+ "docs": "Describes the scroll effect that will be applied to the header.\nOnly applies when the theme is `\"ios\"`.\n\nTypically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)",
14670
14750
  "docsTags": [],
14671
14751
  "values": [
14672
14752
  {
@@ -14677,10 +14757,6 @@
14677
14757
  "value": "fade",
14678
14758
  "type": "string"
14679
14759
  },
14680
- {
14681
- "value": "hide",
14682
- "type": "string"
14683
- },
14684
14760
  {
14685
14761
  "type": "undefined"
14686
14762
  }