@sparkle-learning/core 0.0.39 → 0.0.42

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 (267) hide show
  1. package/dist/cjs/{auth.service-4b584cd7.js → PrivateRoute-074c584e.js} +30 -0
  2. package/dist/cjs/{sparkle-export-lessons_6.cjs.entry.js → header-mobile-collapse_61.cjs.entry.js} +11602 -2716
  3. package/dist/cjs/{icons-c61db785.js → icons-fda820af.js} +0 -0
  4. package/dist/cjs/index.cjs.js +5 -6
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/sparkle-code.cjs.entry.js +1 -1
  7. package/dist/cjs/sparkle-core.cjs.js +1 -1
  8. package/dist/cjs/sparkle-feedback.cjs.entry.js +1 -2
  9. package/dist/cjs/sparkle-menu-collapsible.cjs.entry.js +1 -1
  10. package/dist/cjs/sparkle-quiz-feedback_5.cjs.entry.js +117 -0
  11. package/dist/cjs/sparkle-quiz.cjs.entry.js +120 -0
  12. package/dist/cjs/student.service-2e58f237.js +78 -0
  13. package/dist/esm/{auth.service-9fb86455.js → PrivateRoute-c5441f35.js} +33 -4
  14. package/dist/esm/{animation-e0716b39.js → animation-12377cb3.js} +1 -1
  15. package/dist/esm/{auth.store-633e8414.js → auth.store-dba2c2da.js} +1 -1
  16. package/dist/esm/{facilitator.service-8fd435bf.js → facilitator.service-b0292f7f.js} +2 -2
  17. package/dist/esm/{feed.service-ace049e5.js → feed.service-8fbe4ce3.js} +3 -3
  18. package/dist/esm/{framework-delegate-e4f8013b.js → framework-delegate-3e634a5c.js} +1 -1
  19. package/dist/esm/{sparkle-export-lessons_6.entry.js → header-mobile-collapse_61.entry.js} +11501 -2670
  20. package/dist/esm/{helpers-03073fe4.js → helpers-bf0e23d6.js} +1 -1
  21. package/dist/esm/{httpService-61864992.js → httpService-7b75b095.js} +2 -2
  22. package/dist/esm/{icons-90b957ab.js → icons-1c794c74.js} +1 -1
  23. package/dist/esm/{index-b4b4e503.js → index-2b84cad2.js} +3 -3
  24. package/dist/esm/{index-a2d2941d.js → index-45fec1e7.js} +1 -1
  25. package/dist/esm/{index-37004831.js → index-5e8971ae.js} +1 -1
  26. package/dist/esm/{index-dedabca0.js → index-cded2d87.js} +2 -2
  27. package/dist/esm/{index.es-283fbd2e.js → index.es-e0c0f891.js} +1 -1
  28. package/dist/esm/index.js +5 -6
  29. package/dist/esm/{input-shims-cc3720a0.js → input-shims-671d8d9f.js} +2 -2
  30. package/dist/esm/ion-accordion.entry.js +1 -1
  31. package/dist/esm/ion-action-sheet_4.entry.js +5 -5
  32. package/dist/esm/ion-app.entry.js +3 -3
  33. package/dist/esm/ion-back-button.entry.js +1 -1
  34. package/dist/esm/ion-breadcrumb.entry.js +1 -1
  35. package/dist/esm/ion-content_2.entry.js +2 -2
  36. package/dist/esm/ion-datetime-button.entry.js +1 -1
  37. package/dist/esm/ion-datetime.entry.js +1 -1
  38. package/dist/esm/ion-fab-button.entry.js +1 -1
  39. package/dist/esm/ion-footer.entry.js +2 -2
  40. package/dist/esm/ion-img.entry.js +1 -1
  41. package/dist/esm/ion-infinite-scroll.entry.js +2 -2
  42. package/dist/esm/ion-item-options.entry.js +1 -1
  43. package/dist/esm/ion-item-sliding.entry.js +2 -2
  44. package/dist/esm/ion-loading.entry.js +3 -3
  45. package/dist/esm/ion-menu-button.entry.js +4 -4
  46. package/dist/esm/ion-menu-toggle.entry.js +4 -4
  47. package/dist/esm/ion-menu.entry.js +4 -4
  48. package/dist/esm/ion-modal.entry.js +6 -6
  49. package/dist/esm/ion-nav.entry.js +4 -4
  50. package/dist/esm/ion-picker-column-internal_2.entry.js +1 -1
  51. package/dist/esm/ion-picker-column.entry.js +1 -1
  52. package/dist/esm/ion-picker.entry.js +3 -3
  53. package/dist/esm/ion-progress-bar.entry.js +1 -1
  54. package/dist/esm/ion-refresher.entry.js +3 -3
  55. package/dist/esm/ion-reorder-group.entry.js +2 -2
  56. package/dist/esm/ion-router-outlet.entry.js +4 -4
  57. package/dist/esm/ion-router.entry.js +1 -1
  58. package/dist/esm/ion-searchbar.entry.js +1 -1
  59. package/dist/esm/ion-segment-button.entry.js +1 -1
  60. package/dist/esm/ion-segment.entry.js +1 -1
  61. package/dist/esm/ion-select_2.entry.js +2 -2
  62. package/dist/esm/ion-slides.entry.js +1 -1
  63. package/dist/esm/ion-tab.entry.js +2 -2
  64. package/dist/esm/ion-textarea.entry.js +1 -1
  65. package/dist/esm/ion-toast.entry.js +3 -3
  66. package/dist/esm/ion-toggle.entry.js +1 -1
  67. package/dist/esm/ion-virtual-scroll.entry.js +1 -1
  68. package/dist/esm/{ios.transition-3a6179bb.js → ios.transition-131d64fe.js} +3 -3
  69. package/dist/esm/loader.js +1 -1
  70. package/dist/esm/{md.transition-cff16bf3.js → md.transition-f6126011.js} +3 -3
  71. package/dist/esm/{menu-toggle-util-59241733.js → menu-toggle-util-bace8ae6.js} +1 -1
  72. package/dist/esm/{overlays-bdd9344a.js → overlays-3b4dca92.js} +2 -2
  73. package/dist/esm/{purify-7085b248.js → purify-85bfcc69.js} +1 -1
  74. package/dist/esm/sparkle-animation-player.entry.js +1 -1
  75. package/dist/esm/sparkle-code.entry.js +1 -1
  76. package/dist/esm/sparkle-core.js +1 -1
  77. package/dist/esm/sparkle-facilitator-notes-form.entry.js +5 -5
  78. package/dist/esm/sparkle-feed-post.entry.js +1 -1
  79. package/dist/esm/sparkle-feedback.entry.js +5 -6
  80. package/dist/esm/sparkle-goal-form.entry.js +6 -6
  81. package/dist/esm/sparkle-menu-collapsible.entry.js +1 -1
  82. package/dist/esm/sparkle-quiz-feedback_5.entry.js +109 -0
  83. package/dist/esm/sparkle-quiz.entry.js +116 -0
  84. package/dist/esm/{status-tap-463d0f87.js → status-tap-dde52787.js} +2 -2
  85. package/dist/esm/{student.service-e6eb1f99.js → student.service-0746418b.js} +19 -3
  86. package/dist/esm/{swipe-back-f8765ac9.js → swipe-back-7847a0c1.js} +1 -1
  87. package/dist/esm/{util-a831d09d.js → util-6ef753e9.js} +1 -1
  88. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/button/button.css +49 -0
  89. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/cards/card/card.css +208 -0
  90. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/cards/cards.css +31 -0
  91. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/code/code.css +245 -0
  92. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/dropdown/dropdown.css +115 -0
  93. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/header/header-mobile-collapse/header-mobile-collapse.css +255 -0
  94. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/header/header.css +232 -0
  95. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/menu/collapsible/collapsible.css +3 -0
  96. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/menu/menu-toggle/menu-toggle.css +25 -0
  97. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/menu/menu.css +71 -0
  98. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/nav/nav.css +194 -0
  99. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/notfound-page/notfound-page.css +4 -0
  100. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/overlay/overlay.css +67 -0
  101. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/page-footer/page-footer.css +18 -0
  102. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/pagination/pagination.css +89 -0
  103. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/select/select.css +52 -0
  104. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/sidebar/sidebar.css +98 -0
  105. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/sparkle-lower-content-nav/sparkle-lower-content-nav.css +8 -0
  106. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/table-of-contents/table-of-contents.css +37 -0
  107. package/dist/node_modules/@sparkle-learning/components/dist/collection/components/tabs/tabs.css +64 -0
  108. package/dist/sparkle-core/index.esm.js +1 -1
  109. package/dist/sparkle-core/{p-539bf742.js → p-00d10dc9.js} +2 -2
  110. package/dist/sparkle-core/{p-b9933822.js → p-05c032dd.js} +1 -1
  111. package/dist/sparkle-core/{p-dabc80c4.entry.js → p-0664370b.entry.js} +1 -1
  112. package/dist/sparkle-core/p-077c732b.js +4 -0
  113. package/dist/sparkle-core/{p-c278db5f.entry.js → p-0ad5c123.entry.js} +1 -1
  114. package/dist/sparkle-core/{p-b9b1d4da.entry.js → p-0afa3a4d.entry.js} +1 -1
  115. package/dist/sparkle-core/{p-285ab4ed.entry.js → p-0c3f3ea6.entry.js} +1 -1
  116. package/dist/sparkle-core/{p-727e1c28.entry.js → p-0f1c5899.entry.js} +1 -1
  117. package/dist/sparkle-core/{p-64e814b9.entry.js → p-11356b03.entry.js} +1 -1
  118. package/dist/sparkle-core/{p-b5ec8fb0.entry.js → p-11a6c175.entry.js} +1 -1
  119. package/dist/sparkle-core/p-12dd96d7.js +4 -0
  120. package/dist/sparkle-core/{p-a85598ad.js → p-1d4c7c11.js} +1 -1
  121. package/dist/sparkle-core/{p-c8fe45df.entry.js → p-1e125ca5.entry.js} +1 -1
  122. package/dist/sparkle-core/{p-cab3da3c.entry.js → p-1e4f65ee.entry.js} +1 -1
  123. package/dist/sparkle-core/{p-405f7c58.js → p-2033cd86.js} +2 -2
  124. package/dist/sparkle-core/p-23aca7ca.js +4 -0
  125. package/dist/sparkle-core/{p-e65c72cc.entry.js → p-24cb9a33.entry.js} +1 -1
  126. package/dist/sparkle-core/{p-014b5707.entry.js → p-2c1ca854.entry.js} +1 -1
  127. package/dist/sparkle-core/{p-340754ed.js → p-2f569553.js} +1 -1
  128. package/dist/sparkle-core/{p-2e2b813c.js → p-2ff67662.js} +2 -2
  129. package/dist/sparkle-core/{p-0c0f8acd.entry.js → p-30b810d1.entry.js} +1 -1
  130. package/dist/sparkle-core/{p-b236d258.entry.js → p-377b04c2.entry.js} +1 -1
  131. package/dist/sparkle-core/{p-fde382f0.entry.js → p-39712c56.entry.js} +1 -1
  132. package/dist/sparkle-core/{p-be28346b.js → p-3de0e00c.js} +1 -1
  133. package/dist/sparkle-core/p-462bffba.js +1 -0
  134. package/dist/sparkle-core/{p-3f85e1ca.js → p-48f72e63.js} +2 -2
  135. package/dist/sparkle-core/{p-6f0545b3.entry.js → p-54dd894f.entry.js} +1 -1
  136. package/dist/sparkle-core/{p-ce94efdb.entry.js → p-564e64fc.entry.js} +1 -1
  137. package/dist/sparkle-core/{p-db8387eb.entry.js → p-58e4bbe5.entry.js} +1 -1
  138. package/dist/sparkle-core/{p-ca4c8a10.js → p-5cad23f1.js} +1 -1
  139. package/dist/sparkle-core/p-5efc6566.js +1 -0
  140. package/dist/sparkle-core/{p-c9cd4ff1.js → p-600cf6a3.js} +1 -1
  141. package/dist/sparkle-core/{p-2e035338.entry.js → p-641bfc92.entry.js} +1 -1
  142. package/dist/sparkle-core/{p-b4bc8b02.entry.js → p-6faa194c.entry.js} +1 -1
  143. package/dist/sparkle-core/{p-2f10208d.entry.js → p-6ffd2420.entry.js} +1 -1
  144. package/dist/sparkle-core/p-73721c84.js +4 -0
  145. package/dist/sparkle-core/{p-ed9f48c4.entry.js → p-74864276.entry.js} +1 -1
  146. package/dist/sparkle-core/p-80d6b0e6.entry.js +1 -0
  147. package/dist/sparkle-core/p-8492a765.entry.js +1 -0
  148. package/dist/sparkle-core/{p-a019ad0c.js → p-86ed13f0.js} +1 -1
  149. package/dist/sparkle-core/{p-4ae75caa.entry.js → p-894ff7e6.entry.js} +1 -1
  150. package/dist/sparkle-core/{p-5519d283.entry.js → p-9289cdbc.entry.js} +1 -1
  151. package/dist/sparkle-core/{p-4bd4dab2.js → p-935e7cfc.js} +1 -1
  152. package/dist/sparkle-core/{p-25e556cc.entry.js → p-957715c5.entry.js} +1 -1
  153. package/dist/sparkle-core/{p-b4b01fa2.entry.js → p-9abbd715.entry.js} +1 -1
  154. package/dist/sparkle-core/{p-e7568d4b.js → p-9d894ed4.js} +1 -1
  155. package/dist/sparkle-core/{p-4320dac0.entry.js → p-9ebf0537.entry.js} +1 -1
  156. package/dist/sparkle-core/p-a49ab4e8.entry.js +1 -0
  157. package/dist/sparkle-core/{p-93e74f1b.entry.js → p-af3cc111.entry.js} +1 -1
  158. package/dist/sparkle-core/{p-5fc26938.js → p-b0603d19.js} +1 -1
  159. package/dist/sparkle-core/{p-317037de.entry.js → p-b3f375fb.entry.js} +1 -1
  160. package/dist/sparkle-core/p-b4408842.entry.js +352 -0
  161. package/dist/sparkle-core/{p-2fba9a3a.entry.js → p-b5f3e1bf.entry.js} +1 -1
  162. package/dist/sparkle-core/{p-82ad4e7c.entry.js → p-b96f3c84.entry.js} +2 -2
  163. package/dist/sparkle-core/{p-ad102371.js → p-bd80ff43.js} +1 -1
  164. package/dist/sparkle-core/{p-f0cf4a8f.entry.js → p-be64105c.entry.js} +1 -1
  165. package/dist/sparkle-core/{p-f4b0b6a4.entry.js → p-c0533c23.entry.js} +1 -1
  166. package/dist/sparkle-core/p-c3cadfc6.entry.js +1 -0
  167. package/dist/sparkle-core/{p-2d4a5ddf.entry.js → p-c60b29bd.entry.js} +2 -2
  168. package/dist/sparkle-core/{p-56a2e8a2.js → p-cabe9139.js} +1 -1
  169. package/dist/sparkle-core/{p-0bb0cf41.entry.js → p-cabfbf22.entry.js} +1 -1
  170. package/dist/sparkle-core/{p-66a85393.entry.js → p-ce4b22f7.entry.js} +1 -1
  171. package/dist/sparkle-core/{p-17eb4633.js → p-d68092b7.js} +1 -1
  172. package/dist/sparkle-core/{p-0ea2518d.entry.js → p-de4deb61.entry.js} +1 -1
  173. package/dist/sparkle-core/{p-1f0b3ff9.entry.js → p-e686d8b5.entry.js} +1 -1
  174. package/dist/sparkle-core/{p-08d97c59.entry.js → p-e77d982d.entry.js} +1 -1
  175. package/dist/sparkle-core/{p-44f813b7.entry.js → p-e863bf1d.entry.js} +1 -1
  176. package/dist/sparkle-core/{p-63f69cdc.entry.js → p-ebd4354b.entry.js} +1 -1
  177. package/dist/sparkle-core/{p-fc965b88.entry.js → p-ef4edc48.entry.js} +1 -1
  178. package/dist/sparkle-core/{p-c2bbaf55.entry.js → p-fb0ca75e.entry.js} +1 -1
  179. package/dist/sparkle-core/{p-b83444c7.entry.js → p-fb757951.entry.js} +1 -1
  180. package/dist/sparkle-core/{p-d81a0680.js → p-fbccd30c.js} +1 -1
  181. package/dist/sparkle-core/sparkle-core.esm.js +1 -1
  182. package/package.json +2 -2
  183. package/dist/cjs/PrivateRoute-4abc9d29.js +0 -35
  184. package/dist/cjs/dom-utils-b8befdd5.js +0 -63
  185. package/dist/cjs/header-mobile-collapse.cjs.entry.js +0 -90
  186. package/dist/cjs/index-70e63f5b.js +0 -3071
  187. package/dist/cjs/injectHistory-7206bbb9.js +0 -9
  188. package/dist/cjs/ion-avatar.cjs.entry.js +0 -25
  189. package/dist/cjs/ion-button.cjs.entry.js +0 -129
  190. package/dist/cjs/ion-card_2.cjs.entry.js +0 -91
  191. package/dist/cjs/ion-checkbox_4.cjs.entry.js +0 -360
  192. package/dist/cjs/ion-col_3.cjs.entry.js +0 -159
  193. package/dist/cjs/ion-icon_13.cjs.entry.js +0 -1505
  194. package/dist/cjs/ion-input_2.cjs.entry.js +0 -313
  195. package/dist/cjs/ion-label_2.cjs.entry.js +0 -126
  196. package/dist/cjs/ion-spinner.cjs.entry.js +0 -64
  197. package/dist/cjs/match-path-84c9f7ca.js +0 -511
  198. package/dist/cjs/sparkle-card_3.cjs.entry.js +0 -91
  199. package/dist/cjs/sparkle-course-root.cjs.entry.js +0 -146
  200. package/dist/cjs/sparkle-dropdown.cjs.entry.js +0 -61
  201. package/dist/cjs/sparkle-facilitator-header_19.cjs.entry.js +0 -2130
  202. package/dist/cjs/sparkle-goal-progress.cjs.entry.js +0 -19
  203. package/dist/cjs/sparkle-gww-item.cjs.entry.js +0 -74
  204. package/dist/cjs/sparkle-menu-toggle_3.cjs.entry.js +0 -236
  205. package/dist/cjs/sparkle-validation-error.cjs.entry.js +0 -21
  206. package/dist/cjs/stencil-router-redirect.cjs.entry.js +0 -32
  207. package/dist/cjs/student.service-d48f1c99.js +0 -61
  208. package/dist/cjs/user.store-8a049c4e.js +0 -21
  209. package/dist/esm/PrivateRoute-7b526801.js +0 -33
  210. package/dist/esm/dom-utils-109a7d75.js +0 -55
  211. package/dist/esm/header-mobile-collapse.entry.js +0 -86
  212. package/dist/esm/index-f9b9ba5d.js +0 -3067
  213. package/dist/esm/injectHistory-968f626d.js +0 -7
  214. package/dist/esm/ion-avatar.entry.js +0 -21
  215. package/dist/esm/ion-button.entry.js +0 -125
  216. package/dist/esm/ion-card_2.entry.js +0 -86
  217. package/dist/esm/ion-checkbox_4.entry.js +0 -353
  218. package/dist/esm/ion-col_3.entry.js +0 -153
  219. package/dist/esm/ion-icon_13.entry.js +0 -1489
  220. package/dist/esm/ion-input_2.entry.js +0 -308
  221. package/dist/esm/ion-label_2.entry.js +0 -121
  222. package/dist/esm/ion-spinner.entry.js +0 -60
  223. package/dist/esm/match-path-36fdf5c7.js +0 -499
  224. package/dist/esm/sparkle-card_3.entry.js +0 -85
  225. package/dist/esm/sparkle-course-root.entry.js +0 -142
  226. package/dist/esm/sparkle-dropdown.entry.js +0 -57
  227. package/dist/esm/sparkle-facilitator-header_19.entry.js +0 -2108
  228. package/dist/esm/sparkle-goal-progress.entry.js +0 -15
  229. package/dist/esm/sparkle-gww-item.entry.js +0 -70
  230. package/dist/esm/sparkle-menu-toggle_3.entry.js +0 -230
  231. package/dist/esm/sparkle-validation-error.entry.js +0 -17
  232. package/dist/esm/stencil-router-redirect.entry.js +0 -28
  233. package/dist/esm/user.store-b8645067.js +0 -19
  234. package/dist/sparkle-core/p-03585916.js +0 -1
  235. package/dist/sparkle-core/p-1019ebc3.js +0 -1
  236. package/dist/sparkle-core/p-1728ead7.js +0 -1
  237. package/dist/sparkle-core/p-32762a44.entry.js +0 -1
  238. package/dist/sparkle-core/p-3bc68dd0.js +0 -1
  239. package/dist/sparkle-core/p-3c133235.entry.js +0 -1
  240. package/dist/sparkle-core/p-46869031.entry.js +0 -1
  241. package/dist/sparkle-core/p-4a5f2b2b.js +0 -1
  242. package/dist/sparkle-core/p-53bcbd1d.js +0 -1
  243. package/dist/sparkle-core/p-54ada5e3.entry.js +0 -1
  244. package/dist/sparkle-core/p-554da5b8.entry.js +0 -1
  245. package/dist/sparkle-core/p-5da2d95a.entry.js +0 -1
  246. package/dist/sparkle-core/p-6b05a1d3.entry.js +0 -1
  247. package/dist/sparkle-core/p-6ea246fe.js +0 -4
  248. package/dist/sparkle-core/p-6ed0236e.entry.js +0 -1
  249. package/dist/sparkle-core/p-7f25366a.entry.js +0 -1
  250. package/dist/sparkle-core/p-91accfc1.js +0 -1
  251. package/dist/sparkle-core/p-a5c5da9a.entry.js +0 -1
  252. package/dist/sparkle-core/p-a8a77bec.entry.js +0 -1
  253. package/dist/sparkle-core/p-c4af184b.entry.js +0 -1
  254. package/dist/sparkle-core/p-c71cbbf7.entry.js +0 -1
  255. package/dist/sparkle-core/p-c8c73fa7.js +0 -4
  256. package/dist/sparkle-core/p-cd832fbf.entry.js +0 -1
  257. package/dist/sparkle-core/p-d0ac5f17.js +0 -1
  258. package/dist/sparkle-core/p-d1fcbfc2.js +0 -4
  259. package/dist/sparkle-core/p-d432d3ac.entry.js +0 -1
  260. package/dist/sparkle-core/p-d969f7d0.entry.js +0 -348
  261. package/dist/sparkle-core/p-dca90a55.entry.js +0 -4
  262. package/dist/sparkle-core/p-dd2e7f84.js +0 -4
  263. package/dist/sparkle-core/p-e0429a19.entry.js +0 -1
  264. package/dist/sparkle-core/p-e7066c64.entry.js +0 -1
  265. package/dist/sparkle-core/p-eb40a191.entry.js +0 -1
  266. package/dist/sparkle-core/p-ecdea569.entry.js +0 -1
  267. package/dist/sparkle-core/p-ef6c2352.entry.js +0 -1
@@ -1,308 +0,0 @@
1
- import { r as registerInstance, i as createEvent, h, H as Host, e as getElement } from './index-c04b9ed5.js';
2
- import { g as getIonMode } from './ionic-global-4903e23e.js';
3
- import { e as debounceEvent, i as inheritAriaAttributes, k as inheritAttributes, o as findItemLabel } from './helpers-03073fe4.js';
4
- import { c as createColorClasses } from './theme-7ef00c83.js';
5
-
6
- const inputIosCss = ".sc-ion-input-ios-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--background:transparent;--color:initial;display:flex;position:relative;flex:1;align-items:center;width:100%;padding:0 !important;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2}ion-item.sc-ion-input-ios-h:not(.item-label),ion-item:not(.item-label) .sc-ion-input-ios-h{--padding-start:0}.ion-color.sc-ion-input-ios-h{color:var(--ion-color-base)}.native-input.sc-ion-input-ios{border-radius:var(--border-radius);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:inline-block;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;box-sizing:border-box;appearance:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.native-input.sc-ion-input-ios{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)}}.native-input.sc-ion-input-ios::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-ios:-webkit-autofill{background-color:transparent}.native-input.sc-ion-input-ios:invalid{box-shadow:none}.native-input.sc-ion-input-ios::-ms-clear{display:none}.native-input[disabled].sc-ion-input-ios{opacity:0.4}.cloned-input.sc-ion-input-ios{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-input-ios .cloned-input.sc-ion-input-ios,[dir=rtl].sc-ion-input-ios-h .cloned-input.sc-ion-input-ios,[dir=rtl] .sc-ion-input-ios-h .cloned-input.sc-ion-input-ios{left:unset;right:unset;right:0}.input-clear-icon.sc-ion-input-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;background-position:center;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;visibility:hidden;appearance:none}.input-clear-icon.sc-ion-input-ios:focus{opacity:0.5}.has-value.sc-ion-input-ios-h .input-clear-icon.sc-ion-input-ios{visibility:visible}.has-focus.sc-ion-input-ios-h{pointer-events:none}.has-focus.sc-ion-input-ios-h input.sc-ion-input-ios,.has-focus.sc-ion-input-ios-h a.sc-ion-input-ios,.has-focus.sc-ion-input-ios-h button.sc-ion-input-ios{pointer-events:auto}.item-label-floating.item-has-placeholder.sc-ion-input-ios-h:not(.item-has-value),.item-label-floating.item-has-placeholder:not(.item-has-value) .sc-ion-input-ios-h{opacity:0}.item-label-floating.item-has-placeholder.sc-ion-input-ios-h:not(.item-has-value).item-has-focus,.item-label-floating.item-has-placeholder:not(.item-has-value).item-has-focus .sc-ion-input-ios-h{transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);opacity:1}.sc-ion-input-ios-h{--padding-top:10px;--padding-end:10px;--padding-bottom:10px;--padding-start:0;font-size:inherit}.item-label-stacked.sc-ion-input-ios-h,.item-label-stacked .sc-ion-input-ios-h,.item-label-floating.sc-ion-input-ios-h,.item-label-floating .sc-ion-input-ios-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0px}.input-clear-icon.sc-ion-input-ios{background-image:url(\"data:image/svg+xml;charset=utf-8,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'><path%20fill='var(--ion-color-step-600,%20%23666666)'%20d='M403.1,108.9c-81.2-81.2-212.9-81.2-294.2,0s-81.2,212.9,0,294.2c81.2,81.2,212.9,81.2,294.2,0S484.3,190.1,403.1,108.9z%20M352,340.2L340.2,352l-84.4-84.2l-84,83.8L160,339.8l84-83.8l-84-83.8l11.8-11.8l84,83.8l84.4-84.2l11.8,11.8L267.6,256L352,340.2z'/></svg>\");width:30px;height:30px;background-size:18px}";
7
-
8
- const inputMdCss = ".sc-ion-input-md-h{--placeholder-color:initial;--placeholder-font-style:initial;--placeholder-font-weight:initial;--placeholder-opacity:.5;--padding-top:0;--padding-end:0;--padding-bottom:0;--padding-start:0;--background:transparent;--color:initial;display:flex;position:relative;flex:1;align-items:center;width:100%;padding:0 !important;background:var(--background);color:var(--color);font-family:var(--ion-font-family, inherit);z-index:2}ion-item.sc-ion-input-md-h:not(.item-label),ion-item:not(.item-label) .sc-ion-input-md-h{--padding-start:0}.ion-color.sc-ion-input-md-h{color:var(--ion-color-base)}.native-input.sc-ion-input-md{border-radius:var(--border-radius);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:inline-block;flex:1;width:100%;max-width:100%;max-height:100%;border:0;outline:none;background:transparent;box-sizing:border-box;appearance:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.native-input.sc-ion-input-md{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)}}.native-input.sc-ion-input-md::placeholder{color:var(--placeholder-color);font-family:inherit;font-style:var(--placeholder-font-style);font-weight:var(--placeholder-font-weight);opacity:var(--placeholder-opacity)}.native-input.sc-ion-input-md:-webkit-autofill{background-color:transparent}.native-input.sc-ion-input-md:invalid{box-shadow:none}.native-input.sc-ion-input-md::-ms-clear{display:none}.native-input[disabled].sc-ion-input-md{opacity:0.4}.cloned-input.sc-ion-input-md{left:0;top:0;position:absolute;pointer-events:none}[dir=rtl].sc-ion-input-md .cloned-input.sc-ion-input-md,[dir=rtl].sc-ion-input-md-h .cloned-input.sc-ion-input-md,[dir=rtl] .sc-ion-input-md-h .cloned-input.sc-ion-input-md{left:unset;right:unset;right:0}.input-clear-icon.sc-ion-input-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;background-position:center;border:0;outline:none;background-color:transparent;background-repeat:no-repeat;visibility:hidden;appearance:none}.input-clear-icon.sc-ion-input-md:focus{opacity:0.5}.has-value.sc-ion-input-md-h .input-clear-icon.sc-ion-input-md{visibility:visible}.has-focus.sc-ion-input-md-h{pointer-events:none}.has-focus.sc-ion-input-md-h input.sc-ion-input-md,.has-focus.sc-ion-input-md-h a.sc-ion-input-md,.has-focus.sc-ion-input-md-h button.sc-ion-input-md{pointer-events:auto}.item-label-floating.item-has-placeholder.sc-ion-input-md-h:not(.item-has-value),.item-label-floating.item-has-placeholder:not(.item-has-value) .sc-ion-input-md-h{opacity:0}.item-label-floating.item-has-placeholder.sc-ion-input-md-h:not(.item-has-value).item-has-focus,.item-label-floating.item-has-placeholder:not(.item-has-value).item-has-focus .sc-ion-input-md-h{transition:opacity 0.15s cubic-bezier(0.4, 0, 0.2, 1);opacity:1}.sc-ion-input-md-h{--padding-top:10px;--padding-end:0;--padding-bottom:10px;--padding-start:8px;font-size:inherit}.item-label-stacked.sc-ion-input-md-h,.item-label-stacked .sc-ion-input-md-h,.item-label-floating.sc-ion-input-md-h,.item-label-floating .sc-ion-input-md-h{--padding-top:8px;--padding-bottom:8px;--padding-start:0}.input-clear-icon.sc-ion-input-md{background-image:url(\"data:image/svg+xml;charset=utf-8,<svg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'><polygon%20fill='var(--ion-color-step-600,%20%23666666)'%20points='405,136.798%20375.202,107%20256,226.202%20136.798,107%20107,136.798%20226.202,256%20107,375.202%20136.798,405%20256,285.798%20375.202,405%20405,375.202%20285.798,256'/></svg>\");width:30px;height:30px;background-size:22px}";
9
-
10
- const Input = class {
11
- constructor(hostRef) {
12
- registerInstance(this, hostRef);
13
- this.ionInput = createEvent(this, "ionInput", 7);
14
- this.ionChange = createEvent(this, "ionChange", 7);
15
- this.ionBlur = createEvent(this, "ionBlur", 7);
16
- this.ionFocus = createEvent(this, "ionFocus", 7);
17
- this.ionStyle = createEvent(this, "ionStyle", 7);
18
- this.inputId = `ion-input-${inputIds++}`;
19
- this.didBlurAfterEdit = false;
20
- this.inheritedAttributes = {};
21
- this.isComposing = false;
22
- /**
23
- * This is required for a WebKit bug which requires us to
24
- * blur and focus an input to properly focus the input in
25
- * an item with delegatesFocus. It will no longer be needed
26
- * with iOS 14.
27
- *
28
- * @internal
29
- */
30
- this.fireFocusEvents = true;
31
- this.hasFocus = false;
32
- /**
33
- * Indicates whether and how the text value should be automatically capitalized as it is entered/edited by the user.
34
- * Available options: `"off"`, `"none"`, `"on"`, `"sentences"`, `"words"`, `"characters"`.
35
- */
36
- this.autocapitalize = 'off';
37
- /**
38
- * Indicates whether the value of the control can be automatically completed by the browser.
39
- */
40
- this.autocomplete = 'off';
41
- /**
42
- * Whether auto correction should be enabled when the user is entering/editing the text value.
43
- */
44
- this.autocorrect = 'off';
45
- /**
46
- * This Boolean attribute lets you specify that a form control should have input focus when the page loads.
47
- */
48
- this.autofocus = false;
49
- /**
50
- * If `true`, a clear icon will appear in the input when there is a value. Clicking it clears the input.
51
- */
52
- this.clearInput = false;
53
- /**
54
- * Set the amount of time, in milliseconds, to wait to trigger the `ionChange` event after each keystroke. This also impacts form bindings such as `ngModel` or `v-model`.
55
- */
56
- this.debounce = 0;
57
- /**
58
- * If `true`, the user cannot interact with the input.
59
- */
60
- this.disabled = false;
61
- /**
62
- * The name of the control, which is submitted with the form data.
63
- */
64
- this.name = this.inputId;
65
- /**
66
- * If `true`, the user cannot modify the value.
67
- */
68
- this.readonly = false;
69
- /**
70
- * If `true`, the user must fill in a value before submitting a form.
71
- */
72
- this.required = false;
73
- /**
74
- * If `true`, the element will have its spelling and grammar checked.
75
- */
76
- this.spellcheck = false;
77
- /**
78
- * The type of control to display. The default type is text.
79
- */
80
- this.type = 'text';
81
- /**
82
- * The value of the input.
83
- */
84
- this.value = '';
85
- this.onInput = (ev) => {
86
- const input = ev.target;
87
- if (input) {
88
- this.value = input.value || '';
89
- }
90
- this.ionInput.emit(ev);
91
- };
92
- this.onBlur = (ev) => {
93
- this.hasFocus = false;
94
- this.focusChanged();
95
- this.emitStyle();
96
- if (this.fireFocusEvents) {
97
- this.ionBlur.emit(ev);
98
- }
99
- };
100
- this.onFocus = (ev) => {
101
- this.hasFocus = true;
102
- this.focusChanged();
103
- this.emitStyle();
104
- if (this.fireFocusEvents) {
105
- this.ionFocus.emit(ev);
106
- }
107
- };
108
- this.onKeydown = (ev) => {
109
- if (this.shouldClearOnEdit()) {
110
- // Did the input value change after it was blurred and edited?
111
- // Do not clear if user is hitting Enter to submit form
112
- if (this.didBlurAfterEdit && this.hasValue() && ev.key !== 'Enter') {
113
- // Clear the input
114
- this.clearTextInput();
115
- }
116
- // Reset the flag
117
- this.didBlurAfterEdit = false;
118
- }
119
- };
120
- this.onCompositionStart = () => {
121
- this.isComposing = true;
122
- };
123
- this.onCompositionEnd = () => {
124
- this.isComposing = false;
125
- };
126
- this.clearTextOnEnter = (ev) => {
127
- if (ev.key === 'Enter') {
128
- this.clearTextInput(ev);
129
- }
130
- };
131
- this.clearTextInput = (ev) => {
132
- if (this.clearInput && !this.readonly && !this.disabled && ev) {
133
- ev.preventDefault();
134
- ev.stopPropagation();
135
- // Attempt to focus input again after pressing clear button
136
- this.setFocus();
137
- }
138
- this.value = '';
139
- /**
140
- * This is needed for clearOnEdit
141
- * Otherwise the value will not be cleared
142
- * if user is inside the input
143
- */
144
- if (this.nativeInput) {
145
- this.nativeInput.value = '';
146
- }
147
- };
148
- }
149
- debounceChanged() {
150
- this.ionChange = debounceEvent(this.ionChange, this.debounce);
151
- }
152
- disabledChanged() {
153
- this.emitStyle();
154
- }
155
- /**
156
- * Update the item classes when the placeholder changes
157
- */
158
- placeholderChanged() {
159
- this.emitStyle();
160
- }
161
- /**
162
- * Update the native input element when the value changes
163
- */
164
- valueChanged() {
165
- const nativeInput = this.nativeInput;
166
- const value = this.getValue();
167
- if (nativeInput && nativeInput.value !== value && !this.isComposing) {
168
- /**
169
- * Assigning the native input's value on attribute
170
- * value change, allows `ionInput` implementations
171
- * to override the control's value.
172
- *
173
- * Used for patterns such as input trimming (removing whitespace),
174
- * or input masking.
175
- */
176
- nativeInput.value = value;
177
- }
178
- this.emitStyle();
179
- this.ionChange.emit({ value: this.value == null ? this.value : this.value.toString() });
180
- }
181
- componentWillLoad() {
182
- this.inheritedAttributes = Object.assign(Object.assign({}, inheritAriaAttributes(this.el)), inheritAttributes(this.el, ['tabindex', 'title']));
183
- }
184
- connectedCallback() {
185
- this.emitStyle();
186
- this.debounceChanged();
187
- {
188
- document.dispatchEvent(new CustomEvent('ionInputDidLoad', {
189
- detail: this.el,
190
- }));
191
- }
192
- }
193
- componentDidLoad() {
194
- const nativeInput = this.nativeInput;
195
- if (nativeInput) {
196
- // TODO: FW-729 Update to JSX bindings when Stencil resolves bug with:
197
- // https://github.com/ionic-team/stencil/issues/3235
198
- nativeInput.addEventListener('compositionstart', this.onCompositionStart);
199
- nativeInput.addEventListener('compositionend', this.onCompositionEnd);
200
- }
201
- }
202
- disconnectedCallback() {
203
- {
204
- document.dispatchEvent(new CustomEvent('ionInputDidUnload', {
205
- detail: this.el,
206
- }));
207
- }
208
- const nativeInput = this.nativeInput;
209
- if (nativeInput) {
210
- nativeInput.removeEventListener('compositionstart', this.onCompositionStart);
211
- nativeInput.removeEventListener('compositionEnd', this.onCompositionEnd);
212
- }
213
- }
214
- /**
215
- * Sets focus on the native `input` in `ion-input`. Use this method instead of the global
216
- * `input.focus()`.
217
- */
218
- async setFocus() {
219
- if (this.nativeInput) {
220
- this.nativeInput.focus();
221
- }
222
- }
223
- /**
224
- * Sets blur on the native `input` in `ion-input`. Use this method instead of the global
225
- * `input.blur()`.
226
- * @internal
227
- */
228
- async setBlur() {
229
- if (this.nativeInput) {
230
- this.nativeInput.blur();
231
- }
232
- }
233
- /**
234
- * Returns the native `<input>` element used under the hood.
235
- */
236
- getInputElement() {
237
- return Promise.resolve(this.nativeInput);
238
- }
239
- shouldClearOnEdit() {
240
- const { type, clearOnEdit } = this;
241
- return clearOnEdit === undefined ? type === 'password' : clearOnEdit;
242
- }
243
- getValue() {
244
- return typeof this.value === 'number' ? this.value.toString() : (this.value || '').toString();
245
- }
246
- emitStyle() {
247
- this.ionStyle.emit({
248
- interactive: true,
249
- input: true,
250
- 'has-placeholder': this.placeholder !== undefined,
251
- 'has-value': this.hasValue(),
252
- 'has-focus': this.hasFocus,
253
- 'interactive-disabled': this.disabled,
254
- });
255
- }
256
- focusChanged() {
257
- // If clearOnEdit is enabled and the input blurred but has a value, set a flag
258
- if (!this.hasFocus && this.shouldClearOnEdit() && this.hasValue()) {
259
- this.didBlurAfterEdit = true;
260
- }
261
- }
262
- hasValue() {
263
- return this.getValue().length > 0;
264
- }
265
- render() {
266
- const mode = getIonMode(this);
267
- const value = this.getValue();
268
- const labelId = this.inputId + '-lbl';
269
- const label = findItemLabel(this.el);
270
- if (label) {
271
- label.id = labelId;
272
- }
273
- return (h(Host, { "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
274
- [mode]: true,
275
- 'has-value': this.hasValue(),
276
- 'has-focus': this.hasFocus,
277
- }) }, h("input", Object.assign({ class: "native-input", ref: (input) => (this.nativeInput = input), "aria-labelledby": label ? labelId : null, disabled: this.disabled, accept: this.accept, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown }, this.inheritedAttributes)), this.clearInput && !this.readonly && !this.disabled && (h("button", { "aria-label": "reset", type: "button", class: "input-clear-icon", onPointerDown: this.clearTextInput, onKeyDown: this.clearTextOnEnter }))));
278
- }
279
- get el() { return getElement(this); }
280
- static get watchers() { return {
281
- "debounce": ["debounceChanged"],
282
- "disabled": ["disabledChanged"],
283
- "placeholder": ["placeholderChanged"],
284
- "value": ["valueChanged"]
285
- }; }
286
- };
287
- let inputIds = 0;
288
- Input.style = {
289
- ios: inputIosCss,
290
- md: inputMdCss
291
- };
292
-
293
- const textCss = ":host(.ion-color){color:var(--ion-color-base)}";
294
-
295
- const Text = class {
296
- constructor(hostRef) {
297
- registerInstance(this, hostRef);
298
- }
299
- render() {
300
- const mode = getIonMode(this);
301
- return (h(Host, { class: createColorClasses(this.color, {
302
- [mode]: true,
303
- }) }, h("slot", null)));
304
- }
305
- };
306
- Text.style = textCss;
307
-
308
- export { Input as ion_input, Text as ion_text };
@@ -1,121 +0,0 @@
1
- import { r as registerInstance, i as createEvent, h, H as Host, e as getElement } from './index-c04b9ed5.js';
2
- import { g as getIonMode } from './ionic-global-4903e23e.js';
3
- import { c as createColorClasses, h as hostContext } from './theme-7ef00c83.js';
4
-
5
- const labelIosCss = ".item.sc-ion-label-ios-h,.item .sc-ion-label-ios-h{--color:initial;display:block;color:var(--color);font-family:var(--ion-font-family, inherit);font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;box-sizing:border-box}.ion-color.sc-ion-label-ios-h{color:var(--ion-color-base)}.ion-text-wrap.sc-ion-label-ios-h,[text-wrap].sc-ion-label-ios-h{white-space:normal}.item-interactive-disabled.sc-ion-label-ios-h:not(.item-multiple-inputs),.item-interactive-disabled:not(.item-multiple-inputs) .sc-ion-label-ios-h{cursor:default;opacity:0.3;pointer-events:none}.item-input.sc-ion-label-ios-h,.item-input .sc-ion-label-ios-h{flex:initial;max-width:200px;pointer-events:none}.item-textarea.sc-ion-label-ios-h,.item-textarea .sc-ion-label-ios-h{align-self:baseline}.label-fixed.sc-ion-label-ios-h{flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.label-stacked.sc-ion-label-ios-h,.label-floating.sc-ion-label-ios-h{margin-bottom:0;align-self:stretch;width:auto;max-width:100%}.label-no-animate.label-floating.sc-ion-label-ios-h{transition:none}.sc-ion-label-ios-s h1,.sc-ion-label-ios-s h2,.sc-ion-label-ios-s h3,.sc-ion-label-ios-s h4,.sc-ion-label-ios-s h5,.sc-ion-label-ios-s h6{text-overflow:inherit;overflow:inherit}.ion-text-wrap.sc-ion-label-ios-h,[text-wrap].sc-ion-label-ios-h{font-size:14px;line-height:1.5}.label-stacked.sc-ion-label-ios-h{margin-bottom:4px;font-size:14px}.label-floating.sc-ion-label-ios-h{margin-bottom:0;transform:translate(0, 29px);transform-origin:left top;transition:transform 150ms ease-in-out}[dir=rtl].sc-ion-label-ios-h -no-combinator.label-floating.sc-ion-label-ios-h,[dir=rtl] .sc-ion-label-ios-h -no-combinator.label-floating.sc-ion-label-ios-h,[dir=rtl].label-floating.sc-ion-label-ios-h,[dir=rtl] .label-floating.sc-ion-label-ios-h{transform-origin:right top}.item-textarea.label-floating.sc-ion-label-ios-h,.item-textarea .label-floating.sc-ion-label-ios-h{transform:translate(0, 28px)}.item-has-focus.label-floating.sc-ion-label-ios-h,.item-has-focus .label-floating.sc-ion-label-ios-h,.item-has-placeholder.sc-ion-label-ios-h:not(.item-input).label-floating,.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-ios-h,.item-has-value.label-floating.sc-ion-label-ios-h,.item-has-value .label-floating.sc-ion-label-ios-h{transform:scale(0.82)}.sc-ion-label-ios-s h1{margin-left:0;margin-right:0;margin-top:3px;margin-bottom:2px;font-size:22px;font-weight:normal}.sc-ion-label-ios-s h2{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:17px;font-weight:normal}.sc-ion-label-ios-s h3,.sc-ion-label-ios-s h4,.sc-ion-label-ios-s h5,.sc-ion-label-ios-s h6{margin-left:0;margin-right:0;margin-top:0;margin-bottom:3px;font-size:14px;font-weight:normal;line-height:normal}.sc-ion-label-ios-s p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:14px;line-height:normal;text-overflow:inherit;overflow:inherit}.sc-ion-label-ios-s>p{color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.4)}.sc-ion-label-ios-h.in-item-color.sc-ion-label-ios-s>p{color:inherit}.sc-ion-label-ios-s h2:last-child,.sc-ion-label-ios-s h3:last-child,.sc-ion-label-ios-s h4:last-child,.sc-ion-label-ios-s h5:last-child,.sc-ion-label-ios-s h6:last-child,.sc-ion-label-ios-s p:last-child{margin-bottom:0}";
6
-
7
- const labelMdCss = ".item.sc-ion-label-md-h,.item .sc-ion-label-md-h{--color:initial;display:block;color:var(--color);font-family:var(--ion-font-family, inherit);font-size:inherit;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;box-sizing:border-box}.ion-color.sc-ion-label-md-h{color:var(--ion-color-base)}.ion-text-wrap.sc-ion-label-md-h,[text-wrap].sc-ion-label-md-h{white-space:normal}.item-interactive-disabled.sc-ion-label-md-h:not(.item-multiple-inputs),.item-interactive-disabled:not(.item-multiple-inputs) .sc-ion-label-md-h{cursor:default;opacity:0.3;pointer-events:none}.item-input.sc-ion-label-md-h,.item-input .sc-ion-label-md-h{flex:initial;max-width:200px;pointer-events:none}.item-textarea.sc-ion-label-md-h,.item-textarea .sc-ion-label-md-h{align-self:baseline}.label-fixed.sc-ion-label-md-h{flex:0 0 100px;width:100px;min-width:100px;max-width:200px}.label-stacked.sc-ion-label-md-h,.label-floating.sc-ion-label-md-h{margin-bottom:0;align-self:stretch;width:auto;max-width:100%}.label-no-animate.label-floating.sc-ion-label-md-h{transition:none}.sc-ion-label-md-s h1,.sc-ion-label-md-s h2,.sc-ion-label-md-s h3,.sc-ion-label-md-s h4,.sc-ion-label-md-s h5,.sc-ion-label-md-s h6{text-overflow:inherit;overflow:inherit}.ion-text-wrap.sc-ion-label-md-h,[text-wrap].sc-ion-label-md-h{line-height:1.5}.label-stacked.sc-ion-label-md-h,.label-floating.sc-ion-label-md-h{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;transform-origin:top left}.label-stacked.label-rtl.sc-ion-label-md-h,.label-floating.label-rtl.sc-ion-label-md-h{transform-origin:top right}.label-stacked.sc-ion-label-md-h{transform:translateY(50%) scale(0.75);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1)}.label-floating.sc-ion-label-md-h{transform:translateY(96%);transition:color 150ms cubic-bezier(0.4, 0, 0.2, 1), transform 150ms cubic-bezier(0.4, 0, 0.2, 1)}.ion-focused.label-floating.sc-ion-label-md-h,.ion-focused .label-floating.sc-ion-label-md-h,.item-has-focus.label-floating.sc-ion-label-md-h,.item-has-focus .label-floating.sc-ion-label-md-h,.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating,.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h,.item-has-value.label-floating.sc-ion-label-md-h,.item-has-value .label-floating.sc-ion-label-md-h{transform:translateY(50%) scale(0.75)}.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h{transform:translateY(-6px) scale(0.75);position:relative;max-width:min-content;background-color:var(--ion-item-background, var(--ion-background-color, #fff));overflow:visible;z-index:3}.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h::before,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h::before,.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h::after,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating::before,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating::after,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h::after{position:absolute;width:4px;height:100%;background-color:var(--ion-item-background, var(--ion-background-color, #fff));content:\"\"}.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h::before,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating::before,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h::before,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h::before{left:calc(-1 * 4px)}.item-fill-outline.ion-focused.label-floating.sc-ion-label-md-h::after,.item-fill-outline.ion-focused .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-focus.label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-focus .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).label-floating::after,.item-fill-outline.item-has-placeholder:not(.item-input) .label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-value.label-floating.sc-ion-label-md-h::after,.item-fill-outline.item-has-value .label-floating.sc-ion-label-md-h::after{right:calc(-1 * 4px)}.item-fill-outline.ion-focused.item-has-start-slot.label-floating.sc-ion-label-md-h,.item-fill-outline.ion-focused.item-has-start-slot .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-focus.item-has-start-slot.label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-focus.item-has-start-slot .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).item-has-start-slot.label-floating,.item-fill-outline.item-has-placeholder:not(.item-input).item-has-start-slot .label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-value.item-has-start-slot.label-floating.sc-ion-label-md-h,.item-fill-outline.item-has-value.item-has-start-slot .label-floating.sc-ion-label-md-h{transform:translateX(-32px) translateY(-6px) scale(0.75)}.item-fill-outline.ion-focused.item-has-start-slot.label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.ion-focused.item-has-start-slot .label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-focus.item-has-start-slot.label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-focus.item-has-start-slot .label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-placeholder.sc-ion-label-md-h:not(.item-input).item-has-start-slot.label-floating.label-rtl,.item-fill-outline.item-has-placeholder:not(.item-input).item-has-start-slot .label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-value.item-has-start-slot.label-floating.label-rtl.sc-ion-label-md-h,.item-fill-outline.item-has-value.item-has-start-slot .label-floating.label-rtl.sc-ion-label-md-h{transform:translateX(calc(-1 * -32px)) translateY(-6px) scale(0.75)}.ion-focused.label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-focused .label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-focused.label-floating.sc-ion-label-md-h:not(.ion-color),.ion-focused .label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-primary, #3880ff)}.ion-focused.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-focused.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-focused.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.ion-focused.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-has-focus.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-contrast)}.item-fill-solid.ion-focused.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.ion-focused.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.ion-focused.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.ion-focused.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.ion-focused.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.ion-focused.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.ion-focused.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.ion-focused.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.item-has-focus.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.item-has-focus.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.item-has-focus.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-solid.item-has-focus.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.item-has-focus.ion-color.label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.item-has-focus.ion-color .label-stacked.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.item-has-focus.ion-color.label-floating.sc-ion-label-md-h:not(.ion-color),.item-fill-outline.item-has-focus.ion-color .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--ion-color-base)}.ion-invalid.ion-touched.label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-invalid.ion-touched .label-stacked.sc-ion-label-md-h:not(.ion-color),.ion-invalid.ion-touched.label-floating.sc-ion-label-md-h:not(.ion-color),.ion-invalid.ion-touched .label-floating.sc-ion-label-md-h:not(.ion-color){color:var(--highlight-color-invalid)}.sc-ion-label-md-s h1{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}.sc-ion-label-md-s h2{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:16px;font-weight:normal}.sc-ion-label-md-s h3,.sc-ion-label-md-s h4,.sc-ion-label-md-s h5,.sc-ion-label-md-s h6{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:14px;font-weight:normal;line-height:normal}.sc-ion-label-md-s p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:14px;line-height:20px;text-overflow:inherit;overflow:inherit}.sc-ion-label-md-s>p{color:var(--ion-color-step-600, #666666)}.sc-ion-label-md-h.in-item-color.sc-ion-label-md-s>p{color:inherit}";
8
-
9
- const Label = class {
10
- constructor(hostRef) {
11
- registerInstance(this, hostRef);
12
- this.ionColor = createEvent(this, "ionColor", 7);
13
- this.ionStyle = createEvent(this, "ionStyle", 7);
14
- this.inRange = false;
15
- this.noAnimate = false;
16
- }
17
- componentWillLoad() {
18
- this.inRange = !!this.el.closest('ion-range');
19
- this.noAnimate = this.position === 'floating';
20
- this.emitStyle();
21
- this.emitColor();
22
- }
23
- componentDidLoad() {
24
- if (this.noAnimate) {
25
- setTimeout(() => {
26
- this.noAnimate = false;
27
- }, 1000);
28
- }
29
- }
30
- colorChanged() {
31
- this.emitColor();
32
- }
33
- positionChanged() {
34
- this.emitStyle();
35
- }
36
- emitColor() {
37
- const { color } = this;
38
- this.ionColor.emit({
39
- 'item-label-color': color !== undefined,
40
- [`ion-color-${color}`]: color !== undefined,
41
- });
42
- }
43
- emitStyle() {
44
- const { inRange, position } = this;
45
- // If the label is inside of a range we don't want
46
- // to override the classes added by the label that
47
- // is a direct child of the item
48
- if (!inRange) {
49
- this.ionStyle.emit({
50
- label: true,
51
- [`label-${position}`]: position !== undefined,
52
- });
53
- }
54
- }
55
- render() {
56
- const position = this.position;
57
- const mode = getIonMode(this);
58
- return (h(Host, { class: createColorClasses(this.color, {
59
- [mode]: true,
60
- 'in-item-color': hostContext('ion-item.ion-color', this.el),
61
- [`label-${position}`]: position !== undefined,
62
- [`label-no-animate`]: this.noAnimate,
63
- 'label-rtl': document.dir === 'rtl',
64
- }) }));
65
- }
66
- get el() { return getElement(this); }
67
- static get watchers() { return {
68
- "color": ["colorChanged"],
69
- "position": ["positionChanged"]
70
- }; }
71
- };
72
- Label.style = {
73
- ios: labelIosCss,
74
- md: labelMdCss
75
- };
76
-
77
- const listIosCss = "ion-list{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;contain:content;list-style-type:none}ion-list.list-inset{transform:translateZ(0);overflow:hidden}.list-ios{background:var(--ion-item-background, var(--ion-background-color, #fff))}.list-ios.list-inset{margin-left:16px;margin-right:16px;margin-top:16px;margin-bottom:16px;border-radius:10px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.list-ios.list-inset{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}.list-ios.list-inset ion-item{--border-width:0 0 1px 0;--inner-border-width:0}.list-ios.list-inset ion-item:last-child{--border-width:0;--inner-border-width:0}.list-ios.list-inset+ion-list.list-inset{margin-top:0}.list-ios-lines-none .item{--border-width:0;--inner-border-width:0}.list-ios-lines-full .item,.list-ios .item-lines-full{--border-width:0 0 0.55px 0}.list-ios-lines-full .item{--inner-border-width:0}.list-ios-lines-inset .item,.list-ios .item-lines-inset{--inner-border-width:0 0 0.55px 0}.list-ios .item-lines-inset{--border-width:0}.list-ios .item-lines-full{--inner-border-width:0}.list-ios .item-lines-none{--border-width:0;--inner-border-width:0}ion-card .list-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}";
78
-
79
- const listMdCss = "ion-list{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;display:block;contain:content;list-style-type:none}ion-list.list-inset{transform:translateZ(0);overflow:hidden}.list-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:8px;padding-bottom:8px;background:var(--ion-item-background, var(--ion-background-color, #fff))}.list-md>.input:last-child::after{left:0}[dir=rtl] .list-md>.input:last-child::after,:host-context([dir=rtl]) .list-md>.input:last-child::after{left:unset;right:unset;right:0}.list-md.list-inset{margin-left:16px;margin-right:16px;margin-top:16px;margin-bottom:16px;border-radius:2px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.list-md.list-inset{margin-left:unset;margin-right:unset;-webkit-margin-start:16px;margin-inline-start:16px;-webkit-margin-end:16px;margin-inline-end:16px}}.list-md.list-inset ion-item:first-child{--border-radius:2px 2px 0 0;--border-width:0 0 1px 0}.list-md.list-inset ion-item:last-child{--border-radius:0 0 2px, 2px;--border-width:0}.list-md.list-inset .item-interactive{--padding-start:0;--padding-end:0}.list-md.list-inset+ion-list.list-inset{margin-top:0}.list-md-lines-none .item{--border-width:0;--inner-border-width:0}.list-md-lines-full .item,.list-md .item-lines-full{--border-width:0 0 1px 0}.list-md-lines-full .item{--inner-border-width:0}.list-md-lines-inset .item,.list-md .item-lines-inset{--inner-border-width:0 0 1px 0}.list-md .item-lines-inset{--border-width:0}.list-md .item-lines-full{--inner-border-width:0}.list-md .item-lines-none{--border-width:0;--inner-border-width:0}ion-card .list-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}";
80
-
81
- const List = class {
82
- constructor(hostRef) {
83
- registerInstance(this, hostRef);
84
- /**
85
- * If `true`, the list will have margin around it and rounded corners.
86
- */
87
- this.inset = false;
88
- }
89
- /**
90
- * If `ion-item-sliding` are used inside the list, this method closes
91
- * any open sliding item.
92
- *
93
- * Returns `true` if an actual `ion-item-sliding` is closed.
94
- */
95
- async closeSlidingItems() {
96
- const item = this.el.querySelector('ion-item-sliding');
97
- if (item === null || item === void 0 ? void 0 : item.closeOpened) {
98
- return item.closeOpened();
99
- }
100
- return false;
101
- }
102
- render() {
103
- const mode = getIonMode(this);
104
- const { lines, inset } = this;
105
- return (h(Host, { role: "list", class: {
106
- [mode]: true,
107
- // Used internally for styling
108
- [`list-${mode}`]: true,
109
- 'list-inset': inset,
110
- [`list-lines-${lines}`]: lines !== undefined,
111
- [`list-${mode}-lines-${lines}`]: lines !== undefined,
112
- } }));
113
- }
114
- get el() { return getElement(this); }
115
- };
116
- List.style = {
117
- ios: listIosCss,
118
- md: listMdCss
119
- };
120
-
121
- export { Label as ion_label, List as ion_list };
@@ -1,60 +0,0 @@
1
- import { r as registerInstance, h, H as Host } from './index-c04b9ed5.js';
2
- import { c as config, g as getIonMode } from './ionic-global-4903e23e.js';
3
- import { c as createColorClasses } from './theme-7ef00c83.js';
4
- import { S as SPINNERS } from './spinner-configs-a37e628a.js';
5
-
6
- const spinnerCss = ":host{display:inline-block;position:relative;width:28px;height:28px;color:var(--color);user-select:none}:host(.ion-color){color:var(--ion-color-base)}svg{transform-origin:center;position:absolute;top:0;left:0;width:100%;height:100%;transform:translateZ(0)}[dir=rtl] svg,:host-context([dir=rtl]) svg{transform-origin:calc(100% - center)}:host(.spinner-lines) line,:host(.spinner-lines-small) line{stroke-width:7px}:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-width:4px}:host(.spinner-lines) line,:host(.spinner-lines-small) line,:host(.spinner-lines-sharp) line,:host(.spinner-lines-sharp-small) line{stroke-linecap:round;stroke:currentColor}:host(.spinner-lines) svg,:host(.spinner-lines-small) svg,:host(.spinner-lines-sharp) svg,:host(.spinner-lines-sharp-small) svg{animation:spinner-fade-out 1s linear infinite}:host(.spinner-bubbles) svg{animation:spinner-scale-out 1s linear infinite;fill:currentColor}:host(.spinner-circles) svg{animation:spinner-fade-out 1s linear infinite;fill:currentColor}:host(.spinner-crescent) circle{fill:transparent;stroke-width:4px;stroke-dasharray:128px;stroke-dashoffset:82px;stroke:currentColor}:host(.spinner-crescent) svg{animation:spinner-rotate 1s linear infinite}:host(.spinner-dots) circle{stroke-width:0;fill:currentColor}:host(.spinner-dots) svg{animation:spinner-dots 1s linear infinite}:host(.spinner-circular) svg{animation:spinner-circular linear infinite}:host(.spinner-circular) circle{animation:spinner-circular-inner ease-in-out infinite;stroke:currentColor;stroke-dasharray:80px, 200px;stroke-dashoffset:0px;stroke-width:5.6;fill:none}:host(.spinner-paused),:host(.spinner-paused) svg,:host(.spinner-paused) circle{animation-play-state:paused}@keyframes spinner-fade-out{0%{opacity:1}100%{opacity:0}}@keyframes spinner-scale-out{0%{transform:scale(1, 1)}100%{transform:scale(0, 0)}}@keyframes spinner-rotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes spinner-dots{0%{transform:scale(1, 1);opacity:0.9}50%{transform:scale(0.4, 0.4);opacity:0.3}100%{transform:scale(1, 1);opacity:0.9}}@keyframes spinner-circular{100%{transform:rotate(360deg)}}@keyframes spinner-circular-inner{0%{stroke-dasharray:1px, 200px;stroke-dashoffset:0px}50%{stroke-dasharray:100px, 200px;stroke-dashoffset:-15px}100%{stroke-dasharray:100px, 200px;stroke-dashoffset:-125px}}";
7
-
8
- const Spinner = class {
9
- constructor(hostRef) {
10
- registerInstance(this, hostRef);
11
- /**
12
- * If `true`, the spinner's animation will be paused.
13
- */
14
- this.paused = false;
15
- }
16
- getName() {
17
- const spinnerName = this.name || config.get('spinner');
18
- const mode = getIonMode(this);
19
- if (spinnerName) {
20
- return spinnerName;
21
- }
22
- return mode === 'ios' ? 'lines' : 'circular';
23
- }
24
- render() {
25
- const self = this;
26
- const mode = getIonMode(self);
27
- const spinnerName = self.getName();
28
- const spinner = SPINNERS[spinnerName] || SPINNERS['lines'];
29
- const duration = typeof self.duration === 'number' && self.duration > 10 ? self.duration : spinner.dur;
30
- const svgs = [];
31
- if (spinner.circles !== undefined) {
32
- for (let i = 0; i < spinner.circles; i++) {
33
- svgs.push(buildCircle(spinner, duration, i, spinner.circles));
34
- }
35
- }
36
- else if (spinner.lines !== undefined) {
37
- for (let i = 0; i < spinner.lines; i++) {
38
- svgs.push(buildLine(spinner, duration, i, spinner.lines));
39
- }
40
- }
41
- return (h(Host, { class: createColorClasses(self.color, {
42
- [mode]: true,
43
- [`spinner-${spinnerName}`]: true,
44
- 'spinner-paused': self.paused || config.getBoolean('_testing'),
45
- }), role: "progressbar", style: spinner.elmDuration ? { animationDuration: duration + 'ms' } : {} }, svgs));
46
- }
47
- };
48
- const buildCircle = (spinner, duration, index, total) => {
49
- const data = spinner.fn(duration, index, total);
50
- data.style['animation-duration'] = duration + 'ms';
51
- return (h("svg", { viewBox: data.viewBox || '0 0 64 64', style: data.style }, h("circle", { transform: data.transform || 'translate(32,32)', cx: data.cx, cy: data.cy, r: data.r, style: spinner.elmDuration ? { animationDuration: duration + 'ms' } : {} })));
52
- };
53
- const buildLine = (spinner, duration, index, total) => {
54
- const data = spinner.fn(duration, index, total);
55
- data.style['animation-duration'] = duration + 'ms';
56
- return (h("svg", { viewBox: data.viewBox || '0 0 64 64', style: data.style }, h("line", { transform: "translate(32,32)", y1: data.y1, y2: data.y2 })));
57
- };
58
- Spinner.style = spinnerCss;
59
-
60
- export { Spinner as ion_spinner };