@rt-tools/ui-kit-v2 0.17.0 → 0.19.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 +21 -2
- package/fesm2022/rt-tools-ui-kit-v2-accordion.mjs +79 -0
- package/fesm2022/rt-tools-ui-kit-v2-accordion.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-action-bar.mjs +233 -0
- package/fesm2022/rt-tools-ui-kit-v2-action-bar.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-ai-run-status.mjs +97 -0
- package/fesm2022/rt-tools-ui-kit-v2-ai-run-status.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-aside-section.mjs +47 -0
- package/fesm2022/rt-tools-ui-kit-v2-aside-section.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-aside.mjs +709 -0
- package/fesm2022/rt-tools-ui-kit-v2-aside.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-autocomplete.mjs +214 -0
- package/fesm2022/rt-tools-ui-kit-v2-autocomplete.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-bar-list.mjs +53 -0
- package/fesm2022/rt-tools-ui-kit-v2-bar-list.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-bottom-sheet.mjs +88 -0
- package/fesm2022/rt-tools-ui-kit-v2-bottom-sheet.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-button.mjs +365 -0
- package/fesm2022/rt-tools-ui-kit-v2-button.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-calendar.mjs +152 -0
- package/fesm2022/rt-tools-ui-kit-v2-calendar.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-card.mjs +72 -0
- package/fesm2022/rt-tools-ui-kit-v2-card.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-checkbox.mjs +111 -0
- package/fesm2022/rt-tools-ui-kit-v2-checkbox.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-collapsible-text.mjs +76 -0
- package/fesm2022/rt-tools-ui-kit-v2-collapsible-text.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-confirm-popover.mjs +255 -0
- package/fesm2022/rt-tools-ui-kit-v2-confirm-popover.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-container.mjs +1326 -0
- package/fesm2022/rt-tools-ui-kit-v2-container.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-copy-value.mjs +81 -0
- package/fesm2022/rt-tools-ui-kit-v2-copy-value.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-core.mjs +2688 -0
- package/fesm2022/rt-tools-ui-kit-v2-core.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-counter-row.mjs +45 -0
- package/fesm2022/rt-tools-ui-kit-v2-counter-row.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-counter.mjs +158 -0
- package/fesm2022/rt-tools-ui-kit-v2-counter.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-data-list.mjs +894 -0
- package/fesm2022/rt-tools-ui-kit-v2-data-list.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-data-table.mjs +1217 -0
- package/fesm2022/rt-tools-ui-kit-v2-data-table.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-date-picker.mjs +779 -0
- package/fesm2022/rt-tools-ui-kit-v2-date-picker.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-date-range.mjs +573 -0
- package/fesm2022/rt-tools-ui-kit-v2-date-range.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-delta-view.mjs +141 -0
- package/fesm2022/rt-tools-ui-kit-v2-delta-view.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-detail-list.mjs +68 -0
- package/fesm2022/rt-tools-ui-kit-v2-detail-list.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-dialog.mjs +478 -0
- package/fesm2022/rt-tools-ui-kit-v2-dialog.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-dot-field.mjs +183 -0
- package/fesm2022/rt-tools-ui-kit-v2-dot-field.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-download-link.mjs +44 -0
- package/fesm2022/rt-tools-ui-kit-v2-download-link.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-dynamic-list.mjs +260 -0
- package/fesm2022/rt-tools-ui-kit-v2-dynamic-list.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-dynamic-selector.mjs +1036 -0
- package/fesm2022/rt-tools-ui-kit-v2-dynamic-selector.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-empty-state.mjs +56 -0
- package/fesm2022/rt-tools-ui-kit-v2-empty-state.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-expansion-panel.mjs +107 -0
- package/fesm2022/rt-tools-ui-kit-v2-expansion-panel.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-field.mjs +183 -0
- package/fesm2022/rt-tools-ui-kit-v2-field.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-file-card.mjs +219 -0
- package/fesm2022/rt-tools-ui-kit-v2-file-card.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-file-drop.mjs +214 -0
- package/fesm2022/rt-tools-ui-kit-v2-file-drop.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-file-input.mjs +117 -0
- package/fesm2022/rt-tools-ui-kit-v2-file-input.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-file-list.mjs +32 -0
- package/fesm2022/rt-tools-ui-kit-v2-file-list.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-filter-control.mjs +91 -0
- package/fesm2022/rt-tools-ui-kit-v2-filter-control.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-form-control.mjs +220 -0
- package/fesm2022/rt-tools-ui-kit-v2-form-control.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-header.mjs +72 -0
- package/fesm2022/rt-tools-ui-kit-v2-header.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-icon-button.mjs +163 -0
- package/fesm2022/rt-tools-ui-kit-v2-icon-button.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-icon.mjs +711 -0
- package/fesm2022/rt-tools-ui-kit-v2-icon.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-image-cropper.mjs +540 -0
- package/fesm2022/rt-tools-ui-kit-v2-image-cropper.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-image-upload.mjs +227 -0
- package/fesm2022/rt-tools-ui-kit-v2-image-upload.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-info-item.mjs +37 -0
- package/fesm2022/rt-tools-ui-kit-v2-info-item.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-input-number.mjs +361 -0
- package/fesm2022/rt-tools-ui-kit-v2-input-number.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-input.mjs +143 -0
- package/fesm2022/rt-tools-ui-kit-v2-input.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-live-badge.mjs +49 -0
- package/fesm2022/rt-tools-ui-kit-v2-live-badge.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-logo.mjs +97 -0
- package/fesm2022/rt-tools-ui-kit-v2-logo.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-markdown-text.mjs +57 -0
- package/fesm2022/rt-tools-ui-kit-v2-markdown-text.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-menu.mjs +537 -0
- package/fesm2022/rt-tools-ui-kit-v2-menu.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-message.mjs +105 -0
- package/fesm2022/rt-tools-ui-kit-v2-message.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-money-list.mjs +71 -0
- package/fesm2022/rt-tools-ui-kit-v2-money-list.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-multiselect.mjs +315 -0
- package/fesm2022/rt-tools-ui-kit-v2-multiselect.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-night-grid.mjs +51 -0
- package/fesm2022/rt-tools-ui-kit-v2-night-grid.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-note.mjs +44 -0
- package/fesm2022/rt-tools-ui-kit-v2-note.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-notifications-bell.mjs +54 -0
- package/fesm2022/rt-tools-ui-kit-v2-notifications-bell.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-page-header.mjs +339 -0
- package/fesm2022/rt-tools-ui-kit-v2-page-header.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-pagination.mjs +187 -0
- package/fesm2022/rt-tools-ui-kit-v2-pagination.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-photo-viewer.mjs +170 -0
- package/fesm2022/rt-tools-ui-kit-v2-photo-viewer.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-popover.mjs +312 -0
- package/fesm2022/rt-tools-ui-kit-v2-popover.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-prompt-suggestion.mjs +46 -0
- package/fesm2022/rt-tools-ui-kit-v2-prompt-suggestion.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-radio-button.mjs +174 -0
- package/fesm2022/rt-tools-ui-kit-v2-radio-button.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-radius.mjs +56 -0
- package/fesm2022/rt-tools-ui-kit-v2-radius.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs +336 -12
- package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-ripple.mjs +118 -0
- package/fesm2022/rt-tools-ui-kit-v2-ripple.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-scroll-area.mjs +290 -0
- package/fesm2022/rt-tools-ui-kit-v2-scroll-area.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-section-nav.mjs +37 -0
- package/fesm2022/rt-tools-ui-kit-v2-section-nav.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-select.mjs +495 -0
- package/fesm2022/rt-tools-ui-kit-v2-select.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-side-menu.mjs +1493 -0
- package/fesm2022/rt-tools-ui-kit-v2-side-menu.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-skeleton-wrapper.mjs +49 -0
- package/fesm2022/rt-tools-ui-kit-v2-skeleton-wrapper.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-skeleton.mjs +123 -0
- package/fesm2022/rt-tools-ui-kit-v2-skeleton.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-spinner.mjs +70 -0
- package/fesm2022/rt-tools-ui-kit-v2-spinner.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-split-button.mjs +92 -0
- package/fesm2022/rt-tools-ui-kit-v2-split-button.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-stat-tile.mjs +147 -0
- package/fesm2022/rt-tools-ui-kit-v2-stat-tile.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-stepper.mjs +117 -0
- package/fesm2022/rt-tools-ui-kit-v2-stepper.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-table.mjs +1636 -0
- package/fesm2022/rt-tools-ui-kit-v2-table.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-tabs.mjs +350 -0
- package/fesm2022/rt-tools-ui-kit-v2-tabs.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-tag.mjs +122 -0
- package/fesm2022/rt-tools-ui-kit-v2-tag.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-textarea.mjs +85 -0
- package/fesm2022/rt-tools-ui-kit-v2-textarea.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-theme-toggle.mjs +73 -0
- package/fesm2022/rt-tools-ui-kit-v2-theme-toggle.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-thread-list.mjs +222 -0
- package/fesm2022/rt-tools-ui-kit-v2-thread-list.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-timeline.mjs +39 -0
- package/fesm2022/rt-tools-ui-kit-v2-timeline.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-toast.mjs +338 -0
- package/fesm2022/rt-tools-ui-kit-v2-toast.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-toggle-button-group.mjs +132 -0
- package/fesm2022/rt-tools-ui-kit-v2-toggle-button-group.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-toggle-switch.mjs +162 -0
- package/fesm2022/rt-tools-ui-kit-v2-toggle-switch.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-toolbar.mjs +135 -0
- package/fesm2022/rt-tools-ui-kit-v2-toolbar.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-tooltip.mjs +214 -0
- package/fesm2022/rt-tools-ui-kit-v2-tooltip.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-welcome-dialog.mjs +64 -0
- package/fesm2022/rt-tools-ui-kit-v2-welcome-dialog.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs +263 -0
- package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-workspace.mjs +296 -0
- package/fesm2022/rt-tools-ui-kit-v2-workspace.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2.mjs +94 -23819
- package/fesm2022/rt-tools-ui-kit-v2.mjs.map +1 -1
- package/package.json +361 -1
- package/rt-tools-ui-kit-v2-0.19.0.tgz +0 -0
- package/src/assets/icons/sparkle.svg +9 -0
- package/src/assets/icons/thumb-down.svg +10 -0
- package/src/assets/icons/thumb-up.svg +9 -0
- package/src/assets/icons/trash-x.svg +7 -0
- package/src/assets/icons-material/sparkle.fill.svg +5 -0
- package/src/assets/icons-material/sparkle.svg +5 -0
- package/src/assets/icons-material/thumb-down.fill.svg +5 -0
- package/src/assets/icons-material/thumb-down.svg +5 -0
- package/src/assets/icons-material/thumb-up.fill.svg +5 -0
- package/src/assets/icons-material/thumb-up.svg +5 -0
- package/src/assets/icons-material/trash-x.fill.svg +5 -0
- package/src/assets/icons-material/trash-x.svg +5 -0
- package/src/lib/components/action-bar/CONTEXT.md +8 -2
- package/src/lib/components/action-bar/rt-action-bar-holder.component.scss +10 -7
- package/src/lib/components/action-bar/rt-action-bar.component.scss +82 -34
- package/src/lib/components/ai-run-status/CONTEXT.md +36 -0
- package/src/lib/components/ai-run-status/rt-ai-run-status.component.scss +119 -0
- package/src/lib/components/aside/CONTEXT.md +1 -0
- package/src/lib/components/aside/header/rt-aside-header.component.scss +27 -11
- package/src/lib/components/copy-value/CONTEXT.md +31 -0
- package/src/lib/components/copy-value/rt-copy-value.component.scss +39 -0
- package/src/lib/components/data-list/settings/rt-data-list-settings-aside.component.scss +5 -5
- package/src/lib/components/dot-field/CONTEXT.md +31 -0
- package/src/lib/components/dot-field/rt-dot-field.component.scss +20 -0
- package/src/lib/components/dot-field/stories/component/CONTEXT.md +14 -0
- package/src/lib/components/dot-field/stories/component/test-dot-field.component.scss +31 -0
- package/src/lib/components/dynamic-selector/CONTEXT.md +18 -0
- package/src/lib/components/dynamic-selector/list/rt-dynamic-selector-list.component.scss +29 -1
- package/src/lib/components/dynamic-selector/popup/rt-dynamic-selector-popup.component.scss +84 -25
- package/src/lib/components/empty-state/CONTEXT.md +2 -1
- package/src/lib/components/empty-state/rt-empty-state.component.scss +4 -2
- package/src/lib/components/field/CONTEXT.md +18 -2
- package/src/lib/components/icon/CONTEXT.md +16 -12
- package/src/lib/components/icon/rt-icon.component.scss +13 -3
- package/src/lib/components/prompt-suggestion/CONTEXT.md +29 -0
- package/src/lib/components/prompt-suggestion/rt-prompt-suggestion.component.scss +58 -0
- package/src/lib/components/select/rt-select.component.scss +4 -0
- package/src/lib/components/thread-list/CONTEXT.md +4 -0
- package/src/lib/components/thread-list/rt-thread-list.component.scss +29 -0
- package/src/lib/components/toolbar/CONTEXT.md +4 -0
- package/src/lib/components/toolbar/rt-toolbar.component.scss +7 -0
- package/src/rich-editor/lib/components/ai-chat/CONTEXT.md +58 -0
- package/src/rich-editor/lib/components/ai-chat/answer/rt-ai-chat-answer.component.scss +12 -0
- package/src/rich-editor/lib/components/ai-chat/rt-ai-chat.component.scss +222 -0
- package/src/rich-editor/lib/components/rich-editor/rt-rich-editor.component.scss +3 -0
- package/src/styles/_scrollbar.scss +9 -0
- package/src/styles/_semantic.scss +1 -1
- package/styles/tokens.css +11 -8
- package/types/rt-tools-ui-kit-v2-accordion.d.ts +30 -0
- package/types/rt-tools-ui-kit-v2-action-bar.d.ts +149 -0
- package/types/rt-tools-ui-kit-v2-ai-run-status.d.ts +49 -0
- package/types/rt-tools-ui-kit-v2-aside-section.d.ts +25 -0
- package/types/rt-tools-ui-kit-v2-aside.d.ts +444 -0
- package/types/rt-tools-ui-kit-v2-autocomplete.d.ts +78 -0
- package/types/rt-tools-ui-kit-v2-bar-list.d.ts +41 -0
- package/types/rt-tools-ui-kit-v2-bottom-sheet.d.ts +20 -0
- package/types/rt-tools-ui-kit-v2-button.d.ts +76 -0
- package/types/rt-tools-ui-kit-v2-calendar.d.ts +96 -0
- package/types/rt-tools-ui-kit-v2-card.d.ts +38 -0
- package/types/rt-tools-ui-kit-v2-checkbox.d.ts +46 -0
- package/types/rt-tools-ui-kit-v2-collapsible-text.d.ts +20 -0
- package/types/rt-tools-ui-kit-v2-confirm-popover.d.ts +85 -0
- package/types/rt-tools-ui-kit-v2-container.d.ts +425 -0
- package/types/rt-tools-ui-kit-v2-copy-value.d.ts +29 -0
- package/types/rt-tools-ui-kit-v2-core.d.ts +1262 -0
- package/types/rt-tools-ui-kit-v2-counter-row.d.ts +22 -0
- package/types/rt-tools-ui-kit-v2-counter.d.ts +70 -0
- package/types/rt-tools-ui-kit-v2-data-list.d.ts +334 -0
- package/types/rt-tools-ui-kit-v2-data-table.d.ts +494 -0
- package/types/rt-tools-ui-kit-v2-date-picker.d.ts +181 -0
- package/types/rt-tools-ui-kit-v2-date-range.d.ts +98 -0
- package/types/rt-tools-ui-kit-v2-delta-view.d.ts +20 -0
- package/types/rt-tools-ui-kit-v2-detail-list.d.ts +33 -0
- package/types/rt-tools-ui-kit-v2-dialog.d.ts +287 -0
- package/types/rt-tools-ui-kit-v2-dot-field.d.ts +17 -0
- package/types/rt-tools-ui-kit-v2-download-link.d.ts +17 -0
- package/types/rt-tools-ui-kit-v2-dynamic-list.d.ts +139 -0
- package/types/rt-tools-ui-kit-v2-dynamic-selector.d.ts +423 -0
- package/types/rt-tools-ui-kit-v2-empty-state.d.ts +29 -0
- package/types/rt-tools-ui-kit-v2-expansion-panel.d.ts +57 -0
- package/types/rt-tools-ui-kit-v2-field.d.ts +82 -0
- package/types/rt-tools-ui-kit-v2-file-card.d.ts +114 -0
- package/types/rt-tools-ui-kit-v2-file-drop.d.ts +75 -0
- package/types/rt-tools-ui-kit-v2-file-input.d.ts +48 -0
- package/types/rt-tools-ui-kit-v2-file-list.d.ts +13 -0
- package/types/rt-tools-ui-kit-v2-filter-control.d.ts +72 -0
- package/types/rt-tools-ui-kit-v2-form-control.d.ts +74 -0
- package/types/rt-tools-ui-kit-v2-header.d.ts +40 -0
- package/types/rt-tools-ui-kit-v2-icon-button.d.ts +113 -0
- package/types/rt-tools-ui-kit-v2-icon.d.ts +246 -0
- package/types/rt-tools-ui-kit-v2-image-cropper.d.ts +168 -0
- package/types/rt-tools-ui-kit-v2-image-upload.d.ts +102 -0
- package/types/rt-tools-ui-kit-v2-info-item.d.ts +13 -0
- package/types/rt-tools-ui-kit-v2-input-number.d.ts +67 -0
- package/types/rt-tools-ui-kit-v2-input.d.ts +54 -0
- package/types/rt-tools-ui-kit-v2-live-badge.d.ts +23 -0
- package/types/rt-tools-ui-kit-v2-logo.d.ts +58 -0
- package/types/rt-tools-ui-kit-v2-markdown-text.d.ts +30 -0
- package/types/rt-tools-ui-kit-v2-menu.d.ts +217 -0
- package/types/rt-tools-ui-kit-v2-message.d.ts +56 -0
- package/types/rt-tools-ui-kit-v2-money-list.d.ts +34 -0
- package/types/rt-tools-ui-kit-v2-multiselect.d.ts +93 -0
- package/types/rt-tools-ui-kit-v2-night-grid.d.ts +39 -0
- package/types/rt-tools-ui-kit-v2-note.d.ts +21 -0
- package/types/rt-tools-ui-kit-v2-notifications-bell.d.ts +23 -0
- package/types/rt-tools-ui-kit-v2-page-header.d.ts +173 -0
- package/types/rt-tools-ui-kit-v2-pagination.d.ts +64 -0
- package/types/rt-tools-ui-kit-v2-photo-viewer.d.ts +98 -0
- package/types/rt-tools-ui-kit-v2-popover.d.ts +79 -0
- package/types/rt-tools-ui-kit-v2-prompt-suggestion.d.ts +21 -0
- package/types/rt-tools-ui-kit-v2-radio-button.d.ts +61 -0
- package/types/rt-tools-ui-kit-v2-radius.d.ts +37 -0
- package/types/rt-tools-ui-kit-v2-rich-editor.d.ts +186 -2
- package/types/rt-tools-ui-kit-v2-ripple.d.ts +39 -0
- package/types/rt-tools-ui-kit-v2-scroll-area.d.ts +91 -0
- package/types/rt-tools-ui-kit-v2-section-nav.d.ts +23 -0
- package/types/rt-tools-ui-kit-v2-select.d.ts +215 -0
- package/types/rt-tools-ui-kit-v2-side-menu.d.ts +483 -0
- package/types/rt-tools-ui-kit-v2-skeleton-wrapper.d.ts +32 -0
- package/types/rt-tools-ui-kit-v2-skeleton.d.ts +41 -0
- package/types/rt-tools-ui-kit-v2-spinner.d.ts +56 -0
- package/types/rt-tools-ui-kit-v2-split-button.d.ts +72 -0
- package/types/rt-tools-ui-kit-v2-stat-tile.d.ts +81 -0
- package/types/rt-tools-ui-kit-v2-stepper.d.ts +51 -0
- package/types/rt-tools-ui-kit-v2-table.d.ts +739 -0
- package/types/rt-tools-ui-kit-v2-tabs.d.ts +153 -0
- package/types/rt-tools-ui-kit-v2-tag.d.ts +70 -0
- package/types/rt-tools-ui-kit-v2-textarea.d.ts +36 -0
- package/types/rt-tools-ui-kit-v2-theme-toggle.d.ts +43 -0
- package/types/rt-tools-ui-kit-v2-thread-list.d.ts +124 -0
- package/types/rt-tools-ui-kit-v2-timeline.d.ts +35 -0
- package/types/rt-tools-ui-kit-v2-toast.d.ts +103 -0
- package/types/rt-tools-ui-kit-v2-toggle-button-group.d.ts +109 -0
- package/types/rt-tools-ui-kit-v2-toggle-switch.d.ts +85 -0
- package/types/rt-tools-ui-kit-v2-toolbar.d.ts +66 -0
- package/types/rt-tools-ui-kit-v2-tooltip.d.ts +74 -0
- package/types/rt-tools-ui-kit-v2-welcome-dialog.d.ts +33 -0
- package/types/rt-tools-ui-kit-v2-workspace-details.d.ts +128 -0
- package/types/rt-tools-ui-kit-v2-workspace.d.ts +84 -0
- package/types/rt-tools-ui-kit-v2.d.ts +90 -9599
- package/rt-tools-ui-kit-v2-0.17.0.tgz +0 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { computed, input, model, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
4
|
+
import { BlockDirective, ElemDirective, ModDirective } from '@rt-tools/core';
|
|
5
|
+
import { rtKitLabel } from '@rt-tools/ui-kit-v2/core';
|
|
6
|
+
import { RtIconComponent } from '@rt-tools/ui-kit-v2/icon';
|
|
7
|
+
import { RtSpinnerComponent } from '@rt-tools/ui-kit-v2/spinner';
|
|
8
|
+
import { RtTimelineComponent } from '@rt-tools/ui-kit-v2/timeline';
|
|
9
|
+
import { RtTooltipDirective } from '@rt-tools/ui-kit-v2/tooltip';
|
|
10
|
+
|
|
11
|
+
const BEM_BLOCK = 'rt-ai-run-status';
|
|
12
|
+
/** Значок и его цвет по состоянию; у `running` значка нет — на его месте крутилка. */
|
|
13
|
+
const MARKS = {
|
|
14
|
+
done: { name: 'check-circle', color: 'success' },
|
|
15
|
+
stopped: { name: 'times-circle', color: 'muted' },
|
|
16
|
+
failed: { name: 'exclamation-circle', color: 'danger' },
|
|
17
|
+
};
|
|
18
|
+
let runStatusIdSeed = 0;
|
|
19
|
+
function nextRunStatusId() {
|
|
20
|
+
runStatusIdSeed += 1;
|
|
21
|
+
return runStatusIdSeed;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Строка хода работы ИИ-ассистента: значок состояния, подпись текущего шага или итога, мета
|
|
25
|
+
* (время, число шагов) и раскрытие списка пройденных шагов. Пока модель работает, по подписи
|
|
26
|
+
* бежит блик; при `prefers-reduced-motion` подпись стоит ровным цветом.
|
|
27
|
+
*
|
|
28
|
+
* Компонент презентационный: состояние, подпись и шаги приходят готовыми, разбор потока
|
|
29
|
+
* событий модели остаётся в приложении.
|
|
30
|
+
*/
|
|
31
|
+
class RtAiRunStatusComponent {
|
|
32
|
+
constructor() {
|
|
33
|
+
this.#t_aiShowSteps = rtKitLabel('aiShowSteps');
|
|
34
|
+
this.#t_aiHideSteps = rtKitLabel('aiHideSteps');
|
|
35
|
+
this.stepsId = `rt-ai-run-status-steps-${nextRunStatusId()}`;
|
|
36
|
+
this.hasSteps = computed(() => this.steps().length > 0, /* @ts-ignore */
|
|
37
|
+
...(ngDevMode ? [{ debugName: "hasSteps" }] : /* istanbul ignore next */ []));
|
|
38
|
+
this.isOpen = computed(() => this.hasSteps() && this.expanded(), /* @ts-ignore */
|
|
39
|
+
...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
|
|
40
|
+
this.mark = computed(() => {
|
|
41
|
+
const state = this.state();
|
|
42
|
+
return state === 'running' ? null : MARKS[state];
|
|
43
|
+
}, /* @ts-ignore */
|
|
44
|
+
...(ngDevMode ? [{ debugName: "mark" }] : /* istanbul ignore next */ []));
|
|
45
|
+
this.toggleLabel = computed(() => this.isOpen() ? this.#t_aiHideSteps() : this.#t_aiShowSteps(), /* @ts-ignore */
|
|
46
|
+
...(ngDevMode ? [{ debugName: "toggleLabel" }] : /* istanbul ignore next */ []));
|
|
47
|
+
this.state = input.required(/* @ts-ignore */
|
|
48
|
+
...(ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []));
|
|
49
|
+
/** Подпись: текущий шаг, пока модель работает, или итог — «Worked for 31s». */
|
|
50
|
+
this.label = input.required(/* @ts-ignore */
|
|
51
|
+
...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
52
|
+
/** Вторичная строка справа от подписи: время шага или число шагов. Пусто — не рисуется. */
|
|
53
|
+
this.meta = input('', /* @ts-ignore */
|
|
54
|
+
...(ngDevMode ? [{ debugName: "meta" }] : /* istanbul ignore next */ []));
|
|
55
|
+
/** Пройденные шаги. Пустой список — строку нельзя раскрыть. */
|
|
56
|
+
this.steps = input([], /* @ts-ignore */
|
|
57
|
+
...(ngDevMode ? [{ debugName: "steps" }] : /* istanbul ignore next */ []));
|
|
58
|
+
/** Раскрыт ли список шагов. */
|
|
59
|
+
this.expanded = model(false, /* @ts-ignore */
|
|
60
|
+
...(ngDevMode ? [{ debugName: "expanded" }] : /* istanbul ignore next */ []));
|
|
61
|
+
}
|
|
62
|
+
#t_aiShowSteps;
|
|
63
|
+
#t_aiHideSteps;
|
|
64
|
+
onToggle() {
|
|
65
|
+
this.expanded.set(!this.expanded());
|
|
66
|
+
}
|
|
67
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: RtAiRunStatusComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
68
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: RtAiRunStatusComponent, isStandalone: true, selector: "rt-ai-run-status", inputs: { state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, meta: { classPropertyName: "meta", publicName: "meta", isSignal: true, isRequired: false, transformFunction: null }, steps: { classPropertyName: "steps", publicName: "steps", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expanded: "expandedChange" }, host: { classAttribute: "rt-ai-run-status" }, ngImport: i0, template: "<div rtBlock=\"rt-ai-run-status\" qa-dataid=\"ai-run-status\" [attr.data-state]=\"state()\" [rtMod]=\"{ state: state(), open: isOpen() }\">\n <ng-template #head>\n <span rtElem=\"mark\" aria-hidden=\"true\">\n @if (mark(); as m) {\n <rt-icon size=\"sm\" [name]=\"m.name\" [color]=\"m.color\" />\n } @else {\n <rt-spinner appearance=\"arc\" [diameter]=\"16\" />\n }\n </span>\n <span rtElem=\"label\" qa-dataid=\"ai-run-status-label\" [rtMod]=\"{ state: state() }\">{{ label() }}</span>\n @if (meta()) {\n <span rtElem=\"meta\" qa-dataid=\"ai-run-status-meta\">{{ meta() }}</span>\n }\n </ng-template>\n\n @if (hasSteps()) {\n <button\n rtElem=\"row\"\n type=\"button\"\n qa-dataid=\"ai-run-status-toggle\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"stepsId\"\n [rtTooltip]=\"toggleLabel()\"\n (click)=\"onToggle()\">\n <ng-container [ngTemplateOutlet]=\"head\" />\n <rt-icon rtElem=\"chevron\" size=\"sm\" color=\"muted\" [name]=\"isOpen() ? 'chevron-up' : 'chevron-down'\" />\n </button>\n } @else {\n <div rtElem=\"row\" role=\"status\" qa-dataid=\"ai-run-status-row\">\n <ng-container [ngTemplateOutlet]=\"head\" />\n </div>\n }\n\n @if (isOpen()) {\n <rt-timeline rtElem=\"steps\" qa-dataid=\"ai-run-status-steps\" [id]=\"stepsId\" [steps]=\"steps()\" />\n }\n</div>\n", styles: ["@charset \"UTF-8\";@layer rt-kit.components{rt-ai-run-status{display:block}rt-ai-run-status .rt-ai-run-status{--rt-ai-run-status-radius: var(--rt-radius-sm);--rt-ai-run-status-focus-shadow: var(--rt-shadow-focus-ring);--rt-ai-run-status-shimmer-duration: var(--rt-duration-slower);--rt-ai-run-status-shimmer-from: var(--rt-color-text-muted);--rt-ai-run-status-shimmer-to: var(--rt-color-action-primary-on-surface);display:flex;flex-direction:column;gap:var(--rt-space-2xs)}rt-ai-run-status .rt-ai-run-status__row{display:inline-flex;align-items:center;align-self:flex-start;padding:var(--rt-space-2xs) 0;border:0;border-radius:var(--rt-ai-run-status-radius);margin:0;background:transparent;color:inherit;font:inherit;gap:var(--rt-space-sm);text-align:start}rt-ai-run-status .rt-ai-run-status button.rt-ai-run-status__row{cursor:pointer}rt-ai-run-status .rt-ai-run-status button.rt-ai-run-status__row:focus-visible{box-shadow:var(--rt-ai-run-status-focus-shadow);outline:2px solid transparent;outline-offset:2px}rt-ai-run-status .rt-ai-run-status button.rt-ai-run-status__row:hover .rt-ai-run-status__chevron{color:var(--rt-color-text-primary)}rt-ai-run-status .rt-ai-run-status__mark{display:inline-flex;flex:none;align-items:center;justify-content:center;block-size:16px;inline-size:16px}rt-ai-run-status .rt-ai-run-status__label{color:var(--rt-color-text-primary);font-size:var(--rt-text-sm);line-height:var(--rt-leading-snug)}rt-ai-run-status .rt-ai-run-status__label--state--running{animation:rt-ai-run-status-shimmer var(--rt-ai-run-status-shimmer-duration) linear infinite;background:linear-gradient(90deg,var(--rt-ai-run-status-shimmer-from) 0%,var(--rt-ai-run-status-shimmer-to) 50%,var(--rt-ai-run-status-shimmer-from) 100%);background-clip:text;background-size:200% 100%;color:transparent}rt-ai-run-status .rt-ai-run-status__label--state--stopped{color:var(--rt-color-text-muted)}rt-ai-run-status .rt-ai-run-status__label--state--failed{color:var(--rt-color-action-danger-on-surface)}rt-ai-run-status .rt-ai-run-status__meta{flex:none;color:var(--rt-color-text-muted);font-size:var(--rt-text-xs);line-height:var(--rt-leading-snug)}rt-ai-run-status .rt-ai-run-status__chevron{flex:none;color:var(--rt-color-text-muted)}rt-ai-run-status .rt-ai-run-status__steps{padding-inline-start:var(--rt-space-2xs)}@keyframes rt-ai-run-status-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.rt-ai-run-status__label--state--running{animation:none;background:none;color:var(--rt-ai-run-status-shimmer-from)}}}\n"], dependencies: [{ kind: "directive", type:
|
|
69
|
+
// angular
|
|
70
|
+
NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type:
|
|
71
|
+
// standalone components / directives
|
|
72
|
+
BlockDirective, selector: "[rtBlock]", inputs: ["rtMod"] }, { kind: "directive", type: ElemDirective, selector: "[rtElem]", inputs: ["rtMod"] }, { kind: "directive", type: ModDirective, selector: "[rtMod]" }, { kind: "component", type: RtIconComponent, selector: "rt-icon", inputs: ["name", "glyph", "glyphStrategy", "size", "color", "fill", "spin", "rotate"] }, { kind: "component", type: RtSpinnerComponent, selector: "rt-spinner", inputs: ["diameter", "color", "appearance", "overlay", "backdrop", "plate"] }, { kind: "component", type: RtTimelineComponent, selector: "rt-timeline", inputs: ["steps"] }, { kind: "directive", type: RtTooltipDirective, selector: "[rtTooltip]", inputs: ["rtTooltip", "rtTooltipPlacement", "rtTooltipWhenTruncated"], exportAs: ["rtTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
73
|
+
}
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: RtAiRunStatusComponent, decorators: [{
|
|
75
|
+
type: Component,
|
|
76
|
+
args: [{ selector: 'rt-ai-run-status', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
|
|
77
|
+
// angular
|
|
78
|
+
NgTemplateOutlet,
|
|
79
|
+
// standalone components / directives
|
|
80
|
+
BlockDirective,
|
|
81
|
+
ElemDirective,
|
|
82
|
+
ModDirective,
|
|
83
|
+
RtIconComponent,
|
|
84
|
+
RtSpinnerComponent,
|
|
85
|
+
RtTimelineComponent,
|
|
86
|
+
RtTooltipDirective,
|
|
87
|
+
], host: {
|
|
88
|
+
class: BEM_BLOCK,
|
|
89
|
+
}, template: "<div rtBlock=\"rt-ai-run-status\" qa-dataid=\"ai-run-status\" [attr.data-state]=\"state()\" [rtMod]=\"{ state: state(), open: isOpen() }\">\n <ng-template #head>\n <span rtElem=\"mark\" aria-hidden=\"true\">\n @if (mark(); as m) {\n <rt-icon size=\"sm\" [name]=\"m.name\" [color]=\"m.color\" />\n } @else {\n <rt-spinner appearance=\"arc\" [diameter]=\"16\" />\n }\n </span>\n <span rtElem=\"label\" qa-dataid=\"ai-run-status-label\" [rtMod]=\"{ state: state() }\">{{ label() }}</span>\n @if (meta()) {\n <span rtElem=\"meta\" qa-dataid=\"ai-run-status-meta\">{{ meta() }}</span>\n }\n </ng-template>\n\n @if (hasSteps()) {\n <button\n rtElem=\"row\"\n type=\"button\"\n qa-dataid=\"ai-run-status-toggle\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"stepsId\"\n [rtTooltip]=\"toggleLabel()\"\n (click)=\"onToggle()\">\n <ng-container [ngTemplateOutlet]=\"head\" />\n <rt-icon rtElem=\"chevron\" size=\"sm\" color=\"muted\" [name]=\"isOpen() ? 'chevron-up' : 'chevron-down'\" />\n </button>\n } @else {\n <div rtElem=\"row\" role=\"status\" qa-dataid=\"ai-run-status-row\">\n <ng-container [ngTemplateOutlet]=\"head\" />\n </div>\n }\n\n @if (isOpen()) {\n <rt-timeline rtElem=\"steps\" qa-dataid=\"ai-run-status-steps\" [id]=\"stepsId\" [steps]=\"steps()\" />\n }\n</div>\n", styles: ["@charset \"UTF-8\";@layer rt-kit.components{rt-ai-run-status{display:block}rt-ai-run-status .rt-ai-run-status{--rt-ai-run-status-radius: var(--rt-radius-sm);--rt-ai-run-status-focus-shadow: var(--rt-shadow-focus-ring);--rt-ai-run-status-shimmer-duration: var(--rt-duration-slower);--rt-ai-run-status-shimmer-from: var(--rt-color-text-muted);--rt-ai-run-status-shimmer-to: var(--rt-color-action-primary-on-surface);display:flex;flex-direction:column;gap:var(--rt-space-2xs)}rt-ai-run-status .rt-ai-run-status__row{display:inline-flex;align-items:center;align-self:flex-start;padding:var(--rt-space-2xs) 0;border:0;border-radius:var(--rt-ai-run-status-radius);margin:0;background:transparent;color:inherit;font:inherit;gap:var(--rt-space-sm);text-align:start}rt-ai-run-status .rt-ai-run-status button.rt-ai-run-status__row{cursor:pointer}rt-ai-run-status .rt-ai-run-status button.rt-ai-run-status__row:focus-visible{box-shadow:var(--rt-ai-run-status-focus-shadow);outline:2px solid transparent;outline-offset:2px}rt-ai-run-status .rt-ai-run-status button.rt-ai-run-status__row:hover .rt-ai-run-status__chevron{color:var(--rt-color-text-primary)}rt-ai-run-status .rt-ai-run-status__mark{display:inline-flex;flex:none;align-items:center;justify-content:center;block-size:16px;inline-size:16px}rt-ai-run-status .rt-ai-run-status__label{color:var(--rt-color-text-primary);font-size:var(--rt-text-sm);line-height:var(--rt-leading-snug)}rt-ai-run-status .rt-ai-run-status__label--state--running{animation:rt-ai-run-status-shimmer var(--rt-ai-run-status-shimmer-duration) linear infinite;background:linear-gradient(90deg,var(--rt-ai-run-status-shimmer-from) 0%,var(--rt-ai-run-status-shimmer-to) 50%,var(--rt-ai-run-status-shimmer-from) 100%);background-clip:text;background-size:200% 100%;color:transparent}rt-ai-run-status .rt-ai-run-status__label--state--stopped{color:var(--rt-color-text-muted)}rt-ai-run-status .rt-ai-run-status__label--state--failed{color:var(--rt-color-action-danger-on-surface)}rt-ai-run-status .rt-ai-run-status__meta{flex:none;color:var(--rt-color-text-muted);font-size:var(--rt-text-xs);line-height:var(--rt-leading-snug)}rt-ai-run-status .rt-ai-run-status__chevron{flex:none;color:var(--rt-color-text-muted)}rt-ai-run-status .rt-ai-run-status__steps{padding-inline-start:var(--rt-space-2xs)}@keyframes rt-ai-run-status-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.rt-ai-run-status__label--state--running{animation:none;background:none;color:var(--rt-ai-run-status-shimmer-from)}}}\n"] }]
|
|
90
|
+
}], propDecorators: { state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], meta: [{ type: i0.Input, args: [{ isSignal: true, alias: "meta", required: false }] }], steps: [{ type: i0.Input, args: [{ isSignal: true, alias: "steps", required: false }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }, { type: i0.Output, args: ["expandedChange"] }] } });
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Generated bundle index. Do not edit.
|
|
94
|
+
*/
|
|
95
|
+
|
|
96
|
+
export { RtAiRunStatusComponent };
|
|
97
|
+
//# sourceMappingURL=rt-tools-ui-kit-v2-ai-run-status.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rt-tools-ui-kit-v2-ai-run-status.mjs","sources":["../../../projects/ui-kit-v2/src/lib/components/ai-run-status/rt-ai-run-status.component.ts","../../../projects/ui-kit-v2/src/lib/components/ai-run-status/rt-ai-run-status.component.html","../../../projects/ui-kit-v2/src/lib/components/ai-run-status/rt-tools-ui-kit-v2-ai-run-status.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n InputSignal,\n model,\n ModelSignal,\n Signal,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { BlockDirective, ElemDirective, ModDirective } from '@rt-tools/core';\n\nimport { IRtIcon, rtKitLabel } from '@rt-tools/ui-kit-v2/core';\nimport { RtIconComponent } from '@rt-tools/ui-kit-v2/icon';\nimport { RtSpinnerComponent } from '@rt-tools/ui-kit-v2/spinner';\nimport { IRtTimeline, RtTimelineComponent } from '@rt-tools/ui-kit-v2/timeline';\nimport { RtTooltipDirective } from '@rt-tools/ui-kit-v2/tooltip';\n\nimport { IRtAiRunStatus } from './rt-ai-run-status.model';\n\nconst BEM_BLOCK: string = 'rt-ai-run-status';\n\n/** Значок и его цвет по состоянию; у `running` значка нет — на его месте крутилка. */\nconst MARKS: Readonly<Record<Exclude<IRtAiRunStatus.State, 'running'>, { name: IRtIcon.Name; color: IRtIcon.Color }>> = {\n done: { name: 'check-circle', color: 'success' },\n stopped: { name: 'times-circle', color: 'muted' },\n failed: { name: 'exclamation-circle', color: 'danger' },\n};\n\nlet runStatusIdSeed: number = 0;\n\nfunction nextRunStatusId(): number {\n runStatusIdSeed += 1;\n return runStatusIdSeed;\n}\n\n/**\n * Строка хода работы ИИ-ассистента: значок состояния, подпись текущего шага или итога, мета\n * (время, число шагов) и раскрытие списка пройденных шагов. Пока модель работает, по подписи\n * бежит блик; при `prefers-reduced-motion` подпись стоит ровным цветом.\n *\n * Компонент презентационный: состояние, подпись и шаги приходят готовыми, разбор потока\n * событий модели остаётся в приложении.\n */\n@Component({\n selector: 'rt-ai-run-status',\n templateUrl: './rt-ai-run-status.component.html',\n styleUrl: './rt-ai-run-status.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n // angular\n NgTemplateOutlet,\n\n // standalone components / directives\n BlockDirective,\n ElemDirective,\n ModDirective,\n RtIconComponent,\n RtSpinnerComponent,\n RtTimelineComponent,\n RtTooltipDirective,\n ],\n host: {\n class: BEM_BLOCK,\n },\n})\nexport class RtAiRunStatusComponent {\n readonly #t_aiShowSteps: Signal<string> = rtKitLabel('aiShowSteps');\n readonly #t_aiHideSteps: Signal<string> = rtKitLabel('aiHideSteps');\n\n protected readonly stepsId: string = `rt-ai-run-status-steps-${nextRunStatusId()}`;\n\n protected readonly hasSteps: Signal<boolean> = computed((): boolean => this.steps().length > 0);\n\n protected readonly isOpen: Signal<boolean> = computed((): boolean => this.hasSteps() && this.expanded());\n\n protected readonly mark: Signal<{ name: IRtIcon.Name; color: IRtIcon.Color } | null> = computed(\n (): { name: IRtIcon.Name; color: IRtIcon.Color } | null => {\n const state: IRtAiRunStatus.State = this.state();\n return state === 'running' ? null : MARKS[state];\n }\n );\n\n protected readonly toggleLabel: Signal<string> = computed((): string =>\n this.isOpen() ? this.#t_aiHideSteps() : this.#t_aiShowSteps()\n );\n\n public readonly state: InputSignal<IRtAiRunStatus.State> = input.required<IRtAiRunStatus.State>();\n\n /** Подпись: текущий шаг, пока модель работает, или итог — «Worked for 31s». */\n public readonly label: InputSignal<string> = input.required<string>();\n\n /** Вторичная строка справа от подписи: время шага или число шагов. Пусто — не рисуется. */\n public readonly meta: InputSignal<string> = input<string>('');\n\n /** Пройденные шаги. Пустой список — строку нельзя раскрыть. */\n public readonly steps: InputSignal<readonly IRtTimeline.Step[]> = input<readonly IRtTimeline.Step[]>([]);\n\n /** Раскрыт ли список шагов. */\n public readonly expanded: ModelSignal<boolean> = model<boolean>(false);\n\n protected onToggle(): void {\n this.expanded.set(!this.expanded());\n }\n}\n","<div rtBlock=\"rt-ai-run-status\" qa-dataid=\"ai-run-status\" [attr.data-state]=\"state()\" [rtMod]=\"{ state: state(), open: isOpen() }\">\n <ng-template #head>\n <span rtElem=\"mark\" aria-hidden=\"true\">\n @if (mark(); as m) {\n <rt-icon size=\"sm\" [name]=\"m.name\" [color]=\"m.color\" />\n } @else {\n <rt-spinner appearance=\"arc\" [diameter]=\"16\" />\n }\n </span>\n <span rtElem=\"label\" qa-dataid=\"ai-run-status-label\" [rtMod]=\"{ state: state() }\">{{ label() }}</span>\n @if (meta()) {\n <span rtElem=\"meta\" qa-dataid=\"ai-run-status-meta\">{{ meta() }}</span>\n }\n </ng-template>\n\n @if (hasSteps()) {\n <button\n rtElem=\"row\"\n type=\"button\"\n qa-dataid=\"ai-run-status-toggle\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"stepsId\"\n [rtTooltip]=\"toggleLabel()\"\n (click)=\"onToggle()\">\n <ng-container [ngTemplateOutlet]=\"head\" />\n <rt-icon rtElem=\"chevron\" size=\"sm\" color=\"muted\" [name]=\"isOpen() ? 'chevron-up' : 'chevron-down'\" />\n </button>\n } @else {\n <div rtElem=\"row\" role=\"status\" qa-dataid=\"ai-run-status-row\">\n <ng-container [ngTemplateOutlet]=\"head\" />\n </div>\n }\n\n @if (isOpen()) {\n <rt-timeline rtElem=\"steps\" qa-dataid=\"ai-run-status-steps\" [id]=\"stepsId\" [steps]=\"steps()\" />\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAuBA,MAAM,SAAS,GAAW,kBAAkB;AAE5C;AACA,MAAM,KAAK,GAA6G;IACpH,IAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE;IAChD,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE;IACjD,MAAM,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE;CAC1D;AAED,IAAI,eAAe,GAAW,CAAC;AAE/B,SAAS,eAAe,GAAA;IACpB,eAAe,IAAI,CAAC;AACpB,IAAA,OAAO,eAAe;AAC1B;AAEA;;;;;;;AAOG;MAwBU,sBAAsB,CAAA;AAvBnC,IAAA,WAAA,GAAA;AAwBa,QAAA,IAAA,CAAA,cAAc,GAAmB,UAAU,CAAC,aAAa,CAAC;AAC1D,QAAA,IAAA,CAAA,cAAc,GAAmB,UAAU,CAAC,aAAa,CAAC;AAEhD,QAAA,IAAA,CAAA,OAAO,GAAW,CAAA,uBAAA,EAA0B,eAAe,EAAE,EAAE;AAE/D,QAAA,IAAA,CAAA,QAAQ,GAAoB,QAAQ,CAAC,MAAe,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,GAAG,CAAC;qFAAC;AAE5E,QAAA,IAAA,CAAA,MAAM,GAAoB,QAAQ,CAAC,MAAe,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE;mFAAC;AAErF,QAAA,IAAA,CAAA,IAAI,GAAgE,QAAQ,CAC3F,MAA0D;AACtD,YAAA,MAAM,KAAK,GAAyB,IAAI,CAAC,KAAK,EAAE;AAChD,YAAA,OAAO,KAAK,KAAK,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;QACpD,CAAC;iFACJ;QAEkB,IAAA,CAAA,WAAW,GAAmB,QAAQ,CAAC,MACtD,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE;wFAChE;QAEe,IAAA,CAAA,KAAK,GAAsC,KAAK,CAAC,QAAQ;kFAAwB;;QAGjF,IAAA,CAAA,KAAK,GAAwB,KAAK,CAAC,QAAQ;kFAAU;;QAGrD,IAAA,CAAA,IAAI,GAAwB,KAAK,CAAS,EAAE;iFAAC;;QAG7C,IAAA,CAAA,KAAK,GAA6C,KAAK,CAA8B,EAAE;kFAAC;;QAGxF,IAAA,CAAA,QAAQ,GAAyB,KAAK,CAAU,KAAK;qFAAC;AAKzE,IAAA;AArCY,IAAA,cAAc;AACd,IAAA,cAAc;IAiCb,QAAQ,GAAA;QACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACvC;8GArCS,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,2wBCtEnC,+hDAqCA,EAAA,MAAA,EAAA,CAAA,wgFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;gBDkBQ,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;gBAGhB,cAAc,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACd,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACb,YAAY,EAAA,QAAA,EAAA,SAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,eAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,EAAA,YAAA,EAAA,SAAA,EAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAClB,mBAAmB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACnB,kBAAkB,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,oBAAA,EAAA,wBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAMb,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAvBlC,SAAS;+BACI,kBAAkB,EAAA,eAAA,EAGX,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B;;wBAEL,gBAAgB;;wBAGhB,cAAc;wBACd,aAAa;wBACb,YAAY;wBACZ,eAAe;wBACf,kBAAkB;wBAClB,mBAAmB;wBACnB,kBAAkB;qBACrB,EAAA,IAAA,EACK;AACF,wBAAA,KAAK,EAAE,SAAS;AACnB,qBAAA,EAAA,QAAA,EAAA,+hDAAA,EAAA,MAAA,EAAA,CAAA,wgFAAA,CAAA,EAAA;;;AEpEL;;AAEG;;;;"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
|
|
3
|
+
import { BlockDirective, ElemDirective } from '@rt-tools/core';
|
|
4
|
+
|
|
5
|
+
const BEM_BLOCK = 'rt-aside-section';
|
|
6
|
+
/**
|
|
7
|
+
* Смысловая секция внутри асайда: единый вертикальный ритм между полями и
|
|
8
|
+
* необязательный заголовок одного стиля. Заменяет разнобой из `fieldset`,
|
|
9
|
+
* самопальных `div`-секций, `h3` и `<legend>`, которым раньше каждый диалог
|
|
10
|
+
* группировал контент по-своему.
|
|
11
|
+
*
|
|
12
|
+
* Заголовок (`[heading]`) рендерится только когда задан. Соседние секции
|
|
13
|
+
* автоматически разделяются верхней границей — отдельный разделитель в
|
|
14
|
+
* потребителе не нужен.
|
|
15
|
+
*
|
|
16
|
+
* Внутри секция размечена словарём формы панели: тело — колонкой контролов,
|
|
17
|
+
* заголовок — заголовком раздела. Ритм между ними приходит зазорами словаря,
|
|
18
|
+
* поэтому панель, собранная из готовых секций, и панель, размеченная словарём
|
|
19
|
+
* вручную, стоят одинаково.
|
|
20
|
+
*/
|
|
21
|
+
class RtAsideSectionComponent {
|
|
22
|
+
constructor() {
|
|
23
|
+
this.heading = input(null, /* @ts-ignore */
|
|
24
|
+
...(ngDevMode ? [{ debugName: "heading" }] : /* istanbul ignore next */ []));
|
|
25
|
+
}
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: RtAsideSectionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.6", type: RtAsideSectionComponent, isStandalone: true, selector: "rt-aside-section", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "rt-aside-section" }, ngImport: i0, template: "<ng-container rtBlock=\"rt-form\">\n <div rtElem=\"controls\" qa-dataid=\"aside-section-body\">\n @if (heading()) {\n <h3 rtElem=\"title\" qa-dataid=\"aside-section-heading\">{{ heading() }}</h3>\n }\n <ng-content />\n </div>\n</ng-container>\n", styles: ["@charset \"UTF-8\";@layer rt-kit.components{.rt-aside-section{--rt-aside-section-border-width: var(--rt-border-width-thin);display:flex;flex-direction:column}.rt-aside-section+.rt-aside-section{padding-top:var(--rt-aside-content-gap);border-top:var(--rt-aside-section-border-width) solid var(--rt-color-border-subtle)}}\n"], dependencies: [{ kind: "directive", type:
|
|
28
|
+
// standalone components / directives
|
|
29
|
+
BlockDirective, selector: "[rtBlock]", inputs: ["rtMod"] }, { kind: "directive", type: ElemDirective, selector: "[rtElem]", inputs: ["rtMod"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: RtAsideSectionComponent, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{ selector: 'rt-aside-section', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
|
|
34
|
+
// standalone components / directives
|
|
35
|
+
BlockDirective,
|
|
36
|
+
ElemDirective,
|
|
37
|
+
], host: {
|
|
38
|
+
class: BEM_BLOCK,
|
|
39
|
+
}, template: "<ng-container rtBlock=\"rt-form\">\n <div rtElem=\"controls\" qa-dataid=\"aside-section-body\">\n @if (heading()) {\n <h3 rtElem=\"title\" qa-dataid=\"aside-section-heading\">{{ heading() }}</h3>\n }\n <ng-content />\n </div>\n</ng-container>\n", styles: ["@charset \"UTF-8\";@layer rt-kit.components{.rt-aside-section{--rt-aside-section-border-width: var(--rt-border-width-thin);display:flex;flex-direction:column}.rt-aside-section+.rt-aside-section{padding-top:var(--rt-aside-content-gap);border-top:var(--rt-aside-section-border-width) solid var(--rt-color-border-subtle)}}\n"] }]
|
|
40
|
+
}], propDecorators: { heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }] } });
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Generated bundle index. Do not edit.
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
export { RtAsideSectionComponent };
|
|
47
|
+
//# sourceMappingURL=rt-tools-ui-kit-v2-aside-section.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rt-tools-ui-kit-v2-aside-section.mjs","sources":["../../../projects/ui-kit-v2/src/lib/components/aside-section/rt-aside-section.component.ts","../../../projects/ui-kit-v2/src/lib/components/aside-section/rt-aside-section.component.html","../../../projects/ui-kit-v2/src/lib/components/aside-section/rt-tools-ui-kit-v2-aside-section.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, InputSignal, ViewEncapsulation } from '@angular/core';\n\nimport { BlockDirective, ElemDirective } from '@rt-tools/core';\n\nconst BEM_BLOCK: string = 'rt-aside-section';\n\n/**\n * Смысловая секция внутри асайда: единый вертикальный ритм между полями и\n * необязательный заголовок одного стиля. Заменяет разнобой из `fieldset`,\n * самопальных `div`-секций, `h3` и `<legend>`, которым раньше каждый диалог\n * группировал контент по-своему.\n *\n * Заголовок (`[heading]`) рендерится только когда задан. Соседние секции\n * автоматически разделяются верхней границей — отдельный разделитель в\n * потребителе не нужен.\n *\n * Внутри секция размечена словарём формы панели: тело — колонкой контролов,\n * заголовок — заголовком раздела. Ритм между ними приходит зазорами словаря,\n * поэтому панель, собранная из готовых секций, и панель, размеченная словарём\n * вручную, стоят одинаково.\n */\n@Component({\n selector: 'rt-aside-section',\n templateUrl: './rt-aside-section.component.html',\n styleUrl: './rt-aside-section.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n // standalone components / directives\n BlockDirective,\n ElemDirective,\n ],\n host: {\n class: BEM_BLOCK,\n },\n})\nexport class RtAsideSectionComponent {\n public readonly heading: InputSignal<string | null> = input<string | null>(null);\n}\n","<ng-container rtBlock=\"rt-form\">\n <div rtElem=\"controls\" qa-dataid=\"aside-section-body\">\n @if (heading()) {\n <h3 rtElem=\"title\" qa-dataid=\"aside-section-heading\">{{ heading() }}</h3>\n }\n <ng-content />\n </div>\n</ng-container>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAIA,MAAM,SAAS,GAAW,kBAAkB;AAE5C;;;;;;;;;;;;;;AAcG;MAgBU,uBAAuB,CAAA;AAfpC,IAAA,WAAA,GAAA;QAgBoB,IAAA,CAAA,OAAO,GAA+B,KAAK,CAAgB,IAAI;oFAAC;AACnF,IAAA;8GAFY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,oQCpCpC,4RAQA,EAAA,MAAA,EAAA,CAAA,mUAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA;;ADqBQ,gBAAA,cAAc,yEACd,aAAa,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAMR,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAfnC,SAAS;+BACI,kBAAkB,EAAA,eAAA,EAGX,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,OAAA,EAC5B;;wBAEL,cAAc;wBACd,aAAa;qBAChB,EAAA,IAAA,EACK;AACF,wBAAA,KAAK,EAAE,SAAS;AACnB,qBAAA,EAAA,QAAA,EAAA,4RAAA,EAAA,MAAA,EAAA,CAAA,mUAAA,CAAA,EAAA;;;AElCL;;AAEG;;;;"}
|