@sparkle-learning/core 0.0.31 → 0.0.34

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 (278) hide show
  1. package/dist/cjs/PrivateRoute-482697a6.js +35 -0
  2. package/dist/cjs/{PrivateRoute-043bb7d3.js → auth.service-f878f6ab.js} +0 -30
  3. package/dist/cjs/dom-utils-b8befdd5.js +63 -0
  4. package/dist/cjs/header-mobile-collapse_2.cjs.entry.js +112 -0
  5. package/dist/cjs/{icons-b8a2231a.js → icons-80d477f6.js} +0 -0
  6. package/dist/cjs/index-07e8aa51.js +3071 -0
  7. package/dist/cjs/index.cjs.js +6 -5
  8. package/dist/cjs/injectHistory-77d41284.js +9 -0
  9. package/dist/cjs/ion-avatar.cjs.entry.js +25 -0
  10. package/dist/cjs/ion-button_3.cjs.entry.js +383 -0
  11. package/dist/cjs/ion-card_2.cjs.entry.js +93 -0
  12. package/dist/cjs/ion-checkbox_4.cjs.entry.js +370 -0
  13. package/dist/cjs/ion-col_3.cjs.entry.js +155 -0
  14. package/dist/cjs/ion-icon_2.cjs.entry.js +397 -0
  15. package/dist/cjs/ion-input_2.cjs.entry.js +316 -0
  16. package/dist/cjs/ion-label_2.cjs.entry.js +126 -0
  17. package/dist/cjs/ion-range.cjs.entry.js +445 -0
  18. package/dist/cjs/ion-spinner.cjs.entry.js +64 -0
  19. package/dist/cjs/loader.cjs.js +1 -1
  20. package/dist/cjs/match-path-84c9f7ca.js +511 -0
  21. package/dist/cjs/sparkle-card_3.cjs.entry.js +91 -0
  22. package/dist/cjs/sparkle-code.cjs.entry.js +1 -1
  23. package/dist/cjs/sparkle-core.cjs.js +1 -1
  24. package/dist/cjs/sparkle-course-root.cjs.entry.js +145 -0
  25. package/dist/cjs/sparkle-dropdown.cjs.entry.js +61 -0
  26. package/dist/cjs/{header-mobile-collapse_61.cjs.entry.js → sparkle-export-lessons_6.cjs.entry.js} +8863 -17664
  27. package/dist/cjs/sparkle-facilitator-header_19.cjs.entry.js +2129 -0
  28. package/dist/cjs/sparkle-feedback.cjs.entry.js +2 -1
  29. package/dist/cjs/sparkle-goal-progress.cjs.entry.js +19 -0
  30. package/dist/cjs/sparkle-gww-item.cjs.entry.js +74 -0
  31. package/dist/cjs/sparkle-intro.cjs.entry.js +26 -0
  32. package/dist/cjs/sparkle-menu-collapsible.cjs.entry.js +1 -1
  33. package/dist/cjs/sparkle-menu-toggle_3.cjs.entry.js +236 -0
  34. package/dist/cjs/sparkle-validation-error.cjs.entry.js +21 -0
  35. package/dist/cjs/stencil-route-link.cjs.entry.js +77 -0
  36. package/dist/cjs/stencil-router-redirect.cjs.entry.js +32 -0
  37. package/dist/cjs/student.service-7af424fe.js +61 -0
  38. package/dist/cjs/user.store-3d29139d.js +21 -0
  39. package/dist/collection/collection-manifest.json +1 -0
  40. package/dist/collection/components/layout/page/page.js +0 -2
  41. package/dist/collection/components/sparkle-intro/sparkle-intro.css +15 -0
  42. package/dist/collection/components/sparkle-intro/sparkle-intro.js +35 -0
  43. package/dist/collection/models/course.model.js +6 -0
  44. package/dist/esm/PrivateRoute-f59ba6b5.js +33 -0
  45. package/dist/esm/{animation-b306f6c2.js → animation-7b083379.js} +1 -1
  46. package/dist/esm/{PrivateRoute-b9937c45.js → auth.service-7ab0ac58.js} +3 -32
  47. package/dist/esm/{auth.store-3ed2389e.js → auth.store-98fad96d.js} +2 -2
  48. package/dist/esm/dom-utils-8e73e88b.js +55 -0
  49. package/dist/esm/{facilitator.service-ec0a9739.js → facilitator.service-1524bf89.js} +1 -1
  50. package/dist/esm/{feed.service-33b83cb7.js → feed.service-4900fc62.js} +2 -2
  51. package/dist/esm/{framework-delegate-3bc58c27.js → framework-delegate-518bd233.js} +1 -1
  52. package/dist/esm/header-mobile-collapse_2.entry.js +107 -0
  53. package/dist/esm/{helpers-39367fe1.js → helpers-9d0930de.js} +1 -1
  54. package/dist/esm/{icons-5debfbaf.js → icons-05b6ce86.js} +1 -1
  55. package/dist/esm/{index-c26d8655.js → index-8de9446b.js} +3 -3
  56. package/dist/esm/index-c92f99d4.js +3067 -0
  57. package/dist/esm/{index-dc61f152.js → index-ea26196a.js} +1 -1
  58. package/dist/esm/{index-9594837e.js → index-fa5e93c5.js} +2 -2
  59. package/dist/esm/{index.es-97dd8174.js → index.es-89cff481.js} +3 -3
  60. package/dist/esm/index.js +5 -4
  61. package/dist/esm/injectHistory-52d0c7eb.js +7 -0
  62. package/dist/esm/{input-shims-cc98ea92.js → input-shims-7f04e044.js} +1 -1
  63. package/dist/esm/ion-accordion.entry.js +2 -2
  64. package/dist/esm/ion-action-sheet_4.entry.js +5 -5
  65. package/dist/esm/ion-app.entry.js +3 -3
  66. package/dist/esm/ion-avatar.entry.js +21 -0
  67. package/dist/esm/ion-back-button.entry.js +2 -2
  68. package/dist/esm/ion-breadcrumb.entry.js +2 -2
  69. package/dist/esm/ion-button_3.entry.js +377 -0
  70. package/dist/esm/ion-card_2.entry.js +88 -0
  71. package/dist/esm/ion-checkbox_4.entry.js +363 -0
  72. package/dist/esm/ion-col_3.entry.js +149 -0
  73. package/dist/esm/ion-content_2.entry.js +1 -1
  74. package/dist/esm/ion-datetime.entry.js +2 -2
  75. package/dist/esm/ion-fab-button.entry.js +1 -1
  76. package/dist/esm/ion-footer.entry.js +1 -1
  77. package/dist/esm/ion-icon_2.entry.js +392 -0
  78. package/dist/esm/ion-img.entry.js +1 -1
  79. package/dist/esm/ion-infinite-scroll.entry.js +1 -1
  80. package/dist/esm/ion-input_2.entry.js +311 -0
  81. package/dist/esm/ion-item-options.entry.js +1 -1
  82. package/dist/esm/ion-item-sliding.entry.js +1 -1
  83. package/dist/esm/ion-label_2.entry.js +121 -0
  84. package/dist/esm/ion-loading.entry.js +3 -3
  85. package/dist/esm/ion-menu-button.entry.js +5 -5
  86. package/dist/esm/ion-menu-toggle.entry.js +4 -4
  87. package/dist/esm/ion-menu.entry.js +4 -4
  88. package/dist/esm/ion-modal.entry.js +5 -5
  89. package/dist/esm/ion-nav.entry.js +4 -4
  90. package/dist/esm/ion-picker-column-internal_2.entry.js +1 -1
  91. package/dist/esm/ion-picker-column.entry.js +1 -1
  92. package/dist/esm/ion-picker.entry.js +3 -3
  93. package/dist/esm/ion-progress-bar.entry.js +1 -1
  94. package/dist/esm/ion-range.entry.js +441 -0
  95. package/dist/esm/ion-refresher-content.entry.js +1 -1
  96. package/dist/esm/ion-refresher.entry.js +2 -2
  97. package/dist/esm/ion-reorder-group.entry.js +1 -1
  98. package/dist/esm/ion-reorder.entry.js +1 -1
  99. package/dist/esm/ion-router-outlet.entry.js +4 -4
  100. package/dist/esm/ion-router.entry.js +1 -1
  101. package/dist/esm/ion-searchbar.entry.js +2 -2
  102. package/dist/esm/ion-segment-button.entry.js +1 -1
  103. package/dist/esm/ion-segment.entry.js +1 -1
  104. package/dist/esm/ion-select_2.entry.js +2 -2
  105. package/dist/esm/ion-slides.entry.js +1 -1
  106. package/dist/esm/ion-spinner.entry.js +60 -0
  107. package/dist/esm/ion-tab.entry.js +2 -2
  108. package/dist/esm/ion-textarea.entry.js +1 -1
  109. package/dist/esm/ion-toast.entry.js +3 -3
  110. package/dist/esm/ion-toggle.entry.js +1 -1
  111. package/dist/esm/ion-virtual-scroll.entry.js +1 -1
  112. package/dist/esm/{ios.transition-b4ca8a33.js → ios.transition-db4f4ca6.js} +3 -3
  113. package/dist/esm/loader.js +1 -1
  114. package/dist/esm/match-path-36fdf5c7.js +499 -0
  115. package/dist/esm/{md.transition-ca5e0322.js → md.transition-8294b503.js} +3 -3
  116. package/dist/esm/{menu-toggle-util-7fa22c2f.js → menu-toggle-util-06adade3.js} +1 -1
  117. package/dist/esm/{overlays-34cfa9e0.js → overlays-5c777f10.js} +2 -2
  118. package/dist/esm/{purify-ffce2b4c.js → purify-eb68cf1d.js} +1 -1
  119. package/dist/esm/sparkle-animation-player.entry.js +1 -1
  120. package/dist/esm/sparkle-card_3.entry.js +85 -0
  121. package/dist/esm/sparkle-code.entry.js +1 -1
  122. package/dist/esm/sparkle-core.js +1 -1
  123. package/dist/esm/sparkle-course-root.entry.js +141 -0
  124. package/dist/esm/sparkle-dropdown.entry.js +57 -0
  125. package/dist/esm/{header-mobile-collapse_61.entry.js → sparkle-export-lessons_6.entry.js} +8858 -17604
  126. package/dist/esm/sparkle-facilitator-header_19.entry.js +2107 -0
  127. package/dist/esm/sparkle-facilitator-notes-form.entry.js +4 -4
  128. package/dist/esm/sparkle-feedback.entry.js +5 -4
  129. package/dist/esm/sparkle-goal-form.entry.js +5 -5
  130. package/dist/esm/sparkle-goal-progress.entry.js +15 -0
  131. package/dist/esm/sparkle-gww-item.entry.js +70 -0
  132. package/dist/esm/sparkle-intro.entry.js +22 -0
  133. package/dist/esm/sparkle-menu-collapsible.entry.js +1 -1
  134. package/dist/esm/sparkle-menu-toggle_3.entry.js +230 -0
  135. package/dist/esm/sparkle-validation-error.entry.js +17 -0
  136. package/dist/esm/{status-tap-6351a0cb.js → status-tap-e8c0c752.js} +1 -1
  137. package/dist/esm/stencil-route-link.entry.js +73 -0
  138. package/dist/esm/stencil-router-redirect.entry.js +28 -0
  139. package/dist/esm/{student.service-29b688ba.js → student.service-c2f44f3a.js} +3 -18
  140. package/dist/esm/{swipe-back-34251834.js → swipe-back-9a3b2cdd.js} +1 -1
  141. package/dist/esm/{tap-click-13f1fb0d.js → tap-click-cca25060.js} +1 -1
  142. package/dist/esm/user.store-e6ff7558.js +19 -0
  143. package/dist/esm/{util-6ef753e9.js → util-a831d09d.js} +1 -1
  144. package/dist/sparkle-core/index.esm.js +1 -1
  145. package/dist/sparkle-core/p-021fde3c.entry.js +1 -0
  146. package/dist/sparkle-core/p-034306e2.js +1 -0
  147. package/dist/sparkle-core/{p-6c90bde6.entry.js → p-034aa29f.entry.js} +1 -1
  148. package/dist/sparkle-core/p-06c0cce3.entry.js +1 -0
  149. package/dist/sparkle-core/{p-9cfdeb18.entry.js → p-08923b40.entry.js} +1 -1
  150. package/dist/sparkle-core/{p-513794b0.js → p-0ad99881.js} +1 -1
  151. package/dist/sparkle-core/{p-95004267.entry.js → p-11234d0f.entry.js} +1 -1
  152. package/dist/sparkle-core/{p-9a17f2ad.js → p-1133fcbd.js} +2 -2
  153. package/dist/sparkle-core/{p-faa912d7.entry.js → p-1551190a.entry.js} +1 -1
  154. package/dist/sparkle-core/p-1728ead7.js +1 -0
  155. package/dist/sparkle-core/{p-ae1f145d.entry.js → p-1e8c22e0.entry.js} +1 -1
  156. package/dist/sparkle-core/p-232cc3bc.js +1 -0
  157. package/dist/sparkle-core/{p-289a35ed.entry.js → p-28950db0.entry.js} +1 -1
  158. package/dist/sparkle-core/p-2af82cc1.entry.js +1 -0
  159. package/dist/sparkle-core/p-2bd4c60e.js +1 -0
  160. package/dist/sparkle-core/p-2f437793.entry.js +348 -0
  161. package/dist/sparkle-core/p-330ccc7c.entry.js +1 -0
  162. package/dist/sparkle-core/{p-838fa86d.entry.js → p-337f92b0.entry.js} +1 -1
  163. package/dist/sparkle-core/{p-857f3696.entry.js → p-35c5c110.entry.js} +1 -1
  164. package/dist/sparkle-core/p-3ff617d5.js +1 -0
  165. package/dist/sparkle-core/{p-7c38a70b.js → p-401feeb0.js} +1 -1
  166. package/dist/sparkle-core/{p-5a3d0e6b.js → p-4028676b.js} +1 -1
  167. package/dist/sparkle-core/{p-1cef8572.js → p-41124baa.js} +1 -1
  168. package/dist/sparkle-core/{p-0187adef.entry.js → p-41af3793.entry.js} +1 -1
  169. package/dist/sparkle-core/p-43a7391b.entry.js +1 -0
  170. package/dist/sparkle-core/{p-855ca600.js → p-44c23f72.js} +1 -1
  171. package/dist/sparkle-core/{p-c1376096.entry.js → p-4550e10f.entry.js} +1 -1
  172. package/dist/sparkle-core/{p-660e0742.js → p-4a72626a.js} +1 -1
  173. package/dist/sparkle-core/{p-e1cba44b.entry.js → p-4ba57978.entry.js} +1 -1
  174. package/dist/sparkle-core/{p-935e7cfc.js → p-4bd4dab2.js} +1 -1
  175. package/dist/sparkle-core/{p-d5b05ece.entry.js → p-4ef4b8bd.entry.js} +1 -1
  176. package/dist/sparkle-core/{p-55ae49e1.js → p-4f144efa.js} +1 -1
  177. package/dist/sparkle-core/{p-713590fc.js → p-52d4715a.js} +1 -1
  178. package/dist/sparkle-core/{p-bca0e465.entry.js → p-52f1d1ca.entry.js} +1 -1
  179. package/dist/sparkle-core/{p-7e61973d.entry.js → p-5a98d42e.entry.js} +1 -1
  180. package/dist/sparkle-core/{p-82e98d07.entry.js → p-5e4ec238.entry.js} +1 -1
  181. package/dist/sparkle-core/{p-0146afa0.entry.js → p-5ec7fd67.entry.js} +1 -1
  182. package/dist/sparkle-core/p-618f6f82.entry.js +1 -0
  183. package/dist/sparkle-core/p-65ca1fb2.entry.js +1 -0
  184. package/dist/sparkle-core/{p-a080e768.entry.js → p-663fafa9.entry.js} +1 -1
  185. package/dist/sparkle-core/p-67f71099.entry.js +4 -0
  186. package/dist/sparkle-core/{p-6e88764b.entry.js → p-6a16b9ef.entry.js} +2 -2
  187. package/dist/sparkle-core/p-6b6a8f0a.entry.js +1 -0
  188. package/dist/sparkle-core/p-6c5b5ea2.entry.js +1 -0
  189. package/dist/sparkle-core/{p-941eaa3a.entry.js → p-6ebf52fb.entry.js} +1 -1
  190. package/dist/sparkle-core/p-6f45db93.js +1 -0
  191. package/dist/sparkle-core/p-74106ca8.entry.js +1 -0
  192. package/dist/sparkle-core/{p-6fbe3ca3.entry.js → p-7568dcab.entry.js} +1 -1
  193. package/dist/sparkle-core/p-7703bae9.entry.js +1 -0
  194. package/dist/sparkle-core/p-77c23496.entry.js +1 -0
  195. package/dist/sparkle-core/p-79606a41.entry.js +1 -0
  196. package/dist/sparkle-core/p-7976e88c.entry.js +1 -0
  197. package/dist/sparkle-core/p-7c1f59ec.js +1 -0
  198. package/dist/sparkle-core/p-7de0a22b.entry.js +1 -0
  199. package/dist/sparkle-core/p-848fe770.entry.js +1 -0
  200. package/dist/sparkle-core/{p-cbbeed67.entry.js → p-85429b12.entry.js} +1 -1
  201. package/dist/sparkle-core/{p-64e72f8f.js → p-86d099f1.js} +2 -2
  202. package/dist/sparkle-core/{p-389500fd.js → p-87549bb7.js} +2 -2
  203. package/dist/sparkle-core/{p-1b78dea1.entry.js → p-8c470e28.entry.js} +1 -1
  204. package/dist/sparkle-core/{p-50aac721.entry.js → p-90466494.entry.js} +1 -1
  205. package/dist/sparkle-core/p-954c89c2.entry.js +1 -0
  206. package/dist/sparkle-core/{p-f4001fdf.js → p-95d01c4c.js} +1 -1
  207. package/dist/sparkle-core/{p-6ee40949.js → p-987c64eb.js} +1 -1
  208. package/dist/sparkle-core/{p-1af044f7.js → p-a7832a51.js} +1 -1
  209. package/dist/sparkle-core/p-a89dea80.entry.js +1 -0
  210. package/dist/sparkle-core/{p-6c6145cd.js → p-b17dd6df.js} +2 -2
  211. package/dist/sparkle-core/{p-5ff6416d.entry.js → p-b21d0d9f.entry.js} +1 -1
  212. package/dist/sparkle-core/p-b7dafaae.entry.js +1 -0
  213. package/dist/sparkle-core/{p-c3986a52.entry.js → p-bd062288.entry.js} +1 -1
  214. package/dist/sparkle-core/{p-c1279cc9.entry.js → p-beb401e3.entry.js} +1 -1
  215. package/dist/sparkle-core/p-bef34cfe.entry.js +1 -0
  216. package/dist/sparkle-core/{p-6bf07a28.js → p-c1c59771.js} +1 -1
  217. package/dist/sparkle-core/p-c4104929.entry.js +1 -0
  218. package/dist/sparkle-core/{p-173d5461.entry.js → p-c748f64e.entry.js} +1 -1
  219. package/dist/sparkle-core/{p-d4a435f8.entry.js → p-c753207f.entry.js} +1 -1
  220. package/dist/sparkle-core/{p-18e62133.entry.js → p-c8ae9e47.entry.js} +1 -1
  221. package/dist/sparkle-core/p-c8ed0575.js +1 -0
  222. package/dist/sparkle-core/{p-8fe2e51f.entry.js → p-c96b24bd.entry.js} +2 -2
  223. package/dist/sparkle-core/p-ce13171b.entry.js +1 -0
  224. package/dist/sparkle-core/{p-5c9aa1f9.entry.js → p-d00f550b.entry.js} +1 -1
  225. package/dist/sparkle-core/p-d394eed1.entry.js +1 -0
  226. package/dist/sparkle-core/p-d48e95c1.entry.js +1 -0
  227. package/dist/sparkle-core/p-d4b1a14a.entry.js +1 -0
  228. package/dist/sparkle-core/{p-b81e20fe.entry.js → p-d56efeac.entry.js} +1 -1
  229. package/dist/sparkle-core/{p-932bfb69.entry.js → p-d59a5984.entry.js} +1 -1
  230. package/dist/sparkle-core/p-d8aff730.entry.js +1 -0
  231. package/dist/sparkle-core/{p-5d2e54ee.entry.js → p-da8921d0.entry.js} +1 -1
  232. package/dist/sparkle-core/{p-a1cab0f3.js → p-e08059b6.js} +2 -2
  233. package/dist/sparkle-core/p-e1aee41e.entry.js +1 -0
  234. package/dist/sparkle-core/{p-5598650a.entry.js → p-ec4d22e3.entry.js} +1 -1
  235. package/dist/sparkle-core/{p-eb70a23c.entry.js → p-ed3eed72.entry.js} +1 -1
  236. package/dist/sparkle-core/{p-a7cc0052.entry.js → p-ee0717e1.entry.js} +1 -1
  237. package/dist/sparkle-core/p-ef2dace6.js +4 -0
  238. package/dist/sparkle-core/{p-2ee6a5f9.entry.js → p-f1106984.entry.js} +1 -1
  239. package/dist/sparkle-core/p-f61ca75c.entry.js +1 -0
  240. package/dist/sparkle-core/{p-e225581a.js → p-f6bafe1d.js} +1 -1
  241. package/dist/sparkle-core/{p-1df05176.js → p-ff4d6858.js} +1 -1
  242. package/dist/sparkle-core/sparkle-core.esm.js +1 -1
  243. package/dist/types/components/sparkle-intro/sparkle-intro.d.ts +7 -0
  244. package/dist/types/components.d.ts +13 -0
  245. package/dist/types/models/course.model.d.ts +1 -8
  246. package/package.json +2 -2
  247. package/dist/cjs/student.service-744c3155.js +0 -77
  248. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/button/button.css +0 -49
  249. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/cards/card/card.css +0 -208
  250. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/cards/cards.css +0 -31
  251. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/code/code.css +0 -245
  252. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/dropdown/dropdown.css +0 -115
  253. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/header/header-mobile-collapse/header-mobile-collapse.css +0 -255
  254. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/header/header.css +0 -232
  255. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/menu/collapsible/collapsible.css +0 -3
  256. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/menu/menu-toggle/menu-toggle.css +0 -25
  257. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/menu/menu.css +0 -71
  258. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/nav/nav.css +0 -194
  259. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/notfound-page/notfound-page.css +0 -4
  260. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/overlay/overlay.css +0 -67
  261. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/page-footer/page-footer.css +0 -18
  262. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/pagination/pagination.css +0 -89
  263. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/select/select.css +0 -52
  264. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/sidebar/sidebar.css +0 -98
  265. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/sparkle-lower-content-nav/sparkle-lower-content-nav.css +0 -8
  266. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/table-of-contents/table-of-contents.css +0 -37
  267. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/tabs/tabs.css +0 -64
  268. package/dist/sparkle-core/p-03189863.js +0 -1
  269. package/dist/sparkle-core/p-1339830f.entry.js +0 -1
  270. package/dist/sparkle-core/p-145e40f5.entry.js +0 -1
  271. package/dist/sparkle-core/p-547b70c6.entry.js +0 -1
  272. package/dist/sparkle-core/p-6bbabb80.entry.js +0 -1
  273. package/dist/sparkle-core/p-950effe7.entry.js +0 -1
  274. package/dist/sparkle-core/p-d8d3524a.js +0 -1
  275. package/dist/sparkle-core/p-df0070c5.entry.js +0 -352
  276. package/dist/sparkle-core/p-e0fced48.entry.js +0 -1
  277. package/dist/sparkle-core/p-e72d4450.js +0 -4
  278. package/dist/sparkle-core/p-fc933591.entry.js +0 -1
@@ -0,0 +1,377 @@
1
+ import { r as registerInstance, i as createEvent, h, H as Host, e as getElement, f as forceUpdate } from './index-5568e3fa.js';
2
+ import { g as getIonMode } from './ionic-global-0939c477.js';
3
+ import { o as hasShadowDom, i as inheritAttributes, b as raf } from './helpers-9d0930de.js';
4
+ import { o as openURL, c as createColorClasses, h as hostContext } from './theme-c336c9d9.js';
5
+ import { d as chevronForward } from './index-ea26196a.js';
6
+
7
+ const buttonIosCss = ":host{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;font-kerning:none}:host(.button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.button-solid){--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff)}:host(.button-outline){--border-color:var(--ion-color-primary, #3880ff);--background:transparent;--color:var(--ion-color-primary, #3880ff)}:host(.button-clear){--border-width:0;--background:transparent;--color:var(--ion-color-primary, #3880ff)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;display:block;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;display:block;width:100%;contain:content}:host(.button-full:not(.button-round)) .button-native{border-radius:0;border-right-width:0;border-left-width:0}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);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:block;position:relative;width:100%;height:100%;transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);line-height:1;box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;box-sizing:border-box;appearance:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.button-native{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)}}.button-native::-moz-focus-inner{border:0}.button-inner{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;z-index:1}::slotted(ion-icon){font-size:1.4em;pointer-events:none}::slotted(ion-icon[slot=start]){margin-left:-0.3em;margin-right:0.3em;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}::slotted(ion-icon[slot=end]){margin-left:0.3em;margin-right:-0.2em;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em}}::slotted(ion-icon[slot=icon-only]){font-size:1.8em}ion-ripple-effect{color:var(--ripple-color)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}:host(.ion-activated){color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover){color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.button-solid.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.button-outline.ion-color) .button-native{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}:host(.button-clear.ion-color) .button-native{background:transparent;color:var(--ion-color-base)}:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{color:var(--ion-toolbar-color, var(--color))}:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}:host{--border-radius:10px;--padding-top:0;--padding-bottom:0;--padding-start:1em;--padding-end:1em;--transition:background-color, opacity 100ms linear;margin-left:2px;margin-right:2px;margin-top:4px;margin-bottom:4px;height:2.8em;font-size:16px;font-weight:500;letter-spacing:-0.03em}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}:host(.button-solid){--background-activated:var(--ion-color-primary-shade, #3171e0);--background-focused:var(--ion-color-primary-shade, #3171e0);--background-hover:var(--ion-color-primary-tint, #4c8dff);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1}:host(.button-outline){--border-radius:10px;--border-width:1px;--border-style:solid;--background-activated:var(--ion-color-primary, #3880ff);--background-focused:var(--ion-color-primary, #3880ff);--background-hover:transparent;--background-focused-opacity:.1;--color-activated:var(--ion-color-primary-contrast, #fff)}:host(.button-clear){--background-activated:transparent;--background-focused:var(--ion-color-primary, #3880ff);--background-hover:transparent;--background-focused-opacity:.1;font-size:17px;font-weight:normal;letter-spacing:0}:host(.button-large){--border-radius:12px;--padding-top:0;--padding-start:1em;--padding-end:1em;--padding-bottom:0;height:2.8em;font-size:20px}:host(.button-small){--border-radius:6px;--padding-top:0;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:0;height:2.1em;font-size:13px}:host(.button-round){--border-radius:64px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}:host(.button-strong){font-weight:600}:host(.button-clear.ion-activated){opacity:0.4}:host(.button-outline.ion-activated.ion-color) .button-native{color:var(--ion-color-contrast)}:host(.button-outline.ion-activated.ion-color) .button-native::after{background:var(--ion-color-base)}:host(.button-solid.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}:host(.button-outline.ion-focused.ion-color) .button-native,:host(.button-clear.ion-focused.ion-color) .button-native{color:var(--ion-color-base)}:host(.button-outline.ion-focused.ion-color) .button-native::after,:host(.button-clear.ion-focused.ion-color) .button-native::after{background:var(--ion-color-base)}:host(.button-solid.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.button-clear:hover),:host(.button-outline:hover){opacity:0.6}:host(.button-clear.ion-color:hover) .button-native,:host(.button-outline.ion-color:hover) .button-native{color:var(--ion-color-base)}:host(.button-clear.ion-color:hover) .button-native::after,:host(.button-outline.ion-color:hover) .button-native::after{background:transparent}:host(.button-solid.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}:host(:hover.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native::after{background:#fff;opacity:0.1}}";
8
+
9
+ const buttonMdCss = ":host{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;font-kerning:none}:host(.button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.button-solid){--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff)}:host(.button-outline){--border-color:var(--ion-color-primary, #3880ff);--background:transparent;--color:var(--ion-color-primary, #3880ff)}:host(.button-clear){--border-width:0;--background:transparent;--color:var(--ion-color-primary, #3880ff)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;display:block;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;display:block;width:100%;contain:content}:host(.button-full:not(.button-round)) .button-native{border-radius:0;border-right-width:0;border-left-width:0}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);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:block;position:relative;width:100%;height:100%;transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);line-height:1;box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;box-sizing:border-box;appearance:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.button-native{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)}}.button-native::-moz-focus-inner{border:0}.button-inner{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;z-index:1}::slotted(ion-icon){font-size:1.4em;pointer-events:none}::slotted(ion-icon[slot=start]){margin-left:-0.3em;margin-right:0.3em;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}::slotted(ion-icon[slot=end]){margin-left:0.3em;margin-right:-0.2em;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em}}::slotted(ion-icon[slot=icon-only]){font-size:1.8em}ion-ripple-effect{color:var(--ripple-color)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}:host(.ion-activated){color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover){color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.button-solid.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.button-outline.ion-color) .button-native{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}:host(.button-clear.ion-color) .button-native{background:transparent;color:var(--ion-color-base)}:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{color:var(--ion-toolbar-color, var(--color))}:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}:host{--border-radius:4px;--padding-top:0;--padding-bottom:0;--padding-start:1.1em;--padding-end:1.1em;--transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1),\n background-color 15ms linear,\n color 15ms linear;margin-left:2px;margin-right:2px;margin-top:4px;margin-bottom:4px;height:36px;font-size:14px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}:host(.button-solid){--background-activated:transparent;--background-hover:var(--ion-color-primary-contrast, #fff);--background-focused:var(--ion-color-primary-contrast, #fff);--background-activated-opacity:0;--background-focused-opacity:.24;--background-hover-opacity:.08;--box-shadow:0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)}:host(.button-solid.ion-activated){--box-shadow:0 5px 5px -3px rgba(0, 0, 0, 0.2), 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12)}:host(.button-outline){--border-width:2px;--border-style:solid;--box-shadow:none;--background-activated:transparent;--background-focused:var(--ion-color-primary, #3880ff);--background-hover:var(--ion-color-primary, #3880ff);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}:host(.button-outline.ion-activated.ion-color) .button-native{background:transparent}:host(.button-clear){--background-activated:transparent;--background-focused:var(--ion-color-primary, #3880ff);--background-hover:var(--ion-color-primary, #3880ff);--background-activated-opacity:0;--background-focused-opacity:.12;--background-hover-opacity:.04}:host(.button-round){--border-radius:64px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}:host(.button-large){--padding-top:0;--padding-start:1em;--padding-end:1em;--padding-bottom:0;height:2.8em;font-size:20px}:host(.button-small){--padding-top:0;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:0;height:2.1em;font-size:13px}:host(.button-strong){font-weight:bold}::slotted(ion-icon[slot=icon-only]){padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host(.button-solid.ion-color.ion-focused) .button-native::after{background:var(--ion-color-contrast)}:host(.button-clear.ion-color.ion-focused) .button-native::after,:host(.button-outline.ion-color.ion-focused) .button-native::after{background:var(--ion-color-base)}@media (any-hover: hover){:host(.button-solid.ion-color:hover) .button-native::after{background:var(--ion-color-contrast)}:host(.button-clear.ion-color:hover) .button-native::after,:host(.button-outline.ion-color:hover) .button-native::after{background:var(--ion-color-base)}}";
10
+
11
+ const Button = class {
12
+ constructor(hostRef) {
13
+ registerInstance(this, hostRef);
14
+ this.ionFocus = createEvent(this, "ionFocus", 7);
15
+ this.ionBlur = createEvent(this, "ionBlur", 7);
16
+ this.inItem = false;
17
+ this.inListHeader = false;
18
+ this.inToolbar = false;
19
+ this.inheritedAttributes = {};
20
+ /**
21
+ * The type of button.
22
+ */
23
+ this.buttonType = 'button';
24
+ /**
25
+ * If `true`, the user cannot interact with the button.
26
+ */
27
+ this.disabled = false;
28
+ /**
29
+ * When using a router, it specifies the transition direction when navigating to
30
+ * another page using `href`.
31
+ */
32
+ this.routerDirection = 'forward';
33
+ /**
34
+ * If `true`, activates a button with a heavier font weight.
35
+ */
36
+ this.strong = false;
37
+ /**
38
+ * The type of the button.
39
+ */
40
+ this.type = 'button';
41
+ this.handleClick = (ev) => {
42
+ if (this.type === 'button') {
43
+ openURL(this.href, ev, this.routerDirection, this.routerAnimation);
44
+ }
45
+ else if (hasShadowDom(this.el)) {
46
+ // this button wants to specifically submit a form
47
+ // climb up the dom to see if we're in a <form>
48
+ // and if so, then use JS to submit it
49
+ const form = this.el.closest('form');
50
+ if (form) {
51
+ ev.preventDefault();
52
+ const fakeButton = document.createElement('button');
53
+ fakeButton.type = this.type;
54
+ fakeButton.style.display = 'none';
55
+ form.appendChild(fakeButton);
56
+ fakeButton.click();
57
+ fakeButton.remove();
58
+ }
59
+ }
60
+ };
61
+ this.onFocus = () => {
62
+ this.ionFocus.emit();
63
+ };
64
+ this.onBlur = () => {
65
+ this.ionBlur.emit();
66
+ };
67
+ }
68
+ componentWillLoad() {
69
+ this.inToolbar = !!this.el.closest('ion-buttons');
70
+ this.inListHeader = !!this.el.closest('ion-list-header');
71
+ this.inItem = !!this.el.closest('ion-item') || !!this.el.closest('ion-item-divider');
72
+ this.inheritedAttributes = inheritAttributes(this.el, ['aria-label']);
73
+ }
74
+ get hasIconOnly() {
75
+ return !!this.el.querySelector('[slot="icon-only"]');
76
+ }
77
+ get rippleType() {
78
+ const hasClearFill = this.fill === undefined || this.fill === 'clear';
79
+ // If the button is in a toolbar, has a clear fill (which is the default)
80
+ // and only has an icon we use the unbounded "circular" ripple effect
81
+ if (hasClearFill && this.hasIconOnly && this.inToolbar) {
82
+ return 'unbounded';
83
+ }
84
+ return 'bounded';
85
+ }
86
+ render() {
87
+ const mode = getIonMode(this);
88
+ const { buttonType, type, disabled, rel, target, size, href, color, expand, hasIconOnly, shape, strong, inheritedAttributes } = this;
89
+ const finalSize = size === undefined && this.inItem ? 'small' : size;
90
+ const TagType = href === undefined ? 'button' : 'a';
91
+ const attrs = (TagType === 'button')
92
+ ? { type }
93
+ : {
94
+ download: this.download,
95
+ href,
96
+ rel,
97
+ target
98
+ };
99
+ let fill = this.fill;
100
+ if (fill === undefined) {
101
+ fill = this.inToolbar || this.inListHeader ? 'clear' : 'solid';
102
+ }
103
+ return (h(Host, { onClick: this.handleClick, "aria-disabled": disabled ? 'true' : null, class: createColorClasses(color, {
104
+ [mode]: true,
105
+ [buttonType]: true,
106
+ [`${buttonType}-${expand}`]: expand !== undefined,
107
+ [`${buttonType}-${finalSize}`]: finalSize !== undefined,
108
+ [`${buttonType}-${shape}`]: shape !== undefined,
109
+ [`${buttonType}-${fill}`]: true,
110
+ [`${buttonType}-strong`]: strong,
111
+ 'in-toolbar': hostContext('ion-toolbar', this.el),
112
+ 'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
113
+ 'button-has-icon-only': hasIconOnly,
114
+ 'button-disabled': disabled,
115
+ 'ion-activatable': true,
116
+ 'ion-focusable': true,
117
+ }) }, h(TagType, Object.assign({}, attrs, { class: "button-native", part: "native", disabled: disabled, onFocus: this.onFocus, onBlur: this.onBlur }, inheritedAttributes), h("span", { class: "button-inner" }, h("slot", { name: "icon-only" }), h("slot", { name: "start" }), h("slot", null), h("slot", { name: "end" })), mode === 'md' && h("ion-ripple-effect", { type: this.rippleType }))));
118
+ }
119
+ get el() { return getElement(this); }
120
+ };
121
+ Button.style = {
122
+ ios: buttonIosCss,
123
+ md: buttonMdCss
124
+ };
125
+
126
+ 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;align-items:center;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;box-sizing:border-box}:host(.ion-color:not(.item-fill-solid):not(.item-fill-outline)) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color:not(.item-fill-solid):not(.item-fill-outline)) .item-native,:host(.ion-color:not(.item-fill-solid):not(.item-fill-outline)) .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:not(.ion-focused):hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:not(.ion-focused):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:inherit;justify-content:inherit;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-bottom{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(--inner-padding-end);padding-top:0;padding-bottom:0;display:flex;justify-content:space-between}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.item-bottom{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(--inner-padding-end);padding-inline-end: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:not([slot=end])){flex:1}:host(.item-input){align-items:center}.input-wrapper{display:flex;flex:1;flex-direction:inherit;align-items:inherit;align-self:stretch;text-overflow:ellipsis;overflow:inherit;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){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;top:0;bottom:0;border-radius:inherit;position:absolute;width:100%;height:100%;transform:scaleX(0);transition:transform 200ms, border-bottom-width 200ms;z-index:2;box-sizing:border-box;pointer-events:none}:host(.item-interactive.item-has-focus) .item-native{caret-color:var(--highlight-background)}:host(.item-interactive.ion-focused),: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.ion-focused),: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-interactive.ion-invalid) ::slotted([slot=helper]){display:none}::slotted([slot=error]){display:none;color:var(--highlight-color-invalid)}:host(.item-interactive.ion-invalid) ::slotted([slot=error]){display:block}:host(:not(.item-label)) ::slotted(ion-select){--padding-start:0;max-width:none}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0;align-self:stretch;width:100%;max-width:100%}:host(:not(.item-label)) ::slotted(ion-datetime){--padding-start:0}: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(.item-fill-solid) ::slotted([slot=start]),:host(.item-fill-solid) ::slotted([slot=end]),:host(.item-fill-outline) ::slotted([slot=start]),:host(.item-fill-outline) ::slotted([slot=end]){align-self:center}::slotted([slot=helper]),::slotted([slot=error]),.item-counter{padding-top:5px;font-size:12px;z-index:1}.item-counter{margin-left:auto;padding-inline-start:16px;white-space:nowrap}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.item-counter{margin-left:unset;-webkit-margin-start:auto;margin-inline-start:auto}}@media (prefers-reduced-motion: reduce){.item-highlight,.item-inner-highlight{transition:none}}: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:0px;--highlight-color-focused:var(--ion-color-primary, #3880ff);--highlight-color-valid:var(--ion-color-success, #2dd36f);--highlight-color-invalid:var(--ion-color-danger, #eb445a);--bottom-padding-start:0px;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}.item-highlight,.item-inner-highlight{transition:none}:host(.item-has-focus) .item-inner-highlight,:host(.item-has-focus) .item-highlight{border-top:none;border-right:none;border-left:none}::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}:host(.item-label-fixed) ::slotted(ion-select),:host(.item-label-fixed) ::slotted(ion-datetime){--padding-start:0}";
127
+
128
+ 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;align-items:center;justify-content:space-between;outline:none;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:initial;text-decoration:none;overflow:hidden;box-sizing:border-box}:host(.ion-color:not(.item-fill-solid):not(.item-fill-outline)) .item-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.ion-color:not(.item-fill-solid):not(.item-fill-outline)) .item-native,:host(.ion-color:not(.item-fill-solid):not(.item-fill-outline)) .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:not(.ion-focused):hover) .item-native{color:var(--color-hover)}:host(.ion-activatable:not(.ion-focused):hover) .item-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}:host(.ion-color.ion-activatable:not(.ion-focused):hover) .item-native{color:var(--ion-color-contrast)}:host(.ion-color.ion-activatable:not(.ion-focused):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:inherit;justify-content:inherit;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-bottom{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(--inner-padding-end);padding-top:0;padding-bottom:0;display:flex;justify-content:space-between}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.item-bottom{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(--inner-padding-end);padding-inline-end: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:not([slot=end])){flex:1}:host(.item-input){align-items:center}.input-wrapper{display:flex;flex:1;flex-direction:inherit;align-items:inherit;align-self:stretch;text-overflow:ellipsis;overflow:inherit;box-sizing:border-box}:host(.item-label-stacked),:host(.item-label-floating){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;top:0;bottom:0;border-radius:inherit;position:absolute;width:100%;height:100%;transform:scaleX(0);transition:transform 200ms, border-bottom-width 200ms;z-index:2;box-sizing:border-box;pointer-events:none}:host(.item-interactive.item-has-focus) .item-native{caret-color:var(--highlight-background)}:host(.item-interactive.ion-focused),: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.ion-focused),: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-interactive.ion-invalid) ::slotted([slot=helper]){display:none}::slotted([slot=error]){display:none;color:var(--highlight-color-invalid)}:host(.item-interactive.ion-invalid) ::slotted([slot=error]){display:block}:host(:not(.item-label)) ::slotted(ion-select){--padding-start:0;max-width:none}:host(.item-label-stacked) ::slotted(ion-select),:host(.item-label-floating) ::slotted(ion-select){--padding-top:8px;--padding-bottom:8px;--padding-start:0;align-self:stretch;width:100%;max-width:100%}:host(:not(.item-label)) ::slotted(ion-datetime){--padding-start:0}: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(.item-fill-solid) ::slotted([slot=start]),:host(.item-fill-solid) ::slotted([slot=end]),:host(.item-fill-outline) ::slotted([slot=start]),:host(.item-fill-outline) ::slotted([slot=end]){align-self:center}::slotted([slot=helper]),::slotted([slot=error]),.item-counter{padding-top:5px;font-size:12px;z-index:1}.item-counter{margin-left:auto;padding-inline-start:16px;white-space:nowrap}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.item-counter{margin-left:unset;-webkit-margin-start:auto;margin-inline-start:auto}}@media (prefers-reduced-motion: reduce){.item-highlight,.item-inner-highlight{transition:none}}: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;--inner-padding-end:16px;--inner-border-width:0 0 1px 0;--highlight-height:1px;--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(.item-fill-outline){--highlight-height:2px}:host(.item-fill-none.item-interactive.ion-focus) .item-highlight,:host(.item-fill-none.item-interactive.item-has-focus) .item-highlight,:host(.item-fill-none.item-interactive.ion-touched.ion-invalid) .item-highlight{transform:scaleX(1);border-width:0 0 var(--full-highlight-height) 0;border-style:var(--border-style);border-color:var(--highlight-background)}:host(.item-fill-none.item-interactive.ion-focus) .item-native,:host(.item-fill-none.item-interactive.item-has-focus) .item-native,:host(.item-fill-none.item-interactive.ion-touched.ion-invalid) .item-native{border-bottom-color:var(--highlight-background)}:host(.item-fill-outline.item-interactive.ion-focus) .item-highlight,:host(.item-fill-outline.item-interactive.item-has-focus) .item-highlight{transform:scaleX(1)}:host(.item-fill-outline.item-interactive.ion-focus) .item-highlight,:host(.item-fill-outline.item-interactive.item-has-focus) .item-highlight,:host(.item-fill-outline.item-interactive.ion-touched.ion-invalid) .item-highlight{border-width:var(--full-highlight-height);border-style:var(--border-style);border-color:var(--highlight-background)}:host(.item-fill-outline.item-interactive.ion-touched.ion-invalid) .item-native{border-color:var(--highlight-background)}:host(.item-fill-solid.item-interactive.ion-focus) .item-highlight,:host(.item-fill-solid.item-interactive.item-has-focus) .item-highlight,:host(.item-fill-solid.item-interactive.ion-touched.ion-invalid) .item-highlight{transform:scaleX(1);border-width:0 0 var(--full-highlight-height) 0;border-style:var(--border-style);border-color:var(--highlight-background)}:host(.item-fill-solid.item-interactive.ion-focus) .item-native,:host(.item-fill-solid.item-interactive.item-has-focus) .item-native,:host(.item-fill-solid.item-interactive.ion-touched.ion-invalid) .item-native{border-bottom-color:var(--highlight-background)}:host(.ion-color.ion-activated) .item-native::after{background:transparent}:host(.item-has-focus) .item-native{caret-color:var(--highlight-color-focused)}: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-fill-outline) .item-highlight{--position-offset:calc(-1 * var(--border-width));left:var(--position-offset);top:var(--position-offset);width:calc(100% + 2 * var(--border-width));height:calc(100% + 2 * var(--border-width));transition:none}:host-context([dir=rtl]):host(.item-fill-outline) .item-highlight,:host-context([dir=rtl]).item-fill-outline .item-highlight{left:unset;right:unset;right:var(--position-offset)}:host(.item-fill-outline.ion-focused) .item-native,:host(.item-fill-outline.item-has-focus) .item-native{border-color:transparent}: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}}:host(.item-fill-solid) ::slotted([slot=start]),:host(.item-fill-solid) ::slotted([slot=end]),:host(.item-fill-outline) ::slotted([slot=start]),:host(.item-fill-outline) ::slotted([slot=end]){align-self:center}::slotted(ion-icon){color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.54);font-size:24px}:host(.ion-color:not(.item-fill-solid):not(.item-fill-outline)) ::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}}:host(.item-fill-solid) ::slotted(ion-icon[slot=start]),:host(.item-fill-outline) ::slotted(ion-icon[slot=start]){margin-right:8px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.item-fill-solid) ::slotted(ion-icon[slot=start]),:host(.item-fill-outline) ::slotted(ion-icon[slot=start]){margin-right:unset;-webkit-margin-end:8px;margin-inline-end:8px}}::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]:not([slot=helper]):not([slot=error])){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:10px;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-label-fixed) ::slotted(ion-select),:host(.item-label-fixed) ::slotted(ion-datetime){--padding-start:8px}: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(.ion-focused:not(.ion-color)) ::slotted(.label-stacked),:host(.ion-focused:not(.ion-color)) ::slotted(.label-floating),: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)}:host(.ion-color){--highlight-color-focused:var(--ion-color-contrast)}:host(.item-label-color){--highlight-color-focused:var(--ion-color-base)}:host(.item-fill-solid.ion-color),:host(.item-fill-outline.ion-color){--highlight-color-focused:var(--ion-color-base)}:host(.item-fill-solid){--background:var(--ion-color-step-50, #f2f2f2);--background-hover:var(--ion-color-step-100, #e6e6e6);--background-focused:var(--ion-color-step-150, #d9d9d9);--border-width:0 0 1px 0;--inner-border-width:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}:host-context([dir=rtl]):host(.item-fill-solid),:host-context([dir=rtl]).item-fill-solid{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}:host(.item-fill-solid) .item-native{--border-color:var(--ion-color-step-500, gray)}:host(.item-fill-solid.ion-focused) .item-native,:host(.item-fill-solid.item-has-focus) .item-native{--background:var(--background-focused)}:host(.item-fill-solid.item-shape-round){border-top-left-radius:16px;border-top-right-radius:16px;border-bottom-right-radius:0;border-bottom-left-radius:0}:host-context([dir=rtl]):host(.item-fill-solid.item-shape-round),:host-context([dir=rtl]).item-fill-solid.item-shape-round{border-top-left-radius:16px;border-top-right-radius:16px;border-bottom-right-radius:0;border-bottom-left-radius:0}@media (any-hover: hover){:host(.item-fill-solid:hover) .item-native{--background:var(--background-hover);--border-color:var(--ion-color-step-750, #404040)}}:host(.item-fill-outline){--ripple-color:transparent;--background-focused:transparent;--background-hover:transparent;--border-color:var(--ion-color-step-500, gray);--border-width:1px;border:none;overflow:visible}:host(.item-fill-outline) .item-native{--native-padding-left:16px;border-radius:4px}:host(.item-fill-outline.item-shape-round) .item-native{--inner-padding-start:16px;border-radius:28px}:host(.item-fill-outline.item-shape-round) .item-bottom{padding-left:32px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.item-fill-outline.item-shape-round) .item-bottom{padding-left:unset;-webkit-padding-start:32px;padding-inline-start:32px}}:host(.item-fill-outline.item-label-floating.ion-focused) .item-native ::slotted(ion-input:not(:first-child)),:host(.item-fill-outline.item-label-floating.ion-focused) .item-native ::slotted(ion-textarea:not(:first-child)),:host(.item-fill-outline.item-label-floating.item-has-focus) .item-native ::slotted(ion-input:not(:first-child)),:host(.item-fill-outline.item-label-floating.item-has-focus) .item-native ::slotted(ion-textarea:not(:first-child)),:host(.item-fill-outline.item-label-floating.item-has-value) .item-native ::slotted(ion-input:not(:first-child)),:host(.item-fill-outline.item-label-floating.item-has-value) .item-native ::slotted(ion-textarea:not(:first-child)){transform:translateY(-14px)}@media (any-hover: hover){:host(.item-fill-outline:hover) .item-native{--border-color:var(--ion-color-step-750, #404040)}}.item-counter{color:rgba(0, 0, 0, 0.6);letter-spacing:0.0333333333em}";
129
+
130
+ const Item = class {
131
+ constructor(hostRef) {
132
+ registerInstance(this, hostRef);
133
+ this.labelColorStyles = {};
134
+ this.itemStyles = new Map();
135
+ this.multipleInputs = false;
136
+ this.focusable = true;
137
+ /**
138
+ * If `true`, a button tag will be rendered and the item will be tappable.
139
+ */
140
+ this.button = false;
141
+ /**
142
+ * The icon to use when `detail` is set to `true`.
143
+ */
144
+ this.detailIcon = chevronForward;
145
+ /**
146
+ * If `true`, the user cannot interact with the item.
147
+ */
148
+ this.disabled = false;
149
+ /**
150
+ * If `true`, a character counter will display the ratio of characters used and the total character limit. Only applies when the `maxlength` property is set on the inner `ion-input` or `ion-textarea`.
151
+ */
152
+ this.counter = false;
153
+ /**
154
+ * When using a router, it specifies the transition direction when navigating to
155
+ * another page using `href`.
156
+ */
157
+ this.routerDirection = 'forward';
158
+ /**
159
+ * The type of the button. Only used when an `onclick` or `button` property is present.
160
+ */
161
+ this.type = 'button';
162
+ }
163
+ handleIonChange(ev) {
164
+ if (this.counter && ev.target === this.getFirstInput()) {
165
+ this.updateCounterOutput(ev.target);
166
+ }
167
+ }
168
+ labelColorChanged(ev) {
169
+ const { color } = this;
170
+ // There will be a conflict with item color if
171
+ // we apply the label color to item, so we ignore
172
+ // the label color if the user sets a color on item
173
+ if (color === undefined) {
174
+ this.labelColorStyles = ev.detail;
175
+ }
176
+ }
177
+ itemStyle(ev) {
178
+ ev.stopPropagation();
179
+ const tagName = ev.target.tagName;
180
+ const updatedStyles = ev.detail;
181
+ const newStyles = {};
182
+ const childStyles = this.itemStyles.get(tagName) || {};
183
+ let hasStyleChange = false;
184
+ Object.keys(updatedStyles).forEach(key => {
185
+ if (updatedStyles[key]) {
186
+ const itemKey = `item-${key}`;
187
+ if (!childStyles[itemKey]) {
188
+ hasStyleChange = true;
189
+ }
190
+ newStyles[itemKey] = true;
191
+ }
192
+ });
193
+ if (!hasStyleChange && Object.keys(newStyles).length !== Object.keys(childStyles).length) {
194
+ hasStyleChange = true;
195
+ }
196
+ if (hasStyleChange) {
197
+ this.itemStyles.set(tagName, newStyles);
198
+ forceUpdate(this);
199
+ }
200
+ }
201
+ connectedCallback() {
202
+ if (this.counter) {
203
+ this.updateCounterOutput(this.getFirstInput());
204
+ }
205
+ this.hasStartEl();
206
+ }
207
+ componentDidUpdate() {
208
+ // Do not use @Listen here to avoid making all items
209
+ // appear as clickable to screen readers
210
+ // https://github.com/ionic-team/ionic-framework/issues/22011
211
+ const input = this.getFirstInput();
212
+ if (input && !this.clickListener) {
213
+ this.clickListener = (ev) => this.delegateFocus(ev, input);
214
+ this.el.addEventListener('click', this.clickListener);
215
+ }
216
+ }
217
+ disconnectedCallback() {
218
+ const input = this.getFirstInput();
219
+ if (input && this.clickListener) {
220
+ this.el.removeEventListener('click', this.clickListener);
221
+ this.clickListener = undefined;
222
+ }
223
+ }
224
+ componentDidLoad() {
225
+ raf(() => {
226
+ this.setMultipleInputs();
227
+ this.focusable = this.isFocusable();
228
+ });
229
+ }
230
+ // If the item contains multiple clickable elements and/or inputs, then the item
231
+ // should not have a clickable input cover over the entire item to prevent
232
+ // interfering with their individual click events
233
+ setMultipleInputs() {
234
+ // The following elements have a clickable cover that is relative to the entire item
235
+ const covers = this.el.querySelectorAll('ion-checkbox, ion-datetime, ion-select, ion-radio');
236
+ // The following elements can accept focus alongside the previous elements
237
+ // therefore if these elements are also a child of item, we don't want the
238
+ // input cover on top of those interfering with their clicks
239
+ const inputs = this.el.querySelectorAll('ion-input, ion-range, ion-searchbar, ion-segment, ion-textarea, ion-toggle');
240
+ // The following elements should also stay clickable when an input with cover is present
241
+ const clickables = this.el.querySelectorAll('ion-anchor, ion-button, a, button');
242
+ // Check for multiple inputs to change the position of the input cover to relative
243
+ // for all of the covered inputs above
244
+ this.multipleInputs = covers.length + inputs.length > 1
245
+ || covers.length + clickables.length > 1
246
+ || covers.length > 0 && this.isClickable();
247
+ }
248
+ // If the item contains an input including a checkbox, datetime, select, or radio
249
+ // then the item will have a clickable input cover that covers the item
250
+ // that should get the hover, focused and activated states UNLESS it has multiple
251
+ // inputs, then those need to individually get each click
252
+ hasCover() {
253
+ const inputs = this.el.querySelectorAll('ion-checkbox, ion-datetime, ion-select, ion-radio');
254
+ return inputs.length === 1 && !this.multipleInputs;
255
+ }
256
+ // If the item has an href or button property it will render a native
257
+ // anchor or button that is clickable
258
+ isClickable() {
259
+ return (this.href !== undefined || this.button);
260
+ }
261
+ canActivate() {
262
+ return (this.isClickable() || this.hasCover());
263
+ }
264
+ isFocusable() {
265
+ const focusableChild = this.el.querySelector('.ion-focusable');
266
+ return (this.canActivate() || focusableChild !== null);
267
+ }
268
+ getFirstInput() {
269
+ const inputs = this.el.querySelectorAll('ion-input, ion-textarea');
270
+ return inputs[0];
271
+ }
272
+ // This is needed for WebKit due to a delegatesFocus bug where
273
+ // clicking on the left padding of an item is not focusing the input
274
+ // but is opening the keyboard. It will no longer be needed with
275
+ // iOS 14.
276
+ delegateFocus(ev, input) {
277
+ const clickedItem = ev.target.tagName === 'ION-ITEM';
278
+ let firstActive = false;
279
+ // If the first input is the same as the active element we need
280
+ // to focus the first input again, but if the active element
281
+ // is another input inside of the item we shouldn't switch focus
282
+ if (document.activeElement) {
283
+ firstActive = input.querySelector('input, textarea') === document.activeElement;
284
+ }
285
+ // Only focus the first input if we clicked on an ion-item
286
+ // and the first input exists
287
+ if (clickedItem && (firstActive || !this.multipleInputs)) {
288
+ input.fireFocusEvents = false;
289
+ input.setBlur();
290
+ input.setFocus();
291
+ raf(() => {
292
+ input.fireFocusEvents = true;
293
+ });
294
+ }
295
+ }
296
+ updateCounterOutput(inputEl) {
297
+ var _a, _b;
298
+ if (this.counter && !this.multipleInputs && (inputEl === null || inputEl === void 0 ? void 0 : inputEl.maxlength) !== undefined) {
299
+ const length = (_b = (_a = inputEl === null || inputEl === void 0 ? void 0 : inputEl.value) === null || _a === void 0 ? void 0 : _a.toString().length) !== null && _b !== void 0 ? _b : '0';
300
+ this.counterString = `${length} / ${inputEl.maxlength}`;
301
+ }
302
+ }
303
+ hasStartEl() {
304
+ const startEl = this.el.querySelector('[slot="start"]');
305
+ if (startEl !== null) {
306
+ this.el.classList.add('item-has-start-slot');
307
+ }
308
+ }
309
+ render() {
310
+ const { counterString, detail, detailIcon, download, fill, labelColorStyles, lines, disabled, href, rel, shape, target, routerAnimation, routerDirection } = this;
311
+ const childStyles = {};
312
+ const mode = getIonMode(this);
313
+ const clickable = this.isClickable();
314
+ const canActivate = this.canActivate();
315
+ const TagType = clickable ? (href === undefined ? 'button' : 'a') : 'div';
316
+ const attrs = (TagType === 'button')
317
+ ? { type: this.type }
318
+ : {
319
+ download,
320
+ href,
321
+ rel,
322
+ target
323
+ };
324
+ // Only set onClick if the item is clickable to prevent screen
325
+ // readers from reading all items as clickable
326
+ const clickFn = clickable ? {
327
+ onClick: (ev) => { openURL(href, ev, routerDirection, routerAnimation); }
328
+ } : {};
329
+ const showDetail = detail !== undefined ? detail : mode === 'ios' && clickable;
330
+ this.itemStyles.forEach(value => {
331
+ Object.assign(childStyles, value);
332
+ });
333
+ const ariaDisabled = (disabled || childStyles['item-interactive-disabled']) ? 'true' : null;
334
+ const fillValue = fill || 'none';
335
+ return (h(Host, { "aria-disabled": ariaDisabled, class: Object.assign(Object.assign(Object.assign({}, childStyles), labelColorStyles), createColorClasses(this.color, {
336
+ 'item': true,
337
+ [mode]: true,
338
+ [`item-lines-${lines}`]: lines !== undefined,
339
+ [`item-fill-${fillValue}`]: true,
340
+ [`item-shape-${shape}`]: shape !== undefined,
341
+ 'item-disabled': disabled,
342
+ 'in-list': hostContext('ion-list', this.el),
343
+ 'item-multiple-inputs': this.multipleInputs,
344
+ 'ion-activatable': canActivate,
345
+ 'ion-focusable': this.focusable,
346
+ 'item-rtl': document.dir === 'rtl'
347
+ })) }, h(TagType, Object.assign({}, attrs, { class: "item-native", part: "native", disabled: disabled }, clickFn), 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", "aria-hidden": "true", "flip-rtl": detailIcon === chevronForward }), h("div", { class: "item-inner-highlight" })), canActivate && mode === 'md' && h("ion-ripple-effect", null), h("div", { class: "item-highlight" })), h("div", { class: "item-bottom" }, h("slot", { name: "error" }), h("slot", { name: "helper" }), counterString && h("ion-note", { class: "item-counter" }, counterString))));
348
+ }
349
+ static get delegatesFocus() { return true; }
350
+ get el() { return getElement(this); }
351
+ };
352
+ Item.style = {
353
+ ios: itemIosCss,
354
+ md: itemMdCss
355
+ };
356
+
357
+ const noteIosCss = ":host{color:var(--color);font-family:var(--ion-font-family, inherit);box-sizing:border-box}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-350, #a6a6a6)}";
358
+
359
+ const noteMdCss = ":host{color:var(--color);font-family:var(--ion-font-family, inherit);box-sizing:border-box}:host(.ion-color){color:var(--ion-color-base)}:host{--color:var(--ion-color-step-600, #666666);font-size:14px}";
360
+
361
+ const Note = class {
362
+ constructor(hostRef) {
363
+ registerInstance(this, hostRef);
364
+ }
365
+ render() {
366
+ const mode = getIonMode(this);
367
+ return (h(Host, { class: createColorClasses(this.color, {
368
+ [mode]: true,
369
+ }) }, h("slot", null)));
370
+ }
371
+ };
372
+ Note.style = {
373
+ ios: noteIosCss,
374
+ md: noteMdCss
375
+ };
376
+
377
+ export { Button as ion_button, Item as ion_item, Note as ion_note };
@@ -0,0 +1,88 @@
1
+ import { r as registerInstance, h, H as Host } from './index-5568e3fa.js';
2
+ import { g as getIonMode } from './ionic-global-0939c477.js';
3
+ import { o as openURL, c as createColorClasses } from './theme-c336c9d9.js';
4
+
5
+ const cardIosCss = ":host{--ion-safe-area-left:0px;--ion-safe-area-right:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.card-disabled){cursor:default;opacity:0.3;pointer-events:none}.card-native{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;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;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:inherit}.card-native::-moz-focus-inner{border:0}button,a{cursor:pointer;user-select:none;-webkit-user-drag:none}ion-ripple-effect{color:var(--ripple-color)}:host{--background:var(--ion-card-background, var(--ion-item-background, var(--ion-background-color, #fff)));--color:var(--ion-card-color, var(--ion-item-color, var(--ion-color-step-600, #666666)));margin-left:16px;margin-right:16px;margin-top:24px;margin-bottom:24px;border-radius:8px;transform:translateZ(0);transition:transform 500ms cubic-bezier(0.12, 0.72, 0.29, 1);font-size:14px;box-shadow:0 4px 16px rgba(0, 0, 0, 0.12)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}:host(.ion-activated){transform:scale3d(0.97, 0.97, 1)}";
6
+
7
+ const cardMdCss = ":host{--ion-safe-area-left:0px;--ion-safe-area-right:0px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:block;position:relative;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);overflow:hidden}:host(.ion-color){background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.card-disabled){cursor:default;opacity:0.3;pointer-events:none}.card-native{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;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;display:block;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:inherit}.card-native::-moz-focus-inner{border:0}button,a{cursor:pointer;user-select:none;-webkit-user-drag:none}ion-ripple-effect{color:var(--ripple-color)}:host{--background:var(--ion-card-background, var(--ion-item-background, var(--ion-background-color, #fff)));--color:var(--ion-card-color, var(--ion-item-color, var(--ion-color-step-550, #737373)));margin-left:10px;margin-right:10px;margin-top:10px;margin-bottom:10px;border-radius:4px;font-size:14px;box-shadow:0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12)}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:10px;margin-inline-start:10px;-webkit-margin-end:10px;margin-inline-end:10px}}";
8
+
9
+ const Card = class {
10
+ constructor(hostRef) {
11
+ registerInstance(this, hostRef);
12
+ /**
13
+ * If `true`, a button tag will be rendered and the card will be tappable.
14
+ */
15
+ this.button = false;
16
+ /**
17
+ * The type of the button. Only used when an `onclick` or `button` property is present.
18
+ */
19
+ this.type = 'button';
20
+ /**
21
+ * If `true`, the user cannot interact with the card.
22
+ */
23
+ this.disabled = false;
24
+ /**
25
+ * When using a router, it specifies the transition direction when navigating to
26
+ * another page using `href`.
27
+ */
28
+ this.routerDirection = 'forward';
29
+ }
30
+ isClickable() {
31
+ return (this.href !== undefined || this.button);
32
+ }
33
+ renderCard(mode) {
34
+ const clickable = this.isClickable();
35
+ if (!clickable) {
36
+ return [
37
+ h("slot", null)
38
+ ];
39
+ }
40
+ const { href, routerAnimation, routerDirection } = this;
41
+ const TagType = clickable ? (href === undefined ? 'button' : 'a') : 'div';
42
+ const attrs = (TagType === 'button')
43
+ ? { type: this.type }
44
+ : {
45
+ download: this.download,
46
+ href: this.href,
47
+ rel: this.rel,
48
+ target: this.target
49
+ };
50
+ return (h(TagType, Object.assign({}, attrs, { class: "card-native", part: "native", disabled: this.disabled, onClick: (ev) => openURL(href, ev, routerDirection, routerAnimation) }), h("slot", null), clickable && mode === 'md' && h("ion-ripple-effect", null)));
51
+ }
52
+ render() {
53
+ const mode = getIonMode(this);
54
+ return (h(Host, { class: createColorClasses(this.color, {
55
+ [mode]: true,
56
+ 'card-disabled': this.disabled,
57
+ 'ion-activatable': this.isClickable()
58
+ }) }, this.renderCard(mode)));
59
+ }
60
+ };
61
+ Card.style = {
62
+ ios: cardIosCss,
63
+ md: cardMdCss
64
+ };
65
+
66
+ const cardContentIosCss = "ion-card-content{display:block;position:relative}.card-content-ios{padding-left:20px;padding-right:20px;padding-top:20px;padding-bottom:20px;font-size:16px;line-height:1.4}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.card-content-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px}}.card-content-ios h1{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}.card-content-ios h2{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:16px;font-weight:normal}.card-content-ios h3,.card-content-ios h4,.card-content-ios h5,.card-content-ios h6{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:14px;font-weight:normal}.card-content-ios p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:14px}ion-card-header+.card-content-ios{padding-top:0}";
67
+
68
+ const cardContentMdCss = "ion-card-content{display:block;position:relative}.card-content-md{padding-left:16px;padding-right:16px;padding-top:13px;padding-bottom:13px;font-size:14px;line-height:1.5}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.card-content-md{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}.card-content-md h1{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}.card-content-md h2{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:16px;font-weight:normal}.card-content-md h3,.card-content-md h4,.card-content-md h5,.card-content-md h6{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:14px;font-weight:normal}.card-content-md p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:14px;font-weight:normal;line-height:1.5}ion-card-header+.card-content-md{padding-top:0}";
69
+
70
+ const CardContent = class {
71
+ constructor(hostRef) {
72
+ registerInstance(this, hostRef);
73
+ }
74
+ render() {
75
+ const mode = getIonMode(this);
76
+ return (h(Host, { class: {
77
+ [mode]: true,
78
+ // Used internally for styling
79
+ [`card-content-${mode}`]: true
80
+ } }));
81
+ }
82
+ };
83
+ CardContent.style = {
84
+ ios: cardContentIosCss,
85
+ md: cardContentMdCss
86
+ };
87
+
88
+ export { Card as ion_card, CardContent as ion_card_content };