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