voip-callkit 0.0.8 → 1.0.0
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/VoipCallkit.podspec +1 -0
- package/android/build.gradle +47 -14
- package/android/src/main/.DS_Store +0 -0
- package/android/src/main/AndroidManifest.xml +52 -33
- package/android/src/main/java/.DS_Store +0 -0
- package/android/src/main/java/{io → com}/.DS_Store +0 -0
- package/android/src/main/java/{io/ionic → com/test}/.DS_Store +0 -0
- package/android/src/main/{assets → java/com/test/callkit}/.DS_Store +0 -0
- package/android/src/main/java/com/test/callkit/CallKitVoip.java +12 -0
- package/android/src/main/java/com/test/callkit/CallKitVoipPlugin.java +81 -0
- package/android/src/main/java/com/test/callkit/MyConnectionService.java +200 -0
- package/android/src/main/java/com/test/callkit/MyFirebaseMessagingService.java +96 -0
- package/android/src/main/java/com/test/callkit/androidcall/ApiCalls.java +49 -0
- package/android/src/main/java/com/test/callkit/androidcall/CallActivity.java +1225 -0
- package/android/src/main/java/com/test/callkit/androidcall/RetreivedTokenCallback.java +5 -0
- package/android/src/main/java/com/test/callkit/androidcall/SettingsActivity.java +182 -0
- package/android/src/main/java/com/test/callkit/androidcall/VoipBackgroundService.java +105 -0
- package/android/src/main/java/com/test/callkit/androidcall/VoipForegroundService.java +213 -0
- package/android/src/main/java/com/test/callkit/androidcall/VoipForegroundServiceActionReceiver.java +79 -0
- package/android/src/main/java/com/test/callkit/androidcall/util/CameraCapturerCompat.java +185 -0
- package/android/src/main/java/com/test/callkit/androidcall/util/CodecUtils.kt +23 -0
- package/android/src/main/java/com/test/callkit/androidcall/util/Dialog.java +37 -0
- package/android/src/main/java/com/test/callkit/google-services.json +39 -0
- package/android/src/main/{assets/public/cordova.js → res/.gitkeep} +0 -0
- package/ios/Plugin/CallKitVoipPlugin.swift +8 -4
- package/package.json +1 -1
- package/android/src/main/assets/capacitor.config.json +0 -6
- package/android/src/main/assets/capacitor.plugins.json +0 -22
- package/android/src/main/assets/public/assets/icon/favicon.png +0 -0
- package/android/src/main/assets/public/assets/shapes.svg +0 -1
- package/android/src/main/assets/public/common.js +0 -1361
- package/android/src/main/assets/public/common.js.map +0 -1
- package/android/src/main/assets/public/cordova_plugins.js +0 -0
- package/android/src/main/assets/public/index.html +0 -26
- package/android/src/main/assets/public/main.js +0 -513
- package/android/src/main/assets/public/main.js.map +0 -1
- package/android/src/main/assets/public/node_modules_capacitor-callkit-voip_dist_esm_web_js.js +0 -30
- package/android/src/main/assets/public/node_modules_capacitor-callkit-voip_dist_esm_web_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_input-shims-e57bb0ce_js.js +0 -512
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_input-shims-e57bb0ce_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-accordion_2_entry_js.js +0 -799
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-accordion_2_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-action-sheet_entry_js.js +0 -367
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-action-sheet_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-alert_entry_js.js +0 -471
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-alert_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-app_8_entry_js.js +0 -1552
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-app_8_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-avatar_3_entry_js.js +0 -81
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-avatar_3_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-back-button_entry_js.js +0 -180
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-back-button_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-backdrop_entry_js.js +0 -88
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-backdrop_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-breadcrumb_2_entry_js.js +0 -243
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-breadcrumb_2_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-button_2_entry_js.js +0 -583
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-button_2_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-card_5_entry_js.js +0 -185
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-card_5_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-checkbox_entry_js.js +0 -135
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-checkbox_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-chip_entry_js.js +0 -61
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-chip_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-col_3_entry_js.js +0 -176
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-col_3_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-datetime_3_entry_js.js +0 -3633
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-datetime_3_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-fab_3_entry_js.js +0 -320
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-fab_3_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-img_entry_js.js +0 -153
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-img_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-infinite-scroll_2_entry_js.js +0 -312
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-infinite-scroll_2_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-input_entry_js.js +0 -435
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-input_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-item-option_3_entry_js.js +0 -708
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-item-option_3_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-item_8_entry_js.js +0 -695
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-item_8_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-loading_entry_js.js +0 -287
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-loading_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-menu_3_entry_js.js +0 -926
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-menu_3_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-modal_entry_js.js +0 -2039
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-modal_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-nav_2_entry_js.js +0 -1194
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-nav_2_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-picker-column-internal_entry_js.js +0 -411
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-picker-column-internal_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-picker-internal_entry_js.js +0 -478
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-picker-internal_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-popover_entry_js.js +0 -1743
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-popover_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-progress-bar_entry_js.js +0 -96
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-progress-bar_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-radio_2_entry_js.js +0 -369
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-radio_2_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-range_entry_js.js +0 -665
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-range_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-refresher_2_entry_js.js +0 -1146
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-refresher_2_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-reorder_2_entry_js.js +0 -433
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-reorder_2_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-ripple-effect_entry_js.js +0 -133
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-ripple-effect_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-route_4_entry_js.js +0 -1195
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-route_4_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-searchbar_entry_js.js +0 -524
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-searchbar_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-segment_2_entry_js.js +0 -677
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-segment_2_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-select_3_entry_js.js +0 -815
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-select_3_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-slide_2_entry_js.js +0 -579
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-slide_2_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-spinner_entry_js.js +0 -86
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-spinner_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-split-pane_entry_js.js +0 -216
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-split-pane_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-tab-bar_2_entry_js.js +0 -192
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-tab-bar_2_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-tab_2_entry_js.js +0 -344
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-tab_2_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-text_entry_js.js +0 -45
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-text_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-textarea_entry_js.js +0 -363
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-textarea_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-toast_entry_js.js +0 -401
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-toast_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-toggle_entry_js.js +0 -252
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-toggle_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-virtual-scroll_entry_js.js +0 -708
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-virtual-scroll_entry_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_status-tap-130b103e_js.js +0 -68
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_status-tap-130b103e_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_swiper_bundle-28080340_js.js +0 -6440
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_swiper_bundle-28080340_js.js.map +0 -1
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_tap-click-64ae02c3_js.js +0 -204
- package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_tap-click-64ae02c3_js.js.map +0 -1
- package/android/src/main/assets/public/polyfills-core-js.js +0 -25
- package/android/src/main/assets/public/polyfills-core-js.js.map +0 -1
- package/android/src/main/assets/public/polyfills-dom.js +0 -93
- package/android/src/main/assets/public/polyfills-dom.js.map +0 -1
- package/android/src/main/assets/public/polyfills.js +0 -7310
- package/android/src/main/assets/public/polyfills.js.map +0 -1
- package/android/src/main/assets/public/runtime.js +0 -329
- package/android/src/main/assets/public/runtime.js.map +0 -1
- package/android/src/main/assets/public/src_app_home_home_module_ts.js +0 -263
- package/android/src/main/assets/public/src_app_home_home_module_ts.js.map +0 -1
- package/android/src/main/assets/public/src_app_test_test_module_ts.js +0 -144
- package/android/src/main/assets/public/src_app_test_test_module_ts.js.map +0 -1
- package/android/src/main/assets/public/src_app_view-message_view-message_module_ts.js +0 -161
- package/android/src/main/assets/public/src_app_view-message_view-message_module_ts.js.map +0 -1
- package/android/src/main/assets/public/styles.css +0 -1381
- package/android/src/main/assets/public/styles.css.map +0 -1
- package/android/src/main/assets/public/svg/accessibility-outline.svg +0 -1
- package/android/src/main/assets/public/svg/accessibility-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/accessibility.svg +0 -1
- package/android/src/main/assets/public/svg/add-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/add-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/add-circle.svg +0 -1
- package/android/src/main/assets/public/svg/add-outline.svg +0 -1
- package/android/src/main/assets/public/svg/add-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/add.svg +0 -1
- package/android/src/main/assets/public/svg/airplane-outline.svg +0 -1
- package/android/src/main/assets/public/svg/airplane-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/airplane.svg +0 -1
- package/android/src/main/assets/public/svg/alarm-outline.svg +0 -1
- package/android/src/main/assets/public/svg/alarm-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/alarm.svg +0 -1
- package/android/src/main/assets/public/svg/albums-outline.svg +0 -1
- package/android/src/main/assets/public/svg/albums-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/albums.svg +0 -1
- package/android/src/main/assets/public/svg/alert-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/alert-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/alert-circle.svg +0 -1
- package/android/src/main/assets/public/svg/alert-outline.svg +0 -1
- package/android/src/main/assets/public/svg/alert-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/alert.svg +0 -1
- package/android/src/main/assets/public/svg/american-football-outline.svg +0 -1
- package/android/src/main/assets/public/svg/american-football-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/american-football.svg +0 -1
- package/android/src/main/assets/public/svg/analytics-outline.svg +0 -1
- package/android/src/main/assets/public/svg/analytics-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/analytics.svg +0 -1
- package/android/src/main/assets/public/svg/aperture-outline.svg +0 -1
- package/android/src/main/assets/public/svg/aperture-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/aperture.svg +0 -1
- package/android/src/main/assets/public/svg/apps-outline.svg +0 -1
- package/android/src/main/assets/public/svg/apps-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/apps.svg +0 -1
- package/android/src/main/assets/public/svg/archive-outline.svg +0 -1
- package/android/src/main/assets/public/svg/archive-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/archive.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-back-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-back-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-back-circle.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-back-outline.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-back-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-back.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-down-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-down-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-down-circle.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-down-outline.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-down-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-down.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-forward-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-forward-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-forward-circle.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-forward-outline.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-forward-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-forward.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-redo-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-redo-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-redo-circle.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-redo-outline.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-redo-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-redo.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-undo-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-undo-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-undo-circle.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-undo-outline.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-undo-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-undo.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-up-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-up-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-up-circle.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-up-outline.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-up-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/arrow-up.svg +0 -1
- package/android/src/main/assets/public/svg/at-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/at-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/at-circle.svg +0 -1
- package/android/src/main/assets/public/svg/at-outline.svg +0 -1
- package/android/src/main/assets/public/svg/at-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/at.svg +0 -1
- package/android/src/main/assets/public/svg/attach-outline.svg +0 -1
- package/android/src/main/assets/public/svg/attach-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/attach.svg +0 -1
- package/android/src/main/assets/public/svg/backspace-outline.svg +0 -1
- package/android/src/main/assets/public/svg/backspace-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/backspace.svg +0 -1
- package/android/src/main/assets/public/svg/bag-add-outline.svg +0 -1
- package/android/src/main/assets/public/svg/bag-add-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/bag-add.svg +0 -1
- package/android/src/main/assets/public/svg/bag-check-outline.svg +0 -1
- package/android/src/main/assets/public/svg/bag-check-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/bag-check.svg +0 -1
- package/android/src/main/assets/public/svg/bag-handle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/bag-handle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/bag-handle.svg +0 -1
- package/android/src/main/assets/public/svg/bag-outline.svg +0 -1
- package/android/src/main/assets/public/svg/bag-remove-outline.svg +0 -1
- package/android/src/main/assets/public/svg/bag-remove-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/bag-remove.svg +0 -1
- package/android/src/main/assets/public/svg/bag-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/bag.svg +0 -1
- package/android/src/main/assets/public/svg/balloon-outline.svg +0 -1
- package/android/src/main/assets/public/svg/balloon-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/balloon.svg +0 -1
- package/android/src/main/assets/public/svg/ban-outline.svg +0 -1
- package/android/src/main/assets/public/svg/ban-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/ban.svg +0 -1
- package/android/src/main/assets/public/svg/bandage-outline.svg +0 -1
- package/android/src/main/assets/public/svg/bandage-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/bandage.svg +0 -1
- package/android/src/main/assets/public/svg/bar-chart-outline.svg +0 -1
- package/android/src/main/assets/public/svg/bar-chart-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/bar-chart.svg +0 -1
- package/android/src/main/assets/public/svg/barbell-outline.svg +0 -1
- package/android/src/main/assets/public/svg/barbell-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/barbell.svg +0 -1
- package/android/src/main/assets/public/svg/barcode-outline.svg +0 -1
- package/android/src/main/assets/public/svg/barcode-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/barcode.svg +0 -1
- package/android/src/main/assets/public/svg/baseball-outline.svg +0 -1
- package/android/src/main/assets/public/svg/baseball-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/baseball.svg +0 -1
- package/android/src/main/assets/public/svg/basket-outline.svg +0 -1
- package/android/src/main/assets/public/svg/basket-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/basket.svg +0 -1
- package/android/src/main/assets/public/svg/basketball-outline.svg +0 -1
- package/android/src/main/assets/public/svg/basketball-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/basketball.svg +0 -1
- package/android/src/main/assets/public/svg/battery-charging-outline.svg +0 -1
- package/android/src/main/assets/public/svg/battery-charging-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/battery-charging.svg +0 -1
- package/android/src/main/assets/public/svg/battery-dead-outline.svg +0 -1
- package/android/src/main/assets/public/svg/battery-dead-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/battery-dead.svg +0 -1
- package/android/src/main/assets/public/svg/battery-full-outline.svg +0 -1
- package/android/src/main/assets/public/svg/battery-full-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/battery-full.svg +0 -1
- package/android/src/main/assets/public/svg/battery-half-outline.svg +0 -1
- package/android/src/main/assets/public/svg/battery-half-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/battery-half.svg +0 -1
- package/android/src/main/assets/public/svg/beaker-outline.svg +0 -1
- package/android/src/main/assets/public/svg/beaker-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/beaker.svg +0 -1
- package/android/src/main/assets/public/svg/bed-outline.svg +0 -1
- package/android/src/main/assets/public/svg/bed-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/bed.svg +0 -1
- package/android/src/main/assets/public/svg/beer-outline.svg +0 -1
- package/android/src/main/assets/public/svg/beer-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/beer.svg +0 -1
- package/android/src/main/assets/public/svg/bicycle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/bicycle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/bicycle.svg +0 -1
- package/android/src/main/assets/public/svg/bluetooth-outline.svg +0 -1
- package/android/src/main/assets/public/svg/bluetooth-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/bluetooth.svg +0 -1
- package/android/src/main/assets/public/svg/boat-outline.svg +0 -1
- package/android/src/main/assets/public/svg/boat-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/boat.svg +0 -1
- package/android/src/main/assets/public/svg/body-outline.svg +0 -1
- package/android/src/main/assets/public/svg/body-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/body.svg +0 -1
- package/android/src/main/assets/public/svg/bonfire-outline.svg +0 -1
- package/android/src/main/assets/public/svg/bonfire-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/bonfire.svg +0 -1
- package/android/src/main/assets/public/svg/book-outline.svg +0 -1
- package/android/src/main/assets/public/svg/book-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/book.svg +0 -1
- package/android/src/main/assets/public/svg/bookmark-outline.svg +0 -1
- package/android/src/main/assets/public/svg/bookmark-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/bookmark.svg +0 -1
- package/android/src/main/assets/public/svg/bookmarks-outline.svg +0 -1
- package/android/src/main/assets/public/svg/bookmarks-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/bookmarks.svg +0 -1
- package/android/src/main/assets/public/svg/bowling-ball-outline.svg +0 -1
- package/android/src/main/assets/public/svg/bowling-ball-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/bowling-ball.svg +0 -1
- package/android/src/main/assets/public/svg/briefcase-outline.svg +0 -1
- package/android/src/main/assets/public/svg/briefcase-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/briefcase.svg +0 -1
- package/android/src/main/assets/public/svg/browsers-outline.svg +0 -1
- package/android/src/main/assets/public/svg/browsers-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/browsers.svg +0 -1
- package/android/src/main/assets/public/svg/brush-outline.svg +0 -1
- package/android/src/main/assets/public/svg/brush-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/brush.svg +0 -1
- package/android/src/main/assets/public/svg/bug-outline.svg +0 -1
- package/android/src/main/assets/public/svg/bug-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/bug.svg +0 -1
- package/android/src/main/assets/public/svg/build-outline.svg +0 -1
- package/android/src/main/assets/public/svg/build-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/build.svg +0 -1
- package/android/src/main/assets/public/svg/bulb-outline.svg +0 -1
- package/android/src/main/assets/public/svg/bulb-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/bulb.svg +0 -1
- package/android/src/main/assets/public/svg/bus-outline.svg +0 -1
- package/android/src/main/assets/public/svg/bus-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/bus.svg +0 -1
- package/android/src/main/assets/public/svg/business-outline.svg +0 -1
- package/android/src/main/assets/public/svg/business-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/business.svg +0 -1
- package/android/src/main/assets/public/svg/cafe-outline.svg +0 -1
- package/android/src/main/assets/public/svg/cafe-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/cafe.svg +0 -1
- package/android/src/main/assets/public/svg/calculator-outline.svg +0 -1
- package/android/src/main/assets/public/svg/calculator-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/calculator.svg +0 -1
- package/android/src/main/assets/public/svg/calendar-clear-outline.svg +0 -1
- package/android/src/main/assets/public/svg/calendar-clear-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/calendar-clear.svg +0 -1
- package/android/src/main/assets/public/svg/calendar-number-outline.svg +0 -1
- package/android/src/main/assets/public/svg/calendar-number-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/calendar-number.svg +0 -1
- package/android/src/main/assets/public/svg/calendar-outline.svg +0 -1
- package/android/src/main/assets/public/svg/calendar-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/calendar.svg +0 -1
- package/android/src/main/assets/public/svg/call-outline.svg +0 -1
- package/android/src/main/assets/public/svg/call-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/call.svg +0 -1
- package/android/src/main/assets/public/svg/camera-outline.svg +0 -1
- package/android/src/main/assets/public/svg/camera-reverse-outline.svg +0 -1
- package/android/src/main/assets/public/svg/camera-reverse-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/camera-reverse.svg +0 -1
- package/android/src/main/assets/public/svg/camera-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/camera.svg +0 -1
- package/android/src/main/assets/public/svg/car-outline.svg +0 -1
- package/android/src/main/assets/public/svg/car-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/car-sport-outline.svg +0 -1
- package/android/src/main/assets/public/svg/car-sport-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/car-sport.svg +0 -1
- package/android/src/main/assets/public/svg/car.svg +0 -1
- package/android/src/main/assets/public/svg/card-outline.svg +0 -1
- package/android/src/main/assets/public/svg/card-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/card.svg +0 -1
- package/android/src/main/assets/public/svg/caret-back-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/caret-back-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/caret-back-circle.svg +0 -1
- package/android/src/main/assets/public/svg/caret-back-outline.svg +0 -1
- package/android/src/main/assets/public/svg/caret-back-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/caret-back.svg +0 -1
- package/android/src/main/assets/public/svg/caret-down-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/caret-down-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/caret-down-circle.svg +0 -1
- package/android/src/main/assets/public/svg/caret-down-outline.svg +0 -1
- package/android/src/main/assets/public/svg/caret-down-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/caret-down.svg +0 -1
- package/android/src/main/assets/public/svg/caret-forward-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/caret-forward-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/caret-forward-circle.svg +0 -1
- package/android/src/main/assets/public/svg/caret-forward-outline.svg +0 -1
- package/android/src/main/assets/public/svg/caret-forward-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/caret-forward.svg +0 -1
- package/android/src/main/assets/public/svg/caret-up-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/caret-up-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/caret-up-circle.svg +0 -1
- package/android/src/main/assets/public/svg/caret-up-outline.svg +0 -1
- package/android/src/main/assets/public/svg/caret-up-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/caret-up.svg +0 -1
- package/android/src/main/assets/public/svg/cart-outline.svg +0 -1
- package/android/src/main/assets/public/svg/cart-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/cart.svg +0 -1
- package/android/src/main/assets/public/svg/cash-outline.svg +0 -1
- package/android/src/main/assets/public/svg/cash-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/cash.svg +0 -1
- package/android/src/main/assets/public/svg/cellular-outline.svg +0 -1
- package/android/src/main/assets/public/svg/cellular-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/cellular.svg +0 -1
- package/android/src/main/assets/public/svg/chatbox-ellipses-outline.svg +0 -1
- package/android/src/main/assets/public/svg/chatbox-ellipses-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/chatbox-ellipses.svg +0 -1
- package/android/src/main/assets/public/svg/chatbox-outline.svg +0 -1
- package/android/src/main/assets/public/svg/chatbox-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/chatbox.svg +0 -1
- package/android/src/main/assets/public/svg/chatbubble-ellipses-outline.svg +0 -1
- package/android/src/main/assets/public/svg/chatbubble-ellipses-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/chatbubble-ellipses.svg +0 -1
- package/android/src/main/assets/public/svg/chatbubble-outline.svg +0 -1
- package/android/src/main/assets/public/svg/chatbubble-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/chatbubble.svg +0 -1
- package/android/src/main/assets/public/svg/chatbubbles-outline.svg +0 -1
- package/android/src/main/assets/public/svg/chatbubbles-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/chatbubbles.svg +0 -1
- package/android/src/main/assets/public/svg/checkbox-outline.svg +0 -1
- package/android/src/main/assets/public/svg/checkbox-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/checkbox.svg +0 -1
- package/android/src/main/assets/public/svg/checkmark-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/checkmark-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/checkmark-circle.svg +0 -1
- package/android/src/main/assets/public/svg/checkmark-done-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/checkmark-done-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/checkmark-done-circle.svg +0 -1
- package/android/src/main/assets/public/svg/checkmark-done-outline.svg +0 -1
- package/android/src/main/assets/public/svg/checkmark-done-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/checkmark-done.svg +0 -1
- package/android/src/main/assets/public/svg/checkmark-outline.svg +0 -1
- package/android/src/main/assets/public/svg/checkmark-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/checkmark.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-back-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-back-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-back-circle.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-back-outline.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-back-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-back.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-down-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-down-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-down-circle.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-down-outline.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-down-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-down.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-forward-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-forward-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-forward-circle.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-forward-outline.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-forward-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-forward.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-up-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-up-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-up-circle.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-up-outline.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-up-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/chevron-up.svg +0 -1
- package/android/src/main/assets/public/svg/clipboard-outline.svg +0 -1
- package/android/src/main/assets/public/svg/clipboard-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/clipboard.svg +0 -1
- package/android/src/main/assets/public/svg/close-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/close-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/close-circle.svg +0 -1
- package/android/src/main/assets/public/svg/close-outline.svg +0 -1
- package/android/src/main/assets/public/svg/close-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/close.svg +0 -1
- package/android/src/main/assets/public/svg/cloud-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/cloud-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/cloud-circle.svg +0 -1
- package/android/src/main/assets/public/svg/cloud-done-outline.svg +0 -1
- package/android/src/main/assets/public/svg/cloud-done-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/cloud-done.svg +0 -1
- package/android/src/main/assets/public/svg/cloud-download-outline.svg +0 -1
- package/android/src/main/assets/public/svg/cloud-download-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/cloud-download.svg +0 -1
- package/android/src/main/assets/public/svg/cloud-offline-outline.svg +0 -1
- package/android/src/main/assets/public/svg/cloud-offline-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/cloud-offline.svg +0 -1
- package/android/src/main/assets/public/svg/cloud-outline.svg +0 -1
- package/android/src/main/assets/public/svg/cloud-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/cloud-upload-outline.svg +0 -1
- package/android/src/main/assets/public/svg/cloud-upload-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/cloud-upload.svg +0 -1
- package/android/src/main/assets/public/svg/cloud.svg +0 -1
- package/android/src/main/assets/public/svg/cloudy-night-outline.svg +0 -1
- package/android/src/main/assets/public/svg/cloudy-night-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/cloudy-night.svg +0 -1
- package/android/src/main/assets/public/svg/cloudy-outline.svg +0 -1
- package/android/src/main/assets/public/svg/cloudy-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/cloudy.svg +0 -1
- package/android/src/main/assets/public/svg/code-download-outline.svg +0 -1
- package/android/src/main/assets/public/svg/code-download-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/code-download.svg +0 -1
- package/android/src/main/assets/public/svg/code-outline.svg +0 -1
- package/android/src/main/assets/public/svg/code-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/code-slash-outline.svg +0 -1
- package/android/src/main/assets/public/svg/code-slash-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/code-slash.svg +0 -1
- package/android/src/main/assets/public/svg/code-working-outline.svg +0 -1
- package/android/src/main/assets/public/svg/code-working-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/code-working.svg +0 -1
- package/android/src/main/assets/public/svg/code.svg +0 -1
- package/android/src/main/assets/public/svg/cog-outline.svg +0 -1
- package/android/src/main/assets/public/svg/cog-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/cog.svg +0 -1
- package/android/src/main/assets/public/svg/color-fill-outline.svg +0 -1
- package/android/src/main/assets/public/svg/color-fill-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/color-fill.svg +0 -1
- package/android/src/main/assets/public/svg/color-filter-outline.svg +0 -1
- package/android/src/main/assets/public/svg/color-filter-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/color-filter.svg +0 -1
- package/android/src/main/assets/public/svg/color-palette-outline.svg +0 -1
- package/android/src/main/assets/public/svg/color-palette-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/color-palette.svg +0 -1
- package/android/src/main/assets/public/svg/color-wand-outline.svg +0 -1
- package/android/src/main/assets/public/svg/color-wand-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/color-wand.svg +0 -1
- package/android/src/main/assets/public/svg/compass-outline.svg +0 -1
- package/android/src/main/assets/public/svg/compass-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/compass.svg +0 -1
- package/android/src/main/assets/public/svg/construct-outline.svg +0 -1
- package/android/src/main/assets/public/svg/construct-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/construct.svg +0 -1
- package/android/src/main/assets/public/svg/contract-outline.svg +0 -1
- package/android/src/main/assets/public/svg/contract-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/contract.svg +0 -1
- package/android/src/main/assets/public/svg/contrast-outline.svg +0 -1
- package/android/src/main/assets/public/svg/contrast-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/contrast.svg +0 -1
- package/android/src/main/assets/public/svg/copy-outline.svg +0 -1
- package/android/src/main/assets/public/svg/copy-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/copy.svg +0 -1
- package/android/src/main/assets/public/svg/create-outline.svg +0 -1
- package/android/src/main/assets/public/svg/create-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/create.svg +0 -1
- package/android/src/main/assets/public/svg/crop-outline.svg +0 -1
- package/android/src/main/assets/public/svg/crop-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/crop.svg +0 -1
- package/android/src/main/assets/public/svg/cube-outline.svg +0 -1
- package/android/src/main/assets/public/svg/cube-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/cube.svg +0 -1
- package/android/src/main/assets/public/svg/cut-outline.svg +0 -1
- package/android/src/main/assets/public/svg/cut-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/cut.svg +0 -1
- package/android/src/main/assets/public/svg/desktop-outline.svg +0 -1
- package/android/src/main/assets/public/svg/desktop-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/desktop.svg +0 -1
- package/android/src/main/assets/public/svg/diamond-outline.svg +0 -1
- package/android/src/main/assets/public/svg/diamond-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/diamond.svg +0 -1
- package/android/src/main/assets/public/svg/dice-outline.svg +0 -1
- package/android/src/main/assets/public/svg/dice-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/dice.svg +0 -1
- package/android/src/main/assets/public/svg/disc-outline.svg +0 -1
- package/android/src/main/assets/public/svg/disc-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/disc.svg +0 -1
- package/android/src/main/assets/public/svg/document-attach-outline.svg +0 -1
- package/android/src/main/assets/public/svg/document-attach-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/document-attach.svg +0 -1
- package/android/src/main/assets/public/svg/document-lock-outline.svg +0 -1
- package/android/src/main/assets/public/svg/document-lock-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/document-lock.svg +0 -1
- package/android/src/main/assets/public/svg/document-outline.svg +0 -1
- package/android/src/main/assets/public/svg/document-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/document-text-outline.svg +0 -1
- package/android/src/main/assets/public/svg/document-text-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/document-text.svg +0 -1
- package/android/src/main/assets/public/svg/document.svg +0 -1
- package/android/src/main/assets/public/svg/documents-outline.svg +0 -1
- package/android/src/main/assets/public/svg/documents-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/documents.svg +0 -1
- package/android/src/main/assets/public/svg/download-outline.svg +0 -1
- package/android/src/main/assets/public/svg/download-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/download.svg +0 -1
- package/android/src/main/assets/public/svg/duplicate-outline.svg +0 -1
- package/android/src/main/assets/public/svg/duplicate-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/duplicate.svg +0 -1
- package/android/src/main/assets/public/svg/ear-outline.svg +0 -1
- package/android/src/main/assets/public/svg/ear-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/ear.svg +0 -1
- package/android/src/main/assets/public/svg/earth-outline.svg +0 -1
- package/android/src/main/assets/public/svg/earth-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/earth.svg +0 -1
- package/android/src/main/assets/public/svg/easel-outline.svg +0 -1
- package/android/src/main/assets/public/svg/easel-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/easel.svg +0 -1
- package/android/src/main/assets/public/svg/egg-outline.svg +0 -1
- package/android/src/main/assets/public/svg/egg-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/egg.svg +0 -1
- package/android/src/main/assets/public/svg/ellipse-outline.svg +0 -1
- package/android/src/main/assets/public/svg/ellipse-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/ellipse.svg +0 -1
- package/android/src/main/assets/public/svg/ellipsis-horizontal-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/ellipsis-horizontal-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/ellipsis-horizontal-circle.svg +0 -1
- package/android/src/main/assets/public/svg/ellipsis-horizontal-outline.svg +0 -1
- package/android/src/main/assets/public/svg/ellipsis-horizontal-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/ellipsis-horizontal.svg +0 -1
- package/android/src/main/assets/public/svg/ellipsis-vertical-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/ellipsis-vertical-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/ellipsis-vertical-circle.svg +0 -1
- package/android/src/main/assets/public/svg/ellipsis-vertical-outline.svg +0 -1
- package/android/src/main/assets/public/svg/ellipsis-vertical-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/ellipsis-vertical.svg +0 -1
- package/android/src/main/assets/public/svg/enter-outline.svg +0 -1
- package/android/src/main/assets/public/svg/enter-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/enter.svg +0 -1
- package/android/src/main/assets/public/svg/exit-outline.svg +0 -1
- package/android/src/main/assets/public/svg/exit-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/exit.svg +0 -1
- package/android/src/main/assets/public/svg/expand-outline.svg +0 -1
- package/android/src/main/assets/public/svg/expand-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/expand.svg +0 -1
- package/android/src/main/assets/public/svg/extension-puzzle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/extension-puzzle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/extension-puzzle.svg +0 -1
- package/android/src/main/assets/public/svg/eye-off-outline.svg +0 -1
- package/android/src/main/assets/public/svg/eye-off-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/eye-off.svg +0 -1
- package/android/src/main/assets/public/svg/eye-outline.svg +0 -1
- package/android/src/main/assets/public/svg/eye-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/eye.svg +0 -1
- package/android/src/main/assets/public/svg/eyedrop-outline.svg +0 -1
- package/android/src/main/assets/public/svg/eyedrop-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/eyedrop.svg +0 -1
- package/android/src/main/assets/public/svg/fast-food-outline.svg +0 -1
- package/android/src/main/assets/public/svg/fast-food-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/fast-food.svg +0 -1
- package/android/src/main/assets/public/svg/female-outline.svg +0 -1
- package/android/src/main/assets/public/svg/female-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/female.svg +0 -1
- package/android/src/main/assets/public/svg/file-tray-full-outline.svg +0 -1
- package/android/src/main/assets/public/svg/file-tray-full-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/file-tray-full.svg +0 -1
- package/android/src/main/assets/public/svg/file-tray-outline.svg +0 -1
- package/android/src/main/assets/public/svg/file-tray-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/file-tray-stacked-outline.svg +0 -1
- package/android/src/main/assets/public/svg/file-tray-stacked-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/file-tray-stacked.svg +0 -1
- package/android/src/main/assets/public/svg/file-tray.svg +0 -1
- package/android/src/main/assets/public/svg/film-outline.svg +0 -1
- package/android/src/main/assets/public/svg/film-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/film.svg +0 -1
- package/android/src/main/assets/public/svg/filter-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/filter-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/filter-circle.svg +0 -1
- package/android/src/main/assets/public/svg/filter-outline.svg +0 -1
- package/android/src/main/assets/public/svg/filter-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/filter.svg +0 -1
- package/android/src/main/assets/public/svg/finger-print-outline.svg +0 -1
- package/android/src/main/assets/public/svg/finger-print-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/finger-print.svg +0 -1
- package/android/src/main/assets/public/svg/fish-outline.svg +0 -1
- package/android/src/main/assets/public/svg/fish-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/fish.svg +0 -1
- package/android/src/main/assets/public/svg/fitness-outline.svg +0 -1
- package/android/src/main/assets/public/svg/fitness-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/fitness.svg +0 -1
- package/android/src/main/assets/public/svg/flag-outline.svg +0 -1
- package/android/src/main/assets/public/svg/flag-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/flag.svg +0 -1
- package/android/src/main/assets/public/svg/flame-outline.svg +0 -1
- package/android/src/main/assets/public/svg/flame-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/flame.svg +0 -1
- package/android/src/main/assets/public/svg/flash-off-outline.svg +0 -1
- package/android/src/main/assets/public/svg/flash-off-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/flash-off.svg +0 -1
- package/android/src/main/assets/public/svg/flash-outline.svg +0 -1
- package/android/src/main/assets/public/svg/flash-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/flash.svg +0 -1
- package/android/src/main/assets/public/svg/flashlight-outline.svg +0 -1
- package/android/src/main/assets/public/svg/flashlight-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/flashlight.svg +0 -1
- package/android/src/main/assets/public/svg/flask-outline.svg +0 -1
- package/android/src/main/assets/public/svg/flask-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/flask.svg +0 -1
- package/android/src/main/assets/public/svg/flower-outline.svg +0 -1
- package/android/src/main/assets/public/svg/flower-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/flower.svg +0 -1
- package/android/src/main/assets/public/svg/folder-open-outline.svg +0 -1
- package/android/src/main/assets/public/svg/folder-open-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/folder-open.svg +0 -1
- package/android/src/main/assets/public/svg/folder-outline.svg +0 -1
- package/android/src/main/assets/public/svg/folder-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/folder.svg +0 -1
- package/android/src/main/assets/public/svg/football-outline.svg +0 -1
- package/android/src/main/assets/public/svg/football-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/football.svg +0 -1
- package/android/src/main/assets/public/svg/footsteps-outline.svg +0 -1
- package/android/src/main/assets/public/svg/footsteps-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/footsteps.svg +0 -1
- package/android/src/main/assets/public/svg/funnel-outline.svg +0 -1
- package/android/src/main/assets/public/svg/funnel-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/funnel.svg +0 -1
- package/android/src/main/assets/public/svg/game-controller-outline.svg +0 -1
- package/android/src/main/assets/public/svg/game-controller-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/game-controller.svg +0 -1
- package/android/src/main/assets/public/svg/gift-outline.svg +0 -1
- package/android/src/main/assets/public/svg/gift-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/gift.svg +0 -1
- package/android/src/main/assets/public/svg/git-branch-outline.svg +0 -1
- package/android/src/main/assets/public/svg/git-branch-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/git-branch.svg +0 -1
- package/android/src/main/assets/public/svg/git-commit-outline.svg +0 -1
- package/android/src/main/assets/public/svg/git-commit-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/git-commit.svg +0 -1
- package/android/src/main/assets/public/svg/git-compare-outline.svg +0 -1
- package/android/src/main/assets/public/svg/git-compare-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/git-compare.svg +0 -1
- package/android/src/main/assets/public/svg/git-merge-outline.svg +0 -1
- package/android/src/main/assets/public/svg/git-merge-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/git-merge.svg +0 -1
- package/android/src/main/assets/public/svg/git-network-outline.svg +0 -1
- package/android/src/main/assets/public/svg/git-network-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/git-network.svg +0 -1
- package/android/src/main/assets/public/svg/git-pull-request-outline.svg +0 -1
- package/android/src/main/assets/public/svg/git-pull-request-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/git-pull-request.svg +0 -1
- package/android/src/main/assets/public/svg/glasses-outline.svg +0 -1
- package/android/src/main/assets/public/svg/glasses-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/glasses.svg +0 -1
- package/android/src/main/assets/public/svg/globe-outline.svg +0 -1
- package/android/src/main/assets/public/svg/globe-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/globe.svg +0 -1
- package/android/src/main/assets/public/svg/golf-outline.svg +0 -1
- package/android/src/main/assets/public/svg/golf-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/golf.svg +0 -1
- package/android/src/main/assets/public/svg/grid-outline.svg +0 -1
- package/android/src/main/assets/public/svg/grid-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/grid.svg +0 -1
- package/android/src/main/assets/public/svg/hammer-outline.svg +0 -1
- package/android/src/main/assets/public/svg/hammer-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/hammer.svg +0 -1
- package/android/src/main/assets/public/svg/hand-left-outline.svg +0 -1
- package/android/src/main/assets/public/svg/hand-left-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/hand-left.svg +0 -1
- package/android/src/main/assets/public/svg/hand-right-outline.svg +0 -1
- package/android/src/main/assets/public/svg/hand-right-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/hand-right.svg +0 -1
- package/android/src/main/assets/public/svg/happy-outline.svg +0 -1
- package/android/src/main/assets/public/svg/happy-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/happy.svg +0 -1
- package/android/src/main/assets/public/svg/hardware-chip-outline.svg +0 -1
- package/android/src/main/assets/public/svg/hardware-chip-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/hardware-chip.svg +0 -1
- package/android/src/main/assets/public/svg/headset-outline.svg +0 -1
- package/android/src/main/assets/public/svg/headset-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/headset.svg +0 -1
- package/android/src/main/assets/public/svg/heart-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/heart-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/heart-circle.svg +0 -1
- package/android/src/main/assets/public/svg/heart-dislike-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/heart-dislike-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/heart-dislike-circle.svg +0 -1
- package/android/src/main/assets/public/svg/heart-dislike-outline.svg +0 -1
- package/android/src/main/assets/public/svg/heart-dislike-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/heart-dislike.svg +0 -1
- package/android/src/main/assets/public/svg/heart-half-outline.svg +0 -1
- package/android/src/main/assets/public/svg/heart-half-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/heart-half.svg +0 -1
- package/android/src/main/assets/public/svg/heart-outline.svg +0 -1
- package/android/src/main/assets/public/svg/heart-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/heart.svg +0 -1
- package/android/src/main/assets/public/svg/help-buoy-outline.svg +0 -1
- package/android/src/main/assets/public/svg/help-buoy-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/help-buoy.svg +0 -1
- package/android/src/main/assets/public/svg/help-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/help-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/help-circle.svg +0 -1
- package/android/src/main/assets/public/svg/help-outline.svg +0 -1
- package/android/src/main/assets/public/svg/help-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/help.svg +0 -1
- package/android/src/main/assets/public/svg/home-outline.svg +0 -1
- package/android/src/main/assets/public/svg/home-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/home.svg +0 -1
- package/android/src/main/assets/public/svg/hourglass-outline.svg +0 -1
- package/android/src/main/assets/public/svg/hourglass-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/hourglass.svg +0 -1
- package/android/src/main/assets/public/svg/ice-cream-outline.svg +0 -1
- package/android/src/main/assets/public/svg/ice-cream-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/ice-cream.svg +0 -1
- package/android/src/main/assets/public/svg/id-card-outline.svg +0 -1
- package/android/src/main/assets/public/svg/id-card-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/id-card.svg +0 -1
- package/android/src/main/assets/public/svg/image-outline.svg +0 -1
- package/android/src/main/assets/public/svg/image-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/image.svg +0 -1
- package/android/src/main/assets/public/svg/images-outline.svg +0 -1
- package/android/src/main/assets/public/svg/images-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/images.svg +0 -1
- package/android/src/main/assets/public/svg/infinite-outline.svg +0 -1
- package/android/src/main/assets/public/svg/infinite-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/infinite.svg +0 -1
- package/android/src/main/assets/public/svg/information-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/information-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/information-circle.svg +0 -1
- package/android/src/main/assets/public/svg/information-outline.svg +0 -1
- package/android/src/main/assets/public/svg/information-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/information.svg +0 -1
- package/android/src/main/assets/public/svg/invert-mode-outline.svg +0 -1
- package/android/src/main/assets/public/svg/invert-mode-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/invert-mode.svg +0 -1
- package/android/src/main/assets/public/svg/journal-outline.svg +0 -1
- package/android/src/main/assets/public/svg/journal-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/journal.svg +0 -1
- package/android/src/main/assets/public/svg/key-outline.svg +0 -1
- package/android/src/main/assets/public/svg/key-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/key.svg +0 -1
- package/android/src/main/assets/public/svg/keypad-outline.svg +0 -1
- package/android/src/main/assets/public/svg/keypad-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/keypad.svg +0 -1
- package/android/src/main/assets/public/svg/language-outline.svg +0 -1
- package/android/src/main/assets/public/svg/language-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/language.svg +0 -1
- package/android/src/main/assets/public/svg/laptop-outline.svg +0 -1
- package/android/src/main/assets/public/svg/laptop-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/laptop.svg +0 -1
- package/android/src/main/assets/public/svg/layers-outline.svg +0 -1
- package/android/src/main/assets/public/svg/layers-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/layers.svg +0 -1
- package/android/src/main/assets/public/svg/leaf-outline.svg +0 -1
- package/android/src/main/assets/public/svg/leaf-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/leaf.svg +0 -1
- package/android/src/main/assets/public/svg/library-outline.svg +0 -1
- package/android/src/main/assets/public/svg/library-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/library.svg +0 -1
- package/android/src/main/assets/public/svg/link-outline.svg +0 -1
- package/android/src/main/assets/public/svg/link-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/link.svg +0 -1
- package/android/src/main/assets/public/svg/list-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/list-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/list-circle.svg +0 -1
- package/android/src/main/assets/public/svg/list-outline.svg +0 -1
- package/android/src/main/assets/public/svg/list-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/list.svg +0 -1
- package/android/src/main/assets/public/svg/locate-outline.svg +0 -1
- package/android/src/main/assets/public/svg/locate-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/locate.svg +0 -1
- package/android/src/main/assets/public/svg/location-outline.svg +0 -1
- package/android/src/main/assets/public/svg/location-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/location.svg +0 -1
- package/android/src/main/assets/public/svg/lock-closed-outline.svg +0 -1
- package/android/src/main/assets/public/svg/lock-closed-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/lock-closed.svg +0 -1
- package/android/src/main/assets/public/svg/lock-open-outline.svg +0 -1
- package/android/src/main/assets/public/svg/lock-open-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/lock-open.svg +0 -1
- package/android/src/main/assets/public/svg/log-in-outline.svg +0 -1
- package/android/src/main/assets/public/svg/log-in-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/log-in.svg +0 -1
- package/android/src/main/assets/public/svg/log-out-outline.svg +0 -1
- package/android/src/main/assets/public/svg/log-out-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/log-out.svg +0 -1
- package/android/src/main/assets/public/svg/logo-alipay.svg +0 -1
- package/android/src/main/assets/public/svg/logo-amazon.svg +0 -1
- package/android/src/main/assets/public/svg/logo-amplify.svg +0 -1
- package/android/src/main/assets/public/svg/logo-android.svg +0 -1
- package/android/src/main/assets/public/svg/logo-angular.svg +0 -1
- package/android/src/main/assets/public/svg/logo-apple-appstore.svg +0 -1
- package/android/src/main/assets/public/svg/logo-apple-ar.svg +0 -1
- package/android/src/main/assets/public/svg/logo-apple.svg +0 -1
- package/android/src/main/assets/public/svg/logo-behance.svg +0 -1
- package/android/src/main/assets/public/svg/logo-bitbucket.svg +0 -1
- package/android/src/main/assets/public/svg/logo-bitcoin.svg +0 -1
- package/android/src/main/assets/public/svg/logo-buffer.svg +0 -1
- package/android/src/main/assets/public/svg/logo-capacitor.svg +0 -1
- package/android/src/main/assets/public/svg/logo-chrome.svg +0 -1
- package/android/src/main/assets/public/svg/logo-closed-captioning.svg +0 -1
- package/android/src/main/assets/public/svg/logo-codepen.svg +0 -1
- package/android/src/main/assets/public/svg/logo-css3.svg +0 -1
- package/android/src/main/assets/public/svg/logo-designernews.svg +0 -1
- package/android/src/main/assets/public/svg/logo-deviantart.svg +0 -1
- package/android/src/main/assets/public/svg/logo-discord.svg +0 -1
- package/android/src/main/assets/public/svg/logo-docker.svg +0 -1
- package/android/src/main/assets/public/svg/logo-dribbble.svg +0 -1
- package/android/src/main/assets/public/svg/logo-dropbox.svg +0 -1
- package/android/src/main/assets/public/svg/logo-edge.svg +0 -1
- package/android/src/main/assets/public/svg/logo-electron.svg +0 -1
- package/android/src/main/assets/public/svg/logo-euro.svg +0 -1
- package/android/src/main/assets/public/svg/logo-facebook.svg +0 -1
- package/android/src/main/assets/public/svg/logo-figma.svg +0 -1
- package/android/src/main/assets/public/svg/logo-firebase.svg +0 -1
- package/android/src/main/assets/public/svg/logo-firefox.svg +0 -1
- package/android/src/main/assets/public/svg/logo-flickr.svg +0 -1
- package/android/src/main/assets/public/svg/logo-foursquare.svg +0 -1
- package/android/src/main/assets/public/svg/logo-github.svg +0 -1
- package/android/src/main/assets/public/svg/logo-gitlab.svg +0 -1
- package/android/src/main/assets/public/svg/logo-google-playstore.svg +0 -1
- package/android/src/main/assets/public/svg/logo-google.svg +0 -1
- package/android/src/main/assets/public/svg/logo-hackernews.svg +0 -1
- package/android/src/main/assets/public/svg/logo-html5.svg +0 -1
- package/android/src/main/assets/public/svg/logo-instagram.svg +0 -1
- package/android/src/main/assets/public/svg/logo-ionic.svg +0 -1
- package/android/src/main/assets/public/svg/logo-ionitron.svg +0 -1
- package/android/src/main/assets/public/svg/logo-javascript.svg +0 -1
- package/android/src/main/assets/public/svg/logo-laravel.svg +0 -1
- package/android/src/main/assets/public/svg/logo-linkedin.svg +0 -1
- package/android/src/main/assets/public/svg/logo-markdown.svg +0 -1
- package/android/src/main/assets/public/svg/logo-mastodon.svg +0 -1
- package/android/src/main/assets/public/svg/logo-medium.svg +0 -1
- package/android/src/main/assets/public/svg/logo-microsoft.svg +0 -1
- package/android/src/main/assets/public/svg/logo-no-smoking.svg +0 -1
- package/android/src/main/assets/public/svg/logo-nodejs.svg +0 -1
- package/android/src/main/assets/public/svg/logo-npm.svg +0 -1
- package/android/src/main/assets/public/svg/logo-octocat.svg +0 -1
- package/android/src/main/assets/public/svg/logo-paypal.svg +0 -1
- package/android/src/main/assets/public/svg/logo-pinterest.svg +0 -1
- package/android/src/main/assets/public/svg/logo-playstation.svg +0 -1
- package/android/src/main/assets/public/svg/logo-pwa.svg +0 -1
- package/android/src/main/assets/public/svg/logo-python.svg +0 -1
- package/android/src/main/assets/public/svg/logo-react.svg +0 -1
- package/android/src/main/assets/public/svg/logo-reddit.svg +0 -1
- package/android/src/main/assets/public/svg/logo-rss.svg +0 -1
- package/android/src/main/assets/public/svg/logo-sass.svg +0 -1
- package/android/src/main/assets/public/svg/logo-skype.svg +0 -1
- package/android/src/main/assets/public/svg/logo-slack.svg +0 -1
- package/android/src/main/assets/public/svg/logo-snapchat.svg +0 -1
- package/android/src/main/assets/public/svg/logo-soundcloud.svg +0 -1
- package/android/src/main/assets/public/svg/logo-stackoverflow.svg +0 -1
- package/android/src/main/assets/public/svg/logo-steam.svg +0 -1
- package/android/src/main/assets/public/svg/logo-stencil.svg +0 -1
- package/android/src/main/assets/public/svg/logo-tableau.svg +0 -1
- package/android/src/main/assets/public/svg/logo-tiktok.svg +0 -1
- package/android/src/main/assets/public/svg/logo-tumblr.svg +0 -1
- package/android/src/main/assets/public/svg/logo-tux.svg +0 -1
- package/android/src/main/assets/public/svg/logo-twitch.svg +0 -1
- package/android/src/main/assets/public/svg/logo-twitter.svg +0 -1
- package/android/src/main/assets/public/svg/logo-usd.svg +0 -1
- package/android/src/main/assets/public/svg/logo-venmo.svg +0 -1
- package/android/src/main/assets/public/svg/logo-vercel.svg +0 -1
- package/android/src/main/assets/public/svg/logo-vimeo.svg +0 -1
- package/android/src/main/assets/public/svg/logo-vk.svg +0 -1
- package/android/src/main/assets/public/svg/logo-vue.svg +0 -1
- package/android/src/main/assets/public/svg/logo-web-component.svg +0 -1
- package/android/src/main/assets/public/svg/logo-wechat.svg +0 -1
- package/android/src/main/assets/public/svg/logo-whatsapp.svg +0 -1
- package/android/src/main/assets/public/svg/logo-windows.svg +0 -1
- package/android/src/main/assets/public/svg/logo-wordpress.svg +0 -1
- package/android/src/main/assets/public/svg/logo-xbox.svg +0 -1
- package/android/src/main/assets/public/svg/logo-xing.svg +0 -1
- package/android/src/main/assets/public/svg/logo-yahoo.svg +0 -1
- package/android/src/main/assets/public/svg/logo-yen.svg +0 -1
- package/android/src/main/assets/public/svg/logo-youtube.svg +0 -1
- package/android/src/main/assets/public/svg/magnet-outline.svg +0 -1
- package/android/src/main/assets/public/svg/magnet-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/magnet.svg +0 -1
- package/android/src/main/assets/public/svg/mail-open-outline.svg +0 -1
- package/android/src/main/assets/public/svg/mail-open-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/mail-open.svg +0 -1
- package/android/src/main/assets/public/svg/mail-outline.svg +0 -1
- package/android/src/main/assets/public/svg/mail-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/mail-unread-outline.svg +0 -1
- package/android/src/main/assets/public/svg/mail-unread-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/mail-unread.svg +0 -1
- package/android/src/main/assets/public/svg/mail.svg +0 -1
- package/android/src/main/assets/public/svg/male-female-outline.svg +0 -1
- package/android/src/main/assets/public/svg/male-female-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/male-female.svg +0 -1
- package/android/src/main/assets/public/svg/male-outline.svg +0 -1
- package/android/src/main/assets/public/svg/male-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/male.svg +0 -1
- package/android/src/main/assets/public/svg/man-outline.svg +0 -1
- package/android/src/main/assets/public/svg/man-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/man.svg +0 -1
- package/android/src/main/assets/public/svg/map-outline.svg +0 -1
- package/android/src/main/assets/public/svg/map-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/map.svg +0 -1
- package/android/src/main/assets/public/svg/medal-outline.svg +0 -1
- package/android/src/main/assets/public/svg/medal-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/medal.svg +0 -1
- package/android/src/main/assets/public/svg/medical-outline.svg +0 -1
- package/android/src/main/assets/public/svg/medical-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/medical.svg +0 -1
- package/android/src/main/assets/public/svg/medkit-outline.svg +0 -1
- package/android/src/main/assets/public/svg/medkit-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/medkit.svg +0 -1
- package/android/src/main/assets/public/svg/megaphone-outline.svg +0 -1
- package/android/src/main/assets/public/svg/megaphone-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/megaphone.svg +0 -1
- package/android/src/main/assets/public/svg/menu-outline.svg +0 -1
- package/android/src/main/assets/public/svg/menu-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/menu.svg +0 -1
- package/android/src/main/assets/public/svg/mic-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/mic-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/mic-circle.svg +0 -1
- package/android/src/main/assets/public/svg/mic-off-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/mic-off-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/mic-off-circle.svg +0 -1
- package/android/src/main/assets/public/svg/mic-off-outline.svg +0 -1
- package/android/src/main/assets/public/svg/mic-off-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/mic-off.svg +0 -1
- package/android/src/main/assets/public/svg/mic-outline.svg +0 -1
- package/android/src/main/assets/public/svg/mic-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/mic.svg +0 -1
- package/android/src/main/assets/public/svg/moon-outline.svg +0 -1
- package/android/src/main/assets/public/svg/moon-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/moon.svg +0 -1
- package/android/src/main/assets/public/svg/move-outline.svg +0 -1
- package/android/src/main/assets/public/svg/move-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/move.svg +0 -1
- package/android/src/main/assets/public/svg/musical-note-outline.svg +0 -1
- package/android/src/main/assets/public/svg/musical-note-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/musical-note.svg +0 -1
- package/android/src/main/assets/public/svg/musical-notes-outline.svg +0 -1
- package/android/src/main/assets/public/svg/musical-notes-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/musical-notes.svg +0 -1
- package/android/src/main/assets/public/svg/navigate-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/navigate-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/navigate-circle.svg +0 -1
- package/android/src/main/assets/public/svg/navigate-outline.svg +0 -1
- package/android/src/main/assets/public/svg/navigate-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/navigate.svg +0 -1
- package/android/src/main/assets/public/svg/newspaper-outline.svg +0 -1
- package/android/src/main/assets/public/svg/newspaper-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/newspaper.svg +0 -1
- package/android/src/main/assets/public/svg/notifications-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/notifications-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/notifications-circle.svg +0 -1
- package/android/src/main/assets/public/svg/notifications-off-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/notifications-off-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/notifications-off-circle.svg +0 -1
- package/android/src/main/assets/public/svg/notifications-off-outline.svg +0 -1
- package/android/src/main/assets/public/svg/notifications-off-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/notifications-off.svg +0 -1
- package/android/src/main/assets/public/svg/notifications-outline.svg +0 -1
- package/android/src/main/assets/public/svg/notifications-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/notifications.svg +0 -1
- package/android/src/main/assets/public/svg/nuclear-outline.svg +0 -1
- package/android/src/main/assets/public/svg/nuclear-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/nuclear.svg +0 -1
- package/android/src/main/assets/public/svg/nutrition-outline.svg +0 -1
- package/android/src/main/assets/public/svg/nutrition-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/nutrition.svg +0 -1
- package/android/src/main/assets/public/svg/open-outline.svg +0 -1
- package/android/src/main/assets/public/svg/open-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/open.svg +0 -1
- package/android/src/main/assets/public/svg/options-outline.svg +0 -1
- package/android/src/main/assets/public/svg/options-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/options.svg +0 -1
- package/android/src/main/assets/public/svg/paper-plane-outline.svg +0 -1
- package/android/src/main/assets/public/svg/paper-plane-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/paper-plane.svg +0 -1
- package/android/src/main/assets/public/svg/partly-sunny-outline.svg +0 -1
- package/android/src/main/assets/public/svg/partly-sunny-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/partly-sunny.svg +0 -1
- package/android/src/main/assets/public/svg/pause-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/pause-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/pause-circle.svg +0 -1
- package/android/src/main/assets/public/svg/pause-outline.svg +0 -1
- package/android/src/main/assets/public/svg/pause-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/pause.svg +0 -1
- package/android/src/main/assets/public/svg/paw-outline.svg +0 -1
- package/android/src/main/assets/public/svg/paw-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/paw.svg +0 -1
- package/android/src/main/assets/public/svg/pencil-outline.svg +0 -1
- package/android/src/main/assets/public/svg/pencil-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/pencil.svg +0 -1
- package/android/src/main/assets/public/svg/people-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/people-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/people-circle.svg +0 -1
- package/android/src/main/assets/public/svg/people-outline.svg +0 -1
- package/android/src/main/assets/public/svg/people-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/people.svg +0 -1
- package/android/src/main/assets/public/svg/person-add-outline.svg +0 -1
- package/android/src/main/assets/public/svg/person-add-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/person-add.svg +0 -1
- package/android/src/main/assets/public/svg/person-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/person-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/person-circle.svg +0 -1
- package/android/src/main/assets/public/svg/person-outline.svg +0 -1
- package/android/src/main/assets/public/svg/person-remove-outline.svg +0 -1
- package/android/src/main/assets/public/svg/person-remove-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/person-remove.svg +0 -1
- package/android/src/main/assets/public/svg/person-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/person.svg +0 -1
- package/android/src/main/assets/public/svg/phone-landscape-outline.svg +0 -1
- package/android/src/main/assets/public/svg/phone-landscape-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/phone-landscape.svg +0 -1
- package/android/src/main/assets/public/svg/phone-portrait-outline.svg +0 -1
- package/android/src/main/assets/public/svg/phone-portrait-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/phone-portrait.svg +0 -1
- package/android/src/main/assets/public/svg/pie-chart-outline.svg +0 -1
- package/android/src/main/assets/public/svg/pie-chart-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/pie-chart.svg +0 -1
- package/android/src/main/assets/public/svg/pin-outline.svg +0 -1
- package/android/src/main/assets/public/svg/pin-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/pin.svg +0 -1
- package/android/src/main/assets/public/svg/pint-outline.svg +0 -1
- package/android/src/main/assets/public/svg/pint-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/pint.svg +0 -1
- package/android/src/main/assets/public/svg/pizza-outline.svg +0 -1
- package/android/src/main/assets/public/svg/pizza-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/pizza.svg +0 -1
- package/android/src/main/assets/public/svg/planet-outline.svg +0 -1
- package/android/src/main/assets/public/svg/planet-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/planet.svg +0 -1
- package/android/src/main/assets/public/svg/play-back-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/play-back-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/play-back-circle.svg +0 -1
- package/android/src/main/assets/public/svg/play-back-outline.svg +0 -1
- package/android/src/main/assets/public/svg/play-back-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/play-back.svg +0 -1
- package/android/src/main/assets/public/svg/play-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/play-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/play-circle.svg +0 -1
- package/android/src/main/assets/public/svg/play-forward-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/play-forward-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/play-forward-circle.svg +0 -1
- package/android/src/main/assets/public/svg/play-forward-outline.svg +0 -1
- package/android/src/main/assets/public/svg/play-forward-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/play-forward.svg +0 -1
- package/android/src/main/assets/public/svg/play-outline.svg +0 -1
- package/android/src/main/assets/public/svg/play-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/play-skip-back-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/play-skip-back-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/play-skip-back-circle.svg +0 -1
- package/android/src/main/assets/public/svg/play-skip-back-outline.svg +0 -1
- package/android/src/main/assets/public/svg/play-skip-back-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/play-skip-back.svg +0 -1
- package/android/src/main/assets/public/svg/play-skip-forward-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/play-skip-forward-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/play-skip-forward-circle.svg +0 -1
- package/android/src/main/assets/public/svg/play-skip-forward-outline.svg +0 -1
- package/android/src/main/assets/public/svg/play-skip-forward-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/play-skip-forward.svg +0 -1
- package/android/src/main/assets/public/svg/play.svg +0 -1
- package/android/src/main/assets/public/svg/podium-outline.svg +0 -1
- package/android/src/main/assets/public/svg/podium-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/podium.svg +0 -1
- package/android/src/main/assets/public/svg/power-outline.svg +0 -1
- package/android/src/main/assets/public/svg/power-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/power.svg +0 -1
- package/android/src/main/assets/public/svg/pricetag-outline.svg +0 -1
- package/android/src/main/assets/public/svg/pricetag-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/pricetag.svg +0 -1
- package/android/src/main/assets/public/svg/pricetags-outline.svg +0 -1
- package/android/src/main/assets/public/svg/pricetags-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/pricetags.svg +0 -1
- package/android/src/main/assets/public/svg/print-outline.svg +0 -1
- package/android/src/main/assets/public/svg/print-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/print.svg +0 -1
- package/android/src/main/assets/public/svg/prism-outline.svg +0 -1
- package/android/src/main/assets/public/svg/prism-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/prism.svg +0 -1
- package/android/src/main/assets/public/svg/pulse-outline.svg +0 -1
- package/android/src/main/assets/public/svg/pulse-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/pulse.svg +0 -1
- package/android/src/main/assets/public/svg/push-outline.svg +0 -1
- package/android/src/main/assets/public/svg/push-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/push.svg +0 -1
- package/android/src/main/assets/public/svg/qr-code-outline.svg +0 -1
- package/android/src/main/assets/public/svg/qr-code-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/qr-code.svg +0 -1
- package/android/src/main/assets/public/svg/radio-button-off-outline.svg +0 -1
- package/android/src/main/assets/public/svg/radio-button-off-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/radio-button-off.svg +0 -1
- package/android/src/main/assets/public/svg/radio-button-on-outline.svg +0 -1
- package/android/src/main/assets/public/svg/radio-button-on-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/radio-button-on.svg +0 -1
- package/android/src/main/assets/public/svg/radio-outline.svg +0 -1
- package/android/src/main/assets/public/svg/radio-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/radio.svg +0 -1
- package/android/src/main/assets/public/svg/rainy-outline.svg +0 -1
- package/android/src/main/assets/public/svg/rainy-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/rainy.svg +0 -1
- package/android/src/main/assets/public/svg/reader-outline.svg +0 -1
- package/android/src/main/assets/public/svg/reader-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/reader.svg +0 -1
- package/android/src/main/assets/public/svg/receipt-outline.svg +0 -1
- package/android/src/main/assets/public/svg/receipt-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/receipt.svg +0 -1
- package/android/src/main/assets/public/svg/recording-outline.svg +0 -1
- package/android/src/main/assets/public/svg/recording-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/recording.svg +0 -1
- package/android/src/main/assets/public/svg/refresh-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/refresh-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/refresh-circle.svg +0 -1
- package/android/src/main/assets/public/svg/refresh-outline.svg +0 -1
- package/android/src/main/assets/public/svg/refresh-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/refresh.svg +0 -1
- package/android/src/main/assets/public/svg/reload-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/reload-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/reload-circle.svg +0 -1
- package/android/src/main/assets/public/svg/reload-outline.svg +0 -1
- package/android/src/main/assets/public/svg/reload-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/reload.svg +0 -1
- package/android/src/main/assets/public/svg/remove-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/remove-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/remove-circle.svg +0 -1
- package/android/src/main/assets/public/svg/remove-outline.svg +0 -1
- package/android/src/main/assets/public/svg/remove-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/remove.svg +0 -1
- package/android/src/main/assets/public/svg/reorder-four-outline.svg +0 -1
- package/android/src/main/assets/public/svg/reorder-four-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/reorder-four.svg +0 -1
- package/android/src/main/assets/public/svg/reorder-three-outline.svg +0 -1
- package/android/src/main/assets/public/svg/reorder-three-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/reorder-three.svg +0 -1
- package/android/src/main/assets/public/svg/reorder-two-outline.svg +0 -1
- package/android/src/main/assets/public/svg/reorder-two-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/reorder-two.svg +0 -1
- package/android/src/main/assets/public/svg/repeat-outline.svg +0 -1
- package/android/src/main/assets/public/svg/repeat-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/repeat.svg +0 -1
- package/android/src/main/assets/public/svg/resize-outline.svg +0 -1
- package/android/src/main/assets/public/svg/resize-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/resize.svg +0 -1
- package/android/src/main/assets/public/svg/restaurant-outline.svg +0 -1
- package/android/src/main/assets/public/svg/restaurant-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/restaurant.svg +0 -1
- package/android/src/main/assets/public/svg/return-down-back-outline.svg +0 -1
- package/android/src/main/assets/public/svg/return-down-back-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/return-down-back.svg +0 -1
- package/android/src/main/assets/public/svg/return-down-forward-outline.svg +0 -1
- package/android/src/main/assets/public/svg/return-down-forward-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/return-down-forward.svg +0 -1
- package/android/src/main/assets/public/svg/return-up-back-outline.svg +0 -1
- package/android/src/main/assets/public/svg/return-up-back-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/return-up-back.svg +0 -1
- package/android/src/main/assets/public/svg/return-up-forward-outline.svg +0 -1
- package/android/src/main/assets/public/svg/return-up-forward-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/return-up-forward.svg +0 -1
- package/android/src/main/assets/public/svg/ribbon-outline.svg +0 -1
- package/android/src/main/assets/public/svg/ribbon-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/ribbon.svg +0 -1
- package/android/src/main/assets/public/svg/rocket-outline.svg +0 -1
- package/android/src/main/assets/public/svg/rocket-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/rocket.svg +0 -1
- package/android/src/main/assets/public/svg/rose-outline.svg +0 -1
- package/android/src/main/assets/public/svg/rose-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/rose.svg +0 -1
- package/android/src/main/assets/public/svg/sad-outline.svg +0 -1
- package/android/src/main/assets/public/svg/sad-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/sad.svg +0 -1
- package/android/src/main/assets/public/svg/save-outline.svg +0 -1
- package/android/src/main/assets/public/svg/save-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/save.svg +0 -1
- package/android/src/main/assets/public/svg/scale-outline.svg +0 -1
- package/android/src/main/assets/public/svg/scale-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/scale.svg +0 -1
- package/android/src/main/assets/public/svg/scan-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/scan-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/scan-circle.svg +0 -1
- package/android/src/main/assets/public/svg/scan-outline.svg +0 -1
- package/android/src/main/assets/public/svg/scan-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/scan.svg +0 -1
- package/android/src/main/assets/public/svg/school-outline.svg +0 -1
- package/android/src/main/assets/public/svg/school-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/school.svg +0 -1
- package/android/src/main/assets/public/svg/search-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/search-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/search-circle.svg +0 -1
- package/android/src/main/assets/public/svg/search-outline.svg +0 -1
- package/android/src/main/assets/public/svg/search-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/search.svg +0 -1
- package/android/src/main/assets/public/svg/send-outline.svg +0 -1
- package/android/src/main/assets/public/svg/send-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/send.svg +0 -1
- package/android/src/main/assets/public/svg/server-outline.svg +0 -1
- package/android/src/main/assets/public/svg/server-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/server.svg +0 -1
- package/android/src/main/assets/public/svg/settings-outline.svg +0 -1
- package/android/src/main/assets/public/svg/settings-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/settings.svg +0 -1
- package/android/src/main/assets/public/svg/shapes-outline.svg +0 -1
- package/android/src/main/assets/public/svg/shapes-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/shapes.svg +0 -1
- package/android/src/main/assets/public/svg/share-outline.svg +0 -1
- package/android/src/main/assets/public/svg/share-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/share-social-outline.svg +0 -1
- package/android/src/main/assets/public/svg/share-social-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/share-social.svg +0 -1
- package/android/src/main/assets/public/svg/share.svg +0 -1
- package/android/src/main/assets/public/svg/shield-checkmark-outline.svg +0 -1
- package/android/src/main/assets/public/svg/shield-checkmark-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/shield-checkmark.svg +0 -1
- package/android/src/main/assets/public/svg/shield-half-outline.svg +0 -1
- package/android/src/main/assets/public/svg/shield-half-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/shield-half.svg +0 -1
- package/android/src/main/assets/public/svg/shield-outline.svg +0 -1
- package/android/src/main/assets/public/svg/shield-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/shield.svg +0 -1
- package/android/src/main/assets/public/svg/shirt-outline.svg +0 -1
- package/android/src/main/assets/public/svg/shirt-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/shirt.svg +0 -1
- package/android/src/main/assets/public/svg/shuffle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/shuffle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/shuffle.svg +0 -1
- package/android/src/main/assets/public/svg/skull-outline.svg +0 -1
- package/android/src/main/assets/public/svg/skull-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/skull.svg +0 -1
- package/android/src/main/assets/public/svg/snow-outline.svg +0 -1
- package/android/src/main/assets/public/svg/snow-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/snow.svg +0 -1
- package/android/src/main/assets/public/svg/sparkles-outline.svg +0 -1
- package/android/src/main/assets/public/svg/sparkles-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/sparkles.svg +0 -1
- package/android/src/main/assets/public/svg/speedometer-outline.svg +0 -1
- package/android/src/main/assets/public/svg/speedometer-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/speedometer.svg +0 -1
- package/android/src/main/assets/public/svg/square-outline.svg +0 -1
- package/android/src/main/assets/public/svg/square-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/square.svg +0 -1
- package/android/src/main/assets/public/svg/star-half-outline.svg +0 -1
- package/android/src/main/assets/public/svg/star-half-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/star-half.svg +0 -1
- package/android/src/main/assets/public/svg/star-outline.svg +0 -1
- package/android/src/main/assets/public/svg/star-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/star.svg +0 -1
- package/android/src/main/assets/public/svg/stats-chart-outline.svg +0 -1
- package/android/src/main/assets/public/svg/stats-chart-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/stats-chart.svg +0 -1
- package/android/src/main/assets/public/svg/stop-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/stop-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/stop-circle.svg +0 -1
- package/android/src/main/assets/public/svg/stop-outline.svg +0 -1
- package/android/src/main/assets/public/svg/stop-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/stop.svg +0 -1
- package/android/src/main/assets/public/svg/stopwatch-outline.svg +0 -1
- package/android/src/main/assets/public/svg/stopwatch-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/stopwatch.svg +0 -1
- package/android/src/main/assets/public/svg/storefront-outline.svg +0 -1
- package/android/src/main/assets/public/svg/storefront-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/storefront.svg +0 -1
- package/android/src/main/assets/public/svg/subway-outline.svg +0 -1
- package/android/src/main/assets/public/svg/subway-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/subway.svg +0 -1
- package/android/src/main/assets/public/svg/sunny-outline.svg +0 -1
- package/android/src/main/assets/public/svg/sunny-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/sunny.svg +0 -1
- package/android/src/main/assets/public/svg/swap-horizontal-outline.svg +0 -1
- package/android/src/main/assets/public/svg/swap-horizontal-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/swap-horizontal.svg +0 -1
- package/android/src/main/assets/public/svg/swap-vertical-outline.svg +0 -1
- package/android/src/main/assets/public/svg/swap-vertical-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/swap-vertical.svg +0 -1
- package/android/src/main/assets/public/svg/sync-circle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/sync-circle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/sync-circle.svg +0 -1
- package/android/src/main/assets/public/svg/sync-outline.svg +0 -1
- package/android/src/main/assets/public/svg/sync-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/sync.svg +0 -1
- package/android/src/main/assets/public/svg/tablet-landscape-outline.svg +0 -1
- package/android/src/main/assets/public/svg/tablet-landscape-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/tablet-landscape.svg +0 -1
- package/android/src/main/assets/public/svg/tablet-portrait-outline.svg +0 -1
- package/android/src/main/assets/public/svg/tablet-portrait-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/tablet-portrait.svg +0 -1
- package/android/src/main/assets/public/svg/telescope-outline.svg +0 -1
- package/android/src/main/assets/public/svg/telescope-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/telescope.svg +0 -1
- package/android/src/main/assets/public/svg/tennisball-outline.svg +0 -1
- package/android/src/main/assets/public/svg/tennisball-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/tennisball.svg +0 -1
- package/android/src/main/assets/public/svg/terminal-outline.svg +0 -1
- package/android/src/main/assets/public/svg/terminal-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/terminal.svg +0 -1
- package/android/src/main/assets/public/svg/text-outline.svg +0 -1
- package/android/src/main/assets/public/svg/text-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/text.svg +0 -1
- package/android/src/main/assets/public/svg/thermometer-outline.svg +0 -1
- package/android/src/main/assets/public/svg/thermometer-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/thermometer.svg +0 -1
- package/android/src/main/assets/public/svg/thumbs-down-outline.svg +0 -1
- package/android/src/main/assets/public/svg/thumbs-down-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/thumbs-down.svg +0 -1
- package/android/src/main/assets/public/svg/thumbs-up-outline.svg +0 -1
- package/android/src/main/assets/public/svg/thumbs-up-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/thumbs-up.svg +0 -1
- package/android/src/main/assets/public/svg/thunderstorm-outline.svg +0 -1
- package/android/src/main/assets/public/svg/thunderstorm-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/thunderstorm.svg +0 -1
- package/android/src/main/assets/public/svg/ticket-outline.svg +0 -1
- package/android/src/main/assets/public/svg/ticket-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/ticket.svg +0 -1
- package/android/src/main/assets/public/svg/time-outline.svg +0 -1
- package/android/src/main/assets/public/svg/time-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/time.svg +0 -1
- package/android/src/main/assets/public/svg/timer-outline.svg +0 -1
- package/android/src/main/assets/public/svg/timer-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/timer.svg +0 -1
- package/android/src/main/assets/public/svg/today-outline.svg +0 -1
- package/android/src/main/assets/public/svg/today-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/today.svg +0 -1
- package/android/src/main/assets/public/svg/toggle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/toggle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/toggle.svg +0 -1
- package/android/src/main/assets/public/svg/trail-sign-outline.svg +0 -1
- package/android/src/main/assets/public/svg/trail-sign-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/trail-sign.svg +0 -1
- package/android/src/main/assets/public/svg/train-outline.svg +0 -1
- package/android/src/main/assets/public/svg/train-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/train.svg +0 -1
- package/android/src/main/assets/public/svg/transgender-outline.svg +0 -1
- package/android/src/main/assets/public/svg/transgender-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/transgender.svg +0 -1
- package/android/src/main/assets/public/svg/trash-bin-outline.svg +0 -1
- package/android/src/main/assets/public/svg/trash-bin-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/trash-bin.svg +0 -1
- package/android/src/main/assets/public/svg/trash-outline.svg +0 -1
- package/android/src/main/assets/public/svg/trash-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/trash.svg +0 -1
- package/android/src/main/assets/public/svg/trending-down-outline.svg +0 -1
- package/android/src/main/assets/public/svg/trending-down-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/trending-down.svg +0 -1
- package/android/src/main/assets/public/svg/trending-up-outline.svg +0 -1
- package/android/src/main/assets/public/svg/trending-up-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/trending-up.svg +0 -1
- package/android/src/main/assets/public/svg/triangle-outline.svg +0 -1
- package/android/src/main/assets/public/svg/triangle-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/triangle.svg +0 -1
- package/android/src/main/assets/public/svg/trophy-outline.svg +0 -1
- package/android/src/main/assets/public/svg/trophy-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/trophy.svg +0 -1
- package/android/src/main/assets/public/svg/tv-outline.svg +0 -1
- package/android/src/main/assets/public/svg/tv-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/tv.svg +0 -1
- package/android/src/main/assets/public/svg/umbrella-outline.svg +0 -1
- package/android/src/main/assets/public/svg/umbrella-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/umbrella.svg +0 -1
- package/android/src/main/assets/public/svg/unlink-outline.svg +0 -1
- package/android/src/main/assets/public/svg/unlink-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/unlink.svg +0 -1
- package/android/src/main/assets/public/svg/videocam-off-outline.svg +0 -1
- package/android/src/main/assets/public/svg/videocam-off-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/videocam-off.svg +0 -1
- package/android/src/main/assets/public/svg/videocam-outline.svg +0 -1
- package/android/src/main/assets/public/svg/videocam-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/videocam.svg +0 -1
- package/android/src/main/assets/public/svg/volume-high-outline.svg +0 -1
- package/android/src/main/assets/public/svg/volume-high-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/volume-high.svg +0 -1
- package/android/src/main/assets/public/svg/volume-low-outline.svg +0 -1
- package/android/src/main/assets/public/svg/volume-low-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/volume-low.svg +0 -1
- package/android/src/main/assets/public/svg/volume-medium-outline.svg +0 -1
- package/android/src/main/assets/public/svg/volume-medium-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/volume-medium.svg +0 -1
- package/android/src/main/assets/public/svg/volume-mute-outline.svg +0 -1
- package/android/src/main/assets/public/svg/volume-mute-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/volume-mute.svg +0 -1
- package/android/src/main/assets/public/svg/volume-off-outline.svg +0 -1
- package/android/src/main/assets/public/svg/volume-off-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/volume-off.svg +0 -1
- package/android/src/main/assets/public/svg/walk-outline.svg +0 -1
- package/android/src/main/assets/public/svg/walk-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/walk.svg +0 -1
- package/android/src/main/assets/public/svg/wallet-outline.svg +0 -1
- package/android/src/main/assets/public/svg/wallet-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/wallet.svg +0 -1
- package/android/src/main/assets/public/svg/warning-outline.svg +0 -1
- package/android/src/main/assets/public/svg/warning-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/warning.svg +0 -1
- package/android/src/main/assets/public/svg/watch-outline.svg +0 -1
- package/android/src/main/assets/public/svg/watch-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/watch.svg +0 -1
- package/android/src/main/assets/public/svg/water-outline.svg +0 -1
- package/android/src/main/assets/public/svg/water-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/water.svg +0 -1
- package/android/src/main/assets/public/svg/wifi-outline.svg +0 -1
- package/android/src/main/assets/public/svg/wifi-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/wifi.svg +0 -1
- package/android/src/main/assets/public/svg/wine-outline.svg +0 -1
- package/android/src/main/assets/public/svg/wine-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/wine.svg +0 -1
- package/android/src/main/assets/public/svg/woman-outline.svg +0 -1
- package/android/src/main/assets/public/svg/woman-sharp.svg +0 -1
- package/android/src/main/assets/public/svg/woman.svg +0 -1
- package/android/src/main/assets/public/vendor.js +0 -123194
- package/android/src/main/assets/public/vendor.js.map +0 -1
- package/android/src/main/java/io/ionic/starter/FirebaseMessageReceiver.java +0 -61
- package/android/src/main/java/io/ionic/starter/MainActivity.java +0 -82
- package/android/src/main/res/drawable/ic_launcher_background.xml +0 -170
- package/android/src/main/res/drawable/splash.png +0 -0
- package/android/src/main/res/drawable-land-hdpi/splash.png +0 -0
- package/android/src/main/res/drawable-land-mdpi/splash.png +0 -0
- package/android/src/main/res/drawable-land-xhdpi/splash.png +0 -0
- package/android/src/main/res/drawable-land-xxhdpi/splash.png +0 -0
- package/android/src/main/res/drawable-land-xxxhdpi/splash.png +0 -0
- package/android/src/main/res/drawable-port-hdpi/splash.png +0 -0
- package/android/src/main/res/drawable-port-mdpi/splash.png +0 -0
- package/android/src/main/res/drawable-port-xhdpi/splash.png +0 -0
- package/android/src/main/res/drawable-port-xxhdpi/splash.png +0 -0
- package/android/src/main/res/drawable-port-xxxhdpi/splash.png +0 -0
- package/android/src/main/res/drawable-v24/ic_launcher_foreground.xml +0 -34
- package/android/src/main/res/layout/activity_main.xml +0 -12
- package/android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +0 -5
- package/android/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +0 -5
- package/android/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/android/src/main/res/mipmap-hdpi/ic_launcher_foreground.png +0 -0
- package/android/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
- package/android/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/android/src/main/res/mipmap-mdpi/ic_launcher_foreground.png +0 -0
- package/android/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
- package/android/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/android/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png +0 -0
- package/android/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
- package/android/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/android/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
- package/android/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/android/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png +0 -0
- package/android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
- package/android/src/main/res/values/ic_launcher_background.xml +0 -4
- package/android/src/main/res/values/strings.xml +0 -7
- package/android/src/main/res/values/styles.xml +0 -22
- package/android/src/main/res/xml/config.xml +0 -6
- package/android/src/main/res/xml/file_paths.xml +0 -5
package/android/src/main/assets/public/node_modules_ionic_core_dist_esm_ion-datetime_3_entry_js.js
DELETED
@@ -1,3633 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
(self["webpackChunkapp"] = self["webpackChunkapp"] || []).push([["node_modules_ionic_core_dist_esm_ion-datetime_3_entry_js"],{
|
3
|
-
|
4
|
-
/***/ 4134:
|
5
|
-
/*!*******************************************************************!*\
|
6
|
-
!*** ./node_modules/@ionic/core/dist/esm/ion-datetime_3.entry.js ***!
|
7
|
-
\*******************************************************************/
|
8
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
9
|
-
|
10
|
-
__webpack_require__.r(__webpack_exports__);
|
11
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
12
|
-
/* harmony export */ "ion_datetime": () => (/* binding */ Datetime),
|
13
|
-
/* harmony export */ "ion_picker": () => (/* binding */ Picker),
|
14
|
-
/* harmony export */ "ion_picker_column": () => (/* binding */ PickerColumnCmp)
|
15
|
-
/* harmony export */ });
|
16
|
-
/* harmony import */ var D_callkit_sample_sample_test_ionic_sample_test_ionic_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator */ 2783);
|
17
|
-
/* harmony import */ var _index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index-88bdeaae.js */ 9203);
|
18
|
-
/* harmony import */ var _index_d74f4afc_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./index-d74f4afc.js */ 3945);
|
19
|
-
/* harmony import */ var _ionic_global_00475c3a_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ionic-global-00475c3a.js */ 1020);
|
20
|
-
/* harmony import */ var _focus_visible_5ad6825d_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./focus-visible-5ad6825d.js */ 3768);
|
21
|
-
/* harmony import */ var _helpers_4d272360_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./helpers-4d272360.js */ 1657);
|
22
|
-
/* harmony import */ var _index_9ac92660_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./index-9ac92660.js */ 2761);
|
23
|
-
/* harmony import */ var _dir_e8b767a8_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./dir-e8b767a8.js */ 5862);
|
24
|
-
/* harmony import */ var _theme_7670341c_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./theme-7670341c.js */ 7548);
|
25
|
-
/* harmony import */ var _overlays_ab6211c7_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./overlays-ab6211c7.js */ 1853);
|
26
|
-
/* harmony import */ var _animation_36c1d77d_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./animation-36c1d77d.js */ 1998);
|
27
|
-
/* harmony import */ var _haptic_683b3b3c_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./haptic-683b3b3c.js */ 1034);
|
28
|
-
/* harmony import */ var _hardware_back_button_490df115_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./hardware-back-button-490df115.js */ 9222);
|
29
|
-
|
30
|
-
|
31
|
-
/*!
|
32
|
-
* (C) Ionic http://ionicframework.com - MIT License
|
33
|
-
*/
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
/**
|
47
|
-
* Returns true if the selected day is equal to the reference day
|
48
|
-
*/
|
49
|
-
|
50
|
-
const isSameDay = (baseParts, compareParts) => {
|
51
|
-
return baseParts.month === compareParts.month && baseParts.day === compareParts.day && baseParts.year === compareParts.year;
|
52
|
-
};
|
53
|
-
/**
|
54
|
-
* Returns true is the selected day is before the reference day.
|
55
|
-
*/
|
56
|
-
|
57
|
-
|
58
|
-
const isBefore = (baseParts, compareParts) => {
|
59
|
-
return baseParts.year < compareParts.year || baseParts.year === compareParts.year && baseParts.month < compareParts.month || baseParts.year === compareParts.year && baseParts.month === compareParts.month && baseParts.day && baseParts.day < compareParts.day;
|
60
|
-
};
|
61
|
-
/**
|
62
|
-
* Returns true is the selected day is after the reference day.
|
63
|
-
*/
|
64
|
-
|
65
|
-
|
66
|
-
const isAfter = (baseParts, compareParts) => {
|
67
|
-
return baseParts.year > compareParts.year || baseParts.year === compareParts.year && baseParts.month > compareParts.month || baseParts.year === compareParts.year && baseParts.month === compareParts.month && baseParts.day && baseParts.day > compareParts.day;
|
68
|
-
};
|
69
|
-
|
70
|
-
const warnIfValueOutOfBounds = (value, min, max) => {
|
71
|
-
if (min && isBefore(value, min) || max && isAfter(value, max)) {
|
72
|
-
(0,_index_9ac92660_js__WEBPACK_IMPORTED_MODULE_6__.p)('The value provided to ion-datetime is out of bounds.\n\n' + `Min: ${JSON.stringify(min)}\n` + `Max: ${JSON.stringify(max)}\n` + `Value: ${JSON.stringify(value)}`);
|
73
|
-
}
|
74
|
-
};
|
75
|
-
/**
|
76
|
-
* Determines if given year is a
|
77
|
-
* leap year. Returns `true` if year
|
78
|
-
* is a leap year. Returns `false`
|
79
|
-
* otherwise.
|
80
|
-
*/
|
81
|
-
|
82
|
-
|
83
|
-
const isLeapYear = year => {
|
84
|
-
return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0;
|
85
|
-
};
|
86
|
-
|
87
|
-
const is24Hour = (locale, hourCycle) => {
|
88
|
-
/**
|
89
|
-
* If developer has explicitly enabled h23 time
|
90
|
-
* then return early and do not look at the system default.
|
91
|
-
*/
|
92
|
-
if (hourCycle !== undefined) {
|
93
|
-
return hourCycle === 'h23';
|
94
|
-
}
|
95
|
-
/**
|
96
|
-
* If hourCycle was not specified, check the locale
|
97
|
-
* that is set on the user's device. We first check the
|
98
|
-
* Intl.DateTimeFormat hourCycle option as developers can encode this
|
99
|
-
* option into the locale string. Example: `en-US-u-hc-h23`
|
100
|
-
*/
|
101
|
-
|
102
|
-
|
103
|
-
const formatted = new Intl.DateTimeFormat(locale, {
|
104
|
-
hour: 'numeric'
|
105
|
-
});
|
106
|
-
const options = formatted.resolvedOptions();
|
107
|
-
|
108
|
-
if (options.hourCycle !== undefined) {
|
109
|
-
return options.hourCycle === 'h23';
|
110
|
-
}
|
111
|
-
/**
|
112
|
-
* If hourCycle is not specified (either through lack
|
113
|
-
* of browser support or locale information) then fall
|
114
|
-
* back to this slower hourCycle check.
|
115
|
-
*/
|
116
|
-
|
117
|
-
|
118
|
-
const date = new Date('5/18/2021 00:00');
|
119
|
-
const parts = formatted.formatToParts(date);
|
120
|
-
const hour = parts.find(p => p.type === 'hour');
|
121
|
-
|
122
|
-
if (!hour) {
|
123
|
-
throw new Error('Hour value not found from DateTimeFormat');
|
124
|
-
}
|
125
|
-
|
126
|
-
return hour.value === '00';
|
127
|
-
};
|
128
|
-
/**
|
129
|
-
* Given a date object, returns the number
|
130
|
-
* of days in that month.
|
131
|
-
* Month value begin at 1, not 0.
|
132
|
-
* i.e. January = month 1.
|
133
|
-
*/
|
134
|
-
|
135
|
-
|
136
|
-
const getNumDaysInMonth = (month, year) => {
|
137
|
-
return month === 4 || month === 6 || month === 9 || month === 11 ? 30 : month === 2 ? isLeapYear(year) ? 29 : 28 : 31;
|
138
|
-
};
|
139
|
-
/**
|
140
|
-
* Certain locales display month then year while
|
141
|
-
* others display year then month.
|
142
|
-
* We can use Intl.DateTimeFormat to determine
|
143
|
-
* the ordering for each locale.
|
144
|
-
*/
|
145
|
-
|
146
|
-
|
147
|
-
const isMonthFirstLocale = locale => {
|
148
|
-
/**
|
149
|
-
* By setting month and year we guarantee that only
|
150
|
-
* month, year, and literal (slashes '/', for example)
|
151
|
-
* values are included in the formatToParts results.
|
152
|
-
*
|
153
|
-
* The ordering of the parts will be determined by
|
154
|
-
* the locale. So if the month is the first value,
|
155
|
-
* then we know month should be shown first. If the
|
156
|
-
* year is the first value, then we know year should be shown first.
|
157
|
-
*
|
158
|
-
* This ordering can be controlled by customizing the locale property.
|
159
|
-
*/
|
160
|
-
const parts = new Intl.DateTimeFormat(locale, {
|
161
|
-
month: 'numeric',
|
162
|
-
year: 'numeric'
|
163
|
-
}).formatToParts(new Date());
|
164
|
-
return parts[0].type === 'month';
|
165
|
-
};
|
166
|
-
|
167
|
-
const twoDigit = val => {
|
168
|
-
return ('0' + (val !== undefined ? Math.abs(val) : '0')).slice(-2);
|
169
|
-
};
|
170
|
-
|
171
|
-
const fourDigit = val => {
|
172
|
-
return ('000' + (val !== undefined ? Math.abs(val) : '0')).slice(-4);
|
173
|
-
};
|
174
|
-
|
175
|
-
const convertDataToISO = data => {
|
176
|
-
// https://www.w3.org/TR/NOTE-datetime
|
177
|
-
let rtn = '';
|
178
|
-
|
179
|
-
if (data.year !== undefined) {
|
180
|
-
// YYYY
|
181
|
-
rtn = fourDigit(data.year);
|
182
|
-
|
183
|
-
if (data.month !== undefined) {
|
184
|
-
// YYYY-MM
|
185
|
-
rtn += '-' + twoDigit(data.month);
|
186
|
-
|
187
|
-
if (data.day !== undefined) {
|
188
|
-
// YYYY-MM-DD
|
189
|
-
rtn += '-' + twoDigit(data.day);
|
190
|
-
|
191
|
-
if (data.hour !== undefined) {
|
192
|
-
// YYYY-MM-DDTHH:mm:SS
|
193
|
-
rtn += `T${twoDigit(data.hour)}:${twoDigit(data.minute)}:00`;
|
194
|
-
|
195
|
-
if (data.tzOffset === undefined) {
|
196
|
-
// YYYY-MM-DDTHH:mm:SSZ
|
197
|
-
rtn += 'Z';
|
198
|
-
} else {
|
199
|
-
// YYYY-MM-DDTHH:mm:SS+/-HH:mm
|
200
|
-
rtn += (data.tzOffset > 0 ? '+' : '-') + twoDigit(Math.floor(Math.abs(data.tzOffset / 60))) + ':' + twoDigit(data.tzOffset % 60);
|
201
|
-
}
|
202
|
-
}
|
203
|
-
}
|
204
|
-
}
|
205
|
-
} else if (data.hour !== undefined) {
|
206
|
-
// HH:mm
|
207
|
-
rtn = twoDigit(data.hour) + ':' + twoDigit(data.minute);
|
208
|
-
}
|
209
|
-
|
210
|
-
return rtn;
|
211
|
-
};
|
212
|
-
/**
|
213
|
-
* Converts an 12 hour value to 24 hours.
|
214
|
-
*/
|
215
|
-
|
216
|
-
|
217
|
-
const convert12HourTo24Hour = (hour, ampm) => {
|
218
|
-
if (ampm === undefined) {
|
219
|
-
return hour;
|
220
|
-
}
|
221
|
-
/**
|
222
|
-
* If AM and 12am
|
223
|
-
* then return 00:00.
|
224
|
-
* Otherwise just return
|
225
|
-
* the hour since it is
|
226
|
-
* already in 24 hour format.
|
227
|
-
*/
|
228
|
-
|
229
|
-
|
230
|
-
if (ampm === 'am') {
|
231
|
-
if (hour === 12) {
|
232
|
-
return 0;
|
233
|
-
}
|
234
|
-
|
235
|
-
return hour;
|
236
|
-
}
|
237
|
-
/**
|
238
|
-
* If PM and 12pm
|
239
|
-
* just return 12:00
|
240
|
-
* since it is already
|
241
|
-
* in 24 hour format.
|
242
|
-
* Otherwise add 12 hours
|
243
|
-
* to the time.
|
244
|
-
*/
|
245
|
-
|
246
|
-
|
247
|
-
if (hour === 12) {
|
248
|
-
return 12;
|
249
|
-
}
|
250
|
-
|
251
|
-
return hour + 12;
|
252
|
-
};
|
253
|
-
|
254
|
-
const getStartOfWeek = refParts => {
|
255
|
-
const {
|
256
|
-
dayOfWeek
|
257
|
-
} = refParts;
|
258
|
-
|
259
|
-
if (dayOfWeek === null || dayOfWeek === undefined) {
|
260
|
-
throw new Error('No day of week provided');
|
261
|
-
}
|
262
|
-
|
263
|
-
return subtractDays(refParts, dayOfWeek);
|
264
|
-
};
|
265
|
-
|
266
|
-
const getEndOfWeek = refParts => {
|
267
|
-
const {
|
268
|
-
dayOfWeek
|
269
|
-
} = refParts;
|
270
|
-
|
271
|
-
if (dayOfWeek === null || dayOfWeek === undefined) {
|
272
|
-
throw new Error('No day of week provided');
|
273
|
-
}
|
274
|
-
|
275
|
-
return addDays(refParts, 6 - dayOfWeek);
|
276
|
-
};
|
277
|
-
|
278
|
-
const getNextDay = refParts => {
|
279
|
-
return addDays(refParts, 1);
|
280
|
-
};
|
281
|
-
|
282
|
-
const getPreviousDay = refParts => {
|
283
|
-
return subtractDays(refParts, 1);
|
284
|
-
};
|
285
|
-
|
286
|
-
const getPreviousWeek = refParts => {
|
287
|
-
return subtractDays(refParts, 7);
|
288
|
-
};
|
289
|
-
|
290
|
-
const getNextWeek = refParts => {
|
291
|
-
return addDays(refParts, 7);
|
292
|
-
};
|
293
|
-
/**
|
294
|
-
* Given datetime parts, subtract
|
295
|
-
* numDays from the date.
|
296
|
-
* Returns a new DatetimeParts object
|
297
|
-
* Currently can only go backward at most 1 month.
|
298
|
-
*/
|
299
|
-
|
300
|
-
|
301
|
-
const subtractDays = (refParts, numDays) => {
|
302
|
-
const {
|
303
|
-
month,
|
304
|
-
day,
|
305
|
-
year
|
306
|
-
} = refParts;
|
307
|
-
|
308
|
-
if (day === null) {
|
309
|
-
throw new Error('No day provided');
|
310
|
-
}
|
311
|
-
|
312
|
-
const workingParts = {
|
313
|
-
month,
|
314
|
-
day,
|
315
|
-
year
|
316
|
-
};
|
317
|
-
workingParts.day = day - numDays;
|
318
|
-
/**
|
319
|
-
* If wrapping to previous month
|
320
|
-
* update days and decrement month
|
321
|
-
*/
|
322
|
-
|
323
|
-
if (workingParts.day < 1) {
|
324
|
-
workingParts.month -= 1;
|
325
|
-
}
|
326
|
-
/**
|
327
|
-
* If moving to previous year, reset
|
328
|
-
* month to December and decrement year
|
329
|
-
*/
|
330
|
-
|
331
|
-
|
332
|
-
if (workingParts.month < 1) {
|
333
|
-
workingParts.month = 12;
|
334
|
-
workingParts.year -= 1;
|
335
|
-
}
|
336
|
-
/**
|
337
|
-
* Determine how many days are in the current
|
338
|
-
* month
|
339
|
-
*/
|
340
|
-
|
341
|
-
|
342
|
-
if (workingParts.day < 1) {
|
343
|
-
const daysInMonth = getNumDaysInMonth(workingParts.month, workingParts.year);
|
344
|
-
/**
|
345
|
-
* Take num days in month and add the
|
346
|
-
* number of underflow days. This number will
|
347
|
-
* be negative.
|
348
|
-
* Example: 1 week before Jan 2, 2021 is
|
349
|
-
* December 26, 2021 so:
|
350
|
-
* 2 - 7 = -5
|
351
|
-
* 31 + (-5) = 26
|
352
|
-
*/
|
353
|
-
|
354
|
-
workingParts.day = daysInMonth + workingParts.day;
|
355
|
-
}
|
356
|
-
|
357
|
-
return workingParts;
|
358
|
-
};
|
359
|
-
/**
|
360
|
-
* Given datetime parts, add
|
361
|
-
* numDays to the date.
|
362
|
-
* Returns a new DatetimeParts object
|
363
|
-
* Currently can only go forward at most 1 month.
|
364
|
-
*/
|
365
|
-
|
366
|
-
|
367
|
-
const addDays = (refParts, numDays) => {
|
368
|
-
const {
|
369
|
-
month,
|
370
|
-
day,
|
371
|
-
year
|
372
|
-
} = refParts;
|
373
|
-
|
374
|
-
if (day === null) {
|
375
|
-
throw new Error('No day provided');
|
376
|
-
}
|
377
|
-
|
378
|
-
const workingParts = {
|
379
|
-
month,
|
380
|
-
day,
|
381
|
-
year
|
382
|
-
};
|
383
|
-
const daysInMonth = getNumDaysInMonth(month, year);
|
384
|
-
workingParts.day = day + numDays;
|
385
|
-
/**
|
386
|
-
* If wrapping to next month
|
387
|
-
* update days and increment month
|
388
|
-
*/
|
389
|
-
|
390
|
-
if (workingParts.day > daysInMonth) {
|
391
|
-
workingParts.day -= daysInMonth;
|
392
|
-
workingParts.month += 1;
|
393
|
-
}
|
394
|
-
/**
|
395
|
-
* If moving to next year, reset
|
396
|
-
* month to January and increment year
|
397
|
-
*/
|
398
|
-
|
399
|
-
|
400
|
-
if (workingParts.month > 12) {
|
401
|
-
workingParts.month = 1;
|
402
|
-
workingParts.year += 1;
|
403
|
-
}
|
404
|
-
|
405
|
-
return workingParts;
|
406
|
-
};
|
407
|
-
/**
|
408
|
-
* Given DatetimeParts, generate the previous month.
|
409
|
-
*/
|
410
|
-
|
411
|
-
|
412
|
-
const getPreviousMonth = refParts => {
|
413
|
-
/**
|
414
|
-
* If current month is January, wrap backwards
|
415
|
-
* to December of the previous year.
|
416
|
-
*/
|
417
|
-
const month = refParts.month === 1 ? 12 : refParts.month - 1;
|
418
|
-
const year = refParts.month === 1 ? refParts.year - 1 : refParts.year;
|
419
|
-
const numDaysInMonth = getNumDaysInMonth(month, year);
|
420
|
-
const day = numDaysInMonth < refParts.day ? numDaysInMonth : refParts.day;
|
421
|
-
return {
|
422
|
-
month,
|
423
|
-
year,
|
424
|
-
day
|
425
|
-
};
|
426
|
-
};
|
427
|
-
/**
|
428
|
-
* Given DatetimeParts, generate the next month.
|
429
|
-
*/
|
430
|
-
|
431
|
-
|
432
|
-
const getNextMonth = refParts => {
|
433
|
-
/**
|
434
|
-
* If current month is December, wrap forwards
|
435
|
-
* to January of the next year.
|
436
|
-
*/
|
437
|
-
const month = refParts.month === 12 ? 1 : refParts.month + 1;
|
438
|
-
const year = refParts.month === 12 ? refParts.year + 1 : refParts.year;
|
439
|
-
const numDaysInMonth = getNumDaysInMonth(month, year);
|
440
|
-
const day = numDaysInMonth < refParts.day ? numDaysInMonth : refParts.day;
|
441
|
-
return {
|
442
|
-
month,
|
443
|
-
year,
|
444
|
-
day
|
445
|
-
};
|
446
|
-
};
|
447
|
-
|
448
|
-
const changeYear = (refParts, yearDelta) => {
|
449
|
-
const month = refParts.month;
|
450
|
-
const year = refParts.year + yearDelta;
|
451
|
-
const numDaysInMonth = getNumDaysInMonth(month, year);
|
452
|
-
const day = numDaysInMonth < refParts.day ? numDaysInMonth : refParts.day;
|
453
|
-
return {
|
454
|
-
month,
|
455
|
-
year,
|
456
|
-
day
|
457
|
-
};
|
458
|
-
};
|
459
|
-
/**
|
460
|
-
* Given DatetimeParts, generate the previous year.
|
461
|
-
*/
|
462
|
-
|
463
|
-
|
464
|
-
const getPreviousYear = refParts => {
|
465
|
-
return changeYear(refParts, -1);
|
466
|
-
};
|
467
|
-
/**
|
468
|
-
* Given DatetimeParts, generate the next year.
|
469
|
-
*/
|
470
|
-
|
471
|
-
|
472
|
-
const getNextYear = refParts => {
|
473
|
-
return changeYear(refParts, 1);
|
474
|
-
};
|
475
|
-
/**
|
476
|
-
* If PM, then internal value should
|
477
|
-
* be converted to 24-hr time.
|
478
|
-
* Does not apply when public
|
479
|
-
* values are already 24-hr time.
|
480
|
-
*/
|
481
|
-
|
482
|
-
|
483
|
-
const getInternalHourValue = (hour, use24Hour, ampm) => {
|
484
|
-
if (use24Hour) {
|
485
|
-
return hour;
|
486
|
-
}
|
487
|
-
|
488
|
-
return convert12HourTo24Hour(hour, ampm);
|
489
|
-
};
|
490
|
-
/**
|
491
|
-
* Unless otherwise stated, all month values are
|
492
|
-
* 1 indexed instead of the typical 0 index in JS Date.
|
493
|
-
* Example:
|
494
|
-
* January = Month 0 when using JS Date
|
495
|
-
* January = Month 1 when using this datetime util
|
496
|
-
*/
|
497
|
-
|
498
|
-
/**
|
499
|
-
* Given the current datetime parts and a new AM/PM value
|
500
|
-
* calculate what the hour should be in 24-hour time format.
|
501
|
-
* Used when toggling the AM/PM segment since we store our hours
|
502
|
-
* in 24-hour time format internally.
|
503
|
-
*/
|
504
|
-
|
505
|
-
|
506
|
-
const calculateHourFromAMPM = (currentParts, newAMPM) => {
|
507
|
-
const {
|
508
|
-
ampm: currentAMPM,
|
509
|
-
hour
|
510
|
-
} = currentParts;
|
511
|
-
let newHour = hour;
|
512
|
-
/**
|
513
|
-
* If going from AM --> PM, need to update the
|
514
|
-
*
|
515
|
-
*/
|
516
|
-
|
517
|
-
if (currentAMPM === 'am' && newAMPM === 'pm') {
|
518
|
-
newHour = convert12HourTo24Hour(newHour, 'pm');
|
519
|
-
/**
|
520
|
-
* If going from PM --> AM
|
521
|
-
*/
|
522
|
-
} else if (currentAMPM === 'pm' && newAMPM === 'am') {
|
523
|
-
newHour = Math.abs(newHour - 12);
|
524
|
-
}
|
525
|
-
|
526
|
-
return newHour;
|
527
|
-
};
|
528
|
-
/**
|
529
|
-
* Returns the current date as
|
530
|
-
* an ISO string in the user's
|
531
|
-
* time zone.
|
532
|
-
*/
|
533
|
-
|
534
|
-
|
535
|
-
const getToday = () => {
|
536
|
-
/**
|
537
|
-
* ion-datetime intentionally does not
|
538
|
-
* parse time zones/do automatic time zone
|
539
|
-
* conversion when accepting user input.
|
540
|
-
* However when we get today's date string,
|
541
|
-
* we want it formatted relative to the user's
|
542
|
-
* time zone.
|
543
|
-
*
|
544
|
-
* When calling toISOString(), the browser
|
545
|
-
* will convert the date to UTC time by either adding
|
546
|
-
* or subtracting the time zone offset.
|
547
|
-
* To work around this, we need to either add
|
548
|
-
* or subtract the time zone offset to the Date
|
549
|
-
* object prior to calling toISOString().
|
550
|
-
* This allows us to get an ISO string
|
551
|
-
* that is in the user's time zone.
|
552
|
-
*
|
553
|
-
* Example:
|
554
|
-
* Time zone offset is 240
|
555
|
-
* Meaning: The browser needs to add 240 minutes
|
556
|
-
* to the Date object to get UTC time.
|
557
|
-
* What Ionic does: We subtract 240 minutes
|
558
|
-
* from the Date object. The browser then adds
|
559
|
-
* 240 minutes in toISOString(). The result
|
560
|
-
* is a time that is in the user's time zone
|
561
|
-
* and not UTC.
|
562
|
-
*
|
563
|
-
* Note: Some timezones include minute adjustments
|
564
|
-
* such as 30 or 45 minutes. This is why we use setMinutes
|
565
|
-
* instead of setHours.
|
566
|
-
* Example: India Standard Time
|
567
|
-
* Timezone offset: -330 = -5.5 hours.
|
568
|
-
*
|
569
|
-
* List of timezones with 30 and 45 minute timezones:
|
570
|
-
* https://www.timeanddate.com/time/time-zones-interesting.html
|
571
|
-
*/
|
572
|
-
const date = new Date();
|
573
|
-
const tzOffset = date.getTimezoneOffset();
|
574
|
-
date.setMinutes(date.getMinutes() - tzOffset);
|
575
|
-
return date.toISOString();
|
576
|
-
};
|
577
|
-
|
578
|
-
const minutes = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59];
|
579
|
-
const hour12 = [12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
580
|
-
const hour23 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23];
|
581
|
-
/**
|
582
|
-
* Given a locale and a mode,
|
583
|
-
* return an array with formatted days
|
584
|
-
* of the week. iOS should display days
|
585
|
-
* such as "Mon" or "Tue".
|
586
|
-
* MD should display days such as "M"
|
587
|
-
* or "T".
|
588
|
-
*/
|
589
|
-
|
590
|
-
const getDaysOfWeek = (locale, mode, firstDayOfWeek = 0) => {
|
591
|
-
/**
|
592
|
-
* Nov 1st, 2020 starts on a Sunday.
|
593
|
-
* ion-datetime assumes weeks start on Sunday,
|
594
|
-
* but is configurable via `firstDayOfWeek`.
|
595
|
-
*/
|
596
|
-
const weekdayFormat = mode === 'ios' ? 'short' : 'narrow';
|
597
|
-
const intl = new Intl.DateTimeFormat(locale, {
|
598
|
-
weekday: weekdayFormat
|
599
|
-
});
|
600
|
-
const startDate = new Date('11/01/2020');
|
601
|
-
const daysOfWeek = [];
|
602
|
-
/**
|
603
|
-
* For each day of the week,
|
604
|
-
* get the day name.
|
605
|
-
*/
|
606
|
-
|
607
|
-
for (let i = firstDayOfWeek; i < firstDayOfWeek + 7; i++) {
|
608
|
-
const currentDate = new Date(startDate);
|
609
|
-
currentDate.setDate(currentDate.getDate() + i);
|
610
|
-
daysOfWeek.push(intl.format(currentDate));
|
611
|
-
}
|
612
|
-
|
613
|
-
return daysOfWeek;
|
614
|
-
};
|
615
|
-
/**
|
616
|
-
* Returns an array containing all of the
|
617
|
-
* days in a month for a given year. Values are
|
618
|
-
* aligned with a week calendar starting on
|
619
|
-
* the firstDayOfWeek value (Sunday by default)
|
620
|
-
* using null values.
|
621
|
-
*/
|
622
|
-
|
623
|
-
|
624
|
-
const getDaysOfMonth = (month, year, firstDayOfWeek) => {
|
625
|
-
const numDays = getNumDaysInMonth(month, year);
|
626
|
-
const firstOfMonth = new Date(`${month}/1/${year}`).getDay();
|
627
|
-
/**
|
628
|
-
* To get the first day of the month aligned on the correct
|
629
|
-
* day of the week, we need to determine how many "filler" days
|
630
|
-
* to generate. These filler days as empty/disabled buttons
|
631
|
-
* that fill the space of the days of the week before the first
|
632
|
-
* of the month.
|
633
|
-
*
|
634
|
-
* There are two cases here:
|
635
|
-
*
|
636
|
-
* 1. If firstOfMonth = 4, firstDayOfWeek = 0 then the offset
|
637
|
-
* is (4 - (0 + 1)) = 3. Since the offset loop goes from 0 to 3 inclusive,
|
638
|
-
* this will generate 4 filler days (0, 1, 2, 3), and then day of week 4 will have
|
639
|
-
* the first day of the month.
|
640
|
-
*
|
641
|
-
* 2. If firstOfMonth = 2, firstDayOfWeek = 4 then the offset
|
642
|
-
* is (6 - (4 - 2)) = 4. Since the offset loop goes from 0 to 4 inclusive,
|
643
|
-
* this will generate 5 filler days (0, 1, 2, 3, 4), and then day of week 5 will have
|
644
|
-
* the first day of the month.
|
645
|
-
*/
|
646
|
-
|
647
|
-
const offset = firstOfMonth >= firstDayOfWeek ? firstOfMonth - (firstDayOfWeek + 1) : 6 - (firstDayOfWeek - firstOfMonth);
|
648
|
-
let days = [];
|
649
|
-
|
650
|
-
for (let i = 1; i <= numDays; i++) {
|
651
|
-
days.push({
|
652
|
-
day: i,
|
653
|
-
dayOfWeek: (offset + i) % 7
|
654
|
-
});
|
655
|
-
}
|
656
|
-
|
657
|
-
for (let i = 0; i <= offset; i++) {
|
658
|
-
days = [{
|
659
|
-
day: null,
|
660
|
-
dayOfWeek: null
|
661
|
-
}, ...days];
|
662
|
-
}
|
663
|
-
|
664
|
-
return days;
|
665
|
-
};
|
666
|
-
/**
|
667
|
-
* Given a local, reference datetime parts and option
|
668
|
-
* max/min bound datetime parts, calculate the acceptable
|
669
|
-
* hour and minute values according to the bounds and locale.
|
670
|
-
*/
|
671
|
-
|
672
|
-
|
673
|
-
const generateTime = (refParts, hourCycle = 'h12', minParts, maxParts, hourValues, minuteValues) => {
|
674
|
-
const use24Hour = hourCycle === 'h23';
|
675
|
-
let processedHours = use24Hour ? hour23 : hour12;
|
676
|
-
let processedMinutes = minutes;
|
677
|
-
let isAMAllowed = true;
|
678
|
-
let isPMAllowed = true;
|
679
|
-
|
680
|
-
if (hourValues) {
|
681
|
-
processedHours = processedHours.filter(hour => hourValues.includes(hour));
|
682
|
-
}
|
683
|
-
|
684
|
-
if (minuteValues) {
|
685
|
-
processedMinutes = processedMinutes.filter(minute => minuteValues.includes(minute));
|
686
|
-
}
|
687
|
-
|
688
|
-
if (minParts) {
|
689
|
-
/**
|
690
|
-
* If ref day is the same as the
|
691
|
-
* minimum allowed day, filter hour/minute
|
692
|
-
* values according to min hour and minute.
|
693
|
-
*/
|
694
|
-
if (isSameDay(refParts, minParts)) {
|
695
|
-
/**
|
696
|
-
* Users may not always set the hour/minute for
|
697
|
-
* min value (i.e. 2021-06-02) so we should allow
|
698
|
-
* all hours/minutes in that case.
|
699
|
-
*/
|
700
|
-
if (minParts.hour !== undefined) {
|
701
|
-
processedHours = processedHours.filter(hour => {
|
702
|
-
const convertedHour = refParts.ampm === 'pm' ? (hour + 12) % 24 : hour;
|
703
|
-
return (use24Hour ? hour : convertedHour) >= minParts.hour;
|
704
|
-
});
|
705
|
-
isAMAllowed = minParts.hour < 13;
|
706
|
-
}
|
707
|
-
|
708
|
-
if (minParts.minute !== undefined) {
|
709
|
-
/**
|
710
|
-
* The minimum minute range should not be enforced when
|
711
|
-
* the hour is greater than the min hour.
|
712
|
-
*
|
713
|
-
* For example with a minimum range of 09:30, users
|
714
|
-
* should be able to select 10:00-10:29 and beyond.
|
715
|
-
*/
|
716
|
-
let isPastMinHour = false;
|
717
|
-
|
718
|
-
if (minParts.hour !== undefined && refParts.hour !== undefined) {
|
719
|
-
if (refParts.hour > minParts.hour) {
|
720
|
-
isPastMinHour = true;
|
721
|
-
}
|
722
|
-
}
|
723
|
-
|
724
|
-
processedMinutes = processedMinutes.filter(minute => {
|
725
|
-
if (isPastMinHour) {
|
726
|
-
return true;
|
727
|
-
}
|
728
|
-
|
729
|
-
return minute >= minParts.minute;
|
730
|
-
});
|
731
|
-
}
|
732
|
-
/**
|
733
|
-
* If ref day is before minimum
|
734
|
-
* day do not render any hours/minute values
|
735
|
-
*/
|
736
|
-
|
737
|
-
} else if (isBefore(refParts, minParts)) {
|
738
|
-
processedHours = [];
|
739
|
-
processedMinutes = [];
|
740
|
-
isAMAllowed = isPMAllowed = false;
|
741
|
-
}
|
742
|
-
}
|
743
|
-
|
744
|
-
if (maxParts) {
|
745
|
-
/**
|
746
|
-
* If ref day is the same as the
|
747
|
-
* maximum allowed day, filter hour/minute
|
748
|
-
* values according to max hour and minute.
|
749
|
-
*/
|
750
|
-
if (isSameDay(refParts, maxParts)) {
|
751
|
-
/**
|
752
|
-
* Users may not always set the hour/minute for
|
753
|
-
* max value (i.e. 2021-06-02) so we should allow
|
754
|
-
* all hours/minutes in that case.
|
755
|
-
*/
|
756
|
-
if (maxParts.hour !== undefined) {
|
757
|
-
processedHours = processedHours.filter(hour => {
|
758
|
-
const convertedHour = refParts.ampm === 'pm' ? (hour + 12) % 24 : hour;
|
759
|
-
return (use24Hour ? hour : convertedHour) <= maxParts.hour;
|
760
|
-
});
|
761
|
-
isPMAllowed = maxParts.hour >= 13;
|
762
|
-
}
|
763
|
-
|
764
|
-
if (maxParts.minute !== undefined && refParts.hour === maxParts.hour) {
|
765
|
-
// The available minutes should only be filtered when the hour is the same as the max hour.
|
766
|
-
// For example if the max hour is 10:30 and the current hour is 10:00,
|
767
|
-
// users should be able to select 00-30 minutes.
|
768
|
-
// If the current hour is 09:00, users should be able to select 00-60 minutes.
|
769
|
-
processedMinutes = processedMinutes.filter(minute => minute <= maxParts.minute);
|
770
|
-
}
|
771
|
-
/**
|
772
|
-
* If ref day is after minimum
|
773
|
-
* day do not render any hours/minute values
|
774
|
-
*/
|
775
|
-
|
776
|
-
} else if (isAfter(refParts, maxParts)) {
|
777
|
-
processedHours = [];
|
778
|
-
processedMinutes = [];
|
779
|
-
isAMAllowed = isPMAllowed = false;
|
780
|
-
}
|
781
|
-
}
|
782
|
-
|
783
|
-
return {
|
784
|
-
hours: processedHours,
|
785
|
-
minutes: processedMinutes,
|
786
|
-
am: isAMAllowed,
|
787
|
-
pm: isPMAllowed
|
788
|
-
};
|
789
|
-
};
|
790
|
-
/**
|
791
|
-
* Given DatetimeParts, generate the previous,
|
792
|
-
* current, and and next months.
|
793
|
-
*/
|
794
|
-
|
795
|
-
|
796
|
-
const generateMonths = refParts => {
|
797
|
-
return [getPreviousMonth(refParts), {
|
798
|
-
month: refParts.month,
|
799
|
-
year: refParts.year,
|
800
|
-
day: refParts.day
|
801
|
-
}, getNextMonth(refParts)];
|
802
|
-
};
|
803
|
-
|
804
|
-
const getPickerMonths = (locale, refParts, minParts, maxParts, monthValues) => {
|
805
|
-
const {
|
806
|
-
year
|
807
|
-
} = refParts;
|
808
|
-
const months = [];
|
809
|
-
|
810
|
-
if (monthValues !== undefined) {
|
811
|
-
let processedMonths = monthValues;
|
812
|
-
|
813
|
-
if ((maxParts === null || maxParts === void 0 ? void 0 : maxParts.month) !== undefined) {
|
814
|
-
processedMonths = processedMonths.filter(month => month <= maxParts.month);
|
815
|
-
}
|
816
|
-
|
817
|
-
if ((minParts === null || minParts === void 0 ? void 0 : minParts.month) !== undefined) {
|
818
|
-
processedMonths = processedMonths.filter(month => month >= minParts.month);
|
819
|
-
}
|
820
|
-
|
821
|
-
processedMonths.forEach(processedMonth => {
|
822
|
-
const date = new Date(`${processedMonth}/1/${year} GMT+0000`);
|
823
|
-
const monthString = new Intl.DateTimeFormat(locale, {
|
824
|
-
month: 'long',
|
825
|
-
timeZone: 'UTC'
|
826
|
-
}).format(date);
|
827
|
-
months.push({
|
828
|
-
text: monthString,
|
829
|
-
value: processedMonth
|
830
|
-
});
|
831
|
-
});
|
832
|
-
} else {
|
833
|
-
const maxMonth = maxParts && maxParts.year === year ? maxParts.month : 12;
|
834
|
-
const minMonth = minParts && minParts.year === year ? minParts.month : 1;
|
835
|
-
|
836
|
-
for (let i = minMonth; i <= maxMonth; i++) {
|
837
|
-
/**
|
838
|
-
*
|
839
|
-
* There is a bug on iOS 14 where
|
840
|
-
* Intl.DateTimeFormat takes into account
|
841
|
-
* the local timezone offset when formatting dates.
|
842
|
-
*
|
843
|
-
* Forcing the timezone to 'UTC' fixes the issue. However,
|
844
|
-
* we should keep this workaround as it is safer. In the event
|
845
|
-
* this breaks in another browser, we will not be impacted
|
846
|
-
* because all dates will be interpreted in UTC.
|
847
|
-
*
|
848
|
-
* Example:
|
849
|
-
* new Intl.DateTimeFormat('en-US', { month: 'long' }).format(new Date('Sat Apr 01 2006 00:00:00 GMT-0400 (EDT)')) // "March"
|
850
|
-
* new Intl.DateTimeFormat('en-US', { month: 'long', timeZone: 'UTC' }).format(new Date('Sat Apr 01 2006 00:00:00 GMT-0400 (EDT)')) // "April"
|
851
|
-
*
|
852
|
-
* In certain timezones, iOS 14 shows the wrong
|
853
|
-
* date for .toUTCString(). To combat this, we
|
854
|
-
* force all of the timezones to GMT+0000 (UTC).
|
855
|
-
*
|
856
|
-
* Example:
|
857
|
-
* Time Zone: Central European Standard Time
|
858
|
-
* new Date('1/1/1992').toUTCString() // "Tue, 31 Dec 1991 23:00:00 GMT"
|
859
|
-
* new Date('1/1/1992 GMT+0000').toUTCString() // "Wed, 01 Jan 1992 00:00:00 GMT"
|
860
|
-
*/
|
861
|
-
const date = new Date(`${i}/1/${year} GMT+0000`);
|
862
|
-
const monthString = new Intl.DateTimeFormat(locale, {
|
863
|
-
month: 'long',
|
864
|
-
timeZone: 'UTC'
|
865
|
-
}).format(date);
|
866
|
-
months.push({
|
867
|
-
text: monthString,
|
868
|
-
value: i
|
869
|
-
});
|
870
|
-
}
|
871
|
-
}
|
872
|
-
|
873
|
-
return months;
|
874
|
-
};
|
875
|
-
|
876
|
-
const getCalendarYears = (refParts, minParts, maxParts, yearValues) => {
|
877
|
-
if (yearValues !== undefined) {
|
878
|
-
let processedYears = yearValues;
|
879
|
-
|
880
|
-
if ((maxParts === null || maxParts === void 0 ? void 0 : maxParts.year) !== undefined) {
|
881
|
-
processedYears = processedYears.filter(year => year <= maxParts.year);
|
882
|
-
}
|
883
|
-
|
884
|
-
if ((minParts === null || minParts === void 0 ? void 0 : minParts.year) !== undefined) {
|
885
|
-
processedYears = processedYears.filter(year => year >= minParts.year);
|
886
|
-
}
|
887
|
-
|
888
|
-
return processedYears;
|
889
|
-
} else {
|
890
|
-
const {
|
891
|
-
year
|
892
|
-
} = refParts;
|
893
|
-
const maxYear = (maxParts === null || maxParts === void 0 ? void 0 : maxParts.year) || year;
|
894
|
-
const minYear = (minParts === null || minParts === void 0 ? void 0 : minParts.year) || year - 100;
|
895
|
-
const years = [];
|
896
|
-
|
897
|
-
for (let i = maxYear; i >= minYear; i--) {
|
898
|
-
years.push(i);
|
899
|
-
}
|
900
|
-
|
901
|
-
return years;
|
902
|
-
}
|
903
|
-
};
|
904
|
-
|
905
|
-
const get12HourTime = hour => {
|
906
|
-
return hour % 12 || 12;
|
907
|
-
};
|
908
|
-
|
909
|
-
const getFormattedAMPM = ampm => {
|
910
|
-
if (ampm === undefined) {
|
911
|
-
return '';
|
912
|
-
}
|
913
|
-
|
914
|
-
return ampm.toUpperCase();
|
915
|
-
};
|
916
|
-
|
917
|
-
const getFormattedTime = (refParts, use24Hour) => {
|
918
|
-
if (refParts.hour === undefined || refParts.minute === undefined) {
|
919
|
-
return 'Invalid Time';
|
920
|
-
}
|
921
|
-
|
922
|
-
const hour = use24Hour ? getFormattedHour(refParts.hour, use24Hour) : get12HourTime(refParts.hour);
|
923
|
-
const minute = addTimePadding(refParts.minute);
|
924
|
-
|
925
|
-
if (use24Hour) {
|
926
|
-
return `${hour}:${minute}`;
|
927
|
-
}
|
928
|
-
|
929
|
-
return `${hour}:${minute} ${getFormattedAMPM(refParts.ampm)}`;
|
930
|
-
};
|
931
|
-
/**
|
932
|
-
* Adds padding to a time value so
|
933
|
-
* that it is always 2 digits.
|
934
|
-
*/
|
935
|
-
|
936
|
-
|
937
|
-
const addTimePadding = value => {
|
938
|
-
const valueToString = value.toString();
|
939
|
-
|
940
|
-
if (valueToString.length > 1) {
|
941
|
-
return valueToString;
|
942
|
-
}
|
943
|
-
|
944
|
-
return `0${valueToString}`;
|
945
|
-
};
|
946
|
-
/**
|
947
|
-
* Formats the hour value so that it
|
948
|
-
* is always 2 digits. Only applies
|
949
|
-
* if using 12 hour format.
|
950
|
-
*/
|
951
|
-
|
952
|
-
|
953
|
-
const getFormattedHour = (hour, use24Hour) => {
|
954
|
-
if (!use24Hour) {
|
955
|
-
return hour.toString();
|
956
|
-
}
|
957
|
-
|
958
|
-
return addTimePadding(hour);
|
959
|
-
};
|
960
|
-
/**
|
961
|
-
* Generates an aria-label to be read by screen readers
|
962
|
-
* given a local, a date, and whether or not that date is
|
963
|
-
* today's date.
|
964
|
-
*/
|
965
|
-
|
966
|
-
|
967
|
-
const generateDayAriaLabel = (locale, today, refParts) => {
|
968
|
-
if (refParts.day === null) {
|
969
|
-
return null;
|
970
|
-
}
|
971
|
-
/**
|
972
|
-
* MM/DD/YYYY will return midnight in the user's timezone.
|
973
|
-
*/
|
974
|
-
|
975
|
-
|
976
|
-
const date = new Date(`${refParts.month}/${refParts.day}/${refParts.year} GMT+0000`);
|
977
|
-
const labelString = new Intl.DateTimeFormat(locale, {
|
978
|
-
weekday: 'long',
|
979
|
-
month: 'long',
|
980
|
-
day: 'numeric',
|
981
|
-
timeZone: 'UTC'
|
982
|
-
}).format(date);
|
983
|
-
/**
|
984
|
-
* If date is today, prepend "Today" so screen readers indicate
|
985
|
-
* that the date is today.
|
986
|
-
*/
|
987
|
-
|
988
|
-
return today ? `Today, ${labelString}` : labelString;
|
989
|
-
};
|
990
|
-
/**
|
991
|
-
* Gets the day of the week, month, and day
|
992
|
-
* Used for the header in MD mode.
|
993
|
-
*/
|
994
|
-
|
995
|
-
|
996
|
-
const getMonthAndDay = (locale, refParts) => {
|
997
|
-
const date = new Date(`${refParts.month}/${refParts.day}/${refParts.year} GMT+0000`);
|
998
|
-
return new Intl.DateTimeFormat(locale, {
|
999
|
-
weekday: 'short',
|
1000
|
-
month: 'short',
|
1001
|
-
day: 'numeric',
|
1002
|
-
timeZone: 'UTC'
|
1003
|
-
}).format(date);
|
1004
|
-
};
|
1005
|
-
/**
|
1006
|
-
* Given a locale and a date object,
|
1007
|
-
* return a formatted string that includes
|
1008
|
-
* the month name and full year.
|
1009
|
-
* Example: May 2021
|
1010
|
-
*/
|
1011
|
-
|
1012
|
-
|
1013
|
-
const getMonthAndYear = (locale, refParts) => {
|
1014
|
-
const date = new Date(`${refParts.month}/${refParts.day}/${refParts.year} GMT+0000`);
|
1015
|
-
return new Intl.DateTimeFormat(locale, {
|
1016
|
-
month: 'long',
|
1017
|
-
year: 'numeric',
|
1018
|
-
timeZone: 'UTC'
|
1019
|
-
}).format(date);
|
1020
|
-
};
|
1021
|
-
|
1022
|
-
const ISO_8601_REGEXP = // eslint-disable-next-line no-useless-escape
|
1023
|
-
/^(\d{4}|[+\-]\d{6})(?:-(\d{2})(?:-(\d{2}))?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/; // eslint-disable-next-line no-useless-escape
|
1024
|
-
|
1025
|
-
const TIME_REGEXP = /^((\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/;
|
1026
|
-
/**
|
1027
|
-
* Use to convert a string of comma separated numbers or
|
1028
|
-
* an array of numbers, and clean up any user input
|
1029
|
-
*/
|
1030
|
-
|
1031
|
-
const convertToArrayOfNumbers = input => {
|
1032
|
-
if (input === undefined) {
|
1033
|
-
return;
|
1034
|
-
}
|
1035
|
-
|
1036
|
-
let processedInput = input;
|
1037
|
-
|
1038
|
-
if (typeof input === 'string') {
|
1039
|
-
// convert the string to an array of strings
|
1040
|
-
// auto remove any whitespace and [] characters
|
1041
|
-
processedInput = input.replace(/\[|\]|\s/g, '').split(',');
|
1042
|
-
}
|
1043
|
-
|
1044
|
-
let values;
|
1045
|
-
|
1046
|
-
if (Array.isArray(processedInput)) {
|
1047
|
-
// ensure each value is an actual number in the returned array
|
1048
|
-
values = processedInput.map(num => parseInt(num, 10)).filter(isFinite);
|
1049
|
-
} else {
|
1050
|
-
values = [processedInput];
|
1051
|
-
}
|
1052
|
-
|
1053
|
-
return values;
|
1054
|
-
};
|
1055
|
-
/**
|
1056
|
-
* Extracts date information
|
1057
|
-
* from a .calendar-day element
|
1058
|
-
* into DatetimeParts.
|
1059
|
-
*/
|
1060
|
-
|
1061
|
-
|
1062
|
-
const getPartsFromCalendarDay = el => {
|
1063
|
-
return {
|
1064
|
-
month: parseInt(el.getAttribute('data-month'), 10),
|
1065
|
-
day: parseInt(el.getAttribute('data-day'), 10),
|
1066
|
-
year: parseInt(el.getAttribute('data-year'), 10),
|
1067
|
-
dayOfWeek: parseInt(el.getAttribute('data-day-of-week'), 10)
|
1068
|
-
};
|
1069
|
-
};
|
1070
|
-
/**
|
1071
|
-
* Given an ISO-8601 string, format out the parts
|
1072
|
-
* We do not use the JS Date object here because
|
1073
|
-
* it adjusts the date for the current timezone.
|
1074
|
-
*/
|
1075
|
-
|
1076
|
-
|
1077
|
-
const parseDate = val => {
|
1078
|
-
// manually parse IS0 cuz Date.parse cannot be trusted
|
1079
|
-
// ISO 8601 format: 1994-12-15T13:47:20Z
|
1080
|
-
let parse = null;
|
1081
|
-
|
1082
|
-
if (val != null && val !== '') {
|
1083
|
-
// try parsing for just time first, HH:MM
|
1084
|
-
parse = TIME_REGEXP.exec(val);
|
1085
|
-
|
1086
|
-
if (parse) {
|
1087
|
-
// adjust the array so it fits nicely with the datetime parse
|
1088
|
-
parse.unshift(undefined, undefined);
|
1089
|
-
parse[2] = parse[3] = undefined;
|
1090
|
-
} else {
|
1091
|
-
// try parsing for full ISO datetime
|
1092
|
-
parse = ISO_8601_REGEXP.exec(val);
|
1093
|
-
}
|
1094
|
-
}
|
1095
|
-
|
1096
|
-
if (parse === null) {
|
1097
|
-
// wasn't able to parse the ISO datetime
|
1098
|
-
return undefined;
|
1099
|
-
} // ensure all the parse values exist with at least 0
|
1100
|
-
|
1101
|
-
|
1102
|
-
for (let i = 1; i < 8; i++) {
|
1103
|
-
parse[i] = parse[i] !== undefined ? parseInt(parse[i], 10) : undefined;
|
1104
|
-
}
|
1105
|
-
|
1106
|
-
let tzOffset = 0;
|
1107
|
-
|
1108
|
-
if (parse[9] && parse[10]) {
|
1109
|
-
// hours
|
1110
|
-
tzOffset = parseInt(parse[10], 10) * 60;
|
1111
|
-
|
1112
|
-
if (parse[11]) {
|
1113
|
-
// minutes
|
1114
|
-
tzOffset += parseInt(parse[11], 10);
|
1115
|
-
}
|
1116
|
-
|
1117
|
-
if (parse[9] === '-') {
|
1118
|
-
// + or -
|
1119
|
-
tzOffset *= -1;
|
1120
|
-
}
|
1121
|
-
}
|
1122
|
-
|
1123
|
-
return {
|
1124
|
-
year: parse[1],
|
1125
|
-
month: parse[2],
|
1126
|
-
day: parse[3],
|
1127
|
-
hour: parse[4],
|
1128
|
-
minute: parse[5],
|
1129
|
-
second: parse[6],
|
1130
|
-
millisecond: parse[7],
|
1131
|
-
tzOffset
|
1132
|
-
};
|
1133
|
-
};
|
1134
|
-
|
1135
|
-
const clampDate = (dateParts, minParts, maxParts) => {
|
1136
|
-
if (minParts && isBefore(dateParts, minParts)) {
|
1137
|
-
return minParts;
|
1138
|
-
} else if (maxParts && isAfter(dateParts, maxParts)) {
|
1139
|
-
return maxParts;
|
1140
|
-
}
|
1141
|
-
|
1142
|
-
return dateParts;
|
1143
|
-
};
|
1144
|
-
|
1145
|
-
const isYearDisabled = (refYear, minParts, maxParts) => {
|
1146
|
-
if (minParts && minParts.year > refYear) {
|
1147
|
-
return true;
|
1148
|
-
}
|
1149
|
-
|
1150
|
-
if (maxParts && maxParts.year < refYear) {
|
1151
|
-
return true;
|
1152
|
-
}
|
1153
|
-
|
1154
|
-
return false;
|
1155
|
-
};
|
1156
|
-
/**
|
1157
|
-
* Returns true if a given day should
|
1158
|
-
* not be interactive according to its value,
|
1159
|
-
* or the max/min dates.
|
1160
|
-
*/
|
1161
|
-
|
1162
|
-
|
1163
|
-
const isDayDisabled = (refParts, minParts, maxParts, dayValues) => {
|
1164
|
-
/**
|
1165
|
-
* If this is a filler date (i.e. padding)
|
1166
|
-
* then the date is disabled.
|
1167
|
-
*/
|
1168
|
-
if (refParts.day === null) {
|
1169
|
-
return true;
|
1170
|
-
}
|
1171
|
-
/**
|
1172
|
-
* If user passed in a list of acceptable day values
|
1173
|
-
* check to make sure that the date we are looking
|
1174
|
-
* at is in this array.
|
1175
|
-
*/
|
1176
|
-
|
1177
|
-
|
1178
|
-
if (dayValues !== undefined && !dayValues.includes(refParts.day)) {
|
1179
|
-
return true;
|
1180
|
-
}
|
1181
|
-
/**
|
1182
|
-
* Given a min date, perform the following
|
1183
|
-
* checks. If any of them are true, then the
|
1184
|
-
* day should be disabled:
|
1185
|
-
* 1. Is the current year < the min allowed year?
|
1186
|
-
* 2. Is the current year === min allowed year,
|
1187
|
-
* but the current month < the min allowed month?
|
1188
|
-
* 3. Is the current year === min allowed year, the
|
1189
|
-
* current month === min allow month, but the current
|
1190
|
-
* day < the min allowed day?
|
1191
|
-
*/
|
1192
|
-
|
1193
|
-
|
1194
|
-
if (minParts && isBefore(refParts, minParts)) {
|
1195
|
-
return true;
|
1196
|
-
}
|
1197
|
-
/**
|
1198
|
-
* Given a max date, perform the following
|
1199
|
-
* checks. If any of them are true, then the
|
1200
|
-
* day should be disabled:
|
1201
|
-
* 1. Is the current year > the max allowed year?
|
1202
|
-
* 2. Is the current year === max allowed year,
|
1203
|
-
* but the current month > the max allowed month?
|
1204
|
-
* 3. Is the current year === max allowed year, the
|
1205
|
-
* current month === max allow month, but the current
|
1206
|
-
* day > the max allowed day?
|
1207
|
-
*/
|
1208
|
-
|
1209
|
-
|
1210
|
-
if (maxParts && isAfter(refParts, maxParts)) {
|
1211
|
-
return true;
|
1212
|
-
}
|
1213
|
-
/**
|
1214
|
-
* If none of these checks
|
1215
|
-
* passed then the date should
|
1216
|
-
* be interactive.
|
1217
|
-
*/
|
1218
|
-
|
1219
|
-
|
1220
|
-
return false;
|
1221
|
-
};
|
1222
|
-
/**
|
1223
|
-
* Given a locale, a date, the selected date, and today's date,
|
1224
|
-
* generate the state for a given calendar day button.
|
1225
|
-
*/
|
1226
|
-
|
1227
|
-
|
1228
|
-
const getCalendarDayState = (locale, refParts, activeParts, todayParts, minParts, maxParts, dayValues) => {
|
1229
|
-
const isActive = isSameDay(refParts, activeParts);
|
1230
|
-
const isToday = isSameDay(refParts, todayParts);
|
1231
|
-
const disabled = isDayDisabled(refParts, minParts, maxParts, dayValues);
|
1232
|
-
return {
|
1233
|
-
disabled,
|
1234
|
-
isActive,
|
1235
|
-
isToday,
|
1236
|
-
ariaSelected: isActive ? 'true' : null,
|
1237
|
-
ariaLabel: generateDayAriaLabel(locale, isToday, refParts)
|
1238
|
-
};
|
1239
|
-
};
|
1240
|
-
/**
|
1241
|
-
* Returns `true` if the month is disabled given the
|
1242
|
-
* current date value and min/max date constraints.
|
1243
|
-
*/
|
1244
|
-
|
1245
|
-
|
1246
|
-
const isMonthDisabled = (refParts, {
|
1247
|
-
minParts,
|
1248
|
-
maxParts
|
1249
|
-
}) => {
|
1250
|
-
// If the year is disabled then the month is disabled.
|
1251
|
-
if (isYearDisabled(refParts.year, minParts, maxParts)) {
|
1252
|
-
return true;
|
1253
|
-
} // If the date value is before the min date, then the month is disabled.
|
1254
|
-
// If the date value is after the max date, then the month is disabled.
|
1255
|
-
|
1256
|
-
|
1257
|
-
if (minParts && isBefore(refParts, minParts) || maxParts && isAfter(refParts, maxParts)) {
|
1258
|
-
return true;
|
1259
|
-
}
|
1260
|
-
|
1261
|
-
return false;
|
1262
|
-
};
|
1263
|
-
/**
|
1264
|
-
* Given a working date, an optional minimum date range,
|
1265
|
-
* and an optional maximum date range; determine if the
|
1266
|
-
* previous navigation button is disabled.
|
1267
|
-
*/
|
1268
|
-
|
1269
|
-
|
1270
|
-
const isPrevMonthDisabled = (refParts, minParts, maxParts) => {
|
1271
|
-
const prevMonth = Object.assign(Object.assign({}, getPreviousMonth(refParts)), {
|
1272
|
-
day: null
|
1273
|
-
});
|
1274
|
-
return isMonthDisabled(prevMonth, {
|
1275
|
-
minParts,
|
1276
|
-
maxParts
|
1277
|
-
});
|
1278
|
-
};
|
1279
|
-
/**
|
1280
|
-
* Given a working date and a maximum date range,
|
1281
|
-
* determine if the next navigation button is disabled.
|
1282
|
-
*/
|
1283
|
-
|
1284
|
-
|
1285
|
-
const isNextMonthDisabled = (refParts, maxParts) => {
|
1286
|
-
const nextMonth = Object.assign(Object.assign({}, getNextMonth(refParts)), {
|
1287
|
-
day: null
|
1288
|
-
});
|
1289
|
-
return isMonthDisabled(nextMonth, {
|
1290
|
-
maxParts
|
1291
|
-
});
|
1292
|
-
};
|
1293
|
-
|
1294
|
-
const datetimeIosCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}:host(.datetime-size-fixed){width:auto;max-width:350px;height:auto}: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 .datetime-year .order-month-first .month-column{-ms-flex-order:1;order:1}:host .datetime-year .order-month-first .year-column{-ms-flex-order:2;order:2}:host .datetime-year .order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .datetime-year .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{left:-99999px;position:absolute;visibility:hidden;pointer-events:none}: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 (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{padding-left:4px;padding-right:0;padding-top:0;padding-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .calendar-action-buttons ion-item ion-icon{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end: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);height:100%}:host .calendar-day{padding-left:0px;padding-right:0px;padding-top:0px;padding-bottom:0px;margin-left:0px;margin-right: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;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .calendar-day{padding-left:unset;padding-right:unset;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .calendar-day{margin-left:unset;margin-right:unset;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px}}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}:host .calendar-day:after{border-radius:32px;padding-left:4px;padding-right:4px;padding-top:4px;padding-bottom:4px;position:absolute;top:50%;left:50%;width:32px;height:32px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\" \";z-index:-1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .calendar-day:after{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px}}: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;padding-left:12px;padding-right: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}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .time-body{padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}: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),:host(.datetime-presentation-time-date),:host(.datetime-presentation-date){min-height:350px}:host .datetime-header{padding-left:16px;padding-right:16px;padding-top:16px;padding-bottom:16px;border-bottom:0.55px solid var(--ion-color-step-200, #cccccc)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .datetime-header{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host .datetime-header .datetime-title{color:var(--title-color);font-size:14px}: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{padding-left:8px;padding-right: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}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .calendar-days-of-week{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}:host .calendar-body .calendar-month .calendar-month-grid{padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;height:calc(100% - 16px)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .calendar-body .calendar-month .calendar-month-grid{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}:host .calendar-day{font-size:20px}:host .calendar-day:after{opacity:0.2}:host .calendar-day:focus:after{background:var(--ion-color-base)}: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-active:after{background:var(--ion-color-base)}:host .calendar-day.calendar-day-today.calendar-day-active{color:var(--ion-color-contrast)}:host .calendar-day.calendar-day-today.calendar-day-active:after{background:var(--ion-color-base);opacity:1}:host .datetime-time{padding-left:16px;padding-right:16px;padding-top:8px;padding-bottom:16px;font-size:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .datetime-time{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}:host .datetime-time .time-header{font-weight:600}:host .datetime-buttons{padding-left:8px;padding-right:8px;padding-top:8px;padding-bottom:8px;border-top:0.55px solid var(--ion-color-step-200, #cccccc)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .datetime-buttons{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}: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%}";
|
1295
|
-
const datetimeMdCss = ":host{display:-ms-flexbox;display:flex;-ms-flex-flow:column;flex-flow:column;background:var(--background);overflow:hidden}:host(.datetime-size-fixed){width:auto;max-width:350px;height:auto}: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 .datetime-year .order-month-first .month-column{-ms-flex-order:1;order:1}:host .datetime-year .order-month-first .year-column{-ms-flex-order:2;order:2}:host .datetime-year .order-year-first .month-column{-ms-flex-order:2;order:2;text-align:end}:host .datetime-year .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{left:-99999px;position:absolute;visibility:hidden;pointer-events:none}: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 (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{padding-left:4px;padding-right:0;padding-top:0;padding-bottom:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .calendar-action-buttons ion-item ion-icon{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:0;padding-inline-end: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);height:100%}:host .calendar-day{padding-left:0px;padding-right:0px;padding-top:0px;padding-bottom:0px;margin-left:0px;margin-right: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;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;z-index:0}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .calendar-day{padding-left:unset;padding-right:unset;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0px;padding-inline-end:0px}}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .calendar-day{margin-left:unset;margin-right:unset;-webkit-margin-start:0px;margin-inline-start:0px;-webkit-margin-end:0px;margin-inline-end:0px}}:host .calendar-day[disabled]{pointer-events:none;opacity:0.4}:host .calendar-day:after{border-radius:32px;padding-left:4px;padding-right:4px;padding-top:4px;padding-bottom:4px;position:absolute;top:50%;left:50%;width:32px;height:32px;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);content:\" \";z-index:-1}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .calendar-day:after{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px}}: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;padding-left:12px;padding-right: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}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .time-body{padding-left:unset;padding-right:unset;-webkit-padding-start:12px;padding-inline-start:12px;-webkit-padding-end:12px;padding-inline-end:12px}}: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{padding-left:20px;padding-right:20px;padding-top:20px;padding-bottom:20px;background:var(--ion-color-base);color:var(--title-color)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .datetime-header{padding-left:unset;padding-right:unset;-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px}}: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{padding-left:10px;padding-right:10px;padding-top:0px;padding-bottom:0px;color:var(--ion-color-step-500, gray);font-size:14px;line-height:36px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .calendar-days-of-week{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}:host .calendar-body .calendar-month .calendar-month-grid{padding-left:10px;padding-right:10px;padding-top:3px;padding-bottom:0px;grid-template-rows:repeat(6, 1fr)}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .calendar-body .calendar-month .calendar-month-grid{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}:host .calendar-day{padding-left:0px;padding-right:0;padding-top:13px;padding-bottom:13px;font-size:14px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .calendar-day{padding-left:unset;padding-right:unset;-webkit-padding-start:0px;padding-inline-start:0px;-webkit-padding-end:0;padding-inline-end:0}}:host .calendar-day:focus:after{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)}:host .calendar-day.calendar-day-today:after{border:1px solid var(--ion-color-base)}:host .calendar-day.calendar-day-active{color:var(--ion-color-contrast)}:host .calendar-day.calendar-day-active:after{border:1px solid var(--ion-color-base);background:var(--ion-color-base)}:host .datetime-time{padding-left:16px;padding-right:16px;padding-top:8px;padding-bottom:8px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .datetime-time{padding-left:unset;padding-right:unset;-webkit-padding-start:16px;padding-inline-start:16px;-webkit-padding-end:16px;padding-inline-end:16px}}: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{padding-left:10px;padding-right: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}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){:host .datetime-buttons{padding-left:unset;padding-right:unset;-webkit-padding-start:10px;padding-inline-start:10px;-webkit-padding-end:10px;padding-inline-end:10px}}:host .datetime-view-buttons ion-button{color:var(--ion-color-step-800, #333333)}";
|
1296
|
-
const Datetime = class {
|
1297
|
-
constructor(hostRef) {
|
1298
|
-
(0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.r)(this, hostRef);
|
1299
|
-
this.ionCancel = (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.e)(this, "ionCancel", 7);
|
1300
|
-
this.ionChange = (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.e)(this, "ionChange", 7);
|
1301
|
-
this.ionFocus = (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.e)(this, "ionFocus", 7);
|
1302
|
-
this.ionBlur = (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.e)(this, "ionBlur", 7);
|
1303
|
-
this.ionStyle = (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.e)(this, "ionStyle", 7);
|
1304
|
-
this.inputId = `ion-dt-${datetimeIds++}`;
|
1305
|
-
this.overlayIsPresenting = false;
|
1306
|
-
/**
|
1307
|
-
* Whether to highlight the active day with a solid circle (as opposed
|
1308
|
-
* to the outline circle around today). If you don't specify an initial
|
1309
|
-
* value for the datetime, it doesn't automatically init to a default to
|
1310
|
-
* avoid unwanted change events firing. If the solid circle were still
|
1311
|
-
* shown then, it would look like a date had already been selected, which
|
1312
|
-
* is misleading UX.
|
1313
|
-
*/
|
1314
|
-
|
1315
|
-
this.highlightActiveParts = false;
|
1316
|
-
this.todayParts = parseDate(getToday());
|
1317
|
-
this.prevPresentation = null;
|
1318
|
-
this.showMonthAndYear = false;
|
1319
|
-
this.activeParts = {
|
1320
|
-
month: 5,
|
1321
|
-
day: 28,
|
1322
|
-
year: 2021,
|
1323
|
-
hour: 13,
|
1324
|
-
minute: 52,
|
1325
|
-
ampm: 'pm'
|
1326
|
-
};
|
1327
|
-
this.workingParts = {
|
1328
|
-
month: 5,
|
1329
|
-
day: 28,
|
1330
|
-
year: 2021,
|
1331
|
-
hour: 13,
|
1332
|
-
minute: 52,
|
1333
|
-
ampm: 'pm'
|
1334
|
-
};
|
1335
|
-
this.isPresented = false;
|
1336
|
-
this.isTimePopoverOpen = false;
|
1337
|
-
/**
|
1338
|
-
* The color to use from your application's color palette.
|
1339
|
-
* Default options are: `"primary"`, `"secondary"`, `"tertiary"`, `"success"`, `"warning"`, `"danger"`, `"light"`, `"medium"`, and `"dark"`.
|
1340
|
-
* For more information on colors, see [theming](/docs/theming/basics).
|
1341
|
-
*/
|
1342
|
-
|
1343
|
-
this.color = 'primary';
|
1344
|
-
/**
|
1345
|
-
* The name of the control, which is submitted with the form data.
|
1346
|
-
*/
|
1347
|
-
|
1348
|
-
this.name = this.inputId;
|
1349
|
-
/**
|
1350
|
-
* If `true`, the user cannot interact with the datetime.
|
1351
|
-
*/
|
1352
|
-
|
1353
|
-
this.disabled = false;
|
1354
|
-
/**
|
1355
|
-
* If `true`, the datetime appears normal but is not interactive.
|
1356
|
-
*/
|
1357
|
-
|
1358
|
-
this.readonly = false;
|
1359
|
-
/**
|
1360
|
-
* Which values you want to select. `'date'` will show
|
1361
|
-
* a calendar picker to select the month, day, and year. `'time'`
|
1362
|
-
* will show a time picker to select the hour, minute, and (optionally)
|
1363
|
-
* AM/PM. `'date-time'` will show the date picker first and time picker second.
|
1364
|
-
* `'time-date'` will show the time picker first and date picker second.
|
1365
|
-
*/
|
1366
|
-
|
1367
|
-
this.presentation = 'date-time';
|
1368
|
-
/**
|
1369
|
-
* The text to display on the picker's cancel button.
|
1370
|
-
*/
|
1371
|
-
|
1372
|
-
this.cancelText = 'Cancel';
|
1373
|
-
/**
|
1374
|
-
* The text to display on the picker's "Done" button.
|
1375
|
-
*/
|
1376
|
-
|
1377
|
-
this.doneText = 'Done';
|
1378
|
-
/**
|
1379
|
-
* The text to display on the picker's "Clear" button.
|
1380
|
-
*/
|
1381
|
-
|
1382
|
-
this.clearText = 'Clear';
|
1383
|
-
/**
|
1384
|
-
* The locale to use for `ion-datetime`. This
|
1385
|
-
* impacts month and day name formatting.
|
1386
|
-
* The `'default'` value refers to the default
|
1387
|
-
* locale set by your device.
|
1388
|
-
*/
|
1389
|
-
|
1390
|
-
this.locale = 'default';
|
1391
|
-
/**
|
1392
|
-
* The first day of the week to use for `ion-datetime`. The
|
1393
|
-
* default value is `0` and represents Sunday.
|
1394
|
-
*/
|
1395
|
-
|
1396
|
-
this.firstDayOfWeek = 0;
|
1397
|
-
/**
|
1398
|
-
* If `true`, a header will be shown above the calendar
|
1399
|
-
* picker. On `ios` mode this will include the
|
1400
|
-
* slotted title, and on `md` mode this will include
|
1401
|
-
* the slotted title and the selected date.
|
1402
|
-
*/
|
1403
|
-
|
1404
|
-
this.showDefaultTitle = false;
|
1405
|
-
/**
|
1406
|
-
* If `true`, the default "Cancel" and "OK" buttons
|
1407
|
-
* will be rendered at the bottom of the `ion-datetime`
|
1408
|
-
* component. Developers can also use the `button` slot
|
1409
|
-
* if they want to customize these buttons. If custom
|
1410
|
-
* buttons are set in the `button` slot then the
|
1411
|
-
* default buttons will not be rendered.
|
1412
|
-
*/
|
1413
|
-
|
1414
|
-
this.showDefaultButtons = false;
|
1415
|
-
/**
|
1416
|
-
* If `true`, a "Clear" button will be rendered alongside
|
1417
|
-
* the default "Cancel" and "OK" buttons at the bottom of the `ion-datetime`
|
1418
|
-
* component. Developers can also use the `button` slot
|
1419
|
-
* if they want to customize these buttons. If custom
|
1420
|
-
* buttons are set in the `button` slot then the
|
1421
|
-
* default buttons will not be rendered.
|
1422
|
-
*/
|
1423
|
-
|
1424
|
-
this.showClearButton = false;
|
1425
|
-
/**
|
1426
|
-
* If `true`, the default "Time" label will be rendered
|
1427
|
-
* for the time selector of the `ion-datetime` component.
|
1428
|
-
* Developers can also use the `time-label` slot
|
1429
|
-
* if they want to customize this label. If a custom
|
1430
|
-
* label is set in the `time-label` slot then the
|
1431
|
-
* default label will not be rendered.
|
1432
|
-
*/
|
1433
|
-
|
1434
|
-
this.showDefaultTimeLabel = true;
|
1435
|
-
/**
|
1436
|
-
* If `cover`, the `ion-datetime` will expand to cover the full width of its container.
|
1437
|
-
* If `fixed`, the `ion-datetime` will have a fixed width.
|
1438
|
-
*/
|
1439
|
-
|
1440
|
-
this.size = 'fixed';
|
1441
|
-
|
1442
|
-
this.closeParentOverlay = () => {
|
1443
|
-
const popoverOrModal = this.el.closest('ion-modal, ion-popover');
|
1444
|
-
|
1445
|
-
if (popoverOrModal) {
|
1446
|
-
popoverOrModal.dismiss();
|
1447
|
-
}
|
1448
|
-
};
|
1449
|
-
|
1450
|
-
this.setWorkingParts = parts => {
|
1451
|
-
this.workingParts = Object.assign({}, parts);
|
1452
|
-
};
|
1453
|
-
|
1454
|
-
this.setActiveParts = parts => {
|
1455
|
-
this.activeParts = Object.assign({}, parts);
|
1456
|
-
const hasSlottedButtons = this.el.querySelector('[slot="buttons"]') !== null;
|
1457
|
-
|
1458
|
-
if (hasSlottedButtons || this.showDefaultButtons) {
|
1459
|
-
return;
|
1460
|
-
}
|
1461
|
-
|
1462
|
-
this.confirm();
|
1463
|
-
};
|
1464
|
-
/**
|
1465
|
-
* Stencil sometimes sets calendarBodyRef to null on rerender, even though
|
1466
|
-
* the element is present. Query for it manually as a fallback.
|
1467
|
-
*
|
1468
|
-
* TODO(FW-901) Remove when issue is resolved: https://github.com/ionic-team/stencil/issues/3253
|
1469
|
-
*/
|
1470
|
-
|
1471
|
-
|
1472
|
-
this.getCalendarBodyEl = () => {
|
1473
|
-
var _a;
|
1474
|
-
|
1475
|
-
return this.calendarBodyRef || ((_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.calendar-body'));
|
1476
|
-
};
|
1477
|
-
|
1478
|
-
this.initializeKeyboardListeners = () => {
|
1479
|
-
const calendarBodyRef = this.getCalendarBodyEl();
|
1480
|
-
|
1481
|
-
if (!calendarBodyRef) {
|
1482
|
-
return;
|
1483
|
-
}
|
1484
|
-
|
1485
|
-
const root = this.el.shadowRoot;
|
1486
|
-
/**
|
1487
|
-
* Get a reference to the month
|
1488
|
-
* element we are currently viewing.
|
1489
|
-
*/
|
1490
|
-
|
1491
|
-
const currentMonth = calendarBodyRef.querySelector('.calendar-month:nth-of-type(2)');
|
1492
|
-
/**
|
1493
|
-
* When focusing the calendar body, we want to pass focus
|
1494
|
-
* to the working day, but other days should
|
1495
|
-
* only be accessible using the arrow keys. Pressing
|
1496
|
-
* Tab should jump between bodies of selectable content.
|
1497
|
-
*/
|
1498
|
-
|
1499
|
-
const checkCalendarBodyFocus = ev => {
|
1500
|
-
var _a;
|
1501
|
-
|
1502
|
-
const record = ev[0];
|
1503
|
-
/**
|
1504
|
-
* If calendar body was already focused
|
1505
|
-
* when this fired or if the calendar body
|
1506
|
-
* if not currently focused, we should not re-focus
|
1507
|
-
* the inner day.
|
1508
|
-
*/
|
1509
|
-
|
1510
|
-
if (((_a = record.oldValue) === null || _a === void 0 ? void 0 : _a.includes('ion-focused')) || !calendarBodyRef.classList.contains('ion-focused')) {
|
1511
|
-
return;
|
1512
|
-
}
|
1513
|
-
|
1514
|
-
this.focusWorkingDay(currentMonth);
|
1515
|
-
};
|
1516
|
-
|
1517
|
-
const mo = new MutationObserver(checkCalendarBodyFocus);
|
1518
|
-
mo.observe(calendarBodyRef, {
|
1519
|
-
attributeFilter: ['class'],
|
1520
|
-
attributeOldValue: true
|
1521
|
-
});
|
1522
|
-
|
1523
|
-
this.destroyKeyboardMO = () => {
|
1524
|
-
mo === null || mo === void 0 ? void 0 : mo.disconnect();
|
1525
|
-
};
|
1526
|
-
/**
|
1527
|
-
* We must use keydown not keyup as we want
|
1528
|
-
* to prevent scrolling when using the arrow keys.
|
1529
|
-
*/
|
1530
|
-
|
1531
|
-
|
1532
|
-
calendarBodyRef.addEventListener('keydown', ev => {
|
1533
|
-
const activeElement = root.activeElement;
|
1534
|
-
|
1535
|
-
if (!activeElement || !activeElement.classList.contains('calendar-day')) {
|
1536
|
-
return;
|
1537
|
-
}
|
1538
|
-
|
1539
|
-
const parts = getPartsFromCalendarDay(activeElement);
|
1540
|
-
let partsToFocus;
|
1541
|
-
|
1542
|
-
switch (ev.key) {
|
1543
|
-
case 'ArrowDown':
|
1544
|
-
ev.preventDefault();
|
1545
|
-
partsToFocus = getNextWeek(parts);
|
1546
|
-
break;
|
1547
|
-
|
1548
|
-
case 'ArrowUp':
|
1549
|
-
ev.preventDefault();
|
1550
|
-
partsToFocus = getPreviousWeek(parts);
|
1551
|
-
break;
|
1552
|
-
|
1553
|
-
case 'ArrowRight':
|
1554
|
-
ev.preventDefault();
|
1555
|
-
partsToFocus = getNextDay(parts);
|
1556
|
-
break;
|
1557
|
-
|
1558
|
-
case 'ArrowLeft':
|
1559
|
-
ev.preventDefault();
|
1560
|
-
partsToFocus = getPreviousDay(parts);
|
1561
|
-
break;
|
1562
|
-
|
1563
|
-
case 'Home':
|
1564
|
-
ev.preventDefault();
|
1565
|
-
partsToFocus = getStartOfWeek(parts);
|
1566
|
-
break;
|
1567
|
-
|
1568
|
-
case 'End':
|
1569
|
-
ev.preventDefault();
|
1570
|
-
partsToFocus = getEndOfWeek(parts);
|
1571
|
-
break;
|
1572
|
-
|
1573
|
-
case 'PageUp':
|
1574
|
-
ev.preventDefault();
|
1575
|
-
partsToFocus = ev.shiftKey ? getPreviousYear(parts) : getPreviousMonth(parts);
|
1576
|
-
break;
|
1577
|
-
|
1578
|
-
case 'PageDown':
|
1579
|
-
ev.preventDefault();
|
1580
|
-
partsToFocus = ev.shiftKey ? getNextYear(parts) : getNextMonth(parts);
|
1581
|
-
break;
|
1582
|
-
|
1583
|
-
/**
|
1584
|
-
* Do not preventDefault here
|
1585
|
-
* as we do not want to override other
|
1586
|
-
* browser defaults such as pressing Enter/Space
|
1587
|
-
* to select a day.
|
1588
|
-
*/
|
1589
|
-
|
1590
|
-
default:
|
1591
|
-
return;
|
1592
|
-
}
|
1593
|
-
/**
|
1594
|
-
* If the day we want to move focus to is
|
1595
|
-
* disabled, do not do anything.
|
1596
|
-
*/
|
1597
|
-
|
1598
|
-
|
1599
|
-
if (isDayDisabled(partsToFocus, this.minParts, this.maxParts)) {
|
1600
|
-
return;
|
1601
|
-
}
|
1602
|
-
|
1603
|
-
this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), partsToFocus));
|
1604
|
-
/**
|
1605
|
-
* Give view a chance to re-render
|
1606
|
-
* then move focus to the new working day
|
1607
|
-
*/
|
1608
|
-
|
1609
|
-
requestAnimationFrame(() => this.focusWorkingDay(currentMonth));
|
1610
|
-
});
|
1611
|
-
};
|
1612
|
-
|
1613
|
-
this.focusWorkingDay = currentMonth => {
|
1614
|
-
/**
|
1615
|
-
* Get the number of padding days so
|
1616
|
-
* we know how much to offset our next selector by
|
1617
|
-
* to grab the correct calenday-day element.
|
1618
|
-
*/
|
1619
|
-
const padding = currentMonth.querySelectorAll('.calendar-day-padding');
|
1620
|
-
const {
|
1621
|
-
day
|
1622
|
-
} = this.workingParts;
|
1623
|
-
|
1624
|
-
if (day === null) {
|
1625
|
-
return;
|
1626
|
-
}
|
1627
|
-
/**
|
1628
|
-
* Get the calendar day element
|
1629
|
-
* and focus it.
|
1630
|
-
*/
|
1631
|
-
|
1632
|
-
|
1633
|
-
const dayEl = currentMonth.querySelector(`.calendar-day:nth-of-type(${padding.length + day})`);
|
1634
|
-
|
1635
|
-
if (dayEl) {
|
1636
|
-
dayEl.focus();
|
1637
|
-
}
|
1638
|
-
};
|
1639
|
-
|
1640
|
-
this.processMinParts = () => {
|
1641
|
-
if (this.min === undefined) {
|
1642
|
-
this.minParts = undefined;
|
1643
|
-
return;
|
1644
|
-
}
|
1645
|
-
|
1646
|
-
const {
|
1647
|
-
month,
|
1648
|
-
day,
|
1649
|
-
year,
|
1650
|
-
hour,
|
1651
|
-
minute
|
1652
|
-
} = parseDate(this.min);
|
1653
|
-
this.minParts = {
|
1654
|
-
month,
|
1655
|
-
day,
|
1656
|
-
year,
|
1657
|
-
hour,
|
1658
|
-
minute
|
1659
|
-
};
|
1660
|
-
};
|
1661
|
-
|
1662
|
-
this.processMaxParts = () => {
|
1663
|
-
if (this.max === undefined) {
|
1664
|
-
this.maxParts = undefined;
|
1665
|
-
return;
|
1666
|
-
}
|
1667
|
-
|
1668
|
-
const {
|
1669
|
-
month,
|
1670
|
-
day,
|
1671
|
-
year,
|
1672
|
-
hour,
|
1673
|
-
minute
|
1674
|
-
} = parseDate(this.max);
|
1675
|
-
this.maxParts = {
|
1676
|
-
month,
|
1677
|
-
day,
|
1678
|
-
year,
|
1679
|
-
hour,
|
1680
|
-
minute
|
1681
|
-
};
|
1682
|
-
};
|
1683
|
-
|
1684
|
-
this.initializeCalendarIOListeners = () => {
|
1685
|
-
const calendarBodyRef = this.getCalendarBodyEl();
|
1686
|
-
|
1687
|
-
if (!calendarBodyRef) {
|
1688
|
-
return;
|
1689
|
-
}
|
1690
|
-
|
1691
|
-
const mode = (0,_ionic_global_00475c3a_js__WEBPACK_IMPORTED_MODULE_3__.b)(this);
|
1692
|
-
/**
|
1693
|
-
* For performance reasons, we only render 3
|
1694
|
-
* months at a time: The current month, the previous
|
1695
|
-
* month, and the next month. We have IntersectionObservers
|
1696
|
-
* on the previous and next month elements to append/prepend
|
1697
|
-
* new months.
|
1698
|
-
*
|
1699
|
-
* We can do this because Stencil is smart enough to not
|
1700
|
-
* re-create the .calendar-month containers, but rather
|
1701
|
-
* update the content within those containers.
|
1702
|
-
*
|
1703
|
-
* As an added bonus, WebKit has some troubles with
|
1704
|
-
* scroll-snap-stop: always, so not rendering all of
|
1705
|
-
* the months in a row allows us to mostly sidestep
|
1706
|
-
* that issue.
|
1707
|
-
*/
|
1708
|
-
|
1709
|
-
const months = calendarBodyRef.querySelectorAll('.calendar-month');
|
1710
|
-
const startMonth = months[0];
|
1711
|
-
const workingMonth = months[1];
|
1712
|
-
const endMonth = months[2];
|
1713
|
-
/**
|
1714
|
-
* Before setting up the IntersectionObserver,
|
1715
|
-
* scroll the middle month into view.
|
1716
|
-
* scrollIntoView() will scroll entire page
|
1717
|
-
* if element is not in viewport. Use scrollLeft instead.
|
1718
|
-
*/
|
1719
|
-
|
1720
|
-
let endIO;
|
1721
|
-
let startIO;
|
1722
|
-
(0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.c)(() => {
|
1723
|
-
calendarBodyRef.scrollLeft = startMonth.clientWidth * ((0,_dir_e8b767a8_js__WEBPACK_IMPORTED_MODULE_7__.i)(this.el) ? -1 : 1);
|
1724
|
-
|
1725
|
-
const ioCallback = (callbackType, entries) => {
|
1726
|
-
const refIO = callbackType === 'start' ? startIO : endIO;
|
1727
|
-
const refMonth = callbackType === 'start' ? startMonth : endMonth;
|
1728
|
-
const refMonthFn = callbackType === 'start' ? getPreviousMonth : getNextMonth;
|
1729
|
-
/**
|
1730
|
-
* If the month is not fully in view, do not do anything
|
1731
|
-
*/
|
1732
|
-
|
1733
|
-
const ev = entries[0];
|
1734
|
-
|
1735
|
-
if (!ev.isIntersecting) {
|
1736
|
-
return;
|
1737
|
-
}
|
1738
|
-
/**
|
1739
|
-
* When presenting an inline overlay,
|
1740
|
-
* subsequent presentations will cause
|
1741
|
-
* the IO to fire again (since the overlay
|
1742
|
-
* is now visible and therefore the calendar
|
1743
|
-
* months are intersecting).
|
1744
|
-
*/
|
1745
|
-
|
1746
|
-
|
1747
|
-
if (this.overlayIsPresenting) {
|
1748
|
-
this.overlayIsPresenting = false;
|
1749
|
-
return;
|
1750
|
-
}
|
1751
|
-
|
1752
|
-
const {
|
1753
|
-
month,
|
1754
|
-
year,
|
1755
|
-
day
|
1756
|
-
} = refMonthFn(this.workingParts);
|
1757
|
-
|
1758
|
-
if (isMonthDisabled({
|
1759
|
-
month,
|
1760
|
-
year,
|
1761
|
-
day: null
|
1762
|
-
}, {
|
1763
|
-
minParts: Object.assign(Object.assign({}, this.minParts), {
|
1764
|
-
day: null
|
1765
|
-
}),
|
1766
|
-
maxParts: Object.assign(Object.assign({}, this.maxParts), {
|
1767
|
-
day: null
|
1768
|
-
})
|
1769
|
-
})) {
|
1770
|
-
return;
|
1771
|
-
}
|
1772
|
-
/**
|
1773
|
-
* On iOS, we need to set pointer-events: none
|
1774
|
-
* when the user is almost done with the gesture
|
1775
|
-
* so that they cannot quickly swipe while
|
1776
|
-
* the scrollable container is snapping.
|
1777
|
-
* Updating the container while snapping
|
1778
|
-
* causes WebKit to snap incorrectly.
|
1779
|
-
*/
|
1780
|
-
|
1781
|
-
|
1782
|
-
if (mode === 'ios') {
|
1783
|
-
const ratio = ev.intersectionRatio; // `maxTouchPoints` will be 1 in device preview, but > 1 on device
|
1784
|
-
|
1785
|
-
const shouldDisable = Math.abs(ratio - 0.7) <= 0.1 && navigator.maxTouchPoints > 1;
|
1786
|
-
|
1787
|
-
if (shouldDisable) {
|
1788
|
-
calendarBodyRef.style.setProperty('pointer-events', 'none');
|
1789
|
-
return;
|
1790
|
-
}
|
1791
|
-
}
|
1792
|
-
/**
|
1793
|
-
* Prevent scrolling for other browsers
|
1794
|
-
* to give the DOM time to update and the container
|
1795
|
-
* time to properly snap.
|
1796
|
-
*/
|
1797
|
-
|
1798
|
-
|
1799
|
-
calendarBodyRef.style.setProperty('overflow', 'hidden');
|
1800
|
-
/**
|
1801
|
-
* Remove the IO temporarily
|
1802
|
-
* otherwise you can sometimes get duplicate
|
1803
|
-
* events when rubber banding.
|
1804
|
-
*/
|
1805
|
-
|
1806
|
-
if (refIO === undefined) {
|
1807
|
-
return;
|
1808
|
-
}
|
1809
|
-
|
1810
|
-
refIO.disconnect();
|
1811
|
-
/**
|
1812
|
-
* Use a writeTask here to ensure
|
1813
|
-
* that the state is updated and the
|
1814
|
-
* correct month is scrolled into view
|
1815
|
-
* in the same frame. This is not
|
1816
|
-
* typically a problem on newer devices
|
1817
|
-
* but older/slower device may have a flicker
|
1818
|
-
* if we did not do this.
|
1819
|
-
*/
|
1820
|
-
|
1821
|
-
(0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.c)(() => {
|
1822
|
-
// Disconnect all active intersection observers
|
1823
|
-
// to avoid a re-render causing a duplicate event.
|
1824
|
-
if (this.destroyCalendarIO) {
|
1825
|
-
this.destroyCalendarIO();
|
1826
|
-
}
|
1827
|
-
|
1828
|
-
(0,_helpers_4d272360_js__WEBPACK_IMPORTED_MODULE_5__.r)(() => {
|
1829
|
-
this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), {
|
1830
|
-
month,
|
1831
|
-
day: day,
|
1832
|
-
year
|
1833
|
-
}));
|
1834
|
-
calendarBodyRef.scrollLeft = workingMonth.clientWidth * ((0,_dir_e8b767a8_js__WEBPACK_IMPORTED_MODULE_7__.i)(this.el) ? -1 : 1);
|
1835
|
-
calendarBodyRef.style.removeProperty('overflow');
|
1836
|
-
calendarBodyRef.style.removeProperty('pointer-events');
|
1837
|
-
endIO === null || endIO === void 0 ? void 0 : endIO.observe(endMonth);
|
1838
|
-
startIO === null || startIO === void 0 ? void 0 : startIO.observe(startMonth);
|
1839
|
-
});
|
1840
|
-
/**
|
1841
|
-
* Now that state has been updated
|
1842
|
-
* and the correct month is in view,
|
1843
|
-
* we can resume the IO.
|
1844
|
-
*/
|
1845
|
-
|
1846
|
-
if (refIO === undefined) {
|
1847
|
-
return;
|
1848
|
-
}
|
1849
|
-
|
1850
|
-
refIO.observe(refMonth);
|
1851
|
-
});
|
1852
|
-
};
|
1853
|
-
|
1854
|
-
const threshold = mode === 'ios' && typeof navigator !== 'undefined' && navigator.maxTouchPoints > 1 ? [0.7, 1] : 1; // Intersection observers cannot accurately detect the
|
1855
|
-
// intersection with a threshold of 1, when the observed
|
1856
|
-
// element width is a sub-pixel value (i.e. 334.05px).
|
1857
|
-
// Setting a root margin to 1px solves the issue.
|
1858
|
-
|
1859
|
-
const rootMargin = '1px';
|
1860
|
-
/**
|
1861
|
-
* Listen on the first month to
|
1862
|
-
* prepend a new month and on the last
|
1863
|
-
* month to append a new month.
|
1864
|
-
* The 0.7 threshold is required on ios
|
1865
|
-
* so that we can remove pointer-events
|
1866
|
-
* when adding new months.
|
1867
|
-
* Adding to a scroll snapping container
|
1868
|
-
* while the container is snapping does not
|
1869
|
-
* completely work as expected in WebKit.
|
1870
|
-
* Adding pointer-events: none allows us to
|
1871
|
-
* avoid these issues.
|
1872
|
-
*
|
1873
|
-
* This should be fine on Chromium, but
|
1874
|
-
* when you set pointer-events: none
|
1875
|
-
* it applies to active gestures which is not
|
1876
|
-
* something WebKit does.
|
1877
|
-
*/
|
1878
|
-
|
1879
|
-
endIO = new IntersectionObserver(ev => ioCallback('end', ev), {
|
1880
|
-
threshold,
|
1881
|
-
root: calendarBodyRef,
|
1882
|
-
rootMargin
|
1883
|
-
});
|
1884
|
-
endIO.observe(endMonth);
|
1885
|
-
startIO = new IntersectionObserver(ev => ioCallback('start', ev), {
|
1886
|
-
threshold,
|
1887
|
-
root: calendarBodyRef,
|
1888
|
-
rootMargin
|
1889
|
-
});
|
1890
|
-
startIO.observe(startMonth);
|
1891
|
-
|
1892
|
-
this.destroyCalendarIO = () => {
|
1893
|
-
endIO === null || endIO === void 0 ? void 0 : endIO.disconnect();
|
1894
|
-
startIO === null || startIO === void 0 ? void 0 : startIO.disconnect();
|
1895
|
-
};
|
1896
|
-
});
|
1897
|
-
};
|
1898
|
-
/**
|
1899
|
-
* Clean up all listeners except for the overlay
|
1900
|
-
* listener. This is so that we can re-create the listeners
|
1901
|
-
* if the datetime has been hidden/presented by a modal or popover.
|
1902
|
-
*/
|
1903
|
-
|
1904
|
-
|
1905
|
-
this.destroyInteractionListeners = () => {
|
1906
|
-
const {
|
1907
|
-
destroyCalendarIO,
|
1908
|
-
destroyKeyboardMO
|
1909
|
-
} = this;
|
1910
|
-
|
1911
|
-
if (destroyCalendarIO !== undefined) {
|
1912
|
-
destroyCalendarIO();
|
1913
|
-
}
|
1914
|
-
|
1915
|
-
if (destroyKeyboardMO !== undefined) {
|
1916
|
-
destroyKeyboardMO();
|
1917
|
-
}
|
1918
|
-
};
|
1919
|
-
/**
|
1920
|
-
* When doing subsequent presentations of an inline
|
1921
|
-
* overlay, the IO callback will fire again causing
|
1922
|
-
* the calendar to go back one month. We need to listen
|
1923
|
-
* for the presentation of the overlay so we can properly
|
1924
|
-
* cancel that IO callback.
|
1925
|
-
*/
|
1926
|
-
|
1927
|
-
|
1928
|
-
this.initializeOverlayListener = () => {
|
1929
|
-
const overlay = this.el.closest('ion-popover, ion-modal');
|
1930
|
-
|
1931
|
-
if (overlay === null) {
|
1932
|
-
return;
|
1933
|
-
}
|
1934
|
-
|
1935
|
-
const overlayListener = () => {
|
1936
|
-
this.overlayIsPresenting = true;
|
1937
|
-
};
|
1938
|
-
|
1939
|
-
overlay.addEventListener('willPresent', overlayListener);
|
1940
|
-
|
1941
|
-
this.destroyOverlayListener = () => {
|
1942
|
-
overlay.removeEventListener('willPresent', overlayListener);
|
1943
|
-
};
|
1944
|
-
};
|
1945
|
-
|
1946
|
-
this.processValue = value => {
|
1947
|
-
this.highlightActiveParts = !!value;
|
1948
|
-
const valueToProcess = parseDate(value || getToday());
|
1949
|
-
const {
|
1950
|
-
minParts,
|
1951
|
-
maxParts
|
1952
|
-
} = this;
|
1953
|
-
warnIfValueOutOfBounds(valueToProcess, minParts, maxParts);
|
1954
|
-
const {
|
1955
|
-
month,
|
1956
|
-
day,
|
1957
|
-
year,
|
1958
|
-
hour,
|
1959
|
-
minute,
|
1960
|
-
tzOffset
|
1961
|
-
} = clampDate(valueToProcess, minParts, maxParts);
|
1962
|
-
this.setWorkingParts({
|
1963
|
-
month,
|
1964
|
-
day,
|
1965
|
-
year,
|
1966
|
-
hour,
|
1967
|
-
minute,
|
1968
|
-
tzOffset,
|
1969
|
-
ampm: hour >= 12 ? 'pm' : 'am'
|
1970
|
-
});
|
1971
|
-
this.activeParts = {
|
1972
|
-
month,
|
1973
|
-
day,
|
1974
|
-
year,
|
1975
|
-
hour,
|
1976
|
-
minute,
|
1977
|
-
tzOffset,
|
1978
|
-
ampm: hour >= 12 ? 'pm' : 'am'
|
1979
|
-
};
|
1980
|
-
};
|
1981
|
-
|
1982
|
-
this.onFocus = () => {
|
1983
|
-
this.ionFocus.emit();
|
1984
|
-
};
|
1985
|
-
|
1986
|
-
this.onBlur = () => {
|
1987
|
-
this.ionBlur.emit();
|
1988
|
-
};
|
1989
|
-
|
1990
|
-
this.hasValue = () => {
|
1991
|
-
return this.value != null && this.value !== '';
|
1992
|
-
};
|
1993
|
-
|
1994
|
-
this.nextMonth = () => {
|
1995
|
-
const calendarBodyRef = this.getCalendarBodyEl();
|
1996
|
-
|
1997
|
-
if (!calendarBodyRef) {
|
1998
|
-
return;
|
1999
|
-
}
|
2000
|
-
|
2001
|
-
const nextMonth = calendarBodyRef.querySelector('.calendar-month:last-of-type');
|
2002
|
-
|
2003
|
-
if (!nextMonth) {
|
2004
|
-
return;
|
2005
|
-
}
|
2006
|
-
|
2007
|
-
const left = nextMonth.offsetWidth * 2;
|
2008
|
-
calendarBodyRef.scrollTo({
|
2009
|
-
top: 0,
|
2010
|
-
left: left * ((0,_dir_e8b767a8_js__WEBPACK_IMPORTED_MODULE_7__.i)(this.el) ? -1 : 1),
|
2011
|
-
behavior: 'smooth'
|
2012
|
-
});
|
2013
|
-
};
|
2014
|
-
|
2015
|
-
this.prevMonth = () => {
|
2016
|
-
const calendarBodyRef = this.getCalendarBodyEl();
|
2017
|
-
|
2018
|
-
if (!calendarBodyRef) {
|
2019
|
-
return;
|
2020
|
-
}
|
2021
|
-
|
2022
|
-
const prevMonth = calendarBodyRef.querySelector('.calendar-month:first-of-type');
|
2023
|
-
|
2024
|
-
if (!prevMonth) {
|
2025
|
-
return;
|
2026
|
-
}
|
2027
|
-
|
2028
|
-
calendarBodyRef.scrollTo({
|
2029
|
-
top: 0,
|
2030
|
-
left: 0,
|
2031
|
-
behavior: 'smooth'
|
2032
|
-
});
|
2033
|
-
};
|
2034
|
-
|
2035
|
-
this.toggleMonthAndYearView = () => {
|
2036
|
-
this.showMonthAndYear = !this.showMonthAndYear;
|
2037
|
-
};
|
2038
|
-
}
|
2039
|
-
|
2040
|
-
disabledChanged() {
|
2041
|
-
this.emitStyle();
|
2042
|
-
}
|
2043
|
-
|
2044
|
-
minChanged() {
|
2045
|
-
this.processMinParts();
|
2046
|
-
}
|
2047
|
-
|
2048
|
-
maxChanged() {
|
2049
|
-
this.processMaxParts();
|
2050
|
-
}
|
2051
|
-
|
2052
|
-
yearValuesChanged() {
|
2053
|
-
this.parsedYearValues = convertToArrayOfNumbers(this.yearValues);
|
2054
|
-
}
|
2055
|
-
|
2056
|
-
monthValuesChanged() {
|
2057
|
-
this.parsedMonthValues = convertToArrayOfNumbers(this.monthValues);
|
2058
|
-
}
|
2059
|
-
|
2060
|
-
dayValuesChanged() {
|
2061
|
-
this.parsedDayValues = convertToArrayOfNumbers(this.dayValues);
|
2062
|
-
}
|
2063
|
-
|
2064
|
-
hourValuesChanged() {
|
2065
|
-
this.parsedHourValues = convertToArrayOfNumbers(this.hourValues);
|
2066
|
-
}
|
2067
|
-
|
2068
|
-
minuteValuesChanged() {
|
2069
|
-
this.parsedMinuteValues = convertToArrayOfNumbers(this.minuteValues);
|
2070
|
-
}
|
2071
|
-
|
2072
|
-
activePartsChanged() {
|
2073
|
-
this.activePartsClone = this.activeParts;
|
2074
|
-
}
|
2075
|
-
/**
|
2076
|
-
* Update the datetime value when the value changes
|
2077
|
-
*/
|
2078
|
-
|
2079
|
-
|
2080
|
-
valueChanged() {
|
2081
|
-
if (this.hasValue()) {
|
2082
|
-
/**
|
2083
|
-
* Clones the value of the `activeParts` to the private clone, to update
|
2084
|
-
* the date display on the current render cycle without causing another render.
|
2085
|
-
*
|
2086
|
-
* This allows us to update the current value's date/time display without
|
2087
|
-
* refocusing or shifting the user's display (leaves the user in place).
|
2088
|
-
*/
|
2089
|
-
const valueDateParts = parseDate(this.value);
|
2090
|
-
|
2091
|
-
if (valueDateParts) {
|
2092
|
-
warnIfValueOutOfBounds(valueDateParts, this.minParts, this.maxParts);
|
2093
|
-
const {
|
2094
|
-
month,
|
2095
|
-
day,
|
2096
|
-
year,
|
2097
|
-
hour,
|
2098
|
-
minute
|
2099
|
-
} = valueDateParts;
|
2100
|
-
const ampm = hour >= 12 ? 'pm' : 'am';
|
2101
|
-
this.activePartsClone = Object.assign(Object.assign({}, this.activeParts), {
|
2102
|
-
month,
|
2103
|
-
day,
|
2104
|
-
year,
|
2105
|
-
hour,
|
2106
|
-
minute,
|
2107
|
-
ampm
|
2108
|
-
});
|
2109
|
-
/**
|
2110
|
-
* The working parts am/pm value must be updated when the value changes, to
|
2111
|
-
* ensure the time picker hour column values are generated correctly.
|
2112
|
-
*/
|
2113
|
-
|
2114
|
-
this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), {
|
2115
|
-
ampm
|
2116
|
-
}));
|
2117
|
-
} else {
|
2118
|
-
(0,_index_9ac92660_js__WEBPACK_IMPORTED_MODULE_6__.p)(`Unable to parse date string: ${this.value}. Please provide a valid ISO 8601 datetime string.`);
|
2119
|
-
}
|
2120
|
-
}
|
2121
|
-
|
2122
|
-
this.emitStyle();
|
2123
|
-
this.ionChange.emit({
|
2124
|
-
value: this.value
|
2125
|
-
});
|
2126
|
-
}
|
2127
|
-
/**
|
2128
|
-
* Confirms the selected datetime value, updates the
|
2129
|
-
* `value` property, and optionally closes the popover
|
2130
|
-
* or modal that the datetime was presented in.
|
2131
|
-
*/
|
2132
|
-
|
2133
|
-
|
2134
|
-
confirm(closeOverlay = false) {
|
2135
|
-
var _this = this;
|
2136
|
-
|
2137
|
-
return (0,D_callkit_sample_sample_test_ionic_sample_test_ionic_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
|
2138
|
-
/**
|
2139
|
-
* We only update the value if the presentation is not a calendar picker,
|
2140
|
-
* or if `highlightActiveParts` is true; indicating that the user
|
2141
|
-
* has selected a date from the calendar picker.
|
2142
|
-
*
|
2143
|
-
* Otherwise "today" would accidentally be set as the value.
|
2144
|
-
*/
|
2145
|
-
if (_this.highlightActiveParts || !_this.isCalendarPicker) {
|
2146
|
-
/**
|
2147
|
-
* Prevent convertDataToISO from doing any
|
2148
|
-
* kind of transformation based on timezone
|
2149
|
-
* This cancels out any change it attempts to make
|
2150
|
-
*
|
2151
|
-
* Important: Take the timezone offset based on
|
2152
|
-
* the date that is currently selected, otherwise
|
2153
|
-
* there can be 1 hr difference when dealing w/ DST
|
2154
|
-
*/
|
2155
|
-
const date = new Date(convertDataToISO(_this.activeParts));
|
2156
|
-
_this.activeParts.tzOffset = date.getTimezoneOffset() * -1;
|
2157
|
-
_this.value = convertDataToISO(_this.activeParts);
|
2158
|
-
}
|
2159
|
-
|
2160
|
-
if (closeOverlay) {
|
2161
|
-
_this.closeParentOverlay();
|
2162
|
-
}
|
2163
|
-
})();
|
2164
|
-
}
|
2165
|
-
/**
|
2166
|
-
* Resets the internal state of the datetime but does not update the value.
|
2167
|
-
* Passing a valid ISO-8601 string will reset the state of the component to the provided date.
|
2168
|
-
* If no value is provided, the internal state will be reset to the clamped value of the min, max and today.
|
2169
|
-
*/
|
2170
|
-
|
2171
|
-
|
2172
|
-
reset(startDate) {
|
2173
|
-
var _this2 = this;
|
2174
|
-
|
2175
|
-
return (0,D_callkit_sample_sample_test_ionic_sample_test_ionic_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
|
2176
|
-
_this2.processValue(startDate);
|
2177
|
-
})();
|
2178
|
-
}
|
2179
|
-
/**
|
2180
|
-
* Emits the ionCancel event and
|
2181
|
-
* optionally closes the popover
|
2182
|
-
* or modal that the datetime was
|
2183
|
-
* presented in.
|
2184
|
-
*/
|
2185
|
-
|
2186
|
-
|
2187
|
-
cancel(closeOverlay = false) {
|
2188
|
-
var _this3 = this;
|
2189
|
-
|
2190
|
-
return (0,D_callkit_sample_sample_test_ionic_sample_test_ionic_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
|
2191
|
-
_this3.ionCancel.emit();
|
2192
|
-
|
2193
|
-
if (closeOverlay) {
|
2194
|
-
_this3.closeParentOverlay();
|
2195
|
-
}
|
2196
|
-
})();
|
2197
|
-
}
|
2198
|
-
|
2199
|
-
get isCalendarPicker() {
|
2200
|
-
const {
|
2201
|
-
presentation
|
2202
|
-
} = this;
|
2203
|
-
return presentation === 'date' || presentation === 'date-time' || presentation === 'time-date';
|
2204
|
-
}
|
2205
|
-
|
2206
|
-
connectedCallback() {
|
2207
|
-
this.clearFocusVisible = (0,_focus_visible_5ad6825d_js__WEBPACK_IMPORTED_MODULE_4__.startFocusVisible)(this.el).destroy;
|
2208
|
-
}
|
2209
|
-
|
2210
|
-
disconnectedCallback() {
|
2211
|
-
if (this.clearFocusVisible) {
|
2212
|
-
this.clearFocusVisible();
|
2213
|
-
this.clearFocusVisible = undefined;
|
2214
|
-
}
|
2215
|
-
}
|
2216
|
-
|
2217
|
-
initializeListeners() {
|
2218
|
-
this.initializeCalendarIOListeners();
|
2219
|
-
this.initializeKeyboardListeners();
|
2220
|
-
this.initializeOverlayListener();
|
2221
|
-
}
|
2222
|
-
|
2223
|
-
componentDidLoad() {
|
2224
|
-
/**
|
2225
|
-
* If a scrollable element is hidden using `display: none`,
|
2226
|
-
* it will not have a scroll height meaning we cannot scroll elements
|
2227
|
-
* into view. As a result, we will need to wait for the datetime to become
|
2228
|
-
* visible if used inside of a modal or a popover otherwise the scrollable
|
2229
|
-
* areas will not have the correct values snapped into place.
|
2230
|
-
*/
|
2231
|
-
const visibleCallback = entries => {
|
2232
|
-
const ev = entries[0];
|
2233
|
-
|
2234
|
-
if (!ev.isIntersecting) {
|
2235
|
-
return;
|
2236
|
-
}
|
2237
|
-
|
2238
|
-
this.initializeListeners();
|
2239
|
-
/**
|
2240
|
-
* TODO: Datetime needs a frame to ensure that it
|
2241
|
-
* can properly scroll contents into view. As a result
|
2242
|
-
* we hide the scrollable content until after that frame
|
2243
|
-
* so users do not see the content quickly shifting. The downside
|
2244
|
-
* is that the content will pop into view a frame after. Maybe there
|
2245
|
-
* is a better way to handle this?
|
2246
|
-
*/
|
2247
|
-
|
2248
|
-
(0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.c)(() => {
|
2249
|
-
this.el.classList.add('datetime-ready');
|
2250
|
-
});
|
2251
|
-
};
|
2252
|
-
|
2253
|
-
const visibleIO = new IntersectionObserver(visibleCallback, {
|
2254
|
-
threshold: 0.01
|
2255
|
-
});
|
2256
|
-
/**
|
2257
|
-
* Use raf to avoid a race condition between the component loading and
|
2258
|
-
* its display animation starting (such as when shown in a modal). This
|
2259
|
-
* could cause the datetime to start at a visibility of 0, erroneously
|
2260
|
-
* triggering the `hiddenIO` observer below.
|
2261
|
-
*/
|
2262
|
-
|
2263
|
-
(0,_helpers_4d272360_js__WEBPACK_IMPORTED_MODULE_5__.r)(() => visibleIO === null || visibleIO === void 0 ? void 0 : visibleIO.observe(this.el));
|
2264
|
-
/**
|
2265
|
-
* We need to clean up listeners when the datetime is hidden
|
2266
|
-
* in a popover/modal so that we can properly scroll containers
|
2267
|
-
* back into view if they are re-presented. When the datetime is hidden
|
2268
|
-
* the scroll areas have scroll widths/heights of 0px, so any snapping
|
2269
|
-
* we did originally has been lost.
|
2270
|
-
*/
|
2271
|
-
|
2272
|
-
const hiddenCallback = entries => {
|
2273
|
-
const ev = entries[0];
|
2274
|
-
|
2275
|
-
if (ev.isIntersecting) {
|
2276
|
-
return;
|
2277
|
-
}
|
2278
|
-
|
2279
|
-
this.destroyInteractionListeners();
|
2280
|
-
(0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.c)(() => {
|
2281
|
-
this.el.classList.remove('datetime-ready');
|
2282
|
-
});
|
2283
|
-
};
|
2284
|
-
|
2285
|
-
const hiddenIO = new IntersectionObserver(hiddenCallback, {
|
2286
|
-
threshold: 0
|
2287
|
-
});
|
2288
|
-
(0,_helpers_4d272360_js__WEBPACK_IMPORTED_MODULE_5__.r)(() => hiddenIO === null || hiddenIO === void 0 ? void 0 : hiddenIO.observe(this.el));
|
2289
|
-
/**
|
2290
|
-
* Datetime uses Ionic components that emit
|
2291
|
-
* ionFocus and ionBlur. These events are
|
2292
|
-
* composed meaning they will cross
|
2293
|
-
* the shadow dom boundary. We need to
|
2294
|
-
* stop propagation on these events otherwise
|
2295
|
-
* developers will see 2 ionFocus or 2 ionBlur
|
2296
|
-
* events at a time.
|
2297
|
-
*/
|
2298
|
-
|
2299
|
-
const root = (0,_helpers_4d272360_js__WEBPACK_IMPORTED_MODULE_5__.g)(this.el);
|
2300
|
-
root.addEventListener('ionFocus', ev => ev.stopPropagation());
|
2301
|
-
root.addEventListener('ionBlur', ev => ev.stopPropagation());
|
2302
|
-
}
|
2303
|
-
/**
|
2304
|
-
* When the presentation is changed, all calendar content is recreated,
|
2305
|
-
* so we need to re-init behavior with the new elements.
|
2306
|
-
*/
|
2307
|
-
|
2308
|
-
|
2309
|
-
componentDidRender() {
|
2310
|
-
const {
|
2311
|
-
presentation,
|
2312
|
-
prevPresentation
|
2313
|
-
} = this;
|
2314
|
-
|
2315
|
-
if (prevPresentation === null) {
|
2316
|
-
this.prevPresentation = presentation;
|
2317
|
-
return;
|
2318
|
-
}
|
2319
|
-
|
2320
|
-
if (presentation === prevPresentation) {
|
2321
|
-
return;
|
2322
|
-
}
|
2323
|
-
|
2324
|
-
this.prevPresentation = presentation;
|
2325
|
-
this.destroyInteractionListeners();
|
2326
|
-
|
2327
|
-
if (this.destroyOverlayListener !== undefined) {
|
2328
|
-
this.destroyOverlayListener();
|
2329
|
-
}
|
2330
|
-
|
2331
|
-
this.initializeListeners();
|
2332
|
-
}
|
2333
|
-
|
2334
|
-
componentWillLoad() {
|
2335
|
-
this.processMinParts();
|
2336
|
-
this.processMaxParts();
|
2337
|
-
this.processValue(this.value);
|
2338
|
-
this.parsedHourValues = convertToArrayOfNumbers(this.hourValues);
|
2339
|
-
this.parsedMinuteValues = convertToArrayOfNumbers(this.minuteValues);
|
2340
|
-
this.parsedMonthValues = convertToArrayOfNumbers(this.monthValues);
|
2341
|
-
this.parsedYearValues = convertToArrayOfNumbers(this.yearValues);
|
2342
|
-
this.parsedDayValues = convertToArrayOfNumbers(this.dayValues);
|
2343
|
-
this.emitStyle();
|
2344
|
-
}
|
2345
|
-
|
2346
|
-
emitStyle() {
|
2347
|
-
this.ionStyle.emit({
|
2348
|
-
interactive: true,
|
2349
|
-
datetime: true,
|
2350
|
-
'interactive-disabled': this.disabled
|
2351
|
-
});
|
2352
|
-
}
|
2353
|
-
|
2354
|
-
renderFooter() {
|
2355
|
-
const {
|
2356
|
-
showDefaultButtons,
|
2357
|
-
showClearButton
|
2358
|
-
} = this;
|
2359
|
-
const hasSlottedButtons = this.el.querySelector('[slot="buttons"]') !== null;
|
2360
|
-
|
2361
|
-
if (!hasSlottedButtons && !showDefaultButtons && !showClearButton) {
|
2362
|
-
return;
|
2363
|
-
}
|
2364
|
-
|
2365
|
-
const clearButtonClick = () => {
|
2366
|
-
this.reset();
|
2367
|
-
this.value = undefined;
|
2368
|
-
};
|
2369
|
-
/**
|
2370
|
-
* By default we render two buttons:
|
2371
|
-
* Cancel - Dismisses the datetime and
|
2372
|
-
* does not update the `value` prop.
|
2373
|
-
* OK - Dismisses the datetime and
|
2374
|
-
* updates the `value` prop.
|
2375
|
-
*/
|
2376
|
-
|
2377
|
-
|
2378
|
-
return (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2379
|
-
class: "datetime-footer"
|
2380
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2381
|
-
class: "datetime-buttons"
|
2382
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2383
|
-
class: {
|
2384
|
-
['datetime-action-buttons']: true,
|
2385
|
-
['has-clear-button']: this.showClearButton
|
2386
|
-
}
|
2387
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("slot", {
|
2388
|
-
name: "buttons"
|
2389
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-buttons", null, showDefaultButtons && (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-button", {
|
2390
|
-
id: "cancel-button",
|
2391
|
-
color: this.color,
|
2392
|
-
onClick: () => this.cancel(true)
|
2393
|
-
}, this.cancelText), (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", null, showClearButton && (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-button", {
|
2394
|
-
id: "clear-button",
|
2395
|
-
color: this.color,
|
2396
|
-
onClick: () => clearButtonClick()
|
2397
|
-
}, this.clearText), showDefaultButtons && (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-button", {
|
2398
|
-
id: "confirm-button",
|
2399
|
-
color: this.color,
|
2400
|
-
onClick: () => this.confirm(true)
|
2401
|
-
}, this.doneText)))))));
|
2402
|
-
}
|
2403
|
-
|
2404
|
-
renderYearView() {
|
2405
|
-
const {
|
2406
|
-
presentation,
|
2407
|
-
workingParts,
|
2408
|
-
locale
|
2409
|
-
} = this;
|
2410
|
-
const calendarYears = getCalendarYears(this.todayParts, this.minParts, this.maxParts, this.parsedYearValues);
|
2411
|
-
const showMonth = presentation !== 'year';
|
2412
|
-
const showYear = presentation !== 'month';
|
2413
|
-
const months = getPickerMonths(locale, workingParts, this.minParts, this.maxParts, this.parsedMonthValues);
|
2414
|
-
const years = calendarYears.map(year => {
|
2415
|
-
return {
|
2416
|
-
text: `${year}`,
|
2417
|
-
value: year
|
2418
|
-
};
|
2419
|
-
});
|
2420
|
-
const showMonthFirst = isMonthFirstLocale(locale);
|
2421
|
-
const columnOrder = showMonthFirst ? 'month-first' : 'year-first';
|
2422
|
-
return (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2423
|
-
class: "datetime-year"
|
2424
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2425
|
-
class: {
|
2426
|
-
'datetime-year-body': true,
|
2427
|
-
[`order-${columnOrder}`]: true
|
2428
|
-
}
|
2429
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-picker-internal", null, showMonth && (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-picker-column-internal", {
|
2430
|
-
class: "month-column",
|
2431
|
-
color: this.color,
|
2432
|
-
items: months,
|
2433
|
-
value: workingParts.month,
|
2434
|
-
onIonChange: ev => {
|
2435
|
-
// Due to a Safari 14 issue we need to destroy
|
2436
|
-
// the intersection observer before we update state
|
2437
|
-
// and trigger a re-render.
|
2438
|
-
if (this.destroyCalendarIO) {
|
2439
|
-
this.destroyCalendarIO();
|
2440
|
-
}
|
2441
|
-
|
2442
|
-
this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), {
|
2443
|
-
month: ev.detail.value
|
2444
|
-
}));
|
2445
|
-
|
2446
|
-
if (presentation === 'month' || presentation === 'month-year') {
|
2447
|
-
this.setActiveParts(Object.assign(Object.assign({}, this.activeParts), {
|
2448
|
-
month: ev.detail.value
|
2449
|
-
}));
|
2450
|
-
} // We can re-attach the intersection observer after
|
2451
|
-
// the working parts have been updated.
|
2452
|
-
|
2453
|
-
|
2454
|
-
this.initializeCalendarIOListeners();
|
2455
|
-
ev.stopPropagation();
|
2456
|
-
}
|
2457
|
-
}), showYear && (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-picker-column-internal", {
|
2458
|
-
class: "year-column",
|
2459
|
-
color: this.color,
|
2460
|
-
items: years,
|
2461
|
-
value: workingParts.year,
|
2462
|
-
onIonChange: ev => {
|
2463
|
-
// Due to a Safari 14 issue we need to destroy
|
2464
|
-
// the intersection observer before we update state
|
2465
|
-
// and trigger a re-render.
|
2466
|
-
if (this.destroyCalendarIO) {
|
2467
|
-
this.destroyCalendarIO();
|
2468
|
-
}
|
2469
|
-
|
2470
|
-
this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), {
|
2471
|
-
year: ev.detail.value
|
2472
|
-
}));
|
2473
|
-
|
2474
|
-
if (presentation === 'year' || presentation === 'month-year') {
|
2475
|
-
this.setActiveParts(Object.assign(Object.assign({}, this.activeParts), {
|
2476
|
-
year: ev.detail.value
|
2477
|
-
}));
|
2478
|
-
} // We can re-attach the intersection observer after
|
2479
|
-
// the working parts have been updated.
|
2480
|
-
|
2481
|
-
|
2482
|
-
this.initializeCalendarIOListeners();
|
2483
|
-
ev.stopPropagation();
|
2484
|
-
}
|
2485
|
-
}))));
|
2486
|
-
}
|
2487
|
-
|
2488
|
-
renderCalendarHeader(mode) {
|
2489
|
-
const expandedIcon = mode === 'ios' ? _index_d74f4afc_js__WEBPACK_IMPORTED_MODULE_2__.i : _index_d74f4afc_js__WEBPACK_IMPORTED_MODULE_2__.m;
|
2490
|
-
const collapsedIcon = mode === 'ios' ? _index_d74f4afc_js__WEBPACK_IMPORTED_MODULE_2__.l : _index_d74f4afc_js__WEBPACK_IMPORTED_MODULE_2__.n;
|
2491
|
-
const prevMonthDisabled = isPrevMonthDisabled(this.workingParts, this.minParts, this.maxParts);
|
2492
|
-
const nextMonthDisabled = isNextMonthDisabled(this.workingParts, this.maxParts);
|
2493
|
-
return (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2494
|
-
class: "calendar-header"
|
2495
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2496
|
-
class: "calendar-action-buttons"
|
2497
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2498
|
-
class: "calendar-month-year"
|
2499
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-item", {
|
2500
|
-
button: true,
|
2501
|
-
detail: false,
|
2502
|
-
lines: "none",
|
2503
|
-
onClick: () => this.toggleMonthAndYearView()
|
2504
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-label", null, getMonthAndYear(this.locale, this.workingParts), ' ', (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-icon", {
|
2505
|
-
icon: this.showMonthAndYear ? expandedIcon : collapsedIcon,
|
2506
|
-
lazy: false
|
2507
|
-
})))), (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2508
|
-
class: "calendar-next-prev"
|
2509
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-buttons", null, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-button", {
|
2510
|
-
disabled: prevMonthDisabled,
|
2511
|
-
onClick: () => this.prevMonth()
|
2512
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-icon", {
|
2513
|
-
slot: "icon-only",
|
2514
|
-
icon: _index_d74f4afc_js__WEBPACK_IMPORTED_MODULE_2__.c,
|
2515
|
-
lazy: false,
|
2516
|
-
flipRtl: true
|
2517
|
-
})), (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-button", {
|
2518
|
-
disabled: nextMonthDisabled,
|
2519
|
-
onClick: () => this.nextMonth()
|
2520
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-icon", {
|
2521
|
-
slot: "icon-only",
|
2522
|
-
icon: _index_d74f4afc_js__WEBPACK_IMPORTED_MODULE_2__.l,
|
2523
|
-
lazy: false,
|
2524
|
-
flipRtl: true
|
2525
|
-
}))))), (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2526
|
-
class: "calendar-days-of-week"
|
2527
|
-
}, getDaysOfWeek(this.locale, mode, this.firstDayOfWeek % 7).map(d => {
|
2528
|
-
return (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2529
|
-
class: "day-of-week"
|
2530
|
-
}, d);
|
2531
|
-
})));
|
2532
|
-
}
|
2533
|
-
|
2534
|
-
renderMonth(month, year) {
|
2535
|
-
const {
|
2536
|
-
highlightActiveParts
|
2537
|
-
} = this;
|
2538
|
-
const yearAllowed = this.parsedYearValues === undefined || this.parsedYearValues.includes(year);
|
2539
|
-
const monthAllowed = this.parsedMonthValues === undefined || this.parsedMonthValues.includes(month);
|
2540
|
-
const isCalMonthDisabled = !yearAllowed || !monthAllowed;
|
2541
|
-
const swipeDisabled = isMonthDisabled({
|
2542
|
-
month,
|
2543
|
-
year,
|
2544
|
-
day: null
|
2545
|
-
}, {
|
2546
|
-
// The day is not used when checking if a month is disabled.
|
2547
|
-
// Users should be able to access the min or max month, even if the
|
2548
|
-
// min/max date is out of bounds (e.g. min is set to Feb 15, Feb should not be disabled).
|
2549
|
-
minParts: Object.assign(Object.assign({}, this.minParts), {
|
2550
|
-
day: null
|
2551
|
-
}),
|
2552
|
-
maxParts: Object.assign(Object.assign({}, this.maxParts), {
|
2553
|
-
day: null
|
2554
|
-
})
|
2555
|
-
}); // The working month should never have swipe disabled.
|
2556
|
-
// Otherwise the CSS scroll snap will not work and the user
|
2557
|
-
// can free-scroll the calendar.
|
2558
|
-
|
2559
|
-
const isWorkingMonth = this.workingParts.month === month && this.workingParts.year === year;
|
2560
|
-
return (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2561
|
-
class: {
|
2562
|
-
'calendar-month': true,
|
2563
|
-
// Prevents scroll snap swipe gestures for months outside of the min/max bounds
|
2564
|
-
'calendar-month-disabled': !isWorkingMonth && swipeDisabled
|
2565
|
-
}
|
2566
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2567
|
-
class: "calendar-month-grid"
|
2568
|
-
}, getDaysOfMonth(month, year, this.firstDayOfWeek % 7).map((dateObject, index) => {
|
2569
|
-
const {
|
2570
|
-
day,
|
2571
|
-
dayOfWeek
|
2572
|
-
} = dateObject;
|
2573
|
-
const {
|
2574
|
-
isDateEnabled
|
2575
|
-
} = this;
|
2576
|
-
const referenceParts = {
|
2577
|
-
month,
|
2578
|
-
day,
|
2579
|
-
year
|
2580
|
-
};
|
2581
|
-
const {
|
2582
|
-
isActive,
|
2583
|
-
isToday,
|
2584
|
-
ariaLabel,
|
2585
|
-
ariaSelected,
|
2586
|
-
disabled
|
2587
|
-
} = getCalendarDayState(this.locale, referenceParts, this.activePartsClone, this.todayParts, this.minParts, this.maxParts, this.parsedDayValues);
|
2588
|
-
let isCalDayDisabled = isCalMonthDisabled || disabled;
|
2589
|
-
|
2590
|
-
if (!isCalDayDisabled && isDateEnabled !== undefined) {
|
2591
|
-
try {
|
2592
|
-
/**
|
2593
|
-
* The `isDateEnabled` implementation is try-catch wrapped
|
2594
|
-
* to prevent exceptions in the user's function from
|
2595
|
-
* interrupting the calendar rendering.
|
2596
|
-
*/
|
2597
|
-
isCalDayDisabled = !isDateEnabled(convertDataToISO(referenceParts));
|
2598
|
-
} catch (e) {
|
2599
|
-
(0,_index_9ac92660_js__WEBPACK_IMPORTED_MODULE_6__.b)('Exception thrown from provided `isDateEnabled` function. Please check your function and try again.', e);
|
2600
|
-
}
|
2601
|
-
}
|
2602
|
-
|
2603
|
-
return (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("button", {
|
2604
|
-
tabindex: "-1",
|
2605
|
-
"data-day": day,
|
2606
|
-
"data-month": month,
|
2607
|
-
"data-year": year,
|
2608
|
-
"data-index": index,
|
2609
|
-
"data-day-of-week": dayOfWeek,
|
2610
|
-
disabled: isCalDayDisabled,
|
2611
|
-
class: {
|
2612
|
-
'calendar-day-padding': day === null,
|
2613
|
-
'calendar-day': true,
|
2614
|
-
'calendar-day-active': isActive && highlightActiveParts,
|
2615
|
-
'calendar-day-today': isToday
|
2616
|
-
},
|
2617
|
-
"aria-selected": ariaSelected,
|
2618
|
-
"aria-label": ariaLabel,
|
2619
|
-
onClick: () => {
|
2620
|
-
if (day === null) {
|
2621
|
-
return;
|
2622
|
-
}
|
2623
|
-
/**
|
2624
|
-
* Note that for datetimes with confirm/cancel buttons, the value
|
2625
|
-
* isn't updated until you call confirm(). We need to bring the
|
2626
|
-
* solid circle back on day click for UX reasons, rather than only
|
2627
|
-
* show the circle if `value` is truthy.
|
2628
|
-
*/
|
2629
|
-
|
2630
|
-
|
2631
|
-
this.highlightActiveParts = true;
|
2632
|
-
this.setWorkingParts(Object.assign(Object.assign({}, this.workingParts), {
|
2633
|
-
month,
|
2634
|
-
day,
|
2635
|
-
year
|
2636
|
-
}));
|
2637
|
-
this.setActiveParts(Object.assign(Object.assign({}, this.activeParts), {
|
2638
|
-
month,
|
2639
|
-
day,
|
2640
|
-
year
|
2641
|
-
}));
|
2642
|
-
}
|
2643
|
-
}, day);
|
2644
|
-
})));
|
2645
|
-
}
|
2646
|
-
|
2647
|
-
renderCalendarBody() {
|
2648
|
-
return (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2649
|
-
class: "calendar-body ion-focusable",
|
2650
|
-
ref: el => this.calendarBodyRef = el,
|
2651
|
-
tabindex: "0"
|
2652
|
-
}, generateMonths(this.workingParts).map(({
|
2653
|
-
month,
|
2654
|
-
year
|
2655
|
-
}) => {
|
2656
|
-
return this.renderMonth(month, year);
|
2657
|
-
}));
|
2658
|
-
}
|
2659
|
-
|
2660
|
-
renderCalendar(mode) {
|
2661
|
-
return (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2662
|
-
class: "datetime-calendar"
|
2663
|
-
}, this.renderCalendarHeader(mode), this.renderCalendarBody());
|
2664
|
-
}
|
2665
|
-
|
2666
|
-
renderTimeLabel() {
|
2667
|
-
const hasSlottedTimeLabel = this.el.querySelector('[slot="time-label"]') !== null;
|
2668
|
-
|
2669
|
-
if (!hasSlottedTimeLabel && !this.showDefaultTimeLabel) {
|
2670
|
-
return;
|
2671
|
-
}
|
2672
|
-
|
2673
|
-
return (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("slot", {
|
2674
|
-
name: "time-label"
|
2675
|
-
}, "Time");
|
2676
|
-
}
|
2677
|
-
|
2678
|
-
renderTimePicker(hoursItems, minutesItems, ampmItems, use24Hour) {
|
2679
|
-
const {
|
2680
|
-
color,
|
2681
|
-
activePartsClone,
|
2682
|
-
workingParts
|
2683
|
-
} = this;
|
2684
|
-
return (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-picker-internal", null, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-picker-column-internal", {
|
2685
|
-
color: color,
|
2686
|
-
value: activePartsClone.hour,
|
2687
|
-
items: hoursItems,
|
2688
|
-
numericInput: true,
|
2689
|
-
onIonChange: ev => {
|
2690
|
-
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), {
|
2691
|
-
hour: ev.detail.value
|
2692
|
-
}));
|
2693
|
-
this.setActiveParts(Object.assign(Object.assign({}, activePartsClone), {
|
2694
|
-
hour: ev.detail.value
|
2695
|
-
}));
|
2696
|
-
ev.stopPropagation();
|
2697
|
-
}
|
2698
|
-
}), (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-picker-column-internal", {
|
2699
|
-
color: color,
|
2700
|
-
value: activePartsClone.minute,
|
2701
|
-
items: minutesItems,
|
2702
|
-
numericInput: true,
|
2703
|
-
onIonChange: ev => {
|
2704
|
-
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), {
|
2705
|
-
minute: ev.detail.value
|
2706
|
-
}));
|
2707
|
-
this.setActiveParts(Object.assign(Object.assign({}, activePartsClone), {
|
2708
|
-
minute: ev.detail.value
|
2709
|
-
}));
|
2710
|
-
ev.stopPropagation();
|
2711
|
-
}
|
2712
|
-
}), !use24Hour && (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-picker-column-internal", {
|
2713
|
-
color: color,
|
2714
|
-
value: activePartsClone.ampm,
|
2715
|
-
items: ampmItems,
|
2716
|
-
onIonChange: ev => {
|
2717
|
-
const hour = calculateHourFromAMPM(workingParts, ev.detail.value);
|
2718
|
-
this.setWorkingParts(Object.assign(Object.assign({}, workingParts), {
|
2719
|
-
ampm: ev.detail.value,
|
2720
|
-
hour
|
2721
|
-
}));
|
2722
|
-
this.setActiveParts(Object.assign(Object.assign({}, activePartsClone), {
|
2723
|
-
ampm: ev.detail.value,
|
2724
|
-
hour
|
2725
|
-
}));
|
2726
|
-
ev.stopPropagation();
|
2727
|
-
}
|
2728
|
-
}));
|
2729
|
-
}
|
2730
|
-
|
2731
|
-
renderTimeOverlay(hoursItems, minutesItems, ampmItems, use24Hour) {
|
2732
|
-
var _this4 = this;
|
2733
|
-
|
2734
|
-
return [(0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2735
|
-
class: "time-header"
|
2736
|
-
}, this.renderTimeLabel()), (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("button", {
|
2737
|
-
class: {
|
2738
|
-
'time-body': true,
|
2739
|
-
'time-body-active': this.isTimePopoverOpen
|
2740
|
-
},
|
2741
|
-
"aria-expanded": "false",
|
2742
|
-
"aria-haspopup": "true",
|
2743
|
-
onClick: function () {
|
2744
|
-
var _ref = (0,D_callkit_sample_sample_test_ionic_sample_test_ionic_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])(function* (ev) {
|
2745
|
-
const {
|
2746
|
-
popoverRef
|
2747
|
-
} = _this4;
|
2748
|
-
|
2749
|
-
if (popoverRef) {
|
2750
|
-
_this4.isTimePopoverOpen = true;
|
2751
|
-
popoverRef.present(new CustomEvent('ionShadowTarget', {
|
2752
|
-
detail: {
|
2753
|
-
ionShadowTarget: ev.target
|
2754
|
-
}
|
2755
|
-
}));
|
2756
|
-
yield popoverRef.onWillDismiss();
|
2757
|
-
_this4.isTimePopoverOpen = false;
|
2758
|
-
}
|
2759
|
-
});
|
2760
|
-
|
2761
|
-
return function onClick(_x) {
|
2762
|
-
return _ref.apply(this, arguments);
|
2763
|
-
};
|
2764
|
-
}()
|
2765
|
-
}, getFormattedTime(this.activePartsClone, use24Hour)), (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-popover", {
|
2766
|
-
alignment: "center",
|
2767
|
-
translucent: true,
|
2768
|
-
overlayIndex: 1,
|
2769
|
-
arrow: false,
|
2770
|
-
onWillPresent: ev => {
|
2771
|
-
/**
|
2772
|
-
* Intersection Observers do not consistently fire between Blink and Webkit
|
2773
|
-
* when toggling the visibility of the popover and trying to scroll the picker
|
2774
|
-
* column to the correct time value.
|
2775
|
-
*
|
2776
|
-
* This will correctly scroll the element position to the correct time value,
|
2777
|
-
* before the popover is fully presented.
|
2778
|
-
*/
|
2779
|
-
const cols = ev.target.querySelectorAll('ion-picker-column-internal'); // TODO (FW-615): Potentially remove this when intersection observers are fixed in picker column
|
2780
|
-
|
2781
|
-
cols.forEach(col => col.scrollActiveItemIntoView());
|
2782
|
-
},
|
2783
|
-
style: {
|
2784
|
-
'--offset-y': '-10px'
|
2785
|
-
},
|
2786
|
-
// Allow native browser keyboard events to support up/down/home/end key
|
2787
|
-
// navigation within the time picker.
|
2788
|
-
keyboardEvents: true,
|
2789
|
-
ref: el => this.popoverRef = el
|
2790
|
-
}, this.renderTimePicker(hoursItems, minutesItems, ampmItems, use24Hour))];
|
2791
|
-
}
|
2792
|
-
/**
|
2793
|
-
* Render time picker inside of datetime.
|
2794
|
-
* Do not pass color prop to segment on
|
2795
|
-
* iOS mode. MD segment has been customized and
|
2796
|
-
* should take on the color prop, but iOS
|
2797
|
-
* should just be the default segment.
|
2798
|
-
*/
|
2799
|
-
|
2800
|
-
|
2801
|
-
renderTime() {
|
2802
|
-
const {
|
2803
|
-
workingParts,
|
2804
|
-
presentation
|
2805
|
-
} = this;
|
2806
|
-
const timeOnlyPresentation = presentation === 'time';
|
2807
|
-
const use24Hour = is24Hour(this.locale, this.hourCycle);
|
2808
|
-
const {
|
2809
|
-
hours,
|
2810
|
-
minutes,
|
2811
|
-
am,
|
2812
|
-
pm
|
2813
|
-
} = generateTime(workingParts, use24Hour ? 'h23' : 'h12', this.value ? this.minParts : undefined, this.value ? this.maxParts : undefined, this.parsedHourValues, this.parsedMinuteValues);
|
2814
|
-
const hoursItems = hours.map(hour => {
|
2815
|
-
return {
|
2816
|
-
text: getFormattedHour(hour, use24Hour),
|
2817
|
-
value: getInternalHourValue(hour, use24Hour, workingParts.ampm)
|
2818
|
-
};
|
2819
|
-
});
|
2820
|
-
const minutesItems = minutes.map(minute => {
|
2821
|
-
return {
|
2822
|
-
text: addTimePadding(minute),
|
2823
|
-
value: minute
|
2824
|
-
};
|
2825
|
-
});
|
2826
|
-
const ampmItems = [];
|
2827
|
-
|
2828
|
-
if (am) {
|
2829
|
-
ampmItems.push({
|
2830
|
-
text: 'AM',
|
2831
|
-
value: 'am'
|
2832
|
-
});
|
2833
|
-
}
|
2834
|
-
|
2835
|
-
if (pm) {
|
2836
|
-
ampmItems.push({
|
2837
|
-
text: 'PM',
|
2838
|
-
value: 'pm'
|
2839
|
-
});
|
2840
|
-
}
|
2841
|
-
|
2842
|
-
return (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2843
|
-
class: "datetime-time"
|
2844
|
-
}, timeOnlyPresentation ? this.renderTimePicker(hoursItems, minutesItems, ampmItems, use24Hour) : this.renderTimeOverlay(hoursItems, minutesItems, ampmItems, use24Hour));
|
2845
|
-
}
|
2846
|
-
|
2847
|
-
renderCalendarViewHeader(mode) {
|
2848
|
-
const hasSlottedTitle = this.el.querySelector('[slot="title"]') !== null;
|
2849
|
-
|
2850
|
-
if (!hasSlottedTitle && !this.showDefaultTitle) {
|
2851
|
-
return;
|
2852
|
-
}
|
2853
|
-
|
2854
|
-
return (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2855
|
-
class: "datetime-header"
|
2856
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2857
|
-
class: "datetime-title"
|
2858
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("slot", {
|
2859
|
-
name: "title"
|
2860
|
-
}, "Select Date")), mode === 'md' && (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
2861
|
-
class: "datetime-selected-date"
|
2862
|
-
}, getMonthAndDay(this.locale, this.activeParts)));
|
2863
|
-
}
|
2864
|
-
|
2865
|
-
renderDatetime(mode) {
|
2866
|
-
const {
|
2867
|
-
presentation
|
2868
|
-
} = this;
|
2869
|
-
|
2870
|
-
switch (presentation) {
|
2871
|
-
case 'date-time':
|
2872
|
-
return [this.renderCalendarViewHeader(mode), this.renderCalendar(mode), this.renderYearView(), this.renderTime(), this.renderFooter()];
|
2873
|
-
|
2874
|
-
case 'time-date':
|
2875
|
-
return [this.renderCalendarViewHeader(mode), this.renderTime(), this.renderCalendar(mode), this.renderYearView(), this.renderFooter()];
|
2876
|
-
|
2877
|
-
case 'time':
|
2878
|
-
return [this.renderTime(), this.renderFooter()];
|
2879
|
-
|
2880
|
-
case 'month':
|
2881
|
-
case 'month-year':
|
2882
|
-
case 'year':
|
2883
|
-
return [this.renderYearView(), this.renderFooter()];
|
2884
|
-
|
2885
|
-
default:
|
2886
|
-
return [this.renderCalendarViewHeader(mode), this.renderCalendar(mode), this.renderYearView(), this.renderFooter()];
|
2887
|
-
}
|
2888
|
-
}
|
2889
|
-
|
2890
|
-
render() {
|
2891
|
-
const {
|
2892
|
-
name,
|
2893
|
-
value,
|
2894
|
-
disabled,
|
2895
|
-
el,
|
2896
|
-
color,
|
2897
|
-
isPresented,
|
2898
|
-
readonly,
|
2899
|
-
showMonthAndYear,
|
2900
|
-
presentation,
|
2901
|
-
size
|
2902
|
-
} = this;
|
2903
|
-
const mode = (0,_ionic_global_00475c3a_js__WEBPACK_IMPORTED_MODULE_3__.b)(this);
|
2904
|
-
const isMonthAndYearPresentation = presentation === 'year' || presentation === 'month' || presentation === 'month-year';
|
2905
|
-
const shouldShowMonthAndYear = showMonthAndYear || isMonthAndYearPresentation;
|
2906
|
-
const monthYearPickerOpen = showMonthAndYear && !isMonthAndYearPresentation;
|
2907
|
-
(0,_helpers_4d272360_js__WEBPACK_IMPORTED_MODULE_5__.e)(true, el, name, value, disabled);
|
2908
|
-
return (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)(_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.H, {
|
2909
|
-
"aria-disabled": disabled ? 'true' : null,
|
2910
|
-
onFocus: this.onFocus,
|
2911
|
-
onBlur: this.onBlur,
|
2912
|
-
class: Object.assign({}, (0,_theme_7670341c_js__WEBPACK_IMPORTED_MODULE_8__.c)(color, {
|
2913
|
-
[mode]: true,
|
2914
|
-
['datetime-presented']: isPresented,
|
2915
|
-
['datetime-readonly']: readonly,
|
2916
|
-
['datetime-disabled']: disabled,
|
2917
|
-
'show-month-and-year': shouldShowMonthAndYear,
|
2918
|
-
'month-year-picker-open': monthYearPickerOpen,
|
2919
|
-
[`datetime-presentation-${presentation}`]: true,
|
2920
|
-
[`datetime-size-${size}`]: true
|
2921
|
-
}))
|
2922
|
-
}, this.renderDatetime(mode));
|
2923
|
-
}
|
2924
|
-
|
2925
|
-
get el() {
|
2926
|
-
return (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.i)(this);
|
2927
|
-
}
|
2928
|
-
|
2929
|
-
static get watchers() {
|
2930
|
-
return {
|
2931
|
-
"disabled": ["disabledChanged"],
|
2932
|
-
"min": ["minChanged"],
|
2933
|
-
"max": ["maxChanged"],
|
2934
|
-
"yearValues": ["yearValuesChanged"],
|
2935
|
-
"monthValues": ["monthValuesChanged"],
|
2936
|
-
"dayValues": ["dayValuesChanged"],
|
2937
|
-
"hourValues": ["hourValuesChanged"],
|
2938
|
-
"minuteValues": ["minuteValuesChanged"],
|
2939
|
-
"activeParts": ["activePartsChanged"],
|
2940
|
-
"value": ["valueChanged"]
|
2941
|
-
};
|
2942
|
-
}
|
2943
|
-
|
2944
|
-
};
|
2945
|
-
let datetimeIds = 0;
|
2946
|
-
Datetime.style = {
|
2947
|
-
ios: datetimeIosCss,
|
2948
|
-
md: datetimeMdCss
|
2949
|
-
};
|
2950
|
-
/**
|
2951
|
-
* iOS Picker Enter Animation
|
2952
|
-
*/
|
2953
|
-
|
2954
|
-
const iosEnterAnimation = baseEl => {
|
2955
|
-
const baseAnimation = (0,_animation_36c1d77d_js__WEBPACK_IMPORTED_MODULE_10__.c)();
|
2956
|
-
const backdropAnimation = (0,_animation_36c1d77d_js__WEBPACK_IMPORTED_MODULE_10__.c)();
|
2957
|
-
const wrapperAnimation = (0,_animation_36c1d77d_js__WEBPACK_IMPORTED_MODULE_10__.c)();
|
2958
|
-
backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 0.01, 'var(--backdrop-opacity)').beforeStyles({
|
2959
|
-
'pointer-events': 'none'
|
2960
|
-
}).afterClearStyles(['pointer-events']);
|
2961
|
-
wrapperAnimation.addElement(baseEl.querySelector('.picker-wrapper')).fromTo('transform', 'translateY(100%)', 'translateY(0%)');
|
2962
|
-
return baseAnimation.addElement(baseEl).easing('cubic-bezier(.36,.66,.04,1)').duration(400).addAnimation([backdropAnimation, wrapperAnimation]);
|
2963
|
-
};
|
2964
|
-
/**
|
2965
|
-
* iOS Picker Leave Animation
|
2966
|
-
*/
|
2967
|
-
|
2968
|
-
|
2969
|
-
const iosLeaveAnimation = baseEl => {
|
2970
|
-
const baseAnimation = (0,_animation_36c1d77d_js__WEBPACK_IMPORTED_MODULE_10__.c)();
|
2971
|
-
const backdropAnimation = (0,_animation_36c1d77d_js__WEBPACK_IMPORTED_MODULE_10__.c)();
|
2972
|
-
const wrapperAnimation = (0,_animation_36c1d77d_js__WEBPACK_IMPORTED_MODULE_10__.c)();
|
2973
|
-
backdropAnimation.addElement(baseEl.querySelector('ion-backdrop')).fromTo('opacity', 'var(--backdrop-opacity)', 0.01);
|
2974
|
-
wrapperAnimation.addElement(baseEl.querySelector('.picker-wrapper')).fromTo('transform', 'translateY(0%)', 'translateY(100%)');
|
2975
|
-
return baseAnimation.addElement(baseEl).easing('cubic-bezier(.36,.66,.04,1)').duration(400).addAnimation([backdropAnimation, wrapperAnimation]);
|
2976
|
-
};
|
2977
|
-
|
2978
|
-
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;left:0;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}[dir=rtl].sc-ion-picker-ios-h,[dir=rtl] .sc-ion-picker-ios-h{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;margin-left:auto;margin-right: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}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-wrapper.sc-ion-picker-ios{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.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;direction:ltr;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;padding-left:1em;padding-right:1em;padding-top:0;padding-bottom:0;height:44px;background:transparent;color:var(--ion-color-primary, #3880ff);font-size:16px}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-button.sc-ion-picker-ios,.picker-button.ion-activated.sc-ion-picker-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:1em;padding-inline-start:1em;-webkit-padding-end:1em;padding-inline-end:1em}}.picker-columns.sc-ion-picker-ios{height:215px;-webkit-perspective:1000px;perspective:1000px}.picker-above-highlight.sc-ion-picker-ios{left:0;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}[dir=rtl].sc-ion-picker-ios .picker-above-highlight.sc-ion-picker-ios,[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}.picker-below-highlight.sc-ion-picker-ios{left:0;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}[dir=rtl].sc-ion-picker-ios .picker-below-highlight.sc-ion-picker-ios,[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}";
|
2979
|
-
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;left:0;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}[dir=rtl].sc-ion-picker-md-h,[dir=rtl] .sc-ion-picker-md-h{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;margin-left:auto;margin-right: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}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-wrapper.sc-ion-picker-md{margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}.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;direction:ltr;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;padding-left:1.1em;padding-right: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}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-button.sc-ion-picker-md,.picker-button.ion-activated.sc-ion-picker-md{padding-left:unset;padding-right:unset;-webkit-padding-start:1.1em;padding-inline-start:1.1em;-webkit-padding-end:1.1em;padding-inline-end:1.1em}}.picker-columns.sc-ion-picker-md{height:216px;-webkit-perspective:1800px;perspective:1800px}.picker-above-highlight.sc-ion-picker-md{left:0;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}[dir=rtl].sc-ion-picker-md .picker-above-highlight.sc-ion-picker-md,[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}.picker-below-highlight.sc-ion-picker-md{left:0;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}[dir=rtl].sc-ion-picker-md .picker-below-highlight.sc-ion-picker-md,[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}";
|
2980
|
-
const Picker = class {
|
2981
|
-
constructor(hostRef) {
|
2982
|
-
(0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.r)(this, hostRef);
|
2983
|
-
this.didPresent = (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.e)(this, "ionPickerDidPresent", 7);
|
2984
|
-
this.willPresent = (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.e)(this, "ionPickerWillPresent", 7);
|
2985
|
-
this.willDismiss = (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.e)(this, "ionPickerWillDismiss", 7);
|
2986
|
-
this.didDismiss = (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.e)(this, "ionPickerDidDismiss", 7);
|
2987
|
-
this.presented = false;
|
2988
|
-
/**
|
2989
|
-
* If `true`, the keyboard will be automatically dismissed when the overlay is presented.
|
2990
|
-
*/
|
2991
|
-
|
2992
|
-
this.keyboardClose = true;
|
2993
|
-
/**
|
2994
|
-
* Array of buttons to be displayed at the top of the picker.
|
2995
|
-
*/
|
2996
|
-
|
2997
|
-
this.buttons = [];
|
2998
|
-
/**
|
2999
|
-
* Array of columns to be displayed in the picker.
|
3000
|
-
*/
|
3001
|
-
|
3002
|
-
this.columns = [];
|
3003
|
-
/**
|
3004
|
-
* Number of milliseconds to wait before dismissing the picker.
|
3005
|
-
*/
|
3006
|
-
|
3007
|
-
this.duration = 0;
|
3008
|
-
/**
|
3009
|
-
* If `true`, a backdrop will be displayed behind the picker.
|
3010
|
-
*/
|
3011
|
-
|
3012
|
-
this.showBackdrop = true;
|
3013
|
-
/**
|
3014
|
-
* If `true`, the picker will be dismissed when the backdrop is clicked.
|
3015
|
-
*/
|
3016
|
-
|
3017
|
-
this.backdropDismiss = true;
|
3018
|
-
/**
|
3019
|
-
* If `true`, the picker will animate.
|
3020
|
-
*/
|
3021
|
-
|
3022
|
-
this.animated = true;
|
3023
|
-
|
3024
|
-
this.onBackdropTap = () => {
|
3025
|
-
this.dismiss(undefined, _overlays_ab6211c7_js__WEBPACK_IMPORTED_MODULE_9__.B);
|
3026
|
-
};
|
3027
|
-
|
3028
|
-
this.dispatchCancelHandler = ev => {
|
3029
|
-
const role = ev.detail.role;
|
3030
|
-
|
3031
|
-
if ((0,_overlays_ab6211c7_js__WEBPACK_IMPORTED_MODULE_9__.i)(role)) {
|
3032
|
-
const cancelButton = this.buttons.find(b => b.role === 'cancel');
|
3033
|
-
this.callButtonHandler(cancelButton);
|
3034
|
-
}
|
3035
|
-
};
|
3036
|
-
}
|
3037
|
-
|
3038
|
-
connectedCallback() {
|
3039
|
-
(0,_overlays_ab6211c7_js__WEBPACK_IMPORTED_MODULE_9__.e)(this.el);
|
3040
|
-
}
|
3041
|
-
/**
|
3042
|
-
* Present the picker overlay after it has been created.
|
3043
|
-
*/
|
3044
|
-
|
3045
|
-
|
3046
|
-
present() {
|
3047
|
-
var _this5 = this;
|
3048
|
-
|
3049
|
-
return (0,D_callkit_sample_sample_test_ionic_sample_test_ionic_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
|
3050
|
-
yield (0,_overlays_ab6211c7_js__WEBPACK_IMPORTED_MODULE_9__.d)(_this5, 'pickerEnter', iosEnterAnimation, iosEnterAnimation, undefined);
|
3051
|
-
|
3052
|
-
if (_this5.duration > 0) {
|
3053
|
-
_this5.durationTimeout = setTimeout(() => _this5.dismiss(), _this5.duration);
|
3054
|
-
}
|
3055
|
-
})();
|
3056
|
-
}
|
3057
|
-
/**
|
3058
|
-
* Dismiss the picker overlay after it has been presented.
|
3059
|
-
*
|
3060
|
-
* @param data Any data to emit in the dismiss events.
|
3061
|
-
* @param role The role of the element that is dismissing the picker.
|
3062
|
-
* This can be useful in a button handler for determining which button was
|
3063
|
-
* clicked to dismiss the picker.
|
3064
|
-
* Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
|
3065
|
-
*/
|
3066
|
-
|
3067
|
-
|
3068
|
-
dismiss(data, role) {
|
3069
|
-
if (this.durationTimeout) {
|
3070
|
-
clearTimeout(this.durationTimeout);
|
3071
|
-
}
|
3072
|
-
|
3073
|
-
return (0,_overlays_ab6211c7_js__WEBPACK_IMPORTED_MODULE_9__.f)(this, data, role, 'pickerLeave', iosLeaveAnimation, iosLeaveAnimation);
|
3074
|
-
}
|
3075
|
-
/**
|
3076
|
-
* Returns a promise that resolves when the picker did dismiss.
|
3077
|
-
*/
|
3078
|
-
|
3079
|
-
|
3080
|
-
onDidDismiss() {
|
3081
|
-
return (0,_overlays_ab6211c7_js__WEBPACK_IMPORTED_MODULE_9__.g)(this.el, 'ionPickerDidDismiss');
|
3082
|
-
}
|
3083
|
-
/**
|
3084
|
-
* Returns a promise that resolves when the picker will dismiss.
|
3085
|
-
*/
|
3086
|
-
|
3087
|
-
|
3088
|
-
onWillDismiss() {
|
3089
|
-
return (0,_overlays_ab6211c7_js__WEBPACK_IMPORTED_MODULE_9__.g)(this.el, 'ionPickerWillDismiss');
|
3090
|
-
}
|
3091
|
-
/**
|
3092
|
-
* Get the column that matches the specified name.
|
3093
|
-
*
|
3094
|
-
* @param name The name of the column.
|
3095
|
-
*/
|
3096
|
-
|
3097
|
-
|
3098
|
-
getColumn(name) {
|
3099
|
-
return Promise.resolve(this.columns.find(column => column.name === name));
|
3100
|
-
}
|
3101
|
-
|
3102
|
-
buttonClick(button) {
|
3103
|
-
var _this6 = this;
|
3104
|
-
|
3105
|
-
return (0,D_callkit_sample_sample_test_ionic_sample_test_ionic_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
|
3106
|
-
const role = button.role;
|
3107
|
-
|
3108
|
-
if ((0,_overlays_ab6211c7_js__WEBPACK_IMPORTED_MODULE_9__.i)(role)) {
|
3109
|
-
return _this6.dismiss(undefined, role);
|
3110
|
-
}
|
3111
|
-
|
3112
|
-
const shouldDismiss = yield _this6.callButtonHandler(button);
|
3113
|
-
|
3114
|
-
if (shouldDismiss) {
|
3115
|
-
return _this6.dismiss(_this6.getSelected(), button.role);
|
3116
|
-
}
|
3117
|
-
|
3118
|
-
return Promise.resolve();
|
3119
|
-
})();
|
3120
|
-
}
|
3121
|
-
|
3122
|
-
callButtonHandler(button) {
|
3123
|
-
var _this7 = this;
|
3124
|
-
|
3125
|
-
return (0,D_callkit_sample_sample_test_ionic_sample_test_ionic_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
|
3126
|
-
if (button) {
|
3127
|
-
// a handler has been provided, execute it
|
3128
|
-
// pass the handler the values from the inputs
|
3129
|
-
const rtn = yield (0,_overlays_ab6211c7_js__WEBPACK_IMPORTED_MODULE_9__.s)(button.handler, _this7.getSelected());
|
3130
|
-
|
3131
|
-
if (rtn === false) {
|
3132
|
-
// if the return value of the handler is false then do not dismiss
|
3133
|
-
return false;
|
3134
|
-
}
|
3135
|
-
}
|
3136
|
-
|
3137
|
-
return true;
|
3138
|
-
})();
|
3139
|
-
}
|
3140
|
-
|
3141
|
-
getSelected() {
|
3142
|
-
const selected = {};
|
3143
|
-
this.columns.forEach((col, index) => {
|
3144
|
-
const selectedColumn = col.selectedIndex !== undefined ? col.options[col.selectedIndex] : undefined;
|
3145
|
-
selected[col.name] = {
|
3146
|
-
text: selectedColumn ? selectedColumn.text : undefined,
|
3147
|
-
value: selectedColumn ? selectedColumn.value : undefined,
|
3148
|
-
columnIndex: index
|
3149
|
-
};
|
3150
|
-
});
|
3151
|
-
return selected;
|
3152
|
-
}
|
3153
|
-
|
3154
|
-
render() {
|
3155
|
-
const {
|
3156
|
-
htmlAttributes
|
3157
|
-
} = this;
|
3158
|
-
const mode = (0,_ionic_global_00475c3a_js__WEBPACK_IMPORTED_MODULE_3__.b)(this);
|
3159
|
-
return (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)(_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.H, Object.assign({
|
3160
|
-
"aria-modal": "true",
|
3161
|
-
tabindex: "-1"
|
3162
|
-
}, htmlAttributes, {
|
3163
|
-
style: {
|
3164
|
-
zIndex: `${20000 + this.overlayIndex}`
|
3165
|
-
},
|
3166
|
-
class: Object.assign({
|
3167
|
-
[mode]: true,
|
3168
|
-
// Used internally for styling
|
3169
|
-
[`picker-${mode}`]: true,
|
3170
|
-
'overlay-hidden': true
|
3171
|
-
}, (0,_theme_7670341c_js__WEBPACK_IMPORTED_MODULE_8__.g)(this.cssClass)),
|
3172
|
-
onIonBackdropTap: this.onBackdropTap,
|
3173
|
-
onIonPickerWillDismiss: this.dispatchCancelHandler
|
3174
|
-
}), (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-backdrop", {
|
3175
|
-
visible: this.showBackdrop,
|
3176
|
-
tappable: this.backdropDismiss
|
3177
|
-
}), (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
3178
|
-
tabindex: "0"
|
3179
|
-
}), (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
3180
|
-
class: "picker-wrapper ion-overlay-wrapper",
|
3181
|
-
role: "dialog"
|
3182
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
3183
|
-
class: "picker-toolbar"
|
3184
|
-
}, this.buttons.map(b => (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
3185
|
-
class: buttonWrapperClass(b)
|
3186
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("button", {
|
3187
|
-
type: "button",
|
3188
|
-
onClick: () => this.buttonClick(b),
|
3189
|
-
class: buttonClass(b)
|
3190
|
-
}, b.text)))), (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
3191
|
-
class: "picker-columns"
|
3192
|
-
}, (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
3193
|
-
class: "picker-above-highlight"
|
3194
|
-
}), this.presented && this.columns.map(c => (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("ion-picker-column", {
|
3195
|
-
col: c
|
3196
|
-
})), (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
3197
|
-
class: "picker-below-highlight"
|
3198
|
-
}))), (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
3199
|
-
tabindex: "0"
|
3200
|
-
}));
|
3201
|
-
}
|
3202
|
-
|
3203
|
-
get el() {
|
3204
|
-
return (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.i)(this);
|
3205
|
-
}
|
3206
|
-
|
3207
|
-
};
|
3208
|
-
|
3209
|
-
const buttonWrapperClass = button => {
|
3210
|
-
return {
|
3211
|
-
[`picker-toolbar-${button.role}`]: button.role !== undefined,
|
3212
|
-
'picker-toolbar-button': true
|
3213
|
-
};
|
3214
|
-
};
|
3215
|
-
|
3216
|
-
const buttonClass = button => {
|
3217
|
-
return Object.assign({
|
3218
|
-
'picker-button': true,
|
3219
|
-
'ion-activatable': true
|
3220
|
-
}, (0,_theme_7670341c_js__WEBPACK_IMPORTED_MODULE_8__.g)(button.cssClass));
|
3221
|
-
};
|
3222
|
-
|
3223
|
-
Picker.style = {
|
3224
|
-
ios: pickerIosCss,
|
3225
|
-
md: pickerMdCss
|
3226
|
-
};
|
3227
|
-
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{left:0;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}[dir=rtl] .picker-opt,:host-context([dir=rtl]) .picker-opt{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{padding-left:4px;padding-right:4px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-col{padding-left:unset;padding-right:unset;-webkit-padding-start:4px;padding-inline-start:4px;-webkit-padding-end:4px;padding-inline-end:4px}}.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}[dir=rtl] .picker-opt,:host-context([dir=rtl]) .picker-opt{-webkit-transform-origin:calc(100% - center) center;transform-origin:calc(100% - center) center}";
|
3228
|
-
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{left:0;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}[dir=rtl] .picker-opt,:host-context([dir=rtl]) .picker-opt{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{padding-left:8px;padding-right:8px;padding-top:0;padding-bottom:0;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}@supports ((-webkit-margin-start: 0) or (margin-inline-start: 0)) or (-webkit-margin-start: 0){.picker-col{padding-left:unset;padding-right:unset;-webkit-padding-start:8px;padding-inline-start:8px;-webkit-padding-end:8px;padding-inline-end:8px}}.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)}";
|
3229
|
-
const PickerColumnCmp = class {
|
3230
|
-
constructor(hostRef) {
|
3231
|
-
(0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.r)(this, hostRef);
|
3232
|
-
this.ionPickerColChange = (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.e)(this, "ionPickerColChange", 7);
|
3233
|
-
this.optHeight = 0;
|
3234
|
-
this.rotateFactor = 0;
|
3235
|
-
this.scaleFactor = 1;
|
3236
|
-
this.velocity = 0;
|
3237
|
-
this.y = 0;
|
3238
|
-
this.noAnimate = true;
|
3239
|
-
}
|
3240
|
-
|
3241
|
-
colChanged() {
|
3242
|
-
this.refresh();
|
3243
|
-
}
|
3244
|
-
|
3245
|
-
connectedCallback() {
|
3246
|
-
var _this8 = this;
|
3247
|
-
|
3248
|
-
return (0,D_callkit_sample_sample_test_ionic_sample_test_ionic_node_modules_babel_runtime_helpers_esm_asyncToGenerator__WEBPACK_IMPORTED_MODULE_0__["default"])(function* () {
|
3249
|
-
let pickerRotateFactor = 0;
|
3250
|
-
let pickerScaleFactor = 0.81;
|
3251
|
-
const mode = (0,_ionic_global_00475c3a_js__WEBPACK_IMPORTED_MODULE_3__.b)(_this8);
|
3252
|
-
|
3253
|
-
if (mode === 'ios') {
|
3254
|
-
pickerRotateFactor = -0.46;
|
3255
|
-
pickerScaleFactor = 1;
|
3256
|
-
}
|
3257
|
-
|
3258
|
-
_this8.rotateFactor = pickerRotateFactor;
|
3259
|
-
_this8.scaleFactor = pickerScaleFactor;
|
3260
|
-
_this8.gesture = (yield Promise.resolve(/*! import() */).then(__webpack_require__.bind(__webpack_require__, /*! ./index-3f1a7d95.js */ 4168))).createGesture({
|
3261
|
-
el: _this8.el,
|
3262
|
-
gestureName: 'picker-swipe',
|
3263
|
-
gesturePriority: 100,
|
3264
|
-
threshold: 0,
|
3265
|
-
passive: false,
|
3266
|
-
onStart: ev => _this8.onStart(ev),
|
3267
|
-
onMove: ev => _this8.onMove(ev),
|
3268
|
-
onEnd: ev => _this8.onEnd(ev)
|
3269
|
-
});
|
3270
|
-
|
3271
|
-
_this8.gesture.enable();
|
3272
|
-
|
3273
|
-
_this8.tmrId = setTimeout(() => {
|
3274
|
-
_this8.noAnimate = false;
|
3275
|
-
|
3276
|
-
_this8.refresh(true);
|
3277
|
-
}, 250);
|
3278
|
-
})();
|
3279
|
-
}
|
3280
|
-
|
3281
|
-
componentDidLoad() {
|
3282
|
-
const colEl = this.optsEl;
|
3283
|
-
|
3284
|
-
if (colEl) {
|
3285
|
-
// DOM READ
|
3286
|
-
// We perfom a DOM read over a rendered item, this needs to happen after the first render
|
3287
|
-
this.optHeight = colEl.firstElementChild ? colEl.firstElementChild.clientHeight : 0;
|
3288
|
-
}
|
3289
|
-
|
3290
|
-
this.refresh();
|
3291
|
-
}
|
3292
|
-
|
3293
|
-
disconnectedCallback() {
|
3294
|
-
cancelAnimationFrame(this.rafId);
|
3295
|
-
clearTimeout(this.tmrId);
|
3296
|
-
|
3297
|
-
if (this.gesture) {
|
3298
|
-
this.gesture.destroy();
|
3299
|
-
this.gesture = undefined;
|
3300
|
-
}
|
3301
|
-
}
|
3302
|
-
|
3303
|
-
emitColChange() {
|
3304
|
-
this.ionPickerColChange.emit(this.col);
|
3305
|
-
}
|
3306
|
-
|
3307
|
-
setSelected(selectedIndex, duration) {
|
3308
|
-
// if there is a selected index, then figure out it's y position
|
3309
|
-
// if there isn't a selected index, then just use the top y position
|
3310
|
-
const y = selectedIndex > -1 ? -(selectedIndex * this.optHeight) : 0;
|
3311
|
-
this.velocity = 0; // set what y position we're at
|
3312
|
-
|
3313
|
-
cancelAnimationFrame(this.rafId);
|
3314
|
-
this.update(y, duration, true);
|
3315
|
-
this.emitColChange();
|
3316
|
-
}
|
3317
|
-
|
3318
|
-
update(y, duration, saveY) {
|
3319
|
-
if (!this.optsEl) {
|
3320
|
-
return;
|
3321
|
-
} // ensure we've got a good round number :)
|
3322
|
-
|
3323
|
-
|
3324
|
-
let translateY = 0;
|
3325
|
-
let translateZ = 0;
|
3326
|
-
const {
|
3327
|
-
col,
|
3328
|
-
rotateFactor
|
3329
|
-
} = this;
|
3330
|
-
const selectedIndex = col.selectedIndex = this.indexForY(-y);
|
3331
|
-
const durationStr = duration === 0 ? '' : duration + 'ms';
|
3332
|
-
const scaleStr = `scale(${this.scaleFactor})`;
|
3333
|
-
const children = this.optsEl.children;
|
3334
|
-
|
3335
|
-
for (let i = 0; i < children.length; i++) {
|
3336
|
-
const button = children[i];
|
3337
|
-
const opt = col.options[i];
|
3338
|
-
const optOffset = i * this.optHeight + y;
|
3339
|
-
let transform = '';
|
3340
|
-
|
3341
|
-
if (rotateFactor !== 0) {
|
3342
|
-
const rotateX = optOffset * rotateFactor;
|
3343
|
-
|
3344
|
-
if (Math.abs(rotateX) <= 90) {
|
3345
|
-
translateY = 0;
|
3346
|
-
translateZ = 90;
|
3347
|
-
transform = `rotateX(${rotateX}deg) `;
|
3348
|
-
} else {
|
3349
|
-
translateY = -9999;
|
3350
|
-
}
|
3351
|
-
} else {
|
3352
|
-
translateZ = 0;
|
3353
|
-
translateY = optOffset;
|
3354
|
-
}
|
3355
|
-
|
3356
|
-
const selected = selectedIndex === i;
|
3357
|
-
transform += `translate3d(0px,${translateY}px,${translateZ}px) `;
|
3358
|
-
|
3359
|
-
if (this.scaleFactor !== 1 && !selected) {
|
3360
|
-
transform += scaleStr;
|
3361
|
-
} // Update transition duration
|
3362
|
-
|
3363
|
-
|
3364
|
-
if (this.noAnimate) {
|
3365
|
-
opt.duration = 0;
|
3366
|
-
button.style.transitionDuration = '';
|
3367
|
-
} else if (duration !== opt.duration) {
|
3368
|
-
opt.duration = duration;
|
3369
|
-
button.style.transitionDuration = durationStr;
|
3370
|
-
} // Update transform
|
3371
|
-
|
3372
|
-
|
3373
|
-
if (transform !== opt.transform) {
|
3374
|
-
opt.transform = transform;
|
3375
|
-
}
|
3376
|
-
|
3377
|
-
button.style.transform = transform; // Update selected item
|
3378
|
-
|
3379
|
-
if (selected !== opt.selected) {
|
3380
|
-
opt.selected = selected;
|
3381
|
-
|
3382
|
-
if (selected) {
|
3383
|
-
button.classList.add(PICKER_OPT_SELECTED);
|
3384
|
-
} else {
|
3385
|
-
button.classList.remove(PICKER_OPT_SELECTED);
|
3386
|
-
}
|
3387
|
-
}
|
3388
|
-
}
|
3389
|
-
|
3390
|
-
this.col.prevSelected = selectedIndex;
|
3391
|
-
|
3392
|
-
if (saveY) {
|
3393
|
-
this.y = y;
|
3394
|
-
}
|
3395
|
-
|
3396
|
-
if (this.lastIndex !== selectedIndex) {
|
3397
|
-
// have not set a last index yet
|
3398
|
-
(0,_haptic_683b3b3c_js__WEBPACK_IMPORTED_MODULE_11__.b)();
|
3399
|
-
this.lastIndex = selectedIndex;
|
3400
|
-
}
|
3401
|
-
}
|
3402
|
-
|
3403
|
-
decelerate() {
|
3404
|
-
if (this.velocity !== 0) {
|
3405
|
-
// still decelerating
|
3406
|
-
this.velocity *= DECELERATION_FRICTION; // do not let it go slower than a velocity of 1
|
3407
|
-
|
3408
|
-
this.velocity = this.velocity > 0 ? Math.max(this.velocity, 1) : Math.min(this.velocity, -1);
|
3409
|
-
let y = this.y + this.velocity;
|
3410
|
-
|
3411
|
-
if (y > this.minY) {
|
3412
|
-
// whoops, it's trying to scroll up farther than the options we have!
|
3413
|
-
y = this.minY;
|
3414
|
-
this.velocity = 0;
|
3415
|
-
} else if (y < this.maxY) {
|
3416
|
-
// gahh, it's trying to scroll down farther than we can!
|
3417
|
-
y = this.maxY;
|
3418
|
-
this.velocity = 0;
|
3419
|
-
}
|
3420
|
-
|
3421
|
-
this.update(y, 0, true);
|
3422
|
-
const notLockedIn = Math.round(y) % this.optHeight !== 0 || Math.abs(this.velocity) > 1;
|
3423
|
-
|
3424
|
-
if (notLockedIn) {
|
3425
|
-
// isn't locked in yet, keep decelerating until it is
|
3426
|
-
this.rafId = requestAnimationFrame(() => this.decelerate());
|
3427
|
-
} else {
|
3428
|
-
this.velocity = 0;
|
3429
|
-
this.emitColChange();
|
3430
|
-
(0,_haptic_683b3b3c_js__WEBPACK_IMPORTED_MODULE_11__.h)();
|
3431
|
-
}
|
3432
|
-
} else if (this.y % this.optHeight !== 0) {
|
3433
|
-
// needs to still get locked into a position so options line up
|
3434
|
-
const currentPos = Math.abs(this.y % this.optHeight); // create a velocity in the direction it needs to scroll
|
3435
|
-
|
3436
|
-
this.velocity = currentPos > this.optHeight / 2 ? 1 : -1;
|
3437
|
-
this.decelerate();
|
3438
|
-
}
|
3439
|
-
}
|
3440
|
-
|
3441
|
-
indexForY(y) {
|
3442
|
-
return Math.min(Math.max(Math.abs(Math.round(y / this.optHeight)), 0), this.col.options.length - 1);
|
3443
|
-
} // TODO should this check disabled?
|
3444
|
-
|
3445
|
-
|
3446
|
-
onStart(detail) {
|
3447
|
-
// We have to prevent default in order to block scrolling under the picker
|
3448
|
-
// but we DO NOT have to stop propagation, since we still want
|
3449
|
-
// some "click" events to capture
|
3450
|
-
if (detail.event.cancelable) {
|
3451
|
-
detail.event.preventDefault();
|
3452
|
-
}
|
3453
|
-
|
3454
|
-
detail.event.stopPropagation();
|
3455
|
-
(0,_haptic_683b3b3c_js__WEBPACK_IMPORTED_MODULE_11__.a)(); // reset everything
|
3456
|
-
|
3457
|
-
cancelAnimationFrame(this.rafId);
|
3458
|
-
const options = this.col.options;
|
3459
|
-
let minY = options.length - 1;
|
3460
|
-
let maxY = 0;
|
3461
|
-
|
3462
|
-
for (let i = 0; i < options.length; i++) {
|
3463
|
-
if (!options[i].disabled) {
|
3464
|
-
minY = Math.min(minY, i);
|
3465
|
-
maxY = Math.max(maxY, i);
|
3466
|
-
}
|
3467
|
-
}
|
3468
|
-
|
3469
|
-
this.minY = -(minY * this.optHeight);
|
3470
|
-
this.maxY = -(maxY * this.optHeight);
|
3471
|
-
}
|
3472
|
-
|
3473
|
-
onMove(detail) {
|
3474
|
-
if (detail.event.cancelable) {
|
3475
|
-
detail.event.preventDefault();
|
3476
|
-
}
|
3477
|
-
|
3478
|
-
detail.event.stopPropagation(); // update the scroll position relative to pointer start position
|
3479
|
-
|
3480
|
-
let y = this.y + detail.deltaY;
|
3481
|
-
|
3482
|
-
if (y > this.minY) {
|
3483
|
-
// scrolling up higher than scroll area
|
3484
|
-
y = Math.pow(y, 0.8);
|
3485
|
-
this.bounceFrom = y;
|
3486
|
-
} else if (y < this.maxY) {
|
3487
|
-
// scrolling down below scroll area
|
3488
|
-
y += Math.pow(this.maxY - y, 0.9);
|
3489
|
-
this.bounceFrom = y;
|
3490
|
-
} else {
|
3491
|
-
this.bounceFrom = 0;
|
3492
|
-
}
|
3493
|
-
|
3494
|
-
this.update(y, 0, false);
|
3495
|
-
}
|
3496
|
-
|
3497
|
-
onEnd(detail) {
|
3498
|
-
if (this.bounceFrom > 0) {
|
3499
|
-
// bounce back up
|
3500
|
-
this.update(this.minY, 100, true);
|
3501
|
-
this.emitColChange();
|
3502
|
-
return;
|
3503
|
-
} else if (this.bounceFrom < 0) {
|
3504
|
-
// bounce back down
|
3505
|
-
this.update(this.maxY, 100, true);
|
3506
|
-
this.emitColChange();
|
3507
|
-
return;
|
3508
|
-
}
|
3509
|
-
|
3510
|
-
this.velocity = (0,_helpers_4d272360_js__WEBPACK_IMPORTED_MODULE_5__.l)(-MAX_PICKER_SPEED, detail.velocityY * 23, MAX_PICKER_SPEED);
|
3511
|
-
|
3512
|
-
if (this.velocity === 0 && detail.deltaY === 0) {
|
3513
|
-
const opt = detail.event.target.closest('.picker-opt');
|
3514
|
-
|
3515
|
-
if (opt === null || opt === void 0 ? void 0 : opt.hasAttribute('opt-index')) {
|
3516
|
-
this.setSelected(parseInt(opt.getAttribute('opt-index'), 10), TRANSITION_DURATION);
|
3517
|
-
}
|
3518
|
-
} else {
|
3519
|
-
this.y += detail.deltaY;
|
3520
|
-
|
3521
|
-
if (Math.abs(detail.velocityY) < 0.05) {
|
3522
|
-
const isScrollingUp = detail.deltaY > 0;
|
3523
|
-
const optHeightFraction = Math.abs(this.y) % this.optHeight / this.optHeight;
|
3524
|
-
|
3525
|
-
if (isScrollingUp && optHeightFraction > 0.5) {
|
3526
|
-
this.velocity = Math.abs(this.velocity) * -1;
|
3527
|
-
} else if (!isScrollingUp && optHeightFraction <= 0.5) {
|
3528
|
-
this.velocity = Math.abs(this.velocity);
|
3529
|
-
}
|
3530
|
-
}
|
3531
|
-
|
3532
|
-
this.decelerate();
|
3533
|
-
}
|
3534
|
-
}
|
3535
|
-
|
3536
|
-
refresh(forceRefresh) {
|
3537
|
-
let min = this.col.options.length - 1;
|
3538
|
-
let max = 0;
|
3539
|
-
const options = this.col.options;
|
3540
|
-
|
3541
|
-
for (let i = 0; i < options.length; i++) {
|
3542
|
-
if (!options[i].disabled) {
|
3543
|
-
min = Math.min(min, i);
|
3544
|
-
max = Math.max(max, i);
|
3545
|
-
}
|
3546
|
-
}
|
3547
|
-
/**
|
3548
|
-
* Only update selected value if column has a
|
3549
|
-
* velocity of 0. If it does not, then the
|
3550
|
-
* column is animating might land on
|
3551
|
-
* a value different than the value at
|
3552
|
-
* selectedIndex
|
3553
|
-
*/
|
3554
|
-
|
3555
|
-
|
3556
|
-
if (this.velocity !== 0) {
|
3557
|
-
return;
|
3558
|
-
}
|
3559
|
-
|
3560
|
-
const selectedIndex = (0,_helpers_4d272360_js__WEBPACK_IMPORTED_MODULE_5__.l)(min, this.col.selectedIndex || 0, max);
|
3561
|
-
|
3562
|
-
if (this.col.prevSelected !== selectedIndex || forceRefresh) {
|
3563
|
-
const y = selectedIndex * this.optHeight * -1;
|
3564
|
-
this.velocity = 0;
|
3565
|
-
this.update(y, TRANSITION_DURATION, true);
|
3566
|
-
}
|
3567
|
-
}
|
3568
|
-
|
3569
|
-
render() {
|
3570
|
-
const col = this.col;
|
3571
|
-
const Button = 'button';
|
3572
|
-
const mode = (0,_ionic_global_00475c3a_js__WEBPACK_IMPORTED_MODULE_3__.b)(this);
|
3573
|
-
return (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)(_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.H, {
|
3574
|
-
class: {
|
3575
|
-
[mode]: true,
|
3576
|
-
'picker-col': true,
|
3577
|
-
'picker-opts-left': this.col.align === 'left',
|
3578
|
-
'picker-opts-right': this.col.align === 'right'
|
3579
|
-
},
|
3580
|
-
style: {
|
3581
|
-
'max-width': this.col.columnWidth
|
3582
|
-
}
|
3583
|
-
}, col.prefix && (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
3584
|
-
class: "picker-prefix",
|
3585
|
-
style: {
|
3586
|
-
width: col.prefixWidth
|
3587
|
-
}
|
3588
|
-
}, col.prefix), (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
3589
|
-
class: "picker-opts",
|
3590
|
-
style: {
|
3591
|
-
maxWidth: col.optionsWidth
|
3592
|
-
},
|
3593
|
-
ref: el => this.optsEl = el
|
3594
|
-
}, col.options.map((o, index) => (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)(Button, {
|
3595
|
-
type: "button",
|
3596
|
-
class: {
|
3597
|
-
'picker-opt': true,
|
3598
|
-
'picker-opt-disabled': !!o.disabled
|
3599
|
-
},
|
3600
|
-
"opt-index": index
|
3601
|
-
}, o.text))), col.suffix && (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.h)("div", {
|
3602
|
-
class: "picker-suffix",
|
3603
|
-
style: {
|
3604
|
-
width: col.suffixWidth
|
3605
|
-
}
|
3606
|
-
}, col.suffix));
|
3607
|
-
}
|
3608
|
-
|
3609
|
-
get el() {
|
3610
|
-
return (0,_index_88bdeaae_js__WEBPACK_IMPORTED_MODULE_1__.i)(this);
|
3611
|
-
}
|
3612
|
-
|
3613
|
-
static get watchers() {
|
3614
|
-
return {
|
3615
|
-
"col": ["colChanged"]
|
3616
|
-
};
|
3617
|
-
}
|
3618
|
-
|
3619
|
-
};
|
3620
|
-
const PICKER_OPT_SELECTED = 'picker-opt-selected';
|
3621
|
-
const DECELERATION_FRICTION = 0.97;
|
3622
|
-
const MAX_PICKER_SPEED = 90;
|
3623
|
-
const TRANSITION_DURATION = 150;
|
3624
|
-
PickerColumnCmp.style = {
|
3625
|
-
ios: pickerColumnIosCss,
|
3626
|
-
md: pickerColumnMdCss
|
3627
|
-
};
|
3628
|
-
|
3629
|
-
|
3630
|
-
/***/ })
|
3631
|
-
|
3632
|
-
}]);
|
3633
|
-
//# sourceMappingURL=node_modules_ionic_core_dist_esm_ion-datetime_3_entry_js.js.map
|