valtech-components 2.0.404 → 2.0.406
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/README.md +71 -0
- package/esm2022/lib/components/atoms/avatar/avatar.component.mjs +4 -4
- package/esm2022/lib/components/atoms/avatar/types.mjs +1 -1
- package/esm2022/lib/components/atoms/box/box.component.mjs +4 -4
- package/esm2022/lib/components/atoms/box/types.mjs +1 -1
- package/esm2022/lib/components/atoms/button/button.component.mjs +4 -4
- package/esm2022/lib/components/atoms/button/factory.mjs +1 -1
- package/esm2022/lib/components/atoms/countdown/countdown.component.mjs +343 -0
- package/esm2022/lib/components/atoms/countdown/types.mjs +27 -0
- package/esm2022/lib/components/atoms/display/display.component.mjs +4 -4
- package/esm2022/lib/components/atoms/display/types.mjs +1 -1
- package/esm2022/lib/components/atoms/divider/divider.component.mjs +4 -4
- package/esm2022/lib/components/atoms/divider/types.mjs +1 -1
- package/esm2022/lib/components/atoms/fab/fab.component.mjs +152 -0
- package/esm2022/lib/components/atoms/fab/types.mjs +2 -0
- package/esm2022/lib/components/atoms/href/href.component.mjs +4 -4
- package/esm2022/lib/components/atoms/href/types.mjs +1 -1
- package/esm2022/lib/components/atoms/icon/icon.component.mjs +4 -4
- package/esm2022/lib/components/atoms/icon/types.mjs +1 -1
- package/esm2022/lib/components/atoms/image/image.component.mjs +6 -6
- package/esm2022/lib/components/atoms/image/types.mjs +1 -1
- package/esm2022/lib/components/atoms/price-tag/price-tag.component.mjs +245 -0
- package/esm2022/lib/components/atoms/price-tag/types.mjs +15 -0
- package/esm2022/lib/components/atoms/progress-bar/progress-bar.component.mjs +4 -4
- package/esm2022/lib/components/atoms/progress-bar/types.mjs +1 -1
- package/esm2022/lib/components/atoms/progress-ring/progress-ring.component.mjs +149 -0
- package/esm2022/lib/components/atoms/progress-ring/types.mjs +2 -0
- package/esm2022/lib/components/atoms/qr-code/qr-code.component.mjs +417 -0
- package/esm2022/lib/components/atoms/qr-code/types.mjs +2 -0
- package/esm2022/lib/components/atoms/skeleton/skeleton.component.mjs +193 -0
- package/esm2022/lib/components/atoms/skeleton/types.mjs +13 -0
- package/esm2022/lib/components/atoms/text/text.component.mjs +4 -4
- package/esm2022/lib/components/atoms/text/types.mjs +1 -1
- package/esm2022/lib/components/atoms/title/title.component.mjs +4 -4
- package/esm2022/lib/components/atoms/title/types.mjs +1 -1
- package/esm2022/lib/components/molecules/accordion/accordion.component.mjs +139 -0
- package/esm2022/lib/components/molecules/accordion/types.mjs +2 -0
- package/esm2022/lib/components/molecules/action-header/action-header.component.mjs +4 -4
- package/esm2022/lib/components/molecules/action-header/types.mjs +1 -1
- package/esm2022/lib/components/molecules/alert-box/alert-box.component.mjs +4 -4
- package/esm2022/lib/components/molecules/alert-box/types.mjs +1 -1
- package/esm2022/lib/components/molecules/breadcrumb/breadcrumb.component.mjs +137 -0
- package/esm2022/lib/components/molecules/breadcrumb/types.mjs +2 -0
- package/esm2022/lib/components/molecules/button-group/button-group.component.mjs +4 -4
- package/esm2022/lib/components/molecules/button-group/types.mjs +1 -1
- package/esm2022/lib/components/molecules/card/card.component.mjs +5 -5
- package/esm2022/lib/components/molecules/card/types.mjs +1 -1
- package/esm2022/lib/components/molecules/check-input/check-input.component.mjs +4 -4
- package/esm2022/lib/components/molecules/chip-group/chip-group.component.mjs +174 -0
- package/esm2022/lib/components/molecules/chip-group/types.mjs +2 -0
- package/esm2022/lib/components/molecules/code-display/code-display.component.mjs +4 -4
- package/esm2022/lib/components/molecules/code-display/types.mjs +1 -1
- package/esm2022/lib/components/molecules/command-display/command-display.component.mjs +4 -4
- package/esm2022/lib/components/molecules/command-display/types.mjs +1 -1
- package/esm2022/lib/components/molecules/comment/comment.component.mjs +634 -0
- package/esm2022/lib/components/molecules/comment/types.mjs +2 -0
- package/esm2022/lib/components/molecules/comment-input/comment-input.component.mjs +4 -4
- package/esm2022/lib/components/molecules/content-loader/content-loader.component.mjs +4 -4
- package/esm2022/lib/components/molecules/content-loader/types.mjs +1 -1
- package/esm2022/lib/components/molecules/currency-input/currency-input.component.mjs +368 -0
- package/esm2022/lib/components/molecules/currency-input/types.mjs +18 -0
- package/esm2022/lib/components/molecules/date-input/date-input.component.mjs +5 -5
- package/esm2022/lib/components/molecules/date-range-input/date-range-input.component.mjs +418 -0
- package/esm2022/lib/components/molecules/date-range-input/types.mjs +2 -0
- package/esm2022/lib/components/molecules/email-input/email-input.component.mjs +4 -4
- package/esm2022/lib/components/molecules/expandable-text/expandable-text.component.mjs +4 -4
- package/esm2022/lib/components/molecules/expandable-text/types.mjs +1 -1
- package/esm2022/lib/components/molecules/file-input/file-input.component.mjs +4 -4
- package/esm2022/lib/components/molecules/glow-card/glow-card.component.mjs +279 -0
- package/esm2022/lib/components/molecules/glow-card/types.mjs +11 -0
- package/esm2022/lib/components/molecules/hint/hint.component.mjs +4 -4
- package/esm2022/lib/components/molecules/hour-input/hour-input.component.mjs +4 -4
- package/esm2022/lib/components/molecules/info/info.component.mjs +4 -4
- package/esm2022/lib/components/molecules/info/types.mjs +1 -1
- package/esm2022/lib/components/molecules/language-selector/language-selector.component.mjs +4 -4
- package/esm2022/lib/components/molecules/language-selector/types.mjs +1 -1
- package/esm2022/lib/components/molecules/layered-card/layered-card.component.mjs +4 -4
- package/esm2022/lib/components/molecules/layered-card/types.mjs +1 -1
- package/esm2022/lib/components/molecules/link/link.component.mjs +4 -4
- package/esm2022/lib/components/molecules/link/types.mjs +1 -1
- package/esm2022/lib/components/molecules/links-cake/links-cake.component.mjs +4 -4
- package/esm2022/lib/components/molecules/links-cake/types.mjs +1 -1
- package/esm2022/lib/components/molecules/multi-select-search/multi-select-search.component.mjs +5 -5
- package/esm2022/lib/components/molecules/notes-box/notes-box.component.mjs +4 -4
- package/esm2022/lib/components/molecules/notes-box/types.mjs +1 -1
- package/esm2022/lib/components/molecules/number-from-to/number-from-to.component.mjs +4 -4
- package/esm2022/lib/components/molecules/number-input/number-input.component.mjs +4 -4
- package/esm2022/lib/components/molecules/number-stepper/number-stepper.component.mjs +377 -0
- package/esm2022/lib/components/molecules/number-stepper/types.mjs +2 -0
- package/esm2022/lib/components/molecules/pagination/pagination.component.mjs +253 -0
- package/esm2022/lib/components/molecules/pagination/types.mjs +2 -0
- package/esm2022/lib/components/molecules/participant-card/participant-card.component.mjs +486 -0
- package/esm2022/lib/components/molecules/participant-card/types.mjs +21 -0
- package/esm2022/lib/components/molecules/password-input/password-input.component.mjs +4 -4
- package/esm2022/lib/components/molecules/phone-input/phone-input.component.mjs +336 -0
- package/esm2022/lib/components/molecules/phone-input/types.mjs +19 -0
- package/esm2022/lib/components/molecules/pill/pill.component.mjs +4 -4
- package/esm2022/lib/components/molecules/pill/types.mjs +1 -1
- package/esm2022/lib/components/molecules/pin-input/pin-input.component.mjs +4 -4
- package/esm2022/lib/components/molecules/plain-code-box/plain-code-box.component.mjs +4 -4
- package/esm2022/lib/components/molecules/plain-code-box/types.mjs +1 -1
- package/esm2022/lib/components/molecules/popover-selector/popover-selector.component.mjs +5 -5
- package/esm2022/lib/components/molecules/popover-selector/types.mjs +1 -1
- package/esm2022/lib/components/molecules/progress-status/progress-status.component.mjs +4 -4
- package/esm2022/lib/components/molecules/progress-status/types.mjs +1 -1
- package/esm2022/lib/components/molecules/prompter/prompter.component.mjs +4 -4
- package/esm2022/lib/components/molecules/prompter/types.mjs +1 -1
- package/esm2022/lib/components/molecules/quote-box/quote-box.component.mjs +155 -0
- package/esm2022/lib/components/molecules/radio-input/radio-input.component.mjs +5 -5
- package/esm2022/lib/components/molecules/raffle-status-card/raffle-status-card.component.mjs +484 -0
- package/esm2022/lib/components/molecules/raffle-status-card/types.mjs +23 -0
- package/esm2022/lib/components/molecules/range-input/range-input.component.mjs +148 -0
- package/esm2022/lib/components/molecules/range-input/types.mjs +2 -0
- package/esm2022/lib/components/molecules/rating/rating.component.mjs +149 -0
- package/esm2022/lib/components/molecules/rating/types.mjs +2 -0
- package/esm2022/lib/components/molecules/searchbar/searchbar.component.mjs +4 -4
- package/esm2022/lib/components/molecules/segment-control/segment-control.component.mjs +145 -0
- package/esm2022/lib/components/molecules/segment-control/types.mjs +2 -0
- package/esm2022/lib/components/molecules/select-input/select-input.component.mjs +5 -5
- package/esm2022/lib/components/molecules/select-search/select-search.component.mjs +5 -5
- package/esm2022/lib/components/molecules/share-buttons/share-buttons.component.mjs +277 -0
- package/esm2022/lib/components/molecules/share-buttons/types.mjs +88 -0
- package/esm2022/lib/components/molecules/stats-card/stats-card.component.mjs +165 -0
- package/esm2022/lib/components/molecules/stats-card/types.mjs +2 -0
- package/esm2022/lib/components/molecules/stepper/stepper.component.mjs +239 -0
- package/esm2022/lib/components/molecules/stepper/types.mjs +2 -0
- package/esm2022/lib/components/molecules/tabs/tabs.component.mjs +135 -0
- package/esm2022/lib/components/molecules/tabs/types.mjs +2 -0
- package/esm2022/lib/components/molecules/text-input/text-input.component.mjs +4 -4
- package/esm2022/lib/components/molecules/textarea-input/textarea-input.component.mjs +204 -0
- package/esm2022/lib/components/molecules/textarea-input/types.mjs +2 -0
- package/esm2022/lib/components/molecules/ticket-grid/ticket-grid.component.mjs +497 -0
- package/esm2022/lib/components/molecules/ticket-grid/types.mjs +11 -0
- package/esm2022/lib/components/molecules/timeline/timeline.component.mjs +140 -0
- package/esm2022/lib/components/molecules/timeline/types.mjs +2 -0
- package/esm2022/lib/components/molecules/title-block/title-block.component.mjs +4 -4
- package/esm2022/lib/components/molecules/title-block/types.mjs +1 -1
- package/esm2022/lib/components/molecules/toggle-input/toggle-input.component.mjs +89 -0
- package/esm2022/lib/components/molecules/toggle-input/types.mjs +2 -0
- package/esm2022/lib/components/molecules/winner-display/types.mjs +9 -0
- package/esm2022/lib/components/molecules/winner-display/winner-display.component.mjs +370 -0
- package/esm2022/lib/components/organisms/article/article.component.mjs +4 -4
- package/esm2022/lib/components/organisms/article/types.mjs +1 -1
- package/esm2022/lib/components/organisms/banner/banner.component.mjs +4 -4
- package/esm2022/lib/components/organisms/banner/types.mjs +1 -1
- package/esm2022/lib/components/organisms/comment-section/comment-section.component.mjs +578 -0
- package/esm2022/lib/components/organisms/comment-section/types.mjs +2 -0
- package/esm2022/lib/components/organisms/data-table/data-table.component.mjs +853 -0
- package/esm2022/lib/components/organisms/data-table/types.mjs +13 -0
- package/esm2022/lib/components/organisms/footer/footer.component.mjs +4 -4
- package/esm2022/lib/components/organisms/footer/types.mjs +1 -1
- package/esm2022/lib/components/organisms/form/factory.mjs +1 -1
- package/esm2022/lib/components/organisms/form/form-footer/form-footer.component.mjs +4 -4
- package/esm2022/lib/components/organisms/form/form.component.mjs +4 -4
- package/esm2022/lib/components/organisms/header/header.component.mjs +4 -4
- package/esm2022/lib/components/organisms/header/types.mjs +1 -1
- package/esm2022/lib/components/organisms/item-list/item-list.component.mjs +4 -4
- package/esm2022/lib/components/organisms/item-list/types.mjs +1 -1
- package/esm2022/lib/components/organisms/no-content/no-content.component.mjs +4 -4
- package/esm2022/lib/components/organisms/no-content/types.mjs +1 -1
- package/esm2022/lib/components/organisms/toolbar/toolbar.component.mjs +4 -4
- package/esm2022/lib/components/organisms/toolbar/types.mjs +1 -1
- package/esm2022/lib/components/organisms/wizard/types.mjs +1 -1
- package/esm2022/lib/components/organisms/wizard/wizard-footer/wizard-footer.component.mjs +4 -4
- package/esm2022/lib/components/organisms/wizard/wizard.component.mjs +4 -4
- package/esm2022/lib/components/templates/layout/layout.component.mjs +4 -4
- package/esm2022/lib/components/templates/simple/simple.component.mjs +5 -5
- package/esm2022/lib/components/templates/simple/types.mjs +1 -1
- package/esm2022/lib/components/types.mjs +22 -16
- package/esm2022/lib/services/confirmation-dialog/confirmation-dialog.service.mjs +180 -0
- package/esm2022/lib/services/confirmation-dialog/types.mjs +14 -0
- package/esm2022/lib/services/download.service.mjs +4 -4
- package/esm2022/lib/services/icons.service.mjs +4 -4
- package/esm2022/lib/services/in-app-browser.service.mjs +4 -4
- package/esm2022/lib/services/lang-provider/components/lang-settings.mjs +1 -1
- package/esm2022/lib/services/lang-provider/content.mjs +1 -1
- package/esm2022/lib/services/lang-provider/lang-provider.service.mjs +4 -4
- package/esm2022/lib/services/lang-provider/types.mjs +1 -1
- package/esm2022/lib/services/link-processor.service.mjs +4 -4
- package/esm2022/lib/services/local-storage.service.mjs +1 -1
- package/esm2022/lib/services/modal/modal.service.mjs +213 -0
- package/esm2022/lib/services/modal/simple-modal-content.component.mjs +133 -0
- package/esm2022/lib/services/modal/types.mjs +26 -0
- package/esm2022/lib/services/navigation.service.mjs +4 -4
- package/esm2022/lib/services/qr-generator/qr-generator.service.mjs +341 -0
- package/esm2022/lib/services/qr-generator/types.mjs +46 -0
- package/esm2022/lib/services/theme.service.mjs +4 -4
- package/esm2022/lib/services/toast.service.mjs +4 -4
- package/esm2022/lib/services/types.mjs +1 -1
- package/esm2022/lib/shared/constants/storage.mjs +1 -1
- package/esm2022/lib/shared/pipes/process-links.pipe.mjs +4 -4
- package/esm2022/lib/shared/utils/content.mjs +1 -1
- package/esm2022/lib/shared/utils/dom.mjs +1 -1
- package/esm2022/lib/shared/utils/form-defaults.mjs +1 -1
- package/esm2022/lib/shared/utils/simple-content.mjs +1 -1
- package/esm2022/lib/shared/utils/styles.mjs +1 -1
- package/esm2022/lib/shared/utils/text.mjs +1 -1
- package/esm2022/public-api.mjs +73 -3
- package/esm2022/valtech-components.mjs +1 -1
- package/fesm2022/valtech-components-simple-modal-content.component-DQhEgUmS.mjs +136 -0
- package/fesm2022/valtech-components-simple-modal-content.component-DQhEgUmS.mjs.map +1 -0
- package/fesm2022/valtech-components.mjs +14847 -4292
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/countdown/countdown.component.d.ts +38 -0
- package/lib/components/atoms/countdown/types.d.ts +108 -0
- package/lib/components/atoms/fab/fab.component.d.ts +16 -0
- package/lib/components/atoms/fab/types.d.ts +45 -0
- package/lib/components/atoms/price-tag/price-tag.component.d.ts +16 -0
- package/lib/components/atoms/price-tag/types.d.ts +59 -0
- package/lib/components/atoms/progress-ring/progress-ring.component.d.ts +20 -0
- package/lib/components/atoms/progress-ring/types.d.ts +24 -0
- package/lib/components/atoms/qr-code/qr-code.component.d.ts +36 -0
- package/lib/components/atoms/qr-code/types.d.ts +124 -0
- package/lib/components/atoms/skeleton/skeleton.component.d.ts +12 -0
- package/lib/components/atoms/skeleton/types.d.ts +29 -0
- package/lib/components/molecules/accordion/accordion.component.d.ts +19 -0
- package/lib/components/molecules/accordion/types.d.ts +47 -0
- package/lib/components/molecules/breadcrumb/breadcrumb.component.d.ts +22 -0
- package/lib/components/molecules/breadcrumb/types.d.ts +45 -0
- package/lib/components/molecules/chip-group/chip-group.component.d.ts +22 -0
- package/lib/components/molecules/chip-group/types.d.ts +65 -0
- package/lib/components/molecules/comment/comment.component.d.ts +42 -0
- package/lib/components/molecules/comment/types.d.ts +171 -0
- package/lib/components/molecules/currency-input/currency-input.component.d.ts +43 -0
- package/lib/components/molecules/currency-input/types.d.ts +96 -0
- package/lib/components/molecules/date-range-input/date-range-input.component.d.ts +42 -0
- package/lib/components/molecules/date-range-input/types.d.ts +109 -0
- package/lib/components/molecules/glow-card/glow-card.component.d.ts +51 -0
- package/lib/components/molecules/glow-card/types.d.ts +92 -0
- package/lib/components/molecules/number-stepper/number-stepper.component.d.ts +34 -0
- package/lib/components/molecules/number-stepper/types.d.ts +88 -0
- package/lib/components/molecules/pagination/pagination.component.d.ts +15 -0
- package/lib/components/molecules/pagination/types.d.ts +41 -0
- package/lib/components/molecules/participant-card/participant-card.component.d.ts +26 -0
- package/lib/components/molecules/participant-card/types.d.ts +132 -0
- package/lib/components/molecules/phone-input/phone-input.component.d.ts +38 -0
- package/lib/components/molecules/phone-input/types.d.ts +98 -0
- package/lib/components/molecules/quote-box/quote-box.component.d.ts +26 -0
- package/lib/components/molecules/raffle-status-card/raffle-status-card.component.d.ts +22 -0
- package/lib/components/molecules/raffle-status-card/types.d.ts +108 -0
- package/lib/components/molecules/range-input/range-input.component.d.ts +30 -0
- package/lib/components/molecules/range-input/types.d.ts +59 -0
- package/lib/components/molecules/rating/rating.component.d.ts +17 -0
- package/lib/components/molecules/rating/types.d.ts +41 -0
- package/lib/components/molecules/segment-control/segment-control.component.d.ts +30 -0
- package/lib/components/molecules/segment-control/types.d.ts +46 -0
- package/lib/components/molecules/share-buttons/share-buttons.component.d.ts +22 -0
- package/lib/components/molecules/share-buttons/types.d.ts +108 -0
- package/lib/components/molecules/stats-card/stats-card.component.d.ts +14 -0
- package/lib/components/molecules/stats-card/types.d.ts +41 -0
- package/lib/components/molecules/stepper/stepper.component.d.ts +21 -0
- package/lib/components/molecules/stepper/types.d.ts +66 -0
- package/lib/components/molecules/tabs/tabs.component.d.ts +17 -0
- package/lib/components/molecules/tabs/types.d.ts +45 -0
- package/lib/components/molecules/textarea-input/textarea-input.component.d.ts +27 -0
- package/lib/components/molecules/textarea-input/types.d.ts +74 -0
- package/lib/components/molecules/ticket-grid/ticket-grid.component.d.ts +41 -0
- package/lib/components/molecules/ticket-grid/types.d.ts +122 -0
- package/lib/components/molecules/timeline/timeline.component.d.ts +14 -0
- package/lib/components/molecules/timeline/types.d.ts +39 -0
- package/lib/components/molecules/toggle-input/toggle-input.component.d.ts +24 -0
- package/lib/components/molecules/toggle-input/types.d.ts +30 -0
- package/lib/components/molecules/winner-display/types.d.ts +103 -0
- package/lib/components/molecules/winner-display/winner-display.component.d.ts +37 -0
- package/lib/components/organisms/article/article.component.d.ts +1 -1
- package/lib/components/organisms/comment-section/comment-section.component.d.ts +52 -0
- package/lib/components/organisms/comment-section/types.d.ts +144 -0
- package/lib/components/organisms/data-table/data-table.component.d.ts +46 -0
- package/lib/components/organisms/data-table/types.d.ts +205 -0
- package/lib/components/types.d.ts +21 -15
- package/lib/services/confirmation-dialog/confirmation-dialog.service.d.ts +71 -0
- package/lib/services/confirmation-dialog/types.d.ts +61 -0
- package/lib/services/modal/modal.service.d.ts +98 -0
- package/lib/services/modal/simple-modal-content.component.d.ts +19 -0
- package/lib/services/modal/types.d.ts +155 -0
- package/lib/services/qr-generator/qr-generator.service.d.ts +115 -0
- package/lib/services/qr-generator/types.d.ts +141 -0
- package/package.json +9 -2
- package/public-api.d.ts +72 -2
- package/LICENSE +0 -21
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { EventEmitter, OnInit, OnDestroy } from '@angular/core';
|
|
2
|
+
import { CountdownMetadata, CountdownTime, CountdownCompleteEvent, CountdownTickEvent } from './types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class CountdownComponent implements OnInit, OnDestroy {
|
|
5
|
+
props: CountdownMetadata;
|
|
6
|
+
complete: EventEmitter<CountdownCompleteEvent>;
|
|
7
|
+
tick: EventEmitter<CountdownTickEvent>;
|
|
8
|
+
time: CountdownTime;
|
|
9
|
+
isExpired: boolean;
|
|
10
|
+
private intervalId;
|
|
11
|
+
private langService;
|
|
12
|
+
ngOnInit(): void;
|
|
13
|
+
ngOnDestroy(): void;
|
|
14
|
+
/**
|
|
15
|
+
* Start the countdown timer.
|
|
16
|
+
*/
|
|
17
|
+
start(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Stop the countdown timer.
|
|
20
|
+
*/
|
|
21
|
+
stop(): void;
|
|
22
|
+
/**
|
|
23
|
+
* Reset and restart the countdown.
|
|
24
|
+
*/
|
|
25
|
+
restart(): void;
|
|
26
|
+
private updateTime;
|
|
27
|
+
private getTargetDate;
|
|
28
|
+
shouldShowDays(): boolean;
|
|
29
|
+
shouldShowHours(): boolean;
|
|
30
|
+
shouldShowMinutes(): boolean;
|
|
31
|
+
shouldShowSeconds(): boolean;
|
|
32
|
+
formatNumber(value: number): string;
|
|
33
|
+
getLabel(unit: 'days' | 'hours' | 'minutes' | 'seconds', value: number): string;
|
|
34
|
+
getExpiredMessage(): string;
|
|
35
|
+
getColor(): string;
|
|
36
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CountdownComponent, never>;
|
|
37
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CountdownComponent, "val-countdown", never, { "props": { "alias": "props"; "required": false; }; }, { "complete": "complete"; "tick": "tick"; }, never, never, true, never>;
|
|
38
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { Color } from '@ionic/core';
|
|
2
|
+
/**
|
|
3
|
+
* Time unit for countdown display.
|
|
4
|
+
*/
|
|
5
|
+
export interface CountdownUnit {
|
|
6
|
+
/** Value of the unit */
|
|
7
|
+
value: number;
|
|
8
|
+
/** Label for the unit */
|
|
9
|
+
label: string;
|
|
10
|
+
/** Whether to show this unit */
|
|
11
|
+
show: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Countdown time breakdown.
|
|
15
|
+
*/
|
|
16
|
+
export interface CountdownTime {
|
|
17
|
+
days: number;
|
|
18
|
+
hours: number;
|
|
19
|
+
minutes: number;
|
|
20
|
+
seconds: number;
|
|
21
|
+
totalSeconds: number;
|
|
22
|
+
isExpired: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Labels for countdown units.
|
|
26
|
+
*/
|
|
27
|
+
export interface CountdownLabels {
|
|
28
|
+
days?: string;
|
|
29
|
+
hours?: string;
|
|
30
|
+
minutes?: string;
|
|
31
|
+
seconds?: string;
|
|
32
|
+
/** Singular forms (optional) */
|
|
33
|
+
day?: string;
|
|
34
|
+
hour?: string;
|
|
35
|
+
minute?: string;
|
|
36
|
+
second?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Default labels in Spanish.
|
|
40
|
+
*/
|
|
41
|
+
export declare const DEFAULT_COUNTDOWN_LABELS: CountdownLabels;
|
|
42
|
+
/**
|
|
43
|
+
* Default labels in English.
|
|
44
|
+
*/
|
|
45
|
+
export declare const DEFAULT_COUNTDOWN_LABELS_EN: CountdownLabels;
|
|
46
|
+
/**
|
|
47
|
+
* Metadata for the countdown component.
|
|
48
|
+
*/
|
|
49
|
+
export interface CountdownMetadata {
|
|
50
|
+
/** Target date/time to count down to */
|
|
51
|
+
targetDate: Date | string | number;
|
|
52
|
+
/** Display format */
|
|
53
|
+
format?: 'full' | 'compact' | 'minimal' | 'digital';
|
|
54
|
+
/** Show days */
|
|
55
|
+
showDays?: boolean;
|
|
56
|
+
/** Show hours */
|
|
57
|
+
showHours?: boolean;
|
|
58
|
+
/** Show minutes */
|
|
59
|
+
showMinutes?: boolean;
|
|
60
|
+
/** Show seconds */
|
|
61
|
+
showSeconds?: boolean;
|
|
62
|
+
/** Show labels below numbers */
|
|
63
|
+
showLabels?: boolean;
|
|
64
|
+
/** Show separators between units */
|
|
65
|
+
showSeparators?: boolean;
|
|
66
|
+
/** Separator character (default: ':') */
|
|
67
|
+
separator?: string;
|
|
68
|
+
/** Pad numbers with zeros */
|
|
69
|
+
padNumbers?: boolean;
|
|
70
|
+
/** Custom labels for time units */
|
|
71
|
+
labels?: CountdownLabels;
|
|
72
|
+
/** Message to show when expired */
|
|
73
|
+
expiredMessage?: string;
|
|
74
|
+
/** Show expired message or hide component */
|
|
75
|
+
showExpiredMessage?: boolean;
|
|
76
|
+
/** Component color */
|
|
77
|
+
color?: Color;
|
|
78
|
+
/** Size variant */
|
|
79
|
+
size?: 'small' | 'medium' | 'large';
|
|
80
|
+
/** Custom CSS class */
|
|
81
|
+
cssClass?: string;
|
|
82
|
+
/** Auto-start countdown */
|
|
83
|
+
autoStart?: boolean;
|
|
84
|
+
/** Update interval in ms (default: 1000) */
|
|
85
|
+
updateInterval?: number;
|
|
86
|
+
/** Content key for expired message */
|
|
87
|
+
expiredMessageContentKey?: string;
|
|
88
|
+
/** Content class for reactive content */
|
|
89
|
+
contentClass?: string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Event emitted when countdown completes.
|
|
93
|
+
*/
|
|
94
|
+
export interface CountdownCompleteEvent {
|
|
95
|
+
/** Target date that was reached */
|
|
96
|
+
targetDate: Date;
|
|
97
|
+
/** Timestamp when completed */
|
|
98
|
+
completedAt: Date;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Event emitted on each countdown tick.
|
|
102
|
+
*/
|
|
103
|
+
export interface CountdownTickEvent {
|
|
104
|
+
/** Current time breakdown */
|
|
105
|
+
time: CountdownTime;
|
|
106
|
+
/** Percentage of time elapsed (if start time known) */
|
|
107
|
+
percentageElapsed?: number;
|
|
108
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { FabMetadata, FabActionMetadata } from './types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class FabComponent {
|
|
5
|
+
props: FabMetadata;
|
|
6
|
+
fabClick: EventEmitter<void>;
|
|
7
|
+
actionClick: EventEmitter<FabActionMetadata>;
|
|
8
|
+
isActivated: boolean;
|
|
9
|
+
getVertical(): 'top' | 'bottom' | 'center';
|
|
10
|
+
getHorizontal(): 'start' | 'end' | 'center';
|
|
11
|
+
getMainIcon(): string;
|
|
12
|
+
onMainClick(): void;
|
|
13
|
+
onActionClick(action: FabActionMetadata): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FabComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FabComponent, "val-fab", never, { "props": { "alias": "props"; "required": false; }; }, { "fabClick": "fabClick"; "actionClick": "actionClick"; }, never, never, true, never>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Color } from '@ionic/core';
|
|
2
|
+
/**
|
|
3
|
+
* FAB action item configuration.
|
|
4
|
+
*/
|
|
5
|
+
export interface FabActionMetadata {
|
|
6
|
+
/** Action icon */
|
|
7
|
+
icon: string;
|
|
8
|
+
/** Action label (tooltip) */
|
|
9
|
+
label?: string;
|
|
10
|
+
/** Action color */
|
|
11
|
+
color?: Color;
|
|
12
|
+
/** Action identifier */
|
|
13
|
+
token?: string;
|
|
14
|
+
/** Whether action is disabled */
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Metadata for the FAB component.
|
|
19
|
+
*/
|
|
20
|
+
export interface FabMetadata {
|
|
21
|
+
/** Main FAB icon */
|
|
22
|
+
icon: string;
|
|
23
|
+
/** Icon when FAB is activated (optional) */
|
|
24
|
+
iconActivated?: string;
|
|
25
|
+
/** FAB color */
|
|
26
|
+
color?: Color;
|
|
27
|
+
/** FAB position */
|
|
28
|
+
position?: 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'center-start' | 'center-end';
|
|
29
|
+
/** FAB size */
|
|
30
|
+
size?: 'small' | 'default';
|
|
31
|
+
/** FAB actions (mini buttons) */
|
|
32
|
+
actions?: FabActionMetadata[];
|
|
33
|
+
/** Actions list side */
|
|
34
|
+
side?: 'start' | 'end' | 'top' | 'bottom';
|
|
35
|
+
/** Whether FAB is disabled */
|
|
36
|
+
disabled?: boolean;
|
|
37
|
+
/** Translucent background */
|
|
38
|
+
translucent?: boolean;
|
|
39
|
+
/** Show labels on actions */
|
|
40
|
+
showLabels?: boolean;
|
|
41
|
+
/** Close on action click */
|
|
42
|
+
closeOnAction?: boolean;
|
|
43
|
+
/** Unique token identifier */
|
|
44
|
+
token?: string;
|
|
45
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { PriceTagMetadata, CurrencyInfo } from './types';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class PriceTagComponent {
|
|
4
|
+
props: PriceTagMetadata;
|
|
5
|
+
private langService;
|
|
6
|
+
get currencyInfo(): CurrencyInfo;
|
|
7
|
+
get hasDiscount(): boolean;
|
|
8
|
+
getSymbol(): string;
|
|
9
|
+
formatAmount(): string;
|
|
10
|
+
formatPrice(amount: number): string;
|
|
11
|
+
getPrefix(): string;
|
|
12
|
+
getPeriod(): string;
|
|
13
|
+
getColor(): string;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PriceTagComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<PriceTagComponent, "val-price-tag", never, { "props": { "alias": "props"; "required": false; }; }, {}, never, never, true, never>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Color } from '@ionic/core';
|
|
2
|
+
/**
|
|
3
|
+
* Metadata for the price tag component.
|
|
4
|
+
*/
|
|
5
|
+
export interface PriceTagMetadata {
|
|
6
|
+
/** Price amount */
|
|
7
|
+
amount: number;
|
|
8
|
+
/** Currency code (ISO 4217) */
|
|
9
|
+
currency?: string;
|
|
10
|
+
/** Currency symbol (overrides auto-detection) */
|
|
11
|
+
currencySymbol?: string;
|
|
12
|
+
/** Original price (for showing discounts) */
|
|
13
|
+
originalAmount?: number;
|
|
14
|
+
/** Discount percentage to show */
|
|
15
|
+
discountPercentage?: number;
|
|
16
|
+
/** Size variant */
|
|
17
|
+
size?: 'small' | 'medium' | 'large' | 'xlarge';
|
|
18
|
+
/** Display variant */
|
|
19
|
+
variant?: 'default' | 'highlight' | 'sale' | 'free' | 'badge';
|
|
20
|
+
/** Show currency code after amount */
|
|
21
|
+
showCurrencyCode?: boolean;
|
|
22
|
+
/** Decimal places */
|
|
23
|
+
decimals?: number;
|
|
24
|
+
/** Period/frequency label (e.g., "/mes", "por boleto") */
|
|
25
|
+
period?: string;
|
|
26
|
+
/** Prefix text (e.g., "Desde") */
|
|
27
|
+
prefix?: string;
|
|
28
|
+
/** Suffix text (e.g., "MXN") */
|
|
29
|
+
suffix?: string;
|
|
30
|
+
/** Component color */
|
|
31
|
+
color?: Color;
|
|
32
|
+
/** Custom CSS class */
|
|
33
|
+
cssClass?: string;
|
|
34
|
+
/** Text alignment */
|
|
35
|
+
align?: 'left' | 'center' | 'right';
|
|
36
|
+
/** Show currency symbol */
|
|
37
|
+
showSymbol?: boolean;
|
|
38
|
+
/** Content key for prefix */
|
|
39
|
+
prefixContentKey?: string;
|
|
40
|
+
/** Content key for period */
|
|
41
|
+
periodContentKey?: string;
|
|
42
|
+
/** Content class for reactive content */
|
|
43
|
+
contentClass?: string;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Currency configuration.
|
|
47
|
+
*/
|
|
48
|
+
export interface CurrencyInfo {
|
|
49
|
+
code: string;
|
|
50
|
+
symbol: string;
|
|
51
|
+
symbolPosition: 'prefix' | 'suffix';
|
|
52
|
+
decimals: number;
|
|
53
|
+
thousandsSeparator: string;
|
|
54
|
+
decimalSeparator: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Common currency configurations.
|
|
58
|
+
*/
|
|
59
|
+
export declare const CURRENCY_INFO: Record<string, CurrencyInfo>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { ProgressRingMetadata } from './types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class ProgressRingComponent implements OnChanges {
|
|
5
|
+
props: ProgressRingMetadata;
|
|
6
|
+
size: number;
|
|
7
|
+
strokeWidth: number;
|
|
8
|
+
radius: number;
|
|
9
|
+
center: number;
|
|
10
|
+
circumference: number;
|
|
11
|
+
dashOffset: number;
|
|
12
|
+
labelFontSize: number;
|
|
13
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
14
|
+
getProgressColor(): string;
|
|
15
|
+
getTrackColor(): string;
|
|
16
|
+
private calculateDimensions;
|
|
17
|
+
private calculateProgress;
|
|
18
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ProgressRingComponent, never>;
|
|
19
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ProgressRingComponent, "val-progress-ring", never, { "props": { "alias": "props"; "required": false; }; }, {}, never, never, true, never>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Color } from '@ionic/core';
|
|
2
|
+
/**
|
|
3
|
+
* Metadata for the progress ring component.
|
|
4
|
+
*/
|
|
5
|
+
export interface ProgressRingMetadata {
|
|
6
|
+
/** Progress value (0-100) */
|
|
7
|
+
value: number;
|
|
8
|
+
/** Size in pixels */
|
|
9
|
+
size?: number;
|
|
10
|
+
/** Stroke width */
|
|
11
|
+
strokeWidth?: number;
|
|
12
|
+
/** Progress color */
|
|
13
|
+
color?: Color;
|
|
14
|
+
/** Track (background) color */
|
|
15
|
+
trackColor?: Color;
|
|
16
|
+
/** Show percentage value */
|
|
17
|
+
showValue?: boolean;
|
|
18
|
+
/** Custom label (overrides percentage) */
|
|
19
|
+
label?: string;
|
|
20
|
+
/** Animate progress changes */
|
|
21
|
+
animated?: boolean;
|
|
22
|
+
/** Unique token identifier */
|
|
23
|
+
token?: string;
|
|
24
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { EventEmitter, OnInit, OnDestroy } from '@angular/core';
|
|
2
|
+
import { QrCodeMetadata, QrCodeActionEvent } from './types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class QrCodeComponent implements OnInit, OnDestroy {
|
|
5
|
+
props: QrCodeMetadata;
|
|
6
|
+
actionComplete: EventEmitter<QrCodeActionEvent>;
|
|
7
|
+
imageLoad: EventEmitter<void>;
|
|
8
|
+
imageError: EventEmitter<Error>;
|
|
9
|
+
canShare: boolean;
|
|
10
|
+
canCopy: boolean;
|
|
11
|
+
private langSubscription;
|
|
12
|
+
private langService;
|
|
13
|
+
private qrService;
|
|
14
|
+
ngOnInit(): void;
|
|
15
|
+
ngOnDestroy(): void;
|
|
16
|
+
private hasReactiveContent;
|
|
17
|
+
getDisplaySize(): string;
|
|
18
|
+
getBorderRadius(): string;
|
|
19
|
+
getPadding(): string;
|
|
20
|
+
getQrBorderRadius(): string;
|
|
21
|
+
getContainerClasses(): string;
|
|
22
|
+
getContainerBackground(): string;
|
|
23
|
+
getShadow(): string;
|
|
24
|
+
getLabelFontSize(): string;
|
|
25
|
+
hasActions(): boolean;
|
|
26
|
+
getDownloadLabel(): string;
|
|
27
|
+
getCopyLabel(): string;
|
|
28
|
+
getShareLabel(): string;
|
|
29
|
+
onDownload(): Promise<void>;
|
|
30
|
+
onCopy(): Promise<void>;
|
|
31
|
+
onShare(): Promise<void>;
|
|
32
|
+
onImageLoad(): void;
|
|
33
|
+
onImageError(_event: Event): void;
|
|
34
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<QrCodeComponent, never>;
|
|
35
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<QrCodeComponent, "val-qr-code", never, { "props": { "alias": "props"; "required": false; }; }, { "actionComplete": "actionComplete"; "imageLoad": "imageLoad"; "imageError": "imageError"; }, never, never, true, never>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { QrResult } from '../../../services/qr-generator/types';
|
|
2
|
+
/**
|
|
3
|
+
* Theme presets for quick styling.
|
|
4
|
+
*/
|
|
5
|
+
export type QrDisplayTheme = 'default' | 'minimal' | 'gradient-purple' | 'gradient-blue' | 'gradient-sunset' | 'gradient-mint' | 'dark' | 'neon';
|
|
6
|
+
/**
|
|
7
|
+
* Label position options.
|
|
8
|
+
*/
|
|
9
|
+
export type QrLabelPosition = 'top' | 'bottom';
|
|
10
|
+
/**
|
|
11
|
+
* Gradient direction options.
|
|
12
|
+
*/
|
|
13
|
+
export type QrGradientDirection = 'to-right' | 'to-left' | 'to-bottom' | 'to-top' | 'to-bottom-right' | 'to-bottom-left' | 'to-top-right' | 'to-top-left';
|
|
14
|
+
/**
|
|
15
|
+
* Gradient configuration for backgrounds.
|
|
16
|
+
*/
|
|
17
|
+
export interface QrDisplayGradient {
|
|
18
|
+
/** Start color */
|
|
19
|
+
from: string;
|
|
20
|
+
/** End color */
|
|
21
|
+
to: string;
|
|
22
|
+
/** Optional middle color */
|
|
23
|
+
via?: string;
|
|
24
|
+
/** Gradient direction */
|
|
25
|
+
direction?: QrGradientDirection;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Label configuration for QR display.
|
|
29
|
+
*/
|
|
30
|
+
export interface QrLabelConfig {
|
|
31
|
+
/** Label text */
|
|
32
|
+
text: string;
|
|
33
|
+
/** Position (top or bottom) */
|
|
34
|
+
position?: QrLabelPosition;
|
|
35
|
+
/** Text color */
|
|
36
|
+
color?: string;
|
|
37
|
+
/** Font size in pixels */
|
|
38
|
+
fontSize?: number;
|
|
39
|
+
/** Font weight */
|
|
40
|
+
fontWeight?: 'normal' | 'medium' | 'semibold' | 'bold';
|
|
41
|
+
/** Icon name (ionicon) to show with label */
|
|
42
|
+
icon?: string;
|
|
43
|
+
/** Icon position */
|
|
44
|
+
iconPosition?: 'start' | 'end';
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Metadata for the QR code display component.
|
|
48
|
+
*/
|
|
49
|
+
export interface QrCodeMetadata {
|
|
50
|
+
/** QR result from QrGeneratorService */
|
|
51
|
+
qr: QrResult;
|
|
52
|
+
/** Alt text for accessibility */
|
|
53
|
+
alt?: string;
|
|
54
|
+
/** Whether to show download button */
|
|
55
|
+
showDownload?: boolean;
|
|
56
|
+
/** Download button label */
|
|
57
|
+
downloadLabel?: string;
|
|
58
|
+
/** Whether to show copy button */
|
|
59
|
+
showCopy?: boolean;
|
|
60
|
+
/** Copy button label */
|
|
61
|
+
copyLabel?: string;
|
|
62
|
+
/** Whether to show share button */
|
|
63
|
+
showShare?: boolean;
|
|
64
|
+
/** Share button label */
|
|
65
|
+
shareLabel?: string;
|
|
66
|
+
/** Custom CSS class */
|
|
67
|
+
cssClass?: string;
|
|
68
|
+
/** Size override (will scale the image) */
|
|
69
|
+
displaySize?: number;
|
|
70
|
+
/** Border radius for the container */
|
|
71
|
+
borderRadius?: number;
|
|
72
|
+
/** Show border around QR */
|
|
73
|
+
showBorder?: boolean;
|
|
74
|
+
/** Border color */
|
|
75
|
+
borderColor?: string;
|
|
76
|
+
/** Padding around the QR code */
|
|
77
|
+
padding?: number;
|
|
78
|
+
/** Background color for container */
|
|
79
|
+
containerBackground?: string;
|
|
80
|
+
/** Loading state */
|
|
81
|
+
loading?: boolean;
|
|
82
|
+
/** Custom filename for download (without extension) */
|
|
83
|
+
downloadFilename?: string;
|
|
84
|
+
/** Share title */
|
|
85
|
+
shareTitle?: string;
|
|
86
|
+
/** Share text/description */
|
|
87
|
+
shareText?: string;
|
|
88
|
+
/** Custom filename for share */
|
|
89
|
+
shareFilename?: string;
|
|
90
|
+
/** Theme preset for quick styling */
|
|
91
|
+
theme?: QrDisplayTheme;
|
|
92
|
+
/** Label/caption configuration */
|
|
93
|
+
label?: QrLabelConfig;
|
|
94
|
+
/** Gradient background (overrides containerBackground) */
|
|
95
|
+
gradient?: QrDisplayGradient;
|
|
96
|
+
/** Box shadow (e.g., 'sm', 'md', 'lg', 'xl', or custom CSS) */
|
|
97
|
+
shadow?: 'none' | 'sm' | 'md' | 'lg' | 'xl' | string;
|
|
98
|
+
/** Glow effect color (for neon theme) */
|
|
99
|
+
glowColor?: string;
|
|
100
|
+
/** Enable pulse animation on hover */
|
|
101
|
+
pulseOnHover?: boolean;
|
|
102
|
+
/** Enable scale animation on hover */
|
|
103
|
+
scaleOnHover?: boolean;
|
|
104
|
+
/** QR image border radius (to round the QR itself) */
|
|
105
|
+
qrBorderRadius?: number;
|
|
106
|
+
/** Reactive content keys */
|
|
107
|
+
downloadLabelContentKey?: string;
|
|
108
|
+
copyLabelContentKey?: string;
|
|
109
|
+
shareLabelContentKey?: string;
|
|
110
|
+
contentClass?: string;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Event emitted after QR code action.
|
|
114
|
+
*/
|
|
115
|
+
export interface QrCodeActionEvent {
|
|
116
|
+
/** Action type */
|
|
117
|
+
action: 'download' | 'copy' | 'share';
|
|
118
|
+
/** Whether action was successful */
|
|
119
|
+
success: boolean;
|
|
120
|
+
/** QR result */
|
|
121
|
+
qr: QrResult;
|
|
122
|
+
/** Error if action failed */
|
|
123
|
+
error?: Error;
|
|
124
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { SkeletonMetadata } from './types';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class SkeletonComponent {
|
|
4
|
+
props: SkeletonMetadata;
|
|
5
|
+
getWidth(): string;
|
|
6
|
+
getHeight(): string;
|
|
7
|
+
getBorderRadius(): string;
|
|
8
|
+
isCircle(): boolean;
|
|
9
|
+
getLines(): number[];
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SkeletonComponent, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SkeletonComponent, "val-skeleton", never, { "props": { "alias": "props"; "required": false; }; }, {}, never, never, true, never>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Skeleton type presets.
|
|
3
|
+
*/
|
|
4
|
+
export type SkeletonType = 'text' | 'avatar' | 'thumbnail' | 'card' | 'list-item' | 'paragraph' | 'custom';
|
|
5
|
+
/**
|
|
6
|
+
* Metadata for the skeleton component.
|
|
7
|
+
*/
|
|
8
|
+
export interface SkeletonMetadata {
|
|
9
|
+
/** Skeleton type preset */
|
|
10
|
+
type?: SkeletonType;
|
|
11
|
+
/** Number of lines (for text/paragraph type) */
|
|
12
|
+
lines?: number;
|
|
13
|
+
/** Enable animation */
|
|
14
|
+
animated?: boolean;
|
|
15
|
+
/** Custom width */
|
|
16
|
+
width?: string;
|
|
17
|
+
/** Custom height */
|
|
18
|
+
height?: string;
|
|
19
|
+
/** Border radius */
|
|
20
|
+
borderRadius?: string;
|
|
21
|
+
/** Show as circle (for avatar) */
|
|
22
|
+
circle?: boolean;
|
|
23
|
+
/** Unique token identifier */
|
|
24
|
+
token?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Preset configurations for skeleton types.
|
|
28
|
+
*/
|
|
29
|
+
export declare const SKELETON_PRESETS: Record<SkeletonType, Partial<SkeletonMetadata>>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { OnInit, OnDestroy, EventEmitter } from '@angular/core';
|
|
2
|
+
import { AccordionMetadata, AccordionItemMetadata } from './types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class AccordionComponent implements OnInit, OnDestroy {
|
|
5
|
+
props: AccordionMetadata;
|
|
6
|
+
accordionChange: EventEmitter<string | string[]>;
|
|
7
|
+
private langService;
|
|
8
|
+
private subscriptions;
|
|
9
|
+
private headerLabels;
|
|
10
|
+
private contentLabels;
|
|
11
|
+
ngOnInit(): void;
|
|
12
|
+
ngOnDestroy(): void;
|
|
13
|
+
onAccordionChange(event: CustomEvent): void;
|
|
14
|
+
getItemHeader(item: AccordionItemMetadata): string;
|
|
15
|
+
getItemContent(item: AccordionItemMetadata): string;
|
|
16
|
+
private setupLabels;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AccordionComponent, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<AccordionComponent, "val-accordion", never, { "props": { "alias": "props"; "required": false; }; }, { "accordionChange": "accordionChange"; }, never, never, true, never>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Color } from '@ionic/core';
|
|
2
|
+
/**
|
|
3
|
+
* Single accordion item configuration.
|
|
4
|
+
*/
|
|
5
|
+
export interface AccordionItemMetadata {
|
|
6
|
+
/** Unique value identifier */
|
|
7
|
+
value: string;
|
|
8
|
+
/** Header text (static) */
|
|
9
|
+
header?: string;
|
|
10
|
+
/** Header icon */
|
|
11
|
+
icon?: string;
|
|
12
|
+
/** Content text */
|
|
13
|
+
content?: string;
|
|
14
|
+
/** Whether the item is disabled */
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
/** Reactive content key for header */
|
|
17
|
+
headerKey?: string;
|
|
18
|
+
/** Reactive content key for content */
|
|
19
|
+
contentKey?: string;
|
|
20
|
+
/** Component class name for content lookup */
|
|
21
|
+
contentClass?: string;
|
|
22
|
+
/** Fallback for header */
|
|
23
|
+
headerFallback?: string;
|
|
24
|
+
/** Fallback for content */
|
|
25
|
+
contentFallback?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Metadata for the accordion component.
|
|
29
|
+
*/
|
|
30
|
+
export interface AccordionMetadata {
|
|
31
|
+
/** Accordion items */
|
|
32
|
+
items: AccordionItemMetadata[];
|
|
33
|
+
/** Allow multiple items open at once */
|
|
34
|
+
multiple?: boolean;
|
|
35
|
+
/** Currently expanded item value(s) */
|
|
36
|
+
value?: string | string[];
|
|
37
|
+
/** Accordion color */
|
|
38
|
+
color?: Color;
|
|
39
|
+
/** Expand icon position */
|
|
40
|
+
expandIconSlot?: 'start' | 'end';
|
|
41
|
+
/** Readonly mode (no expand/collapse) */
|
|
42
|
+
readonly?: boolean;
|
|
43
|
+
/** Unique token identifier */
|
|
44
|
+
token?: string;
|
|
45
|
+
/** Mode style */
|
|
46
|
+
mode?: 'ios' | 'md';
|
|
47
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { OnInit, OnDestroy, EventEmitter } from '@angular/core';
|
|
2
|
+
import { BreadcrumbMetadata, BreadcrumbItemMetadata } from './types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class BreadcrumbComponent implements OnInit, OnDestroy {
|
|
5
|
+
props: BreadcrumbMetadata;
|
|
6
|
+
breadcrumbClick: EventEmitter<{
|
|
7
|
+
item: BreadcrumbItemMetadata;
|
|
8
|
+
index: number;
|
|
9
|
+
}>;
|
|
10
|
+
collapsedClick: EventEmitter<CustomEvent<any>>;
|
|
11
|
+
private langService;
|
|
12
|
+
private subscriptions;
|
|
13
|
+
private itemLabels;
|
|
14
|
+
ngOnInit(): void;
|
|
15
|
+
ngOnDestroy(): void;
|
|
16
|
+
onBreadcrumbClick(event: Event, item: BreadcrumbItemMetadata, index: number): void;
|
|
17
|
+
onCollapsedClick(event: CustomEvent): void;
|
|
18
|
+
getItemLabel(item: BreadcrumbItemMetadata): string;
|
|
19
|
+
private setupLabels;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<BreadcrumbComponent, never>;
|
|
21
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BreadcrumbComponent, "val-breadcrumb", never, { "props": { "alias": "props"; "required": false; }; }, { "breadcrumbClick": "breadcrumbClick"; "collapsedClick": "collapsedClick"; }, never, never, true, never>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Color } from '@ionic/core';
|
|
2
|
+
/**
|
|
3
|
+
* Single breadcrumb item configuration.
|
|
4
|
+
*/
|
|
5
|
+
export interface BreadcrumbItemMetadata {
|
|
6
|
+
/** Display text */
|
|
7
|
+
label?: string;
|
|
8
|
+
/** Navigation href or router link */
|
|
9
|
+
href?: string;
|
|
10
|
+
/** Icon name */
|
|
11
|
+
icon?: string;
|
|
12
|
+
/** Whether this is the current/active item */
|
|
13
|
+
active?: boolean;
|
|
14
|
+
/** Whether the item is disabled */
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
/** Reactive content key for label */
|
|
17
|
+
contentKey?: string;
|
|
18
|
+
/** Component class name for content lookup */
|
|
19
|
+
contentClass?: string;
|
|
20
|
+
/** Fallback for label */
|
|
21
|
+
contentFallback?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Metadata for the breadcrumb component.
|
|
25
|
+
*/
|
|
26
|
+
export interface BreadcrumbMetadata {
|
|
27
|
+
/** Breadcrumb items */
|
|
28
|
+
items: BreadcrumbItemMetadata[];
|
|
29
|
+
/** Separator character or icon */
|
|
30
|
+
separator?: string;
|
|
31
|
+
/** Use icon as separator */
|
|
32
|
+
separatorIcon?: string;
|
|
33
|
+
/** Maximum items before collapsing */
|
|
34
|
+
maxItems?: number;
|
|
35
|
+
/** Collapsed item indicator */
|
|
36
|
+
collapsedIndicator?: string;
|
|
37
|
+
/** Color for active/current item */
|
|
38
|
+
activeColor?: Color;
|
|
39
|
+
/** Color for inactive items */
|
|
40
|
+
inactiveColor?: Color;
|
|
41
|
+
/** Unique token identifier */
|
|
42
|
+
token?: string;
|
|
43
|
+
/** Mode style */
|
|
44
|
+
mode?: 'ios' | 'md';
|
|
45
|
+
}
|