@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-sidebar.mjs","sources":["../../../../libs/core/sidebar/src/lib/sidebar-context.ts","../../../../libs/core/sidebar/src/lib/sidebar-header.ts","../../../../libs/core/sidebar/src/lib/sidebar-footer.ts","../../../../libs/core/sidebar/src/lib/sidebar-content.ts","../../../../libs/core/sidebar/src/lib/sidebar/sidebar.ts","../../../../libs/core/sidebar/src/lib/sidebar/sidebar.html","../../../../libs/core/sidebar/src/lib/sidebar-item-icon.ts","../../../../libs/core/sidebar/src/lib/sidebar-item-host.ts","../../../../libs/core/sidebar/src/lib/sidebar-item/sidebar-item.ts","../../../../libs/core/sidebar/src/lib/sidebar-item/sidebar-item.html","../../../../libs/core/sidebar/src/lib/sidebar-group/sidebar-group.ts","../../../../libs/core/sidebar/src/lib/sidebar-group/sidebar-group.html","../../../../libs/core/sidebar/src/lib/sidebar-rail/sidebar-rail.ts","../../../../libs/core/sidebar/src/lib/sidebar-trigger/sidebar-trigger.ts","../../../../libs/core/sidebar/src/lib/sidebar-workspace/sidebar-workspace.directives.ts","../../../../libs/core/sidebar/src/lib/sidebar-workspace/sidebar-workspace.ts","../../../../libs/core/sidebar/src/lib/sidebar-workspace/sidebar-workspace.html","../../../../libs/core/sidebar/src/malva-ui-core-sidebar.ts"],"sourcesContent":["import type { Signal } from '@angular/core';\nimport { InjectionToken } from '@angular/core';\nimport type { MlvSidebarMode } from './sidebar-mode';\n\nexport interface MlvSidebarContextValue {\n /** Whether the sidebar is collapsed. */\n readonly collapsed: Signal<boolean>;\n /** Whether the current rendering context is inside a flyout popup. */\n readonly inFlyout?: Signal<boolean>;\n /** The layout mode requested by the author. */\n readonly mode: Signal<MlvSidebarMode>;\n /**\n * The layout mode actually in effect. Equals {@link mode} unless a\n * responsive override (`MlvSidebar.collapseBelow`) is active, in which case\n * it reports `'offcanvas'`. Optional so externally implemented contexts stay\n * valid — read it as `effectiveMode?.() ?? mode()`.\n */\n readonly effectiveMode?: Signal<MlvSidebarMode>;\n /** Toggle between collapsed and expanded. */\n toggle(): void;\n /** Set the sidebar width in pixels (used by the rail during drag). */\n setWidth(px: number): void;\n}\n\nexport const SIDEBAR_CONTEXT = new InjectionToken<MlvSidebarContextValue>(\n 'SIDEBAR_CONTEXT',\n);\n","import { Directive } from '@angular/core';\n\n/**\n * Marks a sticky top region inside the sidebar.\n * Applied to a container element that should remain visible at the top when content scrolls.\n */\n@Directive({\n selector: '[mlvSidebarHeader]',\n host: {\n class: 'mlv-sidebar__header',\n },\n})\nexport class MlvSidebarHeader {}\n","import { Directive } from '@angular/core';\n\n/**\n * Marks a sticky bottom region inside the sidebar.\n * Applied to a container element that should remain visible at the bottom when content scrolls.\n */\n@Directive({\n selector: '[mlvSidebarFooter]',\n host: {\n class: 'mlv-sidebar__footer',\n },\n})\nexport class MlvSidebarFooter {}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n} from '@angular/core';\nimport { MlvScrollbar } from '@malva-ui/core/scrollbar';\n\n/**\n * Marks the scrollable middle region between header and footer inside the sidebar.\n * Gets `flex: 1 1 0` so it fills the remaining space. Intended to hold sidebar items and groups.\n */\n@Component({\n // Attribute-selector component intentionally enhances the consumer's content container.\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[mlvSidebarContent]',\n template: `\n <mlv-scrollbar class=\"mlv-sidebar__content-scrollbar\">\n <ng-content />\n </mlv-scrollbar>\n `,\n imports: [MlvScrollbar],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mlv-sidebar__content',\n },\n})\nexport class MlvSidebarContent {}\n\n/** Backwards-compatible public name retained for existing imports. */\nexport { MlvSidebarContent as SidebarContentDirective };\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n contentChild,\n effect,\n forwardRef,\n inject,\n model,\n input,\n signal,\n untracked,\n} from '@angular/core';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { DOWN_ARROW, UP_ARROW } from '@angular/cdk/keycodes';\nimport type { MlvBreakpoint } from '@malva-ui/cdk/utils';\nimport { clamp, MlvBreakpointService, MlvRtlService } from '@malva-ui/cdk/utils';\nimport type { MlvSidebarContextValue } from '../sidebar-context';\nimport { SIDEBAR_CONTEXT } from '../sidebar-context';\nimport type { MlvSidebarMode } from '../sidebar-mode';\nimport type { MlvSidebarAppearance } from '../sidebar-appearance';\nimport { MlvSidebarHeader } from '../sidebar-header';\nimport { MlvSidebarFooter } from '../sidebar-footer';\nimport { SidebarContentDirective } from '../sidebar-content';\nimport { DOCUMENT, NgTemplateOutlet } from '@angular/common';\nimport { MlvDrawer, MlvDrawerContent } from '@malva-ui/core/drawer';\nimport { MLV_SIDEBAR_I18N } from '@malva-ui/i18n';\nimport { MlvScrollbar } from '@malva-ui/core/scrollbar';\n\n@Component({\n selector: 'mlv-sidebar',\n templateUrl: './sidebar.html',\n styleUrl: './sidebar.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MlvDrawer, MlvDrawerContent, NgTemplateOutlet, MlvScrollbar],\n providers: [\n {\n provide: SIDEBAR_CONTEXT,\n useExisting: forwardRef(() => MlvSidebar),\n },\n ],\n host: {\n class: 'mlv-sidebar',\n '[class.mlv-sidebar--collapsed]': '_effectiveCollapsed()',\n '[class]': '\"mlv-sidebar--\" + effectiveMode()',\n '[class.mlv-sidebar--raised]': 'appearance() === \"raised\"',\n '[class.mlv-sidebar--flat]': 'appearance() === \"flat\"',\n '[class.mlv-sidebar--full-height]': 'fullHeight()',\n '[style.--mlv-sidebar-expanded-width]': 'width()',\n '[style.--mlv-sidebar-collapsed-width]': 'collapsedWidth()',\n role: 'navigation',\n '[attr.aria-label]': '_resolvedAriaLabel()',\n },\n})\nexport class MlvSidebar implements MlvSidebarContextValue {\n /** @protected The component's i18n strings signal. */\n protected readonly _i18n = inject(MLV_SIDEBAR_I18N);\n\n /**\n * @private Signal-based viewport breakpoint service. Wraps the CDK\n * `BreakpointObserver`, so it is SSR-safe — no direct `matchMedia` access.\n */\n private readonly _breakpoint = inject(MlvBreakpointService);\n private readonly _rtlService = inject(MlvRtlService);\n\n /** @private Owning document used to preserve focus when activation opens another modal. */\n private readonly _document = inject(DOCUMENT);\n\n /**\n * @private Collapsed value captured when the responsive override kicked in,\n * so leaving the breakpoint restores what the author/user had before.\n * `null` while no responsive override is active.\n */\n private _collapsedBeforeAutoOffcanvas: boolean | null = null;\n\n /**\n * Controls expanded vs. collapsed (icon-only) mode.\n * Accepts truthy strings via `coerceBooleanProperty`.\n * Two-way bindable via `[(collapsed)]`.\n */\n readonly collapsed = model<boolean>(false);\n\n /**\n * Total width of the sidebar host when expanded, including border and padding.\n * Two-way bindable — updated by `setWidth()` during rail drag.\n */\n readonly width = model('260px');\n\n /**\n * Total width of the sidebar host when collapsed, including border and padding.\n */\n readonly collapsedWidth = input('56px');\n\n /**\n * MlvLayout mode controlling how the sidebar renders and collapses.\n * - `'icon'` — collapses to an icon-only rail (default).\n * - `'offcanvas'` — slides off-screen when collapsed.\n * - `'floating'` — floats over content when expanded.\n * - `'fixed'` — always fully expanded; collapse is a no-op.\n */\n readonly mode = input<MlvSidebarMode>('icon');\n\n /** Outer surface treatment for an inline sidebar. */\n readonly appearance = input<MlvSidebarAppearance>('raised');\n\n /**\n * Viewport breakpoint below which the sidebar automatically behaves as an\n * `'offcanvas'` drawer, regardless of {@link mode}.\n *\n * `null` (the default) keeps the sidebar on {@link mode} at every width.\n * Setting it to `'md'` makes the sidebar an overlay drawer below 768px — it\n * closes itself on entering that range, opens from a `mlv-sidebar-trigger`,\n * and dismisses on Escape, backdrop click, or focus leaving the drawer, like\n * any `mode=\"offcanvas\"` sidebar. The previous collapsed state is restored\n * when the viewport grows back past the breakpoint.\n *\n * Thresholds come from `MLV_BREAKPOINT_CONFIG` (`provideMlvBreakpoints()`),\n * so they stay in sync with the SCSS `breakpoint-*` mixins.\n */\n readonly collapseBelow = input<MlvBreakpoint | null>(null);\n\n /**\n * Closes an open offcanvas Sidebar when an enabled projected action is\n * activated. Inline Sidebar modes are unaffected.\n *\n * Disabled by default so existing navigation keeps its authored behavior.\n */\n readonly closeOnActivation = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /**\n * When true, the sidebar stretches to full viewport height.\n * Adds the `mlv-sidebar--full-height` modifier class.\n */\n readonly fullHeight = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /**\n * Accessible name for the `navigation` landmark.\n *\n * Set this whenever a page renders more than one sidebar (or another\n * `navigation` landmark) so assistive technology can tell them apart.\n * When omitted, the localized `MLV_SIDEBAR_I18N.navigation` default is used.\n *\n * Note: a plain `aria-label` attribute on `<mlv-sidebar>` cannot be used for\n * this — the host binding owns the attribute and would overwrite it.\n */\n readonly ariaLabel = input<string | undefined>(undefined);\n\n /**\n * Minimum width in pixels the sidebar may be resized to via the drag rail.\n */\n readonly minWidth = input<number>(200);\n\n /**\n * Maximum width in pixels the sidebar may be resized to via the drag rail.\n */\n readonly maxWidth = input<number>(480);\n\n /**\n * @private True when {@link collapseBelow} is set and the viewport is\n * narrower than that breakpoint.\n */\n private readonly _isBelowCollapseBreakpoint = computed(() => {\n const breakpoint = this.collapseBelow();\n return breakpoint !== null && this._breakpoint.isDown(breakpoint)();\n });\n\n /**\n * The layout mode actually in effect.\n *\n * Equals {@link mode} unless {@link collapseBelow} is set and the viewport is\n * narrower than that breakpoint, in which case it is `'offcanvas'`. Bind\n * against this (not `mode`) when mirroring the sidebar's layout elsewhere.\n */\n readonly effectiveMode = computed<MlvSidebarMode>(() =>\n this._isBelowCollapseBreakpoint() ? 'offcanvas' : this.mode(),\n );\n\n /**\n * Effective collapsed state. Always `false` in `'fixed'` mode so the sidebar\n * never visually collapses regardless of the `collapsed` model value.\n */\n protected readonly _effectiveCollapsed = computed(\n () => this.effectiveMode() !== 'fixed' && this.collapsed(),\n );\n\n /**\n * @protected Accessible name bound to the host `aria-label`. Prefers the\n * author-supplied {@link ariaLabel} and falls back to the localized default.\n */\n protected readonly _resolvedAriaLabel = computed(\n () => this.ariaLabel() ?? this._i18n().navigation,\n );\n\n /** @protected Header slot directive reference. */\n protected readonly _headerRef = contentChild(MlvSidebarHeader);\n\n /** @protected Footer slot directive reference. */\n protected readonly _footerRef = contentChild(MlvSidebarFooter);\n\n /** @protected Content slot directive reference. */\n protected readonly _contentRef = contentChild(SidebarContentDirective);\n\n /** @protected True when at least one slot directive is projected. */\n protected readonly _hasSlots = computed(\n () => !!(this._headerRef() || this._footerRef() || this._contentRef()),\n );\n\n /** @protected Whether the current drawer leave was requested by projected activation. */\n protected readonly _activationClosePending = signal(false);\n\n constructor() {\n // Entering the responsive offcanvas range must start closed — an open\n // drawer covering the page on a viewport change is never what the author\n // asked for. Leaving the range restores the pre-override collapsed value.\n effect(() => {\n const below = this._isBelowCollapseBreakpoint();\n\n untracked(() => {\n if (below) {\n if (this._collapsedBeforeAutoOffcanvas === null) {\n this._collapsedBeforeAutoOffcanvas = this.collapsed();\n this.collapsed.set(true);\n }\n return;\n }\n\n if (this._collapsedBeforeAutoOffcanvas !== null) {\n this.collapsed.set(this._collapsedBeforeAutoOffcanvas);\n this._collapsedBeforeAutoOffcanvas = null;\n }\n });\n });\n }\n\n /**\n * Toggles the sidebar between collapsed and expanded.\n * This is a no-op when the effective mode is `'fixed'`.\n */\n toggle(): void {\n if (this.effectiveMode() === 'fixed') return;\n this.collapsed.update((v) => !v);\n }\n\n /** Set the sidebar width in pixels. Clamps to the [minWidth, maxWidth] range. */\n setWidth(px: number): void {\n const clamped = clamp(px, this.minWidth(), this.maxWidth());\n this.width.set(`${clamped}px`);\n }\n\n /** @protected Syncs drawer open/close back to collapsed model. */\n protected _onDrawerOpenedChange(opened: boolean): void {\n if (opened) this._activationClosePending.set(false);\n this.collapsed.set(!opened);\n }\n\n /**\n * @protected Closes only an open offcanvas Sidebar after a real enabled\n * projected action. Search fields and non-interactive layout do not dismiss.\n */\n protected _onContainerClick(event: MouseEvent): void {\n if (\n !this.closeOnActivation() ||\n this.effectiveMode() !== 'offcanvas' ||\n this._effectiveCollapsed()\n ) {\n return;\n }\n\n const container = event.currentTarget as HTMLElement;\n const target = event.target as Element | null;\n if (!target?.closest) return;\n const action = target.closest<HTMLElement>(\n 'button, a[href], [role=\"button\"], [role=\"menuitem\"]',\n );\n if (\n !action ||\n !container.contains(action) ||\n action.getAttribute('aria-disabled') === 'true' ||\n action.matches('button:disabled')\n ) {\n return;\n }\n\n this._activationClosePending.set(true);\n this.collapsed.set(true);\n }\n\n /** @private Finds a modal that an activation opened above the closing Drawer. */\n private _findOpenModal(): HTMLElement | null {\n const modals = this._document.querySelectorAll<HTMLElement>(\n '.mlv-dialog-container[role=\"dialog\"], .mlv-dialog-container[role=\"alertdialog\"], [role=\"dialog\"][aria-modal=\"true\"]:not(.mlv-drawer), [role=\"alertdialog\"][aria-modal=\"true\"]:not(.mlv-drawer)',\n );\n return modals.item(modals.length - 1);\n }\n\n /**\n * @protected Lets a newly opened modal retain focus; otherwise the Drawer\n * restores the external Sidebar trigger that opened it.\n */\n protected _shouldRestoreDrawerFocus(): boolean {\n if (!this._activationClosePending()) return true;\n return this._findOpenModal() === null;\n }\n\n /**\n * @protected Clears activation-specific focus policy after Drawer disposal\n * and keeps focus in a still-open modal if removing the projected opener\n * caused the browser to drop focus.\n */\n protected _onDrawerAfterClosed(): void {\n const modal = this._activationClosePending() ? this._findOpenModal() : null;\n this._activationClosePending.set(false);\n if (modal?.isConnected) {\n const active = this._document.activeElement;\n const focusTarget =\n active instanceof HTMLElement && modal.contains(active)\n ? active\n : modal;\n // Re-assert focus synchronously after the lower overlay is disposed.\n // Browsers may otherwise drop focus when its captured opener disappears,\n // even though focus had already moved into the still-connected modal.\n focusTarget.focus();\n }\n }\n\n /**\n * @protected Handles `ArrowDown`/`ArrowUp` keydown events on the sidebar container\n * to move focus between focusable sidebar items and group triggers in DOM order.\n * Wraps around at the list boundaries and skips elements inside `.cdk-overlay-container`.\n */\n protected onContainerKeydown(event: Event): void {\n const e = event as KeyboardEvent;\n const key = this._rtlService.normalizeArrowKey(e);\n if (key !== DOWN_ARROW && key !== UP_ARROW) return;\n\n e.preventDefault();\n\n const container = e.currentTarget as HTMLElement;\n\n // Collect the focus target for each navigable row in DOM order. A\n // `mlv-sidebar-item` may itself be focusable (button-style rows) or defer\n // to a projected link/button (navigational rows), so resolve each to its\n // actual focus target and de-duplicate.\n const items: HTMLElement[] = [];\n const seen = new Set<HTMLElement>();\n const add = (el: HTMLElement | null | undefined): void => {\n if (el && !seen.has(el) && !el.closest('.cdk-overlay-container')) {\n seen.add(el);\n items.push(el);\n }\n };\n\n container\n .querySelectorAll<HTMLElement>(\n 'mlv-sidebar-item, .mlv-sidebar-group__header, .mlv-sidebar-group__icon-btn, button, a[href]',\n )\n .forEach((el) => {\n if (el.tagName.toLowerCase() === 'mlv-sidebar-item') {\n add(\n el.hasAttribute('tabindex')\n ? el\n : el.querySelector<HTMLElement>('a[href], button, [tabindex]'),\n );\n return;\n }\n // Focusable elements inside a sidebar item are resolved via the item above.\n if (el.closest('mlv-sidebar-item')) return;\n add(el);\n });\n\n const idx = items.indexOf(document.activeElement as HTMLElement);\n if (idx === -1) return;\n\n if (key === DOWN_ARROW) {\n items[(idx + 1) % items.length]?.focus();\n } else {\n items[(idx - 1 + items.length) % items.length]?.focus();\n }\n }\n}\n","<!-- Container captured once so the single <ng-content/> projection works in\n both the offcanvas (drawer overlay) and the inline branches. Two default\n <ng-content> slots would leave one empty (Angular projects into the last). -->\n<ng-template #projectedContent>\n <ng-content />\n</ng-template>\n\n<ng-template #body>\n <div\n class=\"mlv-sidebar__container\"\n (click)=\"_onContainerClick($event)\"\n (keydown)=\"onContainerKeydown($event)\"\n tabindex=\"-1\"\n >\n @if (_hasSlots()) {\n <ng-container [ngTemplateOutlet]=\"projectedContent\" />\n } @else {\n <mlv-scrollbar class=\"mlv-sidebar__scrollbar\">\n <ng-container [ngTemplateOutlet]=\"projectedContent\" />\n </mlv-scrollbar>\n }\n </div>\n</ng-template>\n\n@if (effectiveMode() === 'offcanvas') {\n<mlv-drawer\n [opened]=\"!_effectiveCollapsed()\"\n position=\"left\"\n [size]=\"width()\"\n [hasBackdrop]=\"true\"\n [restoreFocus]=\"_shouldRestoreDrawerFocus()\"\n (openedChange)=\"_onDrawerOpenedChange($event)\"\n (afterClosed)=\"_onDrawerAfterClosed()\"\n>\n <ng-template mlvDrawerContent>\n <ng-container [ngTemplateOutlet]=\"body\" />\n </ng-template>\n</mlv-drawer>\n} @else {\n<ng-container [ngTemplateOutlet]=\"body\" />\n}\n","import { Directive } from '@angular/core';\nimport { MlvStructural } from '@malva-ui/cdk/utils';\n\n@Directive({\n selector: '[mlvSidebarItemIcon]',\n})\nexport class MlvSidebarItemIcon extends MlvStructural {}\n","import { Directive, input } from '@angular/core';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { MlvStructural } from '@malva-ui/cdk/utils';\n\n@Directive({\n selector: '[mlvSidebarItem]',\n host: {\n class: 'mlv-sidebar-item',\n '[class.mlv-sidebar-item--active]': 'active()',\n role: 'treeitem',\n '[attr.aria-selected]': 'active()',\n tabindex: '0',\n },\n})\nexport class MlvSidebarItemHost {\n /** Whether the item is the currently active navigation target. */\n readonly active = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n}\n\n@Directive({\n selector: '[mlvSidebarItemTitle]',\n})\nexport class MlvSidebarItemTitle extends MlvStructural {\n /**\n * Optional active state on the directive (available but not currently\n * consumed by `MlvSidebarItem`).\n */\n readonly active = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n ViewEncapsulation,\n afterRenderEffect,\n computed,\n contentChild,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { RouterLinkActive } from '@angular/router';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { startWith } from 'rxjs';\nimport {\n MlvPopup,\n MlvPopupContainer,\n MlvPopupContent,\n} from '@malva-ui/core/popup';\nimport { MlvBadge, type MlvBadgeTone } from '@malva-ui/core/badge';\nimport { MlvStatusIndicator } from '@malva-ui/core/status-indicator';\nimport { MLV_SIDEBAR_I18N, MlvI18nResolverService } from '@malva-ui/i18n';\nimport { SIDEBAR_CONTEXT } from '../sidebar-context';\nimport { MlvSidebarItemIcon } from '../sidebar-item-icon';\nimport { MlvSidebarItemTitle } from '../sidebar-item-host';\n\n@Component({\n selector: 'mlv-sidebar-item',\n imports: [\n NgTemplateOutlet,\n MlvPopupContainer,\n MlvPopup,\n MlvPopupContent,\n MlvBadge,\n MlvStatusIndicator,\n ],\n templateUrl: './sidebar-item.html',\n styleUrl: './sidebar-item.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mlv-sidebar-item',\n '[class.mlv-sidebar-item--active]': 'computedActive()',\n '[class.mlv-sidebar-item--collapsed]': 'isCollapsed()',\n '[attr.role]': '_hostRole()',\n '[attr.tabindex]': '_interactiveHost() ? 0 : null',\n '[attr.aria-label]': '_resolvedAriaLabel()',\n '[attr.aria-current]': 'computedActive() ? \"page\" : null',\n '(keydown.enter)': '_onKeyActivate($event)',\n '(keydown.space)': '_onKeyActivate($event)',\n '(mouseenter)': '_onMouseEnter()',\n '(mouseleave)': '_onMouseLeave()',\n '(focusin)': '_onMouseEnter()',\n '(focusout)': '_onMouseLeave()',\n },\n})\nexport class MlvSidebarItem {\n /** @private Parent sidebar context providing collapsed/flyout state. */\n private readonly _ctx = inject(SIDEBAR_CONTEXT, { optional: true });\n\n /** @private Host element, scanned for a genuinely focusable projected control. */\n private readonly _host = inject(ElementRef<HTMLElement>);\n\n /** Accessible label; used as aria-label, fallback text, and tooltip in collapsed mode. */\n readonly label = input.required<string>();\n\n /** Explicit active state; combined with router link detection in computedActive. */\n readonly active = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /**\n * Optional badge/count shown on this item. Rendered as a trailing\n * `mlv-badge` when the sidebar is expanded, and as a `mlv-status-indicator`\n * dot (top-right of the icon) when the sidebar is collapsed — where a full\n * badge does not fit the icon rail. `null`/`''` renders nothing.\n *\n * This is the sanctioned way to attach a badge; it composes with a projected\n * `[mlvSidebarItemTitle]` (the badge renders after the custom title).\n */\n readonly badge = input<string | number | null>(null);\n\n /** Semantic tone applied to both the expanded badge and the collapsed status dot. */\n readonly badgeTone = input<MlvBadgeTone>('default');\n\n /** When true, the collapsed-mode status dot pulses to draw attention. */\n readonly badgePulse = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /** @private Sidebar i18n slice (used to phrase the badge count in the aria-label). */\n private readonly _i18n = inject(MLV_SIDEBAR_I18N);\n /** @private ICU resolver for the pluralised notification count. */\n private readonly _resolver = inject(MlvI18nResolverService);\n\n /** @protected Icon slot template projected via `[mlvSidebarItemIcon]`. */\n protected readonly iconRef = contentChild(MlvSidebarItemIcon);\n /** @protected Custom title template projected via `[mlvSidebarItemTitle]`. */\n protected readonly titleRef = contentChild(MlvSidebarItemTitle);\n\n /** @private Detects Angular router active state from a projected routerLinkActive directive. */\n private readonly _routerLink = contentChild(RouterLinkActive, {\n descendants: true,\n });\n\n /** True if active() or the nested RouterLinkActive reports active. */\n readonly computedActive = computed(() => {\n return this.active() || this._routerLinkActive();\n });\n\n /** True when the sidebar is collapsed and this item is not inside a flyout. */\n readonly isCollapsed = computed(() => {\n const collapsed = this._ctx?.collapsed() ?? false;\n const inFlyout = this._ctx?.inFlyout?.() ?? false;\n return collapsed && !inFlyout;\n });\n\n /**\n * @private True when the projected content contains a genuinely focusable\n * control (an `<a href>`, `<button>`, form field, or `[tabindex=\"0\"]`).\n * Populated after render by scanning the host subtree — a projected\n * `[mlvSidebarItemTitle]` that only contains text/badges does NOT count.\n */\n protected readonly _hasProjectedFocusable = signal(false);\n\n /**\n * Whether the host itself is the interactive control. `true` unless the\n * projected content already contains its own focusable control — the host\n * then behaves as a `role=\"button\"` (or `role=\"menuitem\"` inside a flyout)\n * row with `tabindex=\"0\"` and an `aria-label`. When a focusable control IS\n * projected (e.g. a router `<a>` link), that element is the single\n * interactive target and the host stays a presentational wrapper, avoiding an\n * invalid `role=\"listitem\"` (no `role=\"list\"` ancestor) and nested focusable\n * controls. Detection is by actual focusable content, not by the mere\n * presence of a title template, so text/badge-only titles stay interactive.\n */\n protected readonly _interactiveHost = computed(\n () => !this._hasProjectedFocusable(),\n );\n\n /** @protected True while this item renders inside a collapsed-mode group flyout (a `role=\"menu\"`). */\n protected readonly _inFlyout = computed(\n () => this._ctx?.inFlyout?.() ?? false,\n );\n\n /**\n * @protected Resolved host `role`. `null` when the host is a presentational\n * wrapper around a projected focusable control; otherwise `menuitem` inside a\n * flyout menu, or `button` for a standalone interactive row.\n */\n protected readonly _hostRole = computed(() => {\n if (!this._interactiveHost()) return null;\n return this._inFlyout() ? 'menuitem' : 'button';\n });\n\n /** @protected True when a non-empty badge value is set. */\n protected readonly _hasBadge = computed(() => {\n const b = this.badge();\n return b !== null && b !== '';\n });\n\n /**\n * @protected Resolved host `aria-label`. `null` when the host is a\n * presentational wrapper around a projected control. Otherwise the item\n * `label()`, with the badge folded in when set (e.g. `\"Inbox, 3\n * notifications\"`) — since the host `aria-label` overrides the visible badge\n * text, this keeps the count announced in both expanded and collapsed states,\n * and is the only carrier of the count when the collapsed dot replaces the\n * badge.\n */\n protected readonly _resolvedAriaLabel = computed<string | null>(() => {\n if (!this._interactiveHost()) return null;\n const base = this.label();\n if (!this._hasBadge()) return base;\n return `${base}, ${this._announceBadge(this.badge() as string | number)}`;\n });\n\n /** @private Router link active state tracked via afterRenderEffect. */\n private readonly _routerLinkActive = signal(false);\n\n /** @private Reference to the tooltip container for programmatic open/close. */\n protected readonly _tooltipContainer =\n viewChild<MlvPopupContainer>('tooltipContainer');\n\n /** @private Registered for automatic cleanup of the routerLinkActive subscription. */\n private readonly _destroyRef = inject(DestroyRef);\n constructor() {\n // Detect whether the projected content contributes its own focusable control.\n // Re-runs when the title template or collapsed state changes, since the\n // collapsed link overlay can alter the row's focusable descendants.\n afterRenderEffect(() => {\n this.titleRef();\n this.isCollapsed();\n // `querySelector` inspects descendants only, so the host's own (reactive)\n // tabindex is never matched — we detect a genuinely focusable *projected*\n // control (e.g. a router `<a href>`), independent of layout geometry.\n const focusable = this._host.nativeElement.querySelector(\n 'a[href], button, input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n );\n this._hasProjectedFocusable.set(!!focusable);\n });\n\n afterRenderEffect(() => {\n const rla = this._routerLink();\n rla?.isActiveChange\n .pipe(startWith(rla.isActive), takeUntilDestroyed(this._destroyRef))\n .subscribe((isActive) => {\n this._routerLinkActive.set(isActive);\n });\n });\n }\n\n /**\n * @private Phrases a badge value for the accessible name. A pure numeric\n * value is pluralised via the `notifications` ICU key (e.g. `\"3\n * notifications\"`); any other value is announced verbatim (e.g. `\"New\"`).\n */\n private _announceBadge(badge: string | number): string {\n const str = String(badge).trim();\n if (/^\\d+$/.test(str)) {\n return this._resolver.resolve(\n this._i18n() as unknown as Record<string, string>,\n 'notifications',\n { count: Number(str) },\n );\n }\n return str;\n }\n\n /** @protected Activates the host on Enter/Space when it is the interactive control. */\n protected _onKeyActivate(event: Event): void {\n // When a projected title link is present it is the interactive element and\n // handles its own keyboard activation natively — do nothing here to avoid\n // activating twice.\n if (!this._interactiveHost()) return;\n event.preventDefault();\n (event.currentTarget as HTMLElement).click();\n }\n\n /** @protected Opens the collapsed-mode tooltip on hover/focus. */\n protected _onMouseEnter(): void {\n if (this.isCollapsed()) {\n this._tooltipContainer()?.open();\n }\n }\n\n /** @protected Closes the collapsed-mode tooltip on mouse-leave/blur. */\n protected _onMouseLeave(): void {\n this._tooltipContainer()?.close();\n }\n}\n","<span class=\"mlv-sidebar-item__icon\" aria-hidden=\"true\">\n <ng-template [ngTemplateOutlet]=\"iconRef()?.templateRef ?? null\" />\n\n <!-- Collapsed rail: status dot replaces the badge, pinned to the icon's top-right corner. Decorative — the count is folded into the host aria-label. -->\n @if (isCollapsed() && _hasBadge()) {\n <mlv-status-indicator\n class=\"mlv-sidebar-item__status\"\n [tone]=\"badgeTone()\"\n [pulse]=\"badgePulse()\"\n />\n }\n</span>\n\n<!-- The label stays mounted for an interruptible CSS fade, but becomes inert and clipped immediately. -->\n<span\n class=\"mlv-sidebar-item__label\"\n [attr.aria-hidden]=\"isCollapsed() ? 'true' : null\"\n [attr.inert]=\"isCollapsed() ? '' : null\"\n>\n @if (titleRef()?.templateRef; as titleTpl) {\n <ng-template [ngTemplateOutlet]=\"titleTpl\"></ng-template>\n } @else { {{ label() }} }\n</span>\n@if (_hasBadge()) {\n<mlv-badge\n class=\"mlv-sidebar-item__badge\"\n [tone]=\"badgeTone()\"\n muted\n mlvDensity=\"tight\"\n aria-hidden=\"true\"\n >{{ badge() }}</mlv-badge\n>\n}\n\n<!-- Link overlay: covers the icon area when fully collapsed so the router link is still clickable -->\n@if ( isCollapsed() && _hasProjectedFocusable() && titleRef()?.templateRef; as\nlinkTpl ) {\n<span class=\"mlv-sidebar-item__link-overlay\">\n <ng-template [ngTemplateOutlet]=\"linkTpl\" />\n</span>\n}\n\n<!-- Tooltip — shown on hover/focus in collapsed mode via mlv-popup -->\n<mlv-popup-container #tooltipContainer class=\"mlv-sidebar-item__tooltip-anchor\">\n <mlv-popup\n panelRole=\"tooltip\"\n position=\"right-start\"\n [hasShadow]=\"true\"\n [hasBackdrop]=\"false\"\n scrollStrategy=\"close\"\n class=\"mlv-sidebar-item__tooltip-container\"\n >\n <ng-template mlvPopupContent>{{ label() }}</ng-template>\n </mlv-popup>\n</mlv-popup-container>\n","import type { ElementRef, TemplateRef } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n contentChild,\n contentChildren,\n effect,\n forwardRef,\n inject,\n input,\n signal,\n viewChild,\n} from '@angular/core';\nimport { DOCUMENT, NgTemplateOutlet } from '@angular/common';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { LucideChevronDown } from '@lucide/angular';\nimport {\n DOWN_ARROW,\n LEFT_ARROW,\n RIGHT_ARROW,\n UP_ARROW,\n} from '@angular/cdk/keycodes';\nimport { MlvRtlService, mlvNextId } from '@malva-ui/cdk/utils';\nimport {\n MlvPopup,\n MlvPopupContainer,\n MlvPopupContent,\n MlvPopupTrigger,\n} from '@malva-ui/core/popup';\nimport { MlvExpand } from '@malva-ui/core/expand';\nimport { MlvBadge, type MlvBadgeTone } from '@malva-ui/core/badge';\nimport { MlvStatusIndicator } from '@malva-ui/core/status-indicator';\nimport { MLV_SIDEBAR_I18N, MlvI18nResolverService } from '@malva-ui/i18n';\nimport {\n SIDEBAR_CONTEXT,\n type MlvSidebarContextValue,\n} from '../sidebar-context';\nimport type { MlvSidebarMode } from '../sidebar-mode';\nimport { MlvSidebarItemIcon } from '../sidebar-item-icon';\nimport { MlvSidebarItem } from '../sidebar-item/sidebar-item';\n\n@Component({\n selector: 'mlv-sidebar-group',\n imports: [\n NgTemplateOutlet,\n LucideChevronDown,\n MlvPopupContainer,\n MlvPopup,\n MlvPopupContent,\n MlvPopupTrigger,\n MlvExpand,\n MlvBadge,\n MlvStatusIndicator,\n ],\n templateUrl: './sidebar-group.html',\n styleUrl: './sidebar-group.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'mlv-sidebar-group-host' },\n // Re-provide SIDEBAR_CONTEXT for descendants, injecting inFlyout from this group.\n // Children inside the flyout popup see inFlyout=true and render in expanded mode.\n providers: [\n {\n provide: SIDEBAR_CONTEXT,\n useFactory: (): MlvSidebarContextValue => {\n const group = inject(forwardRef(() => MlvSidebarGroup));\n const parentCtx = inject(SIDEBAR_CONTEXT, {\n skipSelf: true,\n optional: true,\n });\n return {\n collapsed: parentCtx?.collapsed ?? signal(false),\n inFlyout: group.flyoutOpen,\n mode: parentCtx?.mode ?? signal<MlvSidebarMode>('icon'),\n effectiveMode: parentCtx?.effectiveMode ?? parentCtx?.mode,\n // Proxy to parent — intentionally no-op when group is the root context provider\n toggle: () => parentCtx?.toggle(),\n setWidth: (px: number) => parentCtx?.setWidth(px),\n };\n },\n },\n ],\n})\nexport class MlvSidebarGroup {\n /** @private Parent sidebar context (skipSelf) used to read collapsed/mode state and proxy toggles. */\n private readonly _parentCtx = inject(SIDEBAR_CONTEXT, {\n skipSelf: true,\n optional: true,\n });\n\n /** @private Document handle used to resolve the overlay-rendered flyout panel by id. */\n private readonly _document = inject(DOCUMENT);\n private readonly _rtlService = inject(MlvRtlService);\n\n /** @protected Stable id linking the collapsed-mode flyout panel so its focusable items can be resolved. */\n protected readonly _flyoutId = mlvNextId('mlv-sidebar-flyout');\n\n /** Required label for the group header and flyout title. */\n readonly label = input.required<string>();\n\n /**\n * Optional badge/count for the group. Rendered as a trailing `mlv-badge` in\n * the expanded accordion header and next to the flyout title, and as a\n * `mlv-status-indicator` dot (top-right of the icon button) when the sidebar\n * is collapsed. `null`/`''` renders nothing.\n */\n readonly badge = input<string | number | null>(null);\n\n /** Semantic tone applied to the group badge and the collapsed status dot. */\n readonly badgeTone = input<MlvBadgeTone>('default');\n\n /** When true, the collapsed-mode status dot pulses to draw attention. */\n readonly badgePulse = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /** @private Sidebar i18n slice (used to phrase the badge count in the aria-label). */\n private readonly _i18n = inject(MLV_SIDEBAR_I18N);\n /** @private ICU resolver for the pluralised notification count. */\n private readonly _resolver = inject(MlvI18nResolverService);\n\n /** @protected True when a non-empty badge value is set. */\n protected readonly _hasBadge = computed(() => {\n const b = this.badge();\n return b !== null && b !== '';\n });\n\n /**\n * @protected Collapsed icon-button `aria-label`: the group `label()` with the\n * badge count folded in (e.g. `\"Projects, 3 notifications\"`), since the\n * collapsed dot is decorative and carries no text.\n */\n protected readonly _resolvedAriaLabel = computed(() => {\n const base = this.label();\n if (!this._hasBadge()) return base;\n return `${base}, ${this._announceBadge(this.badge() as string | number)}`;\n });\n\n /** @protected Projected group icon template, rendered in the header and flyout. */\n protected readonly iconRef = contentChild(MlvSidebarItemIcon);\n /** @protected Projected sidebar items, used to derive the active-child highlight. */\n protected readonly _childItems = contentChildren(MlvSidebarItem, {\n descendants: true,\n });\n /** @protected Template of the group's child items, rendered in the accordion and flyout. */\n protected readonly childrenTpl =\n viewChild.required<TemplateRef<unknown>>('childrenRef');\n /** @protected Icon trigger button element, used as the flyout/tooltip anchor and focus target. */\n protected readonly _triggerBtn =\n viewChild<ElementRef<HTMLButtonElement>>('triggerBtn');\n\n /** @protected Reference to the flyout popup container (collapsed mode). */\n protected readonly _flyoutContainer =\n viewChild<MlvPopupContainer>('flyoutContainer');\n /** @protected Reference to the flyout popup component for state reading. */\n protected readonly _flyoutPopup = viewChild<MlvPopup>('flyoutPopup');\n /** @protected Tooltip popup shown on hover in collapsed mode. */\n protected readonly _tooltipContainer =\n viewChild<MlvPopupContainer>('tooltipContainer');\n\n /** Whether the accordion is expanded (expanded sidebar mode). */\n readonly expanded = signal(false);\n\n /**\n * Whether the flyout popup is currently open.\n * Derived from the popup component's `opened` signal.\n */\n readonly flyoutOpen = computed(() => this._flyoutPopup()?.opened() ?? false);\n\n /** True when the parent sidebar is in collapsed (icon-only) mode. */\n readonly isSidebarCollapsed = computed(\n () => this._parentCtx?.collapsed() ?? false,\n );\n\n /** True when at least one child item is active — drives active highlight on the group. */\n readonly hasActiveChild = computed(() =>\n this._childItems().some((item) => item.computedActive()),\n );\n\n /**\n * @protected Effective open state of the accordion panel.\n *\n * `expanded` is public and writable, so a host that auto-expands the group\n * owning the active route can set it while the sidebar is collapsed. The\n * accordion stays mounted in that state (its header fades but keeps the icon\n * column in place), so honouring the write would open an empty panel inside\n * the icon rail — a ghost tree line and reserved height — and, because\n * `#childrenRef` can only be projected once, it would also pull the children\n * out of the open flyout and leave it showing just its header. Gating on the\n * collapsed state here makes that unreachable regardless of write order; the\n * constructor effect still resets `expanded` when collapse begins.\n */\n protected readonly _accordionOpen = computed(\n () => this.expanded() && !this.isSidebarCollapsed(),\n );\n\n constructor() {\n // Close whichever disclosure belongs to the representation that is\n // becoming inactive. The group header itself remains mounted so its label\n // can fade while the fixed icon track stays in place.\n effect(() => {\n if (this.isSidebarCollapsed()) {\n this.expanded.set(false);\n } else {\n this._flyoutContainer()?.close();\n }\n });\n\n // Register the icon button as the anchor for the tooltip.\n effect(() => {\n const btn = this._triggerBtn();\n const tooltipContainer = this._tooltipContainer();\n if (btn && tooltipContainer) {\n tooltipContainer.registerTrigger(btn, false);\n }\n });\n\n // Dismiss tooltip and move focus into the flyout when it opens (menu-button\n // pattern). The panel is rendered into a CDK overlay, so wait one frame for\n // the portal to attach before focusing its first item.\n effect(() => {\n if (this.flyoutOpen()) {\n this._tooltipContainer()?.close();\n requestAnimationFrame(() => {\n if (this.flyoutOpen()) this._focusFirstFlyoutItem();\n });\n }\n });\n }\n\n /**\n * @private Phrases a badge value for the accessible name. A pure numeric\n * value is pluralised via the `notifications` ICU key (e.g. `\"3\n * notifications\"`); any other value is announced verbatim (e.g. `\"New\"`).\n */\n private _announceBadge(badge: string | number): string {\n const str = String(badge).trim();\n if (/^\\d+$/.test(str)) {\n return this._resolver.resolve(\n this._i18n() as unknown as Record<string, string>,\n 'notifications',\n { count: Number(str) },\n );\n }\n return str;\n }\n\n // ─── Accordion (expanded sidebar) ──────────────────────────────────────────\n\n /** Toggles the accordion open/closed state. */\n toggle(): void {\n this.expanded.update((v) => !v);\n }\n\n // ─── Flyout (collapsed sidebar) ─────────────────────────────────────────────\n\n /** @protected Roving keyboard navigation (Arrow/Home/End/Escape) within the open flyout panel. */\n protected onFlyoutKeydown(event: Event): void {\n const e = event as KeyboardEvent;\n const panel = e.currentTarget as HTMLElement;\n const key = this._rtlService.normalizeArrowKey(e);\n\n // Close flyout and return focus to trigger\n if (key === LEFT_ARROW || e.key === 'Escape') {\n e.preventDefault();\n e.stopPropagation();\n this._flyoutContainer()?.close();\n this._triggerBtn()?.nativeElement.focus();\n return;\n }\n\n // Sidebar items in the flyout may be focusable via their own host\n // (button-style rows) or via a projected link/button (navigational rows).\n const items = Array.from(\n panel.querySelectorAll<HTMLElement>('a[href], button, [tabindex=\"0\"]'),\n ).filter((el) => !el.hasAttribute('disabled'));\n if (!items.length) return;\n\n const idx = items.indexOf(document.activeElement as HTMLElement);\n\n if (key === DOWN_ARROW) {\n e.preventDefault();\n items[(idx + 1) % items.length].focus();\n } else if (key === UP_ARROW) {\n e.preventDefault();\n items[(idx - 1 + items.length) % items.length].focus();\n } else if (e.key === 'Home') {\n e.preventDefault();\n items[0].focus();\n } else if (e.key === 'End') {\n e.preventDefault();\n items[items.length - 1].focus();\n }\n }\n\n /**\n * @protected Handles Enter/Space (toggle) and ArrowRight (open) on the\n * collapsed-mode icon trigger. When the flyout is already open, ArrowDown\n * enters it (focuses the first item) instead of bubbling to the sidebar\n * container's roving nav — so an open flyout is never skipped past.\n */\n protected onTriggerKeydown(event: Event): void {\n const e = event as KeyboardEvent;\n const key = this._rtlService.normalizeArrowKey(e);\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this._flyoutContainer()?.toggle();\n } else if (key === RIGHT_ARROW) {\n e.preventDefault();\n if (this.flyoutOpen()) {\n this._focusFirstFlyoutItem();\n } else {\n this._flyoutContainer()?.open();\n }\n } else if (key === DOWN_ARROW && this.flyoutOpen()) {\n // Enter the open flyout rather than letting the sidebar container move\n // focus to the next trigger (which would orphan this flyout).\n e.preventDefault();\n e.stopPropagation();\n this._focusFirstFlyoutItem();\n }\n }\n\n /**\n * @protected Closes the flyout and returns focus to the icon trigger when a\n * child item inside it is activated.\n *\n * The menu-button pattern expects the menu to close once a command is\n * chosen — without this a `routerLink` navigation left the flyout hanging\n * over the new page. Enter/Space are covered too: `MlvSidebarItem` activates\n * a button-style row by calling `.click()` on its host, and a projected\n * anchor dispatches a real click, so both reach this bubbling handler.\n *\n * Clicks on the flyout header or on empty panel space are ignored — only a\n * target inside a `.mlv-sidebar-item` (its host, projected link or button)\n * counts as an activation.\n */\n protected onFlyoutClick(event: Event): void {\n const target = event.target as HTMLElement | null;\n if (!target?.closest('.mlv-sidebar-item')) return;\n this._flyoutContainer()?.close();\n this._triggerBtn()?.nativeElement.focus();\n }\n\n /**\n * @protected Closes the flyout when keyboard focus leaves it entirely (Tab\n * out, or focus moving to another trigger) so it is never left orphaned-open.\n * Focus moves between items inside the panel, or back to the owning trigger,\n * are ignored.\n */\n protected onFlyoutFocusOut(event: Event): void {\n const next = (event as FocusEvent).relatedTarget as HTMLElement | null;\n // Focus lost to nothing (e.g. window blur) — keep the flyout open.\n if (!next) return;\n const panel = this._document.getElementById(this._flyoutId);\n const trigger = this._triggerBtn()?.nativeElement ?? null;\n if (panel?.contains(next) || next === trigger) return;\n this._flyoutContainer()?.close();\n }\n\n /** @private Moves focus to the first focusable item inside the open flyout panel. */\n private _focusFirstFlyoutItem(): void {\n const panel = this._document.getElementById(this._flyoutId);\n const first = panel?.querySelector<HTMLElement>(\n 'a[href], button:not([disabled]), [tabindex=\"0\"]',\n );\n first?.focus();\n }\n\n /** Opens the tooltip when hovering the icon button (collapsed mode, flyout not open). */\n protected onIconBtnMouseEnter(): void {\n if (!this.flyoutOpen()) {\n this._tooltipContainer()?.open();\n }\n }\n\n /** Closes the tooltip when the pointer leaves the icon button. */\n protected onIconBtnMouseLeave(): void {\n this._tooltipContainer()?.close();\n }\n}\n","<!-- ─── Children captured once — rendered in accordion OR flyout ─── -->\n<ng-template #childrenRef>\n <ng-content />\n</ng-template>\n\n<!-- The expanded header remains mounted during collapse so its text can fade\n without moving the icon out of the shared fixed-width column. -->\n<div\n class=\"mlv-sidebar-group\"\n [class.mlv-sidebar-group--expanded]=\"expanded()\"\n [class.mlv-sidebar-group--collapsed]=\"isSidebarCollapsed()\"\n [attr.aria-hidden]=\"isSidebarCollapsed() ? 'true' : null\"\n [attr.inert]=\"isSidebarCollapsed() ? '' : null\"\n>\n <button\n class=\"mlv-sidebar-group__header\"\n type=\"button\"\n [class.mlv-sidebar-group__header--active]=\"hasActiveChild()\"\n [attr.aria-expanded]=\"expanded()\"\n (click)=\"toggle()\"\n >\n @if (iconRef(); as iconTpl) {\n <span class=\"mlv-sidebar-group__icon\">\n <ng-container [ngTemplateOutlet]=\"iconTpl.templateRef\" />\n </span>\n }\n <span class=\"mlv-sidebar-group__label\">{{ label() }}</span>\n @if (_hasBadge()) {\n <mlv-badge\n class=\"mlv-sidebar-group__badge\"\n [tone]=\"badgeTone()\"\n muted\n mlvDensity=\"tight\"\n aria-hidden=\"true\"\n >{{ badge() }}</mlv-badge\n >\n }\n <svg\n class=\"mlv-sidebar-group__arrow\"\n [class.mlv-sidebar-group__arrow--open]=\"expanded()\"\n lucideChevronDown\n size=\"16\"\n />\n </button>\n\n <mlv-expand\n class=\"mlv-sidebar-group__content\"\n [opened]=\"_accordionOpen()\"\n (openedChange)=\"expanded.set($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"childrenTpl()\" />\n </mlv-expand>\n</div>\n\n<!-- ─── COLLAPSED sidebar: icon button + popup flyout on click ──────────── -->\n@if (isSidebarCollapsed()) {\n<mlv-popup-container #flyoutContainer class=\"mlv-sidebar-group__collapsed\">\n <button\n #triggerBtn\n mlvPopupTrigger\n [triggerOn]=\"'click'\"\n class=\"mlv-sidebar-group__icon-btn\"\n type=\"button\"\n [class.mlv-sidebar-group__icon-btn--active]=\"hasActiveChild()\"\n [attr.aria-label]=\"_resolvedAriaLabel()\"\n [attr.aria-expanded]=\"flyoutOpen()\"\n [ariaHasPopup]=\"'menu'\"\n (keydown)=\"onTriggerKeydown($event)\"\n (mouseenter)=\"onIconBtnMouseEnter()\"\n (mouseleave)=\"onIconBtnMouseLeave()\"\n (focus)=\"onIconBtnMouseEnter()\"\n (blur)=\"onIconBtnMouseLeave()\"\n >\n @if (iconRef(); as iconTpl) {\n <ng-container [ngTemplateOutlet]=\"iconTpl.templateRef\" />\n } @if (_hasBadge()) {\n <mlv-status-indicator\n class=\"mlv-sidebar-group__status\"\n [tone]=\"badgeTone()\"\n [pulse]=\"badgePulse()\"\n />\n }\n </button>\n\n <mlv-popup\n #flyoutPopup\n position=\"right-start\"\n [minWidth]=\"180\"\n scrollStrategy=\"close\"\n class=\"mlv-sidebar-group__flyout-popup\"\n >\n <ng-template mlvPopupContent>\n <div\n class=\"mlv-sidebar-group__flyout\"\n [id]=\"_flyoutId\"\n role=\"menu\"\n [attr.aria-label]=\"label()\"\n (keydown)=\"onFlyoutKeydown($event)\"\n (click)=\"onFlyoutClick($event)\"\n (focusout)=\"onFlyoutFocusOut($event)\"\n tabindex=\"-1\"\n >\n <div class=\"mlv-sidebar-group__flyout-header\" aria-hidden=\"true\">\n <span class=\"mlv-sidebar-group__flyout-title\">{{ label() }}</span>\n @if (_hasBadge()) {\n <mlv-badge\n class=\"mlv-sidebar-group__flyout-badge\"\n [tone]=\"badgeTone()\"\n muted\n mlvDensity=\"tight\"\n >{{ badge() }}</mlv-badge\n >\n }\n </div>\n <ng-container [ngTemplateOutlet]=\"childrenTpl()\" />\n </div>\n </ng-template>\n </mlv-popup>\n</mlv-popup-container>\n\n<!-- Tooltip anchored to the icon button (registered via effect) -->\n<mlv-popup-container #tooltipContainer>\n <mlv-popup\n panelRole=\"tooltip\"\n position=\"right\"\n [hasShadow]=\"true\"\n [hasBackdrop]=\"false\"\n scrollStrategy=\"close\"\n class=\"mlv-sidebar-group__tooltip-container\"\n >\n <ng-template mlvPopupContent>{{ label() }}</ng-template>\n </mlv-popup>\n</mlv-popup-container>\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n ElementRef,\n NgZone,\n ViewEncapsulation,\n inject,\n input,\n signal,\n} from '@angular/core';\nimport { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { MlvRtlService, clamp } from '@malva-ui/cdk/utils';\nimport { SIDEBAR_CONTEXT } from '../sidebar-context';\n\n@Component({\n selector: 'mlv-sidebar-rail',\n template: '',\n styleUrl: './sidebar-rail.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mlv-sidebar-rail',\n '[class.mlv-sidebar-rail--dragging]': '_isDragging()',\n role: 'separator',\n 'aria-orientation': 'vertical',\n tabindex: '0',\n 'aria-label': 'Resize sidebar',\n '[attr.aria-valuetext]': '_currentWidthPx() + \"px\"',\n '[attr.aria-valuenow]': '_currentWidthPx()',\n '[attr.aria-valuemin]': 'minWidth()',\n '[attr.aria-valuemax]': 'maxWidth()',\n '(pointerdown)': '_onPointerDown($event)',\n '(dblclick)': '_onDoubleClick()',\n '(keydown)': '_onKeydown($event)',\n },\n})\nexport class MlvSidebarRail {\n /** Minimum sidebar width in px during drag. */\n readonly minWidth = input(200);\n\n /** Maximum sidebar width in px during drag. */\n readonly maxWidth = input(480);\n\n /** Width below which the sidebar snaps to collapsed. */\n readonly snapThreshold = input(100);\n\n /** @private Sidebar context for reading/writing state. */\n private readonly _context = inject(SIDEBAR_CONTEXT);\n\n /** @private Reference to the host element. */\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\n\n /** @private Angular zone for running outside zone during drag. */\n private readonly _ngZone = inject(NgZone);\n\n /** @private Destroy reference for cleanup. */\n private readonly _destroyRef = inject(DestroyRef);\n /** @private Normalizes horizontal resize arrows for RTL layouts. */\n private readonly _rtlService = inject(MlvRtlService);\n\n /** @protected Whether a drag is in progress. */\n protected readonly _isDragging = signal(false);\n\n /** @protected Current sidebar width in pixels (for ARIA). */\n protected readonly _currentWidthPx = signal(260);\n\n /** @private Sidebar container element reference, resolved on first drag. */\n private _sidebarEl: HTMLElement | null = null;\n\n /** @private Stored transition value to restore after drag. */\n private _savedTransition = '';\n\n /** @private Bound pointermove handler for cleanup. */\n private readonly _onPointerMoveBound = this._onPointerMove.bind(this);\n\n /** @private Bound pointerup handler for cleanup. */\n private readonly _onPointerUpBound = this._onPointerUp.bind(this);\n\n /** @private Animation frame ID for drag throttle. */\n private _rafId = 0;\n\n /** @private Whether to snap to collapsed on pointerup. */\n private _shouldSnap = false;\n\n /** @private Whether to expand from collapsed on pointerup. */\n private _shouldExpand = false;\n\n /** @private Width to apply after expanding from collapsed state. */\n private _expandWidth = 0;\n\n constructor() {\n this._destroyRef.onDestroy(() => {\n this._cleanup();\n });\n }\n\n /** @protected Handle double-click to toggle collapsed state. */\n protected _onDoubleClick(): void {\n this._context.toggle();\n }\n\n /** @protected Handle keyboard navigation. */\n protected _onKeydown(event: KeyboardEvent): void {\n const step = 10;\n switch (this._rtlService.normalizeArrowKey(event) ?? event.key) {\n case LEFT_ARROW:\n event.preventDefault();\n if (!this._context.collapsed()) {\n this._adjustWidth(-step);\n }\n break;\n case RIGHT_ARROW:\n event.preventDefault();\n if (this._context.collapsed()) {\n this._context.toggle();\n } else {\n this._adjustWidth(step);\n }\n break;\n case 'Home':\n event.preventDefault();\n if (!this._context.collapsed()) {\n this._context.toggle();\n }\n break;\n case 'End':\n event.preventDefault();\n if (this._context.collapsed()) {\n this._context.toggle();\n }\n break;\n }\n }\n\n /** @protected Handle pointer down to start drag. */\n protected _onPointerDown(event: PointerEvent): void {\n event.preventDefault();\n this._isDragging.set(true);\n this._shouldSnap = false;\n this._shouldExpand = false;\n this._expandWidth = 0;\n\n // Width is owned by the sidebar host so its border, gutter, and content\n // stay in one box-model calculation during resize and collapse.\n this._sidebarEl = this._elementRef.nativeElement.closest(\n '.mlv-sidebar',\n ) as HTMLElement | null;\n\n if (this._sidebarEl) {\n this._savedTransition = this._sidebarEl.style.transition;\n this._sidebarEl.style.transition = 'none';\n this._currentWidthPx.set(this._sidebarEl.getBoundingClientRect().width);\n }\n\n this._elementRef.nativeElement.setPointerCapture(event.pointerId);\n\n this._ngZone.runOutsideAngular(() => {\n document.addEventListener('pointermove', this._onPointerMoveBound);\n document.addEventListener('pointerup', this._onPointerUpBound);\n });\n\n document.body.style.userSelect = 'none';\n document.body.style.cursor = 'col-resize';\n }\n\n /** @private Handle pointer move during drag. */\n private _onPointerMove(event: PointerEvent): void {\n const sidebarEl = this._sidebarEl;\n if (!sidebarEl) return;\n\n if (this._rafId) cancelAnimationFrame(this._rafId);\n\n this._rafId = requestAnimationFrame(() => {\n const sidebarRect = sidebarEl.getBoundingClientRect();\n const newWidth = event.clientX - sidebarRect.left;\n const isCollapsed = this._context.collapsed();\n\n if (isCollapsed) {\n // Dragging right from collapsed — mark for expansion on pointerup\n if (newWidth >= this.snapThreshold()) {\n this._shouldExpand = true;\n this._expandWidth = clamp(newWidth, this.minWidth(), this.maxWidth());\n } else {\n this._shouldExpand = false;\n }\n } else if (newWidth < this.snapThreshold()) {\n // Dragging left below threshold — mark for collapse on pointerup\n this._shouldSnap = true;\n } else {\n this._shouldSnap = false;\n const clamped = clamp(newWidth, this.minWidth(), this.maxWidth());\n this._ngZone.run(() => {\n this._context.setWidth(clamped);\n this._currentWidthPx.set(clamped);\n });\n }\n });\n }\n\n /** @private Handle pointer up to end drag. */\n private _onPointerUp(_event: PointerEvent): void {\n this._cleanup();\n\n if (this._sidebarEl) {\n this._sidebarEl.style.transition = this._savedTransition;\n }\n\n this._ngZone.run(() => {\n this._isDragging.set(false);\n\n if (this._shouldSnap) {\n this._context.toggle();\n } else if (this._shouldExpand) {\n this._context.toggle();\n this._context.setWidth(this._expandWidth);\n this._currentWidthPx.set(this._expandWidth);\n }\n });\n }\n\n /** @private Remove document listeners and reset drag state. */\n private _cleanup(): void {\n document.removeEventListener('pointermove', this._onPointerMoveBound);\n document.removeEventListener('pointerup', this._onPointerUpBound);\n document.body.style.userSelect = '';\n document.body.style.cursor = '';\n if (this._rafId) {\n cancelAnimationFrame(this._rafId);\n this._rafId = 0;\n }\n }\n\n /** @private Adjust width by a delta, clamping to min/max. */\n private _adjustWidth(delta: number): void {\n const current = this._currentWidthPx();\n const next = clamp(current + delta, this.minWidth(), this.maxWidth());\n this._context.setWidth(next);\n this._currentWidthPx.set(next);\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport type { ElementRef } from '@angular/core';\nimport type { MlvSidebarContextValue } from '../sidebar-context';\nimport { SIDEBAR_CONTEXT } from '../sidebar-context';\nimport type { MlvSidebarMode } from '../sidebar-mode';\nimport {\n LucideMenu,\n LucidePanelLeftClose,\n LucidePanelLeftOpen,\n LucideX,\n} from '@lucide/angular';\nimport { MLV_SIDEBAR_I18N } from '@malva-ui/i18n';\n\n/**\n * Sidebar trigger button that toggles the sidebar's collapsed state.\n * Renders as a transparent icon button visually matching collapsed sidebar\n * items, so it sits flush with the rest of the sidebar chrome.\n * Automatically hides itself in fixed mode.\n *\n * When the sidebar's effective mode is `'offcanvas'` (either `mode=\"offcanvas\"`\n * or a `collapseBelow` breakpoint override) the trigger renders as a\n * hamburger/close menu button instead of the rail collapse chevrons.\n *\n * Usage:\n * ```html\n * <mlv-sidebar [collapsed]=\"collapsed()\">\n * <mlv-sidebar-trigger />\n * </mlv-sidebar>\n * ```\n *\n * An offcanvas sidebar does not render its projected content while closed, so\n * a trigger that must reopen the drawer has to live outside `<mlv-sidebar>`.\n * Point it at the sidebar with the `sidebar` input:\n *\n * ```html\n * <mlv-sidebar #nav collapseBelow=\"md\">…</mlv-sidebar>\n * <mlv-sidebar-trigger [sidebar]=\"nav\" />\n * ```\n */\n@Component({\n selector: 'mlv-sidebar-trigger',\n template: `\n <button\n #triggerButton\n type=\"button\"\n class=\"mlv-sidebar-trigger__btn\"\n [attr.aria-label]=\"_resolvedAriaLabel()\"\n [attr.aria-expanded]=\"!_collapsed()\"\n (click)=\"_toggle()\"\n >\n @if (_isDrawerTrigger()) {\n @if (_collapsed()) {\n <svg lucideMenu [size]=\"20\" class=\"mlv-sidebar-trigger__icon\" />\n } @else {\n <svg lucideX [size]=\"20\" class=\"mlv-sidebar-trigger__icon\" />\n }\n } @else if (_collapsed()) {\n <svg\n lucidePanelLeftOpen\n [size]=\"20\"\n class=\"mlv-sidebar-trigger__icon\"\n />\n } @else {\n <svg\n lucidePanelLeftClose\n [size]=\"20\"\n class=\"mlv-sidebar-trigger__icon\"\n />\n }\n </button>\n `,\n styleUrl: './sidebar-trigger.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [LucideMenu, LucidePanelLeftClose, LucidePanelLeftOpen, LucideX],\n host: {\n class: 'mlv-sidebar-trigger',\n '[class.mlv-sidebar-trigger--hidden]': '_isHidden()',\n '[class.mlv-sidebar-trigger--menu]': '_isDrawerTrigger()',\n },\n})\nexport class MlvSidebarTrigger {\n /** @private Native button query backing the public focus target. */\n private readonly _triggerButton =\n viewChild<ElementRef<HTMLButtonElement>>('triggerButton');\n\n /**\n * The sidebar this trigger controls, for triggers rendered outside\n * `<mlv-sidebar>`. Pass the sidebar's template reference\n * (`<mlv-sidebar #nav />` → `[sidebar]=\"nav\"`). Required whenever the sidebar\n * can be an offcanvas drawer, because a closed drawer does not render its\n * projected content — an inner trigger would disappear with it.\n *\n * When omitted, the trigger uses the `SIDEBAR_CONTEXT` of its ancestor\n * sidebar.\n */\n readonly sidebar = input<MlvSidebarContextValue | undefined>(undefined);\n\n /**\n * The connected native button rendered by this trigger, or `null` before\n * its view exists. Pass this to an overlay's explicit focus-restoration\n * option when the activating control can disappear with an offcanvas view.\n */\n readonly focusTarget = computed(\n () => this._triggerButton()?.nativeElement ?? null,\n );\n\n /** @protected Localised labels for the sidebar trigger. */\n protected readonly _i18n = inject(MLV_SIDEBAR_I18N);\n\n /** @private Ancestor sidebar context, when this trigger is nested in one. */\n private readonly _injectedContext = inject(SIDEBAR_CONTEXT, {\n optional: true,\n });\n\n /**\n * @private The context actually driven by this trigger — the explicit\n * `sidebar` input wins over the injected ancestor context.\n */\n private readonly _context = computed<MlvSidebarContextValue | null>(\n () => this.sidebar() ?? this._injectedContext,\n );\n\n /** @protected Whether the sidebar is collapsed (drawer closed in offcanvas). */\n protected readonly _collapsed = computed(\n () => this._context()?.collapsed() ?? false,\n );\n\n /** @private The sidebar's effective layout mode, responsive override included. */\n private readonly _mode = computed<MlvSidebarMode>(() => {\n const context = this._context();\n if (!context) return 'icon';\n return context.effectiveMode?.() ?? context.mode();\n });\n\n /**\n * @protected True when the sidebar currently behaves as an overlay drawer, so\n * the trigger renders as a menu button rather than a rail collapse toggle.\n */\n protected readonly _isDrawerTrigger = computed(\n () => this._mode() === 'offcanvas',\n );\n\n /**\n * The connected native trigger button while its sidebar currently behaves\n * as an offcanvas drawer; otherwise `null`. Use this as an explicit overlay\n * focus fallback when a projected activator can disappear with the drawer,\n * while retaining the overlay's default opener restoration in inline modes.\n */\n offcanvasFocusTarget(): HTMLButtonElement | null {\n const target = this.focusTarget();\n return this._isDrawerTrigger() && target?.isConnected ? target : null;\n }\n\n /**\n * Late-bound overlay focus policy. Pass the function itself to a dynamic\n * restore-focus option: it resolves to the connected external trigger in\n * offcanvas mode and to the overlay's captured-opener default otherwise.\n */\n readonly restoreFocusResolver = (): true | HTMLButtonElement =>\n this.offcanvasFocusTarget() ?? true;\n\n /** @protected Whether the trigger should be hidden (fixed mode). */\n protected readonly _isHidden = computed(() => this._mode() === 'fixed');\n\n /** @protected Accessible name matching the current affordance and state. */\n protected readonly _resolvedAriaLabel = computed(() => {\n const strings = this._i18n();\n if (this._isDrawerTrigger()) {\n return this._collapsed()\n ? strings.openNavigation\n : strings.closeNavigation;\n }\n return this._collapsed() ? strings.expand : strings.collapse;\n });\n\n /** @protected Toggle the sidebar collapsed state. */\n protected _toggle(): void {\n this._context()?.toggle();\n }\n}\n","import { Directive, TemplateRef, inject } from '@angular/core';\nimport type { MlvSidebarWorkspaceTemplateContext } from './sidebar-workspace.types';\n\n@Directive({\n selector: '[mlvSidebarWorkspaceLogo]',\n})\nexport class MlvSidebarWorkspaceLogo {\n /** Template rendered in both the active trigger and every workspace option. */\n readonly templateRef = inject(\n TemplateRef<MlvSidebarWorkspaceTemplateContext>,\n );\n\n /** Enables strongly typed `let-workspace` and `let-selected=\"selected\"`. */\n static ngTemplateContextGuard(\n _directive: MlvSidebarWorkspaceLogo,\n _context: unknown,\n ): _context is MlvSidebarWorkspaceTemplateContext {\n return true;\n }\n}\n\n@Directive({\n selector: '[mlvSidebarWorkspaceText]',\n})\nexport class MlvSidebarWorkspaceText {\n /** Template rendered in both the active trigger and every workspace option. */\n readonly templateRef = inject(\n TemplateRef<MlvSidebarWorkspaceTemplateContext>,\n );\n\n /** Enables strongly typed `let-workspace` and `let-selected=\"selected\"`. */\n static ngTemplateContextGuard(\n _directive: MlvSidebarWorkspaceText,\n _context: unknown,\n ): _context is MlvSidebarWorkspaceTemplateContext {\n return true;\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n computed,\n contentChild,\n inject,\n input,\n model,\n signal,\n} from '@angular/core';\nimport { MlvButton } from '@malva-ui/core/button';\nimport { MlvListItem } from '@malva-ui/core/list';\nimport { MlvMenu, MlvMenuItem, MlvMenuTrigger } from '@malva-ui/core/menu';\nimport { MLV_SIDEBAR_I18N, MlvI18nResolverService } from '@malva-ui/i18n';\nimport { LucideCheck, LucideChevronsUpDown } from '@lucide/angular';\nimport { SIDEBAR_CONTEXT } from '../sidebar-context';\nimport {\n MlvSidebarWorkspaceLogo,\n MlvSidebarWorkspaceText,\n} from './sidebar-workspace.directives';\nimport type {\n MlvSidebarWorkspaceOption,\n MlvSidebarWorkspaceTemplateContext,\n} from './sidebar-workspace.types';\n\n@Component({\n selector: 'mlv-sidebar-workspace',\n imports: [\n NgTemplateOutlet,\n MlvButton,\n MlvMenu,\n MlvMenuItem,\n MlvMenuTrigger,\n MlvListItem,\n LucideCheck,\n LucideChevronsUpDown,\n ],\n templateUrl: './sidebar-workspace.html',\n styleUrl: './sidebar-workspace.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mlv-sidebar-workspace',\n '[class.mlv-sidebar-workspace--collapsed]': '_isCollapsed()',\n '[class.mlv-sidebar-workspace--multiple]': '_hasMultiple()',\n '[class.mlv-sidebar-workspace--open]': '_opened()',\n },\n})\nexport class MlvSidebarWorkspace {\n /** @private Parent sidebar context supplying the effective collapsed state. */\n private readonly _sidebarContext = inject(SIDEBAR_CONTEXT, {\n optional: true,\n });\n\n /** @protected Localized strings for the workspace switcher. */\n protected readonly _i18n = inject(MLV_SIDEBAR_I18N);\n\n /** @private ICU message resolver used by the trigger's accessible name. */\n private readonly _i18nResolver = inject(MlvI18nResolverService);\n\n /**\n * Workspaces available to the user. A switcher menu is rendered only when\n * the collection contains more than one workspace.\n */\n readonly workspaces = input.required<readonly MlvSidebarWorkspaceOption[]>();\n\n /**\n * Currently active workspace. Two-way bind with `[(workspace)]` to receive\n * user selections made in the workspace menu.\n */\n readonly workspace = model.required<MlvSidebarWorkspaceOption>();\n\n /** @protected Optional structural template for workspace logos. */\n protected readonly _logoTemplate = contentChild(MlvSidebarWorkspaceLogo);\n\n /** @protected Optional structural template for workspace text. */\n protected readonly _textTemplate = contentChild(MlvSidebarWorkspaceText);\n\n /** @protected Whether the switcher menu is currently open. */\n protected readonly _opened = signal(false);\n\n /** @protected True when choosing between multiple workspaces is possible. */\n protected readonly _hasMultiple = computed(\n () => this.workspaces().length > 1,\n );\n\n /**\n * @protected Whether the parent sidebar is collapsed. Workspace switchers\n * outside a sidebar remain expanded.\n */\n protected readonly _isCollapsed = computed(\n () => this._sidebarContext?.collapsed() ?? false,\n );\n\n /**\n * @protected Accessible trigger name including the current workspace.\n */\n protected readonly _triggerAriaLabel = computed(() =>\n this._i18nResolver.resolve(\n this._i18n() as unknown as Record<string, string>,\n 'switchWorkspace',\n { workspace: this.workspace().label },\n ),\n );\n\n /**\n * @protected Selects a workspace from the menu. The menu item directive\n * closes the overlay and restores focus to the trigger after this handler.\n */\n protected _selectWorkspace(workspace: MlvSidebarWorkspaceOption): void {\n this.workspace.set(workspace);\n }\n\n /** @protected Tracks whether an option represents the active workspace. */\n protected _isSelected(workspace: MlvSidebarWorkspaceOption): boolean {\n return workspace.id === this.workspace().id;\n }\n\n /**\n * @protected Builds the strongly typed context supplied to the logo and text\n * structural templates.\n */\n protected _templateContext(\n workspace: MlvSidebarWorkspaceOption,\n ): MlvSidebarWorkspaceTemplateContext {\n return {\n $implicit: workspace,\n selected: this._isSelected(workspace),\n };\n }\n\n /** @protected Produces a compact fallback monogram when no logo is supplied. */\n protected _initials(label: string): string {\n return label\n .trim()\n .split(/\\s+/)\n .slice(0, 2)\n .map((word) => word.charAt(0))\n .join('')\n .toUpperCase();\n }\n}\n","<ng-template #workspaceRow let-option let-location=\"location\">\n <span class=\"mlv-sidebar-workspace__logo\" aria-hidden=\"true\">\n @if (_logoTemplate(); as logoTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"logoTemplate.templateRef\"\n [ngTemplateOutletContext]=\"_templateContext(option)\"\n />\n } @else {\n <span class=\"mlv-sidebar-workspace__monogram\">\n {{ _initials(option.label) }}\n </span>\n }\n </span>\n\n <span class=\"mlv-sidebar-workspace__text\">\n @if (_textTemplate(); as textTemplate) {\n <ng-container\n [ngTemplateOutlet]=\"textTemplate.templateRef\"\n [ngTemplateOutletContext]=\"_templateContext(option)\"\n />\n } @else {\n <span class=\"mlv-sidebar-workspace__label\">{{ option.label }}</span>\n @if (option.description) {\n <span class=\"mlv-sidebar-workspace__description\">\n {{ option.description }}\n </span>\n } }\n </span>\n\n @if (location === 'trigger' && _hasMultiple()) {\n <svg\n class=\"mlv-sidebar-workspace__chevron\"\n lucideChevronsUpDown\n [size]=\"16\"\n aria-hidden=\"true\"\n ></svg>\n } @if (location === 'option' && _isSelected(option)) {\n <svg\n class=\"mlv-sidebar-workspace__check\"\n lucideCheck\n [size]=\"16\"\n aria-hidden=\"true\"\n ></svg>\n }\n</ng-template>\n\n@if (_hasMultiple()) {\n<button\n type=\"button\"\n mlvButton\n variant=\"transparent\"\n class=\"mlv-sidebar-workspace__trigger\"\n [mlvMenuTrigger]=\"workspaceMenu\"\n [attr.aria-label]=\"_triggerAriaLabel()\"\n (menuOpened)=\"_opened.set(true)\"\n (menuClosed)=\"_opened.set(false)\"\n>\n <ng-container\n [ngTemplateOutlet]=\"workspaceRow\"\n [ngTemplateOutletContext]=\"{ $implicit: workspace(), location: 'trigger' }\"\n />\n</button>\n\n<mlv-menu #workspaceMenu [label]=\"_i18n().workspaceMenu\">\n @for (option of workspaces(); track option.id) {\n <mlv-list-item\n mlvMenuItem\n class=\"mlv-sidebar-workspace__option\"\n [attr.aria-current]=\"_isSelected(option) ? 'true' : null\"\n (itemClick)=\"_selectWorkspace(option)\"\n >\n <ng-container\n [ngTemplateOutlet]=\"workspaceRow\"\n [ngTemplateOutletContext]=\"{ $implicit: option, location: 'option' }\"\n />\n </mlv-list-item>\n }\n</mlv-menu>\n} @else {\n<div class=\"mlv-sidebar-workspace__trigger\">\n <ng-container\n [ngTemplateOutlet]=\"workspaceRow\"\n [ngTemplateOutletContext]=\"{ $implicit: workspace(), location: 'trigger' }\"\n />\n</div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["SidebarContentDirective"],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
|
|
3
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Skeleton loader component (`mlv-skeleton`) used as a placeholder while content is loading.
|
|
7
|
+
*
|
|
8
|
+
* Renders a pulsing placeholder that communicates the shape of the incoming content.
|
|
9
|
+
* Width and height are bound directly on the host element via `[style.width]` and
|
|
10
|
+
* `[style.height]`. The component is always `aria-hidden="true"` — it carries no
|
|
11
|
+
* semantic meaning for assistive technology.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```html
|
|
15
|
+
* <!-- Default rectangle -->
|
|
16
|
+
* <mlv-skeleton />
|
|
17
|
+
*
|
|
18
|
+
* <!-- Circle avatar placeholder -->
|
|
19
|
+
* <mlv-skeleton variant="circle" width="2.5rem" height="2.5rem" />
|
|
20
|
+
*
|
|
21
|
+
* <!-- Text line placeholder -->
|
|
22
|
+
* <mlv-skeleton variant="text" width="60%" />
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
class MlvSkeleton {
|
|
26
|
+
/**
|
|
27
|
+
* Visual shape variant of the skeleton.
|
|
28
|
+
* - `'rectangle'` (default) — rectangular block
|
|
29
|
+
* - `'text'` — short rounded pill mimicking a line of text
|
|
30
|
+
* - `'circle'` — fully rounded circle for avatar/icon placeholders
|
|
31
|
+
*/
|
|
32
|
+
variant = input('rectangle', /* @ts-ignore */
|
|
33
|
+
...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
34
|
+
/**
|
|
35
|
+
* CSS width applied to the host element.
|
|
36
|
+
* Accepts any valid CSS width value (e.g. `'100%'`, `'12rem'`, `'200px'`).
|
|
37
|
+
* Defaults to `'100%'`.
|
|
38
|
+
*/
|
|
39
|
+
width = input('100%', /* @ts-ignore */
|
|
40
|
+
...(ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []));
|
|
41
|
+
/**
|
|
42
|
+
* CSS height applied to the host element.
|
|
43
|
+
* Accepts any valid CSS height value (e.g. `'1rem'`, `'48px'`).
|
|
44
|
+
* Defaults to `'1rem'`.
|
|
45
|
+
*/
|
|
46
|
+
height = input('1rem', /* @ts-ignore */
|
|
47
|
+
...(ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []));
|
|
48
|
+
/**
|
|
49
|
+
* Whether the pulsing animation is active.
|
|
50
|
+
* Set to `false` to render a static placeholder (e.g. for reduced-motion or loading states
|
|
51
|
+
* that should not draw attention). Defaults to `true`.
|
|
52
|
+
*/
|
|
53
|
+
animated = input(true, { ...(ngDevMode ? { debugName: "animated" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
|
|
54
|
+
/**
|
|
55
|
+
* CSS duration for the shimmer animation (e.g. `'1s'`, `'0.8s'`, `'2s'`).
|
|
56
|
+
* Passed as the `--mlv-skeleton-duration` CSS custom property on the host, which
|
|
57
|
+
* controls the `animation-duration` of the shimmer keyframe.
|
|
58
|
+
* Defaults to `'2s'` for a slow, professional feel.
|
|
59
|
+
*/
|
|
60
|
+
animationDuration = input('2s', /* @ts-ignore */
|
|
61
|
+
...(ngDevMode ? [{ debugName: "animationDuration" }] : /* istanbul ignore next */ []));
|
|
62
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvSkeleton, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
63
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.7", type: MlvSkeleton, isStandalone: true, selector: "mlv-skeleton", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, animated: { classPropertyName: "animated", publicName: "animated", isSignal: true, isRequired: false, transformFunction: null }, animationDuration: { classPropertyName: "animationDuration", publicName: "animationDuration", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "aria-hidden": "true" }, properties: { "class.mlv-skeleton--text": "variant() === \"text\"", "class.mlv-skeleton--circle": "variant() === \"circle\"", "class.mlv-skeleton--rectangle": "variant() === \"rectangle\"", "class.mlv-skeleton--animated": "animated()", "style.width": "width()", "style.height": "height()", "style.--mlv-skeleton-duration": "animationDuration()" }, classAttribute: "mlv-skeleton" }, ngImport: i0, template: '', isInline: true, styles: ["@layer mlv.components{@keyframes mlv-skeleton-shimmer{0%{background-position:200% center}to{background-position:-200% center}}.mlv-skeleton{box-sizing:border-box;padding:0;margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m)}.mlv-skeleton *{box-sizing:border-box}.mlv-skeleton{--mlv-skeleton-base: var(--mlv-background-neutral-1);--mlv-skeleton-highlight: var(--mlv-background-base);display:block;background-color:var(--mlv-skeleton-base);border-radius:var(--mlv-radius-s)}.mlv-skeleton--animated{background:linear-gradient(90deg,var(--mlv-skeleton-base) 25%,var(--mlv-skeleton-highlight) 50%,var(--mlv-skeleton-base) 75%);background-size:400% 100%;background-position:200% center;animation:mlv-skeleton-shimmer var(--mlv-skeleton-duration, 2s) ease-in-out infinite}@media(prefers-reduced-motion:reduce){.mlv-skeleton--animated{animation:none;background:var(--mlv-skeleton-base)}}.mlv-skeleton--text{border-radius:var(--mlv-radius-3xl);height:.875em}.mlv-skeleton--circle{border-radius:var(--mlv-radius-full)}.mlv-skeleton--rectangle{border-radius:var(--mlv-radius-s)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
64
|
+
}
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvSkeleton, decorators: [{
|
|
66
|
+
type: Component,
|
|
67
|
+
args: [{ selector: 'mlv-skeleton', template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
68
|
+
class: 'mlv-skeleton',
|
|
69
|
+
'[class.mlv-skeleton--text]': 'variant() === "text"',
|
|
70
|
+
'[class.mlv-skeleton--circle]': 'variant() === "circle"',
|
|
71
|
+
'[class.mlv-skeleton--rectangle]': 'variant() === "rectangle"',
|
|
72
|
+
'[class.mlv-skeleton--animated]': 'animated()',
|
|
73
|
+
'aria-hidden': 'true',
|
|
74
|
+
'[style.width]': 'width()',
|
|
75
|
+
'[style.height]': 'height()',
|
|
76
|
+
'[style.--mlv-skeleton-duration]': 'animationDuration()',
|
|
77
|
+
}, styles: ["@layer mlv.components{@keyframes mlv-skeleton-shimmer{0%{background-position:200% center}to{background-position:-200% center}}.mlv-skeleton{box-sizing:border-box;padding:0;margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m)}.mlv-skeleton *{box-sizing:border-box}.mlv-skeleton{--mlv-skeleton-base: var(--mlv-background-neutral-1);--mlv-skeleton-highlight: var(--mlv-background-base);display:block;background-color:var(--mlv-skeleton-base);border-radius:var(--mlv-radius-s)}.mlv-skeleton--animated{background:linear-gradient(90deg,var(--mlv-skeleton-base) 25%,var(--mlv-skeleton-highlight) 50%,var(--mlv-skeleton-base) 75%);background-size:400% 100%;background-position:200% center;animation:mlv-skeleton-shimmer var(--mlv-skeleton-duration, 2s) ease-in-out infinite}@media(prefers-reduced-motion:reduce){.mlv-skeleton--animated{animation:none;background:var(--mlv-skeleton-base)}}.mlv-skeleton--text{border-radius:var(--mlv-radius-3xl);height:.875em}.mlv-skeleton--circle{border-radius:var(--mlv-radius-full)}.mlv-skeleton--rectangle{border-radius:var(--mlv-radius-s)}}\n"] }]
|
|
78
|
+
}], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], animated: [{ type: i0.Input, args: [{ isSignal: true, alias: "animated", required: false }] }], animationDuration: [{ type: i0.Input, args: [{ isSignal: true, alias: "animationDuration", required: false }] }] } });
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Generated bundle index. Do not edit.
|
|
82
|
+
*/
|
|
83
|
+
|
|
84
|
+
export { MlvSkeleton };
|
|
85
|
+
//# sourceMappingURL=malva-ui-core-skeleton.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"malva-ui-core-skeleton.mjs","sources":["../../../../libs/core/skeleton/src/lib/skeleton/skeleton.ts","../../../../libs/core/skeleton/src/malva-ui-core-skeleton.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\n\n/** Visual shape variant of the skeleton loader. */\nexport type MlvSkeletonVariant = 'text' | 'circle' | 'rectangle';\n\n/**\n * Skeleton loader component (`mlv-skeleton`) used as a placeholder while content is loading.\n *\n * Renders a pulsing placeholder that communicates the shape of the incoming content.\n * Width and height are bound directly on the host element via `[style.width]` and\n * `[style.height]`. The component is always `aria-hidden=\"true\"` — it carries no\n * semantic meaning for assistive technology.\n *\n * @example\n * ```html\n * <!-- Default rectangle -->\n * <mlv-skeleton />\n *\n * <!-- Circle avatar placeholder -->\n * <mlv-skeleton variant=\"circle\" width=\"2.5rem\" height=\"2.5rem\" />\n *\n * <!-- Text line placeholder -->\n * <mlv-skeleton variant=\"text\" width=\"60%\" />\n * ```\n */\n@Component({\n selector: 'mlv-skeleton',\n template: '',\n styleUrl: './skeleton.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mlv-skeleton',\n '[class.mlv-skeleton--text]': 'variant() === \"text\"',\n '[class.mlv-skeleton--circle]': 'variant() === \"circle\"',\n '[class.mlv-skeleton--rectangle]': 'variant() === \"rectangle\"',\n '[class.mlv-skeleton--animated]': 'animated()',\n 'aria-hidden': 'true',\n '[style.width]': 'width()',\n '[style.height]': 'height()',\n '[style.--mlv-skeleton-duration]': 'animationDuration()',\n },\n})\nexport class MlvSkeleton {\n /**\n * Visual shape variant of the skeleton.\n * - `'rectangle'` (default) — rectangular block\n * - `'text'` — short rounded pill mimicking a line of text\n * - `'circle'` — fully rounded circle for avatar/icon placeholders\n */\n readonly variant = input<MlvSkeletonVariant>('rectangle');\n\n /**\n * CSS width applied to the host element.\n * Accepts any valid CSS width value (e.g. `'100%'`, `'12rem'`, `'200px'`).\n * Defaults to `'100%'`.\n */\n readonly width = input<string>('100%');\n\n /**\n * CSS height applied to the host element.\n * Accepts any valid CSS height value (e.g. `'1rem'`, `'48px'`).\n * Defaults to `'1rem'`.\n */\n readonly height = input<string>('1rem');\n\n /**\n * Whether the pulsing animation is active.\n * Set to `false` to render a static placeholder (e.g. for reduced-motion or loading states\n * that should not draw attention). Defaults to `true`.\n */\n readonly animated = input<boolean, BooleanInput>(true, {\n transform: coerceBooleanProperty,\n });\n\n /**\n * CSS duration for the shimmer animation (e.g. `'1s'`, `'0.8s'`, `'2s'`).\n * Passed as the `--mlv-skeleton-duration` CSS custom property on the host, which\n * controls the `animation-duration` of the shimmer keyframe.\n * Defaults to `'2s'` for a slow, professional feel.\n */\n readonly animationDuration = input<string>('2s');\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAYA;;;;;;;;;;;;;;;;;;;AAmBG;MAmBU,WAAW,CAAA;AACtB;;;;;AAKG;IACM,OAAO,GAAG,KAAK,CAAqB,WAAW;gFAAC;AAEzD;;;;AAIG;IACM,KAAK,GAAG,KAAK,CAAS,MAAM;8EAAC;AAEtC;;;;AAIG;IACM,MAAM,GAAG,KAAK,CAAS,MAAM;+EAAC;AAEvC;;;;AAIG;IACM,QAAQ,GAAG,KAAK,CAAwB,IAAI,gFACnD,SAAS,EAAE,qBAAqB,EAAA,CAChC;AAEF;;;;;AAKG;IACM,iBAAiB,GAAG,KAAK,CAAS,IAAI;0FAAC;uGAtCrC,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAX,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,WAAW,+oCAhBZ,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,olCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAgBD,WAAW,EAAA,UAAA,EAAA,CAAA;kBAlBvB,SAAS;+BACE,cAAc,EAAA,QAAA,EACd,EAAE,EAAA,aAAA,EAEG,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,KAAK,EAAE,cAAc;AACrB,wBAAA,4BAA4B,EAAE,sBAAsB;AACpD,wBAAA,8BAA8B,EAAE,wBAAwB;AACxD,wBAAA,iCAAiC,EAAE,2BAA2B;AAC9D,wBAAA,gCAAgC,EAAE,YAAY;AAC9C,wBAAA,aAAa,EAAE,MAAM;AACrB,wBAAA,eAAe,EAAE,SAAS;AAC1B,wBAAA,gBAAgB,EAAE,UAAU;AAC5B,wBAAA,iCAAiC,EAAE,qBAAqB;AACzD,qBAAA,EAAA,MAAA,EAAA,CAAA,olCAAA,CAAA,EAAA;;;AChDH;;AAEG;;;;"}
|