@lifecorner/angular-ui-kit 3.4.0 → 3.5.0
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/README.md +12 -2
- package/fesm2022/lifecorner-angular-ui-kit-accordion.mjs +454 -0
- package/fesm2022/lifecorner-angular-ui-kit-accordion.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-alert.mjs +297 -0
- package/fesm2022/lifecorner-angular-ui-kit-alert.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-app-shell.mjs +190 -0
- package/fesm2022/lifecorner-angular-ui-kit-app-shell.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-area-chart.mjs +446 -0
- package/fesm2022/lifecorner-angular-ui-kit-area-chart.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-avatar-group.mjs +158 -0
- package/fesm2022/lifecorner-angular-ui-kit-avatar-group.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-avatar.mjs +216 -0
- package/fesm2022/lifecorner-angular-ui-kit-avatar.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-badge.mjs +121 -0
- package/fesm2022/lifecorner-angular-ui-kit-badge.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-bar-chart.mjs +360 -0
- package/fesm2022/lifecorner-angular-ui-kit-bar-chart.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-bottom-nav.mjs +344 -0
- package/fesm2022/lifecorner-angular-ui-kit-bottom-nav.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-breadcrumbs.mjs +191 -0
- package/fesm2022/lifecorner-angular-ui-kit-breadcrumbs.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-button.mjs +423 -0
- package/fesm2022/lifecorner-angular-ui-kit-button.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-calendar.mjs +368 -0
- package/fesm2022/lifecorner-angular-ui-kit-calendar.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-callout.mjs +203 -0
- package/fesm2022/lifecorner-angular-ui-kit-callout.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-card.mjs +323 -0
- package/fesm2022/lifecorner-angular-ui-kit-card.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-chat.mjs +790 -0
- package/fesm2022/lifecorner-angular-ui-kit-chat.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-checkbox.mjs +325 -0
- package/fesm2022/lifecorner-angular-ui-kit-checkbox.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-chip.mjs +214 -0
- package/fesm2022/lifecorner-angular-ui-kit-chip.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-choice-prompt.mjs +375 -0
- package/fesm2022/lifecorner-angular-ui-kit-choice-prompt.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-code-block.mjs +518 -0
- package/fesm2022/lifecorner-angular-ui-kit-code-block.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-color-picker.mjs +278 -0
- package/fesm2022/lifecorner-angular-ui-kit-color-picker.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-combobox.mjs +688 -0
- package/fesm2022/lifecorner-angular-ui-kit-combobox.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-confirm-dialog.mjs +494 -0
- package/fesm2022/lifecorner-angular-ui-kit-confirm-dialog.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-container.mjs +103 -0
- package/fesm2022/lifecorner-angular-ui-kit-container.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-copy-field.mjs +308 -0
- package/fesm2022/lifecorner-angular-ui-kit-copy-field.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-date-range-picker.mjs +466 -0
- package/fesm2022/lifecorner-angular-ui-kit-date-range-picker.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-datepicker.mjs +810 -0
- package/fesm2022/lifecorner-angular-ui-kit-datepicker.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-dependency-viewer.mjs +1761 -0
- package/fesm2022/lifecorner-angular-ui-kit-dependency-viewer.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-description-list.mjs +165 -0
- package/fesm2022/lifecorner-angular-ui-kit-description-list.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-diff-viewer.mjs +356 -0
- package/fesm2022/lifecorner-angular-ui-kit-diff-viewer.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-divider.mjs +119 -0
- package/fesm2022/lifecorner-angular-ui-kit-divider.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-document-viewer.mjs +762 -0
- package/fesm2022/lifecorner-angular-ui-kit-document-viewer.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-donut-chart.mjs +255 -0
- package/fesm2022/lifecorner-angular-ui-kit-donut-chart.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-drawer.mjs +308 -0
- package/fesm2022/lifecorner-angular-ui-kit-drawer.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-email-input.mjs +519 -0
- package/fesm2022/lifecorner-angular-ui-kit-email-input.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-empty-state.mjs +143 -0
- package/fesm2022/lifecorner-angular-ui-kit-empty-state.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-error-display.mjs +306 -0
- package/fesm2022/lifecorner-angular-ui-kit-error-display.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-field-group.mjs +154 -0
- package/fesm2022/lifecorner-angular-ui-kit-field-group.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-file-upload.mjs +281 -0
- package/fesm2022/lifecorner-angular-ui-kit-file-upload.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-filter-bar.mjs +258 -0
- package/fesm2022/lifecorner-angular-ui-kit-filter-bar.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-footer.mjs +200 -0
- package/fesm2022/lifecorner-angular-ui-kit-footer.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-funnel-chart.mjs +292 -0
- package/fesm2022/lifecorner-angular-ui-kit-funnel-chart.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-gallery.mjs +563 -0
- package/fesm2022/lifecorner-angular-ui-kit-gallery.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-gantt-chart.mjs +314 -0
- package/fesm2022/lifecorner-angular-ui-kit-gantt-chart.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-gauge.mjs +265 -0
- package/fesm2022/lifecorner-angular-ui-kit-gauge.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-header.mjs +955 -0
- package/fesm2022/lifecorner-angular-ui-kit-header.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-heatmap.mjs +305 -0
- package/fesm2022/lifecorner-angular-ui-kit-heatmap.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-hero.mjs +168 -0
- package/fesm2022/lifecorner-angular-ui-kit-hero.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-icon-names.mjs +9 -0
- package/fesm2022/lifecorner-angular-ui-kit-icon-names.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-icon.mjs +1026 -0
- package/fesm2022/lifecorner-angular-ui-kit-icon.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-input.mjs +595 -0
- package/fesm2022/lifecorner-angular-ui-kit-input.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-internal-chart.mjs +105 -0
- package/fesm2022/lifecorner-angular-ui-kit-internal-chart.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-internal-overlay.mjs +50 -0
- package/fesm2022/lifecorner-angular-ui-kit-internal-overlay.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-internal-url.mjs +22 -0
- package/fesm2022/lifecorner-angular-ui-kit-internal-url.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-kanban-board.mjs +319 -0
- package/fesm2022/lifecorner-angular-ui-kit-kanban-board.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-line-chart.mjs +413 -0
- package/fesm2022/lifecorner-angular-ui-kit-line-chart.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-list.mjs +338 -0
- package/fesm2022/lifecorner-angular-ui-kit-list.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-log-viewer.mjs +813 -0
- package/fesm2022/lifecorner-angular-ui-kit-log-viewer.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-logo.mjs +226 -0
- package/fesm2022/lifecorner-angular-ui-kit-logo.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-markdown.mjs +756 -0
- package/fesm2022/lifecorner-angular-ui-kit-markdown.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-menu.mjs +321 -0
- package/fesm2022/lifecorner-angular-ui-kit-menu.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-modal.mjs +329 -0
- package/fesm2022/lifecorner-angular-ui-kit-modal.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-models.mjs +0 -0
- package/fesm2022/lifecorner-angular-ui-kit-next-step-card.mjs +419 -0
- package/fesm2022/lifecorner-angular-ui-kit-next-step-card.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-notification-center.mjs +644 -0
- package/fesm2022/lifecorner-angular-ui-kit-notification-center.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-number-input.mjs +401 -0
- package/fesm2022/lifecorner-angular-ui-kit-number-input.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-page-header.mjs +266 -0
- package/fesm2022/lifecorner-angular-ui-kit-page-header.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-page-layout.mjs +127 -0
- package/fesm2022/lifecorner-angular-ui-kit-page-layout.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-pagination.mjs +343 -0
- package/fesm2022/lifecorner-angular-ui-kit-pagination.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-password-input.mjs +696 -0
- package/fesm2022/lifecorner-angular-ui-kit-password-input.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-pie-chart.mjs +162 -0
- package/fesm2022/lifecorner-angular-ui-kit-pie-chart.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-pipeline.mjs +159 -0
- package/fesm2022/lifecorner-angular-ui-kit-pipeline.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-popover.mjs +190 -0
- package/fesm2022/lifecorner-angular-ui-kit-popover.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-progress-bar.mjs +190 -0
- package/fesm2022/lifecorner-angular-ui-kit-progress-bar.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-progress-ring.mjs +175 -0
- package/fesm2022/lifecorner-angular-ui-kit-progress-ring.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-provider-button.mjs +255 -0
- package/fesm2022/lifecorner-angular-ui-kit-provider-button.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-radar-chart.mjs +309 -0
- package/fesm2022/lifecorner-angular-ui-kit-radar-chart.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-radio.mjs +708 -0
- package/fesm2022/lifecorner-angular-ui-kit-radio.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-rating.mjs +327 -0
- package/fesm2022/lifecorner-angular-ui-kit-rating.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-rich-text-editor.mjs +718 -0
- package/fesm2022/lifecorner-angular-ui-kit-rich-text-editor.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-scatter-plot.mjs +415 -0
- package/fesm2022/lifecorner-angular-ui-kit-scatter-plot.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-search-input.mjs +290 -0
- package/fesm2022/lifecorner-angular-ui-kit-search-input.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-section.mjs +127 -0
- package/fesm2022/lifecorner-angular-ui-kit-section.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-select.mjs +650 -0
- package/fesm2022/lifecorner-angular-ui-kit-select.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-sidenav.mjs +691 -0
- package/fesm2022/lifecorner-angular-ui-kit-sidenav.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-skeleton.mjs +144 -0
- package/fesm2022/lifecorner-angular-ui-kit-skeleton.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-slider.mjs +204 -0
- package/fesm2022/lifecorner-angular-ui-kit-slider.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-spacer.mjs +73 -0
- package/fesm2022/lifecorner-angular-ui-kit-spacer.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-sparkline.mjs +318 -0
- package/fesm2022/lifecorner-angular-ui-kit-sparkline.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-spinner.mjs +95 -0
- package/fesm2022/lifecorner-angular-ui-kit-spinner.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-split-pane.mjs +298 -0
- package/fesm2022/lifecorner-angular-ui-kit-split-pane.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-stack.mjs +162 -0
- package/fesm2022/lifecorner-angular-ui-kit-stack.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-stacked-bar-chart.mjs +412 -0
- package/fesm2022/lifecorner-angular-ui-kit-stacked-bar-chart.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-stage-list.mjs +186 -0
- package/fesm2022/lifecorner-angular-ui-kit-stage-list.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-stat-trend.mjs +224 -0
- package/fesm2022/lifecorner-angular-ui-kit-stat-trend.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-status-dot.mjs +122 -0
- package/fesm2022/lifecorner-angular-ui-kit-status-dot.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-stepper.mjs +209 -0
- package/fesm2022/lifecorner-angular-ui-kit-stepper.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-switch.mjs +249 -0
- package/fesm2022/lifecorner-angular-ui-kit-switch.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-table.mjs +1434 -0
- package/fesm2022/lifecorner-angular-ui-kit-table.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-tabs.mjs +407 -0
- package/fesm2022/lifecorner-angular-ui-kit-tabs.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-tag-input.mjs +380 -0
- package/fesm2022/lifecorner-angular-ui-kit-tag-input.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-textarea.mjs +440 -0
- package/fesm2022/lifecorner-angular-ui-kit-textarea.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-theme.mjs +145 -0
- package/fesm2022/lifecorner-angular-ui-kit-theme.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-timeline.mjs +262 -0
- package/fesm2022/lifecorner-angular-ui-kit-timeline.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-toast.mjs +352 -0
- package/fesm2022/lifecorner-angular-ui-kit-toast.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-toggle-group.mjs +215 -0
- package/fesm2022/lifecorner-angular-ui-kit-toggle-group.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-tokens.mjs +134 -0
- package/fesm2022/lifecorner-angular-ui-kit-tokens.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-toolbar.mjs +225 -0
- package/fesm2022/lifecorner-angular-ui-kit-toolbar.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-tooltip.mjs +386 -0
- package/fesm2022/lifecorner-angular-ui-kit-tooltip.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-tree-view.mjs +509 -0
- package/fesm2022/lifecorner-angular-ui-kit-tree-view.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-typography.mjs +209 -0
- package/fesm2022/lifecorner-angular-ui-kit-typography.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-verification-code-input.mjs +365 -0
- package/fesm2022/lifecorner-angular-ui-kit-verification-code-input.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit-waterfall-chart.mjs +371 -0
- package/fesm2022/lifecorner-angular-ui-kit-waterfall-chart.mjs.map +1 -0
- package/fesm2022/lifecorner-angular-ui-kit.mjs +109 -38925
- package/package.json +449 -1
- package/types/lifecorner-angular-ui-kit-accordion.d.ts +239 -0
- package/types/lifecorner-angular-ui-kit-alert.d.ts +189 -0
- package/types/lifecorner-angular-ui-kit-app-shell.d.ts +148 -0
- package/types/lifecorner-angular-ui-kit-area-chart.d.ts +180 -0
- package/types/lifecorner-angular-ui-kit-avatar-group.d.ts +62 -0
- package/types/lifecorner-angular-ui-kit-avatar.d.ts +131 -0
- package/types/lifecorner-angular-ui-kit-badge.d.ts +59 -0
- package/types/lifecorner-angular-ui-kit-bar-chart.d.ts +157 -0
- package/types/lifecorner-angular-ui-kit-bottom-nav.d.ts +184 -0
- package/types/lifecorner-angular-ui-kit-breadcrumbs.d.ts +55 -0
- package/types/lifecorner-angular-ui-kit-button.d.ts +181 -0
- package/types/lifecorner-angular-ui-kit-calendar.d.ts +136 -0
- package/types/lifecorner-angular-ui-kit-callout.d.ts +77 -0
- package/types/lifecorner-angular-ui-kit-card.d.ts +213 -0
- package/types/lifecorner-angular-ui-kit-chat.d.ts +379 -0
- package/types/lifecorner-angular-ui-kit-checkbox.d.ts +116 -0
- package/types/lifecorner-angular-ui-kit-chip.d.ts +104 -0
- package/types/lifecorner-angular-ui-kit-choice-prompt.d.ts +186 -0
- package/types/lifecorner-angular-ui-kit-code-block.d.ts +85 -0
- package/types/lifecorner-angular-ui-kit-color-picker.d.ts +88 -0
- package/types/lifecorner-angular-ui-kit-combobox.d.ts +222 -0
- package/types/lifecorner-angular-ui-kit-confirm-dialog.d.ts +211 -0
- package/types/lifecorner-angular-ui-kit-container.d.ts +47 -0
- package/types/lifecorner-angular-ui-kit-copy-field.d.ts +89 -0
- package/types/lifecorner-angular-ui-kit-date-range-picker.d.ts +126 -0
- package/types/lifecorner-angular-ui-kit-datepicker.d.ts +363 -0
- package/types/lifecorner-angular-ui-kit-dependency-viewer.d.ts +568 -0
- package/types/lifecorner-angular-ui-kit-description-list.d.ts +137 -0
- package/types/lifecorner-angular-ui-kit-diff-viewer.d.ts +93 -0
- package/types/lifecorner-angular-ui-kit-divider.d.ts +66 -0
- package/types/lifecorner-angular-ui-kit-document-viewer.d.ts +256 -0
- package/types/lifecorner-angular-ui-kit-donut-chart.d.ts +92 -0
- package/types/lifecorner-angular-ui-kit-drawer.d.ts +124 -0
- package/types/lifecorner-angular-ui-kit-email-input.d.ts +292 -0
- package/types/lifecorner-angular-ui-kit-empty-state.d.ts +81 -0
- package/types/lifecorner-angular-ui-kit-error-display.d.ts +157 -0
- package/types/lifecorner-angular-ui-kit-field-group.d.ts +69 -0
- package/types/lifecorner-angular-ui-kit-file-upload.d.ts +122 -0
- package/types/lifecorner-angular-ui-kit-filter-bar.d.ts +116 -0
- package/types/lifecorner-angular-ui-kit-footer.d.ts +97 -0
- package/types/lifecorner-angular-ui-kit-funnel-chart.d.ts +97 -0
- package/types/lifecorner-angular-ui-kit-gallery.d.ts +240 -0
- package/types/lifecorner-angular-ui-kit-gantt-chart.d.ts +133 -0
- package/types/lifecorner-angular-ui-kit-gauge.d.ts +94 -0
- package/types/lifecorner-angular-ui-kit-header.d.ts +496 -0
- package/types/lifecorner-angular-ui-kit-heatmap.d.ts +126 -0
- package/types/lifecorner-angular-ui-kit-hero.d.ts +121 -0
- package/types/lifecorner-angular-ui-kit-icon-names.d.ts +21 -0
- package/types/lifecorner-angular-ui-kit-icon.d.ts +260 -0
- package/types/lifecorner-angular-ui-kit-input.d.ts +346 -0
- package/types/lifecorner-angular-ui-kit-internal-chart.d.ts +86 -0
- package/types/lifecorner-angular-ui-kit-internal-overlay.d.ts +31 -0
- package/types/lifecorner-angular-ui-kit-internal-url.d.ts +22 -0
- package/types/lifecorner-angular-ui-kit-kanban-board.d.ts +111 -0
- package/types/lifecorner-angular-ui-kit-line-chart.d.ts +186 -0
- package/types/lifecorner-angular-ui-kit-list.d.ts +215 -0
- package/types/lifecorner-angular-ui-kit-log-viewer.d.ts +355 -0
- package/types/lifecorner-angular-ui-kit-logo.d.ts +182 -0
- package/types/lifecorner-angular-ui-kit-markdown.d.ts +278 -0
- package/types/lifecorner-angular-ui-kit-menu.d.ts +152 -0
- package/types/lifecorner-angular-ui-kit-modal.d.ts +207 -0
- package/types/lifecorner-angular-ui-kit-models.d.ts +62 -0
- package/types/lifecorner-angular-ui-kit-next-step-card.d.ts +262 -0
- package/types/lifecorner-angular-ui-kit-notification-center.d.ts +237 -0
- package/types/lifecorner-angular-ui-kit-number-input.d.ts +126 -0
- package/types/lifecorner-angular-ui-kit-page-header.d.ts +178 -0
- package/types/lifecorner-angular-ui-kit-page-layout.d.ts +61 -0
- package/types/lifecorner-angular-ui-kit-pagination.d.ts +141 -0
- package/types/lifecorner-angular-ui-kit-password-input.d.ts +361 -0
- package/types/lifecorner-angular-ui-kit-pie-chart.d.ts +58 -0
- package/types/lifecorner-angular-ui-kit-pipeline.d.ts +89 -0
- package/types/lifecorner-angular-ui-kit-popover.d.ts +104 -0
- package/types/lifecorner-angular-ui-kit-progress-bar.d.ts +116 -0
- package/types/lifecorner-angular-ui-kit-progress-ring.d.ts +67 -0
- package/types/lifecorner-angular-ui-kit-provider-button.d.ts +137 -0
- package/types/lifecorner-angular-ui-kit-radar-chart.d.ts +113 -0
- package/types/lifecorner-angular-ui-kit-radio.d.ts +297 -0
- package/types/lifecorner-angular-ui-kit-rating.d.ts +115 -0
- package/types/lifecorner-angular-ui-kit-rich-text-editor.d.ts +226 -0
- package/types/lifecorner-angular-ui-kit-scatter-plot.d.ts +190 -0
- package/types/lifecorner-angular-ui-kit-search-input.d.ts +137 -0
- package/types/lifecorner-angular-ui-kit-section.d.ts +34 -0
- package/types/lifecorner-angular-ui-kit-select.d.ts +274 -0
- package/types/lifecorner-angular-ui-kit-sidenav.d.ts +367 -0
- package/types/lifecorner-angular-ui-kit-skeleton.d.ts +61 -0
- package/types/lifecorner-angular-ui-kit-slider.d.ts +79 -0
- package/types/lifecorner-angular-ui-kit-spacer.d.ts +27 -0
- package/types/lifecorner-angular-ui-kit-sparkline.d.ts +113 -0
- package/types/lifecorner-angular-ui-kit-spinner.d.ts +50 -0
- package/types/lifecorner-angular-ui-kit-split-pane.d.ts +131 -0
- package/types/lifecorner-angular-ui-kit-stack.d.ts +49 -0
- package/types/lifecorner-angular-ui-kit-stacked-bar-chart.d.ts +171 -0
- package/types/lifecorner-angular-ui-kit-stage-list.d.ts +69 -0
- package/types/lifecorner-angular-ui-kit-stat-trend.d.ts +62 -0
- package/types/lifecorner-angular-ui-kit-status-dot.d.ts +62 -0
- package/types/lifecorner-angular-ui-kit-stepper.d.ts +113 -0
- package/types/lifecorner-angular-ui-kit-switch.d.ts +141 -0
- package/types/lifecorner-angular-ui-kit-table.d.ts +632 -0
- package/types/lifecorner-angular-ui-kit-tabs.d.ts +196 -0
- package/types/lifecorner-angular-ui-kit-tag-input.d.ts +123 -0
- package/types/lifecorner-angular-ui-kit-textarea.d.ts +225 -0
- package/types/lifecorner-angular-ui-kit-theme.d.ts +91 -0
- package/types/lifecorner-angular-ui-kit-timeline.d.ts +162 -0
- package/types/lifecorner-angular-ui-kit-toast.d.ts +204 -0
- package/types/lifecorner-angular-ui-kit-toggle-group.d.ts +100 -0
- package/types/lifecorner-angular-ui-kit-tokens.d.ts +134 -0
- package/types/lifecorner-angular-ui-kit-toolbar.d.ts +120 -0
- package/types/lifecorner-angular-ui-kit-tooltip.d.ts +120 -0
- package/types/lifecorner-angular-ui-kit-tree-view.d.ts +231 -0
- package/types/lifecorner-angular-ui-kit-typography.d.ts +126 -0
- package/types/lifecorner-angular-ui-kit-verification-code-input.d.ts +187 -0
- package/types/lifecorner-angular-ui-kit-waterfall-chart.d.ts +163 -0
- package/types/lifecorner-angular-ui-kit.d.ts +109 -17401
- package/fesm2022/lifecorner-angular-ui-kit.mjs.map +0 -1
|
@@ -0,0 +1,568 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export type DependencyNodeStatus = 'default' | 'active' | 'success' | 'warning' | 'error' | 'muted';
|
|
3
|
+
export type DependencyDirection = 'horizontal' | 'vertical';
|
|
4
|
+
export type DependencyRelation = 'depends' | 'blocks' | 'references' | 'requires' | 'extends' | 'implements' | 'uses';
|
|
5
|
+
/**
|
|
6
|
+
* How nodes are placed.
|
|
7
|
+
*
|
|
8
|
+
* - `tree` — column = depth in the `children` tree; `dependsOn` links are drawn
|
|
9
|
+
* over the top as cross-references and don't move anything.
|
|
10
|
+
* - `layered` — column = depth in the *dependency* graph (Sugiyama). Every link is
|
|
11
|
+
* a precedence constraint, so a node always sits past everything it depends on.
|
|
12
|
+
*/
|
|
13
|
+
export type DependencyLayout = 'tree' | 'layered';
|
|
14
|
+
/**
|
|
15
|
+
* How the graph is scaled into the frame.
|
|
16
|
+
*
|
|
17
|
+
* - `none` — no fitting; the viewport is whatever the user panned/zoomed to.
|
|
18
|
+
* - `contain` — shrink until all of it fits, both axes.
|
|
19
|
+
* - `fit-width` — shrink to the frame's *width* only and let the viewer grow
|
|
20
|
+
* taller, so the page scrolls instead of the nodes shrinking out of legibility.
|
|
21
|
+
*/
|
|
22
|
+
export type DependencyFitMode = 'none' | 'contain' | 'fit-width';
|
|
23
|
+
export interface DependencyEdgeDef {
|
|
24
|
+
/** Target node id */
|
|
25
|
+
id: string;
|
|
26
|
+
/** Relationship type — drives edge colour and dash style */
|
|
27
|
+
relation?: DependencyRelation;
|
|
28
|
+
/**
|
|
29
|
+
* Free-form edge label, for graphs whose relationship vocabulary is wider than
|
|
30
|
+
* `DependencyRelation` (e.g. `CALLS`, `HAS_COLUMN`, `AUTHORED_BY`). Shown
|
|
31
|
+
* verbatim instead of the `relation` label; colouring still follows `relation`,
|
|
32
|
+
* which may be omitted for a generic look.
|
|
33
|
+
*/
|
|
34
|
+
relationLabel?: string;
|
|
35
|
+
}
|
|
36
|
+
export interface DependencyNode {
|
|
37
|
+
/** Unique identifier */
|
|
38
|
+
id: string;
|
|
39
|
+
/** Display label */
|
|
40
|
+
label: string;
|
|
41
|
+
/** Optional description */
|
|
42
|
+
description?: string;
|
|
43
|
+
/** Optional icon name */
|
|
44
|
+
icon?: string;
|
|
45
|
+
/** Visual status / color */
|
|
46
|
+
status?: DependencyNodeStatus;
|
|
47
|
+
/**
|
|
48
|
+
* Category of the node (e.g. `Class`, `Table`, `Feature`). Colours the node via
|
|
49
|
+
* the `typeColors` input and drives the type legend. Takes precedence over
|
|
50
|
+
* `status` for the fill; `status` still applies when no type colour resolves.
|
|
51
|
+
*/
|
|
52
|
+
type?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Number of neighbours that exist but aren't part of `children` — rendered as a
|
|
55
|
+
* "+N" marker. Use when a node's neighbourhood is capped (god nodes) so the
|
|
56
|
+
* truncation is visible instead of silent.
|
|
57
|
+
*/
|
|
58
|
+
moreCount?: number;
|
|
59
|
+
/** Child nodes: items this node is required for (right / bottom side) */
|
|
60
|
+
children?: DependencyNode[];
|
|
61
|
+
/** Dependencies: items this node depends on (shown as cross-reference edges) */
|
|
62
|
+
dependsOn?: DependencyEdgeDef[];
|
|
63
|
+
/**
|
|
64
|
+
* Opaque payload. Never read or interpreted by the component; handed back
|
|
65
|
+
* unchanged on `nodeSelect` / `nodeExpand` so callers can carry their own
|
|
66
|
+
* metadata (keys, labels, file paths, …) through the viewer.
|
|
67
|
+
*/
|
|
68
|
+
data?: Record<string, unknown>;
|
|
69
|
+
}
|
|
70
|
+
interface LayoutNode {
|
|
71
|
+
id: string;
|
|
72
|
+
label: string;
|
|
73
|
+
description?: string;
|
|
74
|
+
icon?: string;
|
|
75
|
+
status: DependencyNodeStatus;
|
|
76
|
+
type?: string;
|
|
77
|
+
moreCount?: number;
|
|
78
|
+
x: number;
|
|
79
|
+
y: number;
|
|
80
|
+
width: number;
|
|
81
|
+
height: number;
|
|
82
|
+
/** The label as drawn: wrapped to the box, last line ellipsised if it had to be. */
|
|
83
|
+
lines: string[];
|
|
84
|
+
/** `lines` don't carry the whole label — the template offers it as a tooltip. */
|
|
85
|
+
truncated: boolean;
|
|
86
|
+
depth: number;
|
|
87
|
+
parentId: string | null;
|
|
88
|
+
incomingCount: number;
|
|
89
|
+
outgoingCount: number;
|
|
90
|
+
}
|
|
91
|
+
interface LayoutEdge {
|
|
92
|
+
id: string;
|
|
93
|
+
path: string;
|
|
94
|
+
sourceId: string;
|
|
95
|
+
targetId: string;
|
|
96
|
+
relation?: DependencyRelation;
|
|
97
|
+
/** Resolved display label (free-form `relationLabel` wins over the relation's) */
|
|
98
|
+
label?: string;
|
|
99
|
+
labelX: number;
|
|
100
|
+
labelY: number;
|
|
101
|
+
/** How the label hangs off (labelX, labelY): centred on it, or starting/ending there. */
|
|
102
|
+
labelAnchor?: LabelAnchor;
|
|
103
|
+
color: string;
|
|
104
|
+
dashed: boolean;
|
|
105
|
+
/** Draws it as a secondary link: dimmed, and out of the layout's main flow. */
|
|
106
|
+
isCrossRef: boolean;
|
|
107
|
+
/** Whether to cap the edge with an arrowhead. */
|
|
108
|
+
arrow: boolean;
|
|
109
|
+
/** Arrow marker id suffix — always a known relation, so the marker resolves */
|
|
110
|
+
marker: DependencyRelation;
|
|
111
|
+
/** Set on bowed routes, so overlapping bows can be spread into lanes afterwards. */
|
|
112
|
+
bow?: BowInfo;
|
|
113
|
+
}
|
|
114
|
+
type LabelAnchor = 'start' | 'middle' | 'end';
|
|
115
|
+
type BowSide = 'below' | 'above' | 'right' | 'left';
|
|
116
|
+
/**
|
|
117
|
+
* A bowed route, described well enough to draw it again further out. `column` is
|
|
118
|
+
* the outermost box edge on the bow's side — the line that identifies which bows
|
|
119
|
+
* share a gutter — and `base` the line the bow actually clears (the boxes, or
|
|
120
|
+
* their toggle discs); `lo`/`hi` is the span it covers along that line. Together
|
|
121
|
+
* that is what lane assignment needs to know which bows collide.
|
|
122
|
+
*/
|
|
123
|
+
interface BowInfo {
|
|
124
|
+
side: BowSide;
|
|
125
|
+
column: number;
|
|
126
|
+
base: number;
|
|
127
|
+
/** Where the bow peaks, on the axis it bows along. */
|
|
128
|
+
apex: number;
|
|
129
|
+
lo: number;
|
|
130
|
+
hi: number;
|
|
131
|
+
source: LayoutNode;
|
|
132
|
+
target: LayoutNode;
|
|
133
|
+
obstacles: LayoutNode[];
|
|
134
|
+
dir: DependencyDirection;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Dependency viewer component for visualizing hierarchical and cross-cutting relationships.
|
|
138
|
+
*
|
|
139
|
+
* Features:
|
|
140
|
+
* - Tree layout (depth in the `children` nesting) and layered/DAG layout (depth in
|
|
141
|
+
* the dependency graph), via `layout`
|
|
142
|
+
* - Horizontal (left-to-right) and vertical (top-to-bottom) layout directions
|
|
143
|
+
* - Boxes sized to their labels: one width per graph (160–240px), labels wrapping
|
|
144
|
+
* onto a second line past the cap and ellipsised (with a tooltip) past that
|
|
145
|
+
* - Bidirectional dependencies: children (right/down) and dependsOn (cross-references)
|
|
146
|
+
* - Cross-references routed clear of the boxes: down the gutter to a later level,
|
|
147
|
+
* beside the level for siblings, in nested lanes where several overlap
|
|
148
|
+
* - Relationship types: depends, blocks, references, requires, extends, implements, uses
|
|
149
|
+
* - Edge labels showing relationship type
|
|
150
|
+
* - Dashed vs solid edges per relationship category
|
|
151
|
+
* - Color-coded edges per relationship type
|
|
152
|
+
* - Node status colors (default, active, success, warning, error, muted)
|
|
153
|
+
* - Pan and zoom controls with mouse wheel support
|
|
154
|
+
* - Fitting (`fitMode` / `autoFit`, `minNodeSize`) and a static, non-navigable
|
|
155
|
+
* mode (`interactive: false`)
|
|
156
|
+
* - Collapsible sub-trees
|
|
157
|
+
* - Interactive node selection with detail panel
|
|
158
|
+
* - Legend showing active relationship types
|
|
159
|
+
* - SVG arrowhead markers on cross-reference edges
|
|
160
|
+
* - Dark/light theme support
|
|
161
|
+
*
|
|
162
|
+
* ## Feeding it a graph
|
|
163
|
+
*
|
|
164
|
+
* `root` takes a single node (a tree) or an array (a forest — the shape to use for
|
|
165
|
+
* a flat set of items related only by `dependsOn`). Either way the input is treated
|
|
166
|
+
* as a graph: a link back to a node that already has a place in the layout — a
|
|
167
|
+
* cycle, or a node reached from a second parent — is drawn as a cross-reference
|
|
168
|
+
* arrow instead of being followed. Every node is laid out exactly once, and no
|
|
169
|
+
* input can make the layout recurse forever.
|
|
170
|
+
*
|
|
171
|
+
* ## Picking a layout
|
|
172
|
+
*
|
|
173
|
+
* `tree` (default) answers "what contains what": the column is the depth in the
|
|
174
|
+
* `children` nesting, and `dependsOn` links are drawn over the top without moving
|
|
175
|
+
* anything.
|
|
176
|
+
*
|
|
177
|
+
* `layered` answers "what has to happen first": the column is the depth in the
|
|
178
|
+
* dependency graph, so a node always sits past everything it depends on. Reach for
|
|
179
|
+
* it whenever the question is about order or impact rather than containment —
|
|
180
|
+
* a tree layout can only approximate that by first reducing the graph to a
|
|
181
|
+
* spanning tree, which throws away every link that doesn't fit one parent per node.
|
|
182
|
+
*
|
|
183
|
+
* For incremental exploration, hand in a wider `root` per step and let
|
|
184
|
+
* `nodeExpand` drive the loading. Pan, zoom, collapse state and selection all
|
|
185
|
+
* survive a `root` swap, and `anchorNodeId` (defaulting to the selected node)
|
|
186
|
+
* keeps the viewport pinned while the graph grows around it.
|
|
187
|
+
*
|
|
188
|
+
* @example
|
|
189
|
+
* ```html
|
|
190
|
+
* <lc-dependency-viewer [root]="specTree" direction="horizontal" />
|
|
191
|
+
* ```
|
|
192
|
+
*
|
|
193
|
+
* @example Order of work — a flat set of items, laid out by their dependencies
|
|
194
|
+
* ```html
|
|
195
|
+
* <lc-dependency-viewer
|
|
196
|
+
* [root]="items()"
|
|
197
|
+
* layout="layered"
|
|
198
|
+
* direction="horizontal"
|
|
199
|
+
* fitMode="fit-width"
|
|
200
|
+
* (nodeSelect)="openItem($event)"
|
|
201
|
+
* />
|
|
202
|
+
* ```
|
|
203
|
+
*
|
|
204
|
+
* @example Static overview — the whole graph at a glance, click-through only
|
|
205
|
+
* ```html
|
|
206
|
+
* <lc-dependency-viewer
|
|
207
|
+
* [root]="graph()"
|
|
208
|
+
* [autoFit]="true"
|
|
209
|
+
* [interactive]="false"
|
|
210
|
+
* height="360px"
|
|
211
|
+
* (nodeSelect)="openDetail($event)"
|
|
212
|
+
* />
|
|
213
|
+
* ```
|
|
214
|
+
*
|
|
215
|
+
* @example Incremental graph exploration
|
|
216
|
+
* ```html
|
|
217
|
+
* <lc-dependency-viewer
|
|
218
|
+
* [root]="graph()"
|
|
219
|
+
* [anchorNodeId]="anchor()"
|
|
220
|
+
* [typeColors]="{ Alpha: '#c1e3e9' }"
|
|
221
|
+
* (nodeSelect)="showDetails($event)"
|
|
222
|
+
* (nodeExpand)="loadNeighbours($event)"
|
|
223
|
+
* />
|
|
224
|
+
* ```
|
|
225
|
+
*/
|
|
226
|
+
export declare class DependencyViewerComponent {
|
|
227
|
+
/**
|
|
228
|
+
* The graph to draw. A single node is the root of a tree; an array is a forest,
|
|
229
|
+
* which is how you feed a flat set of items that has no natural root — e.g. the
|
|
230
|
+
* specs of a plan, related only by `dependsOn`.
|
|
231
|
+
*/
|
|
232
|
+
readonly root: import("@angular/core").InputSignal<DependencyNode | DependencyNode[]>;
|
|
233
|
+
readonly direction: import("@angular/core").InputSignal<DependencyDirection>;
|
|
234
|
+
readonly height: import("@angular/core").InputSignal<string>;
|
|
235
|
+
/**
|
|
236
|
+
* `tree` (default) places nodes by their depth in the `children` nesting, and
|
|
237
|
+
* draws `dependsOn` links over the top as cross-references.
|
|
238
|
+
*
|
|
239
|
+
* `layered` places them by their depth in the *dependency* graph: a node always
|
|
240
|
+
* sits past everything it depends on, transitively, and nodes that depend on
|
|
241
|
+
* nothing start the first layer. That makes `direction="horizontal"` read as an
|
|
242
|
+
* order of work — left to right — which a tree layout can only approximate by
|
|
243
|
+
* first throwing away every link that doesn't fit a single-parent hierarchy.
|
|
244
|
+
*
|
|
245
|
+
* Use `layered` for process, sequencing and impact views; `tree` for containment
|
|
246
|
+
* hierarchies, where the nesting *is* the structure.
|
|
247
|
+
*/
|
|
248
|
+
readonly layout: import("@angular/core").InputSignal<DependencyLayout>;
|
|
249
|
+
readonly showToolbar: import("@angular/core").InputSignal<boolean>;
|
|
250
|
+
readonly showEdgeLabels: import("@angular/core").InputSignal<boolean>;
|
|
251
|
+
readonly edgeWidth: import("@angular/core").InputSignal<number>;
|
|
252
|
+
/**
|
|
253
|
+
* Scales and centres the graph so that all of it fits the canvas, and re-fits
|
|
254
|
+
* whenever the container or the graph changes size. Turns the viewer into an
|
|
255
|
+
* overview: nothing to pan or zoom to, everything visible at once.
|
|
256
|
+
*
|
|
257
|
+
* Shrinks only — the fit never enlarges past 100%, so a two-node graph keeps its
|
|
258
|
+
* natural size instead of ballooning to fill the frame.
|
|
259
|
+
*
|
|
260
|
+
* Pair with `interactive: false` for a purely static display.
|
|
261
|
+
*
|
|
262
|
+
* Shorthand for `fitMode="contain"`, which supersedes it.
|
|
263
|
+
*/
|
|
264
|
+
readonly autoFit: import("@angular/core").InputSignal<boolean>;
|
|
265
|
+
/**
|
|
266
|
+
* How the graph is scaled into the frame. Defaults to `autoFit`'s setting —
|
|
267
|
+
* `contain` when it is on, `none` when it isn't — and overrides it when set.
|
|
268
|
+
*
|
|
269
|
+
* `contain` fits both axes, so everything is visible at once but a big graph
|
|
270
|
+
* shrinks to get there. `fit-width` fits the width only and lets the viewer grow
|
|
271
|
+
* as tall as the graph needs, so the nodes keep a readable size and the *page*
|
|
272
|
+
* scrolls; the graph itself never scrolls internally. Past roughly 20 nodes a
|
|
273
|
+
* process view generally wants `fit-width`.
|
|
274
|
+
*/
|
|
275
|
+
readonly fitMode: import("@angular/core").InputSignal<DependencyFitMode | null>;
|
|
276
|
+
/**
|
|
277
|
+
* Smallest node width, in px, that fitting may shrink to. Below it the fit stops
|
|
278
|
+
* scaling down and lets the graph overflow instead — which `fit-width` turns into
|
|
279
|
+
* page scroll, and `contain` into clipping. Pair it with `fit-width`.
|
|
280
|
+
*
|
|
281
|
+
* Nodes are 160px wide unscaled (wider — up to 240px — when the graph's labels
|
|
282
|
+
* need it), so e.g. `80` allows shrinking to half size.
|
|
283
|
+
*/
|
|
284
|
+
readonly minNodeSize: import("@angular/core").InputSignal<number | null>;
|
|
285
|
+
/**
|
|
286
|
+
* Viewport navigation: drag-to-pan, wheel-zoom and the toolbar's zoom buttons.
|
|
287
|
+
* `false` freezes the viewport — node selection, expansion and collapse keep
|
|
288
|
+
* working, so `nodeSelect` still fires in a static viewer.
|
|
289
|
+
*/
|
|
290
|
+
readonly interactive: import("@angular/core").InputSignal<boolean>;
|
|
291
|
+
/**
|
|
292
|
+
* Node the viewport holds still across `root` updates. Defaults to the node the
|
|
293
|
+
* user last selected, which keeps click-to-expand steady without any wiring.
|
|
294
|
+
* Set it explicitly to anchor somewhere else (e.g. a deep-linked node).
|
|
295
|
+
*/
|
|
296
|
+
readonly anchorNodeId: import("@angular/core").InputSignal<string | null>;
|
|
297
|
+
/** Fill colour per `DependencyNode.type`, e.g. `{ Class: '#8ea475' }`. */
|
|
298
|
+
readonly typeColors: import("@angular/core").InputSignal<Record<string, string>>;
|
|
299
|
+
/** Relations to hide. Cross-reference edges of these types aren't rendered. */
|
|
300
|
+
readonly hiddenRelations: import("@angular/core").InputSignal<readonly DependencyRelation[]>;
|
|
301
|
+
/** Node types to hide, matched against `DependencyNode.type`. */
|
|
302
|
+
readonly hiddenTypes: import("@angular/core").InputSignal<readonly string[]>;
|
|
303
|
+
/** Tooltip and accessible name of the zoom-in button. */
|
|
304
|
+
readonly zoomInLabel: import("@angular/core").InputSignal<string>;
|
|
305
|
+
/** Tooltip and accessible name of the zoom-out button. */
|
|
306
|
+
readonly zoomOutLabel: import("@angular/core").InputSignal<string>;
|
|
307
|
+
/** Tooltip and accessible name of the reset-zoom button. */
|
|
308
|
+
readonly resetZoomLabel: import("@angular/core").InputSignal<string>;
|
|
309
|
+
/** Prefix of the depth in the detail panel. */
|
|
310
|
+
readonly depthLabel: import("@angular/core").InputSignal<string>;
|
|
311
|
+
/** Prefix of the child count in the detail panel. */
|
|
312
|
+
readonly childrenLabel: import("@angular/core").InputSignal<string>;
|
|
313
|
+
/** Prefix of the dependency count in the detail panel. */
|
|
314
|
+
readonly dependsOnLabel: import("@angular/core").InputSignal<string>;
|
|
315
|
+
/** Heading of the dependency list in the detail panel. */
|
|
316
|
+
readonly dependenciesLabel: import("@angular/core").InputSignal<string>;
|
|
317
|
+
/** Fires when a node is selected (not on deselect), with the original node incl. `data`. */
|
|
318
|
+
readonly nodeSelect: import("@angular/core").OutputEmitterRef<DependencyNode>;
|
|
319
|
+
/** Fires on double-click — the hook for "expand this node's neighbourhood". */
|
|
320
|
+
readonly nodeExpand: import("@angular/core").OutputEmitterRef<DependencyNode>;
|
|
321
|
+
protected zoom: import("@angular/core").WritableSignal<number>;
|
|
322
|
+
protected panX: import("@angular/core").WritableSignal<number>;
|
|
323
|
+
protected panY: import("@angular/core").WritableSignal<number>;
|
|
324
|
+
protected selectedNodeId: import("@angular/core").WritableSignal<string | null>;
|
|
325
|
+
protected collapsedIds: import("@angular/core").WritableSignal<Set<string>>;
|
|
326
|
+
private isPanning;
|
|
327
|
+
private lastMouseX;
|
|
328
|
+
private lastMouseY;
|
|
329
|
+
private readonly hostEl;
|
|
330
|
+
private readonly canvasRef;
|
|
331
|
+
/** Last known layout position of the anchor, to compensate pan after a relayout. */
|
|
332
|
+
private anchorPos;
|
|
333
|
+
/** Template constants for laying out the label lines. */
|
|
334
|
+
protected readonly lineHeight = 15;
|
|
335
|
+
protected readonly baselineShift = 4;
|
|
336
|
+
/**
|
|
337
|
+
* Measures label text in the font the labels are drawn in. Built once, on first
|
|
338
|
+
* use — the host's font is what the SVG text inherits, and it isn't known until
|
|
339
|
+
* the component is in the document.
|
|
340
|
+
*/
|
|
341
|
+
private textMeasure;
|
|
342
|
+
private measureText;
|
|
343
|
+
private roots;
|
|
344
|
+
protected effectiveRoots: import("@angular/core").Signal<DependencyNode[]>;
|
|
345
|
+
private allOriginalNodes;
|
|
346
|
+
/** Box size and label lines, sized over the whole input — see `measureNodes`. */
|
|
347
|
+
private nodeMetrics;
|
|
348
|
+
/**
|
|
349
|
+
* The laid-out graph. Named `graph` rather than `layout` because `layout` is the
|
|
350
|
+
* input that picks *how* it gets laid out.
|
|
351
|
+
*/
|
|
352
|
+
protected graph: import("@angular/core").Signal<{
|
|
353
|
+
nodes: LayoutNode[];
|
|
354
|
+
edges: LayoutEdge[];
|
|
355
|
+
nodeMap: Map<string, LayoutNode>;
|
|
356
|
+
width: number;
|
|
357
|
+
height: number;
|
|
358
|
+
}>;
|
|
359
|
+
/**
|
|
360
|
+
* Tree layout over the forest: each root gets its own band along the secondary
|
|
361
|
+
* axis. A `visited` set shared by all of them keeps a node that hangs off two
|
|
362
|
+
* roots from being laid out twice — the second link becomes a cross-reference,
|
|
363
|
+
* exactly as a second parent within one tree does.
|
|
364
|
+
*/
|
|
365
|
+
private layoutTree;
|
|
366
|
+
/**
|
|
367
|
+
* Height `fit-width` derived from the graph, or `null` under any other mode.
|
|
368
|
+
*
|
|
369
|
+
* `fit-width` scales to the frame's width and lets the height follow the graph,
|
|
370
|
+
* so a tall graph runs past the frame and the *page* scrolls instead of the nodes
|
|
371
|
+
* shrinking out of legibility. The height is therefore always the graph's, never
|
|
372
|
+
* the frame's — including when the graph is the shorter of the two. Deriving it
|
|
373
|
+
* unconditionally is also what keeps the fit stable: this height becomes the
|
|
374
|
+
* canvas's, so a fit that consulted the canvas height would be reading back its
|
|
375
|
+
* own last output and could flip between two answers forever.
|
|
376
|
+
*/
|
|
377
|
+
protected contentHeight: import("@angular/core").WritableSignal<number | null>;
|
|
378
|
+
protected effectiveFitMode: import("@angular/core").Signal<DependencyFitMode>;
|
|
379
|
+
/** The host only gives up its configured height when the fit made it grow. */
|
|
380
|
+
protected hostHeight: import("@angular/core").Signal<string>;
|
|
381
|
+
/** `minNodeSize` expressed as the scale it forbids fitting to go below. */
|
|
382
|
+
private minFitScale;
|
|
383
|
+
constructor();
|
|
384
|
+
protected svgWidth: import("@angular/core").Signal<number>;
|
|
385
|
+
protected svgHeight: import("@angular/core").Signal<number>;
|
|
386
|
+
protected viewBox: import("@angular/core").Signal<string>;
|
|
387
|
+
protected transform: import("@angular/core").Signal<string>;
|
|
388
|
+
protected zoomLabel: import("@angular/core").Signal<number>;
|
|
389
|
+
protected selectedNode: import("@angular/core").Signal<LayoutNode | null>;
|
|
390
|
+
protected selectedDependsOn: import("@angular/core").Signal<DependencyEdgeDef[]>;
|
|
391
|
+
protected legendItems: import("@angular/core").Signal<{
|
|
392
|
+
label: string;
|
|
393
|
+
color: string;
|
|
394
|
+
dashed: boolean;
|
|
395
|
+
}[]>;
|
|
396
|
+
protected typeLegendItems: import("@angular/core").Signal<{
|
|
397
|
+
type: string;
|
|
398
|
+
color: string;
|
|
399
|
+
}[]>;
|
|
400
|
+
protected hasChildren(nodeId: string): boolean;
|
|
401
|
+
protected isCollapsed(nodeId: string): boolean;
|
|
402
|
+
protected getRelationLabel(relation: DependencyRelation): string;
|
|
403
|
+
private pruneCollapsed;
|
|
404
|
+
protected selectNode(id: string, event: Event): void;
|
|
405
|
+
protected expandNode(id: string, event: Event): void;
|
|
406
|
+
protected toggleCollapse(id: string, event: Event): void;
|
|
407
|
+
protected deselectNode(): void;
|
|
408
|
+
protected zoomIn(): void;
|
|
409
|
+
protected zoomOut(): void;
|
|
410
|
+
protected resetZoom(): void;
|
|
411
|
+
/** Centres the viewport on a node. No-op for an id that isn't laid out. */
|
|
412
|
+
focusNode(id: string): void;
|
|
413
|
+
/**
|
|
414
|
+
* Scales and centres the graph to fit the canvas, per `fitMode`. Called for you
|
|
415
|
+
* when fitting is on; public so a caller can fit on demand without it.
|
|
416
|
+
*
|
|
417
|
+
* No-op while the canvas has no size (before the first render, or in a detached
|
|
418
|
+
* / `display: none` container) — the fit observers re-run once it does.
|
|
419
|
+
*/
|
|
420
|
+
fit(): void;
|
|
421
|
+
/**
|
|
422
|
+
* Restores the initial view — the fitted one under `autoFit`, otherwise the
|
|
423
|
+
* default zoom and pan.
|
|
424
|
+
*/
|
|
425
|
+
resetView(): void;
|
|
426
|
+
/** Expands a collapsed node. */
|
|
427
|
+
expand(id: string): void;
|
|
428
|
+
/** Collapses a node's sub-tree. */
|
|
429
|
+
collapse(id: string): void;
|
|
430
|
+
/** Expands every collapsed node. */
|
|
431
|
+
expandAll(): void;
|
|
432
|
+
/** Collapses every node that has children. */
|
|
433
|
+
collapseAll(): void;
|
|
434
|
+
private canvasEl;
|
|
435
|
+
/**
|
|
436
|
+
* Bounding box of everything drawn, in layout units.
|
|
437
|
+
*
|
|
438
|
+
* Edge labels stand in for the edges themselves. A parent→child edge stays
|
|
439
|
+
* inside the node boxes anyway, and a bowed cross-reference puts its label just
|
|
440
|
+
* outside the apex of the bow — the only part of it that reaches past them. The
|
|
441
|
+
* label's own extent counts, as it hangs off its anchor point on one side.
|
|
442
|
+
*/
|
|
443
|
+
private contentBox;
|
|
444
|
+
protected onMouseDown(event: MouseEvent): void;
|
|
445
|
+
protected onMouseMove(event: MouseEvent): void;
|
|
446
|
+
protected onMouseUp(): void;
|
|
447
|
+
protected onWheel(event: WheelEvent): void;
|
|
448
|
+
protected getNodeBg(node: LayoutNode): string;
|
|
449
|
+
protected getNodeBorder(node: LayoutNode): string;
|
|
450
|
+
protected getNodeText(node: LayoutNode): string;
|
|
451
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DependencyViewerComponent, never>;
|
|
452
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DependencyViewerComponent, "lc-dependency-viewer", never, {
|
|
453
|
+
"root": {
|
|
454
|
+
"alias": "root";
|
|
455
|
+
"required": true;
|
|
456
|
+
"isSignal": true;
|
|
457
|
+
};
|
|
458
|
+
"direction": {
|
|
459
|
+
"alias": "direction";
|
|
460
|
+
"required": false;
|
|
461
|
+
"isSignal": true;
|
|
462
|
+
};
|
|
463
|
+
"height": {
|
|
464
|
+
"alias": "height";
|
|
465
|
+
"required": false;
|
|
466
|
+
"isSignal": true;
|
|
467
|
+
};
|
|
468
|
+
"layout": {
|
|
469
|
+
"alias": "layout";
|
|
470
|
+
"required": false;
|
|
471
|
+
"isSignal": true;
|
|
472
|
+
};
|
|
473
|
+
"showToolbar": {
|
|
474
|
+
"alias": "showToolbar";
|
|
475
|
+
"required": false;
|
|
476
|
+
"isSignal": true;
|
|
477
|
+
};
|
|
478
|
+
"showEdgeLabels": {
|
|
479
|
+
"alias": "showEdgeLabels";
|
|
480
|
+
"required": false;
|
|
481
|
+
"isSignal": true;
|
|
482
|
+
};
|
|
483
|
+
"edgeWidth": {
|
|
484
|
+
"alias": "edgeWidth";
|
|
485
|
+
"required": false;
|
|
486
|
+
"isSignal": true;
|
|
487
|
+
};
|
|
488
|
+
"autoFit": {
|
|
489
|
+
"alias": "autoFit";
|
|
490
|
+
"required": false;
|
|
491
|
+
"isSignal": true;
|
|
492
|
+
};
|
|
493
|
+
"fitMode": {
|
|
494
|
+
"alias": "fitMode";
|
|
495
|
+
"required": false;
|
|
496
|
+
"isSignal": true;
|
|
497
|
+
};
|
|
498
|
+
"minNodeSize": {
|
|
499
|
+
"alias": "minNodeSize";
|
|
500
|
+
"required": false;
|
|
501
|
+
"isSignal": true;
|
|
502
|
+
};
|
|
503
|
+
"interactive": {
|
|
504
|
+
"alias": "interactive";
|
|
505
|
+
"required": false;
|
|
506
|
+
"isSignal": true;
|
|
507
|
+
};
|
|
508
|
+
"anchorNodeId": {
|
|
509
|
+
"alias": "anchorNodeId";
|
|
510
|
+
"required": false;
|
|
511
|
+
"isSignal": true;
|
|
512
|
+
};
|
|
513
|
+
"typeColors": {
|
|
514
|
+
"alias": "typeColors";
|
|
515
|
+
"required": false;
|
|
516
|
+
"isSignal": true;
|
|
517
|
+
};
|
|
518
|
+
"hiddenRelations": {
|
|
519
|
+
"alias": "hiddenRelations";
|
|
520
|
+
"required": false;
|
|
521
|
+
"isSignal": true;
|
|
522
|
+
};
|
|
523
|
+
"hiddenTypes": {
|
|
524
|
+
"alias": "hiddenTypes";
|
|
525
|
+
"required": false;
|
|
526
|
+
"isSignal": true;
|
|
527
|
+
};
|
|
528
|
+
"zoomInLabel": {
|
|
529
|
+
"alias": "zoomInLabel";
|
|
530
|
+
"required": false;
|
|
531
|
+
"isSignal": true;
|
|
532
|
+
};
|
|
533
|
+
"zoomOutLabel": {
|
|
534
|
+
"alias": "zoomOutLabel";
|
|
535
|
+
"required": false;
|
|
536
|
+
"isSignal": true;
|
|
537
|
+
};
|
|
538
|
+
"resetZoomLabel": {
|
|
539
|
+
"alias": "resetZoomLabel";
|
|
540
|
+
"required": false;
|
|
541
|
+
"isSignal": true;
|
|
542
|
+
};
|
|
543
|
+
"depthLabel": {
|
|
544
|
+
"alias": "depthLabel";
|
|
545
|
+
"required": false;
|
|
546
|
+
"isSignal": true;
|
|
547
|
+
};
|
|
548
|
+
"childrenLabel": {
|
|
549
|
+
"alias": "childrenLabel";
|
|
550
|
+
"required": false;
|
|
551
|
+
"isSignal": true;
|
|
552
|
+
};
|
|
553
|
+
"dependsOnLabel": {
|
|
554
|
+
"alias": "dependsOnLabel";
|
|
555
|
+
"required": false;
|
|
556
|
+
"isSignal": true;
|
|
557
|
+
};
|
|
558
|
+
"dependenciesLabel": {
|
|
559
|
+
"alias": "dependenciesLabel";
|
|
560
|
+
"required": false;
|
|
561
|
+
"isSignal": true;
|
|
562
|
+
};
|
|
563
|
+
}, {
|
|
564
|
+
"nodeSelect": "nodeSelect";
|
|
565
|
+
"nodeExpand": "nodeExpand";
|
|
566
|
+
}, never, never, true, never>;
|
|
567
|
+
}
|
|
568
|
+
export {};
|