@malva-ui/core 0.1.12
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 +92 -0
- package/README.md +61 -0
- package/accordion/index.d.ts +3 -0
- package/accordion/lib/accordion/accordion.d.ts +47 -0
- package/accordion/lib/accordion-item/accordion-header.d.ts +22 -0
- package/accordion/lib/accordion-item/accordion-item.d.ts +49 -0
- package/accordion/malva-ui-core-accordion.d.ts +5 -0
- package/action-bar/index.d.ts +4 -0
- package/action-bar/lib/action-bar/action-bar.d.ts +59 -0
- package/action-bar/lib/action-bar/components/action-bar-actions.d.ts +9 -0
- package/action-bar/lib/action-bar/components/action-bar-logo.d.ts +5 -0
- package/action-bar/lib/action-bar/components/action-bar-spacer.d.ts +5 -0
- package/action-bar/malva-ui-core-action-bar.d.ts +5 -0
- package/alert/index.d.ts +2 -0
- package/alert/lib/alert/alert.d.ts +84 -0
- package/alert/lib/alert/alert.directives.d.ts +44 -0
- package/alert/malva-ui-core-alert.d.ts +5 -0
- package/autocomplete/index.d.ts +1 -0
- package/autocomplete/lib/autocomplete/autocomplete.d.ts +296 -0
- package/autocomplete/malva-ui-core-autocomplete.d.ts +5 -0
- package/avatar/index.d.ts +2 -0
- package/avatar/lib/avatar/avatar.d.ts +125 -0
- package/avatar/lib/color-from-text.pipe.d.ts +21 -0
- package/avatar/malva-ui-core-avatar.d.ts +5 -0
- package/avatar-group/index.d.ts +1 -0
- package/avatar-group/lib/avatar-group/avatar-group.d.ts +115 -0
- package/avatar-group/malva-ui-core-avatar-group.d.ts +5 -0
- package/badge/index.d.ts +2 -0
- package/badge/lib/badge/badge.d.ts +59 -0
- package/badge/lib/badge-icon.d.ts +35 -0
- package/badge/malva-ui-core-badge.d.ts +5 -0
- package/bottom-nav/index.d.ts +1 -0
- package/bottom-nav/lib/bottom-nav/bottom-nav.d.ts +99 -0
- package/bottom-nav/malva-ui-core-bottom-nav.d.ts +5 -0
- package/breadcrumb/index.d.ts +5 -0
- package/breadcrumb/lib/breadcrumb/breadcrumb-item-host.d.ts +32 -0
- package/breadcrumb/lib/breadcrumb/breadcrumb-item.d.ts +41 -0
- package/breadcrumb/lib/breadcrumb/breadcrumb-separator.d.ts +31 -0
- package/breadcrumb/lib/breadcrumb/breadcrumb.d.ts +151 -0
- package/breadcrumb/lib/breadcrumb/breadcrumb.types.d.ts +26 -0
- package/breadcrumb/malva-ui-core-breadcrumb.d.ts +5 -0
- package/button/index.d.ts +7 -0
- package/button/lib/button/button.d.ts +61 -0
- package/button/lib/button-close/button-close.d.ts +24 -0
- package/button/lib/button-group/button-group.d.ts +21 -0
- package/button/lib/button-split/button-split.d.ts +21 -0
- package/button/lib/button-toggle/button-toggle.d.ts +33 -0
- package/button/lib/button-variant.token.d.ts +13 -0
- package/button/lib/button.directives.d.ts +14 -0
- package/button/lib/button.types.d.ts +8 -0
- package/button/malva-ui-core-button.d.ts +5 -0
- package/calendar/index.d.ts +3 -0
- package/calendar/lib/calendar/calendar.d.ts +182 -0
- package/calendar/lib/date-provider/date-adapter.d.ts +92 -0
- package/calendar/lib/date-provider/native-date-adapter.d.ts +60 -0
- package/calendar/malva-ui-core-calendar.d.ts +5 -0
- package/card/index.d.ts +5 -0
- package/card/lib/card/card.d.ts +43 -0
- package/card/lib/card-actions-def.d.ts +10 -0
- package/card/lib/card-footer-def.d.ts +13 -0
- package/card/lib/card-header-def.d.ts +10 -0
- package/card/lib/card-subheader-def.d.ts +16 -0
- package/card/malva-ui-core-card.d.ts +5 -0
- package/chat/index.d.ts +9 -0
- package/chat/lib/chat/chat.d.ts +133 -0
- package/chat/lib/chat-audio/chat-audio.d.ts +51 -0
- package/chat/lib/chat-audio/chat-audio.service.d.ts +21 -0
- package/chat/lib/chat-date/chat-date.d.ts +16 -0
- package/chat/lib/chat-format.d.ts +5 -0
- package/chat/lib/chat-media-grid/chat-media-grid.d.ts +32 -0
- package/chat/lib/chat-message/chat-message.d.ts +45 -0
- package/chat/lib/chat-render-list.d.ts +16 -0
- package/chat/lib/chat-tokens.d.ts +25 -0
- package/chat/lib/chat-typing/chat-typing.d.ts +16 -0
- package/chat/lib/chat.types.d.ts +80 -0
- package/chat/lib/defs/chat-author-def.d.ts +30 -0
- package/chat/lib/defs/chat-date-def.d.ts +22 -0
- package/chat/lib/defs/chat-message-def.d.ts +23 -0
- package/chat/malva-ui-core-chat.d.ts +5 -0
- package/checkbox/index.d.ts +3 -0
- package/checkbox/lib/checkbox/checkbox.d.ts +129 -0
- package/checkbox/lib/checkbox-group/checkbox-group.d.ts +24 -0
- package/checkbox/lib/checkbox-group-token.d.ts +6 -0
- package/checkbox/malva-ui-core-checkbox.d.ts +5 -0
- package/chip/index.d.ts +2 -0
- package/chip/lib/chip/chip.d.ts +107 -0
- package/chip/lib/chip/chip.directives.d.ts +18 -0
- package/chip/malva-ui-core-chip.d.ts +5 -0
- package/color-picker/index.d.ts +3 -0
- package/color-picker/lib/color-picker/color-picker.d.ts +188 -0
- package/color-picker/lib/color-picker-popup/color-picker-popup.d.ts +151 -0
- package/color-picker/lib/color-utils/color-utils.d.ts +102 -0
- package/color-picker/malva-ui-core-color-picker.d.ts +5 -0
- package/combobox/index.d.ts +2 -0
- package/combobox/lib/combobox/combobox.d.ts +400 -0
- package/combobox/lib/combobox-template.directives.d.ts +10 -0
- package/combobox/malva-ui-core-combobox.d.ts +5 -0
- package/copy-to-clipboard/index.d.ts +1 -0
- package/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.d.ts +130 -0
- package/copy-to-clipboard/malva-ui-core-copy-to-clipboard.d.ts +5 -0
- package/data-table/index.d.ts +8 -0
- package/data-table/lib/data-source.d.ts +5 -0
- package/data-table/lib/data-table/data-table-layout.d.ts +31 -0
- package/data-table/lib/data-table/data-table.d.ts +699 -0
- package/data-table/lib/data-table/services/data-table-column-visibility.service.d.ts +19 -0
- package/data-table/lib/data-table/services/data-table-editing.service.d.ts +37 -0
- package/data-table/lib/data-table/services/data-table-pinning.service.d.ts +37 -0
- package/data-table/lib/data-table-cell.d.ts +44 -0
- package/data-table/lib/data-table-edit-cell.d.ts +44 -0
- package/data-table/lib/data-table-error.d.ts +37 -0
- package/data-table/lib/data-table-footer.d.ts +26 -0
- package/data-table/lib/data-table-no-data.d.ts +19 -0
- package/data-table/lib/filter-dropdown/filter-dropdown.d.ts +54 -0
- package/data-table/lib/types.d.ts +134 -0
- package/data-table/malva-ui-core-data-table.d.ts +5 -0
- package/date-range-picker/index.d.ts +1 -0
- package/date-range-picker/lib/date-range-picker/date-range-picker.d.ts +145 -0
- package/date-range-picker/malva-ui-core-date-range-picker.d.ts +5 -0
- package/day-picker/index.d.ts +1 -0
- package/day-picker/lib/day-picker/day-picker.d.ts +51 -0
- package/day-picker/malva-ui-core-day-picker.d.ts +5 -0
- package/dialog/index.d.ts +11 -0
- package/dialog/lib/confirm-dialog-options.d.ts +41 -0
- package/dialog/lib/confirm-dialog.d.ts +52 -0
- package/dialog/lib/dialog/dialog.d.ts +22 -0
- package/dialog/lib/dialog-body.d.ts +9 -0
- package/dialog/lib/dialog-close.d.ts +27 -0
- package/dialog/lib/dialog-config.d.ts +112 -0
- package/dialog/lib/dialog-container.d.ts +40 -0
- package/dialog/lib/dialog-footer.d.ts +13 -0
- package/dialog/lib/dialog-header.d.ts +74 -0
- package/dialog/lib/dialog-ref.d.ts +95 -0
- package/dialog/lib/dialog-template.d.ts +65 -0
- package/dialog/lib/dialog-text-content.d.ts +24 -0
- package/dialog/lib/dialog.service.d.ts +63 -0
- package/dialog/lib/generate-routable-dialog-route.d.ts +49 -0
- package/dialog/lib/inject-dialog-ref.d.ts +8 -0
- package/dialog/lib/routable-dialog.d.ts +30 -0
- package/dialog/malva-ui-core-dialog.d.ts +5 -0
- package/divider/index.d.ts +1 -0
- package/divider/lib/divider/divider.d.ts +64 -0
- package/divider/malva-ui-core-divider.d.ts +5 -0
- package/docs/ai/accordion.md +102 -0
- package/docs/ai/action-bar.md +198 -0
- package/docs/ai/alert.md +190 -0
- package/docs/ai/autocomplete.md +111 -0
- package/docs/ai/avatar-group.md +184 -0
- package/docs/ai/avatar.md +150 -0
- package/docs/ai/badge.md +163 -0
- package/docs/ai/bottom-nav.md +267 -0
- package/docs/ai/breadcrumb.md +174 -0
- package/docs/ai/button.md +306 -0
- package/docs/ai/calendar.md +237 -0
- package/docs/ai/card.md +196 -0
- package/docs/ai/chat.md +145 -0
- package/docs/ai/checkbox.md +193 -0
- package/docs/ai/chip.md +139 -0
- package/docs/ai/color-picker.md +270 -0
- package/docs/ai/combobox.md +325 -0
- package/docs/ai/copy-to-clipboard.md +159 -0
- package/docs/ai/core.md +216 -0
- package/docs/ai/data-table.md +917 -0
- package/docs/ai/date-range-picker.md +101 -0
- package/docs/ai/day-picker.md +135 -0
- package/docs/ai/dialog.md +852 -0
- package/docs/ai/divider.md +159 -0
- package/docs/ai/drawer.md +607 -0
- package/docs/ai/dropdown.md +343 -0
- package/docs/ai/empty-state.md +167 -0
- package/docs/ai/expand.md +234 -0
- package/docs/ai/file-upload.md +402 -0
- package/docs/ai/filter.md +43 -0
- package/docs/ai/form-utils.md +319 -0
- package/docs/ai/form.md +129 -0
- package/docs/ai/input.md +175 -0
- package/docs/ai/kbd.md +70 -0
- package/docs/ai/layout.md +192 -0
- package/docs/ai/link.md +179 -0
- package/docs/ai/list.md +249 -0
- package/docs/ai/loader.md +122 -0
- package/docs/ai/menu.md +335 -0
- package/docs/ai/notification.md +281 -0
- package/docs/ai/number-input.md +123 -0
- package/docs/ai/page.md +422 -0
- package/docs/ai/pagination.md +237 -0
- package/docs/ai/pin-input.md +173 -0
- package/docs/ai/popup.md +347 -0
- package/docs/ai/progress.md +84 -0
- package/docs/ai/radio.md +201 -0
- package/docs/ai/rating.md +76 -0
- package/docs/ai/scrollbar.md +170 -0
- package/docs/ai/search-field.md +85 -0
- package/docs/ai/segmented.md +331 -0
- package/docs/ai/select.md +512 -0
- package/docs/ai/sidebar.md +992 -0
- package/docs/ai/skeleton.md +187 -0
- package/docs/ai/slider.md +180 -0
- package/docs/ai/split-pane.md +235 -0
- package/docs/ai/status-indicator.md +95 -0
- package/docs/ai/stepper.md +385 -0
- package/docs/ai/switch.md +216 -0
- package/docs/ai/tabs.md +564 -0
- package/docs/ai/textarea.md +249 -0
- package/docs/ai/tile.md +150 -0
- package/docs/ai/time-picker.md +214 -0
- package/docs/ai/timeline.md +320 -0
- package/docs/ai/title.md +105 -0
- package/docs/ai/toast.md +484 -0
- package/docs/ai/tokenizer.md +236 -0
- package/docs/ai/toolbar.md +155 -0
- package/docs/ai/tooltip.md +154 -0
- package/docs/ai/tree.md +177 -0
- package/drawer/index.d.ts +11 -0
- package/drawer/lib/drawer/drawer.d.ts +106 -0
- package/drawer/lib/drawer-body.d.ts +8 -0
- package/drawer/lib/drawer-content.d.ts +6 -0
- package/drawer/lib/drawer-footer.d.ts +5 -0
- package/drawer/lib/drawer-header.d.ts +5 -0
- package/drawer/lib/drawer-ref.d.ts +29 -0
- package/drawer/lib/drawer-resize.d.ts +65 -0
- package/drawer/lib/drawer-section/drawer-section.d.ts +15 -0
- package/drawer/lib/drawer-sections/drawer-sections.d.ts +22 -0
- package/drawer/lib/drawer-sections.service.d.ts +42 -0
- package/drawer/lib/drawer.service.d.ts +66 -0
- package/drawer/lib/generate-routable-drawer-route.d.ts +42 -0
- package/drawer/lib/routable-drawer.d.ts +30 -0
- package/drawer/malva-ui-core-drawer.d.ts +5 -0
- package/dropdown/index.d.ts +9 -0
- package/dropdown/lib/active-descendant.d.ts +64 -0
- package/dropdown/lib/dropdown-panel/dropdown-panel.d.ts +178 -0
- package/dropdown/lib/highlight-match.pipe.d.ts +27 -0
- package/dropdown/lib/option-matcher.d.ts +87 -0
- package/dropdown/lib/options-adapter.d.ts +142 -0
- package/dropdown/lib/options-result.d.ts +6 -0
- package/dropdown/lib/reconciliation.d.ts +19 -0
- package/dropdown/lib/select-data-source.d.ts +18 -0
- package/dropdown/lib/select-option.d.ts +37 -0
- package/dropdown/malva-ui-core-dropdown.d.ts +5 -0
- package/empty-state/index.d.ts +1 -0
- package/empty-state/lib/empty-state/empty-state.d.ts +34 -0
- package/empty-state/malva-ui-core-empty-state.d.ts +5 -0
- package/esm2022/accordion/index.js +4 -0
- package/esm2022/accordion/index.js.map +1 -0
- package/esm2022/accordion/lib/accordion/accordion.js +65 -0
- package/esm2022/accordion/lib/accordion/accordion.js.map +1 -0
- package/esm2022/accordion/lib/accordion-item/accordion-header.js +30 -0
- package/esm2022/accordion/lib/accordion-item/accordion-header.js.map +1 -0
- package/esm2022/accordion/lib/accordion-item/accordion-item.js +70 -0
- package/esm2022/accordion/lib/accordion-item/accordion-item.js.map +1 -0
- package/esm2022/accordion/malva-ui-core-accordion.js +5 -0
- package/esm2022/accordion/malva-ui-core-accordion.js.map +1 -0
- package/esm2022/action-bar/index.js +5 -0
- package/esm2022/action-bar/index.js.map +1 -0
- package/esm2022/action-bar/lib/action-bar/action-bar.js +64 -0
- package/esm2022/action-bar/lib/action-bar/action-bar.js.map +1 -0
- package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js +20 -0
- package/esm2022/action-bar/lib/action-bar/components/action-bar-actions.js.map +1 -0
- package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js +13 -0
- package/esm2022/action-bar/lib/action-bar/components/action-bar-logo.js.map +1 -0
- package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js +13 -0
- package/esm2022/action-bar/lib/action-bar/components/action-bar-spacer.js.map +1 -0
- package/esm2022/action-bar/malva-ui-core-action-bar.js +5 -0
- package/esm2022/action-bar/malva-ui-core-action-bar.js.map +1 -0
- package/esm2022/alert/index.js +3 -0
- package/esm2022/alert/index.js.map +1 -0
- package/esm2022/alert/lib/alert/alert.directives.js +53 -0
- package/esm2022/alert/lib/alert/alert.directives.js.map +1 -0
- package/esm2022/alert/lib/alert/alert.js +118 -0
- package/esm2022/alert/lib/alert/alert.js.map +1 -0
- package/esm2022/alert/malva-ui-core-alert.js +5 -0
- package/esm2022/alert/malva-ui-core-alert.js.map +1 -0
- package/esm2022/autocomplete/index.js +2 -0
- package/esm2022/autocomplete/index.js.map +1 -0
- package/esm2022/autocomplete/lib/autocomplete/autocomplete.js +765 -0
- package/esm2022/autocomplete/lib/autocomplete/autocomplete.js.map +1 -0
- package/esm2022/autocomplete/malva-ui-core-autocomplete.js +5 -0
- package/esm2022/autocomplete/malva-ui-core-autocomplete.js.map +1 -0
- package/esm2022/avatar/index.js +3 -0
- package/esm2022/avatar/index.js.map +1 -0
- package/esm2022/avatar/lib/avatar/avatar.js +192 -0
- package/esm2022/avatar/lib/avatar/avatar.js.map +1 -0
- package/esm2022/avatar/lib/color-from-text.pipe.js +39 -0
- package/esm2022/avatar/lib/color-from-text.pipe.js.map +1 -0
- package/esm2022/avatar/malva-ui-core-avatar.js +5 -0
- package/esm2022/avatar/malva-ui-core-avatar.js.map +1 -0
- package/esm2022/avatar-group/index.js +2 -0
- package/esm2022/avatar-group/index.js.map +1 -0
- package/esm2022/avatar-group/lib/avatar-group/avatar-group.js +217 -0
- package/esm2022/avatar-group/lib/avatar-group/avatar-group.js.map +1 -0
- package/esm2022/avatar-group/malva-ui-core-avatar-group.js +5 -0
- package/esm2022/avatar-group/malva-ui-core-avatar-group.js.map +1 -0
- package/esm2022/badge/index.js +3 -0
- package/esm2022/badge/index.js.map +1 -0
- package/esm2022/badge/lib/badge/badge.js +71 -0
- package/esm2022/badge/lib/badge/badge.js.map +1 -0
- package/esm2022/badge/lib/badge-icon.js +47 -0
- package/esm2022/badge/lib/badge-icon.js.map +1 -0
- package/esm2022/badge/malva-ui-core-badge.js +5 -0
- package/esm2022/badge/malva-ui-core-badge.js.map +1 -0
- package/esm2022/bottom-nav/index.js +2 -0
- package/esm2022/bottom-nav/index.js.map +1 -0
- package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js +155 -0
- package/esm2022/bottom-nav/lib/bottom-nav/bottom-nav.js.map +1 -0
- package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js +5 -0
- package/esm2022/bottom-nav/malva-ui-core-bottom-nav.js.map +1 -0
- package/esm2022/breadcrumb/index.js +6 -0
- package/esm2022/breadcrumb/index.js.map +1 -0
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js +43 -0
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item-host.js.map +1 -0
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js +110 -0
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-item.js.map +1 -0
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js +38 -0
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb-separator.js.map +1 -0
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js +284 -0
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.js.map +1 -0
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js +1 -0
- package/esm2022/breadcrumb/lib/breadcrumb/breadcrumb.types.js.map +1 -0
- package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js +5 -0
- package/esm2022/breadcrumb/malva-ui-core-breadcrumb.js.map +1 -0
- package/esm2022/button/index.js +8 -0
- package/esm2022/button/index.js.map +1 -0
- package/esm2022/button/lib/button/button.js +137 -0
- package/esm2022/button/lib/button/button.js.map +1 -0
- package/esm2022/button/lib/button-close/button-close.js +52 -0
- package/esm2022/button/lib/button-close/button-close.js.map +1 -0
- package/esm2022/button/lib/button-group/button-group.js +44 -0
- package/esm2022/button/lib/button-group/button-group.js.map +1 -0
- package/esm2022/button/lib/button-split/button-split.js +44 -0
- package/esm2022/button/lib/button-split/button-split.js.map +1 -0
- package/esm2022/button/lib/button-toggle/button-toggle.js +94 -0
- package/esm2022/button/lib/button-toggle/button-toggle.js.map +1 -0
- package/esm2022/button/lib/button-variant.token.js +4 -0
- package/esm2022/button/lib/button-variant.token.js.map +1 -0
- package/esm2022/button/lib/button.directives.js +37 -0
- package/esm2022/button/lib/button.directives.js.map +1 -0
- package/esm2022/button/lib/button.types.js +1 -0
- package/esm2022/button/lib/button.types.js.map +1 -0
- package/esm2022/button/malva-ui-core-button.js +5 -0
- package/esm2022/button/malva-ui-core-button.js.map +1 -0
- package/esm2022/calendar/index.js +4 -0
- package/esm2022/calendar/index.js.map +1 -0
- package/esm2022/calendar/lib/calendar/calendar.js +672 -0
- package/esm2022/calendar/lib/calendar/calendar.js.map +1 -0
- package/esm2022/calendar/lib/date-provider/date-adapter.js +111 -0
- package/esm2022/calendar/lib/date-provider/date-adapter.js.map +1 -0
- package/esm2022/calendar/lib/date-provider/native-date-adapter.js +151 -0
- package/esm2022/calendar/lib/date-provider/native-date-adapter.js.map +1 -0
- package/esm2022/calendar/malva-ui-core-calendar.js +5 -0
- package/esm2022/calendar/malva-ui-core-calendar.js.map +1 -0
- package/esm2022/card/index.js +6 -0
- package/esm2022/card/index.js.map +1 -0
- package/esm2022/card/lib/card/card.js +54 -0
- package/esm2022/card/lib/card/card.js.map +1 -0
- package/esm2022/card/lib/card-actions-def.js +27 -0
- package/esm2022/card/lib/card-actions-def.js.map +1 -0
- package/esm2022/card/lib/card-footer-def.js +32 -0
- package/esm2022/card/lib/card-footer-def.js.map +1 -0
- package/esm2022/card/lib/card-header-def.js +27 -0
- package/esm2022/card/lib/card-header-def.js.map +1 -0
- package/esm2022/card/lib/card-subheader-def.js +33 -0
- package/esm2022/card/lib/card-subheader-def.js.map +1 -0
- package/esm2022/card/malva-ui-core-card.js +5 -0
- package/esm2022/card/malva-ui-core-card.js.map +1 -0
- package/esm2022/chat/index.js +10 -0
- package/esm2022/chat/index.js.map +1 -0
- package/esm2022/chat/lib/chat/chat.js +326 -0
- package/esm2022/chat/lib/chat/chat.js.map +1 -0
- package/esm2022/chat/lib/chat-audio/chat-audio.js +110 -0
- package/esm2022/chat/lib/chat-audio/chat-audio.js.map +1 -0
- package/esm2022/chat/lib/chat-audio/chat-audio.service.js +28 -0
- package/esm2022/chat/lib/chat-audio/chat-audio.service.js.map +1 -0
- package/esm2022/chat/lib/chat-date/chat-date.js +46 -0
- package/esm2022/chat/lib/chat-date/chat-date.js.map +1 -0
- package/esm2022/chat/lib/chat-format.js +11 -0
- package/esm2022/chat/lib/chat-format.js.map +1 -0
- package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js +53 -0
- package/esm2022/chat/lib/chat-media-grid/chat-media-grid.js.map +1 -0
- package/esm2022/chat/lib/chat-message/chat-message.js +86 -0
- package/esm2022/chat/lib/chat-message/chat-message.js.map +1 -0
- package/esm2022/chat/lib/chat-render-list.js +55 -0
- package/esm2022/chat/lib/chat-render-list.js.map +1 -0
- package/esm2022/chat/lib/chat-tokens.js +9 -0
- package/esm2022/chat/lib/chat-tokens.js.map +1 -0
- package/esm2022/chat/lib/chat-typing/chat-typing.js +50 -0
- package/esm2022/chat/lib/chat-typing/chat-typing.js.map +1 -0
- package/esm2022/chat/lib/chat.types.js +1 -0
- package/esm2022/chat/lib/chat.types.js.map +1 -0
- package/esm2022/chat/lib/defs/chat-author-def.js +27 -0
- package/esm2022/chat/lib/defs/chat-author-def.js.map +1 -0
- package/esm2022/chat/lib/defs/chat-date-def.js +24 -0
- package/esm2022/chat/lib/defs/chat-date-def.js.map +1 -0
- package/esm2022/chat/lib/defs/chat-message-def.js +30 -0
- package/esm2022/chat/lib/defs/chat-message-def.js.map +1 -0
- package/esm2022/chat/malva-ui-core-chat.js +5 -0
- package/esm2022/chat/malva-ui-core-chat.js.map +1 -0
- package/esm2022/checkbox/index.js +4 -0
- package/esm2022/checkbox/index.js.map +1 -0
- package/esm2022/checkbox/lib/checkbox/checkbox.js +201 -0
- package/esm2022/checkbox/lib/checkbox/checkbox.js.map +1 -0
- package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js +68 -0
- package/esm2022/checkbox/lib/checkbox-group/checkbox-group.js.map +1 -0
- package/esm2022/checkbox/lib/checkbox-group-token.js +3 -0
- package/esm2022/checkbox/lib/checkbox-group-token.js.map +1 -0
- package/esm2022/checkbox/malva-ui-core-checkbox.js +5 -0
- package/esm2022/checkbox/malva-ui-core-checkbox.js.map +1 -0
- package/esm2022/chip/index.js +3 -0
- package/esm2022/chip/index.js.map +1 -0
- package/esm2022/chip/lib/chip/chip.directives.js +32 -0
- package/esm2022/chip/lib/chip/chip.directives.js.map +1 -0
- package/esm2022/chip/lib/chip/chip.js +140 -0
- package/esm2022/chip/lib/chip/chip.js.map +1 -0
- package/esm2022/chip/malva-ui-core-chip.js +5 -0
- package/esm2022/chip/malva-ui-core-chip.js.map +1 -0
- package/esm2022/color-picker/index.js +4 -0
- package/esm2022/color-picker/index.js.map +1 -0
- package/esm2022/color-picker/lib/color-picker/color-picker.js +530 -0
- package/esm2022/color-picker/lib/color-picker/color-picker.js.map +1 -0
- package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js +419 -0
- package/esm2022/color-picker/lib/color-picker-popup/color-picker-popup.js.map +1 -0
- package/esm2022/color-picker/lib/color-utils/color-utils.js +256 -0
- package/esm2022/color-picker/lib/color-utils/color-utils.js.map +1 -0
- package/esm2022/color-picker/malva-ui-core-color-picker.js +5 -0
- package/esm2022/color-picker/malva-ui-core-color-picker.js.map +1 -0
- package/esm2022/combobox/index.js +3 -0
- package/esm2022/combobox/index.js.map +1 -0
- package/esm2022/combobox/lib/combobox/combobox.js +911 -0
- package/esm2022/combobox/lib/combobox/combobox.js.map +1 -0
- package/esm2022/combobox/lib/combobox-template.directives.js +24 -0
- package/esm2022/combobox/lib/combobox-template.directives.js.map +1 -0
- package/esm2022/combobox/malva-ui-core-combobox.js +5 -0
- package/esm2022/combobox/malva-ui-core-combobox.js.map +1 -0
- package/esm2022/copy-to-clipboard/index.js +2 -0
- package/esm2022/copy-to-clipboard/index.js.map +1 -0
- package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js +201 -0
- package/esm2022/copy-to-clipboard/lib/copy-to-clipboard/copy-to-clipboard.js.map +1 -0
- package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js +5 -0
- package/esm2022/copy-to-clipboard/malva-ui-core-copy-to-clipboard.js.map +1 -0
- package/esm2022/data-table/index.js +9 -0
- package/esm2022/data-table/index.js.map +1 -0
- package/esm2022/data-table/lib/data-source.js +6 -0
- package/esm2022/data-table/lib/data-source.js.map +1 -0
- package/esm2022/data-table/lib/data-table/data-table-layout.js +84 -0
- package/esm2022/data-table/lib/data-table/data-table-layout.js.map +1 -0
- package/esm2022/data-table/lib/data-table/data-table.js +1846 -0
- package/esm2022/data-table/lib/data-table/data-table.js.map +1 -0
- package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js +37 -0
- package/esm2022/data-table/lib/data-table/services/data-table-column-visibility.service.js.map +1 -0
- package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js +63 -0
- package/esm2022/data-table/lib/data-table/services/data-table-editing.service.js.map +1 -0
- package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js +68 -0
- package/esm2022/data-table/lib/data-table/services/data-table-pinning.service.js.map +1 -0
- package/esm2022/data-table/lib/data-table-cell.js +46 -0
- package/esm2022/data-table/lib/data-table-cell.js.map +1 -0
- package/esm2022/data-table/lib/data-table-edit-cell.js +46 -0
- package/esm2022/data-table/lib/data-table-edit-cell.js.map +1 -0
- package/esm2022/data-table/lib/data-table-error.js +37 -0
- package/esm2022/data-table/lib/data-table-error.js.map +1 -0
- package/esm2022/data-table/lib/data-table-footer.js +33 -0
- package/esm2022/data-table/lib/data-table-footer.js.map +1 -0
- package/esm2022/data-table/lib/data-table-no-data.js +26 -0
- package/esm2022/data-table/lib/data-table-no-data.js.map +1 -0
- package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js +224 -0
- package/esm2022/data-table/lib/filter-dropdown/filter-dropdown.js.map +1 -0
- package/esm2022/data-table/lib/types.js +1 -0
- package/esm2022/data-table/lib/types.js.map +1 -0
- package/esm2022/data-table/malva-ui-core-data-table.js +5 -0
- package/esm2022/data-table/malva-ui-core-data-table.js.map +1 -0
- package/esm2022/date-range-picker/index.js +2 -0
- package/esm2022/date-range-picker/index.js.map +1 -0
- package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js +269 -0
- package/esm2022/date-range-picker/lib/date-range-picker/date-range-picker.js.map +1 -0
- package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js +5 -0
- package/esm2022/date-range-picker/malva-ui-core-date-range-picker.js.map +1 -0
- package/esm2022/day-picker/index.js +2 -0
- package/esm2022/day-picker/index.js.map +1 -0
- package/esm2022/day-picker/lib/day-picker/day-picker.js +124 -0
- package/esm2022/day-picker/lib/day-picker/day-picker.js.map +1 -0
- package/esm2022/day-picker/malva-ui-core-day-picker.js +5 -0
- package/esm2022/day-picker/malva-ui-core-day-picker.js.map +1 -0
- package/esm2022/dialog/index.js +12 -0
- package/esm2022/dialog/index.js.map +1 -0
- package/esm2022/dialog/lib/confirm-dialog-options.js +1 -0
- package/esm2022/dialog/lib/confirm-dialog-options.js.map +1 -0
- package/esm2022/dialog/lib/confirm-dialog.js +155 -0
- package/esm2022/dialog/lib/confirm-dialog.js.map +1 -0
- package/esm2022/dialog/lib/dialog/dialog.js +40 -0
- package/esm2022/dialog/lib/dialog/dialog.js.map +1 -0
- package/esm2022/dialog/lib/dialog-body.js +33 -0
- package/esm2022/dialog/lib/dialog-body.js.map +1 -0
- package/esm2022/dialog/lib/dialog-close.js +45 -0
- package/esm2022/dialog/lib/dialog-close.js.map +1 -0
- package/esm2022/dialog/lib/dialog-config.js +23 -0
- package/esm2022/dialog/lib/dialog-config.js.map +1 -0
- package/esm2022/dialog/lib/dialog-container.js +69 -0
- package/esm2022/dialog/lib/dialog-container.js.map +1 -0
- package/esm2022/dialog/lib/dialog-footer.js +29 -0
- package/esm2022/dialog/lib/dialog-footer.js.map +1 -0
- package/esm2022/dialog/lib/dialog-header.js +181 -0
- package/esm2022/dialog/lib/dialog-header.js.map +1 -0
- package/esm2022/dialog/lib/dialog-ref.js +167 -0
- package/esm2022/dialog/lib/dialog-ref.js.map +1 -0
- package/esm2022/dialog/lib/dialog-template.js +136 -0
- package/esm2022/dialog/lib/dialog-template.js.map +1 -0
- package/esm2022/dialog/lib/dialog-text-content.js +59 -0
- package/esm2022/dialog/lib/dialog-text-content.js.map +1 -0
- package/esm2022/dialog/lib/dialog.service.js +205 -0
- package/esm2022/dialog/lib/dialog.service.js.map +1 -0
- package/esm2022/dialog/lib/generate-routable-dialog-route.js +59 -0
- package/esm2022/dialog/lib/generate-routable-dialog-route.js.map +1 -0
- package/esm2022/dialog/lib/inject-dialog-ref.js +16 -0
- package/esm2022/dialog/lib/inject-dialog-ref.js.map +1 -0
- package/esm2022/dialog/lib/routable-dialog.js +91 -0
- package/esm2022/dialog/lib/routable-dialog.js.map +1 -0
- package/esm2022/dialog/malva-ui-core-dialog.js +5 -0
- package/esm2022/dialog/malva-ui-core-dialog.js.map +1 -0
- package/esm2022/divider/index.js +2 -0
- package/esm2022/divider/index.js.map +1 -0
- package/esm2022/divider/lib/divider/divider.js +73 -0
- package/esm2022/divider/lib/divider/divider.js.map +1 -0
- package/esm2022/divider/malva-ui-core-divider.js +5 -0
- package/esm2022/divider/malva-ui-core-divider.js.map +1 -0
- package/esm2022/drawer/index.js +12 -0
- package/esm2022/drawer/index.js.map +1 -0
- package/esm2022/drawer/lib/drawer/drawer.js +180 -0
- package/esm2022/drawer/lib/drawer/drawer.js.map +1 -0
- package/esm2022/drawer/lib/drawer-body.js +32 -0
- package/esm2022/drawer/lib/drawer-body.js.map +1 -0
- package/esm2022/drawer/lib/drawer-content.js +14 -0
- package/esm2022/drawer/lib/drawer-content.js.map +1 -0
- package/esm2022/drawer/lib/drawer-footer.js +14 -0
- package/esm2022/drawer/lib/drawer-footer.js.map +1 -0
- package/esm2022/drawer/lib/drawer-header.js +14 -0
- package/esm2022/drawer/lib/drawer-header.js.map +1 -0
- package/esm2022/drawer/lib/drawer-ref.js +31 -0
- package/esm2022/drawer/lib/drawer-ref.js.map +1 -0
- package/esm2022/drawer/lib/drawer-resize.js +243 -0
- package/esm2022/drawer/lib/drawer-resize.js.map +1 -0
- package/esm2022/drawer/lib/drawer-section/drawer-section.js +26 -0
- package/esm2022/drawer/lib/drawer-section/drawer-section.js.map +1 -0
- package/esm2022/drawer/lib/drawer-sections/drawer-sections.js +58 -0
- package/esm2022/drawer/lib/drawer-sections/drawer-sections.js.map +1 -0
- package/esm2022/drawer/lib/drawer-sections.service.js +83 -0
- package/esm2022/drawer/lib/drawer-sections.service.js.map +1 -0
- package/esm2022/drawer/lib/drawer.service.js +86 -0
- package/esm2022/drawer/lib/drawer.service.js.map +1 -0
- package/esm2022/drawer/lib/generate-routable-drawer-route.js +52 -0
- package/esm2022/drawer/lib/generate-routable-drawer-route.js.map +1 -0
- package/esm2022/drawer/lib/routable-drawer.js +91 -0
- package/esm2022/drawer/lib/routable-drawer.js.map +1 -0
- package/esm2022/drawer/malva-ui-core-drawer.js +5 -0
- package/esm2022/drawer/malva-ui-core-drawer.js.map +1 -0
- package/esm2022/dropdown/index.js +10 -0
- package/esm2022/dropdown/index.js.map +1 -0
- package/esm2022/dropdown/lib/active-descendant.js +92 -0
- package/esm2022/dropdown/lib/active-descendant.js.map +1 -0
- package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js +295 -0
- package/esm2022/dropdown/lib/dropdown-panel/dropdown-panel.js.map +1 -0
- package/esm2022/dropdown/lib/highlight-match.pipe.js +36 -0
- package/esm2022/dropdown/lib/highlight-match.pipe.js.map +1 -0
- package/esm2022/dropdown/lib/option-matcher.js +124 -0
- package/esm2022/dropdown/lib/option-matcher.js.map +1 -0
- package/esm2022/dropdown/lib/options-adapter.js +356 -0
- package/esm2022/dropdown/lib/options-adapter.js.map +1 -0
- package/esm2022/dropdown/lib/options-result.js +11 -0
- package/esm2022/dropdown/lib/options-result.js.map +1 -0
- package/esm2022/dropdown/lib/reconciliation.js +32 -0
- package/esm2022/dropdown/lib/reconciliation.js.map +1 -0
- package/esm2022/dropdown/lib/select-data-source.js +21 -0
- package/esm2022/dropdown/lib/select-data-source.js.map +1 -0
- package/esm2022/dropdown/lib/select-option.js +25 -0
- package/esm2022/dropdown/lib/select-option.js.map +1 -0
- package/esm2022/dropdown/malva-ui-core-dropdown.js +5 -0
- package/esm2022/dropdown/malva-ui-core-dropdown.js.map +1 -0
- package/esm2022/empty-state/index.js +2 -0
- package/esm2022/empty-state/index.js.map +1 -0
- package/esm2022/empty-state/lib/empty-state/empty-state.js +43 -0
- package/esm2022/empty-state/lib/empty-state/empty-state.js.map +1 -0
- package/esm2022/empty-state/malva-ui-core-empty-state.js +5 -0
- package/esm2022/empty-state/malva-ui-core-empty-state.js.map +1 -0
- package/esm2022/expand/index.js +3 -0
- package/esm2022/expand/index.js.map +1 -0
- package/esm2022/expand/lib/expand/expand-content.js +33 -0
- package/esm2022/expand/lib/expand/expand-content.js.map +1 -0
- package/esm2022/expand/lib/expand/expand.js +93 -0
- package/esm2022/expand/lib/expand/expand.js.map +1 -0
- package/esm2022/expand/malva-ui-core-expand.js +5 -0
- package/esm2022/expand/malva-ui-core-expand.js.map +1 -0
- package/esm2022/file-upload/index.js +5 -0
- package/esm2022/file-upload/index.js.map +1 -0
- package/esm2022/file-upload/lib/file-upload/file-upload.js +324 -0
- package/esm2022/file-upload/lib/file-upload/file-upload.js.map +1 -0
- package/esm2022/file-upload/lib/file-upload/file-upload.types.js +1 -0
- package/esm2022/file-upload/lib/file-upload/file-upload.types.js.map +1 -0
- package/esm2022/file-upload/lib/file-upload-action.js +65 -0
- package/esm2022/file-upload/lib/file-upload-action.js.map +1 -0
- package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js +55 -0
- package/esm2022/file-upload/lib/file-upload-item/file-upload-item.js.map +1 -0
- package/esm2022/file-upload/malva-ui-core-file-upload.js +5 -0
- package/esm2022/file-upload/malva-ui-core-file-upload.js.map +1 -0
- package/esm2022/filter/index.js +4 -0
- package/esm2022/filter/index.js.map +1 -0
- package/esm2022/filter/lib/filter/filter.js +552 -0
- package/esm2022/filter/lib/filter/filter.js.map +1 -0
- package/esm2022/filter/lib/filter.types.js +1 -0
- package/esm2022/filter/lib/filter.types.js.map +1 -0
- package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js +518 -0
- package/esm2022/filter/lib/smart-filter-bar/smart-filter-bar.js.map +1 -0
- package/esm2022/filter/malva-ui-core-filter.js +5 -0
- package/esm2022/filter/malva-ui-core-filter.js.map +1 -0
- package/esm2022/form/index.js +7 -0
- package/esm2022/form/index.js.map +1 -0
- package/esm2022/form/lib/fieldset/fieldset.js +101 -0
- package/esm2022/form/lib/fieldset/fieldset.js.map +1 -0
- package/esm2022/form/lib/fieldset-span.js +49 -0
- package/esm2022/form/lib/fieldset-span.js.map +1 -0
- package/esm2022/form/lib/form/form.js +60 -0
- package/esm2022/form/lib/form/form.js.map +1 -0
- package/esm2022/form/lib/form-actions.js +34 -0
- package/esm2022/form/lib/form-actions.js.map +1 -0
- package/esm2022/form/lib/form-gap.js +15 -0
- package/esm2022/form/lib/form-gap.js.map +1 -0
- package/esm2022/form/lib/form-header.js +27 -0
- package/esm2022/form/lib/form-header.js.map +1 -0
- package/esm2022/form/lib/form.types.js +1 -0
- package/esm2022/form/lib/form.types.js.map +1 -0
- package/esm2022/form/malva-ui-core-form.js +5 -0
- package/esm2022/form/malva-ui-core-form.js.map +1 -0
- package/esm2022/form-utils/index.js +16 -0
- package/esm2022/form-utils/index.js.map +1 -0
- package/esm2022/form-utils/lib/aria-value-bridge.js +57 -0
- package/esm2022/form-utils/lib/aria-value-bridge.js.map +1 -0
- package/esm2022/form-utils/lib/description/description.js +24 -0
- package/esm2022/form-utils/lib/description/description.js.map +1 -0
- package/esm2022/form-utils/lib/focusable-group-base.js +87 -0
- package/esm2022/form-utils/lib/focusable-group-base.js.map +1 -0
- package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js +192 -0
- package/esm2022/form-utils/lib/form-control-base/signal-form-control-base.js.map +1 -0
- package/esm2022/form-utils/lib/form-control-sides.js +34 -0
- package/esm2022/form-utils/lib/form-control-sides.js.map +1 -0
- package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js +14 -0
- package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper-control.js.map +1 -0
- package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js +47 -0
- package/esm2022/form-utils/lib/form-control-wrapper/form-control-wrapper.js.map +1 -0
- package/esm2022/form-utils/lib/form-field/form-field.js +245 -0
- package/esm2022/form-utils/lib/form-field/form-field.js.map +1 -0
- package/esm2022/form-utils/lib/hint/hint.js +11 -0
- package/esm2022/form-utils/lib/hint/hint.js.map +1 -0
- package/esm2022/form-utils/lib/label/label.js +55 -0
- package/esm2022/form-utils/lib/label/label.js.map +1 -0
- package/esm2022/form-utils/lib/message/message.js +20 -0
- package/esm2022/form-utils/lib/message/message.js.map +1 -0
- package/esm2022/form-utils/lib/models/error-display-strategy.js +1 -0
- package/esm2022/form-utils/lib/models/error-display-strategy.js.map +1 -0
- package/esm2022/form-utils/lib/models/form-control-connector.js +3 -0
- package/esm2022/form-utils/lib/models/form-control-connector.js.map +1 -0
- package/esm2022/form-utils/lib/models/form-state.js +1 -0
- package/esm2022/form-utils/lib/models/form-state.js.map +1 -0
- package/esm2022/form-utils/lib/selection.service.js +81 -0
- package/esm2022/form-utils/lib/selection.service.js.map +1 -0
- package/esm2022/form-utils/malva-ui-core-form-utils.js +5 -0
- package/esm2022/form-utils/malva-ui-core-form-utils.js.map +1 -0
- package/esm2022/form-utils/testing/index.js +2 -0
- package/esm2022/form-utils/testing/index.js.map +1 -0
- package/esm2022/form-utils/testing/lib/forms-binding-matrix.js +32 -0
- package/esm2022/form-utils/testing/lib/forms-binding-matrix.js.map +1 -0
- package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js +5 -0
- package/esm2022/form-utils/testing/malva-ui-core-form-utils-testing.js.map +1 -0
- package/esm2022/index.js +70 -0
- package/esm2022/index.js.map +1 -0
- package/esm2022/input/index.js +4 -0
- package/esm2022/input/index.js.map +1 -0
- package/esm2022/input/lib/input/input-native.js +49 -0
- package/esm2022/input/lib/input/input-native.js.map +1 -0
- package/esm2022/input/lib/input/input-value-accessor.js +4 -0
- package/esm2022/input/lib/input/input-value-accessor.js.map +1 -0
- package/esm2022/input/lib/input/input.js +277 -0
- package/esm2022/input/lib/input/input.js.map +1 -0
- package/esm2022/input/lib/input/password-strength.js +46 -0
- package/esm2022/input/lib/input/password-strength.js.map +1 -0
- package/esm2022/input/malva-ui-core-input.js +5 -0
- package/esm2022/input/malva-ui-core-input.js.map +1 -0
- package/esm2022/kbd/index.js +2 -0
- package/esm2022/kbd/index.js.map +1 -0
- package/esm2022/kbd/lib/kbd/kbd.js +124 -0
- package/esm2022/kbd/lib/kbd/kbd.js.map +1 -0
- package/esm2022/kbd/malva-ui-core-kbd.js +5 -0
- package/esm2022/kbd/malva-ui-core-kbd.js.map +1 -0
- package/esm2022/layout/index.js +5 -0
- package/esm2022/layout/index.js.map +1 -0
- package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js +14 -0
- package/esm2022/layout/lib/layout/directives/MlvLayoutSide.js.map +1 -0
- package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js +14 -0
- package/esm2022/layout/lib/layout/directives/MlvLayoutTop.js.map +1 -0
- package/esm2022/layout/lib/layout/layout.js +43 -0
- package/esm2022/layout/lib/layout/layout.js.map +1 -0
- package/esm2022/layout/lib/layout/services/theme.service.js +121 -0
- package/esm2022/layout/lib/layout/services/theme.service.js.map +1 -0
- package/esm2022/layout/malva-ui-core-layout.js +5 -0
- package/esm2022/layout/malva-ui-core-layout.js.map +1 -0
- package/esm2022/link/index.js +3 -0
- package/esm2022/link/index.js.map +1 -0
- package/esm2022/link/lib/link/link.directives.js +24 -0
- package/esm2022/link/lib/link/link.directives.js.map +1 -0
- package/esm2022/link/lib/link/link.js +61 -0
- package/esm2022/link/lib/link/link.js.map +1 -0
- package/esm2022/link/malva-ui-core-link.js +5 -0
- package/esm2022/link/malva-ui-core-link.js.map +1 -0
- package/esm2022/list/index.js +14 -0
- package/esm2022/list/index.js.map +1 -0
- package/esm2022/list/lib/list/list.js +28 -0
- package/esm2022/list/lib/list/list.js.map +1 -0
- package/esm2022/list/lib/list-item/list-item.js +125 -0
- package/esm2022/list/lib/list-item/list-item.js.map +1 -0
- package/esm2022/list/lib/list-item-actions.js +23 -0
- package/esm2022/list/lib/list-item-actions.js.map +1 -0
- package/esm2022/list/lib/list-item-byline.js +13 -0
- package/esm2022/list/lib/list-item-byline.js.map +1 -0
- package/esm2022/list/lib/list-item-group/list-item-group.js +25 -0
- package/esm2022/list/lib/list-item-group/list-item-group.js.map +1 -0
- package/esm2022/list/lib/list-item-link/list-item-link.js +20 -0
- package/esm2022/list/lib/list-item-link/list-item-link.js.map +1 -0
- package/esm2022/list/lib/list-item-media.js +13 -0
- package/esm2022/list/lib/list-item-media.js.map +1 -0
- package/esm2022/list/lib/list-item-meta.js +13 -0
- package/esm2022/list/lib/list-item-meta.js.map +1 -0
- package/esm2022/list/lib/list-item-prefix.js +13 -0
- package/esm2022/list/lib/list-item-prefix.js.map +1 -0
- package/esm2022/list/lib/list-item-suffix.js +13 -0
- package/esm2022/list/lib/list-item-suffix.js.map +1 -0
- package/esm2022/list/lib/list-item-template.js +14 -0
- package/esm2022/list/lib/list-item-template.js.map +1 -0
- package/esm2022/list/lib/list-item-title.js +13 -0
- package/esm2022/list/lib/list-item-title.js.map +1 -0
- package/esm2022/list/lib/list-selectable.js +116 -0
- package/esm2022/list/lib/list-selectable.js.map +1 -0
- package/esm2022/list/malva-ui-core-list.js +5 -0
- package/esm2022/list/malva-ui-core-list.js.map +1 -0
- package/esm2022/loader/index.js +2 -0
- package/esm2022/loader/index.js.map +1 -0
- package/esm2022/loader/lib/loader/loader.js +134 -0
- package/esm2022/loader/lib/loader/loader.js.map +1 -0
- package/esm2022/loader/malva-ui-core-loader.js +5 -0
- package/esm2022/loader/malva-ui-core-loader.js.map +1 -0
- package/esm2022/malva-ui-core.js +5 -0
- package/esm2022/malva-ui-core.js.map +1 -0
- package/esm2022/menu/index.js +10 -0
- package/esm2022/menu/index.js.map +1 -0
- package/esm2022/menu/lib/menu/menu-group-label.js +35 -0
- package/esm2022/menu/lib/menu/menu-group-label.js.map +1 -0
- package/esm2022/menu/lib/menu/menu-group.js +44 -0
- package/esm2022/menu/lib/menu/menu-group.js.map +1 -0
- package/esm2022/menu/lib/menu/menu-item.js +117 -0
- package/esm2022/menu/lib/menu/menu-item.js.map +1 -0
- package/esm2022/menu/lib/menu/menu-separator.js +41 -0
- package/esm2022/menu/lib/menu/menu-separator.js.map +1 -0
- package/esm2022/menu/lib/menu/menu-trigger.js +653 -0
- package/esm2022/menu/lib/menu/menu-trigger.js.map +1 -0
- package/esm2022/menu/lib/menu/menu.js +308 -0
- package/esm2022/menu/lib/menu/menu.js.map +1 -0
- package/esm2022/menu/lib/menu/menu.types.js +4 -0
- package/esm2022/menu/lib/menu/menu.types.js.map +1 -0
- package/esm2022/menu/lib/menu/menubar.js +257 -0
- package/esm2022/menu/lib/menu/menubar.js.map +1 -0
- package/esm2022/menu/lib/menu/menubar.types.js +4 -0
- package/esm2022/menu/lib/menu/menubar.types.js.map +1 -0
- package/esm2022/menu/lib/menu/submenu-aim.js +30 -0
- package/esm2022/menu/lib/menu/submenu-aim.js.map +1 -0
- package/esm2022/menu/malva-ui-core-menu.js +5 -0
- package/esm2022/menu/malva-ui-core-menu.js.map +1 -0
- package/esm2022/notification/index.js +5 -0
- package/esm2022/notification/index.js.map +1 -0
- package/esm2022/notification/lib/notification-item/notification-item.js +65 -0
- package/esm2022/notification/lib/notification-item/notification-item.js.map +1 -0
- package/esm2022/notification/lib/notification-ref.js +13 -0
- package/esm2022/notification/lib/notification-ref.js.map +1 -0
- package/esm2022/notification/lib/notification.service.js +118 -0
- package/esm2022/notification/lib/notification.service.js.map +1 -0
- package/esm2022/notification/lib/notification.types.js +6 -0
- package/esm2022/notification/lib/notification.types.js.map +1 -0
- package/esm2022/notification/malva-ui-core-notification.js +5 -0
- package/esm2022/notification/malva-ui-core-notification.js.map +1 -0
- package/esm2022/number-input/index.js +2 -0
- package/esm2022/number-input/index.js.map +1 -0
- package/esm2022/number-input/lib/number-input/number-input.js +395 -0
- package/esm2022/number-input/lib/number-input/number-input.js.map +1 -0
- package/esm2022/number-input/malva-ui-core-number-input.js +5 -0
- package/esm2022/number-input/malva-ui-core-number-input.js.map +1 -0
- package/esm2022/page/index.js +15 -0
- package/esm2022/page/index.js.map +1 -0
- package/esm2022/page/lib/page/page-scroll.token.js +9 -0
- package/esm2022/page/lib/page/page-scroll.token.js.map +1 -0
- package/esm2022/page/lib/page/page-snap-controller.js +170 -0
- package/esm2022/page/lib/page/page-snap-controller.js.map +1 -0
- package/esm2022/page/lib/page/page-snap.directive.js +65 -0
- package/esm2022/page/lib/page/page-snap.directive.js.map +1 -0
- package/esm2022/page/lib/page/page.js +173 -0
- package/esm2022/page/lib/page/page.js.map +1 -0
- package/esm2022/page/lib/page-content/page-aside.js +13 -0
- package/esm2022/page/lib/page-content/page-aside.js.map +1 -0
- package/esm2022/page/lib/page-content/page-content.js +72 -0
- package/esm2022/page/lib/page-content/page-content.js.map +1 -0
- package/esm2022/page/lib/page-dock/page-dock.js +128 -0
- package/esm2022/page/lib/page-dock/page-dock.js.map +1 -0
- package/esm2022/page/lib/page-dock/page-dock.slots.js +39 -0
- package/esm2022/page/lib/page-dock/page-dock.slots.js.map +1 -0
- package/esm2022/page/lib/page-header/page-header.directives.js +88 -0
- package/esm2022/page/lib/page-header/page-header.directives.js.map +1 -0
- package/esm2022/page/lib/page-header/page-header.js +124 -0
- package/esm2022/page/lib/page-header/page-header.js.map +1 -0
- package/esm2022/page/lib/page-shell/page-shell-color.js +193 -0
- package/esm2022/page/lib/page-shell/page-shell-color.js.map +1 -0
- package/esm2022/page/lib/page-shell/page-shell-css-color.js +207 -0
- package/esm2022/page/lib/page-shell/page-shell-css-color.js.map +1 -0
- package/esm2022/page/lib/page-shell/page-shell.js +131 -0
- package/esm2022/page/lib/page-shell/page-shell.js.map +1 -0
- package/esm2022/page/lib/page-shell/page-shell.slots.js +41 -0
- package/esm2022/page/lib/page-shell/page-shell.slots.js.map +1 -0
- package/esm2022/page/lib/page-summary/page-summary-item.js +26 -0
- package/esm2022/page/lib/page-summary/page-summary-item.js.map +1 -0
- package/esm2022/page/lib/page-summary/page-summary.js +87 -0
- package/esm2022/page/lib/page-summary/page-summary.js.map +1 -0
- package/esm2022/page/malva-ui-core-page.js +5 -0
- package/esm2022/page/malva-ui-core-page.js.map +1 -0
- package/esm2022/pagination/index.js +5 -0
- package/esm2022/pagination/index.js.map +1 -0
- package/esm2022/pagination/lib/pagination/pagination.directives.js +58 -0
- package/esm2022/pagination/lib/pagination/pagination.directives.js.map +1 -0
- package/esm2022/pagination/lib/pagination/pagination.js +293 -0
- package/esm2022/pagination/lib/pagination/pagination.js.map +1 -0
- package/esm2022/pagination/lib/pagination/pagination.model.js +1 -0
- package/esm2022/pagination/lib/pagination/pagination.model.js.map +1 -0
- package/esm2022/pagination/lib/pagination/pagination.service.js +108 -0
- package/esm2022/pagination/lib/pagination/pagination.service.js.map +1 -0
- package/esm2022/pagination/malva-ui-core-pagination.js +5 -0
- package/esm2022/pagination/malva-ui-core-pagination.js.map +1 -0
- package/esm2022/pin-input/index.js +3 -0
- package/esm2022/pin-input/index.js.map +1 -0
- package/esm2022/pin-input/lib/pin-input/pin-input-separator.js +31 -0
- package/esm2022/pin-input/lib/pin-input/pin-input-separator.js.map +1 -0
- package/esm2022/pin-input/lib/pin-input/pin-input.js +365 -0
- package/esm2022/pin-input/lib/pin-input/pin-input.js.map +1 -0
- package/esm2022/pin-input/malva-ui-core-pin-input.js +5 -0
- package/esm2022/pin-input/malva-ui-core-pin-input.js.map +1 -0
- package/esm2022/popup/index.js +10 -0
- package/esm2022/popup/index.js.map +1 -0
- package/esm2022/popup/lib/popup/popup.js +500 -0
- package/esm2022/popup/lib/popup/popup.js.map +1 -0
- package/esm2022/popup/lib/popup-container/popup-container.js +169 -0
- package/esm2022/popup/lib/popup-container/popup-container.js.map +1 -0
- package/esm2022/popup/lib/popup-container/popup-container.token.js +9 -0
- package/esm2022/popup/lib/popup-container/popup-container.token.js.map +1 -0
- package/esm2022/popup/lib/popup-content.js +14 -0
- package/esm2022/popup/lib/popup-content.js.map +1 -0
- package/esm2022/popup/lib/popup-header-content.js +26 -0
- package/esm2022/popup/lib/popup-header-content.js.map +1 -0
- package/esm2022/popup/lib/popup-pinned-content.js +25 -0
- package/esm2022/popup/lib/popup-pinned-content.js.map +1 -0
- package/esm2022/popup/lib/popup-positions.js +252 -0
- package/esm2022/popup/lib/popup-positions.js.map +1 -0
- package/esm2022/popup/lib/popup-trigger/popup-trigger.js +308 -0
- package/esm2022/popup/lib/popup-trigger/popup-trigger.js.map +1 -0
- package/esm2022/popup/lib/popup.service.js +188 -0
- package/esm2022/popup/lib/popup.service.js.map +1 -0
- package/esm2022/popup/malva-ui-core-popup.js +5 -0
- package/esm2022/popup/malva-ui-core-popup.js.map +1 -0
- package/esm2022/progress/index.js +2 -0
- package/esm2022/progress/index.js.map +1 -0
- package/esm2022/progress/lib/progress/progress.js +102 -0
- package/esm2022/progress/lib/progress/progress.js.map +1 -0
- package/esm2022/progress/malva-ui-core-progress.js +5 -0
- package/esm2022/progress/malva-ui-core-progress.js.map +1 -0
- package/esm2022/radio/index.js +3 -0
- package/esm2022/radio/index.js.map +1 -0
- package/esm2022/radio/lib/radio/radio.js +134 -0
- package/esm2022/radio/lib/radio/radio.js.map +1 -0
- package/esm2022/radio/lib/radio-group/radio-group.js +176 -0
- package/esm2022/radio/lib/radio-group/radio-group.js.map +1 -0
- package/esm2022/radio/lib/radio-group-token.js +3 -0
- package/esm2022/radio/lib/radio-group-token.js.map +1 -0
- package/esm2022/radio/malva-ui-core-radio.js +5 -0
- package/esm2022/radio/malva-ui-core-radio.js.map +1 -0
- package/esm2022/rating/index.js +2 -0
- package/esm2022/rating/index.js.map +1 -0
- package/esm2022/rating/lib/rating/rating.js +208 -0
- package/esm2022/rating/lib/rating/rating.js.map +1 -0
- package/esm2022/rating/malva-ui-core-rating.js +5 -0
- package/esm2022/rating/malva-ui-core-rating.js.map +1 -0
- package/esm2022/scrollbar/index.js +2 -0
- package/esm2022/scrollbar/index.js.map +1 -0
- package/esm2022/scrollbar/lib/scrollbar/scrollbar.js +388 -0
- package/esm2022/scrollbar/lib/scrollbar/scrollbar.js.map +1 -0
- package/esm2022/scrollbar/malva-ui-core-scrollbar.js +5 -0
- package/esm2022/scrollbar/malva-ui-core-scrollbar.js.map +1 -0
- package/esm2022/search-field/index.js +3 -0
- package/esm2022/search-field/index.js.map +1 -0
- package/esm2022/search-field/lib/search-field/search-field.js +535 -0
- package/esm2022/search-field/lib/search-field/search-field.js.map +1 -0
- package/esm2022/search-field/lib/search-field/search-overlay-content.js +35 -0
- package/esm2022/search-field/lib/search-field/search-overlay-content.js.map +1 -0
- package/esm2022/search-field/malva-ui-core-search-field.js +5 -0
- package/esm2022/search-field/malva-ui-core-search-field.js.map +1 -0
- package/esm2022/segmented/index.js +5 -0
- package/esm2022/segmented/index.js.map +1 -0
- package/esm2022/segmented/lib/segmented/segmented.js +248 -0
- package/esm2022/segmented/lib/segmented/segmented.js.map +1 -0
- package/esm2022/segmented/lib/segmented-item/segmented-item.js +194 -0
- package/esm2022/segmented/lib/segmented-item/segmented-item.js.map +1 -0
- package/esm2022/segmented/lib/segmented-token.js +4 -0
- package/esm2022/segmented/lib/segmented-token.js.map +1 -0
- package/esm2022/segmented/lib/segmented.types.js +1 -0
- package/esm2022/segmented/lib/segmented.types.js.map +1 -0
- package/esm2022/segmented/malva-ui-core-segmented.js +5 -0
- package/esm2022/segmented/malva-ui-core-segmented.js.map +1 -0
- package/esm2022/select/index.js +4 -0
- package/esm2022/select/index.js.map +1 -0
- package/esm2022/select/lib/select/select.js +685 -0
- package/esm2022/select/lib/select/select.js.map +1 -0
- package/esm2022/select/lib/select-option.js +2 -0
- package/esm2022/select/lib/select-option.js.map +1 -0
- package/esm2022/select/lib/select-template.directives.js +34 -0
- package/esm2022/select/lib/select-template.directives.js.map +1 -0
- package/esm2022/select/malva-ui-core-select.js +5 -0
- package/esm2022/select/malva-ui-core-select.js.map +1 -0
- package/esm2022/sidebar/index.js +16 -0
- package/esm2022/sidebar/index.js.map +1 -0
- package/esm2022/sidebar/lib/sidebar/sidebar.js +251 -0
- package/esm2022/sidebar/lib/sidebar/sidebar.js.map +1 -0
- package/esm2022/sidebar/lib/sidebar-content.js +37 -0
- package/esm2022/sidebar/lib/sidebar-content.js.map +1 -0
- package/esm2022/sidebar/lib/sidebar-context.js +3 -0
- package/esm2022/sidebar/lib/sidebar-context.js.map +1 -0
- package/esm2022/sidebar/lib/sidebar-footer.js +20 -0
- package/esm2022/sidebar/lib/sidebar-footer.js.map +1 -0
- package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js +341 -0
- package/esm2022/sidebar/lib/sidebar-group/sidebar-group.js.map +1 -0
- package/esm2022/sidebar/lib/sidebar-header.js +20 -0
- package/esm2022/sidebar/lib/sidebar-header.js.map +1 -0
- package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js +216 -0
- package/esm2022/sidebar/lib/sidebar-item/sidebar-item.js.map +1 -0
- package/esm2022/sidebar/lib/sidebar-item-host.js +39 -0
- package/esm2022/sidebar/lib/sidebar-item-host.js.map +1 -0
- package/esm2022/sidebar/lib/sidebar-item-icon.js +14 -0
- package/esm2022/sidebar/lib/sidebar-item-icon.js.map +1 -0
- package/esm2022/sidebar/lib/sidebar-mode.js +1 -0
- package/esm2022/sidebar/lib/sidebar-mode.js.map +1 -0
- package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js +202 -0
- package/esm2022/sidebar/lib/sidebar-rail/sidebar-rail.js.map +1 -0
- package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js +159 -0
- package/esm2022/sidebar/lib/sidebar-trigger/sidebar-trigger.js.map +1 -0
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js +35 -0
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.js.map +1 -0
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js +107 -0
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.js.map +1 -0
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js +1 -0
- package/esm2022/sidebar/lib/sidebar-workspace/sidebar-workspace.types.js.map +1 -0
- package/esm2022/sidebar/malva-ui-core-sidebar.js +5 -0
- package/esm2022/sidebar/malva-ui-core-sidebar.js.map +1 -0
- package/esm2022/skeleton/index.js +2 -0
- package/esm2022/skeleton/index.js.map +1 -0
- package/esm2022/skeleton/lib/skeleton/skeleton.js +78 -0
- package/esm2022/skeleton/lib/skeleton/skeleton.js.map +1 -0
- package/esm2022/skeleton/malva-ui-core-skeleton.js +5 -0
- package/esm2022/skeleton/malva-ui-core-skeleton.js.map +1 -0
- package/esm2022/slider/index.js +3 -0
- package/esm2022/slider/index.js.map +1 -0
- package/esm2022/slider/lib/slider/slider-tooltip-def.js +31 -0
- package/esm2022/slider/lib/slider/slider-tooltip-def.js.map +1 -0
- package/esm2022/slider/lib/slider/slider.js +468 -0
- package/esm2022/slider/lib/slider/slider.js.map +1 -0
- package/esm2022/slider/malva-ui-core-slider.js +5 -0
- package/esm2022/slider/malva-ui-core-slider.js.map +1 -0
- package/esm2022/split-pane/index.js +4 -0
- package/esm2022/split-pane/index.js.map +1 -0
- package/esm2022/split-pane/lib/split-pane/split-pane-panel.js +49 -0
- package/esm2022/split-pane/lib/split-pane/split-pane-panel.js.map +1 -0
- package/esm2022/split-pane/lib/split-pane/split-pane.js +290 -0
- package/esm2022/split-pane/lib/split-pane/split-pane.js.map +1 -0
- package/esm2022/split-pane/lib/split-pane/split-pane.types.js +1 -0
- package/esm2022/split-pane/lib/split-pane/split-pane.types.js.map +1 -0
- package/esm2022/split-pane/malva-ui-core-split-pane.js +5 -0
- package/esm2022/split-pane/malva-ui-core-split-pane.js.map +1 -0
- package/esm2022/status-indicator/index.js +2 -0
- package/esm2022/status-indicator/index.js.map +1 -0
- package/esm2022/status-indicator/lib/status-indicator/status-indicator.js +71 -0
- package/esm2022/status-indicator/lib/status-indicator/status-indicator.js.map +1 -0
- package/esm2022/status-indicator/malva-ui-core-status-indicator.js +5 -0
- package/esm2022/status-indicator/malva-ui-core-status-indicator.js.map +1 -0
- package/esm2022/stepper/index.js +5 -0
- package/esm2022/stepper/index.js.map +1 -0
- package/esm2022/stepper/lib/stepper/step-header.js +46 -0
- package/esm2022/stepper/lib/stepper/step-header.js.map +1 -0
- package/esm2022/stepper/lib/stepper/step.js +65 -0
- package/esm2022/stepper/lib/stepper/step.js.map +1 -0
- package/esm2022/stepper/lib/stepper/stepper-token.js +4 -0
- package/esm2022/stepper/lib/stepper/stepper-token.js.map +1 -0
- package/esm2022/stepper/lib/stepper/stepper.js +216 -0
- package/esm2022/stepper/lib/stepper/stepper.js.map +1 -0
- package/esm2022/stepper/lib/stepper/stepper.types.js +1 -0
- package/esm2022/stepper/lib/stepper/stepper.types.js.map +1 -0
- package/esm2022/stepper/malva-ui-core-stepper.js +5 -0
- package/esm2022/stepper/malva-ui-core-stepper.js.map +1 -0
- package/esm2022/switch/index.js +3 -0
- package/esm2022/switch/index.js.map +1 -0
- package/esm2022/switch/lib/switch/switch.js +190 -0
- package/esm2022/switch/lib/switch/switch.js.map +1 -0
- package/esm2022/switch/lib/switch-group/switch-group.js +68 -0
- package/esm2022/switch/lib/switch-group/switch-group.js.map +1 -0
- package/esm2022/switch/lib/switch-group-token.js +3 -0
- package/esm2022/switch/lib/switch-group-token.js.map +1 -0
- package/esm2022/switch/malva-ui-core-switch.js +5 -0
- package/esm2022/switch/malva-ui-core-switch.js.map +1 -0
- package/esm2022/tabs/index.js +9 -0
- package/esm2022/tabs/index.js.map +1 -0
- package/esm2022/tabs/lib/tab/tab.js +72 -0
- package/esm2022/tabs/lib/tab/tab.js.map +1 -0
- package/esm2022/tabs/lib/tab-content/tab-content.js +19 -0
- package/esm2022/tabs/lib/tab-content/tab-content.js.map +1 -0
- package/esm2022/tabs/lib/tab-content-def.js +14 -0
- package/esm2022/tabs/lib/tab-content-def.js.map +1 -0
- package/esm2022/tabs/lib/tab-def.js +17 -0
- package/esm2022/tabs/lib/tab-def.js.map +1 -0
- package/esm2022/tabs/lib/tab-group-token.js +3 -0
- package/esm2022/tabs/lib/tab-group-token.js.map +1 -0
- package/esm2022/tabs/lib/tab-item/tab-item.js +44 -0
- package/esm2022/tabs/lib/tab-item/tab-item.js.map +1 -0
- package/esm2022/tabs/lib/tabs/tabs.js +542 -0
- package/esm2022/tabs/lib/tabs/tabs.js.map +1 -0
- package/esm2022/tabs/lib/tabs.service.js +83 -0
- package/esm2022/tabs/lib/tabs.service.js.map +1 -0
- package/esm2022/tabs/malva-ui-core-tabs.js +5 -0
- package/esm2022/tabs/malva-ui-core-tabs.js.map +1 -0
- package/esm2022/textarea/index.js +2 -0
- package/esm2022/textarea/index.js.map +1 -0
- package/esm2022/textarea/lib/textarea/textarea.js +194 -0
- package/esm2022/textarea/lib/textarea/textarea.js.map +1 -0
- package/esm2022/textarea/malva-ui-core-textarea.js +5 -0
- package/esm2022/textarea/malva-ui-core-textarea.js.map +1 -0
- package/esm2022/tile/index.js +3 -0
- package/esm2022/tile/index.js.map +1 -0
- package/esm2022/tile/lib/tile/tile.js +39 -0
- package/esm2022/tile/lib/tile/tile.js.map +1 -0
- package/esm2022/tile/lib/tile-header.js +14 -0
- package/esm2022/tile/lib/tile-header.js.map +1 -0
- package/esm2022/tile/malva-ui-core-tile.js +5 -0
- package/esm2022/tile/malva-ui-core-tile.js.map +1 -0
- package/esm2022/time-picker/index.js +2 -0
- package/esm2022/time-picker/index.js.map +1 -0
- package/esm2022/time-picker/lib/time-picker/time-picker.js +310 -0
- package/esm2022/time-picker/lib/time-picker/time-picker.js.map +1 -0
- package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js +216 -0
- package/esm2022/time-picker/lib/time-picker-column/time-picker-column.js.map +1 -0
- package/esm2022/time-picker/malva-ui-core-time-picker.js +5 -0
- package/esm2022/time-picker/malva-ui-core-time-picker.js.map +1 -0
- package/esm2022/timeline/index.js +6 -0
- package/esm2022/timeline/index.js.map +1 -0
- package/esm2022/timeline/lib/timeline/timeline-item-icon.js +31 -0
- package/esm2022/timeline/lib/timeline/timeline-item-icon.js.map +1 -0
- package/esm2022/timeline/lib/timeline/timeline-item-meta.js +31 -0
- package/esm2022/timeline/lib/timeline/timeline-item-meta.js.map +1 -0
- package/esm2022/timeline/lib/timeline/timeline-item.js +69 -0
- package/esm2022/timeline/lib/timeline/timeline-item.js.map +1 -0
- package/esm2022/timeline/lib/timeline/timeline.js +36 -0
- package/esm2022/timeline/lib/timeline/timeline.js.map +1 -0
- package/esm2022/timeline/lib/timeline/timeline.types.js +1 -0
- package/esm2022/timeline/lib/timeline/timeline.types.js.map +1 -0
- package/esm2022/timeline/malva-ui-core-timeline.js +5 -0
- package/esm2022/timeline/malva-ui-core-timeline.js.map +1 -0
- package/esm2022/title/index.js +2 -0
- package/esm2022/title/index.js.map +1 -0
- package/esm2022/title/lib/title/title.js +171 -0
- package/esm2022/title/lib/title/title.js.map +1 -0
- package/esm2022/title/malva-ui-core-title.js +5 -0
- package/esm2022/title/malva-ui-core-title.js.map +1 -0
- package/esm2022/toast/index.js +13 -0
- package/esm2022/toast/index.js.map +1 -0
- package/esm2022/toast/lib/abstract-toast-container.js +50 -0
- package/esm2022/toast/lib/abstract-toast-container.js.map +1 -0
- package/esm2022/toast/lib/abstract-toast-item.js +75 -0
- package/esm2022/toast/lib/abstract-toast-item.js.map +1 -0
- package/esm2022/toast/lib/abstract-toast.service.js +176 -0
- package/esm2022/toast/lib/abstract-toast.service.js.map +1 -0
- package/esm2022/toast/lib/toast-container/toast-container.js +61 -0
- package/esm2022/toast/lib/toast-container/toast-container.js.map +1 -0
- package/esm2022/toast/lib/toast-item/toast-item.js +62 -0
- package/esm2022/toast/lib/toast-item/toast-item.js.map +1 -0
- package/esm2022/toast/lib/toast-ref.js +54 -0
- package/esm2022/toast/lib/toast-ref.js.map +1 -0
- package/esm2022/toast/lib/toast-timer.js +37 -0
- package/esm2022/toast/lib/toast-timer.js.map +1 -0
- package/esm2022/toast/lib/toast.directives.js +76 -0
- package/esm2022/toast/lib/toast.directives.js.map +1 -0
- package/esm2022/toast/lib/toast.service.js +127 -0
- package/esm2022/toast/lib/toast.service.js.map +1 -0
- package/esm2022/toast/lib/toast.types.js +39 -0
- package/esm2022/toast/lib/toast.types.js.map +1 -0
- package/esm2022/toast/malva-ui-core-toast.js +5 -0
- package/esm2022/toast/malva-ui-core-toast.js.map +1 -0
- package/esm2022/tokenizer/index.js +4 -0
- package/esm2022/tokenizer/index.js.map +1 -0
- package/esm2022/tokenizer/lib/token/token.js +123 -0
- package/esm2022/tokenizer/lib/token/token.js.map +1 -0
- package/esm2022/tokenizer/lib/token-template.js +23 -0
- package/esm2022/tokenizer/lib/token-template.js.map +1 -0
- package/esm2022/tokenizer/lib/tokenizer/tokenizer.js +324 -0
- package/esm2022/tokenizer/lib/tokenizer/tokenizer.js.map +1 -0
- package/esm2022/tokenizer/malva-ui-core-tokenizer.js +5 -0
- package/esm2022/tokenizer/malva-ui-core-tokenizer.js.map +1 -0
- package/esm2022/toolbar/index.js +4 -0
- package/esm2022/toolbar/index.js.map +1 -0
- package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js +13 -0
- package/esm2022/toolbar/lib/toolbar/toolbar-spacer.js.map +1 -0
- package/esm2022/toolbar/lib/toolbar/toolbar-widget.js +106 -0
- package/esm2022/toolbar/lib/toolbar/toolbar-widget.js.map +1 -0
- package/esm2022/toolbar/lib/toolbar/toolbar.js +19 -0
- package/esm2022/toolbar/lib/toolbar/toolbar.js.map +1 -0
- package/esm2022/toolbar/malva-ui-core-toolbar.js +5 -0
- package/esm2022/toolbar/malva-ui-core-toolbar.js.map +1 -0
- package/esm2022/tooltip/index.js +4 -0
- package/esm2022/tooltip/index.js.map +1 -0
- package/esm2022/tooltip/lib/tooltip/tooltip-panel.js +69 -0
- package/esm2022/tooltip/lib/tooltip/tooltip-panel.js.map +1 -0
- package/esm2022/tooltip/lib/tooltip/tooltip.js +352 -0
- package/esm2022/tooltip/lib/tooltip/tooltip.js.map +1 -0
- package/esm2022/tooltip/lib/tooltip/tooltip.types.js +1 -0
- package/esm2022/tooltip/lib/tooltip/tooltip.types.js.map +1 -0
- package/esm2022/tooltip/malva-ui-core-tooltip.js +5 -0
- package/esm2022/tooltip/malva-ui-core-tooltip.js.map +1 -0
- package/esm2022/tree/index.js +5 -0
- package/esm2022/tree/index.js.map +1 -0
- package/esm2022/tree/lib/tree/tree-context.js +7 -0
- package/esm2022/tree/lib/tree/tree-context.js.map +1 -0
- package/esm2022/tree/lib/tree/tree-node-def.js +34 -0
- package/esm2022/tree/lib/tree/tree-node-def.js.map +1 -0
- package/esm2022/tree/lib/tree/tree-node.js +1 -0
- package/esm2022/tree/lib/tree/tree-node.js.map +1 -0
- package/esm2022/tree/lib/tree/tree-subtree.js +107 -0
- package/esm2022/tree/lib/tree/tree-subtree.js.map +1 -0
- package/esm2022/tree/lib/tree/tree.js +362 -0
- package/esm2022/tree/lib/tree/tree.js.map +1 -0
- package/esm2022/tree/malva-ui-core-tree.js +5 -0
- package/esm2022/tree/malva-ui-core-tree.js.map +1 -0
- package/expand/index.d.ts +2 -0
- package/expand/lib/expand/expand-content.d.ts +26 -0
- package/expand/lib/expand/expand.d.ts +74 -0
- package/expand/malva-ui-core-expand.d.ts +5 -0
- package/file-upload/README.md +7 -0
- package/file-upload/index.d.ts +4 -0
- package/file-upload/lib/file-upload/file-upload.d.ts +138 -0
- package/file-upload/lib/file-upload/file-upload.types.d.ts +42 -0
- package/file-upload/lib/file-upload-action.d.ts +53 -0
- package/file-upload/lib/file-upload-item/file-upload-item.d.ts +30 -0
- package/file-upload/malva-ui-core-file-upload.d.ts +5 -0
- package/filter/README.md +22 -0
- package/filter/index.d.ts +3 -0
- package/filter/lib/filter/filter.d.ts +156 -0
- package/filter/lib/filter.types.d.ts +75 -0
- package/filter/lib/smart-filter-bar/smart-filter-bar.d.ts +153 -0
- package/filter/malva-ui-core-filter.d.ts +5 -0
- package/form/index.d.ts +6 -0
- package/form/lib/fieldset/fieldset.d.ts +58 -0
- package/form/lib/fieldset-span.d.ts +28 -0
- package/form/lib/form/form.d.ts +37 -0
- package/form/lib/form-actions.d.ts +20 -0
- package/form/lib/form-gap.d.ts +5 -0
- package/form/lib/form-header.d.ts +18 -0
- package/form/lib/form.types.d.ts +13 -0
- package/form/malva-ui-core-form.d.ts +5 -0
- package/form-utils/index.d.ts +15 -0
- package/form-utils/lib/aria-value-bridge.d.ts +45 -0
- package/form-utils/lib/description/description.d.ts +16 -0
- package/form-utils/lib/focusable-group-base.d.ts +76 -0
- package/form-utils/lib/form-control-base/signal-form-control-base.d.ts +159 -0
- package/form-utils/lib/form-control-sides.d.ts +20 -0
- package/form-utils/lib/form-control-wrapper/form-control-wrapper-control.d.ts +6 -0
- package/form-utils/lib/form-control-wrapper/form-control-wrapper.d.ts +20 -0
- package/form-utils/lib/form-field/form-field.d.ts +68 -0
- package/form-utils/lib/hint/hint.d.ts +5 -0
- package/form-utils/lib/label/label.d.ts +22 -0
- package/form-utils/lib/message/message.d.ts +7 -0
- package/form-utils/lib/models/error-display-strategy.d.ts +1 -0
- package/form-utils/lib/models/form-control-connector.d.ts +41 -0
- package/form-utils/lib/models/form-state.d.ts +1 -0
- package/form-utils/lib/selection.service.d.ts +27 -0
- package/form-utils/malva-ui-core-form-utils.d.ts +5 -0
- package/form-utils/testing/index.d.ts +1 -0
- package/form-utils/testing/lib/forms-binding-matrix.d.ts +47 -0
- package/form-utils/testing/malva-ui-core-form-utils-testing.d.ts +5 -0
- package/index.d.ts +69 -0
- package/input/index.d.ts +3 -0
- package/input/lib/input/input-native.d.ts +36 -0
- package/input/lib/input/input-value-accessor.d.ts +11 -0
- package/input/lib/input/input.d.ts +189 -0
- package/input/lib/input/password-strength.d.ts +34 -0
- package/input/malva-ui-core-input.d.ts +5 -0
- package/kbd/index.d.ts +1 -0
- package/kbd/lib/kbd/kbd.d.ts +52 -0
- package/kbd/malva-ui-core-kbd.d.ts +5 -0
- package/layout/index.d.ts +4 -0
- package/layout/lib/layout/directives/MlvLayoutSide.d.ts +6 -0
- package/layout/lib/layout/directives/MlvLayoutTop.d.ts +6 -0
- package/layout/lib/layout/layout.d.ts +20 -0
- package/layout/lib/layout/services/theme.service.d.ts +33 -0
- package/layout/malva-ui-core-layout.d.ts +5 -0
- package/link/index.d.ts +2 -0
- package/link/lib/link/link.d.ts +15 -0
- package/link/lib/link/link.directives.d.ts +10 -0
- package/link/malva-ui-core-link.d.ts +5 -0
- package/list/index.d.ts +13 -0
- package/list/lib/list/list.d.ts +25 -0
- package/list/lib/list-item/list-item.d.ts +67 -0
- package/list/lib/list-item-actions.d.ts +12 -0
- package/list/lib/list-item-byline.d.ts +5 -0
- package/list/lib/list-item-group/list-item-group.d.ts +11 -0
- package/list/lib/list-item-link/list-item-link.d.ts +8 -0
- package/list/lib/list-item-media.d.ts +5 -0
- package/list/lib/list-item-meta.d.ts +5 -0
- package/list/lib/list-item-prefix.d.ts +5 -0
- package/list/lib/list-item-suffix.d.ts +5 -0
- package/list/lib/list-item-template.d.ts +10 -0
- package/list/lib/list-item-title.d.ts +5 -0
- package/list/lib/list-selectable.d.ts +73 -0
- package/list/malva-ui-core-list.d.ts +5 -0
- package/loader/index.d.ts +1 -0
- package/loader/lib/loader/loader.d.ts +84 -0
- package/loader/malva-ui-core-loader.d.ts +5 -0
- package/malva-ui-core.d.ts +5 -0
- package/menu/index.d.ts +9 -0
- package/menu/lib/menu/menu-group-label.d.ts +22 -0
- package/menu/lib/menu/menu-group.d.ts +27 -0
- package/menu/lib/menu/menu-item.d.ts +76 -0
- package/menu/lib/menu/menu-separator.d.ts +18 -0
- package/menu/lib/menu/menu-trigger.d.ts +255 -0
- package/menu/lib/menu/menu.d.ts +149 -0
- package/menu/lib/menu/menu.types.d.ts +13 -0
- package/menu/lib/menu/menubar.d.ts +131 -0
- package/menu/lib/menu/menubar.types.d.ts +82 -0
- package/menu/lib/menu/submenu-aim.d.ts +10 -0
- package/menu/malva-ui-core-menu.d.ts +5 -0
- package/notification/index.d.ts +4 -0
- package/notification/lib/notification-item/notification-item.d.ts +20 -0
- package/notification/lib/notification-ref.d.ts +12 -0
- package/notification/lib/notification.service.d.ts +43 -0
- package/notification/lib/notification.types.d.ts +52 -0
- package/notification/malva-ui-core-notification.d.ts +5 -0
- package/number-input/index.d.ts +1 -0
- package/number-input/lib/number-input/number-input.d.ts +162 -0
- package/number-input/malva-ui-core-number-input.d.ts +5 -0
- package/package.json +315 -0
- package/page/README.md +8 -0
- package/page/index.d.ts +14 -0
- package/page/lib/page/page-scroll.token.d.ts +19 -0
- package/page/lib/page/page-snap-controller.d.ts +87 -0
- package/page/lib/page/page-snap.directive.d.ts +40 -0
- package/page/lib/page/page.d.ts +74 -0
- package/page/lib/page-content/page-aside.d.ts +7 -0
- package/page/lib/page-content/page-content.d.ts +37 -0
- package/page/lib/page-dock/page-dock.d.ts +50 -0
- package/page/lib/page-dock/page-dock.slots.d.ts +16 -0
- package/page/lib/page-header/page-header.d.ts +77 -0
- package/page/lib/page-header/page-header.directives.d.ts +50 -0
- package/page/lib/page-shell/page-shell-color.d.ts +48 -0
- package/page/lib/page-shell/page-shell-css-color.d.ts +20 -0
- package/page/lib/page-shell/page-shell.d.ts +44 -0
- package/page/lib/page-shell/page-shell.slots.d.ts +16 -0
- package/page/lib/page-summary/page-summary-item.d.ts +11 -0
- package/page/lib/page-summary/page-summary.d.ts +36 -0
- package/page/malva-ui-core-page.d.ts +5 -0
- package/pagination/index.d.ts +4 -0
- package/pagination/lib/pagination/pagination.d.ts +182 -0
- package/pagination/lib/pagination/pagination.directives.d.ts +44 -0
- package/pagination/lib/pagination/pagination.model.d.ts +6 -0
- package/pagination/lib/pagination/pagination.service.d.ts +26 -0
- package/pagination/malva-ui-core-pagination.d.ts +5 -0
- package/pin-input/index.d.ts +2 -0
- package/pin-input/lib/pin-input/pin-input-separator.d.ts +24 -0
- package/pin-input/lib/pin-input/pin-input.d.ts +176 -0
- package/pin-input/malva-ui-core-pin-input.d.ts +5 -0
- package/popup/index.d.ts +9 -0
- package/popup/lib/popup/popup.d.ts +343 -0
- package/popup/lib/popup-container/popup-container.d.ts +61 -0
- package/popup/lib/popup-container/popup-container.token.d.ts +34 -0
- package/popup/lib/popup-content.d.ts +6 -0
- package/popup/lib/popup-header-content.d.ts +18 -0
- package/popup/lib/popup-pinned-content.d.ts +17 -0
- package/popup/lib/popup-positions.d.ts +105 -0
- package/popup/lib/popup-trigger/popup-trigger.d.ts +102 -0
- package/popup/lib/popup.service.d.ts +159 -0
- package/popup/malva-ui-core-popup.d.ts +5 -0
- package/progress/index.d.ts +1 -0
- package/progress/lib/progress/progress.d.ts +69 -0
- package/progress/malva-ui-core-progress.d.ts +5 -0
- package/radio/index.d.ts +2 -0
- package/radio/lib/radio/radio.d.ts +87 -0
- package/radio/lib/radio-group/radio-group.d.ts +35 -0
- package/radio/lib/radio-group-token.d.ts +7 -0
- package/radio/malva-ui-core-radio.d.ts +5 -0
- package/rating/index.d.ts +1 -0
- package/rating/lib/rating/rating.d.ts +100 -0
- package/rating/malva-ui-core-rating.d.ts +5 -0
- package/schematics/collection.json +12 -0
- package/schematics/ng-add/index.cjs +272 -0
- package/schematics/ng-add/schema.json +92 -0
- package/scrollbar/index.d.ts +1 -0
- package/scrollbar/lib/scrollbar/scrollbar.d.ts +166 -0
- package/scrollbar/malva-ui-core-scrollbar.d.ts +5 -0
- package/search-field/README.md +32 -0
- package/search-field/index.d.ts +2 -0
- package/search-field/lib/search-field/search-field.d.ts +347 -0
- package/search-field/lib/search-field/search-overlay-content.d.ts +59 -0
- package/search-field/malva-ui-core-search-field.d.ts +5 -0
- package/segmented/index.d.ts +4 -0
- package/segmented/lib/segmented/segmented.d.ts +80 -0
- package/segmented/lib/segmented-item/segmented-item.d.ts +89 -0
- package/segmented/lib/segmented-token.d.ts +22 -0
- package/segmented/lib/segmented.types.d.ts +9 -0
- package/segmented/malva-ui-core-segmented.d.ts +5 -0
- package/select/index.d.ts +3 -0
- package/select/lib/select/select.d.ts +379 -0
- package/select/lib/select-option.d.ts +1 -0
- package/select/lib/select-template.directives.d.ts +14 -0
- package/select/malva-ui-core-select.d.ts +5 -0
- package/sidebar/index.d.ts +15 -0
- package/sidebar/lib/sidebar/sidebar.d.ts +134 -0
- package/sidebar/lib/sidebar-content.d.ts +11 -0
- package/sidebar/lib/sidebar-context.d.ts +23 -0
- package/sidebar/lib/sidebar-footer.d.ts +9 -0
- package/sidebar/lib/sidebar-group/sidebar-group.d.ts +127 -0
- package/sidebar/lib/sidebar-header.d.ts +9 -0
- package/sidebar/lib/sidebar-item/sidebar-item.d.ts +104 -0
- package/sidebar/lib/sidebar-item-host.d.ts +18 -0
- package/sidebar/lib/sidebar-item-icon.d.ts +6 -0
- package/sidebar/lib/sidebar-mode.d.ts +2 -0
- package/sidebar/lib/sidebar-rail/sidebar-rail.d.ts +54 -0
- package/sidebar/lib/sidebar-trigger/sidebar-trigger.d.ts +67 -0
- package/sidebar/lib/sidebar-workspace/sidebar-workspace.d.ts +54 -0
- package/sidebar/lib/sidebar-workspace/sidebar-workspace.directives.d.ts +19 -0
- package/sidebar/lib/sidebar-workspace/sidebar-workspace.types.d.ts +20 -0
- package/sidebar/malva-ui-core-sidebar.d.ts +5 -0
- package/skeleton/index.d.ts +1 -0
- package/skeleton/lib/skeleton/skeleton.d.ts +60 -0
- package/skeleton/malva-ui-core-skeleton.d.ts +5 -0
- package/slider/index.d.ts +2 -0
- package/slider/lib/slider/slider-tooltip-def.d.ts +39 -0
- package/slider/lib/slider/slider.d.ts +171 -0
- package/slider/malva-ui-core-slider.d.ts +5 -0
- package/split-pane/index.d.ts +3 -0
- package/split-pane/lib/split-pane/split-pane-panel.d.ts +34 -0
- package/split-pane/lib/split-pane/split-pane.d.ts +98 -0
- package/split-pane/lib/split-pane/split-pane.types.d.ts +7 -0
- package/split-pane/malva-ui-core-split-pane.d.ts +5 -0
- package/status-indicator/index.d.ts +1 -0
- package/status-indicator/lib/status-indicator/status-indicator.d.ts +61 -0
- package/status-indicator/malva-ui-core-status-indicator.d.ts +5 -0
- package/stepper/index.d.ts +4 -0
- package/stepper/lib/stepper/step-header.d.ts +34 -0
- package/stepper/lib/stepper/step.d.ts +51 -0
- package/stepper/lib/stepper/stepper-token.d.ts +13 -0
- package/stepper/lib/stepper/stepper.d.ts +98 -0
- package/stepper/lib/stepper/stepper.types.d.ts +4 -0
- package/stepper/malva-ui-core-stepper.d.ts +5 -0
- package/styles/malva-ui.css +1706 -0
- package/styles/tokens.md +698 -0
- package/switch/index.d.ts +2 -0
- package/switch/lib/switch/switch.d.ts +118 -0
- package/switch/lib/switch-group/switch-group.d.ts +24 -0
- package/switch/lib/switch-group-token.d.ts +6 -0
- package/switch/malva-ui-core-switch.d.ts +5 -0
- package/tabs/index.d.ts +8 -0
- package/tabs/lib/tab/tab.d.ts +46 -0
- package/tabs/lib/tab-content/tab-content.d.ts +11 -0
- package/tabs/lib/tab-content-def.d.ts +6 -0
- package/tabs/lib/tab-def.d.ts +11 -0
- package/tabs/lib/tab-group-token.d.ts +10 -0
- package/tabs/lib/tab-item/tab-item.d.ts +28 -0
- package/tabs/lib/tabs/tabs.d.ts +202 -0
- package/tabs/lib/tabs.service.d.ts +24 -0
- package/tabs/malva-ui-core-tabs.d.ts +5 -0
- package/textarea/index.d.ts +1 -0
- package/textarea/lib/textarea/textarea.d.ts +77 -0
- package/textarea/malva-ui-core-textarea.d.ts +5 -0
- package/tile/index.d.ts +2 -0
- package/tile/lib/tile/tile.d.ts +20 -0
- package/tile/lib/tile-header.d.ts +6 -0
- package/tile/malva-ui-core-tile.d.ts +5 -0
- package/time-picker/README.md +7 -0
- package/time-picker/index.d.ts +1 -0
- package/time-picker/lib/time-picker/time-picker.d.ts +135 -0
- package/time-picker/lib/time-picker-column/time-picker-column.d.ts +111 -0
- package/time-picker/malva-ui-core-time-picker.d.ts +5 -0
- package/timeline/index.d.ts +5 -0
- package/timeline/lib/timeline/timeline-item-icon.d.ts +24 -0
- package/timeline/lib/timeline/timeline-item-meta.d.ts +24 -0
- package/timeline/lib/timeline/timeline-item.d.ts +52 -0
- package/timeline/lib/timeline/timeline.d.ts +27 -0
- package/timeline/lib/timeline/timeline.types.d.ts +18 -0
- package/timeline/malva-ui-core-timeline.d.ts +5 -0
- package/title/index.d.ts +1 -0
- package/title/lib/title/title.d.ts +63 -0
- package/title/malva-ui-core-title.d.ts +5 -0
- package/toast/index.d.ts +10 -0
- package/toast/lib/abstract-toast-container.d.ts +29 -0
- package/toast/lib/abstract-toast-item.d.ts +44 -0
- package/toast/lib/abstract-toast.service.d.ts +75 -0
- package/toast/lib/toast-container/toast-container.d.ts +23 -0
- package/toast/lib/toast-item/toast-item.d.ts +25 -0
- package/toast/lib/toast-ref.d.ts +33 -0
- package/toast/lib/toast-timer.d.ts +24 -0
- package/toast/lib/toast.directives.d.ts +13 -0
- package/toast/lib/toast.service.d.ts +41 -0
- package/toast/lib/toast.types.d.ts +139 -0
- package/toast/malva-ui-core-toast.d.ts +5 -0
- package/tokenizer/index.d.ts +3 -0
- package/tokenizer/lib/token/token.d.ts +60 -0
- package/tokenizer/lib/token-template.d.ts +29 -0
- package/tokenizer/lib/tokenizer/tokenizer.d.ts +109 -0
- package/tokenizer/malva-ui-core-tokenizer.d.ts +5 -0
- package/toolbar/index.d.ts +3 -0
- package/toolbar/lib/toolbar/toolbar-spacer.d.ts +5 -0
- package/toolbar/lib/toolbar/toolbar-widget.d.ts +75 -0
- package/toolbar/lib/toolbar/toolbar.d.ts +8 -0
- package/toolbar/malva-ui-core-toolbar.d.ts +5 -0
- package/tooltip/README.md +7 -0
- package/tooltip/index.d.ts +3 -0
- package/tooltip/lib/tooltip/tooltip-panel.d.ts +26 -0
- package/tooltip/lib/tooltip/tooltip.d.ts +148 -0
- package/tooltip/lib/tooltip/tooltip.types.d.ts +17 -0
- package/tooltip/malva-ui-core-tooltip.d.ts +5 -0
- package/tree/index.d.ts +4 -0
- package/tree/lib/tree/tree-context.d.ts +62 -0
- package/tree/lib/tree/tree-node-def.d.ts +33 -0
- package/tree/lib/tree/tree-node.d.ts +45 -0
- package/tree/lib/tree/tree-subtree.d.ts +63 -0
- package/tree/lib/tree/tree.d.ts +156 -0
- package/tree/malva-ui-core-tree.d.ts +5 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
|
+
import { afterEveryRender, ChangeDetectionStrategy, Component, computed, DestroyRef, inject, input, viewChild, ViewEncapsulation, } from '@angular/core';
|
|
3
|
+
import { mlvNextId } from '@malva-ui/cdk/utils';
|
|
4
|
+
import { MlvButtonClose } from '@malva-ui/core/button';
|
|
5
|
+
import { MLV_DIALOG_I18N } from '@malva-ui/i18n';
|
|
6
|
+
import { DIALOG_CONFIG } from './dialog-config';
|
|
7
|
+
import { injectDialogRef } from './inject-dialog-ref';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
/**
|
|
10
|
+
* Header row of a dialog: the title and the close button.
|
|
11
|
+
*
|
|
12
|
+
* Use it as an element (`<mlv-dialog-header title="…" />`) or as an attribute
|
|
13
|
+
* on a container (`<div mlvDialogHeader>`). Never put it on a heading — project
|
|
14
|
+
* the heading instead: `<mlv-dialog-header><h3>Edit user</h3></mlv-dialog-header>`.
|
|
15
|
+
*
|
|
16
|
+
* Title precedence: `title` input → projected content → `MlvDialogConfig.title`.
|
|
17
|
+
* Close button: `closable` input → `MlvDialogConfig.closable` → `true`, and
|
|
18
|
+
* always off when `MlvDialogConfig.appearance` is `'confirm'`.
|
|
19
|
+
*
|
|
20
|
+
* The title element carries `id="<dialogId>-title-<n>"` — unique per header, so
|
|
21
|
+
* two headers in one dialog never collide — and is registered as the
|
|
22
|
+
* dialog's label, so the visible title is the accessible name unless the
|
|
23
|
+
* config sets `ariaLabelledBy` / `ariaLabel`. The label follows the rendered
|
|
24
|
+
* title: the id is registered as soon as the title element gains text — an
|
|
25
|
+
* asynchronous title (`[title]="user()?.name"`, a projected heading fed by a
|
|
26
|
+
* resolver) is picked up — and removed again when it loses it. A header that
|
|
27
|
+
* renders no title at all (used only to host the close button) registers
|
|
28
|
+
* nothing — labelling the dialog with an empty element would leave it without
|
|
29
|
+
* an accessible name.
|
|
30
|
+
*/
|
|
31
|
+
export class MlvDialogHeader {
|
|
32
|
+
/** Plain-text title rendered as `<h2>`. Wins over projected content and the config title. */
|
|
33
|
+
title = input(/* @ts-ignore */
|
|
34
|
+
...(ngDevMode ? [undefined, { debugName: "title" }] : /* istanbul ignore next */ []));
|
|
35
|
+
/**
|
|
36
|
+
* Whether the close button is rendered. Unset → `MlvDialogConfig.closable`
|
|
37
|
+
* → `true`. Ignored (always hidden) when the dialog `appearance` is `'confirm'`.
|
|
38
|
+
*/
|
|
39
|
+
closable = input(undefined, { ...(ngDevMode ? { debugName: "closable" } : /* istanbul ignore next */ {}), transform: (value) => value == null ? undefined : coerceBooleanProperty(value) });
|
|
40
|
+
/** @protected The dialog this header labels and closes. */
|
|
41
|
+
_ref = injectDialogRef('mlv-dialog-header');
|
|
42
|
+
/** @protected Per-open configuration (title / closable / appearance fallbacks). */
|
|
43
|
+
_config = inject(DIALOG_CONFIG);
|
|
44
|
+
/** @protected i18n strings — `closeDialog` labels the X. */
|
|
45
|
+
_i18n = inject(MLV_DIALOG_I18N);
|
|
46
|
+
/**
|
|
47
|
+
* @protected Id of the title element; the ref registers it as the dialog
|
|
48
|
+
* label. Per instance, not per dialog — two headers in the same dialog (a
|
|
49
|
+
* sticky bar plus a scrolled-away one, say) must not collide on one id.
|
|
50
|
+
*/
|
|
51
|
+
_titleId = mlvNextId(`${this._ref.id}-title`);
|
|
52
|
+
/** @protected Config title used as the `<ng-content>` fallback. */
|
|
53
|
+
_configTitle = this._config.title;
|
|
54
|
+
/** @protected Resolved close-button visibility (see class docs for precedence). */
|
|
55
|
+
_closable = computed(() => this._config.appearance === 'confirm'
|
|
56
|
+
? false
|
|
57
|
+
: (this.closable() ?? this._config.closable ?? true), /* @ts-ignore */
|
|
58
|
+
...(ngDevMode ? [{ debugName: "_closable" }] : /* istanbul ignore next */ []));
|
|
59
|
+
/**
|
|
60
|
+
* @protected The rendered title element, in either branch. Its text decides
|
|
61
|
+
* whether the dialog is labelled by this header.
|
|
62
|
+
*/
|
|
63
|
+
_titleEl = viewChild('titleEl', /* @ts-ignore */
|
|
64
|
+
...(ngDevMode ? [{ debugName: "_titleEl" }] : /* istanbul ignore next */ []));
|
|
65
|
+
/** @private Whether {@link _titleId} is currently registered as the dialog's label. */
|
|
66
|
+
_labelled = false;
|
|
67
|
+
/** @private Set on destroy so a queued render callback never runs on a torn-down view. */
|
|
68
|
+
_destroyed = false;
|
|
69
|
+
constructor() {
|
|
70
|
+
inject(DestroyRef).onDestroy(() => {
|
|
71
|
+
this._destroyed = true;
|
|
72
|
+
if (this._labelled) {
|
|
73
|
+
this._labelled = false;
|
|
74
|
+
this._ref._unlabelBy(this._titleId);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
// The title is only observable from the DOM (input, projected content or
|
|
78
|
+
// the config fallback), and it can change at any time, so the decision is
|
|
79
|
+
// re-taken after every render rather than latched on the first one.
|
|
80
|
+
afterEveryRender(() => this._syncLabel());
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* @private Keeps the dialog's label in sync with the rendered title: the id
|
|
84
|
+
* is registered as soon as the title element has text and removed again when
|
|
85
|
+
* it loses it, so a title that only arrives asynchronously still names the
|
|
86
|
+
* dialog. An empty title element would still win the CDK's `aria-labelledby`
|
|
87
|
+
* queue and leave the dialog with an empty accessible name (an axe
|
|
88
|
+
* `aria-dialog-name` violation), so a header without any title — no `title`
|
|
89
|
+
* input, no projected content, no `config.title` — registers nothing.
|
|
90
|
+
*/
|
|
91
|
+
_syncLabel() {
|
|
92
|
+
if (this._destroyed) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
const hasText = !!this._titleEl()?.nativeElement.textContent?.trim();
|
|
96
|
+
if (hasText === this._labelled) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
this._labelled = hasText;
|
|
100
|
+
if (hasText) {
|
|
101
|
+
this._ref._labelBy(this._titleId);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
this._ref._unlabelBy(this._titleId);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/** @protected Closes the dialog with no result, as the X always does. */
|
|
108
|
+
_close() {
|
|
109
|
+
this._ref.close();
|
|
110
|
+
}
|
|
111
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvDialogHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
112
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MlvDialogHeader, isStandalone: true, selector: "mlv-dialog-header, [mlvDialogHeader]", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, closable: { classPropertyName: "closable", publicName: "closable", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.title": "null" }, classAttribute: "mlv-dialog__header" }, viewQueries: [{ propertyName: "_titleEl", first: true, predicate: ["titleEl"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
113
|
+
@if (title(); as text) {
|
|
114
|
+
<h2 #titleEl class="mlv-dialog__title" [id]="_titleId">{{ text }}</h2>
|
|
115
|
+
} @else {
|
|
116
|
+
<div #titleEl class="mlv-dialog__title" [id]="_titleId">
|
|
117
|
+
<ng-content>
|
|
118
|
+
@if (_configTitle; as text) {
|
|
119
|
+
<h2>{{ text }}</h2>
|
|
120
|
+
}
|
|
121
|
+
</ng-content>
|
|
122
|
+
</div>
|
|
123
|
+
}
|
|
124
|
+
@if (_closable()) {
|
|
125
|
+
<!-- The wrapper hosts a real <button>, so the bubbled native click already
|
|
126
|
+
covers pointer, Enter and Space. -->
|
|
127
|
+
<mlv-button-close
|
|
128
|
+
class="mlv-dialog__close"
|
|
129
|
+
mlvDensity="compact"
|
|
130
|
+
shape="circle"
|
|
131
|
+
variant="secondary"
|
|
132
|
+
[ariaLabel]="_i18n().closeDialog"
|
|
133
|
+
(click)="_close()"
|
|
134
|
+
/>
|
|
135
|
+
}
|
|
136
|
+
`, isInline: true, dependencies: [{ kind: "component", type: MlvButtonClose, selector: "mlv-button-close", inputs: ["variant", "shape", "ariaLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
137
|
+
}
|
|
138
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvDialogHeader, decorators: [{
|
|
139
|
+
type: Component,
|
|
140
|
+
args: [{
|
|
141
|
+
// Attribute form intentionally enhances the consumer's own header container.
|
|
142
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
143
|
+
selector: 'mlv-dialog-header, [mlvDialogHeader]',
|
|
144
|
+
imports: [MlvButtonClose],
|
|
145
|
+
template: `
|
|
146
|
+
@if (title(); as text) {
|
|
147
|
+
<h2 #titleEl class="mlv-dialog__title" [id]="_titleId">{{ text }}</h2>
|
|
148
|
+
} @else {
|
|
149
|
+
<div #titleEl class="mlv-dialog__title" [id]="_titleId">
|
|
150
|
+
<ng-content>
|
|
151
|
+
@if (_configTitle; as text) {
|
|
152
|
+
<h2>{{ text }}</h2>
|
|
153
|
+
}
|
|
154
|
+
</ng-content>
|
|
155
|
+
</div>
|
|
156
|
+
}
|
|
157
|
+
@if (_closable()) {
|
|
158
|
+
<!-- The wrapper hosts a real <button>, so the bubbled native click already
|
|
159
|
+
covers pointer, Enter and Space. -->
|
|
160
|
+
<mlv-button-close
|
|
161
|
+
class="mlv-dialog__close"
|
|
162
|
+
mlvDensity="compact"
|
|
163
|
+
shape="circle"
|
|
164
|
+
variant="secondary"
|
|
165
|
+
[ariaLabel]="_i18n().closeDialog"
|
|
166
|
+
(click)="_close()"
|
|
167
|
+
/>
|
|
168
|
+
}
|
|
169
|
+
`,
|
|
170
|
+
encapsulation: ViewEncapsulation.None,
|
|
171
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
172
|
+
host: {
|
|
173
|
+
class: 'mlv-dialog__header',
|
|
174
|
+
// `<mlv-dialog-header title="…">` feeds the input but also leaves a native
|
|
175
|
+
// `title` attribute behind; bindings apply after static attributes, so this
|
|
176
|
+
// strips it and the header row gets no browser tooltip.
|
|
177
|
+
'[attr.title]': 'null',
|
|
178
|
+
},
|
|
179
|
+
}]
|
|
180
|
+
}], ctorParameters: () => [], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], closable: [{ type: i0.Input, args: [{ isSignal: true, alias: "closable", required: false }] }], _titleEl: [{ type: i0.ViewChild, args: ['titleEl', { isSignal: true }] }] } });
|
|
181
|
+
//# sourceMappingURL=dialog-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog-header.js","sourceRoot":"","sources":["../../../../../../libs/core/dialog/src/lib/dialog-header.ts"],"names":[],"mappings":"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","sourcesContent":["import type { BooleanInput } from '@angular/cdk/coercion';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport type { ElementRef } from '@angular/core';\nimport {\n afterEveryRender,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n inject,\n input,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { mlvNextId } from '@malva-ui/cdk/utils';\nimport { MlvButtonClose } from '@malva-ui/core/button';\nimport { MLV_DIALOG_I18N } from '@malva-ui/i18n';\n\nimport { DIALOG_CONFIG } from './dialog-config';\nimport { injectDialogRef } from './inject-dialog-ref';\n\n/**\n * Header row of a dialog: the title and the close button.\n *\n * Use it as an element (`<mlv-dialog-header title=\"…\" />`) or as an attribute\n * on a container (`<div mlvDialogHeader>`). Never put it on a heading — project\n * the heading instead: `<mlv-dialog-header><h3>Edit user</h3></mlv-dialog-header>`.\n *\n * Title precedence: `title` input → projected content → `MlvDialogConfig.title`.\n * Close button: `closable` input → `MlvDialogConfig.closable` → `true`, and\n * always off when `MlvDialogConfig.appearance` is `'confirm'`.\n *\n * The title element carries `id=\"<dialogId>-title-<n>\"` — unique per header, so\n * two headers in one dialog never collide — and is registered as the\n * dialog's label, so the visible title is the accessible name unless the\n * config sets `ariaLabelledBy` / `ariaLabel`. The label follows the rendered\n * title: the id is registered as soon as the title element gains text — an\n * asynchronous title (`[title]=\"user()?.name\"`, a projected heading fed by a\n * resolver) is picked up — and removed again when it loses it. A header that\n * renders no title at all (used only to host the close button) registers\n * nothing — labelling the dialog with an empty element would leave it without\n * an accessible name.\n */\n@Component({\n // Attribute form intentionally enhances the consumer's own header container.\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'mlv-dialog-header, [mlvDialogHeader]',\n imports: [MlvButtonClose],\n template: `\n @if (title(); as text) {\n <h2 #titleEl class=\"mlv-dialog__title\" [id]=\"_titleId\">{{ text }}</h2>\n } @else {\n <div #titleEl class=\"mlv-dialog__title\" [id]=\"_titleId\">\n <ng-content>\n @if (_configTitle; as text) {\n <h2>{{ text }}</h2>\n }\n </ng-content>\n </div>\n }\n @if (_closable()) {\n <!-- The wrapper hosts a real <button>, so the bubbled native click already\n covers pointer, Enter and Space. -->\n <mlv-button-close\n class=\"mlv-dialog__close\"\n mlvDensity=\"compact\"\n shape=\"circle\"\n variant=\"secondary\"\n [ariaLabel]=\"_i18n().closeDialog\"\n (click)=\"_close()\"\n />\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mlv-dialog__header',\n // `<mlv-dialog-header title=\"…\">` feeds the input but also leaves a native\n // `title` attribute behind; bindings apply after static attributes, so this\n // strips it and the header row gets no browser tooltip.\n '[attr.title]': 'null',\n },\n})\nexport class MlvDialogHeader {\n /** Plain-text title rendered as `<h2>`. Wins over projected content and the config title. */\n readonly title = input<string>();\n\n /**\n * Whether the close button is rendered. Unset → `MlvDialogConfig.closable`\n * → `true`. Ignored (always hidden) when the dialog `appearance` is `'confirm'`.\n */\n readonly closable = input<boolean | undefined, BooleanInput>(undefined, {\n transform: (value) =>\n value == null ? undefined : coerceBooleanProperty(value),\n });\n\n /** @protected The dialog this header labels and closes. */\n protected readonly _ref = injectDialogRef('mlv-dialog-header');\n /** @protected Per-open configuration (title / closable / appearance fallbacks). */\n protected readonly _config = inject(DIALOG_CONFIG);\n /** @protected i18n strings — `closeDialog` labels the X. */\n protected readonly _i18n = inject(MLV_DIALOG_I18N);\n /**\n * @protected Id of the title element; the ref registers it as the dialog\n * label. Per instance, not per dialog — two headers in the same dialog (a\n * sticky bar plus a scrolled-away one, say) must not collide on one id.\n */\n protected readonly _titleId = mlvNextId(`${this._ref.id}-title`);\n /** @protected Config title used as the `<ng-content>` fallback. */\n protected readonly _configTitle = this._config.title;\n /** @protected Resolved close-button visibility (see class docs for precedence). */\n protected readonly _closable = computed(() =>\n this._config.appearance === 'confirm'\n ? false\n : (this.closable() ?? this._config.closable ?? true),\n );\n\n /**\n * @protected The rendered title element, in either branch. Its text decides\n * whether the dialog is labelled by this header.\n */\n protected readonly _titleEl = viewChild<ElementRef<HTMLElement>>('titleEl');\n\n /** @private Whether {@link _titleId} is currently registered as the dialog's label. */\n private _labelled = false;\n /** @private Set on destroy so a queued render callback never runs on a torn-down view. */\n private _destroyed = false;\n\n constructor() {\n inject(DestroyRef).onDestroy(() => {\n this._destroyed = true;\n if (this._labelled) {\n this._labelled = false;\n this._ref._unlabelBy(this._titleId);\n }\n });\n // The title is only observable from the DOM (input, projected content or\n // the config fallback), and it can change at any time, so the decision is\n // re-taken after every render rather than latched on the first one.\n afterEveryRender(() => this._syncLabel());\n }\n\n /**\n * @private Keeps the dialog's label in sync with the rendered title: the id\n * is registered as soon as the title element has text and removed again when\n * it loses it, so a title that only arrives asynchronously still names the\n * dialog. An empty title element would still win the CDK's `aria-labelledby`\n * queue and leave the dialog with an empty accessible name (an axe\n * `aria-dialog-name` violation), so a header without any title — no `title`\n * input, no projected content, no `config.title` — registers nothing.\n */\n private _syncLabel(): void {\n if (this._destroyed) {\n return;\n }\n const hasText = !!this._titleEl()?.nativeElement.textContent?.trim();\n if (hasText === this._labelled) {\n return;\n }\n this._labelled = hasText;\n if (hasText) {\n this._ref._labelBy(this._titleId);\n } else {\n this._ref._unlabelBy(this._titleId);\n }\n }\n\n /** @protected Closes the dialog with no result, as the X always does. */\n protected _close(): void {\n this._ref.close();\n }\n}\n"]}
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { signal } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
/**
|
|
4
|
+
* Upper bound the leave animation is given before the dialog is disposed
|
|
5
|
+
* anyway (reduced motion, a content root that is not `<mlv-dialog>`, jsdom).
|
|
6
|
+
*/
|
|
7
|
+
const LEAVE_FALLBACK_MS = 250;
|
|
8
|
+
/**
|
|
9
|
+
* Handle returned by `MlvDialogService.open()` (and exposed to content through
|
|
10
|
+
* DI and the template context) for controlling a dialog and receiving its result.
|
|
11
|
+
*
|
|
12
|
+
* Wraps the CDK `DialogRef` the engine creates. `close()` plays the surface's
|
|
13
|
+
* leave animation first — `animationState` flips to `'leave'`, `<mlv-dialog>`
|
|
14
|
+
* adds `.mlv-dialog--leave`, and its `animationend` calls back here — and only
|
|
15
|
+
* then disposes the CDK dialog, so `afterClosed()` emits after the animation.
|
|
16
|
+
*
|
|
17
|
+
* @typeParam R - Result type emitted by `afterClosed()`.
|
|
18
|
+
* @typeParam D - Type of `data`.
|
|
19
|
+
*/
|
|
20
|
+
export class MlvDialogRef {
|
|
21
|
+
_cdkRef;
|
|
22
|
+
/** Payload from `MlvDialogConfig.data`. */
|
|
23
|
+
data;
|
|
24
|
+
/** The consumer's configuration this dialog was opened with. */
|
|
25
|
+
config;
|
|
26
|
+
/** Id of the dialog container element (CDK-generated unless `config.id` was set). */
|
|
27
|
+
id;
|
|
28
|
+
/** Drives the surface's `--enter` / `--leave` classes. */
|
|
29
|
+
animationState;
|
|
30
|
+
/** @private Writable side of {@link animationState}. */
|
|
31
|
+
_animationState = signal('enter', /* @ts-ignore */
|
|
32
|
+
...(ngDevMode ? [{ debugName: "_animationState" }] : /* istanbul ignore next */ []));
|
|
33
|
+
/** @private Emits once, synchronously, at the start of `close()`. */
|
|
34
|
+
_beforeClose = new Subject();
|
|
35
|
+
/** @private Guards `close()` against re-entry and late calls. */
|
|
36
|
+
_closeStarted = false;
|
|
37
|
+
/**
|
|
38
|
+
* @private Set once the CDK dialog has actually closed. From then on the ref
|
|
39
|
+
* is inert: a late `animationend` from the torn-down surface must not move
|
|
40
|
+
* `animationState` or re-enter the close path.
|
|
41
|
+
*/
|
|
42
|
+
_disposed = false;
|
|
43
|
+
/** @private Result captured by the first `close()` call. */
|
|
44
|
+
_result;
|
|
45
|
+
/** @private Fallback timer that disposes when `animationend` never arrives. */
|
|
46
|
+
_leaveTimer;
|
|
47
|
+
constructor(
|
|
48
|
+
/** @private The CDK reference this handle controls. */
|
|
49
|
+
_cdkRef, config) {
|
|
50
|
+
this._cdkRef = _cdkRef;
|
|
51
|
+
this.config = config;
|
|
52
|
+
this.data = config.data;
|
|
53
|
+
this.id = _cdkRef.id;
|
|
54
|
+
this.animationState = this._animationState.asReadonly();
|
|
55
|
+
// The CDK can close without us (history navigation, overlay detachment,
|
|
56
|
+
// CDK closeAll). Treat that as terminal so a later close() is a no-op.
|
|
57
|
+
_cdkRef.closed.subscribe(() => {
|
|
58
|
+
this._closeStarted = true;
|
|
59
|
+
this._disposed = true;
|
|
60
|
+
this._clearLeaveTimer();
|
|
61
|
+
this._beforeClose.complete();
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Closes the dialog: emits `beforeClose()`, plays the leave animation, then
|
|
66
|
+
* disposes and emits `result` on `afterClosed()`. Idempotent.
|
|
67
|
+
*
|
|
68
|
+
* @param result - Value forwarded to `afterClosed()` subscribers.
|
|
69
|
+
*/
|
|
70
|
+
close(result) {
|
|
71
|
+
if (this._closeStarted) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
this._closeStarted = true;
|
|
75
|
+
this._result = result;
|
|
76
|
+
this._beforeClose.next();
|
|
77
|
+
this._beforeClose.complete();
|
|
78
|
+
this._cdkRef.overlayRef.backdropElement?.classList.add('mlv-dialog-backdrop--leaving');
|
|
79
|
+
this._animationState.set('leave');
|
|
80
|
+
this._leaveTimer = setTimeout(() => this._finishClose(), LEAVE_FALLBACK_MS);
|
|
81
|
+
}
|
|
82
|
+
/** Emits once with the close result after the dialog is disposed, then completes. */
|
|
83
|
+
afterClosed() {
|
|
84
|
+
return this._cdkRef.closed;
|
|
85
|
+
}
|
|
86
|
+
/** Emits and completes synchronously when `close()` is called, before the leave animation. */
|
|
87
|
+
beforeClose() {
|
|
88
|
+
return this._beforeClose.asObservable();
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Keydown events that reach this dialog. The CDK delivers a keydown only to
|
|
92
|
+
* the topmost overlay with keydown observers, so a dialog (or a select /
|
|
93
|
+
* combobox popup) opened on top of this one receives Escape instead of it.
|
|
94
|
+
* Pair with `closeOnEscape: false` to run a close guard yourself.
|
|
95
|
+
*/
|
|
96
|
+
keydownEvents() {
|
|
97
|
+
return this._cdkRef.keydownEvents;
|
|
98
|
+
}
|
|
99
|
+
/** Backdrop clicks on this dialog. Pair with `closeOnBackdrop: false` to run a close guard yourself. */
|
|
100
|
+
backdropClick() {
|
|
101
|
+
return this._cdkRef.backdropClick;
|
|
102
|
+
}
|
|
103
|
+
/** Updates the overlay pane's width and/or height. */
|
|
104
|
+
updateSize(width, height) {
|
|
105
|
+
this._cdkRef.updateSize(width, height);
|
|
106
|
+
return this;
|
|
107
|
+
}
|
|
108
|
+
/** Adds class(es) to the overlay pane. */
|
|
109
|
+
addPanelClass(classes) {
|
|
110
|
+
this._cdkRef.addPanelClass(classes);
|
|
111
|
+
return this;
|
|
112
|
+
}
|
|
113
|
+
/** Removes class(es) from the overlay pane. */
|
|
114
|
+
removePanelClass(classes) {
|
|
115
|
+
this._cdkRef.removePanelClass(classes);
|
|
116
|
+
return this;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* @internal Called by `<mlv-dialog>` when its own CSS animation ends:
|
|
120
|
+
* the enter animation settles to `'idle'`, the leave animation disposes.
|
|
121
|
+
*/
|
|
122
|
+
_onSurfaceAnimationEnd() {
|
|
123
|
+
if (this._disposed) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
const state = this._animationState();
|
|
127
|
+
if (state === 'enter') {
|
|
128
|
+
this._animationState.set('idle');
|
|
129
|
+
}
|
|
130
|
+
else if (state === 'leave') {
|
|
131
|
+
this._finishClose();
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* @internal Registers `id` as a label of the dialog. Used by
|
|
136
|
+
* `mlv-dialog-header` so the visible title becomes the accessible name.
|
|
137
|
+
* `ariaLabelledBy` from the config is queued first by the CDK container and
|
|
138
|
+
* therefore still wins; `ariaLabel` suppresses `aria-labelledby` entirely.
|
|
139
|
+
*/
|
|
140
|
+
_labelBy(id) {
|
|
141
|
+
this._container()?._addAriaLabelledBy(id);
|
|
142
|
+
}
|
|
143
|
+
/** @internal Reverses {@link _labelBy} when the header is destroyed. */
|
|
144
|
+
_unlabelBy(id) {
|
|
145
|
+
this._container()?._removeAriaLabelledBy(id);
|
|
146
|
+
}
|
|
147
|
+
/** @private The CDK container while the dialog is open, `null` once disposed. */
|
|
148
|
+
_container() {
|
|
149
|
+
return (this._cdkRef
|
|
150
|
+
.containerInstance ?? null);
|
|
151
|
+
}
|
|
152
|
+
/** @private Disposes the CDK dialog with the captured result. Safe to call twice. */
|
|
153
|
+
_finishClose() {
|
|
154
|
+
this._clearLeaveTimer();
|
|
155
|
+
if (this._cdkRef.containerInstance) {
|
|
156
|
+
this._cdkRef.close(this._result);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
/** @private Cancels the fallback timer if it is pending. */
|
|
160
|
+
_clearLeaveTimer() {
|
|
161
|
+
if (this._leaveTimer !== undefined) {
|
|
162
|
+
clearTimeout(this._leaveTimer);
|
|
163
|
+
this._leaveTimer = undefined;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=dialog-ref.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog-ref.js","sourceRoot":"","sources":["../../../../../../libs/core/dialog/src/lib/dialog-ref.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CdkDialogContainer, DialogRef } from '@angular/cdk/dialog';\nimport type { Signal } from '@angular/core';\nimport { signal } from '@angular/core';\nimport type { Observable } from 'rxjs';\nimport { Subject } from 'rxjs';\n\nimport type { MlvDialogConfig } from './dialog-config';\n\n/** Lifecycle of the surface animation driven by `MlvDialogRef.animationState`. */\nexport type MlvDialogAnimationState = 'enter' | 'idle' | 'leave';\n\n/**\n * Upper bound the leave animation is given before the dialog is disposed\n * anyway (reduced motion, a content root that is not `<mlv-dialog>`, jsdom).\n */\nconst LEAVE_FALLBACK_MS = 250;\n\n/**\n * Handle returned by `MlvDialogService.open()` (and exposed to content through\n * DI and the template context) for controlling a dialog and receiving its result.\n *\n * Wraps the CDK `DialogRef` the engine creates. `close()` plays the surface's\n * leave animation first — `animationState` flips to `'leave'`, `<mlv-dialog>`\n * adds `.mlv-dialog--leave`, and its `animationend` calls back here — and only\n * then disposes the CDK dialog, so `afterClosed()` emits after the animation.\n *\n * @typeParam R - Result type emitted by `afterClosed()`.\n * @typeParam D - Type of `data`.\n */\nexport class MlvDialogRef<R = unknown, D = unknown> {\n /** Payload from `MlvDialogConfig.data`. */\n readonly data: D;\n /** The consumer's configuration this dialog was opened with. */\n readonly config: Readonly<MlvDialogConfig<D>>;\n /** Id of the dialog container element (CDK-generated unless `config.id` was set). */\n readonly id: string;\n /** Drives the surface's `--enter` / `--leave` classes. */\n readonly animationState: Signal<MlvDialogAnimationState>;\n\n /** @private Writable side of {@link animationState}. */\n private readonly _animationState = signal<MlvDialogAnimationState>('enter');\n /** @private Emits once, synchronously, at the start of `close()`. */\n private readonly _beforeClose = new Subject<void>();\n /** @private Guards `close()` against re-entry and late calls. */\n private _closeStarted = false;\n /**\n * @private Set once the CDK dialog has actually closed. From then on the ref\n * is inert: a late `animationend` from the torn-down surface must not move\n * `animationState` or re-enter the close path.\n */\n private _disposed = false;\n /** @private Result captured by the first `close()` call. */\n private _result: R | undefined;\n /** @private Fallback timer that disposes when `animationend` never arrives. */\n private _leaveTimer: ReturnType<typeof setTimeout> | undefined;\n\n constructor(\n /** @private The CDK reference this handle controls. */\n private readonly _cdkRef: DialogRef<R>,\n config: Readonly<MlvDialogConfig<D>>,\n ) {\n this.config = config;\n this.data = config.data as D;\n this.id = _cdkRef.id;\n this.animationState = this._animationState.asReadonly();\n\n // The CDK can close without us (history navigation, overlay detachment,\n // CDK closeAll). Treat that as terminal so a later close() is a no-op.\n _cdkRef.closed.subscribe(() => {\n this._closeStarted = true;\n this._disposed = true;\n this._clearLeaveTimer();\n this._beforeClose.complete();\n });\n }\n\n /**\n * Closes the dialog: emits `beforeClose()`, plays the leave animation, then\n * disposes and emits `result` on `afterClosed()`. Idempotent.\n *\n * @param result - Value forwarded to `afterClosed()` subscribers.\n */\n close(result?: R): void {\n if (this._closeStarted) {\n return;\n }\n this._closeStarted = true;\n this._result = result;\n\n this._beforeClose.next();\n this._beforeClose.complete();\n\n this._cdkRef.overlayRef.backdropElement?.classList.add(\n 'mlv-dialog-backdrop--leaving',\n );\n this._animationState.set('leave');\n this._leaveTimer = setTimeout(() => this._finishClose(), LEAVE_FALLBACK_MS);\n }\n\n /** Emits once with the close result after the dialog is disposed, then completes. */\n afterClosed(): Observable<R | undefined> {\n return this._cdkRef.closed;\n }\n\n /** Emits and completes synchronously when `close()` is called, before the leave animation. */\n beforeClose(): Observable<void> {\n return this._beforeClose.asObservable();\n }\n\n /**\n * Keydown events that reach this dialog. The CDK delivers a keydown only to\n * the topmost overlay with keydown observers, so a dialog (or a select /\n * combobox popup) opened on top of this one receives Escape instead of it.\n * Pair with `closeOnEscape: false` to run a close guard yourself.\n */\n keydownEvents(): Observable<KeyboardEvent> {\n return this._cdkRef.keydownEvents;\n }\n\n /** Backdrop clicks on this dialog. Pair with `closeOnBackdrop: false` to run a close guard yourself. */\n backdropClick(): Observable<MouseEvent> {\n return this._cdkRef.backdropClick;\n }\n\n /** Updates the overlay pane's width and/or height. */\n updateSize(width?: string | number, height?: string | number): this {\n this._cdkRef.updateSize(width, height);\n return this;\n }\n\n /** Adds class(es) to the overlay pane. */\n addPanelClass(classes: string | string[]): this {\n this._cdkRef.addPanelClass(classes);\n return this;\n }\n\n /** Removes class(es) from the overlay pane. */\n removePanelClass(classes: string | string[]): this {\n this._cdkRef.removePanelClass(classes);\n return this;\n }\n\n /**\n * @internal Called by `<mlv-dialog>` when its own CSS animation ends:\n * the enter animation settles to `'idle'`, the leave animation disposes.\n */\n _onSurfaceAnimationEnd(): void {\n if (this._disposed) {\n return;\n }\n const state = this._animationState();\n if (state === 'enter') {\n this._animationState.set('idle');\n } else if (state === 'leave') {\n this._finishClose();\n }\n }\n\n /**\n * @internal Registers `id` as a label of the dialog. Used by\n * `mlv-dialog-header` so the visible title becomes the accessible name.\n * `ariaLabelledBy` from the config is queued first by the CDK container and\n * therefore still wins; `ariaLabel` suppresses `aria-labelledby` entirely.\n */\n _labelBy(id: string): void {\n this._container()?._addAriaLabelledBy(id);\n }\n\n /** @internal Reverses {@link _labelBy} when the header is destroyed. */\n _unlabelBy(id: string): void {\n this._container()?._removeAriaLabelledBy(id);\n }\n\n /** @private The CDK container while the dialog is open, `null` once disposed. */\n private _container(): CdkDialogContainer | null {\n return (\n (this._cdkRef\n .containerInstance as unknown as CdkDialogContainer | null) ?? null\n );\n }\n\n /** @private Disposes the CDK dialog with the captured result. Safe to call twice. */\n private _finishClose(): void {\n this._clearLeaveTimer();\n if (this._cdkRef.containerInstance) {\n this._cdkRef.close(this._result);\n }\n }\n\n /** @private Cancels the fallback timer if it is pending. */\n private _clearLeaveTimer(): void {\n if (this._leaveTimer !== undefined) {\n clearTimeout(this._leaveTimer);\n this._leaveTimer = undefined;\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { DestroyRef, Directive, effect, inject, input, model, output, TemplateRef, untracked, } from '@angular/core';
|
|
2
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
3
|
+
import { MlvDialogService } from './dialog.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
/**
|
|
6
|
+
* Declarative sugar over `MlvDialogService.open(templateRef, options)`.
|
|
7
|
+
*
|
|
8
|
+
* ```html
|
|
9
|
+
* <ng-template [(mlvDialog)]="editing" [mlvDialogOptions]="{ size: 's' }" let-dialog>
|
|
10
|
+
* <mlv-dialog>
|
|
11
|
+
* <mlv-dialog-header title="Edit user" />
|
|
12
|
+
* <mlv-dialog-body>…</mlv-dialog-body>
|
|
13
|
+
* <mlv-dialog-footer><button mlvButton mlvDialogClose="saved">Save</button></mlv-dialog-footer>
|
|
14
|
+
* </mlv-dialog>
|
|
15
|
+
* </ng-template>
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* The template is instantiated only while open (lazy by default) and gets
|
|
19
|
+
* the same context as `open(templateRef)`: the ref as `let-dialog`,
|
|
20
|
+
* `let-data="data"`, `let-config="config"`. Setting the model to `true` opens,
|
|
21
|
+
* `false` closes (leave animation included), and closing from inside —
|
|
22
|
+
* `[mlvDialogClose]`, Escape, backdrop, `dialog.close()` — flips the model
|
|
23
|
+
* back to `false` and emits `mlvDialogClosed` with the result.
|
|
24
|
+
*
|
|
25
|
+
* Setting the model back to `true` while the previous instance is still
|
|
26
|
+
* leaving is honoured: the intent is remembered and a fresh dialog opens as
|
|
27
|
+
* soon as that instance is disposed, after its `mlvDialogClosed` has fired.
|
|
28
|
+
* Re-opening from **inside** an `(mlvDialogClosed)` handler is the one case
|
|
29
|
+
* that does not work: the handler runs before the model settles, so the write
|
|
30
|
+
* is overwritten. Re-open from a later tick, or while the dialog is leaving.
|
|
31
|
+
*
|
|
32
|
+
* If the host is destroyed while a dialog is open, that dialog is closed too — outputs are not emitted after the host is destroyed.
|
|
33
|
+
*/
|
|
34
|
+
export class MlvDialogTemplate {
|
|
35
|
+
/** Whether the dialog is open. Two-way bindable: `[(mlvDialog)]="open"`. */
|
|
36
|
+
mlvDialog = model(false, /* @ts-ignore */
|
|
37
|
+
...(ngDevMode ? [{ debugName: "mlvDialog" }] : /* istanbul ignore next */ []));
|
|
38
|
+
/** Options passed to `MlvDialogService.open()`. Read when the dialog opens; later changes apply to the next open. */
|
|
39
|
+
mlvDialogOptions = input(/* @ts-ignore */
|
|
40
|
+
...(ngDevMode ? [undefined, { debugName: "mlvDialogOptions" }] : /* istanbul ignore next */ []));
|
|
41
|
+
/** Emits after the dialog has been opened. */
|
|
42
|
+
mlvDialogOpened = output();
|
|
43
|
+
/** Emits the close result once the dialog is disposed. */
|
|
44
|
+
mlvDialogClosed = output();
|
|
45
|
+
/** @private The wrapped template. */
|
|
46
|
+
_template = inject(TemplateRef);
|
|
47
|
+
/** @private Opens the template. */
|
|
48
|
+
_dialogs = inject(MlvDialogService);
|
|
49
|
+
/** @private Ref of the currently open (or leaving) dialog. */
|
|
50
|
+
_ref = null;
|
|
51
|
+
/** @private Tears the `afterClosed()` subscription down with the host. */
|
|
52
|
+
_destroyRef = inject(DestroyRef);
|
|
53
|
+
/** @private Set when the model turned `true` while the previous instance was still leaving. */
|
|
54
|
+
_reopenPending = false;
|
|
55
|
+
/** The ref of the open dialog (held until the leave animation completes), or `null`. */
|
|
56
|
+
get ref() {
|
|
57
|
+
return this._ref;
|
|
58
|
+
}
|
|
59
|
+
constructor() {
|
|
60
|
+
effect(() => {
|
|
61
|
+
const open = this.mlvDialog();
|
|
62
|
+
untracked(() => {
|
|
63
|
+
if (open) {
|
|
64
|
+
if (this._ref) {
|
|
65
|
+
// Still leaving (or open) — remember the intent instead of
|
|
66
|
+
// dropping it, so the re-open happens once the old instance goes.
|
|
67
|
+
this._reopenPending = this._ref.animationState() === 'leave';
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
this._open();
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this._reopenPending = false;
|
|
74
|
+
this._ref?.close();
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
this._destroyRef.onDestroy(() => {
|
|
79
|
+
// The `afterClosed()` subscription is torn down with the host, so nothing
|
|
80
|
+
// clears `_ref` afterwards — drop it here so `ref` never hands out a
|
|
81
|
+
// disposed handle.
|
|
82
|
+
this._ref?.close();
|
|
83
|
+
this._ref = null;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
/** Sets the model to `true`. */
|
|
87
|
+
open() {
|
|
88
|
+
this.mlvDialog.set(true);
|
|
89
|
+
}
|
|
90
|
+
/** Sets the model to `false`. */
|
|
91
|
+
close() {
|
|
92
|
+
this.mlvDialog.set(false);
|
|
93
|
+
}
|
|
94
|
+
/** @private Opens through the service. Callers guarantee no dialog is live. */
|
|
95
|
+
_open() {
|
|
96
|
+
const ref = this._dialogs.open(this._template, this.mlvDialogOptions());
|
|
97
|
+
this._ref = ref;
|
|
98
|
+
// Subscribed before the output fires: a handler that synchronously disposes
|
|
99
|
+
// the dialog must still clear `_ref` and flip the model back to `false`.
|
|
100
|
+
// `takeUntilDestroyed` drops the callback with the host, so nothing is
|
|
101
|
+
// emitted and the model is not touched after destruction.
|
|
102
|
+
ref
|
|
103
|
+
.afterClosed()
|
|
104
|
+
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
105
|
+
.subscribe((result) => {
|
|
106
|
+
if (this._ref !== ref) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
this._ref = null;
|
|
110
|
+
this.mlvDialogClosed.emit(result);
|
|
111
|
+
const reopen = this._reopenPending && this.mlvDialog();
|
|
112
|
+
this._reopenPending = false;
|
|
113
|
+
if (reopen) {
|
|
114
|
+
this._open();
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
this.mlvDialog.set(false);
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
this.mlvDialogOpened.emit();
|
|
121
|
+
}
|
|
122
|
+
/** Type guard so `let-dialog` / `let-data` are typed in the template. */
|
|
123
|
+
static ngTemplateContextGuard(_dir, _ctx) {
|
|
124
|
+
return true;
|
|
125
|
+
}
|
|
126
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvDialogTemplate, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
127
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.7", type: MlvDialogTemplate, isStandalone: true, selector: "ng-template[mlvDialog]", inputs: { mlvDialog: { classPropertyName: "mlvDialog", publicName: "mlvDialog", isSignal: true, isRequired: false, transformFunction: null }, mlvDialogOptions: { classPropertyName: "mlvDialogOptions", publicName: "mlvDialogOptions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { mlvDialog: "mlvDialogChange", mlvDialogOpened: "mlvDialogOpened", mlvDialogClosed: "mlvDialogClosed" }, exportAs: ["mlvDialog"], ngImport: i0 });
|
|
128
|
+
}
|
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvDialogTemplate, decorators: [{
|
|
130
|
+
type: Directive,
|
|
131
|
+
args: [{
|
|
132
|
+
selector: 'ng-template[mlvDialog]',
|
|
133
|
+
exportAs: 'mlvDialog',
|
|
134
|
+
}]
|
|
135
|
+
}], ctorParameters: () => [], propDecorators: { mlvDialog: [{ type: i0.Input, args: [{ isSignal: true, alias: "mlvDialog", required: false }] }, { type: i0.Output, args: ["mlvDialogChange"] }], mlvDialogOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "mlvDialogOptions", required: false }] }], mlvDialogOpened: [{ type: i0.Output, args: ["mlvDialogOpened"] }], mlvDialogClosed: [{ type: i0.Output, args: ["mlvDialogClosed"] }] } });
|
|
136
|
+
//# sourceMappingURL=dialog-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog-template.js","sourceRoot":"","sources":["../../../../../../libs/core/dialog/src/lib/dialog-template.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n DestroyRef,\n Directive,\n effect,\n inject,\n input,\n model,\n output,\n TemplateRef,\n untracked,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport type {\n MlvDialogConfig,\n MlvDialogTemplateContext,\n} from './dialog-config';\nimport type { MlvDialogRef } from './dialog-ref';\nimport { MlvDialogService } from './dialog.service';\n\n/**\n * Declarative sugar over `MlvDialogService.open(templateRef, options)`.\n *\n * ```html\n * <ng-template [(mlvDialog)]=\"editing\" [mlvDialogOptions]=\"{ size: 's' }\" let-dialog>\n * <mlv-dialog>\n * <mlv-dialog-header title=\"Edit user\" />\n * <mlv-dialog-body>…</mlv-dialog-body>\n * <mlv-dialog-footer><button mlvButton mlvDialogClose=\"saved\">Save</button></mlv-dialog-footer>\n * </mlv-dialog>\n * </ng-template>\n * ```\n *\n * The template is instantiated only while open (lazy by default) and gets\n * the same context as `open(templateRef)`: the ref as `let-dialog`,\n * `let-data=\"data\"`, `let-config=\"config\"`. Setting the model to `true` opens,\n * `false` closes (leave animation included), and closing from inside —\n * `[mlvDialogClose]`, Escape, backdrop, `dialog.close()` — flips the model\n * back to `false` and emits `mlvDialogClosed` with the result.\n *\n * Setting the model back to `true` while the previous instance is still\n * leaving is honoured: the intent is remembered and a fresh dialog opens as\n * soon as that instance is disposed, after its `mlvDialogClosed` has fired.\n * Re-opening from **inside** an `(mlvDialogClosed)` handler is the one case\n * that does not work: the handler runs before the model settles, so the write\n * is overwritten. Re-open from a later tick, or while the dialog is leaving.\n *\n * If the host is destroyed while a dialog is open, that dialog is closed too — outputs are not emitted after the host is destroyed.\n */\n@Directive({\n selector: 'ng-template[mlvDialog]',\n exportAs: 'mlvDialog',\n})\nexport class MlvDialogTemplate<R = unknown, D = unknown> {\n /** Whether the dialog is open. Two-way bindable: `[(mlvDialog)]=\"open\"`. */\n readonly mlvDialog = model<boolean>(false);\n\n /** Options passed to `MlvDialogService.open()`. Read when the dialog opens; later changes apply to the next open. */\n readonly mlvDialogOptions = input<MlvDialogConfig<D>>();\n\n /** Emits after the dialog has been opened. */\n readonly mlvDialogOpened = output<void>();\n\n /** Emits the close result once the dialog is disposed. */\n readonly mlvDialogClosed = output<R | undefined>();\n\n /** @private The wrapped template. */\n private readonly _template =\n inject<TemplateRef<MlvDialogTemplateContext<R, D>>>(TemplateRef);\n /** @private Opens the template. */\n private readonly _dialogs = inject(MlvDialogService);\n /** @private Ref of the currently open (or leaving) dialog. */\n private _ref: MlvDialogRef<R, D> | null = null;\n /** @private Tears the `afterClosed()` subscription down with the host. */\n private readonly _destroyRef = inject(DestroyRef);\n /** @private Set when the model turned `true` while the previous instance was still leaving. */\n private _reopenPending = false;\n\n /** The ref of the open dialog (held until the leave animation completes), or `null`. */\n get ref(): MlvDialogRef<R, D> | null {\n return this._ref;\n }\n\n constructor() {\n effect(() => {\n const open = this.mlvDialog();\n untracked(() => {\n if (open) {\n if (this._ref) {\n // Still leaving (or open) — remember the intent instead of\n // dropping it, so the re-open happens once the old instance goes.\n this._reopenPending = this._ref.animationState() === 'leave';\n return;\n }\n this._open();\n } else {\n this._reopenPending = false;\n this._ref?.close();\n }\n });\n });\n this._destroyRef.onDestroy(() => {\n // The `afterClosed()` subscription is torn down with the host, so nothing\n // clears `_ref` afterwards — drop it here so `ref` never hands out a\n // disposed handle.\n this._ref?.close();\n this._ref = null;\n });\n }\n\n /** Sets the model to `true`. */\n open(): void {\n this.mlvDialog.set(true);\n }\n\n /** Sets the model to `false`. */\n close(): void {\n this.mlvDialog.set(false);\n }\n\n /** @private Opens through the service. Callers guarantee no dialog is live. */\n private _open(): void {\n const ref = this._dialogs.open<R, D>(\n this._template,\n this.mlvDialogOptions(),\n );\n this._ref = ref;\n // Subscribed before the output fires: a handler that synchronously disposes\n // the dialog must still clear `_ref` and flip the model back to `false`.\n // `takeUntilDestroyed` drops the callback with the host, so nothing is\n // emitted and the model is not touched after destruction.\n ref\n .afterClosed()\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((result) => {\n if (this._ref !== ref) {\n return;\n }\n this._ref = null;\n this.mlvDialogClosed.emit(result);\n const reopen = this._reopenPending && this.mlvDialog();\n this._reopenPending = false;\n if (reopen) {\n this._open();\n } else {\n this.mlvDialog.set(false);\n }\n });\n this.mlvDialogOpened.emit();\n }\n\n /** Type guard so `let-dialog` / `let-data` are typed in the template. */\n static ngTemplateContextGuard<R, D>(\n _dir: MlvDialogTemplate<R, D>,\n _ctx: unknown,\n ): _ctx is MlvDialogTemplateContext<R, D> {\n return true;\n }\n}\n"]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, inject, InjectionToken, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { MlvDialog } from './dialog/dialog';
|
|
3
|
+
import { MlvDialogBody } from './dialog-body';
|
|
4
|
+
import { DIALOG_CONFIG } from './dialog-config';
|
|
5
|
+
import { MlvDialogHeader } from './dialog-header';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/** @internal The string passed to `MlvDialogService.open()`. */
|
|
8
|
+
export const MLV_DIALOG_TEXT = new InjectionToken('MLV_DIALOG_TEXT');
|
|
9
|
+
/**
|
|
10
|
+
* @internal Renders string content: a surface with the standard header (title
|
|
11
|
+
* from `config.title`, close button per `config.closable`) and a body holding
|
|
12
|
+
* the escaped text. Composes the same public parts consumers use.
|
|
13
|
+
*/
|
|
14
|
+
export class MlvDialogTextContent {
|
|
15
|
+
/** @protected Text rendered through interpolation (escaped, never HTML). */
|
|
16
|
+
_text = inject(MLV_DIALOG_TEXT);
|
|
17
|
+
/** @private Per-open configuration. */
|
|
18
|
+
_config = inject(DIALOG_CONFIG);
|
|
19
|
+
/**
|
|
20
|
+
* @protected A header is worth rendering when it has a title or a close
|
|
21
|
+
* button. `appearance: 'confirm'` forces the close button off inside
|
|
22
|
+
* `MlvDialogHeader`, so a titleless confirm surface would otherwise render an
|
|
23
|
+
* empty header bar.
|
|
24
|
+
*/
|
|
25
|
+
_showHeader = !!this._config.title ||
|
|
26
|
+
(this._config.closable !== false && this._config.appearance !== 'confirm');
|
|
27
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvDialogTextContent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MlvDialogTextContent, isStandalone: true, selector: "mlv-dialog-text-content", host: { classAttribute: "mlv-dialog-text-content" }, ngImport: i0, template: `
|
|
29
|
+
<mlv-dialog>
|
|
30
|
+
@if (_showHeader) {
|
|
31
|
+
<mlv-dialog-header />
|
|
32
|
+
}
|
|
33
|
+
<mlv-dialog-body>
|
|
34
|
+
<p class="mlv-dialog__text">{{ _text }}</p>
|
|
35
|
+
</mlv-dialog-body>
|
|
36
|
+
</mlv-dialog>
|
|
37
|
+
`, isInline: true, dependencies: [{ kind: "component", type: MlvDialog, selector: "mlv-dialog" }, { kind: "component", type: MlvDialogHeader, selector: "mlv-dialog-header, [mlvDialogHeader]", inputs: ["title", "closable"] }, { kind: "component", type: MlvDialogBody, selector: "mlv-dialog-body, [mlvDialogBody]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
38
|
+
}
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MlvDialogTextContent, decorators: [{
|
|
40
|
+
type: Component,
|
|
41
|
+
args: [{
|
|
42
|
+
selector: 'mlv-dialog-text-content',
|
|
43
|
+
imports: [MlvDialog, MlvDialogHeader, MlvDialogBody],
|
|
44
|
+
template: `
|
|
45
|
+
<mlv-dialog>
|
|
46
|
+
@if (_showHeader) {
|
|
47
|
+
<mlv-dialog-header />
|
|
48
|
+
}
|
|
49
|
+
<mlv-dialog-body>
|
|
50
|
+
<p class="mlv-dialog__text">{{ _text }}</p>
|
|
51
|
+
</mlv-dialog-body>
|
|
52
|
+
</mlv-dialog>
|
|
53
|
+
`,
|
|
54
|
+
encapsulation: ViewEncapsulation.None,
|
|
55
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
56
|
+
host: { class: 'mlv-dialog-text-content' },
|
|
57
|
+
}]
|
|
58
|
+
}] });
|
|
59
|
+
//# sourceMappingURL=dialog-text-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dialog-text-content.js","sourceRoot":"","sources":["../../../../../../libs/core/dialog/src/lib/dialog-text-content.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,SAAS,EACT,MAAM,EACN,cAAc,EACd,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;;AAElD,gEAAgE;AAChE,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,cAAc,CAAS,iBAAiB,CAAC,CAAC;AAE7E;;;;GAIG;AAkBH,MAAM,OAAO,oBAAoB;IAC/B,4EAA4E;IACzD,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IACnD,uCAAuC;IACtB,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;IACjD;;;;;OAKG;IACgB,WAAW,GAC5B,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK;QACpB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC;uGAblE,oBAAoB;2FAApB,oBAAoB,wIAdrB;;;;;;;;;GAST,4DAVS,SAAS,uDAAE,eAAe,gHAAE,aAAa;;2FAexC,oBAAoB;kBAjBhC,SAAS;mBAAC;oBACT,QAAQ,EAAE,yBAAyB;oBACnC,OAAO,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,aAAa,CAAC;oBACpD,QAAQ,EAAE;;;;;;;;;GAST;oBACD,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,IAAI,EAAE,EAAE,KAAK,EAAE,yBAAyB,EAAE;iBAC3C","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n inject,\n InjectionToken,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { MlvDialog } from './dialog/dialog';\nimport { MlvDialogBody } from './dialog-body';\nimport { DIALOG_CONFIG } from './dialog-config';\nimport { MlvDialogHeader } from './dialog-header';\n\n/** @internal The string passed to `MlvDialogService.open()`. */\nexport const MLV_DIALOG_TEXT = new InjectionToken<string>('MLV_DIALOG_TEXT');\n\n/**\n * @internal Renders string content: a surface with the standard header (title\n * from `config.title`, close button per `config.closable`) and a body holding\n * the escaped text. Composes the same public parts consumers use.\n */\n@Component({\n selector: 'mlv-dialog-text-content',\n imports: [MlvDialog, MlvDialogHeader, MlvDialogBody],\n template: `\n <mlv-dialog>\n @if (_showHeader) {\n <mlv-dialog-header />\n }\n <mlv-dialog-body>\n <p class=\"mlv-dialog__text\">{{ _text }}</p>\n </mlv-dialog-body>\n </mlv-dialog>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'mlv-dialog-text-content' },\n})\nexport class MlvDialogTextContent {\n /** @protected Text rendered through interpolation (escaped, never HTML). */\n protected readonly _text = inject(MLV_DIALOG_TEXT);\n /** @private Per-open configuration. */\n private readonly _config = inject(DIALOG_CONFIG);\n /**\n * @protected A header is worth rendering when it has a title or a close\n * button. `appearance: 'confirm'` forces the close button off inside\n * `MlvDialogHeader`, so a titleless confirm surface would otherwise render an\n * empty header bar.\n */\n protected readonly _showHeader =\n !!this._config.title ||\n (this._config.closable !== false && this._config.appearance !== 'confirm');\n}\n"]}
|