@lifecorner/angular-ui-kit 3.4.1 → 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,213 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
/** Visual variant of `lc-card`. */
|
|
3
|
+
export type CardVariant = 'elevated' | 'outlined' | 'flat' | 'raised' | 'dashed';
|
|
4
|
+
/** Heading level of `lc-card`'s built-in title. */
|
|
5
|
+
export type CardHeadingLevel = 2 | 3 | 4 | 5 | 6;
|
|
6
|
+
/**
|
|
7
|
+
* Card component for content grouping and visual hierarchy.
|
|
8
|
+
*
|
|
9
|
+
* Features:
|
|
10
|
+
* - Variant styles (elevated, outlined, flat, raised, dashed)
|
|
11
|
+
* - Configurable padding (none, xs, sm, md, lg)
|
|
12
|
+
* - Border radius options (none, sm, md, lg, xl, full)
|
|
13
|
+
* - Optional title display, with an optional leading icon tile
|
|
14
|
+
* - Content projection for flexible body content
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```html
|
|
18
|
+
* <lc-card title="Card Title" variant="elevated" padding="md">
|
|
19
|
+
* <p>Card body content</p>
|
|
20
|
+
* </lc-card>
|
|
21
|
+
*
|
|
22
|
+
* <!-- With a leading brand-tile icon in the header -->
|
|
23
|
+
* <lc-card title="Repository" subtitle="Checkout & profile" icon="git-branch">
|
|
24
|
+
* ...
|
|
25
|
+
* </lc-card>
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare class CardComponent {
|
|
29
|
+
/**
|
|
30
|
+
* Optional title rendered as a styled header.
|
|
31
|
+
* For complex headers (e.g. title + action button), use content projection instead.
|
|
32
|
+
*/
|
|
33
|
+
title: import("@angular/core").InputSignal<string | undefined>;
|
|
34
|
+
/**
|
|
35
|
+
* Optional subtitle rendered below the title.
|
|
36
|
+
*/
|
|
37
|
+
subtitle: import("@angular/core").InputSignal<string | undefined>;
|
|
38
|
+
/**
|
|
39
|
+
* Optional leading icon (Tabler icon name) rendered as a teal brand tile to
|
|
40
|
+
* the left of the title. Only shown when `title` is set.
|
|
41
|
+
*/
|
|
42
|
+
icon: import("@angular/core").InputSignal<string | undefined>;
|
|
43
|
+
/**
|
|
44
|
+
* Visual treatment of the leading icon tile.
|
|
45
|
+
* - brand: gradient teal tile with light ink (default)
|
|
46
|
+
* - subtle: translucent surface tile with brand-teal ink
|
|
47
|
+
* @default 'brand'
|
|
48
|
+
*/
|
|
49
|
+
iconVariant: import("@angular/core").InputSignal<"brand" | "subtle">;
|
|
50
|
+
/**
|
|
51
|
+
* Size of the leading icon tile.
|
|
52
|
+
* - md: 2.25rem tile (default)
|
|
53
|
+
* - sm: compact ~1.75rem chip for dense card headers
|
|
54
|
+
* @default 'md'
|
|
55
|
+
*/
|
|
56
|
+
iconSize: import("@angular/core").InputSignal<"sm" | "md">;
|
|
57
|
+
/**
|
|
58
|
+
* Optional badge text/count shown next to the title (e.g. item count).
|
|
59
|
+
* For a richer status badge (e.g. a leading status dot), project an
|
|
60
|
+
* `lc-badge` into the `card-badge` slot instead — the slot takes precedence.
|
|
61
|
+
*/
|
|
62
|
+
badge: import("@angular/core").InputSignal<string | undefined>;
|
|
63
|
+
/**
|
|
64
|
+
* Badge color variant.
|
|
65
|
+
* @default 'default'
|
|
66
|
+
*/
|
|
67
|
+
badgeVariant: import("@angular/core").InputSignal<"default" | "primary" | "success" | "warning" | "error">;
|
|
68
|
+
/**
|
|
69
|
+
* Visual variant of the card
|
|
70
|
+
* - elevated: Box shadow (default)
|
|
71
|
+
* - outlined: Border only (the hairline `--color-border`, no shadow) — the
|
|
72
|
+
* content card on the "Weite" sky with `borderRadius="xl"`
|
|
73
|
+
* - flat: No shadow or border
|
|
74
|
+
* - raised: plain surface, hairline border and the long, soft
|
|
75
|
+
* `--shadow-auth-card`, no accent line — the sign-in card
|
|
76
|
+
* - dashed: the muted "coming soon" tile — `--color-muted-tile` fill, 1 px
|
|
77
|
+
* dashed `--color-muted-tile-border`, secondary ink, icons in
|
|
78
|
+
* `--color-muted-tile-icon`. Never clickable: `clickable` is ignored
|
|
79
|
+
* @default 'elevated'
|
|
80
|
+
*/
|
|
81
|
+
variant: import("@angular/core").InputSignal<CardVariant>;
|
|
82
|
+
/**
|
|
83
|
+
* Padding inside the card
|
|
84
|
+
* @default 'md'
|
|
85
|
+
*/
|
|
86
|
+
padding: import("@angular/core").InputSignal<"sm" | "md" | "none" | "xs" | "lg">;
|
|
87
|
+
/**
|
|
88
|
+
* Whether the card is clickable (hover effects, cursor pointer)
|
|
89
|
+
* @default false
|
|
90
|
+
*/
|
|
91
|
+
clickable: import("@angular/core").InputSignal<boolean>;
|
|
92
|
+
/**
|
|
93
|
+
* Whether the card is selected (if clickable)
|
|
94
|
+
* @default false
|
|
95
|
+
*/
|
|
96
|
+
selected: import("@angular/core").InputSignal<boolean>;
|
|
97
|
+
/**
|
|
98
|
+
* Border radius size: `none`, `sm`, `md`, `lg` (18 px), `xl` (24 px, the
|
|
99
|
+
* "Weite" content card) or `full`.
|
|
100
|
+
* @default 'md'
|
|
101
|
+
*/
|
|
102
|
+
borderRadius: import("@angular/core").InputSignal<"sm" | "md" | "none" | "lg" | "xl" | "full">;
|
|
103
|
+
/**
|
|
104
|
+
* Heading level of the built-in `title` (`h2`–`h6`), so the card fits the
|
|
105
|
+
* page's outline. Semantics only, the look stays the same.
|
|
106
|
+
* @default 3
|
|
107
|
+
*/
|
|
108
|
+
headingLevel: import("@angular/core").InputSignal<CardHeadingLevel>;
|
|
109
|
+
/**
|
|
110
|
+
* ARIA label for accessibility
|
|
111
|
+
*/
|
|
112
|
+
ariaLabel: import("@angular/core").InputSignal<string | undefined>;
|
|
113
|
+
/**
|
|
114
|
+
* Emitted when card is clicked (if clickable)
|
|
115
|
+
*/
|
|
116
|
+
readonly cardClick: import("@angular/core").OutputEmitterRef<MouseEvent>;
|
|
117
|
+
/**
|
|
118
|
+
* Whether the card acts as a button: `clickable`, except for the dashed
|
|
119
|
+
* "coming soon" tile, which is never interactive.
|
|
120
|
+
*/
|
|
121
|
+
protected isClickable: import("@angular/core").Signal<boolean>;
|
|
122
|
+
/**
|
|
123
|
+
* Compute card CSS classes based on inputs
|
|
124
|
+
*/
|
|
125
|
+
protected cardClasses: import("@angular/core").Signal<string>;
|
|
126
|
+
/**
|
|
127
|
+
* Compute ARIA role based on clickable state
|
|
128
|
+
*/
|
|
129
|
+
protected role: import("@angular/core").Signal<"button" | "article">;
|
|
130
|
+
/**
|
|
131
|
+
* Handle card click events
|
|
132
|
+
*/
|
|
133
|
+
protected handleClick(event: MouseEvent): void;
|
|
134
|
+
/**
|
|
135
|
+
* Handle keyboard events for accessibility
|
|
136
|
+
*/
|
|
137
|
+
protected handleKeydown(event: KeyboardEvent): void;
|
|
138
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CardComponent, never>;
|
|
139
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CardComponent, "lc-card", never, {
|
|
140
|
+
"title": {
|
|
141
|
+
"alias": "title";
|
|
142
|
+
"required": false;
|
|
143
|
+
"isSignal": true;
|
|
144
|
+
};
|
|
145
|
+
"subtitle": {
|
|
146
|
+
"alias": "subtitle";
|
|
147
|
+
"required": false;
|
|
148
|
+
"isSignal": true;
|
|
149
|
+
};
|
|
150
|
+
"icon": {
|
|
151
|
+
"alias": "icon";
|
|
152
|
+
"required": false;
|
|
153
|
+
"isSignal": true;
|
|
154
|
+
};
|
|
155
|
+
"iconVariant": {
|
|
156
|
+
"alias": "iconVariant";
|
|
157
|
+
"required": false;
|
|
158
|
+
"isSignal": true;
|
|
159
|
+
};
|
|
160
|
+
"iconSize": {
|
|
161
|
+
"alias": "iconSize";
|
|
162
|
+
"required": false;
|
|
163
|
+
"isSignal": true;
|
|
164
|
+
};
|
|
165
|
+
"badge": {
|
|
166
|
+
"alias": "badge";
|
|
167
|
+
"required": false;
|
|
168
|
+
"isSignal": true;
|
|
169
|
+
};
|
|
170
|
+
"badgeVariant": {
|
|
171
|
+
"alias": "badgeVariant";
|
|
172
|
+
"required": false;
|
|
173
|
+
"isSignal": true;
|
|
174
|
+
};
|
|
175
|
+
"variant": {
|
|
176
|
+
"alias": "variant";
|
|
177
|
+
"required": false;
|
|
178
|
+
"isSignal": true;
|
|
179
|
+
};
|
|
180
|
+
"padding": {
|
|
181
|
+
"alias": "padding";
|
|
182
|
+
"required": false;
|
|
183
|
+
"isSignal": true;
|
|
184
|
+
};
|
|
185
|
+
"clickable": {
|
|
186
|
+
"alias": "clickable";
|
|
187
|
+
"required": false;
|
|
188
|
+
"isSignal": true;
|
|
189
|
+
};
|
|
190
|
+
"selected": {
|
|
191
|
+
"alias": "selected";
|
|
192
|
+
"required": false;
|
|
193
|
+
"isSignal": true;
|
|
194
|
+
};
|
|
195
|
+
"borderRadius": {
|
|
196
|
+
"alias": "borderRadius";
|
|
197
|
+
"required": false;
|
|
198
|
+
"isSignal": true;
|
|
199
|
+
};
|
|
200
|
+
"headingLevel": {
|
|
201
|
+
"alias": "headingLevel";
|
|
202
|
+
"required": false;
|
|
203
|
+
"isSignal": true;
|
|
204
|
+
};
|
|
205
|
+
"ariaLabel": {
|
|
206
|
+
"alias": "ariaLabel";
|
|
207
|
+
"required": false;
|
|
208
|
+
"isSignal": true;
|
|
209
|
+
};
|
|
210
|
+
}, {
|
|
211
|
+
"cardClick": "cardClick";
|
|
212
|
+
}, never, ["[card-badge]", "[card-header-action]", "[card-header]", "*", "[card-footer]"], true, never>;
|
|
213
|
+
}
|
|
@@ -0,0 +1,379 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import { TemplateRef } from "@angular/core";
|
|
3
|
+
export type ChatMessageRole = 'user' | 'agent' | 'system';
|
|
4
|
+
/**
|
|
5
|
+
* Semantic status of a chat message — orthogonal to `role` (role = *who*
|
|
6
|
+
* speaks; status = *what kind* of message). Reuses the semantic vocabulary of
|
|
7
|
+
* `lc-alert` / `lc-callout` and drives the rail dot/accent colour + a status
|
|
8
|
+
* icon. `'default'` (or omitted) reproduces the role-coloured behaviour exactly.
|
|
9
|
+
*/
|
|
10
|
+
export type ChatMessageStatus = 'default' | 'info' | 'success' | 'warning' | 'error';
|
|
11
|
+
/**
|
|
12
|
+
* Controls which messages are rendered as Markdown via `<lc-markdown>`.
|
|
13
|
+
* - `false` (default): plain text rendering (legacy behavior)
|
|
14
|
+
* - `true` / `'all'`: render every role as Markdown
|
|
15
|
+
* - `'agent'`: only agent messages are rendered as Markdown (recommended)
|
|
16
|
+
*/
|
|
17
|
+
export type ChatRenderMarkdown = boolean | 'agent' | 'all';
|
|
18
|
+
/**
|
|
19
|
+
* Represents a file attached to a chat message or pending in the input.
|
|
20
|
+
*
|
|
21
|
+
* The `file` reference is only available for attachments produced by the
|
|
22
|
+
* input (i.e. emitted via `messageSend` / `fileAttach`). Attachments
|
|
23
|
+
* coming from the server or message history typically rely on `url` only.
|
|
24
|
+
*/
|
|
25
|
+
export interface ChatAttachment {
|
|
26
|
+
id: string;
|
|
27
|
+
name: string;
|
|
28
|
+
/** MIME type, e.g. `image/png`, `application/pdf`. */
|
|
29
|
+
type?: string;
|
|
30
|
+
/** Size in bytes. */
|
|
31
|
+
size?: number;
|
|
32
|
+
/** Object URL or remote URL to preview / download the file. */
|
|
33
|
+
url?: string;
|
|
34
|
+
/** Raw browser File reference (set for newly uploaded files). */
|
|
35
|
+
file?: File;
|
|
36
|
+
}
|
|
37
|
+
export interface ChatMessage {
|
|
38
|
+
id: string;
|
|
39
|
+
role: ChatMessageRole;
|
|
40
|
+
content: string;
|
|
41
|
+
timestamp?: Date | string;
|
|
42
|
+
avatar?: string;
|
|
43
|
+
name?: string;
|
|
44
|
+
streaming?: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Semantic status — colours the rail dot/accent and shows a status icon.
|
|
47
|
+
* Independent of `role`: a `role: 'agent'` message can be `status: 'error'`
|
|
48
|
+
* (failed reply) or `status: 'success'` (tool finished). Defaults to
|
|
49
|
+
* `'default'`, which reproduces today's role-coloured behaviour exactly.
|
|
50
|
+
* An `'error'` message never pulses and is announced assertively (`role="alert"`).
|
|
51
|
+
*/
|
|
52
|
+
status?: ChatMessageStatus;
|
|
53
|
+
/** Optional file attachments associated with the message. */
|
|
54
|
+
attachments?: ChatAttachment[];
|
|
55
|
+
/** Arbitrary data passed to a custom messageTemplate. */
|
|
56
|
+
data?: Record<string, unknown>;
|
|
57
|
+
}
|
|
58
|
+
export interface ChatSendEvent {
|
|
59
|
+
content: string;
|
|
60
|
+
/** Files attached to the outgoing message, if any. */
|
|
61
|
+
attachments?: ChatAttachment[];
|
|
62
|
+
}
|
|
63
|
+
export interface ChatFileAttachEvent {
|
|
64
|
+
attachments: ChatAttachment[];
|
|
65
|
+
/** Files rejected because of `accept` / `maxFileSize` constraints. */
|
|
66
|
+
rejected: {
|
|
67
|
+
file: File;
|
|
68
|
+
reason: 'type' | 'size';
|
|
69
|
+
}[];
|
|
70
|
+
}
|
|
71
|
+
export declare class ChatComponent {
|
|
72
|
+
private static nextId;
|
|
73
|
+
/** Id of the composer textarea (links the visually-hidden label). */
|
|
74
|
+
protected readonly inputId: string;
|
|
75
|
+
/** Messages to display. */
|
|
76
|
+
messages: import("@angular/core").InputSignal<ChatMessage[]>;
|
|
77
|
+
/** Placeholder text for the input. */
|
|
78
|
+
placeholder: import("@angular/core").InputSignal<string>;
|
|
79
|
+
/** Accessible name of the composer textarea (visually hidden label). */
|
|
80
|
+
inputLabel: import("@angular/core").InputSignal<string>;
|
|
81
|
+
/** Title displayed in the header. */
|
|
82
|
+
title: import("@angular/core").InputSignal<string>;
|
|
83
|
+
/** Whether the agent is currently streaming / typing. */
|
|
84
|
+
isStreaming: import("@angular/core").InputSignal<boolean>;
|
|
85
|
+
/** Show the header bar. */
|
|
86
|
+
showHeader: import("@angular/core").InputSignal<boolean>;
|
|
87
|
+
/**
|
|
88
|
+
* Draw the chat's own border + rounded corners. Defaults to `true` (card
|
|
89
|
+
* style). Set `false` to render flush/edge-to-edge — e.g. when the chat is
|
|
90
|
+
* the full-height body of an `<lc-page-layout>` and should sit directly under
|
|
91
|
+
* a page header without a nested box.
|
|
92
|
+
*/
|
|
93
|
+
bordered: import("@angular/core").InputSignal<boolean>;
|
|
94
|
+
/**
|
|
95
|
+
* Where messages stack when they don't fill the height.
|
|
96
|
+
* - `'top'` (default): messages grow from the top down.
|
|
97
|
+
* - `'bottom'`: messages anchor to the bottom (empty space above), like most
|
|
98
|
+
* messaging apps. Still scrolls to reveal the top once they overflow.
|
|
99
|
+
*/
|
|
100
|
+
messageAnchor: import("@angular/core").InputSignal<"top" | "bottom">;
|
|
101
|
+
/**
|
|
102
|
+
* Width of the message thread and composer.
|
|
103
|
+
* - `'full'` (default): messages span the full available width.
|
|
104
|
+
* - `'narrow'`: a centered, readable column (~46rem) like a document-style chat.
|
|
105
|
+
*/
|
|
106
|
+
contentWidth: import("@angular/core").InputSignal<"narrow" | "full">;
|
|
107
|
+
/** Disable the input. */
|
|
108
|
+
disabled: import("@angular/core").InputSignal<boolean>;
|
|
109
|
+
/** Show avatars next to messages. */
|
|
110
|
+
showAvatars: import("@angular/core").InputSignal<boolean>;
|
|
111
|
+
/** Show timestamps. */
|
|
112
|
+
showTimestamps: import("@angular/core").InputSignal<boolean>;
|
|
113
|
+
/**
|
|
114
|
+
* Render message content as Markdown using `<lc-markdown variant="chat">`.
|
|
115
|
+
* Defaults to `'agent'` so agent replies get rich formatting while user
|
|
116
|
+
* input stays as plain text. Pass `false` to opt out, or `true`/`'all'`
|
|
117
|
+
* to render every role as Markdown.
|
|
118
|
+
*/
|
|
119
|
+
renderMarkdown: import("@angular/core").InputSignal<ChatRenderMarkdown>;
|
|
120
|
+
/** Enable the file-upload (paperclip) button in the input area. */
|
|
121
|
+
allowFileUpload: import("@angular/core").InputSignal<boolean>;
|
|
122
|
+
/**
|
|
123
|
+
* Comma-separated list of accepted file types, forwarded to the native
|
|
124
|
+
* `<input accept>` attribute. Examples: `image/*`, `.pdf,.docx`.
|
|
125
|
+
*/
|
|
126
|
+
accept: import("@angular/core").InputSignal<string>;
|
|
127
|
+
/** Allow selecting multiple files at once. Defaults to `true`. */
|
|
128
|
+
multiple: import("@angular/core").InputSignal<boolean>;
|
|
129
|
+
/** Maximum file size in bytes. `0` disables the check. */
|
|
130
|
+
maxFileSize: import("@angular/core").InputSignal<number>;
|
|
131
|
+
/** BCP 47 locale of the message times (hour and minute). */
|
|
132
|
+
locale: import("@angular/core").InputSignal<string>;
|
|
133
|
+
/** Header badge while a message is streaming. */
|
|
134
|
+
streamingLabel: import("@angular/core").InputSignal<string>;
|
|
135
|
+
/** Accessible name of the attach button (`allowFileUpload`). */
|
|
136
|
+
attachAriaLabel: import("@angular/core").InputSignal<string>;
|
|
137
|
+
/** Accessible name of the send button. */
|
|
138
|
+
sendAriaLabel: import("@angular/core").InputSignal<string>;
|
|
139
|
+
/** Screen-reader prefix of messages with status `info`. */
|
|
140
|
+
statusInfoLabel: import("@angular/core").InputSignal<string>;
|
|
141
|
+
/** Screen-reader prefix of messages with status `success`. */
|
|
142
|
+
statusSuccessLabel: import("@angular/core").InputSignal<string>;
|
|
143
|
+
/** Screen-reader prefix of messages with status `warning`. */
|
|
144
|
+
statusWarningLabel: import("@angular/core").InputSignal<string>;
|
|
145
|
+
/** Screen-reader prefix of messages with status `error`. */
|
|
146
|
+
statusErrorLabel: import("@angular/core").InputSignal<string>;
|
|
147
|
+
/** Accessible name prefix of a pending attachment's remove button, followed by the file name. */
|
|
148
|
+
removeAttachmentAriaLabel: import("@angular/core").InputSignal<string>;
|
|
149
|
+
/** Emits when user sends a message. */
|
|
150
|
+
messageSend: import("@angular/core").OutputEmitterRef<ChatSendEvent>;
|
|
151
|
+
/** Emits whenever files are added to the pending attachments list. */
|
|
152
|
+
fileAttach: import("@angular/core").OutputEmitterRef<ChatFileAttachEvent>;
|
|
153
|
+
/** Custom template for rendering message content. Context: { $implicit: ChatMessage } */
|
|
154
|
+
messageTemplate?: TemplateRef<{
|
|
155
|
+
$implicit: ChatMessage;
|
|
156
|
+
}>;
|
|
157
|
+
protected readonly inputValue: import("@angular/core").WritableSignal<string>;
|
|
158
|
+
protected readonly pendingAttachments: import("@angular/core").WritableSignal<ChatAttachment[]>;
|
|
159
|
+
private attachmentCounter;
|
|
160
|
+
private readonly injector;
|
|
161
|
+
private readonly destroyRef;
|
|
162
|
+
private readonly ngZone;
|
|
163
|
+
/**
|
|
164
|
+
* Whether the reader is (near) the bottom of the thread. Auto-scroll only
|
|
165
|
+
* follows new content while this is true, so scrolling up to re-read is
|
|
166
|
+
* never fought. Plain field: updated from a passive scroll listener outside
|
|
167
|
+
* the zone, read untracked by the follow effect.
|
|
168
|
+
*/
|
|
169
|
+
private atBottom;
|
|
170
|
+
/** Distance from the bottom (px) still counted as "at the bottom". */
|
|
171
|
+
private static readonly AT_BOTTOM_THRESHOLD;
|
|
172
|
+
private readonly scrollContainer;
|
|
173
|
+
private fileInput?;
|
|
174
|
+
private composerInput?;
|
|
175
|
+
/** Upper bound for the auto-growing composer before it starts scrolling (px). */
|
|
176
|
+
private static readonly INPUT_MAX_HEIGHT;
|
|
177
|
+
protected readonly formattedMessages: import("@angular/core").Signal<{
|
|
178
|
+
timestamp: Date | undefined;
|
|
179
|
+
id: string;
|
|
180
|
+
role: ChatMessageRole;
|
|
181
|
+
content: string;
|
|
182
|
+
avatar?: string;
|
|
183
|
+
name?: string;
|
|
184
|
+
streaming?: boolean;
|
|
185
|
+
/**
|
|
186
|
+
* Semantic status — colours the rail dot/accent and shows a status icon.
|
|
187
|
+
* Independent of `role`: a `role: 'agent'` message can be `status: 'error'`
|
|
188
|
+
* (failed reply) or `status: 'success'` (tool finished). Defaults to
|
|
189
|
+
* `'default'`, which reproduces today's role-coloured behaviour exactly.
|
|
190
|
+
* An `'error'` message never pulses and is announced assertively (`role="alert"`).
|
|
191
|
+
*/
|
|
192
|
+
status?: ChatMessageStatus;
|
|
193
|
+
/** Optional file attachments associated with the message. */
|
|
194
|
+
attachments?: ChatAttachment[];
|
|
195
|
+
/** Arbitrary data passed to a custom messageTemplate. */
|
|
196
|
+
data?: Record<string, unknown>;
|
|
197
|
+
}[]>;
|
|
198
|
+
/**
|
|
199
|
+
* Text for the visually-hidden live region: the most recent *completed*
|
|
200
|
+
* non-user message. Streaming turns are announced once they finish (a
|
|
201
|
+
* token-by-token live region would be unusable); user turns were typed by
|
|
202
|
+
* the reader; semantic-status messages carry their own `aria-live`/`alert`.
|
|
203
|
+
*/
|
|
204
|
+
protected readonly announcement: import("@angular/core").Signal<string>;
|
|
205
|
+
constructor();
|
|
206
|
+
protected onInput(event: Event): void;
|
|
207
|
+
/** Resize the textarea to fit its content so the composer hugs the text. */
|
|
208
|
+
private autoGrow;
|
|
209
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
210
|
+
protected send(): void;
|
|
211
|
+
protected openFilePicker(): void;
|
|
212
|
+
protected onFilesSelected(event: Event): void;
|
|
213
|
+
protected removeAttachment(id: string): void;
|
|
214
|
+
protected formatBytes(size: number | undefined): string;
|
|
215
|
+
protected isImage(att: ChatAttachment): boolean;
|
|
216
|
+
private addFiles;
|
|
217
|
+
private matchesAccept;
|
|
218
|
+
protected formatTime(date: Date | undefined): string;
|
|
219
|
+
/**
|
|
220
|
+
* Up to two uppercase initials from a name (first + last word), used for the
|
|
221
|
+
* user avatar monogram when no `avatar` image is provided. Returns `''` for an
|
|
222
|
+
* empty/whitespace name so the caller can skip rendering.
|
|
223
|
+
*/
|
|
224
|
+
protected initials(name: string | undefined): string;
|
|
225
|
+
/**
|
|
226
|
+
* Whether to show an avatar on a user turn: only when avatars are enabled and
|
|
227
|
+
* the message carries either an image or a name we can build a monogram from.
|
|
228
|
+
* Keeps the labelless bubble clean when there's nothing to show.
|
|
229
|
+
*/
|
|
230
|
+
protected showUserAvatar(msg: ChatMessage): boolean;
|
|
231
|
+
protected shouldRenderMarkdown(role: ChatMessageRole): boolean;
|
|
232
|
+
/** Whether a message carries a semantic (non-`default`) status. */
|
|
233
|
+
protected isSemanticStatus(status: ChatMessageStatus | undefined): boolean;
|
|
234
|
+
/** Rail icon for a semantic status — reuses the `lc-alert` icon names. */
|
|
235
|
+
protected statusIcon(status: ChatMessageStatus | undefined): string;
|
|
236
|
+
/** Semantic token colour for a status dot/icon. */
|
|
237
|
+
protected statusColor(status: ChatMessageStatus | undefined): string;
|
|
238
|
+
/** Visually-hidden prefix so colour/icon is never the only signal. */
|
|
239
|
+
protected statusLabel(status: ChatMessageStatus | undefined): string;
|
|
240
|
+
/** ARIA live priority: assertive for `error`, polite for other statuses. */
|
|
241
|
+
protected statusAriaLive(status: ChatMessageStatus | undefined): 'assertive' | 'polite' | null;
|
|
242
|
+
private scrollToBottom;
|
|
243
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ChatComponent, never>;
|
|
244
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ChatComponent, "lc-chat", never, {
|
|
245
|
+
"messages": {
|
|
246
|
+
"alias": "messages";
|
|
247
|
+
"required": false;
|
|
248
|
+
"isSignal": true;
|
|
249
|
+
};
|
|
250
|
+
"placeholder": {
|
|
251
|
+
"alias": "placeholder";
|
|
252
|
+
"required": false;
|
|
253
|
+
"isSignal": true;
|
|
254
|
+
};
|
|
255
|
+
"inputLabel": {
|
|
256
|
+
"alias": "inputLabel";
|
|
257
|
+
"required": false;
|
|
258
|
+
"isSignal": true;
|
|
259
|
+
};
|
|
260
|
+
"title": {
|
|
261
|
+
"alias": "title";
|
|
262
|
+
"required": false;
|
|
263
|
+
"isSignal": true;
|
|
264
|
+
};
|
|
265
|
+
"isStreaming": {
|
|
266
|
+
"alias": "isStreaming";
|
|
267
|
+
"required": false;
|
|
268
|
+
"isSignal": true;
|
|
269
|
+
};
|
|
270
|
+
"showHeader": {
|
|
271
|
+
"alias": "showHeader";
|
|
272
|
+
"required": false;
|
|
273
|
+
"isSignal": true;
|
|
274
|
+
};
|
|
275
|
+
"bordered": {
|
|
276
|
+
"alias": "bordered";
|
|
277
|
+
"required": false;
|
|
278
|
+
"isSignal": true;
|
|
279
|
+
};
|
|
280
|
+
"messageAnchor": {
|
|
281
|
+
"alias": "messageAnchor";
|
|
282
|
+
"required": false;
|
|
283
|
+
"isSignal": true;
|
|
284
|
+
};
|
|
285
|
+
"contentWidth": {
|
|
286
|
+
"alias": "contentWidth";
|
|
287
|
+
"required": false;
|
|
288
|
+
"isSignal": true;
|
|
289
|
+
};
|
|
290
|
+
"disabled": {
|
|
291
|
+
"alias": "disabled";
|
|
292
|
+
"required": false;
|
|
293
|
+
"isSignal": true;
|
|
294
|
+
};
|
|
295
|
+
"showAvatars": {
|
|
296
|
+
"alias": "showAvatars";
|
|
297
|
+
"required": false;
|
|
298
|
+
"isSignal": true;
|
|
299
|
+
};
|
|
300
|
+
"showTimestamps": {
|
|
301
|
+
"alias": "showTimestamps";
|
|
302
|
+
"required": false;
|
|
303
|
+
"isSignal": true;
|
|
304
|
+
};
|
|
305
|
+
"renderMarkdown": {
|
|
306
|
+
"alias": "renderMarkdown";
|
|
307
|
+
"required": false;
|
|
308
|
+
"isSignal": true;
|
|
309
|
+
};
|
|
310
|
+
"allowFileUpload": {
|
|
311
|
+
"alias": "allowFileUpload";
|
|
312
|
+
"required": false;
|
|
313
|
+
"isSignal": true;
|
|
314
|
+
};
|
|
315
|
+
"accept": {
|
|
316
|
+
"alias": "accept";
|
|
317
|
+
"required": false;
|
|
318
|
+
"isSignal": true;
|
|
319
|
+
};
|
|
320
|
+
"multiple": {
|
|
321
|
+
"alias": "multiple";
|
|
322
|
+
"required": false;
|
|
323
|
+
"isSignal": true;
|
|
324
|
+
};
|
|
325
|
+
"maxFileSize": {
|
|
326
|
+
"alias": "maxFileSize";
|
|
327
|
+
"required": false;
|
|
328
|
+
"isSignal": true;
|
|
329
|
+
};
|
|
330
|
+
"locale": {
|
|
331
|
+
"alias": "locale";
|
|
332
|
+
"required": false;
|
|
333
|
+
"isSignal": true;
|
|
334
|
+
};
|
|
335
|
+
"streamingLabel": {
|
|
336
|
+
"alias": "streamingLabel";
|
|
337
|
+
"required": false;
|
|
338
|
+
"isSignal": true;
|
|
339
|
+
};
|
|
340
|
+
"attachAriaLabel": {
|
|
341
|
+
"alias": "attachAriaLabel";
|
|
342
|
+
"required": false;
|
|
343
|
+
"isSignal": true;
|
|
344
|
+
};
|
|
345
|
+
"sendAriaLabel": {
|
|
346
|
+
"alias": "sendAriaLabel";
|
|
347
|
+
"required": false;
|
|
348
|
+
"isSignal": true;
|
|
349
|
+
};
|
|
350
|
+
"statusInfoLabel": {
|
|
351
|
+
"alias": "statusInfoLabel";
|
|
352
|
+
"required": false;
|
|
353
|
+
"isSignal": true;
|
|
354
|
+
};
|
|
355
|
+
"statusSuccessLabel": {
|
|
356
|
+
"alias": "statusSuccessLabel";
|
|
357
|
+
"required": false;
|
|
358
|
+
"isSignal": true;
|
|
359
|
+
};
|
|
360
|
+
"statusWarningLabel": {
|
|
361
|
+
"alias": "statusWarningLabel";
|
|
362
|
+
"required": false;
|
|
363
|
+
"isSignal": true;
|
|
364
|
+
};
|
|
365
|
+
"statusErrorLabel": {
|
|
366
|
+
"alias": "statusErrorLabel";
|
|
367
|
+
"required": false;
|
|
368
|
+
"isSignal": true;
|
|
369
|
+
};
|
|
370
|
+
"removeAttachmentAriaLabel": {
|
|
371
|
+
"alias": "removeAttachmentAriaLabel";
|
|
372
|
+
"required": false;
|
|
373
|
+
"isSignal": true;
|
|
374
|
+
};
|
|
375
|
+
}, {
|
|
376
|
+
"messageSend": "messageSend";
|
|
377
|
+
"fileAttach": "fileAttach";
|
|
378
|
+
}, ["messageTemplate"], never, true, never>;
|
|
379
|
+
}
|