@venite/components 0.16.2 → 0.16.6

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 (253) hide show
  1. package/dist/cjs/ion-button_13.cjs.entry.js +1787 -0
  2. package/dist/cjs/ion-checkbox_3.cjs.entry.js +235 -0
  3. package/dist/cjs/ion-segment_16.cjs.entry.js +5 -4
  4. package/dist/cjs/ldf-day-name_5.cjs.entry.js +1 -2
  5. package/dist/cjs/ldf-editable-add-block-menu.cjs.entry.js +2 -2
  6. package/dist/cjs/ldf-editable-filter-documents.cjs.entry.js +1 -1
  7. package/dist/cjs/ldf-editable-lookup_2.cjs.entry.js +3 -3
  8. package/dist/cjs/ldf-editable-metadata.cjs.entry.js +3 -3
  9. package/dist/cjs/ldf.cjs.js +1 -1
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/cjs/{option-a9f12c93.js → option-1ebd4514.js} +6 -2
  12. package/dist/cjs/{rubric-85fc7418.js → rubric-662d8baa.js} +44 -5
  13. package/dist/cjs/{specific-class-acf1bb37.js → specific-class-d80d272a.js} +2 -2
  14. package/dist/collection/components/liturgical-document/dist/liturgical-document.js +6 -1
  15. package/dist/collection/components/liturgical-document/liturgical-document.js +21 -1
  16. package/dist/collection/components/option/dist/option.js +318 -0
  17. package/dist/collection/components/prayers-and-thanksgivings/dist/prayers-and-thanksgivings.js +258 -0
  18. package/dist/collection/components/prayers-and-thanksgivings/prayers-and-thanksgivings.js +55 -36
  19. package/dist/collection/components/psalm/dist/psalm.js +0 -1
  20. package/dist/collection/components/psalm/psalm.js +0 -1
  21. package/dist/collection/components/string/dist/string.js +0 -1
  22. package/dist/collection/components/string/string.js +0 -1
  23. package/dist/collection/components/text/dist/text.js +1 -1
  24. package/dist/collection/components/text/text.js +1 -1
  25. package/dist/esm/{app-globals-2b41bd8d.js → app-globals-729b03cf.js} +1 -1
  26. package/dist/esm/{index-1885f1b8.js → index-734a6b69.js} +1 -1
  27. package/dist/esm/{index-8b9e221a.js → index-9579282b.js} +3 -3
  28. package/dist/esm/{index-dcd553ac.js → index-f0f6a379.js} +1 -1
  29. package/dist/esm/ion-action-sheet.entry.js +3 -3
  30. package/dist/esm/ion-alert.entry.js +3 -3
  31. package/dist/esm/ion-app.entry.js +3 -3
  32. package/dist/esm/ion-avatar.entry.js +2 -2
  33. package/dist/esm/ion-back-button.entry.js +2 -2
  34. package/dist/esm/ion-backdrop.entry.js +2 -2
  35. package/dist/esm/ion-badge.entry.js +2 -2
  36. package/dist/esm/ion-button_13.entry.js +1771 -0
  37. package/dist/esm/ion-card-content_6.entry.js +3 -3
  38. package/dist/esm/ion-card-subtitle.entry.js +2 -2
  39. package/dist/esm/ion-card_2.entry.js +2 -2
  40. package/dist/esm/ion-checkbox_3.entry.js +229 -0
  41. package/dist/esm/ion-chip.entry.js +2 -2
  42. package/dist/esm/ion-datetime_2.entry.js +3 -3
  43. package/dist/esm/ion-fab-button.entry.js +2 -2
  44. package/dist/esm/ion-fab-list.entry.js +2 -2
  45. package/dist/esm/ion-fab.entry.js +2 -2
  46. package/dist/esm/ion-footer.entry.js +2 -2
  47. package/dist/esm/ion-img.entry.js +2 -2
  48. package/dist/esm/ion-infinite-scroll-content.entry.js +2 -2
  49. package/dist/esm/ion-infinite-scroll.entry.js +2 -2
  50. package/dist/esm/ion-input_2.entry.js +2 -2
  51. package/dist/esm/ion-item-divider.entry.js +2 -2
  52. package/dist/esm/ion-item-group.entry.js +2 -2
  53. package/dist/esm/ion-item-option.entry.js +2 -2
  54. package/dist/esm/ion-item-options.entry.js +2 -2
  55. package/dist/esm/ion-item-sliding.entry.js +2 -2
  56. package/dist/esm/ion-list-header.entry.js +2 -2
  57. package/dist/esm/ion-loading.entry.js +3 -3
  58. package/dist/esm/ion-menu-button.entry.js +4 -4
  59. package/dist/esm/ion-menu-toggle.entry.js +4 -4
  60. package/dist/esm/ion-menu.entry.js +3 -3
  61. package/dist/esm/ion-modal.entry.js +4 -4
  62. package/dist/esm/ion-nav-link.entry.js +1 -1
  63. package/dist/esm/ion-nav.entry.js +3 -3
  64. package/dist/esm/ion-note.entry.js +2 -2
  65. package/dist/esm/ion-picker-column.entry.js +2 -2
  66. package/dist/esm/ion-picker.entry.js +3 -3
  67. package/dist/esm/ion-popover.entry.js +4 -4
  68. package/dist/esm/ion-progress-bar.entry.js +2 -2
  69. package/dist/esm/ion-radio_2.entry.js +2 -2
  70. package/dist/esm/ion-range.entry.js +2 -2
  71. package/dist/esm/ion-refresher-content.entry.js +2 -2
  72. package/dist/esm/ion-refresher.entry.js +2 -2
  73. package/dist/esm/ion-reorder-group.entry.js +2 -2
  74. package/dist/esm/ion-reorder.entry.js +2 -2
  75. package/dist/esm/ion-route-redirect.entry.js +1 -1
  76. package/dist/esm/ion-route.entry.js +1 -1
  77. package/dist/esm/ion-router-link.entry.js +2 -2
  78. package/dist/esm/ion-router-outlet.entry.js +3 -3
  79. package/dist/esm/ion-router.entry.js +1 -1
  80. package/dist/esm/ion-segment_16.entry.js +8 -7
  81. package/dist/esm/ion-select-popover.entry.js +3 -3
  82. package/dist/esm/ion-select_2.entry.js +3 -3
  83. package/dist/esm/ion-slide.entry.js +2 -2
  84. package/dist/esm/ion-slides.entry.js +2 -2
  85. package/dist/esm/ion-spinner.entry.js +2 -2
  86. package/dist/esm/ion-split-pane.entry.js +2 -2
  87. package/dist/esm/ion-tab-bar.entry.js +2 -2
  88. package/dist/esm/ion-tab-button.entry.js +2 -2
  89. package/dist/esm/ion-tab.entry.js +1 -1
  90. package/dist/esm/ion-tabs.entry.js +1 -1
  91. package/dist/esm/ion-text.entry.js +2 -2
  92. package/dist/esm/ion-textarea.entry.js +2 -2
  93. package/dist/esm/ion-thumbnail.entry.js +2 -2
  94. package/dist/esm/ion-toast.entry.js +3 -3
  95. package/dist/esm/ion-virtual-scroll.entry.js +1 -1
  96. package/dist/esm/{ionic-global-fef4299f.js → ionic-global-ef89a0a5.js} +1 -1
  97. package/dist/esm/{ios.transition-2460f61e.js → ios.transition-b1be0863.js} +2 -2
  98. package/dist/esm/ldf-day-name_5.entry.js +4 -5
  99. package/dist/esm/ldf-editable-add-block-menu.entry.js +3 -3
  100. package/dist/esm/ldf-editable-condition-piece.entry.js +1 -1
  101. package/dist/esm/ldf-editable-condition.entry.js +1 -1
  102. package/dist/esm/ldf-editable-filter-documents.entry.js +2 -2
  103. package/dist/esm/ldf-editable-lookup_2.entry.js +4 -4
  104. package/dist/esm/ldf-editable-metadata.entry.js +4 -4
  105. package/dist/esm/ldf-editable-preference-option.entry.js +1 -1
  106. package/dist/esm/ldf-editable-preference.entry.js +1 -1
  107. package/dist/esm/ldf-editable-preferences.entry.js +3 -3
  108. package/dist/esm/ldf-editable-string-list.entry.js +1 -1
  109. package/dist/esm/ldf-editor-cursors.entry.js +1 -1
  110. package/dist/esm/ldf-editor.entry.js +1 -1
  111. package/dist/esm/ldf.js +4 -4
  112. package/dist/esm/loader.js +4 -4
  113. package/dist/esm/{md.transition-7eb37dd1.js → md.transition-1763f475.js} +2 -2
  114. package/dist/esm/{menu-toggle-util-d6bed342.js → menu-toggle-util-29e61ff3.js} +1 -1
  115. package/dist/esm/{option-042c9673.js → option-47d50244.js} +6 -2
  116. package/dist/esm/{overlays-e1d5aa58.js → overlays-06b43b65.js} +2 -2
  117. package/dist/esm/{rubric-9c750946.js → rubric-2330a030.js} +44 -5
  118. package/dist/esm/{specific-class-2df4b72a.js → specific-class-28e26e40.js} +2 -2
  119. package/dist/esm/{status-tap-900b721a.js → status-tap-7458bd71.js} +1 -1
  120. package/dist/ldf/ldf.esm.js +1 -1
  121. package/dist/ldf/{p-a7a10747.entry.js → p-018e57db.entry.js} +1 -1
  122. package/dist/ldf/p-02ef484e.entry.js +1 -0
  123. package/dist/ldf/{p-5bfa9969.entry.js → p-04715bf0.entry.js} +1 -1
  124. package/dist/ldf/{p-8cb241a8.entry.js → p-0651768a.entry.js} +1 -1
  125. package/dist/ldf/{p-a80bce6a.entry.js → p-07d6d3ad.entry.js} +1 -1
  126. package/dist/ldf/p-08584ccc.entry.js +1 -0
  127. package/dist/ldf/{p-d3a17399.entry.js → p-0873a34a.entry.js} +1 -1
  128. package/dist/ldf/{p-5febfbde.entry.js → p-0f69db87.entry.js} +1 -1
  129. package/dist/ldf/{p-6b6b9f77.entry.js → p-1504379f.entry.js} +1 -1
  130. package/dist/ldf/{p-110c6e85.entry.js → p-1a8e2899.entry.js} +1 -1
  131. package/dist/ldf/p-21e2f0a3.entry.js +1 -0
  132. package/dist/ldf/{p-6c3d4341.entry.js → p-25a736f1.entry.js} +1 -1
  133. package/dist/ldf/{p-43d7a734.entry.js → p-2c36a583.entry.js} +1 -1
  134. package/dist/ldf/{p-4c8f895f.entry.js → p-2fa1c501.entry.js} +1 -1
  135. package/dist/ldf/{p-a0b9b689.entry.js → p-302dc0d5.entry.js} +1 -1
  136. package/dist/ldf/{p-54f83929.entry.js → p-327b14ac.entry.js} +1 -1
  137. package/dist/ldf/{p-4d5b52ad.entry.js → p-32f7ba8e.entry.js} +1 -1
  138. package/dist/ldf/{p-8a064810.entry.js → p-3545fcdc.entry.js} +1 -1
  139. package/dist/ldf/{p-8c8bf861.entry.js → p-374118d7.entry.js} +1 -1
  140. package/dist/ldf/p-37f356a4.entry.js +1 -0
  141. package/dist/ldf/{p-7f7de09a.entry.js → p-380f8655.entry.js} +1 -1
  142. package/dist/ldf/{p-7df0687c.entry.js → p-3c9930ff.entry.js} +1 -1
  143. package/dist/ldf/{p-dbdb2b0a.entry.js → p-3f39c2ad.entry.js} +1 -1
  144. package/dist/ldf/{p-35680ca6.entry.js → p-430c418a.entry.js} +1 -1
  145. package/dist/ldf/{p-986921d2.js → p-48e44122.js} +1 -1
  146. package/dist/ldf/{p-4b154310.entry.js → p-4a4380fa.entry.js} +1 -1
  147. package/dist/ldf/p-4b80de48.js +1 -0
  148. package/dist/ldf/{p-06bc76d9.entry.js → p-4d392128.entry.js} +1 -1
  149. package/dist/ldf/p-4e0b3c0f.entry.js +1 -0
  150. package/dist/ldf/{p-b631cadf.entry.js → p-52656429.entry.js} +1 -1
  151. package/dist/ldf/p-53c807a4.js +1 -0
  152. package/dist/ldf/{p-91969280.js → p-55d797c1.js} +1 -1
  153. package/dist/ldf/{p-71ed0c0f.entry.js → p-59340423.entry.js} +1 -1
  154. package/dist/ldf/{p-0c8f1542.entry.js → p-5be7ff17.entry.js} +1 -1
  155. package/dist/ldf/p-5bf20b51.js +1 -0
  156. package/dist/ldf/{p-ae3cd06a.entry.js → p-63b5daf6.entry.js} +1 -1
  157. package/dist/ldf/{p-0afd3d32.entry.js → p-66a7385e.entry.js} +1 -1
  158. package/dist/ldf/p-698a3399.entry.js +1 -0
  159. package/dist/ldf/{p-4d92e32b.entry.js → p-69f85ad3.entry.js} +1 -1
  160. package/dist/ldf/{p-0cb749f6.entry.js → p-6fe24d85.entry.js} +1 -1
  161. package/dist/ldf/{p-ceb4c199.entry.js → p-70e47f8b.entry.js} +1 -1
  162. package/dist/ldf/{p-e778bf3c.entry.js → p-73a16936.entry.js} +1 -1
  163. package/dist/ldf/{p-bacac874.entry.js → p-79a526a1.entry.js} +1 -1
  164. package/dist/ldf/{p-20f5f7c0.entry.js → p-7abeb82c.entry.js} +1 -1
  165. package/dist/ldf/{p-79997a72.entry.js → p-7df11f48.entry.js} +1 -1
  166. package/dist/ldf/{p-91cef52f.entry.js → p-7efa633b.entry.js} +1 -1
  167. package/dist/ldf/{p-8ed588f7.entry.js → p-84f38db6.entry.js} +1 -1
  168. package/dist/ldf/{p-5a74ad40.entry.js → p-8767a74e.entry.js} +1 -1
  169. package/dist/ldf/{p-7fba586d.entry.js → p-8932ec85.entry.js} +1 -1
  170. package/dist/ldf/{p-74e1596c.entry.js → p-8c2727db.entry.js} +1 -1
  171. package/dist/ldf/{p-913c92ca.entry.js → p-972e4f2a.entry.js} +1 -1
  172. package/dist/ldf/{p-0ce10dcd.js → p-978e2c6d.js} +1 -1
  173. package/dist/ldf/p-9bd5d1d4.entry.js +1 -0
  174. package/dist/ldf/{p-5fa1dcfb.entry.js → p-9c397c49.entry.js} +1 -1
  175. package/dist/ldf/p-9e2c172e.entry.js +1 -0
  176. package/dist/ldf/{p-6b0fab5d.js → p-9e82b403.js} +2 -2
  177. package/dist/ldf/{p-2b9556d3.entry.js → p-a98c89d1.entry.js} +1 -1
  178. package/dist/ldf/{p-c3dbb344.entry.js → p-ac7a17ce.entry.js} +1 -1
  179. package/dist/ldf/{p-3b236b73.js → p-acbbd1ec.js} +1 -1
  180. package/dist/ldf/p-b1242016.js +1 -0
  181. package/dist/ldf/{p-50d56c76.entry.js → p-b7388aec.entry.js} +1 -1
  182. package/dist/ldf/{p-37ead536.entry.js → p-b78336d7.entry.js} +1 -1
  183. package/dist/ldf/{p-9282f514.entry.js → p-ba021918.entry.js} +1 -1
  184. package/dist/ldf/{p-65c80b87.entry.js → p-c1bcd0a9.entry.js} +1 -1
  185. package/dist/ldf/{p-4c825920.entry.js → p-c1df632d.entry.js} +1 -1
  186. package/dist/ldf/{p-a467efd9.entry.js → p-c3042920.entry.js} +1 -1
  187. package/dist/ldf/{p-860e2e8c.entry.js → p-c3807857.entry.js} +1 -1
  188. package/dist/ldf/{p-faf3cb15.entry.js → p-c3841978.entry.js} +1 -1
  189. package/dist/ldf/{p-b7fe7b29.entry.js → p-c41e055c.entry.js} +1 -1
  190. package/dist/ldf/{p-5cefe450.entry.js → p-c6163f81.entry.js} +1 -1
  191. package/dist/ldf/{p-944c44a7.entry.js → p-c6b42618.entry.js} +1 -1
  192. package/dist/ldf/{p-1d8e06c7.entry.js → p-c74d3fd0.entry.js} +1 -1
  193. package/dist/ldf/{p-741e1b4e.entry.js → p-c82dd468.entry.js} +1 -1
  194. package/dist/ldf/{p-342e45c0.entry.js → p-ca698b8f.entry.js} +1 -1
  195. package/dist/ldf/p-ca7e0de9.entry.js +1 -0
  196. package/dist/ldf/{p-059fcd05.entry.js → p-cbfbb80c.entry.js} +1 -1
  197. package/dist/ldf/{p-a8264864.entry.js → p-d195c957.entry.js} +1 -1
  198. package/dist/ldf/{p-664b2872.js → p-d282d4f9.js} +1 -1
  199. package/dist/ldf/{p-bc59e89e.entry.js → p-d7966e9b.entry.js} +1 -1
  200. package/dist/ldf/{p-f562ae50.js → p-d7f8c770.js} +1 -1
  201. package/dist/ldf/{p-396025ba.entry.js → p-d7fa99cc.entry.js} +1 -1
  202. package/dist/ldf/{p-ae136041.entry.js → p-db435131.entry.js} +1 -1
  203. package/dist/ldf/{p-ae287f67.entry.js → p-dc445c36.entry.js} +1 -1
  204. package/dist/ldf/{p-385a3ecf.entry.js → p-dd99e42a.entry.js} +1 -1
  205. package/dist/ldf/{p-b8a8f9c8.js → p-de5bb5ad.js} +1 -1
  206. package/dist/ldf/{p-7e388cb7.entry.js → p-e0e12ae3.entry.js} +1 -1
  207. package/dist/ldf/{p-128ac9e9.entry.js → p-e215fd02.entry.js} +1 -1
  208. package/dist/ldf/{p-4b7027b1.entry.js → p-e4be11ad.entry.js} +1 -1
  209. package/dist/ldf/{p-8d6f1d6b.entry.js → p-ea66c343.entry.js} +1 -1
  210. package/dist/ldf/{p-ac9a93aa.entry.js → p-ec5eecdc.entry.js} +1 -1
  211. package/dist/ldf/{p-64c46765.js → p-f2ce126e.js} +1 -1
  212. package/dist/ldf/{p-186eed18.entry.js → p-fe59a676.entry.js} +1 -1
  213. package/dist/ldf/p-ff51dbd0.entry.js +1 -0
  214. package/dist/types/components/liturgical-document/liturgical-document.d.ts +2 -0
  215. package/dist/types/components/prayers-and-thanksgivings/prayers-and-thanksgivings.d.ts +1 -1
  216. package/dist/types/components.d.ts +8 -0
  217. package/package.json +2 -2
  218. package/dist/cjs/ion-button_3.cjs.entry.js +0 -413
  219. package/dist/cjs/ion-buttons_6.cjs.entry.js +0 -584
  220. package/dist/cjs/ion-content.cjs.entry.js +0 -303
  221. package/dist/cjs/ion-item_2.cjs.entry.js +0 -168
  222. package/dist/cjs/ion-ripple-effect.cjs.entry.js +0 -93
  223. package/dist/cjs/ion-searchbar.cjs.entry.js +0 -330
  224. package/dist/cjs/ion-title.cjs.entry.js +0 -48
  225. package/dist/cjs/ldf-prayers-and-thanksgivings.cjs.entry.js +0 -108
  226. package/dist/esm/ion-button_3.entry.js +0 -407
  227. package/dist/esm/ion-buttons_6.entry.js +0 -575
  228. package/dist/esm/ion-content.entry.js +0 -299
  229. package/dist/esm/ion-item_2.entry.js +0 -163
  230. package/dist/esm/ion-ripple-effect.entry.js +0 -89
  231. package/dist/esm/ion-searchbar.entry.js +0 -326
  232. package/dist/esm/ion-title.entry.js +0 -44
  233. package/dist/esm/ldf-prayers-and-thanksgivings.entry.js +0 -104
  234. package/dist/ldf/p-01655d40.js +0 -1
  235. package/dist/ldf/p-07e48862.entry.js +0 -1
  236. package/dist/ldf/p-2471a9c7.entry.js +0 -1
  237. package/dist/ldf/p-356f9ee6.entry.js +0 -1
  238. package/dist/ldf/p-68f963c7.entry.js +0 -1
  239. package/dist/ldf/p-72718314.entry.js +0 -1
  240. package/dist/ldf/p-78ed7ef0.entry.js +0 -1
  241. package/dist/ldf/p-7aecb410.js +0 -1
  242. package/dist/ldf/p-7ccf2257.entry.js +0 -1
  243. package/dist/ldf/p-867f7c02.js +0 -1
  244. package/dist/ldf/p-8e1286c3.entry.js +0 -1
  245. package/dist/ldf/p-92461769.entry.js +0 -1
  246. package/dist/ldf/p-9382bbe1.entry.js +0 -1
  247. package/dist/ldf/p-96967103.entry.js +0 -1
  248. package/dist/ldf/p-accacaed.entry.js +0 -1
  249. package/dist/ldf/p-bcb82c8e.js +0 -1
  250. package/dist/ldf/p-c7c0acf1.entry.js +0 -1
  251. package/dist/ldf/p-cee7604d.entry.js +0 -1
  252. package/dist/ldf/p-e3ce57d7.entry.js +0 -1
  253. package/dist/ldf/p-ecb2e631.entry.js +0 -1
@@ -1,299 +0,0 @@
1
- import { r as registerInstance, c as createEvent, a as readTask, f as forceUpdate, h, H as Host, d as getElement } from './index-dcd553ac.js';
2
- import { g as getIonMode, i as isPlatform, c as config } from './ionic-global-fef4299f.js';
3
- import { c as createColorClasses, h as hostContext } from './theme-74c22054.js';
4
-
5
- const contentCss = ":host{--background:var(--ion-background-color, #fff);--color:var(--ion-text-color, #000);--padding-top:0px;--padding-bottom:0px;--padding-start:0px;--padding-end:0px;--keyboard-offset:0px;--offset-top:0px;--offset-bottom:0px;--overflow:auto;display:block;position:relative;flex:1;width:100%;height:100%;margin:0 !important;padding:0 !important;font-family:var(--ion-font-family, inherit);contain:size style}:host(.ion-color) .inner-scroll{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.outer-content){--background:var(--ion-color-step-50, #f2f2f2)}#background-content{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);position:absolute;background:var(--background)}.inner-scroll{left:0px;right:0px;top:calc(var(--offset-top) * -1);bottom:calc(var(--offset-bottom) * -1);padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:calc(var(--padding-top) + var(--offset-top));padding-bottom:calc(var(--padding-bottom) + var(--keyboard-offset) + var(--offset-bottom));position:absolute;color:var(--color);box-sizing:border-box;overflow:hidden}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.inner-scroll{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.scroll-y,.scroll-x{-webkit-overflow-scrolling:touch;will-change:scroll-position}.scroll-y{touch-action:pan-y;overflow-y:var(--overflow);overscroll-behavior-y:contain}.scroll-x{touch-action:pan-x;overflow-x:var(--overflow);overscroll-behavior-x:contain}.scroll-x.scroll-y{touch-action:auto}.overscroll::before,.overscroll::after{position:absolute;width:1px;height:1px;content:\"\"}.overscroll::before{bottom:-1px}.overscroll::after{top:-1px}:host(.content-sizing){contain:none}:host(.content-sizing) .inner-scroll{position:relative}.transition-effect{display:none;position:absolute;left:-100%;width:100%;height:100%;opacity:0;pointer-events:none}.transition-cover{position:absolute;right:0;width:100%;height:100%;background:black;opacity:0.1}.transition-shadow{display:block;position:absolute;right:0;width:10px;height:100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAgCAYAAAAIXrg4AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTE3MDgzRkQ5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTE3MDgzRkU5QTkyMTFFOUEwNzQ5MkJFREE1NUY2MjQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxMTcwODNGQjlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxMTcwODNGQzlBOTIxMUU5QTA3NDkyQkVEQTU1RjYyNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PmePEuQAAABNSURBVHjaYvz//z8DIxAwMDAwATGMhmFmPDQuOSZks0AMmoJBaQHjkPfB0Lfg/2gQjVow+HPy/yHvg9GiYjQfjMbBqAWjFgy/4hogwADYqwdzxy5BuwAAAABJRU5ErkJggg==);background-repeat:repeat-y;background-size:10px 16px}::slotted([slot=fixed]){position:absolute}";
6
-
7
- const Content = class {
8
- constructor(hostRef) {
9
- registerInstance(this, hostRef);
10
- this.ionScrollStart = createEvent(this, "ionScrollStart", 7);
11
- this.ionScroll = createEvent(this, "ionScroll", 7);
12
- this.ionScrollEnd = createEvent(this, "ionScrollEnd", 7);
13
- this.isScrolling = false;
14
- this.lastScroll = 0;
15
- this.queued = false;
16
- this.cTop = -1;
17
- this.cBottom = -1;
18
- // Detail is used in a hot loop in the scroll event, by allocating it here
19
- // V8 will be able to inline any read/write to it since it's a monomorphic class.
20
- // https://mrale.ph/blog/2015/01/11/whats-up-with-monomorphism.html
21
- this.detail = {
22
- scrollTop: 0,
23
- scrollLeft: 0,
24
- type: 'scroll',
25
- event: undefined,
26
- startX: 0,
27
- startY: 0,
28
- startTime: 0,
29
- currentX: 0,
30
- currentY: 0,
31
- velocityX: 0,
32
- velocityY: 0,
33
- deltaX: 0,
34
- deltaY: 0,
35
- currentTime: 0,
36
- data: undefined,
37
- isScrolling: true,
38
- };
39
- /**
40
- * If `true`, the content will scroll behind the headers
41
- * and footers. This effect can easily be seen by setting the toolbar
42
- * to transparent.
43
- */
44
- this.fullscreen = false;
45
- /**
46
- * If you want to enable the content scrolling in the X axis, set this property to `true`.
47
- */
48
- this.scrollX = false;
49
- /**
50
- * If you want to disable the content scrolling in the Y axis, set this property to `false`.
51
- */
52
- this.scrollY = true;
53
- /**
54
- * Because of performance reasons, ionScroll events are disabled by default, in order to enable them
55
- * and start listening from (ionScroll), set this property to `true`.
56
- */
57
- this.scrollEvents = false;
58
- }
59
- disconnectedCallback() {
60
- this.onScrollEnd();
61
- }
62
- onAppLoad() {
63
- this.resize();
64
- }
65
- onClick(ev) {
66
- if (this.isScrolling) {
67
- ev.preventDefault();
68
- ev.stopPropagation();
69
- }
70
- }
71
- shouldForceOverscroll() {
72
- const { forceOverscroll } = this;
73
- const mode = getIonMode(this);
74
- return forceOverscroll === undefined
75
- ? mode === 'ios' && isPlatform('ios')
76
- : forceOverscroll;
77
- }
78
- resize() {
79
- if (this.fullscreen) {
80
- readTask(() => this.readDimensions());
81
- }
82
- else if (this.cTop !== 0 || this.cBottom !== 0) {
83
- this.cTop = this.cBottom = 0;
84
- forceUpdate(this);
85
- }
86
- }
87
- readDimensions() {
88
- const page = getPageElement(this.el);
89
- const top = Math.max(this.el.offsetTop, 0);
90
- const bottom = Math.max(page.offsetHeight - top - this.el.offsetHeight, 0);
91
- const dirty = top !== this.cTop || bottom !== this.cBottom;
92
- if (dirty) {
93
- this.cTop = top;
94
- this.cBottom = bottom;
95
- forceUpdate(this);
96
- }
97
- }
98
- onScroll(ev) {
99
- const timeStamp = Date.now();
100
- const shouldStart = !this.isScrolling;
101
- this.lastScroll = timeStamp;
102
- if (shouldStart) {
103
- this.onScrollStart();
104
- }
105
- if (!this.queued && this.scrollEvents) {
106
- this.queued = true;
107
- readTask(ts => {
108
- this.queued = false;
109
- this.detail.event = ev;
110
- updateScrollDetail(this.detail, this.scrollEl, ts, shouldStart);
111
- this.ionScroll.emit(this.detail);
112
- });
113
- }
114
- }
115
- /**
116
- * Get the element where the actual scrolling takes place.
117
- * This element can be used to subscribe to `scroll` events or manually modify
118
- * `scrollTop`. However, it's recommended to use the API provided by `ion-content`:
119
- *
120
- * i.e. Using `ionScroll`, `ionScrollStart`, `ionScrollEnd` for scrolling events
121
- * and `scrollToPoint()` to scroll the content into a certain point.
122
- */
123
- getScrollElement() {
124
- return Promise.resolve(this.scrollEl);
125
- }
126
- /**
127
- * Scroll to the top of the component.
128
- *
129
- * @param duration The amount of time to take scrolling to the top. Defaults to `0`.
130
- */
131
- scrollToTop(duration = 0) {
132
- return this.scrollToPoint(undefined, 0, duration);
133
- }
134
- /**
135
- * Scroll to the bottom of the component.
136
- *
137
- * @param duration The amount of time to take scrolling to the bottom. Defaults to `0`.
138
- */
139
- scrollToBottom(duration = 0) {
140
- const y = this.scrollEl.scrollHeight - this.scrollEl.clientHeight;
141
- return this.scrollToPoint(undefined, y, duration);
142
- }
143
- /**
144
- * Scroll by a specified X/Y distance in the component.
145
- *
146
- * @param x The amount to scroll by on the horizontal axis.
147
- * @param y The amount to scroll by on the vertical axis.
148
- * @param duration The amount of time to take scrolling by that amount.
149
- */
150
- scrollByPoint(x, y, duration) {
151
- return this.scrollToPoint(x + this.scrollEl.scrollLeft, y + this.scrollEl.scrollTop, duration);
152
- }
153
- /**
154
- * Scroll to a specified X/Y location in the component.
155
- *
156
- * @param x The point to scroll to on the horizontal axis.
157
- * @param y The point to scroll to on the vertical axis.
158
- * @param duration The amount of time to take scrolling to that point. Defaults to `0`.
159
- */
160
- async scrollToPoint(x, y, duration = 0) {
161
- const el = this.scrollEl;
162
- if (duration < 32) {
163
- if (y != null) {
164
- el.scrollTop = y;
165
- }
166
- if (x != null) {
167
- el.scrollLeft = x;
168
- }
169
- return;
170
- }
171
- let resolve;
172
- let startTime = 0;
173
- const promise = new Promise(r => resolve = r);
174
- const fromY = el.scrollTop;
175
- const fromX = el.scrollLeft;
176
- const deltaY = y != null ? y - fromY : 0;
177
- const deltaX = x != null ? x - fromX : 0;
178
- // scroll loop
179
- const step = (timeStamp) => {
180
- const linearTime = Math.min(1, ((timeStamp - startTime) / duration)) - 1;
181
- const easedT = Math.pow(linearTime, 3) + 1;
182
- if (deltaY !== 0) {
183
- el.scrollTop = Math.floor((easedT * deltaY) + fromY);
184
- }
185
- if (deltaX !== 0) {
186
- el.scrollLeft = Math.floor((easedT * deltaX) + fromX);
187
- }
188
- if (easedT < 1) {
189
- // do not use DomController here
190
- // must use nativeRaf in order to fire in the next frame
191
- // TODO: remove as any
192
- requestAnimationFrame(step);
193
- }
194
- else {
195
- resolve();
196
- }
197
- };
198
- // chill out for a frame first
199
- requestAnimationFrame(ts => {
200
- startTime = ts;
201
- step(ts);
202
- });
203
- return promise;
204
- }
205
- onScrollStart() {
206
- this.isScrolling = true;
207
- this.ionScrollStart.emit({
208
- isScrolling: true
209
- });
210
- if (this.watchDog) {
211
- clearInterval(this.watchDog);
212
- }
213
- // watchdog
214
- this.watchDog = setInterval(() => {
215
- if (this.lastScroll < Date.now() - 120) {
216
- this.onScrollEnd();
217
- }
218
- }, 100);
219
- }
220
- onScrollEnd() {
221
- clearInterval(this.watchDog);
222
- this.watchDog = null;
223
- if (this.isScrolling) {
224
- this.isScrolling = false;
225
- this.ionScrollEnd.emit({
226
- isScrolling: false
227
- });
228
- }
229
- }
230
- render() {
231
- const { scrollX, scrollY } = this;
232
- const mode = getIonMode(this);
233
- const forceOverscroll = this.shouldForceOverscroll();
234
- const transitionShadow = (mode === 'ios' && config.getBoolean('experimentalTransitionShadow', true));
235
- this.resize();
236
- return (h(Host, { class: Object.assign(Object.assign({}, createColorClasses(this.color)), { [mode]: true, 'content-sizing': hostContext('ion-popover', this.el), 'overscroll': forceOverscroll }), style: {
237
- '--offset-top': `${this.cTop}px`,
238
- '--offset-bottom': `${this.cBottom}px`,
239
- } }, h("div", { id: "background-content", part: "background" }), h("main", { class: {
240
- 'inner-scroll': true,
241
- 'scroll-x': scrollX,
242
- 'scroll-y': scrollY,
243
- 'overscroll': (scrollX || scrollY) && forceOverscroll
244
- }, ref: el => this.scrollEl = el, onScroll: (this.scrollEvents) ? ev => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", null)), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, h("slot", { name: "fixed" })));
245
- }
246
- get el() { return getElement(this); }
247
- };
248
- const getParentElement = (el) => {
249
- if (el.parentElement) {
250
- // normal element with a parent element
251
- return el.parentElement;
252
- }
253
- if (el.parentNode && el.parentNode.host) {
254
- // shadow dom's document fragment
255
- return el.parentNode.host;
256
- }
257
- return null;
258
- };
259
- const getPageElement = (el) => {
260
- const tabs = el.closest('ion-tabs');
261
- if (tabs) {
262
- return tabs;
263
- }
264
- const page = el.closest('ion-app,ion-page,.ion-page,page-inner');
265
- if (page) {
266
- return page;
267
- }
268
- return getParentElement(el);
269
- };
270
- // ******** DOM READ ****************
271
- const updateScrollDetail = (detail, el, timestamp, shouldStart) => {
272
- const prevX = detail.currentX;
273
- const prevY = detail.currentY;
274
- const prevT = detail.currentTime;
275
- const currentX = el.scrollLeft;
276
- const currentY = el.scrollTop;
277
- const timeDelta = timestamp - prevT;
278
- if (shouldStart) {
279
- // remember the start positions
280
- detail.startTime = timestamp;
281
- detail.startX = currentX;
282
- detail.startY = currentY;
283
- detail.velocityX = detail.velocityY = 0;
284
- }
285
- detail.currentTime = timestamp;
286
- detail.currentX = detail.scrollLeft = currentX;
287
- detail.currentY = detail.scrollTop = currentY;
288
- detail.deltaX = currentX - detail.startX;
289
- detail.deltaY = currentY - detail.startY;
290
- if (timeDelta > 0 && timeDelta < 100) {
291
- const velocityX = (currentX - prevX) / timeDelta;
292
- const velocityY = (currentY - prevY) / timeDelta;
293
- detail.velocityX = velocityX * 0.7 + detail.velocityX * 0.3;
294
- detail.velocityY = velocityY * 0.7 + detail.velocityY * 0.3;
295
- }
296
- };
297
- Content.style = contentCss;
298
-
299
- export { Content as ion_content };
@@ -1,163 +0,0 @@
1
- import { r as registerInstance, f as forceUpdate, h, H as Host, d as getElement } from './index-dcd553ac.js';
2
- import { g as getIonMode } from './ionic-global-fef4299f.js';
3
- import { o as openURL, c as createColorClasses, h as hostContext } from './theme-74c22054.js';
4
-
5
- const itemIosCss = ":host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--show-full-highlight:0;--show-inset-highlight:0;--detail-icon-color:initial;--detail-icon-font-size:20px;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;box-sizing:border-box;overflow:hidden}:host(.ion-color) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color) .item-native,:host(.ion-color) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:flex;position:relative;align-items:center;justify-content:space-between;width:100%;min-height:var(--min-height);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;box-sizing:border-box;z-index:1}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.item-native{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0;transition:var(--transition);z-index:-1}button,a{cursor:pointer;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:flex;position:relative;flex:1;flex-direction:inherit;align-items:inherit;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);box-shadow:var(--inner-box-shadow);overflow:inherit;box-sizing:border-box}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.item-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-detail-icon{color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label){flex:1}:host([vertical-align-top]),:host(.item-input){align-items:flex-start}.input-wrapper{display:flex;flex:1;flex-direction:inherit;align-items:inherit;align-self:stretch;text-overflow:ellipsis;overflow:hidden;box-sizing:border-box}:host(.item-label-stacked) .item-native,:host(.item-label-floating) .item-native{align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{flex:1;flex-direction:column}.item-highlight,.item-inner-highlight{left:0;right:0;bottom:0;position:absolute;background:var(--highlight-background);z-index:1}.item-highlight{height:var(--full-highlight-height)}.item-inner-highlight{height:var(--inset-highlight-height)}:host(.item-interactive.item-has-focus),:host(.item-interactive.ion-touched.ion-invalid){--full-highlight-height:calc(var(--highlight-height) * var(--show-full-highlight));--inset-highlight-height:calc(var(--highlight-height) * var(--show-inset-highlight))}:host(.item-interactive.item-has-focus){--highlight-background:var(--highlight-color-focused)}:host(.item-interactive.ion-valid){--highlight-background:var(--highlight-color-valid)}:host(.item-interactive.ion-invalid){--highlight-background:var(--highlight-color-invalid)}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-start:0;align-self:stretch;width:100%;max-width:100%}:host(.item-label-stacked) ::slotted(ion-datetime),:host(.item-label-floating) ::slotted(ion-datetime){--padding-start:0;width:100%}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio),:host(.item-multiple-inputs) ::slotted(ion-select){position:relative}:host(.item-textarea){align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host{--min-height:44px;--transition:background-color 200ms linear, opacity 200ms linear;--padding-start:20px;--inner-padding-end:10px;--inner-border-width:0px 0px 0.55px 0px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:#000;--background-focused:#000;--background-hover:currentColor;--background-activated-opacity:.12;--background-focused-opacity:.15;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--color:var(--ion-item-color, var(--ion-text-color, #000));--highlight-height:0;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);font-size:17px}:host(.ion-activated){--transition:none}:host(.ion-color.ion-focused) .item-native::after{background:#000;opacity:0.15}:host(.ion-color.ion-activated) .item-native::after{background:#000;opacity:0.12}:host(.item-interactive){--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-full){--border-width:0px 0px 0.55px 0px;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-inset){--inner-border-width:0px 0px 0.55px 0px;--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0px;--show-full-highlight:0}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0px;--show-inset-highlight:0}::slotted([slot=start]){margin-left:0;margin-right:20px;margin-top:2px;margin-bottom:2px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:20px;margin-inline-end:20px}}::slotted([slot=end]){margin-left:10px;margin-right:10px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}::slotted(ion-icon[slot=start]),::slotted(ion-icon[slot=end]){margin-top:7px;margin-bottom:7px}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}::slotted(.button-small){--padding-top:0px;--padding-bottom:0px;--padding-start:.5em;--padding-end:.5em;height:24px;font-size:13px}::slotted(ion-avatar){width:36px;height:36px}::slotted(ion-thumbnail){width:56px;height:56px}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:10px;margin-right:10px;margin-top:10px;margin-bottom:10px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}:host(.item-radio) ::slotted(ion-label),:host(.item-toggle) ::slotted(ion-label){margin-left:0px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.item-radio) ::slotted(ion-label),:host(.item-toggle) ::slotted(ion-label){margin-left:unset;-webkit-margin-start:0px;margin-inline-start:0px}}::slotted(ion-label){margin-left:0;margin-right:8px;margin-top:10px;margin-bottom:10px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-label){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}:host(.item-label-floating),:host(.item-label-stacked){--min-height:68px}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0px}";
6
-
7
- const itemMdCss = ":host{--border-radius:0px;--border-width:0px;--border-style:solid;--padding-top:0px;--padding-bottom:0px;--padding-end:0px;--padding-start:0px;--inner-border-width:0px;--inner-padding-top:0px;--inner-padding-bottom:0px;--inner-padding-start:0px;--inner-padding-end:0px;--inner-box-shadow:none;--show-full-highlight:0;--show-inset-highlight:0;--detail-icon-color:initial;--detail-icon-font-size:20px;--detail-icon-opacity:0.25;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;box-sizing:border-box;overflow:hidden}:host(.ion-color) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color) .item-native,:host(.ion-color) .item-inner{border-color:var(--ion-color-shade)}:host(.ion-activated) .item-native{color:var(--color-activated)}:host(.ion-activated) .item-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-color.ion-activated) .item-native{color:var(--ion-color-contrast)}:host(.ion-focused) .item-native{color:var(--color-focused)}:host(.ion-focused) .item-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}:host(.ion-color.ion-focused) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-focused) .item-native::after{background:var(--ion-color-contrast)}@media (any-hover: hover){:host(.ion-activatable:hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:hover) .item-native::after{background:var(--ion-color-contrast)}}:host(.item-interactive-disabled:not(.item-multiple-inputs)){cursor:default;pointer-events:none}:host(.item-disabled){cursor:default;opacity:0.3;pointer-events:none}.item-native{border-radius:var(--border-radius);margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:flex;position:relative;align-items:center;justify-content:space-between;width:100%;min-height:var(--min-height);transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);overflow:inherit;box-sizing:border-box;z-index:1}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.item-native{padding-left:unset;padding-right:unset;-webkit-padding-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));padding-inline-start:calc(var(--padding-start) + var(--ion-safe-area-left, 0px));-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.item-native::-moz-focus-inner{border:0}.item-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0;transition:var(--transition);z-index:-1}button,a{cursor:pointer;user-select:none;-webkit-user-drag:none}.item-inner{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--inner-padding-start);padding-right:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-top:var(--inner-padding-top);padding-bottom:var(--inner-padding-bottom);display:flex;position:relative;flex:1;flex-direction:inherit;align-items:inherit;align-self:stretch;min-height:inherit;border-width:var(--inner-border-width);border-style:var(--border-style);border-color:var(--border-color);box-shadow:var(--inner-box-shadow);overflow:inherit;box-sizing:border-box}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.item-inner{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--inner-padding-start);padding-inline-start:var(--inner-padding-start);-webkit-padding-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end));padding-inline-end:calc(var(--ion-safe-area-right, 0px) + var(--inner-padding-end))}}.item-detail-icon{color:var(--detail-icon-color);font-size:var(--detail-icon-font-size);opacity:var(--detail-icon-opacity)}::slotted(ion-icon){font-size:1.6em}::slotted(ion-button){--margin-top:0;--margin-bottom:0;--margin-start:0;--margin-end:0;z-index:1}::slotted(ion-label){flex:1}:host([vertical-align-top]),:host(.item-input){align-items:flex-start}.input-wrapper{display:flex;flex:1;flex-direction:inherit;align-items:inherit;align-self:stretch;text-overflow:ellipsis;overflow:hidden;box-sizing:border-box}:host(.item-label-stacked) .item-native,:host(.item-label-floating) .item-native{align-items:start}:host(.item-label-stacked) .input-wrapper,:host(.item-label-floating) .input-wrapper{flex:1;flex-direction:column}.item-highlight,.item-inner-highlight{left:0;right:0;bottom:0;position:absolute;background:var(--highlight-background);z-index:1}.item-highlight{height:var(--full-highlight-height)}.item-inner-highlight{height:var(--inset-highlight-height)}:host(.item-interactive.item-has-focus),:host(.item-interactive.ion-touched.ion-invalid){--full-highlight-height:calc(var(--highlight-height) * var(--show-full-highlight));--inset-highlight-height:calc(var(--highlight-height) * var(--show-inset-highlight))}:host(.item-interactive.item-has-focus){--highlight-background:var(--highlight-color-focused)}:host(.item-interactive.ion-valid){--highlight-background:var(--highlight-color-valid)}:host(.item-interactive.ion-invalid){--highlight-background:var(--highlight-color-invalid)}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-start:0;align-self:stretch;width:100%;max-width:100%}:host(.item-label-stacked) ::slotted(ion-datetime),:host(.item-label-floating) ::slotted(ion-datetime){--padding-start:0;width:100%}:host(.item-multiple-inputs) ::slotted(ion-checkbox),:host(.item-multiple-inputs) ::slotted(ion-datetime),:host(.item-multiple-inputs) ::slotted(ion-radio),:host(.item-multiple-inputs) ::slotted(ion-select){position:relative}:host(.item-textarea){align-items:stretch}::slotted(ion-reorder[slot]){margin-top:0;margin-bottom:0}ion-ripple-effect{color:var(--ripple-color)}:host{--min-height:48px;--background:var(--ion-item-background, var(--ion-background-color, #fff));--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--color:var(--ion-item-color, var(--ion-text-color, #000));--transition:opacity 15ms linear, background-color 15ms linear;--padding-start:16px;--color:var(--ion-item-color, var(--ion-text-color, #000));--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--inner-padding-end:16px;--inner-border-width:0 0 1px 0;--highlight-height:2px;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);font-size:16px;font-weight:normal;text-transform:none}:host(.ion-color.ion-activated) .item-native::after{background:transparent}:host(.item-interactive){--border-width:0 0 1px 0;--inner-border-width:0;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-full){--border-width:0 0 1px 0;--show-full-highlight:1;--show-inset-highlight:0}:host(.item-lines-inset){--inner-border-width:0 0 1px 0;--show-full-highlight:0;--show-inset-highlight:1}:host(.item-lines-inset),:host(.item-lines-none){--border-width:0;--show-full-highlight:0}:host(.item-lines-full),:host(.item-lines-none){--inner-border-width:0;--show-inset-highlight:0}:host(.item-multi-line) ::slotted([slot=start]),:host(.item-multi-line) ::slotted([slot=end]){margin-top:16px;margin-bottom:16px;align-self:flex-start}::slotted([slot=start]){margin-right:32px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted([slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted([slot=end]){margin-left:32px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted([slot=end]){margin-left:unset;-webkit-margin-start:32px;margin-inline-start:32px}}::slotted(ion-icon){color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);font-size:24px}:host(.ion-color) ::slotted(ion-icon){color:var(--ion-color-contrast)}::slotted(ion-icon[slot]){margin-top:12px;margin-bottom:12px}::slotted(ion-icon[slot=start]){margin-right:32px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-right:unset;-webkit-margin-end:32px;margin-inline-end:32px}}::slotted(ion-icon[slot=end]){margin-left:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(ion-toggle[slot=start]),::slotted(ion-toggle[slot=end]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}::slotted(ion-note){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;align-self:flex-start;font-size:11px}::slotted(ion-note[slot]){padding-left:0;padding-right:0;padding-top:18px;padding-bottom:10px}::slotted(ion-note[slot=start]){padding-right:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-note[slot=start]){padding-right:unset;-webkit-padding-end:16px;padding-inline-end:16px}}::slotted(ion-note[slot=end]){padding-left:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-note[slot=end]){padding-left:unset;-webkit-padding-start:16px;padding-inline-start:16px}}::slotted(ion-avatar){width:40px;height:40px}::slotted(ion-thumbnail){width:56px;height:56px}::slotted(ion-avatar),::slotted(ion-thumbnail){margin-top:8px;margin-bottom:8px}::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=start]),::slotted(ion-thumbnail[slot=start]){margin-right:unset;-webkit-margin-end:16px;margin-inline-end:16px}}::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:16px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-avatar[slot=end]),::slotted(ion-thumbnail[slot=end]){margin-left:unset;-webkit-margin-start:16px;margin-inline-start:16px}}::slotted(ion-label){margin-left:0;margin-right:0;margin-top:11px;margin-bottom:10px}:host(.item-label-stacked) ::slotted([slot=end]),:host(.item-label-floating) ::slotted([slot=end]){margin-top:7px;margin-bottom:7px}:host(.item-toggle) ::slotted(ion-label),:host(.item-radio) ::slotted(ion-label){margin-left:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.item-toggle) ::slotted(ion-label),:host(.item-radio) ::slotted(ion-label){margin-left:unset;-webkit-margin-start:0;margin-inline-start:0}}::slotted(.button-small){--padding-top:0;--padding-bottom:0;--padding-start:.6em;--padding-end:.6em;height:25px;font-size:12px}:host(.item-label-floating),:host(.item-label-stacked){--min-height:55px}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0}:host(.item-has-focus:not(.ion-color)) ::slotted(.label-stacked),:host(.item-has-focus:not(.ion-color)) ::slotted(.label-floating){color:var(--ion-color-primary, #3880ff)}";
8
-
9
- const Item = class {
10
- constructor(hostRef) {
11
- registerInstance(this, hostRef);
12
- this.itemStyles = new Map();
13
- this.multipleInputs = false;
14
- /**
15
- * If `true`, a button tag will be rendered and the item will be tappable.
16
- */
17
- this.button = false;
18
- /**
19
- * The icon to use when `detail` is set to `true`.
20
- */
21
- this.detailIcon = 'chevron-forward';
22
- /**
23
- * If `true`, the user cannot interact with the item.
24
- */
25
- this.disabled = false;
26
- /**
27
- * When using a router, it specifies the transition direction when navigating to
28
- * another page using `href`.
29
- */
30
- this.routerDirection = 'forward';
31
- /**
32
- * The type of the button. Only used when an `onclick` or `button` property is present.
33
- */
34
- this.type = 'button';
35
- }
36
- itemStyle(ev) {
37
- ev.stopPropagation();
38
- const tagName = ev.target.tagName;
39
- const updatedStyles = ev.detail;
40
- const newStyles = {};
41
- const childStyles = this.itemStyles.get(tagName) || {};
42
- let hasStyleChange = false;
43
- Object.keys(updatedStyles).forEach(key => {
44
- if (updatedStyles[key]) {
45
- const itemKey = `item-${key}`;
46
- if (!childStyles[itemKey]) {
47
- hasStyleChange = true;
48
- }
49
- newStyles[itemKey] = true;
50
- }
51
- });
52
- if (!hasStyleChange && Object.keys(newStyles).length !== Object.keys(childStyles).length) {
53
- hasStyleChange = true;
54
- }
55
- if (hasStyleChange) {
56
- this.itemStyles.set(tagName, newStyles);
57
- forceUpdate(this);
58
- }
59
- }
60
- componentDidLoad() {
61
- // The following elements have a clickable cover that is relative to the entire item
62
- const covers = this.el.querySelectorAll('ion-checkbox, ion-datetime, ion-select, ion-radio');
63
- // The following elements can accept focus alongside the previous elements
64
- // therefore if these elements are also a child of item, we don't want the
65
- // input cover on top of those interfering with their clicks
66
- const inputs = this.el.querySelectorAll('ion-input, ion-range, ion-searchbar, ion-segment, ion-textarea, ion-toggle');
67
- // The following elements should also stay clickable when an input with cover is present
68
- const clickables = this.el.querySelectorAll('ion-anchor, ion-button, a, button');
69
- // Check for multiple inputs to change the position of the input cover to relative
70
- // for all of the covered inputs above
71
- this.multipleInputs = covers.length + inputs.length > 1
72
- || covers.length + clickables.length > 1
73
- || covers.length > 0 && this.isClickable();
74
- }
75
- // If the item contains an input including a checkbox, datetime, select, or radio
76
- // then the item will have a clickable input cover that covers the item
77
- // that should get the hover, focused and activated states UNLESS it has multiple
78
- // inputs, then those need to individually get each click
79
- hasCover() {
80
- const inputs = this.el.querySelectorAll('ion-checkbox, ion-datetime, ion-select, ion-radio');
81
- return inputs.length === 1 && !this.multipleInputs;
82
- }
83
- // If the item has an href or button property it will render a native
84
- // anchor or button that is clickable
85
- isClickable() {
86
- return (this.href !== undefined || this.button);
87
- }
88
- canActivate() {
89
- return (this.isClickable() || this.hasCover());
90
- }
91
- render() {
92
- const { detail, detailIcon, download, lines, disabled, href, rel, target, routerDirection } = this;
93
- const childStyles = {};
94
- const mode = getIonMode(this);
95
- const clickable = this.isClickable();
96
- const canActivate = this.canActivate();
97
- const TagType = clickable ? (href === undefined ? 'button' : 'a') : 'div';
98
- const attrs = (TagType === 'button')
99
- ? { type: this.type }
100
- : {
101
- download,
102
- href,
103
- rel,
104
- target
105
- };
106
- const showDetail = detail !== undefined ? detail : mode === 'ios' && clickable;
107
- this.itemStyles.forEach(value => {
108
- Object.assign(childStyles, value);
109
- });
110
- return (h(Host, { "aria-disabled": disabled ? 'true' : null, class: Object.assign(Object.assign(Object.assign({}, childStyles), createColorClasses(this.color)), { 'item': true, [mode]: true, [`item-lines-${lines}`]: lines !== undefined, 'item-disabled': disabled, 'in-list': hostContext('ion-list', this.el), 'item-multiple-inputs': this.multipleInputs, 'ion-activatable': canActivate, 'ion-focusable': true }) }, h(TagType, Object.assign({}, attrs, { class: "item-native", disabled: disabled, onClick: (ev) => openURL(href, ev, routerDirection) }), h("slot", { name: "start" }), h("div", { class: "item-inner" }, h("div", { class: "input-wrapper" }, h("slot", null)), h("slot", { name: "end" }), showDetail && h("ion-icon", { icon: detailIcon, lazy: false, class: "item-detail-icon", part: "detail-icon" }), h("div", { class: "item-inner-highlight" })), canActivate && mode === 'md' && h("ion-ripple-effect", null)), h("div", { class: "item-highlight" })));
111
- }
112
- get el() { return getElement(this); }
113
- };
114
- Item.style = {
115
- ios: itemIosCss,
116
- md: itemMdCss
117
- };
118
-
119
- const listIosCss = "ion-list{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;contain:content;list-style-type:none}ion-list.list-inset{transform:translateZ(0);overflow:hidden}.list-ios{background:var(--ion-item-background, var(--ion-background-color, #fff))}.list-ios.list-inset{margin-left:16px;margin-right:16px;margin-top:16px;margin-bottom:16px;border-radius:4px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.list-ios.list-inset{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}.list-ios.list-inset ion-item{--border-width:0 0 1px 0;--inner-border-width:0}.list-ios.list-inset ion-item:last-child{--border-width:0;--inner-border-width:0}.list-ios.list-inset+ion-list.list-inset{margin-top:0}.list-ios-lines-none .item{--border-width:0;--inner-border-width:0}.list-ios-lines-full .item,.list-ios .item-lines-full{--border-width:0 0 0.55px 0}.list-ios-lines-full .item{--inner-border-width:0}.list-ios-lines-inset .item,.list-ios .item-lines-inset{--inner-border-width:0 0 0.55px 0}.list-ios .item-lines-inset{--border-width:0}.list-ios .item-lines-full{--inner-border-width:0}.list-ios .item-lines-none{--border-width:0;--inner-border-width:0}ion-card .list-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}";
120
-
121
- const listMdCss = "ion-list{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;contain:content;list-style-type:none}ion-list.list-inset{transform:translateZ(0);overflow:hidden}.list-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;background:var(--ion-item-background, var(--ion-background-color, #fff))}.list-md>.input:last-child::after{left:0}[dir=rtl] .list-md>.input:last-child::after,:host-context([dir=rtl]) .list-md>.input:last-child::after{left:unset;right:unset;right:0}.list-md.list-inset{margin-left:16px;margin-right:16px;margin-top:16px;margin-bottom:16px;border-radius:2px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.list-md.list-inset{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}.list-md.list-inset ion-item:first-child{--border-radius:2px 2px 0 0;--border-width:0 0 1px 0}.list-md.list-inset ion-item:last-child{--border-radius:0 0 2px, 2px;--border-width:0}.list-md.list-inset .item-interactive{--padding-start:0;--padding-end:0}.list-md.list-inset+ion-list.list-inset{margin-top:0}.list-md-lines-none .item{--border-width:0;--inner-border-width:0}.list-md-lines-full .item,.list-md .item-lines-full{--border-width:0 0 1px 0}.list-md-lines-full .item{--inner-border-width:0}.list-md-lines-inset .item,.list-md .item-lines-inset{--inner-border-width:0 0 1px 0}.list-md .item-lines-inset{--border-width:0}.list-md .item-lines-full{--inner-border-width:0}.list-md .item-lines-none{--border-width:0;--inner-border-width:0}ion-card .list-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}";
122
-
123
- const List = class {
124
- constructor(hostRef) {
125
- registerInstance(this, hostRef);
126
- /**
127
- * If `true`, the list will have margin around it and rounded corners.
128
- */
129
- this.inset = false;
130
- }
131
- /**
132
- * If `ion-item-sliding` are used inside the list, this method closes
133
- * any open sliding item.
134
- *
135
- * Returns `true` if an actual `ion-item-sliding` is closed.
136
- */
137
- async closeSlidingItems() {
138
- const item = this.el.querySelector('ion-item-sliding');
139
- if (item && item.closeOpened) {
140
- return item.closeOpened();
141
- }
142
- return false;
143
- }
144
- render() {
145
- const mode = getIonMode(this);
146
- const { lines, inset } = this;
147
- return (h(Host, { class: {
148
- [mode]: true,
149
- // Used internally for styling
150
- [`list-${mode}`]: true,
151
- 'list-inset': inset,
152
- [`list-lines-${lines}`]: lines !== undefined,
153
- [`list-${mode}-lines-${lines}`]: lines !== undefined
154
- } }));
155
- }
156
- get el() { return getElement(this); }
157
- };
158
- List.style = {
159
- ios: listIosCss,
160
- md: listMdCss
161
- };
162
-
163
- export { Item as ion_item, List as ion_list };
@@ -1,89 +0,0 @@
1
- import { r as registerInstance, a as readTask, w as writeTask, h, d as getElement, H as Host } from './index-dcd553ac.js';
2
- import { g as getIonMode } from './ionic-global-fef4299f.js';
3
-
4
- const rippleEffectCss = ":host{left:0;right:0;top:0;bottom:0;position:absolute;contain:strict;pointer-events:none}:host(.unbounded){contain:layout size style}.ripple-effect{border-radius:50%;position:absolute;background-color:currentColor;color:inherit;contain:strict;opacity:0;animation:225ms rippleAnimation forwards, 75ms fadeInAnimation forwards;will-change:transform, opacity;pointer-events:none}.fade-out{transform:translate(var(--translate-end)) scale(var(--final-scale, 1));animation:150ms fadeOutAnimation forwards}@keyframes rippleAnimation{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:scale(1)}to{transform:translate(var(--translate-end)) scale(var(--final-scale, 1))}}@keyframes fadeInAnimation{from{animation-timing-function:linear;opacity:0}to{opacity:0.16}}@keyframes fadeOutAnimation{from{animation-timing-function:linear;opacity:0.16}to{opacity:0}}";
5
-
6
- const RippleEffect = class {
7
- constructor(hostRef) {
8
- registerInstance(this, hostRef);
9
- /**
10
- * Sets the type of ripple-effect:
11
- *
12
- * - `bounded`: the ripple effect expands from the user's click position
13
- * - `unbounded`: the ripple effect expands from the center of the button and overflows the container.
14
- *
15
- * NOTE: Surfaces for bounded ripples should have the overflow property set to hidden,
16
- * while surfaces for unbounded ripples should have it set to visible.
17
- */
18
- this.type = 'bounded';
19
- }
20
- /**
21
- * Adds the ripple effect to the parent element.
22
- *
23
- * @param x The horizontal coordinate of where the ripple should start.
24
- * @param y The vertical coordinate of where the ripple should start.
25
- */
26
- async addRipple(x, y) {
27
- return new Promise(resolve => {
28
- readTask(() => {
29
- const rect = this.el.getBoundingClientRect();
30
- const width = rect.width;
31
- const height = rect.height;
32
- const hypotenuse = Math.sqrt(width * width + height * height);
33
- const maxDim = Math.max(height, width);
34
- const maxRadius = this.unbounded ? maxDim : hypotenuse + PADDING;
35
- const initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE);
36
- const finalScale = maxRadius / initialSize;
37
- let posX = x - rect.left;
38
- let posY = y - rect.top;
39
- if (this.unbounded) {
40
- posX = width * 0.5;
41
- posY = height * 0.5;
42
- }
43
- const styleX = posX - initialSize * 0.5;
44
- const styleY = posY - initialSize * 0.5;
45
- const moveX = width * 0.5 - posX;
46
- const moveY = height * 0.5 - posY;
47
- writeTask(() => {
48
- const div = document.createElement('div');
49
- div.classList.add('ripple-effect');
50
- const style = div.style;
51
- style.top = styleY + 'px';
52
- style.left = styleX + 'px';
53
- style.width = style.height = initialSize + 'px';
54
- style.setProperty('--final-scale', `${finalScale}`);
55
- style.setProperty('--translate-end', `${moveX}px, ${moveY}px`);
56
- const container = this.el.shadowRoot || this.el;
57
- container.appendChild(div);
58
- setTimeout(() => {
59
- resolve(() => {
60
- removeRipple(div);
61
- });
62
- }, 225 + 100);
63
- });
64
- });
65
- });
66
- }
67
- get unbounded() {
68
- return this.type === 'unbounded';
69
- }
70
- render() {
71
- const mode = getIonMode(this);
72
- return (h(Host, { role: "presentation", class: {
73
- [mode]: true,
74
- 'unbounded': this.unbounded
75
- } }));
76
- }
77
- get el() { return getElement(this); }
78
- };
79
- const removeRipple = (ripple) => {
80
- ripple.classList.add('fade-out');
81
- setTimeout(() => {
82
- ripple.remove();
83
- }, 200);
84
- };
85
- const PADDING = 10;
86
- const INITIAL_ORIGIN_SCALE = 0.5;
87
- RippleEffect.style = rippleEffectCss;
88
-
89
- export { RippleEffect as ion_ripple_effect };