@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,356 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import { ChangeDetectionStrategy, Component, computed, input } from "@angular/core";
|
|
3
|
+
function diffLines(a, b) {
|
|
4
|
+
if (a.length === 0 && b.length === 0) return [];
|
|
5
|
+
if (a.length === 0) return [["added", b]];
|
|
6
|
+
if (b.length === 0) return [["removed", a]];
|
|
7
|
+
let start = 0;
|
|
8
|
+
const maxPrefix = Math.min(a.length, b.length);
|
|
9
|
+
while (start < maxPrefix && a[start] === b[start]) start++;
|
|
10
|
+
let end = 0;
|
|
11
|
+
const maxSuffix = maxPrefix - start;
|
|
12
|
+
while (end < maxSuffix && a[a.length - 1 - end] === b[b.length - 1 - end]) end++;
|
|
13
|
+
const ops = [];
|
|
14
|
+
if (start > 0) ops.push(["unchanged", a.slice(0, start)]);
|
|
15
|
+
const midA = a.slice(start, a.length - end);
|
|
16
|
+
const midB = b.slice(start, b.length - end);
|
|
17
|
+
if (midA.length && midB.length) {
|
|
18
|
+
if (sharesLine(midA, midB)) ops.push(...bisect(midA, midB));
|
|
19
|
+
else ops.push(["removed", midA], ["added", midB]);
|
|
20
|
+
} else if (midA.length) ops.push(["removed", midA]);
|
|
21
|
+
else if (midB.length) ops.push(["added", midB]);
|
|
22
|
+
if (end > 0) ops.push(["unchanged", a.slice(a.length - end)]);
|
|
23
|
+
return ops;
|
|
24
|
+
}
|
|
25
|
+
function sharesLine(a, b) {
|
|
26
|
+
const seen = new Set(a);
|
|
27
|
+
return b.some((line) => seen.has(line));
|
|
28
|
+
}
|
|
29
|
+
function bisect(a, b) {
|
|
30
|
+
const n = a.length;
|
|
31
|
+
const m = b.length;
|
|
32
|
+
const maxD = Math.ceil((n + m) / 2);
|
|
33
|
+
const offset = maxD;
|
|
34
|
+
const size = 2 * maxD;
|
|
35
|
+
const v1 = new Int32Array(size).fill(-1);
|
|
36
|
+
const v2 = new Int32Array(size).fill(-1);
|
|
37
|
+
v1[offset + 1] = 0;
|
|
38
|
+
v2[offset + 1] = 0;
|
|
39
|
+
const delta = n - m;
|
|
40
|
+
const front = delta % 2 !== 0;
|
|
41
|
+
let k1start = 0, k1end = 0, k2start = 0, k2end = 0;
|
|
42
|
+
for (let d = 0; d < maxD; d++) {
|
|
43
|
+
for (let k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {
|
|
44
|
+
const k1o = offset + k1;
|
|
45
|
+
let x1 = k1 === -d || k1 !== d && v1[k1o - 1] < v1[k1o + 1] ? v1[k1o + 1] : v1[k1o - 1] + 1;
|
|
46
|
+
let y1 = x1 - k1;
|
|
47
|
+
while (x1 < n && y1 < m && a[x1] === b[y1]) {
|
|
48
|
+
x1++;
|
|
49
|
+
y1++;
|
|
50
|
+
}
|
|
51
|
+
v1[k1o] = x1;
|
|
52
|
+
if (x1 > n) k1end += 2;
|
|
53
|
+
else if (y1 > m) k1start += 2;
|
|
54
|
+
else if (front) {
|
|
55
|
+
const k2o = offset + delta - k1;
|
|
56
|
+
if (k2o >= 0 && k2o < size && v2[k2o] !== -1 && x1 >= n - v2[k2o]) return splitAt(a, b, x1, y1);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
for (let k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {
|
|
60
|
+
const k2o = offset + k2;
|
|
61
|
+
let x2 = k2 === -d || k2 !== d && v2[k2o - 1] < v2[k2o + 1] ? v2[k2o + 1] : v2[k2o - 1] + 1;
|
|
62
|
+
let y2 = x2 - k2;
|
|
63
|
+
while (x2 < n && y2 < m && a[n - x2 - 1] === b[m - y2 - 1]) {
|
|
64
|
+
x2++;
|
|
65
|
+
y2++;
|
|
66
|
+
}
|
|
67
|
+
v2[k2o] = x2;
|
|
68
|
+
if (x2 > n) k2end += 2;
|
|
69
|
+
else if (y2 > m) k2start += 2;
|
|
70
|
+
else if (!front) {
|
|
71
|
+
const k1o = offset + delta - k2;
|
|
72
|
+
if (k1o >= 0 && k1o < size && v1[k1o] !== -1) {
|
|
73
|
+
const x1 = v1[k1o];
|
|
74
|
+
if (x1 >= n - x2) return splitAt(a, b, x1, offset + x1 - k1o);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return [["removed", a], ["added", b]];
|
|
80
|
+
}
|
|
81
|
+
function splitAt(a, b, x, y) {
|
|
82
|
+
return [...diffLines(a.slice(0, x), b.slice(0, y)), ...diffLines(a.slice(x), b.slice(y))];
|
|
83
|
+
}
|
|
84
|
+
var DiffViewerComponent = class DiffViewerComponent {
|
|
85
|
+
oldText = input.required(...ngDevMode ? [{ debugName: "oldText" }] : /* istanbul ignore next */ []);
|
|
86
|
+
newText = input.required(...ngDevMode ? [{ debugName: "newText" }] : /* istanbul ignore next */ []);
|
|
87
|
+
oldLabel = input("Original", ...ngDevMode ? [{ debugName: "oldLabel" }] : /* istanbul ignore next */ []);
|
|
88
|
+
newLabel = input("Modified", ...ngDevMode ? [{ debugName: "newLabel" }] : /* istanbul ignore next */ []);
|
|
89
|
+
mode = input("side-by-side", ...ngDevMode ? [{ debugName: "mode" }] : /* istanbul ignore next */ []);
|
|
90
|
+
showLineNumbers = input(true, ...ngDevMode ? [{ debugName: "showLineNumbers" }] : /* istanbul ignore next */ []);
|
|
91
|
+
contextLines = input(Infinity, ...ngDevMode ? [{ debugName: "contextLines" }] : /* istanbul ignore next */ []);
|
|
92
|
+
maxLines = input(2e4, ...ngDevMode ? [{ debugName: "maxLines" }] : /* istanbul ignore next */ []);
|
|
93
|
+
oldLines = computed(() => this.oldText().split("\n"), ...ngDevMode ? [{ debugName: "oldLines" }] : /* istanbul ignore next */ []);
|
|
94
|
+
newLines = computed(() => this.newText().split("\n"), ...ngDevMode ? [{ debugName: "newLines" }] : /* istanbul ignore next */ []);
|
|
95
|
+
oldLineCount = computed(() => this.oldLines().length, ...ngDevMode ? [{ debugName: "oldLineCount" }] : /* istanbul ignore next */ []);
|
|
96
|
+
newLineCount = computed(() => this.newLines().length, ...ngDevMode ? [{ debugName: "newLineCount" }] : /* istanbul ignore next */ []);
|
|
97
|
+
tooLarge = computed(() => Math.max(this.oldLines().length, this.newLines().length) > this.maxLines(), ...ngDevMode ? [{ debugName: "tooLarge" }] : /* istanbul ignore next */ []);
|
|
98
|
+
diffLines = computed(() => {
|
|
99
|
+
if (this.tooLarge()) return [];
|
|
100
|
+
return this.numberOps(diffLines(this.oldLines(), this.newLines()));
|
|
101
|
+
}, ...ngDevMode ? [{ debugName: "diffLines" }] : /* istanbul ignore next */ []);
|
|
102
|
+
filteredLines = computed(() => {
|
|
103
|
+
const ctx = this.contextLines();
|
|
104
|
+
const lines = this.diffLines();
|
|
105
|
+
if (ctx === Infinity) return lines;
|
|
106
|
+
const changed = /* @__PURE__ */ new Set();
|
|
107
|
+
lines.forEach((l, i) => {
|
|
108
|
+
if (l.type !== "unchanged") changed.add(i);
|
|
109
|
+
});
|
|
110
|
+
const visible = /* @__PURE__ */ new Set();
|
|
111
|
+
for (const idx of changed) for (let j = Math.max(0, idx - ctx); j <= Math.min(lines.length - 1, idx + ctx); j++) visible.add(j);
|
|
112
|
+
return lines.filter((_, i) => visible.has(i));
|
|
113
|
+
}, ...ngDevMode ? [{ debugName: "filteredLines" }] : /* istanbul ignore next */ []);
|
|
114
|
+
sideBySide = computed(() => {
|
|
115
|
+
if (this.mode() !== "side-by-side") return {
|
|
116
|
+
left: [],
|
|
117
|
+
right: []
|
|
118
|
+
};
|
|
119
|
+
const lines = this.filteredLines();
|
|
120
|
+
const left = [];
|
|
121
|
+
const right = [];
|
|
122
|
+
for (const line of lines) if (line.type === "unchanged") {
|
|
123
|
+
left.push({
|
|
124
|
+
num: line.leftNum,
|
|
125
|
+
content: line.content,
|
|
126
|
+
type: "unchanged"
|
|
127
|
+
});
|
|
128
|
+
right.push({
|
|
129
|
+
num: line.rightNum,
|
|
130
|
+
content: line.content,
|
|
131
|
+
type: "unchanged"
|
|
132
|
+
});
|
|
133
|
+
} else if (line.type === "removed") {
|
|
134
|
+
left.push({
|
|
135
|
+
num: line.leftNum,
|
|
136
|
+
content: line.content,
|
|
137
|
+
type: "removed"
|
|
138
|
+
});
|
|
139
|
+
right.push({
|
|
140
|
+
num: null,
|
|
141
|
+
content: "",
|
|
142
|
+
type: "empty"
|
|
143
|
+
});
|
|
144
|
+
} else {
|
|
145
|
+
left.push({
|
|
146
|
+
num: null,
|
|
147
|
+
content: "",
|
|
148
|
+
type: "empty"
|
|
149
|
+
});
|
|
150
|
+
right.push({
|
|
151
|
+
num: line.rightNum,
|
|
152
|
+
content: line.content,
|
|
153
|
+
type: "added"
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
return {
|
|
157
|
+
left,
|
|
158
|
+
right
|
|
159
|
+
};
|
|
160
|
+
}, ...ngDevMode ? [{ debugName: "sideBySide" }] : /* istanbul ignore next */ []);
|
|
161
|
+
stats = computed(() => {
|
|
162
|
+
let additions = 0;
|
|
163
|
+
let deletions = 0;
|
|
164
|
+
for (const l of this.diffLines()) if (l.type === "added") additions++;
|
|
165
|
+
else if (l.type === "removed") deletions++;
|
|
166
|
+
return {
|
|
167
|
+
additions,
|
|
168
|
+
deletions
|
|
169
|
+
};
|
|
170
|
+
}, ...ngDevMode ? [{ debugName: "stats" }] : /* istanbul ignore next */ []);
|
|
171
|
+
numberOps(ops) {
|
|
172
|
+
const result = [];
|
|
173
|
+
let i = 0, j = 0;
|
|
174
|
+
for (const [type, lines] of ops) for (const content of lines) if (type === "unchanged") result.push({
|
|
175
|
+
type,
|
|
176
|
+
leftNum: ++i,
|
|
177
|
+
rightNum: ++j,
|
|
178
|
+
content
|
|
179
|
+
});
|
|
180
|
+
else if (type === "removed") result.push({
|
|
181
|
+
type,
|
|
182
|
+
leftNum: ++i,
|
|
183
|
+
rightNum: null,
|
|
184
|
+
content
|
|
185
|
+
});
|
|
186
|
+
else result.push({
|
|
187
|
+
type,
|
|
188
|
+
leftNum: null,
|
|
189
|
+
rightNum: ++j,
|
|
190
|
+
content
|
|
191
|
+
});
|
|
192
|
+
return result;
|
|
193
|
+
}
|
|
194
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
195
|
+
minVersion: "12.0.0",
|
|
196
|
+
version: "22.2.2",
|
|
197
|
+
ngImport: i0,
|
|
198
|
+
type: DiffViewerComponent,
|
|
199
|
+
deps: [],
|
|
200
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
201
|
+
});
|
|
202
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
203
|
+
minVersion: "17.0.0",
|
|
204
|
+
version: "22.2.2",
|
|
205
|
+
type: DiffViewerComponent,
|
|
206
|
+
isStandalone: true,
|
|
207
|
+
selector: "lc-diff-viewer",
|
|
208
|
+
inputs: {
|
|
209
|
+
oldText: {
|
|
210
|
+
classPropertyName: "oldText",
|
|
211
|
+
publicName: "oldText",
|
|
212
|
+
isSignal: true,
|
|
213
|
+
isRequired: true,
|
|
214
|
+
transformFunction: null
|
|
215
|
+
},
|
|
216
|
+
newText: {
|
|
217
|
+
classPropertyName: "newText",
|
|
218
|
+
publicName: "newText",
|
|
219
|
+
isSignal: true,
|
|
220
|
+
isRequired: true,
|
|
221
|
+
transformFunction: null
|
|
222
|
+
},
|
|
223
|
+
oldLabel: {
|
|
224
|
+
classPropertyName: "oldLabel",
|
|
225
|
+
publicName: "oldLabel",
|
|
226
|
+
isSignal: true,
|
|
227
|
+
isRequired: false,
|
|
228
|
+
transformFunction: null
|
|
229
|
+
},
|
|
230
|
+
newLabel: {
|
|
231
|
+
classPropertyName: "newLabel",
|
|
232
|
+
publicName: "newLabel",
|
|
233
|
+
isSignal: true,
|
|
234
|
+
isRequired: false,
|
|
235
|
+
transformFunction: null
|
|
236
|
+
},
|
|
237
|
+
mode: {
|
|
238
|
+
classPropertyName: "mode",
|
|
239
|
+
publicName: "mode",
|
|
240
|
+
isSignal: true,
|
|
241
|
+
isRequired: false,
|
|
242
|
+
transformFunction: null
|
|
243
|
+
},
|
|
244
|
+
showLineNumbers: {
|
|
245
|
+
classPropertyName: "showLineNumbers",
|
|
246
|
+
publicName: "showLineNumbers",
|
|
247
|
+
isSignal: true,
|
|
248
|
+
isRequired: false,
|
|
249
|
+
transformFunction: null
|
|
250
|
+
},
|
|
251
|
+
contextLines: {
|
|
252
|
+
classPropertyName: "contextLines",
|
|
253
|
+
publicName: "contextLines",
|
|
254
|
+
isSignal: true,
|
|
255
|
+
isRequired: false,
|
|
256
|
+
transformFunction: null
|
|
257
|
+
},
|
|
258
|
+
maxLines: {
|
|
259
|
+
classPropertyName: "maxLines",
|
|
260
|
+
publicName: "maxLines",
|
|
261
|
+
isSignal: true,
|
|
262
|
+
isRequired: false,
|
|
263
|
+
transformFunction: null
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
ngImport: i0,
|
|
267
|
+
template: "<div class=\"lc-diff\">\n <!-- Stats bar -->\n <div class=\"lc-diff__stats\">\n <span class=\"lc-diff__stat lc-diff__stat--add\">+{{ stats().additions }}</span>\n <span class=\"lc-diff__stat lc-diff__stat--del\">−{{ stats().deletions }}</span>\n </div>\n\n @if (tooLarge()) {\n <!-- Size cap hit: no diff is computed -->\n <p class=\"lc-diff__too-large\" role=\"status\">\n Diff too large to display ({{ oldLabel() }}: {{ oldLineCount() }} lines,\n {{ newLabel() }}: {{ newLineCount() }} lines; limit {{ maxLines() }} lines per side).\n </p>\n } @else if (mode() === 'inline') {\n <!-- Inline mode -->\n <div class=\"lc-diff__inline\">\n <div class=\"lc-diff__headers\">\n <span class=\"lc-diff__file-label\">{{ oldLabel() }} → {{ newLabel() }}</span>\n </div>\n <div class=\"lc-diff__body\">\n @for (line of filteredLines(); track $index) {\n <div\n class=\"lc-diff__line\"\n [class.lc-diff__line--added]=\"line.type === 'added'\"\n [class.lc-diff__line--removed]=\"line.type === 'removed'\"\n >\n @if (showLineNumbers()) {\n <span class=\"lc-diff__num lc-diff__num--left\">{{ line.leftNum ?? '' }}</span>\n <span class=\"lc-diff__num lc-diff__num--right\">{{ line.rightNum ?? '' }}</span>\n }\n <span class=\"lc-diff__prefix\">{{ line.type === 'added' ? '+' : line.type === 'removed' ? '−' : ' ' }}</span>\n <span class=\"lc-diff__content\">{{ line.content }}</span>\n </div>\n }\n </div>\n </div>\n } @else {\n <!-- Side-by-side mode -->\n <div class=\"lc-diff__side-by-side\">\n <div class=\"lc-diff__pane lc-diff__pane--left\">\n <div class=\"lc-diff__pane-header\">{{ oldLabel() }}</div>\n @for (line of sideBySide().left; track $index) {\n <div\n class=\"lc-diff__line\"\n [class.lc-diff__line--removed]=\"line.type === 'removed'\"\n [class.lc-diff__line--empty]=\"line.type === 'empty'\"\n >\n @if (showLineNumbers()) {\n <span class=\"lc-diff__num\">{{ line.num ?? '' }}</span>\n }\n <span class=\"lc-diff__content\">{{ line.content }}</span>\n </div>\n }\n </div>\n <div class=\"lc-diff__pane lc-diff__pane--right\">\n <div class=\"lc-diff__pane-header\">{{ newLabel() }}</div>\n @for (line of sideBySide().right; track $index) {\n <div\n class=\"lc-diff__line\"\n [class.lc-diff__line--added]=\"line.type === 'added'\"\n [class.lc-diff__line--empty]=\"line.type === 'empty'\"\n >\n @if (showLineNumbers()) {\n <span class=\"lc-diff__num\">{{ line.num ?? '' }}</span>\n }\n <span class=\"lc-diff__content\">{{ line.content }}</span>\n </div>\n }\n </div>\n </div>\n }\n</div>\n",
|
|
268
|
+
styles: [".lc-diff{border:1px solid var(--color-border);border-radius:8px;overflow:hidden;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.75rem;line-height:1.5}.lc-diff__stats{display:flex;gap:8px;padding:6px 12px;background:var(--color-surface-2);border-bottom:1px solid var(--color-border)}.lc-diff__stat{font-size:.6875rem;font-weight:600}.lc-diff__stat--add{color:var(--color-success-default)}.lc-diff__stat--del{color:var(--color-error-default)}.lc-diff__headers,.lc-diff__pane-header{padding:4px 12px;background:var(--color-surface-2);font-size:.6875rem;font-weight:600;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.lc-diff__body{overflow-x:auto}.lc-diff__side-by-side{display:grid;grid-template-columns:1fr 1fr}.lc-diff__pane{overflow-x:auto;min-width:0}.lc-diff__pane--left{border-right:1px solid var(--color-border)}.lc-diff__line{display:flex;min-height:1.5em;padding:0 8px}.lc-diff__line--added{background:var(--color-success-50, #f0fdf4)}.lc-diff__line--removed{background:var(--color-error-50, #fef2f2)}.lc-diff__line--empty{background:var(--color-surface-2)}.lc-diff__num{flex-shrink:0;width:36px;text-align:right;padding-right:8px;color:var(--color-text-tertiary);-webkit-user-select:none;user-select:none}.lc-diff__num--left,.lc-diff__num--right{width:36px}.lc-diff__prefix{flex-shrink:0;width:16px;text-align:center;color:var(--color-text-tertiary);-webkit-user-select:none;user-select:none;font-weight:600}.lc-diff__line--added .lc-diff__prefix{color:var(--color-success-default)}.lc-diff__line--removed .lc-diff__prefix{color:var(--color-error-default)}.lc-diff__content{flex:1;white-space:pre;color:var(--color-text-primary)}.lc-diff__file-label{color:var(--color-text-secondary)}.lc-diff__too-large{margin:0;padding:12px;font-family:var(--font-family-sans, sans-serif);font-size:.8125rem;color:var(--color-text-secondary);background:var(--color-surface-2)}\n"],
|
|
269
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
270
|
+
});
|
|
271
|
+
};
|
|
272
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
273
|
+
minVersion: "12.0.0",
|
|
274
|
+
version: "22.2.2",
|
|
275
|
+
ngImport: i0,
|
|
276
|
+
type: DiffViewerComponent,
|
|
277
|
+
decorators: [{
|
|
278
|
+
type: Component,
|
|
279
|
+
args: [{
|
|
280
|
+
selector: "lc-diff-viewer",
|
|
281
|
+
standalone: true,
|
|
282
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
283
|
+
template: "<div class=\"lc-diff\">\n <!-- Stats bar -->\n <div class=\"lc-diff__stats\">\n <span class=\"lc-diff__stat lc-diff__stat--add\">+{{ stats().additions }}</span>\n <span class=\"lc-diff__stat lc-diff__stat--del\">−{{ stats().deletions }}</span>\n </div>\n\n @if (tooLarge()) {\n <!-- Size cap hit: no diff is computed -->\n <p class=\"lc-diff__too-large\" role=\"status\">\n Diff too large to display ({{ oldLabel() }}: {{ oldLineCount() }} lines,\n {{ newLabel() }}: {{ newLineCount() }} lines; limit {{ maxLines() }} lines per side).\n </p>\n } @else if (mode() === 'inline') {\n <!-- Inline mode -->\n <div class=\"lc-diff__inline\">\n <div class=\"lc-diff__headers\">\n <span class=\"lc-diff__file-label\">{{ oldLabel() }} → {{ newLabel() }}</span>\n </div>\n <div class=\"lc-diff__body\">\n @for (line of filteredLines(); track $index) {\n <div\n class=\"lc-diff__line\"\n [class.lc-diff__line--added]=\"line.type === 'added'\"\n [class.lc-diff__line--removed]=\"line.type === 'removed'\"\n >\n @if (showLineNumbers()) {\n <span class=\"lc-diff__num lc-diff__num--left\">{{ line.leftNum ?? '' }}</span>\n <span class=\"lc-diff__num lc-diff__num--right\">{{ line.rightNum ?? '' }}</span>\n }\n <span class=\"lc-diff__prefix\">{{ line.type === 'added' ? '+' : line.type === 'removed' ? '−' : ' ' }}</span>\n <span class=\"lc-diff__content\">{{ line.content }}</span>\n </div>\n }\n </div>\n </div>\n } @else {\n <!-- Side-by-side mode -->\n <div class=\"lc-diff__side-by-side\">\n <div class=\"lc-diff__pane lc-diff__pane--left\">\n <div class=\"lc-diff__pane-header\">{{ oldLabel() }}</div>\n @for (line of sideBySide().left; track $index) {\n <div\n class=\"lc-diff__line\"\n [class.lc-diff__line--removed]=\"line.type === 'removed'\"\n [class.lc-diff__line--empty]=\"line.type === 'empty'\"\n >\n @if (showLineNumbers()) {\n <span class=\"lc-diff__num\">{{ line.num ?? '' }}</span>\n }\n <span class=\"lc-diff__content\">{{ line.content }}</span>\n </div>\n }\n </div>\n <div class=\"lc-diff__pane lc-diff__pane--right\">\n <div class=\"lc-diff__pane-header\">{{ newLabel() }}</div>\n @for (line of sideBySide().right; track $index) {\n <div\n class=\"lc-diff__line\"\n [class.lc-diff__line--added]=\"line.type === 'added'\"\n [class.lc-diff__line--empty]=\"line.type === 'empty'\"\n >\n @if (showLineNumbers()) {\n <span class=\"lc-diff__num\">{{ line.num ?? '' }}</span>\n }\n <span class=\"lc-diff__content\">{{ line.content }}</span>\n </div>\n }\n </div>\n </div>\n }\n</div>\n",
|
|
284
|
+
styles: [".lc-diff{border:1px solid var(--color-border);border-radius:8px;overflow:hidden;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:.75rem;line-height:1.5}.lc-diff__stats{display:flex;gap:8px;padding:6px 12px;background:var(--color-surface-2);border-bottom:1px solid var(--color-border)}.lc-diff__stat{font-size:.6875rem;font-weight:600}.lc-diff__stat--add{color:var(--color-success-default)}.lc-diff__stat--del{color:var(--color-error-default)}.lc-diff__headers,.lc-diff__pane-header{padding:4px 12px;background:var(--color-surface-2);font-size:.6875rem;font-weight:600;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.lc-diff__body{overflow-x:auto}.lc-diff__side-by-side{display:grid;grid-template-columns:1fr 1fr}.lc-diff__pane{overflow-x:auto;min-width:0}.lc-diff__pane--left{border-right:1px solid var(--color-border)}.lc-diff__line{display:flex;min-height:1.5em;padding:0 8px}.lc-diff__line--added{background:var(--color-success-50, #f0fdf4)}.lc-diff__line--removed{background:var(--color-error-50, #fef2f2)}.lc-diff__line--empty{background:var(--color-surface-2)}.lc-diff__num{flex-shrink:0;width:36px;text-align:right;padding-right:8px;color:var(--color-text-tertiary);-webkit-user-select:none;user-select:none}.lc-diff__num--left,.lc-diff__num--right{width:36px}.lc-diff__prefix{flex-shrink:0;width:16px;text-align:center;color:var(--color-text-tertiary);-webkit-user-select:none;user-select:none;font-weight:600}.lc-diff__line--added .lc-diff__prefix{color:var(--color-success-default)}.lc-diff__line--removed .lc-diff__prefix{color:var(--color-error-default)}.lc-diff__content{flex:1;white-space:pre;color:var(--color-text-primary)}.lc-diff__file-label{color:var(--color-text-secondary)}.lc-diff__too-large{margin:0;padding:12px;font-family:var(--font-family-sans, sans-serif);font-size:.8125rem;color:var(--color-text-secondary);background:var(--color-surface-2)}\n"]
|
|
285
|
+
}]
|
|
286
|
+
}],
|
|
287
|
+
propDecorators: {
|
|
288
|
+
oldText: [{
|
|
289
|
+
type: i0.Input,
|
|
290
|
+
args: [{
|
|
291
|
+
isSignal: true,
|
|
292
|
+
alias: "oldText",
|
|
293
|
+
required: true
|
|
294
|
+
}]
|
|
295
|
+
}],
|
|
296
|
+
newText: [{
|
|
297
|
+
type: i0.Input,
|
|
298
|
+
args: [{
|
|
299
|
+
isSignal: true,
|
|
300
|
+
alias: "newText",
|
|
301
|
+
required: true
|
|
302
|
+
}]
|
|
303
|
+
}],
|
|
304
|
+
oldLabel: [{
|
|
305
|
+
type: i0.Input,
|
|
306
|
+
args: [{
|
|
307
|
+
isSignal: true,
|
|
308
|
+
alias: "oldLabel",
|
|
309
|
+
required: false
|
|
310
|
+
}]
|
|
311
|
+
}],
|
|
312
|
+
newLabel: [{
|
|
313
|
+
type: i0.Input,
|
|
314
|
+
args: [{
|
|
315
|
+
isSignal: true,
|
|
316
|
+
alias: "newLabel",
|
|
317
|
+
required: false
|
|
318
|
+
}]
|
|
319
|
+
}],
|
|
320
|
+
mode: [{
|
|
321
|
+
type: i0.Input,
|
|
322
|
+
args: [{
|
|
323
|
+
isSignal: true,
|
|
324
|
+
alias: "mode",
|
|
325
|
+
required: false
|
|
326
|
+
}]
|
|
327
|
+
}],
|
|
328
|
+
showLineNumbers: [{
|
|
329
|
+
type: i0.Input,
|
|
330
|
+
args: [{
|
|
331
|
+
isSignal: true,
|
|
332
|
+
alias: "showLineNumbers",
|
|
333
|
+
required: false
|
|
334
|
+
}]
|
|
335
|
+
}],
|
|
336
|
+
contextLines: [{
|
|
337
|
+
type: i0.Input,
|
|
338
|
+
args: [{
|
|
339
|
+
isSignal: true,
|
|
340
|
+
alias: "contextLines",
|
|
341
|
+
required: false
|
|
342
|
+
}]
|
|
343
|
+
}],
|
|
344
|
+
maxLines: [{
|
|
345
|
+
type: i0.Input,
|
|
346
|
+
args: [{
|
|
347
|
+
isSignal: true,
|
|
348
|
+
alias: "maxLines",
|
|
349
|
+
required: false
|
|
350
|
+
}]
|
|
351
|
+
}]
|
|
352
|
+
}
|
|
353
|
+
});
|
|
354
|
+
export { DiffViewerComponent };
|
|
355
|
+
|
|
356
|
+
//# sourceMappingURL=lifecorner-angular-ui-kit-diff-viewer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecorner-angular-ui-kit-diff-viewer.mjs","names":[],"sources":["../../../../libs/angular-ui-kit/src/lib/diff-viewer/diff-viewer.component.ts","../../../../libs/angular-ui-kit/src/lib/diff-viewer/diff-viewer.component.html"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n input,\n computed,\n} from '@angular/core';\n\nexport type DiffViewMode = 'side-by-side' | 'inline';\n\ninterface DiffLine {\n type: 'unchanged' | 'added' | 'removed';\n leftNum: number | null;\n rightNum: number | null;\n content: string;\n}\n\n/** Edit-script op produced by the line diff (before numbering). */\ntype DiffOp = readonly [type: DiffLine['type'], lines: readonly string[]];\n\n/**\n * Line diff: common prefix/suffix are peeled off cheaply, the remainder goes\n * through Myers' O((N+M)·D) \"bisect\" (find where the forward and reverse\n * D-paths meet, split there, recurse) — linear space, no N×M matrix. Two\n * 5 000-line inputs used to allocate ~25M numbers and freeze the tab.\n */\nfunction diffLines(a: readonly string[], b: readonly string[]): DiffOp[] {\n if (a.length === 0 && b.length === 0) return [];\n if (a.length === 0) return [['added', b]];\n if (b.length === 0) return [['removed', a]];\n\n // Common prefix / suffix.\n let start = 0;\n const maxPrefix = Math.min(a.length, b.length);\n while (start < maxPrefix && a[start] === b[start]) start++;\n let end = 0;\n const maxSuffix = maxPrefix - start;\n while (end < maxSuffix && a[a.length - 1 - end] === b[b.length - 1 - end]) end++;\n\n const ops: DiffOp[] = [];\n if (start > 0) ops.push(['unchanged', a.slice(0, start)]);\n const midA = a.slice(start, a.length - end);\n const midB = b.slice(start, b.length - end);\n if (midA.length && midB.length) {\n // Disjoint inputs are Myers' worst case (D = N + M); answer them in linear time.\n if (sharesLine(midA, midB)) ops.push(...bisect(midA, midB));\n else ops.push(['removed', midA], ['added', midB]);\n } else if (midA.length) ops.push(['removed', midA]);\n else if (midB.length) ops.push(['added', midB]);\n if (end > 0) ops.push(['unchanged', a.slice(a.length - end)]);\n return ops;\n}\n\nfunction sharesLine(a: readonly string[], b: readonly string[]): boolean {\n const seen = new Set(a);\n return b.some(line => seen.has(line));\n}\n\n/** Myers middle-snake bisection (as in diff-match-patch), on line arrays. */\nfunction bisect(a: readonly string[], b: readonly string[]): DiffOp[] {\n const n = a.length;\n const m = b.length;\n const maxD = Math.ceil((n + m) / 2);\n const offset = maxD;\n const size = 2 * maxD;\n const v1 = new Int32Array(size).fill(-1);\n const v2 = new Int32Array(size).fill(-1);\n v1[offset + 1] = 0;\n v2[offset + 1] = 0;\n const delta = n - m;\n // With an odd delta the paths can only overlap on the forward pass.\n const front = delta % 2 !== 0;\n let k1start = 0, k1end = 0, k2start = 0, k2end = 0;\n\n for (let d = 0; d < maxD; d++) {\n // Forward path.\n for (let k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n const k1o = offset + k1;\n let x1 = k1 === -d || (k1 !== d && v1[k1o - 1] < v1[k1o + 1]) ? v1[k1o + 1] : v1[k1o - 1] + 1;\n let y1 = x1 - k1;\n while (x1 < n && y1 < m && a[x1] === b[y1]) { x1++; y1++; }\n v1[k1o] = x1;\n if (x1 > n) k1end += 2;\n else if (y1 > m) k1start += 2;\n else if (front) {\n const k2o = offset + delta - k1;\n if (k2o >= 0 && k2o < size && v2[k2o] !== -1 && x1 >= n - v2[k2o]) {\n return splitAt(a, b, x1, y1);\n }\n }\n }\n // Reverse path.\n for (let k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n const k2o = offset + k2;\n let x2 = k2 === -d || (k2 !== d && v2[k2o - 1] < v2[k2o + 1]) ? v2[k2o + 1] : v2[k2o - 1] + 1;\n let y2 = x2 - k2;\n while (x2 < n && y2 < m && a[n - x2 - 1] === b[m - y2 - 1]) { x2++; y2++; }\n v2[k2o] = x2;\n if (x2 > n) k2end += 2;\n else if (y2 > m) k2start += 2;\n else if (!front) {\n const k1o = offset + delta - k2;\n if (k1o >= 0 && k1o < size && v1[k1o] !== -1) {\n const x1 = v1[k1o];\n if (x1 >= n - x2) return splitAt(a, b, x1, offset + x1 - k1o);\n }\n }\n }\n }\n // Nothing in common at all.\n return [['removed', a], ['added', b]];\n}\n\nfunction splitAt(a: readonly string[], b: readonly string[], x: number, y: number): DiffOp[] {\n return [...diffLines(a.slice(0, x), b.slice(0, y)), ...diffLines(a.slice(x), b.slice(y))];\n}\n\n@Component({\n selector: 'lc-diff-viewer',\n standalone: true,\n templateUrl: './diff-viewer.component.html',\n styleUrls: ['./diff-viewer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DiffViewerComponent {\n readonly oldText = input.required<string>();\n readonly newText = input.required<string>();\n readonly oldLabel = input('Original');\n readonly newLabel = input('Modified');\n readonly mode = input<DiffViewMode>('side-by-side');\n readonly showLineNumbers = input(true);\n readonly contextLines = input(Infinity);\n\n /**\n * Upper bound (per side, in lines) above which no diff is computed and a\n * \"too large\" notice is rendered instead — a UI diff of that size is neither\n * readable nor cheap. Raise it deliberately when you know the inputs.\n */\n readonly maxLines = input(20_000);\n\n private readonly oldLines = computed(() => this.oldText().split('\\n'));\n private readonly newLines = computed(() => this.newText().split('\\n'));\n protected readonly oldLineCount = computed(() => this.oldLines().length);\n protected readonly newLineCount = computed(() => this.newLines().length);\n\n /** True when either side exceeds `maxLines`; the diff is then skipped. */\n protected readonly tooLarge = computed(\n () => Math.max(this.oldLines().length, this.newLines().length) > this.maxLines(),\n );\n\n protected readonly diffLines = computed<DiffLine[]>(() => {\n if (this.tooLarge()) return [];\n return this.numberOps(diffLines(this.oldLines(), this.newLines()));\n });\n\n protected readonly filteredLines = computed(() => {\n const ctx = this.contextLines();\n const lines = this.diffLines();\n if (ctx === Infinity) return lines;\n\n const changed = new Set<number>();\n lines.forEach((l, i) => { if (l.type !== 'unchanged') changed.add(i); });\n\n const visible = new Set<number>();\n for (const idx of changed) {\n for (let j = Math.max(0, idx - ctx); j <= Math.min(lines.length - 1, idx + ctx); j++) {\n visible.add(j);\n }\n }\n\n return lines.filter((_, i) => visible.has(i));\n });\n\n protected readonly sideBySide = computed(() => {\n if (this.mode() !== 'side-by-side') return { left: [], right: [] };\n\n const lines = this.filteredLines();\n const left: { num: number | null; content: string; type: string }[] = [];\n const right: { num: number | null; content: string; type: string }[] = [];\n\n for (const line of lines) {\n if (line.type === 'unchanged') {\n left.push({ num: line.leftNum, content: line.content, type: 'unchanged' });\n right.push({ num: line.rightNum, content: line.content, type: 'unchanged' });\n } else if (line.type === 'removed') {\n left.push({ num: line.leftNum, content: line.content, type: 'removed' });\n right.push({ num: null, content: '', type: 'empty' });\n } else {\n left.push({ num: null, content: '', type: 'empty' });\n right.push({ num: line.rightNum, content: line.content, type: 'added' });\n }\n }\n\n return { left, right };\n });\n\n protected readonly stats = computed(() => {\n let additions = 0;\n let deletions = 0;\n for (const l of this.diffLines()) {\n if (l.type === 'added') additions++;\n else if (l.type === 'removed') deletions++;\n }\n return { additions, deletions };\n });\n\n /** Expand the edit script into numbered lines (removed before added). */\n private numberOps(ops: readonly DiffOp[]): DiffLine[] {\n const result: DiffLine[] = [];\n let i = 0, j = 0;\n for (const [type, lines] of ops) {\n for (const content of lines) {\n if (type === 'unchanged') result.push({ type, leftNum: ++i, rightNum: ++j, content });\n else if (type === 'removed') result.push({ type, leftNum: ++i, rightNum: null, content });\n else result.push({ type, leftNum: null, rightNum: ++j, content });\n }\n }\n return result;\n }\n}\n","<div class=\"lc-diff\">\n <!-- Stats bar -->\n <div class=\"lc-diff__stats\">\n <span class=\"lc-diff__stat lc-diff__stat--add\">+{{ stats().additions }}</span>\n <span class=\"lc-diff__stat lc-diff__stat--del\">−{{ stats().deletions }}</span>\n </div>\n\n @if (tooLarge()) {\n <!-- Size cap hit: no diff is computed -->\n <p class=\"lc-diff__too-large\" role=\"status\">\n Diff too large to display ({{ oldLabel() }}: {{ oldLineCount() }} lines,\n {{ newLabel() }}: {{ newLineCount() }} lines; limit {{ maxLines() }} lines per side).\n </p>\n } @else if (mode() === 'inline') {\n <!-- Inline mode -->\n <div class=\"lc-diff__inline\">\n <div class=\"lc-diff__headers\">\n <span class=\"lc-diff__file-label\">{{ oldLabel() }} → {{ newLabel() }}</span>\n </div>\n <div class=\"lc-diff__body\">\n @for (line of filteredLines(); track $index) {\n <div\n class=\"lc-diff__line\"\n [class.lc-diff__line--added]=\"line.type === 'added'\"\n [class.lc-diff__line--removed]=\"line.type === 'removed'\"\n >\n @if (showLineNumbers()) {\n <span class=\"lc-diff__num lc-diff__num--left\">{{ line.leftNum ?? '' }}</span>\n <span class=\"lc-diff__num lc-diff__num--right\">{{ line.rightNum ?? '' }}</span>\n }\n <span class=\"lc-diff__prefix\">{{ line.type === 'added' ? '+' : line.type === 'removed' ? '−' : ' ' }}</span>\n <span class=\"lc-diff__content\">{{ line.content }}</span>\n </div>\n }\n </div>\n </div>\n } @else {\n <!-- Side-by-side mode -->\n <div class=\"lc-diff__side-by-side\">\n <div class=\"lc-diff__pane lc-diff__pane--left\">\n <div class=\"lc-diff__pane-header\">{{ oldLabel() }}</div>\n @for (line of sideBySide().left; track $index) {\n <div\n class=\"lc-diff__line\"\n [class.lc-diff__line--removed]=\"line.type === 'removed'\"\n [class.lc-diff__line--empty]=\"line.type === 'empty'\"\n >\n @if (showLineNumbers()) {\n <span class=\"lc-diff__num\">{{ line.num ?? '' }}</span>\n }\n <span class=\"lc-diff__content\">{{ line.content }}</span>\n </div>\n }\n </div>\n <div class=\"lc-diff__pane lc-diff__pane--right\">\n <div class=\"lc-diff__pane-header\">{{ newLabel() }}</div>\n @for (line of sideBySide().right; track $index) {\n <div\n class=\"lc-diff__line\"\n [class.lc-diff__line--added]=\"line.type === 'added'\"\n [class.lc-diff__line--empty]=\"line.type === 'empty'\"\n >\n @if (showLineNumbers()) {\n <span class=\"lc-diff__num\">{{ line.num ?? '' }}</span>\n }\n <span class=\"lc-diff__content\">{{ line.content }}</span>\n </div>\n }\n </div>\n </div>\n }\n</div>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import { ChangeDetectionStrategy, Component, computed, input } from "@angular/core";
|
|
3
|
+
var DividerComponent = class DividerComponent {
|
|
4
|
+
orientation = input("horizontal", ...ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []);
|
|
5
|
+
variant = input("solid", ...ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []);
|
|
6
|
+
spacing = input("md", ...ngDevMode ? [{ debugName: "spacing" }] : /* istanbul ignore next */ []);
|
|
7
|
+
label = input(void 0, ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
|
|
8
|
+
dividerClasses = computed(() => {
|
|
9
|
+
return [
|
|
10
|
+
"divider",
|
|
11
|
+
`divider--${this.orientation()}`,
|
|
12
|
+
`divider--${this.variant()}`,
|
|
13
|
+
`divider--spacing-${this.spacing()}`,
|
|
14
|
+
this.label() ? "divider--with-label" : ""
|
|
15
|
+
].filter(Boolean).join(" ");
|
|
16
|
+
}, ...ngDevMode ? [{ debugName: "dividerClasses" }] : /* istanbul ignore next */ []);
|
|
17
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
18
|
+
minVersion: "12.0.0",
|
|
19
|
+
version: "22.2.2",
|
|
20
|
+
ngImport: i0,
|
|
21
|
+
type: DividerComponent,
|
|
22
|
+
deps: [],
|
|
23
|
+
target: i0.ɵɵFactoryTarget.Component
|
|
24
|
+
});
|
|
25
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({
|
|
26
|
+
minVersion: "17.0.0",
|
|
27
|
+
version: "22.2.2",
|
|
28
|
+
type: DividerComponent,
|
|
29
|
+
isStandalone: true,
|
|
30
|
+
selector: "lc-divider",
|
|
31
|
+
inputs: {
|
|
32
|
+
orientation: {
|
|
33
|
+
classPropertyName: "orientation",
|
|
34
|
+
publicName: "orientation",
|
|
35
|
+
isSignal: true,
|
|
36
|
+
isRequired: false,
|
|
37
|
+
transformFunction: null
|
|
38
|
+
},
|
|
39
|
+
variant: {
|
|
40
|
+
classPropertyName: "variant",
|
|
41
|
+
publicName: "variant",
|
|
42
|
+
isSignal: true,
|
|
43
|
+
isRequired: false,
|
|
44
|
+
transformFunction: null
|
|
45
|
+
},
|
|
46
|
+
spacing: {
|
|
47
|
+
classPropertyName: "spacing",
|
|
48
|
+
publicName: "spacing",
|
|
49
|
+
isSignal: true,
|
|
50
|
+
isRequired: false,
|
|
51
|
+
transformFunction: null
|
|
52
|
+
},
|
|
53
|
+
label: {
|
|
54
|
+
classPropertyName: "label",
|
|
55
|
+
publicName: "label",
|
|
56
|
+
isSignal: true,
|
|
57
|
+
isRequired: false,
|
|
58
|
+
transformFunction: null
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
ngImport: i0,
|
|
62
|
+
template: "<div [class]=\"dividerClasses()\" role=\"separator\" [attr.aria-orientation]=\"orientation()\">\n @if (label() && orientation() === 'horizontal') {\n <span class=\"divider__label\">{{ label() }}</span>\n }\n</div>\n",
|
|
63
|
+
styles: [":host{display:block}.divider--horizontal{width:100%;border:none;border-top-width:1px;border-top-color:var(--color-border)}.divider--horizontal.divider--solid{border-top-style:solid}.divider--horizontal.divider--dashed{border-top-style:dashed}.divider--horizontal.divider--dotted{border-top-style:dotted}.divider--horizontal.divider--spacing-none{margin-top:0;margin-bottom:0}.divider--horizontal.divider--spacing-xs{margin-top:.25rem;margin-bottom:.25rem}.divider--horizontal.divider--spacing-sm{margin-top:.5rem;margin-bottom:.5rem}.divider--horizontal.divider--spacing-md{margin-top:1rem;margin-bottom:1rem}.divider--horizontal.divider--spacing-lg{margin-top:1.5rem;margin-bottom:1.5rem}.divider--horizontal.divider--spacing-xl{margin-top:2rem;margin-bottom:2rem}.divider--horizontal.divider--with-label{display:flex;align-items:center;gap:.75rem;border-top:none}.divider--horizontal.divider--with-label:before,.divider--horizontal.divider--with-label:after{content:\"\";flex:1;border-top-width:1px;border-top-color:var(--color-border)}.divider--horizontal.divider--with-label.divider--solid:before,.divider--horizontal.divider--with-label.divider--solid:after{border-top-style:solid}.divider--horizontal.divider--with-label.divider--dashed:before,.divider--horizontal.divider--with-label.divider--dashed:after{border-top-style:dashed}.divider--horizontal.divider--with-label.divider--dotted:before,.divider--horizontal.divider--with-label.divider--dotted:after{border-top-style:dotted}.divider--vertical{display:inline-block;width:0;align-self:stretch;min-height:1rem;border:none;border-left-width:1px;border-left-color:var(--color-border)}.divider--vertical.divider--solid{border-left-style:solid}.divider--vertical.divider--dashed{border-left-style:dashed}.divider--vertical.divider--dotted{border-left-style:dotted}.divider--vertical.divider--spacing-none{margin-left:0;margin-right:0}.divider--vertical.divider--spacing-xs{margin-left:.25rem;margin-right:.25rem}.divider--vertical.divider--spacing-sm{margin-left:.5rem;margin-right:.5rem}.divider--vertical.divider--spacing-md{margin-left:1rem;margin-right:1rem}.divider--vertical.divider--spacing-lg{margin-left:1.5rem;margin-right:1.5rem}.divider--vertical.divider--spacing-xl{margin-left:2rem;margin-right:2rem}.divider__label{font-size:.75rem;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}\n"],
|
|
64
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
68
|
+
minVersion: "12.0.0",
|
|
69
|
+
version: "22.2.2",
|
|
70
|
+
ngImport: i0,
|
|
71
|
+
type: DividerComponent,
|
|
72
|
+
decorators: [{
|
|
73
|
+
type: Component,
|
|
74
|
+
args: [{
|
|
75
|
+
selector: "lc-divider",
|
|
76
|
+
standalone: true,
|
|
77
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
78
|
+
template: "<div [class]=\"dividerClasses()\" role=\"separator\" [attr.aria-orientation]=\"orientation()\">\n @if (label() && orientation() === 'horizontal') {\n <span class=\"divider__label\">{{ label() }}</span>\n }\n</div>\n",
|
|
79
|
+
styles: [":host{display:block}.divider--horizontal{width:100%;border:none;border-top-width:1px;border-top-color:var(--color-border)}.divider--horizontal.divider--solid{border-top-style:solid}.divider--horizontal.divider--dashed{border-top-style:dashed}.divider--horizontal.divider--dotted{border-top-style:dotted}.divider--horizontal.divider--spacing-none{margin-top:0;margin-bottom:0}.divider--horizontal.divider--spacing-xs{margin-top:.25rem;margin-bottom:.25rem}.divider--horizontal.divider--spacing-sm{margin-top:.5rem;margin-bottom:.5rem}.divider--horizontal.divider--spacing-md{margin-top:1rem;margin-bottom:1rem}.divider--horizontal.divider--spacing-lg{margin-top:1.5rem;margin-bottom:1.5rem}.divider--horizontal.divider--spacing-xl{margin-top:2rem;margin-bottom:2rem}.divider--horizontal.divider--with-label{display:flex;align-items:center;gap:.75rem;border-top:none}.divider--horizontal.divider--with-label:before,.divider--horizontal.divider--with-label:after{content:\"\";flex:1;border-top-width:1px;border-top-color:var(--color-border)}.divider--horizontal.divider--with-label.divider--solid:before,.divider--horizontal.divider--with-label.divider--solid:after{border-top-style:solid}.divider--horizontal.divider--with-label.divider--dashed:before,.divider--horizontal.divider--with-label.divider--dashed:after{border-top-style:dashed}.divider--horizontal.divider--with-label.divider--dotted:before,.divider--horizontal.divider--with-label.divider--dotted:after{border-top-style:dotted}.divider--vertical{display:inline-block;width:0;align-self:stretch;min-height:1rem;border:none;border-left-width:1px;border-left-color:var(--color-border)}.divider--vertical.divider--solid{border-left-style:solid}.divider--vertical.divider--dashed{border-left-style:dashed}.divider--vertical.divider--dotted{border-left-style:dotted}.divider--vertical.divider--spacing-none{margin-left:0;margin-right:0}.divider--vertical.divider--spacing-xs{margin-left:.25rem;margin-right:.25rem}.divider--vertical.divider--spacing-sm{margin-left:.5rem;margin-right:.5rem}.divider--vertical.divider--spacing-md{margin-left:1rem;margin-right:1rem}.divider--vertical.divider--spacing-lg{margin-left:1.5rem;margin-right:1.5rem}.divider--vertical.divider--spacing-xl{margin-left:2rem;margin-right:2rem}.divider__label{font-size:.75rem;font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}\n"]
|
|
80
|
+
}]
|
|
81
|
+
}],
|
|
82
|
+
propDecorators: {
|
|
83
|
+
orientation: [{
|
|
84
|
+
type: i0.Input,
|
|
85
|
+
args: [{
|
|
86
|
+
isSignal: true,
|
|
87
|
+
alias: "orientation",
|
|
88
|
+
required: false
|
|
89
|
+
}]
|
|
90
|
+
}],
|
|
91
|
+
variant: [{
|
|
92
|
+
type: i0.Input,
|
|
93
|
+
args: [{
|
|
94
|
+
isSignal: true,
|
|
95
|
+
alias: "variant",
|
|
96
|
+
required: false
|
|
97
|
+
}]
|
|
98
|
+
}],
|
|
99
|
+
spacing: [{
|
|
100
|
+
type: i0.Input,
|
|
101
|
+
args: [{
|
|
102
|
+
isSignal: true,
|
|
103
|
+
alias: "spacing",
|
|
104
|
+
required: false
|
|
105
|
+
}]
|
|
106
|
+
}],
|
|
107
|
+
label: [{
|
|
108
|
+
type: i0.Input,
|
|
109
|
+
args: [{
|
|
110
|
+
isSignal: true,
|
|
111
|
+
alias: "label",
|
|
112
|
+
required: false
|
|
113
|
+
}]
|
|
114
|
+
}]
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
export { DividerComponent };
|
|
118
|
+
|
|
119
|
+
//# sourceMappingURL=lifecorner-angular-ui-kit-divider.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lifecorner-angular-ui-kit-divider.mjs","names":[],"sources":["../../../../libs/angular-ui-kit/src/lib/divider/divider.component.ts","../../../../libs/angular-ui-kit/src/lib/divider/divider.component.html"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n input,\n computed,\n} from '@angular/core';\n\nexport type DividerOrientation = 'horizontal' | 'vertical';\nexport type DividerVariant = 'solid' | 'dashed' | 'dotted';\nexport type DividerSpacing = 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n * Divider component for visual separation of content.\n *\n * Features:\n * - Horizontal and vertical orientations\n * - Line style variants (solid, dashed, dotted)\n * - Configurable spacing (none, sm, md, lg)\n * - Optional centered text label\n * - Dark mode support\n *\n * @example\n * ```html\n * <lc-divider></lc-divider>\n * <lc-divider orientation=\"vertical\" variant=\"dashed\"></lc-divider>\n * <lc-divider spacing=\"lg\">OR</lc-divider>\n * ```\n */\n@Component({\n selector: 'lc-divider',\n standalone: true,\n templateUrl: './divider.component.html',\n styleUrls: ['./divider.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class DividerComponent {\n /**\n * Orientation of the divider line.\n * @default 'horizontal'\n */\n orientation = input<DividerOrientation>('horizontal');\n\n /**\n * Line style.\n * @default 'solid'\n */\n variant = input<DividerVariant>('solid');\n\n /**\n * Spacing (margin) around the divider.\n * @default 'md'\n */\n spacing = input<DividerSpacing>('md');\n\n /**\n * Optional inline text label (e.g. \"OR\", \"Section\").\n */\n label = input<string | undefined>(undefined);\n\n protected dividerClasses = computed(() => {\n return [\n 'divider',\n `divider--${this.orientation()}`,\n `divider--${this.variant()}`,\n `divider--spacing-${this.spacing()}`,\n this.label() ? 'divider--with-label' : '',\n ]\n .filter(Boolean)\n .join(' ');\n });\n}\n","<div [class]=\"dividerClasses()\" role=\"separator\" [attr.aria-orientation]=\"orientation()\">\n @if (label() && orientation() === 'horizontal') {\n <span class=\"divider__label\">{{ label() }}</span>\n }\n</div>\n"],"mappings":";;AAmCA,IAAa,mBAAb,MAAa,iBAAgB;CAK3B,cAAc,MAA0B,cAAa,GAAA,YAAA,CAAA,EAAA,WAAA,cAAA,CAAA,+BAAA,CAAA,CAAA;CAMrD,UAAU,MAAsB,SAAQ,GAAA,YAAA,CAAA,EAAA,WAAA,UAAA,CAAA,+BAAA,CAAA,CAAA;CAMxC,UAAU,MAAsB,MAAK,GAAA,YAAA,CAAA,EAAA,WAAA,UAAA,CAAA,+BAAA,CAAA,CAAA;CAKrC,QAAQ,MAA0B,QAAU,GAAA,YAAA,CAAA,EAAA,WAAA,QAAA,CAAA,+BAAA,CAAA,CAAA;CAElC,iBAAiB,eAAc;EACvC,OAAO;GACL;GACA,YAAY,KAAK,YAAW;GAC5B,YAAY,KAAK,QAAO;GACxB,oBAAoB,KAAK,QAAO;GAChC,KAAK,MAAK,IAAK,wBAAwB;EACxC,CAAA,CACE,OAAO,OAAO,CAAC,CACf,KAAK,GAAG;CACb,GAAE,GAAA,YAAA,CAAA,EAAA,WAAA,iBAAA,CAAA,+BAAA,CAAA,CAAA;CAlCS,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAgB,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAhB,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAgB,cAAA;EAAA,UAAA;EAAA,QAAA;GAAA,aAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,SAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,SAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,OAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;EAAA;EAAA,UAAA;EAAA,UCnC7B;EAKA,QAAA,CAAA,s3EAAA;EAAA,iBAAA,GAAA,wBAAA;CAAA,CAAA;;AD8Ba,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAgB,YAAA,CAAA;EAP5B,MAAA;EACW,MAAA,CAAA;GAAA,UAAA;GAAY,YACV;GAAI,iBAGC,wBAAwB;GAAM,UAAA;GAAA,QAAA,CAAA,s3EAAA;EAAA,CAAA"}
|