@malva-ui/core 0.1.13 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +4 -1
- package/README.md +15 -0
- package/docs/ai/avatar.md +2 -0
- package/docs/ai/breadcrumb.md +67 -7
- package/docs/ai/button.md +74 -19
- package/docs/ai/card.md +8 -6
- package/docs/ai/chat.md +59 -45
- package/docs/ai/checkbox.md +12 -0
- package/docs/ai/combobox.md +18 -2
- package/docs/ai/copy-to-clipboard.md +1 -1
- package/docs/ai/core.md +15 -0
- package/docs/ai/data-table.md +89 -54
- package/docs/ai/dialog.md +76 -67
- package/docs/ai/drawer.md +15 -12
- package/docs/ai/dropdown.md +24 -19
- package/docs/ai/empty-state.md +3 -3
- package/docs/ai/filter.md +24 -5
- package/docs/ai/form-utils.md +160 -5
- package/docs/ai/icon-toggle.md +160 -0
- package/docs/ai/input.md +30 -0
- package/docs/ai/layout.md +23 -0
- package/docs/ai/list.md +10 -6
- package/docs/ai/menu.md +75 -1
- package/docs/ai/page.md +220 -60
- package/docs/ai/radio.md +9 -0
- package/docs/ai/scrollbar.md +30 -8
- package/docs/ai/segmented.md +35 -35
- package/docs/ai/select.md +30 -5
- package/docs/ai/sidebar.md +45 -27
- package/docs/ai/switch.md +114 -19
- package/docs/ai/table.md +69 -0
- package/docs/ai/tabs.md +2 -1
- package/docs/ai/tile.md +311 -85
- package/docs/ai/timeline.md +63 -39
- package/docs/ai/tokenizer.md +21 -5
- package/docs/ai/tooltip.md +5 -5
- package/docs/ai/view-variant.md +75 -0
- package/fesm2022/malva-ui-core-accordion.mjs +167 -0
- package/fesm2022/malva-ui-core-accordion.mjs.map +1 -0
- package/fesm2022/malva-ui-core-action-bar.mjs +111 -0
- package/fesm2022/malva-ui-core-action-bar.mjs.map +1 -0
- package/fesm2022/malva-ui-core-alert.mjs +173 -0
- package/fesm2022/malva-ui-core-alert.mjs.map +1 -0
- package/fesm2022/malva-ui-core-autocomplete.mjs +775 -0
- package/fesm2022/malva-ui-core-autocomplete.mjs.map +1 -0
- package/fesm2022/malva-ui-core-avatar-group.mjs +224 -0
- package/fesm2022/malva-ui-core-avatar-group.mjs.map +1 -0
- package/fesm2022/malva-ui-core-avatar.mjs +247 -0
- package/fesm2022/malva-ui-core-avatar.mjs.map +1 -0
- package/fesm2022/malva-ui-core-badge.mjs +122 -0
- package/fesm2022/malva-ui-core-badge.mjs.map +1 -0
- package/fesm2022/malva-ui-core-bottom-nav.mjs +161 -0
- package/fesm2022/malva-ui-core-bottom-nav.mjs.map +1 -0
- package/fesm2022/malva-ui-core-breadcrumb.mjs +494 -0
- package/fesm2022/malva-ui-core-breadcrumb.mjs.map +1 -0
- package/fesm2022/malva-ui-core-button.mjs +406 -0
- package/fesm2022/malva-ui-core-button.mjs.map +1 -0
- package/fesm2022/malva-ui-core-calendar.mjs +938 -0
- package/fesm2022/malva-ui-core-calendar.mjs.map +1 -0
- package/fesm2022/malva-ui-core-card.mjs +164 -0
- package/fesm2022/malva-ui-core-card.mjs.map +1 -0
- package/fesm2022/malva-ui-core-chat.mjs +825 -0
- package/fesm2022/malva-ui-core-chat.mjs.map +1 -0
- package/fesm2022/malva-ui-core-checkbox.mjs +272 -0
- package/fesm2022/malva-ui-core-checkbox.mjs.map +1 -0
- package/fesm2022/malva-ui-core-chip.mjs +176 -0
- package/fesm2022/malva-ui-core-chip.mjs.map +1 -0
- package/fesm2022/malva-ui-core-color-picker.mjs +1204 -0
- package/fesm2022/malva-ui-core-color-picker.mjs.map +1 -0
- package/fesm2022/malva-ui-core-combobox.mjs +945 -0
- package/fesm2022/malva-ui-core-combobox.mjs.map +1 -0
- package/fesm2022/malva-ui-core-copy-to-clipboard.mjs +255 -0
- package/fesm2022/malva-ui-core-copy-to-clipboard.mjs.map +1 -0
- package/fesm2022/malva-ui-core-data-table.mjs +2696 -0
- package/fesm2022/malva-ui-core-data-table.mjs.map +1 -0
- package/fesm2022/malva-ui-core-date-range-picker.mjs +276 -0
- package/fesm2022/malva-ui-core-date-range-picker.mjs.map +1 -0
- package/fesm2022/malva-ui-core-day-picker.mjs +131 -0
- package/fesm2022/malva-ui-core-day-picker.mjs.map +1 -0
- package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs +94 -0
- package/fesm2022/malva-ui-core-dialog-routable-dialog-CvjXMtlD.mjs.map +1 -0
- package/fesm2022/malva-ui-core-dialog.mjs +1223 -0
- package/fesm2022/malva-ui-core-dialog.mjs.map +1 -0
- package/fesm2022/malva-ui-core-divider.mjs +80 -0
- package/fesm2022/malva-ui-core-divider.mjs.map +1 -0
- package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs +94 -0
- package/fesm2022/malva-ui-core-drawer-routable-drawer-qUk6Etnx.mjs.map +1 -0
- package/fesm2022/malva-ui-core-drawer.mjs +814 -0
- package/fesm2022/malva-ui-core-drawer.mjs.map +1 -0
- package/fesm2022/malva-ui-core-dropdown.mjs +994 -0
- package/fesm2022/malva-ui-core-dropdown.mjs.map +1 -0
- package/fesm2022/malva-ui-core-empty-state.mjs +50 -0
- package/fesm2022/malva-ui-core-empty-state.mjs.map +1 -0
- package/fesm2022/malva-ui-core-expand.mjs +130 -0
- package/fesm2022/malva-ui-core-expand.mjs.map +1 -0
- package/fesm2022/malva-ui-core-file-upload.mjs +451 -0
- package/fesm2022/malva-ui-core-file-upload.mjs.map +1 -0
- package/fesm2022/malva-ui-core-filter.mjs +1627 -0
- package/fesm2022/malva-ui-core-filter.mjs.map +1 -0
- package/fesm2022/malva-ui-core-form-utils-testing.mjs +39 -0
- package/fesm2022/malva-ui-core-form-utils-testing.mjs.map +1 -0
- package/fesm2022/malva-ui-core-form-utils.mjs +977 -0
- package/fesm2022/malva-ui-core-form-utils.mjs.map +1 -0
- package/fesm2022/malva-ui-core-form.mjs +283 -0
- package/fesm2022/malva-ui-core-form.mjs.map +1 -0
- package/fesm2022/malva-ui-core-icon-toggle.mjs +120 -0
- package/fesm2022/malva-ui-core-icon-toggle.mjs.map +1 -0
- package/fesm2022/malva-ui-core-input.mjs +375 -0
- package/fesm2022/malva-ui-core-input.mjs.map +1 -0
- package/fesm2022/malva-ui-core-kbd.mjs +131 -0
- package/fesm2022/malva-ui-core-kbd.mjs.map +1 -0
- package/fesm2022/malva-ui-core-layout.mjs +212 -0
- package/fesm2022/malva-ui-core-layout.mjs.map +1 -0
- package/fesm2022/malva-ui-core-link.mjs +89 -0
- package/fesm2022/malva-ui-core-link.mjs.map +1 -0
- package/fesm2022/malva-ui-core-list.mjs +413 -0
- package/fesm2022/malva-ui-core-list.mjs.map +1 -0
- package/fesm2022/malva-ui-core-loader.mjs +141 -0
- package/fesm2022/malva-ui-core-loader.mjs.map +1 -0
- package/fesm2022/malva-ui-core-menu.mjs +2540 -0
- package/fesm2022/malva-ui-core-menu.mjs.map +1 -0
- package/fesm2022/malva-ui-core-notification.mjs +201 -0
- package/fesm2022/malva-ui-core-notification.mjs.map +1 -0
- package/fesm2022/malva-ui-core-number-input.mjs +404 -0
- package/fesm2022/malva-ui-core-number-input.mjs.map +1 -0
- package/fesm2022/malva-ui-core-page.mjs +1898 -0
- package/fesm2022/malva-ui-core-page.mjs.map +1 -0
- package/fesm2022/malva-ui-core-pagination.mjs +458 -0
- package/fesm2022/malva-ui-core-pagination.mjs.map +1 -0
- package/fesm2022/malva-ui-core-pin-input.mjs +405 -0
- package/fesm2022/malva-ui-core-pin-input.mjs.map +1 -0
- package/fesm2022/malva-ui-core-popup.mjs +1488 -0
- package/fesm2022/malva-ui-core-popup.mjs.map +1 -0
- package/fesm2022/malva-ui-core-progress.mjs +109 -0
- package/fesm2022/malva-ui-core-progress.mjs.map +1 -0
- package/fesm2022/malva-ui-core-radio.mjs +317 -0
- package/fesm2022/malva-ui-core-radio.mjs.map +1 -0
- package/fesm2022/malva-ui-core-rating.mjs +236 -0
- package/fesm2022/malva-ui-core-rating.mjs.map +1 -0
- package/fesm2022/malva-ui-core-scrollbar.mjs +430 -0
- package/fesm2022/malva-ui-core-scrollbar.mjs.map +1 -0
- package/fesm2022/malva-ui-core-search-field.mjs +578 -0
- package/fesm2022/malva-ui-core-search-field.mjs.map +1 -0
- package/fesm2022/malva-ui-core-segmented.mjs +458 -0
- package/fesm2022/malva-ui-core-segmented.mjs.map +1 -0
- package/fesm2022/malva-ui-core-select.mjs +855 -0
- package/fesm2022/malva-ui-core-select.mjs.map +1 -0
- package/fesm2022/malva-ui-core-sidebar.mjs +1504 -0
- package/fesm2022/malva-ui-core-sidebar.mjs.map +1 -0
- package/fesm2022/malva-ui-core-skeleton.mjs +85 -0
- package/fesm2022/malva-ui-core-skeleton.mjs.map +1 -0
- package/fesm2022/malva-ui-core-slider.mjs +514 -0
- package/fesm2022/malva-ui-core-slider.mjs.map +1 -0
- package/fesm2022/malva-ui-core-split-pane.mjs +359 -0
- package/fesm2022/malva-ui-core-split-pane.mjs.map +1 -0
- package/fesm2022/malva-ui-core-status-indicator.mjs +78 -0
- package/fesm2022/malva-ui-core-status-indicator.mjs.map +1 -0
- package/fesm2022/malva-ui-core-stepper.mjs +332 -0
- package/fesm2022/malva-ui-core-stepper.mjs.map +1 -0
- package/fesm2022/malva-ui-core-switch.mjs +272 -0
- package/fesm2022/malva-ui-core-switch.mjs.map +1 -0
- package/fesm2022/malva-ui-core-table.mjs +79 -0
- package/fesm2022/malva-ui-core-table.mjs.map +1 -0
- package/fesm2022/malva-ui-core-tabs.mjs +794 -0
- package/fesm2022/malva-ui-core-tabs.mjs.map +1 -0
- package/fesm2022/malva-ui-core-textarea.mjs +201 -0
- package/fesm2022/malva-ui-core-textarea.mjs.map +1 -0
- package/fesm2022/malva-ui-core-tile.mjs +1404 -0
- package/fesm2022/malva-ui-core-tile.mjs.map +1 -0
- package/fesm2022/malva-ui-core-time-picker.mjs +533 -0
- package/fesm2022/malva-ui-core-time-picker.mjs.map +1 -0
- package/fesm2022/malva-ui-core-timeline.mjs +216 -0
- package/fesm2022/malva-ui-core-timeline.mjs.map +1 -0
- package/fesm2022/malva-ui-core-title.mjs +178 -0
- package/fesm2022/malva-ui-core-title.mjs.map +1 -0
- package/fesm2022/malva-ui-core-toast.mjs +749 -0
- package/fesm2022/malva-ui-core-toast.mjs.map +1 -0
- package/fesm2022/malva-ui-core-tokenizer.mjs +502 -0
- package/fesm2022/malva-ui-core-tokenizer.mjs.map +1 -0
- package/fesm2022/malva-ui-core-toolbar.mjs +141 -0
- package/fesm2022/malva-ui-core-toolbar.mjs.map +1 -0
- package/fesm2022/malva-ui-core-tooltip.mjs +432 -0
- package/fesm2022/malva-ui-core-tooltip.mjs.map +1 -0
- package/fesm2022/malva-ui-core-tree.mjs +505 -0
- package/fesm2022/malva-ui-core-tree.mjs.map +1 -0
- package/fesm2022/malva-ui-core-view-variant.mjs +292 -0
- package/fesm2022/malva-ui-core-view-variant.mjs.map +1 -0
- package/fesm2022/malva-ui-core.mjs +77 -0
- package/fesm2022/malva-ui-core.mjs.map +1 -0
- package/package.json +179 -156
- package/styles/malva-ui.css +253 -220
- package/styles/tokens.md +174 -173
- package/table/README.md +46 -0
- package/types/malva-ui-core-accordion.d.ts +121 -0
- package/types/malva-ui-core-action-bar.d.ts +82 -0
- package/types/malva-ui-core-alert.d.ts +131 -0
- package/types/malva-ui-core-autocomplete.d.ts +301 -0
- package/types/malva-ui-core-avatar-group.d.ts +119 -0
- package/types/malva-ui-core-avatar.d.ts +156 -0
- package/types/malva-ui-core-badge.d.ts +97 -0
- package/types/malva-ui-core-bottom-nav.d.ts +104 -0
- package/types/malva-ui-core-breadcrumb.d.ts +308 -0
- package/types/malva-ui-core-button.d.ts +194 -0
- package/types/malva-ui-core-calendar.d.ts +339 -0
- package/types/malva-ui-core-card.d.ts +88 -0
- package/types/malva-ui-core-chat.d.ts +375 -0
- package/types/malva-ui-core-checkbox.d.ts +158 -0
- package/types/malva-ui-core-chip.d.ts +128 -0
- package/types/malva-ui-core-color-picker.d.ts +442 -0
- package/types/malva-ui-core-combobox.d.ts +419 -0
- package/types/malva-ui-core-copy-to-clipboard.d.ts +148 -0
- package/types/malva-ui-core-data-table.d.ts +1074 -0
- package/types/malva-ui-core-date-range-picker.d.ts +149 -0
- package/types/malva-ui-core-day-picker.d.ts +55 -0
- package/types/malva-ui-core-dialog.d.ts +597 -0
- package/types/malva-ui-core-divider.d.ts +68 -0
- package/types/malva-ui-core-drawer.d.ts +333 -0
- package/types/malva-ui-core-dropdown.d.ts +592 -0
- package/types/malva-ui-core-empty-state.d.ts +37 -0
- package/types/malva-ui-core-expand.d.ts +102 -0
- package/types/malva-ui-core-file-upload.d.ts +267 -0
- package/types/malva-ui-core-filter.d.ts +552 -0
- package/types/malva-ui-core-form-utils-testing.d.ts +50 -0
- package/types/malva-ui-core-form-utils.d.ts +579 -0
- package/types/malva-ui-core-form.d.ts +176 -0
- package/types/malva-ui-core-icon-toggle.d.ts +80 -0
- package/types/malva-ui-core-input.d.ts +262 -0
- package/types/malva-ui-core-kbd.d.ts +56 -0
- package/types/malva-ui-core-layout.d.ts +70 -0
- package/types/malva-ui-core-link.d.ts +28 -0
- package/types/malva-ui-core-list.d.ts +252 -0
- package/types/malva-ui-core-loader.d.ts +89 -0
- package/types/malva-ui-core-menu.d.ts +954 -0
- package/types/malva-ui-core-notification.d.ts +122 -0
- package/types/malva-ui-core-number-input.d.ts +167 -0
- package/types/malva-ui-core-page.d.ts +799 -0
- package/types/malva-ui-core-pagination.d.ts +261 -0
- package/types/malva-ui-core-pin-input.d.ts +203 -0
- package/types/malva-ui-core-popup.d.ts +834 -0
- package/types/malva-ui-core-progress.d.ts +73 -0
- package/types/malva-ui-core-radio.d.ts +130 -0
- package/types/malva-ui-core-rating.d.ts +115 -0
- package/types/malva-ui-core-scrollbar.d.ts +203 -0
- package/types/malva-ui-core-search-field.d.ts +408 -0
- package/types/malva-ui-core-segmented.d.ts +206 -0
- package/types/malva-ui-core-select.d.ts +456 -0
- package/types/malva-ui-core-sidebar.d.ts +698 -0
- package/types/malva-ui-core-skeleton.d.ts +64 -0
- package/types/malva-ui-core-slider.d.ts +219 -0
- package/types/malva-ui-core-split-pane.d.ts +149 -0
- package/types/malva-ui-core-status-indicator.d.ts +65 -0
- package/types/malva-ui-core-stepper.d.ts +168 -0
- package/types/malva-ui-core-switch.d.ts +146 -0
- package/types/malva-ui-core-table.d.ts +37 -0
- package/types/malva-ui-core-tabs.d.ts +339 -0
- package/types/malva-ui-core-textarea.d.ts +79 -0
- package/types/malva-ui-core-tile.d.ts +373 -0
- package/types/malva-ui-core-time-picker.d.ts +141 -0
- package/types/malva-ui-core-timeline.d.ts +188 -0
- package/types/malva-ui-core-title.d.ts +66 -0
- package/types/malva-ui-core-toast.d.ts +432 -0
- package/types/malva-ui-core-tokenizer.d.ts +217 -0
- package/types/malva-ui-core-toolbar.d.ts +91 -0
- package/types/malva-ui-core-tooltip.d.ts +200 -0
- package/types/malva-ui-core-tree.d.ts +289 -0
- package/types/malva-ui-core-view-variant.d.ts +207 -0
- package/types/malva-ui-core.d.ts +72 -0
- package/view-variant/README.md +3 -0
- package/accordion/index.d.ts +0 -3
- package/accordion/lib/accordion/accordion.d.ts +0 -47
- package/accordion/lib/accordion-item/accordion-header.d.ts +0 -22
- package/accordion/lib/accordion-item/accordion-item.d.ts +0 -49
- package/accordion/malva-ui-core-accordion.d.ts +0 -5
- package/action-bar/index.d.ts +0 -4
- package/action-bar/lib/action-bar/action-bar.d.ts +0 -59
- package/action-bar/lib/action-bar/components/action-bar-actions.d.ts +0 -9
- package/action-bar/lib/action-bar/components/action-bar-logo.d.ts +0 -5
- package/action-bar/lib/action-bar/components/action-bar-spacer.d.ts +0 -5
- package/action-bar/malva-ui-core-action-bar.d.ts +0 -5
- package/alert/index.d.ts +0 -2
- package/alert/lib/alert/alert.d.ts +0 -84
- package/alert/lib/alert/alert.directives.d.ts +0 -44
- package/alert/malva-ui-core-alert.d.ts +0 -5
- package/autocomplete/index.d.ts +0 -1
- package/autocomplete/lib/autocomplete/autocomplete.d.ts +0 -296
- package/autocomplete/malva-ui-core-autocomplete.d.ts +0 -5
- package/avatar/index.d.ts +0 -2
- package/avatar/lib/avatar/avatar.d.ts +0 -125
- package/avatar/lib/color-from-text.pipe.d.ts +0 -21
- package/avatar/malva-ui-core-avatar.d.ts +0 -5
- package/avatar-group/index.d.ts +0 -1
- package/avatar-group/lib/avatar-group/avatar-group.d.ts +0 -115
- package/avatar-group/malva-ui-core-avatar-group.d.ts +0 -5
- package/badge/index.d.ts +0 -2
- package/badge/lib/badge/badge.d.ts +0 -59
- package/badge/lib/badge-icon.d.ts +0 -35
- package/badge/malva-ui-core-badge.d.ts +0 -5
- package/bottom-nav/index.d.ts +0 -1
- package/bottom-nav/lib/bottom-nav/bottom-nav.d.ts +0 -99
- package/bottom-nav/malva-ui-core-bottom-nav.d.ts +0 -5
- package/breadcrumb/index.d.ts +0 -5
- package/breadcrumb/lib/breadcrumb/breadcrumb-item-host.d.ts +0 -32
- package/breadcrumb/lib/breadcrumb/breadcrumb-item.d.ts +0 -41
- package/breadcrumb/lib/breadcrumb/breadcrumb-separator.d.ts +0 -31
- package/breadcrumb/lib/breadcrumb/breadcrumb.d.ts +0 -151
- package/breadcrumb/lib/breadcrumb/breadcrumb.types.d.ts +0 -26
- package/breadcrumb/malva-ui-core-breadcrumb.d.ts +0 -5
- package/button/index.d.ts +0 -7
- package/button/lib/button/button.d.ts +0 -61
- package/button/lib/button-close/button-close.d.ts +0 -24
- package/button/lib/button-group/button-group.d.ts +0 -21
- package/button/lib/button-split/button-split.d.ts +0 -21
- package/button/lib/button-toggle/button-toggle.d.ts +0 -33
- package/button/lib/button-variant.token.d.ts +0 -13
- package/button/lib/button.directives.d.ts +0 -14
- package/button/lib/button.types.d.ts +0 -8
- package/button/malva-ui-core-button.d.ts +0 -5
- package/calendar/index.d.ts +0 -3
- package/calendar/lib/calendar/calendar.d.ts +0 -182
- package/calendar/lib/date-provider/date-adapter.d.ts +0 -92
- package/calendar/lib/date-provider/native-date-adapter.d.ts +0 -60
- package/calendar/malva-ui-core-calendar.d.ts +0 -5
- package/card/index.d.ts +0 -5
- package/card/lib/card/card.d.ts +0 -43
- package/card/lib/card-actions-def.d.ts +0 -10
- package/card/lib/card-footer-def.d.ts +0 -13
- package/card/lib/card-header-def.d.ts +0 -10
- package/card/lib/card-subheader-def.d.ts +0 -16
- package/card/malva-ui-core-card.d.ts +0 -5
- package/chat/index.d.ts +0 -9
- package/chat/lib/chat/chat.d.ts +0 -133
- package/chat/lib/chat-audio/chat-audio.d.ts +0 -51
- package/chat/lib/chat-audio/chat-audio.service.d.ts +0 -21
- package/chat/lib/chat-date/chat-date.d.ts +0 -16
- package/chat/lib/chat-format.d.ts +0 -5
- package/chat/lib/chat-media-grid/chat-media-grid.d.ts +0 -32
- package/chat/lib/chat-message/chat-message.d.ts +0 -45
- package/chat/lib/chat-render-list.d.ts +0 -16
- package/chat/lib/chat-tokens.d.ts +0 -25
- package/chat/lib/chat-typing/chat-typing.d.ts +0 -16
- package/chat/lib/chat.types.d.ts +0 -80
- package/chat/lib/defs/chat-author-def.d.ts +0 -30
- package/chat/lib/defs/chat-date-def.d.ts +0 -22
- package/chat/lib/defs/chat-message-def.d.ts +0 -23
- package/chat/malva-ui-core-chat.d.ts +0 -5
- package/checkbox/index.d.ts +0 -3
- package/checkbox/lib/checkbox/checkbox.d.ts +0 -129
- package/checkbox/lib/checkbox-group/checkbox-group.d.ts +0 -24
- package/checkbox/lib/checkbox-group-token.d.ts +0 -6
- package/checkbox/malva-ui-core-checkbox.d.ts +0 -5
- package/chip/index.d.ts +0 -2
- package/chip/lib/chip/chip.d.ts +0 -107
- package/chip/lib/chip/chip.directives.d.ts +0 -18
- package/chip/malva-ui-core-chip.d.ts +0 -5
- package/color-picker/index.d.ts +0 -3
- package/color-picker/lib/color-picker/color-picker.d.ts +0 -188
- package/color-picker/lib/color-picker-popup/color-picker-popup.d.ts +0 -151
- package/color-picker/lib/color-utils/color-utils.d.ts +0 -102
- package/color-picker/malva-ui-core-color-picker.d.ts +0 -5
- package/combobox/index.d.ts +0 -2
- package/combobox/lib/combobox/combobox.d.ts +0 -400
- package/combobox/lib/combobox-template.directives.d.ts +0 -10
- package/combobox/malva-ui-core-combobox.d.ts +0 -5
- package/copy-to-clipboard/index.d.ts +0 -1
- package/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.d.ts +0 -130
- package/copy-to-clipboard/malva-ui-core-copy-to-clipboard.d.ts +0 -5
- package/data-table/index.d.ts +0 -8
- package/data-table/lib/data-source.d.ts +0 -5
- package/data-table/lib/data-table/data-table-layout.d.ts +0 -31
- package/data-table/lib/data-table/data-table.d.ts +0 -699
- package/data-table/lib/data-table/services/data-table-column-visibility.service.d.ts +0 -19
- package/data-table/lib/data-table/services/data-table-editing.service.d.ts +0 -37
- package/data-table/lib/data-table/services/data-table-pinning.service.d.ts +0 -37
- package/data-table/lib/data-table-cell.d.ts +0 -44
- package/data-table/lib/data-table-edit-cell.d.ts +0 -44
- package/data-table/lib/data-table-error.d.ts +0 -37
- package/data-table/lib/data-table-footer.d.ts +0 -26
- package/data-table/lib/data-table-no-data.d.ts +0 -19
- package/data-table/lib/filter-dropdown/filter-dropdown.d.ts +0 -54
- package/data-table/lib/types.d.ts +0 -134
- package/data-table/malva-ui-core-data-table.d.ts +0 -5
- package/date-range-picker/index.d.ts +0 -1
- package/date-range-picker/lib/date-range-picker/date-range-picker.d.ts +0 -145
- package/date-range-picker/malva-ui-core-date-range-picker.d.ts +0 -5
- package/day-picker/index.d.ts +0 -1
- package/day-picker/lib/day-picker/day-picker.d.ts +0 -51
- package/day-picker/malva-ui-core-day-picker.d.ts +0 -5
- package/dialog/index.d.ts +0 -11
- package/dialog/lib/confirm-dialog-options.d.ts +0 -41
- package/dialog/lib/confirm-dialog.d.ts +0 -52
- package/dialog/lib/dialog/dialog.d.ts +0 -22
- package/dialog/lib/dialog-body.d.ts +0 -9
- package/dialog/lib/dialog-close.d.ts +0 -27
- package/dialog/lib/dialog-config.d.ts +0 -112
- package/dialog/lib/dialog-container.d.ts +0 -40
- package/dialog/lib/dialog-footer.d.ts +0 -13
- package/dialog/lib/dialog-header.d.ts +0 -74
- package/dialog/lib/dialog-ref.d.ts +0 -95
- package/dialog/lib/dialog-template.d.ts +0 -65
- package/dialog/lib/dialog-text-content.d.ts +0 -24
- package/dialog/lib/dialog.service.d.ts +0 -63
- package/dialog/lib/generate-routable-dialog-route.d.ts +0 -49
- package/dialog/lib/inject-dialog-ref.d.ts +0 -8
- package/dialog/lib/routable-dialog.d.ts +0 -30
- package/dialog/malva-ui-core-dialog.d.ts +0 -5
- package/divider/index.d.ts +0 -1
- package/divider/lib/divider/divider.d.ts +0 -64
- package/divider/malva-ui-core-divider.d.ts +0 -5
- package/drawer/index.d.ts +0 -11
- package/drawer/lib/drawer/drawer.d.ts +0 -106
- package/drawer/lib/drawer-body.d.ts +0 -8
- package/drawer/lib/drawer-content.d.ts +0 -6
- package/drawer/lib/drawer-footer.d.ts +0 -5
- package/drawer/lib/drawer-header.d.ts +0 -5
- package/drawer/lib/drawer-ref.d.ts +0 -29
- package/drawer/lib/drawer-resize.d.ts +0 -65
- package/drawer/lib/drawer-section/drawer-section.d.ts +0 -15
- package/drawer/lib/drawer-sections/drawer-sections.d.ts +0 -22
- package/drawer/lib/drawer-sections.service.d.ts +0 -42
- package/drawer/lib/drawer.service.d.ts +0 -66
- package/drawer/lib/generate-routable-drawer-route.d.ts +0 -42
- package/drawer/lib/routable-drawer.d.ts +0 -30
- package/drawer/malva-ui-core-drawer.d.ts +0 -5
- package/dropdown/index.d.ts +0 -9
- package/dropdown/lib/active-descendant.d.ts +0 -64
- package/dropdown/lib/dropdown-panel/dropdown-panel.d.ts +0 -178
- package/dropdown/lib/highlight-match.pipe.d.ts +0 -27
- package/dropdown/lib/option-matcher.d.ts +0 -87
- package/dropdown/lib/options-adapter.d.ts +0 -142
- package/dropdown/lib/options-result.d.ts +0 -6
- package/dropdown/lib/reconciliation.d.ts +0 -19
- package/dropdown/lib/select-data-source.d.ts +0 -18
- package/dropdown/lib/select-option.d.ts +0 -37
- package/dropdown/malva-ui-core-dropdown.d.ts +0 -5
- package/empty-state/index.d.ts +0 -1
- package/empty-state/lib/empty-state/empty-state.d.ts +0 -34
- package/empty-state/malva-ui-core-empty-state.d.ts +0 -5
- package/esm2022/accordion/index.js +0 -4
- package/esm2022/accordion/index.js.map +0 -1
- package/esm2022/accordion/lib/accordion/accordion.js +0 -65
- package/esm2022/accordion/lib/accordion/accordion.js.map +0 -1
- package/esm2022/accordion/lib/accordion-item/accordion-header.js +0 -30
- package/esm2022/accordion/lib/accordion-item/accordion-header.js.map +0 -1
- package/esm2022/accordion/lib/accordion-item/accordion-item.js +0 -70
- package/esm2022/accordion/lib/accordion-item/accordion-item.js.map +0 -1
- package/esm2022/accordion/malva-ui-core-accordion.js +0 -5
- package/esm2022/accordion/malva-ui-core-accordion.js.map +0 -1
- package/esm2022/action-bar/index.js +0 -5
- package/esm2022/action-bar/index.js.map +0 -1
- package/esm2022/action-bar/lib/action-bar/action-bar.js +0 -64
- package/esm2022/action-bar/lib/action-bar/action-bar.js.map +0 -1
- package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js +0 -20
- package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js.map +0 -1
- package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js +0 -13
- package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js.map +0 -1
- package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js +0 -13
- package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js.map +0 -1
- package/esm2022/action-bar/malva-ui-core-action-bar.js +0 -5
- package/esm2022/action-bar/malva-ui-core-action-bar.js.map +0 -1
- package/esm2022/alert/index.js +0 -3
- package/esm2022/alert/index.js.map +0 -1
- package/esm2022/alert/lib/alert/alert.directives.js +0 -53
- package/esm2022/alert/lib/alert/alert.directives.js.map +0 -1
- package/esm2022/alert/lib/alert/alert.js +0 -118
- package/esm2022/alert/lib/alert/alert.js.map +0 -1
- package/esm2022/alert/malva-ui-core-alert.js +0 -5
- package/esm2022/alert/malva-ui-core-alert.js.map +0 -1
- package/esm2022/autocomplete/index.js +0 -2
- package/esm2022/autocomplete/index.js.map +0 -1
- package/esm2022/autocomplete/lib/autocomplete/autocomplete.js +0 -765
- package/esm2022/autocomplete/lib/autocomplete/autocomplete.js.map +0 -1
- package/esm2022/autocomplete/malva-ui-core-autocomplete.js +0 -5
- package/esm2022/autocomplete/malva-ui-core-autocomplete.js.map +0 -1
- package/esm2022/avatar/index.js +0 -3
- package/esm2022/avatar/index.js.map +0 -1
- package/esm2022/avatar/lib/avatar/avatar.js +0 -192
- package/esm2022/avatar/lib/avatar/avatar.js.map +0 -1
- package/esm2022/avatar/lib/color-from-text.pipe.js +0 -39
- package/esm2022/avatar/lib/color-from-text.pipe.js.map +0 -1
- package/esm2022/avatar/malva-ui-core-avatar.js +0 -5
- package/esm2022/avatar/malva-ui-core-avatar.js.map +0 -1
- package/esm2022/avatar-group/index.js +0 -2
- package/esm2022/avatar-group/index.js.map +0 -1
- package/esm2022/avatar-group/lib/avatar-group/avatar-group.js +0 -217
- package/esm2022/avatar-group/lib/avatar-group/avatar-group.js.map +0 -1
- package/esm2022/avatar-group/malva-ui-core-avatar-group.js +0 -5
- package/esm2022/avatar-group/malva-ui-core-avatar-group.js.map +0 -1
- package/esm2022/badge/index.js +0 -3
- package/esm2022/badge/index.js.map +0 -1
- package/esm2022/badge/lib/badge/badge.js +0 -71
- package/esm2022/badge/lib/badge/badge.js.map +0 -1
- package/esm2022/badge/lib/badge-icon.js +0 -47
- package/esm2022/badge/lib/badge-icon.js.map +0 -1
- package/esm2022/badge/malva-ui-core-badge.js +0 -5
- package/esm2022/badge/malva-ui-core-badge.js.map +0 -1
- package/esm2022/bottom-nav/index.js +0 -2
- package/esm2022/bottom-nav/index.js.map +0 -1
- package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js +0 -155
- package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js.map +0 -1
- package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js +0 -5
- package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js.map +0 -1
- package/esm2022/breadcrumb/index.js +0 -6
- package/esm2022/breadcrumb/index.js.map +0 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js +0 -43
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js.map +0 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js +0 -110
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js.map +0 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js +0 -38
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js.map +0 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js +0 -284
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js.map +0 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js +0 -1
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js.map +0 -1
- package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js +0 -5
- package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js.map +0 -1
- package/esm2022/button/index.js +0 -8
- package/esm2022/button/index.js.map +0 -1
- package/esm2022/button/lib/button/button.js +0 -137
- package/esm2022/button/lib/button/button.js.map +0 -1
- package/esm2022/button/lib/button-close/button-close.js +0 -52
- package/esm2022/button/lib/button-close/button-close.js.map +0 -1
- package/esm2022/button/lib/button-group/button-group.js +0 -44
- package/esm2022/button/lib/button-group/button-group.js.map +0 -1
- package/esm2022/button/lib/button-split/button-split.js +0 -44
- package/esm2022/button/lib/button-split/button-split.js.map +0 -1
- package/esm2022/button/lib/button-toggle/button-toggle.js +0 -94
- package/esm2022/button/lib/button-toggle/button-toggle.js.map +0 -1
- package/esm2022/button/lib/button-variant.token.js +0 -4
- package/esm2022/button/lib/button-variant.token.js.map +0 -1
- package/esm2022/button/lib/button.directives.js +0 -37
- package/esm2022/button/lib/button.directives.js.map +0 -1
- package/esm2022/button/lib/button.types.js +0 -1
- package/esm2022/button/lib/button.types.js.map +0 -1
- package/esm2022/button/malva-ui-core-button.js +0 -5
- package/esm2022/button/malva-ui-core-button.js.map +0 -1
- package/esm2022/calendar/index.js +0 -4
- package/esm2022/calendar/index.js.map +0 -1
- package/esm2022/calendar/lib/calendar/calendar.js +0 -672
- package/esm2022/calendar/lib/calendar/calendar.js.map +0 -1
- package/esm2022/calendar/lib/date-provider/date-adapter.js +0 -111
- package/esm2022/calendar/lib/date-provider/date-adapter.js.map +0 -1
- package/esm2022/calendar/lib/date-provider/native-date-adapter.js +0 -151
- package/esm2022/calendar/lib/date-provider/native-date-adapter.js.map +0 -1
- package/esm2022/calendar/malva-ui-core-calendar.js +0 -5
- package/esm2022/calendar/malva-ui-core-calendar.js.map +0 -1
- package/esm2022/card/index.js +0 -6
- package/esm2022/card/index.js.map +0 -1
- package/esm2022/card/lib/card/card.js +0 -54
- package/esm2022/card/lib/card/card.js.map +0 -1
- package/esm2022/card/lib/card-actions-def.js +0 -27
- package/esm2022/card/lib/card-actions-def.js.map +0 -1
- package/esm2022/card/lib/card-footer-def.js +0 -32
- package/esm2022/card/lib/card-footer-def.js.map +0 -1
- package/esm2022/card/lib/card-header-def.js +0 -27
- package/esm2022/card/lib/card-header-def.js.map +0 -1
- package/esm2022/card/lib/card-subheader-def.js +0 -33
- package/esm2022/card/lib/card-subheader-def.js.map +0 -1
- package/esm2022/card/malva-ui-core-card.js +0 -5
- package/esm2022/card/malva-ui-core-card.js.map +0 -1
- package/esm2022/chat/index.js +0 -10
- package/esm2022/chat/index.js.map +0 -1
- package/esm2022/chat/lib/chat/chat.js +0 -326
- package/esm2022/chat/lib/chat/chat.js.map +0 -1
- package/esm2022/chat/lib/chat-audio/chat-audio.js +0 -110
- package/esm2022/chat/lib/chat-audio/chat-audio.js.map +0 -1
- package/esm2022/chat/lib/chat-audio/chat-audio.service.js +0 -28
- package/esm2022/chat/lib/chat-audio/chat-audio.service.js.map +0 -1
- package/esm2022/chat/lib/chat-date/chat-date.js +0 -46
- package/esm2022/chat/lib/chat-date/chat-date.js.map +0 -1
- package/esm2022/chat/lib/chat-format.js +0 -11
- package/esm2022/chat/lib/chat-format.js.map +0 -1
- package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js +0 -53
- package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js.map +0 -1
- package/esm2022/chat/lib/chat-message/chat-message.js +0 -86
- package/esm2022/chat/lib/chat-message/chat-message.js.map +0 -1
- package/esm2022/chat/lib/chat-render-list.js +0 -55
- package/esm2022/chat/lib/chat-render-list.js.map +0 -1
- package/esm2022/chat/lib/chat-tokens.js +0 -9
- package/esm2022/chat/lib/chat-tokens.js.map +0 -1
- package/esm2022/chat/lib/chat-typing/chat-typing.js +0 -50
- package/esm2022/chat/lib/chat-typing/chat-typing.js.map +0 -1
- package/esm2022/chat/lib/chat.types.js +0 -1
- package/esm2022/chat/lib/chat.types.js.map +0 -1
- package/esm2022/chat/lib/defs/chat-author-def.js +0 -27
- package/esm2022/chat/lib/defs/chat-author-def.js.map +0 -1
- package/esm2022/chat/lib/defs/chat-date-def.js +0 -24
- package/esm2022/chat/lib/defs/chat-date-def.js.map +0 -1
- package/esm2022/chat/lib/defs/chat-message-def.js +0 -30
- package/esm2022/chat/lib/defs/chat-message-def.js.map +0 -1
- package/esm2022/chat/malva-ui-core-chat.js +0 -5
- package/esm2022/chat/malva-ui-core-chat.js.map +0 -1
- package/esm2022/checkbox/index.js +0 -4
- package/esm2022/checkbox/index.js.map +0 -1
- package/esm2022/checkbox/lib/checkbox/checkbox.js +0 -201
- package/esm2022/checkbox/lib/checkbox/checkbox.js.map +0 -1
- package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js +0 -68
- package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js.map +0 -1
- package/esm2022/checkbox/lib/checkbox-group-token.js +0 -3
- package/esm2022/checkbox/lib/checkbox-group-token.js.map +0 -1
- package/esm2022/checkbox/malva-ui-core-checkbox.js +0 -5
- package/esm2022/checkbox/malva-ui-core-checkbox.js.map +0 -1
- package/esm2022/chip/index.js +0 -3
- package/esm2022/chip/index.js.map +0 -1
- package/esm2022/chip/lib/chip/chip.directives.js +0 -32
- package/esm2022/chip/lib/chip/chip.directives.js.map +0 -1
- package/esm2022/chip/lib/chip/chip.js +0 -140
- package/esm2022/chip/lib/chip/chip.js.map +0 -1
- package/esm2022/chip/malva-ui-core-chip.js +0 -5
- package/esm2022/chip/malva-ui-core-chip.js.map +0 -1
- package/esm2022/color-picker/index.js +0 -4
- package/esm2022/color-picker/index.js.map +0 -1
- package/esm2022/color-picker/lib/color-picker/color-picker.js +0 -530
- package/esm2022/color-picker/lib/color-picker/color-picker.js.map +0 -1
- package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js +0 -419
- package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js.map +0 -1
- package/esm2022/color-picker/lib/color-utils/color-utils.js +0 -256
- package/esm2022/color-picker/lib/color-utils/color-utils.js.map +0 -1
- package/esm2022/color-picker/malva-ui-core-color-picker.js +0 -5
- package/esm2022/color-picker/malva-ui-core-color-picker.js.map +0 -1
- package/esm2022/combobox/index.js +0 -3
- package/esm2022/combobox/index.js.map +0 -1
- package/esm2022/combobox/lib/combobox/combobox.js +0 -911
- package/esm2022/combobox/lib/combobox/combobox.js.map +0 -1
- package/esm2022/combobox/lib/combobox-template.directives.js +0 -24
- package/esm2022/combobox/lib/combobox-template.directives.js.map +0 -1
- package/esm2022/combobox/malva-ui-core-combobox.js +0 -5
- package/esm2022/combobox/malva-ui-core-combobox.js.map +0 -1
- package/esm2022/copy-to-clipboard/index.js +0 -2
- package/esm2022/copy-to-clipboard/index.js.map +0 -1
- package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js +0 -201
- package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js.map +0 -1
- package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js +0 -5
- package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js.map +0 -1
- package/esm2022/data-table/index.js +0 -9
- package/esm2022/data-table/index.js.map +0 -1
- package/esm2022/data-table/lib/data-source.js +0 -6
- package/esm2022/data-table/lib/data-source.js.map +0 -1
- package/esm2022/data-table/lib/data-table/data-table-layout.js +0 -84
- package/esm2022/data-table/lib/data-table/data-table-layout.js.map +0 -1
- package/esm2022/data-table/lib/data-table/data-table.js +0 -1846
- package/esm2022/data-table/lib/data-table/data-table.js.map +0 -1
- package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js +0 -37
- package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js.map +0 -1
- package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js +0 -63
- package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js.map +0 -1
- package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js +0 -68
- package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js.map +0 -1
- package/esm2022/data-table/lib/data-table-cell.js +0 -46
- package/esm2022/data-table/lib/data-table-cell.js.map +0 -1
- package/esm2022/data-table/lib/data-table-edit-cell.js +0 -46
- package/esm2022/data-table/lib/data-table-edit-cell.js.map +0 -1
- package/esm2022/data-table/lib/data-table-error.js +0 -37
- package/esm2022/data-table/lib/data-table-error.js.map +0 -1
- package/esm2022/data-table/lib/data-table-footer.js +0 -33
- package/esm2022/data-table/lib/data-table-footer.js.map +0 -1
- package/esm2022/data-table/lib/data-table-no-data.js +0 -26
- package/esm2022/data-table/lib/data-table-no-data.js.map +0 -1
- package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js +0 -224
- package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js.map +0 -1
- package/esm2022/data-table/lib/types.js +0 -1
- package/esm2022/data-table/lib/types.js.map +0 -1
- package/esm2022/data-table/malva-ui-core-data-table.js +0 -5
- package/esm2022/data-table/malva-ui-core-data-table.js.map +0 -1
- package/esm2022/date-range-picker/index.js +0 -2
- package/esm2022/date-range-picker/index.js.map +0 -1
- package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js +0 -269
- package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js.map +0 -1
- package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js +0 -5
- package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js.map +0 -1
- package/esm2022/day-picker/index.js +0 -2
- package/esm2022/day-picker/index.js.map +0 -1
- package/esm2022/day-picker/lib/day-picker/day-picker.js +0 -124
- package/esm2022/day-picker/lib/day-picker/day-picker.js.map +0 -1
- package/esm2022/day-picker/malva-ui-core-day-picker.js +0 -5
- package/esm2022/day-picker/malva-ui-core-day-picker.js.map +0 -1
- package/esm2022/dialog/index.js +0 -12
- package/esm2022/dialog/index.js.map +0 -1
- package/esm2022/dialog/lib/confirm-dialog-options.js +0 -1
- package/esm2022/dialog/lib/confirm-dialog-options.js.map +0 -1
- package/esm2022/dialog/lib/confirm-dialog.js +0 -155
- package/esm2022/dialog/lib/confirm-dialog.js.map +0 -1
- package/esm2022/dialog/lib/dialog/dialog.js +0 -40
- package/esm2022/dialog/lib/dialog/dialog.js.map +0 -1
- package/esm2022/dialog/lib/dialog-body.js +0 -33
- package/esm2022/dialog/lib/dialog-body.js.map +0 -1
- package/esm2022/dialog/lib/dialog-close.js +0 -45
- package/esm2022/dialog/lib/dialog-close.js.map +0 -1
- package/esm2022/dialog/lib/dialog-config.js +0 -23
- package/esm2022/dialog/lib/dialog-config.js.map +0 -1
- package/esm2022/dialog/lib/dialog-container.js +0 -69
- package/esm2022/dialog/lib/dialog-container.js.map +0 -1
- package/esm2022/dialog/lib/dialog-footer.js +0 -29
- package/esm2022/dialog/lib/dialog-footer.js.map +0 -1
- package/esm2022/dialog/lib/dialog-header.js +0 -181
- package/esm2022/dialog/lib/dialog-header.js.map +0 -1
- package/esm2022/dialog/lib/dialog-ref.js +0 -167
- package/esm2022/dialog/lib/dialog-ref.js.map +0 -1
- package/esm2022/dialog/lib/dialog-template.js +0 -136
- package/esm2022/dialog/lib/dialog-template.js.map +0 -1
- package/esm2022/dialog/lib/dialog-text-content.js +0 -59
- package/esm2022/dialog/lib/dialog-text-content.js.map +0 -1
- package/esm2022/dialog/lib/dialog.service.js +0 -205
- package/esm2022/dialog/lib/dialog.service.js.map +0 -1
- package/esm2022/dialog/lib/generate-routable-dialog-route.js +0 -59
- package/esm2022/dialog/lib/generate-routable-dialog-route.js.map +0 -1
- package/esm2022/dialog/lib/inject-dialog-ref.js +0 -16
- package/esm2022/dialog/lib/inject-dialog-ref.js.map +0 -1
- package/esm2022/dialog/lib/routable-dialog.js +0 -91
- package/esm2022/dialog/lib/routable-dialog.js.map +0 -1
- package/esm2022/dialog/malva-ui-core-dialog.js +0 -5
- package/esm2022/dialog/malva-ui-core-dialog.js.map +0 -1
- package/esm2022/divider/index.js +0 -2
- package/esm2022/divider/index.js.map +0 -1
- package/esm2022/divider/lib/divider/divider.js +0 -73
- package/esm2022/divider/lib/divider/divider.js.map +0 -1
- package/esm2022/divider/malva-ui-core-divider.js +0 -5
- package/esm2022/divider/malva-ui-core-divider.js.map +0 -1
- package/esm2022/drawer/index.js +0 -12
- package/esm2022/drawer/index.js.map +0 -1
- package/esm2022/drawer/lib/drawer/drawer.js +0 -180
- package/esm2022/drawer/lib/drawer/drawer.js.map +0 -1
- package/esm2022/drawer/lib/drawer-body.js +0 -32
- package/esm2022/drawer/lib/drawer-body.js.map +0 -1
- package/esm2022/drawer/lib/drawer-content.js +0 -14
- package/esm2022/drawer/lib/drawer-content.js.map +0 -1
- package/esm2022/drawer/lib/drawer-footer.js +0 -14
- package/esm2022/drawer/lib/drawer-footer.js.map +0 -1
- package/esm2022/drawer/lib/drawer-header.js +0 -14
- package/esm2022/drawer/lib/drawer-header.js.map +0 -1
- package/esm2022/drawer/lib/drawer-ref.js +0 -31
- package/esm2022/drawer/lib/drawer-ref.js.map +0 -1
- package/esm2022/drawer/lib/drawer-resize.js +0 -243
- package/esm2022/drawer/lib/drawer-resize.js.map +0 -1
- package/esm2022/drawer/lib/drawer-section/drawer-section.js +0 -26
- package/esm2022/drawer/lib/drawer-section/drawer-section.js.map +0 -1
- package/esm2022/drawer/lib/drawer-sections/drawer-sections.js +0 -58
- package/esm2022/drawer/lib/drawer-sections/drawer-sections.js.map +0 -1
- package/esm2022/drawer/lib/drawer-sections.service.js +0 -83
- package/esm2022/drawer/lib/drawer-sections.service.js.map +0 -1
- package/esm2022/drawer/lib/drawer.service.js +0 -86
- package/esm2022/drawer/lib/drawer.service.js.map +0 -1
- package/esm2022/drawer/lib/generate-routable-drawer-route.js +0 -52
- package/esm2022/drawer/lib/generate-routable-drawer-route.js.map +0 -1
- package/esm2022/drawer/lib/routable-drawer.js +0 -91
- package/esm2022/drawer/lib/routable-drawer.js.map +0 -1
- package/esm2022/drawer/malva-ui-core-drawer.js +0 -5
- package/esm2022/drawer/malva-ui-core-drawer.js.map +0 -1
- package/esm2022/dropdown/index.js +0 -10
- package/esm2022/dropdown/index.js.map +0 -1
- package/esm2022/dropdown/lib/active-descendant.js +0 -92
- package/esm2022/dropdown/lib/active-descendant.js.map +0 -1
- package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js +0 -295
- package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js.map +0 -1
- package/esm2022/dropdown/lib/highlight-match.pipe.js +0 -36
- package/esm2022/dropdown/lib/highlight-match.pipe.js.map +0 -1
- package/esm2022/dropdown/lib/option-matcher.js +0 -124
- package/esm2022/dropdown/lib/option-matcher.js.map +0 -1
- package/esm2022/dropdown/lib/options-adapter.js +0 -356
- package/esm2022/dropdown/lib/options-adapter.js.map +0 -1
- package/esm2022/dropdown/lib/options-result.js +0 -11
- package/esm2022/dropdown/lib/options-result.js.map +0 -1
- package/esm2022/dropdown/lib/reconciliation.js +0 -32
- package/esm2022/dropdown/lib/reconciliation.js.map +0 -1
- package/esm2022/dropdown/lib/select-data-source.js +0 -21
- package/esm2022/dropdown/lib/select-data-source.js.map +0 -1
- package/esm2022/dropdown/lib/select-option.js +0 -25
- package/esm2022/dropdown/lib/select-option.js.map +0 -1
- package/esm2022/dropdown/malva-ui-core-dropdown.js +0 -5
- package/esm2022/dropdown/malva-ui-core-dropdown.js.map +0 -1
- package/esm2022/empty-state/index.js +0 -2
- package/esm2022/empty-state/index.js.map +0 -1
- package/esm2022/empty-state/lib/empty-state/empty-state.js +0 -43
- package/esm2022/empty-state/lib/empty-state/empty-state.js.map +0 -1
- package/esm2022/empty-state/malva-ui-core-empty-state.js +0 -5
- package/esm2022/empty-state/malva-ui-core-empty-state.js.map +0 -1
- package/esm2022/expand/index.js +0 -3
- package/esm2022/expand/index.js.map +0 -1
- package/esm2022/expand/lib/expand/expand-content.js +0 -33
- package/esm2022/expand/lib/expand/expand-content.js.map +0 -1
- package/esm2022/expand/lib/expand/expand.js +0 -93
- package/esm2022/expand/lib/expand/expand.js.map +0 -1
- package/esm2022/expand/malva-ui-core-expand.js +0 -5
- package/esm2022/expand/malva-ui-core-expand.js.map +0 -1
- package/esm2022/file-upload/index.js +0 -5
- package/esm2022/file-upload/index.js.map +0 -1
- package/esm2022/file-upload/lib/file-upload/file-upload.js +0 -324
- package/esm2022/file-upload/lib/file-upload/file-upload.js.map +0 -1
- package/esm2022/file-upload/lib/file-upload/file-upload.types.js +0 -1
- package/esm2022/file-upload/lib/file-upload/file-upload.types.js.map +0 -1
- package/esm2022/file-upload/lib/file-upload-action.js +0 -65
- package/esm2022/file-upload/lib/file-upload-action.js.map +0 -1
- package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js +0 -55
- package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js.map +0 -1
- package/esm2022/file-upload/malva-ui-core-file-upload.js +0 -5
- package/esm2022/file-upload/malva-ui-core-file-upload.js.map +0 -1
- package/esm2022/filter/index.js +0 -4
- package/esm2022/filter/index.js.map +0 -1
- package/esm2022/filter/lib/filter/filter.js +0 -552
- package/esm2022/filter/lib/filter/filter.js.map +0 -1
- package/esm2022/filter/lib/filter.types.js +0 -1
- package/esm2022/filter/lib/filter.types.js.map +0 -1
- package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js +0 -518
- package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js.map +0 -1
- package/esm2022/filter/malva-ui-core-filter.js +0 -5
- package/esm2022/filter/malva-ui-core-filter.js.map +0 -1
- package/esm2022/form/index.js +0 -7
- package/esm2022/form/index.js.map +0 -1
- package/esm2022/form/lib/fieldset/fieldset.js +0 -101
- package/esm2022/form/lib/fieldset/fieldset.js.map +0 -1
- package/esm2022/form/lib/fieldset-span.js +0 -49
- package/esm2022/form/lib/fieldset-span.js.map +0 -1
- package/esm2022/form/lib/form/form.js +0 -60
- package/esm2022/form/lib/form/form.js.map +0 -1
- package/esm2022/form/lib/form-actions.js +0 -34
- package/esm2022/form/lib/form-actions.js.map +0 -1
- package/esm2022/form/lib/form-gap.js +0 -15
- package/esm2022/form/lib/form-gap.js.map +0 -1
- package/esm2022/form/lib/form-header.js +0 -27
- package/esm2022/form/lib/form-header.js.map +0 -1
- package/esm2022/form/lib/form.types.js +0 -1
- package/esm2022/form/lib/form.types.js.map +0 -1
- package/esm2022/form/malva-ui-core-form.js +0 -5
- package/esm2022/form/malva-ui-core-form.js.map +0 -1
- package/esm2022/form-utils/index.js +0 -16
- package/esm2022/form-utils/index.js.map +0 -1
- package/esm2022/form-utils/lib/aria-value-bridge.js +0 -57
- package/esm2022/form-utils/lib/aria-value-bridge.js.map +0 -1
- package/esm2022/form-utils/lib/description/description.js +0 -24
- package/esm2022/form-utils/lib/description/description.js.map +0 -1
- package/esm2022/form-utils/lib/focusable-group-base.js +0 -87
- package/esm2022/form-utils/lib/focusable-group-base.js.map +0 -1
- package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js +0 -192
- package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js.map +0 -1
- package/esm2022/form-utils/lib/form-control-sides.js +0 -34
- package/esm2022/form-utils/lib/form-control-sides.js.map +0 -1
- package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js +0 -14
- package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js.map +0 -1
- package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js +0 -47
- package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js.map +0 -1
- package/esm2022/form-utils/lib/form-field/form-field.js +0 -245
- package/esm2022/form-utils/lib/form-field/form-field.js.map +0 -1
- package/esm2022/form-utils/lib/hint/hint.js +0 -11
- package/esm2022/form-utils/lib/hint/hint.js.map +0 -1
- package/esm2022/form-utils/lib/label/label.js +0 -55
- package/esm2022/form-utils/lib/label/label.js.map +0 -1
- package/esm2022/form-utils/lib/message/message.js +0 -20
- package/esm2022/form-utils/lib/message/message.js.map +0 -1
- package/esm2022/form-utils/lib/models/error-display-strategy.js +0 -1
- package/esm2022/form-utils/lib/models/error-display-strategy.js.map +0 -1
- package/esm2022/form-utils/lib/models/form-control-connector.js +0 -3
- package/esm2022/form-utils/lib/models/form-control-connector.js.map +0 -1
- package/esm2022/form-utils/lib/models/form-state.js +0 -1
- package/esm2022/form-utils/lib/models/form-state.js.map +0 -1
- package/esm2022/form-utils/lib/selection.service.js +0 -81
- package/esm2022/form-utils/lib/selection.service.js.map +0 -1
- package/esm2022/form-utils/malva-ui-core-form-utils.js +0 -5
- package/esm2022/form-utils/malva-ui-core-form-utils.js.map +0 -1
- package/esm2022/form-utils/testing/index.js +0 -2
- package/esm2022/form-utils/testing/index.js.map +0 -1
- package/esm2022/form-utils/testing/lib/forms-binding-matrix.js +0 -32
- package/esm2022/form-utils/testing/lib/forms-binding-matrix.js.map +0 -1
- package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js +0 -5
- package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js.map +0 -1
- package/esm2022/index.js +0 -70
- package/esm2022/index.js.map +0 -1
- package/esm2022/input/index.js +0 -4
- package/esm2022/input/index.js.map +0 -1
- package/esm2022/input/lib/input/input-native.js +0 -49
- package/esm2022/input/lib/input/input-native.js.map +0 -1
- package/esm2022/input/lib/input/input-value-accessor.js +0 -4
- package/esm2022/input/lib/input/input-value-accessor.js.map +0 -1
- package/esm2022/input/lib/input/input.js +0 -277
- package/esm2022/input/lib/input/input.js.map +0 -1
- package/esm2022/input/lib/input/password-strength.js +0 -46
- package/esm2022/input/lib/input/password-strength.js.map +0 -1
- package/esm2022/input/malva-ui-core-input.js +0 -5
- package/esm2022/input/malva-ui-core-input.js.map +0 -1
- package/esm2022/kbd/index.js +0 -2
- package/esm2022/kbd/index.js.map +0 -1
- package/esm2022/kbd/lib/kbd/kbd.js +0 -124
- package/esm2022/kbd/lib/kbd/kbd.js.map +0 -1
- package/esm2022/kbd/malva-ui-core-kbd.js +0 -5
- package/esm2022/kbd/malva-ui-core-kbd.js.map +0 -1
- package/esm2022/layout/index.js +0 -5
- package/esm2022/layout/index.js.map +0 -1
- package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js +0 -14
- package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js.map +0 -1
- package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js +0 -14
- package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js.map +0 -1
- package/esm2022/layout/lib/layout/layout.js +0 -43
- package/esm2022/layout/lib/layout/layout.js.map +0 -1
- package/esm2022/layout/lib/layout/services/theme.service.js +0 -121
- package/esm2022/layout/lib/layout/services/theme.service.js.map +0 -1
- package/esm2022/layout/malva-ui-core-layout.js +0 -5
- package/esm2022/layout/malva-ui-core-layout.js.map +0 -1
- package/esm2022/link/index.js +0 -3
- package/esm2022/link/index.js.map +0 -1
- package/esm2022/link/lib/link/link.directives.js +0 -24
- package/esm2022/link/lib/link/link.directives.js.map +0 -1
- package/esm2022/link/lib/link/link.js +0 -61
- package/esm2022/link/lib/link/link.js.map +0 -1
- package/esm2022/link/malva-ui-core-link.js +0 -5
- package/esm2022/link/malva-ui-core-link.js.map +0 -1
- package/esm2022/list/index.js +0 -14
- package/esm2022/list/index.js.map +0 -1
- package/esm2022/list/lib/list/list.js +0 -28
- package/esm2022/list/lib/list/list.js.map +0 -1
- package/esm2022/list/lib/list-item/list-item.js +0 -125
- package/esm2022/list/lib/list-item/list-item.js.map +0 -1
- package/esm2022/list/lib/list-item-actions.js +0 -23
- package/esm2022/list/lib/list-item-actions.js.map +0 -1
- package/esm2022/list/lib/list-item-byline.js +0 -13
- package/esm2022/list/lib/list-item-byline.js.map +0 -1
- package/esm2022/list/lib/list-item-group/list-item-group.js +0 -25
- package/esm2022/list/lib/list-item-group/list-item-group.js.map +0 -1
- package/esm2022/list/lib/list-item-link/list-item-link.js +0 -20
- package/esm2022/list/lib/list-item-link/list-item-link.js.map +0 -1
- package/esm2022/list/lib/list-item-media.js +0 -13
- package/esm2022/list/lib/list-item-media.js.map +0 -1
- package/esm2022/list/lib/list-item-meta.js +0 -13
- package/esm2022/list/lib/list-item-meta.js.map +0 -1
- package/esm2022/list/lib/list-item-prefix.js +0 -13
- package/esm2022/list/lib/list-item-prefix.js.map +0 -1
- package/esm2022/list/lib/list-item-suffix.js +0 -13
- package/esm2022/list/lib/list-item-suffix.js.map +0 -1
- package/esm2022/list/lib/list-item-template.js +0 -14
- package/esm2022/list/lib/list-item-template.js.map +0 -1
- package/esm2022/list/lib/list-item-title.js +0 -13
- package/esm2022/list/lib/list-item-title.js.map +0 -1
- package/esm2022/list/lib/list-selectable.js +0 -116
- package/esm2022/list/lib/list-selectable.js.map +0 -1
- package/esm2022/list/malva-ui-core-list.js +0 -5
- package/esm2022/list/malva-ui-core-list.js.map +0 -1
- package/esm2022/loader/index.js +0 -2
- package/esm2022/loader/index.js.map +0 -1
- package/esm2022/loader/lib/loader/loader.js +0 -134
- package/esm2022/loader/lib/loader/loader.js.map +0 -1
- package/esm2022/loader/malva-ui-core-loader.js +0 -5
- package/esm2022/loader/malva-ui-core-loader.js.map +0 -1
- package/esm2022/malva-ui-core.js +0 -5
- package/esm2022/malva-ui-core.js.map +0 -1
- package/esm2022/menu/index.js +0 -10
- package/esm2022/menu/index.js.map +0 -1
- package/esm2022/menu/lib/menu/menu-group-label.js +0 -35
- package/esm2022/menu/lib/menu/menu-group-label.js.map +0 -1
- package/esm2022/menu/lib/menu/menu-group.js +0 -44
- package/esm2022/menu/lib/menu/menu-group.js.map +0 -1
- package/esm2022/menu/lib/menu/menu-item.js +0 -117
- package/esm2022/menu/lib/menu/menu-item.js.map +0 -1
- package/esm2022/menu/lib/menu/menu-separator.js +0 -41
- package/esm2022/menu/lib/menu/menu-separator.js.map +0 -1
- package/esm2022/menu/lib/menu/menu-trigger.js +0 -653
- package/esm2022/menu/lib/menu/menu-trigger.js.map +0 -1
- package/esm2022/menu/lib/menu/menu.js +0 -308
- package/esm2022/menu/lib/menu/menu.js.map +0 -1
- package/esm2022/menu/lib/menu/menu.types.js +0 -4
- package/esm2022/menu/lib/menu/menu.types.js.map +0 -1
- package/esm2022/menu/lib/menu/menubar.js +0 -257
- package/esm2022/menu/lib/menu/menubar.js.map +0 -1
- package/esm2022/menu/lib/menu/menubar.types.js +0 -4
- package/esm2022/menu/lib/menu/menubar.types.js.map +0 -1
- package/esm2022/menu/lib/menu/submenu-aim.js +0 -30
- package/esm2022/menu/lib/menu/submenu-aim.js.map +0 -1
- package/esm2022/menu/malva-ui-core-menu.js +0 -5
- package/esm2022/menu/malva-ui-core-menu.js.map +0 -1
- package/esm2022/notification/index.js +0 -5
- package/esm2022/notification/index.js.map +0 -1
- package/esm2022/notification/lib/notification-item/notification-item.js +0 -65
- package/esm2022/notification/lib/notification-item/notification-item.js.map +0 -1
- package/esm2022/notification/lib/notification-ref.js +0 -13
- package/esm2022/notification/lib/notification-ref.js.map +0 -1
- package/esm2022/notification/lib/notification.service.js +0 -118
- package/esm2022/notification/lib/notification.service.js.map +0 -1
- package/esm2022/notification/lib/notification.types.js +0 -6
- package/esm2022/notification/lib/notification.types.js.map +0 -1
- package/esm2022/notification/malva-ui-core-notification.js +0 -5
- package/esm2022/notification/malva-ui-core-notification.js.map +0 -1
- package/esm2022/number-input/index.js +0 -2
- package/esm2022/number-input/index.js.map +0 -1
- package/esm2022/number-input/lib/number-input/number-input.js +0 -395
- package/esm2022/number-input/lib/number-input/number-input.js.map +0 -1
- package/esm2022/number-input/malva-ui-core-number-input.js +0 -5
- package/esm2022/number-input/malva-ui-core-number-input.js.map +0 -1
- package/esm2022/page/index.js +0 -15
- package/esm2022/page/index.js.map +0 -1
- package/esm2022/page/lib/page/page-scroll.token.js +0 -9
- package/esm2022/page/lib/page/page-scroll.token.js.map +0 -1
- package/esm2022/page/lib/page/page-snap-controller.js +0 -170
- package/esm2022/page/lib/page/page-snap-controller.js.map +0 -1
- package/esm2022/page/lib/page/page-snap.directive.js +0 -65
- package/esm2022/page/lib/page/page-snap.directive.js.map +0 -1
- package/esm2022/page/lib/page/page.js +0 -173
- package/esm2022/page/lib/page/page.js.map +0 -1
- package/esm2022/page/lib/page-content/page-aside.js +0 -13
- package/esm2022/page/lib/page-content/page-aside.js.map +0 -1
- package/esm2022/page/lib/page-content/page-content.js +0 -72
- package/esm2022/page/lib/page-content/page-content.js.map +0 -1
- package/esm2022/page/lib/page-dock/page-dock.js +0 -128
- package/esm2022/page/lib/page-dock/page-dock.js.map +0 -1
- package/esm2022/page/lib/page-dock/page-dock.slots.js +0 -39
- package/esm2022/page/lib/page-dock/page-dock.slots.js.map +0 -1
- package/esm2022/page/lib/page-header/page-header.directives.js +0 -88
- package/esm2022/page/lib/page-header/page-header.directives.js.map +0 -1
- package/esm2022/page/lib/page-header/page-header.js +0 -124
- package/esm2022/page/lib/page-header/page-header.js.map +0 -1
- package/esm2022/page/lib/page-shell/page-shell-color.js +0 -193
- package/esm2022/page/lib/page-shell/page-shell-color.js.map +0 -1
- package/esm2022/page/lib/page-shell/page-shell-css-color.js +0 -207
- package/esm2022/page/lib/page-shell/page-shell-css-color.js.map +0 -1
- package/esm2022/page/lib/page-shell/page-shell.js +0 -131
- package/esm2022/page/lib/page-shell/page-shell.js.map +0 -1
- package/esm2022/page/lib/page-shell/page-shell.slots.js +0 -41
- package/esm2022/page/lib/page-shell/page-shell.slots.js.map +0 -1
- package/esm2022/page/lib/page-summary/page-summary-item.js +0 -26
- package/esm2022/page/lib/page-summary/page-summary-item.js.map +0 -1
- package/esm2022/page/lib/page-summary/page-summary.js +0 -87
- package/esm2022/page/lib/page-summary/page-summary.js.map +0 -1
- package/esm2022/page/malva-ui-core-page.js +0 -5
- package/esm2022/page/malva-ui-core-page.js.map +0 -1
- package/esm2022/pagination/index.js +0 -5
- package/esm2022/pagination/index.js.map +0 -1
- package/esm2022/pagination/lib/pagination/pagination.directives.js +0 -58
- package/esm2022/pagination/lib/pagination/pagination.directives.js.map +0 -1
- package/esm2022/pagination/lib/pagination/pagination.js +0 -293
- package/esm2022/pagination/lib/pagination/pagination.js.map +0 -1
- package/esm2022/pagination/lib/pagination/pagination.model.js +0 -1
- package/esm2022/pagination/lib/pagination/pagination.model.js.map +0 -1
- package/esm2022/pagination/lib/pagination/pagination.service.js +0 -108
- package/esm2022/pagination/lib/pagination/pagination.service.js.map +0 -1
- package/esm2022/pagination/malva-ui-core-pagination.js +0 -5
- package/esm2022/pagination/malva-ui-core-pagination.js.map +0 -1
- package/esm2022/pin-input/index.js +0 -3
- package/esm2022/pin-input/index.js.map +0 -1
- package/esm2022/pin-input/lib/pin-input/pin-input-separator.js +0 -31
- package/esm2022/pin-input/lib/pin-input/pin-input-separator.js.map +0 -1
- package/esm2022/pin-input/lib/pin-input/pin-input.js +0 -365
- package/esm2022/pin-input/lib/pin-input/pin-input.js.map +0 -1
- package/esm2022/pin-input/malva-ui-core-pin-input.js +0 -5
- package/esm2022/pin-input/malva-ui-core-pin-input.js.map +0 -1
- package/esm2022/popup/index.js +0 -10
- package/esm2022/popup/index.js.map +0 -1
- package/esm2022/popup/lib/popup/popup.js +0 -500
- package/esm2022/popup/lib/popup/popup.js.map +0 -1
- package/esm2022/popup/lib/popup-container/popup-container.js +0 -169
- package/esm2022/popup/lib/popup-container/popup-container.js.map +0 -1
- package/esm2022/popup/lib/popup-container/popup-container.token.js +0 -9
- package/esm2022/popup/lib/popup-container/popup-container.token.js.map +0 -1
- package/esm2022/popup/lib/popup-content.js +0 -14
- package/esm2022/popup/lib/popup-content.js.map +0 -1
- package/esm2022/popup/lib/popup-header-content.js +0 -26
- package/esm2022/popup/lib/popup-header-content.js.map +0 -1
- package/esm2022/popup/lib/popup-pinned-content.js +0 -25
- package/esm2022/popup/lib/popup-pinned-content.js.map +0 -1
- package/esm2022/popup/lib/popup-positions.js +0 -252
- package/esm2022/popup/lib/popup-positions.js.map +0 -1
- package/esm2022/popup/lib/popup-trigger/popup-trigger.js +0 -308
- package/esm2022/popup/lib/popup-trigger/popup-trigger.js.map +0 -1
- package/esm2022/popup/lib/popup.service.js +0 -188
- package/esm2022/popup/lib/popup.service.js.map +0 -1
- package/esm2022/popup/malva-ui-core-popup.js +0 -5
- package/esm2022/popup/malva-ui-core-popup.js.map +0 -1
- package/esm2022/progress/index.js +0 -2
- package/esm2022/progress/index.js.map +0 -1
- package/esm2022/progress/lib/progress/progress.js +0 -102
- package/esm2022/progress/lib/progress/progress.js.map +0 -1
- package/esm2022/progress/malva-ui-core-progress.js +0 -5
- package/esm2022/progress/malva-ui-core-progress.js.map +0 -1
- package/esm2022/radio/index.js +0 -3
- package/esm2022/radio/index.js.map +0 -1
- package/esm2022/radio/lib/radio/radio.js +0 -134
- package/esm2022/radio/lib/radio/radio.js.map +0 -1
- package/esm2022/radio/lib/radio-group/radio-group.js +0 -176
- package/esm2022/radio/lib/radio-group/radio-group.js.map +0 -1
- package/esm2022/radio/lib/radio-group-token.js +0 -3
- package/esm2022/radio/lib/radio-group-token.js.map +0 -1
- package/esm2022/radio/malva-ui-core-radio.js +0 -5
- package/esm2022/radio/malva-ui-core-radio.js.map +0 -1
- package/esm2022/rating/index.js +0 -2
- package/esm2022/rating/index.js.map +0 -1
- package/esm2022/rating/lib/rating/rating.js +0 -208
- package/esm2022/rating/lib/rating/rating.js.map +0 -1
- package/esm2022/rating/malva-ui-core-rating.js +0 -5
- package/esm2022/rating/malva-ui-core-rating.js.map +0 -1
- package/esm2022/scrollbar/index.js +0 -2
- package/esm2022/scrollbar/index.js.map +0 -1
- package/esm2022/scrollbar/lib/scrollbar/scrollbar.js +0 -388
- package/esm2022/scrollbar/lib/scrollbar/scrollbar.js.map +0 -1
- package/esm2022/scrollbar/malva-ui-core-scrollbar.js +0 -5
- package/esm2022/scrollbar/malva-ui-core-scrollbar.js.map +0 -1
- package/esm2022/search-field/index.js +0 -3
- package/esm2022/search-field/index.js.map +0 -1
- package/esm2022/search-field/lib/search-field/search-field.js +0 -535
- package/esm2022/search-field/lib/search-field/search-field.js.map +0 -1
- package/esm2022/search-field/lib/search-field/search-overlay-content.js +0 -35
- package/esm2022/search-field/lib/search-field/search-overlay-content.js.map +0 -1
- package/esm2022/search-field/malva-ui-core-search-field.js +0 -5
- package/esm2022/search-field/malva-ui-core-search-field.js.map +0 -1
- package/esm2022/segmented/index.js +0 -5
- package/esm2022/segmented/index.js.map +0 -1
- package/esm2022/segmented/lib/segmented/segmented.js +0 -248
- package/esm2022/segmented/lib/segmented/segmented.js.map +0 -1
- package/esm2022/segmented/lib/segmented-item/segmented-item.js +0 -194
- package/esm2022/segmented/lib/segmented-item/segmented-item.js.map +0 -1
- package/esm2022/segmented/lib/segmented-token.js +0 -4
- package/esm2022/segmented/lib/segmented-token.js.map +0 -1
- package/esm2022/segmented/lib/segmented.types.js +0 -1
- package/esm2022/segmented/lib/segmented.types.js.map +0 -1
- package/esm2022/segmented/malva-ui-core-segmented.js +0 -5
- package/esm2022/segmented/malva-ui-core-segmented.js.map +0 -1
- package/esm2022/select/index.js +0 -4
- package/esm2022/select/index.js.map +0 -1
- package/esm2022/select/lib/select/select.js +0 -685
- package/esm2022/select/lib/select/select.js.map +0 -1
- package/esm2022/select/lib/select-option.js +0 -2
- package/esm2022/select/lib/select-option.js.map +0 -1
- package/esm2022/select/lib/select-template.directives.js +0 -34
- package/esm2022/select/lib/select-template.directives.js.map +0 -1
- package/esm2022/select/malva-ui-core-select.js +0 -5
- package/esm2022/select/malva-ui-core-select.js.map +0 -1
- package/esm2022/sidebar/index.js +0 -16
- package/esm2022/sidebar/index.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar/sidebar.js +0 -251
- package/esm2022/sidebar/lib/sidebar/sidebar.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-content.js +0 -37
- package/esm2022/sidebar/lib/sidebar-content.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-context.js +0 -3
- package/esm2022/sidebar/lib/sidebar-context.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-footer.js +0 -20
- package/esm2022/sidebar/lib/sidebar-footer.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js +0 -341
- package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-header.js +0 -20
- package/esm2022/sidebar/lib/sidebar-header.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js +0 -216
- package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-item-host.js +0 -39
- package/esm2022/sidebar/lib/sidebar-item-host.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-item-icon.js +0 -14
- package/esm2022/sidebar/lib/sidebar-item-icon.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-mode.js +0 -1
- package/esm2022/sidebar/lib/sidebar-mode.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js +0 -202
- package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js +0 -159
- package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js +0 -35
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js +0 -107
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js.map +0 -1
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js +0 -1
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js.map +0 -1
- package/esm2022/sidebar/malva-ui-core-sidebar.js +0 -5
- package/esm2022/sidebar/malva-ui-core-sidebar.js.map +0 -1
- package/esm2022/skeleton/index.js +0 -2
- package/esm2022/skeleton/index.js.map +0 -1
- package/esm2022/skeleton/lib/skeleton/skeleton.js +0 -78
- package/esm2022/skeleton/lib/skeleton/skeleton.js.map +0 -1
- package/esm2022/skeleton/malva-ui-core-skeleton.js +0 -5
- package/esm2022/skeleton/malva-ui-core-skeleton.js.map +0 -1
- package/esm2022/slider/index.js +0 -3
- package/esm2022/slider/index.js.map +0 -1
- package/esm2022/slider/lib/slider/slider-tooltip-def.js +0 -31
- package/esm2022/slider/lib/slider/slider-tooltip-def.js.map +0 -1
- package/esm2022/slider/lib/slider/slider.js +0 -468
- package/esm2022/slider/lib/slider/slider.js.map +0 -1
- package/esm2022/slider/malva-ui-core-slider.js +0 -5
- package/esm2022/slider/malva-ui-core-slider.js.map +0 -1
- package/esm2022/split-pane/index.js +0 -4
- package/esm2022/split-pane/index.js.map +0 -1
- package/esm2022/split-pane/lib/split-pane/split-pane-panel.js +0 -49
- package/esm2022/split-pane/lib/split-pane/split-pane-panel.js.map +0 -1
- package/esm2022/split-pane/lib/split-pane/split-pane.js +0 -290
- package/esm2022/split-pane/lib/split-pane/split-pane.js.map +0 -1
- package/esm2022/split-pane/lib/split-pane/split-pane.types.js +0 -1
- package/esm2022/split-pane/lib/split-pane/split-pane.types.js.map +0 -1
- package/esm2022/split-pane/malva-ui-core-split-pane.js +0 -5
- package/esm2022/split-pane/malva-ui-core-split-pane.js.map +0 -1
- package/esm2022/status-indicator/index.js +0 -2
- package/esm2022/status-indicator/index.js.map +0 -1
- package/esm2022/status-indicator/lib/status-indicator/status-indicator.js +0 -71
- package/esm2022/status-indicator/lib/status-indicator/status-indicator.js.map +0 -1
- package/esm2022/status-indicator/malva-ui-core-status-indicator.js +0 -5
- package/esm2022/status-indicator/malva-ui-core-status-indicator.js.map +0 -1
- package/esm2022/stepper/index.js +0 -5
- package/esm2022/stepper/index.js.map +0 -1
- package/esm2022/stepper/lib/stepper/step-header.js +0 -46
- package/esm2022/stepper/lib/stepper/step-header.js.map +0 -1
- package/esm2022/stepper/lib/stepper/step.js +0 -65
- package/esm2022/stepper/lib/stepper/step.js.map +0 -1
- package/esm2022/stepper/lib/stepper/stepper-token.js +0 -4
- package/esm2022/stepper/lib/stepper/stepper-token.js.map +0 -1
- package/esm2022/stepper/lib/stepper/stepper.js +0 -216
- package/esm2022/stepper/lib/stepper/stepper.js.map +0 -1
- package/esm2022/stepper/lib/stepper/stepper.types.js +0 -1
- package/esm2022/stepper/lib/stepper/stepper.types.js.map +0 -1
- package/esm2022/stepper/malva-ui-core-stepper.js +0 -5
- package/esm2022/stepper/malva-ui-core-stepper.js.map +0 -1
- package/esm2022/switch/index.js +0 -3
- package/esm2022/switch/index.js.map +0 -1
- package/esm2022/switch/lib/switch/switch.js +0 -190
- package/esm2022/switch/lib/switch/switch.js.map +0 -1
- package/esm2022/switch/lib/switch-group/switch-group.js +0 -68
- package/esm2022/switch/lib/switch-group/switch-group.js.map +0 -1
- package/esm2022/switch/lib/switch-group-token.js +0 -3
- package/esm2022/switch/lib/switch-group-token.js.map +0 -1
- package/esm2022/switch/malva-ui-core-switch.js +0 -5
- package/esm2022/switch/malva-ui-core-switch.js.map +0 -1
- package/esm2022/tabs/index.js +0 -9
- package/esm2022/tabs/index.js.map +0 -1
- package/esm2022/tabs/lib/tab/tab.js +0 -72
- package/esm2022/tabs/lib/tab/tab.js.map +0 -1
- package/esm2022/tabs/lib/tab-content/tab-content.js +0 -19
- package/esm2022/tabs/lib/tab-content/tab-content.js.map +0 -1
- package/esm2022/tabs/lib/tab-content-def.js +0 -14
- package/esm2022/tabs/lib/tab-content-def.js.map +0 -1
- package/esm2022/tabs/lib/tab-def.js +0 -17
- package/esm2022/tabs/lib/tab-def.js.map +0 -1
- package/esm2022/tabs/lib/tab-group-token.js +0 -3
- package/esm2022/tabs/lib/tab-group-token.js.map +0 -1
- package/esm2022/tabs/lib/tab-item/tab-item.js +0 -44
- package/esm2022/tabs/lib/tab-item/tab-item.js.map +0 -1
- package/esm2022/tabs/lib/tabs/tabs.js +0 -542
- package/esm2022/tabs/lib/tabs/tabs.js.map +0 -1
- package/esm2022/tabs/lib/tabs.service.js +0 -83
- package/esm2022/tabs/lib/tabs.service.js.map +0 -1
- package/esm2022/tabs/malva-ui-core-tabs.js +0 -5
- package/esm2022/tabs/malva-ui-core-tabs.js.map +0 -1
- package/esm2022/textarea/index.js +0 -2
- package/esm2022/textarea/index.js.map +0 -1
- package/esm2022/textarea/lib/textarea/textarea.js +0 -194
- package/esm2022/textarea/lib/textarea/textarea.js.map +0 -1
- package/esm2022/textarea/malva-ui-core-textarea.js +0 -5
- package/esm2022/textarea/malva-ui-core-textarea.js.map +0 -1
- package/esm2022/tile/index.js +0 -3
- package/esm2022/tile/index.js.map +0 -1
- package/esm2022/tile/lib/tile/tile.js +0 -39
- package/esm2022/tile/lib/tile/tile.js.map +0 -1
- package/esm2022/tile/lib/tile-header.js +0 -14
- package/esm2022/tile/lib/tile-header.js.map +0 -1
- package/esm2022/tile/malva-ui-core-tile.js +0 -5
- package/esm2022/tile/malva-ui-core-tile.js.map +0 -1
- package/esm2022/time-picker/index.js +0 -2
- package/esm2022/time-picker/index.js.map +0 -1
- package/esm2022/time-picker/lib/time-picker/time-picker.js +0 -310
- package/esm2022/time-picker/lib/time-picker/time-picker.js.map +0 -1
- package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js +0 -216
- package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js.map +0 -1
- package/esm2022/time-picker/malva-ui-core-time-picker.js +0 -5
- package/esm2022/time-picker/malva-ui-core-time-picker.js.map +0 -1
- package/esm2022/timeline/index.js +0 -6
- package/esm2022/timeline/index.js.map +0 -1
- package/esm2022/timeline/lib/timeline/timeline-item-icon.js +0 -31
- package/esm2022/timeline/lib/timeline/timeline-item-icon.js.map +0 -1
- package/esm2022/timeline/lib/timeline/timeline-item-meta.js +0 -31
- package/esm2022/timeline/lib/timeline/timeline-item-meta.js.map +0 -1
- package/esm2022/timeline/lib/timeline/timeline-item.js +0 -69
- package/esm2022/timeline/lib/timeline/timeline-item.js.map +0 -1
- package/esm2022/timeline/lib/timeline/timeline.js +0 -36
- package/esm2022/timeline/lib/timeline/timeline.js.map +0 -1
- package/esm2022/timeline/lib/timeline/timeline.types.js +0 -1
- package/esm2022/timeline/lib/timeline/timeline.types.js.map +0 -1
- package/esm2022/timeline/malva-ui-core-timeline.js +0 -5
- package/esm2022/timeline/malva-ui-core-timeline.js.map +0 -1
- package/esm2022/title/index.js +0 -2
- package/esm2022/title/index.js.map +0 -1
- package/esm2022/title/lib/title/title.js +0 -171
- package/esm2022/title/lib/title/title.js.map +0 -1
- package/esm2022/title/malva-ui-core-title.js +0 -5
- package/esm2022/title/malva-ui-core-title.js.map +0 -1
- package/esm2022/toast/index.js +0 -13
- package/esm2022/toast/index.js.map +0 -1
- package/esm2022/toast/lib/abstract-toast-container.js +0 -50
- package/esm2022/toast/lib/abstract-toast-container.js.map +0 -1
- package/esm2022/toast/lib/abstract-toast-item.js +0 -75
- package/esm2022/toast/lib/abstract-toast-item.js.map +0 -1
- package/esm2022/toast/lib/abstract-toast.service.js +0 -176
- package/esm2022/toast/lib/abstract-toast.service.js.map +0 -1
- package/esm2022/toast/lib/toast-container/toast-container.js +0 -61
- package/esm2022/toast/lib/toast-container/toast-container.js.map +0 -1
- package/esm2022/toast/lib/toast-item/toast-item.js +0 -62
- package/esm2022/toast/lib/toast-item/toast-item.js.map +0 -1
- package/esm2022/toast/lib/toast-ref.js +0 -54
- package/esm2022/toast/lib/toast-ref.js.map +0 -1
- package/esm2022/toast/lib/toast-timer.js +0 -37
- package/esm2022/toast/lib/toast-timer.js.map +0 -1
- package/esm2022/toast/lib/toast.directives.js +0 -76
- package/esm2022/toast/lib/toast.directives.js.map +0 -1
- package/esm2022/toast/lib/toast.service.js +0 -127
- package/esm2022/toast/lib/toast.service.js.map +0 -1
- package/esm2022/toast/lib/toast.types.js +0 -39
- package/esm2022/toast/lib/toast.types.js.map +0 -1
- package/esm2022/toast/malva-ui-core-toast.js +0 -5
- package/esm2022/toast/malva-ui-core-toast.js.map +0 -1
- package/esm2022/tokenizer/index.js +0 -4
- package/esm2022/tokenizer/index.js.map +0 -1
- package/esm2022/tokenizer/lib/token/token.js +0 -123
- package/esm2022/tokenizer/lib/token/token.js.map +0 -1
- package/esm2022/tokenizer/lib/token-template.js +0 -23
- package/esm2022/tokenizer/lib/token-template.js.map +0 -1
- package/esm2022/tokenizer/lib/tokenizer/tokenizer.js +0 -324
- package/esm2022/tokenizer/lib/tokenizer/tokenizer.js.map +0 -1
- package/esm2022/tokenizer/malva-ui-core-tokenizer.js +0 -5
- package/esm2022/tokenizer/malva-ui-core-tokenizer.js.map +0 -1
- package/esm2022/toolbar/index.js +0 -4
- package/esm2022/toolbar/index.js.map +0 -1
- package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js +0 -13
- package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js.map +0 -1
- package/esm2022/toolbar/lib/toolbar/toolbar-widget.js +0 -106
- package/esm2022/toolbar/lib/toolbar/toolbar-widget.js.map +0 -1
- package/esm2022/toolbar/lib/toolbar/toolbar.js +0 -19
- package/esm2022/toolbar/lib/toolbar/toolbar.js.map +0 -1
- package/esm2022/toolbar/malva-ui-core-toolbar.js +0 -5
- package/esm2022/toolbar/malva-ui-core-toolbar.js.map +0 -1
- package/esm2022/tooltip/index.js +0 -4
- package/esm2022/tooltip/index.js.map +0 -1
- package/esm2022/tooltip/lib/tooltip/tooltip-panel.js +0 -69
- package/esm2022/tooltip/lib/tooltip/tooltip-panel.js.map +0 -1
- package/esm2022/tooltip/lib/tooltip/tooltip.js +0 -352
- package/esm2022/tooltip/lib/tooltip/tooltip.js.map +0 -1
- package/esm2022/tooltip/lib/tooltip/tooltip.types.js +0 -1
- package/esm2022/tooltip/lib/tooltip/tooltip.types.js.map +0 -1
- package/esm2022/tooltip/malva-ui-core-tooltip.js +0 -5
- package/esm2022/tooltip/malva-ui-core-tooltip.js.map +0 -1
- package/esm2022/tree/index.js +0 -5
- package/esm2022/tree/index.js.map +0 -1
- package/esm2022/tree/lib/tree/tree-context.js +0 -7
- package/esm2022/tree/lib/tree/tree-context.js.map +0 -1
- package/esm2022/tree/lib/tree/tree-node-def.js +0 -34
- package/esm2022/tree/lib/tree/tree-node-def.js.map +0 -1
- package/esm2022/tree/lib/tree/tree-node.js +0 -1
- package/esm2022/tree/lib/tree/tree-node.js.map +0 -1
- package/esm2022/tree/lib/tree/tree-subtree.js +0 -107
- package/esm2022/tree/lib/tree/tree-subtree.js.map +0 -1
- package/esm2022/tree/lib/tree/tree.js +0 -362
- package/esm2022/tree/lib/tree/tree.js.map +0 -1
- package/esm2022/tree/malva-ui-core-tree.js +0 -5
- package/esm2022/tree/malva-ui-core-tree.js.map +0 -1
- package/expand/index.d.ts +0 -2
- package/expand/lib/expand/expand-content.d.ts +0 -26
- package/expand/lib/expand/expand.d.ts +0 -74
- package/expand/malva-ui-core-expand.d.ts +0 -5
- package/file-upload/index.d.ts +0 -4
- package/file-upload/lib/file-upload/file-upload.d.ts +0 -138
- package/file-upload/lib/file-upload/file-upload.types.d.ts +0 -42
- package/file-upload/lib/file-upload-action.d.ts +0 -53
- package/file-upload/lib/file-upload-item/file-upload-item.d.ts +0 -30
- package/file-upload/malva-ui-core-file-upload.d.ts +0 -5
- package/filter/index.d.ts +0 -3
- package/filter/lib/filter/filter.d.ts +0 -156
- package/filter/lib/filter.types.d.ts +0 -75
- package/filter/lib/smart-filter-bar/smart-filter-bar.d.ts +0 -153
- package/filter/malva-ui-core-filter.d.ts +0 -5
- package/form/index.d.ts +0 -6
- package/form/lib/fieldset/fieldset.d.ts +0 -58
- package/form/lib/fieldset-span.d.ts +0 -28
- package/form/lib/form/form.d.ts +0 -37
- package/form/lib/form-actions.d.ts +0 -20
- package/form/lib/form-gap.d.ts +0 -5
- package/form/lib/form-header.d.ts +0 -18
- package/form/lib/form.types.d.ts +0 -13
- package/form/malva-ui-core-form.d.ts +0 -5
- package/form-utils/index.d.ts +0 -15
- package/form-utils/lib/aria-value-bridge.d.ts +0 -45
- package/form-utils/lib/description/description.d.ts +0 -16
- package/form-utils/lib/focusable-group-base.d.ts +0 -76
- package/form-utils/lib/form-control-base/signal-form-control-base.d.ts +0 -159
- package/form-utils/lib/form-control-sides.d.ts +0 -20
- package/form-utils/lib/form-control-wrapper/form-control-wrapper-control.d.ts +0 -6
- package/form-utils/lib/form-control-wrapper/form-control-wrapper.d.ts +0 -20
- package/form-utils/lib/form-field/form-field.d.ts +0 -68
- package/form-utils/lib/hint/hint.d.ts +0 -5
- package/form-utils/lib/label/label.d.ts +0 -22
- package/form-utils/lib/message/message.d.ts +0 -7
- package/form-utils/lib/models/error-display-strategy.d.ts +0 -1
- package/form-utils/lib/models/form-control-connector.d.ts +0 -41
- package/form-utils/lib/models/form-state.d.ts +0 -1
- package/form-utils/lib/selection.service.d.ts +0 -27
- package/form-utils/malva-ui-core-form-utils.d.ts +0 -5
- package/form-utils/testing/index.d.ts +0 -1
- package/form-utils/testing/lib/forms-binding-matrix.d.ts +0 -47
- package/form-utils/testing/malva-ui-core-form-utils-testing.d.ts +0 -5
- package/index.d.ts +0 -69
- package/input/index.d.ts +0 -3
- package/input/lib/input/input-native.d.ts +0 -36
- package/input/lib/input/input-value-accessor.d.ts +0 -11
- package/input/lib/input/input.d.ts +0 -189
- package/input/lib/input/password-strength.d.ts +0 -34
- package/input/malva-ui-core-input.d.ts +0 -5
- package/kbd/index.d.ts +0 -1
- package/kbd/lib/kbd/kbd.d.ts +0 -52
- package/kbd/malva-ui-core-kbd.d.ts +0 -5
- package/layout/index.d.ts +0 -4
- package/layout/lib/layout/directives/MlvLayoutSide.d.ts +0 -6
- package/layout/lib/layout/directives/MlvLayoutTop.d.ts +0 -6
- package/layout/lib/layout/layout.d.ts +0 -20
- package/layout/lib/layout/services/theme.service.d.ts +0 -33
- package/layout/malva-ui-core-layout.d.ts +0 -5
- package/link/index.d.ts +0 -2
- package/link/lib/link/link.d.ts +0 -15
- package/link/lib/link/link.directives.d.ts +0 -10
- package/link/malva-ui-core-link.d.ts +0 -5
- package/list/index.d.ts +0 -13
- package/list/lib/list/list.d.ts +0 -25
- package/list/lib/list-item/list-item.d.ts +0 -67
- package/list/lib/list-item-actions.d.ts +0 -12
- package/list/lib/list-item-byline.d.ts +0 -5
- package/list/lib/list-item-group/list-item-group.d.ts +0 -11
- package/list/lib/list-item-link/list-item-link.d.ts +0 -8
- package/list/lib/list-item-media.d.ts +0 -5
- package/list/lib/list-item-meta.d.ts +0 -5
- package/list/lib/list-item-prefix.d.ts +0 -5
- package/list/lib/list-item-suffix.d.ts +0 -5
- package/list/lib/list-item-template.d.ts +0 -10
- package/list/lib/list-item-title.d.ts +0 -5
- package/list/lib/list-selectable.d.ts +0 -73
- package/list/malva-ui-core-list.d.ts +0 -5
- package/loader/index.d.ts +0 -1
- package/loader/lib/loader/loader.d.ts +0 -84
- package/loader/malva-ui-core-loader.d.ts +0 -5
- package/malva-ui-core.d.ts +0 -5
- package/menu/index.d.ts +0 -9
- package/menu/lib/menu/menu-group-label.d.ts +0 -22
- package/menu/lib/menu/menu-group.d.ts +0 -27
- package/menu/lib/menu/menu-item.d.ts +0 -76
- package/menu/lib/menu/menu-separator.d.ts +0 -18
- package/menu/lib/menu/menu-trigger.d.ts +0 -255
- package/menu/lib/menu/menu.d.ts +0 -149
- package/menu/lib/menu/menu.types.d.ts +0 -13
- package/menu/lib/menu/menubar.d.ts +0 -131
- package/menu/lib/menu/menubar.types.d.ts +0 -82
- package/menu/lib/menu/submenu-aim.d.ts +0 -10
- package/menu/malva-ui-core-menu.d.ts +0 -5
- package/notification/index.d.ts +0 -4
- package/notification/lib/notification-item/notification-item.d.ts +0 -20
- package/notification/lib/notification-ref.d.ts +0 -12
- package/notification/lib/notification.service.d.ts +0 -43
- package/notification/lib/notification.types.d.ts +0 -52
- package/notification/malva-ui-core-notification.d.ts +0 -5
- package/number-input/index.d.ts +0 -1
- package/number-input/lib/number-input/number-input.d.ts +0 -162
- package/number-input/malva-ui-core-number-input.d.ts +0 -5
- package/page/index.d.ts +0 -14
- package/page/lib/page/page-scroll.token.d.ts +0 -19
- package/page/lib/page/page-snap-controller.d.ts +0 -87
- package/page/lib/page/page-snap.directive.d.ts +0 -40
- package/page/lib/page/page.d.ts +0 -74
- package/page/lib/page-content/page-aside.d.ts +0 -7
- package/page/lib/page-content/page-content.d.ts +0 -37
- package/page/lib/page-dock/page-dock.d.ts +0 -50
- package/page/lib/page-dock/page-dock.slots.d.ts +0 -16
- package/page/lib/page-header/page-header.d.ts +0 -77
- package/page/lib/page-header/page-header.directives.d.ts +0 -50
- package/page/lib/page-shell/page-shell-color.d.ts +0 -48
- package/page/lib/page-shell/page-shell-css-color.d.ts +0 -20
- package/page/lib/page-shell/page-shell.d.ts +0 -44
- package/page/lib/page-shell/page-shell.slots.d.ts +0 -16
- package/page/lib/page-summary/page-summary-item.d.ts +0 -11
- package/page/lib/page-summary/page-summary.d.ts +0 -36
- package/page/malva-ui-core-page.d.ts +0 -5
- package/pagination/index.d.ts +0 -4
- package/pagination/lib/pagination/pagination.d.ts +0 -182
- package/pagination/lib/pagination/pagination.directives.d.ts +0 -44
- package/pagination/lib/pagination/pagination.model.d.ts +0 -6
- package/pagination/lib/pagination/pagination.service.d.ts +0 -26
- package/pagination/malva-ui-core-pagination.d.ts +0 -5
- package/pin-input/index.d.ts +0 -2
- package/pin-input/lib/pin-input/pin-input-separator.d.ts +0 -24
- package/pin-input/lib/pin-input/pin-input.d.ts +0 -176
- package/pin-input/malva-ui-core-pin-input.d.ts +0 -5
- package/popup/index.d.ts +0 -9
- package/popup/lib/popup/popup.d.ts +0 -343
- package/popup/lib/popup-container/popup-container.d.ts +0 -61
- package/popup/lib/popup-container/popup-container.token.d.ts +0 -34
- package/popup/lib/popup-content.d.ts +0 -6
- package/popup/lib/popup-header-content.d.ts +0 -18
- package/popup/lib/popup-pinned-content.d.ts +0 -17
- package/popup/lib/popup-positions.d.ts +0 -105
- package/popup/lib/popup-trigger/popup-trigger.d.ts +0 -102
- package/popup/lib/popup.service.d.ts +0 -159
- package/popup/malva-ui-core-popup.d.ts +0 -5
- package/progress/index.d.ts +0 -1
- package/progress/lib/progress/progress.d.ts +0 -69
- package/progress/malva-ui-core-progress.d.ts +0 -5
- package/radio/index.d.ts +0 -2
- package/radio/lib/radio/radio.d.ts +0 -87
- package/radio/lib/radio-group/radio-group.d.ts +0 -35
- package/radio/lib/radio-group-token.d.ts +0 -7
- package/radio/malva-ui-core-radio.d.ts +0 -5
- package/rating/index.d.ts +0 -1
- package/rating/lib/rating/rating.d.ts +0 -100
- package/rating/malva-ui-core-rating.d.ts +0 -5
- package/scrollbar/index.d.ts +0 -1
- package/scrollbar/lib/scrollbar/scrollbar.d.ts +0 -166
- package/scrollbar/malva-ui-core-scrollbar.d.ts +0 -5
- package/search-field/index.d.ts +0 -2
- package/search-field/lib/search-field/search-field.d.ts +0 -347
- package/search-field/lib/search-field/search-overlay-content.d.ts +0 -59
- package/search-field/malva-ui-core-search-field.d.ts +0 -5
- package/segmented/index.d.ts +0 -4
- package/segmented/lib/segmented/segmented.d.ts +0 -80
- package/segmented/lib/segmented-item/segmented-item.d.ts +0 -89
- package/segmented/lib/segmented-token.d.ts +0 -22
- package/segmented/lib/segmented.types.d.ts +0 -9
- package/segmented/malva-ui-core-segmented.d.ts +0 -5
- package/select/index.d.ts +0 -3
- package/select/lib/select/select.d.ts +0 -379
- package/select/lib/select-option.d.ts +0 -1
- package/select/lib/select-template.directives.d.ts +0 -14
- package/select/malva-ui-core-select.d.ts +0 -5
- package/sidebar/index.d.ts +0 -15
- package/sidebar/lib/sidebar/sidebar.d.ts +0 -134
- package/sidebar/lib/sidebar-content.d.ts +0 -11
- package/sidebar/lib/sidebar-context.d.ts +0 -23
- package/sidebar/lib/sidebar-footer.d.ts +0 -9
- package/sidebar/lib/sidebar-group/sidebar-group.d.ts +0 -127
- package/sidebar/lib/sidebar-header.d.ts +0 -9
- package/sidebar/lib/sidebar-item/sidebar-item.d.ts +0 -104
- package/sidebar/lib/sidebar-item-host.d.ts +0 -18
- package/sidebar/lib/sidebar-item-icon.d.ts +0 -6
- package/sidebar/lib/sidebar-mode.d.ts +0 -2
- package/sidebar/lib/sidebar-rail/sidebar-rail.d.ts +0 -54
- package/sidebar/lib/sidebar-trigger/sidebar-trigger.d.ts +0 -67
- package/sidebar/lib/sidebar-workspace/sidebar-workspace.d.ts +0 -54
- package/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.d.ts +0 -19
- package/sidebar/lib/sidebar-workspace/sidebar-workspace.types.d.ts +0 -20
- package/sidebar/malva-ui-core-sidebar.d.ts +0 -5
- package/skeleton/index.d.ts +0 -1
- package/skeleton/lib/skeleton/skeleton.d.ts +0 -60
- package/skeleton/malva-ui-core-skeleton.d.ts +0 -5
- package/slider/index.d.ts +0 -2
- package/slider/lib/slider/slider-tooltip-def.d.ts +0 -39
- package/slider/lib/slider/slider.d.ts +0 -171
- package/slider/malva-ui-core-slider.d.ts +0 -5
- package/split-pane/index.d.ts +0 -3
- package/split-pane/lib/split-pane/split-pane-panel.d.ts +0 -34
- package/split-pane/lib/split-pane/split-pane.d.ts +0 -98
- package/split-pane/lib/split-pane/split-pane.types.d.ts +0 -7
- package/split-pane/malva-ui-core-split-pane.d.ts +0 -5
- package/status-indicator/index.d.ts +0 -1
- package/status-indicator/lib/status-indicator/status-indicator.d.ts +0 -61
- package/status-indicator/malva-ui-core-status-indicator.d.ts +0 -5
- package/stepper/index.d.ts +0 -4
- package/stepper/lib/stepper/step-header.d.ts +0 -34
- package/stepper/lib/stepper/step.d.ts +0 -51
- package/stepper/lib/stepper/stepper-token.d.ts +0 -13
- package/stepper/lib/stepper/stepper.d.ts +0 -98
- package/stepper/lib/stepper/stepper.types.d.ts +0 -4
- package/stepper/malva-ui-core-stepper.d.ts +0 -5
- package/switch/index.d.ts +0 -2
- package/switch/lib/switch/switch.d.ts +0 -118
- package/switch/lib/switch-group/switch-group.d.ts +0 -24
- package/switch/lib/switch-group-token.d.ts +0 -6
- package/switch/malva-ui-core-switch.d.ts +0 -5
- package/tabs/index.d.ts +0 -8
- package/tabs/lib/tab/tab.d.ts +0 -46
- package/tabs/lib/tab-content/tab-content.d.ts +0 -11
- package/tabs/lib/tab-content-def.d.ts +0 -6
- package/tabs/lib/tab-def.d.ts +0 -11
- package/tabs/lib/tab-group-token.d.ts +0 -10
- package/tabs/lib/tab-item/tab-item.d.ts +0 -28
- package/tabs/lib/tabs/tabs.d.ts +0 -202
- package/tabs/lib/tabs.service.d.ts +0 -24
- package/tabs/malva-ui-core-tabs.d.ts +0 -5
- package/textarea/index.d.ts +0 -1
- package/textarea/lib/textarea/textarea.d.ts +0 -77
- package/textarea/malva-ui-core-textarea.d.ts +0 -5
- package/tile/index.d.ts +0 -2
- package/tile/lib/tile/tile.d.ts +0 -20
- package/tile/lib/tile-header.d.ts +0 -6
- package/tile/malva-ui-core-tile.d.ts +0 -5
- package/time-picker/index.d.ts +0 -1
- package/time-picker/lib/time-picker/time-picker.d.ts +0 -135
- package/time-picker/lib/time-picker-column/time-picker-column.d.ts +0 -111
- package/time-picker/malva-ui-core-time-picker.d.ts +0 -5
- package/timeline/index.d.ts +0 -5
- package/timeline/lib/timeline/timeline-item-icon.d.ts +0 -24
- package/timeline/lib/timeline/timeline-item-meta.d.ts +0 -24
- package/timeline/lib/timeline/timeline-item.d.ts +0 -52
- package/timeline/lib/timeline/timeline.d.ts +0 -27
- package/timeline/lib/timeline/timeline.types.d.ts +0 -18
- package/timeline/malva-ui-core-timeline.d.ts +0 -5
- package/title/index.d.ts +0 -1
- package/title/lib/title/title.d.ts +0 -63
- package/title/malva-ui-core-title.d.ts +0 -5
- package/toast/index.d.ts +0 -10
- package/toast/lib/abstract-toast-container.d.ts +0 -29
- package/toast/lib/abstract-toast-item.d.ts +0 -44
- package/toast/lib/abstract-toast.service.d.ts +0 -75
- package/toast/lib/toast-container/toast-container.d.ts +0 -23
- package/toast/lib/toast-item/toast-item.d.ts +0 -25
- package/toast/lib/toast-ref.d.ts +0 -33
- package/toast/lib/toast-timer.d.ts +0 -24
- package/toast/lib/toast.directives.d.ts +0 -13
- package/toast/lib/toast.service.d.ts +0 -41
- package/toast/lib/toast.types.d.ts +0 -139
- package/toast/malva-ui-core-toast.d.ts +0 -5
- package/tokenizer/index.d.ts +0 -3
- package/tokenizer/lib/token/token.d.ts +0 -60
- package/tokenizer/lib/token-template.d.ts +0 -29
- package/tokenizer/lib/tokenizer/tokenizer.d.ts +0 -109
- package/tokenizer/malva-ui-core-tokenizer.d.ts +0 -5
- package/toolbar/index.d.ts +0 -3
- package/toolbar/lib/toolbar/toolbar-spacer.d.ts +0 -5
- package/toolbar/lib/toolbar/toolbar-widget.d.ts +0 -75
- package/toolbar/lib/toolbar/toolbar.d.ts +0 -8
- package/toolbar/malva-ui-core-toolbar.d.ts +0 -5
- package/tooltip/index.d.ts +0 -3
- package/tooltip/lib/tooltip/tooltip-panel.d.ts +0 -26
- package/tooltip/lib/tooltip/tooltip.d.ts +0 -148
- package/tooltip/lib/tooltip/tooltip.types.d.ts +0 -17
- package/tooltip/malva-ui-core-tooltip.d.ts +0 -5
- package/tree/index.d.ts +0 -4
- package/tree/lib/tree/tree-context.d.ts +0 -62
- package/tree/lib/tree/tree-node-def.d.ts +0 -33
- package/tree/lib/tree/tree-node.d.ts +0 -45
- package/tree/lib/tree/tree-subtree.d.ts +0 -63
- package/tree/lib/tree/tree.d.ts +0 -156
- package/tree/malva-ui-core-tree.d.ts +0 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"malva-ui-core-time-picker.mjs","sources":["../../../../libs/core/time-picker/src/lib/time-picker-column/time-picker-column.ts","../../../../libs/core/time-picker/src/lib/time-picker-column/time-picker-column.html","../../../../libs/core/time-picker/src/lib/time-picker/time-picker.ts","../../../../libs/core/time-picker/src/lib/time-picker/time-picker.html","../../../../libs/core/time-picker/src/malva-ui-core-time-picker.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n ElementRef,\n inject,\n input,\n output,\n untracked,\n viewChild,\n viewChildren,\n ViewEncapsulation,\n type AfterViewInit,\n} from '@angular/core';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { Listbox, Option } from '@angular/aria/listbox';\nimport { clamp } from '@malva-ui/cdk/utils';\n\n/**\n * A single scrollable column for the time picker (hours, minutes, seconds).\n *\n * Renders a `<ul>` backed by `@angular/aria`'s headless `ngListbox`/`ngOption`\n * pattern in **`focusMode=\"activedescendant\"`** — focus stays on the `<ul>`\n * container while `aria-activedescendant` tracks the active item. aria owns the\n * roles (`listbox`/`option`), `aria-selected`, `aria-activedescendant`, roving\n * `aria-activedescendant`, and all keyboard navigation (ArrowUp/Down wrap,\n * Home/End, Enter/Space, and additive type-ahead).\n *\n * The CSS scroll-snap **drum-roll** UX is retained on top of aria: in\n * `activedescendant` mode aria never moves DOM focus and never scrolls (its\n * `scrollActiveItemIntoView()` is opt-in and is not called here), so it cannot\n * fight the snap scrolling. Programmatic scroll (on external value change) and\n * pointer/wheel scroll-to-select stay component-owned; on a scroll-driven change\n * the aria active item is re-synced via {@link Listbox.gotoIndex} so a following\n * Arrow key moves from the centered value rather than a stale one.\n *\n * @internal This component is not part of the public API and should not be used directly.\n */\n@Component({\n selector: 'mlv-time-picker-column',\n templateUrl: './time-picker-column.html',\n styleUrl: './time-picker-column.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [Listbox, Option],\n host: {\n class: 'mlv-time-picker-column',\n },\n})\nexport class MlvTimePickerColumn implements AfterViewInit {\n /** The accessible label for the column (e.g. \"Hours\", \"Minutes\"). */\n readonly label = input.required<string>();\n\n /** The list of numeric values to display in the column. */\n readonly items = input.required<number[]>();\n\n /** The currently selected value in this column. */\n readonly selectedValue = input.required<number>();\n\n /** Whether the column is disabled. */\n readonly disabled = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /** Emitted when the user selects a new value via scroll, click, or keyboard. */\n readonly valueChange = output<number>();\n\n /** @private Reference to the scrollable list element. */\n private readonly _listRef =\n viewChild<ElementRef<HTMLUListElement>>('listRef');\n\n /**\n * @private The component's own `@for`-rendered `<li>` option elements, in DOM\n * order. Replaces `querySelectorAll('.mlv-time-picker-column__item')` over the\n * host — the items belong to this component's template, so a signal view query\n * is the correct mechanism.\n */\n private readonly _itemEls = viewChildren('itemRef', { read: ElementRef });\n\n /**\n * @private The aria `Listbox` instance on the `<ul>`. Used to keep aria's\n * internal active item aligned with the drum-roll scroll position.\n */\n private readonly _ariaListbox = viewChild(Listbox);\n\n /** @private DestroyRef for cleanup. */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @protected Sanitized label key for use in element IDs (spaces replaced with hyphens). */\n protected readonly _labelKey = computed(() =>\n this.label().toLowerCase().replace(/\\s+/g, '-'),\n );\n\n /** @protected Formatted display items (zero-padded two digits). */\n protected readonly _displayItems = computed(() =>\n this.items().map((v) => ({ value: v, label: String(v).padStart(2, '0') })),\n );\n\n /**\n * @protected Bridges the scalar `selectedValue` input into aria's array-based\n * (`V[]`) single-select value model. Single-select always holds ≤1 entry.\n */\n protected readonly _ariaValue = computed(() => [this.selectedValue()]);\n\n /**\n * @protected Listbox tabindex. Forced to `-1` when disabled to preserve the\n * historical contract; otherwise `undefined` so aria's pattern manages it\n * (`0` in activedescendant mode — the container is the tab stop).\n */\n protected readonly _listboxTabIndex = computed(() =>\n this.disabled() ? -1 : undefined,\n );\n\n /** @private Timer ID for scroll debounce. */\n private _scrollTimer: ReturnType<typeof setTimeout> | null = null;\n\n constructor() {\n // Sync the drum scroll AND aria's active item when selectedValue changes\n // externally (forms value write, mode switch). gotoIndex only moves the active\n // descendant (no selection), so it never re-emits valueChange. Without it,\n // aria's active item would drift from the centered value once the user has\n // interacted (setDefaultState no longer re-syncs post-interaction).\n effect(() => {\n const items = this.items();\n const selected = this.selectedValue();\n const idx = items.indexOf(selected);\n const newIdx = idx >= 0 ? idx : 0;\n untracked(() => {\n this._ariaListbox()?.gotoIndex(newIdx);\n this._scrollToIndex(newIdx, true);\n });\n });\n\n this._destroyRef.onDestroy(() => {\n if (this._scrollTimer) clearTimeout(this._scrollTimer);\n });\n }\n\n ngAfterViewInit(): void {\n const items = this.items();\n const idx = items.indexOf(this.selectedValue());\n const startIdx = idx >= 0 ? idx : 0;\n // Seed aria's active item to the selected value now that the options are\n // registered. aria's own `setDefaultState` is defeated once the popup's\n // open handler focuses the list (focusin → hasBeenInteracted), so we can't\n // rely on it — without this, the active item stays `undefined` and the\n // first Arrow key navigates from index -1.\n this._ariaListbox()?.gotoIndex(startIdx);\n this._scrollToIndex(startIdx, false);\n }\n\n /**\n * Focus the column's listbox element.\n * Used by the parent component for inter-column keyboard navigation.\n */\n focusList(): void {\n this._listRef()?.nativeElement.focus();\n }\n\n /**\n * The column's scrollable `<ul>` listbox element, or `null` before view init.\n * Exposed so the parent time picker can identify which column currently holds\n * focus (comparing against `document.activeElement`) when moving focus between\n * columns, without reaching into child DOM by class name.\n */\n get listElement(): HTMLElement | null {\n return this._listRef()?.nativeElement ?? null;\n }\n\n /**\n * @protected Bridge aria's array `valueChange` back to the scalar output.\n * Guards against no-op echoes so the parent form control is only touched on\n * genuine changes.\n */\n protected _onAriaValueChange(values: number[]): void {\n if (this.disabled()) return;\n const next = values[0];\n if (next === undefined) return;\n if (next !== this.selectedValue()) {\n this.valueChange.emit(next);\n }\n }\n\n /**\n * @protected Handle scroll events — debounced to avoid fighting with CSS\n * scroll-snap during large swipes. aria attaches no scroll listener of its\n * own, so this remains the sole owner of scroll-driven selection.\n */\n protected _onScroll(): void {\n if (this.disabled()) return;\n if (this._scrollTimer) clearTimeout(this._scrollTimer);\n this._scrollTimer = setTimeout(() => {\n this._syncIndexFromScroll();\n }, 150);\n }\n\n /**\n * @private Read the current scroll position and update the selected value.\n * Also re-aligns aria's active item so a subsequent Arrow key moves from the\n * centered value.\n */\n private _syncIndexFromScroll(): void {\n const listEl = this._listRef()?.nativeElement;\n if (!listEl) return;\n\n const items = this._itemEls();\n if (!items.length) return;\n\n const itemHeight = items[0].nativeElement.offsetHeight;\n if (itemHeight === 0) return;\n\n const scrollTop = listEl.scrollTop;\n const closestIndex = Math.round(scrollTop / itemHeight);\n const clampedIndex = clamp(closestIndex, 0, this.items().length - 1);\n const newValue = this.items()[clampedIndex];\n\n if (newValue !== this.selectedValue()) {\n // Keep aria's active item aligned with the scrolled position first, then\n // emit — selection flows back through selectedValue → _ariaValue.\n this._ariaListbox()?.gotoIndex(clampedIndex);\n this.valueChange.emit(newValue);\n }\n }\n\n /**\n * @private Scroll the list to bring item at the given index into view.\n * @param index - The index to scroll to.\n * @param smooth - Whether to use smooth scroll behavior.\n */\n private _scrollToIndex(index: number, smooth: boolean): void {\n const listEl = this._listRef()?.nativeElement;\n if (!listEl) return;\n\n const targetItem = this._itemEls()[index]?.nativeElement;\n if (!targetItem) return;\n\n const itemHeight = targetItem.offsetHeight;\n const scrollTop = index * itemHeight;\n\n if (typeof listEl.scrollTo === 'function') {\n listEl.scrollTo({\n top: scrollTop,\n behavior: smooth ? 'smooth' : 'instant',\n });\n } else {\n listEl.scrollTop = scrollTop;\n }\n }\n}\n","<div class=\"mlv-time-picker-column__track\">\n <ul\n #listRef\n ngListbox\n class=\"mlv-time-picker-column__list\"\n focusMode=\"activedescendant\"\n selectionMode=\"follow\"\n [wrap]=\"true\"\n [disabled]=\"disabled()\"\n [tabindex]=\"_listboxTabIndex()\"\n [value]=\"_ariaValue()\"\n (valueChange)=\"_onAriaValueChange($event)\"\n [attr.aria-label]=\"label()\"\n (scroll)=\"_onScroll()\"\n >\n @for (item of _displayItems(); track item.value) {\n <li\n ngOption\n #itemRef\n [id]=\"'tp-col-item-' + _labelKey() + '-' + item.value\"\n [value]=\"item.value\"\n [label]=\"item.label\"\n class=\"mlv-time-picker-column__item\"\n [class.mlv-time-picker-column__item--selected]=\"\n item.value === selectedValue()\n \"\n >\n {{ item.label }}\n </li>\n }\n </ul>\n</div>\n","import type { ElementRef, Signal } from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n forwardRef,\n inject,\n input,\n model,\n signal,\n viewChild,\n viewChildren,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport {\n MlvDensityDirective,\n MLV_DENSITY_ELEMENT,\n} from '@malva-ui/cdk/density';\nimport type { MlvFormState, MlvFormControl } from '@malva-ui/core/form-utils';\nimport {\n MlvFormControlWrapper,\n MlvFormControlWrapperControl,\n MlvHint,\n MlvDescription,\n MlvLabel,\n MLV_FORM_CONTROL,\n MlvMessage,\n MlvSignalFormControlBase,\n} from '@malva-ui/core/form-utils';\nimport {\n MlvPopup,\n MlvPopupContent,\n MlvPopupContainer,\n} from '@malva-ui/core/popup';\nimport { LucideClock } from '@lucide/angular';\nimport { MlvButton } from '@malva-ui/core/button';\nimport { MlvRtlService } from '@malva-ui/cdk/utils';\nimport { MlvTimePickerColumn } from '../time-picker-column/time-picker-column';\nimport { MLV_TIME_PICKER_I18N } from '@malva-ui/i18n';\n\n/**\n * Clock mode — 24-hour or 12-hour (AM/PM).\n */\nexport type MlvTimeMode = '24h' | '12h';\n\n/**\n * Visual/validation state of the time picker. Mirrors {@link MlvFormState}.\n */\nexport type MlvTimePickerState = MlvFormState;\n\n/** @private Generates a range array [start, end) */\nfunction range(start: number, end: number): number[] {\n return Array.from({ length: end - start }, (_, i) => i + start);\n}\n\n/**\n * Time picker component (`mlv-time-picker`) that allows users to select a time\n * value using a compact trigger that opens a floating popup with scrollable\n * drum-roll columns. Supports 24h and 12h (AM/PM) modes, optional seconds\n * display, and integrates with signal, reactive, and template-driven forms.\n *\n * Emits values as `HH:mm` (24h format) or `HH:mm:ss` when `showSeconds` is true.\n * In 12h mode the emitted value is still in 24h format internally.\n */\n@Component({\n selector: 'mlv-time-picker',\n templateUrl: './time-picker.html',\n styleUrl: './time-picker.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n MlvDescription,\n MlvLabel,\n MlvHint,\n MlvFormControlWrapper,\n MlvFormControlWrapperControl,\n MlvMessage,\n MlvPopup,\n MlvPopupContent,\n MlvPopupContainer,\n LucideClock,\n MlvButton,\n MlvTimePickerColumn,\n ],\n providers: [\n {\n provide: MLV_FORM_CONTROL,\n useExisting: forwardRef(() => MlvTimePicker),\n },\n { provide: MLV_DENSITY_ELEMENT, useValue: 'time-picker' },\n ],\n hostDirectives: [\n {\n directive: MlvDensityDirective,\n inputs: ['mlvDensity'],\n },\n ],\n host: {\n class: 'mlv-time-picker',\n '[class]': '\"mlv-time-picker--\" + resolvedState()',\n '[class.mlv-time-picker--disabled]': 'computedDisabled()',\n '[class.mlv-time-picker--open]': 'isOpen()',\n '[class.mlv-time-picker--12h]': 'mode() === \"12h\"',\n '[class.mlv-time-picker--with-seconds]': 'showSeconds()',\n },\n})\nexport class MlvTimePicker\n extends MlvSignalFormControlBase<string>\n implements MlvFormControl\n{\n /** The `HH:mm`/`HH:mm:ss` value used by all Angular forms APIs. */\n readonly value = model<string>('');\n /**\n * Clock mode — `'24h'` for 24-hour display (default) or `'12h'` for AM/PM.\n */\n readonly mode = input<MlvTimeMode>('24h');\n\n /**\n * When `true`, shows a seconds column in addition to hours and minutes.\n */\n readonly showSeconds = input<boolean, BooleanInput>(false, {\n transform: coerceBooleanProperty,\n });\n\n /** @protected The component's i18n strings signal. */\n protected readonly _i18n = inject(MLV_TIME_PICKER_I18N);\n\n /** @protected Resolved aria-label: explicit input takes precedence over i18n default. */\n protected readonly _resolvedAriaLabel = computed(\n () => this.ariaLabel() ?? this._i18n().timePicker,\n );\n\n /** @private Whether the time selection popup is open. */\n readonly isOpen = signal(false);\n\n /** @private Internal signal for the selected hour (0–23 in 24h mode; 1–12 in 12h mode). */\n protected readonly _hour = signal(0);\n\n /** @private Internal signal for the selected minute (0–59). */\n protected readonly _minute = signal(0);\n\n /** @private Internal signal for the selected second (0–59). */\n protected readonly _second = signal(0);\n\n /** @private AM/PM period — `'AM'` or `'PM'`. Only relevant in 12h mode. */\n protected readonly _period = signal<'AM' | 'PM'>('AM');\n\n /** Unique ID for the message element, used for aria-describedby linking. */\n\n /** Unique ID for the popup panel, used for aria-controls linking. */\n readonly panelId = computed(() => `${this.id()}-panel`);\n\n /** Override focused to also be true when the popup is open. */\n override readonly focused: Signal<boolean> = computed(\n () => this._focused() || this.isOpen(),\n );\n\n /** @protected Formatted display value shown in the trigger. */\n protected readonly _displayValue = computed(() => {\n const is12h = this.mode() === '12h';\n const hour = is12h ? this._displayHour() : this._hour();\n const hh = String(hour).padStart(2, '0');\n const mm = String(this._minute()).padStart(2, '0');\n const ss = String(this._second()).padStart(2, '0');\n let base = `${hh}:${mm}`;\n if (this.showSeconds()) base += `:${ss}`;\n if (is12h) base += ` ${this._period()}`;\n return base;\n });\n\n /** @protected Hour items for the column — depends on mode. */\n protected readonly _hourItems = computed(() =>\n this.mode() === '12h' ? range(1, 13) : range(0, 24),\n );\n\n /** @protected Minute items for the column (0–59). */\n protected readonly _minuteItems = computed(() => range(0, 60));\n\n /** @protected Second items for the column (0–59). */\n protected readonly _secondItems = computed(() => range(0, 60));\n\n /** @protected The hour value shown in the column (1–12 in 12h mode, 0–23 in 24h). */\n protected readonly _displayHour = computed(() => {\n if (this.mode() !== '12h') return this._hour();\n const h = this._hour() % 12;\n return h === 0 ? 12 : h;\n });\n\n /** @private Reference to the trigger element for focus restoration after popup close. */\n private readonly _triggerRef =\n viewChild<ElementRef<HTMLElement>>('triggerRef');\n\n /**\n * @private The rendered drum-roll columns (hours, minutes, optional seconds),\n * in DOM order. They are `mlv-time-picker-column` children declared in this\n * component's own template (inside `mlvPopupContent`), so a signal view query\n * resolves them — even though the popup content renders in a detached overlay.\n * Used for focus-on-open and inter-column Arrow navigation instead of reaching\n * into the overlay DOM by class name.\n */\n private readonly _columns = viewChildren(MlvTimePickerColumn);\n\n /** @private Normalizes horizontal column navigation for RTL layouts. */\n private readonly _rtlService = inject(MlvRtlService);\n\n /** @private Density directive instance for reading the resolved density level. */\n private readonly _densityDirective = inject(MlvDensityDirective);\n\n /** @protected Effective density to pass to the detached popup panel. */\n protected readonly _effectiveDensity = computed(() =>\n this._densityDirective.effectiveDensity(),\n );\n\n constructor() {\n super();\n effect(() => this._applyValue(this.value()));\n }\n\n /**\n * @protected Toggle the popup open/closed state.\n */\n protected _toggleDropdown(): void {\n if (this.computedDisabled()) return;\n this.isOpen.set(!this.isOpen());\n }\n\n /**\n * @private Build the time string from internal signals.\n * Always returns 24h format: `HH:mm` or `HH:mm:ss`.\n */\n private _buildValue(): string {\n let hour = this._hour();\n\n if (this.mode() === '12h') {\n const displayHour = this._displayHour();\n if (this._period() === 'AM') {\n hour = displayHour === 12 ? 0 : displayHour;\n } else {\n hour = displayHour === 12 ? 12 : displayHour + 12;\n }\n }\n\n const hh = String(hour).padStart(2, '0');\n const mm = String(this._minute()).padStart(2, '0');\n const ss = String(this._second()).padStart(2, '0');\n\n return this.showSeconds() ? `${hh}:${mm}:${ss}` : `${hh}:${mm}`;\n }\n\n /**\n * @private Parse a time string (`HH:mm` or `HH:mm:ss`) into internal signals.\n */\n private _parseValue(value: string): void {\n if (!value) return;\n const parts = value.split(':').map(Number);\n const totalHour = parts[0] ?? 0;\n const minute = parts[1] ?? 0;\n const second = parts[2] ?? 0;\n\n this._minute.set(minute);\n this._second.set(second);\n\n if (this.mode() === '12h') {\n this._period.set(totalHour >= 12 ? 'PM' : 'AM');\n const h12 = totalHour % 12;\n this._hour.set(h12 === 0 ? 0 : h12); // store 0–11, display as 12 or 1–11\n } else {\n this._hour.set(totalHour);\n }\n }\n\n /** Whether the control holds a clearable value — The drum always shows a time, so there is always a value. */\n readonly hasValue = computed(() => true);\n\n /** @private Synchronizes drum columns from an external model value. */\n private _applyValue(value: string): void {\n if (value) {\n this._parseValue(value);\n } else {\n // Default to current time on null/empty\n const now = new Date();\n this._hour.set(now.getHours());\n this._minute.set(now.getMinutes());\n this._second.set(now.getSeconds());\n if (this.mode() === '12h') {\n this._period.set(now.getHours() >= 12 ? 'PM' : 'AM');\n }\n }\n }\n\n /**\n * @protected Called when the popup opens. Focuses the first column listbox\n * so keyboard navigation is immediately available.\n */\n protected _onPopupOpened(): void {\n this._columns()[0]?.focusList();\n }\n\n /**\n * @protected Called when the popup closes. Restores focus to the trigger element.\n */\n protected _onPopupClosed(): void {\n this.setFocused(false);\n this._markTouched();\n this._triggerRef()?.nativeElement.focus();\n }\n\n /** @protected Marks the control touched when the trigger loses focus. */\n protected _onTriggerBlur(): void {\n this.setFocused(false);\n this._markTouched();\n }\n\n /**\n * @protected Handle hour column value change.\n */\n protected _onHourChange(value: number): void {\n if (this.mode() === '12h') {\n // Store 0-based: 12 → 0, 1 → 1, … 11 → 11\n this._hour.set(value === 12 ? 0 : value);\n } else {\n this._hour.set(value);\n }\n this._emitValue();\n }\n\n /**\n * @protected Handle minute column value change.\n */\n protected _onMinuteChange(value: number): void {\n this._minute.set(value);\n this._emitValue();\n }\n\n /**\n * @protected Handle second column value change.\n */\n protected _onSecondChange(value: number): void {\n this._second.set(value);\n this._emitValue();\n }\n\n /**\n * @protected Toggle the AM/PM period in 12h mode.\n */\n protected _onPeriodChange(period: 'AM' | 'PM'): void {\n this._period.set(period);\n this._emitValue();\n }\n\n /**\n * @protected Handle ArrowLeft/ArrowRight on the columns container to move\n * focus between column listboxes.\n */\n protected _onPanelKeydown(event: KeyboardEvent): void {\n const key = this._rtlService.normalizeArrowKey(event);\n if (key !== LEFT_ARROW && key !== RIGHT_ARROW) return;\n\n const columns = this._columns();\n if (!columns.length) return;\n\n const focusedIdx = columns.findIndex(\n (column) => column.listElement === document.activeElement,\n );\n if (focusedIdx === -1) return;\n\n event.preventDefault();\n\n const nextIdx = key === LEFT_ARROW ? focusedIdx - 1 : focusedIdx + 1;\n if (nextIdx < 0 || nextIdx >= columns.length) return;\n\n columns[nextIdx].focusList();\n }\n\n /**\n * @private Write the current value to the forms model.\n */\n private _emitValue(): void {\n this.value.set(this._buildValue());\n }\n}\n","<mlv-form-control-wrapper>\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-popup-container class=\"mlv-time-picker__popup-container\">\n <div\n #triggerRef\n class=\"mlv-time-picker__trigger\"\n [id]=\"id()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-haspopup]=\"'dialog'\"\n [attr.aria-label]=\"_resolvedAriaLabel()\"\n [attr.aria-disabled]=\"computedDisabled()\"\n [attr.aria-controls]=\"isOpen() ? panelId() : null\"\n [attr.aria-required]=\"required() || null\"\n [attr.aria-describedby]=\"_describedBy()\"\n [attr.tabindex]=\"computedDisabled() ? -1 : 0\"\n (click)=\"_toggleDropdown()\"\n (keydown.enter)=\"_toggleDropdown()\"\n (keydown.space)=\"_toggleDropdown(); $event.preventDefault()\"\n (keydown.escape)=\"isOpen.set(false)\"\n (focus)=\"setFocused(true)\"\n (blur)=\"_onTriggerBlur()\"\n >\n <span class=\"mlv-time-picker__value\">{{ _displayValue() }}</span>\n <span class=\"mlv-time-picker__icon\">\n <svg lucideClock></svg>\n </span>\n </div>\n\n <mlv-popup\n [(opened)]=\"isOpen\"\n [hasShadow]=\"true\"\n panelRole=\"dialog\"\n [modal]=\"true\"\n mobileMode=\"auto\"\n [mobileTitle]=\"label() || _resolvedAriaLabel()\"\n [ariaLabel]=\"_resolvedAriaLabel()\"\n class=\"mlv-time-picker__popup\"\n (afterOpened)=\"_onPopupOpened()\"\n (afterClosed)=\"_onPopupClosed()\"\n >\n <ng-template mlvPopupContent>\n <div\n [id]=\"panelId()\"\n class=\"mlv-time-picker__panel\"\n [class]=\"'mlv-time-picker__panel--' + _effectiveDensity()\"\n role=\"group\"\n [attr.aria-label]=\"_resolvedAriaLabel()\"\n >\n <div\n class=\"mlv-time-picker__columns\"\n tabindex=\"-1\"\n (keydown)=\"_onPanelKeydown($event)\"\n >\n <!-- Hours column -->\n <mlv-time-picker-column\n label=\"Hours\"\n [items]=\"_hourItems()\"\n [selectedValue]=\"_displayHour()\"\n [disabled]=\"computedDisabled()\"\n (valueChange)=\"_onHourChange($event)\"\n />\n\n <span class=\"mlv-time-picker__divider\" aria-hidden=\"true\">:</span>\n\n <!-- Minutes column -->\n <mlv-time-picker-column\n label=\"Minutes\"\n [items]=\"_minuteItems()\"\n [selectedValue]=\"_minute()\"\n [disabled]=\"computedDisabled()\"\n (valueChange)=\"_onMinuteChange($event)\"\n />\n\n @if (showSeconds()) {\n <span class=\"mlv-time-picker__divider\" aria-hidden=\"true\">:</span>\n\n <!-- Seconds column -->\n <mlv-time-picker-column\n label=\"Seconds\"\n [items]=\"_secondItems()\"\n [selectedValue]=\"_second()\"\n [disabled]=\"computedDisabled()\"\n (valueChange)=\"_onSecondChange($event)\"\n />\n } @if (mode() === '12h') {\n <!-- AM/PM toggle -->\n <div\n class=\"mlv-time-picker__ampm\"\n role=\"group\"\n [attr.aria-label]=\"_i18n().period\"\n >\n <button\n type=\"button\"\n mlvButton\n [variant]=\"_period() === 'AM' ? 'primary' : 'outlined'\"\n [attr.aria-pressed]=\"_period() === 'AM'\"\n [disabled]=\"computedDisabled()\"\n (click)=\"_onPeriodChange('AM')\"\n >\n AM\n </button>\n <button\n type=\"button\"\n mlvButton\n [variant]=\"_period() === 'PM' ? 'primary' : 'outlined'\"\n [attr.aria-pressed]=\"_period() === 'PM'\"\n [disabled]=\"computedDisabled()\"\n (click)=\"_onPeriodChange('PM')\"\n >\n PM\n </button>\n </div>\n }\n </div>\n </div>\n </ng-template>\n </mlv-popup>\n </mlv-popup-container>\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 }\n</mlv-form-control-wrapper>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, TemplateRef, Directive, input, contentChild, ChangeDetectionStrategy, ViewEncapsulation, Component, contentChildren, computed } from '@angular/core';
|
|
3
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Slot directive for the icon or avatar displayed inside the timeline item node.
|
|
7
|
+
*
|
|
8
|
+
* Use with `<ng-template mlvTimelineItemIcon>` inside a `mlv-timeline-item` element.
|
|
9
|
+
* When provided, the projected content replaces the default circle node indicator.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```html
|
|
13
|
+
* <mlv-timeline-item title="Deployed">
|
|
14
|
+
* <ng-template mlvTimelineItemIcon>
|
|
15
|
+
* <svg lucideRocket [size]="16" />
|
|
16
|
+
* </ng-template>
|
|
17
|
+
* Deployment completed successfully.
|
|
18
|
+
* </mlv-timeline-item>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
class MlvTimelineItemIcon {
|
|
22
|
+
/** The template reference for this icon slot. */
|
|
23
|
+
templateRef = inject(TemplateRef);
|
|
24
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTimelineItemIcon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
25
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MlvTimelineItemIcon, isStandalone: true, selector: "[mlvTimelineItemIcon]", ngImport: i0 });
|
|
26
|
+
}
|
|
27
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTimelineItemIcon, decorators: [{
|
|
28
|
+
type: Directive,
|
|
29
|
+
args: [{
|
|
30
|
+
selector: '[mlvTimelineItemIcon]',
|
|
31
|
+
}]
|
|
32
|
+
}] });
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Slot directive for supplementary metadata content displayed in the timeline item.
|
|
36
|
+
*
|
|
37
|
+
* Use with `<ng-template mlvTimelineItemMeta>` inside a `mlv-timeline-item` element.
|
|
38
|
+
* Intended for badges, chips, status indicators, or other compact metadata.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```html
|
|
42
|
+
* <mlv-timeline-item title="Review">
|
|
43
|
+
* <ng-template mlvTimelineItemMeta>
|
|
44
|
+
* <mlv-badge tone="warning">Pending</mlv-badge>
|
|
45
|
+
* </ng-template>
|
|
46
|
+
* Awaiting code review.
|
|
47
|
+
* </mlv-timeline-item>
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
class MlvTimelineItemMeta {
|
|
51
|
+
/** The template reference for this meta slot. */
|
|
52
|
+
templateRef = inject(TemplateRef);
|
|
53
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTimelineItemMeta, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
54
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: MlvTimelineItemMeta, isStandalone: true, selector: "[mlvTimelineItemMeta]", ngImport: i0 });
|
|
55
|
+
}
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTimelineItemMeta, decorators: [{
|
|
57
|
+
type: Directive,
|
|
58
|
+
args: [{
|
|
59
|
+
selector: '[mlvTimelineItemMeta]',
|
|
60
|
+
}]
|
|
61
|
+
}] });
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* A single event entry within a `mlv-timeline`.
|
|
65
|
+
*
|
|
66
|
+
* Renders a node circle (or projected icon), a connector line segment, a title,
|
|
67
|
+
* an optional timestamp in a `<time>` element, optional meta slot content
|
|
68
|
+
* (badges, chips), and a default content slot for the event description.
|
|
69
|
+
*
|
|
70
|
+
* The `tone` input drives the icon node accent color via BEM modifier.
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```html
|
|
74
|
+
* <mlv-timeline-item title="Deployed" timestamp="2025-03-26T10:00:00" tone="success">
|
|
75
|
+
* <ng-template mlvTimelineItemIcon>
|
|
76
|
+
* <svg lucideRocket [size]="16" />
|
|
77
|
+
* </ng-template>
|
|
78
|
+
* Release v2.0.0 was deployed to production.
|
|
79
|
+
* </mlv-timeline-item>
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
class MlvTimelineItem {
|
|
83
|
+
/** The heading text for this timeline event. Required. */
|
|
84
|
+
title = input.required(/* @ts-ignore */
|
|
85
|
+
...(ngDevMode ? [{ debugName: "title" }] : /* istanbul ignore next */ []));
|
|
86
|
+
/**
|
|
87
|
+
* The timestamp string for this event.
|
|
88
|
+
* Rendered inside a `<time>` element. Should be a human-readable date/time string;
|
|
89
|
+
* for machine-readable precision, use a full ISO 8601 string.
|
|
90
|
+
*/
|
|
91
|
+
timestamp = input('', /* @ts-ignore */
|
|
92
|
+
...(ngDevMode ? [{ debugName: "timestamp" }] : /* istanbul ignore next */ []));
|
|
93
|
+
/**
|
|
94
|
+
* Semantic tone controlling the icon node accent color.
|
|
95
|
+
* Defaults to `'default'` (neutral).
|
|
96
|
+
*/
|
|
97
|
+
tone = input('default', /* @ts-ignore */
|
|
98
|
+
...(ngDevMode ? [{ debugName: "tone" }] : /* istanbul ignore next */ []));
|
|
99
|
+
/**
|
|
100
|
+
* MlvLayout direction for this item.
|
|
101
|
+
* - `'right'` (default): node circle on the left, content on the right.
|
|
102
|
+
* - `'left'`: content on the left, node circle on the right.
|
|
103
|
+
*
|
|
104
|
+
* Allows alternating left-right layouts within a single timeline.
|
|
105
|
+
*/
|
|
106
|
+
direction = input('right', /* @ts-ignore */
|
|
107
|
+
...(ngDevMode ? [{ debugName: "direction" }] : /* istanbul ignore next */ []));
|
|
108
|
+
/** @protected Template slot for the icon or avatar inside the node circle. */
|
|
109
|
+
_iconRef = contentChild(MlvTimelineItemIcon, /* @ts-ignore */
|
|
110
|
+
...(ngDevMode ? [{ debugName: "_iconRef" }] : /* istanbul ignore next */ []));
|
|
111
|
+
/** @protected Template slot for supplementary metadata (badges, chips, etc.). */
|
|
112
|
+
_metaRef = contentChild(MlvTimelineItemMeta, /* @ts-ignore */
|
|
113
|
+
...(ngDevMode ? [{ debugName: "_metaRef" }] : /* istanbul ignore next */ []));
|
|
114
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTimelineItem, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
115
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MlvTimelineItem, isStandalone: true, selector: "mlv-timeline-item", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, timestamp: { classPropertyName: "timestamp", publicName: "timestamp", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "listitem" }, properties: { "class": "\"mlv-timeline-item--\" + tone()", "class.mlv-timeline-item--direction-left": "direction() === \"left\"" }, classAttribute: "mlv-timeline-item" }, queries: [{ propertyName: "_iconRef", first: true, predicate: MlvTimelineItemIcon, descendants: true, isSignal: true }, { propertyName: "_metaRef", first: true, predicate: MlvTimelineItemMeta, descendants: true, isSignal: true }], ngImport: i0, template: "<div\n class=\"mlv-timeline-item__col\"\n [class.mlv-timeline-item__col--left]=\"direction() === 'left'\"\n [class.mlv-timeline-item__col--right]=\"direction() === 'right'\"\n>\n <div\n class=\"mlv-timeline-item__content\"\n [class.mlv-timeline-item__content--left]=\"direction() === 'left'\"\n >\n <div class=\"mlv-timeline-item__header\">\n <span class=\"mlv-timeline-item__title\">{{ title() }}</span>\n @if (timestamp()) {\n <time class=\"mlv-timeline-item__timestamp\">{{ timestamp() }}</time>\n } @if (_metaRef()) {\n <span class=\"mlv-timeline-item__meta\">\n <ng-container [ngTemplateOutlet]=\"_metaRef()!.templateRef\" />\n </span>\n }\n </div>\n <div class=\"mlv-timeline-item__description\">\n <ng-content />\n </div>\n </div>\n</div>\n\n<div class=\"mlv-timeline-item__spine\">\n <div class=\"mlv-timeline-item__node-circle\">\n @if (_iconRef()) {\n <span class=\"mlv-timeline-item__node-icon\" aria-hidden=\"true\">\n <ng-container [ngTemplateOutlet]=\"_iconRef()!.templateRef\" />\n </span>\n }\n </div>\n <div class=\"mlv-timeline-item__connector\" aria-hidden=\"true\"></div>\n</div>\n", styles: ["@layer mlv.components{.mlv-timeline-item{box-sizing:border-box;padding:0;margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m)}.mlv-timeline-item *{box-sizing:border-box}.mlv-timeline-item{--mlv-tli-node-bg: var(--mlv-border-normal);--mlv-tli-node-size: 2.5rem;--mlv-tli-connector-width: .125rem;display:grid;grid-template-columns:1fr var(--mlv-tli-node-size) 1fr;gap:0 1.5rem;position:relative}.mlv-timeline-item__col{grid-row:1;min-width:0}.mlv-timeline-item__col--left{grid-column:1;text-align:end}.mlv-timeline-item__col--right{grid-column:3;text-align:start}.mlv-timeline-item__spine{grid-row:1;grid-column:2;display:flex;flex-direction:column;align-items:center;flex-shrink:0}.mlv-timeline-item__node-circle{width:var(--mlv-tli-node-size);height:var(--mlv-tli-node-size);border-radius:var(--mlv-radius-full);background-color:var(--mlv-tli-node-bg);border:var(--mlv-stroke-width) solid var(--mlv-tli-node-bg);display:flex;align-items:center;justify-content:center;color:var(--mlv-text-primary-on-accent-1);flex-shrink:0;z-index:1;overflow:hidden}.mlv-timeline-item__node-icon{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%}.mlv-timeline-item__connector{flex:1;width:var(--mlv-tli-connector-width);background-color:var(--mlv-border-subtle);min-height:var(--mlv-spacing-8)}.mlv-timeline-item:last-child .mlv-timeline-item__connector{display:none}.mlv-timeline-item__content{padding-bottom:var(--mlv-spacing-8);min-width:0}.mlv-timeline-item__content--left{text-align:end}.mlv-timeline-item:last-child .mlv-timeline-item__content{padding-bottom:0}.mlv-timeline-item__header{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.375rem}.mlv-timeline-item--direction-left .mlv-timeline-item__header{flex-direction:row-reverse;justify-content:flex-end}.mlv-timeline-item__title{font-weight:var(--mlv-font-weight-semibold);color:var(--mlv-text-primary);font-size:var(--mlv-font-size-m);line-height:var(--mlv-line-height-normal)}.mlv-timeline-item__timestamp{font-size:var(--mlv-typography-ui-s-size);color:var(--mlv-text-secondary);white-space:nowrap}.mlv-timeline-item__meta{display:inline-flex;align-items:center;gap:.25rem}.mlv-timeline-item__description{font-size:var(--mlv-font-size-m);color:var(--mlv-text-secondary);line-height:var(--mlv-line-height-normal)}.mlv-timeline-item--default{--mlv-tli-node-bg: var(--mlv-border-normal)}.mlv-timeline-item--success{--mlv-tli-node-bg: var(--mlv-background-success-1)}.mlv-timeline-item--warning{--mlv-tli-node-bg: var(--mlv-background-warning-1)}.mlv-timeline-item--danger{--mlv-tli-node-bg: var(--mlv-background-danger-1)}.mlv-timeline-item--info{--mlv-tli-node-bg: var(--mlv-background-info-1)}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
116
|
+
}
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTimelineItem, decorators: [{
|
|
118
|
+
type: Component,
|
|
119
|
+
args: [{ selector: 'mlv-timeline-item', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet], host: {
|
|
120
|
+
class: 'mlv-timeline-item',
|
|
121
|
+
role: 'listitem',
|
|
122
|
+
'[class]': '"mlv-timeline-item--" + tone()',
|
|
123
|
+
'[class.mlv-timeline-item--direction-left]': 'direction() === "left"',
|
|
124
|
+
}, template: "<div\n class=\"mlv-timeline-item__col\"\n [class.mlv-timeline-item__col--left]=\"direction() === 'left'\"\n [class.mlv-timeline-item__col--right]=\"direction() === 'right'\"\n>\n <div\n class=\"mlv-timeline-item__content\"\n [class.mlv-timeline-item__content--left]=\"direction() === 'left'\"\n >\n <div class=\"mlv-timeline-item__header\">\n <span class=\"mlv-timeline-item__title\">{{ title() }}</span>\n @if (timestamp()) {\n <time class=\"mlv-timeline-item__timestamp\">{{ timestamp() }}</time>\n } @if (_metaRef()) {\n <span class=\"mlv-timeline-item__meta\">\n <ng-container [ngTemplateOutlet]=\"_metaRef()!.templateRef\" />\n </span>\n }\n </div>\n <div class=\"mlv-timeline-item__description\">\n <ng-content />\n </div>\n </div>\n</div>\n\n<div class=\"mlv-timeline-item__spine\">\n <div class=\"mlv-timeline-item__node-circle\">\n @if (_iconRef()) {\n <span class=\"mlv-timeline-item__node-icon\" aria-hidden=\"true\">\n <ng-container [ngTemplateOutlet]=\"_iconRef()!.templateRef\" />\n </span>\n }\n </div>\n <div class=\"mlv-timeline-item__connector\" aria-hidden=\"true\"></div>\n</div>\n", styles: ["@layer mlv.components{.mlv-timeline-item{box-sizing:border-box;padding:0;margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m)}.mlv-timeline-item *{box-sizing:border-box}.mlv-timeline-item{--mlv-tli-node-bg: var(--mlv-border-normal);--mlv-tli-node-size: 2.5rem;--mlv-tli-connector-width: .125rem;display:grid;grid-template-columns:1fr var(--mlv-tli-node-size) 1fr;gap:0 1.5rem;position:relative}.mlv-timeline-item__col{grid-row:1;min-width:0}.mlv-timeline-item__col--left{grid-column:1;text-align:end}.mlv-timeline-item__col--right{grid-column:3;text-align:start}.mlv-timeline-item__spine{grid-row:1;grid-column:2;display:flex;flex-direction:column;align-items:center;flex-shrink:0}.mlv-timeline-item__node-circle{width:var(--mlv-tli-node-size);height:var(--mlv-tli-node-size);border-radius:var(--mlv-radius-full);background-color:var(--mlv-tli-node-bg);border:var(--mlv-stroke-width) solid var(--mlv-tli-node-bg);display:flex;align-items:center;justify-content:center;color:var(--mlv-text-primary-on-accent-1);flex-shrink:0;z-index:1;overflow:hidden}.mlv-timeline-item__node-icon{display:inline-flex;align-items:center;justify-content:center;width:100%;height:100%}.mlv-timeline-item__connector{flex:1;width:var(--mlv-tli-connector-width);background-color:var(--mlv-border-subtle);min-height:var(--mlv-spacing-8)}.mlv-timeline-item:last-child .mlv-timeline-item__connector{display:none}.mlv-timeline-item__content{padding-bottom:var(--mlv-spacing-8);min-width:0}.mlv-timeline-item__content--left{text-align:end}.mlv-timeline-item:last-child .mlv-timeline-item__content{padding-bottom:0}.mlv-timeline-item__header{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.375rem}.mlv-timeline-item--direction-left .mlv-timeline-item__header{flex-direction:row-reverse;justify-content:flex-end}.mlv-timeline-item__title{font-weight:var(--mlv-font-weight-semibold);color:var(--mlv-text-primary);font-size:var(--mlv-font-size-m);line-height:var(--mlv-line-height-normal)}.mlv-timeline-item__timestamp{font-size:var(--mlv-typography-ui-s-size);color:var(--mlv-text-secondary);white-space:nowrap}.mlv-timeline-item__meta{display:inline-flex;align-items:center;gap:.25rem}.mlv-timeline-item__description{font-size:var(--mlv-font-size-m);color:var(--mlv-text-secondary);line-height:var(--mlv-line-height-normal)}.mlv-timeline-item--default{--mlv-tli-node-bg: var(--mlv-border-normal)}.mlv-timeline-item--success{--mlv-tli-node-bg: var(--mlv-background-success-1)}.mlv-timeline-item--warning{--mlv-tli-node-bg: var(--mlv-background-warning-1)}.mlv-timeline-item--danger{--mlv-tli-node-bg: var(--mlv-background-danger-1)}.mlv-timeline-item--info{--mlv-tli-node-bg: var(--mlv-background-info-1)}}\n"] }]
|
|
125
|
+
}], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: true }] }], timestamp: [{ type: i0.Input, args: [{ isSignal: true, alias: "timestamp", required: false }] }], tone: [{ type: i0.Input, args: [{ isSignal: true, alias: "tone", required: false }] }], direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }], _iconRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => MlvTimelineItemIcon), { isSignal: true }] }], _metaRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => MlvTimelineItemMeta), { isSignal: true }] }] } });
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Container component for a vertical timeline of events.
|
|
129
|
+
*
|
|
130
|
+
* Renders an ordered list (`<ol>`) that manages the vertical connector line
|
|
131
|
+
* between `mlv-timeline-item` children via CSS. Each child handles its own
|
|
132
|
+
* connector segment; the last child hides its connector automatically.
|
|
133
|
+
*
|
|
134
|
+
* ## Single-sided collapse
|
|
135
|
+
*
|
|
136
|
+
* A timeline item is a three-column grid — `[content-left] [spine]
|
|
137
|
+
* [content-right]` — so that items can alternate sides. When every projected
|
|
138
|
+
* item shares the same `direction`, the opposite column carries nothing, and
|
|
139
|
+
* the timeline collapses its items to a two-column grid instead of reserving
|
|
140
|
+
* (and gapping) half the available width for an empty track. This is driven by
|
|
141
|
+
* the `mlv-timeline--single-left` / `mlv-timeline--single-right` host classes
|
|
142
|
+
* and requires no consumer opt-in. A timeline that mixes both directions keeps
|
|
143
|
+
* the full three-column layout.
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```html
|
|
147
|
+
* <mlv-timeline>
|
|
148
|
+
* <mlv-timeline-item title="Submitted" timestamp="Mar 24, 2025" tone="info">
|
|
149
|
+
* Form submitted by user.
|
|
150
|
+
* </mlv-timeline-item>
|
|
151
|
+
* <mlv-timeline-item title="Approved" timestamp="Mar 25, 2025" tone="success">
|
|
152
|
+
* Approved by manager.
|
|
153
|
+
* </mlv-timeline-item>
|
|
154
|
+
* <mlv-timeline-item title="Completed" timestamp="Mar 26, 2025" tone="success">
|
|
155
|
+
* Process completed.
|
|
156
|
+
* </mlv-timeline-item>
|
|
157
|
+
* </mlv-timeline>
|
|
158
|
+
* ```
|
|
159
|
+
*/
|
|
160
|
+
class MlvTimeline {
|
|
161
|
+
/**
|
|
162
|
+
* @protected The projected timeline items.
|
|
163
|
+
*
|
|
164
|
+
* Queried with `descendants: true` so items wrapped in `@for`/`@if` blocks or
|
|
165
|
+
* re-projected through an intermediate component are still seen. The query is
|
|
166
|
+
* a signal, so the collapse modifiers below re-evaluate when items are added
|
|
167
|
+
* or removed.
|
|
168
|
+
*/
|
|
169
|
+
_items = contentChildren(MlvTimelineItem, { ...(ngDevMode ? { debugName: "_items" } : /* istanbul ignore next */ {}), descendants: true });
|
|
170
|
+
/**
|
|
171
|
+
* @protected Whether at least one projected item renders its content on the
|
|
172
|
+
* left of the spine. `direction` is a signal input, so this stays correct when
|
|
173
|
+
* a consumer flips an item's direction at runtime.
|
|
174
|
+
*/
|
|
175
|
+
_hasLeft = computed(() => this._items().some((item) => item.direction() === 'left'), /* @ts-ignore */
|
|
176
|
+
...(ngDevMode ? [{ debugName: "_hasLeft" }] : /* istanbul ignore next */ []));
|
|
177
|
+
/**
|
|
178
|
+
* @protected Whether at least one projected item renders its content on the
|
|
179
|
+
* right of the spine.
|
|
180
|
+
*/
|
|
181
|
+
_hasRight = computed(() => this._items().some((item) => item.direction() === 'right'), /* @ts-ignore */
|
|
182
|
+
...(ngDevMode ? [{ debugName: "_hasRight" }] : /* istanbul ignore next */ []));
|
|
183
|
+
/**
|
|
184
|
+
* @protected True when the timeline has items and every one of them sits on
|
|
185
|
+
* the left, so the right column can be dropped. False for an empty timeline
|
|
186
|
+
* and for a timeline that mixes directions.
|
|
187
|
+
*/
|
|
188
|
+
_isSingleLeft = computed(() => this._hasLeft() && !this._hasRight(), /* @ts-ignore */
|
|
189
|
+
...(ngDevMode ? [{ debugName: "_isSingleLeft" }] : /* istanbul ignore next */ []));
|
|
190
|
+
/**
|
|
191
|
+
* @protected True when the timeline has items and every one of them sits on
|
|
192
|
+
* the right (the default), so the left column can be dropped.
|
|
193
|
+
*/
|
|
194
|
+
_isSingleRight = computed(() => this._hasRight() && !this._hasLeft(), /* @ts-ignore */
|
|
195
|
+
...(ngDevMode ? [{ debugName: "_isSingleRight" }] : /* istanbul ignore next */ []));
|
|
196
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTimeline, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
197
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.7", type: MlvTimeline, isStandalone: true, selector: "mlv-timeline", host: { attributes: { "role": "list" }, properties: { "class.mlv-timeline--single-left": "_isSingleLeft()", "class.mlv-timeline--single-right": "_isSingleRight()" }, classAttribute: "mlv-timeline" }, queries: [{ propertyName: "_items", predicate: MlvTimelineItem, descendants: true, isSignal: true }], ngImport: i0, template: `<ng-content />`, isInline: true, styles: ["@layer mlv.components{.mlv-timeline{box-sizing:border-box;padding:0;margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m)}.mlv-timeline *{box-sizing:border-box}.mlv-timeline{display:flex;flex-direction:column;list-style:none}.mlv-timeline--single-right .mlv-timeline-item{grid-template-columns:var(--mlv-tli-node-size) 1fr}.mlv-timeline--single-right .mlv-timeline-item .mlv-timeline-item__spine{grid-column:1}.mlv-timeline--single-right .mlv-timeline-item .mlv-timeline-item__col--right{grid-column:2}.mlv-timeline--single-left .mlv-timeline-item{grid-template-columns:1fr var(--mlv-tli-node-size)}.mlv-timeline--single-left .mlv-timeline-item .mlv-timeline-item__col--left{grid-column:1}.mlv-timeline--single-left .mlv-timeline-item .mlv-timeline-item__spine{grid-column:2}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
198
|
+
}
|
|
199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTimeline, decorators: [{
|
|
200
|
+
type: Component,
|
|
201
|
+
args: [{ selector: 'mlv-timeline', template: `<ng-content />`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
202
|
+
class: 'mlv-timeline',
|
|
203
|
+
role: 'list',
|
|
204
|
+
'[class.mlv-timeline--single-left]': '_isSingleLeft()',
|
|
205
|
+
'[class.mlv-timeline--single-right]': '_isSingleRight()',
|
|
206
|
+
}, styles: ["@layer mlv.components{.mlv-timeline{box-sizing:border-box;padding:0;margin:0;font-family:var(--mlv-typography-family-text);font-size:var(--mlv-font-size-m)}.mlv-timeline *{box-sizing:border-box}.mlv-timeline{display:flex;flex-direction:column;list-style:none}.mlv-timeline--single-right .mlv-timeline-item{grid-template-columns:var(--mlv-tli-node-size) 1fr}.mlv-timeline--single-right .mlv-timeline-item .mlv-timeline-item__spine{grid-column:1}.mlv-timeline--single-right .mlv-timeline-item .mlv-timeline-item__col--right{grid-column:2}.mlv-timeline--single-left .mlv-timeline-item{grid-template-columns:1fr var(--mlv-tli-node-size)}.mlv-timeline--single-left .mlv-timeline-item .mlv-timeline-item__col--left{grid-column:1}.mlv-timeline--single-left .mlv-timeline-item .mlv-timeline-item__spine{grid-column:2}}\n"] }]
|
|
207
|
+
}], propDecorators: { _items: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => MlvTimelineItem), { ...{
|
|
208
|
+
descendants: true,
|
|
209
|
+
}, isSignal: true }] }] } });
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Generated bundle index. Do not edit.
|
|
213
|
+
*/
|
|
214
|
+
|
|
215
|
+
export { MlvTimeline, MlvTimelineItem, MlvTimelineItemIcon, MlvTimelineItemMeta };
|
|
216
|
+
//# sourceMappingURL=malva-ui-core-timeline.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"malva-ui-core-timeline.mjs","sources":["../../../../libs/core/timeline/src/lib/timeline/timeline-item-icon.ts","../../../../libs/core/timeline/src/lib/timeline/timeline-item-meta.ts","../../../../libs/core/timeline/src/lib/timeline/timeline-item.ts","../../../../libs/core/timeline/src/lib/timeline/timeline-item.html","../../../../libs/core/timeline/src/lib/timeline/timeline.ts","../../../../libs/core/timeline/src/malva-ui-core-timeline.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core';\n\n/**\n * Slot directive for the icon or avatar displayed inside the timeline item node.\n *\n * Use with `<ng-template mlvTimelineItemIcon>` inside a `mlv-timeline-item` element.\n * When provided, the projected content replaces the default circle node indicator.\n *\n * @example\n * ```html\n * <mlv-timeline-item title=\"Deployed\">\n * <ng-template mlvTimelineItemIcon>\n * <svg lucideRocket [size]=\"16\" />\n * </ng-template>\n * Deployment completed successfully.\n * </mlv-timeline-item>\n * ```\n */\n@Directive({\n selector: '[mlvTimelineItemIcon]',\n})\nexport class MlvTimelineItemIcon {\n /** The template reference for this icon slot. */\n readonly templateRef = inject(TemplateRef);\n}\n","import { Directive, inject, TemplateRef } from '@angular/core';\n\n/**\n * Slot directive for supplementary metadata content displayed in the timeline item.\n *\n * Use with `<ng-template mlvTimelineItemMeta>` inside a `mlv-timeline-item` element.\n * Intended for badges, chips, status indicators, or other compact metadata.\n *\n * @example\n * ```html\n * <mlv-timeline-item title=\"Review\">\n * <ng-template mlvTimelineItemMeta>\n * <mlv-badge tone=\"warning\">Pending</mlv-badge>\n * </ng-template>\n * Awaiting code review.\n * </mlv-timeline-item>\n * ```\n */\n@Directive({\n selector: '[mlvTimelineItemMeta]',\n})\nexport class MlvTimelineItemMeta {\n /** The template reference for this meta slot. */\n readonly templateRef = inject(TemplateRef);\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n contentChild,\n input,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { MlvTimelineItemIcon } from './timeline-item-icon';\nimport { MlvTimelineItemMeta } from './timeline-item-meta';\nimport type {\n MlvTimelineItemDirection,\n MlvTimelineItemTone,\n} from './timeline.types';\n\n/**\n * A single event entry within a `mlv-timeline`.\n *\n * Renders a node circle (or projected icon), a connector line segment, a title,\n * an optional timestamp in a `<time>` element, optional meta slot content\n * (badges, chips), and a default content slot for the event description.\n *\n * The `tone` input drives the icon node accent color via BEM modifier.\n *\n * @example\n * ```html\n * <mlv-timeline-item title=\"Deployed\" timestamp=\"2025-03-26T10:00:00\" tone=\"success\">\n * <ng-template mlvTimelineItemIcon>\n * <svg lucideRocket [size]=\"16\" />\n * </ng-template>\n * Release v2.0.0 was deployed to production.\n * </mlv-timeline-item>\n * ```\n */\n@Component({\n selector: 'mlv-timeline-item',\n templateUrl: './timeline-item.html',\n styleUrl: './timeline-item.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgTemplateOutlet],\n host: {\n class: 'mlv-timeline-item',\n role: 'listitem',\n '[class]': '\"mlv-timeline-item--\" + tone()',\n '[class.mlv-timeline-item--direction-left]': 'direction() === \"left\"',\n },\n})\nexport class MlvTimelineItem {\n /** The heading text for this timeline event. Required. */\n readonly title = input.required<string>();\n\n /**\n * The timestamp string for this event.\n * Rendered inside a `<time>` element. Should be a human-readable date/time string;\n * for machine-readable precision, use a full ISO 8601 string.\n */\n readonly timestamp = input<string>('');\n\n /**\n * Semantic tone controlling the icon node accent color.\n * Defaults to `'default'` (neutral).\n */\n readonly tone = input<MlvTimelineItemTone>('default');\n\n /**\n * MlvLayout direction for this item.\n * - `'right'` (default): node circle on the left, content on the right.\n * - `'left'`: content on the left, node circle on the right.\n *\n * Allows alternating left-right layouts within a single timeline.\n */\n readonly direction = input<MlvTimelineItemDirection>('right');\n\n /** @protected Template slot for the icon or avatar inside the node circle. */\n protected readonly _iconRef = contentChild(MlvTimelineItemIcon);\n\n /** @protected Template slot for supplementary metadata (badges, chips, etc.). */\n protected readonly _metaRef = contentChild(MlvTimelineItemMeta);\n}\n","<div\n class=\"mlv-timeline-item__col\"\n [class.mlv-timeline-item__col--left]=\"direction() === 'left'\"\n [class.mlv-timeline-item__col--right]=\"direction() === 'right'\"\n>\n <div\n class=\"mlv-timeline-item__content\"\n [class.mlv-timeline-item__content--left]=\"direction() === 'left'\"\n >\n <div class=\"mlv-timeline-item__header\">\n <span class=\"mlv-timeline-item__title\">{{ title() }}</span>\n @if (timestamp()) {\n <time class=\"mlv-timeline-item__timestamp\">{{ timestamp() }}</time>\n } @if (_metaRef()) {\n <span class=\"mlv-timeline-item__meta\">\n <ng-container [ngTemplateOutlet]=\"_metaRef()!.templateRef\" />\n </span>\n }\n </div>\n <div class=\"mlv-timeline-item__description\">\n <ng-content />\n </div>\n </div>\n</div>\n\n<div class=\"mlv-timeline-item__spine\">\n <div class=\"mlv-timeline-item__node-circle\">\n @if (_iconRef()) {\n <span class=\"mlv-timeline-item__node-icon\" aria-hidden=\"true\">\n <ng-container [ngTemplateOutlet]=\"_iconRef()!.templateRef\" />\n </span>\n }\n </div>\n <div class=\"mlv-timeline-item__connector\" aria-hidden=\"true\"></div>\n</div>\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n ViewEncapsulation,\n} from '@angular/core';\nimport { MlvTimelineItem } from './timeline-item';\n\n/**\n * Container component for a vertical timeline of events.\n *\n * Renders an ordered list (`<ol>`) that manages the vertical connector line\n * between `mlv-timeline-item` children via CSS. Each child handles its own\n * connector segment; the last child hides its connector automatically.\n *\n * ## Single-sided collapse\n *\n * A timeline item is a three-column grid — `[content-left] [spine]\n * [content-right]` — so that items can alternate sides. When every projected\n * item shares the same `direction`, the opposite column carries nothing, and\n * the timeline collapses its items to a two-column grid instead of reserving\n * (and gapping) half the available width for an empty track. This is driven by\n * the `mlv-timeline--single-left` / `mlv-timeline--single-right` host classes\n * and requires no consumer opt-in. A timeline that mixes both directions keeps\n * the full three-column layout.\n *\n * @example\n * ```html\n * <mlv-timeline>\n * <mlv-timeline-item title=\"Submitted\" timestamp=\"Mar 24, 2025\" tone=\"info\">\n * Form submitted by user.\n * </mlv-timeline-item>\n * <mlv-timeline-item title=\"Approved\" timestamp=\"Mar 25, 2025\" tone=\"success\">\n * Approved by manager.\n * </mlv-timeline-item>\n * <mlv-timeline-item title=\"Completed\" timestamp=\"Mar 26, 2025\" tone=\"success\">\n * Process completed.\n * </mlv-timeline-item>\n * </mlv-timeline>\n * ```\n */\n@Component({\n selector: 'mlv-timeline',\n template: `<ng-content />`,\n styleUrl: './timeline.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mlv-timeline',\n role: 'list',\n '[class.mlv-timeline--single-left]': '_isSingleLeft()',\n '[class.mlv-timeline--single-right]': '_isSingleRight()',\n },\n})\nexport class MlvTimeline {\n /**\n * @protected The projected timeline items.\n *\n * Queried with `descendants: true` so items wrapped in `@for`/`@if` blocks or\n * re-projected through an intermediate component are still seen. The query is\n * a signal, so the collapse modifiers below re-evaluate when items are added\n * or removed.\n */\n protected readonly _items = contentChildren(MlvTimelineItem, {\n descendants: true,\n });\n\n /**\n * @protected Whether at least one projected item renders its content on the\n * left of the spine. `direction` is a signal input, so this stays correct when\n * a consumer flips an item's direction at runtime.\n */\n protected readonly _hasLeft = computed(() =>\n this._items().some((item) => item.direction() === 'left'),\n );\n\n /**\n * @protected Whether at least one projected item renders its content on the\n * right of the spine.\n */\n protected readonly _hasRight = computed(() =>\n this._items().some((item) => item.direction() === 'right'),\n );\n\n /**\n * @protected True when the timeline has items and every one of them sits on\n * the left, so the right column can be dropped. False for an empty timeline\n * and for a timeline that mixes directions.\n */\n protected readonly _isSingleLeft = computed(\n () => this._hasLeft() && !this._hasRight(),\n );\n\n /**\n * @protected True when the timeline has items and every one of them sits on\n * the right (the default), so the left column can be dropped.\n */\n protected readonly _isSingleRight = computed(\n () => this._hasRight() && !this._hasLeft(),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { input, model, inject, ElementRef, viewChild, signal, computed, effect, afterNextRender, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
|
|
4
|
+
import { MlvSignalFormControlBase, MLV_FORM_CONTROL } from '@malva-ui/core/form-utils';
|
|
5
|
+
|
|
6
|
+
function coerceTitleLevel(value) {
|
|
7
|
+
if (value === null || value === undefined || value === '') {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
const parsed = Number(value);
|
|
11
|
+
if (!Number.isInteger(parsed) || parsed < 1 || parsed > 6) {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
return parsed;
|
|
15
|
+
}
|
|
16
|
+
function inferTitleLevel(tagName) {
|
|
17
|
+
const match = /^h([1-6])$/.exec(tagName.toLowerCase());
|
|
18
|
+
return match ? Number(match[1]) : 2;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Inline title component that decorates the host element with Malva UI heading
|
|
22
|
+
* typography. It can render projected content, bind to a model, or act as an
|
|
23
|
+
* editable control through signal, reactive, and template-driven forms.
|
|
24
|
+
*/
|
|
25
|
+
class MlvTitle extends MlvSignalFormControlBase {
|
|
26
|
+
/** Explicit visual title level. Falls back to the host heading tag. */
|
|
27
|
+
level = input(undefined, { ...(ngDevMode ? { debugName: "level" } : /* istanbul ignore next */ {}), transform: coerceTitleLevel });
|
|
28
|
+
/** Enables the auto-sizing editable textarea overlay. */
|
|
29
|
+
editable = input(false, { ...(ngDevMode ? { debugName: "editable" } : /* istanbul ignore next */ {}), transform: coerceBooleanProperty });
|
|
30
|
+
/** Placeholder displayed when the editable field is empty. */
|
|
31
|
+
placeholder = input('', /* @ts-ignore */
|
|
32
|
+
...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
|
|
33
|
+
/** Signal-model API for directly binding the title text. */
|
|
34
|
+
value = model(null, /* @ts-ignore */
|
|
35
|
+
...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
|
|
36
|
+
/** @private Host element ref, used to read the host tag name for level inference. */
|
|
37
|
+
_hostElement = inject(ElementRef);
|
|
38
|
+
/** @private Reference to the projected-content span, used to hydrate text from projected content. */
|
|
39
|
+
_projectionElement = viewChild('projectionContent', /* @ts-ignore */
|
|
40
|
+
...(ngDevMode ? [{ debugName: "_projectionElement" }] : /* istanbul ignore next */ []));
|
|
41
|
+
/** @private Trimmed text extracted from projected content. */
|
|
42
|
+
_projectedText = signal('', /* @ts-ignore */
|
|
43
|
+
...(ngDevMode ? [{ debugName: "_projectedText" }] : /* istanbul ignore next */ []));
|
|
44
|
+
/** @private Whether the component is currently driven by its internal editable value. */
|
|
45
|
+
_usesInternalValue = signal(false, /* @ts-ignore */
|
|
46
|
+
...(ngDevMode ? [{ debugName: "_usesInternalValue" }] : /* istanbul ignore next */ []));
|
|
47
|
+
/** @private Tracks whether internal state was last synced from an external `value`. */
|
|
48
|
+
_syncedFromExternalValue = false;
|
|
49
|
+
/** @protected Whether the host element is a native `h1`–`h6` heading. */
|
|
50
|
+
_isNativeHeading = computed(() => /^h[1-6]$/.test(this._hostTagName), /* @ts-ignore */
|
|
51
|
+
...(ngDevMode ? [{ debugName: "_isNativeHeading" }] : /* istanbul ignore next */ []));
|
|
52
|
+
/** @protected Resolved visual heading level — explicit `level` input or inferred from the host tag. */
|
|
53
|
+
_resolvedLevel = computed(() => this.level() ?? inferTitleLevel(this._hostTagName), /* @ts-ignore */
|
|
54
|
+
...(ngDevMode ? [{ debugName: "_resolvedLevel" }] : /* istanbul ignore next */ []));
|
|
55
|
+
/** @protected The effective title text: bound `value`, internal editable value, or projected content. */
|
|
56
|
+
currentText = computed(() => {
|
|
57
|
+
const explicitValue = this.value();
|
|
58
|
+
if (explicitValue !== null && explicitValue !== undefined) {
|
|
59
|
+
return explicitValue;
|
|
60
|
+
}
|
|
61
|
+
if (this._usesInternalValue()) {
|
|
62
|
+
return this.internalValue();
|
|
63
|
+
}
|
|
64
|
+
return this._projectedText();
|
|
65
|
+
}, /* @ts-ignore */
|
|
66
|
+
...(ngDevMode ? [{ debugName: "currentText" }] : /* istanbul ignore next */ []));
|
|
67
|
+
/** @protected Whether the projected `<ng-content>` should be shown (no value, not editable). */
|
|
68
|
+
showProjectedContent = computed(() => !this.editable() &&
|
|
69
|
+
!this._usesInternalValue() &&
|
|
70
|
+
(this.value() === null || this.value() === undefined), /* @ts-ignore */
|
|
71
|
+
...(ngDevMode ? [{ debugName: "showProjectedContent" }] : /* istanbul ignore next */ []));
|
|
72
|
+
/** @protected Whether the bound value text should be shown (not editable, not projected). */
|
|
73
|
+
showValueText = computed(() => !this.editable() && !this.showProjectedContent(), /* @ts-ignore */
|
|
74
|
+
...(ngDevMode ? [{ debugName: "showValueText" }] : /* istanbul ignore next */ []));
|
|
75
|
+
/** @protected Sizing text for the editable `<pre>` mirror (trailing newline keeps a blank line tall). */
|
|
76
|
+
editorMeasureText = computed(() => {
|
|
77
|
+
const text = this.currentText() || this.placeholder();
|
|
78
|
+
return text ? `${text}\n` : ' ';
|
|
79
|
+
}, /* @ts-ignore */
|
|
80
|
+
...(ngDevMode ? [{ debugName: "editorMeasureText" }] : /* istanbul ignore next */ []));
|
|
81
|
+
/** @protected Whether the editable field is empty and a placeholder should be shown. */
|
|
82
|
+
editorShowsPlaceholder = computed(() => !this.currentText() && !!this.placeholder(), /* @ts-ignore */
|
|
83
|
+
...(ngDevMode ? [{ debugName: "editorShowsPlaceholder" }] : /* istanbul ignore next */ []));
|
|
84
|
+
/** @protected Current value bound to the editable `<textarea>`. */
|
|
85
|
+
textareaValue = computed(() => this.currentText(), /* @ts-ignore */
|
|
86
|
+
...(ngDevMode ? [{ debugName: "textareaValue" }] : /* istanbul ignore next */ []));
|
|
87
|
+
/** Internal text state used by editable mode and forms APIs. */
|
|
88
|
+
internalValue = signal('', /* @ts-ignore */
|
|
89
|
+
...(ngDevMode ? [{ debugName: "internalValue" }] : /* istanbul ignore next */ []));
|
|
90
|
+
/** @private The lowercased tag name of the host element (e.g. `h2`, `div`). */
|
|
91
|
+
get _hostTagName() {
|
|
92
|
+
return this._hostElement.nativeElement.tagName.toLowerCase();
|
|
93
|
+
}
|
|
94
|
+
constructor() {
|
|
95
|
+
super();
|
|
96
|
+
effect(() => {
|
|
97
|
+
const externalValue = this.value();
|
|
98
|
+
if (externalValue === null || externalValue === undefined) {
|
|
99
|
+
if (this._syncedFromExternalValue) {
|
|
100
|
+
this.internalValue.set('');
|
|
101
|
+
this._usesInternalValue.set(false);
|
|
102
|
+
}
|
|
103
|
+
this._syncedFromExternalValue = false;
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
this._syncedFromExternalValue = true;
|
|
107
|
+
this.internalValue.set(externalValue);
|
|
108
|
+
this._usesInternalValue.set(true);
|
|
109
|
+
});
|
|
110
|
+
afterNextRender(() => {
|
|
111
|
+
this._hydrateProjectedText();
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
/** Handles interactive edits from the textarea overlay. */
|
|
115
|
+
onInput(event) {
|
|
116
|
+
const value = event.target.value;
|
|
117
|
+
this.internalValue.set(value);
|
|
118
|
+
this._usesInternalValue.set(true);
|
|
119
|
+
// The `value` model is the signal-forms transport: setting it propagates
|
|
120
|
+
// the edit to the bound field ([formField]/[formControl]/ngModel).
|
|
121
|
+
this.value.set(value);
|
|
122
|
+
}
|
|
123
|
+
/** Tracks focus state for form-field styling. */
|
|
124
|
+
onFocus() {
|
|
125
|
+
this.setFocused(true);
|
|
126
|
+
}
|
|
127
|
+
/** Tracks blur state for form-field styling and touched state. */
|
|
128
|
+
onBlur() {
|
|
129
|
+
this.setFocused(false);
|
|
130
|
+
this._markTouched();
|
|
131
|
+
}
|
|
132
|
+
/** Whether the control holds a clearable value — Non-empty text present. */
|
|
133
|
+
hasValue = computed(() => this.internalValue().length > 0, /* @ts-ignore */
|
|
134
|
+
...(ngDevMode ? [{ debugName: "hasValue" }] : /* istanbul ignore next */ []));
|
|
135
|
+
/** @private Reads projected text after render and seeds the editable value from it when appropriate. */
|
|
136
|
+
_hydrateProjectedText() {
|
|
137
|
+
const projectedText = this._projectionElement()?.nativeElement.textContent?.trim() ?? '';
|
|
138
|
+
this._projectedText.set(projectedText);
|
|
139
|
+
if (this.editable() &&
|
|
140
|
+
!this._usesInternalValue() &&
|
|
141
|
+
(this.value() === null || this.value() === undefined) &&
|
|
142
|
+
projectedText) {
|
|
143
|
+
this.internalValue.set(projectedText);
|
|
144
|
+
this._usesInternalValue.set(true);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTitle, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
148
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MlvTitle, isStandalone: true, selector: "[mlvTitle]", inputs: { level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null }, editable: { classPropertyName: "editable", publicName: "editable", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { properties: { "attr.data-level": "_resolvedLevel()", "attr.role": "_isNativeHeading() ? null : \"heading\"", "attr.aria-level": "_isNativeHeading() ? null : _resolvedLevel()", "class.mlv-title--editable": "editable()", "class.mlv-title--disabled": "computedDisabled()", "class.mlv-title--focused": "focused()" }, classAttribute: "mlv-title" }, providers: [
|
|
149
|
+
{
|
|
150
|
+
provide: MLV_FORM_CONTROL,
|
|
151
|
+
useExisting: forwardRef(() => MlvTitle),
|
|
152
|
+
},
|
|
153
|
+
], viewQueries: [{ propertyName: "_projectionElement", first: true, predicate: ["projectionContent"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<span\n #projectionContent\n class=\"mlv-title__projection\"\n [class.mlv-title__projection--hidden]=\"!showProjectedContent()\"\n [attr.aria-hidden]=\"showProjectedContent() ? null : 'true'\"\n>\n <ng-content />\n</span>\n\n@if (showValueText()) {\n<span class=\"mlv-title__value\">{{ currentText() }}</span>\n} @if (editable()) {\n<span class=\"mlv-title__editor\">\n <pre\n class=\"mlv-title__pre\"\n [class.mlv-title__pre--placeholder]=\"editorShowsPlaceholder()\"\n aria-hidden=\"true\"\n >\n{{ editorMeasureText() }}</pre\n >\n <textarea\n class=\"mlv-title__textarea\"\n rows=\"1\"\n [value]=\"textareaValue()\"\n [placeholder]=\"placeholder()\"\n [readonly]=\"readonly()\"\n [disabled]=\"computedDisabled()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-required]=\"required() || null\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n ></textarea>\n</span>\n}\n", styles: ["@layer mlv.components{.mlv-title{margin:0;color:var(--mlv-text-primary)}.mlv-title[data-level=\"1\"]{font-size:var(--mlv-typography-heading-h1-size);font-weight:var(--mlv-typography-heading-h1-weight);line-height:var(--mlv-typography-heading-h1-line-height);letter-spacing:var(--mlv-typography-heading-h1-letter-spacing)}.mlv-title[data-level=\"2\"]{font-size:var(--mlv-typography-heading-h2-size);font-weight:var(--mlv-typography-heading-h2-weight);line-height:var(--mlv-typography-heading-h2-line-height);letter-spacing:var(--mlv-typography-heading-h2-letter-spacing)}.mlv-title[data-level=\"3\"]{font-size:var(--mlv-typography-heading-h3-size);font-weight:var(--mlv-typography-heading-h3-weight);line-height:var(--mlv-typography-heading-h3-line-height);letter-spacing:var(--mlv-letter-spacing-normal)}.mlv-title[data-level=\"4\"]{font-size:var(--mlv-typography-heading-h4-size);font-weight:var(--mlv-typography-heading-h4-weight);line-height:var(--mlv-typography-heading-h4-line-height);letter-spacing:var(--mlv-letter-spacing-normal)}.mlv-title[data-level=\"5\"]{font-size:var(--mlv-typography-heading-h5-size);font-weight:var(--mlv-typography-heading-h5-weight);line-height:var(--mlv-typography-heading-h5-line-height);letter-spacing:var(--mlv-letter-spacing-normal)}.mlv-title[data-level=\"6\"]{font-size:var(--mlv-typography-heading-h6-size);font-weight:var(--mlv-typography-heading-h6-weight);line-height:var(--mlv-typography-heading-h6-line-height);letter-spacing:var(--mlv-letter-spacing-normal)}.mlv-title--editable{display:block}.mlv-title__projection--hidden{display:none}.mlv-title__value,.mlv-title__projection,.mlv-title__editor,.mlv-title__pre,.mlv-title__textarea{font:inherit;letter-spacing:inherit;line-height:inherit}.mlv-title__value,.mlv-title__projection{white-space:pre-wrap;overflow-wrap:anywhere}.mlv-title__editor{display:grid;align-items:start}.mlv-title__pre,.mlv-title__textarea{grid-area:1/1;margin:0;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.mlv-title__pre{pointer-events:none;color:var(--mlv-text-primary)}.mlv-title__pre--placeholder{color:var(--mlv-text-secondary)}.mlv-title__textarea{width:100%;min-height:1lh;padding:0;border:0;background:transparent;color:transparent;caret-color:var(--mlv-text-primary);border-radius:0;resize:none;overflow:hidden;outline:none;box-shadow:none;field-sizing:content;appearance:none;transition:outline-color var(--mlv-duration-slow) var(--mlv-ease-out),outline-offset var(--mlv-duration-slow) var(--mlv-ease-out)}.mlv-title__textarea::placeholder{color:var(--mlv-text-tertiary)}.mlv-title__textarea:disabled{cursor:not-allowed}@media(prefers-reduced-motion:reduce){.mlv-title,.mlv-title *,.mlv-title:before,.mlv-title:after,[class^=mlv-title__],[class*=\" mlv-title__\"],[class^=mlv-title--],[class*=\" mlv-title--\"]{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:var(--mlv-duration-instant)!important}}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
154
|
+
}
|
|
155
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvTitle, decorators: [{
|
|
156
|
+
type: Component,
|
|
157
|
+
args: [{ selector: '[mlvTitle]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
158
|
+
{
|
|
159
|
+
provide: MLV_FORM_CONTROL,
|
|
160
|
+
useExisting: forwardRef(() => MlvTitle),
|
|
161
|
+
},
|
|
162
|
+
], host: {
|
|
163
|
+
class: 'mlv-title',
|
|
164
|
+
'[attr.data-level]': '_resolvedLevel()',
|
|
165
|
+
'[attr.role]': '_isNativeHeading() ? null : "heading"',
|
|
166
|
+
'[attr.aria-level]': '_isNativeHeading() ? null : _resolvedLevel()',
|
|
167
|
+
'[class.mlv-title--editable]': 'editable()',
|
|
168
|
+
'[class.mlv-title--disabled]': 'computedDisabled()',
|
|
169
|
+
'[class.mlv-title--focused]': 'focused()',
|
|
170
|
+
}, template: "<span\n #projectionContent\n class=\"mlv-title__projection\"\n [class.mlv-title__projection--hidden]=\"!showProjectedContent()\"\n [attr.aria-hidden]=\"showProjectedContent() ? null : 'true'\"\n>\n <ng-content />\n</span>\n\n@if (showValueText()) {\n<span class=\"mlv-title__value\">{{ currentText() }}</span>\n} @if (editable()) {\n<span class=\"mlv-title__editor\">\n <pre\n class=\"mlv-title__pre\"\n [class.mlv-title__pre--placeholder]=\"editorShowsPlaceholder()\"\n aria-hidden=\"true\"\n >\n{{ editorMeasureText() }}</pre\n >\n <textarea\n class=\"mlv-title__textarea\"\n rows=\"1\"\n [value]=\"textareaValue()\"\n [placeholder]=\"placeholder()\"\n [readonly]=\"readonly()\"\n [disabled]=\"computedDisabled()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-required]=\"required() || null\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n ></textarea>\n</span>\n}\n", styles: ["@layer mlv.components{.mlv-title{margin:0;color:var(--mlv-text-primary)}.mlv-title[data-level=\"1\"]{font-size:var(--mlv-typography-heading-h1-size);font-weight:var(--mlv-typography-heading-h1-weight);line-height:var(--mlv-typography-heading-h1-line-height);letter-spacing:var(--mlv-typography-heading-h1-letter-spacing)}.mlv-title[data-level=\"2\"]{font-size:var(--mlv-typography-heading-h2-size);font-weight:var(--mlv-typography-heading-h2-weight);line-height:var(--mlv-typography-heading-h2-line-height);letter-spacing:var(--mlv-typography-heading-h2-letter-spacing)}.mlv-title[data-level=\"3\"]{font-size:var(--mlv-typography-heading-h3-size);font-weight:var(--mlv-typography-heading-h3-weight);line-height:var(--mlv-typography-heading-h3-line-height);letter-spacing:var(--mlv-letter-spacing-normal)}.mlv-title[data-level=\"4\"]{font-size:var(--mlv-typography-heading-h4-size);font-weight:var(--mlv-typography-heading-h4-weight);line-height:var(--mlv-typography-heading-h4-line-height);letter-spacing:var(--mlv-letter-spacing-normal)}.mlv-title[data-level=\"5\"]{font-size:var(--mlv-typography-heading-h5-size);font-weight:var(--mlv-typography-heading-h5-weight);line-height:var(--mlv-typography-heading-h5-line-height);letter-spacing:var(--mlv-letter-spacing-normal)}.mlv-title[data-level=\"6\"]{font-size:var(--mlv-typography-heading-h6-size);font-weight:var(--mlv-typography-heading-h6-weight);line-height:var(--mlv-typography-heading-h6-line-height);letter-spacing:var(--mlv-letter-spacing-normal)}.mlv-title--editable{display:block}.mlv-title__projection--hidden{display:none}.mlv-title__value,.mlv-title__projection,.mlv-title__editor,.mlv-title__pre,.mlv-title__textarea{font:inherit;letter-spacing:inherit;line-height:inherit}.mlv-title__value,.mlv-title__projection{white-space:pre-wrap;overflow-wrap:anywhere}.mlv-title__editor{display:grid;align-items:start}.mlv-title__pre,.mlv-title__textarea{grid-area:1/1;margin:0;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}.mlv-title__pre{pointer-events:none;color:var(--mlv-text-primary)}.mlv-title__pre--placeholder{color:var(--mlv-text-secondary)}.mlv-title__textarea{width:100%;min-height:1lh;padding:0;border:0;background:transparent;color:transparent;caret-color:var(--mlv-text-primary);border-radius:0;resize:none;overflow:hidden;outline:none;box-shadow:none;field-sizing:content;appearance:none;transition:outline-color var(--mlv-duration-slow) var(--mlv-ease-out),outline-offset var(--mlv-duration-slow) var(--mlv-ease-out)}.mlv-title__textarea::placeholder{color:var(--mlv-text-tertiary)}.mlv-title__textarea:disabled{cursor:not-allowed}@media(prefers-reduced-motion:reduce){.mlv-title,.mlv-title *,.mlv-title:before,.mlv-title:after,[class^=mlv-title__],[class*=\" mlv-title__\"],[class^=mlv-title--],[class*=\" mlv-title--\"]{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:var(--mlv-duration-instant)!important}}}\n"] }]
|
|
171
|
+
}], ctorParameters: () => [], propDecorators: { level: [{ type: i0.Input, args: [{ isSignal: true, alias: "level", required: false }] }], editable: [{ type: i0.Input, args: [{ isSignal: true, alias: "editable", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], _projectionElement: [{ type: i0.ViewChild, args: ['projectionContent', { isSignal: true }] }] } });
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Generated bundle index. Do not edit.
|
|
175
|
+
*/
|
|
176
|
+
|
|
177
|
+
export { MlvTitle };
|
|
178
|
+
//# sourceMappingURL=malva-ui-core-title.mjs.map
|