@venite/components 0.16.2 → 0.16.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/dist/cjs/ion-button_13.cjs.entry.js +1787 -0
  2. package/dist/cjs/ion-checkbox_3.cjs.entry.js +235 -0
  3. package/dist/cjs/ion-segment_16.cjs.entry.js +5 -4
  4. package/dist/cjs/ldf-day-name_5.cjs.entry.js +1 -2
  5. package/dist/cjs/ldf-editable-add-block-menu.cjs.entry.js +2 -2
  6. package/dist/cjs/ldf-editable-filter-documents.cjs.entry.js +1 -1
  7. package/dist/cjs/ldf-editable-lookup_2.cjs.entry.js +3 -3
  8. package/dist/cjs/ldf-editable-metadata.cjs.entry.js +3 -3
  9. package/dist/cjs/ldf.cjs.js +1 -1
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/cjs/{option-a9f12c93.js → option-1ebd4514.js} +6 -2
  12. package/dist/cjs/{rubric-85fc7418.js → rubric-662d8baa.js} +44 -5
  13. package/dist/cjs/{specific-class-acf1bb37.js → specific-class-d80d272a.js} +2 -2
  14. package/dist/collection/components/liturgical-document/dist/liturgical-document.js +6 -1
  15. package/dist/collection/components/liturgical-document/liturgical-document.js +21 -1
  16. package/dist/collection/components/option/dist/option.js +318 -0
  17. package/dist/collection/components/prayers-and-thanksgivings/dist/prayers-and-thanksgivings.js +258 -0
  18. package/dist/collection/components/prayers-and-thanksgivings/prayers-and-thanksgivings.js +55 -36
  19. package/dist/collection/components/psalm/dist/psalm.js +0 -1
  20. package/dist/collection/components/psalm/psalm.js +0 -1
  21. package/dist/collection/components/string/dist/string.js +0 -1
  22. package/dist/collection/components/string/string.js +0 -1
  23. package/dist/collection/components/text/dist/text.js +1 -1
  24. package/dist/collection/components/text/text.js +1 -1
  25. package/dist/esm/{app-globals-2b41bd8d.js → app-globals-729b03cf.js} +1 -1
  26. package/dist/esm/{index-1885f1b8.js → index-734a6b69.js} +1 -1
  27. package/dist/esm/{index-8b9e221a.js → index-9579282b.js} +3 -3
  28. package/dist/esm/{index-dcd553ac.js → index-f0f6a379.js} +1 -1
  29. package/dist/esm/ion-action-sheet.entry.js +3 -3
  30. package/dist/esm/ion-alert.entry.js +3 -3
  31. package/dist/esm/ion-app.entry.js +3 -3
  32. package/dist/esm/ion-avatar.entry.js +2 -2
  33. package/dist/esm/ion-back-button.entry.js +2 -2
  34. package/dist/esm/ion-backdrop.entry.js +2 -2
  35. package/dist/esm/ion-badge.entry.js +2 -2
  36. package/dist/esm/ion-button_13.entry.js +1771 -0
  37. package/dist/esm/ion-card-content_6.entry.js +3 -3
  38. package/dist/esm/ion-card-subtitle.entry.js +2 -2
  39. package/dist/esm/ion-card_2.entry.js +2 -2
  40. package/dist/esm/ion-checkbox_3.entry.js +229 -0
  41. package/dist/esm/ion-chip.entry.js +2 -2
  42. package/dist/esm/ion-datetime_2.entry.js +3 -3
  43. package/dist/esm/ion-fab-button.entry.js +2 -2
  44. package/dist/esm/ion-fab-list.entry.js +2 -2
  45. package/dist/esm/ion-fab.entry.js +2 -2
  46. package/dist/esm/ion-footer.entry.js +2 -2
  47. package/dist/esm/ion-img.entry.js +2 -2
  48. package/dist/esm/ion-infinite-scroll-content.entry.js +2 -2
  49. package/dist/esm/ion-infinite-scroll.entry.js +2 -2
  50. package/dist/esm/ion-input_2.entry.js +2 -2
  51. package/dist/esm/ion-item-divider.entry.js +2 -2
  52. package/dist/esm/ion-item-group.entry.js +2 -2
  53. package/dist/esm/ion-item-option.entry.js +2 -2
  54. package/dist/esm/ion-item-options.entry.js +2 -2
  55. package/dist/esm/ion-item-sliding.entry.js +2 -2
  56. package/dist/esm/ion-list-header.entry.js +2 -2
  57. package/dist/esm/ion-loading.entry.js +3 -3
  58. package/dist/esm/ion-menu-button.entry.js +4 -4
  59. package/dist/esm/ion-menu-toggle.entry.js +4 -4
  60. package/dist/esm/ion-menu.entry.js +3 -3
  61. package/dist/esm/ion-modal.entry.js +4 -4
  62. package/dist/esm/ion-nav-link.entry.js +1 -1
  63. package/dist/esm/ion-nav.entry.js +3 -3
  64. package/dist/esm/ion-note.entry.js +2 -2
  65. package/dist/esm/ion-picker-column.entry.js +2 -2
  66. package/dist/esm/ion-picker.entry.js +3 -3
  67. package/dist/esm/ion-popover.entry.js +4 -4
  68. package/dist/esm/ion-progress-bar.entry.js +2 -2
  69. package/dist/esm/ion-radio_2.entry.js +2 -2
  70. package/dist/esm/ion-range.entry.js +2 -2
  71. package/dist/esm/ion-refresher-content.entry.js +2 -2
  72. package/dist/esm/ion-refresher.entry.js +2 -2
  73. package/dist/esm/ion-reorder-group.entry.js +2 -2
  74. package/dist/esm/ion-reorder.entry.js +2 -2
  75. package/dist/esm/ion-route-redirect.entry.js +1 -1
  76. package/dist/esm/ion-route.entry.js +1 -1
  77. package/dist/esm/ion-router-link.entry.js +2 -2
  78. package/dist/esm/ion-router-outlet.entry.js +3 -3
  79. package/dist/esm/ion-router.entry.js +1 -1
  80. package/dist/esm/ion-segment_16.entry.js +8 -7
  81. package/dist/esm/ion-select-popover.entry.js +3 -3
  82. package/dist/esm/ion-select_2.entry.js +3 -3
  83. package/dist/esm/ion-slide.entry.js +2 -2
  84. package/dist/esm/ion-slides.entry.js +2 -2
  85. package/dist/esm/ion-spinner.entry.js +2 -2
  86. package/dist/esm/ion-split-pane.entry.js +2 -2
  87. package/dist/esm/ion-tab-bar.entry.js +2 -2
  88. package/dist/esm/ion-tab-button.entry.js +2 -2
  89. package/dist/esm/ion-tab.entry.js +1 -1
  90. package/dist/esm/ion-tabs.entry.js +1 -1
  91. package/dist/esm/ion-text.entry.js +2 -2
  92. package/dist/esm/ion-textarea.entry.js +2 -2
  93. package/dist/esm/ion-thumbnail.entry.js +2 -2
  94. package/dist/esm/ion-toast.entry.js +3 -3
  95. package/dist/esm/ion-virtual-scroll.entry.js +1 -1
  96. package/dist/esm/{ionic-global-fef4299f.js → ionic-global-ef89a0a5.js} +1 -1
  97. package/dist/esm/{ios.transition-2460f61e.js → ios.transition-b1be0863.js} +2 -2
  98. package/dist/esm/ldf-day-name_5.entry.js +4 -5
  99. package/dist/esm/ldf-editable-add-block-menu.entry.js +3 -3
  100. package/dist/esm/ldf-editable-condition-piece.entry.js +1 -1
  101. package/dist/esm/ldf-editable-condition.entry.js +1 -1
  102. package/dist/esm/ldf-editable-filter-documents.entry.js +2 -2
  103. package/dist/esm/ldf-editable-lookup_2.entry.js +4 -4
  104. package/dist/esm/ldf-editable-metadata.entry.js +4 -4
  105. package/dist/esm/ldf-editable-preference-option.entry.js +1 -1
  106. package/dist/esm/ldf-editable-preference.entry.js +1 -1
  107. package/dist/esm/ldf-editable-preferences.entry.js +3 -3
  108. package/dist/esm/ldf-editable-string-list.entry.js +1 -1
  109. package/dist/esm/ldf-editor-cursors.entry.js +1 -1
  110. package/dist/esm/ldf-editor.entry.js +1 -1
  111. package/dist/esm/ldf.js +4 -4
  112. package/dist/esm/loader.js +4 -4
  113. package/dist/esm/{md.transition-7eb37dd1.js → md.transition-1763f475.js} +2 -2
  114. package/dist/esm/{menu-toggle-util-d6bed342.js → menu-toggle-util-29e61ff3.js} +1 -1
  115. package/dist/esm/{option-042c9673.js → option-47d50244.js} +6 -2
  116. package/dist/esm/{overlays-e1d5aa58.js → overlays-06b43b65.js} +2 -2
  117. package/dist/esm/{rubric-9c750946.js → rubric-2330a030.js} +44 -5
  118. package/dist/esm/{specific-class-2df4b72a.js → specific-class-28e26e40.js} +2 -2
  119. package/dist/esm/{status-tap-900b721a.js → status-tap-7458bd71.js} +1 -1
  120. package/dist/ldf/ldf.esm.js +1 -1
  121. package/dist/ldf/{p-a7a10747.entry.js → p-018e57db.entry.js} +1 -1
  122. package/dist/ldf/p-02ef484e.entry.js +1 -0
  123. package/dist/ldf/{p-5bfa9969.entry.js → p-04715bf0.entry.js} +1 -1
  124. package/dist/ldf/{p-8cb241a8.entry.js → p-0651768a.entry.js} +1 -1
  125. package/dist/ldf/{p-a80bce6a.entry.js → p-07d6d3ad.entry.js} +1 -1
  126. package/dist/ldf/p-08584ccc.entry.js +1 -0
  127. package/dist/ldf/{p-d3a17399.entry.js → p-0873a34a.entry.js} +1 -1
  128. package/dist/ldf/{p-5febfbde.entry.js → p-0f69db87.entry.js} +1 -1
  129. package/dist/ldf/{p-6b6b9f77.entry.js → p-1504379f.entry.js} +1 -1
  130. package/dist/ldf/{p-110c6e85.entry.js → p-1a8e2899.entry.js} +1 -1
  131. package/dist/ldf/p-21e2f0a3.entry.js +1 -0
  132. package/dist/ldf/{p-6c3d4341.entry.js → p-25a736f1.entry.js} +1 -1
  133. package/dist/ldf/{p-43d7a734.entry.js → p-2c36a583.entry.js} +1 -1
  134. package/dist/ldf/{p-4c8f895f.entry.js → p-2fa1c501.entry.js} +1 -1
  135. package/dist/ldf/{p-a0b9b689.entry.js → p-302dc0d5.entry.js} +1 -1
  136. package/dist/ldf/{p-54f83929.entry.js → p-327b14ac.entry.js} +1 -1
  137. package/dist/ldf/{p-4d5b52ad.entry.js → p-32f7ba8e.entry.js} +1 -1
  138. package/dist/ldf/{p-8a064810.entry.js → p-3545fcdc.entry.js} +1 -1
  139. package/dist/ldf/{p-8c8bf861.entry.js → p-374118d7.entry.js} +1 -1
  140. package/dist/ldf/p-37f356a4.entry.js +1 -0
  141. package/dist/ldf/{p-7f7de09a.entry.js → p-380f8655.entry.js} +1 -1
  142. package/dist/ldf/{p-7df0687c.entry.js → p-3c9930ff.entry.js} +1 -1
  143. package/dist/ldf/{p-dbdb2b0a.entry.js → p-3f39c2ad.entry.js} +1 -1
  144. package/dist/ldf/{p-35680ca6.entry.js → p-430c418a.entry.js} +1 -1
  145. package/dist/ldf/{p-986921d2.js → p-48e44122.js} +1 -1
  146. package/dist/ldf/{p-4b154310.entry.js → p-4a4380fa.entry.js} +1 -1
  147. package/dist/ldf/p-4b80de48.js +1 -0
  148. package/dist/ldf/{p-06bc76d9.entry.js → p-4d392128.entry.js} +1 -1
  149. package/dist/ldf/p-4e0b3c0f.entry.js +1 -0
  150. package/dist/ldf/{p-b631cadf.entry.js → p-52656429.entry.js} +1 -1
  151. package/dist/ldf/p-53c807a4.js +1 -0
  152. package/dist/ldf/{p-91969280.js → p-55d797c1.js} +1 -1
  153. package/dist/ldf/{p-71ed0c0f.entry.js → p-59340423.entry.js} +1 -1
  154. package/dist/ldf/{p-0c8f1542.entry.js → p-5be7ff17.entry.js} +1 -1
  155. package/dist/ldf/p-5bf20b51.js +1 -0
  156. package/dist/ldf/{p-ae3cd06a.entry.js → p-63b5daf6.entry.js} +1 -1
  157. package/dist/ldf/{p-0afd3d32.entry.js → p-66a7385e.entry.js} +1 -1
  158. package/dist/ldf/p-698a3399.entry.js +1 -0
  159. package/dist/ldf/{p-4d92e32b.entry.js → p-69f85ad3.entry.js} +1 -1
  160. package/dist/ldf/{p-0cb749f6.entry.js → p-6fe24d85.entry.js} +1 -1
  161. package/dist/ldf/{p-ceb4c199.entry.js → p-70e47f8b.entry.js} +1 -1
  162. package/dist/ldf/{p-e778bf3c.entry.js → p-73a16936.entry.js} +1 -1
  163. package/dist/ldf/{p-bacac874.entry.js → p-79a526a1.entry.js} +1 -1
  164. package/dist/ldf/{p-20f5f7c0.entry.js → p-7abeb82c.entry.js} +1 -1
  165. package/dist/ldf/{p-79997a72.entry.js → p-7df11f48.entry.js} +1 -1
  166. package/dist/ldf/{p-91cef52f.entry.js → p-7efa633b.entry.js} +1 -1
  167. package/dist/ldf/{p-8ed588f7.entry.js → p-84f38db6.entry.js} +1 -1
  168. package/dist/ldf/{p-5a74ad40.entry.js → p-8767a74e.entry.js} +1 -1
  169. package/dist/ldf/{p-7fba586d.entry.js → p-8932ec85.entry.js} +1 -1
  170. package/dist/ldf/{p-74e1596c.entry.js → p-8c2727db.entry.js} +1 -1
  171. package/dist/ldf/{p-913c92ca.entry.js → p-972e4f2a.entry.js} +1 -1
  172. package/dist/ldf/{p-0ce10dcd.js → p-978e2c6d.js} +1 -1
  173. package/dist/ldf/p-9bd5d1d4.entry.js +1 -0
  174. package/dist/ldf/{p-5fa1dcfb.entry.js → p-9c397c49.entry.js} +1 -1
  175. package/dist/ldf/p-9e2c172e.entry.js +1 -0
  176. package/dist/ldf/{p-6b0fab5d.js → p-9e82b403.js} +2 -2
  177. package/dist/ldf/{p-2b9556d3.entry.js → p-a98c89d1.entry.js} +1 -1
  178. package/dist/ldf/{p-c3dbb344.entry.js → p-ac7a17ce.entry.js} +1 -1
  179. package/dist/ldf/{p-3b236b73.js → p-acbbd1ec.js} +1 -1
  180. package/dist/ldf/p-b1242016.js +1 -0
  181. package/dist/ldf/{p-50d56c76.entry.js → p-b7388aec.entry.js} +1 -1
  182. package/dist/ldf/{p-37ead536.entry.js → p-b78336d7.entry.js} +1 -1
  183. package/dist/ldf/{p-9282f514.entry.js → p-ba021918.entry.js} +1 -1
  184. package/dist/ldf/{p-65c80b87.entry.js → p-c1bcd0a9.entry.js} +1 -1
  185. package/dist/ldf/{p-4c825920.entry.js → p-c1df632d.entry.js} +1 -1
  186. package/dist/ldf/{p-a467efd9.entry.js → p-c3042920.entry.js} +1 -1
  187. package/dist/ldf/{p-860e2e8c.entry.js → p-c3807857.entry.js} +1 -1
  188. package/dist/ldf/{p-faf3cb15.entry.js → p-c3841978.entry.js} +1 -1
  189. package/dist/ldf/{p-b7fe7b29.entry.js → p-c41e055c.entry.js} +1 -1
  190. package/dist/ldf/{p-5cefe450.entry.js → p-c6163f81.entry.js} +1 -1
  191. package/dist/ldf/{p-944c44a7.entry.js → p-c6b42618.entry.js} +1 -1
  192. package/dist/ldf/{p-1d8e06c7.entry.js → p-c74d3fd0.entry.js} +1 -1
  193. package/dist/ldf/{p-741e1b4e.entry.js → p-c82dd468.entry.js} +1 -1
  194. package/dist/ldf/{p-342e45c0.entry.js → p-ca698b8f.entry.js} +1 -1
  195. package/dist/ldf/p-ca7e0de9.entry.js +1 -0
  196. package/dist/ldf/{p-059fcd05.entry.js → p-cbfbb80c.entry.js} +1 -1
  197. package/dist/ldf/{p-a8264864.entry.js → p-d195c957.entry.js} +1 -1
  198. package/dist/ldf/{p-664b2872.js → p-d282d4f9.js} +1 -1
  199. package/dist/ldf/{p-bc59e89e.entry.js → p-d7966e9b.entry.js} +1 -1
  200. package/dist/ldf/{p-f562ae50.js → p-d7f8c770.js} +1 -1
  201. package/dist/ldf/{p-396025ba.entry.js → p-d7fa99cc.entry.js} +1 -1
  202. package/dist/ldf/{p-ae136041.entry.js → p-db435131.entry.js} +1 -1
  203. package/dist/ldf/{p-ae287f67.entry.js → p-dc445c36.entry.js} +1 -1
  204. package/dist/ldf/{p-385a3ecf.entry.js → p-dd99e42a.entry.js} +1 -1
  205. package/dist/ldf/{p-b8a8f9c8.js → p-de5bb5ad.js} +1 -1
  206. package/dist/ldf/{p-7e388cb7.entry.js → p-e0e12ae3.entry.js} +1 -1
  207. package/dist/ldf/{p-128ac9e9.entry.js → p-e215fd02.entry.js} +1 -1
  208. package/dist/ldf/{p-4b7027b1.entry.js → p-e4be11ad.entry.js} +1 -1
  209. package/dist/ldf/{p-8d6f1d6b.entry.js → p-ea66c343.entry.js} +1 -1
  210. package/dist/ldf/{p-ac9a93aa.entry.js → p-ec5eecdc.entry.js} +1 -1
  211. package/dist/ldf/{p-64c46765.js → p-f2ce126e.js} +1 -1
  212. package/dist/ldf/{p-186eed18.entry.js → p-fe59a676.entry.js} +1 -1
  213. package/dist/ldf/p-ff51dbd0.entry.js +1 -0
  214. package/dist/types/components/liturgical-document/liturgical-document.d.ts +2 -0
  215. package/dist/types/components/prayers-and-thanksgivings/prayers-and-thanksgivings.d.ts +1 -1
  216. package/dist/types/components.d.ts +8 -0
  217. package/package.json +2 -2
  218. package/dist/cjs/ion-button_3.cjs.entry.js +0 -413
  219. package/dist/cjs/ion-buttons_6.cjs.entry.js +0 -584
  220. package/dist/cjs/ion-content.cjs.entry.js +0 -303
  221. package/dist/cjs/ion-item_2.cjs.entry.js +0 -168
  222. package/dist/cjs/ion-ripple-effect.cjs.entry.js +0 -93
  223. package/dist/cjs/ion-searchbar.cjs.entry.js +0 -330
  224. package/dist/cjs/ion-title.cjs.entry.js +0 -48
  225. package/dist/cjs/ldf-prayers-and-thanksgivings.cjs.entry.js +0 -108
  226. package/dist/esm/ion-button_3.entry.js +0 -407
  227. package/dist/esm/ion-buttons_6.entry.js +0 -575
  228. package/dist/esm/ion-content.entry.js +0 -299
  229. package/dist/esm/ion-item_2.entry.js +0 -163
  230. package/dist/esm/ion-ripple-effect.entry.js +0 -89
  231. package/dist/esm/ion-searchbar.entry.js +0 -326
  232. package/dist/esm/ion-title.entry.js +0 -44
  233. package/dist/esm/ldf-prayers-and-thanksgivings.entry.js +0 -104
  234. package/dist/ldf/p-01655d40.js +0 -1
  235. package/dist/ldf/p-07e48862.entry.js +0 -1
  236. package/dist/ldf/p-2471a9c7.entry.js +0 -1
  237. package/dist/ldf/p-356f9ee6.entry.js +0 -1
  238. package/dist/ldf/p-68f963c7.entry.js +0 -1
  239. package/dist/ldf/p-72718314.entry.js +0 -1
  240. package/dist/ldf/p-78ed7ef0.entry.js +0 -1
  241. package/dist/ldf/p-7aecb410.js +0 -1
  242. package/dist/ldf/p-7ccf2257.entry.js +0 -1
  243. package/dist/ldf/p-867f7c02.js +0 -1
  244. package/dist/ldf/p-8e1286c3.entry.js +0 -1
  245. package/dist/ldf/p-92461769.entry.js +0 -1
  246. package/dist/ldf/p-9382bbe1.entry.js +0 -1
  247. package/dist/ldf/p-96967103.entry.js +0 -1
  248. package/dist/ldf/p-accacaed.entry.js +0 -1
  249. package/dist/ldf/p-bcb82c8e.js +0 -1
  250. package/dist/ldf/p-c7c0acf1.entry.js +0 -1
  251. package/dist/ldf/p-cee7604d.entry.js +0 -1
  252. package/dist/ldf/p-e3ce57d7.entry.js +0 -1
  253. package/dist/ldf/p-ecb2e631.entry.js +0 -1
@@ -1,575 +0,0 @@
1
- import { r as registerInstance, h, H as Host, c as createEvent, d as getElement, a as readTask, w as writeTask, f as forceUpdate } from './index-dcd553ac.js';
2
- import { g as getIonMode } from './ionic-global-fef4299f.js';
3
- import { f as findItemLabel, b as renderHiddenInput, c as clamp } from './helpers-8c93393b.js';
4
- import { c as createColorClasses, h as hostContext } from './theme-74c22054.js';
5
- import './index-f5b9b789.js';
6
- import { C as Change } from './change-ea574d32.js';
7
- import { c as alertController } from './overlays-e1d5aa58.js';
8
- import { g as getComponentClosestLanguage } from './locale-ec8e14e6.js';
9
- import './_commonjsHelpers-ba3f0406.js';
10
- import './hardware-back-button-b3b61715.js';
11
-
12
- const buttonsIosCss = ".sc-ion-buttons-ios-h{display:flex;align-items:center;transform:translateZ(0);z-index:99}.sc-ion-buttons-ios-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-ios-s ion-button{--padding-start:5px;--padding-end:5px;margin-left:2px;margin-right:2px;height:32px;font-size:17px;font-weight:400}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-ios-s ion-button:not(.button-round){--border-radius:4px}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button{--color:initial;--border-color:initial;--background-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-solid,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-solid{--background:var(--ion-color-contrast);--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12;--background-hover:var(--ion-color-base);--background-hover-opacity:0.45;--color:var(--ion-color-base);--color-focused:var(--ion-color-base)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-clear,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-clear{--color-activated:var(--ion-color-contrast);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-h.ion-color.sc-ion-buttons-ios-s .button-outline,.ion-color .sc-ion-buttons-ios-h.sc-ion-buttons-ios-s .button-outline{--color-activated:var(--ion-color-base);--color-focused:var(--ion-color-contrast)}.sc-ion-buttons-ios-s .button-clear,.sc-ion-buttons-ios-s .button-outline{--background-activated:transparent;--background-focused:currentColor;--background-hover:transparent}.sc-ion-buttons-ios-s .button-solid:not(.ion-color){--background-focused:#000;--background-focused-opacity:.12;--background-activated:#000;--background-activated-opacity:.12}.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:24px;line-height:0.67}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:24px;line-height:0.67}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.sc-ion-buttons-ios-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-ios-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:28px;line-height:0.67}";
13
-
14
- const buttonsMdCss = ".sc-ion-buttons-md-h{display:flex;align-items:center;transform:translateZ(0);z-index:99}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}.sc-ion-buttons-md-s ion-button{--padding-top:0;--padding-bottom:0;--padding-start:8px;--padding-end:8px;--box-shadow:none;margin-left:2px;margin-right:2px;height:32px;font-size:14px;font-weight:500}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-button{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}.sc-ion-buttons-md-s ion-button:not(.button-round){--border-radius:2px}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button{--color:initial;--color-focused:var(--ion-color-contrast);--color-hover:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-contrast);--background-hover:var(--ion-color-contrast)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-solid,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-solid{--background:var(--ion-color-contrast);--background-activated:transparent;--background-focused:var(--ion-color-shade);--background-hover:var(--ion-color-base);--color:var(--ion-color-base);--color-focused:var(--ion-color-base);--color-hover:var(--ion-color-base)}.sc-ion-buttons-md-h.ion-color.sc-ion-buttons-md-s .button-outline,.ion-color .sc-ion-buttons-md-h.sc-ion-buttons-md-s .button-outline{--border-color:var(--ion-color-contrast)}.sc-ion-buttons-md-s .button-has-icon-only.button-clear{--padding-top:12px;--padding-end:12px;--padding-bottom:12px;--padding-start:12px;--border-radius:50%;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;width:48px;height:48px}.sc-ion-buttons-md-s .button{--background-hover:currentColor}.sc-ion-buttons-md-s .button-solid{--color:var(--ion-toolbar-background, var(--ion-background-color, #fff));--background:var(--ion-toolbar-color, var(--ion-text-color, #424242));--background-activated:transparent;--background-focused:currentColor}.sc-ion-buttons-md-s .button-outline{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor;--border-color:currentColor}.sc-ion-buttons-md-s .button-clear{--color:initial;--background:transparent;--background-activated:transparent;--background-focused:currentColor;--background-hover:currentColor}.sc-ion-buttons-md-s ion-icon[slot=start]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-right:0.3em;font-size:1.4em}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=start]{margin-right:unset;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;margin-left:0.4em;font-size:1.4em}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.sc-ion-buttons-md-s ion-icon[slot=end]{margin-left:unset;-webkit-margin-start:0.4em;margin-inline-start:0.4em}}.sc-ion-buttons-md-s ion-icon[slot=icon-only]{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;font-size:1.8em}";
15
-
16
- const Buttons = class {
17
- constructor(hostRef) {
18
- registerInstance(this, hostRef);
19
- /**
20
- * If true, buttons will disappear when its
21
- * parent toolbar has fully collapsed if the toolbar
22
- * is not the first toolbar. If the toolbar is the
23
- * first toolbar, the buttons will be hidden and will
24
- * only be shown once all toolbars have fully collapsed.
25
- *
26
- * Only applies in `ios` mode with `collapse` set to
27
- * `true` on `ion-header`.
28
- *
29
- * Typically used for [Collapsible Large Titles](https://ionicframework.com/docs/api/title#collapsible-large-titles)
30
- */
31
- this.collapse = false;
32
- }
33
- render() {
34
- const mode = getIonMode(this);
35
- return (h(Host, { class: {
36
- [mode]: true,
37
- ['buttons-collapse']: this.collapse
38
- } }));
39
- }
40
- };
41
- Buttons.style = {
42
- ios: buttonsIosCss,
43
- md: buttonsMdCss
44
- };
45
-
46
- const checkboxIosCss = ":host{--background-checked:var(--ion-color-primary, #3880ff);--border-color-checked:var(--ion-color-primary, #3880ff);--checkmark-color:var(--ion-color-primary-contrast, #fff);--checkmark-width:1;--transition:none;display:inline-block;position:relative;user-select:none;z-index:2}:host(.ion-color){--background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}button{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;appearance:none;outline:none}[dir=rtl] button,:host-context([dir=rtl]) button{left:unset;right:unset;right:0}button::-moz-focus-inner{border:0}.checkbox-icon{border-radius:var(--border-radius);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);background:var(--background);box-sizing:border-box}.checkbox-icon path{fill:none;stroke:var(--checkmark-color);stroke-width:var(--checkmark-width);opacity:0}:host(.checkbox-checked) .checkbox-icon,:host(.checkbox-indeterminate) .checkbox-icon{border-color:var(--border-color-checked);background:var(--background-checked)}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{opacity:1}:host(.checkbox-disabled){pointer-events:none}:host{--border-radius:50%;--border-width:1px;--border-style:solid;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.23);--background:var(--ion-item-background, var(--ion-background-color, #fff));--size:26px;width:var(--size);height:var(--size)}:host(.checkbox-disabled){opacity:0.3}:host(.in-item){margin-left:0;margin-right:8px;margin-top:10px;margin-bottom:9px;display:block;position:static}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.in-item){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}:host(.in-item[slot=start]){margin-left:2px;margin-right:20px;margin-top:8px;margin-bottom:8px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:20px;margin-inline-end:20px}}";
47
-
48
- const checkboxMdCss = ":host{--background-checked:var(--ion-color-primary, #3880ff);--border-color-checked:var(--ion-color-primary, #3880ff);--checkmark-color:var(--ion-color-primary-contrast, #fff);--checkmark-width:1;--transition:none;display:inline-block;position:relative;user-select:none;z-index:2}:host(.ion-color){--background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}button{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;appearance:none;outline:none}[dir=rtl] button,:host-context([dir=rtl]) button{left:unset;right:unset;right:0}button::-moz-focus-inner{border:0}.checkbox-icon{border-radius:var(--border-radius);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);background:var(--background);box-sizing:border-box}.checkbox-icon path{fill:none;stroke:var(--checkmark-color);stroke-width:var(--checkmark-width);opacity:0}:host(.checkbox-checked) .checkbox-icon,:host(.checkbox-indeterminate) .checkbox-icon{border-color:var(--border-color-checked);background:var(--background-checked)}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{opacity:1}:host(.checkbox-disabled){pointer-events:none}:host{--border-radius:calc(var(--size) * .125);--border-width:2px;--border-style:solid;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.51);--checkmark-width:3;--background:var(--ion-item-background, var(--ion-background-color, #fff));--transition:background 180ms cubic-bezier(0.4, 0, 0.2, 1);--size:18px;width:var(--size);height:var(--size)}.checkbox-icon path{stroke-dasharray:30;stroke-dashoffset:30}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{stroke-dashoffset:0;transition:stroke-dashoffset 90ms linear 90ms}:host(.checkbox-disabled){opacity:0.3}:host(.in-item){margin-left:0;margin-right:0;margin-top:18px;margin-bottom:18px;display:block;position:static}:host(.in-item[slot=start]){margin-left:4px;margin-right:36px;margin-top:18px;margin-bottom:18px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:4px;margin-inline-start:4px;-webkit-margin-end:36px;margin-inline-end:36px}}";
49
-
50
- const Checkbox = class {
51
- constructor(hostRef) {
52
- registerInstance(this, hostRef);
53
- this.ionChange = createEvent(this, "ionChange", 7);
54
- this.ionFocus = createEvent(this, "ionFocus", 7);
55
- this.ionBlur = createEvent(this, "ionBlur", 7);
56
- this.ionStyle = createEvent(this, "ionStyle", 7);
57
- this.inputId = `ion-cb-${checkboxIds++}`;
58
- /**
59
- * The name of the control, which is submitted with the form data.
60
- */
61
- this.name = this.inputId;
62
- /**
63
- * If `true`, the checkbox is selected.
64
- */
65
- this.checked = false;
66
- /**
67
- * If `true`, the checkbox will visually appear as indeterminate.
68
- */
69
- this.indeterminate = false;
70
- /**
71
- * If `true`, the user cannot interact with the checkbox.
72
- */
73
- this.disabled = false;
74
- /**
75
- * The value of the toggle does not mean if it's checked or not, use the `checked`
76
- * property for that.
77
- *
78
- * The value of a toggle is analogous to the value of a `<input type="checkbox">`,
79
- * it's only used when the toggle participates in a native `<form>`.
80
- */
81
- this.value = 'on';
82
- this.onClick = () => {
83
- this.setFocus();
84
- this.checked = !this.checked;
85
- this.indeterminate = false;
86
- };
87
- this.onFocus = () => {
88
- this.ionFocus.emit();
89
- };
90
- this.onBlur = () => {
91
- this.ionBlur.emit();
92
- };
93
- }
94
- componentWillLoad() {
95
- this.emitStyle();
96
- }
97
- checkedChanged(isChecked) {
98
- this.ionChange.emit({
99
- checked: isChecked,
100
- value: this.value
101
- });
102
- this.emitStyle();
103
- }
104
- disabledChanged() {
105
- this.emitStyle();
106
- }
107
- emitStyle() {
108
- this.ionStyle.emit({
109
- 'checkbox-checked': this.checked,
110
- 'interactive-disabled': this.disabled,
111
- });
112
- }
113
- setFocus() {
114
- if (this.buttonEl) {
115
- this.buttonEl.focus();
116
- }
117
- }
118
- render() {
119
- const { inputId, indeterminate, disabled, checked, value, color, el } = this;
120
- const labelId = inputId + '-lbl';
121
- const mode = getIonMode(this);
122
- const label = findItemLabel(el);
123
- if (label) {
124
- label.id = labelId;
125
- }
126
- renderHiddenInput(true, el, this.name, (checked ? value : ''), disabled);
127
- let path = indeterminate
128
- ? h("path", { d: "M6 12L18 12", part: "mark" })
129
- : h("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" });
130
- if (mode === 'md') {
131
- path = indeterminate
132
- ? h("path", { d: "M2 12H22", part: "mark" })
133
- : h("path", { d: "M1.73,12.91 8.1,19.28 22.79,4.59", part: "mark" });
134
- }
135
- return (h(Host, { onClick: this.onClick, role: "checkbox", "aria-disabled": disabled ? 'true' : null, "aria-checked": `${checked}`, "aria-labelledby": labelId, class: Object.assign(Object.assign({}, createColorClasses(color)), { [mode]: true, 'in-item': hostContext('ion-item', el), 'checkbox-checked': checked, 'checkbox-disabled': disabled, 'checkbox-indeterminate': indeterminate, 'interactive': true }) }, h("svg", { class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path), h("button", { type: "button", onFocus: this.onFocus, onBlur: this.onBlur, disabled: this.disabled, ref: btnEl => this.buttonEl = btnEl })));
136
- }
137
- get el() { return getElement(this); }
138
- static get watchers() { return {
139
- "checked": ["checkedChanged"],
140
- "disabled": ["disabledChanged"]
141
- }; }
142
- };
143
- let checkboxIds = 0;
144
- Checkbox.style = {
145
- ios: checkboxIosCss,
146
- md: checkboxMdCss
147
- };
148
-
149
- const TRANSITION = 'all 0.2s ease-in-out';
150
- const cloneElement = (tagName) => {
151
- const getCachedEl = document.querySelector(`${tagName}.ion-cloned-element`);
152
- if (getCachedEl !== null) {
153
- return getCachedEl;
154
- }
155
- const clonedEl = document.createElement(tagName);
156
- clonedEl.classList.add('ion-cloned-element');
157
- clonedEl.style.setProperty('display', 'none');
158
- document.body.appendChild(clonedEl);
159
- return clonedEl;
160
- };
161
- const createHeaderIndex = (headerEl) => {
162
- if (!headerEl) {
163
- return;
164
- }
165
- const toolbars = headerEl.querySelectorAll('ion-toolbar');
166
- return {
167
- el: headerEl,
168
- toolbars: Array.from(toolbars).map((toolbar) => {
169
- const ionTitleEl = toolbar.querySelector('ion-title');
170
- return {
171
- el: toolbar,
172
- background: toolbar.shadowRoot.querySelector('.toolbar-background'),
173
- ionTitleEl,
174
- innerTitleEl: (ionTitleEl) ? ionTitleEl.shadowRoot.querySelector('.toolbar-title') : null,
175
- ionButtonsEl: Array.from(toolbar.querySelectorAll('ion-buttons')) || []
176
- };
177
- }) || []
178
- };
179
- };
180
- const handleContentScroll = (scrollEl, scrollHeaderIndex, contentEl) => {
181
- readTask(() => {
182
- const scrollTop = scrollEl.scrollTop;
183
- const scale = clamp(1, 1 + (-scrollTop / 500), 1.1);
184
- // Native refresher should not cause titles to scale
185
- const nativeRefresher = contentEl.querySelector('ion-refresher.refresher-native');
186
- if (nativeRefresher === null) {
187
- writeTask(() => {
188
- scaleLargeTitles(scrollHeaderIndex.toolbars, scale);
189
- });
190
- }
191
- });
192
- };
193
- const setToolbarBackgroundOpacity = (toolbar, opacity) => {
194
- if (opacity === undefined) {
195
- toolbar.background.style.removeProperty('--opacity');
196
- }
197
- else {
198
- toolbar.background.style.setProperty('--opacity', opacity.toString());
199
- }
200
- };
201
- const handleToolbarBorderIntersection = (ev, mainHeaderIndex) => {
202
- if (!ev[0].isIntersecting) {
203
- return;
204
- }
205
- /**
206
- * There is a bug in Safari where overflow scrolling on a non-body element
207
- * does not always reset the scrollTop position to 0 when letting go. It will
208
- * set to 1 once the rubber band effect has ended. This causes the background to
209
- * appear slightly on certain app setups.
210
- */
211
- const scale = (ev[0].intersectionRatio > 0.9) ? 0 : ((1 - ev[0].intersectionRatio) * 100) / 75;
212
- mainHeaderIndex.toolbars.forEach(toolbar => {
213
- setToolbarBackgroundOpacity(toolbar, (scale === 1) ? undefined : scale);
214
- });
215
- };
216
- /**
217
- * If toolbars are intersecting, hide the scrollable toolbar content
218
- * and show the primary toolbar content. If the toolbars are not intersecting,
219
- * hide the primary toolbar content and show the scrollable toolbar content
220
- */
221
- const handleToolbarIntersection = (ev, mainHeaderIndex, scrollHeaderIndex) => {
222
- writeTask(() => {
223
- handleToolbarBorderIntersection(ev, mainHeaderIndex);
224
- const event = ev[0];
225
- const intersection = event.intersectionRect;
226
- const intersectionArea = intersection.width * intersection.height;
227
- const rootArea = event.rootBounds.width * event.rootBounds.height;
228
- const isPageHidden = intersectionArea === 0 && rootArea === 0;
229
- const leftDiff = Math.abs(intersection.left - event.boundingClientRect.left);
230
- const rightDiff = Math.abs(intersection.right - event.boundingClientRect.right);
231
- const isPageTransitioning = intersectionArea > 0 && (leftDiff >= 5 || rightDiff >= 5);
232
- if (isPageHidden || isPageTransitioning) {
233
- return;
234
- }
235
- if (event.isIntersecting) {
236
- setHeaderActive(mainHeaderIndex, false);
237
- setHeaderActive(scrollHeaderIndex);
238
- }
239
- else {
240
- /**
241
- * There is a bug with IntersectionObserver on Safari
242
- * where `event.isIntersecting === false` when cancelling
243
- * a swipe to go back gesture. Checking the intersection
244
- * x, y, width, and height provides a workaround. This bug
245
- * does not happen when using Safari + Web Animations,
246
- * only Safari + CSS Animations.
247
- */
248
- const hasValidIntersection = (intersection.x === 0 && intersection.y === 0) || (intersection.width !== 0 && intersection.height !== 0);
249
- if (hasValidIntersection) {
250
- setHeaderActive(mainHeaderIndex);
251
- setHeaderActive(scrollHeaderIndex, false);
252
- setToolbarBackgroundOpacity(mainHeaderIndex.toolbars[0]);
253
- }
254
- }
255
- });
256
- };
257
- const setHeaderActive = (headerIndex, active = true) => {
258
- if (active) {
259
- headerIndex.el.classList.remove('header-collapse-condense-inactive');
260
- }
261
- else {
262
- headerIndex.el.classList.add('header-collapse-condense-inactive');
263
- }
264
- };
265
- const scaleLargeTitles = (toolbars = [], scale = 1, transition = false) => {
266
- toolbars.forEach(toolbar => {
267
- const ionTitle = toolbar.ionTitleEl;
268
- const titleDiv = toolbar.innerTitleEl;
269
- if (!ionTitle || ionTitle.size !== 'large') {
270
- return;
271
- }
272
- titleDiv.style.transformOrigin = 'left center';
273
- titleDiv.style.transition = (transition) ? TRANSITION : '';
274
- titleDiv.style.transform = `scale3d(${scale}, ${scale}, 1)`;
275
- });
276
- };
277
-
278
- const headerIosCss = "ion-header{display:block;position:relative;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-ios ion-toolbar:last-of-type{--border-width:0 0 0.55px}@supports (backdrop-filter: blur(0)){.header-background{left:0;right:0;top:0;bottom:0;position:absolute;backdrop-filter:saturate(180%) blur(20px)}.header-translucent-ios ion-toolbar{--opacity:.8}.header-collapse-condense-inactive .header-background{backdrop-filter:blur(20px)}}.header-ios.ion-no-border ion-toolbar:last-of-type{--border-width:0}.header-collapse-condense{z-index:9}.header-collapse-condense ion-toolbar{position:sticky;top:0}.header-collapse-condense ion-toolbar:first-of-type{padding-top:7px;z-index:1}.header-collapse-condense ion-toolbar{--background:var(--ion-background-color, #fff);z-index:0}.header-collapse-condense ion-toolbar ion-searchbar{height:48px;padding-top:0px;padding-bottom:13px}.header-collapse-main ion-toolbar.in-toolbar ion-title,.header-collapse-main ion-toolbar.in-toolbar ion-buttons{transition:all 0.2s ease-in-out}.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive:not(.header-collapse-condense) ion-toolbar.in-toolbar ion-buttons.buttons-collapse{opacity:0;pointer-events:none}.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-title,.header-collapse-condense-inactive.header-collapse-condense ion-toolbar.in-toolbar ion-buttons.buttons-collapse{visibility:hidden}";
279
-
280
- const headerMdCss = "ion-header{display:block;position:relative;order:-1;width:100%;z-index:10}ion-header ion-toolbar:first-of-type{padding-top:var(--ion-safe-area-top, 0)}.header-md::after{left:0;bottom:-5px;background-position:left 0 top -2px;position:absolute;width:100%;height:5px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAHBAMAAADzDtBxAAAAD1BMVEUAAAAAAAAAAAAAAAAAAABPDueNAAAABXRSTlMUCS0gBIh/TXEAAAAaSURBVAjXYxCEAgY4UIICBmMogMsgFLtAAQCNSwXZKOdPxgAAAABJRU5ErkJggg==);background-repeat:repeat-x;content:\"\"}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{left:unset;right:unset;right:0}[dir=rtl] .header-md::after,:host-context([dir=rtl]) .header-md::after{background-position:right 0 top -2px}.header-collapse-condense{display:none}.header-md.ion-no-border::after{display:none}";
281
-
282
- const Header = class {
283
- constructor(hostRef) {
284
- registerInstance(this, hostRef);
285
- this.collapsibleHeaderInitialized = false;
286
- /**
287
- * If `true`, the header will be translucent.
288
- * Only applies when the mode is `"ios"` and the device supports
289
- * [`backdrop-filter`](https://developer.mozilla.org/en-US/docs/Web/CSS/backdrop-filter#Browser_compatibility).
290
- *
291
- * Note: In order to scroll content behind the header, the `fullscreen`
292
- * attribute needs to be set on the content.
293
- */
294
- this.translucent = false;
295
- }
296
- async componentDidLoad() {
297
- await this.checkCollapsibleHeader();
298
- }
299
- async componentDidUpdate() {
300
- await this.checkCollapsibleHeader();
301
- }
302
- componentDidUnload() {
303
- this.destroyCollapsibleHeader();
304
- }
305
- async checkCollapsibleHeader() {
306
- // Determine if the header can collapse
307
- const hasCollapse = this.collapse === 'condense';
308
- const canCollapse = (hasCollapse && getIonMode(this) === 'ios') ? hasCollapse : false;
309
- if (!canCollapse && this.collapsibleHeaderInitialized) {
310
- this.destroyCollapsibleHeader();
311
- }
312
- else if (canCollapse && !this.collapsibleHeaderInitialized) {
313
- const pageEl = this.el.closest('ion-app,ion-page,.ion-page,page-inner');
314
- const contentEl = (pageEl) ? pageEl.querySelector('ion-content') : null;
315
- await this.setupCollapsibleHeader(contentEl, pageEl);
316
- }
317
- }
318
- destroyCollapsibleHeader() {
319
- if (this.intersectionObserver) {
320
- this.intersectionObserver.disconnect();
321
- this.intersectionObserver = undefined;
322
- }
323
- if (this.scrollEl && this.contentScrollCallback) {
324
- this.scrollEl.removeEventListener('scroll', this.contentScrollCallback);
325
- this.contentScrollCallback = undefined;
326
- }
327
- if (this.collapsibleMainHeader) {
328
- this.collapsibleMainHeader.classList.remove('header-collapse-main');
329
- this.collapsibleMainHeader = undefined;
330
- }
331
- }
332
- async setupCollapsibleHeader(contentEl, pageEl) {
333
- if (!contentEl || !pageEl) {
334
- console.error('ion-header requires a content to collapse, make sure there is an ion-content.');
335
- return;
336
- }
337
- this.scrollEl = await contentEl.getScrollElement();
338
- const headers = pageEl.querySelectorAll('ion-header');
339
- this.collapsibleMainHeader = Array.from(headers).find((header) => header.collapse !== 'condense');
340
- if (!this.collapsibleMainHeader) {
341
- return;
342
- }
343
- const mainHeaderIndex = createHeaderIndex(this.collapsibleMainHeader);
344
- const scrollHeaderIndex = createHeaderIndex(this.el);
345
- if (!mainHeaderIndex || !scrollHeaderIndex) {
346
- return;
347
- }
348
- setHeaderActive(mainHeaderIndex, false);
349
- mainHeaderIndex.toolbars.forEach(toolbar => {
350
- setToolbarBackgroundOpacity(toolbar, 0);
351
- });
352
- /**
353
- * Handle interaction between toolbar collapse and
354
- * showing/hiding content in the primary ion-header
355
- * as well as progressively showing/hiding the main header
356
- * border as the top-most toolbar collapses or expands.
357
- */
358
- const toolbarIntersection = (ev) => { handleToolbarIntersection(ev, mainHeaderIndex, scrollHeaderIndex); };
359
- this.intersectionObserver = new IntersectionObserver(toolbarIntersection, { root: contentEl, threshold: [0.25, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1] });
360
- this.intersectionObserver.observe(scrollHeaderIndex.toolbars[scrollHeaderIndex.toolbars.length - 1].el);
361
- /**
362
- * Handle scaling of large iOS titles and
363
- * showing/hiding border on last toolbar
364
- * in primary header
365
- */
366
- this.contentScrollCallback = () => { handleContentScroll(this.scrollEl, scrollHeaderIndex, contentEl); };
367
- this.scrollEl.addEventListener('scroll', this.contentScrollCallback);
368
- writeTask(() => {
369
- const title = cloneElement('ion-title');
370
- title.size = 'large';
371
- cloneElement('ion-back-button');
372
- if (this.collapsibleMainHeader !== undefined) {
373
- this.collapsibleMainHeader.classList.add('header-collapse-main');
374
- }
375
- });
376
- this.collapsibleHeaderInitialized = true;
377
- }
378
- render() {
379
- const { translucent } = this;
380
- const mode = getIonMode(this);
381
- const collapse = this.collapse || 'none';
382
- return (h(Host, { role: "banner", class: {
383
- [mode]: true,
384
- // Used internally for styling
385
- [`header-${mode}`]: true,
386
- [`header-translucent`]: this.translucent,
387
- [`header-collapse-${collapse}`]: true,
388
- [`header-translucent-${mode}`]: this.translucent,
389
- } }, mode === 'ios' && translucent &&
390
- h("div", { class: "header-background" }), h("slot", null)));
391
- }
392
- get el() { return getElement(this); }
393
- };
394
- Header.style = {
395
- ios: headerIosCss,
396
- md: headerMdCss
397
- };
398
-
399
- const toolbarIosCss = ":host{--border-width:0;--border-style:solid;--opacity:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;box-sizing:border-box}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:flex;position:relative;flex-direction:row;align-items:center;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;box-sizing:border-box}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.toolbar-container{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)}}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:var(--opacity);z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-color-step-50, #fff));--color:var(--ion-toolbar-color, var(--ion-text-color, #000));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.2))));--padding-top:3px;--padding-bottom:3px;--padding-start:4px;--padding-end:4px;--min-height:44px}.toolbar-content{flex:1;order:4;min-width:0}:host(.toolbar-segment) .toolbar-content{display:inline-flex}:host(.toolbar-searchbar) .toolbar-container{padding-top:0;padding-bottom:0}:host(.toolbar-searchbar) ::slotted(*){align-self:start}:host(.toolbar-searchbar) ::slotted(ion-chip){margin-top:3px}:host(.toolbar-searchbar) ::slotted(ion-back-button){height:38px}::slotted(ion-buttons){min-height:38px}::slotted([slot=start]){order:2}::slotted([slot=secondary]){order:3}::slotted([slot=primary]){order:5;text-align:end}::slotted([slot=end]){order:6;text-align:end}:host(.toolbar-title-large) .toolbar-container{flex-wrap:wrap;align-items:flex-start}:host(.toolbar-title-large) .toolbar-content ion-title{flex:1;order:8;min-width:100%}";
400
-
401
- const toolbarMdCss = ":host{--border-width:0;--border-style:solid;--opacity:1;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;padding-left:var(--ion-safe-area-left);padding-right:var(--ion-safe-area-right);display:block;position:relative;width:100%;color:var(--color);font-family:var(--ion-font-family, inherit);contain:content;z-index:10;box-sizing:border-box}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--ion-safe-area-left);padding-inline-start:var(--ion-safe-area-left);-webkit-padding-end:var(--ion-safe-area-right);padding-inline-end:var(--ion-safe-area-right)}}:host(.ion-color){color:var(--ion-color-contrast)}:host(.ion-color) .toolbar-background{background:var(--ion-color-base)}.toolbar-container{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:flex;position:relative;flex-direction:row;align-items:center;justify-content:space-between;width:100%;min-height:var(--min-height);contain:content;overflow:hidden;z-index:10;box-sizing:border-box}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.toolbar-container{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)}}.toolbar-background{left:0;right:0;top:0;bottom:0;position:absolute;transform:translateZ(0);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;opacity:var(--opacity);z-index:-1;pointer-events:none}::slotted(ion-progress-bar){left:0;right:0;bottom:0;position:absolute}:host{--background:var(--ion-toolbar-background, var(--ion-background-color, #fff));--color:var(--ion-toolbar-color, var(--ion-text-color, #424242));--border-color:var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, #c1c4cd)));--padding-top:0;--padding-bottom:0;--padding-start:0;--padding-end:0;--min-height:56px}.toolbar-content{flex:1;order:3;min-width:0;max-width:100%}::slotted(ion-segment){min-height:var(--min-height)}::slotted(.buttons-first-slot){margin-left:4px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(.buttons-first-slot){margin-left:unset;-webkit-margin-start:4px;margin-inline-start:4px}}::slotted(.buttons-last-slot){margin-right:4px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(.buttons-last-slot){margin-right:unset;-webkit-margin-end:4px;margin-inline-end:4px}}::slotted([slot=start]){order:2}::slotted([slot=secondary]){order:4}::slotted([slot=primary]){order:5;text-align:end}::slotted([slot=end]){order:6;text-align:end}";
402
-
403
- const Toolbar = class {
404
- constructor(hostRef) {
405
- registerInstance(this, hostRef);
406
- this.childrenStyles = new Map();
407
- }
408
- componentWillLoad() {
409
- const buttons = Array.from(this.el.querySelectorAll('ion-buttons'));
410
- const firstButtons = buttons.find(button => {
411
- return button.slot === 'start';
412
- });
413
- if (firstButtons) {
414
- firstButtons.classList.add('buttons-first-slot');
415
- }
416
- const buttonsReversed = buttons.reverse();
417
- const lastButtons = buttonsReversed.find(button => button.slot === 'end') ||
418
- buttonsReversed.find(button => button.slot === 'primary') ||
419
- buttonsReversed.find(button => button.slot === 'secondary');
420
- if (lastButtons) {
421
- lastButtons.classList.add('buttons-last-slot');
422
- }
423
- }
424
- childrenStyle(ev) {
425
- ev.stopPropagation();
426
- const tagName = ev.target.tagName;
427
- const updatedStyles = ev.detail;
428
- const newStyles = {};
429
- const childStyles = this.childrenStyles.get(tagName) || {};
430
- let hasStyleChange = false;
431
- Object.keys(updatedStyles).forEach(key => {
432
- const childKey = `toolbar-${key}`;
433
- const newValue = updatedStyles[key];
434
- if (newValue !== childStyles[childKey]) {
435
- hasStyleChange = true;
436
- }
437
- if (newValue) {
438
- newStyles[childKey] = true;
439
- }
440
- });
441
- if (hasStyleChange) {
442
- this.childrenStyles.set(tagName, newStyles);
443
- forceUpdate(this);
444
- }
445
- }
446
- render() {
447
- const mode = getIonMode(this);
448
- const childStyles = {};
449
- this.childrenStyles.forEach(value => {
450
- Object.assign(childStyles, value);
451
- });
452
- return (h(Host, { class: Object.assign(Object.assign({ 'in-toolbar': hostContext('ion-toolbar', this.el), [mode]: true }, childStyles), createColorClasses(this.color)) }, h("div", { class: "toolbar-background" }), h("div", { class: "toolbar-container" }, h("slot", { name: "start" }), h("slot", { name: "secondary" }), h("div", { class: "toolbar-content" }, h("slot", null)), h("slot", { name: "primary" }), h("slot", { name: "end" }))));
453
- }
454
- get el() { return getElement(this); }
455
- };
456
- Toolbar.style = {
457
- ios: toolbarIosCss,
458
- md: toolbarMdCss
459
- };
460
-
461
- const EditableBooleanComponent = class {
462
- constructor(hostRef) {
463
- registerInstance(this, hostRef);
464
- this.ldfDocShouldChange = createEvent(this, "ldfDocShouldChange", 7);
465
- }
466
- // Lifecycle methods
467
- componentWillLoad() {
468
- if (this.value == undefined) {
469
- this.ldfDocShouldChange.emit(new Change({
470
- path: this.path,
471
- op: [{
472
- type: 'set',
473
- index: this.property,
474
- oldValue: undefined,
475
- value: false
476
- }]
477
- }));
478
- }
479
- }
480
- // Listeners
481
- onChange(ev) {
482
- const oldValue = this.value, value = ev.detail.checked;
483
- if (value !== oldValue) {
484
- this.ldfDocShouldChange.emit(new Change({
485
- path: this.path,
486
- op: [
487
- { type: 'set', index: this.property, oldValue: oldValue === undefined ? false : oldValue, value }
488
- ]
489
- }));
490
- }
491
- }
492
- render() {
493
- return (h("ion-checkbox", { checked: this.value }));
494
- }
495
- get element() { return getElement(this); }
496
- };
497
-
498
- const cancel = "Cancel";
499
- const confirm_header = "Confirm Deletion";
500
- const confirm_message = "Are you sure you want to delete this item?";
501
- const EN = {
502
- cancel: cancel,
503
- confirm_header: confirm_header,
504
- confirm_message: confirm_message,
505
- "delete": "Delete"
506
- };
507
-
508
- const LOCALE = {
509
- 'en': EN
510
- };
511
- const EditableDeleteComponent = class {
512
- constructor(hostRef) {
513
- registerInstance(this, hostRef);
514
- this.ldfDocShouldChange = createEvent(this, "ldfDocShouldChange", 7);
515
- this.type = 'array';
516
- }
517
- // Listeners
518
- async onClick() {
519
- // show a confirmation alert
520
- const alert = await alertController.create({
521
- header: this.localeStrings.confirm_header,
522
- message: this.localeStrings.confirm_message,
523
- buttons: [
524
- {
525
- text: this.localeStrings.cancel,
526
- role: 'cancel',
527
- cssClass: 'secondary'
528
- }, {
529
- text: this.localeStrings.delete,
530
- role: 'submit',
531
- cssClass: 'danger',
532
- handler: () => {
533
- this.delete();
534
- }
535
- }
536
- ]
537
- });
538
- // show the alert
539
- return alert.present();
540
- }
541
- delete() {
542
- if (this.type === 'array') {
543
- this.ldfDocShouldChange.emit(new Change({
544
- path: this.base,
545
- op: [{ type: 'deleteAt', index: this.index, oldValue: this.obj }]
546
- }));
547
- }
548
- else {
549
- this.ldfDocShouldChange.emit(new Change({
550
- path: this.base,
551
- op: [{ type: 'delete', index: this.index, oldValue: this.obj }]
552
- }));
553
- }
554
- }
555
- // Lifecycle events
556
- async componentWillLoad() {
557
- this.loadLocaleStrings();
558
- }
559
- // Methods
560
- async loadLocaleStrings() {
561
- try {
562
- this.localeStrings = LOCALE[getComponentClosestLanguage(this.element)];
563
- }
564
- catch (e) {
565
- console.warn(e);
566
- }
567
- }
568
- render() {
569
- const localeStrings = this.localeStrings || {};
570
- return (h("ion-buttons", null, h("ion-button", { "aria-role": 'button', "aria-label": localeStrings.delete, size: 'small' }, h("ion-icon", { name: 'trash', slot: 'icon-only' }))));
571
- }
572
- get element() { return getElement(this); }
573
- };
574
-
575
- export { Buttons as ion_buttons, Checkbox as ion_checkbox, Header as ion_header, Toolbar as ion_toolbar, EditableBooleanComponent as ldf_editable_boolean, EditableDeleteComponent as ldf_editable_delete };