@venite/components 0.16.7 → 0.16.13

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 (729) hide show
  1. package/dist/cjs/_commonjsHelpers-bcc1208a.js +25 -0
  2. package/dist/cjs/animation-34a434a2.js +957 -0
  3. package/dist/cjs/app-globals-60a4f972.js +7 -0
  4. package/dist/cjs/book-1a92678a.js +287 -0
  5. package/dist/cjs/change-cdb1e8c0.js +16 -0
  6. package/dist/cjs/cubic-bezier-f3b34d27.js +91 -0
  7. package/dist/cjs/cursor-81bfd01e.js +12 -0
  8. package/dist/cjs/focus-visible-5621d6b1.js +45 -0
  9. package/dist/cjs/framework-delegate-84d33ff0.js +37 -0
  10. package/dist/cjs/gesture-controller-5bd9d825.js +193 -0
  11. package/dist/cjs/haptic-88c261ab.js +49 -0
  12. package/dist/cjs/hardware-back-button-8c2f48d2.js +59 -0
  13. package/dist/cjs/heading-5afc2b24.js +21 -0
  14. package/dist/cjs/helpers-41dfb43a.js +110 -0
  15. package/dist/cjs/image-3bee3e73.js +21 -0
  16. package/dist/cjs/index-1a73a70c.js +211 -0
  17. package/dist/cjs/index-4b7e4228.js +135 -0
  18. package/dist/cjs/index-7aa21373.js +92 -0
  19. package/dist/cjs/index-8197bb45.js +441 -0
  20. package/dist/{ldf/index-ea7a35b9.js → cjs/index-8fe0df8d.js} +213 -1242
  21. package/dist/cjs/index-c5bdf2bc.js +167 -0
  22. package/dist/cjs/index-de13bd01.js +463 -0
  23. package/dist/cjs/index-e4c51e4d.js +307 -0
  24. package/dist/cjs/index.cjs.js +8 -0
  25. package/dist/cjs/input-shims-9c2d56bd.js +357 -0
  26. package/dist/cjs/ion-action-sheet.cjs.entry.js +230 -0
  27. package/dist/cjs/ion-alert.cjs.entry.js +386 -0
  28. package/dist/cjs/ion-app.cjs.entry.js +60 -0
  29. package/dist/cjs/ion-avatar.cjs.entry.js +25 -0
  30. package/dist/cjs/ion-back-button.cjs.entry.js +79 -0
  31. package/dist/cjs/ion-backdrop.cjs.entry.js +67 -0
  32. package/dist/cjs/ion-badge.cjs.entry.js +27 -0
  33. package/dist/cjs/ion-button_13.cjs.entry.js +1786 -0
  34. package/dist/cjs/ion-card-content_6.cjs.entry.js +405 -0
  35. package/dist/cjs/ion-card-subtitle.cjs.entry.js +27 -0
  36. package/dist/cjs/ion-card_2.cjs.entry.js +91 -0
  37. package/dist/cjs/ion-checkbox_3.cjs.entry.js +234 -0
  38. package/dist/cjs/ion-chip.cjs.entry.js +31 -0
  39. package/dist/cjs/ion-datetime_2.cjs.entry.js +1125 -0
  40. package/dist/cjs/ion-fab-button.cjs.entry.js +74 -0
  41. package/dist/cjs/ion-fab-list.cjs.entry.js +45 -0
  42. package/dist/cjs/ion-fab.cjs.entry.js +74 -0
  43. package/dist/cjs/ion-footer.cjs.entry.js +43 -0
  44. package/dist/cjs/ion-img.cjs.entry.js +72 -0
  45. package/dist/cjs/ion-infinite-scroll-content.cjs.entry.js +37 -0
  46. package/dist/cjs/ion-infinite-scroll.cjs.entry.js +206 -0
  47. package/dist/cjs/ion-input_2.cjs.entry.js +2645 -0
  48. package/dist/cjs/ion-item-divider.cjs.entry.js +36 -0
  49. package/dist/cjs/ion-item-group.cjs.entry.js +31 -0
  50. package/dist/cjs/ion-item-option.cjs.entry.js +55 -0
  51. package/dist/cjs/ion-item-options.cjs.entry.js +47 -0
  52. package/dist/cjs/ion-item-sliding.cjs.entry.js +359 -0
  53. package/dist/cjs/ion-list-header.cjs.entry.js +28 -0
  54. package/dist/cjs/ion-loading.cjs.entry.js +213 -0
  55. package/dist/cjs/ion-menu-button.cjs.entry.js +61 -0
  56. package/dist/cjs/ion-menu-toggle.cjs.entry.js +47 -0
  57. package/dist/cjs/ion-menu.cjs.entry.js +456 -0
  58. package/dist/cjs/ion-modal.cjs.entry.js +488 -0
  59. package/dist/cjs/ion-nav-link.cjs.entry.js +44 -0
  60. package/dist/cjs/ion-nav.cjs.entry.js +812 -0
  61. package/dist/cjs/ion-note.cjs.entry.js +27 -0
  62. package/dist/cjs/ion-picker-column.cjs.entry.js +327 -0
  63. package/dist/cjs/ion-picker.cjs.entry.js +214 -0
  64. package/dist/cjs/ion-popover.cjs.entry.js +363 -0
  65. package/dist/cjs/ion-progress-bar.cjs.entry.js +67 -0
  66. package/dist/cjs/ion-radio_2.cjs.entry.js +149 -0
  67. package/dist/cjs/ion-range.cjs.entry.js +395 -0
  68. package/dist/cjs/ion-refresher-content.cjs.entry.js +40 -0
  69. package/dist/cjs/ion-refresher.cjs.entry.js +832 -0
  70. package/dist/cjs/ion-reorder-group.cjs.entry.js +281 -0
  71. package/dist/cjs/ion-reorder.cjs.entry.js +31 -0
  72. package/dist/cjs/ion-route-redirect.cjs.entry.js +24 -0
  73. package/dist/cjs/ion-route.cjs.entry.js +49 -0
  74. package/dist/cjs/ion-router-link.cjs.entry.js +35 -0
  75. package/dist/cjs/ion-router-outlet.cjs.entry.js +160 -0
  76. package/dist/cjs/ion-router.cjs.entry.js +631 -0
  77. package/dist/cjs/ion-segment_16.cjs.entry.js +2507 -0
  78. package/dist/cjs/ion-select-popover.cjs.entry.js +33 -0
  79. package/dist/cjs/ion-select_2.cjs.entry.js +444 -0
  80. package/dist/cjs/ion-slide.cjs.entry.js +25 -0
  81. package/dist/cjs/ion-slides.cjs.entry.js +404 -0
  82. package/dist/cjs/ion-spinner.cjs.entry.js +60 -0
  83. package/dist/cjs/ion-split-pane.cjs.entry.js +150 -0
  84. package/dist/cjs/ion-tab-bar.cjs.entry.js +58 -0
  85. package/dist/cjs/ion-tab-button.cjs.entry.js +99 -0
  86. package/dist/cjs/ion-tab.cjs.entry.js +58 -0
  87. package/dist/cjs/ion-tabs.cjs.entry.js +155 -0
  88. package/dist/cjs/ion-text.cjs.entry.js +22 -0
  89. package/dist/cjs/ion-textarea.cjs.entry.js +217 -0
  90. package/dist/cjs/ion-thumbnail.cjs.entry.js +20 -0
  91. package/dist/cjs/ion-toast.cjs.entry.js +280 -0
  92. package/dist/cjs/ion-virtual-scroll.cjs.entry.js +544 -0
  93. package/dist/cjs/ionic-global-581fb4f8.js +204 -0
  94. package/dist/cjs/ios.transition-7244ac4e.js +459 -0
  95. package/dist/cjs/ldf-day-name_5.cjs.entry.js +5682 -0
  96. package/dist/cjs/ldf-editable-add-block-menu.cjs.entry.js +573 -0
  97. package/dist/cjs/ldf-editable-condition-piece.cjs.entry.js +220 -0
  98. package/dist/cjs/ldf-editable-condition.cjs.entry.js +106 -0
  99. package/dist/cjs/ldf-editable-filter-documents.cjs.entry.js +152 -0
  100. package/dist/cjs/ldf-editable-lookup_2.cjs.entry.js +496 -0
  101. package/dist/cjs/ldf-editable-metadata.cjs.entry.js +186 -0
  102. package/dist/cjs/ldf-editable-preference-option.cjs.entry.js +72 -0
  103. package/dist/cjs/ldf-editable-preference.cjs.entry.js +89 -0
  104. package/dist/cjs/ldf-editable-preferences.cjs.entry.js +200 -0
  105. package/dist/cjs/ldf-editable-string-list.cjs.entry.js +134 -0
  106. package/dist/cjs/ldf-editor-cursors.cjs.entry.js +276 -0
  107. package/dist/cjs/ldf-editor.cjs.entry.js +238 -0
  108. package/dist/cjs/ldf.cjs.js +22 -0
  109. package/dist/cjs/loader.cjs.js +24 -0
  110. package/dist/cjs/locale-d4e925b1.js +8 -0
  111. package/dist/cjs/md.transition-d86b1ef0.js +62 -0
  112. package/dist/cjs/menu-toggle-util-293e388b.js +11 -0
  113. package/dist/cjs/option-24f3d13a.js +167 -0
  114. package/dist/cjs/overlays-eb464d6d.js +228 -0
  115. package/dist/cjs/preference-a4bd51c4.js +23 -0
  116. package/dist/cjs/refrain-91fb446b.js +21 -0
  117. package/dist/cjs/rubric-5b467a6a.js +1220 -0
  118. package/dist/cjs/specific-class-a1112e78.js +38 -0
  119. package/dist/cjs/spinner-configs-b0bec093.js +112 -0
  120. package/dist/cjs/status-tap-7afb25f5.js +25 -0
  121. package/dist/cjs/swipe-back-f887168e.js +52 -0
  122. package/dist/cjs/swiper.bundle-cb0f61f7.js +6246 -0
  123. package/dist/cjs/tap-click-e0af5237.js +169 -0
  124. package/dist/cjs/text-5edb80f3.js +18 -0
  125. package/dist/cjs/theme-81caa5b0.js +47 -0
  126. package/dist/collection/collection-manifest.json +146 -0
  127. package/dist/collection/components/bible-reading/bible-reading.css +84 -0
  128. package/dist/collection/components/bible-reading/bible-reading.i18n.en.json +13 -0
  129. package/dist/collection/components/bible-reading/bible-reading.i18n.es.json +4 -0
  130. package/dist/collection/components/bible-reading/bible-reading.js +328 -0
  131. package/dist/collection/components/bible-reading/dist/bible-reading.js +354 -0
  132. package/dist/collection/components/bible-reading/fetch-reading.js +17 -0
  133. package/dist/collection/components/day-name/day-name.css +18 -0
  134. package/dist/collection/components/day-name/day-name.i18n.en.json +4 -0
  135. package/dist/{ldf/ldf-day-name.entry.js → collection/components/day-name/day-name.js} +54 -27
  136. package/dist/collection/components/editable-add-block/editable-add-block.css +93 -0
  137. package/dist/collection/components/editable-add-block/editable-add-block.i18n.en.json +5 -0
  138. package/dist/collection/components/editable-add-block/editable-add-block.js +135 -0
  139. package/dist/collection/components/editable-add-block-menu/dist/menu-options.js +230 -0
  140. package/dist/collection/components/editable-add-block-menu/editable-add-block-menu.css +33 -0
  141. package/dist/collection/components/editable-add-block-menu/editable-add-block-menu.i18n.en.json +48 -0
  142. package/dist/collection/components/editable-add-block-menu/editable-add-block-menu.js +101 -0
  143. package/dist/collection/components/editable-add-block-menu/menu-options.js +423 -0
  144. package/dist/collection/components/editable-antiphon-field/editable-antiphon-field.i18n.en.json +11 -0
  145. package/dist/collection/components/editable-antiphon-field/editable-antiphon-field.js +332 -0
  146. package/dist/collection/components/editable-antiphon-field/ldf-editable-antiphon-field.css +7 -0
  147. package/dist/collection/components/editable-boolean/editable-boolean.js +117 -0
  148. package/dist/collection/components/editable-condition/editable-condition.i18n.en.json +7 -0
  149. package/dist/collection/components/editable-condition/editable-condition.js +192 -0
  150. package/dist/collection/components/editable-condition-piece/dist/editable-condition-piece.js +257 -0
  151. package/dist/collection/components/editable-condition-piece/editable-condition-piece.css +34 -0
  152. package/dist/collection/components/editable-condition-piece/editable-condition-piece.i18n.en.json +21 -0
  153. package/dist/collection/components/editable-condition-piece/editable-condition-piece.js +233 -0
  154. package/dist/collection/components/editable-condition-piece/except-only-strings.js +12 -0
  155. package/dist/collection/components/editable-condition-piece/except-only.js +20 -0
  156. package/dist/collection/components/editable-delete/editable-delete.i18n.en.json +6 -0
  157. package/dist/collection/components/editable-delete/editable-delete.js +175 -0
  158. package/dist/collection/components/editable-filter-documents/dist/editable-filter-documents.js +242 -0
  159. package/dist/collection/components/editable-filter-documents/editable-filter-documents.css +11 -0
  160. package/dist/collection/components/editable-filter-documents/editable-filter-documents.i18n.en.json +9 -0
  161. package/dist/collection/components/editable-filter-documents/editable-filter-documents.js +294 -0
  162. package/dist/collection/components/editable-lookup/editable-lookup.js +210 -0
  163. package/dist/collection/components/editable-metadata/editable-metadata.css +44 -0
  164. package/dist/collection/components/editable-metadata/editable-metadata.i18n.en.json +51 -0
  165. package/dist/collection/components/editable-metadata/editable-metadata.js +261 -0
  166. package/dist/collection/components/editable-metadata-buttons/dist/editable-metadata-buttons.js +444 -0
  167. package/dist/collection/components/editable-metadata-buttons/editable-metadata-buttons.css +37 -0
  168. package/dist/collection/components/editable-metadata-buttons/editable-metadata-buttons.i18n.en.json +31 -0
  169. package/dist/collection/components/editable-metadata-buttons/editable-metadata-buttons.js +433 -0
  170. package/dist/collection/components/editable-metadata-metadata-fields/dist/editable-metadata-metadata-fields.js +399 -0
  171. package/dist/collection/components/editable-metadata-metadata-fields/editable-metadata-metadata-fields.i18n.en.json +48 -0
  172. package/dist/collection/components/editable-metadata-metadata-fields/editable-metadata-metadata-fields.js +438 -0
  173. package/dist/collection/components/editable-preference/editable-preference.i18n.en.json +8 -0
  174. package/dist/collection/components/editable-preference/editable-preference.js +166 -0
  175. package/dist/collection/components/editable-preference-option/editable-preference-option.i18n.en.json +9 -0
  176. package/dist/collection/components/editable-preference-option/editable-preference-option.js +128 -0
  177. package/dist/collection/components/editable-preferences/dist/editable-preferences.js +281 -0
  178. package/dist/collection/components/editable-preferences/editable-preferences.css +3 -0
  179. package/dist/collection/components/editable-preferences/editable-preferences.i18n.en.json +10 -0
  180. package/dist/collection/components/editable-preferences/editable-preferences.js +230 -0
  181. package/dist/collection/components/editable-preferences/preference-tree.js +24 -0
  182. package/dist/collection/components/editable-select/dist/editable-select.js +69 -0
  183. package/dist/collection/components/editable-select/editable-select.css +0 -0
  184. package/dist/collection/components/editable-select/editable-select.js +157 -0
  185. package/dist/collection/components/editable-string-list/dist/editable-string-list.js +207 -0
  186. package/dist/collection/components/editable-string-list/editable-string-list.css +21 -0
  187. package/dist/collection/components/editable-string-list/editable-string-list.i18n.en.json +18 -0
  188. package/dist/collection/components/editable-string-list/editable-string-list.js +194 -0
  189. package/dist/collection/components/editable-text/dist/editable-text.js +300 -0
  190. package/dist/collection/components/editable-text/dist/handle-input.js +52 -0
  191. package/dist/collection/components/editable-text/editable-text.css +53 -0
  192. package/dist/collection/components/editable-text/editable-text.i18n.en.json +3 -0
  193. package/dist/collection/components/editable-text/editable-text.js +473 -0
  194. package/dist/collection/components/editable-text/handle-input.js +47 -0
  195. package/dist/collection/components/editor/dist/editor.js +403 -0
  196. package/dist/collection/components/editor/editor.css +41 -0
  197. package/dist/collection/components/editor/editor.js +579 -0
  198. package/dist/collection/components/editor-cursors/editor-cursors.css +43 -0
  199. package/dist/collection/components/editor-cursors/editor-cursors.js +228 -0
  200. package/dist/collection/components/heading/dist/heading.js +210 -0
  201. package/dist/collection/components/heading/editable-node.js +2 -0
  202. package/dist/collection/components/heading/heading.css +96 -0
  203. package/dist/collection/components/heading/heading.i18n.en.json +4 -0
  204. package/dist/collection/components/heading/heading.js +198 -0
  205. package/dist/collection/components/image/image.css +75 -0
  206. package/dist/collection/components/image/image.i18n.en.json +4 -0
  207. package/dist/collection/components/image/image.js +303 -0
  208. package/dist/collection/components/label-bar/label-bar.css +40 -0
  209. package/dist/collection/components/label-bar/label-bar.js +49 -0
  210. package/dist/collection/components/liturgical-document/condition-node.js +86 -0
  211. package/dist/collection/components/liturgical-document/dist/liturgical-document.js +341 -0
  212. package/dist/collection/components/liturgical-document/liturgical-document.css +73 -0
  213. package/dist/collection/components/liturgical-document/liturgical-document.i18n.en.json +45 -0
  214. package/dist/collection/components/liturgical-document/liturgical-document.js +465 -0
  215. package/dist/collection/components/liturgical-document/lookup-node.js +80 -0
  216. package/dist/collection/components/liturgy/liturgy.js +138 -0
  217. package/dist/collection/components/meditation/dist/meditation.js +345 -0
  218. package/dist/collection/components/meditation/meditation.css +63 -0
  219. package/dist/collection/components/meditation/meditation.i18n.en.json +8 -0
  220. package/dist/collection/components/meditation/meditation.js +409 -0
  221. package/dist/collection/components/option/dist/option.js +318 -0
  222. package/dist/collection/components/option/option.css +8 -0
  223. package/dist/collection/components/option/option.i18n.en.json +3 -0
  224. package/dist/{ldf/ldf-option.entry.js → collection/components/option/option.js} +214 -31
  225. package/dist/collection/components/prayers-and-thanksgivings/dist/prayers-and-thanksgivings.js +258 -0
  226. package/dist/collection/components/prayers-and-thanksgivings/prayers-and-thanksgivings.css +3 -0
  227. package/dist/collection/components/prayers-and-thanksgivings/prayers-and-thanksgivings.i18n.en.json +3 -0
  228. package/dist/collection/components/prayers-and-thanksgivings/prayers-and-thanksgivings.js +265 -0
  229. package/dist/collection/components/psalm/dist/psalm.js +383 -0
  230. package/dist/collection/components/psalm/psalm.css +152 -0
  231. package/dist/collection/components/psalm/psalm.i18n.en.json +10 -0
  232. package/dist/collection/components/psalm/psalm.js +361 -0
  233. package/dist/collection/components/refrain/refrain.css +42 -0
  234. package/dist/collection/components/refrain/refrain.js +105 -0
  235. package/dist/collection/components/responsive-prayer/responsive-prayer.css +83 -0
  236. package/dist/collection/components/responsive-prayer/responsive-prayer.i18n.en.json +7 -0
  237. package/dist/collection/components/responsive-prayer/responsive-prayer.js +215 -0
  238. package/dist/collection/components/rubric/rubric.css +9 -0
  239. package/dist/collection/components/rubric/rubric.js +104 -0
  240. package/dist/collection/components/string/dist/string.js +194 -0
  241. package/dist/collection/components/string/string.css +60 -0
  242. package/dist/{ldf/ldf-string.entry.js → collection/components/string/string.js} +179 -18
  243. package/dist/collection/components/text/dist/text.js +234 -0
  244. package/dist/collection/components/text/text.css +52 -0
  245. package/dist/collection/components/text/text.i18n.en.json +7 -0
  246. package/dist/collection/components/text/text.i18n.es.json +3 -0
  247. package/dist/collection/components/text/text.js +224 -0
  248. package/dist/collection/i18n/bible-reading.i18n.en.json +13 -0
  249. package/dist/collection/i18n/bible-reading.i18n.es.json +4 -0
  250. package/dist/collection/i18n/day-name.i18n.en.json +4 -0
  251. package/dist/collection/i18n/editable-add-block-menu.i18n.en.json +48 -0
  252. package/dist/collection/i18n/editable-add-block.i18n.en.json +5 -0
  253. package/dist/collection/i18n/editable-antiphon-field.i18n.en.json +11 -0
  254. package/dist/collection/i18n/editable-condition-piece.i18n.en.json +21 -0
  255. package/dist/collection/i18n/editable-condition.i18n.en.json +7 -0
  256. package/dist/collection/i18n/editable-delete.i18n.en.json +6 -0
  257. package/dist/collection/i18n/editable-filter-documents.i18n.en.json +9 -0
  258. package/dist/collection/i18n/editable-metadata-buttons.i18n.en.json +31 -0
  259. package/dist/collection/i18n/editable-metadata-metadata-fields.i18n.en.json +48 -0
  260. package/dist/collection/i18n/editable-metadata.i18n.en.json +51 -0
  261. package/dist/collection/i18n/editable-preference-option.i18n.en.json +9 -0
  262. package/dist/collection/i18n/editable-preference.i18n.en.json +8 -0
  263. package/dist/collection/i18n/editable-preferences.i18n.en.json +10 -0
  264. package/dist/collection/i18n/editable-string-list.i18n.en.json +18 -0
  265. package/dist/collection/i18n/editable-text.i18n.en.json +3 -0
  266. package/dist/collection/i18n/heading.i18n.en.json +4 -0
  267. package/dist/collection/i18n/image.i18n.en.json +4 -0
  268. package/dist/collection/i18n/liturgical-document.i18n.en.json +45 -0
  269. package/dist/collection/i18n/meditation.i18n.en.json +8 -0
  270. package/dist/collection/i18n/option.i18n.en.json +3 -0
  271. package/dist/collection/i18n/prayers-and-thanksgivings.i18n.en.json +3 -0
  272. package/dist/collection/i18n/psalm.i18n.en.json +10 -0
  273. package/dist/collection/i18n/responsive-prayer.i18n.en.json +7 -0
  274. package/dist/collection/i18n/text.i18n.en.json +7 -0
  275. package/dist/collection/i18n/text.i18n.es.json +3 -0
  276. package/dist/collection/index.js +2 -0
  277. package/dist/collection/interfaces/add-option-to-doc.js +1 -0
  278. package/dist/collection/interfaces/dist/menu-option.js +9 -0
  279. package/dist/collection/interfaces/index.js +2 -0
  280. package/dist/collection/interfaces/menu-option.js +2 -0
  281. package/dist/collection/utils/element-from-path.js +14 -0
  282. package/dist/{ldf/locale-d595f8f6.js → collection/utils/locale.js} +2 -4
  283. package/dist/esm/_commonjsHelpers-ba3f0406.js +21 -0
  284. package/dist/{ldf/animation-6b850b6a.js → esm/animation-7a1025d0.js} +1 -1
  285. package/dist/{ldf/app-globals-d4376e8c.js → esm/app-globals-729b03cf.js} +1 -1
  286. package/dist/esm/book-31b8cdde.js +282 -0
  287. package/dist/esm/change-ea574d32.js +14 -0
  288. package/dist/{ldf → esm}/cubic-bezier-89113939.js +0 -0
  289. package/dist/esm/cursor-0e47f111.js +10 -0
  290. package/dist/{ldf → esm}/focus-visible-571e113e.js +0 -0
  291. package/dist/{ldf → esm}/framework-delegate-7af2c551.js +0 -0
  292. package/dist/esm/gesture-controller-5bf8565e.js +191 -0
  293. package/dist/{ldf/haptic-0d102c16.js → esm/haptic-fc16a4d8.js} +0 -24
  294. package/dist/{ldf → esm}/hardware-back-button-b3b61715.js +0 -0
  295. package/dist/esm/heading-cc5ffa8a.js +19 -0
  296. package/dist/{ldf/helpers-e9bf4204.js → esm/helpers-8c93393b.js} +0 -3
  297. package/dist/esm/image-c6a3f0c5.js +19 -0
  298. package/dist/{ldf/index-dd274afe.js → esm/index-1bf6d100.js} +3 -31
  299. package/dist/{ldf/index-4505cc02.js → esm/index-734a6b69.js} +2 -2
  300. package/dist/{ldf/index-9b41fcc6.js → esm/index-82044e24.js} +3 -190
  301. package/dist/{ldf → esm}/index-86d5f3ab.js +0 -0
  302. package/dist/{ldf/index-fc8c2f30.js → esm/index-9579282b.js} +3 -3
  303. package/dist/{ldf → esm}/index-c7ecbd63.js +0 -0
  304. package/dist/{ldf/index-7845c707.js → esm/index-f08f6130.js} +1 -6
  305. package/dist/esm/index-f0f6a379.js +1765 -0
  306. package/dist/esm/index.js +4 -0
  307. package/dist/{ldf/input-shims-b58afc2a.js → esm/input-shims-a4ad2743.js} +5 -7
  308. package/dist/{ldf → esm}/ion-action-sheet.entry.js +5 -5
  309. package/dist/{ldf → esm}/ion-alert.entry.js +5 -5
  310. package/dist/{ldf → esm}/ion-app.entry.js +6 -6
  311. package/dist/{ldf → esm}/ion-avatar.entry.js +2 -2
  312. package/dist/{ldf → esm}/ion-back-button.entry.js +2 -2
  313. package/dist/{ldf → esm}/ion-backdrop.entry.js +3 -3
  314. package/dist/{ldf → esm}/ion-badge.entry.js +2 -2
  315. package/dist/esm/ion-button_13.entry.js +1770 -0
  316. package/dist/esm/ion-card-content_6.entry.js +396 -0
  317. package/dist/{ldf → esm}/ion-card-subtitle.entry.js +2 -2
  318. package/dist/{ldf/ion-card.entry.js → esm/ion-card_2.entry.js} +27 -3
  319. package/dist/{ldf/ion-checkbox.entry.js → esm/ion-checkbox_3.entry.js} +123 -4
  320. package/dist/{ldf → esm}/ion-chip.entry.js +2 -2
  321. package/dist/{ldf/ion-datetime.entry.js → esm/ion-datetime_2.entry.js} +152 -6
  322. package/dist/{ldf → esm}/ion-fab-button.entry.js +3 -3
  323. package/dist/{ldf → esm}/ion-fab-list.entry.js +2 -2
  324. package/dist/{ldf → esm}/ion-fab.entry.js +2 -2
  325. package/dist/{ldf → esm}/ion-footer.entry.js +2 -2
  326. package/dist/{ldf → esm}/ion-img.entry.js +2 -2
  327. package/dist/{ldf → esm}/ion-infinite-scroll-content.entry.js +2 -2
  328. package/dist/{ldf → esm}/ion-infinite-scroll.entry.js +2 -2
  329. package/dist/{ldf/ldf-editable-text.entry.js → esm/ion-input_2.entry.js} +222 -12
  330. package/dist/{ldf → esm}/ion-item-divider.entry.js +2 -2
  331. package/dist/{ldf → esm}/ion-item-group.entry.js +2 -2
  332. package/dist/{ldf → esm}/ion-item-option.entry.js +2 -2
  333. package/dist/{ldf → esm}/ion-item-options.entry.js +3 -3
  334. package/dist/{ldf → esm}/ion-item-sliding.entry.js +4 -4
  335. package/dist/{ldf → esm}/ion-list-header.entry.js +2 -2
  336. package/dist/{ldf → esm}/ion-loading.entry.js +5 -5
  337. package/dist/{ldf → esm}/ion-menu-button.entry.js +6 -6
  338. package/dist/{ldf → esm}/ion-menu-toggle.entry.js +6 -6
  339. package/dist/{ldf → esm}/ion-menu.entry.js +7 -11
  340. package/dist/{ldf → esm}/ion-modal.entry.js +8 -7
  341. package/dist/{ldf → esm}/ion-nav-link.entry.js +1 -1
  342. package/dist/{ldf → esm}/ion-nav.entry.js +5 -9
  343. package/dist/{ldf → esm}/ion-note.entry.js +2 -2
  344. package/dist/{ldf → esm}/ion-picker-column.entry.js +5 -5
  345. package/dist/{ldf → esm}/ion-picker.entry.js +5 -5
  346. package/dist/{ldf → esm}/ion-popover.entry.js +6 -6
  347. package/dist/{ldf → esm}/ion-progress-bar.entry.js +3 -3
  348. package/dist/{ldf/ion-radio.entry.js → esm/ion-radio_2.entry.js} +57 -4
  349. package/dist/{ldf → esm}/ion-range.entry.js +4 -4
  350. package/dist/{ldf → esm}/ion-refresher-content.entry.js +2 -2
  351. package/dist/{ldf → esm}/ion-refresher.entry.js +7 -57
  352. package/dist/{ldf → esm}/ion-reorder-group.entry.js +4 -4
  353. package/dist/{ldf → esm}/ion-reorder.entry.js +2 -2
  354. package/dist/{ldf → esm}/ion-route-redirect.entry.js +1 -1
  355. package/dist/{ldf → esm}/ion-route.entry.js +1 -1
  356. package/dist/{ldf → esm}/ion-router-link.entry.js +2 -2
  357. package/dist/{ldf → esm}/ion-router-outlet.entry.js +4 -4
  358. package/dist/{ldf → esm}/ion-router.entry.js +2 -2
  359. package/dist/esm/ion-segment_16.entry.js +2488 -0
  360. package/dist/{ldf → esm}/ion-select-popover.entry.js +3 -3
  361. package/dist/{ldf/ion-select.entry.js → esm/ion-select_2.entry.js} +24 -5
  362. package/dist/{ldf → esm}/ion-slide.entry.js +2 -2
  363. package/dist/{ldf → esm}/ion-slides.entry.js +3 -3
  364. package/dist/{ldf → esm}/ion-spinner.entry.js +2 -2
  365. package/dist/{ldf → esm}/ion-split-pane.entry.js +2 -8
  366. package/dist/{ldf → esm}/ion-tab-bar.entry.js +2 -2
  367. package/dist/{ldf → esm}/ion-tab-button.entry.js +2 -2
  368. package/dist/{ldf → esm}/ion-tab.entry.js +1 -9
  369. package/dist/{ldf → esm}/ion-tabs.entry.js +1 -1
  370. package/dist/{ldf → esm}/ion-text.entry.js +2 -2
  371. package/dist/{ldf → esm}/ion-textarea.entry.js +5 -5
  372. package/dist/{ldf → esm}/ion-thumbnail.entry.js +2 -2
  373. package/dist/{ldf → esm}/ion-toast.entry.js +5 -5
  374. package/dist/{ldf → esm}/ion-virtual-scroll.entry.js +1 -1
  375. package/dist/{ldf/ionic-global-98eeb119.js → esm/ionic-global-ef89a0a5.js} +1 -2
  376. package/dist/{ldf/ios.transition-1d534d59.js → esm/ios.transition-b1be0863.js} +4 -4
  377. package/dist/{ldf/ldf-text.entry.js → esm/ldf-day-name_5.entry.js} +508 -126
  378. package/dist/{ldf → esm}/ldf-editable-add-block-menu.entry.js +9 -4
  379. package/dist/{ldf → esm}/ldf-editable-condition-piece.entry.js +24 -4
  380. package/dist/{ldf → esm}/ldf-editable-condition.entry.js +4 -4
  381. package/dist/{ldf → esm}/ldf-editable-filter-documents.entry.js +32 -4
  382. package/dist/{ldf/ldf-editable-metadata-metadata-fields.entry.js → esm/ldf-editable-lookup_2.entry.js} +121 -5
  383. package/dist/{ldf → esm}/ldf-editable-metadata.entry.js +10 -4
  384. package/dist/{ldf → esm}/ldf-editable-preference-option.entry.js +5 -4
  385. package/dist/{ldf → esm}/ldf-editable-preference.entry.js +5 -4
  386. package/dist/{ldf → esm}/ldf-editable-preferences.entry.js +20 -17
  387. package/dist/{ldf → esm}/ldf-editable-string-list.entry.js +4 -4
  388. package/dist/{ldf → esm}/ldf-editor-cursors.entry.js +5 -9
  389. package/dist/{ldf → esm}/ldf-editor.entry.js +6 -4
  390. package/dist/esm/ldf.js +20 -0
  391. package/dist/esm/loader.js +20 -0
  392. package/dist/esm/locale-ec8e14e6.js +6 -0
  393. package/dist/{ldf/md.transition-a8cd439c.js → esm/md.transition-1763f475.js} +4 -4
  394. package/dist/{ldf/menu-toggle-util-9f807d31.js → esm/menu-toggle-util-29e61ff3.js} +1 -1
  395. package/dist/esm/option-da8390ad.js +164 -0
  396. package/dist/{ldf/overlays-10805282.js → esm/overlays-06b43b65.js} +2 -2
  397. package/dist/esm/polyfills/core-js.js +11 -0
  398. package/dist/esm/polyfills/css-shim.js +1 -0
  399. package/dist/esm/polyfills/dom.js +79 -0
  400. package/dist/esm/polyfills/es5-html-element.js +1 -0
  401. package/dist/esm/polyfills/index.js +34 -0
  402. package/dist/esm/polyfills/system.js +6 -0
  403. package/dist/esm/preference-d070d4cb.js +20 -0
  404. package/dist/esm/refrain-75a412cb.js +19 -0
  405. package/dist/esm/rubric-91bf7fed.js +1213 -0
  406. package/dist/esm/specific-class-ef83cfb6.js +36 -0
  407. package/dist/{ldf → esm}/spinner-configs-5dd6891e.js +0 -0
  408. package/dist/{ldf/status-tap-b8afd87d.js → esm/status-tap-7458bd71.js} +1 -1
  409. package/dist/{ldf/swipe-back-2b2f4e51.js → esm/swipe-back-762284df.js} +3 -2
  410. package/dist/{ldf/swiper.bundle-49d79db9.js → esm/swiper.bundle-13b9da83.js} +2 -2
  411. package/dist/{ldf/tap-click-fccc5499.js → esm/tap-click-9b3d603b.js} +1 -1
  412. package/dist/esm/text-ed75fbd4.js +16 -0
  413. package/dist/{ldf → esm}/theme-74c22054.js +0 -0
  414. package/dist/index.cjs.js +1 -0
  415. package/dist/index.js +1 -0
  416. package/dist/ldf/index.esm.js +1 -4
  417. package/dist/ldf/ldf.css +3 -122
  418. package/dist/ldf/ldf.esm.js +1 -123
  419. package/dist/ldf/p-018e57db.entry.js +1 -0
  420. package/dist/ldf/p-03389897.js +1 -0
  421. package/dist/ldf/p-03afc8cb.entry.js +1 -0
  422. package/dist/ldf/p-04715bf0.entry.js +1 -0
  423. package/dist/ldf/p-0491d1d2.js +1 -0
  424. package/dist/ldf/p-07d6d3ad.entry.js +1 -0
  425. package/dist/ldf/p-08584ccc.entry.js +1 -0
  426. package/dist/ldf/p-0873a34a.entry.js +1 -0
  427. package/dist/ldf/p-0ab55cf6.js +1 -0
  428. package/dist/ldf/p-1482a707.js +1 -0
  429. package/dist/ldf/p-177ede88.js +1 -0
  430. package/dist/ldf/p-1902f41e.entry.js +1 -0
  431. package/dist/ldf/p-1a8e2899.entry.js +1 -0
  432. package/dist/ldf/p-1c8cc5bf.entry.js +1 -0
  433. package/dist/ldf/p-1ff665a7.entry.js +1 -0
  434. package/dist/ldf/p-21e2f0a3.entry.js +1 -0
  435. package/dist/ldf/p-23af1bc3.entry.js +1 -0
  436. package/dist/ldf/p-25a736f1.entry.js +1 -0
  437. package/dist/ldf/p-2ae548b3.entry.js +1 -0
  438. package/dist/ldf/p-2c36a583.entry.js +1 -0
  439. package/dist/ldf/p-302dc0d5.entry.js +1 -0
  440. package/dist/ldf/p-327b14ac.entry.js +1 -0
  441. package/dist/ldf/p-32f7ba8e.entry.js +1 -0
  442. package/dist/ldf/p-3545fcdc.entry.js +1 -0
  443. package/dist/ldf/p-374118d7.entry.js +1 -0
  444. package/dist/ldf/p-380f8655.entry.js +1 -0
  445. package/dist/ldf/p-3c9930ff.entry.js +1 -0
  446. package/dist/ldf/p-3ca74c80.js +8 -0
  447. package/dist/ldf/p-3e8ff66b.js +1 -0
  448. package/dist/ldf/p-3f39c2ad.entry.js +1 -0
  449. package/dist/ldf/p-3f8ef67b.entry.js +1 -0
  450. package/dist/ldf/p-402c811f.js +1 -0
  451. package/dist/ldf/p-430c418a.entry.js +1 -0
  452. package/dist/ldf/p-476327d6.js +1 -0
  453. package/dist/ldf/p-48e44122.js +1 -0
  454. package/dist/ldf/p-4a4380fa.entry.js +1 -0
  455. package/dist/ldf/p-4aa9a6f2.js +1 -0
  456. package/dist/ldf/p-4b80de48.js +1 -0
  457. package/dist/ldf/p-4e0b3c0f.entry.js +1 -0
  458. package/dist/ldf/p-5066eaa5.js +1 -0
  459. package/dist/ldf/p-52656429.entry.js +1 -0
  460. package/dist/ldf/p-55d797c1.js +1 -0
  461. package/dist/ldf/p-59340423.entry.js +1 -0
  462. package/dist/ldf/p-594fa9d4.entry.js +1 -0
  463. package/dist/ldf/p-5b43e6be.js +1 -0
  464. package/dist/ldf/p-5b51185b.js +1 -0
  465. package/dist/ldf/p-5be7ff17.entry.js +1 -0
  466. package/dist/ldf/p-5ea6de28.entry.js +1 -0
  467. package/dist/ldf/p-63b5daf6.entry.js +1 -0
  468. package/dist/ldf/p-65563763.entry.js +1 -0
  469. package/dist/ldf/p-65d26c45.js +1 -0
  470. package/dist/ldf/p-65ea7ab3.entry.js +1 -0
  471. package/dist/ldf/p-66a7385e.entry.js +1 -0
  472. package/dist/ldf/p-6857574d.js +1 -0
  473. package/dist/ldf/p-69f85ad3.entry.js +1 -0
  474. package/dist/ldf/p-6fe24d85.entry.js +1 -0
  475. package/dist/ldf/p-70e47f8b.entry.js +1 -0
  476. package/dist/ldf/p-714cf0b2.js +1 -0
  477. package/dist/ldf/p-718ae824.js +1 -0
  478. package/dist/ldf/p-78da8fe1.js +1 -0
  479. package/dist/ldf/p-79a526a1.entry.js +1 -0
  480. package/dist/ldf/p-7abeb82c.entry.js +1 -0
  481. package/dist/ldf/p-7efa633b.entry.js +1 -0
  482. package/dist/ldf/p-800a115c.entry.js +1 -0
  483. package/dist/ldf/p-84f38db6.entry.js +1 -0
  484. package/dist/ldf/p-8767a74e.entry.js +1 -0
  485. package/dist/ldf/p-88dbd8b6.js +1 -0
  486. package/dist/ldf/p-8932ec85.entry.js +1 -0
  487. package/dist/ldf/p-8c2727db.entry.js +1 -0
  488. package/dist/ldf/p-8ec26587.js +1 -0
  489. package/dist/ldf/p-8f67abb8.js +3 -0
  490. package/dist/ldf/p-9155f066.js +1 -0
  491. package/dist/ldf/p-978e2c6d.js +1 -0
  492. package/dist/ldf/p-991c0877.js +1 -0
  493. package/dist/ldf/p-9bd5d1d4.entry.js +1 -0
  494. package/dist/ldf/p-9c1973a6.entry.js +1 -0
  495. package/dist/ldf/p-9c397c49.entry.js +1 -0
  496. package/dist/ldf/p-9e2c172e.entry.js +1 -0
  497. package/dist/ldf/p-a1729dbd.js +1 -0
  498. package/dist/ldf/p-ac7a17ce.entry.js +1 -0
  499. package/dist/ldf/p-acbbd1ec.js +1 -0
  500. package/dist/ldf/p-afc1a02c.js +1 -0
  501. package/dist/ldf/p-b1242016.js +1 -0
  502. package/dist/ldf/p-b62e8f49.js +1 -0
  503. package/dist/ldf/p-b7388aec.entry.js +1 -0
  504. package/dist/ldf/p-b78336d7.entry.js +1 -0
  505. package/dist/ldf/p-ba021918.entry.js +1 -0
  506. package/dist/ldf/p-bdcf2b02.entry.js +1 -0
  507. package/dist/ldf/p-c1df632d.entry.js +1 -0
  508. package/dist/ldf/p-c3042920.entry.js +1 -0
  509. package/dist/ldf/p-c3807857.entry.js +1 -0
  510. package/dist/ldf/p-c3841978.entry.js +1 -0
  511. package/dist/ldf/p-c41e055c.entry.js +1 -0
  512. package/dist/ldf/p-c60a875b.js +1 -0
  513. package/dist/ldf/p-c6163f81.entry.js +1 -0
  514. package/dist/ldf/p-c6a8f4aa.js +1 -0
  515. package/dist/ldf/p-c6b42618.entry.js +1 -0
  516. package/dist/ldf/p-c74d3fd0.entry.js +1 -0
  517. package/dist/ldf/p-c82dd468.entry.js +1 -0
  518. package/dist/ldf/p-ca698b8f.entry.js +1 -0
  519. package/dist/ldf/p-cbfbb80c.entry.js +1 -0
  520. package/dist/ldf/p-d195c957.entry.js +1 -0
  521. package/dist/ldf/p-d282d4f9.js +1 -0
  522. package/dist/ldf/p-d7966e9b.entry.js +1 -0
  523. package/dist/ldf/p-d7f8c770.js +1 -0
  524. package/dist/ldf/p-d9c1c1f6.js +1 -0
  525. package/dist/ldf/p-dc445c36.entry.js +1 -0
  526. package/dist/ldf/p-dd99e42a.entry.js +1 -0
  527. package/dist/ldf/p-de5bb5ad.js +1 -0
  528. package/dist/ldf/p-e0e12ae3.entry.js +1 -0
  529. package/dist/ldf/p-e215fd02.entry.js +1 -0
  530. package/dist/ldf/p-e4be11ad.entry.js +1 -0
  531. package/dist/ldf/p-e4f0cd91.entry.js +1 -0
  532. package/dist/ldf/p-e911e60d.js +1 -0
  533. package/dist/ldf/p-ea66c343.entry.js +1 -0
  534. package/dist/ldf/p-ec5eecdc.entry.js +1 -0
  535. package/dist/ldf/p-ed3327fa.js +1 -0
  536. package/dist/ldf/p-f0de7628.entry.js +1 -0
  537. package/dist/ldf/p-f2ce126e.js +1 -0
  538. package/dist/ldf/p-f3a0c163.js +1 -0
  539. package/dist/ldf/p-fa191f47.entry.js +1 -0
  540. package/dist/ldf/p-fe59a676.entry.js +1 -0
  541. package/dist/node_modules/@ionic/core/dist/collection/components/action-sheet/action-sheet.ios.css +363 -0
  542. package/dist/node_modules/@ionic/core/dist/collection/components/action-sheet/action-sheet.md.css +285 -0
  543. package/dist/node_modules/@ionic/core/dist/collection/components/alert/alert.ios.css +483 -0
  544. package/dist/node_modules/@ionic/core/dist/collection/components/alert/alert.md.css +501 -0
  545. package/dist/node_modules/@ionic/core/dist/collection/components/app/app.css +7 -0
  546. package/dist/node_modules/@ionic/core/dist/collection/components/avatar/avatar.ios.css +22 -0
  547. package/dist/node_modules/@ionic/core/dist/collection/components/avatar/avatar.md.css +22 -0
  548. package/dist/node_modules/@ionic/core/dist/collection/components/back-button/back-button.ios.css +277 -0
  549. package/dist/node_modules/@ionic/core/dist/collection/components/back-button/back-button.md.css +305 -0
  550. package/dist/node_modules/@ionic/core/dist/collection/components/backdrop/backdrop.ios.css +26 -0
  551. package/dist/node_modules/@ionic/core/dist/collection/components/backdrop/backdrop.md.css +26 -0
  552. package/dist/node_modules/@ionic/core/dist/collection/components/badge/badge.ios.css +58 -0
  553. package/dist/node_modules/@ionic/core/dist/collection/components/badge/badge.md.css +62 -0
  554. package/dist/node_modules/@ionic/core/dist/collection/components/button/button.ios.css +440 -0
  555. package/dist/node_modules/@ionic/core/dist/collection/components/button/button.md.css +428 -0
  556. package/dist/node_modules/@ionic/core/dist/collection/components/buttons/buttons.ios.css +128 -0
  557. package/dist/node_modules/@ionic/core/dist/collection/components/buttons/buttons.md.css +151 -0
  558. package/dist/node_modules/@ionic/core/dist/collection/components/card/card.ios.css +101 -0
  559. package/dist/node_modules/@ionic/core/dist/collection/components/card/card.md.css +95 -0
  560. package/dist/node_modules/@ionic/core/dist/collection/components/card-content/card-content.ios.css +61 -0
  561. package/dist/node_modules/@ionic/core/dist/collection/components/card-content/card-content.md.css +63 -0
  562. package/dist/node_modules/@ionic/core/dist/collection/components/card-header/card-header.ios.css +37 -0
  563. package/dist/node_modules/@ionic/core/dist/collection/components/card-header/card-header.md.css +35 -0
  564. package/dist/node_modules/@ionic/core/dist/collection/components/card-subtitle/card-subtitle.ios.css +28 -0
  565. package/dist/node_modules/@ionic/core/dist/collection/components/card-subtitle/card-subtitle.md.css +26 -0
  566. package/dist/node_modules/@ionic/core/dist/collection/components/card-title/card-title.ios.css +27 -0
  567. package/dist/node_modules/@ionic/core/dist/collection/components/card-title/card-title.md.css +27 -0
  568. package/dist/node_modules/@ionic/core/dist/collection/components/checkbox/checkbox.ios.css +147 -0
  569. package/dist/node_modules/@ionic/core/dist/collection/components/checkbox/checkbox.md.css +150 -0
  570. package/dist/node_modules/@ionic/core/dist/collection/components/chip/chip.ios.css +194 -0
  571. package/dist/node_modules/@ionic/core/dist/collection/components/chip/chip.md.css +194 -0
  572. package/dist/node_modules/@ionic/core/dist/collection/components/col/col.css +108 -0
  573. package/dist/node_modules/@ionic/core/dist/collection/components/content/content.css +167 -0
  574. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.ios.css +106 -0
  575. package/dist/node_modules/@ionic/core/dist/collection/components/datetime/datetime.md.css +106 -0
  576. package/dist/node_modules/@ionic/core/dist/collection/components/fab/fab.css +61 -0
  577. package/dist/node_modules/@ionic/core/dist/collection/components/fab-button/fab-button.ios.css +324 -0
  578. package/dist/node_modules/@ionic/core/dist/collection/components/fab-button/fab-button.md.css +293 -0
  579. package/dist/node_modules/@ionic/core/dist/collection/components/fab-list/fab-list.css +116 -0
  580. package/dist/node_modules/@ionic/core/dist/collection/components/footer/footer.ios.css +33 -0
  581. package/dist/node_modules/@ionic/core/dist/collection/components/footer/footer.md.css +37 -0
  582. package/dist/node_modules/@ionic/core/dist/collection/components/grid/grid.css +151 -0
  583. package/dist/node_modules/@ionic/core/dist/collection/components/header/header.ios.css +92 -0
  584. package/dist/node_modules/@ionic/core/dist/collection/components/header/header.md.css +40 -0
  585. package/dist/node_modules/@ionic/core/dist/collection/components/img/img.css +12 -0
  586. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll/infinite-scroll.css +8 -0
  587. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +54 -0
  588. package/dist/node_modules/@ionic/core/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +54 -0
  589. package/dist/node_modules/@ionic/core/dist/collection/components/input/input.ios.css +172 -0
  590. package/dist/node_modules/@ionic/core/dist/collection/components/input/input.md.css +172 -0
  591. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.ios.css +563 -0
  592. package/dist/node_modules/@ionic/core/dist/collection/components/item/item.md.css +630 -0
  593. package/dist/node_modules/@ionic/core/dist/collection/components/item-divider/item-divider.ios.css +204 -0
  594. package/dist/node_modules/@ionic/core/dist/collection/components/item-divider/item-divider.md.css +297 -0
  595. package/dist/node_modules/@ionic/core/dist/collection/components/item-group/item-group.ios.css +3 -0
  596. package/dist/node_modules/@ionic/core/dist/collection/components/item-group/item-group.md.css +3 -0
  597. package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.ios.css +186 -0
  598. package/dist/node_modules/@ionic/core/dist/collection/components/item-option/item-option.md.css +180 -0
  599. package/dist/node_modules/@ionic/core/dist/collection/components/item-options/item-options.ios.css +88 -0
  600. package/dist/node_modules/@ionic/core/dist/collection/components/item-options/item-options.md.css +85 -0
  601. package/dist/node_modules/@ionic/core/dist/collection/components/item-sliding/item-sliding.css +42 -0
  602. package/dist/node_modules/@ionic/core/dist/collection/components/label/label.ios.css +152 -0
  603. package/dist/node_modules/@ionic/core/dist/collection/components/label/label.md.css +163 -0
  604. package/dist/node_modules/@ionic/core/dist/collection/components/list/list.ios.css +91 -0
  605. package/dist/node_modules/@ionic/core/dist/collection/components/list/list.md.css +114 -0
  606. package/dist/node_modules/@ionic/core/dist/collection/components/list-header/list-header.ios.css +118 -0
  607. package/dist/node_modules/@ionic/core/dist/collection/components/list-header/list-header.md.css +94 -0
  608. package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.ios.css +113 -0
  609. package/dist/node_modules/@ionic/core/dist/collection/components/loading/loading.md.css +104 -0
  610. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.ios.css +131 -0
  611. package/dist/node_modules/@ionic/core/dist/collection/components/menu/menu.md.css +127 -0
  612. package/dist/node_modules/@ionic/core/dist/collection/components/menu-button/menu-button.ios.css +175 -0
  613. package/dist/node_modules/@ionic/core/dist/collection/components/menu-button/menu-button.md.css +178 -0
  614. package/dist/node_modules/@ionic/core/dist/collection/components/menu-toggle/menu-toggle.css +3 -0
  615. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.ios.css +158 -0
  616. package/dist/node_modules/@ionic/core/dist/collection/components/modal/modal.md.css +104 -0
  617. package/dist/node_modules/@ionic/core/dist/collection/components/nav/nav.css +10 -0
  618. package/dist/node_modules/@ionic/core/dist/collection/components/note/note.ios.css +16 -0
  619. package/dist/node_modules/@ionic/core/dist/collection/components/note/note.md.css +17 -0
  620. package/dist/node_modules/@ionic/core/dist/collection/components/picker/picker.ios.css +216 -0
  621. package/dist/node_modules/@ionic/core/dist/collection/components/picker/picker.md.css +203 -0
  622. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column/picker-column.ios.css +122 -0
  623. package/dist/node_modules/@ionic/core/dist/collection/components/picker-column/picker-column.md.css +123 -0
  624. package/dist/node_modules/@ionic/core/dist/collection/components/popover/popover.ios.css +117 -0
  625. package/dist/node_modules/@ionic/core/dist/collection/components/popover/popover.md.css +82 -0
  626. package/dist/node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.ios.css +191 -0
  627. package/dist/node_modules/@ionic/core/dist/collection/components/progress-bar/progress-bar.md.css +191 -0
  628. package/dist/node_modules/@ionic/core/dist/collection/components/radio/radio.ios.css +151 -0
  629. package/dist/node_modules/@ionic/core/dist/collection/components/radio/radio.md.css +152 -0
  630. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.ios.css +275 -0
  631. package/dist/node_modules/@ionic/core/dist/collection/components/range/range.md.css +320 -0
  632. package/dist/node_modules/@ionic/core/dist/collection/components/refresher/refresher.ios.css +177 -0
  633. package/dist/node_modules/@ionic/core/dist/collection/components/refresher/refresher.md.css +210 -0
  634. package/dist/node_modules/@ionic/core/dist/collection/components/reorder/reorder.ios.css +15 -0
  635. package/dist/node_modules/@ionic/core/dist/collection/components/reorder/reorder.md.css +15 -0
  636. package/dist/node_modules/@ionic/core/dist/collection/components/reorder-group/reorder-group.css +33 -0
  637. package/dist/node_modules/@ionic/core/dist/collection/components/ripple-effect/ripple-effect.css +58 -0
  638. package/dist/node_modules/@ionic/core/dist/collection/components/router-link/router-link.css +29 -0
  639. package/dist/node_modules/@ionic/core/dist/collection/components/router-outlet/route-outlet.css +10 -0
  640. package/dist/node_modules/@ionic/core/dist/collection/components/row/row.css +4 -0
  641. package/dist/node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.ios.css +348 -0
  642. package/dist/node_modules/@ionic/core/dist/collection/components/searchbar/searchbar.md.css +279 -0
  643. package/dist/node_modules/@ionic/core/dist/collection/components/segment/segment.ios.css +64 -0
  644. package/dist/node_modules/@ionic/core/dist/collection/components/segment/segment.md.css +35 -0
  645. package/dist/node_modules/@ionic/core/dist/collection/components/segment-button/segment-button.ios.css +442 -0
  646. package/dist/node_modules/@ionic/core/dist/collection/components/segment-button/segment-button.md.css +424 -0
  647. package/dist/node_modules/@ionic/core/dist/collection/components/select/select.ios.css +123 -0
  648. package/dist/node_modules/@ionic/core/dist/collection/components/select/select.md.css +123 -0
  649. package/dist/node_modules/@ionic/core/dist/collection/components/select-option/select-option.css +3 -0
  650. package/dist/node_modules/@ionic/core/dist/collection/components/select-popover/select-popover.css +14 -0
  651. package/dist/node_modules/@ionic/core/dist/collection/components/skeleton-text/skeleton-text.css +53 -0
  652. package/dist/node_modules/@ionic/core/dist/collection/components/slide/slide.css +31 -0
  653. package/dist/node_modules/@ionic/core/dist/collection/components/slides/slides.ios.css +764 -0
  654. package/dist/node_modules/@ionic/core/dist/collection/components/slides/slides.md.css +764 -0
  655. package/dist/node_modules/@ionic/core/dist/collection/components/spinner/spinner.css +154 -0
  656. package/dist/node_modules/@ionic/core/dist/collection/components/split-pane/split-pane.ios.css +108 -0
  657. package/dist/node_modules/@ionic/core/dist/collection/components/split-pane/split-pane.md.css +108 -0
  658. package/dist/node_modules/@ionic/core/dist/collection/components/tab/tab.css +4 -0
  659. package/dist/node_modules/@ionic/core/dist/collection/components/tab-bar/tab-bar.ios.css +96 -0
  660. package/dist/node_modules/@ionic/core/dist/collection/components/tab-bar/tab-bar.md.css +81 -0
  661. package/dist/node_modules/@ionic/core/dist/collection/components/tab-button/tab-button.ios.css +308 -0
  662. package/dist/node_modules/@ionic/core/dist/collection/components/tab-button/tab-button.md.css +331 -0
  663. package/dist/node_modules/@ionic/core/dist/collection/components/tabs/tabs.css +19 -0
  664. package/dist/node_modules/@ionic/core/dist/collection/components/text/text.css +3 -0
  665. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.ios.css +142 -0
  666. package/dist/node_modules/@ionic/core/dist/collection/components/textarea/textarea.md.css +146 -0
  667. package/dist/node_modules/@ionic/core/dist/collection/components/thumbnail/thumbnail.css +21 -0
  668. package/dist/node_modules/@ionic/core/dist/collection/components/title/title.ios.css +110 -0
  669. package/dist/node_modules/@ionic/core/dist/collection/components/title/title.md.css +55 -0
  670. package/dist/node_modules/@ionic/core/dist/collection/components/toast/toast.ios.css +249 -0
  671. package/dist/node_modules/@ionic/core/dist/collection/components/toast/toast.md.css +282 -0
  672. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.ios.css +214 -0
  673. package/dist/node_modules/@ionic/core/dist/collection/components/toggle/toggle.md.css +211 -0
  674. package/dist/node_modules/@ionic/core/dist/collection/components/toolbar/toolbar.ios.css +174 -0
  675. package/dist/node_modules/@ionic/core/dist/collection/components/toolbar/toolbar.md.css +167 -0
  676. package/dist/node_modules/@ionic/core/dist/collection/components/virtual-scroll/virtual-scroll.css +21 -0
  677. package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +101 -0
  678. package/package.json +2 -2
  679. package/dist/ldf/_commonjsHelpers-8fe71198.js +0 -44
  680. package/dist/ldf/css-shim-5630fd5e.js +0 -4
  681. package/dist/ldf/dom-bd0bf1dc.js +0 -73
  682. package/dist/ldf/index-f441adec.js +0 -2901
  683. package/dist/ldf/index-f4e3260e.js +0 -36
  684. package/dist/ldf/ion-button.entry.js +0 -109
  685. package/dist/ldf/ion-buttons.entry.js +0 -38
  686. package/dist/ldf/ion-card-content.entry.js +0 -26
  687. package/dist/ldf/ion-card-header.entry.js +0 -29
  688. package/dist/ldf/ion-card-title.entry.js +0 -23
  689. package/dist/ldf/ion-col.entry.js +0 -114
  690. package/dist/ldf/ion-content.entry.js +0 -299
  691. package/dist/ldf/ion-grid.entry.js +0 -24
  692. package/dist/ldf/ion-header.entry.js +0 -255
  693. package/dist/ldf/ion-icon.entry.js +0 -172
  694. package/dist/ldf/ion-input.entry.js +0 -216
  695. package/dist/ldf/ion-item.entry.js +0 -119
  696. package/dist/ldf/ion-label.entry.js +0 -51
  697. package/dist/ldf/ion-list.entry.js +0 -48
  698. package/dist/ldf/ion-radio-group.entry.js +0 -57
  699. package/dist/ldf/ion-ripple-effect.entry.js +0 -89
  700. package/dist/ldf/ion-row.entry.js +0 -16
  701. package/dist/ldf/ion-searchbar.entry.js +0 -326
  702. package/dist/ldf/ion-segment-button.entry.js +0 -88
  703. package/dist/ldf/ion-segment.entry.js +0 -296
  704. package/dist/ldf/ion-select-option.entry.js +0 -23
  705. package/dist/ldf/ion-skeleton-text.entry.js +0 -29
  706. package/dist/ldf/ion-title.entry.js +0 -44
  707. package/dist/ldf/ion-toggle.entry.js +0 -152
  708. package/dist/ldf/ion-toolbar.entry.js +0 -67
  709. package/dist/ldf/ldf-bible-reading.entry.js +0 -252
  710. package/dist/ldf/ldf-editable-add-block.entry.js +0 -49
  711. package/dist/ldf/ldf-editable-antiphon-field.entry.js +0 -223
  712. package/dist/ldf/ldf-editable-boolean.entry.js +0 -42
  713. package/dist/ldf/ldf-editable-delete.entry.js +0 -97
  714. package/dist/ldf/ldf-editable-lookup.entry.js +0 -115
  715. package/dist/ldf/ldf-editable-metadata-buttons.entry.js +0 -293
  716. package/dist/ldf/ldf-editable-select.entry.js +0 -33
  717. package/dist/ldf/ldf-heading.entry.js +0 -124
  718. package/dist/ldf/ldf-image.entry.js +0 -195
  719. package/dist/ldf/ldf-label-bar.entry.js +0 -22
  720. package/dist/ldf/ldf-liturgical-document.entry.js +0 -462
  721. package/dist/ldf/ldf-liturgy.entry.js +0 -49
  722. package/dist/ldf/ldf-meditation.entry.js +0 -180
  723. package/dist/ldf/ldf-prayers-and-thanksgivings.entry.js +0 -136
  724. package/dist/ldf/ldf-psalm.entry.js +0 -267
  725. package/dist/ldf/ldf-refrain.entry.js +0 -42
  726. package/dist/ldf/ldf-responsive-prayer.entry.js +0 -137
  727. package/dist/ldf/ldf-rubric.entry.js +0 -41
  728. package/dist/ldf/shadow-css-10669ec3.js +0 -383
  729. package/dist/ldf/utils-8d15f916.js +0 -91
@@ -0,0 +1,1125 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-8fe0df8d.js');
6
+ const ionicGlobal = require('./ionic-global-581fb4f8.js');
7
+ const helpers = require('./helpers-41dfb43a.js');
8
+ const overlays = require('./overlays-eb464d6d.js');
9
+ const theme = require('./theme-81caa5b0.js');
10
+ const haptic = require('./haptic-88c261ab.js');
11
+ require('./hardware-back-button-8c2f48d2.js');
12
+
13
+ /**
14
+ * Gets a date value given a format
15
+ * Defaults to the current date if
16
+ * no date given
17
+ */
18
+ const getDateValue = (date, format) => {
19
+ const getValue = getValueFromFormat(date, format);
20
+ if (getValue !== undefined) {
21
+ return getValue;
22
+ }
23
+ const defaultDate = parseDate(new Date().toISOString());
24
+ return getValueFromFormat(defaultDate, format);
25
+ };
26
+ const renderDatetime = (template, value, locale) => {
27
+ if (value === undefined) {
28
+ return undefined;
29
+ }
30
+ const tokens = [];
31
+ let hasText = false;
32
+ FORMAT_KEYS.forEach((format, index) => {
33
+ if (template.indexOf(format.f) > -1) {
34
+ const token = '{' + index + '}';
35
+ const text = renderTextFormat(format.f, value[format.k], value, locale);
36
+ if (!hasText && text !== undefined && value[format.k] != null) {
37
+ hasText = true;
38
+ }
39
+ tokens.push(token, text || '');
40
+ template = template.replace(format.f, token);
41
+ }
42
+ });
43
+ if (!hasText) {
44
+ return undefined;
45
+ }
46
+ for (let i = 0; i < tokens.length; i += 2) {
47
+ template = template.replace(tokens[i], tokens[i + 1]);
48
+ }
49
+ return template;
50
+ };
51
+ const renderTextFormat = (format, value, date, locale) => {
52
+ if ((format === FORMAT_DDDD || format === FORMAT_DDD)) {
53
+ try {
54
+ value = (new Date(date.year, date.month - 1, date.day)).getDay();
55
+ if (format === FORMAT_DDDD) {
56
+ return (locale.dayNames ? locale.dayNames : DAY_NAMES)[value];
57
+ }
58
+ return (locale.dayShortNames ? locale.dayShortNames : DAY_SHORT_NAMES)[value];
59
+ }
60
+ catch (e) {
61
+ // ignore
62
+ }
63
+ return undefined;
64
+ }
65
+ if (format === FORMAT_A) {
66
+ return date !== undefined && date.hour !== undefined
67
+ ? (date.hour < 12 ? 'AM' : 'PM')
68
+ : value ? value.toUpperCase() : '';
69
+ }
70
+ if (format === FORMAT_a) {
71
+ return date !== undefined && date.hour !== undefined
72
+ ? (date.hour < 12 ? 'am' : 'pm')
73
+ : value || '';
74
+ }
75
+ if (value == null) {
76
+ return '';
77
+ }
78
+ if (format === FORMAT_YY || format === FORMAT_MM ||
79
+ format === FORMAT_DD || format === FORMAT_HH ||
80
+ format === FORMAT_mm || format === FORMAT_ss) {
81
+ return twoDigit(value);
82
+ }
83
+ if (format === FORMAT_YYYY) {
84
+ return fourDigit(value);
85
+ }
86
+ if (format === FORMAT_MMMM) {
87
+ return (locale.monthNames ? locale.monthNames : MONTH_NAMES)[value - 1];
88
+ }
89
+ if (format === FORMAT_MMM) {
90
+ return (locale.monthShortNames ? locale.monthShortNames : MONTH_SHORT_NAMES)[value - 1];
91
+ }
92
+ if (format === FORMAT_hh || format === FORMAT_h) {
93
+ if (value === 0) {
94
+ return '12';
95
+ }
96
+ if (value > 12) {
97
+ value -= 12;
98
+ }
99
+ if (format === FORMAT_hh && value < 10) {
100
+ return ('0' + value);
101
+ }
102
+ }
103
+ return value.toString();
104
+ };
105
+ const dateValueRange = (format, min, max) => {
106
+ const opts = [];
107
+ if (format === FORMAT_YYYY || format === FORMAT_YY) {
108
+ // year
109
+ if (max.year === undefined || min.year === undefined) {
110
+ throw new Error('min and max year is undefined');
111
+ }
112
+ for (let i = max.year; i >= min.year; i--) {
113
+ opts.push(i);
114
+ }
115
+ }
116
+ else if (format === FORMAT_MMMM || format === FORMAT_MMM ||
117
+ format === FORMAT_MM || format === FORMAT_M ||
118
+ format === FORMAT_hh || format === FORMAT_h) {
119
+ // month or 12-hour
120
+ for (let i = 1; i < 13; i++) {
121
+ opts.push(i);
122
+ }
123
+ }
124
+ else if (format === FORMAT_DDDD || format === FORMAT_DDD ||
125
+ format === FORMAT_DD || format === FORMAT_D) {
126
+ // day
127
+ for (let i = 1; i < 32; i++) {
128
+ opts.push(i);
129
+ }
130
+ }
131
+ else if (format === FORMAT_HH || format === FORMAT_H) {
132
+ // 24-hour
133
+ for (let i = 0; i < 24; i++) {
134
+ opts.push(i);
135
+ }
136
+ }
137
+ else if (format === FORMAT_mm || format === FORMAT_m) {
138
+ // minutes
139
+ for (let i = 0; i < 60; i++) {
140
+ opts.push(i);
141
+ }
142
+ }
143
+ else if (format === FORMAT_ss || format === FORMAT_s) {
144
+ // seconds
145
+ for (let i = 0; i < 60; i++) {
146
+ opts.push(i);
147
+ }
148
+ }
149
+ else if (format === FORMAT_A || format === FORMAT_a) {
150
+ // AM/PM
151
+ opts.push('am', 'pm');
152
+ }
153
+ return opts;
154
+ };
155
+ const dateSortValue = (year, month, day, hour = 0, minute = 0) => {
156
+ return parseInt(`1${fourDigit(year)}${twoDigit(month)}${twoDigit(day)}${twoDigit(hour)}${twoDigit(minute)}`, 10);
157
+ };
158
+ const dateDataSortValue = (data) => {
159
+ return dateSortValue(data.year, data.month, data.day, data.hour, data.minute);
160
+ };
161
+ const daysInMonth = (month, year) => {
162
+ return (month === 4 || month === 6 || month === 9 || month === 11) ? 30 : (month === 2) ? isLeapYear(year) ? 29 : 28 : 31;
163
+ };
164
+ const isLeapYear = (year) => {
165
+ return (year % 4 === 0 && year % 100 !== 0) || (year % 400 === 0);
166
+ };
167
+ const ISO_8601_REGEXP = /^(\d{4}|[+\-]\d{6})(?:-(\d{2})(?:-(\d{2}))?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/;
168
+ const TIME_REGEXP = /^((\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/;
169
+ const parseDate = (val) => {
170
+ // manually parse IS0 cuz Date.parse cannot be trusted
171
+ // ISO 8601 format: 1994-12-15T13:47:20Z
172
+ let parse = null;
173
+ if (val != null && val !== '') {
174
+ // try parsing for just time first, HH:MM
175
+ parse = TIME_REGEXP.exec(val);
176
+ if (parse) {
177
+ // adjust the array so it fits nicely with the datetime parse
178
+ parse.unshift(undefined, undefined);
179
+ parse[2] = parse[3] = undefined;
180
+ }
181
+ else {
182
+ // try parsing for full ISO datetime
183
+ parse = ISO_8601_REGEXP.exec(val);
184
+ }
185
+ }
186
+ if (parse === null) {
187
+ // wasn't able to parse the ISO datetime
188
+ return undefined;
189
+ }
190
+ // ensure all the parse values exist with at least 0
191
+ for (let i = 1; i < 8; i++) {
192
+ parse[i] = parse[i] !== undefined ? parseInt(parse[i], 10) : undefined;
193
+ }
194
+ let tzOffset = 0;
195
+ if (parse[9] && parse[10]) {
196
+ // hours
197
+ tzOffset = parseInt(parse[10], 10) * 60;
198
+ if (parse[11]) {
199
+ // minutes
200
+ tzOffset += parseInt(parse[11], 10);
201
+ }
202
+ if (parse[9] === '-') {
203
+ // + or -
204
+ tzOffset *= -1;
205
+ }
206
+ }
207
+ return {
208
+ year: parse[1],
209
+ month: parse[2],
210
+ day: parse[3],
211
+ hour: parse[4],
212
+ minute: parse[5],
213
+ second: parse[6],
214
+ millisecond: parse[7],
215
+ tzOffset,
216
+ };
217
+ };
218
+ /**
219
+ * Converts a valid UTC datetime string to JS Date time object.
220
+ * By default uses the users local timezone, but an optional
221
+ * timezone can be provided.
222
+ * Note: This is not meant for time strings
223
+ * such as "01:47"
224
+ */
225
+ const getDateTime = (dateString = '', timeZone = '') => {
226
+ /**
227
+ * If user passed in undefined
228
+ * or null, convert it to the
229
+ * empty string since the rest
230
+ * of this functions expects
231
+ * a string
232
+ */
233
+ if (dateString === undefined || dateString === null) {
234
+ dateString = '';
235
+ }
236
+ /**
237
+ * Ensures that YYYY-MM-DD, YYYY-MM,
238
+ * YYYY-DD, etc does not get affected
239
+ * by timezones and stays on the day/month
240
+ * that the user provided
241
+ */
242
+ if (dateString.length === 10 ||
243
+ dateString.length === 7) {
244
+ dateString += ' ';
245
+ }
246
+ const date = (typeof dateString === 'string' && dateString.length > 0) ? new Date(dateString) : new Date();
247
+ const localDateTime = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));
248
+ if (timeZone && timeZone.length > 0) {
249
+ return new Date(date.getTime() - getTimezoneOffset(localDateTime, timeZone));
250
+ }
251
+ return localDateTime;
252
+ };
253
+ const getTimezoneOffset = (localDate, timeZone) => {
254
+ const utcDateTime = new Date(localDate.toLocaleString('en-US', { timeZone: 'utc' }));
255
+ const tzDateTime = new Date(localDate.toLocaleString('en-US', { timeZone }));
256
+ return utcDateTime.getTime() - tzDateTime.getTime();
257
+ };
258
+ const updateDate = (existingData, newData, displayTimezone) => {
259
+ if (!newData || typeof newData === 'string') {
260
+ const dateTime = getDateTime(newData, displayTimezone);
261
+ if (!Number.isNaN(dateTime.getTime())) {
262
+ newData = dateTime.toISOString();
263
+ }
264
+ }
265
+ if (newData && newData !== '') {
266
+ if (typeof newData === 'string') {
267
+ // new date is a string, and hopefully in the ISO format
268
+ // convert it to our DatetimeData if a valid ISO
269
+ newData = parseDate(newData);
270
+ if (newData) {
271
+ // successfully parsed the ISO string to our DatetimeData
272
+ Object.assign(existingData, newData);
273
+ return true;
274
+ }
275
+ }
276
+ else if ((newData.year || newData.hour || newData.month || newData.day || newData.minute || newData.second)) {
277
+ // newData is from of a datetime picker's selected values
278
+ // update the existing DatetimeData data with the new values
279
+ // do some magic for 12-hour values
280
+ if (newData.ampm && newData.hour) {
281
+ newData.hour.value = (newData.ampm.value === 'pm')
282
+ ? (newData.hour.value === 12 ? 12 : newData.hour.value + 12)
283
+ : (newData.hour.value === 12 ? 0 : newData.hour.value);
284
+ }
285
+ // merge new values from the picker's selection
286
+ // to the existing DatetimeData values
287
+ for (const key of Object.keys(newData)) {
288
+ existingData[key] = newData[key].value;
289
+ }
290
+ return true;
291
+ }
292
+ else if (newData.ampm) {
293
+ // Even though in the picker column hour values are between 1 and 12, the hour value is actually normalized
294
+ // to [0, 23] interval. Because of this when changing between AM and PM we have to update the hour so it points
295
+ // to the correct HH hour
296
+ newData.hour = {
297
+ value: newData.hour
298
+ ? newData.hour.value
299
+ : (newData.ampm.value === 'pm'
300
+ ? (existingData.hour < 12 ? existingData.hour + 12 : existingData.hour)
301
+ : (existingData.hour >= 12 ? existingData.hour - 12 : existingData.hour))
302
+ };
303
+ existingData['hour'] = newData['hour'].value;
304
+ return true;
305
+ }
306
+ // eww, invalid data
307
+ console.warn(`Error parsing date: "${newData}". Please provide a valid ISO 8601 datetime format: https://www.w3.org/TR/NOTE-datetime`);
308
+ }
309
+ else {
310
+ // blank data, clear everything out
311
+ for (const k in existingData) {
312
+ if (existingData.hasOwnProperty(k)) {
313
+ delete existingData[k];
314
+ }
315
+ }
316
+ }
317
+ return false;
318
+ };
319
+ const parseTemplate = (template) => {
320
+ const formats = [];
321
+ template = template.replace(/[^\w\s]/gi, ' ');
322
+ FORMAT_KEYS.forEach(format => {
323
+ if (format.f.length > 1 && template.indexOf(format.f) > -1 && template.indexOf(format.f + format.f.charAt(0)) < 0) {
324
+ template = template.replace(format.f, ' ' + format.f + ' ');
325
+ }
326
+ });
327
+ const words = template.split(' ').filter(w => w.length > 0);
328
+ words.forEach((word, i) => {
329
+ FORMAT_KEYS.forEach(format => {
330
+ if (word === format.f) {
331
+ if (word === FORMAT_A || word === FORMAT_a) {
332
+ // this format is an am/pm format, so it's an "a" or "A"
333
+ if ((formats.indexOf(FORMAT_h) < 0 && formats.indexOf(FORMAT_hh) < 0) ||
334
+ VALID_AMPM_PREFIX.indexOf(words[i - 1]) === -1) {
335
+ // template does not already have a 12-hour format
336
+ // or this am/pm format doesn't have a hour, minute, or second format immediately before it
337
+ // so do not treat this word "a" or "A" as the am/pm format
338
+ return;
339
+ }
340
+ }
341
+ formats.push(word);
342
+ }
343
+ });
344
+ });
345
+ return formats;
346
+ };
347
+ const getValueFromFormat = (date, format) => {
348
+ if (format === FORMAT_A || format === FORMAT_a) {
349
+ return (date.hour < 12 ? 'am' : 'pm');
350
+ }
351
+ if (format === FORMAT_hh || format === FORMAT_h) {
352
+ return (date.hour > 12 ? date.hour - 12 : (date.hour === 0 ? 12 : date.hour));
353
+ }
354
+ return date[convertFormatToKey(format)];
355
+ };
356
+ const convertFormatToKey = (format) => {
357
+ for (const k in FORMAT_KEYS) {
358
+ if (FORMAT_KEYS[k].f === format) {
359
+ return FORMAT_KEYS[k].k;
360
+ }
361
+ }
362
+ return undefined;
363
+ };
364
+ const convertDataToISO = (data) => {
365
+ // https://www.w3.org/TR/NOTE-datetime
366
+ let rtn = '';
367
+ if (data.year !== undefined) {
368
+ // YYYY
369
+ rtn = fourDigit(data.year);
370
+ if (data.month !== undefined) {
371
+ // YYYY-MM
372
+ rtn += '-' + twoDigit(data.month);
373
+ if (data.day !== undefined) {
374
+ // YYYY-MM-DD
375
+ rtn += '-' + twoDigit(data.day);
376
+ if (data.hour !== undefined) {
377
+ // YYYY-MM-DDTHH:mm:SS
378
+ rtn += `T${twoDigit(data.hour)}:${twoDigit(data.minute)}:${twoDigit(data.second)}`;
379
+ if (data.millisecond > 0) {
380
+ // YYYY-MM-DDTHH:mm:SS.SSS
381
+ rtn += '.' + threeDigit(data.millisecond);
382
+ }
383
+ if (data.tzOffset === undefined) {
384
+ // YYYY-MM-DDTHH:mm:SSZ
385
+ rtn += 'Z';
386
+ }
387
+ else {
388
+ // YYYY-MM-DDTHH:mm:SS+/-HH:mm
389
+ rtn += (data.tzOffset > 0 ? '+' : '-') + twoDigit(Math.floor(Math.abs(data.tzOffset / 60))) + ':' + twoDigit(data.tzOffset % 60);
390
+ }
391
+ }
392
+ }
393
+ }
394
+ }
395
+ else if (data.hour !== undefined) {
396
+ // HH:mm
397
+ rtn = twoDigit(data.hour) + ':' + twoDigit(data.minute);
398
+ if (data.second !== undefined) {
399
+ // HH:mm:SS
400
+ rtn += ':' + twoDigit(data.second);
401
+ if (data.millisecond !== undefined) {
402
+ // HH:mm:SS.SSS
403
+ rtn += '.' + threeDigit(data.millisecond);
404
+ }
405
+ }
406
+ }
407
+ return rtn;
408
+ };
409
+ /**
410
+ * Use to convert a string of comma separated strings or
411
+ * an array of strings, and clean up any user input
412
+ */
413
+ const convertToArrayOfStrings = (input, type) => {
414
+ if (input == null) {
415
+ return undefined;
416
+ }
417
+ if (typeof input === 'string') {
418
+ // convert the string to an array of strings
419
+ // auto remove any [] characters
420
+ input = input.replace(/\[|\]/g, '').split(',');
421
+ }
422
+ let values;
423
+ if (Array.isArray(input)) {
424
+ // trim up each string value
425
+ values = input.map(val => val.toString().trim());
426
+ }
427
+ if (values === undefined || values.length === 0) {
428
+ console.warn(`Invalid "${type}Names". Must be an array of strings, or a comma separated string.`);
429
+ }
430
+ return values;
431
+ };
432
+ /**
433
+ * Use to convert a string of comma separated numbers or
434
+ * an array of numbers, and clean up any user input
435
+ */
436
+ const convertToArrayOfNumbers = (input, type) => {
437
+ if (typeof input === 'string') {
438
+ // convert the string to an array of strings
439
+ // auto remove any whitespace and [] characters
440
+ input = input.replace(/\[|\]|\s/g, '').split(',');
441
+ }
442
+ let values;
443
+ if (Array.isArray(input)) {
444
+ // ensure each value is an actual number in the returned array
445
+ values = input
446
+ .map((num) => parseInt(num, 10))
447
+ .filter(isFinite);
448
+ }
449
+ else {
450
+ values = [input];
451
+ }
452
+ if (values.length === 0) {
453
+ console.warn(`Invalid "${type}Values". Must be an array of numbers, or a comma separated string of numbers.`);
454
+ }
455
+ return values;
456
+ };
457
+ const twoDigit = (val) => {
458
+ return ('0' + (val !== undefined ? Math.abs(val) : '0')).slice(-2);
459
+ };
460
+ const threeDigit = (val) => {
461
+ return ('00' + (val !== undefined ? Math.abs(val) : '0')).slice(-3);
462
+ };
463
+ const fourDigit = (val) => {
464
+ return ('000' + (val !== undefined ? Math.abs(val) : '0')).slice(-4);
465
+ };
466
+ const FORMAT_YYYY = 'YYYY';
467
+ const FORMAT_YY = 'YY';
468
+ const FORMAT_MMMM = 'MMMM';
469
+ const FORMAT_MMM = 'MMM';
470
+ const FORMAT_MM = 'MM';
471
+ const FORMAT_M = 'M';
472
+ const FORMAT_DDDD = 'DDDD';
473
+ const FORMAT_DDD = 'DDD';
474
+ const FORMAT_DD = 'DD';
475
+ const FORMAT_D = 'D';
476
+ const FORMAT_HH = 'HH';
477
+ const FORMAT_H = 'H';
478
+ const FORMAT_hh = 'hh';
479
+ const FORMAT_h = 'h';
480
+ const FORMAT_mm = 'mm';
481
+ const FORMAT_m = 'm';
482
+ const FORMAT_ss = 'ss';
483
+ const FORMAT_s = 's';
484
+ const FORMAT_A = 'A';
485
+ const FORMAT_a = 'a';
486
+ const FORMAT_KEYS = [
487
+ { f: FORMAT_YYYY, k: 'year' },
488
+ { f: FORMAT_MMMM, k: 'month' },
489
+ { f: FORMAT_DDDD, k: 'day' },
490
+ { f: FORMAT_MMM, k: 'month' },
491
+ { f: FORMAT_DDD, k: 'day' },
492
+ { f: FORMAT_YY, k: 'year' },
493
+ { f: FORMAT_MM, k: 'month' },
494
+ { f: FORMAT_DD, k: 'day' },
495
+ { f: FORMAT_HH, k: 'hour' },
496
+ { f: FORMAT_hh, k: 'hour' },
497
+ { f: FORMAT_mm, k: 'minute' },
498
+ { f: FORMAT_ss, k: 'second' },
499
+ { f: FORMAT_M, k: 'month' },
500
+ { f: FORMAT_D, k: 'day' },
501
+ { f: FORMAT_H, k: 'hour' },
502
+ { f: FORMAT_h, k: 'hour' },
503
+ { f: FORMAT_m, k: 'minute' },
504
+ { f: FORMAT_s, k: 'second' },
505
+ { f: FORMAT_A, k: 'ampm' },
506
+ { f: FORMAT_a, k: 'ampm' },
507
+ ];
508
+ const DAY_NAMES = [
509
+ 'Sunday',
510
+ 'Monday',
511
+ 'Tuesday',
512
+ 'Wednesday',
513
+ 'Thursday',
514
+ 'Friday',
515
+ 'Saturday',
516
+ ];
517
+ const DAY_SHORT_NAMES = [
518
+ 'Sun',
519
+ 'Mon',
520
+ 'Tue',
521
+ 'Wed',
522
+ 'Thu',
523
+ 'Fri',
524
+ 'Sat',
525
+ ];
526
+ const MONTH_NAMES = [
527
+ 'January',
528
+ 'February',
529
+ 'March',
530
+ 'April',
531
+ 'May',
532
+ 'June',
533
+ 'July',
534
+ 'August',
535
+ 'September',
536
+ 'October',
537
+ 'November',
538
+ 'December',
539
+ ];
540
+ const MONTH_SHORT_NAMES = [
541
+ 'Jan',
542
+ 'Feb',
543
+ 'Mar',
544
+ 'Apr',
545
+ 'May',
546
+ 'Jun',
547
+ 'Jul',
548
+ 'Aug',
549
+ 'Sep',
550
+ 'Oct',
551
+ 'Nov',
552
+ 'Dec',
553
+ ];
554
+ const VALID_AMPM_PREFIX = [
555
+ FORMAT_hh, FORMAT_h, FORMAT_mm, FORMAT_m, FORMAT_ss, FORMAT_s
556
+ ];
557
+
558
+ const datetimeIosCss = ":host{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:flex;position:relative;min-width:16px;min-height:1.2em;font-family:var(--ion-font-family, inherit);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;z-index:2}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{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)}}:host(.in-item){position:static}:host(.datetime-placeholder){color:var(--placeholder-color)}:host(.datetime-disabled){opacity:0.3;pointer-events:none}:host(.datetime-readonly){pointer-events:none}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}.datetime-text{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;flex:1;min-height:inherit;direction:ltr;overflow:inherit}[dir=rtl] .datetime-text,:host-context([dir=rtl]) .datetime-text{direction:rtl}:host{--placeholder-color:var(--ion-color-step-400, #999999);--padding-top:10px;--padding-end:10px;--padding-bottom:10px;--padding-start:20px}";
559
+
560
+ const datetimeMdCss = ":host{padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);display:flex;position:relative;min-width:16px;min-height:1.2em;font-family:var(--ion-font-family, inherit);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;z-index:2}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{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)}}:host(.in-item){position:static}:host(.datetime-placeholder){color:var(--placeholder-color)}:host(.datetime-disabled){opacity:0.3;pointer-events:none}:host(.datetime-readonly){pointer-events:none}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}.datetime-text{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;flex:1;min-height:inherit;direction:ltr;overflow:inherit}[dir=rtl] .datetime-text,:host-context([dir=rtl]) .datetime-text{direction:rtl}:host{--placeholder-color:var(--ion-placeholder-color, var(--ion-color-step-400, #999999));--padding-top:10px;--padding-end:0;--padding-bottom:11px;--padding-start:16px}";
561
+
562
+ const Datetime = class {
563
+ constructor(hostRef) {
564
+ index.registerInstance(this, hostRef);
565
+ this.ionCancel = index.createEvent(this, "ionCancel", 7);
566
+ this.ionChange = index.createEvent(this, "ionChange", 7);
567
+ this.ionFocus = index.createEvent(this, "ionFocus", 7);
568
+ this.ionBlur = index.createEvent(this, "ionBlur", 7);
569
+ this.ionStyle = index.createEvent(this, "ionStyle", 7);
570
+ this.inputId = `ion-dt-${datetimeIds++}`;
571
+ this.locale = {};
572
+ this.datetimeMin = {};
573
+ this.datetimeMax = {};
574
+ this.datetimeValue = {};
575
+ this.isExpanded = false;
576
+ /**
577
+ * The name of the control, which is submitted with the form data.
578
+ */
579
+ this.name = this.inputId;
580
+ /**
581
+ * If `true`, the user cannot interact with the datetime.
582
+ */
583
+ this.disabled = false;
584
+ /**
585
+ * If `true`, the datetime appears normal but is not interactive.
586
+ */
587
+ this.readonly = false;
588
+ /**
589
+ * The display format of the date and time as text that shows
590
+ * within the item. When the `pickerFormat` input is not used, then the
591
+ * `displayFormat` is used for both display the formatted text, and determining
592
+ * the datetime picker's columns. See the `pickerFormat` input description for
593
+ * more info. Defaults to `MMM D, YYYY`.
594
+ */
595
+ this.displayFormat = 'MMM D, YYYY';
596
+ /**
597
+ * The text to display on the picker's cancel button.
598
+ */
599
+ this.cancelText = 'Cancel';
600
+ /**
601
+ * The text to display on the picker's "Done" button.
602
+ */
603
+ this.doneText = 'Done';
604
+ this.onClick = () => {
605
+ this.setFocus();
606
+ this.open();
607
+ };
608
+ this.onFocus = () => {
609
+ this.ionFocus.emit();
610
+ };
611
+ this.onBlur = () => {
612
+ this.ionBlur.emit();
613
+ };
614
+ }
615
+ disabledChanged() {
616
+ this.emitStyle();
617
+ }
618
+ /**
619
+ * Update the datetime value when the value changes
620
+ */
621
+ valueChanged() {
622
+ this.updateDatetimeValue(this.value);
623
+ this.emitStyle();
624
+ this.ionChange.emit({
625
+ value: this.value
626
+ });
627
+ }
628
+ componentWillLoad() {
629
+ // first see if locale names were provided in the inputs
630
+ // then check to see if they're in the config
631
+ // if neither were provided then it will use default English names
632
+ this.locale = {
633
+ // this.locale[type] = convertToArrayOfStrings((this[type] ? this[type] : this.config.get(type), type);
634
+ monthNames: convertToArrayOfStrings(this.monthNames, 'monthNames'),
635
+ monthShortNames: convertToArrayOfStrings(this.monthShortNames, 'monthShortNames'),
636
+ dayNames: convertToArrayOfStrings(this.dayNames, 'dayNames'),
637
+ dayShortNames: convertToArrayOfStrings(this.dayShortNames, 'dayShortNames')
638
+ };
639
+ this.updateDatetimeValue(this.value);
640
+ this.emitStyle();
641
+ }
642
+ /**
643
+ * Opens the datetime overlay.
644
+ */
645
+ async open() {
646
+ if (this.disabled || this.isExpanded) {
647
+ return;
648
+ }
649
+ const pickerOptions = this.generatePickerOptions();
650
+ const picker = await overlays.pickerController.create(pickerOptions);
651
+ this.isExpanded = true;
652
+ picker.onDidDismiss().then(() => {
653
+ this.isExpanded = false;
654
+ this.setFocus();
655
+ });
656
+ picker.addEventListener('ionPickerColChange', async (event) => {
657
+ const data = event.detail;
658
+ const colSelectedIndex = data.selectedIndex;
659
+ const colOptions = data.options;
660
+ const changeData = {};
661
+ changeData[data.name] = {
662
+ value: colOptions[colSelectedIndex].value
663
+ };
664
+ this.updateDatetimeValue(changeData);
665
+ picker.columns = this.generateColumns();
666
+ });
667
+ await picker.present();
668
+ }
669
+ emitStyle() {
670
+ this.ionStyle.emit({
671
+ 'interactive': true,
672
+ 'datetime': true,
673
+ 'has-placeholder': this.placeholder != null,
674
+ 'has-value': this.hasValue(),
675
+ 'interactive-disabled': this.disabled,
676
+ });
677
+ }
678
+ updateDatetimeValue(value) {
679
+ updateDate(this.datetimeValue, value, this.displayTimezone);
680
+ }
681
+ generatePickerOptions() {
682
+ const mode = ionicGlobal.getIonMode(this);
683
+ this.locale = {
684
+ monthNames: convertToArrayOfStrings(this.monthNames, 'monthNames'),
685
+ monthShortNames: convertToArrayOfStrings(this.monthShortNames, 'monthShortNames'),
686
+ dayNames: convertToArrayOfStrings(this.dayNames, 'dayNames'),
687
+ dayShortNames: convertToArrayOfStrings(this.dayShortNames, 'dayShortNames')
688
+ };
689
+ const pickerOptions = Object.assign(Object.assign({ mode }, this.pickerOptions), { columns: this.generateColumns() });
690
+ // If the user has not passed in picker buttons,
691
+ // add a cancel and ok button to the picker
692
+ const buttons = pickerOptions.buttons;
693
+ if (!buttons || buttons.length === 0) {
694
+ pickerOptions.buttons = [
695
+ {
696
+ text: this.cancelText,
697
+ role: 'cancel',
698
+ handler: () => {
699
+ this.updateDatetimeValue(this.value);
700
+ this.ionCancel.emit();
701
+ }
702
+ },
703
+ {
704
+ text: this.doneText,
705
+ handler: (data) => {
706
+ this.updateDatetimeValue(data);
707
+ /**
708
+ * Prevent convertDataToISO from doing any
709
+ * kind of transformation based on timezone
710
+ * This cancels out any change it attempts to make
711
+ *
712
+ * Important: Take the timezone offset based on
713
+ * the date that is currently selected, otherwise
714
+ * there can be 1 hr difference when dealing w/ DST
715
+ */
716
+ const date = new Date(convertDataToISO(this.datetimeValue));
717
+ // If a custom display timezone is provided, use that tzOffset value instead
718
+ this.datetimeValue.tzOffset = (this.displayTimezone !== undefined && this.displayTimezone.length > 0)
719
+ ? ((getTimezoneOffset(date, this.displayTimezone)) / 1000 / 60) * -1
720
+ : date.getTimezoneOffset() * -1;
721
+ this.value = convertDataToISO(this.datetimeValue);
722
+ }
723
+ }
724
+ ];
725
+ }
726
+ return pickerOptions;
727
+ }
728
+ generateColumns() {
729
+ // if a picker format wasn't provided, then fallback
730
+ // to use the display format
731
+ let template = this.pickerFormat || this.displayFormat || DEFAULT_FORMAT;
732
+ if (template.length === 0) {
733
+ return [];
734
+ }
735
+ // make sure we've got up to date sizing information
736
+ this.calcMinMax();
737
+ // does not support selecting by day name
738
+ // automatically remove any day name formats
739
+ template = template.replace('DDDD', '{~}').replace('DDD', '{~}');
740
+ if (template.indexOf('D') === -1) {
741
+ // there is not a day in the template
742
+ // replace the day name with a numeric one if it exists
743
+ template = template.replace('{~}', 'D');
744
+ }
745
+ // make sure no day name replacer is left in the string
746
+ template = template.replace(/{~}/g, '');
747
+ // parse apart the given template into an array of "formats"
748
+ const columns = parseTemplate(template).map((format) => {
749
+ // loop through each format in the template
750
+ // create a new picker column to build up with data
751
+ const key = convertFormatToKey(format);
752
+ let values;
753
+ // check if they have exact values to use for this date part
754
+ // otherwise use the default date part values
755
+ const self = this;
756
+ values = self[key + 'Values']
757
+ ? convertToArrayOfNumbers(self[key + 'Values'], key)
758
+ : dateValueRange(format, this.datetimeMin, this.datetimeMax);
759
+ const colOptions = values.map(val => {
760
+ return {
761
+ value: val,
762
+ text: renderTextFormat(format, val, undefined, this.locale),
763
+ };
764
+ });
765
+ // cool, we've loaded up the columns with options
766
+ // preselect the option for this column
767
+ const optValue = getDateValue(this.datetimeValue, format);
768
+ const selectedIndex = colOptions.findIndex(opt => opt.value === optValue);
769
+ return {
770
+ name: key,
771
+ selectedIndex: selectedIndex >= 0 ? selectedIndex : 0,
772
+ options: colOptions
773
+ };
774
+ });
775
+ // Normalize min/max
776
+ const min = this.datetimeMin;
777
+ const max = this.datetimeMax;
778
+ ['month', 'day', 'hour', 'minute']
779
+ .filter(name => !columns.find(column => column.name === name))
780
+ .forEach(name => {
781
+ min[name] = 0;
782
+ max[name] = 0;
783
+ });
784
+ return this.validateColumns(divyColumns(columns));
785
+ }
786
+ validateColumns(columns) {
787
+ const today = new Date();
788
+ const minCompareVal = dateDataSortValue(this.datetimeMin);
789
+ const maxCompareVal = dateDataSortValue(this.datetimeMax);
790
+ const yearCol = columns.find(c => c.name === 'year');
791
+ let selectedYear = today.getFullYear();
792
+ if (yearCol) {
793
+ // default to the first value if the current year doesn't exist in the options
794
+ if (!yearCol.options.find(col => col.value === today.getFullYear())) {
795
+ selectedYear = yearCol.options[0].value;
796
+ }
797
+ const selectedIndex = yearCol.selectedIndex;
798
+ if (selectedIndex !== undefined) {
799
+ const yearOpt = yearCol.options[selectedIndex];
800
+ if (yearOpt) {
801
+ // they have a selected year value
802
+ selectedYear = yearOpt.value;
803
+ }
804
+ }
805
+ }
806
+ const selectedMonth = this.validateColumn(columns, 'month', 1, minCompareVal, maxCompareVal, [selectedYear, 0, 0, 0, 0], [selectedYear, 12, 31, 23, 59]);
807
+ const numDaysInMonth = daysInMonth(selectedMonth, selectedYear);
808
+ const selectedDay = this.validateColumn(columns, 'day', 2, minCompareVal, maxCompareVal, [selectedYear, selectedMonth, 0, 0, 0], [selectedYear, selectedMonth, numDaysInMonth, 23, 59]);
809
+ const selectedHour = this.validateColumn(columns, 'hour', 3, minCompareVal, maxCompareVal, [selectedYear, selectedMonth, selectedDay, 0, 0], [selectedYear, selectedMonth, selectedDay, 23, 59]);
810
+ this.validateColumn(columns, 'minute', 4, minCompareVal, maxCompareVal, [selectedYear, selectedMonth, selectedDay, selectedHour, 0], [selectedYear, selectedMonth, selectedDay, selectedHour, 59]);
811
+ return columns;
812
+ }
813
+ calcMinMax() {
814
+ const todaysYear = new Date().getFullYear();
815
+ if (this.yearValues !== undefined) {
816
+ const years = convertToArrayOfNumbers(this.yearValues, 'year');
817
+ if (this.min === undefined) {
818
+ this.min = Math.min(...years).toString();
819
+ }
820
+ if (this.max === undefined) {
821
+ this.max = Math.max(...years).toString();
822
+ }
823
+ }
824
+ else {
825
+ if (this.min === undefined) {
826
+ this.min = (todaysYear - 100).toString();
827
+ }
828
+ if (this.max === undefined) {
829
+ this.max = todaysYear.toString();
830
+ }
831
+ }
832
+ const min = this.datetimeMin = parseDate(this.min);
833
+ const max = this.datetimeMax = parseDate(this.max);
834
+ min.year = min.year || todaysYear;
835
+ max.year = max.year || todaysYear;
836
+ min.month = min.month || 1;
837
+ max.month = max.month || 12;
838
+ min.day = min.day || 1;
839
+ max.day = max.day || 31;
840
+ min.hour = min.hour || 0;
841
+ max.hour = max.hour === undefined ? 23 : max.hour;
842
+ min.minute = min.minute || 0;
843
+ max.minute = max.minute === undefined ? 59 : max.minute;
844
+ min.second = min.second || 0;
845
+ max.second = max.second === undefined ? 59 : max.second;
846
+ // Ensure min/max constraints
847
+ if (min.year > max.year) {
848
+ console.error('min.year > max.year');
849
+ min.year = max.year - 100;
850
+ }
851
+ if (min.year === max.year) {
852
+ if (min.month > max.month) {
853
+ console.error('min.month > max.month');
854
+ min.month = 1;
855
+ }
856
+ else if (min.month === max.month && min.day > max.day) {
857
+ console.error('min.day > max.day');
858
+ min.day = 1;
859
+ }
860
+ }
861
+ }
862
+ validateColumn(columns, name, index, min, max, lowerBounds, upperBounds) {
863
+ const column = columns.find(c => c.name === name);
864
+ if (!column) {
865
+ return 0;
866
+ }
867
+ const lb = lowerBounds.slice();
868
+ const ub = upperBounds.slice();
869
+ const options = column.options;
870
+ let indexMin = options.length - 1;
871
+ let indexMax = 0;
872
+ for (let i = 0; i < options.length; i++) {
873
+ const opts = options[i];
874
+ const value = opts.value;
875
+ lb[index] = opts.value;
876
+ ub[index] = opts.value;
877
+ const disabled = opts.disabled = (value < lowerBounds[index] ||
878
+ value > upperBounds[index] ||
879
+ dateSortValue(ub[0], ub[1], ub[2], ub[3], ub[4]) < min ||
880
+ dateSortValue(lb[0], lb[1], lb[2], lb[3], lb[4]) > max);
881
+ if (!disabled) {
882
+ indexMin = Math.min(indexMin, i);
883
+ indexMax = Math.max(indexMax, i);
884
+ }
885
+ }
886
+ const selectedIndex = column.selectedIndex = helpers.clamp(indexMin, column.selectedIndex, indexMax);
887
+ const opt = column.options[selectedIndex];
888
+ if (opt) {
889
+ return opt.value;
890
+ }
891
+ return 0;
892
+ }
893
+ get text() {
894
+ // create the text of the formatted data
895
+ const template = this.displayFormat || this.pickerFormat || DEFAULT_FORMAT;
896
+ if (this.value === undefined ||
897
+ this.value === null ||
898
+ this.value.length === 0) {
899
+ return;
900
+ }
901
+ return renderDatetime(template, this.datetimeValue, this.locale);
902
+ }
903
+ hasValue() {
904
+ return this.text !== undefined;
905
+ }
906
+ setFocus() {
907
+ if (this.buttonEl) {
908
+ this.buttonEl.focus();
909
+ }
910
+ }
911
+ render() {
912
+ const { inputId, text, disabled, readonly, isExpanded, el, placeholder } = this;
913
+ const mode = ionicGlobal.getIonMode(this);
914
+ const labelId = inputId + '-lbl';
915
+ const label = helpers.findItemLabel(el);
916
+ const addPlaceholderClass = (text === undefined && placeholder != null) ? true : false;
917
+ // If selected text has been passed in, use that first
918
+ // otherwise use the placeholder
919
+ const datetimeText = text === undefined
920
+ ? (placeholder != null ? placeholder : '')
921
+ : text;
922
+ const datetimeTextPart = text === undefined
923
+ ? (placeholder != null ? 'placeholder' : undefined)
924
+ : 'text';
925
+ if (label) {
926
+ label.id = labelId;
927
+ }
928
+ helpers.renderHiddenInput(true, el, this.name, this.value, this.disabled);
929
+ return (index.h(index.Host, { onClick: this.onClick, role: "combobox", "aria-disabled": disabled ? 'true' : null, "aria-expanded": `${isExpanded}`, "aria-haspopup": "true", "aria-labelledby": labelId, class: {
930
+ [mode]: true,
931
+ 'datetime-disabled': disabled,
932
+ 'datetime-readonly': readonly,
933
+ 'datetime-placeholder': addPlaceholderClass,
934
+ 'in-item': theme.hostContext('ion-item', el)
935
+ } }, index.h("div", { class: "datetime-text", part: datetimeTextPart }, datetimeText), index.h("button", { type: "button", onFocus: this.onFocus, onBlur: this.onBlur, disabled: this.disabled, ref: btnEl => this.buttonEl = btnEl })));
936
+ }
937
+ get el() { return index.getElement(this); }
938
+ static get watchers() { return {
939
+ "disabled": ["disabledChanged"],
940
+ "value": ["valueChanged"]
941
+ }; }
942
+ };
943
+ const divyColumns = (columns) => {
944
+ const columnsWidth = [];
945
+ let col;
946
+ let width;
947
+ for (let i = 0; i < columns.length; i++) {
948
+ col = columns[i];
949
+ columnsWidth.push(0);
950
+ for (const option of col.options) {
951
+ width = option.text.length;
952
+ if (width > columnsWidth[i]) {
953
+ columnsWidth[i] = width;
954
+ }
955
+ }
956
+ }
957
+ if (columnsWidth.length === 2) {
958
+ width = Math.max(columnsWidth[0], columnsWidth[1]);
959
+ columns[0].align = 'right';
960
+ columns[1].align = 'left';
961
+ columns[0].optionsWidth = columns[1].optionsWidth = `${width * 17}px`;
962
+ }
963
+ else if (columnsWidth.length === 3) {
964
+ width = Math.max(columnsWidth[0], columnsWidth[2]);
965
+ columns[0].align = 'right';
966
+ columns[1].columnWidth = `${columnsWidth[1] * 17}px`;
967
+ columns[0].optionsWidth = columns[2].optionsWidth = `${width * 17}px`;
968
+ columns[2].align = 'left';
969
+ }
970
+ return columns;
971
+ };
972
+ const DEFAULT_FORMAT = 'MMM D, YYYY';
973
+ let datetimeIds = 0;
974
+ Datetime.style = {
975
+ ios: datetimeIosCss,
976
+ md: datetimeMdCss
977
+ };
978
+
979
+ const toggleIosCss = ":host{box-sizing:content-box !important;display:inline-block;position:relative;outline:none;contain:content;cursor:pointer;touch-action:none;user-select:none;z-index:2}:host(.ion-focused) input{border:2px solid #5e9ed6}:host(.toggle-disabled){pointer-events:none}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}.toggle-icon-wrapper{display:flex;position:relative;align-items:center;width:100%;height:100%;transition:var(--handle-transition);will-change:transform}.toggle-icon{border-radius:var(--border-radius);display:block;position:relative;width:100%;height:100%;background:var(--background);pointer-events:none;overflow:inherit}:host(.toggle-checked) .toggle-icon{background:var(--background-checked)}.toggle-inner{left:var(--handle-spacing);border-radius:var(--handle-border-radius);position:absolute;width:var(--handle-width);height:var(--handle-height);max-height:var(--handle-max-height);transition:var(--handle-transition);background:var(--handle-background);box-shadow:var(--handle-box-shadow);contain:strict}[dir=rtl] .toggle-inner,:host-context([dir=rtl]) .toggle-inner{left:unset;right:unset;right:var(--handle-spacing)}:host(.toggle-checked) .toggle-icon-wrapper{transform:translate3d(calc(100% - var(--handle-width)), 0, 0)}:host-context([dir=rtl]):host(.toggle-checked) .toggle-icon-wrapper,:host-context([dir=rtl]).toggle-checked .toggle-icon-wrapper{transform:translate3d(calc(-100% + var(--handle-width)), 0, 0)}:host(.toggle-checked) .toggle-inner{transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0);background:var(--handle-background-checked)}:host-context([dir=rtl]):host(.toggle-checked) .toggle-inner,:host-context([dir=rtl]).toggle-checked .toggle-inner{transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0)}:host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.088);--background-checked:var(--ion-color-primary, #3880ff);--border-radius:16px;--handle-background:#ffffff;--handle-background-checked:#ffffff;--handle-border-radius:25.5px;--handle-box-shadow:0 3px 12px rgba(0, 0, 0, 0.16), 0 3px 1px rgba(0, 0, 0, 0.1);--handle-height:calc(32px - (2px * 2));--handle-max-height:calc(100% - (var(--handle-spacing) * 2));--handle-width:calc(32px - (2px * 2));--handle-spacing:2px;--handle-transition:transform 300ms, width 120ms ease-in-out 80ms, left 110ms ease-in-out 80ms, right 110ms ease-in-out 80ms;width:51px;height:32px;contain:strict;overflow:hidden}:host(.ion-color.toggle-checked) .toggle-icon{background:var(--ion-color-base)}.toggle-icon{transform:translate3d(0, 0, 0);transition:background-color 300ms}.toggle-inner{will-change:transform}:host(.toggle-activated) .toggle-icon::before,:host(.toggle-checked) .toggle-icon::before{transform:scale3d(0, 0, 0)}:host(.toggle-activated.toggle-checked) .toggle-inner::before{transform:scale3d(0, 0, 0)}:host(.toggle-activated) .toggle-inner{width:calc(var(--handle-width) + 6px)}:host(.toggle-activated.toggle-checked) .toggle-icon-wrapper{transform:translate3d(calc(100% - var(--handle-width) - 6px), 0, 0)}:host-context([dir=rtl]):host(.toggle-activated.toggle-checked) .toggle-icon-wrapper,:host-context([dir=rtl]).toggle-activated.toggle-checked .toggle-icon-wrapper{transform:translate3d(calc(-100% + var(--handle-width) + 6px), 0, 0)}:host(.toggle-disabled){opacity:0.3}:host(.in-item[slot]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:20px;padding-right:10px;padding-top:6px;padding-bottom:5px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.in-item[slot]){padding-left:unset;padding-right:unset;-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:10px;padding-inline-end:10px}}:host(.in-item[slot=start]){padding-left:0;padding-right:16px;padding-top:6px;padding-bottom:5px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){padding-left:unset;padding-right:unset;-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:16px;padding-inline-end:16px}}";
980
+
981
+ const toggleMdCss = ":host{box-sizing:content-box !important;display:inline-block;position:relative;outline:none;contain:content;cursor:pointer;touch-action:none;user-select:none;z-index:2}:host(.ion-focused) input{border:2px solid #5e9ed6}:host(.toggle-disabled){pointer-events:none}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}.toggle-icon-wrapper{display:flex;position:relative;align-items:center;width:100%;height:100%;transition:var(--handle-transition);will-change:transform}.toggle-icon{border-radius:var(--border-radius);display:block;position:relative;width:100%;height:100%;background:var(--background);pointer-events:none;overflow:inherit}:host(.toggle-checked) .toggle-icon{background:var(--background-checked)}.toggle-inner{left:var(--handle-spacing);border-radius:var(--handle-border-radius);position:absolute;width:var(--handle-width);height:var(--handle-height);max-height:var(--handle-max-height);transition:var(--handle-transition);background:var(--handle-background);box-shadow:var(--handle-box-shadow);contain:strict}[dir=rtl] .toggle-inner,:host-context([dir=rtl]) .toggle-inner{left:unset;right:unset;right:var(--handle-spacing)}:host(.toggle-checked) .toggle-icon-wrapper{transform:translate3d(calc(100% - var(--handle-width)), 0, 0)}:host-context([dir=rtl]):host(.toggle-checked) .toggle-icon-wrapper,:host-context([dir=rtl]).toggle-checked .toggle-icon-wrapper{transform:translate3d(calc(-100% + var(--handle-width)), 0, 0)}:host(.toggle-checked) .toggle-inner{transform:translate3d(calc(var(--handle-spacing) * -2), 0, 0);background:var(--handle-background-checked)}:host-context([dir=rtl]):host(.toggle-checked) .toggle-inner,:host-context([dir=rtl]).toggle-checked .toggle-inner{transform:translate3d(calc(var(--handle-spacing) * 2), 0, 0)}:host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.39);--background-checked:rgba(var(--ion-color-primary-rgb, 56, 128, 255), 0.5);--border-radius:14px;--handle-background:#ffffff;--handle-background-checked:var(--ion-color-primary, #3880ff);--handle-border-radius:50%;--handle-box-shadow:0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);--handle-width:20px;--handle-height:20px;--handle-max-height:calc(100% + 6px);--handle-spacing:0;--handle-transition:transform 160ms cubic-bezier(0.4, 0, 0.2, 1), background-color 160ms cubic-bezier(0.4, 0, 0.2, 1);padding-left:12px;padding-right:12px;padding-top:12px;padding-bottom:12px;width:36px;height:14px;contain:strict}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}:host(.ion-color.toggle-checked) .toggle-icon{background:rgba(var(--ion-color-base-rgb), 0.5)}:host(.ion-color.toggle-checked) .toggle-inner{background:var(--ion-color-base)}.toggle-icon{transition:background-color 160ms}.toggle-inner{will-change:background-color, transform}:host(.toggle-disabled){opacity:0.3}:host(.in-item[slot]){margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:16px;padding-right:0;padding-top:12px;padding-bottom:12px;cursor:pointer}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.in-item[slot]){padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:0;padding-inline-end:0}}:host(.in-item[slot=start]){padding-left:2px;padding-right:18px;padding-top:12px;padding-bottom:12px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){padding-left:unset;padding-right:unset;-webkit-padding-start:2px;padding-inline-start:2px;-webkit-padding-end:18px;padding-inline-end:18px}}";
982
+
983
+ const Toggle = class {
984
+ constructor(hostRef) {
985
+ index.registerInstance(this, hostRef);
986
+ this.ionChange = index.createEvent(this, "ionChange", 7);
987
+ this.ionFocus = index.createEvent(this, "ionFocus", 7);
988
+ this.ionBlur = index.createEvent(this, "ionBlur", 7);
989
+ this.ionStyle = index.createEvent(this, "ionStyle", 7);
990
+ this.inputId = `ion-tg-${toggleIds++}`;
991
+ this.lastDrag = 0;
992
+ this.activated = false;
993
+ /**
994
+ * The name of the control, which is submitted with the form data.
995
+ */
996
+ this.name = this.inputId;
997
+ /**
998
+ * If `true`, the toggle is selected.
999
+ */
1000
+ this.checked = false;
1001
+ /**
1002
+ * If `true`, the user cannot interact with the toggle.
1003
+ */
1004
+ this.disabled = false;
1005
+ /**
1006
+ * The value of the toggle does not mean if it's checked or not, use the `checked`
1007
+ * property for that.
1008
+ *
1009
+ * The value of a toggle is analogous to the value of a `<input type="checkbox">`,
1010
+ * it's only used when the toggle participates in a native `<form>`.
1011
+ */
1012
+ this.value = 'on';
1013
+ this.onClick = () => {
1014
+ if (this.lastDrag + 300 < Date.now()) {
1015
+ this.checked = !this.checked;
1016
+ }
1017
+ };
1018
+ this.onFocus = () => {
1019
+ this.ionFocus.emit();
1020
+ };
1021
+ this.onBlur = () => {
1022
+ this.ionBlur.emit();
1023
+ };
1024
+ }
1025
+ checkedChanged(isChecked) {
1026
+ this.ionChange.emit({
1027
+ checked: isChecked,
1028
+ value: this.value
1029
+ });
1030
+ }
1031
+ disabledChanged() {
1032
+ this.emitStyle();
1033
+ if (this.gesture) {
1034
+ this.gesture.enable(!this.disabled);
1035
+ }
1036
+ }
1037
+ async connectedCallback() {
1038
+ this.gesture = (await Promise.resolve().then(function () { return require('./index-8197bb45.js'); })).createGesture({
1039
+ el: this.el,
1040
+ gestureName: 'toggle',
1041
+ gesturePriority: 100,
1042
+ threshold: 5,
1043
+ passive: false,
1044
+ onStart: () => this.onStart(),
1045
+ onMove: ev => this.onMove(ev),
1046
+ onEnd: ev => this.onEnd(ev),
1047
+ });
1048
+ this.disabledChanged();
1049
+ }
1050
+ disconnectedCallback() {
1051
+ if (this.gesture) {
1052
+ this.gesture.destroy();
1053
+ this.gesture = undefined;
1054
+ }
1055
+ }
1056
+ componentWillLoad() {
1057
+ this.emitStyle();
1058
+ }
1059
+ emitStyle() {
1060
+ this.ionStyle.emit({
1061
+ 'interactive-disabled': this.disabled,
1062
+ });
1063
+ }
1064
+ onStart() {
1065
+ this.activated = true;
1066
+ // touch-action does not work in iOS
1067
+ this.setFocus();
1068
+ }
1069
+ onMove(detail) {
1070
+ if (shouldToggle(document, this.checked, detail.deltaX, -10)) {
1071
+ this.checked = !this.checked;
1072
+ haptic.hapticSelection();
1073
+ }
1074
+ }
1075
+ onEnd(ev) {
1076
+ this.activated = false;
1077
+ this.lastDrag = Date.now();
1078
+ ev.event.preventDefault();
1079
+ ev.event.stopImmediatePropagation();
1080
+ }
1081
+ getValue() {
1082
+ return this.value || '';
1083
+ }
1084
+ setFocus() {
1085
+ if (this.buttonEl) {
1086
+ this.buttonEl.focus();
1087
+ }
1088
+ }
1089
+ render() {
1090
+ const { inputId, disabled, checked, activated, color, el } = this;
1091
+ const mode = ionicGlobal.getIonMode(this);
1092
+ const labelId = inputId + '-lbl';
1093
+ const label = helpers.findItemLabel(el);
1094
+ const value = this.getValue();
1095
+ if (label) {
1096
+ label.id = labelId;
1097
+ }
1098
+ helpers.renderHiddenInput(true, el, this.name, (checked ? value : ''), disabled);
1099
+ return (index.h(index.Host, { onClick: this.onClick, role: "checkbox", "aria-disabled": disabled ? 'true' : null, "aria-checked": `${checked}`, "aria-labelledby": labelId, class: Object.assign(Object.assign({}, theme.createColorClasses(color)), { [mode]: true, 'in-item': theme.hostContext('ion-item', el), 'toggle-activated': activated, 'toggle-checked': checked, 'toggle-disabled': disabled, 'interactive': true }) }, index.h("div", { class: "toggle-icon", part: "track" }, index.h("div", { class: "toggle-icon-wrapper" }, index.h("div", { class: "toggle-inner", part: "handle" }))), index.h("button", { type: "button", onFocus: this.onFocus, onBlur: this.onBlur, disabled: disabled, ref: btnEl => this.buttonEl = btnEl })));
1100
+ }
1101
+ get el() { return index.getElement(this); }
1102
+ static get watchers() { return {
1103
+ "checked": ["checkedChanged"],
1104
+ "disabled": ["disabledChanged"]
1105
+ }; }
1106
+ };
1107
+ const shouldToggle = (doc, checked, deltaX, margin) => {
1108
+ const isRTL = doc.dir === 'rtl';
1109
+ if (checked) {
1110
+ return (!isRTL && (margin > deltaX)) ||
1111
+ (isRTL && (-margin < deltaX));
1112
+ }
1113
+ else {
1114
+ return (!isRTL && (-margin < deltaX)) ||
1115
+ (isRTL && (margin > deltaX));
1116
+ }
1117
+ };
1118
+ let toggleIds = 0;
1119
+ Toggle.style = {
1120
+ ios: toggleIosCss,
1121
+ md: toggleMdCss
1122
+ };
1123
+
1124
+ exports.ion_datetime = Datetime;
1125
+ exports.ion_toggle = Toggle;