@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"malva-ui-core-page.mjs","sources":["../../../../libs/core/page/src/lib/page/page-snap-controller.ts","../../../../libs/core/page/src/lib/page/page-scroll.token.ts","../../../../libs/core/page/src/lib/page/page.ts","../../../../libs/core/page/src/lib/page/page-snap-region-base.ts","../../../../libs/core/page/src/lib/page/page-snap.directive.ts","../../../../libs/core/page/src/lib/page-shell/page-shell-color.ts","../../../../libs/core/page/src/lib/page-shell/page-shell-css-color.ts","../../../../libs/core/page/src/lib/page-shell/page-shell.ts","../../../../libs/core/page/src/lib/page-shell/page-shell.html","../../../../libs/core/page/src/lib/page-shell/page-shell.slots.ts","../../../../libs/core/page/src/lib/page-end-pane/page-end-pane-content.ts","../../../../libs/core/page/src/lib/page-end-pane/page-end-pane.ts","../../../../libs/core/page/src/lib/page-end-pane/page-end-pane.html","../../../../libs/core/page/src/lib/page-end-pane/page-end-pane-trigger.ts","../../../../libs/core/page/src/lib/page-header/page-header.directives.ts","../../../../libs/core/page/src/lib/page-header/page-header.ts","../../../../libs/core/page/src/lib/page-header/page-header.html","../../../../libs/core/page/src/lib/page-content/page-aside.ts","../../../../libs/core/page/src/lib/page-content/page-content.ts","../../../../libs/core/page/src/lib/page-content/page-content.html","../../../../libs/core/page/src/lib/page-summary/page-summary.ts","../../../../libs/core/page/src/lib/page-summary/page-summary-item.ts","../../../../libs/core/page/src/lib/page-dock/page-dock.ts","../../../../libs/core/page/src/lib/page-dock/page-dock.slots.ts","../../../../libs/core/page/src/malva-ui-core-page.ts"],"sourcesContent":["import {\n computed,\n DestroyRef,\n inject,\n Injectable,\n signal,\n} from '@angular/core';\nimport type { WritableSignal, Signal } from '@angular/core';\n\n/** How the current pinned state came to be. */\ntype MlvPageSnapPinOrigin = 'manual' | 'scroll';\n\n/**\n * A region of the page chrome that collapses on the snap timeline and can be\n * revealed ahead of it. Implemented by `MlvPageSnap`, which registers itself\n * with the controller so `expand()` can make collapsed chrome focusable.\n */\nexport interface MlvPageSnapRegion {\n /**\n * Reveals the region immediately, before any tween runs, so a `focus()`\n * issued in the same task is not refused on hidden chrome.\n */\n reveal(): void;\n\n /**\n * Re-applies the region's own hidden state to the DOM. Called when the\n * reveal window ends, because a reveal that never round-tripped through\n * change detection leaves the host binding holding a stale value.\n */\n syncHiddenState(): void;\n}\n\n/**\n * Owns the snap progress of a page's collapsing top chrome.\n *\n * Progress is **scroll-scrubbed**: `main[mlvPage]` maps its scroll offset onto\n * a 0..1 timeline (`snapRange` pixels of scroll = the full timeline), so\n * chrome motion is proportional to scrolling instead of a time-based\n * animation. The effective value is published as the `--mlv-page-snap` CSS\n * custom property on the page host; elements interpolate their own state from\n * it (see `MlvPageSnap`).\n *\n * Pinning distinguishes its origin:\n * - **Manual** (chevron toggle): an explicit choice — while manually pinned\n * collapsed, the geometry-compensation spacer is reclaimed (`spacerScale`\n * tweens to 0) so no dead space remains above the content, including at the\n * top of the page.\n * - **Scroll** (pin button freezing a scroll-derived state): the frozen state\n * is a scroll artifact — when the user returns to the top, the controller\n * unpins automatically and the chrome expands.\n *\n * `expand()` / `collapse()` drive the same manual pin imperatively; `expand()`\n * additionally reveals every registered `MlvPageSnapRegion` on the spot, so\n * consumers can focus a control inside chrome the scroll had collapsed.\n *\n * Provided by `MlvPage`. Inject optionally from header/summary components and\n * snap directives — absence simply means \"no scroll-linked behaviour\".\n */\n@Injectable()\nexport class MlvPageSnapController {\n /** @private Raw scroll-derived progress, 0 (top) .. 1 (fully snapped). */\n private readonly _scrollProgress = signal(0);\n\n /**\n * @private Frozen progress while pinned or after a manual toggle;\n * `null` means the progress follows the scroll position.\n */\n private readonly _frozen = signal<number | null>(null);\n\n /** @private How the current frozen state was produced. */\n private _pinOrigin: MlvPageSnapPinOrigin | null = null;\n\n /**\n * @private Scale applied by `MlvPage` to the geometry-compensation spacer;\n * tweens to 0 while manually pinned collapsed (dead space reclaimed).\n */\n private readonly _spacerScale = signal(1);\n\n /** @private Frame handles of the running tweens, per animated signal. */\n private readonly _tweenFrames = new Map<WritableSignal<number>, number>();\n\n /** @private Adapter so the frozen tween can share the signal tween helper. */\n private readonly _frozenNumber = signal(0);\n\n /** @private Cancels pending tweens when the owning page is destroyed. */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @private Snap regions that `expand()` reveals ahead of the tween. */\n private readonly _regions = new Set<MlvPageSnapRegion>();\n\n /** @private Backs the `revealing` bridge flag. */\n private readonly _revealing = signal(false);\n\n /** Effective snap progress: 0 fully expanded, 1 fully snapped. */\n readonly progress = computed(() => this._frozen() ?? this._scrollProgress());\n\n /** True while the chrome state is frozen and ignores scrolling. */\n readonly pinned = computed(() => this._frozen() !== null);\n\n /** True once the chrome is closer to its snapped state than the open one. */\n readonly snapped = computed(() => this.progress() >= 0.5);\n\n /**\n * @internal True while `expand()` bridges its own tween: snap regions stay\n * visible — and therefore focusable — from the call itself until the\n * progress has left their window. Read by `MlvPageSnap`.\n */\n readonly revealing: Signal<boolean> = this._revealing;\n\n /**\n * Multiplier for the geometry-compensation spacer, 1 (full compensation)\n * .. 0 (reclaimed). Consumed by `MlvPage`.\n */\n readonly spacerScale: Signal<number> = this._spacerScale;\n\n constructor() {\n this._destroyRef.onDestroy(() => {\n for (const frame of this._tweenFrames.values()) {\n cancelAnimationFrame(frame);\n }\n this._tweenFrames.clear();\n });\n }\n\n /**\n * @internal Registers a snap region so `expand()` can reveal it. Called by\n * `MlvPageSnap`; the returned callback unregisters on destroy.\n */\n registerRegion(region: MlvPageSnapRegion): () => void {\n this._regions.add(region);\n return () => {\n this._regions.delete(region);\n };\n }\n\n /**\n * @internal Called by `MlvPage` on every scroll event of its viewport.\n * A pinned controller keeps reporting the frozen value; a scroll-origin\n * pin releases itself once the user returns to the top, where the frozen\n * scroll artifact would only leave dead space.\n */\n updateFromScroll(scrollTop: number, snapRange: number): void {\n const progress =\n snapRange > 0 ? Math.min(Math.max(scrollTop / snapRange, 0), 1) : 0;\n this._scrollProgress.set(progress);\n if (this.pinned() && this._pinOrigin === 'scroll' && scrollTop <= 1) {\n this.setPinned(false);\n }\n }\n\n /**\n * Pins the chrome at its current progress (`true`) or releases it back to\n * scroll-following (`false`, animating to the scroll-derived value). A pin\n * taken from a scroll-following state is a scroll-origin pin; pinning while\n * already frozen by the chevron keeps the manual origin.\n */\n setPinned(pinned: boolean): void {\n if (pinned === this.pinned()) {\n return;\n }\n if (pinned) {\n this._cancelTween(this._frozenNumber);\n this._pinOrigin ??= 'scroll';\n this._frozen.set(this.progress());\n return;\n }\n this._pinOrigin = null;\n // Releasing the pin cancels a running expand tween as well.\n this._endReveal();\n this._animateSignal(this._spacerScale, 1);\n this._animateFrozenTo(this._scrollProgress(), () => this._frozen.set(null));\n }\n\n /**\n * Snaps the chrome fully open or closed (the chevron control). The result\n * is a manual pin — otherwise the very next scroll event would undo the\n * choice. Collapsing manually also reclaims the compensation spacer so no\n * dead space remains above the content.\n */\n toggle(): void {\n if (this.snapped()) {\n this.expand();\n } else {\n this.collapse();\n }\n }\n\n /**\n * Expands the chrome regardless of the scroll position and pins it there\n * (a manual pin, like the chevron control). Every registered snap region is\n * revealed **synchronously**, before the tween starts, so a consumer can\n * move focus into collapsed chrome in the same task:\n *\n * ```ts\n * this.snap.expand();\n * headerTab.focus();\n * ```\n */\n expand(): void {\n for (const region of this._regions) {\n region.reveal();\n }\n this._revealing.set(true);\n this._pinOrigin = 'manual';\n this._animateSignal(this._spacerScale, 1);\n this._animateFrozenTo(0, () => this._endReveal());\n }\n\n /**\n * Collapses the chrome regardless of the scroll position and pins it there,\n * reclaiming the compensation spacer so no dead space remains above the\n * content.\n */\n collapse(): void {\n // Collapsing cancels the expand tween, so the bridge that outlived it\n // would strand every region visible-but-scrubbed — an invisible tab stop.\n this._endReveal();\n this._pinOrigin = 'manual';\n this._animateSignal(this._spacerScale, 0);\n this._animateFrozenTo(1);\n }\n\n /**\n * @private Ends the reveal bridge and hands every region back its own\n * hidden state. `reveal()` writes the DOM ahead of change detection, so a\n * bridge that opens and closes without a render in between would otherwise\n * leave the host binding's cached value disagreeing with the element.\n */\n private _endReveal(): void {\n if (!this._revealing()) {\n return;\n }\n this._revealing.set(false);\n for (const region of this._regions) {\n region.syncHiddenState();\n }\n }\n\n /** @private Tweens the frozen progress via the shared signal tween. */\n private _animateFrozenTo(target: number, done?: () => void): void {\n this._frozenNumber.set(this.progress());\n this._frozen.set(this.progress());\n this._animateSignal(this._frozenNumber, target, done, (value) =>\n this._frozen.set(value),\n );\n }\n\n /** @private rAF tween so manual state changes stay smooth. */\n private _animateSignal(\n target: WritableSignal<number>,\n to: number,\n done?: () => void,\n mirror?: (value: number) => void,\n ): void {\n this._cancelTween(target);\n const from = target();\n const reducedMotion =\n typeof matchMedia !== 'undefined' &&\n matchMedia('(prefers-reduced-motion: reduce)').matches;\n if (\n reducedMotion ||\n typeof requestAnimationFrame === 'undefined' ||\n Math.abs(to - from) < 0.001\n ) {\n target.set(to);\n mirror?.(to);\n done?.();\n return;\n }\n\n const durationMs = 200;\n let startTime: number | null = null;\n const step = (now: number): void => {\n startTime ??= now;\n const t = Math.min((now - startTime) / durationMs, 1);\n const eased = 1 - (1 - t) ** 3;\n const value = from + (to - from) * eased;\n target.set(value);\n mirror?.(value);\n if (t < 1) {\n this._tweenFrames.set(target, requestAnimationFrame(step));\n } else {\n this._tweenFrames.delete(target);\n done?.();\n }\n };\n this._tweenFrames.set(target, requestAnimationFrame(step));\n }\n\n /** @private Stops the running tween of one signal, if any. */\n private _cancelTween(target: WritableSignal<number>): void {\n const frame = this._tweenFrames.get(target);\n if (frame !== undefined) {\n cancelAnimationFrame(frame);\n this._tweenFrames.delete(target);\n }\n }\n}\n","import { InjectionToken, type Signal } from '@angular/core';\n\n/**\n * Scroll state of the owning page's scroll container, exposed to descendants\n * such as `mlv-page-header` and `mlv-page-summary` for scroll-linked\n * behaviour (sticky snap shadows, auto-collapsing summary strips).\n */\nexport interface MlvPageScrollState {\n /** Current vertical scroll offset of the page scroll owner, in pixels. */\n readonly scrollTop: Signal<number>;\n\n /** True once the page has scrolled past a small hysteresis threshold. */\n readonly scrolled: Signal<boolean>;\n}\n\n/**\n * Injection token provided by `main[mlvPage]` so descendants can react to the\n * page's scroll position without knowing which element owns scrolling.\n * Inject optionally — components keep working outside a page, just without\n * scroll-linked behaviour.\n */\nexport const MLV_PAGE_SCROLL = new InjectionToken<MlvPageScrollState>(\n 'MLV_PAGE_SCROLL',\n);\n","import {\n afterNextRender,\n afterRenderEffect,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n inject,\n input,\n NgZone,\n signal,\n ViewEncapsulation,\n viewChild,\n} from '@angular/core';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { mlvNextId } from '@malva-ui/cdk/utils';\nimport { MlvScrollbar } from '@malva-ui/core/scrollbar';\nimport { MlvPageSnapController } from './page-snap-controller';\nimport { MLV_PAGE_SCROLL } from './page-scroll.token';\nimport type { MlvPageScrollState } from './page-scroll.token';\n\n/** Controls which element owns vertical page scrolling. */\nexport type MlvPageScroll = 'auto' | 'none';\n\n/** Controls the inset around projected page content. */\nexport type MlvPagePadding = 'none' | 's' | 'm' | 'l';\n\n/** Controls whether the page uses the anchored application-canvas treatment. */\nexport type MlvPageSurface = 'anchored' | 'flat';\n\n/**\n * Scroll offset in pixels below which the page reports itself as unscrolled.\n * The small hysteresis avoids flicker from sub-pixel scroll positions.\n */\nconst SCROLLED_THRESHOLD = 4;\n\n/**\n * Main page surface and scroll owner. Apply it to the page's native `<main>`\n * landmark and compose headers, content grids, and feature components inside.\n *\n * Provides `MLV_PAGE_SCROLL` so descendants such as `mlv-page-header` and\n * `mlv-page-summary` can react to the page's scroll position, and\n * `MlvPageSnapController`, whose scroll-scrubbed progress it publishes as the\n * `--mlv-page-snap` custom property (0 expanded .. 1 snapped) for descendants\n * to interpolate their snap state from.\n */\n@Component({\n // Attribute-selector component intentionally enhances the native main landmark.\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'main[mlvPage]',\n template: `\n <mlv-scrollbar class=\"mlv-page__scrollbar\" [disabled]=\"scroll() === 'none'\">\n <div class=\"mlv-page__inner\"><ng-content /></div>\n </mlv-scrollbar>\n `,\n imports: [MlvScrollbar],\n styleUrl: './page.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n { provide: MLV_PAGE_SCROLL, useExisting: MlvPage },\n MlvPageSnapController,\n ],\n host: {\n class: 'mlv-page',\n '[id]': 'id()',\n tabindex: '-1',\n '[class.mlv-page--scroll-auto]': 'scroll() === \"auto\"',\n '[class.mlv-page--scroll-none]': 'scroll() === \"none\"',\n '[class.mlv-page--padding-none]': 'padding() === \"none\"',\n '[class.mlv-page--padding-s]': 'padding() === \"s\"',\n '[class.mlv-page--padding-m]': 'padding() === \"m\"',\n '[class.mlv-page--padding-l]': 'padding() === \"l\"',\n '[class.mlv-page--surface-anchored]': 'surface() === \"anchored\"',\n '[class.mlv-page--surface-flat]': 'surface() === \"flat\"',\n '[class.mlv-page--sticky-header]': 'stickyHeader()',\n '[class.mlv-page--scrolled]': 'scrolled()',\n '[style.--mlv-page-max-width]': 'maxWidth()',\n },\n})\nexport class MlvPage implements MlvPageScrollState {\n /** Unique landmark id; set explicitly when targeting the page from a skip link. */\n readonly id = input(mlvNextId('mlv-page'));\n\n /** Selects whether the page or a consumer-owned region handles scrolling. */\n readonly scroll = input<MlvPageScroll>('auto');\n\n /** Optional maximum width for the centred inner page canvas. */\n readonly maxWidth = input<string | null>(null);\n\n /** Selects the responsive inset applied around projected page content. */\n readonly padding = input<MlvPagePadding>('m');\n\n /** Selects the anchored rounded canvas or a completely flat surface. */\n readonly surface = input<MlvPageSurface>('anchored');\n\n /** Makes projected page headers sticky within this page's scroll container. */\n readonly stickyHeader = input<boolean, BooleanInput>(true, {\n transform: coerceBooleanProperty,\n });\n\n /**\n * Scroll distance in pixels mapped onto the full snap timeline: scrolling\n * this far takes the top chrome from fully expanded to fully snapped.\n */\n readonly snapRange = input(96);\n\n /** Current vertical scroll offset of the page scroll owner, in pixels. */\n get scrollTop(): MlvPageScrollState['scrollTop'] {\n return this._scrollTop.asReadonly();\n }\n\n /** True once the page has scrolled past a small hysteresis threshold. */\n get scrolled(): MlvPageScrollState['scrolled'] {\n return this._scrolled.asReadonly();\n }\n\n /**\n * Snap controller of this page's collapsing top chrome. Descendants inject\n * `MlvPageSnapController` directly; a component that only *hosts* the page\n * reaches it from outside through `viewChild(MlvPage).snap` — for instance\n * to `expand()` the chrome before moving focus into it.\n */\n get snap(): MlvPageSnapController {\n return this._snap;\n }\n\n /** @private Writable source behind the public `scrollTop` signal. */\n private readonly _scrollTop = signal(0);\n\n /** @private Writable source behind the public `scrolled` signal. */\n private readonly _scrolled = signal(false);\n\n /** @private The page-owned scrollbar whose viewport is observed. */\n private readonly _scrollbar = viewChild.required(MlvScrollbar);\n\n /** @private Zone reference; the scroll listener runs outside the zone. */\n private readonly _ngZone = inject(NgZone);\n\n /** @private Cleans up the native scroll listener. */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @private Snap state provided to descendants and scrubbed from scroll. */\n private readonly _snap = inject(MlvPageSnapController);\n\n /** @private Host element carrying the published snap custom property. */\n private readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n constructor() {\n afterNextRender(() => {\n const viewport = this._scrollbar().viewportElement;\n const onScroll = (): void => {\n const top = viewport.scrollTop;\n this._scrollTop.set(top);\n this._scrolled.set(top > SCROLLED_THRESHOLD);\n this._snap.updateFromScroll(top, this.snapRange());\n };\n // Signal writes propagate through the reactivity graph without zone\n // involvement, so the frequent listener can stay outside the zone.\n this._ngZone.runOutsideAngular(() => {\n viewport.addEventListener('scroll', onScroll, { passive: true });\n });\n this._destroyRef.onDestroy(() => {\n viewport.removeEventListener('scroll', onScroll);\n });\n });\n\n // Publish the effective snap progress as a CSS custom property so\n // descendant styles can scrub their state with pure calc() interpolation,\n // then rebalance the chrome spacer against the freshly applied progress.\n afterRenderEffect(() => {\n const progress = this._snap.progress();\n // Track the spacer scale too: the reclaim tween must republish.\n this._snap.spacerScale();\n this._elementRef.nativeElement.style.setProperty(\n '--mlv-page-snap',\n String(Math.round(progress * 1000) / 1000),\n );\n this._measureSnapOffset();\n });\n\n afterNextRender(() => {\n const host = this._elementRef.nativeElement;\n this._snapChrome = Array.from(\n host.querySelectorAll<HTMLElement>(\n '.mlv-page__inner > .mlv-page-header, .mlv-page__inner > .mlv-page-summary',\n ),\n );\n this._measureSnapOffset();\n // Re-measure when chrome content itself resizes (wrapping, data).\n if (typeof ResizeObserver !== 'undefined') {\n const observer = new ResizeObserver(() => this._measureSnapOffset());\n this._snapChrome.forEach((element) => observer.observe(element));\n this._destroyRef.onDestroy(() => observer.disconnect());\n }\n });\n }\n\n /** @private Direct chrome children whose snapping height is compensated. */\n private _snapChrome: HTMLElement[] = [];\n\n /** @private Expanded (progress 0) chrome height, the compensation baseline. */\n private _snapExpandedHeight = 0;\n\n /**\n * @private Snapping shrinks in-flow chrome (the header with its projected\n * summary row), which would shift the content and the scroll height while\n * the user is still scrolling — a feedback loop that reads as mid-scroll\n * jumping. The removed height is re-added as a spacer after the chrome\n * (`--mlv-page-snap-offset`), keeping the document geometry stable so\n * content tracks the scroll 1:1. The controller's `spacerScale` scales the\n * spacer away while the chrome is manually pinned collapsed — a frozen\n * chrome never changes height mid-scroll, so the spacer is pure dead space.\n */\n private _measureSnapOffset(): void {\n if (this._snapChrome.length === 0) {\n return;\n }\n const total = this._snapChrome.reduce(\n (sum, element) => sum + element.offsetHeight,\n 0,\n );\n if (this._snap.progress() <= 0.001) {\n this._snapExpandedHeight = total;\n }\n const offset =\n Math.max(0, this._snapExpandedHeight - total) * this._snap.spacerScale();\n this._elementRef.nativeElement.style.setProperty(\n '--mlv-page-snap-offset',\n `${Math.round(offset * 100) / 100}px`,\n );\n }\n}\n","import {\n computed,\n DestroyRef,\n Directive,\n ElementRef,\n inject,\n signal,\n} from '@angular/core';\nimport type { Signal } from '@angular/core';\nimport { MlvPageSnapController } from './page-snap-controller';\nimport type { MlvPageSnapRegion } from './page-snap-controller';\n\n/**\n * Shared focus contract for page chrome that the scroll timeline collapses —\n * `MlvPageSnap` regions and `MlvPageSummary`.\n *\n * A fully collapsed region is `visibility: hidden` so it leaves the\n * accessibility tree and, crucially, the tab order: a control nobody can see\n * must not be an invisible tab stop. The state is driven by **scrolling**\n * though, not by a user action, so hiding it unconditionally would let a\n * scroll blur whatever the user had focused — the browser drops that focus to\n * `<body>`, destroying the user's place in the tab order.\n *\n * Two exceptions therefore lift the hide:\n * - **Focus inside the region** ({@link _revealed}) — the region steps off the\n * timeline and renders fully expanded for as long as it holds focus. Focus\n * is never relocated implicitly, and the focused control stays visible.\n * - **`MlvPageSnapController.expand()`** — reveals every registered region up\n * front (see {@link reveal}) so a consumer can move focus into chrome the\n * scroll had collapsed.\n *\n * Subclasses supply {@link _elapsed} (their own end-of-window test) and bind\n * {@link _hidden} / {@link _revealed} plus the two focus listeners in their\n * own `host` object — the class names differ per block.\n */\n@Directive()\nexport abstract class MlvPageSnapRegionBase implements MlvPageSnapRegion {\n /**\n * @protected Snap state of the owning page, when rendered inside one.\n * Absent outside `main[mlvPage]`, where nothing collapses.\n */\n protected readonly _snapController = inject(MlvPageSnapController, {\n optional: true,\n });\n\n /** @private Host element, for the eager reveal and the focus containment test. */\n private readonly _regionHost = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /** @private True while this region contains the active element. */\n private readonly _focusWithin = signal(false);\n\n /**\n * @protected True once the timeline has fully elapsed this region's own\n * window — the collapse the exceptions above opt out of.\n */\n protected abstract readonly _elapsed: Signal<boolean>;\n\n /**\n * @protected Holds the region at its expanded state while it has focus:\n * a focused control has to stay visible, and a region that stays visible\n * cannot have its focus dropped by the next scroll event.\n */\n protected readonly _revealed = computed(() => this._focusWithin());\n\n /**\n * @protected Takes the collapsed region out of the accessibility tree and\n * the tab order — unless it holds focus, or the controller is revealing it\n * for one.\n */\n protected readonly _hidden = computed(\n () =>\n this._elapsed() &&\n !this._focusWithin() &&\n !(this._snapController?.revealing() ?? false),\n );\n\n constructor() {\n const unregister = this._snapController?.registerRegion(this);\n inject(DestroyRef).onDestroy(() => unregister?.());\n }\n\n /**\n * Reveals the region immediately, ahead of the controller's expand tween.\n * Host bindings only flush on the next change detection pass, so the inline\n * hide is cleared eagerly — otherwise a `focus()` issued in the same task\n * would still be refused on a `visibility: hidden` element. The controller's\n * `revealing` flag keeps the binding in agreement until the progress has\n * left this region's window.\n */\n reveal(): void {\n this._regionHost.nativeElement.style.visibility = '';\n }\n\n /**\n * Re-applies the hidden state after the controller's reveal window closes.\n * A reveal that opens and closes without a render in between leaves the\n * `[style.visibility]` binding holding a value it never rewrote, so the\n * region would stay visible — and its controls would become invisible tab\n * stops — until something else changed.\n */\n syncHiddenState(): void {\n this._regionHost.nativeElement.style.visibility = this._hidden()\n ? 'hidden'\n : '';\n }\n\n /** @protected Records that focus entered this region. */\n protected _onRegionFocusIn(): void {\n this._focusWithin.set(true);\n }\n\n /**\n * @protected Releases the focus reveal only when focus actually left the\n * region — moving between two controls inside it also fires `focusout`.\n */\n protected _onRegionFocusOut(event: FocusEvent): void {\n const next = event.relatedTarget;\n this._focusWithin.set(\n next instanceof Node && this._regionHost.nativeElement.contains(next),\n );\n }\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { MlvPageSnapRegionBase } from './page-snap-region-base';\n\n/** How an element behaves while the page chrome snaps. */\nexport type MlvPageSnapMode = 'hide' | 'fade' | 'keep';\n\n/**\n * Lets any element inside `main[mlvPage]` define its own state on the snap\n * timeline. The element reads the page-level `--mlv-page-snap` progress,\n * remaps it into its own stagger window (`snapFrom`..`snapTo`), and applies\n * the chosen behaviour with pure CSS `calc()` interpolation — so the motion\n * is scrubbed by scrolling, not played on a clock.\n *\n * A fully elapsed region is `visibility: hidden` and therefore leaves the\n * accessibility tree and the tab order — except while it holds focus, when it\n * reveals itself instead (`mlv-page-snap--revealed`) so that scrolling can\n * never blur a focused control into `<body>`. See {@link MlvPageSnapRegionBase}.\n *\n * ```html\n * <div mlvPageSnap=\"hide\" [snapFrom]=\"0.2\" [snapTo]=\"0.7\" snapSize=\"3rem\">…</div>\n * ```\n */\n@Directive({\n selector: '[mlvPageSnap]',\n host: {\n '[class.mlv-page-snap--hide]': '_mode() === \"hide\"',\n '[class.mlv-page-snap--fade]': '_mode() === \"fade\"',\n '[class.mlv-page-snap--revealed]': '_revealed()',\n '[style.--mlv-snap-from]': 'snapFrom()',\n '[style.--mlv-snap-scale]': '_scale()',\n '[style.--mlv-snap-size]': 'snapSize()',\n '[style.visibility]': '_hidden() ? \"hidden\" : null',\n '(focusin)': '_onRegionFocusIn()',\n '(focusout)': '_onRegionFocusOut($event)',\n },\n})\nexport class MlvPageSnap extends MlvPageSnapRegionBase {\n /** Behaviour on the snap timeline. An empty attribute value means `hide`. */\n readonly mlvPageSnap = input<MlvPageSnapMode | ''>('');\n\n /** Progress at which this element starts reacting (0..1). */\n readonly snapFrom = input(0);\n\n /** Progress at which this element reaches its final state (0..1). */\n readonly snapTo = input(1);\n\n /**\n * Nominal expanded size used by the `hide` behaviour's height scrub.\n * Must be at least the element's natural height.\n */\n readonly snapSize = input('3rem');\n\n /** @protected Effective behaviour; the bare attribute defaults to `hide`. */\n protected readonly _mode = computed(() => this.mlvPageSnap() || 'hide');\n\n /** @protected Multiplier remapping page progress into the stagger window. */\n protected readonly _scale = computed(\n () => 1 / Math.max(this.snapTo() - this.snapFrom(), 0.001),\n );\n\n /**\n * @protected Fully elapsed once the page progress passes this element's\n * `snapTo`; a `keep` element never elapses.\n */\n protected readonly _elapsed = computed(\n () =>\n this._mode() !== 'keep' &&\n (this._snapController?.progress() ?? 0) >= Math.min(this.snapTo(), 1),\n );\n}\n","/** Internal normalized representation of a browser-resolved sRGB color. */\nexport interface MlvRgbaColor {\n /** Red channel in the inclusive range 0–255. */\n red: number;\n /** Green channel in the inclusive range 0–255. */\n green: number;\n /** Blue channel in the inclusive range 0–255. */\n blue: number;\n /** Alpha channel in the inclusive range 0–1. */\n alpha: number;\n}\n\n/** Opaque black, used as one endpoint for automatic contrast. */\nconst BLACK: MlvRgbaColor = { red: 0, green: 0, blue: 0, alpha: 1 };\n\n/** Opaque white, used as one endpoint for automatic contrast. */\nconst WHITE: MlvRgbaColor = {\n red: 255,\n green: 255,\n blue: 255,\n alpha: 1,\n};\n\n/**\n * Parses an RGB value emitted by the browser CSSOM.\n *\n * @param value Computed `rgb(...)` or `rgba(...)` string.\n * @returns The normalized color, or `null` when the value is not parseable.\n */\nexport function parseComputedColor(value: string): MlvRgbaColor | null {\n const normalized = value.trim().toLowerCase();\n if (normalized === 'transparent') {\n return { red: 0, green: 0, blue: 0, alpha: 0 };\n }\n\n const match = /^rgba?\\((.*)\\)$/i.exec(normalized);\n\n if (!match) {\n return null;\n }\n\n const body = match[1].trim();\n const commaSeparated = body.includes(',');\n let channelValues: string[];\n let alphaValue: string | undefined;\n\n if (commaSeparated) {\n const parts = body.split(',').map((part) => part.trim());\n if (parts.length !== 3 && parts.length !== 4) {\n return null;\n }\n channelValues = parts.slice(0, 3);\n alphaValue = parts[3];\n } else {\n const slashParts = body.split('/').map((part) => part.trim());\n if (slashParts.length > 2) {\n return null;\n }\n channelValues = slashParts[0].split(/\\s+/);\n alphaValue = slashParts[1];\n }\n\n if (channelValues.length !== 3) {\n return null;\n }\n\n const channels = channelValues.map(_parseChannel);\n const alpha = alphaValue === undefined ? 1 : _parseAlpha(alphaValue);\n\n if (channels.some((channel) => channel === null) || alpha === null) {\n return null;\n }\n\n return {\n red: channels[0] as number,\n green: channels[1] as number,\n blue: channels[2] as number,\n alpha,\n };\n}\n\n/**\n * Composites one sRGB color over another using source-over alpha blending.\n *\n * @param foreground Color painted above the background.\n * @param background Color painted below the foreground.\n * @returns The effective blended color.\n */\nexport function compositeColors(\n foreground: MlvRgbaColor,\n background: MlvRgbaColor,\n): MlvRgbaColor {\n const alpha = foreground.alpha + background.alpha * (1 - foreground.alpha);\n\n if (alpha === 0) {\n return { red: 0, green: 0, blue: 0, alpha: 0 };\n }\n\n return {\n red: _compositeChannel(\n foreground.red,\n background.red,\n foreground.alpha,\n background.alpha,\n alpha,\n ),\n green: _compositeChannel(\n foreground.green,\n background.green,\n foreground.alpha,\n background.alpha,\n alpha,\n ),\n blue: _compositeChannel(\n foreground.blue,\n background.blue,\n foreground.alpha,\n background.alpha,\n alpha,\n ),\n alpha,\n };\n}\n\n/**\n * Serializes a normalized color to modern CSS RGB syntax.\n *\n * @param color Color to serialize.\n * @returns A CSS `rgb(...)` value.\n */\nexport function toCssColor(color: MlvRgbaColor): string {\n const channels = [color.red, color.green, color.blue]\n .map(_formatNumber)\n .join(', ');\n if (color.alpha >= 1) {\n return `rgb(${channels})`;\n }\n return `rgba(${channels}, ${_formatNumber(color.alpha)})`;\n}\n\n/**\n * Computes the WCAG contrast ratio between two opaque effective colors.\n *\n * @param first First effective color.\n * @param second Second effective color.\n * @returns Contrast ratio in the inclusive range 1–21.\n */\nexport function contrastRatio(\n first: MlvRgbaColor,\n second: MlvRgbaColor,\n): number {\n const firstLuminance = _relativeLuminance(first);\n const secondLuminance = _relativeLuminance(second);\n const lighter = Math.max(firstLuminance, secondLuminance);\n const darker = Math.min(firstLuminance, secondLuminance);\n return (lighter + 0.05) / (darker + 0.05);\n}\n\n/**\n * Selects the black or white endpoint with the strongest WCAG contrast.\n *\n * @param background Opaque effective background color.\n * @returns An opaque CSS black or white value.\n */\nexport function chooseContrastForeground(background: MlvRgbaColor): string {\n return contrastRatio(background, BLACK) >= contrastRatio(background, WHITE)\n ? 'rgb(0, 0, 0)'\n : 'rgb(255, 255, 255)';\n}\n\n/**\n * Parses an RGB channel expressed as a number or percentage.\n *\n * @param value Serialized channel.\n * @returns A channel in the range 0–255, or `null` when invalid.\n */\nfunction _parseChannel(value: string): number | null {\n const isPercentage = value.endsWith('%');\n const parsed = Number(isPercentage ? value.slice(0, -1) : value);\n const channel = isPercentage ? (parsed / 100) * 255 : parsed;\n return Number.isFinite(channel) && channel >= 0 && channel <= 255\n ? channel\n : null;\n}\n\n/**\n * Parses an alpha channel expressed as a number or percentage.\n *\n * @param value Serialized alpha channel.\n * @returns A channel in the range 0–1, or `null` when invalid.\n */\nfunction _parseAlpha(value: string): number | null {\n const isPercentage = value.endsWith('%');\n const parsed = Number(isPercentage ? value.slice(0, -1) : value);\n const alpha = isPercentage ? parsed / 100 : parsed;\n return Number.isFinite(alpha) && alpha >= 0 && alpha <= 1 ? alpha : null;\n}\n\n/**\n * Blends one channel using source-over alpha compositing.\n *\n * @param foreground Foreground channel.\n * @param background Background channel.\n * @param foregroundAlpha Foreground alpha.\n * @param backgroundAlpha Background alpha.\n * @param outputAlpha Resulting alpha.\n * @returns Blended channel.\n */\nfunction _compositeChannel(\n foreground: number,\n background: number,\n foregroundAlpha: number,\n backgroundAlpha: number,\n outputAlpha: number,\n): number {\n return (\n (foreground * foregroundAlpha +\n background * backgroundAlpha * (1 - foregroundAlpha)) /\n outputAlpha\n );\n}\n\n/**\n * Computes WCAG relative luminance for an sRGB color.\n *\n * @param color Effective color.\n * @returns Relative luminance in the range 0–1.\n */\nfunction _relativeLuminance(color: MlvRgbaColor): number {\n const red = _linearizeChannel(color.red);\n const green = _linearizeChannel(color.green);\n const blue = _linearizeChannel(color.blue);\n return 0.2126 * red + 0.7152 * green + 0.0722 * blue;\n}\n\n/**\n * Converts an sRGB channel to linear light for luminance calculation.\n *\n * @param channel Channel in the range 0–255.\n * @returns Linearized channel in the range 0–1.\n */\nfunction _linearizeChannel(channel: number): number {\n const normalized = channel / 255;\n return normalized <= 0.04045\n ? normalized / 12.92\n : ((normalized + 0.055) / 1.055) ** 2.4;\n}\n\n/**\n * Produces a compact, stable decimal for CSS serialization.\n *\n * @param value Numeric value.\n * @returns Rounded decimal without trailing zeroes.\n */\nfunction _formatNumber(value: number): string {\n return String(Math.round(value * 1000) / 1000);\n}\n","import {\n compositeColors,\n parseComputedColor,\n type MlvRgbaColor,\n} from './page-shell-color';\n\n/** Stable opaque base matching the default page-shell chrome background. */\nconst DEFAULT_SHELL_BACKGROUND: MlvRgbaColor = {\n red: 23,\n green: 23,\n blue: 23,\n alpha: 1,\n};\n\n/**\n * Resolves a CSS color in an element's actual inheritance context.\n * Two inherited sentinel colors distinguish a valid result from an unresolved\n * value that silently falls back to `inherit`.\n *\n * @param host Element whose cascade resolves custom properties.\n * @param value Candidate CSS color.\n * @returns Browser-resolved sRGB channels, or `null` when unresolved.\n */\nexport function resolveCssColor(\n host: HTMLElement,\n value: string | null,\n): MlvRgbaColor | null {\n const rawCandidate = value?.trim();\n if (\n !rawCandidate ||\n /^(currentcolor|inherit|initial|unset|revert|revert-layer)$/i.test(\n rawCandidate,\n )\n ) {\n return null;\n }\n\n const view = host.ownerDocument.defaultView;\n if (!view) {\n return null;\n }\n\n const candidate = _resolveCustomProperties(host, rawCandidate);\n if (!candidate) {\n return null;\n }\n\n const first = _createColorProbe(host, 'rgb(1, 2, 3)', candidate);\n const second = _createColorProbe(host, 'rgb(4, 5, 6)', candidate);\n host.append(first.wrapper, second.wrapper);\n\n const firstColor = parseComputedColor(\n view.getComputedStyle(first.probe).color,\n );\n const secondColor = parseComputedColor(\n view.getComputedStyle(second.probe).color,\n );\n\n first.wrapper.remove();\n second.wrapper.remove();\n\n return firstColor && secondColor && _colorsEqual(firstColor, secondColor)\n ? firstColor\n : null;\n}\n\n/**\n * Resolves the visible backdrop beneath a translucent shell color.\n * Ancestor backgrounds are composited from nearest to farthest before the\n * stable shell default is used as the final opaque base.\n *\n * @param host Shell whose ancestor cascade supplies the backdrop.\n * @returns Opaque effective backdrop.\n */\nexport function resolveBackdropBackground(host: HTMLElement): MlvRgbaColor {\n const view = host.ownerDocument.defaultView;\n let backdrop: MlvRgbaColor = {\n red: 0,\n green: 0,\n blue: 0,\n alpha: 0,\n };\n let current = host.parentElement;\n\n while (view && current) {\n const ancestorBackground = parseComputedColor(\n view.getComputedStyle(current).backgroundColor,\n );\n if (ancestorBackground) {\n backdrop = compositeColors(backdrop, ancestorBackground);\n if (backdrop.alpha >= 1) {\n return backdrop;\n }\n }\n current = current.parentElement;\n }\n\n const fallback =\n resolveCssColor(host, 'var(--mlv-palette-neutral-900)') ??\n DEFAULT_SHELL_BACKGROUND;\n return compositeColors(backdrop, fallback);\n}\n\n/**\n * Resolves `var(...)` references from the host's computed cascade.\n * The browser remains responsible for the custom-property cascade; this\n * substitution handles CSSOM implementations that do not expand variables\n * when serializing a computed `color` value.\n *\n * @param host Element whose cascade owns the custom properties.\n * @param value CSS value that may contain custom-property references.\n * @param seen Custom properties currently being expanded, for cycle safety.\n * @param depth Expansion depth guard.\n * @returns Value with variables substituted, or `null` when unresolved.\n */\nfunction _resolveCustomProperties(\n host: HTMLElement,\n value: string,\n seen = new Set<string>(),\n depth = 0,\n): string | null {\n if (depth > 16) {\n return null;\n }\n\n const range = _findFirstVarFunction(value);\n if (!range) {\n return value;\n }\n\n const content = value.slice(range.contentStart, range.contentEnd);\n const [namePart, fallback] = _splitCustomPropertyArguments(content);\n const name = namePart.trim();\n if (!/^--[a-z0-9_-]+$/i.test(name)) {\n return null;\n }\n\n const view = host.ownerDocument.defaultView;\n let replacement =\n view?.getComputedStyle(host).getPropertyValue(name).trim() ?? '';\n\n if (!replacement || seen.has(name)) {\n replacement = fallback?.trim() ?? '';\n }\n if (!replacement) {\n return null;\n }\n\n const nextSeen = new Set(seen);\n nextSeen.add(name);\n const resolvedReplacement = _resolveCustomProperties(\n host,\n replacement,\n nextSeen,\n depth + 1,\n );\n if (!resolvedReplacement) {\n if (!fallback) {\n return null;\n }\n const resolvedFallback = _resolveCustomProperties(\n host,\n fallback.trim(),\n seen,\n depth + 1,\n );\n if (!resolvedFallback) {\n return null;\n }\n return _resolveCustomProperties(\n host,\n `${value.slice(0, range.start)}${resolvedFallback}${value.slice(\n range.end,\n )}`,\n seen,\n depth + 1,\n );\n }\n\n return _resolveCustomProperties(\n host,\n `${value.slice(0, range.start)}${resolvedReplacement}${value.slice(\n range.end,\n )}`,\n seen,\n depth + 1,\n );\n}\n\n/**\n * Locates the first balanced CSS `var(...)` function.\n *\n * @param value CSS value to scan.\n * @returns Function and content offsets, or `null` when absent/malformed.\n */\nfunction _findFirstVarFunction(value: string): {\n start: number;\n end: number;\n contentStart: number;\n contentEnd: number;\n} | null {\n const start = value.toLowerCase().indexOf('var(');\n if (start < 0) {\n return null;\n }\n\n let parentheses = 1;\n for (let index = start + 4; index < value.length; index++) {\n if (value[index] === '(') {\n parentheses++;\n } else if (value[index] === ')') {\n parentheses--;\n if (parentheses === 0) {\n return {\n start,\n end: index + 1,\n contentStart: start + 4,\n contentEnd: index,\n };\n }\n }\n }\n\n return null;\n}\n\n/**\n * Splits a custom-property name from its optional top-level fallback.\n *\n * @param content Contents of a `var(...)` function.\n * @returns Name and optional fallback.\n */\nfunction _splitCustomPropertyArguments(\n content: string,\n): [string, string | undefined] {\n let parentheses = 0;\n for (let index = 0; index < content.length; index++) {\n if (content[index] === '(') {\n parentheses++;\n } else if (content[index] === ')') {\n parentheses--;\n } else if (content[index] === ',' && parentheses === 0) {\n return [content.slice(0, index), content.slice(index + 1)];\n }\n }\n return [content, undefined];\n}\n\n/**\n * Creates a hidden color probe and its sentinel-colored wrapper.\n *\n * @param host Element whose document creates the probes.\n * @param sentinel Inherited color used to detect unresolved candidates.\n * @param candidate Candidate assigned to the probe.\n * @returns Wrapper and probe elements.\n */\nfunction _createColorProbe(\n host: HTMLElement,\n sentinel: string,\n candidate: string,\n): { wrapper: HTMLSpanElement; probe: HTMLSpanElement } {\n const document = host.ownerDocument;\n const wrapper = document.createElement('span');\n const probe = document.createElement('span');\n\n wrapper.setAttribute('aria-hidden', 'true');\n wrapper.style.cssText =\n `position:fixed;inline-size:0;block-size:0;overflow:hidden;` +\n `visibility:hidden;pointer-events:none;color:${sentinel}`;\n probe.style.color = candidate;\n wrapper.append(probe);\n\n return { wrapper, probe };\n}\n\n/**\n * Compares two normalized colors exactly as emitted by CSSOM.\n *\n * @param first First resolved color.\n * @param second Second resolved color.\n * @returns Whether all four channels match.\n */\nfunction _colorsEqual(first: MlvRgbaColor, second: MlvRgbaColor): boolean {\n return (\n first.red === second.red &&\n first.green === second.green &&\n first.blue === second.blue &&\n first.alpha === second.alpha\n );\n}\n","import {\n afterRenderEffect,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n inject,\n input,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {\n chooseContrastForeground,\n compositeColors,\n toCssColor,\n} from './page-shell-color';\nimport {\n resolveBackdropBackground,\n resolveCssColor,\n} from './page-shell-css-color';\n\n/**\n * Application-page shell that joins global top navigation, one or two sidebars,\n * and the Page canvas without taking ownership of their component behaviour.\n */\n@Component({\n selector: 'mlv-page-shell',\n templateUrl: './page-shell.html',\n styleUrl: './page-shell.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mlv-page-shell',\n '[style.--mlv-page-shell-resolved-background]': '_resolvedBackground()',\n '[style.--mlv-page-shell-resolved-foreground]': '_resolvedForeground()',\n '[style.background]': '_resolvedBackground()',\n '[style.color]': '_resolvedForeground()',\n },\n})\nexport class MlvPageShell {\n /**\n * Optional CSS color for the shell chrome background.\n * Browser-resolved values such as `var(--brand-color)` are supported.\n */\n readonly color = input<string | null>(null);\n\n /**\n * Optional CSS color overriding the automatically selected chrome foreground.\n */\n readonly foreground = input<string | null>(null);\n\n /** @protected Browser-resolved background applied through the host style. */\n protected readonly _resolvedBackground = signal<string | null>(null);\n\n /** @protected Browser-resolved foreground applied through the host style. */\n protected readonly _resolvedForeground = signal<string | null>(null);\n\n /** @private Native shell host used as the CSS inheritance context. */\n private readonly _host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /** @private Angular destruction hook for frame and observer cleanup. */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @private Identifier of the pending color-resolution animation frame. */\n private _resolutionFrameId: number | null = null;\n\n /** @private Watches theme and custom-property changes in the shell cascade. */\n private _mutationObserver: MutationObserver | null = null;\n\n constructor() {\n afterRenderEffect(() => {\n this.color();\n this.foreground();\n this._startColorObservation();\n this._scheduleColorResolution();\n });\n\n this._destroyRef.onDestroy(() => {\n this._mutationObserver?.disconnect();\n const view = this._host.nativeElement.ownerDocument.defaultView;\n if (this._resolutionFrameId !== null && view) {\n view.cancelAnimationFrame(this._resolutionFrameId);\n }\n });\n }\n\n /**\n * @private Observes the shell and its ancestors for cascade-affecting\n * attribute changes. One observer can watch every node in the chain.\n */\n private _startColorObservation(): void {\n if (this._mutationObserver) {\n return;\n }\n\n const host = this._host.nativeElement;\n const view = host.ownerDocument.defaultView;\n if (!view || typeof view.MutationObserver === 'undefined') {\n return;\n }\n\n this._mutationObserver = new view.MutationObserver(() => {\n this._scheduleColorResolution();\n });\n\n let current: HTMLElement | null = host;\n while (current) {\n this._mutationObserver.observe(current, {\n attributes: true,\n attributeFilter: [\n 'class',\n 'style',\n 'mlvtheme',\n 'mlvTheme',\n 'data-theme',\n ],\n });\n current = current.parentElement;\n }\n }\n\n /**\n * @private Coalesces CSS reads and signal writes into the next render frame.\n */\n private _scheduleColorResolution(): void {\n if (this._resolutionFrameId !== null) {\n return;\n }\n\n const view = this._host.nativeElement.ownerDocument.defaultView;\n if (!view) {\n return;\n }\n\n this._resolutionFrameId = view.requestAnimationFrame(() => {\n this._resolutionFrameId = null;\n this._resolveColors();\n });\n }\n\n /**\n * @private Resolves the input colors and updates the internal host variables.\n */\n private _resolveColors(): void {\n const host = this._host.nativeElement;\n const background = resolveCssColor(host, this.color());\n const explicitForeground = resolveCssColor(host, this.foreground());\n\n this._resolvedBackground.set(background ? toCssColor(background) : null);\n\n if (explicitForeground) {\n this._resolvedForeground.set(toCssColor(explicitForeground));\n return;\n }\n\n if (!background) {\n this._resolvedForeground.set(null);\n return;\n }\n\n const effectiveBackground =\n background.alpha < 1\n ? compositeColors(background, resolveBackdropBackground(host))\n : background;\n this._resolvedForeground.set(chooseContrastForeground(effectiveBackground));\n }\n}\n","<ng-content select=\"[mlvPageTopbar]\" />\n<div class=\"mlv-page-shell__body\">\n <ng-content select=\"[mlvPageSidebar]\" />\n <div class=\"mlv-page-shell__content\"><ng-content /></div>\n <ng-content select=\"[mlvPageEndSidebar], mlv-page-end-pane\" />\n</div>\n","import { Directive } from '@angular/core';\n\n/** Marks the global top-navigation element projected into `mlv-page-shell`. */\n@Directive({\n selector: '[mlvPageTopbar]',\n host: { class: 'mlv-page-shell__topbar' },\n})\nexport class MlvPageTopbar {}\n\n/** Marks the primary navigation sidebar projected into `mlv-page-shell`. */\n@Directive({\n selector: '[mlvPageSidebar]',\n host: { class: 'mlv-page-shell__sidebar' },\n})\nexport class MlvPageSidebar {}\n\n/** Marks an optional second, trailing sidebar projected into `mlv-page-shell`. */\n@Directive({\n selector: '[mlvPageEndSidebar]',\n host: {\n class: 'mlv-page-shell__sidebar mlv-page-shell__sidebar--end',\n },\n})\nexport class MlvPageEndSidebar {}\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n/** Owns the single template rendered by a responsive Page end pane. */\n@Directive({ selector: 'ng-template[mlvPageEndPaneContent]' })\nexport class MlvPageEndPaneContent {\n /** Template projected into either the inline aside or compact Drawer. */\n readonly templateRef = inject<TemplateRef<unknown>>(TemplateRef);\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n effect,\n inject,\n Injector,\n input,\n model,\n output,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { MlvOverlayInitialFocus } from '@malva-ui/cdk/overlay';\nimport type { MlvBreakpoint } from '@malva-ui/cdk/utils';\nimport { MlvBreakpointService, mlvNextId } from '@malva-ui/cdk/utils';\nimport { MlvDrawer, MlvDrawerContent } from '@malva-ui/core/drawer';\nimport { MlvPageEndPaneContent } from './page-end-pane-content';\n\n/**\n * Responsive trailing Page pane that renders one content template inline or\n * in a modal Drawer while preserving one logical open and focus lifecycle.\n */\n@Component({\n selector: 'mlv-page-end-pane',\n imports: [NgTemplateOutlet, MlvDrawer, MlvDrawerContent],\n templateUrl: './page-end-pane.html',\n styleUrl: './page-end-pane.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mlv-page-end-pane',\n '[class.mlv-page-end-pane--overlay]': '_compact()',\n '[attr.id]': 'panelId',\n '[style.--mlv-page-end-pane-width]': '_hostWidth()',\n },\n})\nexport class MlvPageEndPane {\n /** Two-way bindable logical open state shared by both renderers. */\n readonly opened = model(false);\n\n /** Inline pane width and compact Drawer size. */\n readonly width = input('20rem');\n\n /** Breakpoint below which the pane renders in a modal Drawer. */\n readonly collapseBelow = input<MlvBreakpoint | null>(null);\n\n /** Accessible name applied to the active aside or dialog surface. */\n readonly ariaLabel = input.required<string>();\n\n /** Whether a compact Drawer's backdrop click closes the logical pane. */\n readonly closeOnBackdropClick = input<boolean, BooleanInput>(true, {\n transform: coerceBooleanProperty,\n });\n\n /** Whether Escape closes the logical pane in compact Drawer mode. */\n readonly closeOnEscape = input<boolean, BooleanInput>(true, {\n transform: coerceBooleanProperty,\n });\n\n /** Initial focus strategy used by the compact Drawer renderer. */\n readonly initialFocus = input<MlvOverlayInitialFocus>('auto');\n\n /** Emitted once for each logical false-to-true open transition. */\n readonly afterOpened = output<void>();\n\n /** Emitted once after a logical close's active renderer is gone. */\n readonly afterClosed = output<void>();\n\n /** Stable id referenced by every Page end-pane trigger. */\n readonly panelId = mlvNextId('mlv-page-end-pane');\n\n /** @protected Single content template shared by both renderers. */\n protected readonly _content = contentChild.required(MlvPageEndPaneContent);\n\n /** @protected Whether the configured breakpoint currently selects Drawer rendering. */\n protected readonly _compact = computed(() => {\n const breakpoint = this.collapseBelow();\n return breakpoint !== null && this._breakpoints.isDown(breakpoint)();\n });\n\n /** @protected Width reserved in Page Shell only for an open inline pane. */\n protected readonly _hostWidth = computed(() =>\n this.opened() && !this._compact() ? this.width() : '0px',\n );\n\n /** @private Shared viewport breakpoint state. */\n private readonly _breakpoints = inject(MlvBreakpointService);\n\n /** @private Injector used to finish inline closes after the renderer is removed. */\n private readonly _injector = inject(Injector);\n\n /** @private Logical state observed during the preceding effect pass. */\n private _previousOpened = false;\n\n /** @private Element focused immediately before the current logical open. */\n private _restoreTarget: HTMLElement | null = null;\n\n /** @private Whether a real logical close is waiting for renderer disposal. */\n private _closePending = false;\n\n constructor() {\n effect(() => {\n const opened = this.opened();\n if (opened === this._previousOpened) {\n return;\n }\n\n this._previousOpened = opened;\n if (opened) {\n this._closePending = false;\n this._restoreTarget = document.activeElement as HTMLElement | null;\n this.afterOpened.emit();\n return;\n }\n\n this._closePending = true;\n if (!this._compact()) {\n this._scheduleInlineCloseCompletion();\n }\n });\n }\n\n /** Opens the logical pane. */\n open(): void {\n this.opened.set(true);\n }\n\n /** Closes the logical pane and waits for its active renderer to disappear. */\n close(): void {\n if (!this.opened()) {\n return;\n }\n this._closePending = true;\n this.opened.set(false);\n }\n\n /** Toggles the logical pane open state. */\n toggle(): void {\n if (this.opened()) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /** @protected Synchronizes internal Drawer dismissal with the logical model. */\n protected _onDrawerOpenedChange(opened: boolean): void {\n if (!opened && this.opened()) {\n this.close();\n }\n }\n\n /** @protected Completes a pending logical close after the Drawer is disposed. */\n protected _onDrawerDisposed(): void {\n this._completeClose();\n }\n\n /** @private Defers inline completion until Angular removes the aside view. */\n private _scheduleInlineCloseCompletion(): void {\n afterNextRender(() => this._completeClose(), {\n injector: this._injector,\n });\n }\n\n /** @private Restores focus and emits one close event for a real logical close. */\n private _completeClose(): void {\n if (!this._closePending) {\n return;\n }\n\n this._closePending = false;\n const restoreTarget = this._restoreTarget;\n this._restoreTarget = null;\n if (restoreTarget?.isConnected) {\n restoreTarget.focus();\n }\n this.afterClosed.emit();\n }\n}\n","@if (_compact()) {\n<mlv-drawer\n [opened]=\"opened()\"\n position=\"right\"\n [size]=\"width()\"\n [ariaLabel]=\"ariaLabel()\"\n [closeOnBackdropClick]=\"closeOnBackdropClick()\"\n [closeOnEscape]=\"closeOnEscape()\"\n [initialFocus]=\"initialFocus()\"\n [restoreFocus]=\"false\"\n (openedChange)=\"_onDrawerOpenedChange($event)\"\n (afterClosed)=\"_onDrawerDisposed()\"\n>\n <ng-template mlvDrawerContent>\n <ng-container [ngTemplateOutlet]=\"_content().templateRef\" />\n </ng-template>\n</mlv-drawer>\n} @else if (opened()) {\n<aside class=\"mlv-page-end-pane__surface\" [attr.aria-label]=\"ariaLabel()\">\n <ng-container [ngTemplateOutlet]=\"_content().templateRef\" />\n</aside>\n}\n","import { Directive, input } from '@angular/core';\nimport type { MlvPageEndPane } from './page-end-pane';\n\n/** Native-button trigger that toggles and describes a Page end pane. */\n@Directive({\n selector: 'button[mlvPageEndPaneTrigger]',\n host: {\n '(click)': 'mlvPageEndPaneTrigger().toggle()',\n '[attr.aria-expanded]': 'mlvPageEndPaneTrigger().opened()',\n '[attr.aria-controls]': 'mlvPageEndPaneTrigger().panelId',\n },\n})\nexport class MlvPageEndPaneTrigger {\n /** Page end pane controlled by this native button. */\n readonly mlvPageEndPaneTrigger = input.required<MlvPageEndPane>();\n}\n","import { Directive } from '@angular/core';\nimport { MlvStructural } from '@malva-ui/cdk/utils';\n\n/** Marks the breadcrumb template rendered at the start of a page header. */\n@Directive({ selector: '[mlvPageBreadcrumb]' })\nexport class MlvPageBreadcrumb extends MlvStructural {}\n\n/** Marks the decorative leading icon beside the page title. */\n@Directive({ selector: '[mlvPageHeaderIcon]' })\nexport class MlvPageHeaderIcon extends MlvStructural {}\n\n/** Marks the page title template. Consumers should project one semantic `<h1>`. */\n@Directive({ selector: '[mlvPageTitle]' })\nexport class MlvPageTitle extends MlvStructural {}\n\n/**\n * Marks inline status content rendered directly after the page title,\n * such as draft/live badges or an unsaved-changes indicator.\n */\n@Directive({ selector: '[mlvPageHeaderStatus]' })\nexport class MlvPageHeaderStatus extends MlvStructural {}\n\n/** Marks the primary actions rendered after the page title. */\n@Directive({ selector: '[mlvPageHeaderActions]' })\nexport class MlvPageHeaderActions extends MlvStructural {}\n\n/** Marks supporting descriptive content below the title row. */\n@Directive({ selector: '[mlvPageHeaderDescription]' })\nexport class MlvPageHeaderDescription extends MlvStructural {}\n\n/** Marks page metadata such as ownership, visibility, or last-updated time. */\n@Directive({ selector: '[mlvPageHeaderMeta]' })\nexport class MlvPageHeaderMeta extends MlvStructural {}\n\n/** Marks navigation tabs rendered at the bottom of the header. */\n@Directive({ selector: '[mlvPageHeaderTabs]' })\nexport class MlvPageHeaderTabs extends MlvStructural {}\n\n/** Marks actions aligned to the trailing edge of the page-tabs row. */\n@Directive({ selector: '[mlvPageHeaderTabsActions]' })\nexport class MlvPageHeaderTabsActions extends MlvStructural {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n contentChild,\n inject,\n input,\n output,\n} from '@angular/core';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { RouterLink } from '@angular/router';\nimport {\n LucideChevronLeft,\n LucideChevronUp,\n LucidePin,\n LucidePinOff,\n} from '@lucide/angular';\nimport { MlvButton } from '@malva-ui/core/button';\nimport { MlvLink, MlvLinkBefore } from '@malva-ui/core/link';\nimport { MlvPageSnapController } from '../page/page-snap-controller';\nimport { MlvPageSnap } from '../page/page-snap.directive';\nimport { MLV_PAGE_SCROLL } from '../page/page-scroll.token';\nimport {\n MlvPageBreadcrumb,\n MlvPageHeaderActions,\n MlvPageHeaderDescription,\n MlvPageHeaderIcon,\n MlvPageHeaderMeta,\n MlvPageHeaderStatus,\n MlvPageHeaderTabsActions,\n MlvPageHeaderTabs,\n MlvPageTitle,\n} from './page-header.directives';\n\n/** Visual scale of the page header. */\nexport type MlvPageHeaderSize = 'm' | 's';\n\n/** Horizontal alignment of the tabs row inside the page header. */\nexport type MlvPageHeaderTabsAlign = 'start' | 'center';\n\n/**\n * Structured page heading with optional breadcrumb, actions, status, metadata,\n * and tabs. `size=\"s\"` renders the compact record-editor header.\n *\n * Inside `main[mlvPage]` the header participates in the scroll-scrubbed snap\n * timeline (`--mlv-page-snap`): the title interpolates down one type scale and\n * the breadcrumb and tabs rows collapse, each over its own stagger window.\n * With `snapControls`, chevron/pin controls float on the header's bottom edge\n * — always visible while the header is sticky. The chevron snaps the chrome\n * open/closed; the pin freezes the current state regardless of scrolling.\n */\n@Component({\n selector: 'mlv-page-header',\n imports: [\n NgTemplateOutlet,\n RouterLink,\n LucideChevronLeft,\n LucideChevronUp,\n LucidePin,\n LucidePinOff,\n MlvButton,\n MlvLink,\n MlvLinkBefore,\n MlvPageSnap,\n ],\n templateUrl: './page-header.html',\n styleUrl: './page-header.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mlv-page-header',\n '[class.mlv-page-header--sticky]': 'sticky()',\n '[class.mlv-page-header--size-s]': 'size() === \"s\"',\n '[class.mlv-page-header--tabs-center]': 'tabsAlign() === \"center\"',\n '[class.mlv-page-header--scrolled]': '_scrolled()',\n },\n})\nexport class MlvPageHeader {\n /** Optional router destination for the built-in back link. */\n readonly back = input<string | string[] | null>(null);\n\n /** Accessible and visible text for the built-in back link. */\n readonly backLabel = input('Back');\n\n /** Makes this header sticky independently of the containing page. */\n readonly sticky = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /**\n * Visual scale. `'m'` is the default hero header; `'s'` is the compact\n * single-row variant for record-editor pages, with a smaller title scale.\n */\n readonly size = input<MlvPageHeaderSize>('m');\n\n /** Aligns the tabs row to the start (default) or centers it. */\n readonly tabsAlign = input<MlvPageHeaderTabsAlign>('start');\n\n /**\n * Shows the floating chevron/pin snap controls on the header's bottom edge.\n * Requires the header to be inside `main[mlvPage]`.\n */\n readonly snapControls = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /** Accessible label for the chevron snap-toggle control. */\n readonly toggleLabel = input('Toggle header');\n\n /** Accessible label for the pin control. */\n readonly pinLabel = input('Pin header state');\n\n /** Emits when the built-in back link is activated. */\n readonly backClick = output<MouseEvent>();\n\n /** @protected Breadcrumb template projected via `[mlvPageBreadcrumb]`. */\n protected readonly _breadcrumbRef = contentChild(MlvPageBreadcrumb);\n\n /** @protected Decorative leading icon projected via `[mlvPageHeaderIcon]`. */\n protected readonly _iconRef = contentChild(MlvPageHeaderIcon);\n\n /** @protected Page title template projected via `[mlvPageTitle]`. */\n protected readonly _titleRef = contentChild(MlvPageTitle);\n\n /** @protected Inline status content projected via `[mlvPageHeaderStatus]`. */\n protected readonly _statusRef = contentChild(MlvPageHeaderStatus);\n\n /** @protected Header actions projected via `[mlvPageHeaderActions]`. */\n protected readonly _actionsRef = contentChild(MlvPageHeaderActions);\n\n /** @protected Description projected via `[mlvPageHeaderDescription]`. */\n protected readonly _descriptionRef = contentChild(MlvPageHeaderDescription);\n\n /** @protected Metadata projected via `[mlvPageHeaderMeta]`. */\n protected readonly _metaRef = contentChild(MlvPageHeaderMeta);\n\n /** @protected Tabs projected via `[mlvPageHeaderTabs]`. */\n protected readonly _tabsRef = contentChild(MlvPageHeaderTabs);\n\n /** @protected Trailing tabs-row actions projected via `[mlvPageHeaderTabsActions]`. */\n protected readonly _tabsActionsRef = contentChild(MlvPageHeaderTabsActions);\n\n /** @private Scroll state of the owning page, when rendered inside one. */\n private readonly _pageScroll = inject(MLV_PAGE_SCROLL, { optional: true });\n\n /** @private Snap controller of the owning page, when rendered inside one. */\n private readonly _snap = inject(MlvPageSnapController, { optional: true });\n\n /** @protected Controller behind the floating controls, when enabled. */\n protected readonly _controls = computed(() =>\n this.snapControls() && this._snap ? this._snap : null,\n );\n\n /** @protected True while the chrome is closer to snapped than expanded. */\n protected readonly _snapped = computed(() => this._snap?.snapped() ?? false);\n\n /** @protected True while the snap state is frozen against scrolling. */\n protected readonly _pinned = computed(() => this._snap?.pinned() ?? false);\n\n /** @protected True while the owning page is scrolled away from the top. */\n protected readonly _scrolled = computed(() =>\n this._snap\n ? this._snap.progress() > 0.02\n : (this._pageScroll?.scrolled() ?? false),\n );\n}\n","@if (_breadcrumbRef()?.templateRef; as breadcrumbTpl) {\n<div\n class=\"mlv-page-header__breadcrumb\"\n mlvPageSnap=\"hide\"\n [snapFrom]=\"0\"\n [snapTo]=\"0.5\"\n snapSize=\"3rem\"\n>\n <ng-template [ngTemplateOutlet]=\"breadcrumbTpl\" />\n</div>\n} @if (back(); as backTarget) {\n<a\n mlvLink\n class=\"mlv-page-header__back\"\n variant=\"subtle\"\n [routerLink]=\"backTarget\"\n (click)=\"backClick.emit($event)\"\n>\n <ng-template mlvLinkBefore>\n <svg lucideChevronLeft [size]=\"16\" aria-hidden=\"true\" />\n </ng-template>\n {{ backLabel() }}\n</a>\n}\n\n<div class=\"mlv-page-header__title-row\">\n @if (_iconRef()?.templateRef; as iconTpl) {\n <span class=\"mlv-page-header__icon\" aria-hidden=\"true\">\n <ng-template [ngTemplateOutlet]=\"iconTpl\" />\n </span>\n } @if (_titleRef()?.templateRef; as titleTpl) {\n <div class=\"mlv-page-header__title\">\n <ng-template [ngTemplateOutlet]=\"titleTpl\" />\n </div>\n } @if (_statusRef()?.templateRef; as statusTpl) {\n <div class=\"mlv-page-header__status\">\n <ng-template [ngTemplateOutlet]=\"statusTpl\" />\n </div>\n }\n <span class=\"mlv-page-header__spacer\" aria-hidden=\"true\"></span>\n @if (_actionsRef()?.templateRef; as actionsTpl) {\n <div class=\"mlv-page-header__actions\">\n <ng-template [ngTemplateOutlet]=\"actionsTpl\" />\n </div>\n }\n</div>\n\n@if (_descriptionRef()?.templateRef; as descriptionTpl) {\n<div class=\"mlv-page-header__description\">\n <ng-template [ngTemplateOutlet]=\"descriptionTpl\" />\n</div>\n} @if (_metaRef()?.templateRef; as metaTpl) {\n<div class=\"mlv-page-header__meta\">\n <ng-template [ngTemplateOutlet]=\"metaTpl\" />\n</div>\n} @if (_tabsRef()?.templateRef || _tabsActionsRef()?.templateRef) {\n<div\n class=\"mlv-page-header__tabs-row\"\n mlvPageSnap=\"hide\"\n [snapFrom]=\"0.3\"\n [snapTo]=\"0.85\"\n snapSize=\"5rem\"\n>\n @if (_tabsRef()?.templateRef; as tabsTpl) {\n <div class=\"mlv-page-header__tabs\">\n <ng-template [ngTemplateOutlet]=\"tabsTpl\" />\n </div>\n }\n <span class=\"mlv-page-header__spacer\" aria-hidden=\"true\"></span>\n @if (_tabsActionsRef()?.templateRef; as tabsActionsTpl) {\n <div class=\"mlv-page-header__tabs-actions\">\n <ng-template [ngTemplateOutlet]=\"tabsActionsTpl\" />\n </div>\n }\n</div>\n}\n\n<!-- A projected summary strip renders as the chrome's bottom row, sharing\n this header's single glass surface. -->\n<ng-content select=\"mlv-page-summary\" />\n\n@if (_controls(); as snap) {\n<div class=\"mlv-page-header__snap-controls\">\n <button\n mlvButton\n type=\"button\"\n variant=\"outlined\"\n shape=\"circle\"\n mlvDensity=\"tight\"\n class=\"mlv-page-header__snap-toggle\"\n [attr.aria-label]=\"toggleLabel()\"\n [attr.aria-expanded]=\"!_snapped()\"\n (click)=\"snap.toggle()\"\n >\n <svg lucideChevronUp [size]=\"12\" aria-hidden=\"true\" />\n </button>\n <button\n mlvButton\n type=\"button\"\n variant=\"outlined\"\n shape=\"circle\"\n mlvDensity=\"tight\"\n class=\"mlv-page-header__snap-pin\"\n [class.mlv-page-header__snap-pin--active]=\"_pinned()\"\n [attr.aria-label]=\"pinLabel()\"\n [attr.aria-pressed]=\"_pinned()\"\n (click)=\"snap.setPinned(!_pinned())\"\n >\n @if (_pinned()) {\n <svg lucidePinOff [size]=\"12\" aria-hidden=\"true\" />\n } @else {\n <svg lucidePin [size]=\"12\" aria-hidden=\"true\" />\n }\n </button>\n</div>\n}\n","import { Directive } from '@angular/core';\nimport { MlvStructural } from '@malva-ui/cdk/utils';\n\n/** Marks content rendered in the complementary page-aside landmark. */\n@Directive({ selector: '[mlvPageAside]' })\nexport class MlvPageAside extends MlvStructural {}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n ViewEncapsulation,\n computed,\n contentChild,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MlvResizeObserverService } from '@malva-ui/cdk/utils';\nimport { MlvPageAside } from './page-aside';\n\n/** Placement of the complementary page column. */\nexport type MlvPageAsidePlacement = 'start' | 'end';\n\n/** Spacing between the main page column and its complementary aside. */\nexport type MlvPageContentGap = 's' | 'm' | 'l';\n\n/** Responsive main-content and complementary-aside grid. */\n@Component({\n selector: 'mlv-page-content',\n imports: [NgTemplateOutlet],\n templateUrl: './page-content.html',\n styleUrl: './page-content.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mlv-page-content',\n '[class.mlv-page-content--aside-start]': 'asidePlacement() === \"start\"',\n '[class.mlv-page-content--aside-end]': 'asidePlacement() === \"end\"',\n '[class.mlv-page-content--aside-sticky]': 'asideSticky()',\n '[class.mlv-page-content--gap-s]': 'gap() === \"s\"',\n '[class.mlv-page-content--gap-m]': 'gap() === \"m\"',\n '[class.mlv-page-content--gap-l]': 'gap() === \"l\"',\n '[class.mlv-page-content--stacked]': '_stacked()',\n '[class.mlv-page-content--has-aside]': '_hasAside()',\n '[style.--mlv-page-aside-width]': 'asideWidth()',\n },\n})\nexport class MlvPageContent {\n /** Places the complementary column before or after the main content. */\n readonly asidePlacement = input<MlvPageAsidePlacement>('end');\n\n /** Preferred width of the complementary column while rendered inline. */\n readonly asideWidth = input('20rem');\n\n /** Keeps the complementary column visible while the page scrolls. */\n readonly asideSticky = input<boolean, BooleanInput>(true, {\n transform: coerceBooleanProperty,\n });\n\n /** Selects the spacing between the main and complementary columns. */\n readonly gap = input<MlvPageContentGap>('m');\n\n /** Container width in CSS pixels below which the columns stack. */\n readonly stackBelow = input(1024);\n\n /** Accessible name for the complementary `<aside>` landmark. */\n readonly asideLabel = input('Related content');\n\n /** @protected Optional complementary content projected via `[mlvPageAside]`. */\n protected readonly _asideRef = contentChild(MlvPageAside);\n\n /**\n * @protected Whether complementary content is actually projected.\n *\n * The grid only reserves the aside track while this is `true`, so a consumer\n * that projects no `[mlvPageAside]` keeps the full inline size for its main\n * column instead of silently losing `asideWidth` to an empty track.\n */\n protected readonly _hasAside = computed(\n () => !!this._asideRef()?.templateRef,\n );\n\n /** @private Host element observed so responsiveness follows available content width. */\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\n\n /** @private Shared observer used to measure the page-content container. */\n private readonly _resizeObserver = inject(MlvResizeObserverService);\n\n /** @private Destroy scope for the resize-observer subscription. */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @private Latest measured inline size in CSS pixels. */\n private readonly _containerWidth = signal(0);\n\n /** @protected Whether the current container is narrower than `stackBelow`. */\n protected readonly _stacked = computed(() => {\n const width = this._containerWidth();\n return width > 0 && width < this.stackBelow();\n });\n\n constructor() {\n this._resizeObserver\n .observe(this._elementRef)\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((entries) => {\n const width = entries[entries.length - 1]?.contentRect.width;\n if (width !== undefined) this._containerWidth.set(width);\n });\n }\n}\n","<div class=\"mlv-page-content__main\"><ng-content /></div>\n\n@if (_asideRef()?.templateRef; as asideTpl) {\n<aside class=\"mlv-page-content__aside\" [attr.aria-label]=\"asideLabel()\">\n <ng-template [ngTemplateOutlet]=\"asideTpl\" />\n</aside>\n}\n","import {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ViewEncapsulation,\n computed,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core';\nimport type { ElementRef } from '@angular/core';\nimport { MlvResizeObserverService } from '@malva-ui/cdk/utils';\nimport { MlvPageSnapRegionBase } from '../page/page-snap-region-base';\n\n/**\n * Key-facts strip rendered under a page header. Projects\n * `mlv-page-summary-item` children in a wrapping row.\n *\n * Inside `main[mlvPage]` the strip participates in the scroll-scrubbed snap\n * timeline: its height and opacity are interpolated from the page-level\n * `--mlv-page-snap` progress over the `snapFrom`..`snapTo` stagger window.\n * Collapse/expand and pinning are controlled by the header's snap controls\n * (`mlv-page-header[snapControls]`) through `MlvPageSnapController` — the\n * strip itself is purely presentational.\n *\n * A fully collapsed strip is `visibility: hidden` and therefore leaves the\n * accessibility tree and the tab order — except while it holds focus, when it\n * reveals itself instead (`mlv-page-summary--revealed`) so that scrolling can\n * never blur a focused control into `<body>`. See {@link MlvPageSnapRegionBase}.\n */\n@Component({\n selector: 'mlv-page-summary',\n template: `<div\n #items\n class=\"mlv-page-summary__items\"\n role=\"group\"\n [attr.aria-label]=\"summaryLabel()\"\n >\n <ng-content />\n </div>`,\n styleUrl: './page-summary.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mlv-page-summary',\n '[class.mlv-page-summary--snapped]': '_elapsed()',\n '[class.mlv-page-summary--revealed]': '_revealed()',\n '[style.--mlv-snap-from]': 'snapFrom()',\n '[style.--mlv-snap-scale]': '_scale()',\n '[style.--mlv-page-summary-size]': '_measuredHeight()',\n '[style.visibility]': '_hidden() ? \"hidden\" : null',\n '(focusin)': '_onRegionFocusIn()',\n '(focusout)': '_onRegionFocusOut($event)',\n },\n})\nexport class MlvPageSummary extends MlvPageSnapRegionBase {\n /** Accessible name for the facts region. */\n readonly summaryLabel = input('Page summary');\n\n /** Progress at which the strip starts collapsing (0..1). */\n readonly snapFrom = input(0.1);\n\n /** Progress at which the strip is fully collapsed (0..1). */\n readonly snapTo = input(0.95);\n\n /** @protected Multiplier remapping page progress into the stagger window. */\n protected readonly _scale = computed(\n () => 1 / Math.max(this.snapTo() - this.snapFrom(), 0.001),\n );\n\n /**\n * @protected True once the strip has fully collapsed; unless it holds\n * focus, that also removes it from the accessibility tree and tab order.\n */\n protected readonly _elapsed = computed(\n () => (this._snapController?.progress() ?? 0) >= Math.min(this.snapTo(), 1),\n );\n\n /** @protected Natural height of the items row, driving the height scrub. */\n protected readonly _measuredHeight = signal<number | null>(null);\n\n /** @private The measured items row. */\n private readonly _items =\n viewChild.required<ElementRef<HTMLElement>>('items');\n\n constructor() {\n super();\n const resizeObserver = inject(MlvResizeObserverService);\n const destroyRef = inject(DestroyRef);\n afterNextRender(() => {\n const itemsEl = this._items().nativeElement;\n // offsetHeight includes the row's own padding, matching the host\n // max-height the scrub interpolates against.\n this._measuredHeight.set(itemsEl.offsetHeight);\n const subscription = resizeObserver.observe(itemsEl).subscribe(() => {\n if (itemsEl.offsetHeight > 0) {\n this._measuredHeight.set(itemsEl.offsetHeight);\n }\n });\n destroyRef.onDestroy(() => subscription.unsubscribe());\n });\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n input,\n} from '@angular/core';\n\n/**\n * One labelled key fact inside `mlv-page-summary`. The label renders above\n * the projected value content.\n */\n@Component({\n selector: 'mlv-page-summary-item',\n template: `\n <span class=\"mlv-page-summary-item__label\">{{ label() }}</span>\n <div class=\"mlv-page-summary-item__value\"><ng-content /></div>\n `,\n styleUrl: './page-summary-item.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mlv-page-summary-item',\n },\n})\nexport class MlvPageSummaryItem {\n /** Visible label describing the projected value. */\n readonly label = input.required<string>();\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n ViewEncapsulation,\n afterNextRender,\n afterRenderEffect,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { MlvResizeObserverService } from '@malva-ui/cdk/utils';\n\n/** Visual treatment of the dock surface. */\nexport type MlvPageDockAppearance = 'bar' | 'floating';\n\n/**\n * Custom property published on `document.documentElement` while at least one\n * sticky dock is on screen. Viewport-anchored overlays — most importantly the\n * bottom toast positions — read it so they never render underneath the dock.\n */\nconst DOCK_HEIGHT_PROPERTY = '--mlv-page-dock-height';\n\n/**\n * @internal Heights contributed by the sticky docks currently alive, keyed by\n * the owning component. Two pages can be mounted at once (a route transition,\n * a page inside a dialog), so the published value is the tallest contribution\n * rather than whichever dock rendered last.\n */\nconst stickyDockHeights = new Map<object, number>();\n\n/**\n * @internal Republishes {@link DOCK_HEIGHT_PROPERTY} after a contribution\n * changed. Passing `null` withdraws the owner's contribution; the property is\n * removed entirely once the last sticky dock is gone, so a page without a dock\n * never leaves a stale offset behind.\n */\nfunction publishStickyDockHeight(owner: object, height: number | null): void {\n // The teardown path also runs during server rendering, where there is no\n // document to publish to.\n if (typeof document === 'undefined') {\n return;\n }\n\n if (height === null) {\n stickyDockHeights.delete(owner);\n } else {\n stickyDockHeights.set(owner, height);\n }\n\n const root = document.documentElement;\n if (stickyDockHeights.size === 0) {\n root.style.removeProperty(DOCK_HEIGHT_PROPERTY);\n return;\n }\n\n const tallest = Math.max(...stickyDockHeights.values());\n root.style.setProperty(\n DOCK_HEIGHT_PROPERTY,\n `${Math.round(tallest * 100) / 100}px`,\n );\n}\n\n/**\n * Bottom action bar for workflow pages. Projects content marked with\n * `[mlvPageDockStart]`, `[mlvPageDockCenter]`, and `[mlvPageDockEnd]` into a\n * three-region row and, by default, sticks to the bottom edge of the owning\n * page's scroll area. Typical composition: pending-change status at the\n * start, a floating tool cluster in the center, and discard/schedule/save/\n * publish actions at the end.\n *\n * `appearance=\"floating\"` drops the dock's own glass surface — whatever floats\n * inside it, e.g. a pill action bar, brings its own — and replaces it with the\n * `mlvFloatingContainer` recipe from `@malva-ui/cdk/floating-container`: a\n * gradient-masked backdrop plus safe-area block-end padding, so content fades\n * out beneath the actions instead of scrolling straight into them. Override\n * the backdrop fill with `--mlv-page-dock-backdrop` (defaults to\n * `--mlv-background-base`).\n *\n * The dock derives its full-bleed margins from the inherited\n * `--mlv-page-inset`, so the geometry survives a wrapper element (a `<form>`,\n * a `<section>`) between the page canvas and the dock, and collapses to zero\n * outside a page.\n *\n * While `sticky`, the dock publishes its measured height as\n * `--mlv-page-dock-height` on `document.documentElement`; bottom-anchored\n * toasts offset themselves by it so they are never covered by the dock.\n */\n@Component({\n selector: 'mlv-page-dock',\n template: `\n <ng-content select=\"[mlvPageDockStart]\" />\n <ng-content select=\"[mlvPageDockCenter]\" />\n <ng-content select=\"[mlvPageDockEnd]\" />\n `,\n styleUrl: './page-dock.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mlv-page-dock',\n '[class.mlv-page-dock--sticky]': 'sticky()',\n '[class.mlv-page-dock--floating]': 'appearance() === \"floating\"',\n },\n})\nexport class MlvPageDock {\n /** Keeps the dock attached to the bottom edge of the page scroll area. */\n readonly sticky = input<boolean, BooleanInput>(true, {\n transform: coerceBooleanProperty,\n });\n\n /** Solid bar with a top border, or a floating gradient-masked backdrop. */\n readonly appearance = input<MlvPageDockAppearance>('bar');\n\n /** @private Host element whose border-box height is published. */\n private readonly _host = inject<ElementRef<HTMLElement>>(ElementRef);\n\n /** @private Shared resize observation used to track the dock's height. */\n private readonly _resizeObserver = inject(MlvResizeObserverService);\n\n /** @private Withdraws this dock's height contribution on teardown. */\n private readonly _destroyRef = inject(DestroyRef);\n\n /**\n * @private Latest measured border-box height of the dock, in pixels. Only\n * written in a browser — during server rendering it stays at 0 and nothing\n * is published.\n */\n private readonly _measuredHeight = signal(0);\n\n constructor() {\n // `afterNextRender` / `afterRenderEffect` never run on the server, so the\n // document is only touched in a browser.\n afterNextRender(() => {\n this._measuredHeight.set(this._host.nativeElement.offsetHeight);\n this._resizeObserver\n .observe(this._host)\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => {\n this._measuredHeight.set(this._host.nativeElement.offsetHeight);\n });\n });\n\n afterRenderEffect(() => {\n // A non-sticky dock scrolls away with the content, so it never covers a\n // viewport-anchored overlay and must not reserve space for one.\n const height = this.sticky() ? this._measuredHeight() : null;\n publishStickyDockHeight(this, height);\n });\n\n this._destroyRef.onDestroy(() => publishStickyDockHeight(this, null));\n }\n}\n","import { Directive } from '@angular/core';\n\n/** Marks leading dock content, typically pending-change status text. */\n@Directive({\n selector: '[mlvPageDockStart]',\n host: { class: 'mlv-page-dock__start' },\n})\nexport class MlvPageDockStart {}\n\n/** Marks the centered dock content, typically a floating tool cluster. */\n@Directive({\n selector: '[mlvPageDockCenter]',\n host: { class: 'mlv-page-dock__center' },\n})\nexport class MlvPageDockCenter {}\n\n/** Marks trailing dock content, typically the primary workflow actions. */\n@Directive({\n selector: '[mlvPageDockEnd]',\n host: { class: 'mlv-page-dock__end' },\n})\nexport class MlvPageDockEnd {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|