voyager-ionic-core 7.2.3-tweak
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.
- package/LICENSE +23 -0
- package/README.md +113 -0
- package/components/action-sheet.js +354 -0
- package/components/alert.js +543 -0
- package/components/animation.js +985 -0
- package/components/backdrop.js +76 -0
- package/components/button-active.js +67 -0
- package/components/button.js +249 -0
- package/components/buttons.js +45 -0
- package/components/capacitor.js +13 -0
- package/components/checkbox.js +189 -0
- package/components/config.js +193 -0
- package/components/cubic-bezier.js +90 -0
- package/components/custom-elements.d.ts +2 -0
- package/components/data.js +1463 -0
- package/components/dir.js +18 -0
- package/components/focus-visible.js +75 -0
- package/components/form-controller.js +68 -0
- package/components/framework-delegate.js +121 -0
- package/components/gesture-controller.js +195 -0
- package/components/haptic.js +205 -0
- package/components/hardware-back-button.js +71 -0
- package/components/helpers.js +418 -0
- package/components/icon.js +357 -0
- package/components/index.d.ts +27 -0
- package/components/index.js +116 -0
- package/components/index2.js +457 -0
- package/components/index3.js +231 -0
- package/components/index4.js +301 -0
- package/components/index5.js +29 -0
- package/components/index6.js +34 -0
- package/components/index7.js +29 -0
- package/components/index8.js +129 -0
- package/components/index9.js +196 -0
- package/components/input-shims.js +503 -0
- package/components/input.utils.js +134 -0
- package/components/ion-accordion-group.d.ts +11 -0
- package/components/ion-accordion-group.js +241 -0
- package/components/ion-accordion.d.ts +11 -0
- package/components/ion-accordion.js +354 -0
- package/components/ion-action-sheet.d.ts +11 -0
- package/components/ion-action-sheet.js +9 -0
- package/components/ion-alert.d.ts +11 -0
- package/components/ion-alert.js +9 -0
- package/components/ion-app.d.ts +11 -0
- package/components/ion-app.js +118 -0
- package/components/ion-avatar.d.ts +11 -0
- package/components/ion-avatar.js +42 -0
- package/components/ion-back-button.d.ts +11 -0
- package/components/ion-back-button.js +130 -0
- package/components/ion-backdrop.d.ts +11 -0
- package/components/ion-backdrop.js +9 -0
- package/components/ion-badge.d.ts +11 -0
- package/components/ion-badge.js +49 -0
- package/components/ion-breadcrumb.d.ts +11 -0
- package/components/ion-breadcrumb.js +134 -0
- package/components/ion-breadcrumbs.d.ts +11 -0
- package/components/ion-breadcrumbs.js +155 -0
- package/components/ion-button.d.ts +11 -0
- package/components/ion-button.js +9 -0
- package/components/ion-buttons.d.ts +11 -0
- package/components/ion-buttons.js +9 -0
- package/components/ion-card-content.d.ts +11 -0
- package/components/ion-card-content.js +46 -0
- package/components/ion-card-header.d.ts +11 -0
- package/components/ion-card-header.js +53 -0
- package/components/ion-card-subtitle.d.ts +11 -0
- package/components/ion-card-subtitle.js +50 -0
- package/components/ion-card-title.d.ts +11 -0
- package/components/ion-card-title.js +50 -0
- package/components/ion-card.d.ts +11 -0
- package/components/ion-card.js +101 -0
- package/components/ion-checkbox.d.ts +11 -0
- package/components/ion-checkbox.js +9 -0
- package/components/ion-chip.d.ts +11 -0
- package/components/ion-chip.js +57 -0
- package/components/ion-col.d.ts +11 -0
- package/components/ion-col.js +188 -0
- package/components/ion-content.d.ts +11 -0
- package/components/ion-content.js +397 -0
- package/components/ion-datetime-button.d.ts +11 -0
- package/components/ion-datetime-button.js +377 -0
- package/components/ion-datetime.d.ts +11 -0
- package/components/ion-datetime.js +1783 -0
- package/components/ion-fab-button.d.ts +11 -0
- package/components/ion-fab-button.js +133 -0
- package/components/ion-fab-list.d.ts +11 -0
- package/components/ion-fab-list.js +59 -0
- package/components/ion-fab.d.ts +11 -0
- package/components/ion-fab.js +93 -0
- package/components/ion-footer.d.ts +11 -0
- package/components/ion-footer.js +153 -0
- package/components/ion-grid.d.ts +11 -0
- package/components/ion-grid.js +44 -0
- package/components/ion-header.d.ts +11 -0
- package/components/ion-header.js +357 -0
- package/components/ion-icon.js +9 -0
- package/components/ion-img.d.ts +11 -0
- package/components/ion-img.js +127 -0
- package/components/ion-infinite-scroll-content.d.ts +11 -0
- package/components/ion-infinite-scroll-content.js +72 -0
- package/components/ion-infinite-scroll.d.ts +11 -0
- package/components/ion-infinite-scroll.js +204 -0
- package/components/ion-input.d.ts +11 -0
- package/components/ion-input.js +508 -0
- package/components/ion-item-divider.d.ts +11 -0
- package/components/ion-item-divider.js +54 -0
- package/components/ion-item-group.d.ts +11 -0
- package/components/ion-item-group.js +47 -0
- package/components/ion-item-option.d.ts +11 -0
- package/components/ion-item-option.js +88 -0
- package/components/ion-item-options.d.ts +11 -0
- package/components/ion-item-options.js +70 -0
- package/components/ion-item-sliding.d.ts +11 -0
- package/components/ion-item-sliding.js +452 -0
- package/components/ion-item.d.ts +11 -0
- package/components/ion-item.js +9 -0
- package/components/ion-label.d.ts +11 -0
- package/components/ion-label.js +9 -0
- package/components/ion-list-header.d.ts +11 -0
- package/components/ion-list-header.js +9 -0
- package/components/ion-list.d.ts +11 -0
- package/components/ion-list.js +9 -0
- package/components/ion-loading.d.ts +11 -0
- package/components/ion-loading.js +314 -0
- package/components/ion-menu-button.d.ts +11 -0
- package/components/ion-menu-button.js +103 -0
- package/components/ion-menu-toggle.d.ts +11 -0
- package/components/ion-menu-toggle.js +60 -0
- package/components/ion-menu.d.ts +11 -0
- package/components/ion-menu.js +634 -0
- package/components/ion-modal.d.ts +11 -0
- package/components/ion-modal.js +1684 -0
- package/components/ion-nav-link.d.ts +11 -0
- package/components/ion-nav-link.js +65 -0
- package/components/ion-nav.d.ts +11 -0
- package/components/ion-nav.js +951 -0
- package/components/ion-note.d.ts +11 -0
- package/components/ion-note.js +9 -0
- package/components/ion-picker-column-internal.d.ts +11 -0
- package/components/ion-picker-column-internal.js +9 -0
- package/components/ion-picker-column.d.ts +11 -0
- package/components/ion-picker-column.js +9 -0
- package/components/ion-picker-internal.d.ts +11 -0
- package/components/ion-picker-internal.js +9 -0
- package/components/ion-picker.d.ts +11 -0
- package/components/ion-picker.js +312 -0
- package/components/ion-popover.d.ts +11 -0
- package/components/ion-popover.js +9 -0
- package/components/ion-progress-bar.d.ts +11 -0
- package/components/ion-progress-bar.js +82 -0
- package/components/ion-radio-group.d.ts +11 -0
- package/components/ion-radio-group.js +9 -0
- package/components/ion-radio.d.ts +11 -0
- package/components/ion-radio.js +9 -0
- package/components/ion-range.d.ts +11 -0
- package/components/ion-range.js +645 -0
- package/components/ion-refresher-content.d.ts +11 -0
- package/components/ion-refresher-content.js +86 -0
- package/components/ion-refresher.d.ts +11 -0
- package/components/ion-refresher.js +827 -0
- package/components/ion-reorder-group.d.ts +11 -0
- package/components/ion-reorder-group.js +303 -0
- package/components/ion-reorder.d.ts +11 -0
- package/components/ion-reorder.js +61 -0
- package/components/ion-ripple-effect.d.ts +11 -0
- package/components/ion-ripple-effect.js +9 -0
- package/components/ion-route-redirect.d.ts +11 -0
- package/components/ion-route-redirect.js +45 -0
- package/components/ion-route.d.ts +11 -0
- package/components/ion-route.js +69 -0
- package/components/ion-router-link.d.ts +11 -0
- package/components/ion-router-link.js +63 -0
- package/components/ion-router-outlet.d.ts +11 -0
- package/components/ion-router-outlet.js +230 -0
- package/components/ion-router.d.ts +11 -0
- package/components/ion-router.js +819 -0
- package/components/ion-row.d.ts +11 -0
- package/components/ion-row.js +37 -0
- package/components/ion-searchbar.d.ts +11 -0
- package/components/ion-searchbar.js +433 -0
- package/components/ion-segment-button.d.ts +11 -0
- package/components/ion-segment-button.js +142 -0
- package/components/ion-segment.d.ts +11 -0
- package/components/ion-segment.js +430 -0
- package/components/ion-select-option.d.ts +11 -0
- package/components/ion-select-option.js +45 -0
- package/components/ion-select-popover.d.ts +11 -0
- package/components/ion-select-popover.js +9 -0
- package/components/ion-select.d.ts +11 -0
- package/components/ion-select.js +819 -0
- package/components/ion-skeleton-text.d.ts +11 -0
- package/components/ion-skeleton-text.js +49 -0
- package/components/ion-spinner.d.ts +11 -0
- package/components/ion-spinner.js +9 -0
- package/components/ion-split-pane.d.ts +11 -0
- package/components/ion-split-pane.js +176 -0
- package/components/ion-tab-bar.d.ts +11 -0
- package/components/ion-tab-bar.js +94 -0
- package/components/ion-tab-button.d.ts +11 -0
- package/components/ion-tab-button.js +128 -0
- package/components/ion-tab.d.ts +11 -0
- package/components/ion-tab.js +91 -0
- package/components/ion-tabs.d.ts +11 -0
- package/components/ion-tabs.js +179 -0
- package/components/ion-text.d.ts +11 -0
- package/components/ion-text.js +44 -0
- package/components/ion-textarea.d.ts +11 -0
- package/components/ion-textarea.js +444 -0
- package/components/ion-thumbnail.d.ts +11 -0
- package/components/ion-thumbnail.js +37 -0
- package/components/ion-title.d.ts +11 -0
- package/components/ion-title.js +74 -0
- package/components/ion-toast.d.ts +11 -0
- package/components/ion-toast.js +408 -0
- package/components/ion-toggle.d.ts +11 -0
- package/components/ion-toggle.js +277 -0
- package/components/ion-toolbar.d.ts +11 -0
- package/components/ion-toolbar.js +94 -0
- package/components/ionic-global.js +224 -0
- package/components/ios.transition.js +479 -0
- package/components/item.js +302 -0
- package/components/keyboard-controller.js +165 -0
- package/components/keyboard.js +79 -0
- package/components/keyboard2.js +144 -0
- package/components/label.js +100 -0
- package/components/list-header.js +50 -0
- package/components/list.js +67 -0
- package/components/md.transition.js +54 -0
- package/components/menu-toggle-util.js +12 -0
- package/components/notch-controller.js +153 -0
- package/components/note.js +46 -0
- package/components/overlays.js +671 -0
- package/components/package.json +9 -0
- package/components/picker-column-internal.js +383 -0
- package/components/picker-column.js +377 -0
- package/components/picker-internal.js +499 -0
- package/components/popover.js +1367 -0
- package/components/radio-group.js +169 -0
- package/components/radio.js +224 -0
- package/components/ripple-effect.js +101 -0
- package/components/select-popover.js +197 -0
- package/components/spinner.js +224 -0
- package/components/status-tap.js +39 -0
- package/components/swipe-back.js +74 -0
- package/components/theme.js +43 -0
- package/components/watch-options.js +36 -0
- package/css/core.css +376 -0
- package/css/core.css.map +1 -0
- package/css/display.css +54 -0
- package/css/display.css.map +1 -0
- package/css/flex-utils.css +81 -0
- package/css/flex-utils.css.map +1 -0
- package/css/float-elements.css +216 -0
- package/css/float-elements.css.map +1 -0
- package/css/global.bundle.css +291 -0
- package/css/global.bundle.css.map +1 -0
- package/css/ionic-swiper.css +72 -0
- package/css/ionic-swiper.css.map +1 -0
- package/css/ionic.bundle.css +1 -0
- package/css/ionic.bundle.css.map +1 -0
- package/css/normalize.css +150 -0
- package/css/normalize.css.map +1 -0
- package/css/padding.css +125 -0
- package/css/padding.css.map +1 -0
- package/css/structure.css +75 -0
- package/css/structure.css.map +1 -0
- package/css/text-alignment.css +166 -0
- package/css/text-alignment.css.map +1 -0
- package/css/text-transformation.css +81 -0
- package/css/text-transformation.css.map +1 -0
- package/css/typography.css +68 -0
- package/css/typography.css.map +1 -0
- package/css/utils.bundle.css +715 -0
- package/css/utils.bundle.css.map +1 -0
- package/dist/cjs/animation-c68ec4cb.js +987 -0
- package/dist/cjs/app-globals-3ba8ddad.js +10 -0
- package/dist/cjs/button-active-7578c6c2.js +69 -0
- package/dist/cjs/capacitor-a77e977e.js +15 -0
- package/dist/cjs/config-172736e4.js +199 -0
- package/dist/cjs/cubic-bezier-0e51923d.js +92 -0
- package/dist/cjs/data-3a7f5c1a.js +1510 -0
- package/dist/cjs/dir-186d3a4d.js +20 -0
- package/dist/cjs/focus-visible-6163be3a.js +77 -0
- package/dist/cjs/form-controller-d42b8c05.js +70 -0
- package/dist/cjs/framework-delegate-d2bbe945.js +125 -0
- package/dist/cjs/gesture-controller-e2865472.js +197 -0
- package/dist/cjs/haptic-89b33156.js +211 -0
- package/dist/cjs/hardware-back-button-bae6e13a.js +76 -0
- package/dist/cjs/helpers-77560954.js +441 -0
- package/dist/cjs/index-1901dd17.js +303 -0
- package/dist/cjs/index-404c1016.js +198 -0
- package/dist/cjs/index-4e642409.js +243 -0
- package/dist/cjs/index-79605113.js +38 -0
- package/dist/cjs/index-b0e73ba0.js +53 -0
- package/dist/cjs/index-b358eb23.js +2507 -0
- package/dist/cjs/index-dc56ac38.js +141 -0
- package/dist/cjs/index-def9efb5.js +459 -0
- package/dist/cjs/index-f0d7c9cc.js +32 -0
- package/dist/cjs/index.cjs.js +150 -0
- package/dist/cjs/input-shims-9b42b3fe.js +508 -0
- package/dist/cjs/input.utils-7e077818.js +137 -0
- package/dist/cjs/ion-accordion_2.cjs.entry.js +533 -0
- package/dist/cjs/ion-action-sheet.cjs.entry.js +313 -0
- package/dist/cjs/ion-alert.cjs.entry.js +506 -0
- package/dist/cjs/ion-app_8.cjs.entry.js +1252 -0
- package/dist/cjs/ion-avatar_3.cjs.entry.js +64 -0
- package/dist/cjs/ion-back-button.cjs.entry.js +96 -0
- package/dist/cjs/ion-backdrop.cjs.entry.js +61 -0
- package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +223 -0
- package/dist/cjs/ion-button_2.cjs.entry.js +538 -0
- package/dist/cjs/ion-card_5.cjs.entry.js +164 -0
- package/dist/cjs/ion-checkbox.cjs.entry.js +168 -0
- package/dist/cjs/ion-chip.cjs.entry.js +33 -0
- package/dist/cjs/ion-col_3.cjs.entry.js +180 -0
- package/dist/cjs/ion-datetime-button.cjs.entry.js +348 -0
- package/dist/cjs/ion-datetime_3.cjs.entry.js +2275 -0
- package/dist/cjs/ion-fab_3.cjs.entry.js +186 -0
- package/dist/cjs/ion-img.cjs.entry.js +108 -0
- package/dist/cjs/ion-infinite-scroll_2.cjs.entry.js +227 -0
- package/dist/cjs/ion-input.cjs.entry.js +450 -0
- package/dist/cjs/ion-item-option_3.cjs.entry.js +524 -0
- package/dist/cjs/ion-item_8.cjs.entry.js +489 -0
- package/dist/cjs/ion-loading.cjs.entry.js +271 -0
- package/dist/cjs/ion-menu_3.cjs.entry.js +692 -0
- package/dist/cjs/ion-modal.cjs.entry.js +1636 -0
- package/dist/cjs/ion-nav_2.cjs.entry.js +948 -0
- package/dist/cjs/ion-picker-column-internal.cjs.entry.js +366 -0
- package/dist/cjs/ion-picker-internal.cjs.entry.js +486 -0
- package/dist/cjs/ion-popover.cjs.entry.js +1318 -0
- package/dist/cjs/ion-progress-bar.cjs.entry.js +62 -0
- package/dist/cjs/ion-radio_2.cjs.entry.js +345 -0
- package/dist/cjs/ion-range.cjs.entry.js +610 -0
- package/dist/cjs/ion-refresher_2.cjs.entry.js +852 -0
- package/dist/cjs/ion-reorder_2.cjs.entry.js +320 -0
- package/dist/cjs/ion-ripple-effect.cjs.entry.js +87 -0
- package/dist/cjs/ion-route_4.cjs.entry.js +892 -0
- package/dist/cjs/ion-searchbar.cjs.entry.js +390 -0
- package/dist/cjs/ion-segment_2.cjs.entry.js +512 -0
- package/dist/cjs/ion-select_3.cjs.entry.js +822 -0
- package/dist/cjs/ion-spinner.cjs.entry.js +68 -0
- package/dist/cjs/ion-split-pane.cjs.entry.js +151 -0
- package/dist/cjs/ion-tab-bar_2.cjs.entry.js +167 -0
- package/dist/cjs/ion-tab_2.cjs.entry.js +212 -0
- package/dist/cjs/ion-text.cjs.entry.js +28 -0
- package/dist/cjs/ion-textarea.cjs.entry.js +399 -0
- package/dist/cjs/ion-toast.cjs.entry.js +359 -0
- package/dist/cjs/ion-toggle.cjs.entry.js +248 -0
- package/dist/cjs/ionic-global-5e671da5.js +230 -0
- package/dist/cjs/ionic.cjs.js +32 -0
- package/dist/cjs/ios.transition-0b0d2e7f.js +485 -0
- package/dist/cjs/keyboard-2eabd73b.js +158 -0
- package/dist/cjs/keyboard-controller-4aa8c1d6.js +167 -0
- package/dist/cjs/keyboard-f35d0b9d.js +81 -0
- package/dist/cjs/loader.cjs.js +28 -0
- package/dist/cjs/md.transition-481e9b5f.js +59 -0
- package/dist/cjs/notch-controller-159c65d4.js +155 -0
- package/dist/cjs/overlays-d17b3668.js +693 -0
- package/dist/cjs/spinner-configs-7d30ff6f.js +147 -0
- package/dist/cjs/status-tap-6061aa3f.js +42 -0
- package/dist/cjs/swipe-back-7e99fa89.js +77 -0
- package/dist/cjs/theme-e6fec71e.js +48 -0
- package/dist/cjs/watch-options-4d182698.js +38 -0
- package/dist/collection/collection-manifest.json +372 -0
- package/dist/collection/components/accordion/accordion.ios.css +83 -0
- package/dist/collection/components/accordion/accordion.js +441 -0
- package/dist/collection/components/accordion/accordion.md.css +80 -0
- package/dist/collection/components/accordion/test/a11y/accordion.e2e.js +39 -0
- package/dist/collection/components/accordion/test/accordion.e2e.js +39 -0
- package/dist/collection/components/accordion/test/basic/accordion.e2e.js +52 -0
- package/dist/collection/components/accordion/test/multiple/accordion.e2e.js +26 -0
- package/dist/collection/components/accordion/test/nested/accordion.e2e.js +24 -0
- package/dist/collection/components/accordion/test/standalone/accordion.e2e.js +15 -0
- package/dist/collection/components/accordion-group/accordion-group-interface.js +1 -0
- package/dist/collection/components/accordion-group/accordion-group.ios.css +17 -0
- package/dist/collection/components/accordion-group/accordion-group.js +440 -0
- package/dist/collection/components/accordion-group/accordion-group.md.css +64 -0
- package/dist/collection/components/action-sheet/action-sheet-interface.js +1 -0
- package/dist/collection/components/action-sheet/action-sheet.ios.css +319 -0
- package/dist/collection/components/action-sheet/action-sheet.js +767 -0
- package/dist/collection/components/action-sheet/action-sheet.md.css +259 -0
- package/dist/collection/components/action-sheet/animations/ios.enter.js +27 -0
- package/dist/collection/components/action-sheet/animations/ios.leave.js +21 -0
- package/dist/collection/components/action-sheet/animations/md.enter.js +27 -0
- package/dist/collection/components/action-sheet/animations/md.leave.js +21 -0
- package/dist/collection/components/action-sheet/test/a11y/action-sheet.e2e.js +48 -0
- package/dist/collection/components/action-sheet/test/basic/action-sheet-rendering.e2e.js +41 -0
- package/dist/collection/components/action-sheet/test/basic/action-sheet.e2e.js +83 -0
- package/dist/collection/components/action-sheet/test/basic/fixture.js +30 -0
- package/dist/collection/components/action-sheet/test/is-open/action-sheet.e2e.js +33 -0
- package/dist/collection/components/action-sheet/test/translucent/action-sheet.e2e.js +18 -0
- package/dist/collection/components/action-sheet/test/trigger/action-sheet.e2e.js +29 -0
- package/dist/collection/components/alert/alert-interface.js +1 -0
- package/dist/collection/components/alert/alert.ios.css +503 -0
- package/dist/collection/components/alert/alert.js +1018 -0
- package/dist/collection/components/alert/alert.md.css +531 -0
- package/dist/collection/components/alert/animations/ios.enter.js +28 -0
- package/dist/collection/components/alert/animations/ios.leave.js +22 -0
- package/dist/collection/components/alert/animations/md.enter.js +28 -0
- package/dist/collection/components/alert/animations/md.leave.js +19 -0
- package/dist/collection/components/alert/test/a11y/alert.e2e.js +49 -0
- package/dist/collection/components/alert/test/basic/alert.e2e.js +110 -0
- package/dist/collection/components/alert/test/is-open/alert.e2e.js +33 -0
- package/dist/collection/components/alert/test/standalone/alert.e2e.js +17 -0
- package/dist/collection/components/alert/test/trigger/alert.e2e.js +29 -0
- package/dist/collection/components/app/app.css +17 -0
- package/dist/collection/components/app/app.js +132 -0
- package/dist/collection/components/app/test/safe-area/app.e2e.js +35 -0
- package/dist/collection/components/avatar/avatar.ios.css +22 -0
- package/dist/collection/components/avatar/avatar.js +24 -0
- package/dist/collection/components/avatar/avatar.md.css +22 -0
- package/dist/collection/components/avatar/test/avatar.svg +1 -0
- package/dist/collection/components/avatar/test/basic/avatar.e2e.js +24 -0
- package/dist/collection/components/back-button/back-button.ios.css +246 -0
- package/dist/collection/components/back-button/back-button.js +235 -0
- package/dist/collection/components/back-button/back-button.md.css +269 -0
- package/dist/collection/components/back-button/test/basic/back-button.e2e.js +14 -0
- package/dist/collection/components/back-button/test/toolbar/back-button.e2e.js +14 -0
- package/dist/collection/components/backdrop/backdrop.ios.css +26 -0
- package/dist/collection/components/backdrop/backdrop.js +143 -0
- package/dist/collection/components/backdrop/backdrop.md.css +26 -0
- package/dist/collection/components/badge/badge.ios.css +50 -0
- package/dist/collection/components/badge/badge.js +60 -0
- package/dist/collection/components/badge/badge.md.css +54 -0
- package/dist/collection/components/badge/test/basic/badge.e2e.js +14 -0
- package/dist/collection/components/breadcrumb/breadcrumb-interface.js +1 -0
- package/dist/collection/components/breadcrumb/breadcrumb.ios.css +205 -0
- package/dist/collection/components/breadcrumb/breadcrumb.js +409 -0
- package/dist/collection/components/breadcrumb/breadcrumb.md.css +200 -0
- package/dist/collection/components/breadcrumbs/breadcrumbs.ios.css +26 -0
- package/dist/collection/components/breadcrumbs/breadcrumbs.js +259 -0
- package/dist/collection/components/breadcrumbs/breadcrumbs.md.css +25 -0
- package/dist/collection/components/breadcrumbs/test/a11y/breadcrumbs.e2e.js +15 -0
- package/dist/collection/components/breadcrumbs/test/basic/breadcrumbs.e2e.js +14 -0
- package/dist/collection/components/breadcrumbs/test/collapsed/breadcrumbs.e2e.js +14 -0
- package/dist/collection/components/breadcrumbs/test/reactive/breadcrumbs.e2e.js +51 -0
- package/dist/collection/components/button/button.ios.css +431 -0
- package/dist/collection/components/button/button.js +555 -0
- package/dist/collection/components/button/button.md.css +408 -0
- package/dist/collection/components/button/test/basic/button.e2e.js +51 -0
- package/dist/collection/components/button/test/clear/button.e2e.js +14 -0
- package/dist/collection/components/button/test/expand/button.e2e.js +17 -0
- package/dist/collection/components/button/test/form-reference/button.e2e.js +135 -0
- package/dist/collection/components/button/test/icon/button.e2e.js +14 -0
- package/dist/collection/components/button/test/outline/button.e2e.js +14 -0
- package/dist/collection/components/button/test/round/button.e2e.js +17 -0
- package/dist/collection/components/button/test/size/button.e2e.js +43 -0
- package/dist/collection/components/button/test/strong/button.e2e.js +48 -0
- package/dist/collection/components/button/test/wrap/button.e2e.js +138 -0
- package/dist/collection/components/buttons/buttons.ios.css +114 -0
- package/dist/collection/components/buttons/buttons.js +53 -0
- package/dist/collection/components/buttons/buttons.md.css +134 -0
- package/dist/collection/components/card/card.ios.css +93 -0
- package/dist/collection/components/card/card.js +264 -0
- package/dist/collection/components/card/card.md.css +88 -0
- package/dist/collection/components/card/test/basic/card.e2e.js +151 -0
- package/dist/collection/components/card-content/card-content.ios.css +53 -0
- package/dist/collection/components/card-content/card-content.js +31 -0
- package/dist/collection/components/card-content/card-content.md.css +55 -0
- package/dist/collection/components/card-header/card-header.ios.css +31 -0
- package/dist/collection/components/card-header/card-header.js +81 -0
- package/dist/collection/components/card-header/card-header.md.css +28 -0
- package/dist/collection/components/card-header/test/basic/card-header.e2e.js +14 -0
- package/dist/collection/components/card-subtitle/card-subtitle.ios.css +28 -0
- package/dist/collection/components/card-subtitle/card-subtitle.js +61 -0
- package/dist/collection/components/card-subtitle/card-subtitle.md.css +26 -0
- package/dist/collection/components/card-title/card-title.ios.css +27 -0
- package/dist/collection/components/card-title/card-title.js +61 -0
- package/dist/collection/components/card-title/card-title.md.css +27 -0
- package/dist/collection/components/checkbox/checkbox-interface.js +1 -0
- package/dist/collection/components/checkbox/checkbox.ios.css +310 -0
- package/dist/collection/components/checkbox/checkbox.js +420 -0
- package/dist/collection/components/checkbox/checkbox.md.css +326 -0
- package/dist/collection/components/checkbox/test/a11y/checkbox.e2e.js +15 -0
- package/dist/collection/components/checkbox/test/basic/checkbox.e2e.js +60 -0
- package/dist/collection/components/checkbox/test/color/checkbox.e2e.js +23 -0
- package/dist/collection/components/checkbox/test/indeterminate/checkbox.e2e.js +14 -0
- package/dist/collection/components/checkbox/test/item/checkbox.e2e.js +61 -0
- package/dist/collection/components/checkbox/test/label/checkbox.e2e.js +95 -0
- package/dist/collection/components/checkbox/test/legacy/basic/checkbox.e2e.js +51 -0
- package/dist/collection/components/checkbox/test/legacy/indeterminate/checkbox.e2e.js +14 -0
- package/dist/collection/components/checkbox/test/states/checkbox.e2e.js +37 -0
- package/dist/collection/components/chip/chip.css +149 -0
- package/dist/collection/components/chip/chip.js +99 -0
- package/dist/collection/components/chip/test/basic/chip.e2e.js +81 -0
- package/dist/collection/components/chip/test/states/chip.e2e.js +35 -0
- package/dist/collection/components/col/col.css +68 -0
- package/dist/collection/components/col/col.js +551 -0
- package/dist/collection/components/content/content-interface.js +1 -0
- package/dist/collection/components/content/content.css +227 -0
- package/dist/collection/components/content/content.js +750 -0
- package/dist/collection/components/content/test/basic/content.e2e.js +17 -0
- package/dist/collection/components/content/test/fixed/content.e2e.js +17 -0
- package/dist/collection/components/content/test/fullscreen/content.e2e.js +17 -0
- package/dist/collection/components/content/test/standalone/content.e2e.js +16 -0
- package/dist/collection/components/datetime/datetime-interface.js +1 -0
- package/dist/collection/components/datetime/datetime.ios.css +589 -0
- package/dist/collection/components/datetime/datetime.js +2268 -0
- package/dist/collection/components/datetime/datetime.md.css +561 -0
- package/dist/collection/components/datetime/test/basic/datetime.e2e.js +350 -0
- package/dist/collection/components/datetime/test/color/datetime.e2e.js +20 -0
- package/dist/collection/components/datetime/test/custom/datetime.e2e.js +33 -0
- package/dist/collection/components/datetime/test/datetime.e2e.js +39 -0
- package/dist/collection/components/datetime/test/disable-dates/datetime.e2e.js +150 -0
- package/dist/collection/components/datetime/test/display/datetime.e2e.js +121 -0
- package/dist/collection/components/datetime/test/first-day-of-week/datetime.e2e.js +14 -0
- package/dist/collection/components/datetime/test/highlighted-dates/datetime.e2e.js +86 -0
- package/dist/collection/components/datetime/test/hour-cycle/datetime.e2e.js +23 -0
- package/dist/collection/components/datetime/test/locale/datetime.e2e.js +129 -0
- package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +266 -0
- package/dist/collection/components/datetime/test/month-year-picker/datetime.e2e.js +29 -0
- package/dist/collection/components/datetime/test/multiple/datetime.e2e.js +225 -0
- package/dist/collection/components/datetime/test/position/datetime.e2e.js +22 -0
- package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +485 -0
- package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +138 -0
- package/dist/collection/components/datetime/test/set-value/datetime.e2e.js +53 -0
- package/dist/collection/components/datetime/test/time-label/datetime.e2e.js +25 -0
- package/dist/collection/components/datetime/test/utils/month-did-change-event.js +18 -0
- package/dist/collection/components/datetime/test/values/datetime.e2e.js +140 -0
- package/dist/collection/components/datetime/utils/comparison.js +44 -0
- package/dist/collection/components/datetime/utils/data.js +470 -0
- package/dist/collection/components/datetime/utils/format.js +286 -0
- package/dist/collection/components/datetime/utils/helpers.js +99 -0
- package/dist/collection/components/datetime/utils/manipulation.js +416 -0
- package/dist/collection/components/datetime/utils/parse.js +166 -0
- package/dist/collection/components/datetime/utils/state.js +173 -0
- package/dist/collection/components/datetime-button/datetime-button.css +44 -0
- package/dist/collection/components/datetime-button/datetime-button.js +428 -0
- package/dist/collection/components/datetime-button/test/basic/datetime-button.e2e.js +177 -0
- package/dist/collection/components/datetime-button/test/disabled/datetime-button.e2e.js +27 -0
- package/dist/collection/components/datetime-button/test/multiple/datetime-button.e2e.js +96 -0
- package/dist/collection/components/datetime-button/test/overlays/datetime-button.e2e.js +143 -0
- package/dist/collection/components/fab/fab.css +98 -0
- package/dist/collection/components/fab/fab.js +189 -0
- package/dist/collection/components/fab/test/basic/fab.e2e.js +65 -0
- package/dist/collection/components/fab/test/states/fab.e2e.js +14 -0
- package/dist/collection/components/fab/test/translucent/fab.e2e.js +28 -0
- package/dist/collection/components/fab-button/fab-button.ios.css +312 -0
- package/dist/collection/components/fab-button/fab-button.js +389 -0
- package/dist/collection/components/fab-button/fab-button.md.css +283 -0
- package/dist/collection/components/fab-button/test/a11y/fab-button.e2e.js +16 -0
- package/dist/collection/components/fab-list/fab-list.css +123 -0
- package/dist/collection/components/fab-list/fab-list.js +86 -0
- package/dist/collection/components/footer/footer.ios.css +36 -0
- package/dist/collection/components/footer/footer.js +151 -0
- package/dist/collection/components/footer/footer.md.css +19 -0
- package/dist/collection/components/footer/footer.utils.js +33 -0
- package/dist/collection/components/footer/test/basic/footer.e2e.js +61 -0
- package/dist/collection/components/footer/test/fade/footer.e2e.js +21 -0
- package/dist/collection/components/footer/test/scroll-target/footer.e2e.js +26 -0
- package/dist/collection/components/footer/test/with-tabs/footer.e2e.js +17 -0
- package/dist/collection/components/grid/grid.css +103 -0
- package/dist/collection/components/grid/grid.js +51 -0
- package/dist/collection/components/grid/test/basic/grid.e2e.js +17 -0
- package/dist/collection/components/grid/test/offsets/grid.e2e.js +17 -0
- package/dist/collection/components/grid/test/padding/grid.e2e.js +17 -0
- package/dist/collection/components/grid/test/sizes/grid.e2e.js +17 -0
- package/dist/collection/components/header/header.ios.css +106 -0
- package/dist/collection/components/header/header.js +205 -0
- package/dist/collection/components/header/header.md.css +23 -0
- package/dist/collection/components/header/header.utils.js +180 -0
- package/dist/collection/components/header/test/a11y/header.e2e.js +29 -0
- package/dist/collection/components/header/test/basic/header.e2e.js +70 -0
- package/dist/collection/components/header/test/condense/header.e2e.js +33 -0
- package/dist/collection/components/header/test/fade/header.e2e.js +21 -0
- package/dist/collection/components/header/test/scroll-target/header.e2e.js +26 -0
- package/dist/collection/components/icon/test/basic/icon.e2e.js +16 -0
- package/dist/collection/components/icon/test/dir/heart-broken.svg +5 -0
- package/dist/collection/components/icon/test/dir/icon.e2e.js +23 -0
- package/dist/collection/components/img/img.css +12 -0
- package/dist/collection/components/img/img.js +204 -0
- package/dist/collection/components/img/test/basic/img.e2e.js +73 -0
- package/dist/collection/components/img/test/draggable/img.e2e.js +21 -0
- package/dist/collection/components/infinite-scroll/infinite-scroll-interface.js +1 -0
- package/dist/collection/components/infinite-scroll/infinite-scroll.css +8 -0
- package/dist/collection/components/infinite-scroll/infinite-scroll.js +290 -0
- package/dist/collection/components/infinite-scroll/test/basic/infinite-scroll.e2e.js +19 -0
- package/dist/collection/components/infinite-scroll/test/scroll-target/infinite-scroll.e2e.js +19 -0
- package/dist/collection/components/infinite-scroll/test/top/infinite-scroll.e2e.js +19 -0
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.ios.css +46 -0
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.js +97 -0
- package/dist/collection/components/infinite-scroll-content/infinite-scroll-content.md.css +46 -0
- package/dist/collection/components/input/input-interface.js +1 -0
- package/dist/collection/components/input/input.ios.css +641 -0
- package/dist/collection/components/input/input.js +1250 -0
- package/dist/collection/components/input/input.md.css +1082 -0
- package/dist/collection/components/input/input.utils.js +30 -0
- package/dist/collection/components/input/test/a11y/input.e2e.js +15 -0
- package/dist/collection/components/input/test/basic/input.e2e.js +102 -0
- package/dist/collection/components/input/test/bottom-content/input.e2e.js +145 -0
- package/dist/collection/components/input/test/card/input.e2e.js +22 -0
- package/dist/collection/components/input/test/color/input.e2e.js +130 -0
- package/dist/collection/components/input/test/fill/input.e2e.js +203 -0
- package/dist/collection/components/input/test/highlight/input.e2e.js +156 -0
- package/dist/collection/components/input/test/input.e2e.js +17 -0
- package/dist/collection/components/input/test/item/input.e2e.js +43 -0
- package/dist/collection/components/input/test/label-placement/input.e2e.js +165 -0
- package/dist/collection/components/input/test/legacy/a11y/input.e2e.js +28 -0
- package/dist/collection/components/input/test/legacy/basic/input.e2e.js +181 -0
- package/dist/collection/components/input/test/legacy/clear-on-edit/input.e2e.js +55 -0
- package/dist/collection/components/input/test/legacy/input-events.e2e.js +71 -0
- package/dist/collection/components/input/test/legacy/masking/input.e2e.js +26 -0
- package/dist/collection/components/input/test/legacy/spec/input.e2e.js +16 -0
- package/dist/collection/components/input/test/states/input.e2e.js +23 -0
- package/dist/collection/components/item/item-interface.js +1 -0
- package/dist/collection/components/item/item.ios.css +646 -0
- package/dist/collection/components/item/item.js +614 -0
- package/dist/collection/components/item/item.md.css +908 -0
- package/dist/collection/components/item/test/a11y/item.e2e.js +28 -0
- package/dist/collection/components/item/test/alignment/item.e2e.js +14 -0
- package/dist/collection/components/item/test/basic/item.e2e.js +14 -0
- package/dist/collection/components/item/test/buttons/item.e2e.js +29 -0
- package/dist/collection/components/item/test/colors/item.e2e.js +17 -0
- package/dist/collection/components/item/test/counter/item.e2e.js +49 -0
- package/dist/collection/components/item/test/css-variables/item.e2e.js +17 -0
- package/dist/collection/components/item/test/disabled/item.e2e.js +18 -0
- package/dist/collection/components/item/test/dividers/item.e2e.js +14 -0
- package/dist/collection/components/item/test/groups/item.e2e.js +16 -0
- package/dist/collection/components/item/test/highlight/item.e2e.js +14 -0
- package/dist/collection/components/item/test/icons/heart-broken.svg +5 -0
- package/dist/collection/components/item/test/icons/item.e2e.js +14 -0
- package/dist/collection/components/item/test/images/item.e2e.js +14 -0
- package/dist/collection/components/item/test/inputs/item.e2e.js +153 -0
- package/dist/collection/components/item/test/legacy/alignment/item.e2e.js +14 -0
- package/dist/collection/components/item/test/legacy/disabled/item.e2e.js +14 -0
- package/dist/collection/components/item/test/legacy/fill/item.e2e.js +14 -0
- package/dist/collection/components/item/test/legacy/form/item.e2e.js +14 -0
- package/dist/collection/components/item/test/lines/item.e2e.js +14 -0
- package/dist/collection/components/item/test/media/item.e2e.js +14 -0
- package/dist/collection/components/item/test/reorder/item.e2e.js +16 -0
- package/dist/collection/components/item/test/slotted-inputs/item.e2e.js +14 -0
- package/dist/collection/components/item/test/states/item.e2e.js +17 -0
- package/dist/collection/components/item/test/text/item.e2e.js +14 -0
- package/dist/collection/components/item-divider/item-divider.ios.css +166 -0
- package/dist/collection/components/item-divider/item-divider.js +86 -0
- package/dist/collection/components/item-divider/item-divider.md.css +232 -0
- package/dist/collection/components/item-divider/test/basic/item-divider.e2e.js +38 -0
- package/dist/collection/components/item-divider/test/spec/item-divider.e2e.js +16 -0
- package/dist/collection/components/item-group/item-group.ios.css +3 -0
- package/dist/collection/components/item-group/item-group.js +29 -0
- package/dist/collection/components/item-group/item-group.md.css +3 -0
- package/dist/collection/components/item-option/item-option.ios.css +142 -0
- package/dist/collection/components/item-option/item-option.js +217 -0
- package/dist/collection/components/item-option/item-option.md.css +136 -0
- package/dist/collection/components/item-options/item-options.ios.css +123 -0
- package/dist/collection/components/item-options/item-options.js +118 -0
- package/dist/collection/components/item-options/item-options.md.css +120 -0
- package/dist/collection/components/item-sliding/item-sliding-interface.js +1 -0
- package/dist/collection/components/item-sliding/item-sliding.css +66 -0
- package/dist/collection/components/item-sliding/item-sliding.js +575 -0
- package/dist/collection/components/item-sliding/test/async/item-sliding.e2e.js +33 -0
- package/dist/collection/components/item-sliding/test/basic/item-sliding.e2e.js +59 -0
- package/dist/collection/components/item-sliding/test/icons/item-sliding.e2e.js +20 -0
- package/dist/collection/components/item-sliding/test/scroll-target/item-sliding.e2e.js +35 -0
- package/dist/collection/components/item-sliding/test/test.utils.js +25 -0
- package/dist/collection/components/label/label.ios.css +164 -0
- package/dist/collection/components/label/label.js +187 -0
- package/dist/collection/components/label/label.md.css +251 -0
- package/dist/collection/components/label/test/basic/label.e2e.js +45 -0
- package/dist/collection/components/label/test/color/label.e2e.js +39 -0
- package/dist/collection/components/label/test/headings/label.e2e.js +13 -0
- package/dist/collection/components/list/list.ios.css +63 -0
- package/dist/collection/components/list/list.js +112 -0
- package/dist/collection/components/list/list.md.css +104 -0
- package/dist/collection/components/list/test/a11y/list.e2e.js +15 -0
- package/dist/collection/components/list/test/basic/list.e2e.js +24 -0
- package/dist/collection/components/list/test/inset/list.e2e.js +69 -0
- package/dist/collection/components/list/test/lines/list.e2e.js +24 -0
- package/dist/collection/components/list-header/list-header.ios.css +107 -0
- package/dist/collection/components/list-header/list-header.js +80 -0
- package/dist/collection/components/list-header/list-header.md.css +88 -0
- package/dist/collection/components/list-header/test/basic/list-header.e2e.js +14 -0
- package/dist/collection/components/loading/animations/ios.enter.js +28 -0
- package/dist/collection/components/loading/animations/ios.leave.js +22 -0
- package/dist/collection/components/loading/animations/md.enter.js +28 -0
- package/dist/collection/components/loading/animations/md.leave.js +22 -0
- package/dist/collection/components/loading/loading-interface.js +1 -0
- package/dist/collection/components/loading/loading.ios.css +95 -0
- package/dist/collection/components/loading/loading.js +753 -0
- package/dist/collection/components/loading/loading.md.css +86 -0
- package/dist/collection/components/loading/test/a11y/loading.e2e.js +26 -0
- package/dist/collection/components/loading/test/basic/loading.e2e.js +80 -0
- package/dist/collection/components/loading/test/is-open/loading.e2e.js +28 -0
- package/dist/collection/components/loading/test/standalone/loading.e2e.js +21 -0
- package/dist/collection/components/loading/test/trigger/loading.e2e.js +32 -0
- package/dist/collection/components/menu/menu-interface.js +1 -0
- package/dist/collection/components/menu/menu.ios.css +167 -0
- package/dist/collection/components/menu/menu.js +965 -0
- package/dist/collection/components/menu/menu.md.css +163 -0
- package/dist/collection/components/menu/test/a11y/menu.e2e.js +22 -0
- package/dist/collection/components/menu/test/basic/menu.e2e.js +124 -0
- package/dist/collection/components/menu/test/focus-trap/menu.e2e.js +72 -0
- package/dist/collection/components/menu-button/menu-button.ios.css +167 -0
- package/dist/collection/components/menu-button/menu-button.js +192 -0
- package/dist/collection/components/menu-button/menu-button.md.css +170 -0
- package/dist/collection/components/menu-button/test/a11y/menu-button.e2e.js +15 -0
- package/dist/collection/components/menu-button/test/basic/menu-button.e2e.js +14 -0
- package/dist/collection/components/menu-toggle/menu-toggle-util.js +9 -0
- package/dist/collection/components/menu-toggle/menu-toggle.css +3 -0
- package/dist/collection/components/menu-toggle/menu-toggle.js +105 -0
- package/dist/collection/components/menu-toggle/test/basic/menu-toggle.e2e.js +43 -0
- package/dist/collection/components/modal/animations/ios.enter.js +98 -0
- package/dist/collection/components/modal/animations/ios.leave.js +91 -0
- package/dist/collection/components/modal/animations/md.enter.js +34 -0
- package/dist/collection/components/modal/animations/md.leave.js +28 -0
- package/dist/collection/components/modal/animations/sheet.js +52 -0
- package/dist/collection/components/modal/gestures/sheet.js +308 -0
- package/dist/collection/components/modal/gestures/swipe-to-close.js +265 -0
- package/dist/collection/components/modal/gestures/utils.js +119 -0
- package/dist/collection/components/modal/modal-interface.js +1 -0
- package/dist/collection/components/modal/modal.ios.css +247 -0
- package/dist/collection/components/modal/modal.js +1338 -0
- package/dist/collection/components/modal/modal.md.css +162 -0
- package/dist/collection/components/modal/test/a11y/modal.e2e.js +21 -0
- package/dist/collection/components/modal/test/basic/modal.e2e.js +125 -0
- package/dist/collection/components/modal/test/can-dismiss/modal-card.e2e.js +55 -0
- package/dist/collection/components/modal/test/can-dismiss/modal-sheet.e2e.js +73 -0
- package/dist/collection/components/modal/test/can-dismiss/modal.e2e.js +27 -0
- package/dist/collection/components/modal/test/card/modal-card.e2e.js +83 -0
- package/dist/collection/components/modal/test/card/modal-tablet.e2e.js +82 -0
- package/dist/collection/components/modal/test/card-nav/modal.e2e.js +39 -0
- package/dist/collection/components/modal/test/card-refresher/modal.e2e.js +22 -0
- package/dist/collection/components/modal/test/card-scroll-target/modal.e2e.js +42 -0
- package/dist/collection/components/modal/test/custom/modal.e2e.js +24 -0
- package/dist/collection/components/modal/test/custom-dialog/modal.e2e.js +20 -0
- package/dist/collection/components/modal/test/dark-mode/model.e2e.js +20 -0
- package/dist/collection/components/modal/test/fixtures.js +28 -0
- package/dist/collection/components/modal/test/inline/modal.e2e.js +48 -0
- package/dist/collection/components/modal/test/is-open/modal.e2e.js +25 -0
- package/dist/collection/components/modal/test/sheet/modal.e2e.js +212 -0
- package/dist/collection/components/modal/test/standalone/modal.e2e.js +19 -0
- package/dist/collection/components/modal/test/trigger/modal.e2e.js +31 -0
- package/dist/collection/components/modal/utils.js +86 -0
- package/dist/collection/components/modal/utils.spec.js +13 -0
- package/dist/collection/components/nav/constants.js +8 -0
- package/dist/collection/components/nav/nav-interface.js +1 -0
- package/dist/collection/components/nav/nav.css +10 -0
- package/dist/collection/components/nav/nav.js +1792 -0
- package/dist/collection/components/nav/test/basic/nav.e2e.js +69 -0
- package/dist/collection/components/nav/test/modal-navigation/nav.e2e.js +65 -0
- package/dist/collection/components/nav/test/nested/nav.e2e.js +66 -0
- package/dist/collection/components/nav/test/routing/nav.e2e.js +87 -0
- package/dist/collection/components/nav/view-controller.js +71 -0
- package/dist/collection/components/nav-link/nav-link-utils.js +22 -0
- package/dist/collection/components/nav-link/nav-link.js +110 -0
- package/dist/collection/components/note/note.ios.css +16 -0
- package/dist/collection/components/note/note.js +60 -0
- package/dist/collection/components/note/note.md.css +17 -0
- package/dist/collection/components/note/test/basic/note.e2e.js +78 -0
- package/dist/collection/components/picker/animations/ios.enter.js +27 -0
- package/dist/collection/components/picker/animations/ios.leave.js +23 -0
- package/dist/collection/components/picker/picker-interface.js +1 -0
- package/dist/collection/components/picker/picker.ios.css +257 -0
- package/dist/collection/components/picker/picker.js +804 -0
- package/dist/collection/components/picker/picker.md.css +244 -0
- package/dist/collection/components/picker/test/basic/picker.e2e.js +25 -0
- package/dist/collection/components/picker/test/is-open/picker.e2e.js +28 -0
- package/dist/collection/components/picker/test/trigger/picker.e2e.js +32 -0
- package/dist/collection/components/picker-column/picker-column.ios.css +145 -0
- package/dist/collection/components/picker-column/picker-column.js +417 -0
- package/dist/collection/components/picker-column/picker-column.md.css +136 -0
- package/dist/collection/components/picker-column/test/standalone/picker-column.e2e.js +35 -0
- package/dist/collection/components/picker-column/test/test.utils.js +43 -0
- package/dist/collection/components/picker-column-internal/picker-column-internal-interfaces.js +1 -0
- package/dist/collection/components/picker-column-internal/picker-column-internal.ios.css +75 -0
- package/dist/collection/components/picker-column-internal/picker-column-internal.js +538 -0
- package/dist/collection/components/picker-column-internal/picker-column-internal.md.css +78 -0
- package/dist/collection/components/picker-column-internal/test/basic/picker-column-internal.e2e.js +64 -0
- package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +133 -0
- package/dist/collection/components/picker-internal/picker-internal-interfaces.js +1 -0
- package/dist/collection/components/picker-internal/picker-internal.ios.css +152 -0
- package/dist/collection/components/picker-internal/picker-internal.js +542 -0
- package/dist/collection/components/picker-internal/picker-internal.md.css +148 -0
- package/dist/collection/components/picker-internal/test/a11y/picker-internal.e2e.js +15 -0
- package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +113 -0
- package/dist/collection/components/picker-internal/test/keyboard-entry/picker-internal.e2e.js +114 -0
- package/dist/collection/components/popover/animations/ios.enter.js +92 -0
- package/dist/collection/components/popover/animations/ios.leave.js +38 -0
- package/dist/collection/components/popover/animations/md.enter.js +71 -0
- package/dist/collection/components/popover/animations/md.leave.js +29 -0
- package/dist/collection/components/popover/popover-interface.js +1 -0
- package/dist/collection/components/popover/popover.ios.css +250 -0
- package/dist/collection/components/popover/popover.js +1234 -0
- package/dist/collection/components/popover/popover.md.css +157 -0
- package/dist/collection/components/popover/test/adjustment/popover.e2e.js +33 -0
- package/dist/collection/components/popover/test/arrow/popover.e2e.js +27 -0
- package/dist/collection/components/popover/test/basic/popover.e2e.js +135 -0
- package/dist/collection/components/popover/test/dismiss-on-select/popover.e2e.js +38 -0
- package/dist/collection/components/popover/test/fixture.js +22 -0
- package/dist/collection/components/popover/test/inline/popover.e2e.js +32 -0
- package/dist/collection/components/popover/test/is-open/popover.e2e.js +13 -0
- package/dist/collection/components/popover/test/nested/popover.e2e.js +92 -0
- package/dist/collection/components/popover/test/position/popover.e2e.js +27 -0
- package/dist/collection/components/popover/test/reference/popover.e2e.js +22 -0
- package/dist/collection/components/popover/test/size/popover.e2e.js +41 -0
- package/dist/collection/components/popover/test/standalone/popover.e2e.js +15 -0
- package/dist/collection/components/popover/test/test.utils.js +33 -0
- package/dist/collection/components/popover/test/trigger/popover.e2e.js +46 -0
- package/dist/collection/components/popover/utils.js +745 -0
- package/dist/collection/components/progress-bar/progress-bar.ios.css +206 -0
- package/dist/collection/components/progress-bar/progress-bar.js +167 -0
- package/dist/collection/components/progress-bar/progress-bar.md.css +206 -0
- package/dist/collection/components/progress-bar/test/basic/progress-bar.e2e.js +14 -0
- package/dist/collection/components/radio/radio.ios.css +331 -0
- package/dist/collection/components/radio/radio.js +455 -0
- package/dist/collection/components/radio/radio.md.css +354 -0
- package/dist/collection/components/radio/test/a11y/radio.e2e.js +84 -0
- package/dist/collection/components/radio/test/color/radio.e2e.js +27 -0
- package/dist/collection/components/radio/test/item/radio.e2e.js +54 -0
- package/dist/collection/components/radio/test/label-placement/radio.e2e.js +104 -0
- package/dist/collection/components/radio/test/legacy/a11y/radio.e2e.js +38 -0
- package/dist/collection/components/radio/test/legacy/basic/radio.e2e.js +127 -0
- package/dist/collection/components/radio/test/states/radio.e2e.js +45 -0
- package/dist/collection/components/radio-group/radio-group-interface.js +1 -0
- package/dist/collection/components/radio-group/radio-group.js +261 -0
- package/dist/collection/components/radio-group/test/basic/radio-group.e2e.js +85 -0
- package/dist/collection/components/radio-group/test/fixtures.js +31 -0
- package/dist/collection/components/radio-group/test/form/radio-group.e2e.js +56 -0
- package/dist/collection/components/radio-group/test/legacy/basic/radio-group.e2e.js +122 -0
- package/dist/collection/components/radio-group/test/legacy/form/radio-group.e2e.js +30 -0
- package/dist/collection/components/radio-group/test/legacy/search/radio-group.e2e.js +38 -0
- package/dist/collection/components/radio-group/test/radio-group-events.e2e.js +80 -0
- package/dist/collection/components/radio-group/test/search/radio-group.e2e.js +35 -0
- package/dist/collection/components/range/range-interface.js +1 -0
- package/dist/collection/components/range/range.ios.css +469 -0
- package/dist/collection/components/range/range.js +1049 -0
- package/dist/collection/components/range/range.md.css +614 -0
- package/dist/collection/components/range/test/a11y/range.e2e.js +57 -0
- package/dist/collection/components/range/test/active-bar-start/range.e2e.js +14 -0
- package/dist/collection/components/range/test/basic/range.e2e.js +31 -0
- package/dist/collection/components/range/test/color/range.e2e.js +20 -0
- package/dist/collection/components/range/test/custom/range.e2e.js +14 -0
- package/dist/collection/components/range/test/item/range.e2e.js +44 -0
- package/dist/collection/components/range/test/label/range.e2e.js +120 -0
- package/dist/collection/components/range/test/legacy/a11y/range.e2e.js +49 -0
- package/dist/collection/components/range/test/legacy/active-bar-start/range.e2e.js +14 -0
- package/dist/collection/components/range/test/legacy/basic/range.e2e.js +80 -0
- package/dist/collection/components/range/test/legacy/range-events.e2e.js +90 -0
- package/dist/collection/components/range/test/legacy/scroll-target/range.e2e.js +32 -0
- package/dist/collection/components/range/test/range-events.e2e.js +153 -0
- package/dist/collection/components/range/test/scroll-target/range.e2e.js +35 -0
- package/dist/collection/components/range/test/states/range.e2e.js +53 -0
- package/dist/collection/components/refresher/refresher-interface.js +1 -0
- package/dist/collection/components/refresher/refresher.ios.css +211 -0
- package/dist/collection/components/refresher/refresher.js +850 -0
- package/dist/collection/components/refresher/refresher.md.css +206 -0
- package/dist/collection/components/refresher/refresher.utils.js +178 -0
- package/dist/collection/components/refresher/test/basic/refresher.e2e.js +39 -0
- package/dist/collection/components/refresher/test/scroll-target/refresher.e2e.js +39 -0
- package/dist/collection/components/refresher/test/test.utils.js +19 -0
- package/dist/collection/components/refresher-content/refresher-content.js +145 -0
- package/dist/collection/components/reorder/reorder.ios.css +15 -0
- package/dist/collection/components/reorder/reorder.js +49 -0
- package/dist/collection/components/reorder/reorder.md.css +15 -0
- package/dist/collection/components/reorder-group/reorder-group-interface.js +1 -0
- package/dist/collection/components/reorder-group/reorder-group.css +34 -0
- package/dist/collection/components/reorder-group/reorder-group.js +367 -0
- package/dist/collection/components/reorder-group/test/basic/reorder-group.e2e.js +36 -0
- package/dist/collection/components/reorder-group/test/interactive/reorder-group.e2e.js +34 -0
- package/dist/collection/components/reorder-group/test/nested/reorder-group.e2e.js +34 -0
- package/dist/collection/components/reorder-group/test/scroll-target/reorder-group.e2e.js +34 -0
- package/dist/collection/components/ripple-effect/ripple-effect.css +58 -0
- package/dist/collection/components/ripple-effect/ripple-effect.js +148 -0
- package/dist/collection/components/ripple-effect/test/basic/ripple-effect.e2e.js +66 -0
- package/dist/collection/components/route/route-interface.js +1 -0
- package/dist/collection/components/route/route.js +158 -0
- package/dist/collection/components/route-redirect/route-redirect.js +78 -0
- package/dist/collection/components/router/router.js +496 -0
- package/dist/collection/components/router/test/basic/router.e2e.js +68 -0
- package/dist/collection/components/router/test/guards/href/router.e2e.js +60 -0
- package/dist/collection/components/router/test/guards/link/router.e2e.js +60 -0
- package/dist/collection/components/router/test/guards/push/router.e2e.js +60 -0
- package/dist/collection/components/router/test/guards/router.e2e.js +13 -0
- package/dist/collection/components/router/test/guards/test.utils.js +17 -0
- package/dist/collection/components/router/utils/constants.js +6 -0
- package/dist/collection/components/router/utils/debug.js +23 -0
- package/dist/collection/components/router/utils/dom.js +87 -0
- package/dist/collection/components/router/utils/interface.js +1 -0
- package/dist/collection/components/router/utils/matching.js +227 -0
- package/dist/collection/components/router/utils/parser.js +89 -0
- package/dist/collection/components/router/utils/path.js +107 -0
- package/dist/collection/components/router-link/router-link.css +29 -0
- package/dist/collection/components/router-link/router-link.js +163 -0
- package/dist/collection/components/router-outlet/route-outlet.css +10 -0
- package/dist/collection/components/router-outlet/route-outlet.js +481 -0
- package/dist/collection/components/router-outlet/test/basic/router-outlet.e2e.js +39 -0
- package/dist/collection/components/row/row.css +4 -0
- package/dist/collection/components/row/row.js +22 -0
- package/dist/collection/components/searchbar/searchbar-interface.js +1 -0
- package/dist/collection/components/searchbar/searchbar.ios.css +354 -0
- package/dist/collection/components/searchbar/searchbar.js +913 -0
- package/dist/collection/components/searchbar/searchbar.md.css +339 -0
- package/dist/collection/components/searchbar/test/basic/searchbar.e2e.js +118 -0
- package/dist/collection/components/searchbar/test/events/searchbar.e2e.js +67 -0
- package/dist/collection/components/segment/segment-interface.js +1 -0
- package/dist/collection/components/segment/segment.ios.css +59 -0
- package/dist/collection/components/segment/segment.js +620 -0
- package/dist/collection/components/segment/segment.md.css +49 -0
- package/dist/collection/components/segment/test/a11y/segment.e2e.js +46 -0
- package/dist/collection/components/segment/test/basic/segment.e2e.js +84 -0
- package/dist/collection/components/segment/test/custom/segment.e2e.js +14 -0
- package/dist/collection/components/segment/test/icon/segment.e2e.js +29 -0
- package/dist/collection/components/segment/test/modes/segment.e2e.js +38 -0
- package/dist/collection/components/segment/test/scrollable/segment.e2e.js +44 -0
- package/dist/collection/components/segment/test/segment-events.e2e.js +209 -0
- package/dist/collection/components/segment/test/toolbar/segment.e2e.js +122 -0
- package/dist/collection/components/segment/test/wrap/segment.e2e.js +85 -0
- package/dist/collection/components/segment-button/segment-button-interface.js +1 -0
- package/dist/collection/components/segment-button/segment-button.ios.css +410 -0
- package/dist/collection/components/segment-button/segment-button.js +237 -0
- package/dist/collection/components/segment-button/segment-button.md.css +396 -0
- package/dist/collection/components/select/select-interface.js +1 -0
- package/dist/collection/components/select/select.ios.css +552 -0
- package/dist/collection/components/select/select.js +1252 -0
- package/dist/collection/components/select/select.md.css +1025 -0
- package/dist/collection/components/select/test/a11y/select.e2e.js +15 -0
- package/dist/collection/components/select/test/async/select.e2e.js +25 -0
- package/dist/collection/components/select/test/basic/select.e2e.js +174 -0
- package/dist/collection/components/select/test/card/select.e2e.js +22 -0
- package/dist/collection/components/select/test/color/select.e2e.js +42 -0
- package/dist/collection/components/select/test/compare-with/select.e2e.js +67 -0
- package/dist/collection/components/select/test/custom/select.e2e.js +68 -0
- package/dist/collection/components/select/test/fill/select.e2e.js +192 -0
- package/dist/collection/components/select/test/highlight/select.e2e.js +125 -0
- package/dist/collection/components/select/test/item/select.e2e.js +41 -0
- package/dist/collection/components/select/test/label/select.e2e.js +245 -0
- package/dist/collection/components/select/test/legacy/async/select.e2e.js +19 -0
- package/dist/collection/components/select/test/legacy/basic/select.e2e.js +145 -0
- package/dist/collection/components/select/test/legacy/compare-with/select.e2e.js +67 -0
- package/dist/collection/components/select/test/legacy/custom/custom.e2e.js +13 -0
- package/dist/collection/components/select/test/legacy/single-value/select.e2e.js +16 -0
- package/dist/collection/components/select/test/legacy/spec/select.e2e.js +14 -0
- package/dist/collection/components/select/test/legacy/standalone/select.e2e.js +18 -0
- package/dist/collection/components/select/test/legacy/wrapping/select.e2e.js +39 -0
- package/dist/collection/components/select/test/popover-size/select.e2e.js +80 -0
- package/dist/collection/components/select/test/states/select.e2e.js +41 -0
- package/dist/collection/components/select/test/toggle-icon/select.e2e.js +30 -0
- package/dist/collection/components/select/test/wrapping/select.e2e.js +36 -0
- package/dist/collection/components/select-option/select-option.css +3 -0
- package/dist/collection/components/select-option/select-option.js +68 -0
- package/dist/collection/components/select-popover/select-popover-interface.js +1 -0
- package/dist/collection/components/select-popover/select-popover.ios.css +14 -0
- package/dist/collection/components/select-popover/select-popover.js +215 -0
- package/dist/collection/components/select-popover/select-popover.md.css +37 -0
- package/dist/collection/components/select-popover/test/basic/select-popover.e2e.js +77 -0
- package/dist/collection/components/select-popover/test/fixtures.js +48 -0
- package/dist/collection/components/skeleton-text/skeleton-text.css +53 -0
- package/dist/collection/components/skeleton-text/skeleton-text.js +57 -0
- package/dist/collection/components/skeleton-text/test/basic/skeleton-text.e2e.js +14 -0
- package/dist/collection/components/skeleton-text/test/custom/skeleton-text.e2e.js +14 -0
- package/dist/collection/components/slides/IonicSlides.js +101 -0
- package/dist/collection/components/spinner/spinner-configs.js +143 -0
- package/dist/collection/components/spinner/spinner-interface.js +1 -0
- package/dist/collection/components/spinner/spinner.css +177 -0
- package/dist/collection/components/spinner/spinner.js +153 -0
- package/dist/collection/components/spinner/test/basic/spinner.e2e.js +18 -0
- package/dist/collection/components/spinner/test/color/spinner.e2e.js +21 -0
- package/dist/collection/components/spinner/test/resize/spinner.e2e.js +35 -0
- package/dist/collection/components/split-pane/split-pane.ios.css +92 -0
- package/dist/collection/components/split-pane/split-pane.js +241 -0
- package/dist/collection/components/split-pane/split-pane.md.css +92 -0
- package/dist/collection/components/split-pane/test/basic/split-pane.e2e.js +29 -0
- package/dist/collection/components/tab/tab.css +4 -0
- package/dist/collection/components/tab/tab.js +182 -0
- package/dist/collection/components/tab-bar/tab-bar-interface.js +1 -0
- package/dist/collection/components/tab-bar/tab-bar.ios.css +87 -0
- package/dist/collection/components/tab-bar/tab-bar.js +170 -0
- package/dist/collection/components/tab-bar/tab-bar.md.css +74 -0
- package/dist/collection/components/tab-bar/test/custom/tab-bar.e2e.js +14 -0
- package/dist/collection/components/tab-bar/test/translucent/tab-bar.e2e.js +40 -0
- package/dist/collection/components/tab-button/tab-button.ios.css +367 -0
- package/dist/collection/components/tab-button/tab-button.js +284 -0
- package/dist/collection/components/tab-button/tab-button.md.css +391 -0
- package/dist/collection/components/tab-button/test/a11y/tab-button.e2e.js +15 -0
- package/dist/collection/components/tab-button/test/basic/tab-button.e2e.js +81 -0
- package/dist/collection/components/tab-button/test/layout/tab-button.e2e.js +123 -0
- package/dist/collection/components/tab-button/test/states/tab-button.e2e.js +65 -0
- package/dist/collection/components/tabs/tabs-interface.js +1 -0
- package/dist/collection/components/tabs/tabs.css +19 -0
- package/dist/collection/components/tabs/tabs.js +366 -0
- package/dist/collection/components/tabs/test/basic/tabs.e2e.js +32 -0
- package/dist/collection/components/tabs/test/placements/tabs.e2e.js +39 -0
- package/dist/collection/components/text/test/basic/text.e2e.js +30 -0
- package/dist/collection/components/text/text.css +3 -0
- package/dist/collection/components/text/text.js +58 -0
- package/dist/collection/components/textarea/test/a11y/textarea.e2e.js +15 -0
- package/dist/collection/components/textarea/test/autogrow/textarea.e2e.js +48 -0
- package/dist/collection/components/textarea/test/bottom-content/textarea.e2e.js +120 -0
- package/dist/collection/components/textarea/test/card/textarea.e2e.js +22 -0
- package/dist/collection/components/textarea/test/color/textarea.e2e.js +131 -0
- package/dist/collection/components/textarea/test/fill/textarea.e2e.js +205 -0
- package/dist/collection/components/textarea/test/highlight/textarea.e2e.js +159 -0
- package/dist/collection/components/textarea/test/item/textarea.e2e.js +43 -0
- package/dist/collection/components/textarea/test/label-placement/textarea.e2e.js +224 -0
- package/dist/collection/components/textarea/test/legacy/a11y/textarea.e2e.js +31 -0
- package/dist/collection/components/textarea/test/legacy/autogrow/textarea.e2e.js +58 -0
- package/dist/collection/components/textarea/test/legacy/basic/textarea.e2e.js +43 -0
- package/dist/collection/components/textarea/test/legacy/clear-on-edit/textarea.e2e.js +25 -0
- package/dist/collection/components/textarea/test/states/textarea.e2e.js +23 -0
- package/dist/collection/components/textarea/test/textarea-events.e2e.js +70 -0
- package/dist/collection/components/textarea/textarea-interface.js +1 -0
- package/dist/collection/components/textarea/textarea.ios.css +699 -0
- package/dist/collection/components/textarea/textarea.js +1063 -0
- package/dist/collection/components/textarea/textarea.md.css +1147 -0
- package/dist/collection/components/thumbnail/test/basic/thumbnail.e2e.js +48 -0
- package/dist/collection/components/thumbnail/test/thumbnail.svg +1 -0
- package/dist/collection/components/thumbnail/thumbnail.css +21 -0
- package/dist/collection/components/thumbnail/thumbnail.js +22 -0
- package/dist/collection/components/title/test/basic/title.e2e.js +30 -0
- package/dist/collection/components/title/title.ios.css +118 -0
- package/dist/collection/components/title/title.js +126 -0
- package/dist/collection/components/title/title.md.css +47 -0
- package/dist/collection/components/toast/animations/ios.enter.js +31 -0
- package/dist/collection/components/toast/animations/ios.leave.js +29 -0
- package/dist/collection/components/toast/animations/md.enter.js +33 -0
- package/dist/collection/components/toast/animations/md.leave.js +16 -0
- package/dist/collection/components/toast/test/a11y/toast.e2e.js +40 -0
- package/dist/collection/components/toast/test/basic/toast.e2e.js +122 -0
- package/dist/collection/components/toast/test/is-open/toast.e2e.js +28 -0
- package/dist/collection/components/toast/test/layout/toast.e2e.js +17 -0
- package/dist/collection/components/toast/test/standalone/toast.e2e.js +21 -0
- package/dist/collection/components/toast/test/trigger/toast.e2e.js +32 -0
- package/dist/collection/components/toast/toast-interface.js +1 -0
- package/dist/collection/components/toast/toast.ios.css +284 -0
- package/dist/collection/components/toast/toast.js +918 -0
- package/dist/collection/components/toast/toast.md.css +305 -0
- package/dist/collection/components/toggle/test/a11y/toggle.e2e.js +15 -0
- package/dist/collection/components/toggle/test/color/toggle.e2e.js +23 -0
- package/dist/collection/components/toggle/test/enable-on-off-labels/toggle.e2e.js +41 -0
- package/dist/collection/components/toggle/test/item/toggle.e2e.js +61 -0
- package/dist/collection/components/toggle/test/label/toggle.e2e.js +93 -0
- package/dist/collection/components/toggle/test/legacy/basic/toggle.e2e.js +83 -0
- package/dist/collection/components/toggle/test/legacy/enable-on-off-labels/toggle.e2e.js +37 -0
- package/dist/collection/components/toggle/test/legacy/sizes/power-outline.svg +1 -0
- package/dist/collection/components/toggle/test/legacy/sizes/toggle.e2e.js +14 -0
- package/dist/collection/components/toggle/test/sizes/power-outline.svg +1 -0
- package/dist/collection/components/toggle/test/sizes/toggle.e2e.js +14 -0
- package/dist/collection/components/toggle/test/states/toggle.e2e.js +30 -0
- package/dist/collection/components/toggle/toggle-interface.js +1 -0
- package/dist/collection/components/toggle/toggle.ios.css +455 -0
- package/dist/collection/components/toggle/toggle.js +502 -0
- package/dist/collection/components/toggle/toggle.md.css +400 -0
- package/dist/collection/components/toolbar/test/basic/toolbar.e2e.js +15 -0
- package/dist/collection/components/toolbar/test/colors/toolbar.e2e.js +17 -0
- package/dist/collection/components/toolbar/toolbar.ios.css +171 -0
- package/dist/collection/components/toolbar/toolbar.js +120 -0
- package/dist/collection/components/toolbar/toolbar.md.css +136 -0
- package/dist/collection/global/config.js +70 -0
- package/dist/collection/global/ionic-global.js +68 -0
- package/dist/collection/index.js +18 -0
- package/dist/collection/utils/animation/animation-interface.js +1 -0
- package/dist/collection/utils/animation/animation-utils.js +125 -0
- package/dist/collection/utils/animation/animation.js +860 -0
- package/dist/collection/utils/animation/cubic-bezier.js +88 -0
- package/dist/collection/utils/animation/test/animationbuilder/animation.e2e.js +32 -0
- package/dist/collection/utils/animation/test/basic/animation.e2e.js +21 -0
- package/dist/collection/utils/animation/test/display/animation.e2e.js +28 -0
- package/dist/collection/utils/animation/test/hooks/animation.e2e.js +49 -0
- package/dist/collection/utils/animation/test/multiple/animation.e2e.js +37 -0
- package/dist/collection/utils/browser/index.js +27 -0
- package/dist/collection/utils/config.js +29 -0
- package/dist/collection/utils/content/content.utils.spec.js +137 -0
- package/dist/collection/utils/content/index.js +126 -0
- package/dist/collection/utils/element-interface.js +1 -0
- package/dist/collection/utils/floating-point/floating-point.spec.js +22 -0
- package/dist/collection/utils/floating-point/index.js +44 -0
- package/dist/collection/utils/focus-visible.js +73 -0
- package/dist/collection/utils/forms/form-controller.js +65 -0
- package/dist/collection/utils/forms/index.js +5 -0
- package/dist/collection/utils/forms/notch-controller.js +150 -0
- package/dist/collection/utils/framework-delegate.js +118 -0
- package/dist/collection/utils/gesture/button-active.js +64 -0
- package/dist/collection/utils/gesture/gesture-controller.js +193 -0
- package/dist/collection/utils/gesture/index.js +242 -0
- package/dist/collection/utils/gesture/listener.js +47 -0
- package/dist/collection/utils/gesture/pointer-events.js +123 -0
- package/dist/collection/utils/gesture/recognizers.js +51 -0
- package/dist/collection/utils/gesture/swipe-back.js +71 -0
- package/dist/collection/utils/hardware-back-button.js +69 -0
- package/dist/collection/utils/helpers.js +419 -0
- package/dist/collection/utils/helpers.spec.js +36 -0
- package/dist/collection/utils/input-shims/hacks/common.js +71 -0
- package/dist/collection/utils/input-shims/hacks/hide-caret.js +28 -0
- package/dist/collection/utils/input-shims/hacks/input-blurring.js +54 -0
- package/dist/collection/utils/input-shims/hacks/scroll-assist.js +179 -0
- package/dist/collection/utils/input-shims/hacks/scroll-data.js +39 -0
- package/dist/collection/utils/input-shims/hacks/scroll-padding.js +57 -0
- package/dist/collection/utils/input-shims/hacks/test/scroll-assist.e2e.js +115 -0
- package/dist/collection/utils/input-shims/input-shims.js +100 -0
- package/dist/collection/utils/keyboard/keyboard-controller.js +162 -0
- package/dist/collection/utils/keyboard/keyboard.js +141 -0
- package/dist/collection/utils/logging/index.js +32 -0
- package/dist/collection/utils/media.js +23 -0
- package/dist/collection/utils/menu-controller/animations/base.js +20 -0
- package/dist/collection/utils/menu-controller/animations/overlay.js +34 -0
- package/dist/collection/utils/menu-controller/animations/push.js +33 -0
- package/dist/collection/utils/menu-controller/animations/reveal.js +19 -0
- package/dist/collection/utils/menu-controller/index.js +211 -0
- package/dist/collection/utils/native/capacitor.js +10 -0
- package/dist/collection/utils/native/haptic.js +209 -0
- package/dist/collection/utils/native/keyboard.js +58 -0
- package/dist/collection/utils/native/native-interface.js +21 -0
- package/dist/collection/utils/native/status-bar.js +45 -0
- package/dist/collection/utils/overlays-interface.js +1 -0
- package/dist/collection/utils/overlays.js +669 -0
- package/dist/collection/utils/platform.js +91 -0
- package/dist/collection/utils/rtl/dir.js +16 -0
- package/dist/collection/utils/rtl/dir.spec.js +25 -0
- package/dist/collection/utils/rtl/index.js +4 -0
- package/dist/collection/utils/sanitization/index.js +164 -0
- package/dist/collection/utils/slot-mutation-controller.js +103 -0
- package/dist/collection/utils/status-tap.js +36 -0
- package/dist/collection/utils/tap-click/index.js +193 -0
- package/dist/collection/utils/tap-click/test/tap-click.e2e.js +25 -0
- package/dist/collection/utils/test/framework-delegate/framework-delegate.e2e.js +33 -0
- package/dist/collection/utils/test/overlays/overlays.e2e.js +179 -0
- package/dist/collection/utils/test/platform.utils.js +98 -0
- package/dist/collection/utils/test/playwright/drag-element.js +38 -0
- package/dist/collection/utils/test/playwright/generator.js +52 -0
- package/dist/collection/utils/test/playwright/index.js +11 -0
- package/dist/collection/utils/test/playwright/matchers/index.js +11 -0
- package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEvent.js +28 -0
- package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEventDetail.js +37 -0
- package/dist/collection/utils/test/playwright/matchers/toHaveReceivedEventTimes.js +29 -0
- package/dist/collection/utils/test/playwright/page/event-spy.js +144 -0
- package/dist/collection/utils/test/playwright/page/utils/get-snapshot-settings.js +32 -0
- package/dist/collection/utils/test/playwright/page/utils/goto.js +68 -0
- package/dist/collection/utils/test/playwright/page/utils/index.js +10 -0
- package/dist/collection/utils/test/playwright/page/utils/locator.js +14 -0
- package/dist/collection/utils/test/playwright/page/utils/set-content.js +70 -0
- package/dist/collection/utils/test/playwright/page/utils/set-ion-viewport.js +36 -0
- package/dist/collection/utils/test/playwright/page/utils/spy-on-event.js +10 -0
- package/dist/collection/utils/test/playwright/page/utils/wait-for-changes.js +61 -0
- package/dist/collection/utils/test/playwright/playwright-declarations.js +1 -0
- package/dist/collection/utils/test/playwright/playwright-page.js +56 -0
- package/dist/collection/utils/test/playwright/viewports/index.js +16 -0
- package/dist/collection/utils/test/press-keys.js +138 -0
- package/dist/collection/utils/theme.js +41 -0
- package/dist/collection/utils/transition/index.js +223 -0
- package/dist/collection/utils/transition/ios.transition.js +476 -0
- package/dist/collection/utils/transition/md.transition.js +51 -0
- package/dist/collection/utils/watch-options.js +34 -0
- package/dist/docs.d.ts +148 -0
- package/dist/docs.json +22240 -0
- package/dist/esm/animation-258fd22b.js +985 -0
- package/dist/esm/app-globals-70454efb.js +8 -0
- package/dist/esm/button-active-aef107f0.js +67 -0
- package/dist/esm/capacitor-6d1861b7.js +13 -0
- package/dist/esm/config-80c044f2.js +193 -0
- package/dist/esm/cubic-bezier-e78d1307.js +90 -0
- package/dist/esm/data-605c040f.js +1463 -0
- package/dist/esm/dir-e8b767a8.js +18 -0
- package/dist/esm/focus-visible-10ad4867.js +75 -0
- package/dist/esm/form-controller-6cd7ebd1.js +68 -0
- package/dist/esm/framework-delegate-6a45ed30.js +121 -0
- package/dist/esm/gesture-controller-17060b7c.js +195 -0
- package/dist/esm/haptic-d85b8584.js +205 -0
- package/dist/esm/hardware-back-button-490df115.js +71 -0
- package/dist/esm/helpers-f586db1c.js +418 -0
- package/dist/esm/index-2d0c7c77.js +196 -0
- package/dist/esm/index-36a5fd75.js +2470 -0
- package/dist/esm/index-393bc14a.js +29 -0
- package/dist/esm/index-422b6e83.js +457 -0
- package/dist/esm/index-6e89f340.js +301 -0
- package/dist/esm/index-7373924f.js +129 -0
- package/dist/esm/index-afea2bcf.js +231 -0
- package/dist/esm/index-b32cad98.js +29 -0
- package/dist/esm/index-e86f0117.js +34 -0
- package/dist/esm/index.js +121 -0
- package/dist/esm/input-shims-5b912f6d.js +506 -0
- package/dist/esm/input.utils-4c00ca72.js +134 -0
- package/dist/esm/ion-accordion_2.entry.js +528 -0
- package/dist/esm/ion-action-sheet.entry.js +309 -0
- package/dist/esm/ion-alert.entry.js +502 -0
- package/dist/esm/ion-app_8.entry.js +1241 -0
- package/dist/esm/ion-avatar_3.entry.js +58 -0
- package/dist/esm/ion-back-button.entry.js +92 -0
- package/dist/esm/ion-backdrop.entry.js +57 -0
- package/dist/esm/ion-breadcrumb_2.entry.js +218 -0
- package/dist/esm/ion-button_2.entry.js +533 -0
- package/dist/esm/ion-card_5.entry.js +156 -0
- package/dist/esm/ion-checkbox.entry.js +164 -0
- package/dist/esm/ion-chip.entry.js +29 -0
- package/dist/esm/ion-col_3.entry.js +174 -0
- package/dist/esm/ion-datetime-button.entry.js +344 -0
- package/dist/esm/ion-datetime_3.entry.js +2269 -0
- package/dist/esm/ion-fab_3.entry.js +180 -0
- package/dist/esm/ion-img.entry.js +104 -0
- package/dist/esm/ion-infinite-scroll_2.entry.js +222 -0
- package/dist/esm/ion-input.entry.js +446 -0
- package/dist/esm/ion-item-option_3.entry.js +518 -0
- package/dist/esm/ion-item_8.entry.js +478 -0
- package/dist/esm/ion-loading.entry.js +267 -0
- package/dist/esm/ion-menu_3.entry.js +686 -0
- package/dist/esm/ion-modal.entry.js +1632 -0
- package/dist/esm/ion-nav_2.entry.js +943 -0
- package/dist/esm/ion-picker-column-internal.entry.js +362 -0
- package/dist/esm/ion-picker-internal.entry.js +482 -0
- package/dist/esm/ion-popover.entry.js +1314 -0
- package/dist/esm/ion-progress-bar.entry.js +58 -0
- package/dist/esm/ion-radio_2.entry.js +340 -0
- package/dist/esm/ion-range.entry.js +606 -0
- package/dist/esm/ion-refresher_2.entry.js +847 -0
- package/dist/esm/ion-reorder_2.entry.js +315 -0
- package/dist/esm/ion-ripple-effect.entry.js +83 -0
- package/dist/esm/ion-route_4.entry.js +885 -0
- package/dist/esm/ion-searchbar.entry.js +386 -0
- package/dist/esm/ion-segment_2.entry.js +507 -0
- package/dist/esm/ion-select_3.entry.js +816 -0
- package/dist/esm/ion-spinner.entry.js +64 -0
- package/dist/esm/ion-split-pane.entry.js +147 -0
- package/dist/esm/ion-tab-bar_2.entry.js +162 -0
- package/dist/esm/ion-tab_2.entry.js +207 -0
- package/dist/esm/ion-text.entry.js +24 -0
- package/dist/esm/ion-textarea.entry.js +395 -0
- package/dist/esm/ion-toast.entry.js +355 -0
- package/dist/esm/ion-toggle.entry.js +244 -0
- package/dist/esm/ionic-global-a9abd569.js +224 -0
- package/dist/esm/ionic.js +27 -0
- package/dist/esm/ios.transition-6a838b0c.js +482 -0
- package/dist/esm/keyboard-a818f780.js +146 -0
- package/dist/esm/keyboard-cdb83866.js +79 -0
- package/dist/esm/keyboard-controller-4149afc6.js +165 -0
- package/dist/esm/loader.js +24 -0
- package/dist/esm/md.transition-b7d7b475.js +57 -0
- package/dist/esm/notch-controller-cfcb8c01.js +153 -0
- package/dist/esm/overlays-4801a327.js +671 -0
- package/dist/esm/polyfills/core-js.js +11 -0
- package/dist/esm/polyfills/css-shim.js +1 -0
- package/dist/esm/polyfills/dom.js +79 -0
- package/dist/esm/polyfills/es5-html-element.js +1 -0
- package/dist/esm/polyfills/index.js +34 -0
- package/dist/esm/polyfills/system.js +6 -0
- package/dist/esm/spinner-configs-40ada8cd.js +145 -0
- package/dist/esm/status-tap-211f1ad8.js +40 -0
- package/dist/esm/swipe-back-2f9f0102.js +75 -0
- package/dist/esm/theme-7670341c.js +43 -0
- package/dist/esm/watch-options-4d421847.js +36 -0
- package/dist/esm-es5/animation-258fd22b.js +4 -0
- package/dist/esm-es5/app-globals-70454efb.js +4 -0
- package/dist/esm-es5/button-active-aef107f0.js +4 -0
- package/dist/esm-es5/capacitor-6d1861b7.js +4 -0
- package/dist/esm-es5/config-80c044f2.js +4 -0
- package/dist/esm-es5/cubic-bezier-e78d1307.js +4 -0
- package/dist/esm-es5/data-605c040f.js +4 -0
- package/dist/esm-es5/dir-e8b767a8.js +4 -0
- package/dist/esm-es5/focus-visible-10ad4867.js +4 -0
- package/dist/esm-es5/form-controller-6cd7ebd1.js +4 -0
- package/dist/esm-es5/framework-delegate-6a45ed30.js +4 -0
- package/dist/esm-es5/gesture-controller-17060b7c.js +4 -0
- package/dist/esm-es5/haptic-d85b8584.js +4 -0
- package/dist/esm-es5/hardware-back-button-490df115.js +4 -0
- package/dist/esm-es5/helpers-f586db1c.js +4 -0
- package/dist/esm-es5/index-2d0c7c77.js +4 -0
- package/dist/esm-es5/index-36a5fd75.js +5 -0
- package/dist/esm-es5/index-393bc14a.js +4 -0
- package/dist/esm-es5/index-422b6e83.js +4 -0
- package/dist/esm-es5/index-6e89f340.js +4 -0
- package/dist/esm-es5/index-7373924f.js +4 -0
- package/dist/esm-es5/index-afea2bcf.js +4 -0
- package/dist/esm-es5/index-b32cad98.js +4 -0
- package/dist/esm-es5/index-e86f0117.js +4 -0
- package/dist/esm-es5/index.js +4 -0
- package/dist/esm-es5/input-shims-5b912f6d.js +4 -0
- package/dist/esm-es5/input.utils-4c00ca72.js +4 -0
- package/dist/esm-es5/ion-accordion_2.entry.js +4 -0
- package/dist/esm-es5/ion-action-sheet.entry.js +4 -0
- package/dist/esm-es5/ion-alert.entry.js +4 -0
- package/dist/esm-es5/ion-app_8.entry.js +4 -0
- package/dist/esm-es5/ion-avatar_3.entry.js +4 -0
- package/dist/esm-es5/ion-back-button.entry.js +4 -0
- package/dist/esm-es5/ion-backdrop.entry.js +4 -0
- package/dist/esm-es5/ion-breadcrumb_2.entry.js +4 -0
- package/dist/esm-es5/ion-button_2.entry.js +4 -0
- package/dist/esm-es5/ion-card_5.entry.js +4 -0
- package/dist/esm-es5/ion-checkbox.entry.js +4 -0
- package/dist/esm-es5/ion-chip.entry.js +4 -0
- package/dist/esm-es5/ion-col_3.entry.js +4 -0
- package/dist/esm-es5/ion-datetime-button.entry.js +4 -0
- package/dist/esm-es5/ion-datetime_3.entry.js +4 -0
- package/dist/esm-es5/ion-fab_3.entry.js +4 -0
- package/dist/esm-es5/ion-img.entry.js +4 -0
- package/dist/esm-es5/ion-infinite-scroll_2.entry.js +4 -0
- package/dist/esm-es5/ion-input.entry.js +4 -0
- package/dist/esm-es5/ion-item-option_3.entry.js +4 -0
- package/dist/esm-es5/ion-item_8.entry.js +4 -0
- package/dist/esm-es5/ion-loading.entry.js +4 -0
- package/dist/esm-es5/ion-menu_3.entry.js +4 -0
- package/dist/esm-es5/ion-modal.entry.js +4 -0
- package/dist/esm-es5/ion-nav_2.entry.js +4 -0
- package/dist/esm-es5/ion-picker-column-internal.entry.js +4 -0
- package/dist/esm-es5/ion-picker-internal.entry.js +4 -0
- package/dist/esm-es5/ion-popover.entry.js +4 -0
- package/dist/esm-es5/ion-progress-bar.entry.js +4 -0
- package/dist/esm-es5/ion-radio_2.entry.js +4 -0
- package/dist/esm-es5/ion-range.entry.js +4 -0
- package/dist/esm-es5/ion-refresher_2.entry.js +4 -0
- package/dist/esm-es5/ion-reorder_2.entry.js +4 -0
- package/dist/esm-es5/ion-ripple-effect.entry.js +4 -0
- package/dist/esm-es5/ion-route_4.entry.js +4 -0
- package/dist/esm-es5/ion-searchbar.entry.js +4 -0
- package/dist/esm-es5/ion-segment_2.entry.js +4 -0
- package/dist/esm-es5/ion-select_3.entry.js +4 -0
- package/dist/esm-es5/ion-spinner.entry.js +4 -0
- package/dist/esm-es5/ion-split-pane.entry.js +4 -0
- package/dist/esm-es5/ion-tab-bar_2.entry.js +4 -0
- package/dist/esm-es5/ion-tab_2.entry.js +4 -0
- package/dist/esm-es5/ion-text.entry.js +4 -0
- package/dist/esm-es5/ion-textarea.entry.js +4 -0
- package/dist/esm-es5/ion-toast.entry.js +4 -0
- package/dist/esm-es5/ion-toggle.entry.js +4 -0
- package/dist/esm-es5/ionic-global-a9abd569.js +4 -0
- package/dist/esm-es5/ionic.js +4 -0
- package/dist/esm-es5/ios.transition-6a838b0c.js +4 -0
- package/dist/esm-es5/keyboard-a818f780.js +4 -0
- package/dist/esm-es5/keyboard-cdb83866.js +4 -0
- package/dist/esm-es5/keyboard-controller-4149afc6.js +4 -0
- package/dist/esm-es5/loader.js +4 -0
- package/dist/esm-es5/md.transition-b7d7b475.js +4 -0
- package/dist/esm-es5/notch-controller-cfcb8c01.js +4 -0
- package/dist/esm-es5/overlays-4801a327.js +4 -0
- package/dist/esm-es5/spinner-configs-40ada8cd.js +4 -0
- package/dist/esm-es5/status-tap-211f1ad8.js +4 -0
- package/dist/esm-es5/swipe-back-2f9f0102.js +4 -0
- package/dist/esm-es5/theme-7670341c.js +4 -0
- package/dist/esm-es5/watch-options-4d421847.js +4 -0
- package/dist/html.html-data.json +6429 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/ionic/index.esm.js +4 -0
- package/dist/ionic/ionic.esm.js +4 -0
- package/dist/ionic/ionic.js +131 -0
- package/dist/ionic/p-004db8b3.entry.js +4 -0
- package/dist/ionic/p-026e6f00.system.entry.js +4 -0
- package/dist/ionic/p-04f1268e.system.js +4 -0
- package/dist/ionic/p-05111967.entry.js +4 -0
- package/dist/ionic/p-0768899f.system.entry.js +4 -0
- package/dist/ionic/p-084b2140.system.js +4 -0
- package/dist/ionic/p-088a58a8.system.entry.js +4 -0
- package/dist/ionic/p-09292468.system.js +4 -0
- package/dist/ionic/p-0b761768.system.js +4 -0
- package/dist/ionic/p-0c92638a.js +4 -0
- package/dist/ionic/p-0dd11651.entry.js +4 -0
- package/dist/ionic/p-0e51ceb7.system.entry.js +4 -0
- package/dist/ionic/p-0fba861a.system.js +4 -0
- package/dist/ionic/p-138715e1.system.js +4 -0
- package/dist/ionic/p-138fcf0f.entry.js +4 -0
- package/dist/ionic/p-13cb1942.system.entry.js +4 -0
- package/dist/ionic/p-163145e8.system.entry.js +4 -0
- package/dist/ionic/p-164b025e.system.js +4 -0
- package/dist/ionic/p-1699be8e.entry.js +4 -0
- package/dist/ionic/p-1ce8e1ca.system.entry.js +4 -0
- package/dist/ionic/p-1ef14636.system.js +4 -0
- package/dist/ionic/p-1f05aa2b.system.entry.js +4 -0
- package/dist/ionic/p-21e3627d.entry.js +4 -0
- package/dist/ionic/p-28342e96.js +4 -0
- package/dist/ionic/p-2d55f2bd.system.js +4 -0
- package/dist/ionic/p-2e5dc115.entry.js +4 -0
- package/dist/ionic/p-30ae30f8.entry.js +4 -0
- package/dist/ionic/p-322237d0.entry.js +4 -0
- package/dist/ionic/p-335e3cfe.js +4 -0
- package/dist/ionic/p-34f66fef.entry.js +4 -0
- package/dist/ionic/p-355aae8e.system.entry.js +4 -0
- package/dist/ionic/p-35d01c78.js +4 -0
- package/dist/ionic/p-37184fe8.js +4 -0
- package/dist/ionic/p-38bc7b29.js +4 -0
- package/dist/ionic/p-39a30df1.entry.js +4 -0
- package/dist/ionic/p-3b753651.system.js +4 -0
- package/dist/ionic/p-3bf5cd2e.system.entry.js +4 -0
- package/dist/ionic/p-3c349187.js +4 -0
- package/dist/ionic/p-3ca87455.system.js +4 -0
- package/dist/ionic/p-3f9dbcfc.system.entry.js +4 -0
- package/dist/ionic/p-40ed5852.system.js +4 -0
- package/dist/ionic/p-40f778e6.js +4 -0
- package/dist/ionic/p-4108c24e.entry.js +4 -0
- package/dist/ionic/p-43060640.system.entry.js +4 -0
- package/dist/ionic/p-451cbc39.js +4 -0
- package/dist/ionic/p-465e0121.system.entry.js +4 -0
- package/dist/ionic/p-46956a85.js +4 -0
- package/dist/ionic/p-46cac66d.system.entry.js +4 -0
- package/dist/ionic/p-477f7813.entry.js +4 -0
- package/dist/ionic/p-49ead5cb.system.js +4 -0
- package/dist/ionic/p-4a212c9c.system.js +4 -0
- package/dist/ionic/p-4ab679fd.system.js +4 -0
- package/dist/ionic/p-4c9a0825.system.js +4 -0
- package/dist/ionic/p-4f7973ad.entry.js +4 -0
- package/dist/ionic/p-505d3b57.system.js +4 -0
- package/dist/ionic/p-52540082.js +4 -0
- package/dist/ionic/p-54ada505.entry.js +4 -0
- package/dist/ionic/p-54d3d2b6.entry.js +4 -0
- package/dist/ionic/p-5503807a.system.js +4 -0
- package/dist/ionic/p-565d288e.system.js +4 -0
- package/dist/ionic/p-56929710.system.js +4 -0
- package/dist/ionic/p-59a47aff.system.js +4 -0
- package/dist/ionic/p-5a3ee051.system.js +4 -0
- package/dist/ionic/p-5d6123f1.entry.js +4 -0
- package/dist/ionic/p-5db06d92.system.entry.js +4 -0
- package/dist/ionic/p-5dc1aee9.entry.js +4 -0
- package/dist/ionic/p-5de3c520.js +4 -0
- package/dist/ionic/p-609ac308.js +4 -0
- package/dist/ionic/p-627e74b4.js +4 -0
- package/dist/ionic/p-6561b0e5.js +4 -0
- package/dist/ionic/p-66bd7d60.entry.js +4 -0
- package/dist/ionic/p-69a66969.js +4 -0
- package/dist/ionic/p-6a0edd6d.system.js +5 -0
- package/dist/ionic/p-6eeeee8b.system.entry.js +4 -0
- package/dist/ionic/p-6f59ad61.entry.js +4 -0
- package/dist/ionic/p-6ff7a5e5.entry.js +4 -0
- package/dist/ionic/p-72969d37.entry.js +4 -0
- package/dist/ionic/p-72dbfdd4.system.js +4 -0
- package/dist/ionic/p-74a23266.system.entry.js +4 -0
- package/dist/ionic/p-77531c55.entry.js +4 -0
- package/dist/ionic/p-7c63a67f.system.entry.js +4 -0
- package/dist/ionic/p-7cc4d08a.system.entry.js +4 -0
- package/dist/ionic/p-7ec7dc35.js +4 -0
- package/dist/ionic/p-86d4b2bf.system.js +4 -0
- package/dist/ionic/p-86e57430.system.js +4 -0
- package/dist/ionic/p-8711de04.entry.js +4 -0
- package/dist/ionic/p-871802fe.entry.js +4 -0
- package/dist/ionic/p-896b72c9.js +4 -0
- package/dist/ionic/p-897e142d.entry.js +4 -0
- package/dist/ionic/p-8a95273c.js +4 -0
- package/dist/ionic/p-8a9d2a85.system.entry.js +4 -0
- package/dist/ionic/p-8c56e025.entry.js +4 -0
- package/dist/ionic/p-8da248f0.system.entry.js +4 -0
- package/dist/ionic/p-9131f2ce.system.entry.js +4 -0
- package/dist/ionic/p-921d49a0.entry.js +4 -0
- package/dist/ionic/p-94bb8e22.entry.js +4 -0
- package/dist/ionic/p-94d4b708.system.entry.js +4 -0
- package/dist/ionic/p-954ce757.system.entry.js +4 -0
- package/dist/ionic/p-97891b6b.system.js +4 -0
- package/dist/ionic/p-9912d985.js +4 -0
- package/dist/ionic/p-99eac672.system.js +4 -0
- package/dist/ionic/p-9a7f5ed5.entry.js +4 -0
- package/dist/ionic/p-9c8b2f9a.system.entry.js +4 -0
- package/dist/ionic/p-9c935c1f.system.entry.js +4 -0
- package/dist/ionic/p-9cfa25d2.system.entry.js +4 -0
- package/dist/ionic/p-9dcf76ff.system.entry.js +4 -0
- package/dist/ionic/p-9edd7119.system.entry.js +4 -0
- package/dist/ionic/p-a2e57f27.entry.js +4 -0
- package/dist/ionic/p-a4ef5b36.js +4 -0
- package/dist/ionic/p-a5808f22.entry.js +4 -0
- package/dist/ionic/p-a7016aef.entry.js +4 -0
- package/dist/ionic/p-a780a377.entry.js +4 -0
- package/dist/ionic/p-aa7b8135.system.js +4 -0
- package/dist/ionic/p-ab692eeb.entry.js +4 -0
- package/dist/ionic/p-acd4af3a.entry.js +4 -0
- package/dist/ionic/p-b096113b.js +4 -0
- package/dist/ionic/p-b159246b.entry.js +4 -0
- package/dist/ionic/p-b46c09ac.system.entry.js +4 -0
- package/dist/ionic/p-b6519389.system.entry.js +4 -0
- package/dist/ionic/p-bb38e011.js +4 -0
- package/dist/ionic/p-bb5b0f18.js +4 -0
- package/dist/ionic/p-c056132d.entry.js +4 -0
- package/dist/ionic/p-c05662ba.system.entry.js +4 -0
- package/dist/ionic/p-c099b4c9.js +4 -0
- package/dist/ionic/p-c1f5d275.js +4 -0
- package/dist/ionic/p-c2257c28.system.js +4 -0
- package/dist/ionic/p-c3325038.system.js +4 -0
- package/dist/ionic/p-c3da26fd.system.js +4 -0
- package/dist/ionic/p-c60bc054.system.entry.js +4 -0
- package/dist/ionic/p-c75da7cf.system.js +4 -0
- package/dist/ionic/p-c7d59299.js +4 -0
- package/dist/ionic/p-c9b94b63.system.entry.js +4 -0
- package/dist/ionic/p-cc6e5174.js +4 -0
- package/dist/ionic/p-cd582fdb.system.entry.js +4 -0
- package/dist/ionic/p-cd83e6cc.system.entry.js +4 -0
- package/dist/ionic/p-d0dedc45.entry.js +4 -0
- package/dist/ionic/p-d2405689.js +4 -0
- package/dist/ionic/p-d267077c.system.entry.js +4 -0
- package/dist/ionic/p-d34c3e77.js +4 -0
- package/dist/ionic/p-d7e0a42b.system.js +4 -0
- package/dist/ionic/p-d7fd994b.js +4 -0
- package/dist/ionic/p-d834e36b.entry.js +4 -0
- package/dist/ionic/p-d9bc4210.js +5 -0
- package/dist/ionic/p-dc3c3a0a.system.js +4 -0
- package/dist/ionic/p-dd54d07b.system.entry.js +4 -0
- package/dist/ionic/p-e171bd9c.system.js +4 -0
- package/dist/ionic/p-e1bc9a81.js +4 -0
- package/dist/ionic/p-e1c318e0.js +4 -0
- package/dist/ionic/p-e22f826b.system.entry.js +4 -0
- package/dist/ionic/p-e3f387af.system.js +4 -0
- package/dist/ionic/p-e4146230.system.entry.js +4 -0
- package/dist/ionic/p-e8b9a6b2.system.entry.js +4 -0
- package/dist/ionic/p-eb54056c.system.js +4 -0
- package/dist/ionic/p-ec8a20f7.system.entry.js +4 -0
- package/dist/ionic/p-ed70dec7.entry.js +4 -0
- package/dist/ionic/p-ee5049fd.entry.js +4 -0
- package/dist/ionic/p-ee9863ad.js +4 -0
- package/dist/ionic/p-f16ea33b.entry.js +4 -0
- package/dist/ionic/p-f3116c14.system.js +4 -0
- package/dist/ionic/p-f321535c.js +4 -0
- package/dist/ionic/p-f3c381f2.entry.js +4 -0
- package/dist/ionic/p-f484f0e1.system.entry.js +4 -0
- package/dist/ionic/p-f67dfe83.system.entry.js +4 -0
- package/dist/ionic/p-f6f393ee.system.entry.js +4 -0
- package/dist/ionic/p-f7515628.entry.js +4 -0
- package/dist/ionic/p-f810e0d3.js +4 -0
- package/dist/ionic/p-f9f3ef7c.system.js +4 -0
- package/dist/ionic/p-fa98c2a6.system.js +4 -0
- package/dist/ionic/p-fc2c5521.system.entry.js +4 -0
- package/dist/ionic/p-fc431180.entry.js +4 -0
- package/dist/ionic/p-fe01417c.js +4 -0
- package/dist/ionic/p-ffe2c670.js +4 -0
- package/dist/ionic/svg/accessibility-outline.svg +1 -0
- package/dist/ionic/svg/accessibility-sharp.svg +1 -0
- package/dist/ionic/svg/accessibility.svg +1 -0
- package/dist/ionic/svg/add-circle-outline.svg +1 -0
- package/dist/ionic/svg/add-circle-sharp.svg +1 -0
- package/dist/ionic/svg/add-circle.svg +1 -0
- package/dist/ionic/svg/add-outline.svg +1 -0
- package/dist/ionic/svg/add-sharp.svg +1 -0
- package/dist/ionic/svg/add.svg +1 -0
- package/dist/ionic/svg/airplane-outline.svg +1 -0
- package/dist/ionic/svg/airplane-sharp.svg +1 -0
- package/dist/ionic/svg/airplane.svg +1 -0
- package/dist/ionic/svg/alarm-outline.svg +1 -0
- package/dist/ionic/svg/alarm-sharp.svg +1 -0
- package/dist/ionic/svg/alarm.svg +1 -0
- package/dist/ionic/svg/albums-outline.svg +1 -0
- package/dist/ionic/svg/albums-sharp.svg +1 -0
- package/dist/ionic/svg/albums.svg +1 -0
- package/dist/ionic/svg/alert-circle-outline.svg +1 -0
- package/dist/ionic/svg/alert-circle-sharp.svg +1 -0
- package/dist/ionic/svg/alert-circle.svg +1 -0
- package/dist/ionic/svg/alert-outline.svg +1 -0
- package/dist/ionic/svg/alert-sharp.svg +1 -0
- package/dist/ionic/svg/alert.svg +1 -0
- package/dist/ionic/svg/american-football-outline.svg +1 -0
- package/dist/ionic/svg/american-football-sharp.svg +1 -0
- package/dist/ionic/svg/american-football.svg +1 -0
- package/dist/ionic/svg/analytics-outline.svg +1 -0
- package/dist/ionic/svg/analytics-sharp.svg +1 -0
- package/dist/ionic/svg/analytics.svg +1 -0
- package/dist/ionic/svg/aperture-outline.svg +1 -0
- package/dist/ionic/svg/aperture-sharp.svg +1 -0
- package/dist/ionic/svg/aperture.svg +1 -0
- package/dist/ionic/svg/apps-outline.svg +1 -0
- package/dist/ionic/svg/apps-sharp.svg +1 -0
- package/dist/ionic/svg/apps.svg +1 -0
- package/dist/ionic/svg/archive-outline.svg +1 -0
- package/dist/ionic/svg/archive-sharp.svg +1 -0
- package/dist/ionic/svg/archive.svg +1 -0
- package/dist/ionic/svg/arrow-back-circle-outline.svg +1 -0
- package/dist/ionic/svg/arrow-back-circle-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-back-circle.svg +1 -0
- package/dist/ionic/svg/arrow-back-outline.svg +1 -0
- package/dist/ionic/svg/arrow-back-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-back.svg +1 -0
- package/dist/ionic/svg/arrow-down-circle-outline.svg +1 -0
- package/dist/ionic/svg/arrow-down-circle-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-down-circle.svg +1 -0
- package/dist/ionic/svg/arrow-down-outline.svg +1 -0
- package/dist/ionic/svg/arrow-down-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-down.svg +1 -0
- package/dist/ionic/svg/arrow-forward-circle-outline.svg +1 -0
- package/dist/ionic/svg/arrow-forward-circle-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-forward-circle.svg +1 -0
- package/dist/ionic/svg/arrow-forward-outline.svg +1 -0
- package/dist/ionic/svg/arrow-forward-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-forward.svg +1 -0
- package/dist/ionic/svg/arrow-redo-circle-outline.svg +1 -0
- package/dist/ionic/svg/arrow-redo-circle-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-redo-circle.svg +1 -0
- package/dist/ionic/svg/arrow-redo-outline.svg +1 -0
- package/dist/ionic/svg/arrow-redo-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-redo.svg +1 -0
- package/dist/ionic/svg/arrow-undo-circle-outline.svg +1 -0
- package/dist/ionic/svg/arrow-undo-circle-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-undo-circle.svg +1 -0
- package/dist/ionic/svg/arrow-undo-outline.svg +1 -0
- package/dist/ionic/svg/arrow-undo-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-undo.svg +1 -0
- package/dist/ionic/svg/arrow-up-circle-outline.svg +1 -0
- package/dist/ionic/svg/arrow-up-circle-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-up-circle.svg +1 -0
- package/dist/ionic/svg/arrow-up-outline.svg +1 -0
- package/dist/ionic/svg/arrow-up-sharp.svg +1 -0
- package/dist/ionic/svg/arrow-up.svg +1 -0
- package/dist/ionic/svg/at-circle-outline.svg +1 -0
- package/dist/ionic/svg/at-circle-sharp.svg +1 -0
- package/dist/ionic/svg/at-circle.svg +1 -0
- package/dist/ionic/svg/at-outline.svg +1 -0
- package/dist/ionic/svg/at-sharp.svg +1 -0
- package/dist/ionic/svg/at.svg +1 -0
- package/dist/ionic/svg/attach-outline.svg +1 -0
- package/dist/ionic/svg/attach-sharp.svg +1 -0
- package/dist/ionic/svg/attach.svg +1 -0
- package/dist/ionic/svg/backspace-outline.svg +1 -0
- package/dist/ionic/svg/backspace-sharp.svg +1 -0
- package/dist/ionic/svg/backspace.svg +1 -0
- package/dist/ionic/svg/bag-add-outline.svg +1 -0
- package/dist/ionic/svg/bag-add-sharp.svg +1 -0
- package/dist/ionic/svg/bag-add.svg +1 -0
- package/dist/ionic/svg/bag-check-outline.svg +1 -0
- package/dist/ionic/svg/bag-check-sharp.svg +1 -0
- package/dist/ionic/svg/bag-check.svg +1 -0
- package/dist/ionic/svg/bag-handle-outline.svg +1 -0
- package/dist/ionic/svg/bag-handle-sharp.svg +1 -0
- package/dist/ionic/svg/bag-handle.svg +1 -0
- package/dist/ionic/svg/bag-outline.svg +1 -0
- package/dist/ionic/svg/bag-remove-outline.svg +1 -0
- package/dist/ionic/svg/bag-remove-sharp.svg +1 -0
- package/dist/ionic/svg/bag-remove.svg +1 -0
- package/dist/ionic/svg/bag-sharp.svg +1 -0
- package/dist/ionic/svg/bag.svg +1 -0
- package/dist/ionic/svg/balloon-outline.svg +1 -0
- package/dist/ionic/svg/balloon-sharp.svg +1 -0
- package/dist/ionic/svg/balloon.svg +1 -0
- package/dist/ionic/svg/ban-outline.svg +1 -0
- package/dist/ionic/svg/ban-sharp.svg +1 -0
- package/dist/ionic/svg/ban.svg +1 -0
- package/dist/ionic/svg/bandage-outline.svg +1 -0
- package/dist/ionic/svg/bandage-sharp.svg +1 -0
- package/dist/ionic/svg/bandage.svg +1 -0
- package/dist/ionic/svg/bar-chart-outline.svg +1 -0
- package/dist/ionic/svg/bar-chart-sharp.svg +1 -0
- package/dist/ionic/svg/bar-chart.svg +1 -0
- package/dist/ionic/svg/barbell-outline.svg +1 -0
- package/dist/ionic/svg/barbell-sharp.svg +1 -0
- package/dist/ionic/svg/barbell.svg +1 -0
- package/dist/ionic/svg/barcode-outline.svg +1 -0
- package/dist/ionic/svg/barcode-sharp.svg +1 -0
- package/dist/ionic/svg/barcode.svg +1 -0
- package/dist/ionic/svg/baseball-outline.svg +1 -0
- package/dist/ionic/svg/baseball-sharp.svg +1 -0
- package/dist/ionic/svg/baseball.svg +1 -0
- package/dist/ionic/svg/basket-outline.svg +1 -0
- package/dist/ionic/svg/basket-sharp.svg +1 -0
- package/dist/ionic/svg/basket.svg +1 -0
- package/dist/ionic/svg/basketball-outline.svg +1 -0
- package/dist/ionic/svg/basketball-sharp.svg +1 -0
- package/dist/ionic/svg/basketball.svg +1 -0
- package/dist/ionic/svg/battery-charging-outline.svg +1 -0
- package/dist/ionic/svg/battery-charging-sharp.svg +1 -0
- package/dist/ionic/svg/battery-charging.svg +1 -0
- package/dist/ionic/svg/battery-dead-outline.svg +1 -0
- package/dist/ionic/svg/battery-dead-sharp.svg +1 -0
- package/dist/ionic/svg/battery-dead.svg +1 -0
- package/dist/ionic/svg/battery-full-outline.svg +1 -0
- package/dist/ionic/svg/battery-full-sharp.svg +1 -0
- package/dist/ionic/svg/battery-full.svg +1 -0
- package/dist/ionic/svg/battery-half-outline.svg +1 -0
- package/dist/ionic/svg/battery-half-sharp.svg +1 -0
- package/dist/ionic/svg/battery-half.svg +1 -0
- package/dist/ionic/svg/beaker-outline.svg +1 -0
- package/dist/ionic/svg/beaker-sharp.svg +1 -0
- package/dist/ionic/svg/beaker.svg +1 -0
- package/dist/ionic/svg/bed-outline.svg +1 -0
- package/dist/ionic/svg/bed-sharp.svg +1 -0
- package/dist/ionic/svg/bed.svg +1 -0
- package/dist/ionic/svg/beer-outline.svg +1 -0
- package/dist/ionic/svg/beer-sharp.svg +1 -0
- package/dist/ionic/svg/beer.svg +1 -0
- package/dist/ionic/svg/bicycle-outline.svg +1 -0
- package/dist/ionic/svg/bicycle-sharp.svg +1 -0
- package/dist/ionic/svg/bicycle.svg +1 -0
- package/dist/ionic/svg/bluetooth-outline.svg +1 -0
- package/dist/ionic/svg/bluetooth-sharp.svg +1 -0
- package/dist/ionic/svg/bluetooth.svg +1 -0
- package/dist/ionic/svg/boat-outline.svg +1 -0
- package/dist/ionic/svg/boat-sharp.svg +1 -0
- package/dist/ionic/svg/boat.svg +1 -0
- package/dist/ionic/svg/body-outline.svg +1 -0
- package/dist/ionic/svg/body-sharp.svg +1 -0
- package/dist/ionic/svg/body.svg +1 -0
- package/dist/ionic/svg/bonfire-outline.svg +1 -0
- package/dist/ionic/svg/bonfire-sharp.svg +1 -0
- package/dist/ionic/svg/bonfire.svg +1 -0
- package/dist/ionic/svg/book-outline.svg +1 -0
- package/dist/ionic/svg/book-sharp.svg +1 -0
- package/dist/ionic/svg/book.svg +1 -0
- package/dist/ionic/svg/bookmark-outline.svg +1 -0
- package/dist/ionic/svg/bookmark-sharp.svg +1 -0
- package/dist/ionic/svg/bookmark.svg +1 -0
- package/dist/ionic/svg/bookmarks-outline.svg +1 -0
- package/dist/ionic/svg/bookmarks-sharp.svg +1 -0
- package/dist/ionic/svg/bookmarks.svg +1 -0
- package/dist/ionic/svg/bowling-ball-outline.svg +1 -0
- package/dist/ionic/svg/bowling-ball-sharp.svg +1 -0
- package/dist/ionic/svg/bowling-ball.svg +1 -0
- package/dist/ionic/svg/briefcase-outline.svg +1 -0
- package/dist/ionic/svg/briefcase-sharp.svg +1 -0
- package/dist/ionic/svg/briefcase.svg +1 -0
- package/dist/ionic/svg/browsers-outline.svg +1 -0
- package/dist/ionic/svg/browsers-sharp.svg +1 -0
- package/dist/ionic/svg/browsers.svg +1 -0
- package/dist/ionic/svg/brush-outline.svg +1 -0
- package/dist/ionic/svg/brush-sharp.svg +1 -0
- package/dist/ionic/svg/brush.svg +1 -0
- package/dist/ionic/svg/bug-outline.svg +1 -0
- package/dist/ionic/svg/bug-sharp.svg +1 -0
- package/dist/ionic/svg/bug.svg +1 -0
- package/dist/ionic/svg/build-outline.svg +1 -0
- package/dist/ionic/svg/build-sharp.svg +1 -0
- package/dist/ionic/svg/build.svg +1 -0
- package/dist/ionic/svg/bulb-outline.svg +1 -0
- package/dist/ionic/svg/bulb-sharp.svg +1 -0
- package/dist/ionic/svg/bulb.svg +1 -0
- package/dist/ionic/svg/bus-outline.svg +1 -0
- package/dist/ionic/svg/bus-sharp.svg +1 -0
- package/dist/ionic/svg/bus.svg +1 -0
- package/dist/ionic/svg/business-outline.svg +1 -0
- package/dist/ionic/svg/business-sharp.svg +1 -0
- package/dist/ionic/svg/business.svg +1 -0
- package/dist/ionic/svg/cafe-outline.svg +1 -0
- package/dist/ionic/svg/cafe-sharp.svg +1 -0
- package/dist/ionic/svg/cafe.svg +1 -0
- package/dist/ionic/svg/calculator-outline.svg +1 -0
- package/dist/ionic/svg/calculator-sharp.svg +1 -0
- package/dist/ionic/svg/calculator.svg +1 -0
- package/dist/ionic/svg/calendar-clear-outline.svg +1 -0
- package/dist/ionic/svg/calendar-clear-sharp.svg +1 -0
- package/dist/ionic/svg/calendar-clear.svg +1 -0
- package/dist/ionic/svg/calendar-number-outline.svg +1 -0
- package/dist/ionic/svg/calendar-number-sharp.svg +1 -0
- package/dist/ionic/svg/calendar-number.svg +1 -0
- package/dist/ionic/svg/calendar-outline.svg +1 -0
- package/dist/ionic/svg/calendar-sharp.svg +1 -0
- package/dist/ionic/svg/calendar.svg +1 -0
- package/dist/ionic/svg/call-outline.svg +1 -0
- package/dist/ionic/svg/call-sharp.svg +1 -0
- package/dist/ionic/svg/call.svg +1 -0
- package/dist/ionic/svg/camera-outline.svg +1 -0
- package/dist/ionic/svg/camera-reverse-outline.svg +1 -0
- package/dist/ionic/svg/camera-reverse-sharp.svg +1 -0
- package/dist/ionic/svg/camera-reverse.svg +1 -0
- package/dist/ionic/svg/camera-sharp.svg +1 -0
- package/dist/ionic/svg/camera.svg +1 -0
- package/dist/ionic/svg/car-outline.svg +1 -0
- package/dist/ionic/svg/car-sharp.svg +1 -0
- package/dist/ionic/svg/car-sport-outline.svg +1 -0
- package/dist/ionic/svg/car-sport-sharp.svg +1 -0
- package/dist/ionic/svg/car-sport.svg +1 -0
- package/dist/ionic/svg/car.svg +1 -0
- package/dist/ionic/svg/card-outline.svg +1 -0
- package/dist/ionic/svg/card-sharp.svg +1 -0
- package/dist/ionic/svg/card.svg +1 -0
- package/dist/ionic/svg/caret-back-circle-outline.svg +1 -0
- package/dist/ionic/svg/caret-back-circle-sharp.svg +1 -0
- package/dist/ionic/svg/caret-back-circle.svg +1 -0
- package/dist/ionic/svg/caret-back-outline.svg +1 -0
- package/dist/ionic/svg/caret-back-sharp.svg +1 -0
- package/dist/ionic/svg/caret-back.svg +1 -0
- package/dist/ionic/svg/caret-down-circle-outline.svg +1 -0
- package/dist/ionic/svg/caret-down-circle-sharp.svg +1 -0
- package/dist/ionic/svg/caret-down-circle.svg +1 -0
- package/dist/ionic/svg/caret-down-outline.svg +1 -0
- package/dist/ionic/svg/caret-down-sharp.svg +1 -0
- package/dist/ionic/svg/caret-down.svg +1 -0
- package/dist/ionic/svg/caret-forward-circle-outline.svg +1 -0
- package/dist/ionic/svg/caret-forward-circle-sharp.svg +1 -0
- package/dist/ionic/svg/caret-forward-circle.svg +1 -0
- package/dist/ionic/svg/caret-forward-outline.svg +1 -0
- package/dist/ionic/svg/caret-forward-sharp.svg +1 -0
- package/dist/ionic/svg/caret-forward.svg +1 -0
- package/dist/ionic/svg/caret-up-circle-outline.svg +1 -0
- package/dist/ionic/svg/caret-up-circle-sharp.svg +1 -0
- package/dist/ionic/svg/caret-up-circle.svg +1 -0
- package/dist/ionic/svg/caret-up-outline.svg +1 -0
- package/dist/ionic/svg/caret-up-sharp.svg +1 -0
- package/dist/ionic/svg/caret-up.svg +1 -0
- package/dist/ionic/svg/cart-outline.svg +1 -0
- package/dist/ionic/svg/cart-sharp.svg +1 -0
- package/dist/ionic/svg/cart.svg +1 -0
- package/dist/ionic/svg/cash-outline.svg +1 -0
- package/dist/ionic/svg/cash-sharp.svg +1 -0
- package/dist/ionic/svg/cash.svg +1 -0
- package/dist/ionic/svg/cellular-outline.svg +1 -0
- package/dist/ionic/svg/cellular-sharp.svg +1 -0
- package/dist/ionic/svg/cellular.svg +1 -0
- package/dist/ionic/svg/chatbox-ellipses-outline.svg +1 -0
- package/dist/ionic/svg/chatbox-ellipses-sharp.svg +1 -0
- package/dist/ionic/svg/chatbox-ellipses.svg +1 -0
- package/dist/ionic/svg/chatbox-outline.svg +1 -0
- package/dist/ionic/svg/chatbox-sharp.svg +1 -0
- package/dist/ionic/svg/chatbox.svg +1 -0
- package/dist/ionic/svg/chatbubble-ellipses-outline.svg +1 -0
- package/dist/ionic/svg/chatbubble-ellipses-sharp.svg +1 -0
- package/dist/ionic/svg/chatbubble-ellipses.svg +1 -0
- package/dist/ionic/svg/chatbubble-outline.svg +1 -0
- package/dist/ionic/svg/chatbubble-sharp.svg +1 -0
- package/dist/ionic/svg/chatbubble.svg +1 -0
- package/dist/ionic/svg/chatbubbles-outline.svg +1 -0
- package/dist/ionic/svg/chatbubbles-sharp.svg +1 -0
- package/dist/ionic/svg/chatbubbles.svg +1 -0
- package/dist/ionic/svg/checkbox-outline.svg +1 -0
- package/dist/ionic/svg/checkbox-sharp.svg +1 -0
- package/dist/ionic/svg/checkbox.svg +1 -0
- package/dist/ionic/svg/checkmark-circle-outline.svg +1 -0
- package/dist/ionic/svg/checkmark-circle-sharp.svg +1 -0
- package/dist/ionic/svg/checkmark-circle.svg +1 -0
- package/dist/ionic/svg/checkmark-done-circle-outline.svg +1 -0
- package/dist/ionic/svg/checkmark-done-circle-sharp.svg +1 -0
- package/dist/ionic/svg/checkmark-done-circle.svg +1 -0
- package/dist/ionic/svg/checkmark-done-outline.svg +1 -0
- package/dist/ionic/svg/checkmark-done-sharp.svg +1 -0
- package/dist/ionic/svg/checkmark-done.svg +1 -0
- package/dist/ionic/svg/checkmark-outline.svg +1 -0
- package/dist/ionic/svg/checkmark-sharp.svg +1 -0
- package/dist/ionic/svg/checkmark.svg +1 -0
- package/dist/ionic/svg/chevron-back-circle-outline.svg +1 -0
- package/dist/ionic/svg/chevron-back-circle-sharp.svg +1 -0
- package/dist/ionic/svg/chevron-back-circle.svg +1 -0
- package/dist/ionic/svg/chevron-back-outline.svg +1 -0
- package/dist/ionic/svg/chevron-back-sharp.svg +1 -0
- package/dist/ionic/svg/chevron-back.svg +1 -0
- package/dist/ionic/svg/chevron-collapse-outline.svg +1 -0
- package/dist/ionic/svg/chevron-collapse-sharp.svg +1 -0
- package/dist/ionic/svg/chevron-collapse.svg +1 -0
- package/dist/ionic/svg/chevron-down-circle-outline.svg +1 -0
- package/dist/ionic/svg/chevron-down-circle-sharp.svg +1 -0
- package/dist/ionic/svg/chevron-down-circle.svg +1 -0
- package/dist/ionic/svg/chevron-down-outline.svg +1 -0
- package/dist/ionic/svg/chevron-down-sharp.svg +1 -0
- package/dist/ionic/svg/chevron-down.svg +1 -0
- package/dist/ionic/svg/chevron-expand-outline.svg +1 -0
- package/dist/ionic/svg/chevron-expand-sharp.svg +1 -0
- package/dist/ionic/svg/chevron-expand.svg +1 -0
- package/dist/ionic/svg/chevron-forward-circle-outline.svg +1 -0
- package/dist/ionic/svg/chevron-forward-circle-sharp.svg +1 -0
- package/dist/ionic/svg/chevron-forward-circle.svg +1 -0
- package/dist/ionic/svg/chevron-forward-outline.svg +1 -0
- package/dist/ionic/svg/chevron-forward-sharp.svg +1 -0
- package/dist/ionic/svg/chevron-forward.svg +1 -0
- package/dist/ionic/svg/chevron-up-circle-outline.svg +1 -0
- package/dist/ionic/svg/chevron-up-circle-sharp.svg +1 -0
- package/dist/ionic/svg/chevron-up-circle.svg +1 -0
- package/dist/ionic/svg/chevron-up-outline.svg +1 -0
- package/dist/ionic/svg/chevron-up-sharp.svg +1 -0
- package/dist/ionic/svg/chevron-up.svg +1 -0
- package/dist/ionic/svg/clipboard-outline.svg +1 -0
- package/dist/ionic/svg/clipboard-sharp.svg +1 -0
- package/dist/ionic/svg/clipboard.svg +1 -0
- package/dist/ionic/svg/close-circle-outline.svg +1 -0
- package/dist/ionic/svg/close-circle-sharp.svg +1 -0
- package/dist/ionic/svg/close-circle.svg +1 -0
- package/dist/ionic/svg/close-outline.svg +1 -0
- package/dist/ionic/svg/close-sharp.svg +1 -0
- package/dist/ionic/svg/close.svg +1 -0
- package/dist/ionic/svg/cloud-circle-outline.svg +1 -0
- package/dist/ionic/svg/cloud-circle-sharp.svg +1 -0
- package/dist/ionic/svg/cloud-circle.svg +1 -0
- package/dist/ionic/svg/cloud-done-outline.svg +1 -0
- package/dist/ionic/svg/cloud-done-sharp.svg +1 -0
- package/dist/ionic/svg/cloud-done.svg +1 -0
- package/dist/ionic/svg/cloud-download-outline.svg +1 -0
- package/dist/ionic/svg/cloud-download-sharp.svg +1 -0
- package/dist/ionic/svg/cloud-download.svg +1 -0
- package/dist/ionic/svg/cloud-offline-outline.svg +1 -0
- package/dist/ionic/svg/cloud-offline-sharp.svg +1 -0
- package/dist/ionic/svg/cloud-offline.svg +1 -0
- package/dist/ionic/svg/cloud-outline.svg +1 -0
- package/dist/ionic/svg/cloud-sharp.svg +1 -0
- package/dist/ionic/svg/cloud-upload-outline.svg +1 -0
- package/dist/ionic/svg/cloud-upload-sharp.svg +1 -0
- package/dist/ionic/svg/cloud-upload.svg +1 -0
- package/dist/ionic/svg/cloud.svg +1 -0
- package/dist/ionic/svg/cloudy-night-outline.svg +1 -0
- package/dist/ionic/svg/cloudy-night-sharp.svg +1 -0
- package/dist/ionic/svg/cloudy-night.svg +1 -0
- package/dist/ionic/svg/cloudy-outline.svg +1 -0
- package/dist/ionic/svg/cloudy-sharp.svg +1 -0
- package/dist/ionic/svg/cloudy.svg +1 -0
- package/dist/ionic/svg/code-download-outline.svg +1 -0
- package/dist/ionic/svg/code-download-sharp.svg +1 -0
- package/dist/ionic/svg/code-download.svg +1 -0
- package/dist/ionic/svg/code-outline.svg +1 -0
- package/dist/ionic/svg/code-sharp.svg +1 -0
- package/dist/ionic/svg/code-slash-outline.svg +1 -0
- package/dist/ionic/svg/code-slash-sharp.svg +1 -0
- package/dist/ionic/svg/code-slash.svg +1 -0
- package/dist/ionic/svg/code-working-outline.svg +1 -0
- package/dist/ionic/svg/code-working-sharp.svg +1 -0
- package/dist/ionic/svg/code-working.svg +1 -0
- package/dist/ionic/svg/code.svg +1 -0
- package/dist/ionic/svg/cog-outline.svg +1 -0
- package/dist/ionic/svg/cog-sharp.svg +1 -0
- package/dist/ionic/svg/cog.svg +1 -0
- package/dist/ionic/svg/color-fill-outline.svg +1 -0
- package/dist/ionic/svg/color-fill-sharp.svg +1 -0
- package/dist/ionic/svg/color-fill.svg +1 -0
- package/dist/ionic/svg/color-filter-outline.svg +1 -0
- package/dist/ionic/svg/color-filter-sharp.svg +1 -0
- package/dist/ionic/svg/color-filter.svg +1 -0
- package/dist/ionic/svg/color-palette-outline.svg +1 -0
- package/dist/ionic/svg/color-palette-sharp.svg +1 -0
- package/dist/ionic/svg/color-palette.svg +1 -0
- package/dist/ionic/svg/color-wand-outline.svg +1 -0
- package/dist/ionic/svg/color-wand-sharp.svg +1 -0
- package/dist/ionic/svg/color-wand.svg +1 -0
- package/dist/ionic/svg/compass-outline.svg +1 -0
- package/dist/ionic/svg/compass-sharp.svg +1 -0
- package/dist/ionic/svg/compass.svg +1 -0
- package/dist/ionic/svg/construct-outline.svg +1 -0
- package/dist/ionic/svg/construct-sharp.svg +1 -0
- package/dist/ionic/svg/construct.svg +1 -0
- package/dist/ionic/svg/contract-outline.svg +1 -0
- package/dist/ionic/svg/contract-sharp.svg +1 -0
- package/dist/ionic/svg/contract.svg +1 -0
- package/dist/ionic/svg/contrast-outline.svg +1 -0
- package/dist/ionic/svg/contrast-sharp.svg +1 -0
- package/dist/ionic/svg/contrast.svg +1 -0
- package/dist/ionic/svg/copy-outline.svg +1 -0
- package/dist/ionic/svg/copy-sharp.svg +1 -0
- package/dist/ionic/svg/copy.svg +1 -0
- package/dist/ionic/svg/create-outline.svg +1 -0
- package/dist/ionic/svg/create-sharp.svg +1 -0
- package/dist/ionic/svg/create.svg +1 -0
- package/dist/ionic/svg/crop-outline.svg +1 -0
- package/dist/ionic/svg/crop-sharp.svg +1 -0
- package/dist/ionic/svg/crop.svg +1 -0
- package/dist/ionic/svg/cube-outline.svg +1 -0
- package/dist/ionic/svg/cube-sharp.svg +1 -0
- package/dist/ionic/svg/cube.svg +1 -0
- package/dist/ionic/svg/cut-outline.svg +1 -0
- package/dist/ionic/svg/cut-sharp.svg +1 -0
- package/dist/ionic/svg/cut.svg +1 -0
- package/dist/ionic/svg/desktop-outline.svg +1 -0
- package/dist/ionic/svg/desktop-sharp.svg +1 -0
- package/dist/ionic/svg/desktop.svg +1 -0
- package/dist/ionic/svg/diamond-outline.svg +1 -0
- package/dist/ionic/svg/diamond-sharp.svg +1 -0
- package/dist/ionic/svg/diamond.svg +1 -0
- package/dist/ionic/svg/dice-outline.svg +1 -0
- package/dist/ionic/svg/dice-sharp.svg +1 -0
- package/dist/ionic/svg/dice.svg +1 -0
- package/dist/ionic/svg/disc-outline.svg +1 -0
- package/dist/ionic/svg/disc-sharp.svg +1 -0
- package/dist/ionic/svg/disc.svg +1 -0
- package/dist/ionic/svg/document-attach-outline.svg +1 -0
- package/dist/ionic/svg/document-attach-sharp.svg +1 -0
- package/dist/ionic/svg/document-attach.svg +1 -0
- package/dist/ionic/svg/document-lock-outline.svg +1 -0
- package/dist/ionic/svg/document-lock-sharp.svg +1 -0
- package/dist/ionic/svg/document-lock.svg +1 -0
- package/dist/ionic/svg/document-outline.svg +1 -0
- package/dist/ionic/svg/document-sharp.svg +1 -0
- package/dist/ionic/svg/document-text-outline.svg +1 -0
- package/dist/ionic/svg/document-text-sharp.svg +1 -0
- package/dist/ionic/svg/document-text.svg +1 -0
- package/dist/ionic/svg/document.svg +1 -0
- package/dist/ionic/svg/documents-outline.svg +1 -0
- package/dist/ionic/svg/documents-sharp.svg +1 -0
- package/dist/ionic/svg/documents.svg +1 -0
- package/dist/ionic/svg/download-outline.svg +1 -0
- package/dist/ionic/svg/download-sharp.svg +1 -0
- package/dist/ionic/svg/download.svg +1 -0
- package/dist/ionic/svg/duplicate-outline.svg +1 -0
- package/dist/ionic/svg/duplicate-sharp.svg +1 -0
- package/dist/ionic/svg/duplicate.svg +1 -0
- package/dist/ionic/svg/ear-outline.svg +1 -0
- package/dist/ionic/svg/ear-sharp.svg +1 -0
- package/dist/ionic/svg/ear.svg +1 -0
- package/dist/ionic/svg/earth-outline.svg +1 -0
- package/dist/ionic/svg/earth-sharp.svg +1 -0
- package/dist/ionic/svg/earth.svg +1 -0
- package/dist/ionic/svg/easel-outline.svg +1 -0
- package/dist/ionic/svg/easel-sharp.svg +1 -0
- package/dist/ionic/svg/easel.svg +1 -0
- package/dist/ionic/svg/egg-outline.svg +1 -0
- package/dist/ionic/svg/egg-sharp.svg +1 -0
- package/dist/ionic/svg/egg.svg +1 -0
- package/dist/ionic/svg/ellipse-outline.svg +1 -0
- package/dist/ionic/svg/ellipse-sharp.svg +1 -0
- package/dist/ionic/svg/ellipse.svg +1 -0
- package/dist/ionic/svg/ellipsis-horizontal-circle-outline.svg +1 -0
- package/dist/ionic/svg/ellipsis-horizontal-circle-sharp.svg +1 -0
- package/dist/ionic/svg/ellipsis-horizontal-circle.svg +1 -0
- package/dist/ionic/svg/ellipsis-horizontal-outline.svg +1 -0
- package/dist/ionic/svg/ellipsis-horizontal-sharp.svg +1 -0
- package/dist/ionic/svg/ellipsis-horizontal.svg +1 -0
- package/dist/ionic/svg/ellipsis-vertical-circle-outline.svg +1 -0
- package/dist/ionic/svg/ellipsis-vertical-circle-sharp.svg +1 -0
- package/dist/ionic/svg/ellipsis-vertical-circle.svg +1 -0
- package/dist/ionic/svg/ellipsis-vertical-outline.svg +1 -0
- package/dist/ionic/svg/ellipsis-vertical-sharp.svg +1 -0
- package/dist/ionic/svg/ellipsis-vertical.svg +1 -0
- package/dist/ionic/svg/enter-outline.svg +1 -0
- package/dist/ionic/svg/enter-sharp.svg +1 -0
- package/dist/ionic/svg/enter.svg +1 -0
- package/dist/ionic/svg/exit-outline.svg +1 -0
- package/dist/ionic/svg/exit-sharp.svg +1 -0
- package/dist/ionic/svg/exit.svg +1 -0
- package/dist/ionic/svg/expand-outline.svg +1 -0
- package/dist/ionic/svg/expand-sharp.svg +1 -0
- package/dist/ionic/svg/expand.svg +1 -0
- package/dist/ionic/svg/extension-puzzle-outline.svg +1 -0
- package/dist/ionic/svg/extension-puzzle-sharp.svg +1 -0
- package/dist/ionic/svg/extension-puzzle.svg +1 -0
- package/dist/ionic/svg/eye-off-outline.svg +1 -0
- package/dist/ionic/svg/eye-off-sharp.svg +1 -0
- package/dist/ionic/svg/eye-off.svg +1 -0
- package/dist/ionic/svg/eye-outline.svg +1 -0
- package/dist/ionic/svg/eye-sharp.svg +1 -0
- package/dist/ionic/svg/eye.svg +1 -0
- package/dist/ionic/svg/eyedrop-outline.svg +1 -0
- package/dist/ionic/svg/eyedrop-sharp.svg +1 -0
- package/dist/ionic/svg/eyedrop.svg +1 -0
- package/dist/ionic/svg/fast-food-outline.svg +1 -0
- package/dist/ionic/svg/fast-food-sharp.svg +1 -0
- package/dist/ionic/svg/fast-food.svg +1 -0
- package/dist/ionic/svg/female-outline.svg +1 -0
- package/dist/ionic/svg/female-sharp.svg +1 -0
- package/dist/ionic/svg/female.svg +1 -0
- package/dist/ionic/svg/file-tray-full-outline.svg +1 -0
- package/dist/ionic/svg/file-tray-full-sharp.svg +1 -0
- package/dist/ionic/svg/file-tray-full.svg +1 -0
- package/dist/ionic/svg/file-tray-outline.svg +1 -0
- package/dist/ionic/svg/file-tray-sharp.svg +1 -0
- package/dist/ionic/svg/file-tray-stacked-outline.svg +1 -0
- package/dist/ionic/svg/file-tray-stacked-sharp.svg +1 -0
- package/dist/ionic/svg/file-tray-stacked.svg +1 -0
- package/dist/ionic/svg/file-tray.svg +1 -0
- package/dist/ionic/svg/film-outline.svg +1 -0
- package/dist/ionic/svg/film-sharp.svg +1 -0
- package/dist/ionic/svg/film.svg +1 -0
- package/dist/ionic/svg/filter-circle-outline.svg +1 -0
- package/dist/ionic/svg/filter-circle-sharp.svg +1 -0
- package/dist/ionic/svg/filter-circle.svg +1 -0
- package/dist/ionic/svg/filter-outline.svg +1 -0
- package/dist/ionic/svg/filter-sharp.svg +1 -0
- package/dist/ionic/svg/filter.svg +1 -0
- package/dist/ionic/svg/finger-print-outline.svg +1 -0
- package/dist/ionic/svg/finger-print-sharp.svg +1 -0
- package/dist/ionic/svg/finger-print.svg +1 -0
- package/dist/ionic/svg/fish-outline.svg +1 -0
- package/dist/ionic/svg/fish-sharp.svg +1 -0
- package/dist/ionic/svg/fish.svg +1 -0
- package/dist/ionic/svg/fitness-outline.svg +1 -0
- package/dist/ionic/svg/fitness-sharp.svg +1 -0
- package/dist/ionic/svg/fitness.svg +1 -0
- package/dist/ionic/svg/flag-outline.svg +1 -0
- package/dist/ionic/svg/flag-sharp.svg +1 -0
- package/dist/ionic/svg/flag.svg +1 -0
- package/dist/ionic/svg/flame-outline.svg +1 -0
- package/dist/ionic/svg/flame-sharp.svg +1 -0
- package/dist/ionic/svg/flame.svg +1 -0
- package/dist/ionic/svg/flash-off-outline.svg +1 -0
- package/dist/ionic/svg/flash-off-sharp.svg +1 -0
- package/dist/ionic/svg/flash-off.svg +1 -0
- package/dist/ionic/svg/flash-outline.svg +1 -0
- package/dist/ionic/svg/flash-sharp.svg +1 -0
- package/dist/ionic/svg/flash.svg +1 -0
- package/dist/ionic/svg/flashlight-outline.svg +1 -0
- package/dist/ionic/svg/flashlight-sharp.svg +1 -0
- package/dist/ionic/svg/flashlight.svg +1 -0
- package/dist/ionic/svg/flask-outline.svg +1 -0
- package/dist/ionic/svg/flask-sharp.svg +1 -0
- package/dist/ionic/svg/flask.svg +1 -0
- package/dist/ionic/svg/flower-outline.svg +1 -0
- package/dist/ionic/svg/flower-sharp.svg +1 -0
- package/dist/ionic/svg/flower.svg +1 -0
- package/dist/ionic/svg/folder-open-outline.svg +1 -0
- package/dist/ionic/svg/folder-open-sharp.svg +1 -0
- package/dist/ionic/svg/folder-open.svg +1 -0
- package/dist/ionic/svg/folder-outline.svg +1 -0
- package/dist/ionic/svg/folder-sharp.svg +1 -0
- package/dist/ionic/svg/folder.svg +1 -0
- package/dist/ionic/svg/football-outline.svg +1 -0
- package/dist/ionic/svg/football-sharp.svg +1 -0
- package/dist/ionic/svg/football.svg +1 -0
- package/dist/ionic/svg/footsteps-outline.svg +1 -0
- package/dist/ionic/svg/footsteps-sharp.svg +1 -0
- package/dist/ionic/svg/footsteps.svg +1 -0
- package/dist/ionic/svg/funnel-outline.svg +1 -0
- package/dist/ionic/svg/funnel-sharp.svg +1 -0
- package/dist/ionic/svg/funnel.svg +1 -0
- package/dist/ionic/svg/game-controller-outline.svg +1 -0
- package/dist/ionic/svg/game-controller-sharp.svg +1 -0
- package/dist/ionic/svg/game-controller.svg +1 -0
- package/dist/ionic/svg/gift-outline.svg +1 -0
- package/dist/ionic/svg/gift-sharp.svg +1 -0
- package/dist/ionic/svg/gift.svg +1 -0
- package/dist/ionic/svg/git-branch-outline.svg +1 -0
- package/dist/ionic/svg/git-branch-sharp.svg +1 -0
- package/dist/ionic/svg/git-branch.svg +1 -0
- package/dist/ionic/svg/git-commit-outline.svg +1 -0
- package/dist/ionic/svg/git-commit-sharp.svg +1 -0
- package/dist/ionic/svg/git-commit.svg +1 -0
- package/dist/ionic/svg/git-compare-outline.svg +1 -0
- package/dist/ionic/svg/git-compare-sharp.svg +1 -0
- package/dist/ionic/svg/git-compare.svg +1 -0
- package/dist/ionic/svg/git-merge-outline.svg +1 -0
- package/dist/ionic/svg/git-merge-sharp.svg +1 -0
- package/dist/ionic/svg/git-merge.svg +1 -0
- package/dist/ionic/svg/git-network-outline.svg +1 -0
- package/dist/ionic/svg/git-network-sharp.svg +1 -0
- package/dist/ionic/svg/git-network.svg +1 -0
- package/dist/ionic/svg/git-pull-request-outline.svg +1 -0
- package/dist/ionic/svg/git-pull-request-sharp.svg +1 -0
- package/dist/ionic/svg/git-pull-request.svg +1 -0
- package/dist/ionic/svg/glasses-outline.svg +1 -0
- package/dist/ionic/svg/glasses-sharp.svg +1 -0
- package/dist/ionic/svg/glasses.svg +1 -0
- package/dist/ionic/svg/globe-outline.svg +1 -0
- package/dist/ionic/svg/globe-sharp.svg +1 -0
- package/dist/ionic/svg/globe.svg +1 -0
- package/dist/ionic/svg/golf-outline.svg +1 -0
- package/dist/ionic/svg/golf-sharp.svg +1 -0
- package/dist/ionic/svg/golf.svg +1 -0
- package/dist/ionic/svg/grid-outline.svg +1 -0
- package/dist/ionic/svg/grid-sharp.svg +1 -0
- package/dist/ionic/svg/grid.svg +1 -0
- package/dist/ionic/svg/hammer-outline.svg +1 -0
- package/dist/ionic/svg/hammer-sharp.svg +1 -0
- package/dist/ionic/svg/hammer.svg +1 -0
- package/dist/ionic/svg/hand-left-outline.svg +1 -0
- package/dist/ionic/svg/hand-left-sharp.svg +1 -0
- package/dist/ionic/svg/hand-left.svg +1 -0
- package/dist/ionic/svg/hand-right-outline.svg +1 -0
- package/dist/ionic/svg/hand-right-sharp.svg +1 -0
- package/dist/ionic/svg/hand-right.svg +1 -0
- package/dist/ionic/svg/happy-outline.svg +1 -0
- package/dist/ionic/svg/happy-sharp.svg +1 -0
- package/dist/ionic/svg/happy.svg +1 -0
- package/dist/ionic/svg/hardware-chip-outline.svg +1 -0
- package/dist/ionic/svg/hardware-chip-sharp.svg +1 -0
- package/dist/ionic/svg/hardware-chip.svg +1 -0
- package/dist/ionic/svg/headset-outline.svg +1 -0
- package/dist/ionic/svg/headset-sharp.svg +1 -0
- package/dist/ionic/svg/headset.svg +1 -0
- package/dist/ionic/svg/heart-circle-outline.svg +1 -0
- package/dist/ionic/svg/heart-circle-sharp.svg +1 -0
- package/dist/ionic/svg/heart-circle.svg +1 -0
- package/dist/ionic/svg/heart-dislike-circle-outline.svg +1 -0
- package/dist/ionic/svg/heart-dislike-circle-sharp.svg +1 -0
- package/dist/ionic/svg/heart-dislike-circle.svg +1 -0
- package/dist/ionic/svg/heart-dislike-outline.svg +1 -0
- package/dist/ionic/svg/heart-dislike-sharp.svg +1 -0
- package/dist/ionic/svg/heart-dislike.svg +1 -0
- package/dist/ionic/svg/heart-half-outline.svg +1 -0
- package/dist/ionic/svg/heart-half-sharp.svg +1 -0
- package/dist/ionic/svg/heart-half.svg +1 -0
- package/dist/ionic/svg/heart-outline.svg +1 -0
- package/dist/ionic/svg/heart-sharp.svg +1 -0
- package/dist/ionic/svg/heart.svg +1 -0
- package/dist/ionic/svg/help-buoy-outline.svg +1 -0
- package/dist/ionic/svg/help-buoy-sharp.svg +1 -0
- package/dist/ionic/svg/help-buoy.svg +1 -0
- package/dist/ionic/svg/help-circle-outline.svg +1 -0
- package/dist/ionic/svg/help-circle-sharp.svg +1 -0
- package/dist/ionic/svg/help-circle.svg +1 -0
- package/dist/ionic/svg/help-outline.svg +1 -0
- package/dist/ionic/svg/help-sharp.svg +1 -0
- package/dist/ionic/svg/help.svg +1 -0
- package/dist/ionic/svg/home-outline.svg +1 -0
- package/dist/ionic/svg/home-sharp.svg +1 -0
- package/dist/ionic/svg/home.svg +1 -0
- package/dist/ionic/svg/hourglass-outline.svg +1 -0
- package/dist/ionic/svg/hourglass-sharp.svg +1 -0
- package/dist/ionic/svg/hourglass.svg +1 -0
- package/dist/ionic/svg/ice-cream-outline.svg +1 -0
- package/dist/ionic/svg/ice-cream-sharp.svg +1 -0
- package/dist/ionic/svg/ice-cream.svg +1 -0
- package/dist/ionic/svg/id-card-outline.svg +1 -0
- package/dist/ionic/svg/id-card-sharp.svg +1 -0
- package/dist/ionic/svg/id-card.svg +1 -0
- package/dist/ionic/svg/image-outline.svg +1 -0
- package/dist/ionic/svg/image-sharp.svg +1 -0
- package/dist/ionic/svg/image.svg +1 -0
- package/dist/ionic/svg/images-outline.svg +1 -0
- package/dist/ionic/svg/images-sharp.svg +1 -0
- package/dist/ionic/svg/images.svg +1 -0
- package/dist/ionic/svg/infinite-outline.svg +1 -0
- package/dist/ionic/svg/infinite-sharp.svg +1 -0
- package/dist/ionic/svg/infinite.svg +1 -0
- package/dist/ionic/svg/information-circle-outline.svg +1 -0
- package/dist/ionic/svg/information-circle-sharp.svg +1 -0
- package/dist/ionic/svg/information-circle.svg +1 -0
- package/dist/ionic/svg/information-outline.svg +1 -0
- package/dist/ionic/svg/information-sharp.svg +1 -0
- package/dist/ionic/svg/information.svg +1 -0
- package/dist/ionic/svg/invert-mode-outline.svg +1 -0
- package/dist/ionic/svg/invert-mode-sharp.svg +1 -0
- package/dist/ionic/svg/invert-mode.svg +1 -0
- package/dist/ionic/svg/journal-outline.svg +1 -0
- package/dist/ionic/svg/journal-sharp.svg +1 -0
- package/dist/ionic/svg/journal.svg +1 -0
- package/dist/ionic/svg/key-outline.svg +1 -0
- package/dist/ionic/svg/key-sharp.svg +1 -0
- package/dist/ionic/svg/key.svg +1 -0
- package/dist/ionic/svg/keypad-outline.svg +1 -0
- package/dist/ionic/svg/keypad-sharp.svg +1 -0
- package/dist/ionic/svg/keypad.svg +1 -0
- package/dist/ionic/svg/language-outline.svg +1 -0
- package/dist/ionic/svg/language-sharp.svg +1 -0
- package/dist/ionic/svg/language.svg +1 -0
- package/dist/ionic/svg/laptop-outline.svg +1 -0
- package/dist/ionic/svg/laptop-sharp.svg +1 -0
- package/dist/ionic/svg/laptop.svg +1 -0
- package/dist/ionic/svg/layers-outline.svg +1 -0
- package/dist/ionic/svg/layers-sharp.svg +1 -0
- package/dist/ionic/svg/layers.svg +1 -0
- package/dist/ionic/svg/leaf-outline.svg +1 -0
- package/dist/ionic/svg/leaf-sharp.svg +1 -0
- package/dist/ionic/svg/leaf.svg +1 -0
- package/dist/ionic/svg/library-outline.svg +1 -0
- package/dist/ionic/svg/library-sharp.svg +1 -0
- package/dist/ionic/svg/library.svg +1 -0
- package/dist/ionic/svg/link-outline.svg +1 -0
- package/dist/ionic/svg/link-sharp.svg +1 -0
- package/dist/ionic/svg/link.svg +1 -0
- package/dist/ionic/svg/list-circle-outline.svg +1 -0
- package/dist/ionic/svg/list-circle-sharp.svg +1 -0
- package/dist/ionic/svg/list-circle.svg +1 -0
- package/dist/ionic/svg/list-outline.svg +1 -0
- package/dist/ionic/svg/list-sharp.svg +1 -0
- package/dist/ionic/svg/list.svg +1 -0
- package/dist/ionic/svg/locate-outline.svg +1 -0
- package/dist/ionic/svg/locate-sharp.svg +1 -0
- package/dist/ionic/svg/locate.svg +1 -0
- package/dist/ionic/svg/location-outline.svg +1 -0
- package/dist/ionic/svg/location-sharp.svg +1 -0
- package/dist/ionic/svg/location.svg +1 -0
- package/dist/ionic/svg/lock-closed-outline.svg +1 -0
- package/dist/ionic/svg/lock-closed-sharp.svg +1 -0
- package/dist/ionic/svg/lock-closed.svg +1 -0
- package/dist/ionic/svg/lock-open-outline.svg +1 -0
- package/dist/ionic/svg/lock-open-sharp.svg +1 -0
- package/dist/ionic/svg/lock-open.svg +1 -0
- package/dist/ionic/svg/log-in-outline.svg +1 -0
- package/dist/ionic/svg/log-in-sharp.svg +1 -0
- package/dist/ionic/svg/log-in.svg +1 -0
- package/dist/ionic/svg/log-out-outline.svg +1 -0
- package/dist/ionic/svg/log-out-sharp.svg +1 -0
- package/dist/ionic/svg/log-out.svg +1 -0
- package/dist/ionic/svg/logo-alipay.svg +1 -0
- package/dist/ionic/svg/logo-amazon.svg +1 -0
- package/dist/ionic/svg/logo-amplify.svg +1 -0
- package/dist/ionic/svg/logo-android.svg +1 -0
- package/dist/ionic/svg/logo-angular.svg +1 -0
- package/dist/ionic/svg/logo-apple-appstore.svg +1 -0
- package/dist/ionic/svg/logo-apple-ar.svg +1 -0
- package/dist/ionic/svg/logo-apple.svg +1 -0
- package/dist/ionic/svg/logo-behance.svg +1 -0
- package/dist/ionic/svg/logo-bitbucket.svg +1 -0
- package/dist/ionic/svg/logo-bitcoin.svg +1 -0
- package/dist/ionic/svg/logo-buffer.svg +1 -0
- package/dist/ionic/svg/logo-capacitor.svg +1 -0
- package/dist/ionic/svg/logo-chrome.svg +1 -0
- package/dist/ionic/svg/logo-closed-captioning.svg +1 -0
- package/dist/ionic/svg/logo-codepen.svg +1 -0
- package/dist/ionic/svg/logo-css3.svg +1 -0
- package/dist/ionic/svg/logo-designernews.svg +1 -0
- package/dist/ionic/svg/logo-deviantart.svg +1 -0
- package/dist/ionic/svg/logo-discord.svg +1 -0
- package/dist/ionic/svg/logo-docker.svg +1 -0
- package/dist/ionic/svg/logo-dribbble.svg +1 -0
- package/dist/ionic/svg/logo-dropbox.svg +1 -0
- package/dist/ionic/svg/logo-edge.svg +1 -0
- package/dist/ionic/svg/logo-electron.svg +1 -0
- package/dist/ionic/svg/logo-euro.svg +1 -0
- package/dist/ionic/svg/logo-facebook.svg +1 -0
- package/dist/ionic/svg/logo-figma.svg +1 -0
- package/dist/ionic/svg/logo-firebase.svg +1 -0
- package/dist/ionic/svg/logo-firefox.svg +1 -0
- package/dist/ionic/svg/logo-flickr.svg +1 -0
- package/dist/ionic/svg/logo-foursquare.svg +1 -0
- package/dist/ionic/svg/logo-github.svg +1 -0
- package/dist/ionic/svg/logo-gitlab.svg +1 -0
- package/dist/ionic/svg/logo-google-playstore.svg +1 -0
- package/dist/ionic/svg/logo-google.svg +1 -0
- package/dist/ionic/svg/logo-hackernews.svg +1 -0
- package/dist/ionic/svg/logo-html5.svg +1 -0
- package/dist/ionic/svg/logo-instagram.svg +1 -0
- package/dist/ionic/svg/logo-ionic.svg +1 -0
- package/dist/ionic/svg/logo-ionitron.svg +1 -0
- package/dist/ionic/svg/logo-javascript.svg +1 -0
- package/dist/ionic/svg/logo-laravel.svg +1 -0
- package/dist/ionic/svg/logo-linkedin.svg +1 -0
- package/dist/ionic/svg/logo-markdown.svg +1 -0
- package/dist/ionic/svg/logo-mastodon.svg +1 -0
- package/dist/ionic/svg/logo-medium.svg +1 -0
- package/dist/ionic/svg/logo-microsoft.svg +1 -0
- package/dist/ionic/svg/logo-no-smoking.svg +1 -0
- package/dist/ionic/svg/logo-nodejs.svg +1 -0
- package/dist/ionic/svg/logo-npm.svg +1 -0
- package/dist/ionic/svg/logo-octocat.svg +1 -0
- package/dist/ionic/svg/logo-paypal.svg +1 -0
- package/dist/ionic/svg/logo-pinterest.svg +1 -0
- package/dist/ionic/svg/logo-playstation.svg +1 -0
- package/dist/ionic/svg/logo-pwa.svg +1 -0
- package/dist/ionic/svg/logo-python.svg +1 -0
- package/dist/ionic/svg/logo-react.svg +1 -0
- package/dist/ionic/svg/logo-reddit.svg +1 -0
- package/dist/ionic/svg/logo-rss.svg +1 -0
- package/dist/ionic/svg/logo-sass.svg +1 -0
- package/dist/ionic/svg/logo-skype.svg +1 -0
- package/dist/ionic/svg/logo-slack.svg +1 -0
- package/dist/ionic/svg/logo-snapchat.svg +1 -0
- package/dist/ionic/svg/logo-soundcloud.svg +1 -0
- package/dist/ionic/svg/logo-stackoverflow.svg +1 -0
- package/dist/ionic/svg/logo-steam.svg +1 -0
- package/dist/ionic/svg/logo-stencil.svg +1 -0
- package/dist/ionic/svg/logo-tableau.svg +1 -0
- package/dist/ionic/svg/logo-tiktok.svg +1 -0
- package/dist/ionic/svg/logo-tumblr.svg +1 -0
- package/dist/ionic/svg/logo-tux.svg +1 -0
- package/dist/ionic/svg/logo-twitch.svg +1 -0
- package/dist/ionic/svg/logo-twitter.svg +1 -0
- package/dist/ionic/svg/logo-usd.svg +1 -0
- package/dist/ionic/svg/logo-venmo.svg +1 -0
- package/dist/ionic/svg/logo-vercel.svg +1 -0
- package/dist/ionic/svg/logo-vimeo.svg +1 -0
- package/dist/ionic/svg/logo-vk.svg +1 -0
- package/dist/ionic/svg/logo-vue.svg +1 -0
- package/dist/ionic/svg/logo-web-component.svg +1 -0
- package/dist/ionic/svg/logo-wechat.svg +1 -0
- package/dist/ionic/svg/logo-whatsapp.svg +1 -0
- package/dist/ionic/svg/logo-windows.svg +1 -0
- package/dist/ionic/svg/logo-wordpress.svg +1 -0
- package/dist/ionic/svg/logo-xbox.svg +1 -0
- package/dist/ionic/svg/logo-xing.svg +1 -0
- package/dist/ionic/svg/logo-yahoo.svg +1 -0
- package/dist/ionic/svg/logo-yen.svg +1 -0
- package/dist/ionic/svg/logo-youtube.svg +1 -0
- package/dist/ionic/svg/magnet-outline.svg +1 -0
- package/dist/ionic/svg/magnet-sharp.svg +1 -0
- package/dist/ionic/svg/magnet.svg +1 -0
- package/dist/ionic/svg/mail-open-outline.svg +1 -0
- package/dist/ionic/svg/mail-open-sharp.svg +1 -0
- package/dist/ionic/svg/mail-open.svg +1 -0
- package/dist/ionic/svg/mail-outline.svg +1 -0
- package/dist/ionic/svg/mail-sharp.svg +1 -0
- package/dist/ionic/svg/mail-unread-outline.svg +1 -0
- package/dist/ionic/svg/mail-unread-sharp.svg +1 -0
- package/dist/ionic/svg/mail-unread.svg +1 -0
- package/dist/ionic/svg/mail.svg +1 -0
- package/dist/ionic/svg/male-female-outline.svg +1 -0
- package/dist/ionic/svg/male-female-sharp.svg +1 -0
- package/dist/ionic/svg/male-female.svg +1 -0
- package/dist/ionic/svg/male-outline.svg +1 -0
- package/dist/ionic/svg/male-sharp.svg +1 -0
- package/dist/ionic/svg/male.svg +1 -0
- package/dist/ionic/svg/man-outline.svg +1 -0
- package/dist/ionic/svg/man-sharp.svg +1 -0
- package/dist/ionic/svg/man.svg +1 -0
- package/dist/ionic/svg/map-outline.svg +1 -0
- package/dist/ionic/svg/map-sharp.svg +1 -0
- package/dist/ionic/svg/map.svg +1 -0
- package/dist/ionic/svg/medal-outline.svg +1 -0
- package/dist/ionic/svg/medal-sharp.svg +1 -0
- package/dist/ionic/svg/medal.svg +1 -0
- package/dist/ionic/svg/medical-outline.svg +1 -0
- package/dist/ionic/svg/medical-sharp.svg +1 -0
- package/dist/ionic/svg/medical.svg +1 -0
- package/dist/ionic/svg/medkit-outline.svg +1 -0
- package/dist/ionic/svg/medkit-sharp.svg +1 -0
- package/dist/ionic/svg/medkit.svg +1 -0
- package/dist/ionic/svg/megaphone-outline.svg +1 -0
- package/dist/ionic/svg/megaphone-sharp.svg +1 -0
- package/dist/ionic/svg/megaphone.svg +1 -0
- package/dist/ionic/svg/menu-outline.svg +1 -0
- package/dist/ionic/svg/menu-sharp.svg +1 -0
- package/dist/ionic/svg/menu.svg +1 -0
- package/dist/ionic/svg/mic-circle-outline.svg +1 -0
- package/dist/ionic/svg/mic-circle-sharp.svg +1 -0
- package/dist/ionic/svg/mic-circle.svg +1 -0
- package/dist/ionic/svg/mic-off-circle-outline.svg +1 -0
- package/dist/ionic/svg/mic-off-circle-sharp.svg +1 -0
- package/dist/ionic/svg/mic-off-circle.svg +1 -0
- package/dist/ionic/svg/mic-off-outline.svg +1 -0
- package/dist/ionic/svg/mic-off-sharp.svg +1 -0
- package/dist/ionic/svg/mic-off.svg +1 -0
- package/dist/ionic/svg/mic-outline.svg +1 -0
- package/dist/ionic/svg/mic-sharp.svg +1 -0
- package/dist/ionic/svg/mic.svg +1 -0
- package/dist/ionic/svg/moon-outline.svg +1 -0
- package/dist/ionic/svg/moon-sharp.svg +1 -0
- package/dist/ionic/svg/moon.svg +1 -0
- package/dist/ionic/svg/move-outline.svg +1 -0
- package/dist/ionic/svg/move-sharp.svg +1 -0
- package/dist/ionic/svg/move.svg +1 -0
- package/dist/ionic/svg/musical-note-outline.svg +1 -0
- package/dist/ionic/svg/musical-note-sharp.svg +1 -0
- package/dist/ionic/svg/musical-note.svg +1 -0
- package/dist/ionic/svg/musical-notes-outline.svg +1 -0
- package/dist/ionic/svg/musical-notes-sharp.svg +1 -0
- package/dist/ionic/svg/musical-notes.svg +1 -0
- package/dist/ionic/svg/navigate-circle-outline.svg +1 -0
- package/dist/ionic/svg/navigate-circle-sharp.svg +1 -0
- package/dist/ionic/svg/navigate-circle.svg +1 -0
- package/dist/ionic/svg/navigate-outline.svg +1 -0
- package/dist/ionic/svg/navigate-sharp.svg +1 -0
- package/dist/ionic/svg/navigate.svg +1 -0
- package/dist/ionic/svg/newspaper-outline.svg +1 -0
- package/dist/ionic/svg/newspaper-sharp.svg +1 -0
- package/dist/ionic/svg/newspaper.svg +1 -0
- package/dist/ionic/svg/notifications-circle-outline.svg +1 -0
- package/dist/ionic/svg/notifications-circle-sharp.svg +1 -0
- package/dist/ionic/svg/notifications-circle.svg +1 -0
- package/dist/ionic/svg/notifications-off-circle-outline.svg +1 -0
- package/dist/ionic/svg/notifications-off-circle-sharp.svg +1 -0
- package/dist/ionic/svg/notifications-off-circle.svg +1 -0
- package/dist/ionic/svg/notifications-off-outline.svg +1 -0
- package/dist/ionic/svg/notifications-off-sharp.svg +1 -0
- package/dist/ionic/svg/notifications-off.svg +1 -0
- package/dist/ionic/svg/notifications-outline.svg +1 -0
- package/dist/ionic/svg/notifications-sharp.svg +1 -0
- package/dist/ionic/svg/notifications.svg +1 -0
- package/dist/ionic/svg/nuclear-outline.svg +1 -0
- package/dist/ionic/svg/nuclear-sharp.svg +1 -0
- package/dist/ionic/svg/nuclear.svg +1 -0
- package/dist/ionic/svg/nutrition-outline.svg +1 -0
- package/dist/ionic/svg/nutrition-sharp.svg +1 -0
- package/dist/ionic/svg/nutrition.svg +1 -0
- package/dist/ionic/svg/open-outline.svg +1 -0
- package/dist/ionic/svg/open-sharp.svg +1 -0
- package/dist/ionic/svg/open.svg +1 -0
- package/dist/ionic/svg/options-outline.svg +1 -0
- package/dist/ionic/svg/options-sharp.svg +1 -0
- package/dist/ionic/svg/options.svg +1 -0
- package/dist/ionic/svg/paper-plane-outline.svg +1 -0
- package/dist/ionic/svg/paper-plane-sharp.svg +1 -0
- package/dist/ionic/svg/paper-plane.svg +1 -0
- package/dist/ionic/svg/partly-sunny-outline.svg +1 -0
- package/dist/ionic/svg/partly-sunny-sharp.svg +1 -0
- package/dist/ionic/svg/partly-sunny.svg +1 -0
- package/dist/ionic/svg/pause-circle-outline.svg +1 -0
- package/dist/ionic/svg/pause-circle-sharp.svg +1 -0
- package/dist/ionic/svg/pause-circle.svg +1 -0
- package/dist/ionic/svg/pause-outline.svg +1 -0
- package/dist/ionic/svg/pause-sharp.svg +1 -0
- package/dist/ionic/svg/pause.svg +1 -0
- package/dist/ionic/svg/paw-outline.svg +1 -0
- package/dist/ionic/svg/paw-sharp.svg +1 -0
- package/dist/ionic/svg/paw.svg +1 -0
- package/dist/ionic/svg/pencil-outline.svg +1 -0
- package/dist/ionic/svg/pencil-sharp.svg +1 -0
- package/dist/ionic/svg/pencil.svg +1 -0
- package/dist/ionic/svg/people-circle-outline.svg +1 -0
- package/dist/ionic/svg/people-circle-sharp.svg +1 -0
- package/dist/ionic/svg/people-circle.svg +1 -0
- package/dist/ionic/svg/people-outline.svg +1 -0
- package/dist/ionic/svg/people-sharp.svg +1 -0
- package/dist/ionic/svg/people.svg +1 -0
- package/dist/ionic/svg/person-add-outline.svg +1 -0
- package/dist/ionic/svg/person-add-sharp.svg +1 -0
- package/dist/ionic/svg/person-add.svg +1 -0
- package/dist/ionic/svg/person-circle-outline.svg +1 -0
- package/dist/ionic/svg/person-circle-sharp.svg +1 -0
- package/dist/ionic/svg/person-circle.svg +1 -0
- package/dist/ionic/svg/person-outline.svg +1 -0
- package/dist/ionic/svg/person-remove-outline.svg +1 -0
- package/dist/ionic/svg/person-remove-sharp.svg +1 -0
- package/dist/ionic/svg/person-remove.svg +1 -0
- package/dist/ionic/svg/person-sharp.svg +1 -0
- package/dist/ionic/svg/person.svg +1 -0
- package/dist/ionic/svg/phone-landscape-outline.svg +1 -0
- package/dist/ionic/svg/phone-landscape-sharp.svg +1 -0
- package/dist/ionic/svg/phone-landscape.svg +1 -0
- package/dist/ionic/svg/phone-portrait-outline.svg +1 -0
- package/dist/ionic/svg/phone-portrait-sharp.svg +1 -0
- package/dist/ionic/svg/phone-portrait.svg +1 -0
- package/dist/ionic/svg/pie-chart-outline.svg +1 -0
- package/dist/ionic/svg/pie-chart-sharp.svg +1 -0
- package/dist/ionic/svg/pie-chart.svg +1 -0
- package/dist/ionic/svg/pin-outline.svg +1 -0
- package/dist/ionic/svg/pin-sharp.svg +1 -0
- package/dist/ionic/svg/pin.svg +1 -0
- package/dist/ionic/svg/pint-outline.svg +1 -0
- package/dist/ionic/svg/pint-sharp.svg +1 -0
- package/dist/ionic/svg/pint.svg +1 -0
- package/dist/ionic/svg/pizza-outline.svg +1 -0
- package/dist/ionic/svg/pizza-sharp.svg +1 -0
- package/dist/ionic/svg/pizza.svg +1 -0
- package/dist/ionic/svg/planet-outline.svg +1 -0
- package/dist/ionic/svg/planet-sharp.svg +1 -0
- package/dist/ionic/svg/planet.svg +1 -0
- package/dist/ionic/svg/play-back-circle-outline.svg +1 -0
- package/dist/ionic/svg/play-back-circle-sharp.svg +1 -0
- package/dist/ionic/svg/play-back-circle.svg +1 -0
- package/dist/ionic/svg/play-back-outline.svg +1 -0
- package/dist/ionic/svg/play-back-sharp.svg +1 -0
- package/dist/ionic/svg/play-back.svg +1 -0
- package/dist/ionic/svg/play-circle-outline.svg +1 -0
- package/dist/ionic/svg/play-circle-sharp.svg +1 -0
- package/dist/ionic/svg/play-circle.svg +1 -0
- package/dist/ionic/svg/play-forward-circle-outline.svg +1 -0
- package/dist/ionic/svg/play-forward-circle-sharp.svg +1 -0
- package/dist/ionic/svg/play-forward-circle.svg +1 -0
- package/dist/ionic/svg/play-forward-outline.svg +1 -0
- package/dist/ionic/svg/play-forward-sharp.svg +1 -0
- package/dist/ionic/svg/play-forward.svg +1 -0
- package/dist/ionic/svg/play-outline.svg +1 -0
- package/dist/ionic/svg/play-sharp.svg +1 -0
- package/dist/ionic/svg/play-skip-back-circle-outline.svg +1 -0
- package/dist/ionic/svg/play-skip-back-circle-sharp.svg +1 -0
- package/dist/ionic/svg/play-skip-back-circle.svg +1 -0
- package/dist/ionic/svg/play-skip-back-outline.svg +1 -0
- package/dist/ionic/svg/play-skip-back-sharp.svg +1 -0
- package/dist/ionic/svg/play-skip-back.svg +1 -0
- package/dist/ionic/svg/play-skip-forward-circle-outline.svg +1 -0
- package/dist/ionic/svg/play-skip-forward-circle-sharp.svg +1 -0
- package/dist/ionic/svg/play-skip-forward-circle.svg +1 -0
- package/dist/ionic/svg/play-skip-forward-outline.svg +1 -0
- package/dist/ionic/svg/play-skip-forward-sharp.svg +1 -0
- package/dist/ionic/svg/play-skip-forward.svg +1 -0
- package/dist/ionic/svg/play.svg +1 -0
- package/dist/ionic/svg/podium-outline.svg +1 -0
- package/dist/ionic/svg/podium-sharp.svg +1 -0
- package/dist/ionic/svg/podium.svg +1 -0
- package/dist/ionic/svg/power-outline.svg +1 -0
- package/dist/ionic/svg/power-sharp.svg +1 -0
- package/dist/ionic/svg/power.svg +1 -0
- package/dist/ionic/svg/pricetag-outline.svg +1 -0
- package/dist/ionic/svg/pricetag-sharp.svg +1 -0
- package/dist/ionic/svg/pricetag.svg +1 -0
- package/dist/ionic/svg/pricetags-outline.svg +1 -0
- package/dist/ionic/svg/pricetags-sharp.svg +1 -0
- package/dist/ionic/svg/pricetags.svg +1 -0
- package/dist/ionic/svg/print-outline.svg +1 -0
- package/dist/ionic/svg/print-sharp.svg +1 -0
- package/dist/ionic/svg/print.svg +1 -0
- package/dist/ionic/svg/prism-outline.svg +1 -0
- package/dist/ionic/svg/prism-sharp.svg +1 -0
- package/dist/ionic/svg/prism.svg +1 -0
- package/dist/ionic/svg/pulse-outline.svg +1 -0
- package/dist/ionic/svg/pulse-sharp.svg +1 -0
- package/dist/ionic/svg/pulse.svg +1 -0
- package/dist/ionic/svg/push-outline.svg +1 -0
- package/dist/ionic/svg/push-sharp.svg +1 -0
- package/dist/ionic/svg/push.svg +1 -0
- package/dist/ionic/svg/qr-code-outline.svg +1 -0
- package/dist/ionic/svg/qr-code-sharp.svg +1 -0
- package/dist/ionic/svg/qr-code.svg +1 -0
- package/dist/ionic/svg/radio-button-off-outline.svg +1 -0
- package/dist/ionic/svg/radio-button-off-sharp.svg +1 -0
- package/dist/ionic/svg/radio-button-off.svg +1 -0
- package/dist/ionic/svg/radio-button-on-outline.svg +1 -0
- package/dist/ionic/svg/radio-button-on-sharp.svg +1 -0
- package/dist/ionic/svg/radio-button-on.svg +1 -0
- package/dist/ionic/svg/radio-outline.svg +1 -0
- package/dist/ionic/svg/radio-sharp.svg +1 -0
- package/dist/ionic/svg/radio.svg +1 -0
- package/dist/ionic/svg/rainy-outline.svg +1 -0
- package/dist/ionic/svg/rainy-sharp.svg +1 -0
- package/dist/ionic/svg/rainy.svg +1 -0
- package/dist/ionic/svg/reader-outline.svg +1 -0
- package/dist/ionic/svg/reader-sharp.svg +1 -0
- package/dist/ionic/svg/reader.svg +1 -0
- package/dist/ionic/svg/receipt-outline.svg +1 -0
- package/dist/ionic/svg/receipt-sharp.svg +1 -0
- package/dist/ionic/svg/receipt.svg +1 -0
- package/dist/ionic/svg/recording-outline.svg +1 -0
- package/dist/ionic/svg/recording-sharp.svg +1 -0
- package/dist/ionic/svg/recording.svg +1 -0
- package/dist/ionic/svg/refresh-circle-outline.svg +1 -0
- package/dist/ionic/svg/refresh-circle-sharp.svg +1 -0
- package/dist/ionic/svg/refresh-circle.svg +1 -0
- package/dist/ionic/svg/refresh-outline.svg +1 -0
- package/dist/ionic/svg/refresh-sharp.svg +1 -0
- package/dist/ionic/svg/refresh.svg +1 -0
- package/dist/ionic/svg/reload-circle-outline.svg +1 -0
- package/dist/ionic/svg/reload-circle-sharp.svg +1 -0
- package/dist/ionic/svg/reload-circle.svg +1 -0
- package/dist/ionic/svg/reload-outline.svg +1 -0
- package/dist/ionic/svg/reload-sharp.svg +1 -0
- package/dist/ionic/svg/reload.svg +1 -0
- package/dist/ionic/svg/remove-circle-outline.svg +1 -0
- package/dist/ionic/svg/remove-circle-sharp.svg +1 -0
- package/dist/ionic/svg/remove-circle.svg +1 -0
- package/dist/ionic/svg/remove-outline.svg +1 -0
- package/dist/ionic/svg/remove-sharp.svg +1 -0
- package/dist/ionic/svg/remove.svg +1 -0
- package/dist/ionic/svg/reorder-four-outline.svg +1 -0
- package/dist/ionic/svg/reorder-four-sharp.svg +1 -0
- package/dist/ionic/svg/reorder-four.svg +1 -0
- package/dist/ionic/svg/reorder-three-outline.svg +1 -0
- package/dist/ionic/svg/reorder-three-sharp.svg +1 -0
- package/dist/ionic/svg/reorder-three.svg +1 -0
- package/dist/ionic/svg/reorder-two-outline.svg +1 -0
- package/dist/ionic/svg/reorder-two-sharp.svg +1 -0
- package/dist/ionic/svg/reorder-two.svg +1 -0
- package/dist/ionic/svg/repeat-outline.svg +1 -0
- package/dist/ionic/svg/repeat-sharp.svg +1 -0
- package/dist/ionic/svg/repeat.svg +1 -0
- package/dist/ionic/svg/resize-outline.svg +1 -0
- package/dist/ionic/svg/resize-sharp.svg +1 -0
- package/dist/ionic/svg/resize.svg +1 -0
- package/dist/ionic/svg/restaurant-outline.svg +1 -0
- package/dist/ionic/svg/restaurant-sharp.svg +1 -0
- package/dist/ionic/svg/restaurant.svg +1 -0
- package/dist/ionic/svg/return-down-back-outline.svg +1 -0
- package/dist/ionic/svg/return-down-back-sharp.svg +1 -0
- package/dist/ionic/svg/return-down-back.svg +1 -0
- package/dist/ionic/svg/return-down-forward-outline.svg +1 -0
- package/dist/ionic/svg/return-down-forward-sharp.svg +1 -0
- package/dist/ionic/svg/return-down-forward.svg +1 -0
- package/dist/ionic/svg/return-up-back-outline.svg +1 -0
- package/dist/ionic/svg/return-up-back-sharp.svg +1 -0
- package/dist/ionic/svg/return-up-back.svg +1 -0
- package/dist/ionic/svg/return-up-forward-outline.svg +1 -0
- package/dist/ionic/svg/return-up-forward-sharp.svg +1 -0
- package/dist/ionic/svg/return-up-forward.svg +1 -0
- package/dist/ionic/svg/ribbon-outline.svg +1 -0
- package/dist/ionic/svg/ribbon-sharp.svg +1 -0
- package/dist/ionic/svg/ribbon.svg +1 -0
- package/dist/ionic/svg/rocket-outline.svg +1 -0
- package/dist/ionic/svg/rocket-sharp.svg +1 -0
- package/dist/ionic/svg/rocket.svg +1 -0
- package/dist/ionic/svg/rose-outline.svg +1 -0
- package/dist/ionic/svg/rose-sharp.svg +1 -0
- package/dist/ionic/svg/rose.svg +1 -0
- package/dist/ionic/svg/sad-outline.svg +1 -0
- package/dist/ionic/svg/sad-sharp.svg +1 -0
- package/dist/ionic/svg/sad.svg +1 -0
- package/dist/ionic/svg/save-outline.svg +1 -0
- package/dist/ionic/svg/save-sharp.svg +1 -0
- package/dist/ionic/svg/save.svg +1 -0
- package/dist/ionic/svg/scale-outline.svg +1 -0
- package/dist/ionic/svg/scale-sharp.svg +1 -0
- package/dist/ionic/svg/scale.svg +1 -0
- package/dist/ionic/svg/scan-circle-outline.svg +1 -0
- package/dist/ionic/svg/scan-circle-sharp.svg +1 -0
- package/dist/ionic/svg/scan-circle.svg +1 -0
- package/dist/ionic/svg/scan-outline.svg +1 -0
- package/dist/ionic/svg/scan-sharp.svg +1 -0
- package/dist/ionic/svg/scan.svg +1 -0
- package/dist/ionic/svg/school-outline.svg +1 -0
- package/dist/ionic/svg/school-sharp.svg +1 -0
- package/dist/ionic/svg/school.svg +1 -0
- package/dist/ionic/svg/search-circle-outline.svg +1 -0
- package/dist/ionic/svg/search-circle-sharp.svg +1 -0
- package/dist/ionic/svg/search-circle.svg +1 -0
- package/dist/ionic/svg/search-outline.svg +1 -0
- package/dist/ionic/svg/search-sharp.svg +1 -0
- package/dist/ionic/svg/search.svg +1 -0
- package/dist/ionic/svg/send-outline.svg +1 -0
- package/dist/ionic/svg/send-sharp.svg +1 -0
- package/dist/ionic/svg/send.svg +1 -0
- package/dist/ionic/svg/server-outline.svg +1 -0
- package/dist/ionic/svg/server-sharp.svg +1 -0
- package/dist/ionic/svg/server.svg +1 -0
- package/dist/ionic/svg/settings-outline.svg +1 -0
- package/dist/ionic/svg/settings-sharp.svg +1 -0
- package/dist/ionic/svg/settings.svg +1 -0
- package/dist/ionic/svg/shapes-outline.svg +1 -0
- package/dist/ionic/svg/shapes-sharp.svg +1 -0
- package/dist/ionic/svg/shapes.svg +1 -0
- package/dist/ionic/svg/share-outline.svg +1 -0
- package/dist/ionic/svg/share-sharp.svg +1 -0
- package/dist/ionic/svg/share-social-outline.svg +1 -0
- package/dist/ionic/svg/share-social-sharp.svg +1 -0
- package/dist/ionic/svg/share-social.svg +1 -0
- package/dist/ionic/svg/share.svg +1 -0
- package/dist/ionic/svg/shield-checkmark-outline.svg +1 -0
- package/dist/ionic/svg/shield-checkmark-sharp.svg +1 -0
- package/dist/ionic/svg/shield-checkmark.svg +1 -0
- package/dist/ionic/svg/shield-half-outline.svg +1 -0
- package/dist/ionic/svg/shield-half-sharp.svg +1 -0
- package/dist/ionic/svg/shield-half.svg +1 -0
- package/dist/ionic/svg/shield-outline.svg +1 -0
- package/dist/ionic/svg/shield-sharp.svg +1 -0
- package/dist/ionic/svg/shield.svg +1 -0
- package/dist/ionic/svg/shirt-outline.svg +1 -0
- package/dist/ionic/svg/shirt-sharp.svg +1 -0
- package/dist/ionic/svg/shirt.svg +1 -0
- package/dist/ionic/svg/shuffle-outline.svg +1 -0
- package/dist/ionic/svg/shuffle-sharp.svg +1 -0
- package/dist/ionic/svg/shuffle.svg +1 -0
- package/dist/ionic/svg/skull-outline.svg +1 -0
- package/dist/ionic/svg/skull-sharp.svg +1 -0
- package/dist/ionic/svg/skull.svg +1 -0
- package/dist/ionic/svg/snow-outline.svg +1 -0
- package/dist/ionic/svg/snow-sharp.svg +1 -0
- package/dist/ionic/svg/snow.svg +1 -0
- package/dist/ionic/svg/sparkles-outline.svg +1 -0
- package/dist/ionic/svg/sparkles-sharp.svg +1 -0
- package/dist/ionic/svg/sparkles.svg +1 -0
- package/dist/ionic/svg/speedometer-outline.svg +1 -0
- package/dist/ionic/svg/speedometer-sharp.svg +1 -0
- package/dist/ionic/svg/speedometer.svg +1 -0
- package/dist/ionic/svg/square-outline.svg +1 -0
- package/dist/ionic/svg/square-sharp.svg +1 -0
- package/dist/ionic/svg/square.svg +1 -0
- package/dist/ionic/svg/star-half-outline.svg +1 -0
- package/dist/ionic/svg/star-half-sharp.svg +1 -0
- package/dist/ionic/svg/star-half.svg +1 -0
- package/dist/ionic/svg/star-outline.svg +1 -0
- package/dist/ionic/svg/star-sharp.svg +1 -0
- package/dist/ionic/svg/star.svg +1 -0
- package/dist/ionic/svg/stats-chart-outline.svg +1 -0
- package/dist/ionic/svg/stats-chart-sharp.svg +1 -0
- package/dist/ionic/svg/stats-chart.svg +1 -0
- package/dist/ionic/svg/stop-circle-outline.svg +1 -0
- package/dist/ionic/svg/stop-circle-sharp.svg +1 -0
- package/dist/ionic/svg/stop-circle.svg +1 -0
- package/dist/ionic/svg/stop-outline.svg +1 -0
- package/dist/ionic/svg/stop-sharp.svg +1 -0
- package/dist/ionic/svg/stop.svg +1 -0
- package/dist/ionic/svg/stopwatch-outline.svg +1 -0
- package/dist/ionic/svg/stopwatch-sharp.svg +1 -0
- package/dist/ionic/svg/stopwatch.svg +1 -0
- package/dist/ionic/svg/storefront-outline.svg +1 -0
- package/dist/ionic/svg/storefront-sharp.svg +1 -0
- package/dist/ionic/svg/storefront.svg +1 -0
- package/dist/ionic/svg/subway-outline.svg +1 -0
- package/dist/ionic/svg/subway-sharp.svg +1 -0
- package/dist/ionic/svg/subway.svg +1 -0
- package/dist/ionic/svg/sunny-outline.svg +1 -0
- package/dist/ionic/svg/sunny-sharp.svg +1 -0
- package/dist/ionic/svg/sunny.svg +1 -0
- package/dist/ionic/svg/swap-horizontal-outline.svg +1 -0
- package/dist/ionic/svg/swap-horizontal-sharp.svg +1 -0
- package/dist/ionic/svg/swap-horizontal.svg +1 -0
- package/dist/ionic/svg/swap-vertical-outline.svg +1 -0
- package/dist/ionic/svg/swap-vertical-sharp.svg +1 -0
- package/dist/ionic/svg/swap-vertical.svg +1 -0
- package/dist/ionic/svg/sync-circle-outline.svg +1 -0
- package/dist/ionic/svg/sync-circle-sharp.svg +1 -0
- package/dist/ionic/svg/sync-circle.svg +1 -0
- package/dist/ionic/svg/sync-outline.svg +1 -0
- package/dist/ionic/svg/sync-sharp.svg +1 -0
- package/dist/ionic/svg/sync.svg +1 -0
- package/dist/ionic/svg/tablet-landscape-outline.svg +1 -0
- package/dist/ionic/svg/tablet-landscape-sharp.svg +1 -0
- package/dist/ionic/svg/tablet-landscape.svg +1 -0
- package/dist/ionic/svg/tablet-portrait-outline.svg +1 -0
- package/dist/ionic/svg/tablet-portrait-sharp.svg +1 -0
- package/dist/ionic/svg/tablet-portrait.svg +1 -0
- package/dist/ionic/svg/telescope-outline.svg +1 -0
- package/dist/ionic/svg/telescope-sharp.svg +1 -0
- package/dist/ionic/svg/telescope.svg +1 -0
- package/dist/ionic/svg/tennisball-outline.svg +1 -0
- package/dist/ionic/svg/tennisball-sharp.svg +1 -0
- package/dist/ionic/svg/tennisball.svg +1 -0
- package/dist/ionic/svg/terminal-outline.svg +1 -0
- package/dist/ionic/svg/terminal-sharp.svg +1 -0
- package/dist/ionic/svg/terminal.svg +1 -0
- package/dist/ionic/svg/text-outline.svg +1 -0
- package/dist/ionic/svg/text-sharp.svg +1 -0
- package/dist/ionic/svg/text.svg +1 -0
- package/dist/ionic/svg/thermometer-outline.svg +1 -0
- package/dist/ionic/svg/thermometer-sharp.svg +1 -0
- package/dist/ionic/svg/thermometer.svg +1 -0
- package/dist/ionic/svg/thumbs-down-outline.svg +1 -0
- package/dist/ionic/svg/thumbs-down-sharp.svg +1 -0
- package/dist/ionic/svg/thumbs-down.svg +1 -0
- package/dist/ionic/svg/thumbs-up-outline.svg +1 -0
- package/dist/ionic/svg/thumbs-up-sharp.svg +1 -0
- package/dist/ionic/svg/thumbs-up.svg +1 -0
- package/dist/ionic/svg/thunderstorm-outline.svg +1 -0
- package/dist/ionic/svg/thunderstorm-sharp.svg +1 -0
- package/dist/ionic/svg/thunderstorm.svg +1 -0
- package/dist/ionic/svg/ticket-outline.svg +1 -0
- package/dist/ionic/svg/ticket-sharp.svg +1 -0
- package/dist/ionic/svg/ticket.svg +1 -0
- package/dist/ionic/svg/time-outline.svg +1 -0
- package/dist/ionic/svg/time-sharp.svg +1 -0
- package/dist/ionic/svg/time.svg +1 -0
- package/dist/ionic/svg/timer-outline.svg +1 -0
- package/dist/ionic/svg/timer-sharp.svg +1 -0
- package/dist/ionic/svg/timer.svg +1 -0
- package/dist/ionic/svg/today-outline.svg +1 -0
- package/dist/ionic/svg/today-sharp.svg +1 -0
- package/dist/ionic/svg/today.svg +1 -0
- package/dist/ionic/svg/toggle-outline.svg +1 -0
- package/dist/ionic/svg/toggle-sharp.svg +1 -0
- package/dist/ionic/svg/toggle.svg +1 -0
- package/dist/ionic/svg/trail-sign-outline.svg +1 -0
- package/dist/ionic/svg/trail-sign-sharp.svg +1 -0
- package/dist/ionic/svg/trail-sign.svg +1 -0
- package/dist/ionic/svg/train-outline.svg +1 -0
- package/dist/ionic/svg/train-sharp.svg +1 -0
- package/dist/ionic/svg/train.svg +1 -0
- package/dist/ionic/svg/transgender-outline.svg +1 -0
- package/dist/ionic/svg/transgender-sharp.svg +1 -0
- package/dist/ionic/svg/transgender.svg +1 -0
- package/dist/ionic/svg/trash-bin-outline.svg +1 -0
- package/dist/ionic/svg/trash-bin-sharp.svg +1 -0
- package/dist/ionic/svg/trash-bin.svg +1 -0
- package/dist/ionic/svg/trash-outline.svg +1 -0
- package/dist/ionic/svg/trash-sharp.svg +1 -0
- package/dist/ionic/svg/trash.svg +1 -0
- package/dist/ionic/svg/trending-down-outline.svg +1 -0
- package/dist/ionic/svg/trending-down-sharp.svg +1 -0
- package/dist/ionic/svg/trending-down.svg +1 -0
- package/dist/ionic/svg/trending-up-outline.svg +1 -0
- package/dist/ionic/svg/trending-up-sharp.svg +1 -0
- package/dist/ionic/svg/trending-up.svg +1 -0
- package/dist/ionic/svg/triangle-outline.svg +1 -0
- package/dist/ionic/svg/triangle-sharp.svg +1 -0
- package/dist/ionic/svg/triangle.svg +1 -0
- package/dist/ionic/svg/trophy-outline.svg +1 -0
- package/dist/ionic/svg/trophy-sharp.svg +1 -0
- package/dist/ionic/svg/trophy.svg +1 -0
- package/dist/ionic/svg/tv-outline.svg +1 -0
- package/dist/ionic/svg/tv-sharp.svg +1 -0
- package/dist/ionic/svg/tv.svg +1 -0
- package/dist/ionic/svg/umbrella-outline.svg +1 -0
- package/dist/ionic/svg/umbrella-sharp.svg +1 -0
- package/dist/ionic/svg/umbrella.svg +1 -0
- package/dist/ionic/svg/unlink-outline.svg +1 -0
- package/dist/ionic/svg/unlink-sharp.svg +1 -0
- package/dist/ionic/svg/unlink.svg +1 -0
- package/dist/ionic/svg/videocam-off-outline.svg +1 -0
- package/dist/ionic/svg/videocam-off-sharp.svg +1 -0
- package/dist/ionic/svg/videocam-off.svg +1 -0
- package/dist/ionic/svg/videocam-outline.svg +1 -0
- package/dist/ionic/svg/videocam-sharp.svg +1 -0
- package/dist/ionic/svg/videocam.svg +1 -0
- package/dist/ionic/svg/volume-high-outline.svg +1 -0
- package/dist/ionic/svg/volume-high-sharp.svg +1 -0
- package/dist/ionic/svg/volume-high.svg +1 -0
- package/dist/ionic/svg/volume-low-outline.svg +1 -0
- package/dist/ionic/svg/volume-low-sharp.svg +1 -0
- package/dist/ionic/svg/volume-low.svg +1 -0
- package/dist/ionic/svg/volume-medium-outline.svg +1 -0
- package/dist/ionic/svg/volume-medium-sharp.svg +1 -0
- package/dist/ionic/svg/volume-medium.svg +1 -0
- package/dist/ionic/svg/volume-mute-outline.svg +1 -0
- package/dist/ionic/svg/volume-mute-sharp.svg +1 -0
- package/dist/ionic/svg/volume-mute.svg +1 -0
- package/dist/ionic/svg/volume-off-outline.svg +1 -0
- package/dist/ionic/svg/volume-off-sharp.svg +1 -0
- package/dist/ionic/svg/volume-off.svg +1 -0
- package/dist/ionic/svg/walk-outline.svg +1 -0
- package/dist/ionic/svg/walk-sharp.svg +1 -0
- package/dist/ionic/svg/walk.svg +1 -0
- package/dist/ionic/svg/wallet-outline.svg +1 -0
- package/dist/ionic/svg/wallet-sharp.svg +1 -0
- package/dist/ionic/svg/wallet.svg +1 -0
- package/dist/ionic/svg/warning-outline.svg +1 -0
- package/dist/ionic/svg/warning-sharp.svg +1 -0
- package/dist/ionic/svg/warning.svg +1 -0
- package/dist/ionic/svg/watch-outline.svg +1 -0
- package/dist/ionic/svg/watch-sharp.svg +1 -0
- package/dist/ionic/svg/watch.svg +1 -0
- package/dist/ionic/svg/water-outline.svg +1 -0
- package/dist/ionic/svg/water-sharp.svg +1 -0
- package/dist/ionic/svg/water.svg +1 -0
- package/dist/ionic/svg/wifi-outline.svg +1 -0
- package/dist/ionic/svg/wifi-sharp.svg +1 -0
- package/dist/ionic/svg/wifi.svg +1 -0
- package/dist/ionic/svg/wine-outline.svg +1 -0
- package/dist/ionic/svg/wine-sharp.svg +1 -0
- package/dist/ionic/svg/wine.svg +1 -0
- package/dist/ionic/svg/woman-outline.svg +1 -0
- package/dist/ionic/svg/woman-sharp.svg +1 -0
- package/dist/ionic/svg/woman.svg +1 -0
- package/dist/node_modules/ionicons/dist/collection/components/icon/icon.css +101 -0
- package/dist/types/components/accordion/accordion.d.ts +81 -0
- package/dist/types/components/accordion-group/accordion-group-interface.d.ts +7 -0
- package/dist/types/components/accordion-group/accordion-group.d.ts +83 -0
- package/dist/types/components/action-sheet/action-sheet-interface.d.ts +27 -0
- package/dist/types/components/action-sheet/action-sheet.d.ts +158 -0
- package/dist/types/components/action-sheet/animations/ios.enter.d.ts +5 -0
- package/dist/types/components/action-sheet/animations/ios.leave.d.ts +5 -0
- package/dist/types/components/action-sheet/animations/md.enter.d.ts +5 -0
- package/dist/types/components/action-sheet/animations/md.leave.d.ts +5 -0
- package/dist/types/components/action-sheet/test/basic/fixture.d.ts +10 -0
- package/dist/types/components/alert/alert-interface.d.ts +53 -0
- package/dist/types/components/alert/alert.d.ts +191 -0
- package/dist/types/components/alert/animations/ios.enter.d.ts +5 -0
- package/dist/types/components/alert/animations/ios.leave.d.ts +5 -0
- package/dist/types/components/alert/animations/md.enter.d.ts +5 -0
- package/dist/types/components/alert/animations/md.leave.d.ts +5 -0
- package/dist/types/components/app/app.d.ts +18 -0
- package/dist/types/components/avatar/avatar.d.ts +4 -0
- package/dist/types/components/back-button/back-button.d.ts +53 -0
- package/dist/types/components/backdrop/backdrop.d.ts +25 -0
- package/dist/types/components/badge/badge.d.ts +14 -0
- package/dist/types/components/breadcrumb/breadcrumb-interface.d.ts +8 -0
- package/dist/types/components/breadcrumb/breadcrumb.d.ts +100 -0
- package/dist/types/components/breadcrumbs/breadcrumbs.d.ts +48 -0
- package/dist/types/components/button/button.d.ts +128 -0
- package/dist/types/components/buttons/buttons.d.ts +17 -0
- package/dist/types/components/card/card.d.ts +68 -0
- package/dist/types/components/card-content/card-content.d.ts +7 -0
- package/dist/types/components/card-header/card-header.d.ts +20 -0
- package/dist/types/components/card-subtitle/card-subtitle.d.ts +14 -0
- package/dist/types/components/card-title/card-title.d.ts +14 -0
- package/dist/types/components/checkbox/checkbox-interface.d.ts +8 -0
- package/dist/types/components/checkbox/checkbox.d.ts +116 -0
- package/dist/types/components/chip/chip.d.ts +22 -0
- package/dist/types/components/col/col.d.ts +131 -0
- package/dist/types/components/content/content-interface.d.ts +16 -0
- package/dist/types/components/content/content.d.ts +140 -0
- package/dist/types/components/datetime/datetime-interface.d.ts +29 -0
- package/dist/types/components/datetime/datetime.d.ts +423 -0
- package/dist/types/components/datetime/utils/comparison.d.ts +14 -0
- package/dist/types/components/datetime/utils/data.d.ts +76 -0
- package/dist/types/components/datetime/utils/format.d.ts +127 -0
- package/dist/types/components/datetime/utils/helpers.d.ts +34 -0
- package/dist/types/components/datetime/utils/manipulation.d.ts +116 -0
- package/dist/types/components/datetime/utils/parse.d.ts +43 -0
- package/dist/types/components/datetime/utils/state.d.ts +45 -0
- package/dist/types/components/datetime-button/datetime-button.d.ts +72 -0
- package/dist/types/components/fab/fab.d.ts +36 -0
- package/dist/types/components/fab-button/fab-button.d.ts +100 -0
- package/dist/types/components/fab-list/fab-list.d.ts +14 -0
- package/dist/types/components/footer/footer.d.ts +33 -0
- package/dist/types/components/footer/footer.utils.d.ts +1 -0
- package/dist/types/components/grid/grid.d.ts +8 -0
- package/dist/types/components/header/header.d.ts +37 -0
- package/dist/types/components/header/header.utils.d.ts +25 -0
- package/dist/types/components/img/img.d.ts +36 -0
- package/dist/types/components/infinite-scroll/infinite-scroll-interface.d.ts +3 -0
- package/dist/types/components/infinite-scroll/infinite-scroll.d.ts +61 -0
- package/dist/types/components/infinite-scroll-content/infinite-scroll-content.d.ts +28 -0
- package/dist/types/components/input/input-interface.d.ts +17 -0
- package/dist/types/components/input/input.d.ts +325 -0
- package/dist/types/components/input/input.utils.d.ts +1 -0
- package/dist/types/components/item/item-interface.d.ts +1 -0
- package/dist/types/components/item/item.d.ts +129 -0
- package/dist/types/components/item-divider/item-divider.d.ts +27 -0
- package/dist/types/components/item-group/item-group.d.ts +4 -0
- package/dist/types/components/item-option/item-option.d.ts +61 -0
- package/dist/types/components/item-options/item-options.d.ts +17 -0
- package/dist/types/components/item-sliding/item-sliding-interface.d.ts +3 -0
- package/dist/types/components/item-sliding/item-sliding.d.ts +82 -0
- package/dist/types/components/item-sliding/test/test.utils.d.ts +2 -0
- package/dist/types/components/label/label.d.ts +37 -0
- package/dist/types/components/list/list.d.ts +23 -0
- package/dist/types/components/list-header/list-header.d.ts +18 -0
- package/dist/types/components/loading/animations/ios.enter.d.ts +5 -0
- package/dist/types/components/loading/animations/ios.leave.d.ts +5 -0
- package/dist/types/components/loading/animations/md.enter.d.ts +5 -0
- package/dist/types/components/loading/animations/md.leave.d.ts +5 -0
- package/dist/types/components/loading/loading-interface.d.ts +21 -0
- package/dist/types/components/loading/loading.d.ts +162 -0
- package/dist/types/components/menu/menu-interface.d.ts +39 -0
- package/dist/types/components/menu/menu.d.ts +139 -0
- package/dist/types/components/menu-button/menu-button.d.ts +41 -0
- package/dist/types/components/menu-toggle/menu-toggle-util.d.ts +1 -0
- package/dist/types/components/menu-toggle/menu-toggle.d.ts +27 -0
- package/dist/types/components/modal/animations/ios.enter.d.ts +6 -0
- package/dist/types/components/modal/animations/ios.leave.d.ts +6 -0
- package/dist/types/components/modal/animations/md.enter.d.ts +6 -0
- package/dist/types/components/modal/animations/md.leave.d.ts +6 -0
- package/dist/types/components/modal/animations/sheet.d.ts +9 -0
- package/dist/types/components/modal/gestures/sheet.d.ts +35 -0
- package/dist/types/components/modal/gestures/swipe-to-close.d.ts +6 -0
- package/dist/types/components/modal/gestures/utils.d.ts +75 -0
- package/dist/types/components/modal/modal-interface.d.ts +40 -0
- package/dist/types/components/modal/modal.d.ts +280 -0
- package/dist/types/components/modal/test/fixtures.d.ts +10 -0
- package/dist/types/components/modal/utils.d.ts +24 -0
- package/dist/types/components/nav/constants.d.ts +5 -0
- package/dist/types/components/nav/nav-interface.d.ts +59 -0
- package/dist/types/components/nav/nav.d.ts +254 -0
- package/dist/types/components/nav/view-controller.d.ts +22 -0
- package/dist/types/components/nav-link/nav-link-utils.d.ts +4 -0
- package/dist/types/components/nav-link/nav-link.d.ts +25 -0
- package/dist/types/components/note/note.d.ts +14 -0
- package/dist/types/components/picker/animations/ios.enter.d.ts +5 -0
- package/dist/types/components/picker/animations/ios.leave.d.ts +5 -0
- package/dist/types/components/picker/picker-interface.d.ts +49 -0
- package/dist/types/components/picker/picker.d.ts +158 -0
- package/dist/types/components/picker-column/picker-column.d.ts +46 -0
- package/dist/types/components/picker-column/test/test.utils.d.ts +9 -0
- package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +5 -0
- package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +98 -0
- package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +8 -0
- package/dist/types/components/picker-internal/picker-internal.d.ts +102 -0
- package/dist/types/components/popover/animations/ios.enter.d.ts +5 -0
- package/dist/types/components/popover/animations/ios.leave.d.ts +5 -0
- package/dist/types/components/popover/animations/md.enter.d.ts +5 -0
- package/dist/types/components/popover/animations/md.leave.d.ts +5 -0
- package/dist/types/components/popover/popover-interface.d.ts +36 -0
- package/dist/types/components/popover/popover.d.ts +294 -0
- package/dist/types/components/popover/test/fixture.d.ts +8 -0
- package/dist/types/components/popover/test/test.utils.d.ts +5 -0
- package/dist/types/components/popover/utils.d.ts +89 -0
- package/dist/types/components/progress-bar/progress-bar.d.ts +39 -0
- package/dist/types/components/radio/radio.d.ts +104 -0
- package/dist/types/components/radio-group/radio-group-interface.d.ts +8 -0
- package/dist/types/components/radio-group/radio-group.d.ts +47 -0
- package/dist/types/components/radio-group/test/fixtures.d.ts +8 -0
- package/dist/types/components/range/range-interface.d.ts +19 -0
- package/dist/types/components/range/range.d.ts +202 -0
- package/dist/types/components/refresher/refresher-interface.d.ts +7 -0
- package/dist/types/components/refresher/refresher.d.ts +136 -0
- package/dist/types/components/refresher/refresher.utils.d.ts +10 -0
- package/dist/types/components/refresher/test/test.utils.d.ts +13 -0
- package/dist/types/components/refresher-content/refresher-content.d.ts +49 -0
- package/dist/types/components/reorder/reorder.d.ts +9 -0
- package/dist/types/components/reorder-group/reorder-group-interface.d.ts +9 -0
- package/dist/types/components/reorder-group/reorder-group.d.ts +60 -0
- package/dist/types/components/ripple-effect/ripple-effect.d.ts +23 -0
- package/dist/types/components/route/route-interface.d.ts +5 -0
- package/dist/types/components/route/route.d.ts +47 -0
- package/dist/types/components/route-redirect/route-redirect.d.ts +36 -0
- package/dist/types/components/router/router.d.ts +77 -0
- package/dist/types/components/router/test/guards/test.utils.d.ts +11 -0
- package/dist/types/components/router/utils/constants.d.ts +3 -0
- package/dist/types/components/router/utils/debug.d.ts +3 -0
- package/dist/types/components/router/utils/dom.d.ts +21 -0
- package/dist/types/components/router/utils/interface.d.ts +57 -0
- package/dist/types/components/router/utils/matching.d.ts +64 -0
- package/dist/types/components/router/utils/parser.d.ts +25 -0
- package/dist/types/components/router/utils/path.d.ts +19 -0
- package/dist/types/components/router-link/router-link.d.ts +39 -0
- package/dist/types/components/router-outlet/route-outlet.d.ts +48 -0
- package/dist/types/components/row/row.d.ts +4 -0
- package/dist/types/components/searchbar/searchbar-interface.d.ts +12 -0
- package/dist/types/components/searchbar/searchbar.d.ts +241 -0
- package/dist/types/components/segment/segment-interface.d.ts +9 -0
- package/dist/types/components/segment/segment.d.ts +90 -0
- package/dist/types/components/segment-button/segment-button-interface.d.ts +1 -0
- package/dist/types/components/segment-button/segment-button.d.ts +49 -0
- package/dist/types/components/select/select-interface.d.ts +9 -0
- package/dist/types/components/select/select.d.ts +249 -0
- package/dist/types/components/select-option/select-option.d.ts +14 -0
- package/dist/types/components/select-popover/select-popover-interface.d.ts +10 -0
- package/dist/types/components/select-popover/select-popover.d.ts +46 -0
- package/dist/types/components/select-popover/test/fixtures.d.ts +16 -0
- package/dist/types/components/skeleton-text/skeleton-text.d.ts +9 -0
- package/dist/types/components/slides/IonicSlides.d.ts +1 -0
- package/dist/types/components/spinner/spinner-configs.d.ts +111 -0
- package/dist/types/components/spinner/spinner-interface.d.ts +20 -0
- package/dist/types/components/spinner/spinner.d.ts +26 -0
- package/dist/types/components/split-pane/split-pane.d.ts +37 -0
- package/dist/types/components/tab/tab.d.ts +25 -0
- package/dist/types/components/tab-bar/tab-bar-interface.d.ts +9 -0
- package/dist/types/components/tab-bar/tab-bar.d.ts +34 -0
- package/dist/types/components/tab-button/tab-button.d.ts +66 -0
- package/dist/types/components/tabs/tabs-interface.d.ts +6 -0
- package/dist/types/components/tabs/tabs.d.ts +61 -0
- package/dist/types/components/text/text.d.ts +14 -0
- package/dist/types/components/textarea/textarea-interface.d.ts +12 -0
- package/dist/types/components/textarea/textarea.d.ts +279 -0
- package/dist/types/components/thumbnail/thumbnail.d.ts +4 -0
- package/dist/types/components/title/title.d.ts +25 -0
- package/dist/types/components/toast/animations/ios.enter.d.ts +5 -0
- package/dist/types/components/toast/animations/ios.leave.d.ts +5 -0
- package/dist/types/components/toast/animations/md.enter.d.ts +5 -0
- package/dist/types/components/toast/animations/md.leave.d.ts +5 -0
- package/dist/types/components/toast/toast-interface.d.ts +33 -0
- package/dist/types/components/toast/toast.d.ts +209 -0
- package/dist/types/components/toggle/toggle-interface.d.ts +8 -0
- package/dist/types/components/toggle/toggle.d.ts +122 -0
- package/dist/types/components/toolbar/toolbar.d.ts +24 -0
- package/dist/types/components.d.ts +7400 -0
- package/dist/types/global/config.d.ts +13 -0
- package/dist/types/global/ionic-global.d.ts +4 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/interface.d.ts +173 -0
- package/dist/types/stencil-public-runtime.d.ts +1640 -0
- package/dist/types/utils/animation/animation-interface.d.ts +222 -0
- package/dist/types/utils/animation/animation-utils.d.ts +15 -0
- package/dist/types/utils/animation/animation.d.ts +2 -0
- package/dist/types/utils/animation/cubic-bezier.d.ts +19 -0
- package/dist/types/utils/browser/index.d.ts +24 -0
- package/dist/types/utils/config.d.ts +184 -0
- package/dist/types/utils/content/index.d.ts +45 -0
- package/dist/types/utils/element-interface.d.ts +10 -0
- package/dist/types/utils/floating-point/index.d.ts +34 -0
- package/dist/types/utils/focus-visible.d.ts +4 -0
- package/dist/types/utils/forms/form-controller.d.ts +15 -0
- package/dist/types/utils/forms/index.d.ts +2 -0
- package/dist/types/utils/forms/notch-controller.d.ts +24 -0
- package/dist/types/utils/framework-delegate.d.ts +9 -0
- package/dist/types/utils/gesture/button-active.d.ts +2 -0
- package/dist/types/utils/gesture/gesture-controller.d.ts +61 -0
- package/dist/types/utils/gesture/index.d.ts +41 -0
- package/dist/types/utils/gesture/listener.d.ts +4 -0
- package/dist/types/utils/gesture/pointer-events.d.ts +17 -0
- package/dist/types/utils/gesture/recognizers.d.ts +7 -0
- package/dist/types/utils/gesture/swipe-back.d.ts +2 -0
- package/dist/types/utils/hardware-back-button.d.ts +14 -0
- package/dist/types/utils/helpers.d.ts +125 -0
- package/dist/types/utils/input-shims/hacks/common.d.ts +8 -0
- package/dist/types/utils/input-shims/hacks/hide-caret.d.ts +1 -0
- package/dist/types/utils/input-shims/hacks/input-blurring.d.ts +1 -0
- package/dist/types/utils/input-shims/hacks/scroll-assist.d.ts +2 -0
- package/dist/types/utils/input-shims/hacks/scroll-data.d.ts +7 -0
- package/dist/types/utils/input-shims/hacks/scroll-padding.d.ts +30 -0
- package/dist/types/utils/input-shims/input-shims.d.ts +2 -0
- package/dist/types/utils/keyboard/keyboard-controller.d.ts +12 -0
- package/dist/types/utils/keyboard/keyboard.d.ts +46 -0
- package/dist/types/utils/logging/index.d.ts +16 -0
- package/dist/types/utils/media.d.ts +2 -0
- package/dist/types/utils/menu-controller/animations/base.d.ts +8 -0
- package/dist/types/utils/menu-controller/animations/overlay.d.ts +8 -0
- package/dist/types/utils/menu-controller/animations/push.d.ts +8 -0
- package/dist/types/utils/menu-controller/animations/reveal.d.ts +8 -0
- package/dist/types/utils/menu-controller/index.d.ts +22 -0
- package/dist/types/utils/native/capacitor.d.ts +2 -0
- package/dist/types/utils/native/haptic.d.ts +81 -0
- package/dist/types/utils/native/keyboard.d.ts +34 -0
- package/dist/types/utils/native/native-interface.d.ts +17 -0
- package/dist/types/utils/native/status-bar.d.ts +16 -0
- package/dist/types/utils/overlays-interface.d.ts +38 -0
- package/dist/types/utils/overlays.d.ts +130 -0
- package/dist/types/utils/platform.d.ts +27 -0
- package/dist/types/utils/rtl/dir.d.ts +6 -0
- package/dist/types/utils/rtl/index.d.ts +1 -0
- package/dist/types/utils/sanitization/index.d.ts +9 -0
- package/dist/types/utils/slot-mutation-controller.d.ts +13 -0
- package/dist/types/utils/status-tap.d.ts +1 -0
- package/dist/types/utils/tap-click/index.d.ts +2 -0
- package/dist/types/utils/test/platform.utils.d.ts +82 -0
- package/dist/types/utils/test/playwright/drag-element.d.ts +11 -0
- package/dist/types/utils/test/playwright/generator.d.ts +22 -0
- package/dist/types/utils/test/playwright/index.d.ts +8 -0
- package/dist/types/utils/test/playwright/matchers/index.d.ts +8 -0
- package/dist/types/utils/test/playwright/matchers/toHaveReceivedEvent.d.ts +5 -0
- package/dist/types/utils/test/playwright/matchers/toHaveReceivedEventDetail.d.ts +5 -0
- package/dist/types/utils/test/playwright/matchers/toHaveReceivedEventTimes.d.ts +5 -0
- package/dist/types/utils/test/playwright/page/event-spy.d.ts +42 -0
- package/dist/types/utils/test/playwright/page/utils/get-snapshot-settings.d.ts +8 -0
- package/dist/types/utils/test/playwright/page/utils/goto.d.ts +14 -0
- package/dist/types/utils/test/playwright/page/utils/index.d.ts +7 -0
- package/dist/types/utils/test/playwright/page/utils/locator.d.ts +23 -0
- package/dist/types/utils/test/playwright/page/utils/set-content.d.ts +14 -0
- package/dist/types/utils/test/playwright/page/utils/set-ion-viewport.d.ts +14 -0
- package/dist/types/utils/test/playwright/page/utils/spy-on-event.d.ts +3 -0
- package/dist/types/utils/test/playwright/page/utils/wait-for-changes.d.ts +8 -0
- package/dist/types/utils/test/playwright/playwright-declarations.d.ts +114 -0
- package/dist/types/utils/test/playwright/playwright-page.d.ts +17 -0
- package/dist/types/utils/test/playwright/testExpect.d.ts +21 -0
- package/dist/types/utils/test/playwright/viewports/index.d.ts +12 -0
- package/dist/types/utils/test/press-keys.d.ts +38 -0
- package/dist/types/utils/theme.d.ts +10 -0
- package/dist/types/utils/transition/index.d.ts +31 -0
- package/dist/types/utils/transition/ios.transition.d.ts +4 -0
- package/dist/types/utils/transition/md.transition.d.ts +3 -0
- package/dist/types/utils/watch-options.d.ts +2 -0
- package/hydrate/index.d.ts +218 -0
- package/hydrate/index.js +35592 -0
- package/hydrate/package.json +6 -0
- package/loader/cdn.js +5 -0
- package/loader/index.cjs.js +5 -0
- package/loader/index.d.ts +21 -0
- package/loader/index.es2017.js +5 -0
- package/loader/index.js +6 -0
- package/loader/package.json +11 -0
- package/package.json +115 -0
|
@@ -0,0 +1,2275 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* (C) Ionic http://ionicframework.com - MIT License
|
|
3
|
+
*/
|
|
4
|
+
'use strict';
|
|
5
|
+
|
|
6
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
|
+
|
|
8
|
+
const index$1 = require('./index-b358eb23.js');
|
|
9
|
+
const focusVisible = require('./focus-visible-6163be3a.js');
|
|
10
|
+
const helpers = require('./helpers-77560954.js');
|
|
11
|
+
const index = require('./index-79605113.js');
|
|
12
|
+
const dir = require('./dir-186d3a4d.js');
|
|
13
|
+
const theme = require('./theme-e6fec71e.js');
|
|
14
|
+
const index$2 = require('./index-b0e73ba0.js');
|
|
15
|
+
const ionicGlobal = require('./ionic-global-5e671da5.js');
|
|
16
|
+
const data = require('./data-3a7f5c1a.js');
|
|
17
|
+
const overlays = require('./overlays-d17b3668.js');
|
|
18
|
+
const animation = require('./animation-c68ec4cb.js');
|
|
19
|
+
const haptic = require('./haptic-89b33156.js');
|
|
20
|
+
require('./framework-delegate-d2bbe945.js');
|
|
21
|
+
require('./hardware-back-button-bae6e13a.js');
|
|
22
|
+
require('./index-f0d7c9cc.js');
|
|
23
|
+
require('./capacitor-a77e977e.js');
|
|
24
|
+
|
|
25
|
+
const isYearDisabled = (refYear, minParts, maxParts) => {
|
|
26
|
+
if (minParts && minParts.year > refYear) {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
if (maxParts && maxParts.year < refYear) {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
return false;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Returns true if a given day should
|
|
36
|
+
* not be interactive according to its value,
|
|
37
|
+
* or the max/min dates.
|
|
38
|
+
*/
|
|
39
|
+
const isDayDisabled = (refParts, minParts, maxParts, dayValues) => {
|
|
40
|
+
/**
|
|
41
|
+
* If this is a filler date (i.e. padding)
|
|
42
|
+
* then the date is disabled.
|
|
43
|
+
*/
|
|
44
|
+
if (refParts.day === null) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* If user passed in a list of acceptable day values
|
|
49
|
+
* check to make sure that the date we are looking
|
|
50
|
+
* at is in this array.
|
|
51
|
+
*/
|
|
52
|
+
if (dayValues !== undefined && !dayValues.includes(refParts.day)) {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Given a min date, perform the following
|
|
57
|
+
* checks. If any of them are true, then the
|
|
58
|
+
* day should be disabled:
|
|
59
|
+
* 1. Is the current year < the min allowed year?
|
|
60
|
+
* 2. Is the current year === min allowed year,
|
|
61
|
+
* but the current month < the min allowed month?
|
|
62
|
+
* 3. Is the current year === min allowed year, the
|
|
63
|
+
* current month === min allow month, but the current
|
|
64
|
+
* day < the min allowed day?
|
|
65
|
+
*/
|
|
66
|
+
if (minParts && data.isBefore(refParts, minParts)) {
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Given a max date, perform the following
|
|
71
|
+
* checks. If any of them are true, then the
|
|
72
|
+
* day should be disabled:
|
|
73
|
+
* 1. Is the current year > the max allowed year?
|
|
74
|
+
* 2. Is the current year === max allowed year,
|
|
75
|
+
* but the current month > the max allowed month?
|
|
76
|
+
* 3. Is the current year === max allowed year, the
|
|
77
|
+
* current month === max allow month, but the current
|
|
78
|
+
* day > the max allowed day?
|
|
79
|
+
*/
|
|
80
|
+
if (maxParts && data.isAfter(refParts, maxParts)) {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* If none of these checks
|
|
85
|
+
* passed then the date should
|
|
86
|
+
* be interactive.
|
|
87
|
+
*/
|
|
88
|
+
return false;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Given a locale, a date, the selected date(s), and today's date,
|
|
92
|
+
* generate the state for a given calendar day button.
|
|
93
|
+
*/
|
|
94
|
+
const getCalendarDayState = (locale, refParts, activeParts, todayParts, minParts, maxParts, dayValues) => {
|
|
95
|
+
/**
|
|
96
|
+
* activeParts signals what day(s) are currently selected in the datetime.
|
|
97
|
+
* If multiple="true", this will be an array, but the logic in this util
|
|
98
|
+
* is the same whether we have one selected day or many because we're only
|
|
99
|
+
* calculating the state for one button. So, we treat a single activeParts value
|
|
100
|
+
* the same as an array of length one.
|
|
101
|
+
*/
|
|
102
|
+
const activePartsArray = Array.isArray(activeParts) ? activeParts : [activeParts];
|
|
103
|
+
/**
|
|
104
|
+
* The day button is active if it is selected, or in other words, if refParts
|
|
105
|
+
* matches at least one selected date.
|
|
106
|
+
*/
|
|
107
|
+
const isActive = activePartsArray.find((parts) => data.isSameDay(refParts, parts)) !== undefined;
|
|
108
|
+
const isToday = data.isSameDay(refParts, todayParts);
|
|
109
|
+
const disabled = isDayDisabled(refParts, minParts, maxParts, dayValues);
|
|
110
|
+
/**
|
|
111
|
+
* Note that we always return one object regardless of whether activeParts
|
|
112
|
+
* was an array, since we pare down to one value for isActive.
|
|
113
|
+
*/
|
|
114
|
+
return {
|
|
115
|
+
disabled,
|
|
116
|
+
isActive,
|
|
117
|
+
isToday,
|
|
118
|
+
ariaSelected: isActive ? 'true' : null,
|
|
119
|
+
ariaLabel: data.generateDayAriaLabel(locale, isToday, refParts),
|
|
120
|
+
text: refParts.day != null ? data.getDay(locale, refParts) : null,
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Returns `true` if the month is disabled given the
|
|
125
|
+
* current date value and min/max date constraints.
|
|
126
|
+
*/
|
|
127
|
+
const isMonthDisabled = (refParts, { minParts, maxParts, }) => {
|
|
128
|
+
// If the year is disabled then the month is disabled.
|
|
129
|
+
if (isYearDisabled(refParts.year, minParts, maxParts)) {
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
// If the date value is before the min date, then the month is disabled.
|
|
133
|
+
// If the date value is after the max date, then the month is disabled.
|
|
134
|
+
if ((minParts && data.isBefore(refParts, minParts)) || (maxParts && data.isAfter(refParts, maxParts))) {
|
|
135
|
+
return true;
|
|
136
|
+
}
|
|
137
|
+
return false;
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* Given a working date, an optional minimum date range,
|
|
141
|
+
* and an optional maximum date range; determine if the
|
|
142
|
+
* previous navigation button is disabled.
|
|
143
|
+
*/
|
|
144
|
+
const isPrevMonthDisabled = (refParts, minParts, maxParts) => {
|
|
145
|
+
const prevMonth = Object.assign(Object.assign({}, data.getPreviousMonth(refParts)), { day: null });
|
|
146
|
+
return isMonthDisabled(prevMonth, {
|
|
147
|
+
minParts,
|
|
148
|
+
maxParts,
|
|
149
|
+
});
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* Given a working date and a maximum date range,
|
|
153
|
+
* determine if the next navigation button is disabled.
|
|
154
|
+
*/
|
|
155
|
+
const isNextMonthDisabled = (refParts, maxParts) => {
|
|
156
|
+
const nextMonth = Object.assign(Object.assign({}, data.getNextMonth(refParts)), { day: null });
|
|
157
|
+
return isMonthDisabled(nextMonth, {
|
|
158
|
+
maxParts,
|
|
159
|
+
});
|
|
160
|
+
};
|
|
161
|
+
/**
|
|
162
|
+
* Given the value of the highlightedDates property
|
|
163
|
+
* and an ISO string, return the styles to use for
|
|
164
|
+
* that date, or undefined if none are found.
|
|
165
|
+
*/
|
|
166
|
+
const getHighlightStyles = (highlightedDates, dateIsoString, el) => {
|
|
167
|
+
if (Array.isArray(highlightedDates)) {
|
|
168
|
+
const dateStringWithoutTime = dateIsoString.split('T')[0];
|
|
169
|
+
const matchingHighlight = highlightedDates.find((hd) => hd.date === dateStringWithoutTime);
|
|
170
|
+
if (matchingHighlight) {
|
|
171
|
+
return {
|
|
172
|
+
textColor: matchingHighlight.textColor,
|
|
173
|
+
backgroundColor: matchingHighlight.backgroundColor,
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
/**
|
|
179
|
+
* Wrap in a try-catch to prevent exceptions in the user's function
|
|
180
|
+
* from interrupting the calendar's rendering.
|
|
181
|
+
*/
|
|
182
|
+
try {
|
|
183
|
+
return highlightedDates(dateIsoString);
|
|
184
|
+
}
|
|
185
|
+
catch (e) {
|
|
186
|
+
index.printIonError('Exception thrown from provided `highlightedDates` callback. Please check your function and try again.', el, e);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return undefined;
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
const datetimeIosCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}ion-picker-column-internal{min-width:26px}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;display:flex}@supports (background: -webkit-named-image(apple-pay-logo-black)) and (not (aspect-ratio: 1/1)){:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{position:absolute;visibility:hidden;pointer-events:none}@supports (inset-inline-start: 0){:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{inset-inline-start:-99999px}}@supports not (inset-inline-start: 0){:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{left:-99999px}:host-context([dir=rtl]):host(.show-month-and-year) .calendar-next-prev,:host-context([dir=rtl]).show-month-and-year .calendar-next-prev,:host-context([dir=rtl]):host(.show-month-and-year) .calendar-days-of-week,:host-context([dir=rtl]).show-month-and-year .calendar-days-of-week,:host-context([dir=rtl]):host(.show-month-and-year) .calendar-body,:host-context([dir=rtl]).show-month-and-year .calendar-body,:host-context([dir=rtl]):host(.show-month-and-year) .datetime-time,:host-context([dir=rtl]).show-month-and-year .datetime-time{left:unset;right:unset;right:-99999px}@supports selector(:dir(rtl)){:host(.show-month-and-year) .calendar-next-prev:dir(rtl),:host(.show-month-and-year) .calendar-days-of-week:dir(rtl),:host(.show-month-and-year) .calendar-body:dir(rtl),:host(.show-month-and-year) .datetime-time:dir(rtl){left:unset;right:unset;right:-99999px}}}}@supports (not (background: -webkit-named-image(apple-pay-logo-black))) or ((background: -webkit-named-image(apple-pay-logo-black)) and (aspect-ratio: 1/1)){:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-readonly),:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled){opacity:0.4}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons ion-item,:host .calendar-action-buttons ion-button{--background:translucent}:host .calendar-action-buttons ion-item ion-label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .calendar-action-buttons ion-item ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day-highlight{border-radius:32px;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:32px;height:32px;z-index:-1}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;display:flex;border:none;background:var(--ion-color-step-300, #edeef0);color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons ion-item{--color:var(--ion-color-base)}:host{--background:var(--ion-color-light, #ffffff);--background-rgb:var(--ion-color-light-rgb);--title-color:var(--ion-color-step-600, #666666)}:host(.datetime-presentation-date-time:not(.datetime-prefer-wheel)),:host(.datetime-presentation-time-date:not(.datetime-prefer-wheel)),:host(.datetime-presentation-date:not(.datetime-prefer-wheel)){min-height:350px}:host .datetime-header{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:16px;padding-bottom:16px;border-bottom:0.55px solid var(--ion-color-step-200, #cccccc);font-size:14px}:host .datetime-header .datetime-title{color:var(--title-color)}:host .datetime-header .datetime-selected-date{margin-top:10px}:host .calendar-action-buttons ion-item{--padding-start:16px;--background-hover:transparent;--background-activated:transparent;font-size:16px;font-weight:600}:host .calendar-action-buttons ion-item ion-icon,:host .calendar-action-buttons ion-buttons ion-button{color:var(--ion-color-base)}:host .calendar-action-buttons ion-buttons{padding-left:0;padding-right:0;padding-top:8px;padding-bottom:0}:host .calendar-action-buttons ion-buttons ion-button{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}:host .calendar-days-of-week{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;color:var(--ion-color-step-300, #b3b3b3);font-size:12px;font-weight:600;line-height:24px;text-transform:uppercase}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;height:calc(100% - 16px)}:host .calendar-day{font-size:20px}.calendar-day:focus .calendar-day-highlight,.calendar-day.calendar-day-active .calendar-day-highlight{opacity:0.2}.calendar-day.calendar-day-active .calendar-day-highlight{background:var(--ion-color-base)}.calendar-day:focus .calendar-day-highlight{background:var(--ion-color-base) !important}:host .calendar-day.calendar-day-today{color:var(--ion-color-base)}:host .calendar-day.calendar-day-active{color:var(--ion-color-base);font-weight:600}:host .calendar-day.calendar-day-today.calendar-day-active{color:var(--ion-color-contrast)}.calendar-day.calendar-day-today.calendar-day-active .calendar-day-highlight{background:var(--ion-color-base);opacity:1}:host .datetime-time{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:16px;font-size:16px}:host .datetime-time .time-header{font-weight:600}:host .datetime-buttons{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:8px;padding-bottom:8px;border-top:0.55px solid var(--ion-color-step-200, #cccccc)}:host .datetime-buttons ::slotted(ion-buttons),:host .datetime-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}:host .datetime-action-buttons{width:100%}";
|
|
193
|
+
|
|
194
|
+
const datetimeMdCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}ion-picker-column-internal{min-width:26px}:host(.datetime-size-fixed){width:auto;height:auto}:host(.datetime-size-fixed:not(.datetime-prefer-wheel)){max-width:350px}:host(.datetime-size-fixed.datetime-prefer-wheel){min-width:350px;max-width:-webkit-max-content;max-width:-moz-max-content;max-width:max-content}:host(.datetime-size-cover){width:100%}:host .calendar-body,:host .datetime-year{opacity:0}:host(:not(.datetime-ready)) .datetime-year{position:absolute;pointer-events:none}:host(.datetime-ready) .calendar-body{opacity:1}:host(.datetime-ready) .datetime-year{display:none;opacity:1}:host .wheel-order-year-first .day-column{-ms-flex-order:3;order:3;text-align:end}:host .wheel-order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .wheel-order-year-first .year-column{-ms-flex-order:1;order:1;text-align:start}:host .datetime-calendar,:host .datetime-year{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;-ms-flex-flow:column;flex-flow:column}:host(.show-month-and-year) .datetime-year{display:-ms-flexbox;display:flex}@supports (background: -webkit-named-image(apple-pay-logo-black)) and (not (aspect-ratio: 1/1)){:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{position:absolute;visibility:hidden;pointer-events:none}@supports (inset-inline-start: 0){:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{inset-inline-start:-99999px}}@supports not (inset-inline-start: 0){:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{left:-99999px}:host-context([dir=rtl]):host(.show-month-and-year) .calendar-next-prev,:host-context([dir=rtl]).show-month-and-year .calendar-next-prev,:host-context([dir=rtl]):host(.show-month-and-year) .calendar-days-of-week,:host-context([dir=rtl]).show-month-and-year .calendar-days-of-week,:host-context([dir=rtl]):host(.show-month-and-year) .calendar-body,:host-context([dir=rtl]).show-month-and-year .calendar-body,:host-context([dir=rtl]):host(.show-month-and-year) .datetime-time,:host-context([dir=rtl]).show-month-and-year .datetime-time{left:unset;right:unset;right:-99999px}@supports selector(:dir(rtl)){:host(.show-month-and-year) .calendar-next-prev:dir(rtl),:host(.show-month-and-year) .calendar-days-of-week:dir(rtl),:host(.show-month-and-year) .calendar-body:dir(rtl),:host(.show-month-and-year) .datetime-time:dir(rtl){left:unset;right:unset;right:-99999px}}}}@supports (not (background: -webkit-named-image(apple-pay-logo-black))) or ((background: -webkit-named-image(apple-pay-logo-black)) and (aspect-ratio: 1/1)){:host(.show-month-and-year) .calendar-next-prev,:host(.show-month-and-year) .calendar-days-of-week,:host(.show-month-and-year) .calendar-body,:host(.show-month-and-year) .datetime-time{display:none}}:host(.month-year-picker-open) .datetime-footer{display:none}:host(.datetime-readonly),:host(.datetime-disabled){pointer-events:none}:host(.datetime-disabled){opacity:0.4}:host .datetime-header .datetime-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .datetime-action-buttons.has-clear-button{width:100%}:host .datetime-action-buttons ion-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host .calendar-action-buttons ion-item,:host .calendar-action-buttons ion-button{--background:translucent}:host .calendar-action-buttons ion-item ion-label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .calendar-action-buttons ion-item ion-icon{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end:0;padding-top:0;padding-bottom:0}:host .calendar-days-of-week{display:grid;grid-template-columns:repeat(7, 1fr);text-align:center}:host .calendar-body{display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-webkit-scroll-snap-type:x mandatory;-ms-scroll-snap-type:x mandatory;scroll-snap-type:x mandatory;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;outline:none}:host .calendar-body .calendar-month{scroll-snap-align:start;scroll-snap-stop:always;-ms-flex-negative:0;flex-shrink:0;width:100%}:host .calendar-body .calendar-month-disabled{scroll-snap-align:none}:host .calendar-body::-webkit-scrollbar{display:none}:host .calendar-body .calendar-month-grid{display:grid;grid-template-columns:repeat(7, 1fr)}:host .calendar-day{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px;padding-top:0px;padding-bottom:0px;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px;margin-top:0px;margin-bottom:0px;display:-ms-flexbox;display:flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;border:none;outline:none;background:none;color:currentColor;font-family:var(--ion-font-family, inherit);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}.calendar-day-highlight{border-radius:32px;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:4px;padding-bottom:4px;position:absolute;width:32px;height:32px;z-index:-1}:host .datetime-time{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between}:host(.datetime-presentation-time) .datetime-time{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}:host ion-popover{--height:200px}:host .time-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}:host .time-body{border-radius:8px;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px;padding-top:6px;padding-bottom:6px;display:-ms-flexbox;display:flex;border:none;background:var(--ion-color-step-300, #edeef0);color:var(--ion-text-color, #000);font-family:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}:host .time-body-active{color:var(--ion-color-base)}:host(.in-item){position:static}:host(.show-month-and-year) .calendar-action-buttons ion-item{--color:var(--ion-color-base)}:host{--background:var(--ion-color-step-100, #ffffff);--title-color:var(--ion-color-contrast)}:host .datetime-header{-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px;padding-top:20px;padding-bottom:20px;background:var(--ion-color-base);color:var(--title-color)}:host .datetime-header .datetime-title{font-size:12px;text-transform:uppercase}:host .datetime-header .datetime-selected-date{margin-top:30px;font-size:34px}:host .datetime-calendar .calendar-action-buttons ion-item{--padding-start:20px}:host .calendar-action-buttons ion-item,:host .calendar-action-buttons ion-button{--color:var(--ion-color-step-650, #595959)}:host .calendar-days-of-week{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:0px;padding-bottom:0px;color:var(--ion-color-step-500, gray);font-size:14px;line-height:36px}:host .calendar-body .calendar-month .calendar-month-grid{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:4px;padding-bottom:4px;grid-template-rows:repeat(6, 1fr)}:host .calendar-day{-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0;padding-inline-end:0;padding-top:13px;padding-bottom:13px;font-size:14px}.calendar-day:focus .calendar-day-highlight{background:rgba(var(--ion-color-base-rgb), 0.2);-webkit-box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2);box-shadow:0px 0px 0px 4px rgba(var(--ion-color-base-rgb), 0.2)}:host .calendar-day.calendar-day-today{color:var(--ion-color-base)}.calendar-day.calendar-day-today .calendar-day-highlight{border:1px solid var(--ion-color-base)}:host .calendar-day.calendar-day-active{color:var(--ion-color-contrast)}.calendar-day.calendar-day-active .calendar-day-highlight{border:1px solid var(--ion-color-base);background:var(--ion-color-base)}:host .datetime-time{-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px;padding-top:8px;padding-bottom:8px}:host .time-header{color:var(--ion-color-step-650, #595959)}:host(.datetime-presentation-month) .datetime-year,:host(.datetime-presentation-year) .datetime-year,:host(.datetime-presentation-month-year) .datetime-year{margin-top:20px;margin-bottom:20px}:host .datetime-buttons{-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px;padding-top:10px;padding-bottom:10px;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end}:host .datetime-view-buttons ion-button{color:var(--ion-color-step-800, #333333)}";
|
|
195
|
+
|
|
196
|
+
const Datetime = class {
|
|
197
|
+
constructor(hostRef) {
|
|
198
|
+
index$1.registerInstance(this, hostRef);
|
|
199
|
+
this.ionCancel = index$1.createEvent(this, "ionCancel", 7);
|
|
200
|
+
this.ionChange = index$1.createEvent(this, "ionChange", 7);
|
|
201
|
+
this.ionValueChange = index$1.createEvent(this, "ionValueChange", 7);
|
|
202
|
+
this.ionFocus = index$1.createEvent(this, "ionFocus", 7);
|
|
203
|
+
this.ionBlur = index$1.createEvent(this, "ionBlur", 7);
|
|
204
|
+
this.ionStyle = index$1.createEvent(this, "ionStyle", 7);
|
|
205
|
+
this.ionRender = index$1.createEvent(this, "ionRender", 7);
|
|
206
|
+
this.inputId = `ion-dt-${datetimeIds++}`;
|
|
207
|
+
this.prevPresentation = null;
|
|
208
|
+
/**
|
|
209
|
+
* Duplicate reference to `activeParts` that does not trigger a re-render of the component.
|
|
210
|
+
* Allows caching an instance of the `activeParts` in between render cycles.
|
|
211
|
+
*/
|
|
212
|
+
this.activePartsClone = [];
|
|
213
|
+
this.warnIfIncorrectValueUsage = () => {
|
|
214
|
+
const { multiple, value } = this;
|
|
215
|
+
if (!multiple && Array.isArray(value)) {
|
|
216
|
+
/**
|
|
217
|
+
* We do some processing on the `value` array so
|
|
218
|
+
* that it looks more like an array when logged to
|
|
219
|
+
* the console.
|
|
220
|
+
* Example given ['a', 'b']
|
|
221
|
+
* Default toString() behavior: a,b
|
|
222
|
+
* Custom behavior: ['a', 'b']
|
|
223
|
+
*/
|
|
224
|
+
index.printIonWarning(`ion-datetime was passed an array of values, but multiple="false". This is incorrect usage and may result in unexpected behaviors. To dismiss this warning, pass a string to the "value" property when multiple="false".
|
|
225
|
+
|
|
226
|
+
Value Passed: [${value.map((v) => `'${v}'`).join(', ')}]
|
|
227
|
+
`, this.el);
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
this.setValue = (value) => {
|
|
231
|
+
this.value = value;
|
|
232
|
+
this.ionChange.emit({ value });
|
|
233
|
+
};
|
|
234
|
+
/**
|
|
235
|
+
* Returns the DatetimePart interface
|
|
236
|
+
* to use when rendering an initial set of
|
|
237
|
+
* data. This should be used when rendering an
|
|
238
|
+
* interface in an environment where the `value`
|
|
239
|
+
* may not be set. This function works
|
|
240
|
+
* by returning the first selected date in
|
|
241
|
+
* "activePartsClone" and then falling back to
|
|
242
|
+
* defaultParts if no active date is selected.
|
|
243
|
+
*/
|
|
244
|
+
this.getActivePartsWithFallback = () => {
|
|
245
|
+
var _a;
|
|
246
|
+
const { defaultParts } = this;
|
|
247
|
+
return (_a = this.getActivePart()) !== null && _a !== void 0 ? _a : defaultParts;
|
|
248
|
+
};
|
|
249
|
+
this.getActivePart = () => {
|
|
250
|
+
const { activePartsClone } = this;
|
|
251
|
+
return Array.isArray(activePartsClone) ? activePartsClone[0] : activePartsClone;
|
|
252
|
+
};
|
|
253
|
+
this.closeParentOverlay = () => {
|
|
254
|
+
const popoverOrModal = this.el.closest('ion-modal, ion-popover');
|
|
255
|
+
if (popoverOrModal) {
|
|
256
|
+
popoverOrModal.dismiss();
|
|
257
|
+
}
|
|
258
|
+
};
|
|
259
|
+
this.setWorkingParts = (parts) => {
|
|
260
|
+
this.workingParts = Object.assign({}, parts);
|
|
261
|
+
};
|
|
262
|
+
this.setActiveParts = (parts, removeDate = false) => {
|
|
263
|
+
const { multiple, minParts, maxParts, activePartsClone } = this;
|
|
264
|
+
/**
|
|
265
|
+
* When setting the active parts, it is possible
|
|
266
|
+
* to set invalid data. For example,
|
|
267
|
+
* when updating January 31 to February,
|
|
268
|
+
* February 31 does not exist. As a result
|
|
269
|
+
* we need to validate the active parts and
|
|
270
|
+
* ensure that we are only setting valid dates.
|
|
271
|
+
* Additionally, we need to update the working parts
|
|
272
|
+
* too in the event that the validated parts are different.
|
|
273
|
+
*/
|
|
274
|
+
const validatedParts = data.validateParts(parts, minParts, maxParts);
|
|
275
|
+
this.setWorkingParts(validatedParts);
|
|
276
|
+
if (multiple) {
|
|
277
|
+
/**
|
|
278
|
+
* We read from activePartsClone here because valueChanged() only updates that,
|
|
279
|
+
* so it's the more reliable source of truth. If we read from activeParts, then
|
|
280
|
+
* if you click July 1, manually set the value to July 2, and then click July 3,
|
|
281
|
+
* the new value would be [July 1, July 3], ignoring the value set.
|
|
282
|
+
*
|
|
283
|
+
* We can then pass the new value to activeParts (rather than activePartsClone)
|
|
284
|
+
* since the clone will be updated automatically by activePartsChanged().
|
|
285
|
+
*/
|
|
286
|
+
const activePartsArray = Array.isArray(activePartsClone) ? activePartsClone : [activePartsClone];
|
|
287
|
+
if (removeDate) {
|
|
288
|
+
this.activeParts = activePartsArray.filter((p) => !data.isSameDay(p, validatedParts));
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
this.activeParts = [...activePartsArray, validatedParts];
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
this.activeParts = Object.assign({}, validatedParts);
|
|
296
|
+
}
|
|
297
|
+
const hasSlottedButtons = this.el.querySelector('[slot="buttons"]') !== null;
|
|
298
|
+
if (hasSlottedButtons || this.showDefaultButtons) {
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
this.confirm();
|
|
302
|
+
};
|
|
303
|
+
this.initializeKeyboardListeners = () => {
|
|
304
|
+
const calendarBodyRef = this.calendarBodyRef;
|
|
305
|
+
if (!calendarBodyRef) {
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
308
|
+
const root = this.el.shadowRoot;
|
|
309
|
+
/**
|
|
310
|
+
* Get a reference to the month
|
|
311
|
+
* element we are currently viewing.
|
|
312
|
+
*/
|
|
313
|
+
const currentMonth = calendarBodyRef.querySelector('.calendar-month:nth-of-type(2)');
|
|
314
|
+
/**
|
|
315
|
+
* When focusing the calendar body, we want to pass focus
|
|
316
|
+
* to the working day, but other days should
|
|
317
|
+
* only be accessible using the arrow keys. Pressing
|
|
318
|
+
* Tab should jump between bodies of selectable content.
|
|
319
|
+
*/
|
|
320
|
+
const checkCalendarBodyFocus = (ev) => {
|
|
321
|
+
var _a;
|
|
322
|
+
const record = ev[0];
|
|
323
|
+
/**
|
|
324
|
+
* If calendar body was already focused
|
|
325
|
+
* when this fired or if the calendar body
|
|
326
|
+
* if not currently focused, we should not re-focus
|
|
327
|
+
* the inner day.
|
|
328
|
+
*/
|
|
329
|
+
if (((_a = record.oldValue) === null || _a === void 0 ? void 0 : _a.includes('ion-focused')) || !calendarBodyRef.classList.contains('ion-focused')) {
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
this.focusWorkingDay(currentMonth);
|
|
333
|
+
};
|
|
334
|
+
const mo = new MutationObserver(checkCalendarBodyFocus);
|
|
335
|
+
mo.observe(calendarBodyRef, { attributeFilter: ['class'], attributeOldValue: true });
|
|
336
|
+
this.destroyKeyboardMO = () => {
|
|
337
|
+
mo === null || mo === void 0 ? void 0 : mo.disconnect();
|
|
338
|
+
};
|
|
339
|
+
/**
|
|
340
|
+
* We must use keydown not keyup as we want
|
|
341
|
+
* to prevent scrolling when using the arrow keys.
|
|
342
|
+
*/
|
|
343
|
+
calendarBodyRef.addEventListener('keydown', (ev) => {
|
|
344
|
+
const activeElement = root.activeElement;
|
|
345
|
+
if (!activeElement || !activeElement.classList.contains('calendar-day')) {
|
|
346
|
+
return;
|
|
347
|
+
}
|
|
348
|
+
const parts = data.getPartsFromCalendarDay(activeElement);
|
|
349
|
+
let partsToFocus;
|
|
350
|
+
switch (ev.key) {
|
|
351
|
+
case 'ArrowDown':
|
|
352
|
+
ev.preventDefault();
|
|
353
|
+
partsToFocus = data.getNextWeek(parts);
|
|
354
|
+
break;
|
|
355
|
+
case 'ArrowUp':
|
|
356
|
+
ev.preventDefault();
|
|
357
|
+
partsToFocus = data.getPreviousWeek(parts);
|
|
358
|
+
break;
|
|
359
|
+
case 'ArrowRight':
|
|
360
|
+
ev.preventDefault();
|
|
361
|
+
partsToFocus = data.getNextDay(parts);
|
|
362
|
+
break;
|
|
363
|
+
case 'ArrowLeft':
|
|
364
|
+
ev.preventDefault();
|
|
365
|
+
partsToFocus = data.getPreviousDay(parts);
|
|
366
|
+
break;
|
|
367
|
+
case 'Home':
|
|
368
|
+
ev.preventDefault();
|
|
369
|
+
partsToFocus = data.getStartOfWeek(parts);
|
|
370
|
+
break;
|
|
371
|
+
case 'End':
|
|
372
|
+
ev.preventDefault();
|
|
373
|
+
partsToFocus = data.getEndOfWeek(parts);
|
|
374
|
+
break;
|
|
375
|
+
case 'PageUp':
|
|
376
|
+
ev.preventDefault();
|
|
377
|
+
partsToFocus = ev.shiftKey ? data.getPreviousYear(parts) : data.getPreviousMonth(parts);
|
|
378
|
+
break;
|
|
379
|
+
case 'PageDown':
|
|
380
|
+
ev.preventDefault();
|
|
381
|
+
partsToFocus = ev.shiftKey ? data.getNextYear(parts) : data.getNextMonth(parts);
|
|
382
|
+
break;
|
|
383
|
+
/**
|
|
384
|
+
* Do not preventDefault here
|
|
385
|
+
* as we do not want to override other
|
|
386
|
+
* browser defaults such as pressing Enter/Space
|
|
387
|
+
* to select a day.
|
|
388
|
+
*/
|
|
389
|
+
default:
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* If the day we want to move focus to is
|
|
394
|
+
* disabled, do not do anything.
|
|
395
|
+
*/
|
|
396
|
+
if (isDayDisabled(partsToFocus, this.minParts, this.maxParts)) {
|
|
397
|
+
return;
|
|
398
|
+
}
|
|
399
|
+
this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), partsToFocus));
|
|
400
|
+
/**
|
|
401
|
+
* Give view a chance to re-render
|
|
402
|
+
* then move focus to the new working day
|
|
403
|
+
*/
|
|
404
|
+
requestAnimationFrame(() => this.focusWorkingDay(currentMonth));
|
|
405
|
+
});
|
|
406
|
+
};
|
|
407
|
+
this.focusWorkingDay = (currentMonth) => {
|
|
408
|
+
/**
|
|
409
|
+
* Get the number of padding days so
|
|
410
|
+
* we know how much to offset our next selector by
|
|
411
|
+
* to grab the correct calenday-day element.
|
|
412
|
+
*/
|
|
413
|
+
const padding = currentMonth.querySelectorAll('.calendar-day-padding');
|
|
414
|
+
const { day } = this.workingParts;
|
|
415
|
+
if (day === null) {
|
|
416
|
+
return;
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Get the calendar day element
|
|
420
|
+
* and focus it.
|
|
421
|
+
*/
|
|
422
|
+
const dayEl = currentMonth.querySelector(`.calendar-day:nth-of-type(${padding.length + day})`);
|
|
423
|
+
if (dayEl) {
|
|
424
|
+
dayEl.focus();
|
|
425
|
+
}
|
|
426
|
+
};
|
|
427
|
+
this.processMinParts = () => {
|
|
428
|
+
const { min, defaultParts } = this;
|
|
429
|
+
if (min === undefined) {
|
|
430
|
+
this.minParts = undefined;
|
|
431
|
+
return;
|
|
432
|
+
}
|
|
433
|
+
this.minParts = data.parseMinParts(min, defaultParts);
|
|
434
|
+
};
|
|
435
|
+
this.processMaxParts = () => {
|
|
436
|
+
const { max, defaultParts } = this;
|
|
437
|
+
if (max === undefined) {
|
|
438
|
+
this.maxParts = undefined;
|
|
439
|
+
return;
|
|
440
|
+
}
|
|
441
|
+
this.maxParts = data.parseMaxParts(max, defaultParts);
|
|
442
|
+
};
|
|
443
|
+
this.initializeCalendarListener = () => {
|
|
444
|
+
const calendarBodyRef = this.calendarBodyRef;
|
|
445
|
+
if (!calendarBodyRef) {
|
|
446
|
+
return;
|
|
447
|
+
}
|
|
448
|
+
/**
|
|
449
|
+
* For performance reasons, we only render 3
|
|
450
|
+
* months at a time: The current month, the previous
|
|
451
|
+
* month, and the next month. We have a scroll listener
|
|
452
|
+
* on the calendar body to append/prepend new months.
|
|
453
|
+
*
|
|
454
|
+
* We can do this because Stencil is smart enough to not
|
|
455
|
+
* re-create the .calendar-month containers, but rather
|
|
456
|
+
* update the content within those containers.
|
|
457
|
+
*
|
|
458
|
+
* As an added bonus, WebKit has some troubles with
|
|
459
|
+
* scroll-snap-stop: always, so not rendering all of
|
|
460
|
+
* the months in a row allows us to mostly sidestep
|
|
461
|
+
* that issue.
|
|
462
|
+
*/
|
|
463
|
+
const months = calendarBodyRef.querySelectorAll('.calendar-month');
|
|
464
|
+
const startMonth = months[0];
|
|
465
|
+
const workingMonth = months[1];
|
|
466
|
+
const endMonth = months[2];
|
|
467
|
+
const mode = ionicGlobal.getIonMode(this);
|
|
468
|
+
const needsiOSRubberBandFix = mode === 'ios' && typeof navigator !== 'undefined' && navigator.maxTouchPoints > 1;
|
|
469
|
+
/**
|
|
470
|
+
* Before setting up the scroll listener,
|
|
471
|
+
* scroll the middle month into view.
|
|
472
|
+
* scrollIntoView() will scroll entire page
|
|
473
|
+
* if element is not in viewport. Use scrollLeft instead.
|
|
474
|
+
*/
|
|
475
|
+
index$1.writeTask(() => {
|
|
476
|
+
calendarBodyRef.scrollLeft = startMonth.clientWidth * (dir.isRTL(this.el) ? -1 : 1);
|
|
477
|
+
const getChangedMonth = (parts) => {
|
|
478
|
+
const box = calendarBodyRef.getBoundingClientRect();
|
|
479
|
+
/**
|
|
480
|
+
* If the current scroll position is all the way to the left
|
|
481
|
+
* then we have scrolled to the previous month.
|
|
482
|
+
* Otherwise, assume that we have scrolled to the next
|
|
483
|
+
* month. We have a tolerance of 2px to account for
|
|
484
|
+
* sub pixel rendering.
|
|
485
|
+
*
|
|
486
|
+
* Check below the next line ensures that we did not
|
|
487
|
+
* swipe and abort (i.e. we swiped but we are still on the current month).
|
|
488
|
+
*/
|
|
489
|
+
const month = calendarBodyRef.scrollLeft <= 2 ? startMonth : endMonth;
|
|
490
|
+
/**
|
|
491
|
+
* The edge of the month must be lined up with
|
|
492
|
+
* the edge of the calendar body in order for
|
|
493
|
+
* the component to update. Otherwise, it
|
|
494
|
+
* may be the case that the user has paused their
|
|
495
|
+
* swipe or the browser has not finished snapping yet.
|
|
496
|
+
* Rather than check if the x values are equal,
|
|
497
|
+
* we give it a tolerance of 2px to account for
|
|
498
|
+
* sub pixel rendering.
|
|
499
|
+
*/
|
|
500
|
+
const monthBox = month.getBoundingClientRect();
|
|
501
|
+
if (Math.abs(monthBox.x - box.x) > 2)
|
|
502
|
+
return;
|
|
503
|
+
/**
|
|
504
|
+
* From here, we can determine if the start
|
|
505
|
+
* month or the end month was scrolled into view.
|
|
506
|
+
* If no month was changed, then we can return from
|
|
507
|
+
* the scroll callback early.
|
|
508
|
+
*/
|
|
509
|
+
if (month === startMonth) {
|
|
510
|
+
return data.getPreviousMonth(parts);
|
|
511
|
+
}
|
|
512
|
+
else if (month === endMonth) {
|
|
513
|
+
return data.getNextMonth(parts);
|
|
514
|
+
}
|
|
515
|
+
else {
|
|
516
|
+
return;
|
|
517
|
+
}
|
|
518
|
+
};
|
|
519
|
+
const updateActiveMonth = () => {
|
|
520
|
+
if (needsiOSRubberBandFix) {
|
|
521
|
+
calendarBodyRef.style.removeProperty('pointer-events');
|
|
522
|
+
appliediOSRubberBandFix = false;
|
|
523
|
+
}
|
|
524
|
+
/**
|
|
525
|
+
* If the month did not change
|
|
526
|
+
* then we can return early.
|
|
527
|
+
*/
|
|
528
|
+
const newDate = getChangedMonth(this.workingParts);
|
|
529
|
+
if (!newDate)
|
|
530
|
+
return;
|
|
531
|
+
const { month, day, year } = newDate;
|
|
532
|
+
if (isMonthDisabled({ month, year, day: null }, {
|
|
533
|
+
minParts: Object.assign(Object.assign({}, this.minParts), { day: null }),
|
|
534
|
+
maxParts: Object.assign(Object.assign({}, this.maxParts), { day: null }),
|
|
535
|
+
})) {
|
|
536
|
+
return;
|
|
537
|
+
}
|
|
538
|
+
/**
|
|
539
|
+
* Prevent scrolling for other browsers
|
|
540
|
+
* to give the DOM time to update and the container
|
|
541
|
+
* time to properly snap.
|
|
542
|
+
*/
|
|
543
|
+
calendarBodyRef.style.setProperty('overflow', 'hidden');
|
|
544
|
+
/**
|
|
545
|
+
* Use a writeTask here to ensure
|
|
546
|
+
* that the state is updated and the
|
|
547
|
+
* correct month is scrolled into view
|
|
548
|
+
* in the same frame. This is not
|
|
549
|
+
* typically a problem on newer devices
|
|
550
|
+
* but older/slower device may have a flicker
|
|
551
|
+
* if we did not do this.
|
|
552
|
+
*/
|
|
553
|
+
index$1.writeTask(() => {
|
|
554
|
+
this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), { month, day: day, year }));
|
|
555
|
+
calendarBodyRef.scrollLeft = workingMonth.clientWidth * (dir.isRTL(this.el) ? -1 : 1);
|
|
556
|
+
calendarBodyRef.style.removeProperty('overflow');
|
|
557
|
+
});
|
|
558
|
+
};
|
|
559
|
+
/**
|
|
560
|
+
* When the container finishes scrolling we
|
|
561
|
+
* need to update the DOM with the selected month.
|
|
562
|
+
*/
|
|
563
|
+
let scrollTimeout;
|
|
564
|
+
/**
|
|
565
|
+
* We do not want to attempt to set pointer-events
|
|
566
|
+
* multiple times within a single swipe gesture as
|
|
567
|
+
* that adds unnecessary work to the main thread.
|
|
568
|
+
*/
|
|
569
|
+
let appliediOSRubberBandFix = false;
|
|
570
|
+
const scrollCallback = () => {
|
|
571
|
+
if (scrollTimeout) {
|
|
572
|
+
clearTimeout(scrollTimeout);
|
|
573
|
+
}
|
|
574
|
+
/**
|
|
575
|
+
* On iOS it is possible to quickly rubber band
|
|
576
|
+
* the scroll area before the scroll timeout has fired.
|
|
577
|
+
* This results in users reaching the end of the scrollable
|
|
578
|
+
* container before the DOM has updated.
|
|
579
|
+
* By setting `pointer-events: none` we can ensure that
|
|
580
|
+
* subsequent swipes do not happen while the container
|
|
581
|
+
* is snapping.
|
|
582
|
+
*/
|
|
583
|
+
if (!appliediOSRubberBandFix && needsiOSRubberBandFix) {
|
|
584
|
+
calendarBodyRef.style.setProperty('pointer-events', 'none');
|
|
585
|
+
appliediOSRubberBandFix = true;
|
|
586
|
+
}
|
|
587
|
+
// Wait ~3 frames
|
|
588
|
+
scrollTimeout = setTimeout(updateActiveMonth, 50);
|
|
589
|
+
};
|
|
590
|
+
calendarBodyRef.addEventListener('scroll', scrollCallback);
|
|
591
|
+
this.destroyCalendarListener = () => {
|
|
592
|
+
calendarBodyRef.removeEventListener('scroll', scrollCallback);
|
|
593
|
+
};
|
|
594
|
+
});
|
|
595
|
+
};
|
|
596
|
+
/**
|
|
597
|
+
* Clean up all listeners except for the overlay
|
|
598
|
+
* listener. This is so that we can re-create the listeners
|
|
599
|
+
* if the datetime has been hidden/presented by a modal or popover.
|
|
600
|
+
*/
|
|
601
|
+
this.destroyInteractionListeners = () => {
|
|
602
|
+
const { destroyCalendarListener, destroyKeyboardMO } = this;
|
|
603
|
+
if (destroyCalendarListener !== undefined) {
|
|
604
|
+
destroyCalendarListener();
|
|
605
|
+
}
|
|
606
|
+
if (destroyKeyboardMO !== undefined) {
|
|
607
|
+
destroyKeyboardMO();
|
|
608
|
+
}
|
|
609
|
+
};
|
|
610
|
+
this.processValue = (value) => {
|
|
611
|
+
const hasValue = value !== null && value !== undefined;
|
|
612
|
+
const valueToProcess = hasValue ? data.parseDate(value) : this.defaultParts;
|
|
613
|
+
const { minParts, maxParts } = this;
|
|
614
|
+
this.warnIfIncorrectValueUsage();
|
|
615
|
+
/**
|
|
616
|
+
* Datetime should only warn of out of bounds values
|
|
617
|
+
* if set by the user. If the `value` is undefined,
|
|
618
|
+
* we will default to today's date which may be out
|
|
619
|
+
* of bounds. In this case, the warning makes it look
|
|
620
|
+
* like the developer did something wrong which is
|
|
621
|
+
* not true.
|
|
622
|
+
*/
|
|
623
|
+
if (hasValue) {
|
|
624
|
+
data.warnIfValueOutOfBounds(valueToProcess, minParts, maxParts);
|
|
625
|
+
}
|
|
626
|
+
/**
|
|
627
|
+
* If there are multiple values, pick an arbitrary one to clamp to. This way,
|
|
628
|
+
* if the values are across months, we always show at least one of them. Note
|
|
629
|
+
* that the values don't necessarily have to be in order.
|
|
630
|
+
*/
|
|
631
|
+
const singleValue = Array.isArray(valueToProcess) ? valueToProcess[0] : valueToProcess;
|
|
632
|
+
const { month, day, year, hour, minute } = data.clampDate(singleValue, minParts, maxParts);
|
|
633
|
+
const ampm = data.parseAmPm(hour);
|
|
634
|
+
this.setWorkingParts({
|
|
635
|
+
month,
|
|
636
|
+
day,
|
|
637
|
+
year,
|
|
638
|
+
hour,
|
|
639
|
+
minute,
|
|
640
|
+
ampm,
|
|
641
|
+
});
|
|
642
|
+
/**
|
|
643
|
+
* Since `activeParts` indicates a value that
|
|
644
|
+
* been explicitly selected either by the
|
|
645
|
+
* user or the app, only update `activeParts`
|
|
646
|
+
* if the `value` property is set.
|
|
647
|
+
*/
|
|
648
|
+
if (hasValue) {
|
|
649
|
+
if (Array.isArray(valueToProcess)) {
|
|
650
|
+
this.activeParts = [...valueToProcess];
|
|
651
|
+
}
|
|
652
|
+
else {
|
|
653
|
+
this.activeParts = {
|
|
654
|
+
month,
|
|
655
|
+
day,
|
|
656
|
+
year,
|
|
657
|
+
hour,
|
|
658
|
+
minute,
|
|
659
|
+
ampm,
|
|
660
|
+
};
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
else {
|
|
664
|
+
/**
|
|
665
|
+
* Reset the active parts if the value is not set.
|
|
666
|
+
* This will clear the selected calendar day when
|
|
667
|
+
* performing a clear action or using the reset() method.
|
|
668
|
+
*/
|
|
669
|
+
this.activeParts = [];
|
|
670
|
+
}
|
|
671
|
+
};
|
|
672
|
+
this.onFocus = () => {
|
|
673
|
+
this.ionFocus.emit();
|
|
674
|
+
};
|
|
675
|
+
this.onBlur = () => {
|
|
676
|
+
this.ionBlur.emit();
|
|
677
|
+
};
|
|
678
|
+
this.hasValue = () => {
|
|
679
|
+
return this.value != null;
|
|
680
|
+
};
|
|
681
|
+
this.nextMonth = () => {
|
|
682
|
+
const calendarBodyRef = this.calendarBodyRef;
|
|
683
|
+
if (!calendarBodyRef) {
|
|
684
|
+
return;
|
|
685
|
+
}
|
|
686
|
+
const nextMonth = calendarBodyRef.querySelector('.calendar-month:last-of-type');
|
|
687
|
+
if (!nextMonth) {
|
|
688
|
+
return;
|
|
689
|
+
}
|
|
690
|
+
const left = nextMonth.offsetWidth * 2;
|
|
691
|
+
calendarBodyRef.scrollTo({
|
|
692
|
+
top: 0,
|
|
693
|
+
left: left * (dir.isRTL(this.el) ? -1 : 1),
|
|
694
|
+
behavior: 'smooth',
|
|
695
|
+
});
|
|
696
|
+
};
|
|
697
|
+
this.prevMonth = () => {
|
|
698
|
+
const calendarBodyRef = this.calendarBodyRef;
|
|
699
|
+
if (!calendarBodyRef) {
|
|
700
|
+
return;
|
|
701
|
+
}
|
|
702
|
+
const prevMonth = calendarBodyRef.querySelector('.calendar-month:first-of-type');
|
|
703
|
+
if (!prevMonth) {
|
|
704
|
+
return;
|
|
705
|
+
}
|
|
706
|
+
calendarBodyRef.scrollTo({
|
|
707
|
+
top: 0,
|
|
708
|
+
left: 0,
|
|
709
|
+
behavior: 'smooth',
|
|
710
|
+
});
|
|
711
|
+
};
|
|
712
|
+
this.toggleMonthAndYearView = () => {
|
|
713
|
+
this.showMonthAndYear = !this.showMonthAndYear;
|
|
714
|
+
};
|
|
715
|
+
this.showMonthAndYear = false;
|
|
716
|
+
this.activeParts = [];
|
|
717
|
+
this.workingParts = {
|
|
718
|
+
month: 5,
|
|
719
|
+
day: 28,
|
|
720
|
+
year: 2021,
|
|
721
|
+
hour: 13,
|
|
722
|
+
minute: 52,
|
|
723
|
+
ampm: 'pm',
|
|
724
|
+
};
|
|
725
|
+
this.isTimePopoverOpen = false;
|
|
726
|
+
this.color = 'primary';
|
|
727
|
+
this.name = this.inputId;
|
|
728
|
+
this.disabled = false;
|
|
729
|
+
this.readonly = false;
|
|
730
|
+
this.isDateEnabled = undefined;
|
|
731
|
+
this.min = undefined;
|
|
732
|
+
this.max = undefined;
|
|
733
|
+
this.presentation = 'date-time';
|
|
734
|
+
this.cancelText = 'Cancel';
|
|
735
|
+
this.doneText = 'Done';
|
|
736
|
+
this.clearText = 'Clear';
|
|
737
|
+
this.yearValues = undefined;
|
|
738
|
+
this.monthValues = undefined;
|
|
739
|
+
this.dayValues = undefined;
|
|
740
|
+
this.hourValues = undefined;
|
|
741
|
+
this.minuteValues = undefined;
|
|
742
|
+
this.locale = 'default';
|
|
743
|
+
this.firstDayOfWeek = 0;
|
|
744
|
+
this.titleSelectedDatesFormatter = undefined;
|
|
745
|
+
this.multiple = false;
|
|
746
|
+
this.highlightedDates = undefined;
|
|
747
|
+
this.value = undefined;
|
|
748
|
+
this.showDefaultTitle = false;
|
|
749
|
+
this.showDefaultButtons = false;
|
|
750
|
+
this.showClearButton = false;
|
|
751
|
+
this.showDefaultTimeLabel = true;
|
|
752
|
+
this.hourCycle = undefined;
|
|
753
|
+
this.size = 'fixed';
|
|
754
|
+
this.preferWheel = false;
|
|
755
|
+
}
|
|
756
|
+
disabledChanged() {
|
|
757
|
+
this.emitStyle();
|
|
758
|
+
}
|
|
759
|
+
minChanged() {
|
|
760
|
+
this.processMinParts();
|
|
761
|
+
}
|
|
762
|
+
maxChanged() {
|
|
763
|
+
this.processMaxParts();
|
|
764
|
+
}
|
|
765
|
+
yearValuesChanged() {
|
|
766
|
+
this.parsedYearValues = data.convertToArrayOfNumbers(this.yearValues);
|
|
767
|
+
}
|
|
768
|
+
monthValuesChanged() {
|
|
769
|
+
this.parsedMonthValues = data.convertToArrayOfNumbers(this.monthValues);
|
|
770
|
+
}
|
|
771
|
+
dayValuesChanged() {
|
|
772
|
+
this.parsedDayValues = data.convertToArrayOfNumbers(this.dayValues);
|
|
773
|
+
}
|
|
774
|
+
hourValuesChanged() {
|
|
775
|
+
this.parsedHourValues = data.convertToArrayOfNumbers(this.hourValues);
|
|
776
|
+
}
|
|
777
|
+
minuteValuesChanged() {
|
|
778
|
+
this.parsedMinuteValues = data.convertToArrayOfNumbers(this.minuteValues);
|
|
779
|
+
}
|
|
780
|
+
activePartsChanged() {
|
|
781
|
+
this.activePartsClone = this.activeParts;
|
|
782
|
+
}
|
|
783
|
+
/**
|
|
784
|
+
* Update the datetime value when the value changes
|
|
785
|
+
*/
|
|
786
|
+
valueChanged() {
|
|
787
|
+
const { value, minParts, maxParts, workingParts } = this;
|
|
788
|
+
if (this.hasValue()) {
|
|
789
|
+
this.warnIfIncorrectValueUsage();
|
|
790
|
+
/**
|
|
791
|
+
* Clones the value of the `activeParts` to the private clone, to update
|
|
792
|
+
* the date display on the current render cycle without causing another render.
|
|
793
|
+
*
|
|
794
|
+
* This allows us to update the current value's date/time display without
|
|
795
|
+
* refocusing or shifting the user's display (leaves the user in place).
|
|
796
|
+
*/
|
|
797
|
+
const valueDateParts = data.parseDate(value);
|
|
798
|
+
if (valueDateParts) {
|
|
799
|
+
data.warnIfValueOutOfBounds(valueDateParts, minParts, maxParts);
|
|
800
|
+
if (Array.isArray(valueDateParts)) {
|
|
801
|
+
this.activePartsClone = [...valueDateParts];
|
|
802
|
+
}
|
|
803
|
+
else {
|
|
804
|
+
const { month, day, year, hour, minute } = valueDateParts;
|
|
805
|
+
const ampm = hour != null ? (hour >= 12 ? 'pm' : 'am') : undefined;
|
|
806
|
+
this.activePartsClone = Object.assign(Object.assign({}, this.activeParts), { month,
|
|
807
|
+
day,
|
|
808
|
+
year,
|
|
809
|
+
hour,
|
|
810
|
+
minute,
|
|
811
|
+
ampm });
|
|
812
|
+
/**
|
|
813
|
+
* The working parts am/pm value must be updated when the value changes, to
|
|
814
|
+
* ensure the time picker hour column values are generated correctly.
|
|
815
|
+
*
|
|
816
|
+
* Note that we don't need to do this if valueDateParts is an array, since
|
|
817
|
+
* multiple="true" does not apply to time pickers.
|
|
818
|
+
*/
|
|
819
|
+
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm }));
|
|
820
|
+
}
|
|
821
|
+
}
|
|
822
|
+
else {
|
|
823
|
+
index.printIonWarning(`Unable to parse date string: ${value}. Please provide a valid ISO 8601 datetime string.`);
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
this.emitStyle();
|
|
827
|
+
this.ionValueChange.emit({ value });
|
|
828
|
+
}
|
|
829
|
+
/**
|
|
830
|
+
* Confirms the selected datetime value, updates the
|
|
831
|
+
* `value` property, and optionally closes the popover
|
|
832
|
+
* or modal that the datetime was presented in.
|
|
833
|
+
*/
|
|
834
|
+
async confirm(closeOverlay = false) {
|
|
835
|
+
const { isCalendarPicker, activeParts } = this;
|
|
836
|
+
/**
|
|
837
|
+
* We only update the value if the presentation is not a calendar picker.
|
|
838
|
+
*/
|
|
839
|
+
if (activeParts !== undefined || !isCalendarPicker) {
|
|
840
|
+
const activePartsIsArray = Array.isArray(activeParts);
|
|
841
|
+
if (activePartsIsArray && activeParts.length === 0) {
|
|
842
|
+
this.setValue(undefined);
|
|
843
|
+
}
|
|
844
|
+
else {
|
|
845
|
+
this.setValue(data.convertDataToISO(activeParts));
|
|
846
|
+
}
|
|
847
|
+
}
|
|
848
|
+
if (closeOverlay) {
|
|
849
|
+
this.closeParentOverlay();
|
|
850
|
+
}
|
|
851
|
+
}
|
|
852
|
+
/**
|
|
853
|
+
* Resets the internal state of the datetime but does not update the value.
|
|
854
|
+
* Passing a valid ISO-8601 string will reset the state of the component to the provided date.
|
|
855
|
+
* If no value is provided, the internal state will be reset to the clamped value of the min, max and today.
|
|
856
|
+
*/
|
|
857
|
+
async reset(startDate) {
|
|
858
|
+
this.processValue(startDate);
|
|
859
|
+
}
|
|
860
|
+
/**
|
|
861
|
+
* Emits the ionCancel event and
|
|
862
|
+
* optionally closes the popover
|
|
863
|
+
* or modal that the datetime was
|
|
864
|
+
* presented in.
|
|
865
|
+
*/
|
|
866
|
+
async cancel(closeOverlay = false) {
|
|
867
|
+
this.ionCancel.emit();
|
|
868
|
+
if (closeOverlay) {
|
|
869
|
+
this.closeParentOverlay();
|
|
870
|
+
}
|
|
871
|
+
}
|
|
872
|
+
get isCalendarPicker() {
|
|
873
|
+
const { presentation } = this;
|
|
874
|
+
return presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
875
|
+
}
|
|
876
|
+
connectedCallback() {
|
|
877
|
+
this.clearFocusVisible = focusVisible.startFocusVisible(this.el).destroy;
|
|
878
|
+
}
|
|
879
|
+
disconnectedCallback() {
|
|
880
|
+
if (this.clearFocusVisible) {
|
|
881
|
+
this.clearFocusVisible();
|
|
882
|
+
this.clearFocusVisible = undefined;
|
|
883
|
+
}
|
|
884
|
+
}
|
|
885
|
+
initializeListeners() {
|
|
886
|
+
this.initializeCalendarListener();
|
|
887
|
+
this.initializeKeyboardListeners();
|
|
888
|
+
}
|
|
889
|
+
componentDidLoad() {
|
|
890
|
+
/**
|
|
891
|
+
* If a scrollable element is hidden using `display: none`,
|
|
892
|
+
* it will not have a scroll height meaning we cannot scroll elements
|
|
893
|
+
* into view. As a result, we will need to wait for the datetime to become
|
|
894
|
+
* visible if used inside of a modal or a popover otherwise the scrollable
|
|
895
|
+
* areas will not have the correct values snapped into place.
|
|
896
|
+
*/
|
|
897
|
+
const visibleCallback = (entries) => {
|
|
898
|
+
const ev = entries[0];
|
|
899
|
+
if (!ev.isIntersecting) {
|
|
900
|
+
return;
|
|
901
|
+
}
|
|
902
|
+
this.initializeListeners();
|
|
903
|
+
/**
|
|
904
|
+
* TODO FW-2793: Datetime needs a frame to ensure that it
|
|
905
|
+
* can properly scroll contents into view. As a result
|
|
906
|
+
* we hide the scrollable content until after that frame
|
|
907
|
+
* so users do not see the content quickly shifting. The downside
|
|
908
|
+
* is that the content will pop into view a frame after. Maybe there
|
|
909
|
+
* is a better way to handle this?
|
|
910
|
+
*/
|
|
911
|
+
index$1.writeTask(() => {
|
|
912
|
+
this.el.classList.add('datetime-ready');
|
|
913
|
+
});
|
|
914
|
+
};
|
|
915
|
+
const visibleIO = new IntersectionObserver(visibleCallback, { threshold: 0.01 });
|
|
916
|
+
/**
|
|
917
|
+
* Use raf to avoid a race condition between the component loading and
|
|
918
|
+
* its display animation starting (such as when shown in a modal). This
|
|
919
|
+
* could cause the datetime to start at a visibility of 0, erroneously
|
|
920
|
+
* triggering the `hiddenIO` observer below.
|
|
921
|
+
*/
|
|
922
|
+
helpers.raf(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(this.el));
|
|
923
|
+
/**
|
|
924
|
+
* We need to clean up listeners when the datetime is hidden
|
|
925
|
+
* in a popover/modal so that we can properly scroll containers
|
|
926
|
+
* back into view if they are re-presented. When the datetime is hidden
|
|
927
|
+
* the scroll areas have scroll widths/heights of 0px, so any snapping
|
|
928
|
+
* we did originally has been lost.
|
|
929
|
+
*/
|
|
930
|
+
const hiddenCallback = (entries) => {
|
|
931
|
+
const ev = entries[0];
|
|
932
|
+
if (ev.isIntersecting) {
|
|
933
|
+
return;
|
|
934
|
+
}
|
|
935
|
+
this.destroyInteractionListeners();
|
|
936
|
+
/**
|
|
937
|
+
* When datetime is hidden, we need to make sure that
|
|
938
|
+
* the month/year picker is closed. Otherwise,
|
|
939
|
+
* it will be open when the datetime re-appears
|
|
940
|
+
* and the scroll area of the calendar grid will be 0.
|
|
941
|
+
* As a result, the wrong month will be shown.
|
|
942
|
+
*/
|
|
943
|
+
this.showMonthAndYear = false;
|
|
944
|
+
index$1.writeTask(() => {
|
|
945
|
+
this.el.classList.remove('datetime-ready');
|
|
946
|
+
});
|
|
947
|
+
};
|
|
948
|
+
const hiddenIO = new IntersectionObserver(hiddenCallback, { threshold: 0 });
|
|
949
|
+
helpers.raf(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(this.el));
|
|
950
|
+
/**
|
|
951
|
+
* Datetime uses Ionic components that emit
|
|
952
|
+
* ionFocus and ionBlur. These events are
|
|
953
|
+
* composed meaning they will cross
|
|
954
|
+
* the shadow dom boundary. We need to
|
|
955
|
+
* stop propagation on these events otherwise
|
|
956
|
+
* developers will see 2 ionFocus or 2 ionBlur
|
|
957
|
+
* events at a time.
|
|
958
|
+
*/
|
|
959
|
+
const root = helpers.getElementRoot(this.el);
|
|
960
|
+
root.addEventListener('ionFocus', (ev) => ev.stopPropagation());
|
|
961
|
+
root.addEventListener('ionBlur', (ev) => ev.stopPropagation());
|
|
962
|
+
}
|
|
963
|
+
/**
|
|
964
|
+
* When the presentation is changed, all calendar content is recreated,
|
|
965
|
+
* so we need to re-init behavior with the new elements.
|
|
966
|
+
*/
|
|
967
|
+
componentDidRender() {
|
|
968
|
+
const { presentation, prevPresentation, calendarBodyRef, minParts, preferWheel } = this;
|
|
969
|
+
/**
|
|
970
|
+
* TODO(FW-2165)
|
|
971
|
+
* Remove this when https://bugs.webkit.org/show_bug.cgi?id=235960 is fixed.
|
|
972
|
+
* When using `min`, we add `scroll-snap-align: none`
|
|
973
|
+
* to the disabled month so that users cannot scroll to it.
|
|
974
|
+
* This triggers a bug in WebKit where the scroll position is reset.
|
|
975
|
+
* Since the month change logic is handled by a scroll listener,
|
|
976
|
+
* this causes the month to change leading to `scroll-snap-align`
|
|
977
|
+
* changing again, thus changing the scroll position again and causing
|
|
978
|
+
* an infinite loop.
|
|
979
|
+
* This issue only applies to the calendar grid, so we can disable
|
|
980
|
+
* it if the calendar grid is not being used.
|
|
981
|
+
*/
|
|
982
|
+
const hasCalendarGrid = !preferWheel && ['date-time', 'time-date', 'date'].includes(presentation);
|
|
983
|
+
if (minParts !== undefined && hasCalendarGrid && calendarBodyRef) {
|
|
984
|
+
const workingMonth = calendarBodyRef.querySelector('.calendar-month:nth-of-type(1)');
|
|
985
|
+
if (workingMonth) {
|
|
986
|
+
calendarBodyRef.scrollLeft = workingMonth.clientWidth * (dir.isRTL(this.el) ? -1 : 1);
|
|
987
|
+
}
|
|
988
|
+
}
|
|
989
|
+
if (prevPresentation === null) {
|
|
990
|
+
this.prevPresentation = presentation;
|
|
991
|
+
return;
|
|
992
|
+
}
|
|
993
|
+
if (presentation === prevPresentation) {
|
|
994
|
+
return;
|
|
995
|
+
}
|
|
996
|
+
this.prevPresentation = presentation;
|
|
997
|
+
this.destroyInteractionListeners();
|
|
998
|
+
this.initializeListeners();
|
|
999
|
+
/**
|
|
1000
|
+
* The month/year picker from the date interface
|
|
1001
|
+
* should be closed as it is not available in non-date
|
|
1002
|
+
* interfaces.
|
|
1003
|
+
*/
|
|
1004
|
+
this.showMonthAndYear = false;
|
|
1005
|
+
helpers.raf(() => {
|
|
1006
|
+
this.ionRender.emit();
|
|
1007
|
+
});
|
|
1008
|
+
}
|
|
1009
|
+
componentWillLoad() {
|
|
1010
|
+
const { el, highlightedDates, multiple, presentation, preferWheel } = this;
|
|
1011
|
+
if (multiple) {
|
|
1012
|
+
if (presentation !== 'date') {
|
|
1013
|
+
index.printIonWarning('Multiple date selection is only supported for presentation="date".', el);
|
|
1014
|
+
}
|
|
1015
|
+
if (preferWheel) {
|
|
1016
|
+
index.printIonWarning('Multiple date selection is not supported with preferWheel="true".', el);
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
if (highlightedDates !== undefined) {
|
|
1020
|
+
if (presentation !== 'date' && presentation !== 'date-time' && presentation !== 'time-date') {
|
|
1021
|
+
index.printIonWarning('The highlightedDates property is only supported with the date, date-time, and time-date presentations.', el);
|
|
1022
|
+
}
|
|
1023
|
+
if (preferWheel) {
|
|
1024
|
+
index.printIonWarning('The highlightedDates property is not supported with preferWheel="true".', el);
|
|
1025
|
+
}
|
|
1026
|
+
}
|
|
1027
|
+
this.processMinParts();
|
|
1028
|
+
this.processMaxParts();
|
|
1029
|
+
const hourValues = (this.parsedHourValues = data.convertToArrayOfNumbers(this.hourValues));
|
|
1030
|
+
const minuteValues = (this.parsedMinuteValues = data.convertToArrayOfNumbers(this.minuteValues));
|
|
1031
|
+
const monthValues = (this.parsedMonthValues = data.convertToArrayOfNumbers(this.monthValues));
|
|
1032
|
+
const yearValues = (this.parsedYearValues = data.convertToArrayOfNumbers(this.yearValues));
|
|
1033
|
+
const dayValues = (this.parsedDayValues = data.convertToArrayOfNumbers(this.dayValues));
|
|
1034
|
+
const todayParts = (this.todayParts = data.parseDate(data.getToday()));
|
|
1035
|
+
this.defaultParts = data.getClosestValidDate(todayParts, monthValues, dayValues, yearValues, hourValues, minuteValues);
|
|
1036
|
+
this.processValue(this.value);
|
|
1037
|
+
this.emitStyle();
|
|
1038
|
+
}
|
|
1039
|
+
emitStyle() {
|
|
1040
|
+
this.ionStyle.emit({
|
|
1041
|
+
interactive: true,
|
|
1042
|
+
datetime: true,
|
|
1043
|
+
'interactive-disabled': this.disabled,
|
|
1044
|
+
});
|
|
1045
|
+
}
|
|
1046
|
+
/**
|
|
1047
|
+
* Universal render methods
|
|
1048
|
+
* These are pieces of datetime that
|
|
1049
|
+
* are rendered independently of presentation.
|
|
1050
|
+
*/
|
|
1051
|
+
renderFooter() {
|
|
1052
|
+
const { showDefaultButtons, showClearButton } = this;
|
|
1053
|
+
const hasSlottedButtons = this.el.querySelector('[slot="buttons"]') !== null;
|
|
1054
|
+
if (!hasSlottedButtons && !showDefaultButtons && !showClearButton) {
|
|
1055
|
+
return;
|
|
1056
|
+
}
|
|
1057
|
+
const clearButtonClick = () => {
|
|
1058
|
+
this.reset();
|
|
1059
|
+
this.setValue(undefined);
|
|
1060
|
+
};
|
|
1061
|
+
/**
|
|
1062
|
+
* By default we render two buttons:
|
|
1063
|
+
* Cancel - Dismisses the datetime and
|
|
1064
|
+
* does not update the `value` prop.
|
|
1065
|
+
* OK - Dismisses the datetime and
|
|
1066
|
+
* updates the `value` prop.
|
|
1067
|
+
*/
|
|
1068
|
+
return (index$1.h("div", { class: "datetime-footer" }, index$1.h("div", { class: "datetime-buttons" }, index$1.h("div", { class: {
|
|
1069
|
+
['datetime-action-buttons']: true,
|
|
1070
|
+
['has-clear-button']: this.showClearButton,
|
|
1071
|
+
} }, index$1.h("slot", { name: "buttons" }, index$1.h("ion-buttons", null, showDefaultButtons && (index$1.h("ion-button", { id: "cancel-button", color: this.color, onClick: () => this.cancel(true) }, this.cancelText)), index$1.h("div", null, showClearButton && (index$1.h("ion-button", { id: "clear-button", color: this.color, onClick: () => clearButtonClick() }, this.clearText)), showDefaultButtons && (index$1.h("ion-button", { id: "confirm-button", color: this.color, onClick: () => this.confirm(true) }, this.doneText)))))))));
|
|
1072
|
+
}
|
|
1073
|
+
/**
|
|
1074
|
+
* Wheel picker render methods
|
|
1075
|
+
*/
|
|
1076
|
+
renderWheelPicker(forcePresentation = this.presentation) {
|
|
1077
|
+
/**
|
|
1078
|
+
* If presentation="time-date" we switch the
|
|
1079
|
+
* order of the render array here instead of
|
|
1080
|
+
* manually reordering each date/time picker
|
|
1081
|
+
* column with CSS. This allows for additional
|
|
1082
|
+
* flexibility if we need to render subsets
|
|
1083
|
+
* of the date/time data or do additional ordering
|
|
1084
|
+
* within the child render functions.
|
|
1085
|
+
*/
|
|
1086
|
+
const renderArray = forcePresentation === 'time-date'
|
|
1087
|
+
? [this.renderTimePickerColumns(forcePresentation), this.renderDatePickerColumns(forcePresentation)]
|
|
1088
|
+
: [this.renderDatePickerColumns(forcePresentation), this.renderTimePickerColumns(forcePresentation)];
|
|
1089
|
+
return index$1.h("ion-picker-internal", null, renderArray);
|
|
1090
|
+
}
|
|
1091
|
+
renderDatePickerColumns(forcePresentation) {
|
|
1092
|
+
return forcePresentation === 'date-time' || forcePresentation === 'time-date'
|
|
1093
|
+
? this.renderCombinedDatePickerColumn()
|
|
1094
|
+
: this.renderIndividualDatePickerColumns(forcePresentation);
|
|
1095
|
+
}
|
|
1096
|
+
renderCombinedDatePickerColumn() {
|
|
1097
|
+
const { defaultParts, workingParts, locale, minParts, maxParts, todayParts, isDateEnabled } = this;
|
|
1098
|
+
const activePart = this.getActivePartsWithFallback();
|
|
1099
|
+
/**
|
|
1100
|
+
* By default, generate a range of 3 months:
|
|
1101
|
+
* Previous month, current month, and next month
|
|
1102
|
+
*/
|
|
1103
|
+
const monthsToRender = data.generateMonths(workingParts);
|
|
1104
|
+
const lastMonth = monthsToRender[monthsToRender.length - 1];
|
|
1105
|
+
/**
|
|
1106
|
+
* Ensure that users can select the entire window of dates.
|
|
1107
|
+
*/
|
|
1108
|
+
monthsToRender[0].day = 1;
|
|
1109
|
+
lastMonth.day = data.getNumDaysInMonth(lastMonth.month, lastMonth.year);
|
|
1110
|
+
/**
|
|
1111
|
+
* Narrow the dates rendered based on min/max dates (if any).
|
|
1112
|
+
* The `min` date is used if the min is after the generated min month.
|
|
1113
|
+
* The `max` date is used if the max is before the generated max month.
|
|
1114
|
+
* This ensures that the sliding window always stays at 3 months
|
|
1115
|
+
* but still allows future dates to be lazily rendered based on any min/max
|
|
1116
|
+
* constraints.
|
|
1117
|
+
*/
|
|
1118
|
+
const min = minParts !== undefined && data.isAfter(minParts, monthsToRender[0]) ? minParts : monthsToRender[0];
|
|
1119
|
+
const max = maxParts !== undefined && data.isBefore(maxParts, lastMonth) ? maxParts : lastMonth;
|
|
1120
|
+
const result = data.getCombinedDateColumnData(locale, todayParts, min, max, this.parsedDayValues, this.parsedMonthValues);
|
|
1121
|
+
let items = result.items;
|
|
1122
|
+
const parts = result.parts;
|
|
1123
|
+
if (isDateEnabled) {
|
|
1124
|
+
items = items.map((itemObject, index$1) => {
|
|
1125
|
+
const referenceParts = parts[index$1];
|
|
1126
|
+
let disabled;
|
|
1127
|
+
try {
|
|
1128
|
+
/**
|
|
1129
|
+
* The `isDateEnabled` implementation is try-catch wrapped
|
|
1130
|
+
* to prevent exceptions in the user's function from
|
|
1131
|
+
* interrupting the calendar rendering.
|
|
1132
|
+
*/
|
|
1133
|
+
disabled = !isDateEnabled(data.convertDataToISO(referenceParts));
|
|
1134
|
+
}
|
|
1135
|
+
catch (e) {
|
|
1136
|
+
index.printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
|
|
1137
|
+
}
|
|
1138
|
+
return Object.assign(Object.assign({}, itemObject), { disabled });
|
|
1139
|
+
});
|
|
1140
|
+
}
|
|
1141
|
+
/**
|
|
1142
|
+
* If we have selected a day already, then default the column
|
|
1143
|
+
* to that value. Otherwise, set it to the default date.
|
|
1144
|
+
*/
|
|
1145
|
+
const todayString = workingParts.day !== null
|
|
1146
|
+
? `${workingParts.year}-${workingParts.month}-${workingParts.day}`
|
|
1147
|
+
: `${defaultParts.year}-${defaultParts.month}-${defaultParts.day}`;
|
|
1148
|
+
return (index$1.h("ion-picker-column-internal", { class: "date-column", color: this.color, items: items, value: todayString, onIonChange: (ev) => {
|
|
1149
|
+
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1150
|
+
// Due to a Safari 14 issue we need to destroy
|
|
1151
|
+
// the scroll listener before we update state
|
|
1152
|
+
// and trigger a re-render.
|
|
1153
|
+
if (this.destroyCalendarListener) {
|
|
1154
|
+
this.destroyCalendarListener();
|
|
1155
|
+
}
|
|
1156
|
+
const { value } = ev.detail;
|
|
1157
|
+
const findPart = parts.find(({ month, day, year }) => value === `${year}-${month}-${day}`);
|
|
1158
|
+
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), findPart));
|
|
1159
|
+
this.setActiveParts(Object.assign(Object.assign({}, activePart), findPart));
|
|
1160
|
+
// We can re-attach the scroll listener after
|
|
1161
|
+
// the working parts have been updated.
|
|
1162
|
+
this.initializeCalendarListener();
|
|
1163
|
+
ev.stopPropagation();
|
|
1164
|
+
} }));
|
|
1165
|
+
}
|
|
1166
|
+
renderIndividualDatePickerColumns(forcePresentation) {
|
|
1167
|
+
const { workingParts, isDateEnabled } = this;
|
|
1168
|
+
const shouldRenderMonths = forcePresentation !== 'year' && forcePresentation !== 'time';
|
|
1169
|
+
const months = shouldRenderMonths
|
|
1170
|
+
? data.getMonthColumnData(this.locale, workingParts, this.minParts, this.maxParts, this.parsedMonthValues)
|
|
1171
|
+
: [];
|
|
1172
|
+
const shouldRenderDays = forcePresentation === 'date';
|
|
1173
|
+
let days = shouldRenderDays
|
|
1174
|
+
? data.getDayColumnData(this.locale, workingParts, this.minParts, this.maxParts, this.parsedDayValues)
|
|
1175
|
+
: [];
|
|
1176
|
+
if (isDateEnabled) {
|
|
1177
|
+
days = days.map((dayObject) => {
|
|
1178
|
+
const { value } = dayObject;
|
|
1179
|
+
const valueNum = typeof value === 'string' ? parseInt(value) : value;
|
|
1180
|
+
const referenceParts = {
|
|
1181
|
+
month: workingParts.month,
|
|
1182
|
+
day: valueNum,
|
|
1183
|
+
year: workingParts.year,
|
|
1184
|
+
};
|
|
1185
|
+
let disabled;
|
|
1186
|
+
try {
|
|
1187
|
+
/**
|
|
1188
|
+
* The `isDateEnabled` implementation is try-catch wrapped
|
|
1189
|
+
* to prevent exceptions in the user's function from
|
|
1190
|
+
* interrupting the calendar rendering.
|
|
1191
|
+
*/
|
|
1192
|
+
disabled = !isDateEnabled(data.convertDataToISO(referenceParts));
|
|
1193
|
+
}
|
|
1194
|
+
catch (e) {
|
|
1195
|
+
index.printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
|
|
1196
|
+
}
|
|
1197
|
+
return Object.assign(Object.assign({}, dayObject), { disabled });
|
|
1198
|
+
});
|
|
1199
|
+
}
|
|
1200
|
+
const shouldRenderYears = forcePresentation !== 'month' && forcePresentation !== 'time';
|
|
1201
|
+
const years = shouldRenderYears
|
|
1202
|
+
? data.getYearColumnData(this.locale, this.defaultParts, this.minParts, this.maxParts, this.parsedYearValues)
|
|
1203
|
+
: [];
|
|
1204
|
+
/**
|
|
1205
|
+
* Certain locales show the day before the month.
|
|
1206
|
+
*/
|
|
1207
|
+
const showMonthFirst = data.isMonthFirstLocale(this.locale, { month: 'numeric', day: 'numeric' });
|
|
1208
|
+
let renderArray = [];
|
|
1209
|
+
if (showMonthFirst) {
|
|
1210
|
+
renderArray = [
|
|
1211
|
+
this.renderMonthPickerColumn(months),
|
|
1212
|
+
this.renderDayPickerColumn(days),
|
|
1213
|
+
this.renderYearPickerColumn(years),
|
|
1214
|
+
];
|
|
1215
|
+
}
|
|
1216
|
+
else {
|
|
1217
|
+
renderArray = [
|
|
1218
|
+
this.renderDayPickerColumn(days),
|
|
1219
|
+
this.renderMonthPickerColumn(months),
|
|
1220
|
+
this.renderYearPickerColumn(years),
|
|
1221
|
+
];
|
|
1222
|
+
}
|
|
1223
|
+
return renderArray;
|
|
1224
|
+
}
|
|
1225
|
+
renderDayPickerColumn(days) {
|
|
1226
|
+
var _a;
|
|
1227
|
+
if (days.length === 0) {
|
|
1228
|
+
return [];
|
|
1229
|
+
}
|
|
1230
|
+
const { workingParts } = this;
|
|
1231
|
+
const activePart = this.getActivePartsWithFallback();
|
|
1232
|
+
return (index$1.h("ion-picker-column-internal", { class: "day-column", color: this.color, items: days, value: (_a = (workingParts.day !== null ? workingParts.day : this.defaultParts.day)) !== null && _a !== void 0 ? _a : undefined, onIonChange: (ev) => {
|
|
1233
|
+
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1234
|
+
// Due to a Safari 14 issue we need to destroy
|
|
1235
|
+
// the scroll listener before we update state
|
|
1236
|
+
// and trigger a re-render.
|
|
1237
|
+
if (this.destroyCalendarListener) {
|
|
1238
|
+
this.destroyCalendarListener();
|
|
1239
|
+
}
|
|
1240
|
+
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { day: ev.detail.value }));
|
|
1241
|
+
this.setActiveParts(Object.assign(Object.assign({}, activePart), { day: ev.detail.value }));
|
|
1242
|
+
// We can re-attach the scroll listener after
|
|
1243
|
+
// the working parts have been updated.
|
|
1244
|
+
this.initializeCalendarListener();
|
|
1245
|
+
ev.stopPropagation();
|
|
1246
|
+
} }));
|
|
1247
|
+
}
|
|
1248
|
+
renderMonthPickerColumn(months) {
|
|
1249
|
+
if (months.length === 0) {
|
|
1250
|
+
return [];
|
|
1251
|
+
}
|
|
1252
|
+
const { workingParts } = this;
|
|
1253
|
+
const activePart = this.getActivePartsWithFallback();
|
|
1254
|
+
return (index$1.h("ion-picker-column-internal", { class: "month-column", color: this.color, items: months, value: workingParts.month, onIonChange: (ev) => {
|
|
1255
|
+
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1256
|
+
// Due to a Safari 14 issue we need to destroy
|
|
1257
|
+
// the scroll listener before we update state
|
|
1258
|
+
// and trigger a re-render.
|
|
1259
|
+
if (this.destroyCalendarListener) {
|
|
1260
|
+
this.destroyCalendarListener();
|
|
1261
|
+
}
|
|
1262
|
+
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { month: ev.detail.value }));
|
|
1263
|
+
this.setActiveParts(Object.assign(Object.assign({}, activePart), { month: ev.detail.value }));
|
|
1264
|
+
// We can re-attach the scroll listener after
|
|
1265
|
+
// the working parts have been updated.
|
|
1266
|
+
this.initializeCalendarListener();
|
|
1267
|
+
ev.stopPropagation();
|
|
1268
|
+
} }));
|
|
1269
|
+
}
|
|
1270
|
+
renderYearPickerColumn(years) {
|
|
1271
|
+
if (years.length === 0) {
|
|
1272
|
+
return [];
|
|
1273
|
+
}
|
|
1274
|
+
const { workingParts } = this;
|
|
1275
|
+
const activePart = this.getActivePartsWithFallback();
|
|
1276
|
+
return (index$1.h("ion-picker-column-internal", { class: "year-column", color: this.color, items: years, value: workingParts.year, onIonChange: (ev) => {
|
|
1277
|
+
// TODO(FW-1823) Remove this when iOS 14 support is dropped.
|
|
1278
|
+
// Due to a Safari 14 issue we need to destroy
|
|
1279
|
+
// the scroll listener before we update state
|
|
1280
|
+
// and trigger a re-render.
|
|
1281
|
+
if (this.destroyCalendarListener) {
|
|
1282
|
+
this.destroyCalendarListener();
|
|
1283
|
+
}
|
|
1284
|
+
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { year: ev.detail.value }));
|
|
1285
|
+
this.setActiveParts(Object.assign(Object.assign({}, activePart), { year: ev.detail.value }));
|
|
1286
|
+
// We can re-attach the scroll listener after
|
|
1287
|
+
// the working parts have been updated.
|
|
1288
|
+
this.initializeCalendarListener();
|
|
1289
|
+
ev.stopPropagation();
|
|
1290
|
+
} }));
|
|
1291
|
+
}
|
|
1292
|
+
renderTimePickerColumns(forcePresentation) {
|
|
1293
|
+
if (['date', 'month', 'month-year', 'year'].includes(forcePresentation)) {
|
|
1294
|
+
return [];
|
|
1295
|
+
}
|
|
1296
|
+
/**
|
|
1297
|
+
* If a user has not selected a date,
|
|
1298
|
+
* then we should show all times. If the
|
|
1299
|
+
* user has selected a date (even if it has
|
|
1300
|
+
* not been confirmed yet), we should apply
|
|
1301
|
+
* the max and min restrictions so that the
|
|
1302
|
+
* time picker shows values that are
|
|
1303
|
+
* appropriate for the selected date.
|
|
1304
|
+
*/
|
|
1305
|
+
const activePart = this.getActivePart();
|
|
1306
|
+
const userHasSelectedDate = activePart !== undefined;
|
|
1307
|
+
const { hoursData, minutesData, dayPeriodData } = data.getTimeColumnsData(this.locale, this.workingParts, this.hourCycle, userHasSelectedDate ? this.minParts : undefined, userHasSelectedDate ? this.maxParts : undefined, this.parsedHourValues, this.parsedMinuteValues);
|
|
1308
|
+
return [
|
|
1309
|
+
this.renderHourPickerColumn(hoursData),
|
|
1310
|
+
this.renderMinutePickerColumn(minutesData),
|
|
1311
|
+
this.renderDayPeriodPickerColumn(dayPeriodData),
|
|
1312
|
+
];
|
|
1313
|
+
}
|
|
1314
|
+
renderHourPickerColumn(hoursData) {
|
|
1315
|
+
const { workingParts } = this;
|
|
1316
|
+
if (hoursData.length === 0)
|
|
1317
|
+
return [];
|
|
1318
|
+
const activePart = this.getActivePartsWithFallback();
|
|
1319
|
+
return (index$1.h("ion-picker-column-internal", { color: this.color, value: activePart.hour, items: hoursData, numericInput: true, onIonChange: (ev) => {
|
|
1320
|
+
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { hour: ev.detail.value }));
|
|
1321
|
+
this.setActiveParts(Object.assign(Object.assign({}, activePart), { hour: ev.detail.value }));
|
|
1322
|
+
ev.stopPropagation();
|
|
1323
|
+
} }));
|
|
1324
|
+
}
|
|
1325
|
+
renderMinutePickerColumn(minutesData) {
|
|
1326
|
+
const { workingParts } = this;
|
|
1327
|
+
if (minutesData.length === 0)
|
|
1328
|
+
return [];
|
|
1329
|
+
const activePart = this.getActivePartsWithFallback();
|
|
1330
|
+
return (index$1.h("ion-picker-column-internal", { color: this.color, value: activePart.minute, items: minutesData, numericInput: true, onIonChange: (ev) => {
|
|
1331
|
+
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { minute: ev.detail.value }));
|
|
1332
|
+
this.setActiveParts(Object.assign(Object.assign({}, activePart), { minute: ev.detail.value }));
|
|
1333
|
+
ev.stopPropagation();
|
|
1334
|
+
} }));
|
|
1335
|
+
}
|
|
1336
|
+
renderDayPeriodPickerColumn(dayPeriodData) {
|
|
1337
|
+
const { workingParts } = this;
|
|
1338
|
+
if (dayPeriodData.length === 0) {
|
|
1339
|
+
return [];
|
|
1340
|
+
}
|
|
1341
|
+
const activePart = this.getActivePartsWithFallback();
|
|
1342
|
+
const isDayPeriodRTL = data.isLocaleDayPeriodRTL(this.locale);
|
|
1343
|
+
return (index$1.h("ion-picker-column-internal", { style: isDayPeriodRTL ? { order: '-1' } : {}, color: this.color, value: activePart.ampm, items: dayPeriodData, onIonChange: (ev) => {
|
|
1344
|
+
const hour = data.calculateHourFromAMPM(workingParts, ev.detail.value);
|
|
1345
|
+
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), { ampm: ev.detail.value, hour }));
|
|
1346
|
+
this.setActiveParts(Object.assign(Object.assign({}, activePart), { ampm: ev.detail.value, hour }));
|
|
1347
|
+
ev.stopPropagation();
|
|
1348
|
+
} }));
|
|
1349
|
+
}
|
|
1350
|
+
renderWheelView(forcePresentation) {
|
|
1351
|
+
const { locale } = this;
|
|
1352
|
+
const showMonthFirst = data.isMonthFirstLocale(locale);
|
|
1353
|
+
const columnOrder = showMonthFirst ? 'month-first' : 'year-first';
|
|
1354
|
+
return (index$1.h("div", { class: {
|
|
1355
|
+
[`wheel-order-${columnOrder}`]: true,
|
|
1356
|
+
} }, this.renderWheelPicker(forcePresentation)));
|
|
1357
|
+
}
|
|
1358
|
+
/**
|
|
1359
|
+
* Grid Render Methods
|
|
1360
|
+
*/
|
|
1361
|
+
renderCalendarHeader(mode) {
|
|
1362
|
+
const expandedIcon = mode === 'ios' ? index$2.chevronDown : index$2.caretUpSharp;
|
|
1363
|
+
const collapsedIcon = mode === 'ios' ? index$2.chevronForward : index$2.caretDownSharp;
|
|
1364
|
+
const prevMonthDisabled = isPrevMonthDisabled(this.workingParts, this.minParts, this.maxParts);
|
|
1365
|
+
const nextMonthDisabled = isNextMonthDisabled(this.workingParts, this.maxParts);
|
|
1366
|
+
// don't use the inheritAttributes util because it removes dir from the host, and we still need that
|
|
1367
|
+
const hostDir = this.el.getAttribute('dir') || undefined;
|
|
1368
|
+
return (index$1.h("div", { class: "calendar-header" }, index$1.h("div", { class: "calendar-action-buttons" }, index$1.h("div", { class: "calendar-month-year" }, index$1.h("ion-item", { part: "month-year-button", ref: (el) => (this.monthYearToggleItemRef = el), button: true, "aria-label": "Show year picker", detail: false, lines: "none", onClick: () => {
|
|
1369
|
+
var _a;
|
|
1370
|
+
this.toggleMonthAndYearView();
|
|
1371
|
+
/**
|
|
1372
|
+
* TODO: FW-3547
|
|
1373
|
+
*
|
|
1374
|
+
* Currently there is not a way to set the aria-label on the inner button
|
|
1375
|
+
* on the `ion-item` and have it be reactive to changes. This is a workaround
|
|
1376
|
+
* until we either refactor `ion-item` to a button or Stencil adds a way to
|
|
1377
|
+
* have reactive props for built-in properties, such as `aria-label`.
|
|
1378
|
+
*/
|
|
1379
|
+
const { monthYearToggleItemRef } = this;
|
|
1380
|
+
if (monthYearToggleItemRef) {
|
|
1381
|
+
const btn = (_a = monthYearToggleItemRef.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.item-native');
|
|
1382
|
+
if (btn) {
|
|
1383
|
+
const monthYearAriaLabel = this.showMonthAndYear ? 'Hide year picker' : 'Show year picker';
|
|
1384
|
+
btn.setAttribute('aria-label', monthYearAriaLabel);
|
|
1385
|
+
}
|
|
1386
|
+
}
|
|
1387
|
+
} }, index$1.h("ion-label", null, data.getMonthAndYear(this.locale, this.workingParts), index$1.h("ion-icon", { "aria-hidden": "true", icon: this.showMonthAndYear ? expandedIcon : collapsedIcon, lazy: false, flipRtl: true })))), index$1.h("div", { class: "calendar-next-prev" }, index$1.h("ion-buttons", null, index$1.h("ion-button", { "aria-label": "Previous month", disabled: prevMonthDisabled, onClick: () => this.prevMonth() }, index$1.h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: index$2.chevronBack, lazy: false, flipRtl: true })), index$1.h("ion-button", { "aria-label": "Next month", disabled: nextMonthDisabled, onClick: () => this.nextMonth() }, index$1.h("ion-icon", { dir: hostDir, "aria-hidden": "true", slot: "icon-only", icon: index$2.chevronForward, lazy: false, flipRtl: true }))))), index$1.h("div", { class: "calendar-days-of-week", "aria-hidden": "true" }, data.getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map((d) => {
|
|
1388
|
+
return index$1.h("div", { class: "day-of-week" }, d);
|
|
1389
|
+
}))));
|
|
1390
|
+
}
|
|
1391
|
+
renderMonth(month, year) {
|
|
1392
|
+
const yearAllowed = this.parsedYearValues === undefined || this.parsedYearValues.includes(year);
|
|
1393
|
+
const monthAllowed = this.parsedMonthValues === undefined || this.parsedMonthValues.includes(month);
|
|
1394
|
+
const isCalMonthDisabled = !yearAllowed || !monthAllowed;
|
|
1395
|
+
const swipeDisabled = isMonthDisabled({
|
|
1396
|
+
month,
|
|
1397
|
+
year,
|
|
1398
|
+
day: null,
|
|
1399
|
+
}, {
|
|
1400
|
+
// The day is not used when checking if a month is disabled.
|
|
1401
|
+
// Users should be able to access the min or max month, even if the
|
|
1402
|
+
// min/max date is out of bounds (e.g. min is set to Feb 15, Feb should not be disabled).
|
|
1403
|
+
minParts: Object.assign(Object.assign({}, this.minParts), { day: null }),
|
|
1404
|
+
maxParts: Object.assign(Object.assign({}, this.maxParts), { day: null }),
|
|
1405
|
+
});
|
|
1406
|
+
// The working month should never have swipe disabled.
|
|
1407
|
+
// Otherwise the CSS scroll snap will not work and the user
|
|
1408
|
+
// can free-scroll the calendar.
|
|
1409
|
+
const isWorkingMonth = this.workingParts.month === month && this.workingParts.year === year;
|
|
1410
|
+
const activePart = this.getActivePartsWithFallback();
|
|
1411
|
+
return (index$1.h("div", { "aria-hidden": !isWorkingMonth ? 'true' : null, class: {
|
|
1412
|
+
'calendar-month': true,
|
|
1413
|
+
// Prevents scroll snap swipe gestures for months outside of the min/max bounds
|
|
1414
|
+
'calendar-month-disabled': !isWorkingMonth && swipeDisabled,
|
|
1415
|
+
} }, index$1.h("div", { class: "calendar-month-grid" }, data.getDaysOfMonth(month, year, this.firstDayOfWeek % 7).map((dateObject, index$2) => {
|
|
1416
|
+
const { day, dayOfWeek } = dateObject;
|
|
1417
|
+
const { el, highlightedDates, isDateEnabled, multiple } = this;
|
|
1418
|
+
const referenceParts = { month, day, year };
|
|
1419
|
+
const isCalendarPadding = day === null;
|
|
1420
|
+
const { isActive, isToday, ariaLabel, ariaSelected, disabled, text } = getCalendarDayState(this.locale, referenceParts, this.activePartsClone, this.todayParts, this.minParts, this.maxParts, this.parsedDayValues);
|
|
1421
|
+
const dateIsoString = data.convertDataToISO(referenceParts);
|
|
1422
|
+
let isCalDayDisabled = isCalMonthDisabled || disabled;
|
|
1423
|
+
if (!isCalDayDisabled && isDateEnabled !== undefined) {
|
|
1424
|
+
try {
|
|
1425
|
+
/**
|
|
1426
|
+
* The `isDateEnabled` implementation is try-catch wrapped
|
|
1427
|
+
* to prevent exceptions in the user's function from
|
|
1428
|
+
* interrupting the calendar rendering.
|
|
1429
|
+
*/
|
|
1430
|
+
isCalDayDisabled = !isDateEnabled(dateIsoString);
|
|
1431
|
+
}
|
|
1432
|
+
catch (e) {
|
|
1433
|
+
index.printIonError('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', el, e);
|
|
1434
|
+
}
|
|
1435
|
+
}
|
|
1436
|
+
let dateStyle = undefined;
|
|
1437
|
+
/**
|
|
1438
|
+
* Custom highlight styles should not override the style for selected dates,
|
|
1439
|
+
* nor apply to "filler days" at the start of the grid.
|
|
1440
|
+
*/
|
|
1441
|
+
if (highlightedDates !== undefined && !isActive && day !== null) {
|
|
1442
|
+
dateStyle = getHighlightStyles(highlightedDates, dateIsoString, el);
|
|
1443
|
+
}
|
|
1444
|
+
return (index$1.h("button", { tabindex: "-1", "data-day": day, "data-month": month, "data-year": year, "data-index": index$2, "data-day-of-week": dayOfWeek, disabled: isCalDayDisabled, class: {
|
|
1445
|
+
'calendar-day-padding': isCalendarPadding,
|
|
1446
|
+
'calendar-day': true,
|
|
1447
|
+
'calendar-day-active': isActive,
|
|
1448
|
+
'calendar-day-today': isToday,
|
|
1449
|
+
}, style: dateStyle && {
|
|
1450
|
+
color: dateStyle.textColor,
|
|
1451
|
+
}, "aria-hidden": isCalendarPadding ? 'true' : null, "aria-selected": ariaSelected, "aria-label": ariaLabel, onClick: () => {
|
|
1452
|
+
if (isCalendarPadding) {
|
|
1453
|
+
return;
|
|
1454
|
+
}
|
|
1455
|
+
this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), { month,
|
|
1456
|
+
day,
|
|
1457
|
+
year }));
|
|
1458
|
+
// multiple only needs date info, so we can wipe out other fields like time
|
|
1459
|
+
if (multiple) {
|
|
1460
|
+
this.setActiveParts({
|
|
1461
|
+
month,
|
|
1462
|
+
day,
|
|
1463
|
+
year,
|
|
1464
|
+
}, isActive);
|
|
1465
|
+
}
|
|
1466
|
+
else {
|
|
1467
|
+
this.setActiveParts(Object.assign(Object.assign({}, activePart), { month,
|
|
1468
|
+
day,
|
|
1469
|
+
year }));
|
|
1470
|
+
}
|
|
1471
|
+
} }, index$1.h("div", { class: "calendar-day-highlight", style: {
|
|
1472
|
+
backgroundColor: dateStyle === null || dateStyle === void 0 ? void 0 : dateStyle.backgroundColor,
|
|
1473
|
+
} }), text));
|
|
1474
|
+
}))));
|
|
1475
|
+
}
|
|
1476
|
+
renderCalendarBody() {
|
|
1477
|
+
return (index$1.h("div", { class: "calendar-body ion-focusable", ref: (el) => (this.calendarBodyRef = el), tabindex: "0" }, data.generateMonths(this.workingParts).map(({ month, year }) => {
|
|
1478
|
+
return this.renderMonth(month, year);
|
|
1479
|
+
})));
|
|
1480
|
+
}
|
|
1481
|
+
renderCalendar(mode) {
|
|
1482
|
+
return (index$1.h("div", { class: "datetime-calendar", key: "datetime-calendar" }, this.renderCalendarHeader(mode), this.renderCalendarBody()));
|
|
1483
|
+
}
|
|
1484
|
+
renderTimeLabel() {
|
|
1485
|
+
const hasSlottedTimeLabel = this.el.querySelector('[slot="time-label"]') !== null;
|
|
1486
|
+
if (!hasSlottedTimeLabel && !this.showDefaultTimeLabel) {
|
|
1487
|
+
return;
|
|
1488
|
+
}
|
|
1489
|
+
return index$1.h("slot", { name: "time-label" }, "Time");
|
|
1490
|
+
}
|
|
1491
|
+
renderTimeOverlay() {
|
|
1492
|
+
const { hourCycle, isTimePopoverOpen, locale } = this;
|
|
1493
|
+
const use24Hour = data.is24Hour(locale, hourCycle);
|
|
1494
|
+
const activePart = this.getActivePartsWithFallback();
|
|
1495
|
+
return [
|
|
1496
|
+
index$1.h("div", { class: "time-header" }, this.renderTimeLabel()),
|
|
1497
|
+
index$1.h("button", { class: {
|
|
1498
|
+
'time-body': true,
|
|
1499
|
+
'time-body-active': isTimePopoverOpen,
|
|
1500
|
+
}, part: `time-button${isTimePopoverOpen ? ' active' : ''}`, "aria-expanded": "false", "aria-haspopup": "true", onClick: async (ev) => {
|
|
1501
|
+
const { popoverRef } = this;
|
|
1502
|
+
if (popoverRef) {
|
|
1503
|
+
this.isTimePopoverOpen = true;
|
|
1504
|
+
popoverRef.present(new CustomEvent('ionShadowTarget', {
|
|
1505
|
+
detail: {
|
|
1506
|
+
ionShadowTarget: ev.target,
|
|
1507
|
+
},
|
|
1508
|
+
}));
|
|
1509
|
+
await popoverRef.onWillDismiss();
|
|
1510
|
+
this.isTimePopoverOpen = false;
|
|
1511
|
+
}
|
|
1512
|
+
} }, data.getLocalizedTime(locale, activePart, use24Hour)),
|
|
1513
|
+
index$1.h("ion-popover", { alignment: "center", translucent: true, overlayIndex: 1, arrow: false, onWillPresent: (ev) => {
|
|
1514
|
+
/**
|
|
1515
|
+
* Intersection Observers do not consistently fire between Blink and Webkit
|
|
1516
|
+
* when toggling the visibility of the popover and trying to scroll the picker
|
|
1517
|
+
* column to the correct time value.
|
|
1518
|
+
*
|
|
1519
|
+
* This will correctly scroll the element position to the correct time value,
|
|
1520
|
+
* before the popover is fully presented.
|
|
1521
|
+
*/
|
|
1522
|
+
const cols = ev.target.querySelectorAll('ion-picker-column-internal');
|
|
1523
|
+
// TODO (FW-615): Potentially remove this when intersection observers are fixed in picker column
|
|
1524
|
+
cols.forEach((col) => col.scrollActiveItemIntoView());
|
|
1525
|
+
}, style: {
|
|
1526
|
+
'--offset-y': '-10px',
|
|
1527
|
+
'--min-width': 'fit-content',
|
|
1528
|
+
},
|
|
1529
|
+
// Allow native browser keyboard events to support up/down/home/end key
|
|
1530
|
+
// navigation within the time picker.
|
|
1531
|
+
keyboardEvents: true, ref: (el) => (this.popoverRef = el) }, this.renderWheelPicker('time')),
|
|
1532
|
+
];
|
|
1533
|
+
}
|
|
1534
|
+
getHeaderSelectedDateText() {
|
|
1535
|
+
const { activeParts, multiple, titleSelectedDatesFormatter } = this;
|
|
1536
|
+
const isArray = Array.isArray(activeParts);
|
|
1537
|
+
let headerText;
|
|
1538
|
+
if (multiple && isArray && activeParts.length !== 1) {
|
|
1539
|
+
headerText = `${activeParts.length} days`; // default/fallback for multiple selection
|
|
1540
|
+
if (titleSelectedDatesFormatter !== undefined) {
|
|
1541
|
+
try {
|
|
1542
|
+
headerText = titleSelectedDatesFormatter(data.convertDataToISO(activeParts));
|
|
1543
|
+
}
|
|
1544
|
+
catch (e) {
|
|
1545
|
+
index.printIonError('Exception in provided `titleSelectedDatesFormatter`: ', e);
|
|
1546
|
+
}
|
|
1547
|
+
}
|
|
1548
|
+
}
|
|
1549
|
+
else {
|
|
1550
|
+
// for exactly 1 day selected (multiple set or not), show a formatted version of that
|
|
1551
|
+
headerText = data.getMonthAndDay(this.locale, this.getActivePartsWithFallback());
|
|
1552
|
+
}
|
|
1553
|
+
return headerText;
|
|
1554
|
+
}
|
|
1555
|
+
renderHeader(showExpandedHeader = true) {
|
|
1556
|
+
const hasSlottedTitle = this.el.querySelector('[slot="title"]') !== null;
|
|
1557
|
+
if (!hasSlottedTitle && !this.showDefaultTitle) {
|
|
1558
|
+
return;
|
|
1559
|
+
}
|
|
1560
|
+
return (index$1.h("div", { class: "datetime-header" }, index$1.h("div", { class: "datetime-title" }, index$1.h("slot", { name: "title" }, "Select Date")), showExpandedHeader && index$1.h("div", { class: "datetime-selected-date" }, this.getHeaderSelectedDateText())));
|
|
1561
|
+
}
|
|
1562
|
+
/**
|
|
1563
|
+
* Render time picker inside of datetime.
|
|
1564
|
+
* Do not pass color prop to segment on
|
|
1565
|
+
* iOS mode. MD segment has been customized and
|
|
1566
|
+
* should take on the color prop, but iOS
|
|
1567
|
+
* should just be the default segment.
|
|
1568
|
+
*/
|
|
1569
|
+
renderTime() {
|
|
1570
|
+
const { presentation } = this;
|
|
1571
|
+
const timeOnlyPresentation = presentation === 'time';
|
|
1572
|
+
return (index$1.h("div", { class: "datetime-time" }, timeOnlyPresentation ? this.renderWheelPicker() : this.renderTimeOverlay()));
|
|
1573
|
+
}
|
|
1574
|
+
/**
|
|
1575
|
+
* Renders the month/year picker that is
|
|
1576
|
+
* displayed on the calendar grid.
|
|
1577
|
+
* The .datetime-year class has additional
|
|
1578
|
+
* styles that let us show/hide the
|
|
1579
|
+
* picker when the user clicks on the
|
|
1580
|
+
* toggle in the calendar header.
|
|
1581
|
+
*/
|
|
1582
|
+
renderCalendarViewMonthYearPicker() {
|
|
1583
|
+
return index$1.h("div", { class: "datetime-year" }, this.renderWheelView('month-year'));
|
|
1584
|
+
}
|
|
1585
|
+
/**
|
|
1586
|
+
* Render entry point
|
|
1587
|
+
* All presentation types are rendered from here.
|
|
1588
|
+
*/
|
|
1589
|
+
renderDatetime(mode) {
|
|
1590
|
+
const { presentation, preferWheel } = this;
|
|
1591
|
+
/**
|
|
1592
|
+
* Certain presentation types have separate grid and wheel displays.
|
|
1593
|
+
* If preferWheel is true then we should show a wheel picker instead.
|
|
1594
|
+
*/
|
|
1595
|
+
const hasWheelVariant = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
1596
|
+
if (preferWheel && hasWheelVariant) {
|
|
1597
|
+
return [this.renderHeader(false), this.renderWheelView(), this.renderFooter()];
|
|
1598
|
+
}
|
|
1599
|
+
switch (presentation) {
|
|
1600
|
+
case 'date-time':
|
|
1601
|
+
return [
|
|
1602
|
+
this.renderHeader(),
|
|
1603
|
+
this.renderCalendar(mode),
|
|
1604
|
+
this.renderCalendarViewMonthYearPicker(),
|
|
1605
|
+
this.renderTime(),
|
|
1606
|
+
this.renderFooter(),
|
|
1607
|
+
];
|
|
1608
|
+
case 'time-date':
|
|
1609
|
+
return [
|
|
1610
|
+
this.renderHeader(),
|
|
1611
|
+
this.renderTime(),
|
|
1612
|
+
this.renderCalendar(mode),
|
|
1613
|
+
this.renderCalendarViewMonthYearPicker(),
|
|
1614
|
+
this.renderFooter(),
|
|
1615
|
+
];
|
|
1616
|
+
case 'time':
|
|
1617
|
+
return [this.renderHeader(false), this.renderTime(), this.renderFooter()];
|
|
1618
|
+
case 'month':
|
|
1619
|
+
case 'month-year':
|
|
1620
|
+
case 'year':
|
|
1621
|
+
return [this.renderHeader(false), this.renderWheelView(), this.renderFooter()];
|
|
1622
|
+
default:
|
|
1623
|
+
return [
|
|
1624
|
+
this.renderHeader(),
|
|
1625
|
+
this.renderCalendar(mode),
|
|
1626
|
+
this.renderCalendarViewMonthYearPicker(),
|
|
1627
|
+
this.renderFooter(),
|
|
1628
|
+
];
|
|
1629
|
+
}
|
|
1630
|
+
}
|
|
1631
|
+
render() {
|
|
1632
|
+
const { name, value, disabled, el, color, readonly, showMonthAndYear, preferWheel, presentation, size } = this;
|
|
1633
|
+
const mode = ionicGlobal.getIonMode(this);
|
|
1634
|
+
const isMonthAndYearPresentation = presentation === 'year' || presentation === 'month' || presentation === 'month-year';
|
|
1635
|
+
const shouldShowMonthAndYear = showMonthAndYear || isMonthAndYearPresentation;
|
|
1636
|
+
const monthYearPickerOpen = showMonthAndYear && !isMonthAndYearPresentation;
|
|
1637
|
+
const hasDatePresentation = presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
|
1638
|
+
const hasWheelVariant = hasDatePresentation && preferWheel;
|
|
1639
|
+
const hasGrid = hasDatePresentation && !preferWheel;
|
|
1640
|
+
helpers.renderHiddenInput(true, el, name, data.formatValue(value), disabled);
|
|
1641
|
+
return (index$1.h(index$1.Host, { "aria-disabled": disabled ? 'true' : null, onFocus: this.onFocus, onBlur: this.onBlur, class: Object.assign({}, theme.createColorClasses(color, {
|
|
1642
|
+
[mode]: true,
|
|
1643
|
+
['datetime-readonly']: readonly,
|
|
1644
|
+
['datetime-disabled']: disabled,
|
|
1645
|
+
'show-month-and-year': shouldShowMonthAndYear,
|
|
1646
|
+
'month-year-picker-open': monthYearPickerOpen,
|
|
1647
|
+
[`datetime-presentation-${presentation}`]: true,
|
|
1648
|
+
[`datetime-size-${size}`]: true,
|
|
1649
|
+
[`datetime-prefer-wheel`]: hasWheelVariant,
|
|
1650
|
+
[`datetime-grid`]: hasGrid,
|
|
1651
|
+
})) }, this.renderDatetime(mode)));
|
|
1652
|
+
}
|
|
1653
|
+
get el() { return index$1.getElement(this); }
|
|
1654
|
+
static get watchers() { return {
|
|
1655
|
+
"disabled": ["disabledChanged"],
|
|
1656
|
+
"min": ["minChanged"],
|
|
1657
|
+
"max": ["maxChanged"],
|
|
1658
|
+
"yearValues": ["yearValuesChanged"],
|
|
1659
|
+
"monthValues": ["monthValuesChanged"],
|
|
1660
|
+
"dayValues": ["dayValuesChanged"],
|
|
1661
|
+
"hourValues": ["hourValuesChanged"],
|
|
1662
|
+
"minuteValues": ["minuteValuesChanged"],
|
|
1663
|
+
"activeParts": ["activePartsChanged"],
|
|
1664
|
+
"value": ["valueChanged"]
|
|
1665
|
+
}; }
|
|
1666
|
+
};
|
|
1667
|
+
let datetimeIds = 0;
|
|
1668
|
+
Datetime.style = {
|
|
1669
|
+
ios: datetimeIosCss,
|
|
1670
|
+
md: datetimeMdCss
|
|
1671
|
+
};
|
|
1672
|
+
|
|
1673
|
+
/**
|
|
1674
|
+
* iOS Picker Enter Animation
|
|
1675
|
+
*/
|
|
1676
|
+
const iosEnterAnimation = (baseEl) => {
|
|
1677
|
+
const baseAnimation = animation.createAnimation();
|
|
1678
|
+
const backdropAnimation = animation.createAnimation();
|
|
1679
|
+
const wrapperAnimation = animation.createAnimation();
|
|
1680
|
+
backdropAnimation
|
|
1681
|
+
.addElement(baseEl.querySelector('ion-backdrop'))
|
|
1682
|
+
.fromTo('opacity', 0.01, 'var(--backdrop-opacity)')
|
|
1683
|
+
.beforeStyles({
|
|
1684
|
+
'pointer-events': 'none',
|
|
1685
|
+
})
|
|
1686
|
+
.afterClearStyles(['pointer-events']);
|
|
1687
|
+
wrapperAnimation
|
|
1688
|
+
.addElement(baseEl.querySelector('.picker-wrapper'))
|
|
1689
|
+
.fromTo('transform', 'translateY(100%)', 'translateY(0%)');
|
|
1690
|
+
return baseAnimation
|
|
1691
|
+
.addElement(baseEl)
|
|
1692
|
+
.easing('cubic-bezier(.36,.66,.04,1)')
|
|
1693
|
+
.duration(400)
|
|
1694
|
+
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
1695
|
+
};
|
|
1696
|
+
|
|
1697
|
+
/**
|
|
1698
|
+
* iOS Picker Leave Animation
|
|
1699
|
+
*/
|
|
1700
|
+
const iosLeaveAnimation = (baseEl) => {
|
|
1701
|
+
const baseAnimation = animation.createAnimation();
|
|
1702
|
+
const backdropAnimation = animation.createAnimation();
|
|
1703
|
+
const wrapperAnimation = animation.createAnimation();
|
|
1704
|
+
backdropAnimation
|
|
1705
|
+
.addElement(baseEl.querySelector('ion-backdrop'))
|
|
1706
|
+
.fromTo('opacity', 'var(--backdrop-opacity)', 0.01);
|
|
1707
|
+
wrapperAnimation
|
|
1708
|
+
.addElement(baseEl.querySelector('.picker-wrapper'))
|
|
1709
|
+
.fromTo('transform', 'translateY(0%)', 'translateY(100%)');
|
|
1710
|
+
return baseAnimation
|
|
1711
|
+
.addElement(baseEl)
|
|
1712
|
+
.easing('cubic-bezier(.36,.66,.04,1)')
|
|
1713
|
+
.duration(400)
|
|
1714
|
+
.addAnimation([backdropAnimation, wrapperAnimation]);
|
|
1715
|
+
};
|
|
1716
|
+
|
|
1717
|
+
const pickerIosCss = ".sc-ion-picker-ios-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}@supports (inset-inline-start: 0){.sc-ion-picker-ios-h{inset-inline-start:0}}@supports not (inset-inline-start: 0){.sc-ion-picker-ios-h{left:0}[dir=rtl].sc-ion-picker-ios-h,[dir=rtl] .sc-ion-picker-ios-h{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.sc-ion-picker-ios-h:dir(rtl){left:unset;right:unset;right:0}}}.overlay-hidden.sc-ion-picker-ios-h{display:none}.picker-wrapper.sc-ion-picker-ios{border-radius:var(--border-radius);left:0;right:0;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;overflow:hidden;z-index:10}.picker-toolbar.sc-ion-picker-ios{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-ios{border:0;font-family:inherit}.picker-button.sc-ion-picker-ios:active,.picker-button.sc-ion-picker-ios:focus{outline:none}.picker-columns.sc-ion-picker-ios{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;overflow:hidden}.picker-above-highlight.sc-ion-picker-ios,.picker-below-highlight.sc-ion-picker-ios{display:none;pointer-events:none}.sc-ion-picker-ios-h{--background:var(--ion-background-color, #fff);--border-width:1px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-ios{display:-ms-flexbox;display:flex;height:44px;border-bottom:0.55px solid var(--border-color)}.picker-toolbar-button.sc-ion-picker-ios{-ms-flex:1;flex:1;text-align:end}.picker-toolbar-button.sc-ion-picker-ios:last-child .picker-button.sc-ion-picker-ios{font-weight:600}.picker-toolbar-button.sc-ion-picker-ios:first-child{font-weight:normal;text-align:start}.picker-button.sc-ion-picker-ios,.picker-button.ion-activated.sc-ion-picker-ios{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:1em;padding-inline-start:1em;-webkit-padding-end:1em;padding-inline-end:1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #3880ff);font-size:16px}.picker-columns.sc-ion-picker-ios{height:215px;-webkit-perspective:1000px;perspective:1000px}.picker-above-highlight.sc-ion-picker-ios{top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:81px;border-bottom:1px solid var(--border-color);background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:10}@supports (inset-inline-start: 0){.picker-above-highlight.sc-ion-picker-ios{inset-inline-start:0}}@supports not (inset-inline-start: 0){.picker-above-highlight.sc-ion-picker-ios{left:0}[dir=rtl].sc-ion-picker-ios-h .picker-above-highlight.sc-ion-picker-ios,[dir=rtl] .sc-ion-picker-ios-h .picker-above-highlight.sc-ion-picker-ios{left:unset;right:unset;right:0}[dir=rtl].sc-ion-picker-ios .picker-above-highlight.sc-ion-picker-ios{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.picker-above-highlight.sc-ion-picker-ios:dir(rtl){left:unset;right:unset;right:0}}}.picker-below-highlight.sc-ion-picker-ios{top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);display:block;position:absolute;width:100%;height:119px;border-top:1px solid var(--border-color);background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--background, var(--ion-background-color, #fff))), to(rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8)));background:linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);z-index:11}@supports (inset-inline-start: 0){.picker-below-highlight.sc-ion-picker-ios{inset-inline-start:0}}@supports not (inset-inline-start: 0){.picker-below-highlight.sc-ion-picker-ios{left:0}[dir=rtl].sc-ion-picker-ios-h .picker-below-highlight.sc-ion-picker-ios,[dir=rtl] .sc-ion-picker-ios-h .picker-below-highlight.sc-ion-picker-ios{left:unset;right:unset;right:0}[dir=rtl].sc-ion-picker-ios .picker-below-highlight.sc-ion-picker-ios{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.picker-below-highlight.sc-ion-picker-ios:dir(rtl){left:unset;right:unset;right:0}}}";
|
|
1718
|
+
|
|
1719
|
+
const pickerMdCss = ".sc-ion-picker-md-h{--border-radius:0;--border-style:solid;--min-width:auto;--width:100%;--max-width:500px;--min-height:auto;--max-height:auto;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;top:0;display:block;position:absolute;width:100%;height:100%;outline:none;font-family:var(--ion-font-family, inherit);contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:1001}@supports (inset-inline-start: 0){.sc-ion-picker-md-h{inset-inline-start:0}}@supports not (inset-inline-start: 0){.sc-ion-picker-md-h{left:0}[dir=rtl].sc-ion-picker-md-h,[dir=rtl] .sc-ion-picker-md-h{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.sc-ion-picker-md-h:dir(rtl){left:unset;right:unset;right:0}}}.overlay-hidden.sc-ion-picker-md-h{display:none}.picker-wrapper.sc-ion-picker-md{border-radius:var(--border-radius);left:0;right:0;bottom:0;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto;margin-top:auto;margin-bottom:auto;-webkit-transform:translate3d(0, 100%, 0);transform:translate3d(0, 100%, 0);display:-ms-flexbox;display:flex;position:absolute;-ms-flex-direction:column;flex-direction:column;width:var(--width);min-width:var(--min-width);max-width:var(--max-width);height:var(--height);min-height:var(--min-height);max-height:var(--max-height);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);contain:strict;overflow:hidden;z-index:10}.picker-toolbar.sc-ion-picker-md{width:100%;background:transparent;contain:strict;z-index:1}.picker-button.sc-ion-picker-md{border:0;font-family:inherit}.picker-button.sc-ion-picker-md:active,.picker-button.sc-ion-picker-md:focus{outline:none}.picker-columns.sc-ion-picker-md{display:-ms-flexbox;display:flex;position:relative;-ms-flex-pack:center;justify-content:center;margin-bottom:var(--ion-safe-area-bottom, 0);contain:strict;overflow:hidden}.picker-above-highlight.sc-ion-picker-md,.picker-below-highlight.sc-ion-picker-md{display:none;pointer-events:none}.sc-ion-picker-md-h{--background:var(--ion-background-color, #fff);--border-width:0.55px 0 0;--border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));--height:260px;--backdrop-opacity:var(--ion-backdrop-opacity, 0.26);color:var(--ion-item-color, var(--ion-text-color, #000))}.picker-toolbar.sc-ion-picker-md{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;height:44px}.picker-button.sc-ion-picker-md,.picker-button.ion-activated.sc-ion-picker-md{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-padding-start:1.1em;padding-inline-start:1.1em;-webkit-padding-end:1.1em;padding-inline-end:1.1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #3880ff);font-size:14px;font-weight:500;text-transform:uppercase;-webkit-box-shadow:none;box-shadow:none}.picker-columns.sc-ion-picker-md{height:216px;-webkit-perspective:1800px;perspective:1800px}.picker-above-highlight.sc-ion-picker-md{top:0;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:81px;border-bottom:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));background:-webkit-gradient(linear, left top, left bottom, color-stop(20%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to bottom, var(--ion-background-color, #fff) 20%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:10}@supports (inset-inline-start: 0){.picker-above-highlight.sc-ion-picker-md{inset-inline-start:0}}@supports not (inset-inline-start: 0){.picker-above-highlight.sc-ion-picker-md{left:0}[dir=rtl].sc-ion-picker-md-h .picker-above-highlight.sc-ion-picker-md,[dir=rtl] .sc-ion-picker-md-h .picker-above-highlight.sc-ion-picker-md{left:unset;right:unset;right:0}[dir=rtl].sc-ion-picker-md .picker-above-highlight.sc-ion-picker-md{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.picker-above-highlight.sc-ion-picker-md:dir(rtl){left:unset;right:unset;right:0}}}.picker-below-highlight.sc-ion-picker-md{top:115px;-webkit-transform:translate3d(0, 0, 90px);transform:translate3d(0, 0, 90px);position:absolute;width:100%;height:119px;border-top:1px solid var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-150, rgba(0, 0, 0, 0.13))));background:-webkit-gradient(linear, left bottom, left top, color-stop(30%, var(--ion-background-color, #fff)), to(rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8)));background:linear-gradient(to top, var(--ion-background-color, #fff) 30%, rgba(var(--ion-background-color-rgb, 255, 255, 255), 0.8) 100%);z-index:11}@supports (inset-inline-start: 0){.picker-below-highlight.sc-ion-picker-md{inset-inline-start:0}}@supports not (inset-inline-start: 0){.picker-below-highlight.sc-ion-picker-md{left:0}[dir=rtl].sc-ion-picker-md-h .picker-below-highlight.sc-ion-picker-md,[dir=rtl] .sc-ion-picker-md-h .picker-below-highlight.sc-ion-picker-md{left:unset;right:unset;right:0}[dir=rtl].sc-ion-picker-md .picker-below-highlight.sc-ion-picker-md{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.picker-below-highlight.sc-ion-picker-md:dir(rtl){left:unset;right:unset;right:0}}}";
|
|
1720
|
+
|
|
1721
|
+
const Picker = class {
|
|
1722
|
+
constructor(hostRef) {
|
|
1723
|
+
index$1.registerInstance(this, hostRef);
|
|
1724
|
+
this.didPresent = index$1.createEvent(this, "ionPickerDidPresent", 7);
|
|
1725
|
+
this.willPresent = index$1.createEvent(this, "ionPickerWillPresent", 7);
|
|
1726
|
+
this.willDismiss = index$1.createEvent(this, "ionPickerWillDismiss", 7);
|
|
1727
|
+
this.didDismiss = index$1.createEvent(this, "ionPickerDidDismiss", 7);
|
|
1728
|
+
this.didPresentShorthand = index$1.createEvent(this, "didPresent", 7);
|
|
1729
|
+
this.willPresentShorthand = index$1.createEvent(this, "willPresent", 7);
|
|
1730
|
+
this.willDismissShorthand = index$1.createEvent(this, "willDismiss", 7);
|
|
1731
|
+
this.didDismissShorthand = index$1.createEvent(this, "didDismiss", 7);
|
|
1732
|
+
this.delegateController = overlays.createDelegateController(this);
|
|
1733
|
+
this.triggerController = overlays.createTriggerController();
|
|
1734
|
+
this.onBackdropTap = () => {
|
|
1735
|
+
this.dismiss(undefined, overlays.BACKDROP);
|
|
1736
|
+
};
|
|
1737
|
+
this.dispatchCancelHandler = (ev) => {
|
|
1738
|
+
const role = ev.detail.role;
|
|
1739
|
+
if (overlays.isCancel(role)) {
|
|
1740
|
+
const cancelButton = this.buttons.find((b) => b.role === 'cancel');
|
|
1741
|
+
this.callButtonHandler(cancelButton);
|
|
1742
|
+
}
|
|
1743
|
+
};
|
|
1744
|
+
this.presented = false;
|
|
1745
|
+
this.overlayIndex = undefined;
|
|
1746
|
+
this.delegate = undefined;
|
|
1747
|
+
this.hasController = false;
|
|
1748
|
+
this.keyboardClose = true;
|
|
1749
|
+
this.enterAnimation = undefined;
|
|
1750
|
+
this.leaveAnimation = undefined;
|
|
1751
|
+
this.buttons = [];
|
|
1752
|
+
this.columns = [];
|
|
1753
|
+
this.cssClass = undefined;
|
|
1754
|
+
this.duration = 0;
|
|
1755
|
+
this.showBackdrop = true;
|
|
1756
|
+
this.backdropDismiss = true;
|
|
1757
|
+
this.animated = true;
|
|
1758
|
+
this.htmlAttributes = undefined;
|
|
1759
|
+
this.isOpen = false;
|
|
1760
|
+
this.trigger = undefined;
|
|
1761
|
+
}
|
|
1762
|
+
onIsOpenChange(newValue, oldValue) {
|
|
1763
|
+
if (newValue === true && oldValue === false) {
|
|
1764
|
+
this.present();
|
|
1765
|
+
}
|
|
1766
|
+
else if (newValue === false && oldValue === true) {
|
|
1767
|
+
this.dismiss();
|
|
1768
|
+
}
|
|
1769
|
+
}
|
|
1770
|
+
triggerChanged() {
|
|
1771
|
+
const { trigger, el, triggerController } = this;
|
|
1772
|
+
if (trigger) {
|
|
1773
|
+
triggerController.addClickListener(el, trigger);
|
|
1774
|
+
}
|
|
1775
|
+
}
|
|
1776
|
+
connectedCallback() {
|
|
1777
|
+
overlays.prepareOverlay(this.el);
|
|
1778
|
+
this.triggerChanged();
|
|
1779
|
+
}
|
|
1780
|
+
disconnectedCallback() {
|
|
1781
|
+
this.triggerController.removeClickListener();
|
|
1782
|
+
}
|
|
1783
|
+
componentWillLoad() {
|
|
1784
|
+
overlays.setOverlayId(this.el);
|
|
1785
|
+
}
|
|
1786
|
+
componentDidLoad() {
|
|
1787
|
+
/**
|
|
1788
|
+
* If picker was rendered with isOpen="true"
|
|
1789
|
+
* then we should open picker immediately.
|
|
1790
|
+
*/
|
|
1791
|
+
if (this.isOpen === true) {
|
|
1792
|
+
helpers.raf(() => this.present());
|
|
1793
|
+
}
|
|
1794
|
+
}
|
|
1795
|
+
/**
|
|
1796
|
+
* Present the picker overlay after it has been created.
|
|
1797
|
+
*/
|
|
1798
|
+
async present() {
|
|
1799
|
+
/**
|
|
1800
|
+
* When using an inline picker
|
|
1801
|
+
* and dismissing an picker it is possible to
|
|
1802
|
+
* quickly present the picker while it is
|
|
1803
|
+
* dismissing. We need to await any current
|
|
1804
|
+
* transition to allow the dismiss to finish
|
|
1805
|
+
* before presenting again.
|
|
1806
|
+
*/
|
|
1807
|
+
if (this.currentTransition !== undefined) {
|
|
1808
|
+
await this.currentTransition;
|
|
1809
|
+
}
|
|
1810
|
+
await this.delegateController.attachViewToDom();
|
|
1811
|
+
this.currentTransition = overlays.present(this, 'pickerEnter', iosEnterAnimation, iosEnterAnimation, undefined);
|
|
1812
|
+
await this.currentTransition;
|
|
1813
|
+
this.currentTransition = undefined;
|
|
1814
|
+
if (this.duration > 0) {
|
|
1815
|
+
this.durationTimeout = setTimeout(() => this.dismiss(), this.duration);
|
|
1816
|
+
}
|
|
1817
|
+
}
|
|
1818
|
+
/**
|
|
1819
|
+
* Dismiss the picker overlay after it has been presented.
|
|
1820
|
+
*
|
|
1821
|
+
* @param data Any data to emit in the dismiss events.
|
|
1822
|
+
* @param role The role of the element that is dismissing the picker.
|
|
1823
|
+
* This can be useful in a button handler for determining which button was
|
|
1824
|
+
* clicked to dismiss the picker.
|
|
1825
|
+
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
|
1826
|
+
*/
|
|
1827
|
+
async dismiss(data, role) {
|
|
1828
|
+
if (this.durationTimeout) {
|
|
1829
|
+
clearTimeout(this.durationTimeout);
|
|
1830
|
+
}
|
|
1831
|
+
this.currentTransition = overlays.dismiss(this, data, role, 'pickerLeave', iosLeaveAnimation, iosLeaveAnimation);
|
|
1832
|
+
const dismissed = await this.currentTransition;
|
|
1833
|
+
if (dismissed) {
|
|
1834
|
+
this.delegateController.removeViewFromDom();
|
|
1835
|
+
}
|
|
1836
|
+
return dismissed;
|
|
1837
|
+
}
|
|
1838
|
+
/**
|
|
1839
|
+
* Returns a promise that resolves when the picker did dismiss.
|
|
1840
|
+
*/
|
|
1841
|
+
onDidDismiss() {
|
|
1842
|
+
return overlays.eventMethod(this.el, 'ionPickerDidDismiss');
|
|
1843
|
+
}
|
|
1844
|
+
/**
|
|
1845
|
+
* Returns a promise that resolves when the picker will dismiss.
|
|
1846
|
+
*/
|
|
1847
|
+
onWillDismiss() {
|
|
1848
|
+
return overlays.eventMethod(this.el, 'ionPickerWillDismiss');
|
|
1849
|
+
}
|
|
1850
|
+
/**
|
|
1851
|
+
* Get the column that matches the specified name.
|
|
1852
|
+
*
|
|
1853
|
+
* @param name The name of the column.
|
|
1854
|
+
*/
|
|
1855
|
+
getColumn(name) {
|
|
1856
|
+
return Promise.resolve(this.columns.find((column) => column.name === name));
|
|
1857
|
+
}
|
|
1858
|
+
async buttonClick(button) {
|
|
1859
|
+
const role = button.role;
|
|
1860
|
+
if (overlays.isCancel(role)) {
|
|
1861
|
+
return this.dismiss(undefined, role);
|
|
1862
|
+
}
|
|
1863
|
+
const shouldDismiss = await this.callButtonHandler(button);
|
|
1864
|
+
if (shouldDismiss) {
|
|
1865
|
+
return this.dismiss(this.getSelected(), button.role);
|
|
1866
|
+
}
|
|
1867
|
+
return Promise.resolve();
|
|
1868
|
+
}
|
|
1869
|
+
async callButtonHandler(button) {
|
|
1870
|
+
if (button) {
|
|
1871
|
+
// a handler has been provided, execute it
|
|
1872
|
+
// pass the handler the values from the inputs
|
|
1873
|
+
const rtn = await overlays.safeCall(button.handler, this.getSelected());
|
|
1874
|
+
if (rtn === false) {
|
|
1875
|
+
// if the return value of the handler is false then do not dismiss
|
|
1876
|
+
return false;
|
|
1877
|
+
}
|
|
1878
|
+
}
|
|
1879
|
+
return true;
|
|
1880
|
+
}
|
|
1881
|
+
getSelected() {
|
|
1882
|
+
const selected = {};
|
|
1883
|
+
this.columns.forEach((col, index) => {
|
|
1884
|
+
const selectedColumn = col.selectedIndex !== undefined ? col.options[col.selectedIndex] : undefined;
|
|
1885
|
+
selected[col.name] = {
|
|
1886
|
+
text: selectedColumn ? selectedColumn.text : undefined,
|
|
1887
|
+
value: selectedColumn ? selectedColumn.value : undefined,
|
|
1888
|
+
columnIndex: index,
|
|
1889
|
+
};
|
|
1890
|
+
});
|
|
1891
|
+
return selected;
|
|
1892
|
+
}
|
|
1893
|
+
render() {
|
|
1894
|
+
const { htmlAttributes } = this;
|
|
1895
|
+
const mode = ionicGlobal.getIonMode(this);
|
|
1896
|
+
return (index$1.h(index$1.Host, Object.assign({ "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
|
|
1897
|
+
zIndex: `${20000 + this.overlayIndex}`,
|
|
1898
|
+
}, class: Object.assign({ [mode]: true,
|
|
1899
|
+
// Used internally for styling
|
|
1900
|
+
[`picker-${mode}`]: true, 'overlay-hidden': true }, theme.getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), index$1.h("ion-backdrop", { visible: this.showBackdrop, tappable: this.backdropDismiss }), index$1.h("div", { tabindex: "0" }), index$1.h("div", { class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, index$1.h("div", { class: "picker-toolbar" }, this.buttons.map((b) => (index$1.h("div", { class: buttonWrapperClass(b) }, index$1.h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), index$1.h("div", { class: "picker-columns" }, index$1.h("div", { class: "picker-above-highlight" }), this.presented && this.columns.map((c) => index$1.h("ion-picker-column", { col: c })), index$1.h("div", { class: "picker-below-highlight" }))), index$1.h("div", { tabindex: "0" })));
|
|
1901
|
+
}
|
|
1902
|
+
get el() { return index$1.getElement(this); }
|
|
1903
|
+
static get watchers() { return {
|
|
1904
|
+
"isOpen": ["onIsOpenChange"],
|
|
1905
|
+
"trigger": ["triggerChanged"]
|
|
1906
|
+
}; }
|
|
1907
|
+
};
|
|
1908
|
+
const buttonWrapperClass = (button) => {
|
|
1909
|
+
return {
|
|
1910
|
+
[`picker-toolbar-${button.role}`]: button.role !== undefined,
|
|
1911
|
+
'picker-toolbar-button': true,
|
|
1912
|
+
};
|
|
1913
|
+
};
|
|
1914
|
+
const buttonClass = (button) => {
|
|
1915
|
+
return Object.assign({ 'picker-button': true, 'ion-activatable': true }, theme.getClassMap(button.cssClass));
|
|
1916
|
+
};
|
|
1917
|
+
Picker.style = {
|
|
1918
|
+
ios: pickerIosCss,
|
|
1919
|
+
md: pickerMdCss
|
|
1920
|
+
};
|
|
1921
|
+
|
|
1922
|
+
const pickerColumnIosCss = ".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}@supports (inset-inline-start: 0){.picker-opt{inset-inline-start:0}}@supports not (inset-inline-start: 0){.picker-opt{left:0}:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}[dir=rtl] .picker-opt{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){left:unset;right:unset;right:0}}}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:20px;line-height:42px;pointer-events:none}.picker-opt{padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;-webkit-transform-origin:center center;transform-origin:center center;height:46px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:20px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}:host-context([dir=rtl]) .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}[dir=rtl] .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}}";
|
|
1923
|
+
|
|
1924
|
+
const pickerColumnMdCss = ".picker-col{display:-ms-flexbox;display:flex;position:relative;-ms-flex:1;flex:1;-ms-flex-pack:center;justify-content:center;height:100%;-webkit-box-sizing:content-box;box-sizing:content-box;contain:content}.picker-opts{position:relative;-ms-flex:1;flex:1;max-width:100%}.picker-opt{top:0;display:block;position:absolute;width:100%;border:0;text-align:center;text-overflow:ellipsis;white-space:nowrap;contain:strict;overflow:hidden;will-change:transform}@supports (inset-inline-start: 0){.picker-opt{inset-inline-start:0}}@supports not (inset-inline-start: 0){.picker-opt{left:0}:host-context([dir=rtl]) .picker-opt{left:unset;right:unset;right:0}[dir=rtl] .picker-opt{left:unset;right:unset;right:0}@supports selector(:dir(rtl)){.picker-opt:dir(rtl){left:unset;right:unset;right:0}}}.picker-opt.picker-opt-disabled{pointer-events:none}.picker-opt-disabled{opacity:0}.picker-opts-left{-ms-flex-pack:start;justify-content:flex-start}.picker-opts-right{-ms-flex-pack:end;justify-content:flex-end}.picker-opt:active,.picker-opt:focus{outline:none}.picker-prefix{position:relative;-ms-flex:1;flex:1;text-align:end;white-space:nowrap}.picker-suffix{position:relative;-ms-flex:1;flex:1;text-align:start;white-space:nowrap}.picker-col{-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.picker-prefix,.picker-suffix,.picker-opts{top:77px;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;color:inherit;font-size:22px;line-height:42px;pointer-events:none}.picker-opt{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;height:43px;-webkit-transition-timing-function:ease-out;transition-timing-function:ease-out;background:transparent;color:inherit;font-size:22px;line-height:42px;-webkit-backface-visibility:hidden;backface-visibility:hidden;pointer-events:auto}.picker-prefix,.picker-suffix,.picker-opt.picker-opt-selected{color:var(--ion-color-primary, #3880ff)}";
|
|
1925
|
+
|
|
1926
|
+
const PickerColumnCmp = class {
|
|
1927
|
+
constructor(hostRef) {
|
|
1928
|
+
index$1.registerInstance(this, hostRef);
|
|
1929
|
+
this.ionPickerColChange = index$1.createEvent(this, "ionPickerColChange", 7);
|
|
1930
|
+
this.optHeight = 0;
|
|
1931
|
+
this.rotateFactor = 0;
|
|
1932
|
+
this.scaleFactor = 1;
|
|
1933
|
+
this.velocity = 0;
|
|
1934
|
+
this.y = 0;
|
|
1935
|
+
this.noAnimate = true;
|
|
1936
|
+
// `colDidChange` is a flag that gets set when the column is changed
|
|
1937
|
+
// dynamically. When this flag is set, the column will refresh
|
|
1938
|
+
// after the component re-renders to incorporate the new column data.
|
|
1939
|
+
// This is necessary because `this.refresh` queries for the option elements,
|
|
1940
|
+
// so it needs to wait for the latest elements to be available in the DOM.
|
|
1941
|
+
// Ex: column is created with 3 options. User updates the column data
|
|
1942
|
+
// to have 5 options. The column will still think it only has 3 options.
|
|
1943
|
+
this.colDidChange = false;
|
|
1944
|
+
this.col = undefined;
|
|
1945
|
+
}
|
|
1946
|
+
colChanged() {
|
|
1947
|
+
this.colDidChange = true;
|
|
1948
|
+
}
|
|
1949
|
+
async connectedCallback() {
|
|
1950
|
+
let pickerRotateFactor = 0;
|
|
1951
|
+
let pickerScaleFactor = 0.81;
|
|
1952
|
+
const mode = ionicGlobal.getIonMode(this);
|
|
1953
|
+
if (mode === 'ios') {
|
|
1954
|
+
pickerRotateFactor = -0.46;
|
|
1955
|
+
pickerScaleFactor = 1;
|
|
1956
|
+
}
|
|
1957
|
+
this.rotateFactor = pickerRotateFactor;
|
|
1958
|
+
this.scaleFactor = pickerScaleFactor;
|
|
1959
|
+
this.gesture = (await Promise.resolve().then(function () { return require('./index-def9efb5.js'); })).createGesture({
|
|
1960
|
+
el: this.el,
|
|
1961
|
+
gestureName: 'picker-swipe',
|
|
1962
|
+
gesturePriority: 100,
|
|
1963
|
+
threshold: 0,
|
|
1964
|
+
passive: false,
|
|
1965
|
+
onStart: (ev) => this.onStart(ev),
|
|
1966
|
+
onMove: (ev) => this.onMove(ev),
|
|
1967
|
+
onEnd: (ev) => this.onEnd(ev),
|
|
1968
|
+
});
|
|
1969
|
+
this.gesture.enable();
|
|
1970
|
+
// Options have not been initialized yet
|
|
1971
|
+
// Animation must be disabled through the `noAnimate` flag
|
|
1972
|
+
// Otherwise, the options will render
|
|
1973
|
+
// at the top of the column and transition down
|
|
1974
|
+
this.tmrId = setTimeout(() => {
|
|
1975
|
+
this.noAnimate = false;
|
|
1976
|
+
// After initialization, `refresh()` will be called
|
|
1977
|
+
// At this point, animation will be enabled. The options will
|
|
1978
|
+
// animate as they are being selected.
|
|
1979
|
+
this.refresh(true);
|
|
1980
|
+
}, 250);
|
|
1981
|
+
}
|
|
1982
|
+
componentDidLoad() {
|
|
1983
|
+
this.onDomChange();
|
|
1984
|
+
}
|
|
1985
|
+
componentDidUpdate() {
|
|
1986
|
+
// Options may have changed since last update.
|
|
1987
|
+
if (this.colDidChange) {
|
|
1988
|
+
// Animation must be disabled through the `onDomChange` parameter.
|
|
1989
|
+
// Otherwise, the recently added options will render
|
|
1990
|
+
// at the top of the column and transition down
|
|
1991
|
+
this.onDomChange(true, false);
|
|
1992
|
+
this.colDidChange = false;
|
|
1993
|
+
}
|
|
1994
|
+
}
|
|
1995
|
+
disconnectedCallback() {
|
|
1996
|
+
if (this.rafId !== undefined)
|
|
1997
|
+
cancelAnimationFrame(this.rafId);
|
|
1998
|
+
if (this.tmrId)
|
|
1999
|
+
clearTimeout(this.tmrId);
|
|
2000
|
+
if (this.gesture) {
|
|
2001
|
+
this.gesture.destroy();
|
|
2002
|
+
this.gesture = undefined;
|
|
2003
|
+
}
|
|
2004
|
+
}
|
|
2005
|
+
emitColChange() {
|
|
2006
|
+
this.ionPickerColChange.emit(this.col);
|
|
2007
|
+
}
|
|
2008
|
+
setSelected(selectedIndex, duration) {
|
|
2009
|
+
// if there is a selected index, then figure out it's y position
|
|
2010
|
+
// if there isn't a selected index, then just use the top y position
|
|
2011
|
+
const y = selectedIndex > -1 ? -(selectedIndex * this.optHeight) : 0;
|
|
2012
|
+
this.velocity = 0;
|
|
2013
|
+
// set what y position we're at
|
|
2014
|
+
if (this.rafId !== undefined)
|
|
2015
|
+
cancelAnimationFrame(this.rafId);
|
|
2016
|
+
this.update(y, duration, true);
|
|
2017
|
+
this.emitColChange();
|
|
2018
|
+
}
|
|
2019
|
+
update(y, duration, saveY) {
|
|
2020
|
+
if (!this.optsEl) {
|
|
2021
|
+
return;
|
|
2022
|
+
}
|
|
2023
|
+
// ensure we've got a good round number :)
|
|
2024
|
+
let translateY = 0;
|
|
2025
|
+
let translateZ = 0;
|
|
2026
|
+
const { col, rotateFactor } = this;
|
|
2027
|
+
const prevSelected = col.selectedIndex;
|
|
2028
|
+
const selectedIndex = (col.selectedIndex = this.indexForY(-y));
|
|
2029
|
+
const durationStr = duration === 0 ? '' : duration + 'ms';
|
|
2030
|
+
const scaleStr = `scale(${this.scaleFactor})`;
|
|
2031
|
+
const children = this.optsEl.children;
|
|
2032
|
+
for (let i = 0; i < children.length; i++) {
|
|
2033
|
+
const button = children[i];
|
|
2034
|
+
const opt = col.options[i];
|
|
2035
|
+
const optOffset = i * this.optHeight + y;
|
|
2036
|
+
let transform = '';
|
|
2037
|
+
if (rotateFactor !== 0) {
|
|
2038
|
+
const rotateX = optOffset * rotateFactor;
|
|
2039
|
+
if (Math.abs(rotateX) <= 90) {
|
|
2040
|
+
translateY = 0;
|
|
2041
|
+
translateZ = 90;
|
|
2042
|
+
transform = `rotateX(${rotateX}deg) `;
|
|
2043
|
+
}
|
|
2044
|
+
else {
|
|
2045
|
+
translateY = -9999;
|
|
2046
|
+
}
|
|
2047
|
+
}
|
|
2048
|
+
else {
|
|
2049
|
+
translateZ = 0;
|
|
2050
|
+
translateY = optOffset;
|
|
2051
|
+
}
|
|
2052
|
+
const selected = selectedIndex === i;
|
|
2053
|
+
transform += `translate3d(0px,${translateY}px,${translateZ}px) `;
|
|
2054
|
+
if (this.scaleFactor !== 1 && !selected) {
|
|
2055
|
+
transform += scaleStr;
|
|
2056
|
+
}
|
|
2057
|
+
// Update transition duration
|
|
2058
|
+
if (this.noAnimate) {
|
|
2059
|
+
opt.duration = 0;
|
|
2060
|
+
button.style.transitionDuration = '';
|
|
2061
|
+
}
|
|
2062
|
+
else if (duration !== opt.duration) {
|
|
2063
|
+
opt.duration = duration;
|
|
2064
|
+
button.style.transitionDuration = durationStr;
|
|
2065
|
+
}
|
|
2066
|
+
// Update transform
|
|
2067
|
+
if (transform !== opt.transform) {
|
|
2068
|
+
opt.transform = transform;
|
|
2069
|
+
}
|
|
2070
|
+
button.style.transform = transform;
|
|
2071
|
+
/**
|
|
2072
|
+
* Ensure that the select column
|
|
2073
|
+
* item has the selected class
|
|
2074
|
+
*/
|
|
2075
|
+
opt.selected = selected;
|
|
2076
|
+
if (selected) {
|
|
2077
|
+
button.classList.add(PICKER_OPT_SELECTED);
|
|
2078
|
+
}
|
|
2079
|
+
else {
|
|
2080
|
+
button.classList.remove(PICKER_OPT_SELECTED);
|
|
2081
|
+
}
|
|
2082
|
+
}
|
|
2083
|
+
this.col.prevSelected = prevSelected;
|
|
2084
|
+
if (saveY) {
|
|
2085
|
+
this.y = y;
|
|
2086
|
+
}
|
|
2087
|
+
if (this.lastIndex !== selectedIndex) {
|
|
2088
|
+
// have not set a last index yet
|
|
2089
|
+
haptic.hapticSelectionChanged();
|
|
2090
|
+
this.lastIndex = selectedIndex;
|
|
2091
|
+
}
|
|
2092
|
+
}
|
|
2093
|
+
decelerate() {
|
|
2094
|
+
if (this.velocity !== 0) {
|
|
2095
|
+
// still decelerating
|
|
2096
|
+
this.velocity *= DECELERATION_FRICTION;
|
|
2097
|
+
// do not let it go slower than a velocity of 1
|
|
2098
|
+
this.velocity = this.velocity > 0 ? Math.max(this.velocity, 1) : Math.min(this.velocity, -1);
|
|
2099
|
+
let y = this.y + this.velocity;
|
|
2100
|
+
if (y > this.minY) {
|
|
2101
|
+
// whoops, it's trying to scroll up farther than the options we have!
|
|
2102
|
+
y = this.minY;
|
|
2103
|
+
this.velocity = 0;
|
|
2104
|
+
}
|
|
2105
|
+
else if (y < this.maxY) {
|
|
2106
|
+
// gahh, it's trying to scroll down farther than we can!
|
|
2107
|
+
y = this.maxY;
|
|
2108
|
+
this.velocity = 0;
|
|
2109
|
+
}
|
|
2110
|
+
this.update(y, 0, true);
|
|
2111
|
+
const notLockedIn = Math.round(y) % this.optHeight !== 0 || Math.abs(this.velocity) > 1;
|
|
2112
|
+
if (notLockedIn) {
|
|
2113
|
+
// isn't locked in yet, keep decelerating until it is
|
|
2114
|
+
this.rafId = requestAnimationFrame(() => this.decelerate());
|
|
2115
|
+
}
|
|
2116
|
+
else {
|
|
2117
|
+
this.velocity = 0;
|
|
2118
|
+
this.emitColChange();
|
|
2119
|
+
haptic.hapticSelectionEnd();
|
|
2120
|
+
}
|
|
2121
|
+
}
|
|
2122
|
+
else if (this.y % this.optHeight !== 0) {
|
|
2123
|
+
// needs to still get locked into a position so options line up
|
|
2124
|
+
const currentPos = Math.abs(this.y % this.optHeight);
|
|
2125
|
+
// create a velocity in the direction it needs to scroll
|
|
2126
|
+
this.velocity = currentPos > this.optHeight / 2 ? 1 : -1;
|
|
2127
|
+
this.decelerate();
|
|
2128
|
+
}
|
|
2129
|
+
}
|
|
2130
|
+
indexForY(y) {
|
|
2131
|
+
return Math.min(Math.max(Math.abs(Math.round(y / this.optHeight)), 0), this.col.options.length - 1);
|
|
2132
|
+
}
|
|
2133
|
+
onStart(detail) {
|
|
2134
|
+
// We have to prevent default in order to block scrolling under the picker
|
|
2135
|
+
// but we DO NOT have to stop propagation, since we still want
|
|
2136
|
+
// some "click" events to capture
|
|
2137
|
+
if (detail.event.cancelable) {
|
|
2138
|
+
detail.event.preventDefault();
|
|
2139
|
+
}
|
|
2140
|
+
detail.event.stopPropagation();
|
|
2141
|
+
haptic.hapticSelectionStart();
|
|
2142
|
+
// reset everything
|
|
2143
|
+
if (this.rafId !== undefined)
|
|
2144
|
+
cancelAnimationFrame(this.rafId);
|
|
2145
|
+
const options = this.col.options;
|
|
2146
|
+
let minY = options.length - 1;
|
|
2147
|
+
let maxY = 0;
|
|
2148
|
+
for (let i = 0; i < options.length; i++) {
|
|
2149
|
+
if (!options[i].disabled) {
|
|
2150
|
+
minY = Math.min(minY, i);
|
|
2151
|
+
maxY = Math.max(maxY, i);
|
|
2152
|
+
}
|
|
2153
|
+
}
|
|
2154
|
+
this.minY = -(minY * this.optHeight);
|
|
2155
|
+
this.maxY = -(maxY * this.optHeight);
|
|
2156
|
+
}
|
|
2157
|
+
onMove(detail) {
|
|
2158
|
+
if (detail.event.cancelable) {
|
|
2159
|
+
detail.event.preventDefault();
|
|
2160
|
+
}
|
|
2161
|
+
detail.event.stopPropagation();
|
|
2162
|
+
// update the scroll position relative to pointer start position
|
|
2163
|
+
let y = this.y + detail.deltaY;
|
|
2164
|
+
if (y > this.minY) {
|
|
2165
|
+
// scrolling up higher than scroll area
|
|
2166
|
+
y = Math.pow(y, 0.8);
|
|
2167
|
+
this.bounceFrom = y;
|
|
2168
|
+
}
|
|
2169
|
+
else if (y < this.maxY) {
|
|
2170
|
+
// scrolling down below scroll area
|
|
2171
|
+
y += Math.pow(this.maxY - y, 0.9);
|
|
2172
|
+
this.bounceFrom = y;
|
|
2173
|
+
}
|
|
2174
|
+
else {
|
|
2175
|
+
this.bounceFrom = 0;
|
|
2176
|
+
}
|
|
2177
|
+
this.update(y, 0, false);
|
|
2178
|
+
}
|
|
2179
|
+
onEnd(detail) {
|
|
2180
|
+
if (this.bounceFrom > 0) {
|
|
2181
|
+
// bounce back up
|
|
2182
|
+
this.update(this.minY, 100, true);
|
|
2183
|
+
this.emitColChange();
|
|
2184
|
+
return;
|
|
2185
|
+
}
|
|
2186
|
+
else if (this.bounceFrom < 0) {
|
|
2187
|
+
// bounce back down
|
|
2188
|
+
this.update(this.maxY, 100, true);
|
|
2189
|
+
this.emitColChange();
|
|
2190
|
+
return;
|
|
2191
|
+
}
|
|
2192
|
+
this.velocity = helpers.clamp(-MAX_PICKER_SPEED, detail.velocityY * 23, MAX_PICKER_SPEED);
|
|
2193
|
+
if (this.velocity === 0 && detail.deltaY === 0) {
|
|
2194
|
+
const opt = detail.event.target.closest('.picker-opt');
|
|
2195
|
+
if (opt === null || opt === void 0 ? void 0 : opt.hasAttribute('opt-index')) {
|
|
2196
|
+
this.setSelected(parseInt(opt.getAttribute('opt-index'), 10), TRANSITION_DURATION);
|
|
2197
|
+
}
|
|
2198
|
+
}
|
|
2199
|
+
else {
|
|
2200
|
+
this.y += detail.deltaY;
|
|
2201
|
+
if (Math.abs(detail.velocityY) < 0.05) {
|
|
2202
|
+
const isScrollingUp = detail.deltaY > 0;
|
|
2203
|
+
const optHeightFraction = (Math.abs(this.y) % this.optHeight) / this.optHeight;
|
|
2204
|
+
if (isScrollingUp && optHeightFraction > 0.5) {
|
|
2205
|
+
this.velocity = Math.abs(this.velocity) * -1;
|
|
2206
|
+
}
|
|
2207
|
+
else if (!isScrollingUp && optHeightFraction <= 0.5) {
|
|
2208
|
+
this.velocity = Math.abs(this.velocity);
|
|
2209
|
+
}
|
|
2210
|
+
}
|
|
2211
|
+
this.decelerate();
|
|
2212
|
+
}
|
|
2213
|
+
}
|
|
2214
|
+
refresh(forceRefresh, animated) {
|
|
2215
|
+
var _a;
|
|
2216
|
+
let min = this.col.options.length - 1;
|
|
2217
|
+
let max = 0;
|
|
2218
|
+
const options = this.col.options;
|
|
2219
|
+
for (let i = 0; i < options.length; i++) {
|
|
2220
|
+
if (!options[i].disabled) {
|
|
2221
|
+
min = Math.min(min, i);
|
|
2222
|
+
max = Math.max(max, i);
|
|
2223
|
+
}
|
|
2224
|
+
}
|
|
2225
|
+
/**
|
|
2226
|
+
* Only update selected value if column has a
|
|
2227
|
+
* velocity of 0. If it does not, then the
|
|
2228
|
+
* column is animating might land on
|
|
2229
|
+
* a value different than the value at
|
|
2230
|
+
* selectedIndex
|
|
2231
|
+
*/
|
|
2232
|
+
if (this.velocity !== 0) {
|
|
2233
|
+
return;
|
|
2234
|
+
}
|
|
2235
|
+
const selectedIndex = helpers.clamp(min, (_a = this.col.selectedIndex) !== null && _a !== void 0 ? _a : 0, max);
|
|
2236
|
+
if (this.col.prevSelected !== selectedIndex || forceRefresh) {
|
|
2237
|
+
const y = selectedIndex * this.optHeight * -1;
|
|
2238
|
+
const duration = animated ? TRANSITION_DURATION : 0;
|
|
2239
|
+
this.velocity = 0;
|
|
2240
|
+
this.update(y, duration, true);
|
|
2241
|
+
}
|
|
2242
|
+
}
|
|
2243
|
+
onDomChange(forceRefresh, animated) {
|
|
2244
|
+
const colEl = this.optsEl;
|
|
2245
|
+
if (colEl) {
|
|
2246
|
+
// DOM READ
|
|
2247
|
+
// We perfom a DOM read over a rendered item, this needs to happen after the first render or after the the column has changed
|
|
2248
|
+
this.optHeight = colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0;
|
|
2249
|
+
}
|
|
2250
|
+
this.refresh(forceRefresh, animated);
|
|
2251
|
+
}
|
|
2252
|
+
render() {
|
|
2253
|
+
const col = this.col;
|
|
2254
|
+
const mode = ionicGlobal.getIonMode(this);
|
|
2255
|
+
return (index$1.h(index$1.Host, { class: Object.assign({ [mode]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, theme.getClassMap(col.cssClass)), style: {
|
|
2256
|
+
'max-width': this.col.columnWidth,
|
|
2257
|
+
} }, col.prefix && (index$1.h("div", { class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), index$1.h("div", { class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (index$1.h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (index$1.h("div", { class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
|
|
2258
|
+
}
|
|
2259
|
+
get el() { return index$1.getElement(this); }
|
|
2260
|
+
static get watchers() { return {
|
|
2261
|
+
"col": ["colChanged"]
|
|
2262
|
+
}; }
|
|
2263
|
+
};
|
|
2264
|
+
const PICKER_OPT_SELECTED = 'picker-opt-selected';
|
|
2265
|
+
const DECELERATION_FRICTION = 0.97;
|
|
2266
|
+
const MAX_PICKER_SPEED = 90;
|
|
2267
|
+
const TRANSITION_DURATION = 150;
|
|
2268
|
+
PickerColumnCmp.style = {
|
|
2269
|
+
ios: pickerColumnIosCss,
|
|
2270
|
+
md: pickerColumnMdCss
|
|
2271
|
+
};
|
|
2272
|
+
|
|
2273
|
+
exports.ion_datetime = Datetime;
|
|
2274
|
+
exports.ion_picker = Picker;
|
|
2275
|
+
exports.ion_picker_column = PickerColumnCmp;
|