@malva-ui/core 0.1.13 → 0.1.14
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/AGENTS.md +4 -1
- package/README.md +15 -0
- package/docs/ai/avatar.md +2 -0
- package/docs/ai/breadcrumb.md +67 -7
- package/docs/ai/button.md +74 -19
- package/docs/ai/card.md +8 -6
- package/docs/ai/chat.md +59 -45
- package/docs/ai/checkbox.md +12 -0
- package/docs/ai/combobox.md +18 -2
- package/docs/ai/copy-to-clipboard.md +1 -1
- package/docs/ai/core.md +15 -0
- package/docs/ai/data-table.md +89 -54
- package/docs/ai/dialog.md +76 -67
- package/docs/ai/drawer.md +15 -12
- package/docs/ai/dropdown.md +24 -19
- package/docs/ai/empty-state.md +3 -3
- package/docs/ai/filter.md +24 -5
- package/docs/ai/form-utils.md +160 -5
- package/docs/ai/icon-toggle.md +160 -0
- package/docs/ai/input.md +30 -0
- package/docs/ai/layout.md +23 -0
- package/docs/ai/list.md +10 -6
- package/docs/ai/menu.md +75 -1
- package/docs/ai/page.md +220 -60
- package/docs/ai/radio.md +9 -0
- package/docs/ai/scrollbar.md +30 -8
- package/docs/ai/segmented.md +35 -35
- package/docs/ai/select.md +30 -5
- package/docs/ai/sidebar.md +45 -27
- package/docs/ai/switch.md +114 -19
- package/docs/ai/table.md +69 -0
- package/docs/ai/tabs.md +2 -1
- package/docs/ai/tile.md +311 -85
- package/docs/ai/timeline.md +63 -39
- package/docs/ai/tokenizer.md +21 -5
- package/docs/ai/tooltip.md +5 -5
- package/docs/ai/view-variant.md +75 -0
- package/fesm2022/malva-ui-core-accordion.mjs +167 -0
- package/fesm2022/malva-ui-core-accordion.mjs.map +1 -0
- package/fesm2022/malva-ui-core-action-bar.mjs +111 -0
- package/fesm2022/malva-ui-core-action-bar.mjs.map +1 -0
- package/fesm2022/malva-ui-core-alert.mjs +173 -0
- package/fesm2022/malva-ui-core-alert.mjs.map +1 -0
- package/fesm2022/malva-ui-core-autocomplete.mjs +775 -0
- package/fesm2022/malva-ui-core-autocomplete.mjs.map +1 -0
- package/fesm2022/malva-ui-core-avatar-group.mjs +224 -0
- package/fesm2022/malva-ui-core-avatar-group.mjs.map +1 -0
- package/fesm2022/malva-ui-core-avatar.mjs +247 -0
- package/fesm2022/malva-ui-core-avatar.mjs.map +1 -0
- package/fesm2022/malva-ui-core-badge.mjs +122 -0
- package/fesm2022/malva-ui-core-badge.mjs.map +1 -0
- package/fesm2022/malva-ui-core-bottom-nav.mjs +161 -0
- package/fesm2022/malva-ui-core-bottom-nav.mjs.map +1 -0
- package/fesm2022/malva-ui-core-breadcrumb.mjs +494 -0
- package/fesm2022/malva-ui-core-breadcrumb.mjs.map +1 -0
- package/fesm2022/malva-ui-core-button.mjs +406 -0
- package/fesm2022/malva-ui-core-button.mjs.map +1 -0
- package/fesm2022/malva-ui-core-calendar.mjs +938 -0
- package/fesm2022/malva-ui-core-calendar.mjs.map +1 -0
- package/fesm2022/malva-ui-core-card.mjs +164 -0
- package/fesm2022/malva-ui-core-card.mjs.map +1 -0
- package/fesm2022/malva-ui-core-chat.mjs +825 -0
- package/fesm2022/malva-ui-core-chat.mjs.map +1 -0
- package/fesm2022/malva-ui-core-checkbox.mjs +272 -0
- package/fesm2022/malva-ui-core-checkbox.mjs.map +1 -0
- package/fesm2022/malva-ui-core-chip.mjs +176 -0
- package/fesm2022/malva-ui-core-chip.mjs.map +1 -0
- package/fesm2022/malva-ui-core-color-picker.mjs +1204 -0
- package/fesm2022/malva-ui-core-color-picker.mjs.map +1 -0
- package/fesm2022/malva-ui-core-combobox.mjs +945 -0
- package/fesm2022/malva-ui-core-combobox.mjs.map +1 -0
- package/fesm2022/malva-ui-core-copy-to-clipboard.mjs +255 -0
- package/fesm2022/malva-ui-core-copy-to-clipboard.mjs.map +1 -0
- package/fesm2022/malva-ui-core-data-table.mjs +2696 -0
- package/fesm2022/malva-ui-core-data-table.mjs.map +1 -0
- package/fesm2022/malva-ui-core-date-range-picker.mjs +276 -0
- package/fesm2022/malva-ui-core-date-range-picker.mjs.map +1 -0
- package/fesm2022/malva-ui-core-day-picker.mjs +131 -0
- package/fesm2022/malva-ui-core-day-picker.mjs.map +1 -0
- package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs +94 -0
- package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs.map +1 -0
- package/fesm2022/malva-ui-core-dialog.mjs +1223 -0
- package/fesm2022/malva-ui-core-dialog.mjs.map +1 -0
- package/fesm2022/malva-ui-core-divider.mjs +80 -0
- package/fesm2022/malva-ui-core-divider.mjs.map +1 -0
- package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs +94 -0
- package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs.map +1 -0
- package/fesm2022/malva-ui-core-drawer.mjs +814 -0
- package/fesm2022/malva-ui-core-drawer.mjs.map +1 -0
- package/fesm2022/malva-ui-core-dropdown.mjs +994 -0
- package/fesm2022/malva-ui-core-dropdown.mjs.map +1 -0
- package/fesm2022/malva-ui-core-empty-state.mjs +50 -0
- package/fesm2022/malva-ui-core-empty-state.mjs.map +1 -0
- package/fesm2022/malva-ui-core-expand.mjs +130 -0
- package/fesm2022/malva-ui-core-expand.mjs.map +1 -0
- package/fesm2022/malva-ui-core-file-upload.mjs +451 -0
- package/fesm2022/malva-ui-core-file-upload.mjs.map +1 -0
- package/fesm2022/malva-ui-core-filter.mjs +1627 -0
- package/fesm2022/malva-ui-core-filter.mjs.map +1 -0
- package/fesm2022/malva-ui-core-form-utils-testing.mjs +39 -0
- package/fesm2022/malva-ui-core-form-utils-testing.mjs.map +1 -0
- package/fesm2022/malva-ui-core-form-utils.mjs +977 -0
- package/fesm2022/malva-ui-core-form-utils.mjs.map +1 -0
- package/fesm2022/malva-ui-core-form.mjs +283 -0
- package/fesm2022/malva-ui-core-form.mjs.map +1 -0
- package/fesm2022/malva-ui-core-icon-toggle.mjs +120 -0
- package/fesm2022/malva-ui-core-icon-toggle.mjs.map +1 -0
- package/fesm2022/malva-ui-core-input.mjs +375 -0
- package/fesm2022/malva-ui-core-input.mjs.map +1 -0
- package/fesm2022/malva-ui-core-kbd.mjs +131 -0
- package/fesm2022/malva-ui-core-kbd.mjs.map +1 -0
- package/fesm2022/malva-ui-core-layout.mjs +212 -0
- package/fesm2022/malva-ui-core-layout.mjs.map +1 -0
- package/fesm2022/malva-ui-core-link.mjs +89 -0
- package/fesm2022/malva-ui-core-link.mjs.map +1 -0
- package/fesm2022/malva-ui-core-list.mjs +413 -0
- package/fesm2022/malva-ui-core-list.mjs.map +1 -0
- package/fesm2022/malva-ui-core-loader.mjs +141 -0
- package/fesm2022/malva-ui-core-loader.mjs.map +1 -0
- package/fesm2022/malva-ui-core-menu.mjs +2540 -0
- package/fesm2022/malva-ui-core-menu.mjs.map +1 -0
- package/fesm2022/malva-ui-core-notification.mjs +201 -0
- package/fesm2022/malva-ui-core-notification.mjs.map +1 -0
- package/fesm2022/malva-ui-core-number-input.mjs +404 -0
- package/fesm2022/malva-ui-core-number-input.mjs.map +1 -0
- package/fesm2022/malva-ui-core-page.mjs +1898 -0
- package/fesm2022/malva-ui-core-page.mjs.map +1 -0
- package/fesm2022/malva-ui-core-pagination.mjs +458 -0
- package/fesm2022/malva-ui-core-pagination.mjs.map +1 -0
- package/fesm2022/malva-ui-core-pin-input.mjs +405 -0
- package/fesm2022/malva-ui-core-pin-input.mjs.map +1 -0
- package/fesm2022/malva-ui-core-popup.mjs +1488 -0
- package/fesm2022/malva-ui-core-popup.mjs.map +1 -0
- package/fesm2022/malva-ui-core-progress.mjs +109 -0
- package/fesm2022/malva-ui-core-progress.mjs.map +1 -0
- package/fesm2022/malva-ui-core-radio.mjs +317 -0
- package/fesm2022/malva-ui-core-radio.mjs.map +1 -0
- package/fesm2022/malva-ui-core-rating.mjs +236 -0
- package/fesm2022/malva-ui-core-rating.mjs.map +1 -0
- package/fesm2022/malva-ui-core-scrollbar.mjs +430 -0
- package/fesm2022/malva-ui-core-scrollbar.mjs.map +1 -0
- package/fesm2022/malva-ui-core-search-field.mjs +578 -0
- package/fesm2022/malva-ui-core-search-field.mjs.map +1 -0
- package/fesm2022/malva-ui-core-segmented.mjs +458 -0
- package/fesm2022/malva-ui-core-segmented.mjs.map +1 -0
- package/fesm2022/malva-ui-core-select.mjs +855 -0
- package/fesm2022/malva-ui-core-select.mjs.map +1 -0
- package/fesm2022/malva-ui-core-sidebar.mjs +1504 -0
- package/fesm2022/malva-ui-core-sidebar.mjs.map +1 -0
- package/fesm2022/malva-ui-core-skeleton.mjs +85 -0
- package/fesm2022/malva-ui-core-skeleton.mjs.map +1 -0
- package/fesm2022/malva-ui-core-slider.mjs +514 -0
- package/fesm2022/malva-ui-core-slider.mjs.map +1 -0
- package/fesm2022/malva-ui-core-split-pane.mjs +359 -0
- package/fesm2022/malva-ui-core-split-pane.mjs.map +1 -0
- package/fesm2022/malva-ui-core-status-indicator.mjs +78 -0
- package/fesm2022/malva-ui-core-status-indicator.mjs.map +1 -0
- package/fesm2022/malva-ui-core-stepper.mjs +332 -0
- package/fesm2022/malva-ui-core-stepper.mjs.map +1 -0
- package/fesm2022/malva-ui-core-switch.mjs +272 -0
- package/fesm2022/malva-ui-core-switch.mjs.map +1 -0
- package/fesm2022/malva-ui-core-table.mjs +79 -0
- package/fesm2022/malva-ui-core-table.mjs.map +1 -0
- package/fesm2022/malva-ui-core-tabs.mjs +794 -0
- package/fesm2022/malva-ui-core-tabs.mjs.map +1 -0
- package/fesm2022/malva-ui-core-textarea.mjs +201 -0
- package/fesm2022/malva-ui-core-textarea.mjs.map +1 -0
- package/fesm2022/malva-ui-core-tile.mjs +1404 -0
- package/fesm2022/malva-ui-core-tile.mjs.map +1 -0
- package/fesm2022/malva-ui-core-time-picker.mjs +533 -0
- package/fesm2022/malva-ui-core-time-picker.mjs.map +1 -0
- package/fesm2022/malva-ui-core-timeline.mjs +216 -0
- package/fesm2022/malva-ui-core-timeline.mjs.map +1 -0
- package/fesm2022/malva-ui-core-title.mjs +178 -0
- package/fesm2022/malva-ui-core-title.mjs.map +1 -0
- package/fesm2022/malva-ui-core-toast.mjs +749 -0
- package/fesm2022/malva-ui-core-toast.mjs.map +1 -0
- package/fesm2022/malva-ui-core-tokenizer.mjs +502 -0
- package/fesm2022/malva-ui-core-tokenizer.mjs.map +1 -0
- package/fesm2022/malva-ui-core-toolbar.mjs +141 -0
- package/fesm2022/malva-ui-core-toolbar.mjs.map +1 -0
- package/fesm2022/malva-ui-core-tooltip.mjs +432 -0
- package/fesm2022/malva-ui-core-tooltip.mjs.map +1 -0
- package/fesm2022/malva-ui-core-tree.mjs +505 -0
- package/fesm2022/malva-ui-core-tree.mjs.map +1 -0
- package/fesm2022/malva-ui-core-view-variant.mjs +292 -0
- package/fesm2022/malva-ui-core-view-variant.mjs.map +1 -0
- package/fesm2022/malva-ui-core.mjs +77 -0
- package/fesm2022/malva-ui-core.mjs.map +1 -0
- package/package.json +179 -156
- package/styles/malva-ui.css +253 -220
- package/styles/tokens.md +174 -173
- package/table/README.md +46 -0
- package/types/malva-ui-core-accordion.d.ts +121 -0
- package/types/malva-ui-core-action-bar.d.ts +82 -0
- package/types/malva-ui-core-alert.d.ts +131 -0
- package/types/malva-ui-core-autocomplete.d.ts +301 -0
- package/types/malva-ui-core-avatar-group.d.ts +119 -0
- package/types/malva-ui-core-avatar.d.ts +156 -0
- package/types/malva-ui-core-badge.d.ts +97 -0
- package/types/malva-ui-core-bottom-nav.d.ts +104 -0
- package/types/malva-ui-core-breadcrumb.d.ts +308 -0
- package/types/malva-ui-core-button.d.ts +194 -0
- package/types/malva-ui-core-calendar.d.ts +339 -0
- package/types/malva-ui-core-card.d.ts +88 -0
- package/types/malva-ui-core-chat.d.ts +375 -0
- package/types/malva-ui-core-checkbox.d.ts +158 -0
- package/types/malva-ui-core-chip.d.ts +128 -0
- package/types/malva-ui-core-color-picker.d.ts +442 -0
- package/types/malva-ui-core-combobox.d.ts +419 -0
- package/types/malva-ui-core-copy-to-clipboard.d.ts +148 -0
- package/types/malva-ui-core-data-table.d.ts +1074 -0
- package/types/malva-ui-core-date-range-picker.d.ts +149 -0
- package/types/malva-ui-core-day-picker.d.ts +55 -0
- package/types/malva-ui-core-dialog.d.ts +597 -0
- package/types/malva-ui-core-divider.d.ts +68 -0
- package/types/malva-ui-core-drawer.d.ts +333 -0
- package/types/malva-ui-core-dropdown.d.ts +592 -0
- package/types/malva-ui-core-empty-state.d.ts +37 -0
- package/types/malva-ui-core-expand.d.ts +102 -0
- package/types/malva-ui-core-file-upload.d.ts +267 -0
- package/types/malva-ui-core-filter.d.ts +552 -0
- package/types/malva-ui-core-form-utils-testing.d.ts +50 -0
- package/types/malva-ui-core-form-utils.d.ts +579 -0
- package/types/malva-ui-core-form.d.ts +176 -0
- package/types/malva-ui-core-icon-toggle.d.ts +80 -0
- package/types/malva-ui-core-input.d.ts +262 -0
- package/types/malva-ui-core-kbd.d.ts +56 -0
- package/types/malva-ui-core-layout.d.ts +70 -0
- package/types/malva-ui-core-link.d.ts +28 -0
- package/types/malva-ui-core-list.d.ts +252 -0
- package/types/malva-ui-core-loader.d.ts +89 -0
- package/types/malva-ui-core-menu.d.ts +954 -0
- package/types/malva-ui-core-notification.d.ts +122 -0
- package/types/malva-ui-core-number-input.d.ts +167 -0
- package/types/malva-ui-core-page.d.ts +799 -0
- package/types/malva-ui-core-pagination.d.ts +261 -0
- package/types/malva-ui-core-pin-input.d.ts +203 -0
- package/types/malva-ui-core-popup.d.ts +834 -0
- package/types/malva-ui-core-progress.d.ts +73 -0
- package/types/malva-ui-core-radio.d.ts +130 -0
- package/types/malva-ui-core-rating.d.ts +115 -0
- package/types/malva-ui-core-scrollbar.d.ts +203 -0
- package/types/malva-ui-core-search-field.d.ts +408 -0
- package/types/malva-ui-core-segmented.d.ts +206 -0
- package/types/malva-ui-core-select.d.ts +456 -0
- package/types/malva-ui-core-sidebar.d.ts +698 -0
- package/types/malva-ui-core-skeleton.d.ts +64 -0
- package/types/malva-ui-core-slider.d.ts +219 -0
- package/types/malva-ui-core-split-pane.d.ts +149 -0
- package/types/malva-ui-core-status-indicator.d.ts +65 -0
- package/types/malva-ui-core-stepper.d.ts +168 -0
- package/types/malva-ui-core-switch.d.ts +146 -0
- package/types/malva-ui-core-table.d.ts +37 -0
- package/types/malva-ui-core-tabs.d.ts +339 -0
- package/types/malva-ui-core-textarea.d.ts +79 -0
- package/types/malva-ui-core-tile.d.ts +373 -0
- package/types/malva-ui-core-time-picker.d.ts +141 -0
- package/types/malva-ui-core-timeline.d.ts +188 -0
- package/types/malva-ui-core-title.d.ts +66 -0
- package/types/malva-ui-core-toast.d.ts +432 -0
- package/types/malva-ui-core-tokenizer.d.ts +217 -0
- package/types/malva-ui-core-toolbar.d.ts +91 -0
- package/types/malva-ui-core-tooltip.d.ts +200 -0
- package/types/malva-ui-core-tree.d.ts +289 -0
- package/types/malva-ui-core-view-variant.d.ts +207 -0
- package/types/malva-ui-core.d.ts +72 -0
- package/view-variant/README.md +3 -0
- package/accordion/index.d.ts +0 -3
- package/accordion/lib/accordion/accordion.d.ts +0 -47
- package/accordion/lib/accordion-item/accordion-header.d.ts +0 -22
- package/accordion/lib/accordion-item/accordion-item.d.ts +0 -49
- package/accordion/malva-ui-core-accordion.d.ts +0 -5
- package/action-bar/index.d.ts +0 -4
- package/action-bar/lib/action-bar/action-bar.d.ts +0 -59
- package/action-bar/lib/action-bar/components/action-bar-actions.d.ts +0 -9
- package/action-bar/lib/action-bar/components/action-bar-logo.d.ts +0 -5
- package/action-bar/lib/action-bar/components/action-bar-spacer.d.ts +0 -5
- package/action-bar/malva-ui-core-action-bar.d.ts +0 -5
- package/alert/index.d.ts +0 -2
- package/alert/lib/alert/alert.d.ts +0 -84
- package/alert/lib/alert/alert.directives.d.ts +0 -44
- package/alert/malva-ui-core-alert.d.ts +0 -5
- package/autocomplete/index.d.ts +0 -1
- package/autocomplete/lib/autocomplete/autocomplete.d.ts +0 -296
- package/autocomplete/malva-ui-core-autocomplete.d.ts +0 -5
- package/avatar/index.d.ts +0 -2
- package/avatar/lib/avatar/avatar.d.ts +0 -125
- package/avatar/lib/color-from-text.pipe.d.ts +0 -21
- package/avatar/malva-ui-core-avatar.d.ts +0 -5
- package/avatar-group/index.d.ts +0 -1
- package/avatar-group/lib/avatar-group/avatar-group.d.ts +0 -115
- package/avatar-group/malva-ui-core-avatar-group.d.ts +0 -5
- package/badge/index.d.ts +0 -2
- package/badge/lib/badge/badge.d.ts +0 -59
- package/badge/lib/badge-icon.d.ts +0 -35
- package/badge/malva-ui-core-badge.d.ts +0 -5
- package/bottom-nav/index.d.ts +0 -1
- package/bottom-nav/lib/bottom-nav/bottom-nav.d.ts +0 -99
- package/bottom-nav/malva-ui-core-bottom-nav.d.ts +0 -5
- package/breadcrumb/index.d.ts +0 -5
- package/breadcrumb/lib/breadcrumb/breadcrumb-item-host.d.ts +0 -32
- package/breadcrumb/lib/breadcrumb/breadcrumb-item.d.ts +0 -41
- package/breadcrumb/lib/breadcrumb/breadcrumb-separator.d.ts +0 -31
- package/breadcrumb/lib/breadcrumb/breadcrumb.d.ts +0 -151
- package/breadcrumb/lib/breadcrumb/breadcrumb.types.d.ts +0 -26
- package/breadcrumb/malva-ui-core-breadcrumb.d.ts +0 -5
- package/button/index.d.ts +0 -7
- package/button/lib/button/button.d.ts +0 -61
- package/button/lib/button-close/button-close.d.ts +0 -24
- package/button/lib/button-group/button-group.d.ts +0 -21
- package/button/lib/button-split/button-split.d.ts +0 -21
- package/button/lib/button-toggle/button-toggle.d.ts +0 -33
- package/button/lib/button-variant.token.d.ts +0 -13
- package/button/lib/button.directives.d.ts +0 -14
- package/button/lib/button.types.d.ts +0 -8
- package/button/malva-ui-core-button.d.ts +0 -5
- package/calendar/index.d.ts +0 -3
- package/calendar/lib/calendar/calendar.d.ts +0 -182
- package/calendar/lib/date-provider/date-adapter.d.ts +0 -92
- package/calendar/lib/date-provider/native-date-adapter.d.ts +0 -60
- package/calendar/malva-ui-core-calendar.d.ts +0 -5
- package/card/index.d.ts +0 -5
- package/card/lib/card/card.d.ts +0 -43
- package/card/lib/card-actions-def.d.ts +0 -10
- package/card/lib/card-footer-def.d.ts +0 -13
- package/card/lib/card-header-def.d.ts +0 -10
- package/card/lib/card-subheader-def.d.ts +0 -16
- package/card/malva-ui-core-card.d.ts +0 -5
- package/chat/index.d.ts +0 -9
- package/chat/lib/chat/chat.d.ts +0 -133
- package/chat/lib/chat-audio/chat-audio.d.ts +0 -51
- package/chat/lib/chat-audio/chat-audio.service.d.ts +0 -21
- package/chat/lib/chat-date/chat-date.d.ts +0 -16
- package/chat/lib/chat-format.d.ts +0 -5
- package/chat/lib/chat-media-grid/chat-media-grid.d.ts +0 -32
- package/chat/lib/chat-message/chat-message.d.ts +0 -45
- package/chat/lib/chat-render-list.d.ts +0 -16
- package/chat/lib/chat-tokens.d.ts +0 -25
- package/chat/lib/chat-typing/chat-typing.d.ts +0 -16
- package/chat/lib/chat.types.d.ts +0 -80
- package/chat/lib/defs/chat-author-def.d.ts +0 -30
- package/chat/lib/defs/chat-date-def.d.ts +0 -22
- package/chat/lib/defs/chat-message-def.d.ts +0 -23
- package/chat/malva-ui-core-chat.d.ts +0 -5
- package/checkbox/index.d.ts +0 -3
- package/checkbox/lib/checkbox/checkbox.d.ts +0 -129
- package/checkbox/lib/checkbox-group/checkbox-group.d.ts +0 -24
- package/checkbox/lib/checkbox-group-token.d.ts +0 -6
- package/checkbox/malva-ui-core-checkbox.d.ts +0 -5
- package/chip/index.d.ts +0 -2
- package/chip/lib/chip/chip.d.ts +0 -107
- package/chip/lib/chip/chip.directives.d.ts +0 -18
- package/chip/malva-ui-core-chip.d.ts +0 -5
- package/color-picker/index.d.ts +0 -3
- package/color-picker/lib/color-picker/color-picker.d.ts +0 -188
- package/color-picker/lib/color-picker-popup/color-picker-popup.d.ts +0 -151
- package/color-picker/lib/color-utils/color-utils.d.ts +0 -102
- package/color-picker/malva-ui-core-color-picker.d.ts +0 -5
- package/combobox/index.d.ts +0 -2
- package/combobox/lib/combobox/combobox.d.ts +0 -400
- package/combobox/lib/combobox-template.directives.d.ts +0 -10
- package/combobox/malva-ui-core-combobox.d.ts +0 -5
- package/copy-to-clipboard/index.d.ts +0 -1
- package/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.d.ts +0 -130
- package/copy-to-clipboard/malva-ui-core-copy-to-clipboard.d.ts +0 -5
- package/data-table/index.d.ts +0 -8
- package/data-table/lib/data-source.d.ts +0 -5
- package/data-table/lib/data-table/data-table-layout.d.ts +0 -31
- package/data-table/lib/data-table/data-table.d.ts +0 -699
- package/data-table/lib/data-table/services/data-table-column-visibility.service.d.ts +0 -19
- package/data-table/lib/data-table/services/data-table-editing.service.d.ts +0 -37
- package/data-table/lib/data-table/services/data-table-pinning.service.d.ts +0 -37
- package/data-table/lib/data-table-cell.d.ts +0 -44
- package/data-table/lib/data-table-edit-cell.d.ts +0 -44
- package/data-table/lib/data-table-error.d.ts +0 -37
- package/data-table/lib/data-table-footer.d.ts +0 -26
- package/data-table/lib/data-table-no-data.d.ts +0 -19
- package/data-table/lib/filter-dropdown/filter-dropdown.d.ts +0 -54
- package/data-table/lib/types.d.ts +0 -134
- package/data-table/malva-ui-core-data-table.d.ts +0 -5
- package/date-range-picker/index.d.ts +0 -1
- package/date-range-picker/lib/date-range-picker/date-range-picker.d.ts +0 -145
- package/date-range-picker/malva-ui-core-date-range-picker.d.ts +0 -5
- package/day-picker/index.d.ts +0 -1
- package/day-picker/lib/day-picker/day-picker.d.ts +0 -51
- package/day-picker/malva-ui-core-day-picker.d.ts +0 -5
- package/dialog/index.d.ts +0 -11
- package/dialog/lib/confirm-dialog-options.d.ts +0 -41
- package/dialog/lib/confirm-dialog.d.ts +0 -52
- package/dialog/lib/dialog/dialog.d.ts +0 -22
- package/dialog/lib/dialog-body.d.ts +0 -9
- package/dialog/lib/dialog-close.d.ts +0 -27
- package/dialog/lib/dialog-config.d.ts +0 -112
- package/dialog/lib/dialog-container.d.ts +0 -40
- package/dialog/lib/dialog-footer.d.ts +0 -13
- package/dialog/lib/dialog-header.d.ts +0 -74
- package/dialog/lib/dialog-ref.d.ts +0 -95
- package/dialog/lib/dialog-template.d.ts +0 -65
- package/dialog/lib/dialog-text-content.d.ts +0 -24
- package/dialog/lib/dialog.service.d.ts +0 -63
- package/dialog/lib/generate-routable-dialog-route.d.ts +0 -49
- package/dialog/lib/inject-dialog-ref.d.ts +0 -8
- package/dialog/lib/routable-dialog.d.ts +0 -30
- package/dialog/malva-ui-core-dialog.d.ts +0 -5
- package/divider/index.d.ts +0 -1
- package/divider/lib/divider/divider.d.ts +0 -64
- package/divider/malva-ui-core-divider.d.ts +0 -5
- package/drawer/index.d.ts +0 -11
- package/drawer/lib/drawer/drawer.d.ts +0 -106
- package/drawer/lib/drawer-body.d.ts +0 -8
- package/drawer/lib/drawer-content.d.ts +0 -6
- package/drawer/lib/drawer-footer.d.ts +0 -5
- package/drawer/lib/drawer-header.d.ts +0 -5
- package/drawer/lib/drawer-ref.d.ts +0 -29
- package/drawer/lib/drawer-resize.d.ts +0 -65
- package/drawer/lib/drawer-section/drawer-section.d.ts +0 -15
- package/drawer/lib/drawer-sections/drawer-sections.d.ts +0 -22
- package/drawer/lib/drawer-sections.service.d.ts +0 -42
- package/drawer/lib/drawer.service.d.ts +0 -66
- package/drawer/lib/generate-routable-drawer-route.d.ts +0 -42
- package/drawer/lib/routable-drawer.d.ts +0 -30
- package/drawer/malva-ui-core-drawer.d.ts +0 -5
- package/dropdown/index.d.ts +0 -9
- package/dropdown/lib/active-descendant.d.ts +0 -64
- package/dropdown/lib/dropdown-panel/dropdown-panel.d.ts +0 -178
- package/dropdown/lib/highlight-match.pipe.d.ts +0 -27
- package/dropdown/lib/option-matcher.d.ts +0 -87
- package/dropdown/lib/options-adapter.d.ts +0 -142
- package/dropdown/lib/options-result.d.ts +0 -6
- package/dropdown/lib/reconciliation.d.ts +0 -19
- package/dropdown/lib/select-data-source.d.ts +0 -18
- package/dropdown/lib/select-option.d.ts +0 -37
- package/dropdown/malva-ui-core-dropdown.d.ts +0 -5
- package/empty-state/index.d.ts +0 -1
- package/empty-state/lib/empty-state/empty-state.d.ts +0 -34
- package/empty-state/malva-ui-core-empty-state.d.ts +0 -5
- package/esm2022/accordion/index.js +0 -4
- package/esm2022/accordion/index.js.map +0 -1
- package/esm2022/accordion/lib/accordion/accordion.js +0 -65
- package/esm2022/accordion/lib/accordion/accordion.js.map +0 -1
- package/esm2022/accordion/lib/accordion-item/accordion-header.js +0 -30
- package/esm2022/accordion/lib/accordion-item/accordion-header.js.map +0 -1
- package/esm2022/accordion/lib/accordion-item/accordion-item.js +0 -70
- package/esm2022/accordion/lib/accordion-item/accordion-item.js.map +0 -1
- package/esm2022/accordion/malva-ui-core-accordion.js +0 -5
- package/esm2022/accordion/malva-ui-core-accordion.js.map +0 -1
- package/esm2022/action-bar/index.js +0 -5
- package/esm2022/action-bar/index.js.map +0 -1
- package/esm2022/action-bar/lib/action-bar/action-bar.js +0 -64
- package/esm2022/action-bar/lib/action-bar/action-bar.js.map +0 -1
- package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js +0 -20
- package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js.map +0 -1
- package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js +0 -13
- package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js.map +0 -1
- package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js +0 -13
- package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js.map +0 -1
- package/esm2022/action-bar/malva-ui-core-action-bar.js +0 -5
- package/esm2022/action-bar/malva-ui-core-action-bar.js.map +0 -1
- package/esm2022/alert/index.js +0 -3
- package/esm2022/alert/index.js.map +0 -1
- package/esm2022/alert/lib/alert/alert.directives.js +0 -53
- package/esm2022/alert/lib/alert/alert.directives.js.map +0 -1
- package/esm2022/alert/lib/alert/alert.js +0 -118
- package/esm2022/alert/lib/alert/alert.js.map +0 -1
- package/esm2022/alert/malva-ui-core-alert.js +0 -5
- package/esm2022/alert/malva-ui-core-alert.js.map +0 -1
- package/esm2022/autocomplete/index.js +0 -2
- package/esm2022/autocomplete/index.js.map +0 -1
- package/esm2022/autocomplete/lib/autocomplete/autocomplete.js +0 -765
- package/esm2022/autocomplete/lib/autocomplete/autocomplete.js.map +0 -1
- package/esm2022/autocomplete/malva-ui-core-autocomplete.js +0 -5
- package/esm2022/autocomplete/malva-ui-core-autocomplete.js.map +0 -1
- package/esm2022/avatar/index.js +0 -3
- package/esm2022/avatar/index.js.map +0 -1
- package/esm2022/avatar/lib/avatar/avatar.js +0 -192
- package/esm2022/avatar/lib/avatar/avatar.js.map +0 -1
- package/esm2022/avatar/lib/color-from-text.pipe.js +0 -39
- package/esm2022/avatar/lib/color-from-text.pipe.js.map +0 -1
- package/esm2022/avatar/malva-ui-core-avatar.js +0 -5
- package/esm2022/avatar/malva-ui-core-avatar.js.map +0 -1
- package/esm2022/avatar-group/index.js +0 -2
- package/esm2022/avatar-group/index.js.map +0 -1
- package/esm2022/avatar-group/lib/avatar-group/avatar-group.js +0 -217
- package/esm2022/avatar-group/lib/avatar-group/avatar-group.js.map +0 -1
- package/esm2022/avatar-group/malva-ui-core-avatar-group.js +0 -5
- package/esm2022/avatar-group/malva-ui-core-avatar-group.js.map +0 -1
- package/esm2022/badge/index.js +0 -3
- package/esm2022/badge/index.js.map +0 -1
- package/esm2022/badge/lib/badge/badge.js +0 -71
- package/esm2022/badge/lib/badge/badge.js.map +0 -1
- package/esm2022/badge/lib/badge-icon.js +0 -47
- package/esm2022/badge/lib/badge-icon.js.map +0 -1
- package/esm2022/badge/malva-ui-core-badge.js +0 -5
- package/esm2022/badge/malva-ui-core-badge.js.map +0 -1
- package/esm2022/bottom-nav/index.js +0 -2
- package/esm2022/bottom-nav/index.js.map +0 -1
- package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js +0 -155
- package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js.map +0 -1
- package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js +0 -5
- package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js.map +0 -1
- package/esm2022/breadcrumb/index.js +0 -6
- package/esm2022/breadcrumb/index.js.map +0 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js +0 -43
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js.map +0 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js +0 -110
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js.map +0 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js +0 -38
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js.map +0 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js +0 -284
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js.map +0 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js +0 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js.map +0 -1
- package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js +0 -5
- package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js.map +0 -1
- package/esm2022/button/index.js +0 -8
- package/esm2022/button/index.js.map +0 -1
- package/esm2022/button/lib/button/button.js +0 -137
- package/esm2022/button/lib/button/button.js.map +0 -1
- package/esm2022/button/lib/button-close/button-close.js +0 -52
- package/esm2022/button/lib/button-close/button-close.js.map +0 -1
- package/esm2022/button/lib/button-group/button-group.js +0 -44
- package/esm2022/button/lib/button-group/button-group.js.map +0 -1
- package/esm2022/button/lib/button-split/button-split.js +0 -44
- package/esm2022/button/lib/button-split/button-split.js.map +0 -1
- package/esm2022/button/lib/button-toggle/button-toggle.js +0 -94
- package/esm2022/button/lib/button-toggle/button-toggle.js.map +0 -1
- package/esm2022/button/lib/button-variant.token.js +0 -4
- package/esm2022/button/lib/button-variant.token.js.map +0 -1
- package/esm2022/button/lib/button.directives.js +0 -37
- package/esm2022/button/lib/button.directives.js.map +0 -1
- package/esm2022/button/lib/button.types.js +0 -1
- package/esm2022/button/lib/button.types.js.map +0 -1
- package/esm2022/button/malva-ui-core-button.js +0 -5
- package/esm2022/button/malva-ui-core-button.js.map +0 -1
- package/esm2022/calendar/index.js +0 -4
- package/esm2022/calendar/index.js.map +0 -1
- package/esm2022/calendar/lib/calendar/calendar.js +0 -672
- package/esm2022/calendar/lib/calendar/calendar.js.map +0 -1
- package/esm2022/calendar/lib/date-provider/date-adapter.js +0 -111
- package/esm2022/calendar/lib/date-provider/date-adapter.js.map +0 -1
- package/esm2022/calendar/lib/date-provider/native-date-adapter.js +0 -151
- package/esm2022/calendar/lib/date-provider/native-date-adapter.js.map +0 -1
- package/esm2022/calendar/malva-ui-core-calendar.js +0 -5
- package/esm2022/calendar/malva-ui-core-calendar.js.map +0 -1
- package/esm2022/card/index.js +0 -6
- package/esm2022/card/index.js.map +0 -1
- package/esm2022/card/lib/card/card.js +0 -54
- package/esm2022/card/lib/card/card.js.map +0 -1
- package/esm2022/card/lib/card-actions-def.js +0 -27
- package/esm2022/card/lib/card-actions-def.js.map +0 -1
- package/esm2022/card/lib/card-footer-def.js +0 -32
- package/esm2022/card/lib/card-footer-def.js.map +0 -1
- package/esm2022/card/lib/card-header-def.js +0 -27
- package/esm2022/card/lib/card-header-def.js.map +0 -1
- package/esm2022/card/lib/card-subheader-def.js +0 -33
- package/esm2022/card/lib/card-subheader-def.js.map +0 -1
- package/esm2022/card/malva-ui-core-card.js +0 -5
- package/esm2022/card/malva-ui-core-card.js.map +0 -1
- package/esm2022/chat/index.js +0 -10
- package/esm2022/chat/index.js.map +0 -1
- package/esm2022/chat/lib/chat/chat.js +0 -326
- package/esm2022/chat/lib/chat/chat.js.map +0 -1
- package/esm2022/chat/lib/chat-audio/chat-audio.js +0 -110
- package/esm2022/chat/lib/chat-audio/chat-audio.js.map +0 -1
- package/esm2022/chat/lib/chat-audio/chat-audio.service.js +0 -28
- package/esm2022/chat/lib/chat-audio/chat-audio.service.js.map +0 -1
- package/esm2022/chat/lib/chat-date/chat-date.js +0 -46
- package/esm2022/chat/lib/chat-date/chat-date.js.map +0 -1
- package/esm2022/chat/lib/chat-format.js +0 -11
- package/esm2022/chat/lib/chat-format.js.map +0 -1
- package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js +0 -53
- package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js.map +0 -1
- package/esm2022/chat/lib/chat-message/chat-message.js +0 -86
- package/esm2022/chat/lib/chat-message/chat-message.js.map +0 -1
- package/esm2022/chat/lib/chat-render-list.js +0 -55
- package/esm2022/chat/lib/chat-render-list.js.map +0 -1
- package/esm2022/chat/lib/chat-tokens.js +0 -9
- package/esm2022/chat/lib/chat-tokens.js.map +0 -1
- package/esm2022/chat/lib/chat-typing/chat-typing.js +0 -50
- package/esm2022/chat/lib/chat-typing/chat-typing.js.map +0 -1
- package/esm2022/chat/lib/chat.types.js +0 -1
- package/esm2022/chat/lib/chat.types.js.map +0 -1
- package/esm2022/chat/lib/defs/chat-author-def.js +0 -27
- package/esm2022/chat/lib/defs/chat-author-def.js.map +0 -1
- package/esm2022/chat/lib/defs/chat-date-def.js +0 -24
- package/esm2022/chat/lib/defs/chat-date-def.js.map +0 -1
- package/esm2022/chat/lib/defs/chat-message-def.js +0 -30
- package/esm2022/chat/lib/defs/chat-message-def.js.map +0 -1
- package/esm2022/chat/malva-ui-core-chat.js +0 -5
- package/esm2022/chat/malva-ui-core-chat.js.map +0 -1
- package/esm2022/checkbox/index.js +0 -4
- package/esm2022/checkbox/index.js.map +0 -1
- package/esm2022/checkbox/lib/checkbox/checkbox.js +0 -201
- package/esm2022/checkbox/lib/checkbox/checkbox.js.map +0 -1
- package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js +0 -68
- package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js.map +0 -1
- package/esm2022/checkbox/lib/checkbox-group-token.js +0 -3
- package/esm2022/checkbox/lib/checkbox-group-token.js.map +0 -1
- package/esm2022/checkbox/malva-ui-core-checkbox.js +0 -5
- package/esm2022/checkbox/malva-ui-core-checkbox.js.map +0 -1
- package/esm2022/chip/index.js +0 -3
- package/esm2022/chip/index.js.map +0 -1
- package/esm2022/chip/lib/chip/chip.directives.js +0 -32
- package/esm2022/chip/lib/chip/chip.directives.js.map +0 -1
- package/esm2022/chip/lib/chip/chip.js +0 -140
- package/esm2022/chip/lib/chip/chip.js.map +0 -1
- package/esm2022/chip/malva-ui-core-chip.js +0 -5
- package/esm2022/chip/malva-ui-core-chip.js.map +0 -1
- package/esm2022/color-picker/index.js +0 -4
- package/esm2022/color-picker/index.js.map +0 -1
- package/esm2022/color-picker/lib/color-picker/color-picker.js +0 -530
- package/esm2022/color-picker/lib/color-picker/color-picker.js.map +0 -1
- package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js +0 -419
- package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js.map +0 -1
- package/esm2022/color-picker/lib/color-utils/color-utils.js +0 -256
- package/esm2022/color-picker/lib/color-utils/color-utils.js.map +0 -1
- package/esm2022/color-picker/malva-ui-core-color-picker.js +0 -5
- package/esm2022/color-picker/malva-ui-core-color-picker.js.map +0 -1
- package/esm2022/combobox/index.js +0 -3
- package/esm2022/combobox/index.js.map +0 -1
- package/esm2022/combobox/lib/combobox/combobox.js +0 -911
- package/esm2022/combobox/lib/combobox/combobox.js.map +0 -1
- package/esm2022/combobox/lib/combobox-template.directives.js +0 -24
- package/esm2022/combobox/lib/combobox-template.directives.js.map +0 -1
- package/esm2022/combobox/malva-ui-core-combobox.js +0 -5
- package/esm2022/combobox/malva-ui-core-combobox.js.map +0 -1
- package/esm2022/copy-to-clipboard/index.js +0 -2
- package/esm2022/copy-to-clipboard/index.js.map +0 -1
- package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js +0 -201
- package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js.map +0 -1
- package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js +0 -5
- package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js.map +0 -1
- package/esm2022/data-table/index.js +0 -9
- package/esm2022/data-table/index.js.map +0 -1
- package/esm2022/data-table/lib/data-source.js +0 -6
- package/esm2022/data-table/lib/data-source.js.map +0 -1
- package/esm2022/data-table/lib/data-table/data-table-layout.js +0 -84
- package/esm2022/data-table/lib/data-table/data-table-layout.js.map +0 -1
- package/esm2022/data-table/lib/data-table/data-table.js +0 -1846
- package/esm2022/data-table/lib/data-table/data-table.js.map +0 -1
- package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js +0 -37
- package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js.map +0 -1
- package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js +0 -63
- package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js.map +0 -1
- package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js +0 -68
- package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js.map +0 -1
- package/esm2022/data-table/lib/data-table-cell.js +0 -46
- package/esm2022/data-table/lib/data-table-cell.js.map +0 -1
- package/esm2022/data-table/lib/data-table-edit-cell.js +0 -46
- package/esm2022/data-table/lib/data-table-edit-cell.js.map +0 -1
- package/esm2022/data-table/lib/data-table-error.js +0 -37
- package/esm2022/data-table/lib/data-table-error.js.map +0 -1
- package/esm2022/data-table/lib/data-table-footer.js +0 -33
- package/esm2022/data-table/lib/data-table-footer.js.map +0 -1
- package/esm2022/data-table/lib/data-table-no-data.js +0 -26
- package/esm2022/data-table/lib/data-table-no-data.js.map +0 -1
- package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js +0 -224
- package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js.map +0 -1
- package/esm2022/data-table/lib/types.js +0 -1
- package/esm2022/data-table/lib/types.js.map +0 -1
- package/esm2022/data-table/malva-ui-core-data-table.js +0 -5
- package/esm2022/data-table/malva-ui-core-data-table.js.map +0 -1
- package/esm2022/date-range-picker/index.js +0 -2
- package/esm2022/date-range-picker/index.js.map +0 -1
- package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js +0 -269
- package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js.map +0 -1
- package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js +0 -5
- package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js.map +0 -1
- package/esm2022/day-picker/index.js +0 -2
- package/esm2022/day-picker/index.js.map +0 -1
- package/esm2022/day-picker/lib/day-picker/day-picker.js +0 -124
- package/esm2022/day-picker/lib/day-picker/day-picker.js.map +0 -1
- package/esm2022/day-picker/malva-ui-core-day-picker.js +0 -5
- package/esm2022/day-picker/malva-ui-core-day-picker.js.map +0 -1
- package/esm2022/dialog/index.js +0 -12
- package/esm2022/dialog/index.js.map +0 -1
- package/esm2022/dialog/lib/confirm-dialog-options.js +0 -1
- package/esm2022/dialog/lib/confirm-dialog-options.js.map +0 -1
- package/esm2022/dialog/lib/confirm-dialog.js +0 -155
- package/esm2022/dialog/lib/confirm-dialog.js.map +0 -1
- package/esm2022/dialog/lib/dialog/dialog.js +0 -40
- package/esm2022/dialog/lib/dialog/dialog.js.map +0 -1
- package/esm2022/dialog/lib/dialog-body.js +0 -33
- package/esm2022/dialog/lib/dialog-body.js.map +0 -1
- package/esm2022/dialog/lib/dialog-close.js +0 -45
- package/esm2022/dialog/lib/dialog-close.js.map +0 -1
- package/esm2022/dialog/lib/dialog-config.js +0 -23
- package/esm2022/dialog/lib/dialog-config.js.map +0 -1
- package/esm2022/dialog/lib/dialog-container.js +0 -69
- package/esm2022/dialog/lib/dialog-container.js.map +0 -1
- package/esm2022/dialog/lib/dialog-footer.js +0 -29
- package/esm2022/dialog/lib/dialog-footer.js.map +0 -1
- package/esm2022/dialog/lib/dialog-header.js +0 -181
- package/esm2022/dialog/lib/dialog-header.js.map +0 -1
- package/esm2022/dialog/lib/dialog-ref.js +0 -167
- package/esm2022/dialog/lib/dialog-ref.js.map +0 -1
- package/esm2022/dialog/lib/dialog-template.js +0 -136
- package/esm2022/dialog/lib/dialog-template.js.map +0 -1
- package/esm2022/dialog/lib/dialog-text-content.js +0 -59
- package/esm2022/dialog/lib/dialog-text-content.js.map +0 -1
- package/esm2022/dialog/lib/dialog.service.js +0 -205
- package/esm2022/dialog/lib/dialog.service.js.map +0 -1
- package/esm2022/dialog/lib/generate-routable-dialog-route.js +0 -59
- package/esm2022/dialog/lib/generate-routable-dialog-route.js.map +0 -1
- package/esm2022/dialog/lib/inject-dialog-ref.js +0 -16
- package/esm2022/dialog/lib/inject-dialog-ref.js.map +0 -1
- package/esm2022/dialog/lib/routable-dialog.js +0 -91
- package/esm2022/dialog/lib/routable-dialog.js.map +0 -1
- package/esm2022/dialog/malva-ui-core-dialog.js +0 -5
- package/esm2022/dialog/malva-ui-core-dialog.js.map +0 -1
- package/esm2022/divider/index.js +0 -2
- package/esm2022/divider/index.js.map +0 -1
- package/esm2022/divider/lib/divider/divider.js +0 -73
- package/esm2022/divider/lib/divider/divider.js.map +0 -1
- package/esm2022/divider/malva-ui-core-divider.js +0 -5
- package/esm2022/divider/malva-ui-core-divider.js.map +0 -1
- package/esm2022/drawer/index.js +0 -12
- package/esm2022/drawer/index.js.map +0 -1
- package/esm2022/drawer/lib/drawer/drawer.js +0 -180
- package/esm2022/drawer/lib/drawer/drawer.js.map +0 -1
- package/esm2022/drawer/lib/drawer-body.js +0 -32
- package/esm2022/drawer/lib/drawer-body.js.map +0 -1
- package/esm2022/drawer/lib/drawer-content.js +0 -14
- package/esm2022/drawer/lib/drawer-content.js.map +0 -1
- package/esm2022/drawer/lib/drawer-footer.js +0 -14
- package/esm2022/drawer/lib/drawer-footer.js.map +0 -1
- package/esm2022/drawer/lib/drawer-header.js +0 -14
- package/esm2022/drawer/lib/drawer-header.js.map +0 -1
- package/esm2022/drawer/lib/drawer-ref.js +0 -31
- package/esm2022/drawer/lib/drawer-ref.js.map +0 -1
- package/esm2022/drawer/lib/drawer-resize.js +0 -243
- package/esm2022/drawer/lib/drawer-resize.js.map +0 -1
- package/esm2022/drawer/lib/drawer-section/drawer-section.js +0 -26
- package/esm2022/drawer/lib/drawer-section/drawer-section.js.map +0 -1
- package/esm2022/drawer/lib/drawer-sections/drawer-sections.js +0 -58
- package/esm2022/drawer/lib/drawer-sections/drawer-sections.js.map +0 -1
- package/esm2022/drawer/lib/drawer-sections.service.js +0 -83
- package/esm2022/drawer/lib/drawer-sections.service.js.map +0 -1
- package/esm2022/drawer/lib/drawer.service.js +0 -86
- package/esm2022/drawer/lib/drawer.service.js.map +0 -1
- package/esm2022/drawer/lib/generate-routable-drawer-route.js +0 -52
- package/esm2022/drawer/lib/generate-routable-drawer-route.js.map +0 -1
- package/esm2022/drawer/lib/routable-drawer.js +0 -91
- package/esm2022/drawer/lib/routable-drawer.js.map +0 -1
- package/esm2022/drawer/malva-ui-core-drawer.js +0 -5
- package/esm2022/drawer/malva-ui-core-drawer.js.map +0 -1
- package/esm2022/dropdown/index.js +0 -10
- package/esm2022/dropdown/index.js.map +0 -1
- package/esm2022/dropdown/lib/active-descendant.js +0 -92
- package/esm2022/dropdown/lib/active-descendant.js.map +0 -1
- package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js +0 -295
- package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js.map +0 -1
- package/esm2022/dropdown/lib/highlight-match.pipe.js +0 -36
- package/esm2022/dropdown/lib/highlight-match.pipe.js.map +0 -1
- package/esm2022/dropdown/lib/option-matcher.js +0 -124
- package/esm2022/dropdown/lib/option-matcher.js.map +0 -1
- package/esm2022/dropdown/lib/options-adapter.js +0 -356
- package/esm2022/dropdown/lib/options-adapter.js.map +0 -1
- package/esm2022/dropdown/lib/options-result.js +0 -11
- package/esm2022/dropdown/lib/options-result.js.map +0 -1
- package/esm2022/dropdown/lib/reconciliation.js +0 -32
- package/esm2022/dropdown/lib/reconciliation.js.map +0 -1
- package/esm2022/dropdown/lib/select-data-source.js +0 -21
- package/esm2022/dropdown/lib/select-data-source.js.map +0 -1
- package/esm2022/dropdown/lib/select-option.js +0 -25
- package/esm2022/dropdown/lib/select-option.js.map +0 -1
- package/esm2022/dropdown/malva-ui-core-dropdown.js +0 -5
- package/esm2022/dropdown/malva-ui-core-dropdown.js.map +0 -1
- package/esm2022/empty-state/index.js +0 -2
- package/esm2022/empty-state/index.js.map +0 -1
- package/esm2022/empty-state/lib/empty-state/empty-state.js +0 -43
- package/esm2022/empty-state/lib/empty-state/empty-state.js.map +0 -1
- package/esm2022/empty-state/malva-ui-core-empty-state.js +0 -5
- package/esm2022/empty-state/malva-ui-core-empty-state.js.map +0 -1
- package/esm2022/expand/index.js +0 -3
- package/esm2022/expand/index.js.map +0 -1
- package/esm2022/expand/lib/expand/expand-content.js +0 -33
- package/esm2022/expand/lib/expand/expand-content.js.map +0 -1
- package/esm2022/expand/lib/expand/expand.js +0 -93
- package/esm2022/expand/lib/expand/expand.js.map +0 -1
- package/esm2022/expand/malva-ui-core-expand.js +0 -5
- package/esm2022/expand/malva-ui-core-expand.js.map +0 -1
- package/esm2022/file-upload/index.js +0 -5
- package/esm2022/file-upload/index.js.map +0 -1
- package/esm2022/file-upload/lib/file-upload/file-upload.js +0 -324
- package/esm2022/file-upload/lib/file-upload/file-upload.js.map +0 -1
- package/esm2022/file-upload/lib/file-upload/file-upload.types.js +0 -1
- package/esm2022/file-upload/lib/file-upload/file-upload.types.js.map +0 -1
- package/esm2022/file-upload/lib/file-upload-action.js +0 -65
- package/esm2022/file-upload/lib/file-upload-action.js.map +0 -1
- package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js +0 -55
- package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js.map +0 -1
- package/esm2022/file-upload/malva-ui-core-file-upload.js +0 -5
- package/esm2022/file-upload/malva-ui-core-file-upload.js.map +0 -1
- package/esm2022/filter/index.js +0 -4
- package/esm2022/filter/index.js.map +0 -1
- package/esm2022/filter/lib/filter/filter.js +0 -552
- package/esm2022/filter/lib/filter/filter.js.map +0 -1
- package/esm2022/filter/lib/filter.types.js +0 -1
- package/esm2022/filter/lib/filter.types.js.map +0 -1
- package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js +0 -518
- package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js.map +0 -1
- package/esm2022/filter/malva-ui-core-filter.js +0 -5
- package/esm2022/filter/malva-ui-core-filter.js.map +0 -1
- package/esm2022/form/index.js +0 -7
- package/esm2022/form/index.js.map +0 -1
- package/esm2022/form/lib/fieldset/fieldset.js +0 -101
- package/esm2022/form/lib/fieldset/fieldset.js.map +0 -1
- package/esm2022/form/lib/fieldset-span.js +0 -49
- package/esm2022/form/lib/fieldset-span.js.map +0 -1
- package/esm2022/form/lib/form/form.js +0 -60
- package/esm2022/form/lib/form/form.js.map +0 -1
- package/esm2022/form/lib/form-actions.js +0 -34
- package/esm2022/form/lib/form-actions.js.map +0 -1
- package/esm2022/form/lib/form-gap.js +0 -15
- package/esm2022/form/lib/form-gap.js.map +0 -1
- package/esm2022/form/lib/form-header.js +0 -27
- package/esm2022/form/lib/form-header.js.map +0 -1
- package/esm2022/form/lib/form.types.js +0 -1
- package/esm2022/form/lib/form.types.js.map +0 -1
- package/esm2022/form/malva-ui-core-form.js +0 -5
- package/esm2022/form/malva-ui-core-form.js.map +0 -1
- package/esm2022/form-utils/index.js +0 -16
- package/esm2022/form-utils/index.js.map +0 -1
- package/esm2022/form-utils/lib/aria-value-bridge.js +0 -57
- package/esm2022/form-utils/lib/aria-value-bridge.js.map +0 -1
- package/esm2022/form-utils/lib/description/description.js +0 -24
- package/esm2022/form-utils/lib/description/description.js.map +0 -1
- package/esm2022/form-utils/lib/focusable-group-base.js +0 -87
- package/esm2022/form-utils/lib/focusable-group-base.js.map +0 -1
- package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js +0 -192
- package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js.map +0 -1
- package/esm2022/form-utils/lib/form-control-sides.js +0 -34
- package/esm2022/form-utils/lib/form-control-sides.js.map +0 -1
- package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js +0 -14
- package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js.map +0 -1
- package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js +0 -47
- package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js.map +0 -1
- package/esm2022/form-utils/lib/form-field/form-field.js +0 -245
- package/esm2022/form-utils/lib/form-field/form-field.js.map +0 -1
- package/esm2022/form-utils/lib/hint/hint.js +0 -11
- package/esm2022/form-utils/lib/hint/hint.js.map +0 -1
- package/esm2022/form-utils/lib/label/label.js +0 -55
- package/esm2022/form-utils/lib/label/label.js.map +0 -1
- package/esm2022/form-utils/lib/message/message.js +0 -20
- package/esm2022/form-utils/lib/message/message.js.map +0 -1
- package/esm2022/form-utils/lib/models/error-display-strategy.js +0 -1
- package/esm2022/form-utils/lib/models/error-display-strategy.js.map +0 -1
- package/esm2022/form-utils/lib/models/form-control-connector.js +0 -3
- package/esm2022/form-utils/lib/models/form-control-connector.js.map +0 -1
- package/esm2022/form-utils/lib/models/form-state.js +0 -1
- package/esm2022/form-utils/lib/models/form-state.js.map +0 -1
- package/esm2022/form-utils/lib/selection.service.js +0 -81
- package/esm2022/form-utils/lib/selection.service.js.map +0 -1
- package/esm2022/form-utils/malva-ui-core-form-utils.js +0 -5
- package/esm2022/form-utils/malva-ui-core-form-utils.js.map +0 -1
- package/esm2022/form-utils/testing/index.js +0 -2
- package/esm2022/form-utils/testing/index.js.map +0 -1
- package/esm2022/form-utils/testing/lib/forms-binding-matrix.js +0 -32
- package/esm2022/form-utils/testing/lib/forms-binding-matrix.js.map +0 -1
- package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js +0 -5
- package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js.map +0 -1
- package/esm2022/index.js +0 -70
- package/esm2022/index.js.map +0 -1
- package/esm2022/input/index.js +0 -4
- package/esm2022/input/index.js.map +0 -1
- package/esm2022/input/lib/input/input-native.js +0 -49
- package/esm2022/input/lib/input/input-native.js.map +0 -1
- package/esm2022/input/lib/input/input-value-accessor.js +0 -4
- package/esm2022/input/lib/input/input-value-accessor.js.map +0 -1
- package/esm2022/input/lib/input/input.js +0 -277
- package/esm2022/input/lib/input/input.js.map +0 -1
- package/esm2022/input/lib/input/password-strength.js +0 -46
- package/esm2022/input/lib/input/password-strength.js.map +0 -1
- package/esm2022/input/malva-ui-core-input.js +0 -5
- package/esm2022/input/malva-ui-core-input.js.map +0 -1
- package/esm2022/kbd/index.js +0 -2
- package/esm2022/kbd/index.js.map +0 -1
- package/esm2022/kbd/lib/kbd/kbd.js +0 -124
- package/esm2022/kbd/lib/kbd/kbd.js.map +0 -1
- package/esm2022/kbd/malva-ui-core-kbd.js +0 -5
- package/esm2022/kbd/malva-ui-core-kbd.js.map +0 -1
- package/esm2022/layout/index.js +0 -5
- package/esm2022/layout/index.js.map +0 -1
- package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js +0 -14
- package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js.map +0 -1
- package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js +0 -14
- package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js.map +0 -1
- package/esm2022/layout/lib/layout/layout.js +0 -43
- package/esm2022/layout/lib/layout/layout.js.map +0 -1
- package/esm2022/layout/lib/layout/services/theme.service.js +0 -121
- package/esm2022/layout/lib/layout/services/theme.service.js.map +0 -1
- package/esm2022/layout/malva-ui-core-layout.js +0 -5
- package/esm2022/layout/malva-ui-core-layout.js.map +0 -1
- package/esm2022/link/index.js +0 -3
- package/esm2022/link/index.js.map +0 -1
- package/esm2022/link/lib/link/link.directives.js +0 -24
- package/esm2022/link/lib/link/link.directives.js.map +0 -1
- package/esm2022/link/lib/link/link.js +0 -61
- package/esm2022/link/lib/link/link.js.map +0 -1
- package/esm2022/link/malva-ui-core-link.js +0 -5
- package/esm2022/link/malva-ui-core-link.js.map +0 -1
- package/esm2022/list/index.js +0 -14
- package/esm2022/list/index.js.map +0 -1
- package/esm2022/list/lib/list/list.js +0 -28
- package/esm2022/list/lib/list/list.js.map +0 -1
- package/esm2022/list/lib/list-item/list-item.js +0 -125
- package/esm2022/list/lib/list-item/list-item.js.map +0 -1
- package/esm2022/list/lib/list-item-actions.js +0 -23
- package/esm2022/list/lib/list-item-actions.js.map +0 -1
- package/esm2022/list/lib/list-item-byline.js +0 -13
- package/esm2022/list/lib/list-item-byline.js.map +0 -1
- package/esm2022/list/lib/list-item-group/list-item-group.js +0 -25
- package/esm2022/list/lib/list-item-group/list-item-group.js.map +0 -1
- package/esm2022/list/lib/list-item-link/list-item-link.js +0 -20
- package/esm2022/list/lib/list-item-link/list-item-link.js.map +0 -1
- package/esm2022/list/lib/list-item-media.js +0 -13
- package/esm2022/list/lib/list-item-media.js.map +0 -1
- package/esm2022/list/lib/list-item-meta.js +0 -13
- package/esm2022/list/lib/list-item-meta.js.map +0 -1
- package/esm2022/list/lib/list-item-prefix.js +0 -13
- package/esm2022/list/lib/list-item-prefix.js.map +0 -1
- package/esm2022/list/lib/list-item-suffix.js +0 -13
- package/esm2022/list/lib/list-item-suffix.js.map +0 -1
- package/esm2022/list/lib/list-item-template.js +0 -14
- package/esm2022/list/lib/list-item-template.js.map +0 -1
- package/esm2022/list/lib/list-item-title.js +0 -13
- package/esm2022/list/lib/list-item-title.js.map +0 -1
- package/esm2022/list/lib/list-selectable.js +0 -116
- package/esm2022/list/lib/list-selectable.js.map +0 -1
- package/esm2022/list/malva-ui-core-list.js +0 -5
- package/esm2022/list/malva-ui-core-list.js.map +0 -1
- package/esm2022/loader/index.js +0 -2
- package/esm2022/loader/index.js.map +0 -1
- package/esm2022/loader/lib/loader/loader.js +0 -134
- package/esm2022/loader/lib/loader/loader.js.map +0 -1
- package/esm2022/loader/malva-ui-core-loader.js +0 -5
- package/esm2022/loader/malva-ui-core-loader.js.map +0 -1
- package/esm2022/malva-ui-core.js +0 -5
- package/esm2022/malva-ui-core.js.map +0 -1
- package/esm2022/menu/index.js +0 -10
- package/esm2022/menu/index.js.map +0 -1
- package/esm2022/menu/lib/menu/menu-group-label.js +0 -35
- package/esm2022/menu/lib/menu/menu-group-label.js.map +0 -1
- package/esm2022/menu/lib/menu/menu-group.js +0 -44
- package/esm2022/menu/lib/menu/menu-group.js.map +0 -1
- package/esm2022/menu/lib/menu/menu-item.js +0 -117
- package/esm2022/menu/lib/menu/menu-item.js.map +0 -1
- package/esm2022/menu/lib/menu/menu-separator.js +0 -41
- package/esm2022/menu/lib/menu/menu-separator.js.map +0 -1
- package/esm2022/menu/lib/menu/menu-trigger.js +0 -653
- package/esm2022/menu/lib/menu/menu-trigger.js.map +0 -1
- package/esm2022/menu/lib/menu/menu.js +0 -308
- package/esm2022/menu/lib/menu/menu.js.map +0 -1
- package/esm2022/menu/lib/menu/menu.types.js +0 -4
- package/esm2022/menu/lib/menu/menu.types.js.map +0 -1
- package/esm2022/menu/lib/menu/menubar.js +0 -257
- package/esm2022/menu/lib/menu/menubar.js.map +0 -1
- package/esm2022/menu/lib/menu/menubar.types.js +0 -4
- package/esm2022/menu/lib/menu/menubar.types.js.map +0 -1
- package/esm2022/menu/lib/menu/submenu-aim.js +0 -30
- package/esm2022/menu/lib/menu/submenu-aim.js.map +0 -1
- package/esm2022/menu/malva-ui-core-menu.js +0 -5
- package/esm2022/menu/malva-ui-core-menu.js.map +0 -1
- package/esm2022/notification/index.js +0 -5
- package/esm2022/notification/index.js.map +0 -1
- package/esm2022/notification/lib/notification-item/notification-item.js +0 -65
- package/esm2022/notification/lib/notification-item/notification-item.js.map +0 -1
- package/esm2022/notification/lib/notification-ref.js +0 -13
- package/esm2022/notification/lib/notification-ref.js.map +0 -1
- package/esm2022/notification/lib/notification.service.js +0 -118
- package/esm2022/notification/lib/notification.service.js.map +0 -1
- package/esm2022/notification/lib/notification.types.js +0 -6
- package/esm2022/notification/lib/notification.types.js.map +0 -1
- package/esm2022/notification/malva-ui-core-notification.js +0 -5
- package/esm2022/notification/malva-ui-core-notification.js.map +0 -1
- package/esm2022/number-input/index.js +0 -2
- package/esm2022/number-input/index.js.map +0 -1
- package/esm2022/number-input/lib/number-input/number-input.js +0 -395
- package/esm2022/number-input/lib/number-input/number-input.js.map +0 -1
- package/esm2022/number-input/malva-ui-core-number-input.js +0 -5
- package/esm2022/number-input/malva-ui-core-number-input.js.map +0 -1
- package/esm2022/page/index.js +0 -15
- package/esm2022/page/index.js.map +0 -1
- package/esm2022/page/lib/page/page-scroll.token.js +0 -9
- package/esm2022/page/lib/page/page-scroll.token.js.map +0 -1
- package/esm2022/page/lib/page/page-snap-controller.js +0 -170
- package/esm2022/page/lib/page/page-snap-controller.js.map +0 -1
- package/esm2022/page/lib/page/page-snap.directive.js +0 -65
- package/esm2022/page/lib/page/page-snap.directive.js.map +0 -1
- package/esm2022/page/lib/page/page.js +0 -173
- package/esm2022/page/lib/page/page.js.map +0 -1
- package/esm2022/page/lib/page-content/page-aside.js +0 -13
- package/esm2022/page/lib/page-content/page-aside.js.map +0 -1
- package/esm2022/page/lib/page-content/page-content.js +0 -72
- package/esm2022/page/lib/page-content/page-content.js.map +0 -1
- package/esm2022/page/lib/page-dock/page-dock.js +0 -128
- package/esm2022/page/lib/page-dock/page-dock.js.map +0 -1
- package/esm2022/page/lib/page-dock/page-dock.slots.js +0 -39
- package/esm2022/page/lib/page-dock/page-dock.slots.js.map +0 -1
- package/esm2022/page/lib/page-header/page-header.directives.js +0 -88
- package/esm2022/page/lib/page-header/page-header.directives.js.map +0 -1
- package/esm2022/page/lib/page-header/page-header.js +0 -124
- package/esm2022/page/lib/page-header/page-header.js.map +0 -1
- package/esm2022/page/lib/page-shell/page-shell-color.js +0 -193
- package/esm2022/page/lib/page-shell/page-shell-color.js.map +0 -1
- package/esm2022/page/lib/page-shell/page-shell-css-color.js +0 -207
- package/esm2022/page/lib/page-shell/page-shell-css-color.js.map +0 -1
- package/esm2022/page/lib/page-shell/page-shell.js +0 -131
- package/esm2022/page/lib/page-shell/page-shell.js.map +0 -1
- package/esm2022/page/lib/page-shell/page-shell.slots.js +0 -41
- package/esm2022/page/lib/page-shell/page-shell.slots.js.map +0 -1
- package/esm2022/page/lib/page-summary/page-summary-item.js +0 -26
- package/esm2022/page/lib/page-summary/page-summary-item.js.map +0 -1
- package/esm2022/page/lib/page-summary/page-summary.js +0 -87
- package/esm2022/page/lib/page-summary/page-summary.js.map +0 -1
- package/esm2022/page/malva-ui-core-page.js +0 -5
- package/esm2022/page/malva-ui-core-page.js.map +0 -1
- package/esm2022/pagination/index.js +0 -5
- package/esm2022/pagination/index.js.map +0 -1
- package/esm2022/pagination/lib/pagination/pagination.directives.js +0 -58
- package/esm2022/pagination/lib/pagination/pagination.directives.js.map +0 -1
- package/esm2022/pagination/lib/pagination/pagination.js +0 -293
- package/esm2022/pagination/lib/pagination/pagination.js.map +0 -1
- package/esm2022/pagination/lib/pagination/pagination.model.js +0 -1
- package/esm2022/pagination/lib/pagination/pagination.model.js.map +0 -1
- package/esm2022/pagination/lib/pagination/pagination.service.js +0 -108
- package/esm2022/pagination/lib/pagination/pagination.service.js.map +0 -1
- package/esm2022/pagination/malva-ui-core-pagination.js +0 -5
- package/esm2022/pagination/malva-ui-core-pagination.js.map +0 -1
- package/esm2022/pin-input/index.js +0 -3
- package/esm2022/pin-input/index.js.map +0 -1
- package/esm2022/pin-input/lib/pin-input/pin-input-separator.js +0 -31
- package/esm2022/pin-input/lib/pin-input/pin-input-separator.js.map +0 -1
- package/esm2022/pin-input/lib/pin-input/pin-input.js +0 -365
- package/esm2022/pin-input/lib/pin-input/pin-input.js.map +0 -1
- package/esm2022/pin-input/malva-ui-core-pin-input.js +0 -5
- package/esm2022/pin-input/malva-ui-core-pin-input.js.map +0 -1
- package/esm2022/popup/index.js +0 -10
- package/esm2022/popup/index.js.map +0 -1
- package/esm2022/popup/lib/popup/popup.js +0 -500
- package/esm2022/popup/lib/popup/popup.js.map +0 -1
- package/esm2022/popup/lib/popup-container/popup-container.js +0 -169
- package/esm2022/popup/lib/popup-container/popup-container.js.map +0 -1
- package/esm2022/popup/lib/popup-container/popup-container.token.js +0 -9
- package/esm2022/popup/lib/popup-container/popup-container.token.js.map +0 -1
- package/esm2022/popup/lib/popup-content.js +0 -14
- package/esm2022/popup/lib/popup-content.js.map +0 -1
- package/esm2022/popup/lib/popup-header-content.js +0 -26
- package/esm2022/popup/lib/popup-header-content.js.map +0 -1
- package/esm2022/popup/lib/popup-pinned-content.js +0 -25
- package/esm2022/popup/lib/popup-pinned-content.js.map +0 -1
- package/esm2022/popup/lib/popup-positions.js +0 -252
- package/esm2022/popup/lib/popup-positions.js.map +0 -1
- package/esm2022/popup/lib/popup-trigger/popup-trigger.js +0 -308
- package/esm2022/popup/lib/popup-trigger/popup-trigger.js.map +0 -1
- package/esm2022/popup/lib/popup.service.js +0 -188
- package/esm2022/popup/lib/popup.service.js.map +0 -1
- package/esm2022/popup/malva-ui-core-popup.js +0 -5
- package/esm2022/popup/malva-ui-core-popup.js.map +0 -1
- package/esm2022/progress/index.js +0 -2
- package/esm2022/progress/index.js.map +0 -1
- package/esm2022/progress/lib/progress/progress.js +0 -102
- package/esm2022/progress/lib/progress/progress.js.map +0 -1
- package/esm2022/progress/malva-ui-core-progress.js +0 -5
- package/esm2022/progress/malva-ui-core-progress.js.map +0 -1
- package/esm2022/radio/index.js +0 -3
- package/esm2022/radio/index.js.map +0 -1
- package/esm2022/radio/lib/radio/radio.js +0 -134
- package/esm2022/radio/lib/radio/radio.js.map +0 -1
- package/esm2022/radio/lib/radio-group/radio-group.js +0 -176
- package/esm2022/radio/lib/radio-group/radio-group.js.map +0 -1
- package/esm2022/radio/lib/radio-group-token.js +0 -3
- package/esm2022/radio/lib/radio-group-token.js.map +0 -1
- package/esm2022/radio/malva-ui-core-radio.js +0 -5
- package/esm2022/radio/malva-ui-core-radio.js.map +0 -1
- package/esm2022/rating/index.js +0 -2
- package/esm2022/rating/index.js.map +0 -1
- package/esm2022/rating/lib/rating/rating.js +0 -208
- package/esm2022/rating/lib/rating/rating.js.map +0 -1
- package/esm2022/rating/malva-ui-core-rating.js +0 -5
- package/esm2022/rating/malva-ui-core-rating.js.map +0 -1
- package/esm2022/scrollbar/index.js +0 -2
- package/esm2022/scrollbar/index.js.map +0 -1
- package/esm2022/scrollbar/lib/scrollbar/scrollbar.js +0 -388
- package/esm2022/scrollbar/lib/scrollbar/scrollbar.js.map +0 -1
- package/esm2022/scrollbar/malva-ui-core-scrollbar.js +0 -5
- package/esm2022/scrollbar/malva-ui-core-scrollbar.js.map +0 -1
- package/esm2022/search-field/index.js +0 -3
- package/esm2022/search-field/index.js.map +0 -1
- package/esm2022/search-field/lib/search-field/search-field.js +0 -535
- package/esm2022/search-field/lib/search-field/search-field.js.map +0 -1
- package/esm2022/search-field/lib/search-field/search-overlay-content.js +0 -35
- package/esm2022/search-field/lib/search-field/search-overlay-content.js.map +0 -1
- package/esm2022/search-field/malva-ui-core-search-field.js +0 -5
- package/esm2022/search-field/malva-ui-core-search-field.js.map +0 -1
- package/esm2022/segmented/index.js +0 -5
- package/esm2022/segmented/index.js.map +0 -1
- package/esm2022/segmented/lib/segmented/segmented.js +0 -248
- package/esm2022/segmented/lib/segmented/segmented.js.map +0 -1
- package/esm2022/segmented/lib/segmented-item/segmented-item.js +0 -194
- package/esm2022/segmented/lib/segmented-item/segmented-item.js.map +0 -1
- package/esm2022/segmented/lib/segmented-token.js +0 -4
- package/esm2022/segmented/lib/segmented-token.js.map +0 -1
- package/esm2022/segmented/lib/segmented.types.js +0 -1
- package/esm2022/segmented/lib/segmented.types.js.map +0 -1
- package/esm2022/segmented/malva-ui-core-segmented.js +0 -5
- package/esm2022/segmented/malva-ui-core-segmented.js.map +0 -1
- package/esm2022/select/index.js +0 -4
- package/esm2022/select/index.js.map +0 -1
- package/esm2022/select/lib/select/select.js +0 -685
- package/esm2022/select/lib/select/select.js.map +0 -1
- package/esm2022/select/lib/select-option.js +0 -2
- package/esm2022/select/lib/select-option.js.map +0 -1
- package/esm2022/select/lib/select-template.directives.js +0 -34
- package/esm2022/select/lib/select-template.directives.js.map +0 -1
- package/esm2022/select/malva-ui-core-select.js +0 -5
- package/esm2022/select/malva-ui-core-select.js.map +0 -1
- package/esm2022/sidebar/index.js +0 -16
- package/esm2022/sidebar/index.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar/sidebar.js +0 -251
- package/esm2022/sidebar/lib/sidebar/sidebar.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-content.js +0 -37
- package/esm2022/sidebar/lib/sidebar-content.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-context.js +0 -3
- package/esm2022/sidebar/lib/sidebar-context.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-footer.js +0 -20
- package/esm2022/sidebar/lib/sidebar-footer.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js +0 -341
- package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-header.js +0 -20
- package/esm2022/sidebar/lib/sidebar-header.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js +0 -216
- package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-item-host.js +0 -39
- package/esm2022/sidebar/lib/sidebar-item-host.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-item-icon.js +0 -14
- package/esm2022/sidebar/lib/sidebar-item-icon.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-mode.js +0 -1
- package/esm2022/sidebar/lib/sidebar-mode.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js +0 -202
- package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js +0 -159
- package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js +0 -35
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js +0 -107
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js +0 -1
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js.map +0 -1
- package/esm2022/sidebar/malva-ui-core-sidebar.js +0 -5
- package/esm2022/sidebar/malva-ui-core-sidebar.js.map +0 -1
- package/esm2022/skeleton/index.js +0 -2
- package/esm2022/skeleton/index.js.map +0 -1
- package/esm2022/skeleton/lib/skeleton/skeleton.js +0 -78
- package/esm2022/skeleton/lib/skeleton/skeleton.js.map +0 -1
- package/esm2022/skeleton/malva-ui-core-skeleton.js +0 -5
- package/esm2022/skeleton/malva-ui-core-skeleton.js.map +0 -1
- package/esm2022/slider/index.js +0 -3
- package/esm2022/slider/index.js.map +0 -1
- package/esm2022/slider/lib/slider/slider-tooltip-def.js +0 -31
- package/esm2022/slider/lib/slider/slider-tooltip-def.js.map +0 -1
- package/esm2022/slider/lib/slider/slider.js +0 -468
- package/esm2022/slider/lib/slider/slider.js.map +0 -1
- package/esm2022/slider/malva-ui-core-slider.js +0 -5
- package/esm2022/slider/malva-ui-core-slider.js.map +0 -1
- package/esm2022/split-pane/index.js +0 -4
- package/esm2022/split-pane/index.js.map +0 -1
- package/esm2022/split-pane/lib/split-pane/split-pane-panel.js +0 -49
- package/esm2022/split-pane/lib/split-pane/split-pane-panel.js.map +0 -1
- package/esm2022/split-pane/lib/split-pane/split-pane.js +0 -290
- package/esm2022/split-pane/lib/split-pane/split-pane.js.map +0 -1
- package/esm2022/split-pane/lib/split-pane/split-pane.types.js +0 -1
- package/esm2022/split-pane/lib/split-pane/split-pane.types.js.map +0 -1
- package/esm2022/split-pane/malva-ui-core-split-pane.js +0 -5
- package/esm2022/split-pane/malva-ui-core-split-pane.js.map +0 -1
- package/esm2022/status-indicator/index.js +0 -2
- package/esm2022/status-indicator/index.js.map +0 -1
- package/esm2022/status-indicator/lib/status-indicator/status-indicator.js +0 -71
- package/esm2022/status-indicator/lib/status-indicator/status-indicator.js.map +0 -1
- package/esm2022/status-indicator/malva-ui-core-status-indicator.js +0 -5
- package/esm2022/status-indicator/malva-ui-core-status-indicator.js.map +0 -1
- package/esm2022/stepper/index.js +0 -5
- package/esm2022/stepper/index.js.map +0 -1
- package/esm2022/stepper/lib/stepper/step-header.js +0 -46
- package/esm2022/stepper/lib/stepper/step-header.js.map +0 -1
- package/esm2022/stepper/lib/stepper/step.js +0 -65
- package/esm2022/stepper/lib/stepper/step.js.map +0 -1
- package/esm2022/stepper/lib/stepper/stepper-token.js +0 -4
- package/esm2022/stepper/lib/stepper/stepper-token.js.map +0 -1
- package/esm2022/stepper/lib/stepper/stepper.js +0 -216
- package/esm2022/stepper/lib/stepper/stepper.js.map +0 -1
- package/esm2022/stepper/lib/stepper/stepper.types.js +0 -1
- package/esm2022/stepper/lib/stepper/stepper.types.js.map +0 -1
- package/esm2022/stepper/malva-ui-core-stepper.js +0 -5
- package/esm2022/stepper/malva-ui-core-stepper.js.map +0 -1
- package/esm2022/switch/index.js +0 -3
- package/esm2022/switch/index.js.map +0 -1
- package/esm2022/switch/lib/switch/switch.js +0 -190
- package/esm2022/switch/lib/switch/switch.js.map +0 -1
- package/esm2022/switch/lib/switch-group/switch-group.js +0 -68
- package/esm2022/switch/lib/switch-group/switch-group.js.map +0 -1
- package/esm2022/switch/lib/switch-group-token.js +0 -3
- package/esm2022/switch/lib/switch-group-token.js.map +0 -1
- package/esm2022/switch/malva-ui-core-switch.js +0 -5
- package/esm2022/switch/malva-ui-core-switch.js.map +0 -1
- package/esm2022/tabs/index.js +0 -9
- package/esm2022/tabs/index.js.map +0 -1
- package/esm2022/tabs/lib/tab/tab.js +0 -72
- package/esm2022/tabs/lib/tab/tab.js.map +0 -1
- package/esm2022/tabs/lib/tab-content/tab-content.js +0 -19
- package/esm2022/tabs/lib/tab-content/tab-content.js.map +0 -1
- package/esm2022/tabs/lib/tab-content-def.js +0 -14
- package/esm2022/tabs/lib/tab-content-def.js.map +0 -1
- package/esm2022/tabs/lib/tab-def.js +0 -17
- package/esm2022/tabs/lib/tab-def.js.map +0 -1
- package/esm2022/tabs/lib/tab-group-token.js +0 -3
- package/esm2022/tabs/lib/tab-group-token.js.map +0 -1
- package/esm2022/tabs/lib/tab-item/tab-item.js +0 -44
- package/esm2022/tabs/lib/tab-item/tab-item.js.map +0 -1
- package/esm2022/tabs/lib/tabs/tabs.js +0 -542
- package/esm2022/tabs/lib/tabs/tabs.js.map +0 -1
- package/esm2022/tabs/lib/tabs.service.js +0 -83
- package/esm2022/tabs/lib/tabs.service.js.map +0 -1
- package/esm2022/tabs/malva-ui-core-tabs.js +0 -5
- package/esm2022/tabs/malva-ui-core-tabs.js.map +0 -1
- package/esm2022/textarea/index.js +0 -2
- package/esm2022/textarea/index.js.map +0 -1
- package/esm2022/textarea/lib/textarea/textarea.js +0 -194
- package/esm2022/textarea/lib/textarea/textarea.js.map +0 -1
- package/esm2022/textarea/malva-ui-core-textarea.js +0 -5
- package/esm2022/textarea/malva-ui-core-textarea.js.map +0 -1
- package/esm2022/tile/index.js +0 -3
- package/esm2022/tile/index.js.map +0 -1
- package/esm2022/tile/lib/tile/tile.js +0 -39
- package/esm2022/tile/lib/tile/tile.js.map +0 -1
- package/esm2022/tile/lib/tile-header.js +0 -14
- package/esm2022/tile/lib/tile-header.js.map +0 -1
- package/esm2022/tile/malva-ui-core-tile.js +0 -5
- package/esm2022/tile/malva-ui-core-tile.js.map +0 -1
- package/esm2022/time-picker/index.js +0 -2
- package/esm2022/time-picker/index.js.map +0 -1
- package/esm2022/time-picker/lib/time-picker/time-picker.js +0 -310
- package/esm2022/time-picker/lib/time-picker/time-picker.js.map +0 -1
- package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js +0 -216
- package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js.map +0 -1
- package/esm2022/time-picker/malva-ui-core-time-picker.js +0 -5
- package/esm2022/time-picker/malva-ui-core-time-picker.js.map +0 -1
- package/esm2022/timeline/index.js +0 -6
- package/esm2022/timeline/index.js.map +0 -1
- package/esm2022/timeline/lib/timeline/timeline-item-icon.js +0 -31
- package/esm2022/timeline/lib/timeline/timeline-item-icon.js.map +0 -1
- package/esm2022/timeline/lib/timeline/timeline-item-meta.js +0 -31
- package/esm2022/timeline/lib/timeline/timeline-item-meta.js.map +0 -1
- package/esm2022/timeline/lib/timeline/timeline-item.js +0 -69
- package/esm2022/timeline/lib/timeline/timeline-item.js.map +0 -1
- package/esm2022/timeline/lib/timeline/timeline.js +0 -36
- package/esm2022/timeline/lib/timeline/timeline.js.map +0 -1
- package/esm2022/timeline/lib/timeline/timeline.types.js +0 -1
- package/esm2022/timeline/lib/timeline/timeline.types.js.map +0 -1
- package/esm2022/timeline/malva-ui-core-timeline.js +0 -5
- package/esm2022/timeline/malva-ui-core-timeline.js.map +0 -1
- package/esm2022/title/index.js +0 -2
- package/esm2022/title/index.js.map +0 -1
- package/esm2022/title/lib/title/title.js +0 -171
- package/esm2022/title/lib/title/title.js.map +0 -1
- package/esm2022/title/malva-ui-core-title.js +0 -5
- package/esm2022/title/malva-ui-core-title.js.map +0 -1
- package/esm2022/toast/index.js +0 -13
- package/esm2022/toast/index.js.map +0 -1
- package/esm2022/toast/lib/abstract-toast-container.js +0 -50
- package/esm2022/toast/lib/abstract-toast-container.js.map +0 -1
- package/esm2022/toast/lib/abstract-toast-item.js +0 -75
- package/esm2022/toast/lib/abstract-toast-item.js.map +0 -1
- package/esm2022/toast/lib/abstract-toast.service.js +0 -176
- package/esm2022/toast/lib/abstract-toast.service.js.map +0 -1
- package/esm2022/toast/lib/toast-container/toast-container.js +0 -61
- package/esm2022/toast/lib/toast-container/toast-container.js.map +0 -1
- package/esm2022/toast/lib/toast-item/toast-item.js +0 -62
- package/esm2022/toast/lib/toast-item/toast-item.js.map +0 -1
- package/esm2022/toast/lib/toast-ref.js +0 -54
- package/esm2022/toast/lib/toast-ref.js.map +0 -1
- package/esm2022/toast/lib/toast-timer.js +0 -37
- package/esm2022/toast/lib/toast-timer.js.map +0 -1
- package/esm2022/toast/lib/toast.directives.js +0 -76
- package/esm2022/toast/lib/toast.directives.js.map +0 -1
- package/esm2022/toast/lib/toast.service.js +0 -127
- package/esm2022/toast/lib/toast.service.js.map +0 -1
- package/esm2022/toast/lib/toast.types.js +0 -39
- package/esm2022/toast/lib/toast.types.js.map +0 -1
- package/esm2022/toast/malva-ui-core-toast.js +0 -5
- package/esm2022/toast/malva-ui-core-toast.js.map +0 -1
- package/esm2022/tokenizer/index.js +0 -4
- package/esm2022/tokenizer/index.js.map +0 -1
- package/esm2022/tokenizer/lib/token/token.js +0 -123
- package/esm2022/tokenizer/lib/token/token.js.map +0 -1
- package/esm2022/tokenizer/lib/token-template.js +0 -23
- package/esm2022/tokenizer/lib/token-template.js.map +0 -1
- package/esm2022/tokenizer/lib/tokenizer/tokenizer.js +0 -324
- package/esm2022/tokenizer/lib/tokenizer/tokenizer.js.map +0 -1
- package/esm2022/tokenizer/malva-ui-core-tokenizer.js +0 -5
- package/esm2022/tokenizer/malva-ui-core-tokenizer.js.map +0 -1
- package/esm2022/toolbar/index.js +0 -4
- package/esm2022/toolbar/index.js.map +0 -1
- package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js +0 -13
- package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js.map +0 -1
- package/esm2022/toolbar/lib/toolbar/toolbar-widget.js +0 -106
- package/esm2022/toolbar/lib/toolbar/toolbar-widget.js.map +0 -1
- package/esm2022/toolbar/lib/toolbar/toolbar.js +0 -19
- package/esm2022/toolbar/lib/toolbar/toolbar.js.map +0 -1
- package/esm2022/toolbar/malva-ui-core-toolbar.js +0 -5
- package/esm2022/toolbar/malva-ui-core-toolbar.js.map +0 -1
- package/esm2022/tooltip/index.js +0 -4
- package/esm2022/tooltip/index.js.map +0 -1
- package/esm2022/tooltip/lib/tooltip/tooltip-panel.js +0 -69
- package/esm2022/tooltip/lib/tooltip/tooltip-panel.js.map +0 -1
- package/esm2022/tooltip/lib/tooltip/tooltip.js +0 -352
- package/esm2022/tooltip/lib/tooltip/tooltip.js.map +0 -1
- package/esm2022/tooltip/lib/tooltip/tooltip.types.js +0 -1
- package/esm2022/tooltip/lib/tooltip/tooltip.types.js.map +0 -1
- package/esm2022/tooltip/malva-ui-core-tooltip.js +0 -5
- package/esm2022/tooltip/malva-ui-core-tooltip.js.map +0 -1
- package/esm2022/tree/index.js +0 -5
- package/esm2022/tree/index.js.map +0 -1
- package/esm2022/tree/lib/tree/tree-context.js +0 -7
- package/esm2022/tree/lib/tree/tree-context.js.map +0 -1
- package/esm2022/tree/lib/tree/tree-node-def.js +0 -34
- package/esm2022/tree/lib/tree/tree-node-def.js.map +0 -1
- package/esm2022/tree/lib/tree/tree-node.js +0 -1
- package/esm2022/tree/lib/tree/tree-node.js.map +0 -1
- package/esm2022/tree/lib/tree/tree-subtree.js +0 -107
- package/esm2022/tree/lib/tree/tree-subtree.js.map +0 -1
- package/esm2022/tree/lib/tree/tree.js +0 -362
- package/esm2022/tree/lib/tree/tree.js.map +0 -1
- package/esm2022/tree/malva-ui-core-tree.js +0 -5
- package/esm2022/tree/malva-ui-core-tree.js.map +0 -1
- package/expand/index.d.ts +0 -2
- package/expand/lib/expand/expand-content.d.ts +0 -26
- package/expand/lib/expand/expand.d.ts +0 -74
- package/expand/malva-ui-core-expand.d.ts +0 -5
- package/file-upload/index.d.ts +0 -4
- package/file-upload/lib/file-upload/file-upload.d.ts +0 -138
- package/file-upload/lib/file-upload/file-upload.types.d.ts +0 -42
- package/file-upload/lib/file-upload-action.d.ts +0 -53
- package/file-upload/lib/file-upload-item/file-upload-item.d.ts +0 -30
- package/file-upload/malva-ui-core-file-upload.d.ts +0 -5
- package/filter/index.d.ts +0 -3
- package/filter/lib/filter/filter.d.ts +0 -156
- package/filter/lib/filter.types.d.ts +0 -75
- package/filter/lib/smart-filter-bar/smart-filter-bar.d.ts +0 -153
- package/filter/malva-ui-core-filter.d.ts +0 -5
- package/form/index.d.ts +0 -6
- package/form/lib/fieldset/fieldset.d.ts +0 -58
- package/form/lib/fieldset-span.d.ts +0 -28
- package/form/lib/form/form.d.ts +0 -37
- package/form/lib/form-actions.d.ts +0 -20
- package/form/lib/form-gap.d.ts +0 -5
- package/form/lib/form-header.d.ts +0 -18
- package/form/lib/form.types.d.ts +0 -13
- package/form/malva-ui-core-form.d.ts +0 -5
- package/form-utils/index.d.ts +0 -15
- package/form-utils/lib/aria-value-bridge.d.ts +0 -45
- package/form-utils/lib/description/description.d.ts +0 -16
- package/form-utils/lib/focusable-group-base.d.ts +0 -76
- package/form-utils/lib/form-control-base/signal-form-control-base.d.ts +0 -159
- package/form-utils/lib/form-control-sides.d.ts +0 -20
- package/form-utils/lib/form-control-wrapper/form-control-wrapper-control.d.ts +0 -6
- package/form-utils/lib/form-control-wrapper/form-control-wrapper.d.ts +0 -20
- package/form-utils/lib/form-field/form-field.d.ts +0 -68
- package/form-utils/lib/hint/hint.d.ts +0 -5
- package/form-utils/lib/label/label.d.ts +0 -22
- package/form-utils/lib/message/message.d.ts +0 -7
- package/form-utils/lib/models/error-display-strategy.d.ts +0 -1
- package/form-utils/lib/models/form-control-connector.d.ts +0 -41
- package/form-utils/lib/models/form-state.d.ts +0 -1
- package/form-utils/lib/selection.service.d.ts +0 -27
- package/form-utils/malva-ui-core-form-utils.d.ts +0 -5
- package/form-utils/testing/index.d.ts +0 -1
- package/form-utils/testing/lib/forms-binding-matrix.d.ts +0 -47
- package/form-utils/testing/malva-ui-core-form-utils-testing.d.ts +0 -5
- package/index.d.ts +0 -69
- package/input/index.d.ts +0 -3
- package/input/lib/input/input-native.d.ts +0 -36
- package/input/lib/input/input-value-accessor.d.ts +0 -11
- package/input/lib/input/input.d.ts +0 -189
- package/input/lib/input/password-strength.d.ts +0 -34
- package/input/malva-ui-core-input.d.ts +0 -5
- package/kbd/index.d.ts +0 -1
- package/kbd/lib/kbd/kbd.d.ts +0 -52
- package/kbd/malva-ui-core-kbd.d.ts +0 -5
- package/layout/index.d.ts +0 -4
- package/layout/lib/layout/directives/MlvLayoutSide.d.ts +0 -6
- package/layout/lib/layout/directives/MlvLayoutTop.d.ts +0 -6
- package/layout/lib/layout/layout.d.ts +0 -20
- package/layout/lib/layout/services/theme.service.d.ts +0 -33
- package/layout/malva-ui-core-layout.d.ts +0 -5
- package/link/index.d.ts +0 -2
- package/link/lib/link/link.d.ts +0 -15
- package/link/lib/link/link.directives.d.ts +0 -10
- package/link/malva-ui-core-link.d.ts +0 -5
- package/list/index.d.ts +0 -13
- package/list/lib/list/list.d.ts +0 -25
- package/list/lib/list-item/list-item.d.ts +0 -67
- package/list/lib/list-item-actions.d.ts +0 -12
- package/list/lib/list-item-byline.d.ts +0 -5
- package/list/lib/list-item-group/list-item-group.d.ts +0 -11
- package/list/lib/list-item-link/list-item-link.d.ts +0 -8
- package/list/lib/list-item-media.d.ts +0 -5
- package/list/lib/list-item-meta.d.ts +0 -5
- package/list/lib/list-item-prefix.d.ts +0 -5
- package/list/lib/list-item-suffix.d.ts +0 -5
- package/list/lib/list-item-template.d.ts +0 -10
- package/list/lib/list-item-title.d.ts +0 -5
- package/list/lib/list-selectable.d.ts +0 -73
- package/list/malva-ui-core-list.d.ts +0 -5
- package/loader/index.d.ts +0 -1
- package/loader/lib/loader/loader.d.ts +0 -84
- package/loader/malva-ui-core-loader.d.ts +0 -5
- package/malva-ui-core.d.ts +0 -5
- package/menu/index.d.ts +0 -9
- package/menu/lib/menu/menu-group-label.d.ts +0 -22
- package/menu/lib/menu/menu-group.d.ts +0 -27
- package/menu/lib/menu/menu-item.d.ts +0 -76
- package/menu/lib/menu/menu-separator.d.ts +0 -18
- package/menu/lib/menu/menu-trigger.d.ts +0 -255
- package/menu/lib/menu/menu.d.ts +0 -149
- package/menu/lib/menu/menu.types.d.ts +0 -13
- package/menu/lib/menu/menubar.d.ts +0 -131
- package/menu/lib/menu/menubar.types.d.ts +0 -82
- package/menu/lib/menu/submenu-aim.d.ts +0 -10
- package/menu/malva-ui-core-menu.d.ts +0 -5
- package/notification/index.d.ts +0 -4
- package/notification/lib/notification-item/notification-item.d.ts +0 -20
- package/notification/lib/notification-ref.d.ts +0 -12
- package/notification/lib/notification.service.d.ts +0 -43
- package/notification/lib/notification.types.d.ts +0 -52
- package/notification/malva-ui-core-notification.d.ts +0 -5
- package/number-input/index.d.ts +0 -1
- package/number-input/lib/number-input/number-input.d.ts +0 -162
- package/number-input/malva-ui-core-number-input.d.ts +0 -5
- package/page/index.d.ts +0 -14
- package/page/lib/page/page-scroll.token.d.ts +0 -19
- package/page/lib/page/page-snap-controller.d.ts +0 -87
- package/page/lib/page/page-snap.directive.d.ts +0 -40
- package/page/lib/page/page.d.ts +0 -74
- package/page/lib/page-content/page-aside.d.ts +0 -7
- package/page/lib/page-content/page-content.d.ts +0 -37
- package/page/lib/page-dock/page-dock.d.ts +0 -50
- package/page/lib/page-dock/page-dock.slots.d.ts +0 -16
- package/page/lib/page-header/page-header.d.ts +0 -77
- package/page/lib/page-header/page-header.directives.d.ts +0 -50
- package/page/lib/page-shell/page-shell-color.d.ts +0 -48
- package/page/lib/page-shell/page-shell-css-color.d.ts +0 -20
- package/page/lib/page-shell/page-shell.d.ts +0 -44
- package/page/lib/page-shell/page-shell.slots.d.ts +0 -16
- package/page/lib/page-summary/page-summary-item.d.ts +0 -11
- package/page/lib/page-summary/page-summary.d.ts +0 -36
- package/page/malva-ui-core-page.d.ts +0 -5
- package/pagination/index.d.ts +0 -4
- package/pagination/lib/pagination/pagination.d.ts +0 -182
- package/pagination/lib/pagination/pagination.directives.d.ts +0 -44
- package/pagination/lib/pagination/pagination.model.d.ts +0 -6
- package/pagination/lib/pagination/pagination.service.d.ts +0 -26
- package/pagination/malva-ui-core-pagination.d.ts +0 -5
- package/pin-input/index.d.ts +0 -2
- package/pin-input/lib/pin-input/pin-input-separator.d.ts +0 -24
- package/pin-input/lib/pin-input/pin-input.d.ts +0 -176
- package/pin-input/malva-ui-core-pin-input.d.ts +0 -5
- package/popup/index.d.ts +0 -9
- package/popup/lib/popup/popup.d.ts +0 -343
- package/popup/lib/popup-container/popup-container.d.ts +0 -61
- package/popup/lib/popup-container/popup-container.token.d.ts +0 -34
- package/popup/lib/popup-content.d.ts +0 -6
- package/popup/lib/popup-header-content.d.ts +0 -18
- package/popup/lib/popup-pinned-content.d.ts +0 -17
- package/popup/lib/popup-positions.d.ts +0 -105
- package/popup/lib/popup-trigger/popup-trigger.d.ts +0 -102
- package/popup/lib/popup.service.d.ts +0 -159
- package/popup/malva-ui-core-popup.d.ts +0 -5
- package/progress/index.d.ts +0 -1
- package/progress/lib/progress/progress.d.ts +0 -69
- package/progress/malva-ui-core-progress.d.ts +0 -5
- package/radio/index.d.ts +0 -2
- package/radio/lib/radio/radio.d.ts +0 -87
- package/radio/lib/radio-group/radio-group.d.ts +0 -35
- package/radio/lib/radio-group-token.d.ts +0 -7
- package/radio/malva-ui-core-radio.d.ts +0 -5
- package/rating/index.d.ts +0 -1
- package/rating/lib/rating/rating.d.ts +0 -100
- package/rating/malva-ui-core-rating.d.ts +0 -5
- package/scrollbar/index.d.ts +0 -1
- package/scrollbar/lib/scrollbar/scrollbar.d.ts +0 -166
- package/scrollbar/malva-ui-core-scrollbar.d.ts +0 -5
- package/search-field/index.d.ts +0 -2
- package/search-field/lib/search-field/search-field.d.ts +0 -347
- package/search-field/lib/search-field/search-overlay-content.d.ts +0 -59
- package/search-field/malva-ui-core-search-field.d.ts +0 -5
- package/segmented/index.d.ts +0 -4
- package/segmented/lib/segmented/segmented.d.ts +0 -80
- package/segmented/lib/segmented-item/segmented-item.d.ts +0 -89
- package/segmented/lib/segmented-token.d.ts +0 -22
- package/segmented/lib/segmented.types.d.ts +0 -9
- package/segmented/malva-ui-core-segmented.d.ts +0 -5
- package/select/index.d.ts +0 -3
- package/select/lib/select/select.d.ts +0 -379
- package/select/lib/select-option.d.ts +0 -1
- package/select/lib/select-template.directives.d.ts +0 -14
- package/select/malva-ui-core-select.d.ts +0 -5
- package/sidebar/index.d.ts +0 -15
- package/sidebar/lib/sidebar/sidebar.d.ts +0 -134
- package/sidebar/lib/sidebar-content.d.ts +0 -11
- package/sidebar/lib/sidebar-context.d.ts +0 -23
- package/sidebar/lib/sidebar-footer.d.ts +0 -9
- package/sidebar/lib/sidebar-group/sidebar-group.d.ts +0 -127
- package/sidebar/lib/sidebar-header.d.ts +0 -9
- package/sidebar/lib/sidebar-item/sidebar-item.d.ts +0 -104
- package/sidebar/lib/sidebar-item-host.d.ts +0 -18
- package/sidebar/lib/sidebar-item-icon.d.ts +0 -6
- package/sidebar/lib/sidebar-mode.d.ts +0 -2
- package/sidebar/lib/sidebar-rail/sidebar-rail.d.ts +0 -54
- package/sidebar/lib/sidebar-trigger/sidebar-trigger.d.ts +0 -67
- package/sidebar/lib/sidebar-workspace/sidebar-workspace.d.ts +0 -54
- package/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.d.ts +0 -19
- package/sidebar/lib/sidebar-workspace/sidebar-workspace.types.d.ts +0 -20
- package/sidebar/malva-ui-core-sidebar.d.ts +0 -5
- package/skeleton/index.d.ts +0 -1
- package/skeleton/lib/skeleton/skeleton.d.ts +0 -60
- package/skeleton/malva-ui-core-skeleton.d.ts +0 -5
- package/slider/index.d.ts +0 -2
- package/slider/lib/slider/slider-tooltip-def.d.ts +0 -39
- package/slider/lib/slider/slider.d.ts +0 -171
- package/slider/malva-ui-core-slider.d.ts +0 -5
- package/split-pane/index.d.ts +0 -3
- package/split-pane/lib/split-pane/split-pane-panel.d.ts +0 -34
- package/split-pane/lib/split-pane/split-pane.d.ts +0 -98
- package/split-pane/lib/split-pane/split-pane.types.d.ts +0 -7
- package/split-pane/malva-ui-core-split-pane.d.ts +0 -5
- package/status-indicator/index.d.ts +0 -1
- package/status-indicator/lib/status-indicator/status-indicator.d.ts +0 -61
- package/status-indicator/malva-ui-core-status-indicator.d.ts +0 -5
- package/stepper/index.d.ts +0 -4
- package/stepper/lib/stepper/step-header.d.ts +0 -34
- package/stepper/lib/stepper/step.d.ts +0 -51
- package/stepper/lib/stepper/stepper-token.d.ts +0 -13
- package/stepper/lib/stepper/stepper.d.ts +0 -98
- package/stepper/lib/stepper/stepper.types.d.ts +0 -4
- package/stepper/malva-ui-core-stepper.d.ts +0 -5
- package/switch/index.d.ts +0 -2
- package/switch/lib/switch/switch.d.ts +0 -118
- package/switch/lib/switch-group/switch-group.d.ts +0 -24
- package/switch/lib/switch-group-token.d.ts +0 -6
- package/switch/malva-ui-core-switch.d.ts +0 -5
- package/tabs/index.d.ts +0 -8
- package/tabs/lib/tab/tab.d.ts +0 -46
- package/tabs/lib/tab-content/tab-content.d.ts +0 -11
- package/tabs/lib/tab-content-def.d.ts +0 -6
- package/tabs/lib/tab-def.d.ts +0 -11
- package/tabs/lib/tab-group-token.d.ts +0 -10
- package/tabs/lib/tab-item/tab-item.d.ts +0 -28
- package/tabs/lib/tabs/tabs.d.ts +0 -202
- package/tabs/lib/tabs.service.d.ts +0 -24
- package/tabs/malva-ui-core-tabs.d.ts +0 -5
- package/textarea/index.d.ts +0 -1
- package/textarea/lib/textarea/textarea.d.ts +0 -77
- package/textarea/malva-ui-core-textarea.d.ts +0 -5
- package/tile/index.d.ts +0 -2
- package/tile/lib/tile/tile.d.ts +0 -20
- package/tile/lib/tile-header.d.ts +0 -6
- package/tile/malva-ui-core-tile.d.ts +0 -5
- package/time-picker/index.d.ts +0 -1
- package/time-picker/lib/time-picker/time-picker.d.ts +0 -135
- package/time-picker/lib/time-picker-column/time-picker-column.d.ts +0 -111
- package/time-picker/malva-ui-core-time-picker.d.ts +0 -5
- package/timeline/index.d.ts +0 -5
- package/timeline/lib/timeline/timeline-item-icon.d.ts +0 -24
- package/timeline/lib/timeline/timeline-item-meta.d.ts +0 -24
- package/timeline/lib/timeline/timeline-item.d.ts +0 -52
- package/timeline/lib/timeline/timeline.d.ts +0 -27
- package/timeline/lib/timeline/timeline.types.d.ts +0 -18
- package/timeline/malva-ui-core-timeline.d.ts +0 -5
- package/title/index.d.ts +0 -1
- package/title/lib/title/title.d.ts +0 -63
- package/title/malva-ui-core-title.d.ts +0 -5
- package/toast/index.d.ts +0 -10
- package/toast/lib/abstract-toast-container.d.ts +0 -29
- package/toast/lib/abstract-toast-item.d.ts +0 -44
- package/toast/lib/abstract-toast.service.d.ts +0 -75
- package/toast/lib/toast-container/toast-container.d.ts +0 -23
- package/toast/lib/toast-item/toast-item.d.ts +0 -25
- package/toast/lib/toast-ref.d.ts +0 -33
- package/toast/lib/toast-timer.d.ts +0 -24
- package/toast/lib/toast.directives.d.ts +0 -13
- package/toast/lib/toast.service.d.ts +0 -41
- package/toast/lib/toast.types.d.ts +0 -139
- package/toast/malva-ui-core-toast.d.ts +0 -5
- package/tokenizer/index.d.ts +0 -3
- package/tokenizer/lib/token/token.d.ts +0 -60
- package/tokenizer/lib/token-template.d.ts +0 -29
- package/tokenizer/lib/tokenizer/tokenizer.d.ts +0 -109
- package/tokenizer/malva-ui-core-tokenizer.d.ts +0 -5
- package/toolbar/index.d.ts +0 -3
- package/toolbar/lib/toolbar/toolbar-spacer.d.ts +0 -5
- package/toolbar/lib/toolbar/toolbar-widget.d.ts +0 -75
- package/toolbar/lib/toolbar/toolbar.d.ts +0 -8
- package/toolbar/malva-ui-core-toolbar.d.ts +0 -5
- package/tooltip/index.d.ts +0 -3
- package/tooltip/lib/tooltip/tooltip-panel.d.ts +0 -26
- package/tooltip/lib/tooltip/tooltip.d.ts +0 -148
- package/tooltip/lib/tooltip/tooltip.types.d.ts +0 -17
- package/tooltip/malva-ui-core-tooltip.d.ts +0 -5
- package/tree/index.d.ts +0 -4
- package/tree/lib/tree/tree-context.d.ts +0 -62
- package/tree/lib/tree/tree-node-def.d.ts +0 -33
- package/tree/lib/tree/tree-node.d.ts +0 -45
- package/tree/lib/tree/tree-subtree.d.ts +0 -63
- package/tree/lib/tree/tree.d.ts +0 -156
- package/tree/malva-ui-core-tree.d.ts +0 -5
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
|
-
import { afterNextRender, ChangeDetectionStrategy, Component, computed, effect, ElementRef, forwardRef, inject, input, model, signal, viewChild, ViewEncapsulation, } from '@angular/core';
|
|
3
|
-
import { MlvSignalFormControlBase, MLV_FORM_CONTROL, } from '@malva-ui/core/form-utils';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
function coerceTitleLevel(value) {
|
|
6
|
-
if (value === null || value === undefined || value === '') {
|
|
7
|
-
return undefined;
|
|
8
|
-
}
|
|
9
|
-
const parsed = Number(value);
|
|
10
|
-
if (!Number.isInteger(parsed) || parsed < 1 || parsed > 6) {
|
|
11
|
-
return undefined;
|
|
12
|
-
}
|
|
13
|
-
return parsed;
|
|
14
|
-
}
|
|
15
|
-
function inferTitleLevel(tagName) {
|
|
16
|
-
const match = /^h([1-6])$/.exec(tagName.toLowerCase());
|
|
17
|
-
return match ? Number(match[1]) : 2;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Inline title component that decorates the host element with Malva UI heading
|
|
21
|
-
* typography. It can render projected content, bind to a model, or act as an
|
|
22
|
-
* editable control through signal, reactive, and template-driven forms.
|
|
23
|
-
*/
|
|
24
|
-
export class MlvTitle extends MlvSignalFormControlBase {
|
|
25
|
-
/** Explicit visual title level. Falls back to the host heading tag. */
|
|
26
|
-
level = input(undefined, { ...(ngDevMode ? { debugName: "level" } : /* istanbul ignore next */ {}), transform: coerceTitleLevel });
|
|
27
|
-
/** Enables the auto-sizing editable textarea overlay. */
|
|
28
|
-
editable = input(false, { ...(ngDevMode ? { debugName: "editable" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
|
|
29
|
-
/** Placeholder displayed when the editable field is empty. */
|
|
30
|
-
placeholder = input('', /* @ts-ignore */
|
|
31
|
-
...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
|
|
32
|
-
/** Signal-model API for directly binding the title text. */
|
|
33
|
-
value = model(null, /* @ts-ignore */
|
|
34
|
-
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
35
|
-
/** @private Host element ref, used to read the host tag name for level inference. */
|
|
36
|
-
_hostElement = inject(ElementRef);
|
|
37
|
-
/** @private Reference to the projected-content span, used to hydrate text from projected content. */
|
|
38
|
-
_projectionElement = viewChild('projectionContent', /* @ts-ignore */
|
|
39
|
-
...(ngDevMode ? [{ debugName: "_projectionElement" }] : /* istanbul ignore next */ []));
|
|
40
|
-
/** @private Trimmed text extracted from projected content. */
|
|
41
|
-
_projectedText = signal('', /* @ts-ignore */
|
|
42
|
-
...(ngDevMode ? [{ debugName: "_projectedText" }] : /* istanbul ignore next */ []));
|
|
43
|
-
/** @private Whether the component is currently driven by its internal editable value. */
|
|
44
|
-
_usesInternalValue = signal(false, /* @ts-ignore */
|
|
45
|
-
...(ngDevMode ? [{ debugName: "_usesInternalValue" }] : /* istanbul ignore next */ []));
|
|
46
|
-
/** @private Tracks whether internal state was last synced from an external `value`. */
|
|
47
|
-
_syncedFromExternalValue = false;
|
|
48
|
-
/** @protected Whether the host element is a native `h1`–`h6` heading. */
|
|
49
|
-
_isNativeHeading = computed(() => /^h[1-6]$/.test(this._hostTagName), /* @ts-ignore */
|
|
50
|
-
...(ngDevMode ? [{ debugName: "_isNativeHeading" }] : /* istanbul ignore next */ []));
|
|
51
|
-
/** @protected Resolved visual heading level — explicit `level` input or inferred from the host tag. */
|
|
52
|
-
_resolvedLevel = computed(() => this.level() ?? inferTitleLevel(this._hostTagName), /* @ts-ignore */
|
|
53
|
-
...(ngDevMode ? [{ debugName: "_resolvedLevel" }] : /* istanbul ignore next */ []));
|
|
54
|
-
/** @protected The effective title text: bound `value`, internal editable value, or projected content. */
|
|
55
|
-
currentText = computed(() => {
|
|
56
|
-
const explicitValue = this.value();
|
|
57
|
-
if (explicitValue !== null && explicitValue !== undefined) {
|
|
58
|
-
return explicitValue;
|
|
59
|
-
}
|
|
60
|
-
if (this._usesInternalValue()) {
|
|
61
|
-
return this.internalValue();
|
|
62
|
-
}
|
|
63
|
-
return this._projectedText();
|
|
64
|
-
}, /* @ts-ignore */
|
|
65
|
-
...(ngDevMode ? [{ debugName: "currentText" }] : /* istanbul ignore next */ []));
|
|
66
|
-
/** @protected Whether the projected `<ng-content>` should be shown (no value, not editable). */
|
|
67
|
-
showProjectedContent = computed(() => !this.editable() &&
|
|
68
|
-
!this._usesInternalValue() &&
|
|
69
|
-
(this.value() === null || this.value() === undefined), /* @ts-ignore */
|
|
70
|
-
...(ngDevMode ? [{ debugName: "showProjectedContent" }] : /* istanbul ignore next */ []));
|
|
71
|
-
/** @protected Whether the bound value text should be shown (not editable, not projected). */
|
|
72
|
-
showValueText = computed(() => !this.editable() && !this.showProjectedContent(), /* @ts-ignore */
|
|
73
|
-
...(ngDevMode ? [{ debugName: "showValueText" }] : /* istanbul ignore next */ []));
|
|
74
|
-
/** @protected Sizing text for the editable `<pre>` mirror (trailing newline keeps a blank line tall). */
|
|
75
|
-
editorMeasureText = computed(() => {
|
|
76
|
-
const text = this.currentText() || this.placeholder();
|
|
77
|
-
return text ? `${text}\n` : ' ';
|
|
78
|
-
}, /* @ts-ignore */
|
|
79
|
-
...(ngDevMode ? [{ debugName: "editorMeasureText" }] : /* istanbul ignore next */ []));
|
|
80
|
-
/** @protected Whether the editable field is empty and a placeholder should be shown. */
|
|
81
|
-
editorShowsPlaceholder = computed(() => !this.currentText() && !!this.placeholder(), /* @ts-ignore */
|
|
82
|
-
...(ngDevMode ? [{ debugName: "editorShowsPlaceholder" }] : /* istanbul ignore next */ []));
|
|
83
|
-
/** @protected Current value bound to the editable `<textarea>`. */
|
|
84
|
-
textareaValue = computed(() => this.currentText(), /* @ts-ignore */
|
|
85
|
-
...(ngDevMode ? [{ debugName: "textareaValue" }] : /* istanbul ignore next */ []));
|
|
86
|
-
/** Internal text state used by editable mode and forms APIs. */
|
|
87
|
-
internalValue = signal('', /* @ts-ignore */
|
|
88
|
-
...(ngDevMode ? [{ debugName: "internalValue" }] : /* istanbul ignore next */ []));
|
|
89
|
-
/** @private The lowercased tag name of the host element (e.g. `h2`, `div`). */
|
|
90
|
-
get _hostTagName() {
|
|
91
|
-
return this._hostElement.nativeElement.tagName.toLowerCase();
|
|
92
|
-
}
|
|
93
|
-
constructor() {
|
|
94
|
-
super();
|
|
95
|
-
effect(() => {
|
|
96
|
-
const externalValue = this.value();
|
|
97
|
-
if (externalValue === null || externalValue === undefined) {
|
|
98
|
-
if (this._syncedFromExternalValue) {
|
|
99
|
-
this.internalValue.set('');
|
|
100
|
-
this._usesInternalValue.set(false);
|
|
101
|
-
}
|
|
102
|
-
this._syncedFromExternalValue = false;
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
this._syncedFromExternalValue = true;
|
|
106
|
-
this.internalValue.set(externalValue);
|
|
107
|
-
this._usesInternalValue.set(true);
|
|
108
|
-
});
|
|
109
|
-
afterNextRender(() => {
|
|
110
|
-
this._hydrateProjectedText();
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
/** Handles interactive edits from the textarea overlay. */
|
|
114
|
-
onInput(event) {
|
|
115
|
-
const value = event.target.value;
|
|
116
|
-
this.internalValue.set(value);
|
|
117
|
-
this._usesInternalValue.set(true);
|
|
118
|
-
// The `value` model is the signal-forms transport: setting it propagates
|
|
119
|
-
// the edit to the bound field ([formField]/[formControl]/ngModel).
|
|
120
|
-
this.value.set(value);
|
|
121
|
-
}
|
|
122
|
-
/** Tracks focus state for form-field styling. */
|
|
123
|
-
onFocus() {
|
|
124
|
-
this.setFocused(true);
|
|
125
|
-
}
|
|
126
|
-
/** Tracks blur state for form-field styling and touched state. */
|
|
127
|
-
onBlur() {
|
|
128
|
-
this.setFocused(false);
|
|
129
|
-
this._markTouched();
|
|
130
|
-
}
|
|
131
|
-
/** Whether the control holds a clearable value — Non-empty text present. */
|
|
132
|
-
hasValue = computed(() => this.internalValue().length > 0, /* @ts-ignore */
|
|
133
|
-
...(ngDevMode ? [{ debugName: "hasValue" }] : /* istanbul ignore next */ []));
|
|
134
|
-
/** @private Reads projected text after render and seeds the editable value from it when appropriate. */
|
|
135
|
-
_hydrateProjectedText() {
|
|
136
|
-
const projectedText = this._projectionElement()?.nativeElement.textContent?.trim() ?? '';
|
|
137
|
-
this._projectedText.set(projectedText);
|
|
138
|
-
if (this.editable() &&
|
|
139
|
-
!this._usesInternalValue() &&
|
|
140
|
-
(this.value() === null || this.value() === undefined) &&
|
|
141
|
-
projectedText) {
|
|
142
|
-
this.internalValue.set(projectedText);
|
|
143
|
-
this._usesInternalValue.set(true);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTitle, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
147
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MlvTitle, isStandalone: true, selector: "[mlvTitle]", inputs: { level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { properties: { "attr.data-level": "_resolvedLevel()", "attr.role": "_isNativeHeading() ? null : \"heading\"", "attr.aria-level": "_isNativeHeading() ? null : _resolvedLevel()", "class.mlv-title--editable": "editable()", "class.mlv-title--disabled": "computedDisabled()", "class.mlv-title--focused": "focused()" }, classAttribute: "mlv-title" }, providers: [
|
|
148
|
-
{
|
|
149
|
-
provide: MLV_FORM_CONTROL,
|
|
150
|
-
useExisting: forwardRef(() => MlvTitle),
|
|
151
|
-
},
|
|
152
|
-
], viewQueries: [{ propertyName: "_projectionElement", first: true, predicate: ["projectionContent"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<span\n #projectionContent\n class=\"mlv-title__projection\"\n [class.mlv-title__projection--hidden]=\"!showProjectedContent()\"\n [attr.aria-hidden]=\"showProjectedContent() ? null : 'true'\"\n>\n <ng-content />\n</span>\n\n@if (showValueText()) {\n<span class=\"mlv-title__value\">{{ currentText() }}</span>\n} @if (editable()) {\n<span class=\"mlv-title__editor\">\n <pre\n class=\"mlv-title__pre\"\n [class.mlv-title__pre--placeholder]=\"editorShowsPlaceholder()\"\n aria-hidden=\"true\"\n >\n{{ editorMeasureText() }}</pre\n >\n <textarea\n class=\"mlv-title__textarea\"\n rows=\"1\"\n [value]=\"textareaValue()\"\n [placeholder]=\"placeholder()\"\n [readonly]=\"readonly()\"\n [disabled]=\"computedDisabled()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-required]=\"required() || null\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n ></textarea>\n</span>\n}\n", styles: [".mlv-title{margin:0;color:var(--mlv-text-primary)}.mlv-title[data-level=\"1\"]{font-size:var(--mlv-typography-heading-h1-size);font-weight:var(--mlv-typography-heading-h1-weight);line-height:var(--mlv-typography-heading-h1-line-height);letter-spacing:var(--mlv-typography-heading-h1-letter-spacing)}.mlv-title[data-level=\"2\"]{font-size:var(--mlv-typography-heading-h2-size);font-weight:var(--mlv-typography-heading-h2-weight);line-height:var(--mlv-typography-heading-h2-line-height);letter-spacing:var(--mlv-typography-heading-h2-letter-spacing)}.mlv-title[data-level=\"3\"]{font-size:var(--mlv-typography-heading-h3-size);font-weight:var(--mlv-typography-heading-h3-weight);line-height:var(--mlv-typography-heading-h3-line-height);letter-spacing:var(--mlv-letter-spacing-normal)}.mlv-title[data-level=\"4\"]{font-size:var(--mlv-typography-heading-h4-size);font-weight:var(--mlv-typography-heading-h4-weight);line-height:var(--mlv-typography-heading-h4-line-height);letter-spacing:var(--mlv-letter-spacing-normal)}.mlv-title[data-level=\"5\"]{font-size:var(--mlv-typography-heading-h5-size);font-weight:var(--mlv-typography-heading-h5-weight);line-height:var(--mlv-typography-heading-h5-line-height);letter-spacing:var(--mlv-letter-spacing-normal)}.mlv-title[data-level=\"6\"]{font-size:var(--mlv-typography-heading-h6-size);font-weight:var(--mlv-typography-heading-h6-weight);line-height:var(--mlv-typography-heading-h6-line-height);letter-spacing:var(--mlv-letter-spacing-normal)}.mlv-title--editable{display:block}.mlv-title__projection--hidden{display:none}.mlv-title__value,.mlv-title__projection,.mlv-title__editor,.mlv-title__pre,.mlv-title__textarea{font:inherit;letter-spacing:inherit;line-height:inherit}.mlv-title__value,.mlv-title__projection{white-space:pre-wrap;overflow-wrap:anywhere}.mlv-title__editor{display:grid;align-items:start}.mlv-title__pre,.mlv-title__textarea{grid-area:1/1;margin:0;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.mlv-title__pre{pointer-events:none;color:var(--mlv-text-primary)}.mlv-title__pre--placeholder{color:var(--mlv-text-secondary)}.mlv-title__textarea{width:100%;min-height:1lh;padding:0;border:0;background:transparent;color:transparent;caret-color:var(--mlv-text-primary);border-radius:0;resize:none;overflow:hidden;outline:none;box-shadow:none;field-sizing:content;appearance:none;transition:outline-color var(--mlv-duration-slow) var(--mlv-ease-out),outline-offset var(--mlv-duration-slow) var(--mlv-ease-out)}.mlv-title__textarea::placeholder{color:var(--mlv-text-tertiary)}.mlv-title__textarea:disabled{cursor:not-allowed}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
153
|
-
}
|
|
154
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTitle, decorators: [{
|
|
155
|
-
type: Component,
|
|
156
|
-
args: [{ selector: '[mlvTitle]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
157
|
-
{
|
|
158
|
-
provide: MLV_FORM_CONTROL,
|
|
159
|
-
useExisting: forwardRef(() => MlvTitle),
|
|
160
|
-
},
|
|
161
|
-
], host: {
|
|
162
|
-
class: 'mlv-title',
|
|
163
|
-
'[attr.data-level]': '_resolvedLevel()',
|
|
164
|
-
'[attr.role]': '_isNativeHeading() ? null : "heading"',
|
|
165
|
-
'[attr.aria-level]': '_isNativeHeading() ? null : _resolvedLevel()',
|
|
166
|
-
'[class.mlv-title--editable]': 'editable()',
|
|
167
|
-
'[class.mlv-title--disabled]': 'computedDisabled()',
|
|
168
|
-
'[class.mlv-title--focused]': 'focused()',
|
|
169
|
-
}, template: "<span\n #projectionContent\n class=\"mlv-title__projection\"\n [class.mlv-title__projection--hidden]=\"!showProjectedContent()\"\n [attr.aria-hidden]=\"showProjectedContent() ? null : 'true'\"\n>\n <ng-content />\n</span>\n\n@if (showValueText()) {\n<span class=\"mlv-title__value\">{{ currentText() }}</span>\n} @if (editable()) {\n<span class=\"mlv-title__editor\">\n <pre\n class=\"mlv-title__pre\"\n [class.mlv-title__pre--placeholder]=\"editorShowsPlaceholder()\"\n aria-hidden=\"true\"\n >\n{{ editorMeasureText() }}</pre\n >\n <textarea\n class=\"mlv-title__textarea\"\n rows=\"1\"\n [value]=\"textareaValue()\"\n [placeholder]=\"placeholder()\"\n [readonly]=\"readonly()\"\n [disabled]=\"computedDisabled()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-required]=\"required() || null\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n ></textarea>\n</span>\n}\n", styles: [".mlv-title{margin:0;color:var(--mlv-text-primary)}.mlv-title[data-level=\"1\"]{font-size:var(--mlv-typography-heading-h1-size);font-weight:var(--mlv-typography-heading-h1-weight);line-height:var(--mlv-typography-heading-h1-line-height);letter-spacing:var(--mlv-typography-heading-h1-letter-spacing)}.mlv-title[data-level=\"2\"]{font-size:var(--mlv-typography-heading-h2-size);font-weight:var(--mlv-typography-heading-h2-weight);line-height:var(--mlv-typography-heading-h2-line-height);letter-spacing:var(--mlv-typography-heading-h2-letter-spacing)}.mlv-title[data-level=\"3\"]{font-size:var(--mlv-typography-heading-h3-size);font-weight:var(--mlv-typography-heading-h3-weight);line-height:var(--mlv-typography-heading-h3-line-height);letter-spacing:var(--mlv-letter-spacing-normal)}.mlv-title[data-level=\"4\"]{font-size:var(--mlv-typography-heading-h4-size);font-weight:var(--mlv-typography-heading-h4-weight);line-height:var(--mlv-typography-heading-h4-line-height);letter-spacing:var(--mlv-letter-spacing-normal)}.mlv-title[data-level=\"5\"]{font-size:var(--mlv-typography-heading-h5-size);font-weight:var(--mlv-typography-heading-h5-weight);line-height:var(--mlv-typography-heading-h5-line-height);letter-spacing:var(--mlv-letter-spacing-normal)}.mlv-title[data-level=\"6\"]{font-size:var(--mlv-typography-heading-h6-size);font-weight:var(--mlv-typography-heading-h6-weight);line-height:var(--mlv-typography-heading-h6-line-height);letter-spacing:var(--mlv-letter-spacing-normal)}.mlv-title--editable{display:block}.mlv-title__projection--hidden{display:none}.mlv-title__value,.mlv-title__projection,.mlv-title__editor,.mlv-title__pre,.mlv-title__textarea{font:inherit;letter-spacing:inherit;line-height:inherit}.mlv-title__value,.mlv-title__projection{white-space:pre-wrap;overflow-wrap:anywhere}.mlv-title__editor{display:grid;align-items:start}.mlv-title__pre,.mlv-title__textarea{grid-area:1/1;margin:0;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.mlv-title__pre{pointer-events:none;color:var(--mlv-text-primary)}.mlv-title__pre--placeholder{color:var(--mlv-text-secondary)}.mlv-title__textarea{width:100%;min-height:1lh;padding:0;border:0;background:transparent;color:transparent;caret-color:var(--mlv-text-primary);border-radius:0;resize:none;overflow:hidden;outline:none;box-shadow:none;field-sizing:content;appearance:none;transition:outline-color var(--mlv-duration-slow) var(--mlv-ease-out),outline-offset var(--mlv-duration-slow) var(--mlv-ease-out)}.mlv-title__textarea::placeholder{color:var(--mlv-text-tertiary)}.mlv-title__textarea:disabled{cursor:not-allowed}\n"] }]
|
|
170
|
-
}], ctorParameters: () => [], propDecorators: { level: [{ type: i0.Input, args: [{ isSignal: true, alias: "level", required: false }] }], editable: [{ type: i0.Input, args: [{ isSignal: true, alias: "editable", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], _projectionElement: [{ type: i0.ViewChild, args: ['projectionContent', { isSignal: true }] }] } });
|
|
171
|
-
//# sourceMappingURL=title.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"title.js","sourceRoot":"","sources":["../../../../../../../libs/core/title/src/lib/title/title.ts","../../../../../../../libs/core/title/src/lib/title/title.html"],"names":[],"mappings":"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","sourcesContent":["import type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n ElementRef,\n forwardRef,\n inject,\n input,\n model,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { MlvFormControl } from '@malva-ui/core/form-utils';\nimport {\n MlvSignalFormControlBase,\n MLV_FORM_CONTROL,\n} from '@malva-ui/core/form-utils';\n\nexport type MlvTitleLevel = 1 | 2 | 3 | 4 | 5 | 6;\n\nfunction coerceTitleLevel(\n value: MlvTitleLevel | string | number | null | undefined,\n): MlvTitleLevel | undefined {\n if (value === null || value === undefined || value === '') {\n return undefined;\n }\n\n const parsed = Number(value);\n if (!Number.isInteger(parsed) || parsed < 1 || parsed > 6) {\n return undefined;\n }\n\n return parsed as MlvTitleLevel;\n}\n\nfunction inferTitleLevel(tagName: string): MlvTitleLevel {\n const match = /^h([1-6])$/.exec(tagName.toLowerCase());\n return match ? (Number(match[1]) as MlvTitleLevel) : 2;\n}\n\n/**\n * Inline title component that decorates the host element with Malva UI heading\n * typography. It can render projected content, bind to a model, or act as an\n * editable control through signal, reactive, and template-driven forms.\n */\n@Component({\n // Attribute-selector component — camelCase [mlvX] is the documented pattern\n // (see .claude/rules/angular-component.md); the rule only models kebab-case.\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[mlvTitle]',\n templateUrl: './title.html',\n styleUrl: './title.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: MLV_FORM_CONTROL,\n useExisting: forwardRef(() => MlvTitle),\n },\n ],\n host: {\n class: 'mlv-title',\n '[attr.data-level]': '_resolvedLevel()',\n '[attr.role]': '_isNativeHeading() ? null : \"heading\"',\n '[attr.aria-level]': '_isNativeHeading() ? null : _resolvedLevel()',\n '[class.mlv-title--editable]': 'editable()',\n '[class.mlv-title--disabled]': 'computedDisabled()',\n '[class.mlv-title--focused]': 'focused()',\n },\n})\nexport class MlvTitle\n extends MlvSignalFormControlBase<string | null>\n implements MlvFormControl\n{\n /** Explicit visual title level. Falls back to the host heading tag. */\n readonly level = input<\n MlvTitleLevel | undefined,\n MlvTitleLevel | string | number | null | undefined\n >(undefined, {\n transform: coerceTitleLevel,\n });\n\n /** Enables the auto-sizing editable textarea overlay. */\n readonly editable = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /** Placeholder displayed when the editable field is empty. */\n readonly placeholder = input('');\n\n /** Signal-model API for directly binding the title text. */\n readonly value = model<string | null>(null);\n\n /** @private Host element ref, used to read the host tag name for level inference. */\n private readonly _hostElement = inject<ElementRef<HTMLElement>>(ElementRef);\n /** @private Reference to the projected-content span, used to hydrate text from projected content. */\n private readonly _projectionElement =\n viewChild<ElementRef<HTMLElement>>('projectionContent');\n /** @private Trimmed text extracted from projected content. */\n private readonly _projectedText = signal('');\n /** @private Whether the component is currently driven by its internal editable value. */\n private readonly _usesInternalValue = signal(false);\n /** @private Tracks whether internal state was last synced from an external `value`. */\n private _syncedFromExternalValue = false;\n\n /** @protected Whether the host element is a native `h1`–`h6` heading. */\n protected readonly _isNativeHeading = computed(() =>\n /^h[1-6]$/.test(this._hostTagName),\n );\n /** @protected Resolved visual heading level — explicit `level` input or inferred from the host tag. */\n protected readonly _resolvedLevel = computed<MlvTitleLevel>(\n () => this.level() ?? inferTitleLevel(this._hostTagName),\n );\n /** @protected The effective title text: bound `value`, internal editable value, or projected content. */\n protected readonly currentText = computed(() => {\n const explicitValue = this.value();\n if (explicitValue !== null && explicitValue !== undefined) {\n return explicitValue;\n }\n\n if (this._usesInternalValue()) {\n return this.internalValue();\n }\n\n return this._projectedText();\n });\n /** @protected Whether the projected `<ng-content>` should be shown (no value, not editable). */\n protected readonly showProjectedContent = computed(\n () =>\n !this.editable() &&\n !this._usesInternalValue() &&\n (this.value() === null || this.value() === undefined),\n );\n /** @protected Whether the bound value text should be shown (not editable, not projected). */\n protected readonly showValueText = computed(\n () => !this.editable() && !this.showProjectedContent(),\n );\n /** @protected Sizing text for the editable `<pre>` mirror (trailing newline keeps a blank line tall). */\n protected readonly editorMeasureText = computed(() => {\n const text = this.currentText() || this.placeholder();\n return text ? `${text}\\n` : ' ';\n });\n /** @protected Whether the editable field is empty and a placeholder should be shown. */\n protected readonly editorShowsPlaceholder = computed(\n () => !this.currentText() && !!this.placeholder(),\n );\n /** @protected Current value bound to the editable `<textarea>`. */\n protected readonly textareaValue = computed(() => this.currentText());\n\n /** Internal text state used by editable mode and forms APIs. */\n readonly internalValue = signal('');\n\n /** @private The lowercased tag name of the host element (e.g. `h2`, `div`). */\n private get _hostTagName(): string {\n return this._hostElement.nativeElement.tagName.toLowerCase();\n }\n\n constructor() {\n super();\n\n effect(() => {\n const externalValue = this.value();\n\n if (externalValue === null || externalValue === undefined) {\n if (this._syncedFromExternalValue) {\n this.internalValue.set('');\n this._usesInternalValue.set(false);\n }\n\n this._syncedFromExternalValue = false;\n return;\n }\n\n this._syncedFromExternalValue = true;\n this.internalValue.set(externalValue);\n this._usesInternalValue.set(true);\n });\n\n afterNextRender(() => {\n this._hydrateProjectedText();\n });\n }\n\n /** Handles interactive edits from the textarea overlay. */\n onInput(event: Event): void {\n const value = (event.target as HTMLTextAreaElement).value;\n this.internalValue.set(value);\n this._usesInternalValue.set(true);\n // The `value` model is the signal-forms transport: setting it propagates\n // the edit to the bound field ([formField]/[formControl]/ngModel).\n this.value.set(value);\n }\n\n /** Tracks focus state for form-field styling. */\n onFocus(): void {\n this.setFocused(true);\n }\n\n /** Tracks blur state for form-field styling and touched state. */\n onBlur(): void {\n this.setFocused(false);\n this._markTouched();\n }\n\n /** Whether the control holds a clearable value — Non-empty text present. */\n readonly hasValue = computed(() => this.internalValue().length > 0);\n\n /** @private Reads projected text after render and seeds the editable value from it when appropriate. */\n private _hydrateProjectedText(): void {\n const projectedText =\n this._projectionElement()?.nativeElement.textContent?.trim() ?? '';\n\n this._projectedText.set(projectedText);\n\n if (\n this.editable() &&\n !this._usesInternalValue() &&\n (this.value() === null || this.value() === undefined) &&\n projectedText\n ) {\n this.internalValue.set(projectedText);\n this._usesInternalValue.set(true);\n }\n }\n}\n","<span\n #projectionContent\n class=\"mlv-title__projection\"\n [class.mlv-title__projection--hidden]=\"!showProjectedContent()\"\n [attr.aria-hidden]=\"showProjectedContent() ? null : 'true'\"\n>\n <ng-content />\n</span>\n\n@if (showValueText()) {\n<span class=\"mlv-title__value\">{{ currentText() }}</span>\n} @if (editable()) {\n<span class=\"mlv-title__editor\">\n <pre\n class=\"mlv-title__pre\"\n [class.mlv-title__pre--placeholder]=\"editorShowsPlaceholder()\"\n aria-hidden=\"true\"\n >\n{{ editorMeasureText() }}</pre\n >\n <textarea\n class=\"mlv-title__textarea\"\n rows=\"1\"\n [value]=\"textareaValue()\"\n [placeholder]=\"placeholder()\"\n [readonly]=\"readonly()\"\n [disabled]=\"computedDisabled()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-required]=\"required() || null\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n ></textarea>\n</span>\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"malva-ui-core-title.js","sourceRoot":"","sources":["../../../../../libs/core/title/src/malva-ui-core-title.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
|
package/esm2022/toast/index.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
// Public API — shared base (re-exported for @malva-ui/notification to extend)
|
|
2
|
-
export * from './lib/toast.types';
|
|
3
|
-
export * from './lib/toast-ref';
|
|
4
|
-
export * from './lib/toast-timer';
|
|
5
|
-
export * from './lib/abstract-toast-container';
|
|
6
|
-
export * from './lib/abstract-toast.service';
|
|
7
|
-
export * from './lib/abstract-toast-item';
|
|
8
|
-
// Toast-specific exports
|
|
9
|
-
export * from './lib/toast-item/toast-item';
|
|
10
|
-
export * from './lib/toast-container/toast-container';
|
|
11
|
-
export * from './lib/toast.service';
|
|
12
|
-
export * from './lib/toast.directives';
|
|
13
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/core/toast/src/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAE1C,yBAAyB;AACzB,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC","sourcesContent":["// Public API — shared base (re-exported for @malva-ui/notification to extend)\nexport * from './lib/toast.types';\nexport * from './lib/toast-ref';\nexport * from './lib/toast-timer';\nexport * from './lib/abstract-toast-container';\nexport * from './lib/abstract-toast.service';\nexport * from './lib/abstract-toast-item';\n\n// Toast-specific exports\nexport * from './lib/toast-item/toast-item';\nexport * from './lib/toast-container/toast-container';\nexport * from './lib/toast.service';\nexport * from './lib/toast.directives';\n"]}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { Directive, signal } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Abstract base for toast/notification container components.
|
|
5
|
-
* Manages the ordered list of active items for a single overlay position.
|
|
6
|
-
* Extend this class and add the @Component decorator to create a concrete container.
|
|
7
|
-
*/
|
|
8
|
-
export class MlvAbstractToastContainerComponent {
|
|
9
|
-
/** The overlay position this container is responsible for. Set by the service. */
|
|
10
|
-
position = signal('top-right', /* @ts-ignore */
|
|
11
|
-
...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
|
|
12
|
-
toasts = signal([], /* @ts-ignore */
|
|
13
|
-
...(ngDevMode ? [{ debugName: "toasts" }] : /* istanbul ignore next */ []));
|
|
14
|
-
/** @private Service-owned callback used by every item close source. */
|
|
15
|
-
_closeHandler = (id) => {
|
|
16
|
-
this.remove(id);
|
|
17
|
-
};
|
|
18
|
-
add(item) {
|
|
19
|
-
const isTop = this.position().startsWith('top');
|
|
20
|
-
this.toasts.update((ts) => (isTop ? [item, ...ts] : [...ts, item]));
|
|
21
|
-
}
|
|
22
|
-
remove(id) {
|
|
23
|
-
const exists = this.toasts().some((toast) => toast.id === id);
|
|
24
|
-
if (!exists) {
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
this.toasts.update((ts) => ts.filter((t) => t.id !== id));
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
isEmpty() {
|
|
31
|
-
return this.toasts().length === 0;
|
|
32
|
-
}
|
|
33
|
-
setComponent(component) {
|
|
34
|
-
this.component = component;
|
|
35
|
-
}
|
|
36
|
-
/** Registers the service-owned close callback for timer, action, and dismiss-button requests. */
|
|
37
|
-
setCloseHandler(handler) {
|
|
38
|
-
this._closeHandler = handler;
|
|
39
|
-
}
|
|
40
|
-
/** @protected Routes an item close request through the owning service. */
|
|
41
|
-
requestClose(id) {
|
|
42
|
-
this._closeHandler(id);
|
|
43
|
-
}
|
|
44
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvAbstractToastContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
45
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MlvAbstractToastContainerComponent, isStandalone: true, ngImport: i0 });
|
|
46
|
-
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvAbstractToastContainerComponent, decorators: [{
|
|
48
|
-
type: Directive
|
|
49
|
-
}] });
|
|
50
|
-
//# sourceMappingURL=abstract-toast-container.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-toast-container.js","sourceRoot":"","sources":["../../../../../../libs/core/toast/src/lib/abstract-toast-container.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;;AASlD;;;;GAIG;AAEH,MAAM,OAAgB,kCAAkC;IAGtD,kFAAkF;IACzE,QAAQ,GAAG,MAAM,CAAmB,WAAW;iFAAC,CAAC;IACjD,MAAM,GAAG,MAAM,CAAM,EAAE;+EAAC,CAAC;IAIlC,uEAAuE;IAC/D,aAAa,GAAG,CAAC,EAAU,EAAQ,EAAE;QAC3C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,GAAG,CAAC,IAAO;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,MAAM,CAAC,EAAU;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,YAAY,CAAC,SAA2C;QACtD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,iGAAiG;IACjG,eAAe,CAAC,OAA6B;QAC3C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED,0EAA0E;IAChE,YAAY,CAAC,EAAU;QAC/B,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACzB,CAAC;uGA5CmB,kCAAkC;2FAAlC,kCAAkC;;2FAAlC,kCAAkC;kBADvD,SAAS","sourcesContent":["import type { Signal, Type } from '@angular/core';\nimport { Directive, signal } from '@angular/core';\nimport type { MlvInternalBaseToast, MlvToastPosition } from './toast.types';\n\nexport interface MlvIAbstractToastComponent<\n T extends MlvInternalBaseToast = MlvInternalBaseToast,\n> {\n toast: Signal<T>;\n}\n\n/**\n * Abstract base for toast/notification container components.\n * Manages the ordered list of active items for a single overlay position.\n * Extend this class and add the @Component decorator to create a concrete container.\n */\n@Directive()\nexport abstract class MlvAbstractToastContainerComponent<\n T extends MlvInternalBaseToast,\n> {\n /** The overlay position this container is responsible for. Set by the service. */\n readonly position = signal<MlvToastPosition>('top-right');\n readonly toasts = signal<T[]>([]);\n\n abstract component: Type<MlvIAbstractToastComponent>;\n\n /** @private Service-owned callback used by every item close source. */\n private _closeHandler = (id: string): void => {\n this.remove(id);\n };\n\n add(item: T): void {\n const isTop = this.position().startsWith('top');\n this.toasts.update((ts) => (isTop ? [item, ...ts] : [...ts, item]));\n }\n\n remove(id: string): boolean {\n const exists = this.toasts().some((toast) => toast.id === id);\n if (!exists) {\n return false;\n }\n this.toasts.update((ts) => ts.filter((t) => t.id !== id));\n return true;\n }\n\n isEmpty(): boolean {\n return this.toasts().length === 0;\n }\n\n setComponent(component: Type<MlvIAbstractToastComponent>): void {\n this.component = component;\n }\n\n /** Registers the service-owned close callback for timer, action, and dismiss-button requests. */\n setCloseHandler(handler: (id: string) => void): void {\n this._closeHandler = handler;\n }\n\n /** @protected Routes an item close request through the owning service. */\n protected requestClose(id: string): void {\n this._closeHandler(id);\n }\n}\n"]}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, inject, input } from '@angular/core';
|
|
2
|
-
import { MLV_TOAST_CLOSE } from './toast.types';
|
|
3
|
-
import { MlvToastTimer } from './toast-timer';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class MlvAbstractToastItem {
|
|
6
|
-
toast = input.required(/* @ts-ignore */
|
|
7
|
-
...(ngDevMode ? [{ debugName: "toast" }] : /* istanbul ignore next */ []));
|
|
8
|
-
/** @protected Auto-dismiss countdown timer for this toast item. */
|
|
9
|
-
timer = new MlvToastTimer();
|
|
10
|
-
/** @protected Dismiss callback that closes this item by id. */
|
|
11
|
-
_dismiss = inject(MLV_TOAST_CLOSE);
|
|
12
|
-
/**
|
|
13
|
-
* @protected Host element ref, used to detect whether focus stays within the
|
|
14
|
-
* item when handling `focusout` (so intra-item focus moves do not resume the
|
|
15
|
-
* timer prematurely).
|
|
16
|
-
*/
|
|
17
|
-
_elementRef = inject((ElementRef));
|
|
18
|
-
ngOnInit() {
|
|
19
|
-
if (this.toast().displayTime > 0) {
|
|
20
|
-
this.timer.start(this.toast().displayTime, () => this.onClose());
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
ngOnDestroy() {
|
|
24
|
-
this.timer.clear();
|
|
25
|
-
}
|
|
26
|
-
/** @protected Closes this toast item via the injected dismiss callback. */
|
|
27
|
-
onClose() {
|
|
28
|
-
this._dismiss(this.toast().id);
|
|
29
|
-
}
|
|
30
|
-
/** @protected Pauses the auto-dismiss timer on pointer enter when `pauseOnHover` is set. */
|
|
31
|
-
onMouseEnter() {
|
|
32
|
-
if (this.toast().pauseOnHover) {
|
|
33
|
-
this.timer.pause();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
/** @protected Resumes the auto-dismiss timer on pointer leave. */
|
|
37
|
-
onMouseLeave() {
|
|
38
|
-
this._resumeTimer();
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* @protected Pauses the auto-dismiss timer when keyboard focus enters the
|
|
42
|
-
* item, so keyboard users are not raced by the countdown (WCAG 2.2.1).
|
|
43
|
-
*/
|
|
44
|
-
onFocusIn() {
|
|
45
|
-
if (this.toast().pauseOnHover) {
|
|
46
|
-
this.timer.pause();
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* @protected Resumes the auto-dismiss timer when focus leaves the item
|
|
51
|
-
* entirely. Focus moves between elements inside the same item are ignored.
|
|
52
|
-
*/
|
|
53
|
-
onFocusOut(event) {
|
|
54
|
-
const next = event.relatedTarget;
|
|
55
|
-
if (next && this._elementRef.nativeElement.contains(next)) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
this._resumeTimer();
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* @private Restarts the countdown from the full `displayTime` when pausing is
|
|
62
|
-
* enabled and the item is auto-dismissable.
|
|
63
|
-
*/
|
|
64
|
-
_resumeTimer() {
|
|
65
|
-
if (this.toast().pauseOnHover && this.toast().displayTime > 0) {
|
|
66
|
-
this.timer.start(this.toast().displayTime, () => this.onClose());
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvAbstractToastItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
70
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.7", type: MlvAbstractToastItem, isStandalone: true, inputs: { toast: { classPropertyName: "toast", publicName: "toast", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
|
|
71
|
-
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvAbstractToastItem, decorators: [{
|
|
73
|
-
type: Directive
|
|
74
|
-
}], propDecorators: { toast: [{ type: i0.Input, args: [{ isSignal: true, alias: "toast", required: true }] }] } });
|
|
75
|
-
//# sourceMappingURL=abstract-toast-item.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-toast-item.js","sourceRoot":"","sources":["../../../../../../libs/core/toast/src/lib/abstract-toast-item.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;;AAG9C,MAAM,OAAgB,oBAAoB;IAKxC,KAAK,GAAG,KAAK,CAAC,QAAQ;8EAAK,CAAC;IAE5B,mEAAmE;IAChD,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;IAE/C,+DAA+D;IAC5C,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IAEtD;;;;OAIG;IACgB,WAAW,GAAG,MAAM,CAAC,CAAA,UAAuB,CAAA,CAAC,CAAC;IAEjE,QAAQ;QACN,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,WAAW;QACT,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,2EAA2E;IACjE,OAAO;QACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAED,4FAA4F;IAClF,YAAY;QACpB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,kEAAkE;IACxD,YAAY;QACpB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED;;;OAGG;IACO,SAAS;QACjB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;;OAGG;IACO,UAAU,CAAC,KAAiB;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,aAA4B,CAAC;QAChD,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,OAAO;QACT,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED;;;OAGG;IACK,YAAY;QAClB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;uGA7EmB,oBAAoB;2FAApB,oBAAoB;;2FAApB,oBAAoB;kBADzC,SAAS","sourcesContent":["import type { OnDestroy, OnInit } from '@angular/core';\nimport { Directive, ElementRef, inject, input } from '@angular/core';\nimport type { MlvInternalBaseToast } from './toast.types';\nimport { MLV_TOAST_CLOSE } from './toast.types';\nimport type { MlvIAbstractToastComponent } from './abstract-toast-container';\nimport { MlvToastTimer } from './toast-timer';\n\n@Directive()\nexport abstract class MlvAbstractToastItem<\n T extends MlvInternalBaseToast = MlvInternalBaseToast,\n >\n implements MlvIAbstractToastComponent<T>, OnInit, OnDestroy\n{\n toast = input.required<T>();\n\n /** @protected Auto-dismiss countdown timer for this toast item. */\n protected readonly timer = new MlvToastTimer();\n\n /** @protected Dismiss callback that closes this item by id. */\n protected readonly _dismiss = inject(MLV_TOAST_CLOSE);\n\n /**\n * @protected Host element ref, used to detect whether focus stays within the\n * item when handling `focusout` (so intra-item focus moves do not resume the\n * timer prematurely).\n */\n protected readonly _elementRef = inject(ElementRef<HTMLElement>);\n\n ngOnInit(): void {\n if (this.toast().displayTime > 0) {\n this.timer.start(this.toast().displayTime, () => this.onClose());\n }\n }\n\n ngOnDestroy(): void {\n this.timer.clear();\n }\n\n /** @protected Closes this toast item via the injected dismiss callback. */\n protected onClose(): void {\n this._dismiss(this.toast().id);\n }\n\n /** @protected Pauses the auto-dismiss timer on pointer enter when `pauseOnHover` is set. */\n protected onMouseEnter(): void {\n if (this.toast().pauseOnHover) {\n this.timer.pause();\n }\n }\n\n /** @protected Resumes the auto-dismiss timer on pointer leave. */\n protected onMouseLeave(): void {\n this._resumeTimer();\n }\n\n /**\n * @protected Pauses the auto-dismiss timer when keyboard focus enters the\n * item, so keyboard users are not raced by the countdown (WCAG 2.2.1).\n */\n protected onFocusIn(): void {\n if (this.toast().pauseOnHover) {\n this.timer.pause();\n }\n }\n\n /**\n * @protected Resumes the auto-dismiss timer when focus leaves the item\n * entirely. Focus moves between elements inside the same item are ignored.\n */\n protected onFocusOut(event: FocusEvent): void {\n const next = event.relatedTarget as Node | null;\n if (next && this._elementRef.nativeElement.contains(next)) {\n return;\n }\n this._resumeTimer();\n }\n\n /**\n * @private Restarts the countdown from the full `displayTime` when pausing is\n * enabled and the item is auto-dismissable.\n */\n private _resumeTimer(): void {\n if (this.toast().pauseOnHover && this.toast().displayTime > 0) {\n this.timer.start(this.toast().displayTime, () => this.onClose());\n }\n }\n}\n"]}
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
import { DestroyRef, EnvironmentInjector, inject } from '@angular/core';
|
|
2
|
-
import { Overlay } from '@angular/cdk/overlay';
|
|
3
|
-
import { ComponentPortal } from '@angular/cdk/portal';
|
|
4
|
-
import { LiveAnnouncer } from '@angular/cdk/a11y';
|
|
5
|
-
import { MlvToastRef } from './toast-ref';
|
|
6
|
-
const TOAST_LEAVE_DURATION_MS = 200;
|
|
7
|
-
/** Position used when a config omits one. Single source of truth for subclasses. */
|
|
8
|
-
export const MLV_TOAST_DEFAULT_POSITION = 'top-right';
|
|
9
|
-
/**
|
|
10
|
-
* Abstract base service for toast/notification services.
|
|
11
|
-
* Manages CDK overlay refs (one per position) and container lifecycle.
|
|
12
|
-
* Extend this class and implement `containerType` and `buildItem()`.
|
|
13
|
-
*/
|
|
14
|
-
export class MlvAbstractToastService {
|
|
15
|
-
/** @protected CDK overlay service used to create per-position toast panels. */
|
|
16
|
-
_overlay = inject(Overlay);
|
|
17
|
-
/** @protected Environment injector used when attaching container portals. */
|
|
18
|
-
_environmentInjector = inject(EnvironmentInjector);
|
|
19
|
-
/**
|
|
20
|
-
* @protected Owns the single persistent ARIA live region used to announce
|
|
21
|
-
* items. Announcing from here rather than from a `role` on each rendered item
|
|
22
|
-
* means the region exists in the DOM before any message is inserted (screen
|
|
23
|
-
* readers miss content added together with its live region), one stacked item
|
|
24
|
-
* does not add one live region, and an assertive tone cannot silently
|
|
25
|
-
* override the caller's politeness choice.
|
|
26
|
-
*/
|
|
27
|
-
_liveAnnouncer = inject(LiveAnnouncer);
|
|
28
|
-
/** @private Cleans up overlays, refs, and deferred disposal timers with the service. */
|
|
29
|
-
_destroyRef = inject(DestroyRef);
|
|
30
|
-
/** @private Active overlay refs keyed by position. */
|
|
31
|
-
_overlayRefs = new Map();
|
|
32
|
-
/** @private Active container instances keyed by position. */
|
|
33
|
-
_containers = new Map();
|
|
34
|
-
/** @private Active item references keyed by generated ID. */
|
|
35
|
-
_refs = new Map();
|
|
36
|
-
/** @private Deferred final-item overlay disposal timers keyed by position. */
|
|
37
|
-
_disposeTimers = new Map();
|
|
38
|
-
/** @private Monotonic counter used to generate unique toast ids. */
|
|
39
|
-
_idCounter = 0;
|
|
40
|
-
constructor() {
|
|
41
|
-
this._destroyRef.onDestroy(() => {
|
|
42
|
-
for (const timer of this._disposeTimers.values()) {
|
|
43
|
-
clearTimeout(timer);
|
|
44
|
-
}
|
|
45
|
-
for (const overlayRef of this._overlayRefs.values()) {
|
|
46
|
-
overlayRef.dispose();
|
|
47
|
-
}
|
|
48
|
-
for (const ref of this._refs.values()) {
|
|
49
|
-
ref._markClosed();
|
|
50
|
-
}
|
|
51
|
-
// Drop any text still sitting in the shared live region, so a destroyed
|
|
52
|
-
// service cannot leave a stale announcement behind for the next one.
|
|
53
|
-
this._liveAnnouncer.clear();
|
|
54
|
-
this._disposeTimers.clear();
|
|
55
|
-
this._overlayRefs.clear();
|
|
56
|
-
this._containers.clear();
|
|
57
|
-
this._refs.clear();
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
show(config) {
|
|
61
|
-
const position = config.position ?? MLV_TOAST_DEFAULT_POSITION;
|
|
62
|
-
const container = this._ensureContainer(position);
|
|
63
|
-
const id = `toast-${++this._idCounter}`;
|
|
64
|
-
const ref = this._createRef(id, position, config);
|
|
65
|
-
this._refs.set(id, ref);
|
|
66
|
-
container.add(this.buildItem(id, config, ref));
|
|
67
|
-
const announcement = this.resolveAnnouncement(config);
|
|
68
|
-
if (announcement) {
|
|
69
|
-
this._liveAnnouncer.announce(announcement.message, config.politeness ?? announcement.politeness);
|
|
70
|
-
}
|
|
71
|
-
return ref;
|
|
72
|
-
}
|
|
73
|
-
close(id, position) {
|
|
74
|
-
if (position) {
|
|
75
|
-
const container = this._containers.get(position);
|
|
76
|
-
if (container?.remove(id)) {
|
|
77
|
-
this._completeRef(id);
|
|
78
|
-
if (container.isEmpty()) {
|
|
79
|
-
this._scheduleDisposePosition(position);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
for (const [pos, container] of this._containers) {
|
|
85
|
-
if (container.remove(id)) {
|
|
86
|
-
this._completeRef(id);
|
|
87
|
-
if (container.isEmpty()) {
|
|
88
|
-
this._scheduleDisposePosition(pos);
|
|
89
|
-
}
|
|
90
|
-
break;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
/** @protected Creates the concrete reference returned for a new item. */
|
|
96
|
-
_createRef(id, position, config) {
|
|
97
|
-
return new MlvToastRef(id, config.data, () => this.close(id, position));
|
|
98
|
-
}
|
|
99
|
-
/** @private Returns the container for a position, creating the overlay on first use. */
|
|
100
|
-
_ensureContainer(position) {
|
|
101
|
-
const existing = this._containers.get(position);
|
|
102
|
-
if (existing) {
|
|
103
|
-
this._cancelDisposePosition(position);
|
|
104
|
-
return existing;
|
|
105
|
-
}
|
|
106
|
-
const overlayRef = this._overlay.create({
|
|
107
|
-
positionStrategy: this._getPositionStrategy(position),
|
|
108
|
-
panelClass: ['mlv-toast-panel', `mlv-toast-panel--${position}`],
|
|
109
|
-
scrollStrategy: this._overlay.scrollStrategies.noop(),
|
|
110
|
-
maxHeight: 'calc(100vh - 32px)',
|
|
111
|
-
});
|
|
112
|
-
const portal = new ComponentPortal(this.containerType, null, this._environmentInjector);
|
|
113
|
-
const componentRef = overlayRef.attach(portal);
|
|
114
|
-
componentRef.instance.position.set(position);
|
|
115
|
-
this._overlayRefs.set(position, overlayRef);
|
|
116
|
-
this._containers.set(position, componentRef.instance);
|
|
117
|
-
componentRef.instance.setComponent(this.toastItemType);
|
|
118
|
-
componentRef.instance.setCloseHandler((id) => this.close(id, position));
|
|
119
|
-
return componentRef.instance;
|
|
120
|
-
}
|
|
121
|
-
/** @private Disposes the overlay for a position once its container is empty. */
|
|
122
|
-
_disposePosition(position) {
|
|
123
|
-
this._cancelDisposePosition(position);
|
|
124
|
-
const overlayRef = this._overlayRefs.get(position);
|
|
125
|
-
if (overlayRef) {
|
|
126
|
-
overlayRef.dispose();
|
|
127
|
-
this._overlayRefs.delete(position);
|
|
128
|
-
this._containers.delete(position);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
/** @private Defers final-item disposal so Angular's leave animation can finish. */
|
|
132
|
-
_scheduleDisposePosition(position) {
|
|
133
|
-
this._cancelDisposePosition(position);
|
|
134
|
-
this._disposeTimers.set(position, setTimeout(() => {
|
|
135
|
-
this._disposeTimers.delete(position);
|
|
136
|
-
if (this._containers.get(position)?.isEmpty()) {
|
|
137
|
-
this._disposePosition(position);
|
|
138
|
-
}
|
|
139
|
-
}, TOAST_LEAVE_DURATION_MS));
|
|
140
|
-
}
|
|
141
|
-
/** @private Cancels pending disposal when a new item reuses the same position. */
|
|
142
|
-
_cancelDisposePosition(position) {
|
|
143
|
-
const timer = this._disposeTimers.get(position);
|
|
144
|
-
if (timer !== undefined) {
|
|
145
|
-
clearTimeout(timer);
|
|
146
|
-
this._disposeTimers.delete(position);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
/** @private Completes and releases the reference for a removed item. */
|
|
150
|
-
_completeRef(id) {
|
|
151
|
-
this._refs.get(id)?._markClosed();
|
|
152
|
-
this._refs.delete(id);
|
|
153
|
-
}
|
|
154
|
-
/** @private Builds the global position strategy for a toast position. */
|
|
155
|
-
_getPositionStrategy(position) {
|
|
156
|
-
const strategy = this._overlay.position().global();
|
|
157
|
-
const margin = '16px';
|
|
158
|
-
if (position.startsWith('top')) {
|
|
159
|
-
strategy.top(margin);
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
strategy.bottom(margin);
|
|
163
|
-
}
|
|
164
|
-
if (position.endsWith('left')) {
|
|
165
|
-
strategy.left(margin);
|
|
166
|
-
}
|
|
167
|
-
else if (position.endsWith('right')) {
|
|
168
|
-
strategy.right(margin);
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
strategy.centerHorizontally();
|
|
172
|
-
}
|
|
173
|
-
return strategy;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
//# sourceMappingURL=abstract-toast.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"abstract-toast.service.js","sourceRoot":"","sources":["../../../../../../libs/core/toast/src/lib/abstract-toast.service.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Type } from '@angular/core';\nimport { DestroyRef, EnvironmentInjector, inject } from '@angular/core';\nimport type { OverlayRef } from '@angular/cdk/overlay';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { LiveAnnouncer } from '@angular/cdk/a11y';\nimport type { GlobalPositionStrategy } from '@angular/cdk/overlay';\nimport type {\n MlvAbstractToastContainerComponent,\n MlvIAbstractToastComponent,\n} from './abstract-toast-container';\nimport type {\n MlvBaseToastConfig,\n MlvInternalBaseToast,\n MlvToastPoliteness,\n MlvToastPosition,\n} from './toast.types';\nimport { MlvToastRef } from './toast-ref';\n\nconst TOAST_LEAVE_DURATION_MS = 200;\n\n/** Position used when a config omits one. Single source of truth for subclasses. */\nexport const MLV_TOAST_DEFAULT_POSITION: MlvToastPosition = 'top-right';\n\n/**\n * Abstract base service for toast/notification services.\n * Manages CDK overlay refs (one per position) and container lifecycle.\n * Extend this class and implement `containerType` and `buildItem()`.\n */\nexport abstract class MlvAbstractToastService<\n TConfig extends MlvBaseToastConfig,\n TItem extends MlvInternalBaseToast,\n TItemComponent extends MlvIAbstractToastComponent,\n TRef extends MlvToastRef = MlvToastRef,\n> {\n /** @protected CDK overlay service used to create per-position toast panels. */\n protected readonly _overlay = inject(Overlay);\n /** @protected Environment injector used when attaching container portals. */\n protected readonly _environmentInjector = inject(EnvironmentInjector);\n /**\n * @protected Owns the single persistent ARIA live region used to announce\n * items. Announcing from here rather than from a `role` on each rendered item\n * means the region exists in the DOM before any message is inserted (screen\n * readers miss content added together with its live region), one stacked item\n * does not add one live region, and an assertive tone cannot silently\n * override the caller's politeness choice.\n */\n protected readonly _liveAnnouncer = inject(LiveAnnouncer);\n /** @private Cleans up overlays, refs, and deferred disposal timers with the service. */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @private Active overlay refs keyed by position. */\n private readonly _overlayRefs = new Map<MlvToastPosition, OverlayRef>();\n /** @private Active container instances keyed by position. */\n private readonly _containers = new Map<\n MlvToastPosition,\n MlvAbstractToastContainerComponent<TItem>\n >();\n /** @private Active item references keyed by generated ID. */\n private readonly _refs = new Map<string, TRef>();\n /** @private Deferred final-item overlay disposal timers keyed by position. */\n private readonly _disposeTimers = new Map<\n MlvToastPosition,\n ReturnType<typeof setTimeout>\n >();\n /** @private Monotonic counter used to generate unique toast ids. */\n private _idCounter = 0;\n\n /** The concrete container component class to instantiate per position. */\n protected abstract readonly containerType: Type<\n MlvAbstractToastContainerComponent<TItem>\n >;\n\n /** The concrete toast item component class to instantiate per each toast. */\n protected abstract readonly toastItemType: Type<TItemComponent>;\n\n /** Build a fully-populated item from user config and the generated id. */\n protected abstract buildItem(id: string, config: TConfig, ref: TRef): TItem;\n\n /**\n * The text announced to assistive technology for this item, and the politeness\n * to announce it with. Return `null` to announce nothing — appropriate when\n * the item's content is a template or component the service cannot read.\n *\n * @param config - The caller's config for this item.\n */\n protected abstract resolveAnnouncement(\n config: TConfig,\n ): { message: string; politeness: MlvToastPoliteness } | null;\n\n constructor() {\n this._destroyRef.onDestroy(() => {\n for (const timer of this._disposeTimers.values()) {\n clearTimeout(timer);\n }\n for (const overlayRef of this._overlayRefs.values()) {\n overlayRef.dispose();\n }\n for (const ref of this._refs.values()) {\n ref._markClosed();\n }\n // Drop any text still sitting in the shared live region, so a destroyed\n // service cannot leave a stale announcement behind for the next one.\n this._liveAnnouncer.clear();\n this._disposeTimers.clear();\n this._overlayRefs.clear();\n this._containers.clear();\n this._refs.clear();\n });\n }\n\n show(config: TConfig): TRef {\n const position = config.position ?? MLV_TOAST_DEFAULT_POSITION;\n const container = this._ensureContainer(position);\n const id = `toast-${++this._idCounter}`;\n const ref = this._createRef(id, position, config);\n this._refs.set(id, ref);\n container.add(this.buildItem(id, config, ref));\n\n const announcement = this.resolveAnnouncement(config);\n if (announcement) {\n this._liveAnnouncer.announce(\n announcement.message,\n config.politeness ?? announcement.politeness,\n );\n }\n\n return ref;\n }\n\n close(id: string, position?: MlvToastPosition): void {\n if (position) {\n const container = this._containers.get(position);\n if (container?.remove(id)) {\n this._completeRef(id);\n if (container.isEmpty()) {\n this._scheduleDisposePosition(position);\n }\n }\n } else {\n for (const [pos, container] of this._containers) {\n if (container.remove(id)) {\n this._completeRef(id);\n if (container.isEmpty()) {\n this._scheduleDisposePosition(pos);\n }\n break;\n }\n }\n }\n }\n\n /** @protected Creates the concrete reference returned for a new item. */\n protected _createRef(\n id: string,\n position: MlvToastPosition,\n config: TConfig,\n ): TRef {\n return new MlvToastRef(id, config.data, () =>\n this.close(id, position),\n ) as TRef;\n }\n\n /** @private Returns the container for a position, creating the overlay on first use. */\n private _ensureContainer(\n position: MlvToastPosition,\n ): MlvAbstractToastContainerComponent<TItem> {\n const existing = this._containers.get(position);\n if (existing) {\n this._cancelDisposePosition(position);\n return existing;\n }\n\n const overlayRef = this._overlay.create({\n positionStrategy: this._getPositionStrategy(position),\n panelClass: ['mlv-toast-panel', `mlv-toast-panel--${position}`],\n scrollStrategy: this._overlay.scrollStrategies.noop(),\n maxHeight: 'calc(100vh - 32px)',\n });\n\n const portal = new ComponentPortal(\n this.containerType,\n null,\n this._environmentInjector,\n );\n const componentRef = overlayRef.attach(portal);\n componentRef.instance.position.set(position);\n\n this._overlayRefs.set(position, overlayRef);\n this._containers.set(position, componentRef.instance);\n componentRef.instance.setComponent(this.toastItemType);\n componentRef.instance.setCloseHandler((id) => this.close(id, position));\n\n return componentRef.instance;\n }\n\n /** @private Disposes the overlay for a position once its container is empty. */\n private _disposePosition(position: MlvToastPosition): void {\n this._cancelDisposePosition(position);\n const overlayRef = this._overlayRefs.get(position);\n if (overlayRef) {\n overlayRef.dispose();\n this._overlayRefs.delete(position);\n this._containers.delete(position);\n }\n }\n\n /** @private Defers final-item disposal so Angular's leave animation can finish. */\n private _scheduleDisposePosition(position: MlvToastPosition): void {\n this._cancelDisposePosition(position);\n this._disposeTimers.set(\n position,\n setTimeout(() => {\n this._disposeTimers.delete(position);\n if (this._containers.get(position)?.isEmpty()) {\n this._disposePosition(position);\n }\n }, TOAST_LEAVE_DURATION_MS),\n );\n }\n\n /** @private Cancels pending disposal when a new item reuses the same position. */\n private _cancelDisposePosition(position: MlvToastPosition): void {\n const timer = this._disposeTimers.get(position);\n if (timer !== undefined) {\n clearTimeout(timer);\n this._disposeTimers.delete(position);\n }\n }\n\n /** @private Completes and releases the reference for a removed item. */\n private _completeRef(id: string): void {\n this._refs.get(id)?._markClosed();\n this._refs.delete(id);\n }\n\n /** @private Builds the global position strategy for a toast position. */\n private _getPositionStrategy(\n position: MlvToastPosition,\n ): GlobalPositionStrategy {\n const strategy = this._overlay.position().global();\n const margin = '16px';\n\n if (position.startsWith('top')) {\n strategy.top(margin);\n } else {\n strategy.bottom(margin);\n }\n\n if (position.endsWith('left')) {\n strategy.left(margin);\n } else if (position.endsWith('right')) {\n strategy.right(margin);\n } else {\n strategy.centerHorizontally();\n }\n\n return strategy;\n }\n}\n"]}
|