@malva-ui/core 0.1.13 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +4 -1
- package/README.md +15 -0
- package/docs/ai/avatar.md +2 -0
- package/docs/ai/breadcrumb.md +67 -7
- package/docs/ai/button.md +74 -19
- package/docs/ai/card.md +8 -6
- package/docs/ai/chat.md +59 -45
- package/docs/ai/checkbox.md +12 -0
- package/docs/ai/combobox.md +18 -2
- package/docs/ai/copy-to-clipboard.md +1 -1
- package/docs/ai/core.md +15 -0
- package/docs/ai/data-table.md +89 -54
- package/docs/ai/dialog.md +76 -67
- package/docs/ai/drawer.md +15 -12
- package/docs/ai/dropdown.md +24 -19
- package/docs/ai/empty-state.md +3 -3
- package/docs/ai/filter.md +24 -5
- package/docs/ai/form-utils.md +160 -5
- package/docs/ai/icon-toggle.md +160 -0
- package/docs/ai/input.md +30 -0
- package/docs/ai/layout.md +23 -0
- package/docs/ai/list.md +10 -6
- package/docs/ai/menu.md +75 -1
- package/docs/ai/page.md +220 -60
- package/docs/ai/radio.md +9 -0
- package/docs/ai/scrollbar.md +30 -8
- package/docs/ai/segmented.md +35 -35
- package/docs/ai/select.md +30 -5
- package/docs/ai/sidebar.md +45 -27
- package/docs/ai/switch.md +114 -19
- package/docs/ai/table.md +69 -0
- package/docs/ai/tabs.md +2 -1
- package/docs/ai/tile.md +311 -85
- package/docs/ai/timeline.md +63 -39
- package/docs/ai/tokenizer.md +21 -5
- package/docs/ai/tooltip.md +5 -5
- package/docs/ai/view-variant.md +75 -0
- package/fesm2022/malva-ui-core-accordion.mjs +167 -0
- package/fesm2022/malva-ui-core-accordion.mjs.map +1 -0
- package/fesm2022/malva-ui-core-action-bar.mjs +111 -0
- package/fesm2022/malva-ui-core-action-bar.mjs.map +1 -0
- package/fesm2022/malva-ui-core-alert.mjs +173 -0
- package/fesm2022/malva-ui-core-alert.mjs.map +1 -0
- package/fesm2022/malva-ui-core-autocomplete.mjs +775 -0
- package/fesm2022/malva-ui-core-autocomplete.mjs.map +1 -0
- package/fesm2022/malva-ui-core-avatar-group.mjs +224 -0
- package/fesm2022/malva-ui-core-avatar-group.mjs.map +1 -0
- package/fesm2022/malva-ui-core-avatar.mjs +247 -0
- package/fesm2022/malva-ui-core-avatar.mjs.map +1 -0
- package/fesm2022/malva-ui-core-badge.mjs +122 -0
- package/fesm2022/malva-ui-core-badge.mjs.map +1 -0
- package/fesm2022/malva-ui-core-bottom-nav.mjs +161 -0
- package/fesm2022/malva-ui-core-bottom-nav.mjs.map +1 -0
- package/fesm2022/malva-ui-core-breadcrumb.mjs +494 -0
- package/fesm2022/malva-ui-core-breadcrumb.mjs.map +1 -0
- package/fesm2022/malva-ui-core-button.mjs +406 -0
- package/fesm2022/malva-ui-core-button.mjs.map +1 -0
- package/fesm2022/malva-ui-core-calendar.mjs +938 -0
- package/fesm2022/malva-ui-core-calendar.mjs.map +1 -0
- package/fesm2022/malva-ui-core-card.mjs +164 -0
- package/fesm2022/malva-ui-core-card.mjs.map +1 -0
- package/fesm2022/malva-ui-core-chat.mjs +825 -0
- package/fesm2022/malva-ui-core-chat.mjs.map +1 -0
- package/fesm2022/malva-ui-core-checkbox.mjs +272 -0
- package/fesm2022/malva-ui-core-checkbox.mjs.map +1 -0
- package/fesm2022/malva-ui-core-chip.mjs +176 -0
- package/fesm2022/malva-ui-core-chip.mjs.map +1 -0
- package/fesm2022/malva-ui-core-color-picker.mjs +1204 -0
- package/fesm2022/malva-ui-core-color-picker.mjs.map +1 -0
- package/fesm2022/malva-ui-core-combobox.mjs +945 -0
- package/fesm2022/malva-ui-core-combobox.mjs.map +1 -0
- package/fesm2022/malva-ui-core-copy-to-clipboard.mjs +255 -0
- package/fesm2022/malva-ui-core-copy-to-clipboard.mjs.map +1 -0
- package/fesm2022/malva-ui-core-data-table.mjs +2696 -0
- package/fesm2022/malva-ui-core-data-table.mjs.map +1 -0
- package/fesm2022/malva-ui-core-date-range-picker.mjs +276 -0
- package/fesm2022/malva-ui-core-date-range-picker.mjs.map +1 -0
- package/fesm2022/malva-ui-core-day-picker.mjs +131 -0
- package/fesm2022/malva-ui-core-day-picker.mjs.map +1 -0
- package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs +94 -0
- package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs.map +1 -0
- package/fesm2022/malva-ui-core-dialog.mjs +1223 -0
- package/fesm2022/malva-ui-core-dialog.mjs.map +1 -0
- package/fesm2022/malva-ui-core-divider.mjs +80 -0
- package/fesm2022/malva-ui-core-divider.mjs.map +1 -0
- package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs +94 -0
- package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs.map +1 -0
- package/fesm2022/malva-ui-core-drawer.mjs +814 -0
- package/fesm2022/malva-ui-core-drawer.mjs.map +1 -0
- package/fesm2022/malva-ui-core-dropdown.mjs +994 -0
- package/fesm2022/malva-ui-core-dropdown.mjs.map +1 -0
- package/fesm2022/malva-ui-core-empty-state.mjs +50 -0
- package/fesm2022/malva-ui-core-empty-state.mjs.map +1 -0
- package/fesm2022/malva-ui-core-expand.mjs +130 -0
- package/fesm2022/malva-ui-core-expand.mjs.map +1 -0
- package/fesm2022/malva-ui-core-file-upload.mjs +451 -0
- package/fesm2022/malva-ui-core-file-upload.mjs.map +1 -0
- package/fesm2022/malva-ui-core-filter.mjs +1627 -0
- package/fesm2022/malva-ui-core-filter.mjs.map +1 -0
- package/fesm2022/malva-ui-core-form-utils-testing.mjs +39 -0
- package/fesm2022/malva-ui-core-form-utils-testing.mjs.map +1 -0
- package/fesm2022/malva-ui-core-form-utils.mjs +977 -0
- package/fesm2022/malva-ui-core-form-utils.mjs.map +1 -0
- package/fesm2022/malva-ui-core-form.mjs +283 -0
- package/fesm2022/malva-ui-core-form.mjs.map +1 -0
- package/fesm2022/malva-ui-core-icon-toggle.mjs +120 -0
- package/fesm2022/malva-ui-core-icon-toggle.mjs.map +1 -0
- package/fesm2022/malva-ui-core-input.mjs +375 -0
- package/fesm2022/malva-ui-core-input.mjs.map +1 -0
- package/fesm2022/malva-ui-core-kbd.mjs +131 -0
- package/fesm2022/malva-ui-core-kbd.mjs.map +1 -0
- package/fesm2022/malva-ui-core-layout.mjs +212 -0
- package/fesm2022/malva-ui-core-layout.mjs.map +1 -0
- package/fesm2022/malva-ui-core-link.mjs +89 -0
- package/fesm2022/malva-ui-core-link.mjs.map +1 -0
- package/fesm2022/malva-ui-core-list.mjs +413 -0
- package/fesm2022/malva-ui-core-list.mjs.map +1 -0
- package/fesm2022/malva-ui-core-loader.mjs +141 -0
- package/fesm2022/malva-ui-core-loader.mjs.map +1 -0
- package/fesm2022/malva-ui-core-menu.mjs +2540 -0
- package/fesm2022/malva-ui-core-menu.mjs.map +1 -0
- package/fesm2022/malva-ui-core-notification.mjs +201 -0
- package/fesm2022/malva-ui-core-notification.mjs.map +1 -0
- package/fesm2022/malva-ui-core-number-input.mjs +404 -0
- package/fesm2022/malva-ui-core-number-input.mjs.map +1 -0
- package/fesm2022/malva-ui-core-page.mjs +1898 -0
- package/fesm2022/malva-ui-core-page.mjs.map +1 -0
- package/fesm2022/malva-ui-core-pagination.mjs +458 -0
- package/fesm2022/malva-ui-core-pagination.mjs.map +1 -0
- package/fesm2022/malva-ui-core-pin-input.mjs +405 -0
- package/fesm2022/malva-ui-core-pin-input.mjs.map +1 -0
- package/fesm2022/malva-ui-core-popup.mjs +1488 -0
- package/fesm2022/malva-ui-core-popup.mjs.map +1 -0
- package/fesm2022/malva-ui-core-progress.mjs +109 -0
- package/fesm2022/malva-ui-core-progress.mjs.map +1 -0
- package/fesm2022/malva-ui-core-radio.mjs +317 -0
- package/fesm2022/malva-ui-core-radio.mjs.map +1 -0
- package/fesm2022/malva-ui-core-rating.mjs +236 -0
- package/fesm2022/malva-ui-core-rating.mjs.map +1 -0
- package/fesm2022/malva-ui-core-scrollbar.mjs +430 -0
- package/fesm2022/malva-ui-core-scrollbar.mjs.map +1 -0
- package/fesm2022/malva-ui-core-search-field.mjs +578 -0
- package/fesm2022/malva-ui-core-search-field.mjs.map +1 -0
- package/fesm2022/malva-ui-core-segmented.mjs +458 -0
- package/fesm2022/malva-ui-core-segmented.mjs.map +1 -0
- package/fesm2022/malva-ui-core-select.mjs +855 -0
- package/fesm2022/malva-ui-core-select.mjs.map +1 -0
- package/fesm2022/malva-ui-core-sidebar.mjs +1504 -0
- package/fesm2022/malva-ui-core-sidebar.mjs.map +1 -0
- package/fesm2022/malva-ui-core-skeleton.mjs +85 -0
- package/fesm2022/malva-ui-core-skeleton.mjs.map +1 -0
- package/fesm2022/malva-ui-core-slider.mjs +514 -0
- package/fesm2022/malva-ui-core-slider.mjs.map +1 -0
- package/fesm2022/malva-ui-core-split-pane.mjs +359 -0
- package/fesm2022/malva-ui-core-split-pane.mjs.map +1 -0
- package/fesm2022/malva-ui-core-status-indicator.mjs +78 -0
- package/fesm2022/malva-ui-core-status-indicator.mjs.map +1 -0
- package/fesm2022/malva-ui-core-stepper.mjs +332 -0
- package/fesm2022/malva-ui-core-stepper.mjs.map +1 -0
- package/fesm2022/malva-ui-core-switch.mjs +272 -0
- package/fesm2022/malva-ui-core-switch.mjs.map +1 -0
- package/fesm2022/malva-ui-core-table.mjs +79 -0
- package/fesm2022/malva-ui-core-table.mjs.map +1 -0
- package/fesm2022/malva-ui-core-tabs.mjs +794 -0
- package/fesm2022/malva-ui-core-tabs.mjs.map +1 -0
- package/fesm2022/malva-ui-core-textarea.mjs +201 -0
- package/fesm2022/malva-ui-core-textarea.mjs.map +1 -0
- package/fesm2022/malva-ui-core-tile.mjs +1404 -0
- package/fesm2022/malva-ui-core-tile.mjs.map +1 -0
- package/fesm2022/malva-ui-core-time-picker.mjs +533 -0
- package/fesm2022/malva-ui-core-time-picker.mjs.map +1 -0
- package/fesm2022/malva-ui-core-timeline.mjs +216 -0
- package/fesm2022/malva-ui-core-timeline.mjs.map +1 -0
- package/fesm2022/malva-ui-core-title.mjs +178 -0
- package/fesm2022/malva-ui-core-title.mjs.map +1 -0
- package/fesm2022/malva-ui-core-toast.mjs +749 -0
- package/fesm2022/malva-ui-core-toast.mjs.map +1 -0
- package/fesm2022/malva-ui-core-tokenizer.mjs +502 -0
- package/fesm2022/malva-ui-core-tokenizer.mjs.map +1 -0
- package/fesm2022/malva-ui-core-toolbar.mjs +141 -0
- package/fesm2022/malva-ui-core-toolbar.mjs.map +1 -0
- package/fesm2022/malva-ui-core-tooltip.mjs +432 -0
- package/fesm2022/malva-ui-core-tooltip.mjs.map +1 -0
- package/fesm2022/malva-ui-core-tree.mjs +505 -0
- package/fesm2022/malva-ui-core-tree.mjs.map +1 -0
- package/fesm2022/malva-ui-core-view-variant.mjs +292 -0
- package/fesm2022/malva-ui-core-view-variant.mjs.map +1 -0
- package/fesm2022/malva-ui-core.mjs +77 -0
- package/fesm2022/malva-ui-core.mjs.map +1 -0
- package/package.json +179 -156
- package/styles/malva-ui.css +253 -220
- package/styles/tokens.md +174 -173
- package/table/README.md +46 -0
- package/types/malva-ui-core-accordion.d.ts +121 -0
- package/types/malva-ui-core-action-bar.d.ts +82 -0
- package/types/malva-ui-core-alert.d.ts +131 -0
- package/types/malva-ui-core-autocomplete.d.ts +301 -0
- package/types/malva-ui-core-avatar-group.d.ts +119 -0
- package/types/malva-ui-core-avatar.d.ts +156 -0
- package/types/malva-ui-core-badge.d.ts +97 -0
- package/types/malva-ui-core-bottom-nav.d.ts +104 -0
- package/types/malva-ui-core-breadcrumb.d.ts +308 -0
- package/types/malva-ui-core-button.d.ts +194 -0
- package/types/malva-ui-core-calendar.d.ts +339 -0
- package/types/malva-ui-core-card.d.ts +88 -0
- package/types/malva-ui-core-chat.d.ts +375 -0
- package/types/malva-ui-core-checkbox.d.ts +158 -0
- package/types/malva-ui-core-chip.d.ts +128 -0
- package/types/malva-ui-core-color-picker.d.ts +442 -0
- package/types/malva-ui-core-combobox.d.ts +419 -0
- package/types/malva-ui-core-copy-to-clipboard.d.ts +148 -0
- package/types/malva-ui-core-data-table.d.ts +1074 -0
- package/types/malva-ui-core-date-range-picker.d.ts +149 -0
- package/types/malva-ui-core-day-picker.d.ts +55 -0
- package/types/malva-ui-core-dialog.d.ts +597 -0
- package/types/malva-ui-core-divider.d.ts +68 -0
- package/types/malva-ui-core-drawer.d.ts +333 -0
- package/types/malva-ui-core-dropdown.d.ts +592 -0
- package/types/malva-ui-core-empty-state.d.ts +37 -0
- package/types/malva-ui-core-expand.d.ts +102 -0
- package/types/malva-ui-core-file-upload.d.ts +267 -0
- package/types/malva-ui-core-filter.d.ts +552 -0
- package/types/malva-ui-core-form-utils-testing.d.ts +50 -0
- package/types/malva-ui-core-form-utils.d.ts +579 -0
- package/types/malva-ui-core-form.d.ts +176 -0
- package/types/malva-ui-core-icon-toggle.d.ts +80 -0
- package/types/malva-ui-core-input.d.ts +262 -0
- package/types/malva-ui-core-kbd.d.ts +56 -0
- package/types/malva-ui-core-layout.d.ts +70 -0
- package/types/malva-ui-core-link.d.ts +28 -0
- package/types/malva-ui-core-list.d.ts +252 -0
- package/types/malva-ui-core-loader.d.ts +89 -0
- package/types/malva-ui-core-menu.d.ts +954 -0
- package/types/malva-ui-core-notification.d.ts +122 -0
- package/types/malva-ui-core-number-input.d.ts +167 -0
- package/types/malva-ui-core-page.d.ts +799 -0
- package/types/malva-ui-core-pagination.d.ts +261 -0
- package/types/malva-ui-core-pin-input.d.ts +203 -0
- package/types/malva-ui-core-popup.d.ts +834 -0
- package/types/malva-ui-core-progress.d.ts +73 -0
- package/types/malva-ui-core-radio.d.ts +130 -0
- package/types/malva-ui-core-rating.d.ts +115 -0
- package/types/malva-ui-core-scrollbar.d.ts +203 -0
- package/types/malva-ui-core-search-field.d.ts +408 -0
- package/types/malva-ui-core-segmented.d.ts +206 -0
- package/types/malva-ui-core-select.d.ts +456 -0
- package/types/malva-ui-core-sidebar.d.ts +698 -0
- package/types/malva-ui-core-skeleton.d.ts +64 -0
- package/types/malva-ui-core-slider.d.ts +219 -0
- package/types/malva-ui-core-split-pane.d.ts +149 -0
- package/types/malva-ui-core-status-indicator.d.ts +65 -0
- package/types/malva-ui-core-stepper.d.ts +168 -0
- package/types/malva-ui-core-switch.d.ts +146 -0
- package/types/malva-ui-core-table.d.ts +37 -0
- package/types/malva-ui-core-tabs.d.ts +339 -0
- package/types/malva-ui-core-textarea.d.ts +79 -0
- package/types/malva-ui-core-tile.d.ts +373 -0
- package/types/malva-ui-core-time-picker.d.ts +141 -0
- package/types/malva-ui-core-timeline.d.ts +188 -0
- package/types/malva-ui-core-title.d.ts +66 -0
- package/types/malva-ui-core-toast.d.ts +432 -0
- package/types/malva-ui-core-tokenizer.d.ts +217 -0
- package/types/malva-ui-core-toolbar.d.ts +91 -0
- package/types/malva-ui-core-tooltip.d.ts +200 -0
- package/types/malva-ui-core-tree.d.ts +289 -0
- package/types/malva-ui-core-view-variant.d.ts +207 -0
- package/types/malva-ui-core.d.ts +72 -0
- package/view-variant/README.md +3 -0
- package/accordion/index.d.ts +0 -3
- package/accordion/lib/accordion/accordion.d.ts +0 -47
- package/accordion/lib/accordion-item/accordion-header.d.ts +0 -22
- package/accordion/lib/accordion-item/accordion-item.d.ts +0 -49
- package/accordion/malva-ui-core-accordion.d.ts +0 -5
- package/action-bar/index.d.ts +0 -4
- package/action-bar/lib/action-bar/action-bar.d.ts +0 -59
- package/action-bar/lib/action-bar/components/action-bar-actions.d.ts +0 -9
- package/action-bar/lib/action-bar/components/action-bar-logo.d.ts +0 -5
- package/action-bar/lib/action-bar/components/action-bar-spacer.d.ts +0 -5
- package/action-bar/malva-ui-core-action-bar.d.ts +0 -5
- package/alert/index.d.ts +0 -2
- package/alert/lib/alert/alert.d.ts +0 -84
- package/alert/lib/alert/alert.directives.d.ts +0 -44
- package/alert/malva-ui-core-alert.d.ts +0 -5
- package/autocomplete/index.d.ts +0 -1
- package/autocomplete/lib/autocomplete/autocomplete.d.ts +0 -296
- package/autocomplete/malva-ui-core-autocomplete.d.ts +0 -5
- package/avatar/index.d.ts +0 -2
- package/avatar/lib/avatar/avatar.d.ts +0 -125
- package/avatar/lib/color-from-text.pipe.d.ts +0 -21
- package/avatar/malva-ui-core-avatar.d.ts +0 -5
- package/avatar-group/index.d.ts +0 -1
- package/avatar-group/lib/avatar-group/avatar-group.d.ts +0 -115
- package/avatar-group/malva-ui-core-avatar-group.d.ts +0 -5
- package/badge/index.d.ts +0 -2
- package/badge/lib/badge/badge.d.ts +0 -59
- package/badge/lib/badge-icon.d.ts +0 -35
- package/badge/malva-ui-core-badge.d.ts +0 -5
- package/bottom-nav/index.d.ts +0 -1
- package/bottom-nav/lib/bottom-nav/bottom-nav.d.ts +0 -99
- package/bottom-nav/malva-ui-core-bottom-nav.d.ts +0 -5
- package/breadcrumb/index.d.ts +0 -5
- package/breadcrumb/lib/breadcrumb/breadcrumb-item-host.d.ts +0 -32
- package/breadcrumb/lib/breadcrumb/breadcrumb-item.d.ts +0 -41
- package/breadcrumb/lib/breadcrumb/breadcrumb-separator.d.ts +0 -31
- package/breadcrumb/lib/breadcrumb/breadcrumb.d.ts +0 -151
- package/breadcrumb/lib/breadcrumb/breadcrumb.types.d.ts +0 -26
- package/breadcrumb/malva-ui-core-breadcrumb.d.ts +0 -5
- package/button/index.d.ts +0 -7
- package/button/lib/button/button.d.ts +0 -61
- package/button/lib/button-close/button-close.d.ts +0 -24
- package/button/lib/button-group/button-group.d.ts +0 -21
- package/button/lib/button-split/button-split.d.ts +0 -21
- package/button/lib/button-toggle/button-toggle.d.ts +0 -33
- package/button/lib/button-variant.token.d.ts +0 -13
- package/button/lib/button.directives.d.ts +0 -14
- package/button/lib/button.types.d.ts +0 -8
- package/button/malva-ui-core-button.d.ts +0 -5
- package/calendar/index.d.ts +0 -3
- package/calendar/lib/calendar/calendar.d.ts +0 -182
- package/calendar/lib/date-provider/date-adapter.d.ts +0 -92
- package/calendar/lib/date-provider/native-date-adapter.d.ts +0 -60
- package/calendar/malva-ui-core-calendar.d.ts +0 -5
- package/card/index.d.ts +0 -5
- package/card/lib/card/card.d.ts +0 -43
- package/card/lib/card-actions-def.d.ts +0 -10
- package/card/lib/card-footer-def.d.ts +0 -13
- package/card/lib/card-header-def.d.ts +0 -10
- package/card/lib/card-subheader-def.d.ts +0 -16
- package/card/malva-ui-core-card.d.ts +0 -5
- package/chat/index.d.ts +0 -9
- package/chat/lib/chat/chat.d.ts +0 -133
- package/chat/lib/chat-audio/chat-audio.d.ts +0 -51
- package/chat/lib/chat-audio/chat-audio.service.d.ts +0 -21
- package/chat/lib/chat-date/chat-date.d.ts +0 -16
- package/chat/lib/chat-format.d.ts +0 -5
- package/chat/lib/chat-media-grid/chat-media-grid.d.ts +0 -32
- package/chat/lib/chat-message/chat-message.d.ts +0 -45
- package/chat/lib/chat-render-list.d.ts +0 -16
- package/chat/lib/chat-tokens.d.ts +0 -25
- package/chat/lib/chat-typing/chat-typing.d.ts +0 -16
- package/chat/lib/chat.types.d.ts +0 -80
- package/chat/lib/defs/chat-author-def.d.ts +0 -30
- package/chat/lib/defs/chat-date-def.d.ts +0 -22
- package/chat/lib/defs/chat-message-def.d.ts +0 -23
- package/chat/malva-ui-core-chat.d.ts +0 -5
- package/checkbox/index.d.ts +0 -3
- package/checkbox/lib/checkbox/checkbox.d.ts +0 -129
- package/checkbox/lib/checkbox-group/checkbox-group.d.ts +0 -24
- package/checkbox/lib/checkbox-group-token.d.ts +0 -6
- package/checkbox/malva-ui-core-checkbox.d.ts +0 -5
- package/chip/index.d.ts +0 -2
- package/chip/lib/chip/chip.d.ts +0 -107
- package/chip/lib/chip/chip.directives.d.ts +0 -18
- package/chip/malva-ui-core-chip.d.ts +0 -5
- package/color-picker/index.d.ts +0 -3
- package/color-picker/lib/color-picker/color-picker.d.ts +0 -188
- package/color-picker/lib/color-picker-popup/color-picker-popup.d.ts +0 -151
- package/color-picker/lib/color-utils/color-utils.d.ts +0 -102
- package/color-picker/malva-ui-core-color-picker.d.ts +0 -5
- package/combobox/index.d.ts +0 -2
- package/combobox/lib/combobox/combobox.d.ts +0 -400
- package/combobox/lib/combobox-template.directives.d.ts +0 -10
- package/combobox/malva-ui-core-combobox.d.ts +0 -5
- package/copy-to-clipboard/index.d.ts +0 -1
- package/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.d.ts +0 -130
- package/copy-to-clipboard/malva-ui-core-copy-to-clipboard.d.ts +0 -5
- package/data-table/index.d.ts +0 -8
- package/data-table/lib/data-source.d.ts +0 -5
- package/data-table/lib/data-table/data-table-layout.d.ts +0 -31
- package/data-table/lib/data-table/data-table.d.ts +0 -699
- package/data-table/lib/data-table/services/data-table-column-visibility.service.d.ts +0 -19
- package/data-table/lib/data-table/services/data-table-editing.service.d.ts +0 -37
- package/data-table/lib/data-table/services/data-table-pinning.service.d.ts +0 -37
- package/data-table/lib/data-table-cell.d.ts +0 -44
- package/data-table/lib/data-table-edit-cell.d.ts +0 -44
- package/data-table/lib/data-table-error.d.ts +0 -37
- package/data-table/lib/data-table-footer.d.ts +0 -26
- package/data-table/lib/data-table-no-data.d.ts +0 -19
- package/data-table/lib/filter-dropdown/filter-dropdown.d.ts +0 -54
- package/data-table/lib/types.d.ts +0 -134
- package/data-table/malva-ui-core-data-table.d.ts +0 -5
- package/date-range-picker/index.d.ts +0 -1
- package/date-range-picker/lib/date-range-picker/date-range-picker.d.ts +0 -145
- package/date-range-picker/malva-ui-core-date-range-picker.d.ts +0 -5
- package/day-picker/index.d.ts +0 -1
- package/day-picker/lib/day-picker/day-picker.d.ts +0 -51
- package/day-picker/malva-ui-core-day-picker.d.ts +0 -5
- package/dialog/index.d.ts +0 -11
- package/dialog/lib/confirm-dialog-options.d.ts +0 -41
- package/dialog/lib/confirm-dialog.d.ts +0 -52
- package/dialog/lib/dialog/dialog.d.ts +0 -22
- package/dialog/lib/dialog-body.d.ts +0 -9
- package/dialog/lib/dialog-close.d.ts +0 -27
- package/dialog/lib/dialog-config.d.ts +0 -112
- package/dialog/lib/dialog-container.d.ts +0 -40
- package/dialog/lib/dialog-footer.d.ts +0 -13
- package/dialog/lib/dialog-header.d.ts +0 -74
- package/dialog/lib/dialog-ref.d.ts +0 -95
- package/dialog/lib/dialog-template.d.ts +0 -65
- package/dialog/lib/dialog-text-content.d.ts +0 -24
- package/dialog/lib/dialog.service.d.ts +0 -63
- package/dialog/lib/generate-routable-dialog-route.d.ts +0 -49
- package/dialog/lib/inject-dialog-ref.d.ts +0 -8
- package/dialog/lib/routable-dialog.d.ts +0 -30
- package/dialog/malva-ui-core-dialog.d.ts +0 -5
- package/divider/index.d.ts +0 -1
- package/divider/lib/divider/divider.d.ts +0 -64
- package/divider/malva-ui-core-divider.d.ts +0 -5
- package/drawer/index.d.ts +0 -11
- package/drawer/lib/drawer/drawer.d.ts +0 -106
- package/drawer/lib/drawer-body.d.ts +0 -8
- package/drawer/lib/drawer-content.d.ts +0 -6
- package/drawer/lib/drawer-footer.d.ts +0 -5
- package/drawer/lib/drawer-header.d.ts +0 -5
- package/drawer/lib/drawer-ref.d.ts +0 -29
- package/drawer/lib/drawer-resize.d.ts +0 -65
- package/drawer/lib/drawer-section/drawer-section.d.ts +0 -15
- package/drawer/lib/drawer-sections/drawer-sections.d.ts +0 -22
- package/drawer/lib/drawer-sections.service.d.ts +0 -42
- package/drawer/lib/drawer.service.d.ts +0 -66
- package/drawer/lib/generate-routable-drawer-route.d.ts +0 -42
- package/drawer/lib/routable-drawer.d.ts +0 -30
- package/drawer/malva-ui-core-drawer.d.ts +0 -5
- package/dropdown/index.d.ts +0 -9
- package/dropdown/lib/active-descendant.d.ts +0 -64
- package/dropdown/lib/dropdown-panel/dropdown-panel.d.ts +0 -178
- package/dropdown/lib/highlight-match.pipe.d.ts +0 -27
- package/dropdown/lib/option-matcher.d.ts +0 -87
- package/dropdown/lib/options-adapter.d.ts +0 -142
- package/dropdown/lib/options-result.d.ts +0 -6
- package/dropdown/lib/reconciliation.d.ts +0 -19
- package/dropdown/lib/select-data-source.d.ts +0 -18
- package/dropdown/lib/select-option.d.ts +0 -37
- package/dropdown/malva-ui-core-dropdown.d.ts +0 -5
- package/empty-state/index.d.ts +0 -1
- package/empty-state/lib/empty-state/empty-state.d.ts +0 -34
- package/empty-state/malva-ui-core-empty-state.d.ts +0 -5
- package/esm2022/accordion/index.js +0 -4
- package/esm2022/accordion/index.js.map +0 -1
- package/esm2022/accordion/lib/accordion/accordion.js +0 -65
- package/esm2022/accordion/lib/accordion/accordion.js.map +0 -1
- package/esm2022/accordion/lib/accordion-item/accordion-header.js +0 -30
- package/esm2022/accordion/lib/accordion-item/accordion-header.js.map +0 -1
- package/esm2022/accordion/lib/accordion-item/accordion-item.js +0 -70
- package/esm2022/accordion/lib/accordion-item/accordion-item.js.map +0 -1
- package/esm2022/accordion/malva-ui-core-accordion.js +0 -5
- package/esm2022/accordion/malva-ui-core-accordion.js.map +0 -1
- package/esm2022/action-bar/index.js +0 -5
- package/esm2022/action-bar/index.js.map +0 -1
- package/esm2022/action-bar/lib/action-bar/action-bar.js +0 -64
- package/esm2022/action-bar/lib/action-bar/action-bar.js.map +0 -1
- package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js +0 -20
- package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js.map +0 -1
- package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js +0 -13
- package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js.map +0 -1
- package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js +0 -13
- package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js.map +0 -1
- package/esm2022/action-bar/malva-ui-core-action-bar.js +0 -5
- package/esm2022/action-bar/malva-ui-core-action-bar.js.map +0 -1
- package/esm2022/alert/index.js +0 -3
- package/esm2022/alert/index.js.map +0 -1
- package/esm2022/alert/lib/alert/alert.directives.js +0 -53
- package/esm2022/alert/lib/alert/alert.directives.js.map +0 -1
- package/esm2022/alert/lib/alert/alert.js +0 -118
- package/esm2022/alert/lib/alert/alert.js.map +0 -1
- package/esm2022/alert/malva-ui-core-alert.js +0 -5
- package/esm2022/alert/malva-ui-core-alert.js.map +0 -1
- package/esm2022/autocomplete/index.js +0 -2
- package/esm2022/autocomplete/index.js.map +0 -1
- package/esm2022/autocomplete/lib/autocomplete/autocomplete.js +0 -765
- package/esm2022/autocomplete/lib/autocomplete/autocomplete.js.map +0 -1
- package/esm2022/autocomplete/malva-ui-core-autocomplete.js +0 -5
- package/esm2022/autocomplete/malva-ui-core-autocomplete.js.map +0 -1
- package/esm2022/avatar/index.js +0 -3
- package/esm2022/avatar/index.js.map +0 -1
- package/esm2022/avatar/lib/avatar/avatar.js +0 -192
- package/esm2022/avatar/lib/avatar/avatar.js.map +0 -1
- package/esm2022/avatar/lib/color-from-text.pipe.js +0 -39
- package/esm2022/avatar/lib/color-from-text.pipe.js.map +0 -1
- package/esm2022/avatar/malva-ui-core-avatar.js +0 -5
- package/esm2022/avatar/malva-ui-core-avatar.js.map +0 -1
- package/esm2022/avatar-group/index.js +0 -2
- package/esm2022/avatar-group/index.js.map +0 -1
- package/esm2022/avatar-group/lib/avatar-group/avatar-group.js +0 -217
- package/esm2022/avatar-group/lib/avatar-group/avatar-group.js.map +0 -1
- package/esm2022/avatar-group/malva-ui-core-avatar-group.js +0 -5
- package/esm2022/avatar-group/malva-ui-core-avatar-group.js.map +0 -1
- package/esm2022/badge/index.js +0 -3
- package/esm2022/badge/index.js.map +0 -1
- package/esm2022/badge/lib/badge/badge.js +0 -71
- package/esm2022/badge/lib/badge/badge.js.map +0 -1
- package/esm2022/badge/lib/badge-icon.js +0 -47
- package/esm2022/badge/lib/badge-icon.js.map +0 -1
- package/esm2022/badge/malva-ui-core-badge.js +0 -5
- package/esm2022/badge/malva-ui-core-badge.js.map +0 -1
- package/esm2022/bottom-nav/index.js +0 -2
- package/esm2022/bottom-nav/index.js.map +0 -1
- package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js +0 -155
- package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js.map +0 -1
- package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js +0 -5
- package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js.map +0 -1
- package/esm2022/breadcrumb/index.js +0 -6
- package/esm2022/breadcrumb/index.js.map +0 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js +0 -43
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js.map +0 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js +0 -110
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js.map +0 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js +0 -38
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js.map +0 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js +0 -284
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js.map +0 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js +0 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js.map +0 -1
- package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js +0 -5
- package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js.map +0 -1
- package/esm2022/button/index.js +0 -8
- package/esm2022/button/index.js.map +0 -1
- package/esm2022/button/lib/button/button.js +0 -137
- package/esm2022/button/lib/button/button.js.map +0 -1
- package/esm2022/button/lib/button-close/button-close.js +0 -52
- package/esm2022/button/lib/button-close/button-close.js.map +0 -1
- package/esm2022/button/lib/button-group/button-group.js +0 -44
- package/esm2022/button/lib/button-group/button-group.js.map +0 -1
- package/esm2022/button/lib/button-split/button-split.js +0 -44
- package/esm2022/button/lib/button-split/button-split.js.map +0 -1
- package/esm2022/button/lib/button-toggle/button-toggle.js +0 -94
- package/esm2022/button/lib/button-toggle/button-toggle.js.map +0 -1
- package/esm2022/button/lib/button-variant.token.js +0 -4
- package/esm2022/button/lib/button-variant.token.js.map +0 -1
- package/esm2022/button/lib/button.directives.js +0 -37
- package/esm2022/button/lib/button.directives.js.map +0 -1
- package/esm2022/button/lib/button.types.js +0 -1
- package/esm2022/button/lib/button.types.js.map +0 -1
- package/esm2022/button/malva-ui-core-button.js +0 -5
- package/esm2022/button/malva-ui-core-button.js.map +0 -1
- package/esm2022/calendar/index.js +0 -4
- package/esm2022/calendar/index.js.map +0 -1
- package/esm2022/calendar/lib/calendar/calendar.js +0 -672
- package/esm2022/calendar/lib/calendar/calendar.js.map +0 -1
- package/esm2022/calendar/lib/date-provider/date-adapter.js +0 -111
- package/esm2022/calendar/lib/date-provider/date-adapter.js.map +0 -1
- package/esm2022/calendar/lib/date-provider/native-date-adapter.js +0 -151
- package/esm2022/calendar/lib/date-provider/native-date-adapter.js.map +0 -1
- package/esm2022/calendar/malva-ui-core-calendar.js +0 -5
- package/esm2022/calendar/malva-ui-core-calendar.js.map +0 -1
- package/esm2022/card/index.js +0 -6
- package/esm2022/card/index.js.map +0 -1
- package/esm2022/card/lib/card/card.js +0 -54
- package/esm2022/card/lib/card/card.js.map +0 -1
- package/esm2022/card/lib/card-actions-def.js +0 -27
- package/esm2022/card/lib/card-actions-def.js.map +0 -1
- package/esm2022/card/lib/card-footer-def.js +0 -32
- package/esm2022/card/lib/card-footer-def.js.map +0 -1
- package/esm2022/card/lib/card-header-def.js +0 -27
- package/esm2022/card/lib/card-header-def.js.map +0 -1
- package/esm2022/card/lib/card-subheader-def.js +0 -33
- package/esm2022/card/lib/card-subheader-def.js.map +0 -1
- package/esm2022/card/malva-ui-core-card.js +0 -5
- package/esm2022/card/malva-ui-core-card.js.map +0 -1
- package/esm2022/chat/index.js +0 -10
- package/esm2022/chat/index.js.map +0 -1
- package/esm2022/chat/lib/chat/chat.js +0 -326
- package/esm2022/chat/lib/chat/chat.js.map +0 -1
- package/esm2022/chat/lib/chat-audio/chat-audio.js +0 -110
- package/esm2022/chat/lib/chat-audio/chat-audio.js.map +0 -1
- package/esm2022/chat/lib/chat-audio/chat-audio.service.js +0 -28
- package/esm2022/chat/lib/chat-audio/chat-audio.service.js.map +0 -1
- package/esm2022/chat/lib/chat-date/chat-date.js +0 -46
- package/esm2022/chat/lib/chat-date/chat-date.js.map +0 -1
- package/esm2022/chat/lib/chat-format.js +0 -11
- package/esm2022/chat/lib/chat-format.js.map +0 -1
- package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js +0 -53
- package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js.map +0 -1
- package/esm2022/chat/lib/chat-message/chat-message.js +0 -86
- package/esm2022/chat/lib/chat-message/chat-message.js.map +0 -1
- package/esm2022/chat/lib/chat-render-list.js +0 -55
- package/esm2022/chat/lib/chat-render-list.js.map +0 -1
- package/esm2022/chat/lib/chat-tokens.js +0 -9
- package/esm2022/chat/lib/chat-tokens.js.map +0 -1
- package/esm2022/chat/lib/chat-typing/chat-typing.js +0 -50
- package/esm2022/chat/lib/chat-typing/chat-typing.js.map +0 -1
- package/esm2022/chat/lib/chat.types.js +0 -1
- package/esm2022/chat/lib/chat.types.js.map +0 -1
- package/esm2022/chat/lib/defs/chat-author-def.js +0 -27
- package/esm2022/chat/lib/defs/chat-author-def.js.map +0 -1
- package/esm2022/chat/lib/defs/chat-date-def.js +0 -24
- package/esm2022/chat/lib/defs/chat-date-def.js.map +0 -1
- package/esm2022/chat/lib/defs/chat-message-def.js +0 -30
- package/esm2022/chat/lib/defs/chat-message-def.js.map +0 -1
- package/esm2022/chat/malva-ui-core-chat.js +0 -5
- package/esm2022/chat/malva-ui-core-chat.js.map +0 -1
- package/esm2022/checkbox/index.js +0 -4
- package/esm2022/checkbox/index.js.map +0 -1
- package/esm2022/checkbox/lib/checkbox/checkbox.js +0 -201
- package/esm2022/checkbox/lib/checkbox/checkbox.js.map +0 -1
- package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js +0 -68
- package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js.map +0 -1
- package/esm2022/checkbox/lib/checkbox-group-token.js +0 -3
- package/esm2022/checkbox/lib/checkbox-group-token.js.map +0 -1
- package/esm2022/checkbox/malva-ui-core-checkbox.js +0 -5
- package/esm2022/checkbox/malva-ui-core-checkbox.js.map +0 -1
- package/esm2022/chip/index.js +0 -3
- package/esm2022/chip/index.js.map +0 -1
- package/esm2022/chip/lib/chip/chip.directives.js +0 -32
- package/esm2022/chip/lib/chip/chip.directives.js.map +0 -1
- package/esm2022/chip/lib/chip/chip.js +0 -140
- package/esm2022/chip/lib/chip/chip.js.map +0 -1
- package/esm2022/chip/malva-ui-core-chip.js +0 -5
- package/esm2022/chip/malva-ui-core-chip.js.map +0 -1
- package/esm2022/color-picker/index.js +0 -4
- package/esm2022/color-picker/index.js.map +0 -1
- package/esm2022/color-picker/lib/color-picker/color-picker.js +0 -530
- package/esm2022/color-picker/lib/color-picker/color-picker.js.map +0 -1
- package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js +0 -419
- package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js.map +0 -1
- package/esm2022/color-picker/lib/color-utils/color-utils.js +0 -256
- package/esm2022/color-picker/lib/color-utils/color-utils.js.map +0 -1
- package/esm2022/color-picker/malva-ui-core-color-picker.js +0 -5
- package/esm2022/color-picker/malva-ui-core-color-picker.js.map +0 -1
- package/esm2022/combobox/index.js +0 -3
- package/esm2022/combobox/index.js.map +0 -1
- package/esm2022/combobox/lib/combobox/combobox.js +0 -911
- package/esm2022/combobox/lib/combobox/combobox.js.map +0 -1
- package/esm2022/combobox/lib/combobox-template.directives.js +0 -24
- package/esm2022/combobox/lib/combobox-template.directives.js.map +0 -1
- package/esm2022/combobox/malva-ui-core-combobox.js +0 -5
- package/esm2022/combobox/malva-ui-core-combobox.js.map +0 -1
- package/esm2022/copy-to-clipboard/index.js +0 -2
- package/esm2022/copy-to-clipboard/index.js.map +0 -1
- package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js +0 -201
- package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js.map +0 -1
- package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js +0 -5
- package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js.map +0 -1
- package/esm2022/data-table/index.js +0 -9
- package/esm2022/data-table/index.js.map +0 -1
- package/esm2022/data-table/lib/data-source.js +0 -6
- package/esm2022/data-table/lib/data-source.js.map +0 -1
- package/esm2022/data-table/lib/data-table/data-table-layout.js +0 -84
- package/esm2022/data-table/lib/data-table/data-table-layout.js.map +0 -1
- package/esm2022/data-table/lib/data-table/data-table.js +0 -1846
- package/esm2022/data-table/lib/data-table/data-table.js.map +0 -1
- package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js +0 -37
- package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js.map +0 -1
- package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js +0 -63
- package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js.map +0 -1
- package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js +0 -68
- package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js.map +0 -1
- package/esm2022/data-table/lib/data-table-cell.js +0 -46
- package/esm2022/data-table/lib/data-table-cell.js.map +0 -1
- package/esm2022/data-table/lib/data-table-edit-cell.js +0 -46
- package/esm2022/data-table/lib/data-table-edit-cell.js.map +0 -1
- package/esm2022/data-table/lib/data-table-error.js +0 -37
- package/esm2022/data-table/lib/data-table-error.js.map +0 -1
- package/esm2022/data-table/lib/data-table-footer.js +0 -33
- package/esm2022/data-table/lib/data-table-footer.js.map +0 -1
- package/esm2022/data-table/lib/data-table-no-data.js +0 -26
- package/esm2022/data-table/lib/data-table-no-data.js.map +0 -1
- package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js +0 -224
- package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js.map +0 -1
- package/esm2022/data-table/lib/types.js +0 -1
- package/esm2022/data-table/lib/types.js.map +0 -1
- package/esm2022/data-table/malva-ui-core-data-table.js +0 -5
- package/esm2022/data-table/malva-ui-core-data-table.js.map +0 -1
- package/esm2022/date-range-picker/index.js +0 -2
- package/esm2022/date-range-picker/index.js.map +0 -1
- package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js +0 -269
- package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js.map +0 -1
- package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js +0 -5
- package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js.map +0 -1
- package/esm2022/day-picker/index.js +0 -2
- package/esm2022/day-picker/index.js.map +0 -1
- package/esm2022/day-picker/lib/day-picker/day-picker.js +0 -124
- package/esm2022/day-picker/lib/day-picker/day-picker.js.map +0 -1
- package/esm2022/day-picker/malva-ui-core-day-picker.js +0 -5
- package/esm2022/day-picker/malva-ui-core-day-picker.js.map +0 -1
- package/esm2022/dialog/index.js +0 -12
- package/esm2022/dialog/index.js.map +0 -1
- package/esm2022/dialog/lib/confirm-dialog-options.js +0 -1
- package/esm2022/dialog/lib/confirm-dialog-options.js.map +0 -1
- package/esm2022/dialog/lib/confirm-dialog.js +0 -155
- package/esm2022/dialog/lib/confirm-dialog.js.map +0 -1
- package/esm2022/dialog/lib/dialog/dialog.js +0 -40
- package/esm2022/dialog/lib/dialog/dialog.js.map +0 -1
- package/esm2022/dialog/lib/dialog-body.js +0 -33
- package/esm2022/dialog/lib/dialog-body.js.map +0 -1
- package/esm2022/dialog/lib/dialog-close.js +0 -45
- package/esm2022/dialog/lib/dialog-close.js.map +0 -1
- package/esm2022/dialog/lib/dialog-config.js +0 -23
- package/esm2022/dialog/lib/dialog-config.js.map +0 -1
- package/esm2022/dialog/lib/dialog-container.js +0 -69
- package/esm2022/dialog/lib/dialog-container.js.map +0 -1
- package/esm2022/dialog/lib/dialog-footer.js +0 -29
- package/esm2022/dialog/lib/dialog-footer.js.map +0 -1
- package/esm2022/dialog/lib/dialog-header.js +0 -181
- package/esm2022/dialog/lib/dialog-header.js.map +0 -1
- package/esm2022/dialog/lib/dialog-ref.js +0 -167
- package/esm2022/dialog/lib/dialog-ref.js.map +0 -1
- package/esm2022/dialog/lib/dialog-template.js +0 -136
- package/esm2022/dialog/lib/dialog-template.js.map +0 -1
- package/esm2022/dialog/lib/dialog-text-content.js +0 -59
- package/esm2022/dialog/lib/dialog-text-content.js.map +0 -1
- package/esm2022/dialog/lib/dialog.service.js +0 -205
- package/esm2022/dialog/lib/dialog.service.js.map +0 -1
- package/esm2022/dialog/lib/generate-routable-dialog-route.js +0 -59
- package/esm2022/dialog/lib/generate-routable-dialog-route.js.map +0 -1
- package/esm2022/dialog/lib/inject-dialog-ref.js +0 -16
- package/esm2022/dialog/lib/inject-dialog-ref.js.map +0 -1
- package/esm2022/dialog/lib/routable-dialog.js +0 -91
- package/esm2022/dialog/lib/routable-dialog.js.map +0 -1
- package/esm2022/dialog/malva-ui-core-dialog.js +0 -5
- package/esm2022/dialog/malva-ui-core-dialog.js.map +0 -1
- package/esm2022/divider/index.js +0 -2
- package/esm2022/divider/index.js.map +0 -1
- package/esm2022/divider/lib/divider/divider.js +0 -73
- package/esm2022/divider/lib/divider/divider.js.map +0 -1
- package/esm2022/divider/malva-ui-core-divider.js +0 -5
- package/esm2022/divider/malva-ui-core-divider.js.map +0 -1
- package/esm2022/drawer/index.js +0 -12
- package/esm2022/drawer/index.js.map +0 -1
- package/esm2022/drawer/lib/drawer/drawer.js +0 -180
- package/esm2022/drawer/lib/drawer/drawer.js.map +0 -1
- package/esm2022/drawer/lib/drawer-body.js +0 -32
- package/esm2022/drawer/lib/drawer-body.js.map +0 -1
- package/esm2022/drawer/lib/drawer-content.js +0 -14
- package/esm2022/drawer/lib/drawer-content.js.map +0 -1
- package/esm2022/drawer/lib/drawer-footer.js +0 -14
- package/esm2022/drawer/lib/drawer-footer.js.map +0 -1
- package/esm2022/drawer/lib/drawer-header.js +0 -14
- package/esm2022/drawer/lib/drawer-header.js.map +0 -1
- package/esm2022/drawer/lib/drawer-ref.js +0 -31
- package/esm2022/drawer/lib/drawer-ref.js.map +0 -1
- package/esm2022/drawer/lib/drawer-resize.js +0 -243
- package/esm2022/drawer/lib/drawer-resize.js.map +0 -1
- package/esm2022/drawer/lib/drawer-section/drawer-section.js +0 -26
- package/esm2022/drawer/lib/drawer-section/drawer-section.js.map +0 -1
- package/esm2022/drawer/lib/drawer-sections/drawer-sections.js +0 -58
- package/esm2022/drawer/lib/drawer-sections/drawer-sections.js.map +0 -1
- package/esm2022/drawer/lib/drawer-sections.service.js +0 -83
- package/esm2022/drawer/lib/drawer-sections.service.js.map +0 -1
- package/esm2022/drawer/lib/drawer.service.js +0 -86
- package/esm2022/drawer/lib/drawer.service.js.map +0 -1
- package/esm2022/drawer/lib/generate-routable-drawer-route.js +0 -52
- package/esm2022/drawer/lib/generate-routable-drawer-route.js.map +0 -1
- package/esm2022/drawer/lib/routable-drawer.js +0 -91
- package/esm2022/drawer/lib/routable-drawer.js.map +0 -1
- package/esm2022/drawer/malva-ui-core-drawer.js +0 -5
- package/esm2022/drawer/malva-ui-core-drawer.js.map +0 -1
- package/esm2022/dropdown/index.js +0 -10
- package/esm2022/dropdown/index.js.map +0 -1
- package/esm2022/dropdown/lib/active-descendant.js +0 -92
- package/esm2022/dropdown/lib/active-descendant.js.map +0 -1
- package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js +0 -295
- package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js.map +0 -1
- package/esm2022/dropdown/lib/highlight-match.pipe.js +0 -36
- package/esm2022/dropdown/lib/highlight-match.pipe.js.map +0 -1
- package/esm2022/dropdown/lib/option-matcher.js +0 -124
- package/esm2022/dropdown/lib/option-matcher.js.map +0 -1
- package/esm2022/dropdown/lib/options-adapter.js +0 -356
- package/esm2022/dropdown/lib/options-adapter.js.map +0 -1
- package/esm2022/dropdown/lib/options-result.js +0 -11
- package/esm2022/dropdown/lib/options-result.js.map +0 -1
- package/esm2022/dropdown/lib/reconciliation.js +0 -32
- package/esm2022/dropdown/lib/reconciliation.js.map +0 -1
- package/esm2022/dropdown/lib/select-data-source.js +0 -21
- package/esm2022/dropdown/lib/select-data-source.js.map +0 -1
- package/esm2022/dropdown/lib/select-option.js +0 -25
- package/esm2022/dropdown/lib/select-option.js.map +0 -1
- package/esm2022/dropdown/malva-ui-core-dropdown.js +0 -5
- package/esm2022/dropdown/malva-ui-core-dropdown.js.map +0 -1
- package/esm2022/empty-state/index.js +0 -2
- package/esm2022/empty-state/index.js.map +0 -1
- package/esm2022/empty-state/lib/empty-state/empty-state.js +0 -43
- package/esm2022/empty-state/lib/empty-state/empty-state.js.map +0 -1
- package/esm2022/empty-state/malva-ui-core-empty-state.js +0 -5
- package/esm2022/empty-state/malva-ui-core-empty-state.js.map +0 -1
- package/esm2022/expand/index.js +0 -3
- package/esm2022/expand/index.js.map +0 -1
- package/esm2022/expand/lib/expand/expand-content.js +0 -33
- package/esm2022/expand/lib/expand/expand-content.js.map +0 -1
- package/esm2022/expand/lib/expand/expand.js +0 -93
- package/esm2022/expand/lib/expand/expand.js.map +0 -1
- package/esm2022/expand/malva-ui-core-expand.js +0 -5
- package/esm2022/expand/malva-ui-core-expand.js.map +0 -1
- package/esm2022/file-upload/index.js +0 -5
- package/esm2022/file-upload/index.js.map +0 -1
- package/esm2022/file-upload/lib/file-upload/file-upload.js +0 -324
- package/esm2022/file-upload/lib/file-upload/file-upload.js.map +0 -1
- package/esm2022/file-upload/lib/file-upload/file-upload.types.js +0 -1
- package/esm2022/file-upload/lib/file-upload/file-upload.types.js.map +0 -1
- package/esm2022/file-upload/lib/file-upload-action.js +0 -65
- package/esm2022/file-upload/lib/file-upload-action.js.map +0 -1
- package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js +0 -55
- package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js.map +0 -1
- package/esm2022/file-upload/malva-ui-core-file-upload.js +0 -5
- package/esm2022/file-upload/malva-ui-core-file-upload.js.map +0 -1
- package/esm2022/filter/index.js +0 -4
- package/esm2022/filter/index.js.map +0 -1
- package/esm2022/filter/lib/filter/filter.js +0 -552
- package/esm2022/filter/lib/filter/filter.js.map +0 -1
- package/esm2022/filter/lib/filter.types.js +0 -1
- package/esm2022/filter/lib/filter.types.js.map +0 -1
- package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js +0 -518
- package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js.map +0 -1
- package/esm2022/filter/malva-ui-core-filter.js +0 -5
- package/esm2022/filter/malva-ui-core-filter.js.map +0 -1
- package/esm2022/form/index.js +0 -7
- package/esm2022/form/index.js.map +0 -1
- package/esm2022/form/lib/fieldset/fieldset.js +0 -101
- package/esm2022/form/lib/fieldset/fieldset.js.map +0 -1
- package/esm2022/form/lib/fieldset-span.js +0 -49
- package/esm2022/form/lib/fieldset-span.js.map +0 -1
- package/esm2022/form/lib/form/form.js +0 -60
- package/esm2022/form/lib/form/form.js.map +0 -1
- package/esm2022/form/lib/form-actions.js +0 -34
- package/esm2022/form/lib/form-actions.js.map +0 -1
- package/esm2022/form/lib/form-gap.js +0 -15
- package/esm2022/form/lib/form-gap.js.map +0 -1
- package/esm2022/form/lib/form-header.js +0 -27
- package/esm2022/form/lib/form-header.js.map +0 -1
- package/esm2022/form/lib/form.types.js +0 -1
- package/esm2022/form/lib/form.types.js.map +0 -1
- package/esm2022/form/malva-ui-core-form.js +0 -5
- package/esm2022/form/malva-ui-core-form.js.map +0 -1
- package/esm2022/form-utils/index.js +0 -16
- package/esm2022/form-utils/index.js.map +0 -1
- package/esm2022/form-utils/lib/aria-value-bridge.js +0 -57
- package/esm2022/form-utils/lib/aria-value-bridge.js.map +0 -1
- package/esm2022/form-utils/lib/description/description.js +0 -24
- package/esm2022/form-utils/lib/description/description.js.map +0 -1
- package/esm2022/form-utils/lib/focusable-group-base.js +0 -87
- package/esm2022/form-utils/lib/focusable-group-base.js.map +0 -1
- package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js +0 -192
- package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js.map +0 -1
- package/esm2022/form-utils/lib/form-control-sides.js +0 -34
- package/esm2022/form-utils/lib/form-control-sides.js.map +0 -1
- package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js +0 -14
- package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js.map +0 -1
- package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js +0 -47
- package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js.map +0 -1
- package/esm2022/form-utils/lib/form-field/form-field.js +0 -245
- package/esm2022/form-utils/lib/form-field/form-field.js.map +0 -1
- package/esm2022/form-utils/lib/hint/hint.js +0 -11
- package/esm2022/form-utils/lib/hint/hint.js.map +0 -1
- package/esm2022/form-utils/lib/label/label.js +0 -55
- package/esm2022/form-utils/lib/label/label.js.map +0 -1
- package/esm2022/form-utils/lib/message/message.js +0 -20
- package/esm2022/form-utils/lib/message/message.js.map +0 -1
- package/esm2022/form-utils/lib/models/error-display-strategy.js +0 -1
- package/esm2022/form-utils/lib/models/error-display-strategy.js.map +0 -1
- package/esm2022/form-utils/lib/models/form-control-connector.js +0 -3
- package/esm2022/form-utils/lib/models/form-control-connector.js.map +0 -1
- package/esm2022/form-utils/lib/models/form-state.js +0 -1
- package/esm2022/form-utils/lib/models/form-state.js.map +0 -1
- package/esm2022/form-utils/lib/selection.service.js +0 -81
- package/esm2022/form-utils/lib/selection.service.js.map +0 -1
- package/esm2022/form-utils/malva-ui-core-form-utils.js +0 -5
- package/esm2022/form-utils/malva-ui-core-form-utils.js.map +0 -1
- package/esm2022/form-utils/testing/index.js +0 -2
- package/esm2022/form-utils/testing/index.js.map +0 -1
- package/esm2022/form-utils/testing/lib/forms-binding-matrix.js +0 -32
- package/esm2022/form-utils/testing/lib/forms-binding-matrix.js.map +0 -1
- package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js +0 -5
- package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js.map +0 -1
- package/esm2022/index.js +0 -70
- package/esm2022/index.js.map +0 -1
- package/esm2022/input/index.js +0 -4
- package/esm2022/input/index.js.map +0 -1
- package/esm2022/input/lib/input/input-native.js +0 -49
- package/esm2022/input/lib/input/input-native.js.map +0 -1
- package/esm2022/input/lib/input/input-value-accessor.js +0 -4
- package/esm2022/input/lib/input/input-value-accessor.js.map +0 -1
- package/esm2022/input/lib/input/input.js +0 -277
- package/esm2022/input/lib/input/input.js.map +0 -1
- package/esm2022/input/lib/input/password-strength.js +0 -46
- package/esm2022/input/lib/input/password-strength.js.map +0 -1
- package/esm2022/input/malva-ui-core-input.js +0 -5
- package/esm2022/input/malva-ui-core-input.js.map +0 -1
- package/esm2022/kbd/index.js +0 -2
- package/esm2022/kbd/index.js.map +0 -1
- package/esm2022/kbd/lib/kbd/kbd.js +0 -124
- package/esm2022/kbd/lib/kbd/kbd.js.map +0 -1
- package/esm2022/kbd/malva-ui-core-kbd.js +0 -5
- package/esm2022/kbd/malva-ui-core-kbd.js.map +0 -1
- package/esm2022/layout/index.js +0 -5
- package/esm2022/layout/index.js.map +0 -1
- package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js +0 -14
- package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js.map +0 -1
- package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js +0 -14
- package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js.map +0 -1
- package/esm2022/layout/lib/layout/layout.js +0 -43
- package/esm2022/layout/lib/layout/layout.js.map +0 -1
- package/esm2022/layout/lib/layout/services/theme.service.js +0 -121
- package/esm2022/layout/lib/layout/services/theme.service.js.map +0 -1
- package/esm2022/layout/malva-ui-core-layout.js +0 -5
- package/esm2022/layout/malva-ui-core-layout.js.map +0 -1
- package/esm2022/link/index.js +0 -3
- package/esm2022/link/index.js.map +0 -1
- package/esm2022/link/lib/link/link.directives.js +0 -24
- package/esm2022/link/lib/link/link.directives.js.map +0 -1
- package/esm2022/link/lib/link/link.js +0 -61
- package/esm2022/link/lib/link/link.js.map +0 -1
- package/esm2022/link/malva-ui-core-link.js +0 -5
- package/esm2022/link/malva-ui-core-link.js.map +0 -1
- package/esm2022/list/index.js +0 -14
- package/esm2022/list/index.js.map +0 -1
- package/esm2022/list/lib/list/list.js +0 -28
- package/esm2022/list/lib/list/list.js.map +0 -1
- package/esm2022/list/lib/list-item/list-item.js +0 -125
- package/esm2022/list/lib/list-item/list-item.js.map +0 -1
- package/esm2022/list/lib/list-item-actions.js +0 -23
- package/esm2022/list/lib/list-item-actions.js.map +0 -1
- package/esm2022/list/lib/list-item-byline.js +0 -13
- package/esm2022/list/lib/list-item-byline.js.map +0 -1
- package/esm2022/list/lib/list-item-group/list-item-group.js +0 -25
- package/esm2022/list/lib/list-item-group/list-item-group.js.map +0 -1
- package/esm2022/list/lib/list-item-link/list-item-link.js +0 -20
- package/esm2022/list/lib/list-item-link/list-item-link.js.map +0 -1
- package/esm2022/list/lib/list-item-media.js +0 -13
- package/esm2022/list/lib/list-item-media.js.map +0 -1
- package/esm2022/list/lib/list-item-meta.js +0 -13
- package/esm2022/list/lib/list-item-meta.js.map +0 -1
- package/esm2022/list/lib/list-item-prefix.js +0 -13
- package/esm2022/list/lib/list-item-prefix.js.map +0 -1
- package/esm2022/list/lib/list-item-suffix.js +0 -13
- package/esm2022/list/lib/list-item-suffix.js.map +0 -1
- package/esm2022/list/lib/list-item-template.js +0 -14
- package/esm2022/list/lib/list-item-template.js.map +0 -1
- package/esm2022/list/lib/list-item-title.js +0 -13
- package/esm2022/list/lib/list-item-title.js.map +0 -1
- package/esm2022/list/lib/list-selectable.js +0 -116
- package/esm2022/list/lib/list-selectable.js.map +0 -1
- package/esm2022/list/malva-ui-core-list.js +0 -5
- package/esm2022/list/malva-ui-core-list.js.map +0 -1
- package/esm2022/loader/index.js +0 -2
- package/esm2022/loader/index.js.map +0 -1
- package/esm2022/loader/lib/loader/loader.js +0 -134
- package/esm2022/loader/lib/loader/loader.js.map +0 -1
- package/esm2022/loader/malva-ui-core-loader.js +0 -5
- package/esm2022/loader/malva-ui-core-loader.js.map +0 -1
- package/esm2022/malva-ui-core.js +0 -5
- package/esm2022/malva-ui-core.js.map +0 -1
- package/esm2022/menu/index.js +0 -10
- package/esm2022/menu/index.js.map +0 -1
- package/esm2022/menu/lib/menu/menu-group-label.js +0 -35
- package/esm2022/menu/lib/menu/menu-group-label.js.map +0 -1
- package/esm2022/menu/lib/menu/menu-group.js +0 -44
- package/esm2022/menu/lib/menu/menu-group.js.map +0 -1
- package/esm2022/menu/lib/menu/menu-item.js +0 -117
- package/esm2022/menu/lib/menu/menu-item.js.map +0 -1
- package/esm2022/menu/lib/menu/menu-separator.js +0 -41
- package/esm2022/menu/lib/menu/menu-separator.js.map +0 -1
- package/esm2022/menu/lib/menu/menu-trigger.js +0 -653
- package/esm2022/menu/lib/menu/menu-trigger.js.map +0 -1
- package/esm2022/menu/lib/menu/menu.js +0 -308
- package/esm2022/menu/lib/menu/menu.js.map +0 -1
- package/esm2022/menu/lib/menu/menu.types.js +0 -4
- package/esm2022/menu/lib/menu/menu.types.js.map +0 -1
- package/esm2022/menu/lib/menu/menubar.js +0 -257
- package/esm2022/menu/lib/menu/menubar.js.map +0 -1
- package/esm2022/menu/lib/menu/menubar.types.js +0 -4
- package/esm2022/menu/lib/menu/menubar.types.js.map +0 -1
- package/esm2022/menu/lib/menu/submenu-aim.js +0 -30
- package/esm2022/menu/lib/menu/submenu-aim.js.map +0 -1
- package/esm2022/menu/malva-ui-core-menu.js +0 -5
- package/esm2022/menu/malva-ui-core-menu.js.map +0 -1
- package/esm2022/notification/index.js +0 -5
- package/esm2022/notification/index.js.map +0 -1
- package/esm2022/notification/lib/notification-item/notification-item.js +0 -65
- package/esm2022/notification/lib/notification-item/notification-item.js.map +0 -1
- package/esm2022/notification/lib/notification-ref.js +0 -13
- package/esm2022/notification/lib/notification-ref.js.map +0 -1
- package/esm2022/notification/lib/notification.service.js +0 -118
- package/esm2022/notification/lib/notification.service.js.map +0 -1
- package/esm2022/notification/lib/notification.types.js +0 -6
- package/esm2022/notification/lib/notification.types.js.map +0 -1
- package/esm2022/notification/malva-ui-core-notification.js +0 -5
- package/esm2022/notification/malva-ui-core-notification.js.map +0 -1
- package/esm2022/number-input/index.js +0 -2
- package/esm2022/number-input/index.js.map +0 -1
- package/esm2022/number-input/lib/number-input/number-input.js +0 -395
- package/esm2022/number-input/lib/number-input/number-input.js.map +0 -1
- package/esm2022/number-input/malva-ui-core-number-input.js +0 -5
- package/esm2022/number-input/malva-ui-core-number-input.js.map +0 -1
- package/esm2022/page/index.js +0 -15
- package/esm2022/page/index.js.map +0 -1
- package/esm2022/page/lib/page/page-scroll.token.js +0 -9
- package/esm2022/page/lib/page/page-scroll.token.js.map +0 -1
- package/esm2022/page/lib/page/page-snap-controller.js +0 -170
- package/esm2022/page/lib/page/page-snap-controller.js.map +0 -1
- package/esm2022/page/lib/page/page-snap.directive.js +0 -65
- package/esm2022/page/lib/page/page-snap.directive.js.map +0 -1
- package/esm2022/page/lib/page/page.js +0 -173
- package/esm2022/page/lib/page/page.js.map +0 -1
- package/esm2022/page/lib/page-content/page-aside.js +0 -13
- package/esm2022/page/lib/page-content/page-aside.js.map +0 -1
- package/esm2022/page/lib/page-content/page-content.js +0 -72
- package/esm2022/page/lib/page-content/page-content.js.map +0 -1
- package/esm2022/page/lib/page-dock/page-dock.js +0 -128
- package/esm2022/page/lib/page-dock/page-dock.js.map +0 -1
- package/esm2022/page/lib/page-dock/page-dock.slots.js +0 -39
- package/esm2022/page/lib/page-dock/page-dock.slots.js.map +0 -1
- package/esm2022/page/lib/page-header/page-header.directives.js +0 -88
- package/esm2022/page/lib/page-header/page-header.directives.js.map +0 -1
- package/esm2022/page/lib/page-header/page-header.js +0 -124
- package/esm2022/page/lib/page-header/page-header.js.map +0 -1
- package/esm2022/page/lib/page-shell/page-shell-color.js +0 -193
- package/esm2022/page/lib/page-shell/page-shell-color.js.map +0 -1
- package/esm2022/page/lib/page-shell/page-shell-css-color.js +0 -207
- package/esm2022/page/lib/page-shell/page-shell-css-color.js.map +0 -1
- package/esm2022/page/lib/page-shell/page-shell.js +0 -131
- package/esm2022/page/lib/page-shell/page-shell.js.map +0 -1
- package/esm2022/page/lib/page-shell/page-shell.slots.js +0 -41
- package/esm2022/page/lib/page-shell/page-shell.slots.js.map +0 -1
- package/esm2022/page/lib/page-summary/page-summary-item.js +0 -26
- package/esm2022/page/lib/page-summary/page-summary-item.js.map +0 -1
- package/esm2022/page/lib/page-summary/page-summary.js +0 -87
- package/esm2022/page/lib/page-summary/page-summary.js.map +0 -1
- package/esm2022/page/malva-ui-core-page.js +0 -5
- package/esm2022/page/malva-ui-core-page.js.map +0 -1
- package/esm2022/pagination/index.js +0 -5
- package/esm2022/pagination/index.js.map +0 -1
- package/esm2022/pagination/lib/pagination/pagination.directives.js +0 -58
- package/esm2022/pagination/lib/pagination/pagination.directives.js.map +0 -1
- package/esm2022/pagination/lib/pagination/pagination.js +0 -293
- package/esm2022/pagination/lib/pagination/pagination.js.map +0 -1
- package/esm2022/pagination/lib/pagination/pagination.model.js +0 -1
- package/esm2022/pagination/lib/pagination/pagination.model.js.map +0 -1
- package/esm2022/pagination/lib/pagination/pagination.service.js +0 -108
- package/esm2022/pagination/lib/pagination/pagination.service.js.map +0 -1
- package/esm2022/pagination/malva-ui-core-pagination.js +0 -5
- package/esm2022/pagination/malva-ui-core-pagination.js.map +0 -1
- package/esm2022/pin-input/index.js +0 -3
- package/esm2022/pin-input/index.js.map +0 -1
- package/esm2022/pin-input/lib/pin-input/pin-input-separator.js +0 -31
- package/esm2022/pin-input/lib/pin-input/pin-input-separator.js.map +0 -1
- package/esm2022/pin-input/lib/pin-input/pin-input.js +0 -365
- package/esm2022/pin-input/lib/pin-input/pin-input.js.map +0 -1
- package/esm2022/pin-input/malva-ui-core-pin-input.js +0 -5
- package/esm2022/pin-input/malva-ui-core-pin-input.js.map +0 -1
- package/esm2022/popup/index.js +0 -10
- package/esm2022/popup/index.js.map +0 -1
- package/esm2022/popup/lib/popup/popup.js +0 -500
- package/esm2022/popup/lib/popup/popup.js.map +0 -1
- package/esm2022/popup/lib/popup-container/popup-container.js +0 -169
- package/esm2022/popup/lib/popup-container/popup-container.js.map +0 -1
- package/esm2022/popup/lib/popup-container/popup-container.token.js +0 -9
- package/esm2022/popup/lib/popup-container/popup-container.token.js.map +0 -1
- package/esm2022/popup/lib/popup-content.js +0 -14
- package/esm2022/popup/lib/popup-content.js.map +0 -1
- package/esm2022/popup/lib/popup-header-content.js +0 -26
- package/esm2022/popup/lib/popup-header-content.js.map +0 -1
- package/esm2022/popup/lib/popup-pinned-content.js +0 -25
- package/esm2022/popup/lib/popup-pinned-content.js.map +0 -1
- package/esm2022/popup/lib/popup-positions.js +0 -252
- package/esm2022/popup/lib/popup-positions.js.map +0 -1
- package/esm2022/popup/lib/popup-trigger/popup-trigger.js +0 -308
- package/esm2022/popup/lib/popup-trigger/popup-trigger.js.map +0 -1
- package/esm2022/popup/lib/popup.service.js +0 -188
- package/esm2022/popup/lib/popup.service.js.map +0 -1
- package/esm2022/popup/malva-ui-core-popup.js +0 -5
- package/esm2022/popup/malva-ui-core-popup.js.map +0 -1
- package/esm2022/progress/index.js +0 -2
- package/esm2022/progress/index.js.map +0 -1
- package/esm2022/progress/lib/progress/progress.js +0 -102
- package/esm2022/progress/lib/progress/progress.js.map +0 -1
- package/esm2022/progress/malva-ui-core-progress.js +0 -5
- package/esm2022/progress/malva-ui-core-progress.js.map +0 -1
- package/esm2022/radio/index.js +0 -3
- package/esm2022/radio/index.js.map +0 -1
- package/esm2022/radio/lib/radio/radio.js +0 -134
- package/esm2022/radio/lib/radio/radio.js.map +0 -1
- package/esm2022/radio/lib/radio-group/radio-group.js +0 -176
- package/esm2022/radio/lib/radio-group/radio-group.js.map +0 -1
- package/esm2022/radio/lib/radio-group-token.js +0 -3
- package/esm2022/radio/lib/radio-group-token.js.map +0 -1
- package/esm2022/radio/malva-ui-core-radio.js +0 -5
- package/esm2022/radio/malva-ui-core-radio.js.map +0 -1
- package/esm2022/rating/index.js +0 -2
- package/esm2022/rating/index.js.map +0 -1
- package/esm2022/rating/lib/rating/rating.js +0 -208
- package/esm2022/rating/lib/rating/rating.js.map +0 -1
- package/esm2022/rating/malva-ui-core-rating.js +0 -5
- package/esm2022/rating/malva-ui-core-rating.js.map +0 -1
- package/esm2022/scrollbar/index.js +0 -2
- package/esm2022/scrollbar/index.js.map +0 -1
- package/esm2022/scrollbar/lib/scrollbar/scrollbar.js +0 -388
- package/esm2022/scrollbar/lib/scrollbar/scrollbar.js.map +0 -1
- package/esm2022/scrollbar/malva-ui-core-scrollbar.js +0 -5
- package/esm2022/scrollbar/malva-ui-core-scrollbar.js.map +0 -1
- package/esm2022/search-field/index.js +0 -3
- package/esm2022/search-field/index.js.map +0 -1
- package/esm2022/search-field/lib/search-field/search-field.js +0 -535
- package/esm2022/search-field/lib/search-field/search-field.js.map +0 -1
- package/esm2022/search-field/lib/search-field/search-overlay-content.js +0 -35
- package/esm2022/search-field/lib/search-field/search-overlay-content.js.map +0 -1
- package/esm2022/search-field/malva-ui-core-search-field.js +0 -5
- package/esm2022/search-field/malva-ui-core-search-field.js.map +0 -1
- package/esm2022/segmented/index.js +0 -5
- package/esm2022/segmented/index.js.map +0 -1
- package/esm2022/segmented/lib/segmented/segmented.js +0 -248
- package/esm2022/segmented/lib/segmented/segmented.js.map +0 -1
- package/esm2022/segmented/lib/segmented-item/segmented-item.js +0 -194
- package/esm2022/segmented/lib/segmented-item/segmented-item.js.map +0 -1
- package/esm2022/segmented/lib/segmented-token.js +0 -4
- package/esm2022/segmented/lib/segmented-token.js.map +0 -1
- package/esm2022/segmented/lib/segmented.types.js +0 -1
- package/esm2022/segmented/lib/segmented.types.js.map +0 -1
- package/esm2022/segmented/malva-ui-core-segmented.js +0 -5
- package/esm2022/segmented/malva-ui-core-segmented.js.map +0 -1
- package/esm2022/select/index.js +0 -4
- package/esm2022/select/index.js.map +0 -1
- package/esm2022/select/lib/select/select.js +0 -685
- package/esm2022/select/lib/select/select.js.map +0 -1
- package/esm2022/select/lib/select-option.js +0 -2
- package/esm2022/select/lib/select-option.js.map +0 -1
- package/esm2022/select/lib/select-template.directives.js +0 -34
- package/esm2022/select/lib/select-template.directives.js.map +0 -1
- package/esm2022/select/malva-ui-core-select.js +0 -5
- package/esm2022/select/malva-ui-core-select.js.map +0 -1
- package/esm2022/sidebar/index.js +0 -16
- package/esm2022/sidebar/index.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar/sidebar.js +0 -251
- package/esm2022/sidebar/lib/sidebar/sidebar.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-content.js +0 -37
- package/esm2022/sidebar/lib/sidebar-content.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-context.js +0 -3
- package/esm2022/sidebar/lib/sidebar-context.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-footer.js +0 -20
- package/esm2022/sidebar/lib/sidebar-footer.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js +0 -341
- package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-header.js +0 -20
- package/esm2022/sidebar/lib/sidebar-header.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js +0 -216
- package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-item-host.js +0 -39
- package/esm2022/sidebar/lib/sidebar-item-host.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-item-icon.js +0 -14
- package/esm2022/sidebar/lib/sidebar-item-icon.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-mode.js +0 -1
- package/esm2022/sidebar/lib/sidebar-mode.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js +0 -202
- package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js +0 -159
- package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js +0 -35
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js +0 -107
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js +0 -1
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js.map +0 -1
- package/esm2022/sidebar/malva-ui-core-sidebar.js +0 -5
- package/esm2022/sidebar/malva-ui-core-sidebar.js.map +0 -1
- package/esm2022/skeleton/index.js +0 -2
- package/esm2022/skeleton/index.js.map +0 -1
- package/esm2022/skeleton/lib/skeleton/skeleton.js +0 -78
- package/esm2022/skeleton/lib/skeleton/skeleton.js.map +0 -1
- package/esm2022/skeleton/malva-ui-core-skeleton.js +0 -5
- package/esm2022/skeleton/malva-ui-core-skeleton.js.map +0 -1
- package/esm2022/slider/index.js +0 -3
- package/esm2022/slider/index.js.map +0 -1
- package/esm2022/slider/lib/slider/slider-tooltip-def.js +0 -31
- package/esm2022/slider/lib/slider/slider-tooltip-def.js.map +0 -1
- package/esm2022/slider/lib/slider/slider.js +0 -468
- package/esm2022/slider/lib/slider/slider.js.map +0 -1
- package/esm2022/slider/malva-ui-core-slider.js +0 -5
- package/esm2022/slider/malva-ui-core-slider.js.map +0 -1
- package/esm2022/split-pane/index.js +0 -4
- package/esm2022/split-pane/index.js.map +0 -1
- package/esm2022/split-pane/lib/split-pane/split-pane-panel.js +0 -49
- package/esm2022/split-pane/lib/split-pane/split-pane-panel.js.map +0 -1
- package/esm2022/split-pane/lib/split-pane/split-pane.js +0 -290
- package/esm2022/split-pane/lib/split-pane/split-pane.js.map +0 -1
- package/esm2022/split-pane/lib/split-pane/split-pane.types.js +0 -1
- package/esm2022/split-pane/lib/split-pane/split-pane.types.js.map +0 -1
- package/esm2022/split-pane/malva-ui-core-split-pane.js +0 -5
- package/esm2022/split-pane/malva-ui-core-split-pane.js.map +0 -1
- package/esm2022/status-indicator/index.js +0 -2
- package/esm2022/status-indicator/index.js.map +0 -1
- package/esm2022/status-indicator/lib/status-indicator/status-indicator.js +0 -71
- package/esm2022/status-indicator/lib/status-indicator/status-indicator.js.map +0 -1
- package/esm2022/status-indicator/malva-ui-core-status-indicator.js +0 -5
- package/esm2022/status-indicator/malva-ui-core-status-indicator.js.map +0 -1
- package/esm2022/stepper/index.js +0 -5
- package/esm2022/stepper/index.js.map +0 -1
- package/esm2022/stepper/lib/stepper/step-header.js +0 -46
- package/esm2022/stepper/lib/stepper/step-header.js.map +0 -1
- package/esm2022/stepper/lib/stepper/step.js +0 -65
- package/esm2022/stepper/lib/stepper/step.js.map +0 -1
- package/esm2022/stepper/lib/stepper/stepper-token.js +0 -4
- package/esm2022/stepper/lib/stepper/stepper-token.js.map +0 -1
- package/esm2022/stepper/lib/stepper/stepper.js +0 -216
- package/esm2022/stepper/lib/stepper/stepper.js.map +0 -1
- package/esm2022/stepper/lib/stepper/stepper.types.js +0 -1
- package/esm2022/stepper/lib/stepper/stepper.types.js.map +0 -1
- package/esm2022/stepper/malva-ui-core-stepper.js +0 -5
- package/esm2022/stepper/malva-ui-core-stepper.js.map +0 -1
- package/esm2022/switch/index.js +0 -3
- package/esm2022/switch/index.js.map +0 -1
- package/esm2022/switch/lib/switch/switch.js +0 -190
- package/esm2022/switch/lib/switch/switch.js.map +0 -1
- package/esm2022/switch/lib/switch-group/switch-group.js +0 -68
- package/esm2022/switch/lib/switch-group/switch-group.js.map +0 -1
- package/esm2022/switch/lib/switch-group-token.js +0 -3
- package/esm2022/switch/lib/switch-group-token.js.map +0 -1
- package/esm2022/switch/malva-ui-core-switch.js +0 -5
- package/esm2022/switch/malva-ui-core-switch.js.map +0 -1
- package/esm2022/tabs/index.js +0 -9
- package/esm2022/tabs/index.js.map +0 -1
- package/esm2022/tabs/lib/tab/tab.js +0 -72
- package/esm2022/tabs/lib/tab/tab.js.map +0 -1
- package/esm2022/tabs/lib/tab-content/tab-content.js +0 -19
- package/esm2022/tabs/lib/tab-content/tab-content.js.map +0 -1
- package/esm2022/tabs/lib/tab-content-def.js +0 -14
- package/esm2022/tabs/lib/tab-content-def.js.map +0 -1
- package/esm2022/tabs/lib/tab-def.js +0 -17
- package/esm2022/tabs/lib/tab-def.js.map +0 -1
- package/esm2022/tabs/lib/tab-group-token.js +0 -3
- package/esm2022/tabs/lib/tab-group-token.js.map +0 -1
- package/esm2022/tabs/lib/tab-item/tab-item.js +0 -44
- package/esm2022/tabs/lib/tab-item/tab-item.js.map +0 -1
- package/esm2022/tabs/lib/tabs/tabs.js +0 -542
- package/esm2022/tabs/lib/tabs/tabs.js.map +0 -1
- package/esm2022/tabs/lib/tabs.service.js +0 -83
- package/esm2022/tabs/lib/tabs.service.js.map +0 -1
- package/esm2022/tabs/malva-ui-core-tabs.js +0 -5
- package/esm2022/tabs/malva-ui-core-tabs.js.map +0 -1
- package/esm2022/textarea/index.js +0 -2
- package/esm2022/textarea/index.js.map +0 -1
- package/esm2022/textarea/lib/textarea/textarea.js +0 -194
- package/esm2022/textarea/lib/textarea/textarea.js.map +0 -1
- package/esm2022/textarea/malva-ui-core-textarea.js +0 -5
- package/esm2022/textarea/malva-ui-core-textarea.js.map +0 -1
- package/esm2022/tile/index.js +0 -3
- package/esm2022/tile/index.js.map +0 -1
- package/esm2022/tile/lib/tile/tile.js +0 -39
- package/esm2022/tile/lib/tile/tile.js.map +0 -1
- package/esm2022/tile/lib/tile-header.js +0 -14
- package/esm2022/tile/lib/tile-header.js.map +0 -1
- package/esm2022/tile/malva-ui-core-tile.js +0 -5
- package/esm2022/tile/malva-ui-core-tile.js.map +0 -1
- package/esm2022/time-picker/index.js +0 -2
- package/esm2022/time-picker/index.js.map +0 -1
- package/esm2022/time-picker/lib/time-picker/time-picker.js +0 -310
- package/esm2022/time-picker/lib/time-picker/time-picker.js.map +0 -1
- package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js +0 -216
- package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js.map +0 -1
- package/esm2022/time-picker/malva-ui-core-time-picker.js +0 -5
- package/esm2022/time-picker/malva-ui-core-time-picker.js.map +0 -1
- package/esm2022/timeline/index.js +0 -6
- package/esm2022/timeline/index.js.map +0 -1
- package/esm2022/timeline/lib/timeline/timeline-item-icon.js +0 -31
- package/esm2022/timeline/lib/timeline/timeline-item-icon.js.map +0 -1
- package/esm2022/timeline/lib/timeline/timeline-item-meta.js +0 -31
- package/esm2022/timeline/lib/timeline/timeline-item-meta.js.map +0 -1
- package/esm2022/timeline/lib/timeline/timeline-item.js +0 -69
- package/esm2022/timeline/lib/timeline/timeline-item.js.map +0 -1
- package/esm2022/timeline/lib/timeline/timeline.js +0 -36
- package/esm2022/timeline/lib/timeline/timeline.js.map +0 -1
- package/esm2022/timeline/lib/timeline/timeline.types.js +0 -1
- package/esm2022/timeline/lib/timeline/timeline.types.js.map +0 -1
- package/esm2022/timeline/malva-ui-core-timeline.js +0 -5
- package/esm2022/timeline/malva-ui-core-timeline.js.map +0 -1
- package/esm2022/title/index.js +0 -2
- package/esm2022/title/index.js.map +0 -1
- package/esm2022/title/lib/title/title.js +0 -171
- package/esm2022/title/lib/title/title.js.map +0 -1
- package/esm2022/title/malva-ui-core-title.js +0 -5
- package/esm2022/title/malva-ui-core-title.js.map +0 -1
- package/esm2022/toast/index.js +0 -13
- package/esm2022/toast/index.js.map +0 -1
- package/esm2022/toast/lib/abstract-toast-container.js +0 -50
- package/esm2022/toast/lib/abstract-toast-container.js.map +0 -1
- package/esm2022/toast/lib/abstract-toast-item.js +0 -75
- package/esm2022/toast/lib/abstract-toast-item.js.map +0 -1
- package/esm2022/toast/lib/abstract-toast.service.js +0 -176
- package/esm2022/toast/lib/abstract-toast.service.js.map +0 -1
- package/esm2022/toast/lib/toast-container/toast-container.js +0 -61
- package/esm2022/toast/lib/toast-container/toast-container.js.map +0 -1
- package/esm2022/toast/lib/toast-item/toast-item.js +0 -62
- package/esm2022/toast/lib/toast-item/toast-item.js.map +0 -1
- package/esm2022/toast/lib/toast-ref.js +0 -54
- package/esm2022/toast/lib/toast-ref.js.map +0 -1
- package/esm2022/toast/lib/toast-timer.js +0 -37
- package/esm2022/toast/lib/toast-timer.js.map +0 -1
- package/esm2022/toast/lib/toast.directives.js +0 -76
- package/esm2022/toast/lib/toast.directives.js.map +0 -1
- package/esm2022/toast/lib/toast.service.js +0 -127
- package/esm2022/toast/lib/toast.service.js.map +0 -1
- package/esm2022/toast/lib/toast.types.js +0 -39
- package/esm2022/toast/lib/toast.types.js.map +0 -1
- package/esm2022/toast/malva-ui-core-toast.js +0 -5
- package/esm2022/toast/malva-ui-core-toast.js.map +0 -1
- package/esm2022/tokenizer/index.js +0 -4
- package/esm2022/tokenizer/index.js.map +0 -1
- package/esm2022/tokenizer/lib/token/token.js +0 -123
- package/esm2022/tokenizer/lib/token/token.js.map +0 -1
- package/esm2022/tokenizer/lib/token-template.js +0 -23
- package/esm2022/tokenizer/lib/token-template.js.map +0 -1
- package/esm2022/tokenizer/lib/tokenizer/tokenizer.js +0 -324
- package/esm2022/tokenizer/lib/tokenizer/tokenizer.js.map +0 -1
- package/esm2022/tokenizer/malva-ui-core-tokenizer.js +0 -5
- package/esm2022/tokenizer/malva-ui-core-tokenizer.js.map +0 -1
- package/esm2022/toolbar/index.js +0 -4
- package/esm2022/toolbar/index.js.map +0 -1
- package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js +0 -13
- package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js.map +0 -1
- package/esm2022/toolbar/lib/toolbar/toolbar-widget.js +0 -106
- package/esm2022/toolbar/lib/toolbar/toolbar-widget.js.map +0 -1
- package/esm2022/toolbar/lib/toolbar/toolbar.js +0 -19
- package/esm2022/toolbar/lib/toolbar/toolbar.js.map +0 -1
- package/esm2022/toolbar/malva-ui-core-toolbar.js +0 -5
- package/esm2022/toolbar/malva-ui-core-toolbar.js.map +0 -1
- package/esm2022/tooltip/index.js +0 -4
- package/esm2022/tooltip/index.js.map +0 -1
- package/esm2022/tooltip/lib/tooltip/tooltip-panel.js +0 -69
- package/esm2022/tooltip/lib/tooltip/tooltip-panel.js.map +0 -1
- package/esm2022/tooltip/lib/tooltip/tooltip.js +0 -352
- package/esm2022/tooltip/lib/tooltip/tooltip.js.map +0 -1
- package/esm2022/tooltip/lib/tooltip/tooltip.types.js +0 -1
- package/esm2022/tooltip/lib/tooltip/tooltip.types.js.map +0 -1
- package/esm2022/tooltip/malva-ui-core-tooltip.js +0 -5
- package/esm2022/tooltip/malva-ui-core-tooltip.js.map +0 -1
- package/esm2022/tree/index.js +0 -5
- package/esm2022/tree/index.js.map +0 -1
- package/esm2022/tree/lib/tree/tree-context.js +0 -7
- package/esm2022/tree/lib/tree/tree-context.js.map +0 -1
- package/esm2022/tree/lib/tree/tree-node-def.js +0 -34
- package/esm2022/tree/lib/tree/tree-node-def.js.map +0 -1
- package/esm2022/tree/lib/tree/tree-node.js +0 -1
- package/esm2022/tree/lib/tree/tree-node.js.map +0 -1
- package/esm2022/tree/lib/tree/tree-subtree.js +0 -107
- package/esm2022/tree/lib/tree/tree-subtree.js.map +0 -1
- package/esm2022/tree/lib/tree/tree.js +0 -362
- package/esm2022/tree/lib/tree/tree.js.map +0 -1
- package/esm2022/tree/malva-ui-core-tree.js +0 -5
- package/esm2022/tree/malva-ui-core-tree.js.map +0 -1
- package/expand/index.d.ts +0 -2
- package/expand/lib/expand/expand-content.d.ts +0 -26
- package/expand/lib/expand/expand.d.ts +0 -74
- package/expand/malva-ui-core-expand.d.ts +0 -5
- package/file-upload/index.d.ts +0 -4
- package/file-upload/lib/file-upload/file-upload.d.ts +0 -138
- package/file-upload/lib/file-upload/file-upload.types.d.ts +0 -42
- package/file-upload/lib/file-upload-action.d.ts +0 -53
- package/file-upload/lib/file-upload-item/file-upload-item.d.ts +0 -30
- package/file-upload/malva-ui-core-file-upload.d.ts +0 -5
- package/filter/index.d.ts +0 -3
- package/filter/lib/filter/filter.d.ts +0 -156
- package/filter/lib/filter.types.d.ts +0 -75
- package/filter/lib/smart-filter-bar/smart-filter-bar.d.ts +0 -153
- package/filter/malva-ui-core-filter.d.ts +0 -5
- package/form/index.d.ts +0 -6
- package/form/lib/fieldset/fieldset.d.ts +0 -58
- package/form/lib/fieldset-span.d.ts +0 -28
- package/form/lib/form/form.d.ts +0 -37
- package/form/lib/form-actions.d.ts +0 -20
- package/form/lib/form-gap.d.ts +0 -5
- package/form/lib/form-header.d.ts +0 -18
- package/form/lib/form.types.d.ts +0 -13
- package/form/malva-ui-core-form.d.ts +0 -5
- package/form-utils/index.d.ts +0 -15
- package/form-utils/lib/aria-value-bridge.d.ts +0 -45
- package/form-utils/lib/description/description.d.ts +0 -16
- package/form-utils/lib/focusable-group-base.d.ts +0 -76
- package/form-utils/lib/form-control-base/signal-form-control-base.d.ts +0 -159
- package/form-utils/lib/form-control-sides.d.ts +0 -20
- package/form-utils/lib/form-control-wrapper/form-control-wrapper-control.d.ts +0 -6
- package/form-utils/lib/form-control-wrapper/form-control-wrapper.d.ts +0 -20
- package/form-utils/lib/form-field/form-field.d.ts +0 -68
- package/form-utils/lib/hint/hint.d.ts +0 -5
- package/form-utils/lib/label/label.d.ts +0 -22
- package/form-utils/lib/message/message.d.ts +0 -7
- package/form-utils/lib/models/error-display-strategy.d.ts +0 -1
- package/form-utils/lib/models/form-control-connector.d.ts +0 -41
- package/form-utils/lib/models/form-state.d.ts +0 -1
- package/form-utils/lib/selection.service.d.ts +0 -27
- package/form-utils/malva-ui-core-form-utils.d.ts +0 -5
- package/form-utils/testing/index.d.ts +0 -1
- package/form-utils/testing/lib/forms-binding-matrix.d.ts +0 -47
- package/form-utils/testing/malva-ui-core-form-utils-testing.d.ts +0 -5
- package/index.d.ts +0 -69
- package/input/index.d.ts +0 -3
- package/input/lib/input/input-native.d.ts +0 -36
- package/input/lib/input/input-value-accessor.d.ts +0 -11
- package/input/lib/input/input.d.ts +0 -189
- package/input/lib/input/password-strength.d.ts +0 -34
- package/input/malva-ui-core-input.d.ts +0 -5
- package/kbd/index.d.ts +0 -1
- package/kbd/lib/kbd/kbd.d.ts +0 -52
- package/kbd/malva-ui-core-kbd.d.ts +0 -5
- package/layout/index.d.ts +0 -4
- package/layout/lib/layout/directives/MlvLayoutSide.d.ts +0 -6
- package/layout/lib/layout/directives/MlvLayoutTop.d.ts +0 -6
- package/layout/lib/layout/layout.d.ts +0 -20
- package/layout/lib/layout/services/theme.service.d.ts +0 -33
- package/layout/malva-ui-core-layout.d.ts +0 -5
- package/link/index.d.ts +0 -2
- package/link/lib/link/link.d.ts +0 -15
- package/link/lib/link/link.directives.d.ts +0 -10
- package/link/malva-ui-core-link.d.ts +0 -5
- package/list/index.d.ts +0 -13
- package/list/lib/list/list.d.ts +0 -25
- package/list/lib/list-item/list-item.d.ts +0 -67
- package/list/lib/list-item-actions.d.ts +0 -12
- package/list/lib/list-item-byline.d.ts +0 -5
- package/list/lib/list-item-group/list-item-group.d.ts +0 -11
- package/list/lib/list-item-link/list-item-link.d.ts +0 -8
- package/list/lib/list-item-media.d.ts +0 -5
- package/list/lib/list-item-meta.d.ts +0 -5
- package/list/lib/list-item-prefix.d.ts +0 -5
- package/list/lib/list-item-suffix.d.ts +0 -5
- package/list/lib/list-item-template.d.ts +0 -10
- package/list/lib/list-item-title.d.ts +0 -5
- package/list/lib/list-selectable.d.ts +0 -73
- package/list/malva-ui-core-list.d.ts +0 -5
- package/loader/index.d.ts +0 -1
- package/loader/lib/loader/loader.d.ts +0 -84
- package/loader/malva-ui-core-loader.d.ts +0 -5
- package/malva-ui-core.d.ts +0 -5
- package/menu/index.d.ts +0 -9
- package/menu/lib/menu/menu-group-label.d.ts +0 -22
- package/menu/lib/menu/menu-group.d.ts +0 -27
- package/menu/lib/menu/menu-item.d.ts +0 -76
- package/menu/lib/menu/menu-separator.d.ts +0 -18
- package/menu/lib/menu/menu-trigger.d.ts +0 -255
- package/menu/lib/menu/menu.d.ts +0 -149
- package/menu/lib/menu/menu.types.d.ts +0 -13
- package/menu/lib/menu/menubar.d.ts +0 -131
- package/menu/lib/menu/menubar.types.d.ts +0 -82
- package/menu/lib/menu/submenu-aim.d.ts +0 -10
- package/menu/malva-ui-core-menu.d.ts +0 -5
- package/notification/index.d.ts +0 -4
- package/notification/lib/notification-item/notification-item.d.ts +0 -20
- package/notification/lib/notification-ref.d.ts +0 -12
- package/notification/lib/notification.service.d.ts +0 -43
- package/notification/lib/notification.types.d.ts +0 -52
- package/notification/malva-ui-core-notification.d.ts +0 -5
- package/number-input/index.d.ts +0 -1
- package/number-input/lib/number-input/number-input.d.ts +0 -162
- package/number-input/malva-ui-core-number-input.d.ts +0 -5
- package/page/index.d.ts +0 -14
- package/page/lib/page/page-scroll.token.d.ts +0 -19
- package/page/lib/page/page-snap-controller.d.ts +0 -87
- package/page/lib/page/page-snap.directive.d.ts +0 -40
- package/page/lib/page/page.d.ts +0 -74
- package/page/lib/page-content/page-aside.d.ts +0 -7
- package/page/lib/page-content/page-content.d.ts +0 -37
- package/page/lib/page-dock/page-dock.d.ts +0 -50
- package/page/lib/page-dock/page-dock.slots.d.ts +0 -16
- package/page/lib/page-header/page-header.d.ts +0 -77
- package/page/lib/page-header/page-header.directives.d.ts +0 -50
- package/page/lib/page-shell/page-shell-color.d.ts +0 -48
- package/page/lib/page-shell/page-shell-css-color.d.ts +0 -20
- package/page/lib/page-shell/page-shell.d.ts +0 -44
- package/page/lib/page-shell/page-shell.slots.d.ts +0 -16
- package/page/lib/page-summary/page-summary-item.d.ts +0 -11
- package/page/lib/page-summary/page-summary.d.ts +0 -36
- package/page/malva-ui-core-page.d.ts +0 -5
- package/pagination/index.d.ts +0 -4
- package/pagination/lib/pagination/pagination.d.ts +0 -182
- package/pagination/lib/pagination/pagination.directives.d.ts +0 -44
- package/pagination/lib/pagination/pagination.model.d.ts +0 -6
- package/pagination/lib/pagination/pagination.service.d.ts +0 -26
- package/pagination/malva-ui-core-pagination.d.ts +0 -5
- package/pin-input/index.d.ts +0 -2
- package/pin-input/lib/pin-input/pin-input-separator.d.ts +0 -24
- package/pin-input/lib/pin-input/pin-input.d.ts +0 -176
- package/pin-input/malva-ui-core-pin-input.d.ts +0 -5
- package/popup/index.d.ts +0 -9
- package/popup/lib/popup/popup.d.ts +0 -343
- package/popup/lib/popup-container/popup-container.d.ts +0 -61
- package/popup/lib/popup-container/popup-container.token.d.ts +0 -34
- package/popup/lib/popup-content.d.ts +0 -6
- package/popup/lib/popup-header-content.d.ts +0 -18
- package/popup/lib/popup-pinned-content.d.ts +0 -17
- package/popup/lib/popup-positions.d.ts +0 -105
- package/popup/lib/popup-trigger/popup-trigger.d.ts +0 -102
- package/popup/lib/popup.service.d.ts +0 -159
- package/popup/malva-ui-core-popup.d.ts +0 -5
- package/progress/index.d.ts +0 -1
- package/progress/lib/progress/progress.d.ts +0 -69
- package/progress/malva-ui-core-progress.d.ts +0 -5
- package/radio/index.d.ts +0 -2
- package/radio/lib/radio/radio.d.ts +0 -87
- package/radio/lib/radio-group/radio-group.d.ts +0 -35
- package/radio/lib/radio-group-token.d.ts +0 -7
- package/radio/malva-ui-core-radio.d.ts +0 -5
- package/rating/index.d.ts +0 -1
- package/rating/lib/rating/rating.d.ts +0 -100
- package/rating/malva-ui-core-rating.d.ts +0 -5
- package/scrollbar/index.d.ts +0 -1
- package/scrollbar/lib/scrollbar/scrollbar.d.ts +0 -166
- package/scrollbar/malva-ui-core-scrollbar.d.ts +0 -5
- package/search-field/index.d.ts +0 -2
- package/search-field/lib/search-field/search-field.d.ts +0 -347
- package/search-field/lib/search-field/search-overlay-content.d.ts +0 -59
- package/search-field/malva-ui-core-search-field.d.ts +0 -5
- package/segmented/index.d.ts +0 -4
- package/segmented/lib/segmented/segmented.d.ts +0 -80
- package/segmented/lib/segmented-item/segmented-item.d.ts +0 -89
- package/segmented/lib/segmented-token.d.ts +0 -22
- package/segmented/lib/segmented.types.d.ts +0 -9
- package/segmented/malva-ui-core-segmented.d.ts +0 -5
- package/select/index.d.ts +0 -3
- package/select/lib/select/select.d.ts +0 -379
- package/select/lib/select-option.d.ts +0 -1
- package/select/lib/select-template.directives.d.ts +0 -14
- package/select/malva-ui-core-select.d.ts +0 -5
- package/sidebar/index.d.ts +0 -15
- package/sidebar/lib/sidebar/sidebar.d.ts +0 -134
- package/sidebar/lib/sidebar-content.d.ts +0 -11
- package/sidebar/lib/sidebar-context.d.ts +0 -23
- package/sidebar/lib/sidebar-footer.d.ts +0 -9
- package/sidebar/lib/sidebar-group/sidebar-group.d.ts +0 -127
- package/sidebar/lib/sidebar-header.d.ts +0 -9
- package/sidebar/lib/sidebar-item/sidebar-item.d.ts +0 -104
- package/sidebar/lib/sidebar-item-host.d.ts +0 -18
- package/sidebar/lib/sidebar-item-icon.d.ts +0 -6
- package/sidebar/lib/sidebar-mode.d.ts +0 -2
- package/sidebar/lib/sidebar-rail/sidebar-rail.d.ts +0 -54
- package/sidebar/lib/sidebar-trigger/sidebar-trigger.d.ts +0 -67
- package/sidebar/lib/sidebar-workspace/sidebar-workspace.d.ts +0 -54
- package/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.d.ts +0 -19
- package/sidebar/lib/sidebar-workspace/sidebar-workspace.types.d.ts +0 -20
- package/sidebar/malva-ui-core-sidebar.d.ts +0 -5
- package/skeleton/index.d.ts +0 -1
- package/skeleton/lib/skeleton/skeleton.d.ts +0 -60
- package/skeleton/malva-ui-core-skeleton.d.ts +0 -5
- package/slider/index.d.ts +0 -2
- package/slider/lib/slider/slider-tooltip-def.d.ts +0 -39
- package/slider/lib/slider/slider.d.ts +0 -171
- package/slider/malva-ui-core-slider.d.ts +0 -5
- package/split-pane/index.d.ts +0 -3
- package/split-pane/lib/split-pane/split-pane-panel.d.ts +0 -34
- package/split-pane/lib/split-pane/split-pane.d.ts +0 -98
- package/split-pane/lib/split-pane/split-pane.types.d.ts +0 -7
- package/split-pane/malva-ui-core-split-pane.d.ts +0 -5
- package/status-indicator/index.d.ts +0 -1
- package/status-indicator/lib/status-indicator/status-indicator.d.ts +0 -61
- package/status-indicator/malva-ui-core-status-indicator.d.ts +0 -5
- package/stepper/index.d.ts +0 -4
- package/stepper/lib/stepper/step-header.d.ts +0 -34
- package/stepper/lib/stepper/step.d.ts +0 -51
- package/stepper/lib/stepper/stepper-token.d.ts +0 -13
- package/stepper/lib/stepper/stepper.d.ts +0 -98
- package/stepper/lib/stepper/stepper.types.d.ts +0 -4
- package/stepper/malva-ui-core-stepper.d.ts +0 -5
- package/switch/index.d.ts +0 -2
- package/switch/lib/switch/switch.d.ts +0 -118
- package/switch/lib/switch-group/switch-group.d.ts +0 -24
- package/switch/lib/switch-group-token.d.ts +0 -6
- package/switch/malva-ui-core-switch.d.ts +0 -5
- package/tabs/index.d.ts +0 -8
- package/tabs/lib/tab/tab.d.ts +0 -46
- package/tabs/lib/tab-content/tab-content.d.ts +0 -11
- package/tabs/lib/tab-content-def.d.ts +0 -6
- package/tabs/lib/tab-def.d.ts +0 -11
- package/tabs/lib/tab-group-token.d.ts +0 -10
- package/tabs/lib/tab-item/tab-item.d.ts +0 -28
- package/tabs/lib/tabs/tabs.d.ts +0 -202
- package/tabs/lib/tabs.service.d.ts +0 -24
- package/tabs/malva-ui-core-tabs.d.ts +0 -5
- package/textarea/index.d.ts +0 -1
- package/textarea/lib/textarea/textarea.d.ts +0 -77
- package/textarea/malva-ui-core-textarea.d.ts +0 -5
- package/tile/index.d.ts +0 -2
- package/tile/lib/tile/tile.d.ts +0 -20
- package/tile/lib/tile-header.d.ts +0 -6
- package/tile/malva-ui-core-tile.d.ts +0 -5
- package/time-picker/index.d.ts +0 -1
- package/time-picker/lib/time-picker/time-picker.d.ts +0 -135
- package/time-picker/lib/time-picker-column/time-picker-column.d.ts +0 -111
- package/time-picker/malva-ui-core-time-picker.d.ts +0 -5
- package/timeline/index.d.ts +0 -5
- package/timeline/lib/timeline/timeline-item-icon.d.ts +0 -24
- package/timeline/lib/timeline/timeline-item-meta.d.ts +0 -24
- package/timeline/lib/timeline/timeline-item.d.ts +0 -52
- package/timeline/lib/timeline/timeline.d.ts +0 -27
- package/timeline/lib/timeline/timeline.types.d.ts +0 -18
- package/timeline/malva-ui-core-timeline.d.ts +0 -5
- package/title/index.d.ts +0 -1
- package/title/lib/title/title.d.ts +0 -63
- package/title/malva-ui-core-title.d.ts +0 -5
- package/toast/index.d.ts +0 -10
- package/toast/lib/abstract-toast-container.d.ts +0 -29
- package/toast/lib/abstract-toast-item.d.ts +0 -44
- package/toast/lib/abstract-toast.service.d.ts +0 -75
- package/toast/lib/toast-container/toast-container.d.ts +0 -23
- package/toast/lib/toast-item/toast-item.d.ts +0 -25
- package/toast/lib/toast-ref.d.ts +0 -33
- package/toast/lib/toast-timer.d.ts +0 -24
- package/toast/lib/toast.directives.d.ts +0 -13
- package/toast/lib/toast.service.d.ts +0 -41
- package/toast/lib/toast.types.d.ts +0 -139
- package/toast/malva-ui-core-toast.d.ts +0 -5
- package/tokenizer/index.d.ts +0 -3
- package/tokenizer/lib/token/token.d.ts +0 -60
- package/tokenizer/lib/token-template.d.ts +0 -29
- package/tokenizer/lib/tokenizer/tokenizer.d.ts +0 -109
- package/tokenizer/malva-ui-core-tokenizer.d.ts +0 -5
- package/toolbar/index.d.ts +0 -3
- package/toolbar/lib/toolbar/toolbar-spacer.d.ts +0 -5
- package/toolbar/lib/toolbar/toolbar-widget.d.ts +0 -75
- package/toolbar/lib/toolbar/toolbar.d.ts +0 -8
- package/toolbar/malva-ui-core-toolbar.d.ts +0 -5
- package/tooltip/index.d.ts +0 -3
- package/tooltip/lib/tooltip/tooltip-panel.d.ts +0 -26
- package/tooltip/lib/tooltip/tooltip.d.ts +0 -148
- package/tooltip/lib/tooltip/tooltip.types.d.ts +0 -17
- package/tooltip/malva-ui-core-tooltip.d.ts +0 -5
- package/tree/index.d.ts +0 -4
- package/tree/lib/tree/tree-context.d.ts +0 -62
- package/tree/lib/tree/tree-node-def.d.ts +0 -33
- package/tree/lib/tree/tree-node.d.ts +0 -45
- package/tree/lib/tree/tree-subtree.d.ts +0 -63
- package/tree/lib/tree/tree.d.ts +0 -156
- package/tree/malva-ui-core-tree.d.ts +0 -5
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../../../../../libs/core/tabs/src/lib/tabs/tabs.ts","../../../../../../../libs/core/tabs/src/lib/tabs/tabs.html"],"names":[],"mappings":"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","sourcesContent":["import type { AfterViewInit, TemplateRef } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n model,\n signal,\n untracked,\n viewChild,\n viewChildren,\n ViewEncapsulation,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { Router, NavigationEnd } from '@angular/router';\nimport type { IsActiveMatchOptions } from '@angular/router';\nimport { filter } from 'rxjs';\nimport { Tab, TabContent, TabList, TabPanel, Tabs } from '@angular/aria/tabs';\nimport { MlvTabItem } from '../tab-item/tab-item';\nimport { MlvTabContent } from '../tab-content/tab-content';\nimport type { MlvTab } from '../tab/tab';\nimport { MlvTabsService } from '../tabs.service';\nimport type {\n MlvTabGroupAccessor,\n MlvTabOrientation,\n} from '../tab-group-token';\nimport { TAB_GROUP } from '../tab-group-token';\nimport {\n MlvPopup,\n MlvPopupContent,\n MlvPopupTrigger,\n} from '@malva-ui/core/popup';\nimport { MlvList, MlvListItem } from '@malva-ui/core/list';\nimport { MLV_TABS_I18N } from '@malva-ui/i18n';\nimport {\n MLV_DENSITY_ELEMENT,\n MlvDensityDirective,\n} from '@malva-ui/cdk/density';\n\n/**\n * Visual style of the tab header. Orthogonal to `orientation` — a boxed group can\n * be horizontal or vertical.\n *\n * - `'underline'` (default): a sliding indicator bar under/beside the active tab\n * (non-active tabs show a faint underline on hover).\n * - `'boxed'`: a segmented control — a grey, content-width track holds the tabs\n * and a white pill slides behind the active one (non-active tabs tint on hover).\n */\nexport type MlvTabAppearance = 'underline' | 'boxed';\n\n@Component({\n selector: 'mlv-tab-group',\n imports: [\n NgTemplateOutlet,\n TabList,\n Tab,\n TabPanel,\n TabContent,\n MlvTabItem,\n MlvTabContent,\n MlvPopup,\n MlvPopupContent,\n MlvPopupTrigger,\n MlvList,\n MlvListItem,\n ],\n templateUrl: './tabs.html',\n styleUrl: './tabs.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n // `Tabs` (`ngTabs`) is applied to the host so the aria tab list/panels\n // register against a single container; it carries no inputs.\n // `MlvDensityDirective` exposes `mlvDensity` for content-density sizing.\n hostDirectives: [\n Tabs,\n { directive: MlvDensityDirective, inputs: ['mlvDensity: mlvDensity'] },\n ],\n providers: [\n MlvTabsService,\n { provide: MLV_DENSITY_ELEMENT, useValue: 'tab-group' },\n {\n provide: TAB_GROUP,\n useExisting: MlvTabGroup,\n },\n ],\n host: {\n class: 'mlv-tab-group',\n '[class.mlv-tab-group--horizontal]': 'orientation() === \"horizontal\"',\n '[class.mlv-tab-group--vertical]': 'orientation() === \"vertical\"',\n '[class.mlv-tab-group--appearance-boxed]': \"appearance() === 'boxed'\",\n },\n})\nexport class MlvTabGroup implements MlvTabGroupAccessor, AfterViewInit {\n /** @private Scoped service tracking tab registration and visible/overflow split. */\n private readonly _tabsService = inject(MlvTabsService);\n /** @private Destroy reference used to tear down the resize observer. */\n private readonly _destroyRef = inject(DestroyRef);\n /**\n * @private Router used for routed-mode active detection and navigation.\n * `null` when `RouterModule`/`provideRouter` is not present, keeping non-routed\n * tab groups fully functional without a router.\n */\n private readonly _router = inject(Router, { optional: true });\n\n /** @protected The component's i18n strings signal. */\n protected readonly _i18n = inject(MLV_TABS_I18N);\n /** @private Native ResizeObserver watching the tab-list header for overflow recalculation. */\n private _resizeObserver: ResizeObserver | null = null;\n\n /**\n * @private Trailing debounce timer for the ResizeObserver. Coalesces the burst\n * of resize callbacks fired during a drag into a single recalculation so tabs\n * do not flip between the row and the overflow menu on every frame.\n */\n private _resizeDebounceTimer: ReturnType<typeof setTimeout> | null = null;\n\n /**\n * @private Cache of each tab's natural (fully-rendered) header width, keyed by\n * tab value. Populated the first time all tabs are rendered and reused on every\n * subsequent recalculation so we never have to briefly expand the DOM to all\n * tabs to re-measure — which is what caused the \"dizzy\" flicker feedback loop.\n */\n private readonly _tabWidths = new Map<string, number>();\n\n /** @private Measured width of the \"More (N)\" overflow trigger (falls back to 100). */\n private _moreButtonWidth = 0;\n\n /** @private Trailing debounce (ms) applied to ResizeObserver-driven recalculation. */\n private static readonly _RESIZE_DEBOUNCE_MS = 64;\n\n /**\n * @private Extra px of clearance an overflowed tab must gain before it is\n * allowed back into the visible row. Provides hysteresis so a tab does not\n * oscillate in/out at boundary widths.\n */\n private static readonly _HYSTERESIS_PX = 24;\n\n /** @private True when popup closed because an item was selected (skip focus restoration). */\n private _popupClosedBySelection = false;\n\n readonly orientation = model<MlvTabOrientation>('horizontal');\n readonly activeTab = model<string>('');\n\n /**\n * Visual style of the tab header. `'underline'` (default) shows a sliding\n * indicator bar; `'boxed'` fills the active tab with a rounded surface and\n * hides the indicator. Orthogonal to `orientation` — composes with both\n * horizontal and vertical layouts.\n */\n readonly appearance = input<MlvTabAppearance>('underline');\n\n /**\n * @internal True when at least one registered tab carries a `[routerLink]`\n * (its `urlTree()` is non-null). In routed mode the active tab is derived from\n * the URL via `Router.isActive` rather than from click/keyboard selection, and\n * the auto-select-first + aria-selection paths defer to the route.\n */\n protected readonly _isRouted = computed(() =>\n this._tabsService.tabs().some((t) => t.urlTree() !== null),\n );\n\n /**\n * @internal Bridges the public `activeTab` model to the aria `ngTabList`\n * `selectedTab` model input (`string | undefined`). An empty `activeTab`\n * maps to `undefined` (no tab selected) so aria does not try to match a tab\n * whose value is the empty string.\n */\n protected readonly selectedTab = computed<string | undefined>(\n () => this.activeTab() || undefined,\n );\n\n /** @internal Tracks which overflow item has tabindex=0. */\n readonly overflowFocusedIndex = signal(0);\n\n readonly tabListRef = viewChild<ElementRef<HTMLElement>>('tabListRef');\n readonly indicatorRef = viewChild<ElementRef<HTMLElement>>('indicatorRef');\n readonly morePopupRef = viewChild<MlvPopup>('morePopup');\n readonly tabItems = viewChildren(MlvTabItem);\n\n /**\n * @private The \"More (N)\" overflow trigger button, present only while overflow\n * is active. An own-template element, so a signal view query replaces the\n * former `querySelector('.mlv-tab-group__more-trigger')` used when measuring\n * the trigger's width during overflow layout.\n */\n private readonly _moreTriggerRef =\n viewChild<ElementRef<HTMLButtonElement>>('moreTrigger');\n\n /**\n * @private The overflow popup's focusable menu-item elements, in DOM order.\n * They are declared in this component's own template (inside `mlvPopupContent`),\n * so a signal view query resolves them even though the popup renders in a\n * detached overlay — replacing a `querySelectorAll('[data-overflow-item-index]')`\n * for the Arrow-key navigation inside the overflow menu.\n */\n private readonly _overflowItemRefs = viewChildren('overflowItem', {\n read: ElementRef,\n });\n\n readonly visibleTabs = computed(() => this._tabsService.visibleTabs());\n readonly overflowTabs = computed(() => this._tabsService.overflowTabs());\n\n readonly activeContentTemplate = computed<TemplateRef<unknown> | null>(() => {\n const value = this.activeTab();\n const tabs = this._tabsService.tabs();\n const activeTabComp = tabs.find((t) => t.value() === value);\n return activeTabComp?.contentTemplate()?.templateRef ?? null;\n });\n\n constructor() {\n // Auto-select first tab if none is set. Suppressed in routed mode where the\n // URL owns the active tab (see `_syncActiveFromRoute`).\n effect(() => {\n if (this._isRouted()) return;\n const tabs = this._tabsService.tabs();\n const active = this.activeTab();\n if (\n tabs.length > 0 &&\n (!active || !tabs.some((t) => t.value() === active))\n ) {\n this.activeTab.set(tabs[0].value());\n }\n });\n\n // ─── Routed mode ─────────────────────────────────────────────────────────\n // When any child <mlv-tab> carries a [routerLink], derive `activeTab` from\n // the current URL instead of click/keyboard selection. The routerLink is a\n // URL carrier on the display:none def node; because the header tab is\n // rendered separately, routerLinkActive cannot style it, so active state is\n // owned here via Router.isActive. Intentional, not a workaround.\n const router = this._router;\n if (router) {\n router.events\n .pipe(\n filter((e): e is NavigationEnd => e instanceof NavigationEnd),\n takeUntilDestroyed(),\n )\n .subscribe(() => this._syncActiveFromRoute());\n\n // The router may already be settled (no further NavigationEnd will fire),\n // so run an initial sync once routed tabs register. Only `_isRouted()` /\n // `tabs()` are tracked; the set itself is untracked to avoid a feedback\n // loop through `activeTab`.\n effect(() => {\n if (!this._isRouted()) return;\n this._tabsService.tabs();\n untracked(() => this._syncActiveFromRoute());\n });\n }\n\n // Pin the active tab into the visible row. When overflow is active this\n // swaps the active tab into the last visible slot (identical to picking it\n // from the overflow popup) so the active tab ALWAYS keeps a rendered\n // `ngTab`. That is essential: if the active tab's `ngTab` is torn down (e.g.\n // a resize repartition pushes it into overflow), `@angular/aria` desyncs its\n // `selectedTab` model, marks the active `ngTabPanel` inert and the deferred\n // `ngTabContent` destroys the panel body permanently. Keeping the active\n // tab visible prevents that teardown, so the active content survives any\n // resize/repartition.\n effect(() => {\n const active = this.activeTab();\n this._tabsService.forcedVisibleValue.set(active || null);\n });\n\n // Update indicator position when active tab or visible tabs change\n effect(() => {\n this.activeTab();\n this.visibleTabs();\n this.tabItems();\n this._updateIndicator();\n });\n }\n\n ngAfterViewInit(): void {\n this._setupResizeObserver();\n this._destroyRef.onDestroy(() => this._teardownResizeObserver());\n }\n\n // ─── Public API ──────────────────────────────────────────────────────────\n\n selectTab(value: string): void {\n const tab = this._tabsService.tabs().find((t) => t.value() === value);\n if (tab?.disabled()) return;\n\n // Routed tab: navigation is the source of truth. Trigger it and let the\n // resulting NavigationEnd update `activeTab` via `_syncActiveFromRoute` — do\n // NOT set `activeTab` directly (that would desync the header from the URL).\n const urlTree = tab?.urlTree() ?? null;\n if (urlTree && this._router) {\n this._router.navigateByUrl(urlTree);\n return;\n }\n\n this.activeTab.set(value);\n }\n\n /**\n * @internal Bridges the aria `ngTabList` `selectedTab` output back to the\n * public `activeTab` model. Ignores `undefined` (aria emits it transiently\n * before the default selection settles) so the auto-select effect keeps\n * ownership of the initial value.\n */\n protected _onSelectedTabChange(value: string | undefined): void {\n // In routed mode the URL owns `activeTab`; ignore aria's optimistic\n // selection so the header cannot desync from the route (navigation,\n // triggered via `selectTab`, drives `activeTab` through NavigationEnd).\n if (this._isRouted()) return;\n if (value !== undefined && value !== this.activeTab()) {\n this.activeTab.set(value);\n }\n }\n\n selectOverflowTab(value: string): void {\n this._popupClosedBySelection = true;\n this._tabsService.forceVisible(value);\n this.selectTab(value);\n // Close popup then focus the newly promoted visible tab\n this.morePopupRef()?.opened.set(false);\n requestAnimationFrame(() => {\n const items = this.tabItems();\n const visibleTabs = this.visibleTabs();\n const idx = visibleTabs.findIndex((t) => t.value() === value);\n if (idx >= 0 && items[idx]) {\n items[idx].focus();\n }\n });\n }\n\n isActive(value: string): boolean {\n return this.activeTab() === value;\n }\n\n // ─── Routed mode helpers ─────────────────────────────────────────────────\n\n /**\n * @private Sets `activeTab` to the first tab whose routerLink target is active\n * for the current URL (per its `linkActiveOptions`). No-op when not routed or\n * when no tab matches (the route stays the source of truth).\n */\n private _syncActiveFromRoute(): void {\n if (!this._isRouted()) return;\n const match = this._tabsService\n .tabs()\n .find((t) => this._isTabActiveByRoute(t));\n if (match && match.value() !== this.activeTab()) {\n this.activeTab.set(match.value());\n }\n }\n\n /**\n * @private Whether a tab's routerLink `urlTree` is active for the current URL,\n * honouring its `linkActiveOptions`.\n */\n private _isTabActiveByRoute(tab: MlvTab): boolean {\n const router = this._router;\n const urlTree = tab.urlTree();\n if (!router || !urlTree) return false;\n const opts = tab.linkActiveOptions();\n // `Router.isActive` reads an object argument as raw `IsActiveMatchOptions`\n // and would silently ignore an `{ exact }` key, so map the RouterLinkActive\n // `{ exact }` shorthand through the boolean overload (matching Angular's own\n // RouterLinkActive), and pass a full `IsActiveMatchOptions` straight through.\n return this._isFullMatchOptions(opts)\n ? router.isActive(urlTree, opts)\n : router.isActive(urlTree, opts.exact);\n }\n\n /**\n * @private Type guard distinguishing a full `IsActiveMatchOptions` object from\n * the `{ exact: boolean }` shorthand (mirrors Angular's internal check).\n */\n private _isFullMatchOptions(\n opts: { exact: boolean } | IsActiveMatchOptions,\n ): opts is IsActiveMatchOptions {\n const o = opts as Partial<IsActiveMatchOptions>;\n return !!(o.paths || o.matrixParams || o.queryParams || o.fragment);\n }\n\n // ─── Overflow popup handling ─────────────────────────────────────────────\n\n /** Opens the overflow popup and focuses the first overflow item after render. */\n openOverflowPopup(): void {\n this.overflowFocusedIndex.set(0);\n this.morePopupRef()?.opened.set(true);\n }\n\n /**\n * Called when the overflow popup finishes opening.\n * Focuses the first (or active) overflow item.\n */\n onMorePopupAfterOpened(): void {\n // Active overflow tab gets initial focus, otherwise first item\n const overflowTabs = this.overflowTabs();\n const activeIdx = overflowTabs.findIndex((t) => this.isActive(t.value()));\n const targetIdx = activeIdx >= 0 ? activeIdx : 0;\n this.overflowFocusedIndex.set(targetIdx);\n\n this._overflowItemRefs()[targetIdx]?.nativeElement.focus();\n }\n\n /**\n * Called when the overflow popup finishes closing.\n * Returns focus to the active visible tab unless the popup was closed by\n * selecting an item (focus goes to the promoted tab instead).\n */\n onMorePopupAfterClosed(): void {\n if (this._popupClosedBySelection) {\n this._popupClosedBySelection = false;\n return;\n }\n const items = this.tabItems();\n const activeIdx = this.visibleTabs().findIndex((t) =>\n this.isActive(t.value()),\n );\n items[activeIdx >= 0 ? activeIdx : 0]?.focus();\n }\n\n /**\n * Keydown handler on the overflow list wrapper inside the popup.\n * Up/Down arrows navigate between items; Escape closes the popup.\n */\n onOverflowKeydown(event: KeyboardEvent): void {\n const items = this._overflowItemRefs().map((ref) => ref.nativeElement);\n const count = items.length;\n if (count === 0) return;\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n this.overflowFocusedIndex.update((i) => Math.min(i + 1, count - 1));\n items[this.overflowFocusedIndex()]?.focus();\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n this.overflowFocusedIndex.update((i) => Math.max(i - 1, 0));\n items[this.overflowFocusedIndex()]?.focus();\n } else if (event.key === 'Escape') {\n event.preventDefault();\n this.morePopupRef()?.opened.set(false);\n // afterClosed will restore focus to last focused visible tab\n }\n }\n\n // ─── Private helpers ─────────────────────────────────────────────────────\n\n /** @private Repositions the active-tab indicator bar via CSS custom properties. */\n private _updateIndicator(): void {\n queueMicrotask(() => {\n const items = this.tabItems();\n const indicatorEl = this.indicatorRef()?.nativeElement;\n if (!indicatorEl) return;\n\n const activeItem = items.find(\n (_, i) =>\n this.visibleTabs()[i] && this.isActive(this.visibleTabs()[i].value()),\n );\n\n if (!activeItem) {\n indicatorEl.style.setProperty('--mlv-tab-indicator-width', '0');\n indicatorEl.style.setProperty('--mlv-tab-indicator-height', '0');\n return;\n }\n\n const el = activeItem.elementRef.nativeElement;\n if (this.orientation() === 'horizontal') {\n indicatorEl.style.setProperty(\n '--mlv-tab-indicator-left',\n `${el.offsetLeft}px`,\n );\n indicatorEl.style.setProperty(\n '--mlv-tab-indicator-width',\n `${el.offsetWidth}px`,\n );\n } else {\n indicatorEl.style.setProperty(\n '--mlv-tab-indicator-top',\n `${el.offsetTop}px`,\n );\n indicatorEl.style.setProperty(\n '--mlv-tab-indicator-height',\n `${el.offsetHeight}px`,\n );\n }\n });\n }\n\n /** @private Attaches a ResizeObserver to the header to recalculate overflow on width changes. */\n private _setupResizeObserver(): void {\n if (this.orientation() === 'vertical') return;\n\n const headerEl = this.tabListRef()?.nativeElement;\n if (!headerEl) return;\n\n if (typeof ResizeObserver === 'undefined') return;\n\n // Debounce (trailing): a drag fires the observer many times per second.\n // Coalescing them into one recalculation after the width settles is the\n // first line of defence against the flickering \"dizzy\" repartition.\n this._resizeObserver = new ResizeObserver(() => {\n if (this._resizeDebounceTimer !== null) {\n clearTimeout(this._resizeDebounceTimer);\n }\n this._resizeDebounceTimer = setTimeout(() => {\n this._resizeDebounceTimer = null;\n this._recalculateOverflow();\n }, MlvTabGroup._RESIZE_DEBOUNCE_MS);\n });\n this._resizeObserver.observe(headerEl);\n }\n\n /** @private Disconnects and clears the header ResizeObserver and its debounce timer. */\n private _teardownResizeObserver(): void {\n if (this._resizeDebounceTimer !== null) {\n clearTimeout(this._resizeDebounceTimer);\n this._resizeDebounceTimer = null;\n }\n this._resizeObserver?.disconnect();\n this._resizeObserver = null;\n }\n\n /**\n * @private Updates the visible/overflow split for the current header width.\n *\n * Unlike the previous implementation it does NOT reset the rendered set to\n * \"show all\" on every call. Tab widths are cached (keyed by value) the first\n * time every tab is rendered; afterwards the split is computed purely from the\n * cache and the container width. That removes the measure→mutate→re-measure\n * feedback loop (moving a tab to overflow no longer changes what we measure),\n * which — together with the ResizeObserver debounce and the hysteresis in\n * {@link _computeFittingCount} — kills the flickering repartition.\n */\n private _recalculateOverflow(): void {\n if (this.orientation() === 'vertical') {\n this._tabsService.maxVisibleCount.set(-1);\n return;\n }\n\n const headerEl = this.tabListRef()?.nativeElement;\n if (!headerEl) return;\n\n // Refresh the cache from whatever is currently rendered (no DOM mutation).\n this._captureRenderedWidths();\n\n const allTabs = this._tabsService.tabs();\n const missingWidth = allTabs.some((t) => !this._tabWidths.has(t.value()));\n\n if (missingWidth) {\n // Cold cache (first run) or new tabs added: render every tab once so we\n // can capture the missing widths, then apply. This is the ONLY branch\n // that expands the DOM, and only runs until the cache is warm — so\n // steady-state resizes never flash the full tab set.\n this._tabsService.maxVisibleCount.set(-1);\n requestAnimationFrame(() => {\n this._captureRenderedWidths();\n this._applyOverflowFit();\n });\n return;\n }\n\n this._applyOverflowFit();\n }\n\n /**\n * @private Captures the natural widths of the currently-rendered tab items\n * (and the \"More\" trigger) into the width cache, keyed by tab value. Zero\n * widths (detached / not laid out) are ignored so a transient render never\n * poisons the cache.\n */\n private _captureRenderedWidths(): void {\n const items = this.tabItems();\n const visible = this._tabsService.visibleTabs();\n items.forEach((item, i) => {\n const value = visible[i]?.value();\n const width = item.elementRef.nativeElement.offsetWidth;\n if (value && width > 0) {\n this._tabWidths.set(value, width);\n }\n });\n\n const moreEl = this._moreTriggerRef()?.nativeElement;\n if (moreEl && moreEl.offsetWidth > 0) {\n this._moreButtonWidth = moreEl.offsetWidth;\n }\n }\n\n /**\n * @private Applies the cached-width overflow computation to the service and\n * repositions the indicator.\n */\n private _applyOverflowFit(): void {\n const headerEl = this.tabListRef()?.nativeElement;\n if (!headerEl) return;\n\n const allTabs = this._tabsService.tabs();\n const widths = allTabs.map((t) => this._tabWidths.get(t.value()) ?? 0);\n const fittingCount = this._computeFittingCount(\n widths,\n headerEl.clientWidth,\n this._moreButtonWidth || 100,\n this._tabsService.maxVisibleCount(),\n );\n\n this._tabsService.maxVisibleCount.set(fittingCount);\n this._updateIndicator();\n }\n\n /**\n * @private Pure overflow fit calculation. Returns how many leading tabs fit in\n * `containerWidth`, or `-1` when every tab fits with no \"More\" button.\n *\n * Hysteresis: a tab that is currently in the overflow region\n * (`i >= currentMax`) must clear the boundary by an extra\n * {@link _HYSTERESIS_PX} before it is allowed back into the visible row. A\n * currently-visible tab leaves as soon as it no longer fits. This asymmetric\n * threshold means the two states around a boundary width can never both be\n * satisfied, so the split cannot oscillate between adjacent widths.\n *\n * @param widths Natural width of each tab, in DOM order.\n * @param containerWidth Available header content width.\n * @param moreButtonWidth Width reserved for the \"More (N)\" trigger.\n * @param currentMax The current `maxVisibleCount` (`-1` = all visible).\n */\n private _computeFittingCount(\n widths: number[],\n containerWidth: number,\n moreButtonWidth: number,\n currentMax: number,\n ): number {\n const total = widths.reduce((sum, w) => sum + w, 0);\n // Everything fits without needing a \"More\" button.\n if (total <= containerWidth) return -1;\n\n let accumulated = 0;\n let count = 0;\n for (let i = 0; i < widths.length; i++) {\n const wasOverflowed = currentMax >= 0 && i >= currentMax;\n const margin = wasOverflowed ? MlvTabGroup._HYSTERESIS_PX : 0;\n if (\n accumulated + widths[i] + moreButtonWidth + margin <=\n containerWidth\n ) {\n accumulated += widths[i];\n count++;\n } else {\n break;\n }\n }\n return count;\n }\n}\n","<div\n class=\"mlv-tab-group__header\"\n ngTabList\n [orientation]=\"orientation()\"\n [wrap]=\"false\"\n [softDisabled]=\"false\"\n selectionMode=\"follow\"\n [selectedTab]=\"selectedTab()\"\n (selectedTabChange)=\"_onSelectedTabChange($event)\"\n #tabListRef\n>\n @for (tab of visibleTabs(); track tab.value(); let i = $index) {\n <mlv-tab-item\n ngTab\n [value]=\"tab.value()\"\n [active]=\"isActive(tab.value())\"\n [disabled]=\"tab.disabled()\"\n (activate)=\"selectTab(tab.value())\"\n >\n @if (tab.defTemplate(); as def) {\n <!--\n The label is rendered directly inside the roving `role=\"tab\"`\n (<mlv-tab-item>, ngTab). Routed tabs do NOT wrap it in an <a href>: an\n anchor is inherently interactive, and nesting it inside `role=\"tab\"` fails\n the axe `nested-interactive` rule (a11y is a hard requirement). Navigation\n is driven by the tab-item's `activate` output → selectTab() →\n router.navigateByUrl() for both click and keyboard, and the URL is fully\n deep-linkable; the only thing lost versus a nested anchor is native\n middle-click / open-in-new-tab, an accepted trade-off.\n -->\n <ng-template\n [ngTemplateOutlet]=\"def.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: false }\"\n />\n }\n </mlv-tab-item>\n } @if (overflowTabs().length > 0) {\n <button\n type=\"button\"\n #moreTrigger\n class=\"mlv-tab-group__more-trigger\"\n [mlvPopupTrigger]=\"morePopup\"\n triggerOn=\"click\"\n [ariaHasPopup]=\"'menu'\"\n [attr.aria-expanded]=\"morePopupRef()?.opened() ?? false\"\n [attr.aria-label]=\"_i18n().moreTabs\"\n >\n More ({{ overflowTabs().length }})\n </button>\n <mlv-popup\n #morePopup\n [hasShadow]=\"true\"\n (afterOpened)=\"onMorePopupAfterOpened()\"\n (afterClosed)=\"onMorePopupAfterClosed()\"\n >\n <ng-template mlvPopupContent>\n <div tabindex=\"-1\" (keydown)=\"onOverflowKeydown($event)\">\n <mlv-list listRole=\"menu\">\n @for (tab of overflowTabs(); track tab.value(); let i = $index) {\n <mlv-list-item\n #overflowItem\n itemRole=\"menuitemradio\"\n [class.mlv-list-item--active]=\"isActive(tab.value())\"\n [attr.tabindex]=\"overflowFocusedIndex() === i ? 0 : -1\"\n [attr.data-overflow-item-index]=\"i\"\n [attr.aria-disabled]=\"tab.disabled() || null\"\n [attr.aria-checked]=\"isActive(tab.value())\"\n (click)=\"selectOverflowTab(tab.value())\"\n (keydown.enter)=\"selectOverflowTab(tab.value()); $event.stopPropagation()\"\n (keydown.space)=\"selectOverflowTab(tab.value()); $event.stopPropagation(); $event.preventDefault()\"\n >\n @if (tab.defTemplate(); as def) {\n <ng-template\n [ngTemplateOutlet]=\"def.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: true }\"\n />\n }\n </mlv-list-item>\n }\n </mlv-list>\n </div>\n </ng-template>\n </mlv-popup>\n }\n\n <div class=\"mlv-tab-group__indicator\" #indicatorRef></div>\n</div>\n\n<div class=\"mlv-tab-group__body\">\n @if (activeContentTemplate(); as tmpl) {\n <mlv-tab-content ngTabPanel [value]=\"activeTab()\">\n <ng-template ngTabContent>\n <ng-container [ngTemplateOutlet]=\"tmpl\" />\n </ng-template>\n </mlv-tab-content>\n }\n <!--\n Inert stub panels for the visible-but-inactive tabs. Every `ngTab` must\n resolve to a corresponding `ngTabPanel` (aria wires `aria-controls` and\n validates the pairing). The active tab renders the real `mlv-tab-content`\n above; the remaining visible tabs get an empty, `ngTabContent`-carrying\n panel so their `aria-controls` resolves without rendering duplicate content.\n -->\n @for (tab of visibleTabs(); track tab.value()) { @if (!isActive(tab.value()))\n {\n <div class=\"mlv-tab-group__panel-stub\" ngTabPanel [value]=\"tab.value()\">\n <ng-template ngTabContent></ng-template>\n </div>\n } }\n</div>\n"]}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { computed, Injectable, signal } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class MlvTabsService {
|
|
4
|
-
tabs = signal([], /* @ts-ignore */
|
|
5
|
-
...(ngDevMode ? [{ debugName: "tabs" }] : /* istanbul ignore next */ []));
|
|
6
|
-
/** How many tabs fit in the header. -1 means no overflow (all fit). */
|
|
7
|
-
maxVisibleCount = signal(-1, /* @ts-ignore */
|
|
8
|
-
...(ngDevMode ? [{ debugName: "maxVisibleCount" }] : /* istanbul ignore next */ []));
|
|
9
|
-
/** A tab value forced into the visible area (selected from overflow popup). */
|
|
10
|
-
forcedVisibleValue = signal(null, /* @ts-ignore */
|
|
11
|
-
...(ngDevMode ? [{ debugName: "forcedVisibleValue" }] : /* istanbul ignore next */ []));
|
|
12
|
-
/**
|
|
13
|
-
* Visible tabs with swap logic:
|
|
14
|
-
* - If a forced tab exists and is beyond maxVisibleCount,
|
|
15
|
-
* it replaces the last naturally-visible tab.
|
|
16
|
-
*
|
|
17
|
-
* Example: tabs=[t1,t2,t3,t4,t5], max=3, forced=t4
|
|
18
|
-
* visible=[t1,t2,t4], overflow=[t3,t5]
|
|
19
|
-
*/
|
|
20
|
-
visibleTabs = computed(() => {
|
|
21
|
-
const all = this.tabs();
|
|
22
|
-
const max = this.maxVisibleCount();
|
|
23
|
-
if (max < 0 || max >= all.length)
|
|
24
|
-
return all;
|
|
25
|
-
const forced = this.forcedVisibleValue();
|
|
26
|
-
const forcedIndex = forced !== null ? all.findIndex((t) => t.value() === forced) : -1;
|
|
27
|
-
// Forced tab is already in the visible range or doesn't exist
|
|
28
|
-
if (forcedIndex < 0 || forcedIndex < max) {
|
|
29
|
-
return all.slice(0, max);
|
|
30
|
-
}
|
|
31
|
-
// Swap: take first (max-1), then the forced tab. `Math.max(0, …)` guards the
|
|
32
|
-
// `max === 0` case (all tabs overflow) so the forced/active tab is the sole
|
|
33
|
-
// visible tab instead of duplicating the last natural tab.
|
|
34
|
-
const visible = all.slice(0, Math.max(0, max - 1));
|
|
35
|
-
visible.push(all[forcedIndex]);
|
|
36
|
-
return visible;
|
|
37
|
-
}, /* @ts-ignore */
|
|
38
|
-
...(ngDevMode ? [{ debugName: "visibleTabs" }] : /* istanbul ignore next */ []));
|
|
39
|
-
overflowTabs = computed(() => {
|
|
40
|
-
const all = this.tabs();
|
|
41
|
-
const max = this.maxVisibleCount();
|
|
42
|
-
if (max < 0 || max >= all.length)
|
|
43
|
-
return [];
|
|
44
|
-
const forced = this.forcedVisibleValue();
|
|
45
|
-
const forcedIndex = forced !== null ? all.findIndex((t) => t.value() === forced) : -1;
|
|
46
|
-
// No forced tab or forced is already visible
|
|
47
|
-
if (forcedIndex < 0 || forcedIndex < max) {
|
|
48
|
-
return all.slice(max);
|
|
49
|
-
}
|
|
50
|
-
// The last naturally-visible tab (index max-1) goes to overflow, plus all
|
|
51
|
-
// original overflow tabs except the forced one. When `max === 0` there is no
|
|
52
|
-
// last-natural tab to demote (guarded below).
|
|
53
|
-
const overflow = [];
|
|
54
|
-
if (max - 1 >= 0) {
|
|
55
|
-
overflow.push(all[max - 1]);
|
|
56
|
-
}
|
|
57
|
-
for (let i = max; i < all.length; i++) {
|
|
58
|
-
if (i !== forcedIndex) {
|
|
59
|
-
overflow.push(all[i]);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return overflow;
|
|
63
|
-
}, /* @ts-ignore */
|
|
64
|
-
...(ngDevMode ? [{ debugName: "overflowTabs" }] : /* istanbul ignore next */ []));
|
|
65
|
-
register(tab) {
|
|
66
|
-
this.tabs.update((tabs) => [...tabs, tab]);
|
|
67
|
-
}
|
|
68
|
-
unregister(tab) {
|
|
69
|
-
this.tabs.update((tabs) => tabs.filter((t) => t !== tab));
|
|
70
|
-
if (this.forcedVisibleValue() === tab.value()) {
|
|
71
|
-
this.forcedVisibleValue.set(null);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
forceVisible(value) {
|
|
75
|
-
this.forcedVisibleValue.set(value);
|
|
76
|
-
}
|
|
77
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTabsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
78
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTabsService });
|
|
79
|
-
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTabsService, decorators: [{
|
|
81
|
-
type: Injectable
|
|
82
|
-
}] });
|
|
83
|
-
//# sourceMappingURL=tabs.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.service.js","sourceRoot":"","sources":["../../../../../../libs/core/tabs/src/lib/tabs.service.ts"],"names":[],"mappings":"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","sourcesContent":["import { computed, Injectable, signal } from '@angular/core';\nimport type { MlvTab } from './tab/tab';\n\n@Injectable()\nexport class MlvTabsService {\n readonly tabs = signal<MlvTab[]>([]);\n\n /** How many tabs fit in the header. -1 means no overflow (all fit). */\n readonly maxVisibleCount = signal<number>(-1);\n\n /** A tab value forced into the visible area (selected from overflow popup). */\n readonly forcedVisibleValue = signal<string | null>(null);\n\n /**\n * Visible tabs with swap logic:\n * - If a forced tab exists and is beyond maxVisibleCount,\n * it replaces the last naturally-visible tab.\n *\n * Example: tabs=[t1,t2,t3,t4,t5], max=3, forced=t4\n * visible=[t1,t2,t4], overflow=[t3,t5]\n */\n readonly visibleTabs = computed(() => {\n const all = this.tabs();\n const max = this.maxVisibleCount();\n\n if (max < 0 || max >= all.length) return all;\n\n const forced = this.forcedVisibleValue();\n const forcedIndex =\n forced !== null ? all.findIndex((t) => t.value() === forced) : -1;\n\n // Forced tab is already in the visible range or doesn't exist\n if (forcedIndex < 0 || forcedIndex < max) {\n return all.slice(0, max);\n }\n\n // Swap: take first (max-1), then the forced tab. `Math.max(0, …)` guards the\n // `max === 0` case (all tabs overflow) so the forced/active tab is the sole\n // visible tab instead of duplicating the last natural tab.\n const visible = all.slice(0, Math.max(0, max - 1));\n visible.push(all[forcedIndex]);\n return visible;\n });\n\n readonly overflowTabs = computed(() => {\n const all = this.tabs();\n const max = this.maxVisibleCount();\n\n if (max < 0 || max >= all.length) return [];\n\n const forced = this.forcedVisibleValue();\n const forcedIndex =\n forced !== null ? all.findIndex((t) => t.value() === forced) : -1;\n\n // No forced tab or forced is already visible\n if (forcedIndex < 0 || forcedIndex < max) {\n return all.slice(max);\n }\n\n // The last naturally-visible tab (index max-1) goes to overflow, plus all\n // original overflow tabs except the forced one. When `max === 0` there is no\n // last-natural tab to demote (guarded below).\n const overflow: MlvTab[] = [];\n if (max - 1 >= 0) {\n overflow.push(all[max - 1]);\n }\n for (let i = max; i < all.length; i++) {\n if (i !== forcedIndex) {\n overflow.push(all[i]);\n }\n }\n return overflow;\n });\n\n register(tab: MlvTab): void {\n this.tabs.update((tabs) => [...tabs, tab]);\n }\n\n unregister(tab: MlvTab): void {\n this.tabs.update((tabs) => tabs.filter((t) => t !== tab));\n if (this.forcedVisibleValue() === tab.value()) {\n this.forcedVisibleValue.set(null);\n }\n }\n\n forceVisible(value: string): void {\n this.forcedVisibleValue.set(value);\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"malva-ui-core-tabs.js","sourceRoot":"","sources":["../../../../../libs/core/tabs/src/malva-ui-core-tabs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/core/textarea/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC","sourcesContent":["export * from './lib/textarea/textarea';\n"]}
|
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, computed, forwardRef, input, model, ViewEncapsulation, viewChild, effect, } from '@angular/core';
|
|
2
|
-
import { MlvSignalFormControlBase, MlvDescription, MlvFormControlWrapper, MlvFormControlWrapperControl, MlvHint, MlvLabel, MLV_FORM_CONTROL, MlvMessage, } from '@malva-ui/core/form-utils';
|
|
3
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
4
|
-
import { MlvScrollbar } from '@malva-ui/core/scrollbar';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class MlvTextarea extends MlvSignalFormControlBase {
|
|
7
|
-
/** Placeholder text shown inside the textarea when empty. */
|
|
8
|
-
placeholder = input('', /* @ts-ignore */
|
|
9
|
-
...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
|
|
10
|
-
/** Number of visible text rows. Determines the default height. */
|
|
11
|
-
rows = input(3, /* @ts-ignore */
|
|
12
|
-
...(ngDevMode ? [{ debugName: "rows" }] : /* istanbul ignore next */ []));
|
|
13
|
-
/** Minimum number of rows when autoResize is enabled. */
|
|
14
|
-
minRows = input(undefined, /* @ts-ignore */
|
|
15
|
-
...(ngDevMode ? [{ debugName: "minRows" }] : /* istanbul ignore next */ []));
|
|
16
|
-
/** Maximum number of rows when autoResize is enabled. */
|
|
17
|
-
maxRows = input(undefined, /* @ts-ignore */
|
|
18
|
-
...(ngDevMode ? [{ debugName: "maxRows" }] : /* istanbul ignore next */ []));
|
|
19
|
-
/**
|
|
20
|
-
* When true, the textarea grows vertically with content.
|
|
21
|
-
* Respects minRows and maxRows constraints.
|
|
22
|
-
*/
|
|
23
|
-
autoResize = input(false, { ...(ngDevMode ? { debugName: "autoResize" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
|
|
24
|
-
/**
|
|
25
|
-
* Maximum number of characters allowed.
|
|
26
|
-
* When set, a character counter is displayed below the textarea.
|
|
27
|
-
*/
|
|
28
|
-
maxLength = input(undefined, /* @ts-ignore */
|
|
29
|
-
...(ngDevMode ? [{ debugName: "maxLength" }] : /* istanbul ignore next */ []));
|
|
30
|
-
/** The character count ID for aria-describedby linking to the count element. */
|
|
31
|
-
countId = computed(() => `${this.id()}-count`, /* @ts-ignore */
|
|
32
|
-
...(ngDevMode ? [{ debugName: "countId" }] : /* istanbul ignore next */ []));
|
|
33
|
-
/**
|
|
34
|
-
* @protected The textarea's `aria-describedby`: the shared description /
|
|
35
|
-
* message ids from the base plus the character counter when one is rendered.
|
|
36
|
-
* `null` when nothing describes the field, so no dangling IDREF is emitted.
|
|
37
|
-
*/
|
|
38
|
-
_textareaDescribedBy = computed(() => {
|
|
39
|
-
const ids = this._describedBy();
|
|
40
|
-
if (!this.maxLength())
|
|
41
|
-
return ids;
|
|
42
|
-
return ids ? `${ids} ${this.countId()}` : this.countId();
|
|
43
|
-
}, /* @ts-ignore */
|
|
44
|
-
...(ngDevMode ? [{ debugName: "_textareaDescribedBy" }] : /* istanbul ignore next */ []));
|
|
45
|
-
/**
|
|
46
|
-
* The textarea's text value — the signal-forms `FormValueControl` model.
|
|
47
|
-
* Two-way bindable (`[(value)]`) and kept in sync with the bound field by
|
|
48
|
-
* `[formField]` / `[formControl]` / `ngModel`. Replaces the former
|
|
49
|
-
* `internalValue` signal + CVA transport.
|
|
50
|
-
*/
|
|
51
|
-
value = model('', /* @ts-ignore */
|
|
52
|
-
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
53
|
-
/** @private Reference to the native textarea element. */
|
|
54
|
-
_textareaRef = viewChild('textareaEl', /* @ts-ignore */
|
|
55
|
-
...(ngDevMode ? [{ debugName: "_textareaRef" }] : /* istanbul ignore next */ []));
|
|
56
|
-
/**
|
|
57
|
-
* The current character count.
|
|
58
|
-
*/
|
|
59
|
-
charCount = computed(() => (this.value() ?? '').length, /* @ts-ignore */
|
|
60
|
-
...(ngDevMode ? [{ debugName: "charCount" }] : /* istanbul ignore next */ []));
|
|
61
|
-
/**
|
|
62
|
-
* Whether the character count is approaching the limit (>90%).
|
|
63
|
-
*/
|
|
64
|
-
isCountWarning = computed(() => {
|
|
65
|
-
const max = this.maxLength();
|
|
66
|
-
if (!max)
|
|
67
|
-
return false;
|
|
68
|
-
const ratio = this.charCount() / max;
|
|
69
|
-
return ratio >= 0.9 && ratio < 1;
|
|
70
|
-
}, /* @ts-ignore */
|
|
71
|
-
...(ngDevMode ? [{ debugName: "isCountWarning" }] : /* istanbul ignore next */ []));
|
|
72
|
-
/**
|
|
73
|
-
* Whether the character limit has been reached.
|
|
74
|
-
*/
|
|
75
|
-
isCountError = computed(() => {
|
|
76
|
-
const max = this.maxLength();
|
|
77
|
-
if (!max)
|
|
78
|
-
return false;
|
|
79
|
-
return this.charCount() >= max;
|
|
80
|
-
}, /* @ts-ignore */
|
|
81
|
-
...(ngDevMode ? [{ debugName: "isCountError" }] : /* istanbul ignore next */ []));
|
|
82
|
-
/**
|
|
83
|
-
* Computed minimum height style for the scrollbar wrapper.
|
|
84
|
-
* When rows = 1, matches `--mlv-height-m` (same as mlv-input).
|
|
85
|
-
* For multi-row, grows proportionally: each additional row adds 1.5em.
|
|
86
|
-
*/
|
|
87
|
-
minHeightStyle = computed(() => {
|
|
88
|
-
const rows = this.minRows() ?? this.rows();
|
|
89
|
-
if (rows === 1) {
|
|
90
|
-
return 'var(--mlv-height-m)';
|
|
91
|
-
}
|
|
92
|
-
// Base height for a single row equals --mlv-height-m (2.75rem).
|
|
93
|
-
// Each extra row adds one line (1.5em at font-size ~0.875rem ≈ 1.3125rem).
|
|
94
|
-
return `calc(var(--mlv-height-m) + ${rows - 1} * 1.5em)`;
|
|
95
|
-
}, /* @ts-ignore */
|
|
96
|
-
...(ngDevMode ? [{ debugName: "minHeightStyle" }] : /* istanbul ignore next */ []));
|
|
97
|
-
/**
|
|
98
|
-
* Computed maximum height style for the scrollbar wrapper based on maxRows input.
|
|
99
|
-
*/
|
|
100
|
-
maxHeightStyle = computed(() => {
|
|
101
|
-
const maxRows = this.maxRows();
|
|
102
|
-
if (!maxRows)
|
|
103
|
-
return undefined;
|
|
104
|
-
if (maxRows === 1) {
|
|
105
|
-
return 'var(--mlv-height-m)';
|
|
106
|
-
}
|
|
107
|
-
return `calc(var(--mlv-height-m) + ${maxRows - 1} * 1.5em)`;
|
|
108
|
-
}, /* @ts-ignore */
|
|
109
|
-
...(ngDevMode ? [{ debugName: "maxHeightStyle" }] : /* istanbul ignore next */ []));
|
|
110
|
-
constructor() {
|
|
111
|
-
super();
|
|
112
|
-
// Re-run auto-resize when value changes
|
|
113
|
-
effect(() => {
|
|
114
|
-
this.value();
|
|
115
|
-
if (this.autoResize()) {
|
|
116
|
-
this._runAutoResize();
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
/** @private Adjusts textarea height to fit its content. */
|
|
121
|
-
_runAutoResize() {
|
|
122
|
-
const el = this._textareaRef()?.nativeElement;
|
|
123
|
-
if (!el)
|
|
124
|
-
return;
|
|
125
|
-
el.style.height = 'auto';
|
|
126
|
-
let newHeight = el.scrollHeight;
|
|
127
|
-
const minRows = this.minRows();
|
|
128
|
-
const maxRows = this.maxRows();
|
|
129
|
-
const lineHeight = parseFloat(getComputedStyle(el).lineHeight) || 24;
|
|
130
|
-
const paddingTop = parseFloat(getComputedStyle(el).paddingTop) || 0;
|
|
131
|
-
const paddingBottom = parseFloat(getComputedStyle(el).paddingBottom) || 0;
|
|
132
|
-
if (minRows) {
|
|
133
|
-
const minHeight = minRows * lineHeight + paddingTop + paddingBottom;
|
|
134
|
-
newHeight = Math.max(newHeight, minHeight);
|
|
135
|
-
}
|
|
136
|
-
if (maxRows) {
|
|
137
|
-
const maxHeight = maxRows * lineHeight + paddingTop + paddingBottom;
|
|
138
|
-
newHeight = Math.min(newHeight, maxHeight);
|
|
139
|
-
}
|
|
140
|
-
el.style.height = `${newHeight}px`;
|
|
141
|
-
}
|
|
142
|
-
/** Handles the native input event. */
|
|
143
|
-
onInput(event) {
|
|
144
|
-
this.value.set(event.target.value);
|
|
145
|
-
}
|
|
146
|
-
/** Handles the native blur event. */
|
|
147
|
-
onBlur() {
|
|
148
|
-
this.setFocused(false);
|
|
149
|
-
this._markTouched();
|
|
150
|
-
}
|
|
151
|
-
/** Whether the control holds a clearable value — Non-empty text present. */
|
|
152
|
-
hasValue = computed(() => (this.value() ?? '').length > 0, /* @ts-ignore */
|
|
153
|
-
...(ngDevMode ? [{ debugName: "hasValue" }] : /* istanbul ignore next */ []));
|
|
154
|
-
/** Clears the textarea value and marks the field touched. */
|
|
155
|
-
clearValue() {
|
|
156
|
-
this.value.set('');
|
|
157
|
-
this._markTouched();
|
|
158
|
-
}
|
|
159
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTextarea, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
160
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MlvTextarea, isStandalone: true, selector: "mlv-textarea", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, minRows: { classPropertyName: "minRows", publicName: "minRows", isSignal: true, isRequired: false, transformFunction: null }, maxRows: { classPropertyName: "maxRows", publicName: "maxRows", isSignal: true, isRequired: false, transformFunction: null }, autoResize: { classPropertyName: "autoResize", publicName: "autoResize", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { properties: { "class.mlv-textarea--default": "resolvedState() === \"default\"", "class.mlv-textarea--success": "resolvedState() === \"success\"", "class.mlv-textarea--info": "resolvedState() === \"info\"", "class.mlv-textarea--warning": "resolvedState() === \"warning\"", "class.mlv-textarea--error": "resolvedState() === \"error\"", "class.mlv-textarea--disabled": "computedDisabled()", "class.mlv-textarea--focused": "focused()", "class.mlv-textarea--auto-resize": "autoResize()" }, classAttribute: "mlv-textarea" }, providers: [
|
|
161
|
-
{
|
|
162
|
-
provide: MLV_FORM_CONTROL,
|
|
163
|
-
useExisting: forwardRef(() => MlvTextarea),
|
|
164
|
-
},
|
|
165
|
-
], viewQueries: [{ propertyName: "_textareaRef", first: true, predicate: ["textareaEl"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"[mlvTextareaPrepend]\" />\n\n<mlv-form-control-wrapper (clear)=\"clearValue()\">\n @if (label() || hint()) {\n <mlv-label [for]=\"id()\" [required]=\"required()\">\n {{ label() }} @if (hint()) {\n <mlv-hint>{{ hint() }}</mlv-hint>\n }\n </mlv-label>\n }\n\n <ng-template mlvFormControlWrapperControl>\n <mlv-scrollbar\n class=\"mlv-textarea__scrollbar\"\n [style.min-height]=\"minHeightStyle()\"\n [style.max-height]=\"maxHeightStyle()\"\n [disabled]=\"$any(autoResize())\"\n ariaLabel=\"Text area content\"\n >\n <textarea\n #textareaEl\n class=\"mlv-textarea__field\"\n [id]=\"id()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"computedDisabled()\"\n [readOnly]=\"readonly()\"\n [rows]=\"rows()\"\n [attr.maxlength]=\"maxLength() ?? null\"\n [value]=\"value() ?? ''\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-required]=\"required() || null\"\n [attr.aria-invalid]=\"resolvedState() === 'error'\"\n [attr.aria-describedby]=\"_textareaDescribedBy()\"\n (input)=\"onInput($event)\"\n (focus)=\"setFocused(true)\"\n (blur)=\"onBlur()\"\n ></textarea>\n </mlv-scrollbar>\n </ng-template>\n\n @if (description()) {\n <mlv-description [id]=\"_descriptionId()\">{{ description() }}</mlv-description>\n } @if (message()) {\n <mlv-message [id]=\"_messageId()\" [state]=\"resolvedState()\">\n {{ message() }}\n </mlv-message>\n } @if (maxLength()) {\n <!-- The wrapper's aside slot \u2014 a plain child of mlv-form-control-wrapper\n matches no projection slot and would be dropped. -->\n <div\n mlvFormControlWrapperAside\n [id]=\"countId()\"\n class=\"mlv-textarea__count\"\n [class.mlv-textarea__count--warning]=\"isCountWarning()\"\n [class.mlv-textarea__count--error]=\"isCountError()\"\n aria-live=\"polite\"\n >\n {{ charCount() }}/{{ maxLength() }}\n </div>\n }\n</mlv-form-control-wrapper>\n\n<ng-content select=\"[mlvTextareaAppend]\" />\n", styles: [".mlv-textarea{display:block}.mlv-textarea .mlv-form-control-wrapper__control-container{height:auto;align-items:flex-start;padding:0}.mlv-textarea .mlv-form-control-wrapper__clear{align-self:flex-start;margin-top:var(--mlv-spacing-1);margin-inline-end:var(--mlv-spacing-1)}.mlv-textarea__scrollbar{flex:1 1 auto;min-width:0}.mlv-textarea__scrollbar.mlv-scrollbar--disabled{overflow:visible}.mlv-textarea__field{box-sizing:border-box;padding:var(--mlv-spacing-1) var(--form-ctrl-h-padding, var(--mlv-spacing-3));margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--form-ctrl-font-size, var(--mlv-font-size-m))}.mlv-textarea__field *{box-sizing:border-box}.mlv-textarea__field{display:block;width:100%;resize:none;border:none;outline:none;appearance:none;background:none;line-height:1.5;color:var(--mlv-text-primary);box-sizing:border-box;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.mlv-textarea__field::-webkit-scrollbar{display:none}.mlv-textarea__field::placeholder{color:var(--mlv-text-tertiary)}.mlv-textarea__count{display:block;align-self:flex-end;text-align:right;font-size:var(--mlv-typography-ui-s-size);color:var(--mlv-text-tertiary)}.mlv-textarea__count--warning{color:var(--mlv-text-warning)}.mlv-textarea__count--error{color:var(--mlv-text-negative)}.mlv-textarea--auto-resize .mlv-textarea__field{resize:none;height:auto}\n"], dependencies: [{ kind: "component", type: MlvLabel, selector: "mlv-label", inputs: ["for", "required"] }, { kind: "component", type: MlvHint, selector: "mlv-hint" }, { kind: "component", type: MlvDescription, selector: "mlv-description" }, { kind: "component", type: MlvFormControlWrapper, selector: "mlv-form-control-wrapper", outputs: ["clear"] }, { kind: "directive", type: MlvFormControlWrapperControl, selector: "[mlvFormControlWrapperControl]" }, { kind: "component", type: MlvMessage, selector: "mlv-message", inputs: ["state"] }, { kind: "component", type: MlvScrollbar, selector: "mlv-scrollbar", inputs: ["orientation", "scrollbarSize", "disabled", "ariaLabel", "viewportTabIndex"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
166
|
-
}
|
|
167
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTextarea, decorators: [{
|
|
168
|
-
type: Component,
|
|
169
|
-
args: [{ selector: 'mlv-textarea', imports: [
|
|
170
|
-
MlvLabel,
|
|
171
|
-
MlvHint,
|
|
172
|
-
MlvDescription,
|
|
173
|
-
MlvFormControlWrapper,
|
|
174
|
-
MlvFormControlWrapperControl,
|
|
175
|
-
MlvMessage,
|
|
176
|
-
MlvScrollbar,
|
|
177
|
-
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
178
|
-
{
|
|
179
|
-
provide: MLV_FORM_CONTROL,
|
|
180
|
-
useExisting: forwardRef(() => MlvTextarea),
|
|
181
|
-
},
|
|
182
|
-
], host: {
|
|
183
|
-
class: 'mlv-textarea',
|
|
184
|
-
'[class.mlv-textarea--default]': 'resolvedState() === "default"',
|
|
185
|
-
'[class.mlv-textarea--success]': 'resolvedState() === "success"',
|
|
186
|
-
'[class.mlv-textarea--info]': 'resolvedState() === "info"',
|
|
187
|
-
'[class.mlv-textarea--warning]': 'resolvedState() === "warning"',
|
|
188
|
-
'[class.mlv-textarea--error]': 'resolvedState() === "error"',
|
|
189
|
-
'[class.mlv-textarea--disabled]': 'computedDisabled()',
|
|
190
|
-
'[class.mlv-textarea--focused]': 'focused()',
|
|
191
|
-
'[class.mlv-textarea--auto-resize]': 'autoResize()',
|
|
192
|
-
}, template: "<ng-content select=\"[mlvTextareaPrepend]\" />\n\n<mlv-form-control-wrapper (clear)=\"clearValue()\">\n @if (label() || hint()) {\n <mlv-label [for]=\"id()\" [required]=\"required()\">\n {{ label() }} @if (hint()) {\n <mlv-hint>{{ hint() }}</mlv-hint>\n }\n </mlv-label>\n }\n\n <ng-template mlvFormControlWrapperControl>\n <mlv-scrollbar\n class=\"mlv-textarea__scrollbar\"\n [style.min-height]=\"minHeightStyle()\"\n [style.max-height]=\"maxHeightStyle()\"\n [disabled]=\"$any(autoResize())\"\n ariaLabel=\"Text area content\"\n >\n <textarea\n #textareaEl\n class=\"mlv-textarea__field\"\n [id]=\"id()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"computedDisabled()\"\n [readOnly]=\"readonly()\"\n [rows]=\"rows()\"\n [attr.maxlength]=\"maxLength() ?? null\"\n [value]=\"value() ?? ''\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-required]=\"required() || null\"\n [attr.aria-invalid]=\"resolvedState() === 'error'\"\n [attr.aria-describedby]=\"_textareaDescribedBy()\"\n (input)=\"onInput($event)\"\n (focus)=\"setFocused(true)\"\n (blur)=\"onBlur()\"\n ></textarea>\n </mlv-scrollbar>\n </ng-template>\n\n @if (description()) {\n <mlv-description [id]=\"_descriptionId()\">{{ description() }}</mlv-description>\n } @if (message()) {\n <mlv-message [id]=\"_messageId()\" [state]=\"resolvedState()\">\n {{ message() }}\n </mlv-message>\n } @if (maxLength()) {\n <!-- The wrapper's aside slot \u2014 a plain child of mlv-form-control-wrapper\n matches no projection slot and would be dropped. -->\n <div\n mlvFormControlWrapperAside\n [id]=\"countId()\"\n class=\"mlv-textarea__count\"\n [class.mlv-textarea__count--warning]=\"isCountWarning()\"\n [class.mlv-textarea__count--error]=\"isCountError()\"\n aria-live=\"polite\"\n >\n {{ charCount() }}/{{ maxLength() }}\n </div>\n }\n</mlv-form-control-wrapper>\n\n<ng-content select=\"[mlvTextareaAppend]\" />\n", styles: [".mlv-textarea{display:block}.mlv-textarea .mlv-form-control-wrapper__control-container{height:auto;align-items:flex-start;padding:0}.mlv-textarea .mlv-form-control-wrapper__clear{align-self:flex-start;margin-top:var(--mlv-spacing-1);margin-inline-end:var(--mlv-spacing-1)}.mlv-textarea__scrollbar{flex:1 1 auto;min-width:0}.mlv-textarea__scrollbar.mlv-scrollbar--disabled{overflow:visible}.mlv-textarea__field{box-sizing:border-box;padding:var(--mlv-spacing-1) var(--form-ctrl-h-padding, var(--mlv-spacing-3));margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--form-ctrl-font-size, var(--mlv-font-size-m))}.mlv-textarea__field *{box-sizing:border-box}.mlv-textarea__field{display:block;width:100%;resize:none;border:none;outline:none;appearance:none;background:none;line-height:1.5;color:var(--mlv-text-primary);box-sizing:border-box;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.mlv-textarea__field::-webkit-scrollbar{display:none}.mlv-textarea__field::placeholder{color:var(--mlv-text-tertiary)}.mlv-textarea__count{display:block;align-self:flex-end;text-align:right;font-size:var(--mlv-typography-ui-s-size);color:var(--mlv-text-tertiary)}.mlv-textarea__count--warning{color:var(--mlv-text-warning)}.mlv-textarea__count--error{color:var(--mlv-text-negative)}.mlv-textarea--auto-resize .mlv-textarea__field{resize:none;height:auto}\n"] }]
|
|
193
|
-
}], ctorParameters: () => [], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }], minRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "minRows", required: false }] }], maxRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxRows", required: false }] }], autoResize: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoResize", required: false }] }], maxLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxLength", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], _textareaRef: [{ type: i0.ViewChild, args: ['textareaEl', { isSignal: true }] }] } });
|
|
194
|
-
//# sourceMappingURL=textarea.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../../../../../libs/core/textarea/src/lib/textarea/textarea.ts","../../../../../../../libs/core/textarea/src/lib/textarea/textarea.html"],"names":[],"mappings":"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","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n type ElementRef,\n forwardRef,\n input,\n model,\n ViewEncapsulation,\n viewChild,\n effect,\n} from '@angular/core';\nimport type { MlvFormControl } from '@malva-ui/core/form-utils';\nimport {\n MlvSignalFormControlBase,\n MlvDescription,\n MlvFormControlWrapper,\n MlvFormControlWrapperControl,\n MlvHint,\n MlvLabel,\n MLV_FORM_CONTROL,\n MlvMessage,\n} from '@malva-ui/core/form-utils';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { MlvScrollbar } from '@malva-ui/core/scrollbar';\n\n@Component({\n selector: 'mlv-textarea',\n imports: [\n MlvLabel,\n MlvHint,\n MlvDescription,\n MlvFormControlWrapper,\n MlvFormControlWrapperControl,\n MlvMessage,\n MlvScrollbar,\n ],\n templateUrl: './textarea.html',\n styleUrl: './textarea.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: MLV_FORM_CONTROL,\n useExisting: forwardRef(() => MlvTextarea),\n },\n ],\n host: {\n class: 'mlv-textarea',\n '[class.mlv-textarea--default]': 'resolvedState() === \"default\"',\n '[class.mlv-textarea--success]': 'resolvedState() === \"success\"',\n '[class.mlv-textarea--info]': 'resolvedState() === \"info\"',\n '[class.mlv-textarea--warning]': 'resolvedState() === \"warning\"',\n '[class.mlv-textarea--error]': 'resolvedState() === \"error\"',\n '[class.mlv-textarea--disabled]': 'computedDisabled()',\n '[class.mlv-textarea--focused]': 'focused()',\n '[class.mlv-textarea--auto-resize]': 'autoResize()',\n },\n})\nexport class MlvTextarea\n extends MlvSignalFormControlBase<string>\n implements MlvFormControl\n{\n /** Placeholder text shown inside the textarea when empty. */\n readonly placeholder = input('');\n\n /** Number of visible text rows. Determines the default height. */\n readonly rows = input<number>(3);\n\n /** Minimum number of rows when autoResize is enabled. */\n readonly minRows = input<number | undefined>(undefined);\n\n /** Maximum number of rows when autoResize is enabled. */\n readonly maxRows = input<number | undefined>(undefined);\n\n /**\n * When true, the textarea grows vertically with content.\n * Respects minRows and maxRows constraints.\n */\n readonly autoResize = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /**\n * Maximum number of characters allowed.\n * When set, a character counter is displayed below the textarea.\n */\n readonly maxLength = input<number | undefined>(undefined);\n\n /** The character count ID for aria-describedby linking to the count element. */\n readonly countId = computed(() => `${this.id()}-count`);\n\n /**\n * @protected The textarea's `aria-describedby`: the shared description /\n * message ids from the base plus the character counter when one is rendered.\n * `null` when nothing describes the field, so no dangling IDREF is emitted.\n */\n protected readonly _textareaDescribedBy = computed(() => {\n const ids = this._describedBy();\n if (!this.maxLength()) return ids;\n return ids ? `${ids} ${this.countId()}` : this.countId();\n });\n\n /**\n * The textarea's text value — the signal-forms `FormValueControl` model.\n * Two-way bindable (`[(value)]`) and kept in sync with the bound field by\n * `[formField]` / `[formControl]` / `ngModel`. Replaces the former\n * `internalValue` signal + CVA transport.\n */\n readonly value = model<string>('');\n\n /** @private Reference to the native textarea element. */\n protected readonly _textareaRef =\n viewChild<ElementRef<HTMLTextAreaElement>>('textareaEl');\n\n /**\n * The current character count.\n */\n readonly charCount = computed(() => (this.value() ?? '').length);\n\n /**\n * Whether the character count is approaching the limit (>90%).\n */\n readonly isCountWarning = computed(() => {\n const max = this.maxLength();\n if (!max) return false;\n const ratio = this.charCount() / max;\n return ratio >= 0.9 && ratio < 1;\n });\n\n /**\n * Whether the character limit has been reached.\n */\n readonly isCountError = computed(() => {\n const max = this.maxLength();\n if (!max) return false;\n return this.charCount() >= max;\n });\n\n /**\n * Computed minimum height style for the scrollbar wrapper.\n * When rows = 1, matches `--mlv-height-m` (same as mlv-input).\n * For multi-row, grows proportionally: each additional row adds 1.5em.\n */\n readonly minHeightStyle = computed(() => {\n const rows = this.minRows() ?? this.rows();\n if (rows === 1) {\n return 'var(--mlv-height-m)';\n }\n // Base height for a single row equals --mlv-height-m (2.75rem).\n // Each extra row adds one line (1.5em at font-size ~0.875rem ≈ 1.3125rem).\n return `calc(var(--mlv-height-m) + ${rows - 1} * 1.5em)`;\n });\n\n /**\n * Computed maximum height style for the scrollbar wrapper based on maxRows input.\n */\n readonly maxHeightStyle = computed(() => {\n const maxRows = this.maxRows();\n if (!maxRows) return undefined;\n if (maxRows === 1) {\n return 'var(--mlv-height-m)';\n }\n return `calc(var(--mlv-height-m) + ${maxRows - 1} * 1.5em)`;\n });\n\n constructor() {\n super();\n // Re-run auto-resize when value changes\n effect(() => {\n this.value();\n if (this.autoResize()) {\n this._runAutoResize();\n }\n });\n }\n\n /** @private Adjusts textarea height to fit its content. */\n private _runAutoResize(): void {\n const el = this._textareaRef()?.nativeElement;\n if (!el) return;\n el.style.height = 'auto';\n let newHeight = el.scrollHeight;\n const minRows = this.minRows();\n const maxRows = this.maxRows();\n const lineHeight = parseFloat(getComputedStyle(el).lineHeight) || 24;\n const paddingTop = parseFloat(getComputedStyle(el).paddingTop) || 0;\n const paddingBottom = parseFloat(getComputedStyle(el).paddingBottom) || 0;\n\n if (minRows) {\n const minHeight = minRows * lineHeight + paddingTop + paddingBottom;\n newHeight = Math.max(newHeight, minHeight);\n }\n if (maxRows) {\n const maxHeight = maxRows * lineHeight + paddingTop + paddingBottom;\n newHeight = Math.min(newHeight, maxHeight);\n }\n el.style.height = `${newHeight}px`;\n }\n\n /** Handles the native input event. */\n onInput(event: Event): void {\n this.value.set((event.target as HTMLTextAreaElement).value);\n }\n\n /** Handles the native blur event. */\n onBlur(): void {\n this.setFocused(false);\n this._markTouched();\n }\n\n /** Whether the control holds a clearable value — Non-empty text present. */\n readonly hasValue = computed(() => (this.value() ?? '').length > 0);\n\n /** Clears the textarea value and marks the field touched. */\n clearValue(): void {\n this.value.set('');\n this._markTouched();\n }\n}\n","<ng-content select=\"[mlvTextareaPrepend]\" />\n\n<mlv-form-control-wrapper (clear)=\"clearValue()\">\n @if (label() || hint()) {\n <mlv-label [for]=\"id()\" [required]=\"required()\">\n {{ label() }} @if (hint()) {\n <mlv-hint>{{ hint() }}</mlv-hint>\n }\n </mlv-label>\n }\n\n <ng-template mlvFormControlWrapperControl>\n <mlv-scrollbar\n class=\"mlv-textarea__scrollbar\"\n [style.min-height]=\"minHeightStyle()\"\n [style.max-height]=\"maxHeightStyle()\"\n [disabled]=\"$any(autoResize())\"\n ariaLabel=\"Text area content\"\n >\n <textarea\n #textareaEl\n class=\"mlv-textarea__field\"\n [id]=\"id()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"computedDisabled()\"\n [readOnly]=\"readonly()\"\n [rows]=\"rows()\"\n [attr.maxlength]=\"maxLength() ?? null\"\n [value]=\"value() ?? ''\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-required]=\"required() || null\"\n [attr.aria-invalid]=\"resolvedState() === 'error'\"\n [attr.aria-describedby]=\"_textareaDescribedBy()\"\n (input)=\"onInput($event)\"\n (focus)=\"setFocused(true)\"\n (blur)=\"onBlur()\"\n ></textarea>\n </mlv-scrollbar>\n </ng-template>\n\n @if (description()) {\n <mlv-description [id]=\"_descriptionId()\">{{ description() }}</mlv-description>\n } @if (message()) {\n <mlv-message [id]=\"_messageId()\" [state]=\"resolvedState()\">\n {{ message() }}\n </mlv-message>\n } @if (maxLength()) {\n <!-- The wrapper's aside slot — a plain child of mlv-form-control-wrapper\n matches no projection slot and would be dropped. -->\n <div\n mlvFormControlWrapperAside\n [id]=\"countId()\"\n class=\"mlv-textarea__count\"\n [class.mlv-textarea__count--warning]=\"isCountWarning()\"\n [class.mlv-textarea__count--error]=\"isCountError()\"\n aria-live=\"polite\"\n >\n {{ charCount() }}/{{ maxLength() }}\n </div>\n }\n</mlv-form-control-wrapper>\n\n<ng-content select=\"[mlvTextareaAppend]\" />\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"malva-ui-core-textarea.js","sourceRoot":"","sources":["../../../../../libs/core/textarea/src/malva-ui-core-textarea.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
|
package/esm2022/tile/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/core/tile/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC","sourcesContent":["export * from './lib/tile/tile';\nexport * from './lib/tile-header';\n"]}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ViewEncapsulation, contentChild, inject, input, output, } from '@angular/core';
|
|
2
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
3
|
-
import { NgTemplateOutlet } from '@angular/common';
|
|
4
|
-
import { LucideGripVertical, LucideX } from '@lucide/angular';
|
|
5
|
-
import { MlvButton } from '@malva-ui/core/button';
|
|
6
|
-
import { MlvTileHeader } from '../tile-header';
|
|
7
|
-
import { MLV_TILE_I18N } from '@malva-ui/i18n';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export class MlvTile {
|
|
10
|
-
/** @protected The component's i18n strings signal. */
|
|
11
|
-
_i18n = inject(MLV_TILE_I18N);
|
|
12
|
-
size = input('m', /* @ts-ignore */
|
|
13
|
-
...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
14
|
-
tone = input('default', /* @ts-ignore */
|
|
15
|
-
...(ngDevMode ? [{ debugName: "tone" }] : /* istanbul ignore next */ []));
|
|
16
|
-
closable = input(false, { ...(ngDevMode ? { debugName: "closable" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
|
|
17
|
-
draggable = input(false, { ...(ngDevMode ? { debugName: "draggable" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
|
|
18
|
-
dragDisabled = input(false, { ...(ngDevMode ? { debugName: "dragDisabled" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
|
|
19
|
-
closed = output();
|
|
20
|
-
/** @protected Header slot template projected via `[mlvTileHeader]`. */
|
|
21
|
-
headerRef = contentChild(MlvTileHeader, /* @ts-ignore */
|
|
22
|
-
...(ngDevMode ? [{ debugName: "headerRef" }] : /* istanbul ignore next */ []));
|
|
23
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTile, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MlvTile, isStandalone: true, selector: "mlv-tile", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, closable: { classPropertyName: "closable", publicName: "closable", isSignal: true, isRequired: false, transformFunction: null }, draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, dragDisabled: { classPropertyName: "dragDisabled", publicName: "dragDisabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, host: { properties: { "class": "\"mlv-tile--size-\" + size()", "class.mlv-tile--tone-info": "tone() === \"info\"", "class.mlv-tile--tone-success": "tone() === \"success\"", "class.mlv-tile--tone-warning": "tone() === \"warning\"", "class.mlv-tile--tone-danger": "tone() === \"danger\"", "class.mlv-tile--draggable": "draggable()", "class.mlv-tile--drag-disabled": "dragDisabled()" }, classAttribute: "mlv-tile" }, queries: [{ propertyName: "headerRef", first: true, predicate: MlvTileHeader, descendants: true, isSignal: true }], ngImport: i0, template: "@if (headerRef() || closable() || draggable()) {\n<div class=\"mlv-tile__header\">\n @if (draggable()) {\n <span class=\"mlv-tile__drag-handle\" aria-hidden=\"true\">\n <svg lucideGripVertical size=\"16\" />\n </span>\n } @if (headerRef(); as headerTpl) {\n <ng-container [ngTemplateOutlet]=\"headerTpl.templateRef\" />\n } @if (closable()) {\n <button\n mlvButton\n variant=\"transparent\"\n shape=\"square\"\n size=\"xs\"\n class=\"mlv-tile__close\"\n type=\"button\"\n [attr.aria-label]=\"_i18n().close\"\n (click)=\"closed.emit()\"\n >\n <svg lucideX size=\"14\" />\n </button>\n }\n</div>\n}\n\n<div class=\"mlv-tile__body\">\n <ng-content />\n</div>\n", styles: ["@keyframes tile-enter{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.mlv-tile,.mlv-tile *,.mlv-tile:before,.mlv-tile:after,[class^=mlv-tile__],[class*=\" mlv-tile__\"],[class^=mlv-tile--],[class*=\" mlv-tile--\"]{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:var(--mlv-duration-instant)!important}}@keyframes tile-leave-fade{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px) scale(.98)}}@keyframes tile-leave-collapse{0%{max-height:31.25rem}to{max-height:0}}.mlv-tile{box-sizing:border-box;padding:0;margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m)}.mlv-tile *{box-sizing:border-box}.mlv-tile{position:relative;display:flex;flex-direction:column;background-color:var(--mlv-elevation-bg-1);color:var(--mlv-text-primary);box-shadow:var(--mlv-shadow-1);border-left:var(--mlv-stroke-width-thick) solid transparent;overflow:hidden;transition:box-shadow var(--mlv-duration-normal) var(--mlv-ease-out),background-color var(--mlv-duration-normal) var(--mlv-ease-out),border-left-color var(--mlv-duration-normal) var(--mlv-ease-out);animation:tile-enter var(--mlv-duration-normal) var(--mlv-ease-out) both}.mlv-tile--size-xs{padding:.5rem;border-radius:var(--mlv-radius-xs);gap:.25rem}.mlv-tile--size-s{padding:.625rem;border-radius:var(--mlv-radius-s);gap:.375rem}.mlv-tile--size-m{padding:var(--mlv-padding-s);border-radius:var(--mlv-radius-m);gap:.5rem}.mlv-tile--size-l{padding:var(--mlv-padding-m);border-radius:var(--mlv-radius-l);gap:.625rem}.mlv-tile--size-xl{padding:var(--mlv-padding-l);border-radius:var(--mlv-radius-xl);gap:.75rem}.mlv-tile--tone-info{border-left-color:var(--mlv-text-info)}.mlv-tile--tone-success{border-left-color:var(--mlv-text-positive)}.mlv-tile--tone-warning{border-left-color:var(--mlv-text-warning)}.mlv-tile--tone-danger{border-left-color:var(--mlv-text-negative)}.mlv-tile.sortable-drag{box-shadow:var(--mlv-shadow-floating);cursor:grabbing;z-index:var(--mlv-z-modal)}.mlv-tile.sortable-chosen{box-shadow:var(--mlv-shadow-3)}.mlv-tile.sortable-ghost{opacity:.35}.mlv-tile.sortable-drag,.mlv-tile.sortable-chosen,.mlv-tile.sortable-ghost{animation:none}.mlv-tile--leaving{overflow:hidden;pointer-events:none;animation:tile-leave-fade var(--mlv-duration-normal) var(--mlv-ease-out) forwards,tile-leave-collapse var(--mlv-duration-normal) var(--mlv-ease-out) forwards}.mlv-tile--drag-disabled{opacity:var(--mlv-disabled-opacity);cursor:not-allowed}.mlv-tile--drag-disabled .mlv-tile__drag-handle{cursor:not-allowed}.mlv-tile__drag-handle{display:flex;align-items:center;flex-shrink:0;cursor:grab;color:var(--mlv-text-secondary);touch-action:none}.sortable-drag .mlv-tile__drag-handle{cursor:grabbing}.mlv-tile__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:0;margin-bottom:.25rem}.mlv-tile__close{flex-shrink:0;margin-left:auto}.mlv-tile__body{flex:1 1 auto;min-height:0}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MlvButton, selector: "button[mlvButton], a[mlvButton]", inputs: ["variant", "shape", "disabled", "loading"] }, { kind: "component", type: LucideX, selector: "svg[lucideX]" }, { kind: "component", type: LucideGripVertical, selector: "svg[lucideGripVertical]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
25
|
-
}
|
|
26
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTile, decorators: [{
|
|
27
|
-
type: Component,
|
|
28
|
-
args: [{ selector: 'mlv-tile', imports: [NgTemplateOutlet, MlvButton, LucideX, LucideGripVertical], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
29
|
-
class: 'mlv-tile',
|
|
30
|
-
'[class]': '"mlv-tile--size-" + size()',
|
|
31
|
-
'[class.mlv-tile--tone-info]': 'tone() === "info"',
|
|
32
|
-
'[class.mlv-tile--tone-success]': 'tone() === "success"',
|
|
33
|
-
'[class.mlv-tile--tone-warning]': 'tone() === "warning"',
|
|
34
|
-
'[class.mlv-tile--tone-danger]': 'tone() === "danger"',
|
|
35
|
-
'[class.mlv-tile--draggable]': 'draggable()',
|
|
36
|
-
'[class.mlv-tile--drag-disabled]': 'dragDisabled()',
|
|
37
|
-
}, template: "@if (headerRef() || closable() || draggable()) {\n<div class=\"mlv-tile__header\">\n @if (draggable()) {\n <span class=\"mlv-tile__drag-handle\" aria-hidden=\"true\">\n <svg lucideGripVertical size=\"16\" />\n </span>\n } @if (headerRef(); as headerTpl) {\n <ng-container [ngTemplateOutlet]=\"headerTpl.templateRef\" />\n } @if (closable()) {\n <button\n mlvButton\n variant=\"transparent\"\n shape=\"square\"\n size=\"xs\"\n class=\"mlv-tile__close\"\n type=\"button\"\n [attr.aria-label]=\"_i18n().close\"\n (click)=\"closed.emit()\"\n >\n <svg lucideX size=\"14\" />\n </button>\n }\n</div>\n}\n\n<div class=\"mlv-tile__body\">\n <ng-content />\n</div>\n", styles: ["@keyframes tile-enter{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.mlv-tile,.mlv-tile *,.mlv-tile:before,.mlv-tile:after,[class^=mlv-tile__],[class*=\" mlv-tile__\"],[class^=mlv-tile--],[class*=\" mlv-tile--\"]{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:var(--mlv-duration-instant)!important}}@keyframes tile-leave-fade{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(-6px) scale(.98)}}@keyframes tile-leave-collapse{0%{max-height:31.25rem}to{max-height:0}}.mlv-tile{box-sizing:border-box;padding:0;margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m)}.mlv-tile *{box-sizing:border-box}.mlv-tile{position:relative;display:flex;flex-direction:column;background-color:var(--mlv-elevation-bg-1);color:var(--mlv-text-primary);box-shadow:var(--mlv-shadow-1);border-left:var(--mlv-stroke-width-thick) solid transparent;overflow:hidden;transition:box-shadow var(--mlv-duration-normal) var(--mlv-ease-out),background-color var(--mlv-duration-normal) var(--mlv-ease-out),border-left-color var(--mlv-duration-normal) var(--mlv-ease-out);animation:tile-enter var(--mlv-duration-normal) var(--mlv-ease-out) both}.mlv-tile--size-xs{padding:.5rem;border-radius:var(--mlv-radius-xs);gap:.25rem}.mlv-tile--size-s{padding:.625rem;border-radius:var(--mlv-radius-s);gap:.375rem}.mlv-tile--size-m{padding:var(--mlv-padding-s);border-radius:var(--mlv-radius-m);gap:.5rem}.mlv-tile--size-l{padding:var(--mlv-padding-m);border-radius:var(--mlv-radius-l);gap:.625rem}.mlv-tile--size-xl{padding:var(--mlv-padding-l);border-radius:var(--mlv-radius-xl);gap:.75rem}.mlv-tile--tone-info{border-left-color:var(--mlv-text-info)}.mlv-tile--tone-success{border-left-color:var(--mlv-text-positive)}.mlv-tile--tone-warning{border-left-color:var(--mlv-text-warning)}.mlv-tile--tone-danger{border-left-color:var(--mlv-text-negative)}.mlv-tile.sortable-drag{box-shadow:var(--mlv-shadow-floating);cursor:grabbing;z-index:var(--mlv-z-modal)}.mlv-tile.sortable-chosen{box-shadow:var(--mlv-shadow-3)}.mlv-tile.sortable-ghost{opacity:.35}.mlv-tile.sortable-drag,.mlv-tile.sortable-chosen,.mlv-tile.sortable-ghost{animation:none}.mlv-tile--leaving{overflow:hidden;pointer-events:none;animation:tile-leave-fade var(--mlv-duration-normal) var(--mlv-ease-out) forwards,tile-leave-collapse var(--mlv-duration-normal) var(--mlv-ease-out) forwards}.mlv-tile--drag-disabled{opacity:var(--mlv-disabled-opacity);cursor:not-allowed}.mlv-tile--drag-disabled .mlv-tile__drag-handle{cursor:not-allowed}.mlv-tile__drag-handle{display:flex;align-items:center;flex-shrink:0;cursor:grab;color:var(--mlv-text-secondary);touch-action:none}.sortable-drag .mlv-tile__drag-handle{cursor:grabbing}.mlv-tile__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-height:0;margin-bottom:.25rem}.mlv-tile__close{flex-shrink:0;margin-left:auto}.mlv-tile__body{flex:1 1 auto;min-height:0}\n"] }]
|
|
38
|
-
}], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], tone: [{ type: i0.Input, args: [{ isSignal: true, alias: "tone", required: false }] }], closable: [{ type: i0.Input, args: [{ isSignal: true, alias: "closable", required: false }] }], draggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "draggable", required: false }] }], dragDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "dragDisabled", required: false }] }], closed: [{ type: i0.Output, args: ["closed"] }], headerRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => MlvTileHeader), { isSignal: true }] }] } });
|
|
39
|
-
//# sourceMappingURL=tile.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tile.js","sourceRoot":"","sources":["../../../../../../../libs/core/tile/src/lib/tile/tile.ts","../../../../../../../libs/core/tile/src/lib/tile/tile.html"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,MAAM,EACN,KAAK,EACL,MAAM,GACP,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;;AAwB/C,MAAM,OAAO,OAAO;IAClB,sDAAsD;IACnC,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IAExC,IAAI,GAAG,KAAK,CAAc,GAAG;6EAAC,CAAC;IAC/B,IAAI,GAAG,KAAK,CAAc,SAAS;6EAAC,CAAC;IACrC,QAAQ,GAAG,KAAK,CAAwB,KAAK,gFACpD,SAAS,EAAE,qBAAqB,GAChC,CAAC;IACM,SAAS,GAAG,KAAK,CAAwB,KAAK,iFACrD,SAAS,EAAE,qBAAqB,GAChC,CAAC;IACM,YAAY,GAAG,KAAK,CAAwB,KAAK,oFACxD,SAAS,EAAE,qBAAqB,GAChC,CAAC;IAEM,MAAM,GAAG,MAAM,EAAQ,CAAC;IAEjC,uEAAuE;IACpD,SAAS,GAAG,YAAY,CAAC,aAAa;kFAAC,CAAC;uGAnBhD,OAAO;2FAAP,OAAO,grCAmB0B,aAAa,gEC1D3D,4rBA4BA,qiGDLY,gBAAgB,oJAAE,SAAS,iIAAE,OAAO,yDAAE,kBAAkB;;2FAgBvD,OAAO;kBAlBnB,SAAS;+BACE,UAAU,WACX,CAAC,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC,iBAGpD,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,QACzC;wBACJ,KAAK,EAAE,UAAU;wBACjB,SAAS,EAAE,4BAA4B;wBACvC,6BAA6B,EAAE,mBAAmB;wBAClD,gCAAgC,EAAE,sBAAsB;wBACxD,gCAAgC,EAAE,sBAAsB;wBACxD,+BAA+B,EAAE,qBAAqB;wBACtD,6BAA6B,EAAE,aAAa;wBAC5C,iCAAiC,EAAE,gBAAgB;qBACpD;ymBAqB2C,aAAa","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n contentChild,\n inject,\n input,\n output,\n} from '@angular/core';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { LucideGripVertical, LucideX } from '@lucide/angular';\nimport { MlvButton } from '@malva-ui/core/button';\nimport { MlvTileHeader } from '../tile-header';\nimport { MLV_TILE_I18N } from '@malva-ui/i18n';\nimport type { MlvTone } from '@malva-ui/cdk/utils';\n\nexport type MlvTileSize = 'xs' | 's' | 'm' | 'l' | 'xl';\nexport type MlvTileTone = MlvTone | 'default';\n\n@Component({\n selector: 'mlv-tile',\n imports: [NgTemplateOutlet, MlvButton, LucideX, LucideGripVertical],\n templateUrl: './tile.html',\n styleUrl: './tile.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mlv-tile',\n '[class]': '\"mlv-tile--size-\" + size()',\n '[class.mlv-tile--tone-info]': 'tone() === \"info\"',\n '[class.mlv-tile--tone-success]': 'tone() === \"success\"',\n '[class.mlv-tile--tone-warning]': 'tone() === \"warning\"',\n '[class.mlv-tile--tone-danger]': 'tone() === \"danger\"',\n '[class.mlv-tile--draggable]': 'draggable()',\n '[class.mlv-tile--drag-disabled]': 'dragDisabled()',\n },\n})\nexport class MlvTile {\n /** @protected The component's i18n strings signal. */\n protected readonly _i18n = inject(MLV_TILE_I18N);\n\n readonly size = input<MlvTileSize>('m');\n readonly tone = input<MlvTileTone>('default');\n readonly closable = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n readonly draggable = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n readonly dragDisabled = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n readonly closed = output<void>();\n\n /** @protected Header slot template projected via `[mlvTileHeader]`. */\n protected readonly headerRef = contentChild(MlvTileHeader);\n}\n","@if (headerRef() || closable() || draggable()) {\n<div class=\"mlv-tile__header\">\n @if (draggable()) {\n <span class=\"mlv-tile__drag-handle\" aria-hidden=\"true\">\n <svg lucideGripVertical size=\"16\" />\n </span>\n } @if (headerRef(); as headerTpl) {\n <ng-container [ngTemplateOutlet]=\"headerTpl.templateRef\" />\n } @if (closable()) {\n <button\n mlvButton\n variant=\"transparent\"\n shape=\"square\"\n size=\"xs\"\n class=\"mlv-tile__close\"\n type=\"button\"\n [attr.aria-label]=\"_i18n().close\"\n (click)=\"closed.emit()\"\n >\n <svg lucideX size=\"14\" />\n </button>\n }\n</div>\n}\n\n<div class=\"mlv-tile__body\">\n <ng-content />\n</div>\n"]}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { MlvStructural } from '@malva-ui/cdk/utils';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class MlvTileHeader extends MlvStructural {
|
|
5
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTileHeader, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
6
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MlvTileHeader, isStandalone: true, selector: "[mlvTileHeader]", usesInheritance: true, ngImport: i0 });
|
|
7
|
-
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTileHeader, decorators: [{
|
|
9
|
-
type: Directive,
|
|
10
|
-
args: [{
|
|
11
|
-
selector: '[mlvTileHeader]',
|
|
12
|
-
}]
|
|
13
|
-
}] });
|
|
14
|
-
//# sourceMappingURL=tile-header.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tile-header.js","sourceRoot":"","sources":["../../../../../../libs/core/tile/src/lib/tile-header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;;AAKpD,MAAM,OAAO,aAAc,SAAQ,aAAa;uGAAnC,aAAa;2FAAb,aAAa;;2FAAb,aAAa;kBAHzB,SAAS;mBAAC;oBACT,QAAQ,EAAE,iBAAiB;iBAC5B","sourcesContent":["import { Directive } from '@angular/core';\nimport { MlvStructural } from '@malva-ui/cdk/utils';\n\n@Directive({\n selector: '[mlvTileHeader]',\n})\nexport class MlvTileHeader extends MlvStructural {}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"malva-ui-core-tile.js","sourceRoot":"","sources":["../../../../../libs/core/tile/src/malva-ui-core-tile.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAC","sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"]}
|