@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
|
@@ -4,22 +4,36 @@
|
|
|
4
4
|
/* rt-action-bar — ViewEncapsulation.None: правила таргетируют BEM-класс блока.
|
|
5
5
|
`.rt-action-bar` — сам хост (шаблон начинается с ng-container, класс ставит host). */
|
|
6
6
|
|
|
7
|
+
/* Свойства полосы приложение задаёт на любом предке, хоть на корне страницы: на самой полосе
|
|
8
|
+
объявлены только умолчания с приставкой `-default`, а читается свойство с запасным значением.
|
|
9
|
+
Объявленное на полосе под публичным именем перебило бы правило предка — так было до RT-2619. */
|
|
7
10
|
.rt-action-bar {
|
|
8
|
-
--rt-action-bar-radius: var(--rt-radius-lg);
|
|
9
|
-
--rt-action-bar-shadow: var(--rt-shadow-card);
|
|
10
|
-
--rt-action-bar-bg: var(--rt-color-bg-inverse);
|
|
11
|
-
--rt-action-bar-color: var(--rt-color-text-inverse);
|
|
12
|
-
--rt-action-bar-padding: var(--rt-space-2) var(--rt-space-4);
|
|
13
|
-
--rt-action-bar-gap: var(--rt-space-4);
|
|
14
|
-
--rt-action-bar-font-size: var(--rt-text-sm);
|
|
15
|
-
--rt-action-bar-counter-weight: var(--rt-font-weight-medium);
|
|
16
|
-
--rt-action-bar-
|
|
17
|
-
--rt-action-bar-action-
|
|
18
|
-
--rt-action-bar-action-padding-
|
|
19
|
-
--rt-action-bar-action-
|
|
20
|
-
--rt-action-bar-action-
|
|
21
|
-
--rt-action-bar-action-
|
|
22
|
-
--rt-action-bar-action-
|
|
11
|
+
--rt-action-bar-radius-default: var(--rt-radius-lg);
|
|
12
|
+
--rt-action-bar-shadow-default: var(--rt-shadow-card);
|
|
13
|
+
--rt-action-bar-bg-default: var(--rt-color-bg-inverse);
|
|
14
|
+
--rt-action-bar-color-default: var(--rt-color-text-inverse);
|
|
15
|
+
--rt-action-bar-padding-default: var(--rt-space-2) var(--rt-space-4);
|
|
16
|
+
--rt-action-bar-gap-default: var(--rt-space-4);
|
|
17
|
+
--rt-action-bar-font-size-default: var(--rt-text-sm);
|
|
18
|
+
--rt-action-bar-counter-weight-default: var(--rt-font-weight-medium);
|
|
19
|
+
--rt-action-bar-counter-font-size-default: 1em;
|
|
20
|
+
--rt-action-bar-action-radius-default: var(--rt-radius-md);
|
|
21
|
+
--rt-action-bar-action-padding-block-default: var(--rt-space-1);
|
|
22
|
+
--rt-action-bar-action-padding-inline-default: var(--rt-space-2);
|
|
23
|
+
--rt-action-bar-action-weight-default: var(--rt-font-weight-medium);
|
|
24
|
+
--rt-action-bar-action-height-default: auto;
|
|
25
|
+
--rt-action-bar-action-font-size-default: 1em;
|
|
26
|
+
--rt-action-bar-action-bg-hover-default: color-mix(
|
|
27
|
+
in srgb,
|
|
28
|
+
var(--rt-action-bar-color, var(--rt-action-bar-color-default)) 16%,
|
|
29
|
+
transparent
|
|
30
|
+
);
|
|
31
|
+
--rt-action-bar-action-color-danger-default: var(--rt-color-action-danger-on-surface);
|
|
32
|
+
--rt-action-bar-action-focus-shadow-default: var(--rt-shadow-focus-ring);
|
|
33
|
+
--rt-action-bar-icon-size-default: var(--rt-size-4);
|
|
34
|
+
--rt-action-bar-icon-gap-default: var(--rt-space-2);
|
|
35
|
+
--rt-action-bar-close-size-default: var(--rt-control-height-sm);
|
|
36
|
+
--rt-action-bar-close-icon-size-default: var(--rt-size-4);
|
|
23
37
|
|
|
24
38
|
// Предел ширины стоит и на самом элементе. Содержащий блок полосы — этот элемент, и
|
|
25
39
|
// без предела он растёт по содержимому: сто процентов считались бы тогда от выросшего,
|
|
@@ -29,16 +43,17 @@
|
|
|
29
43
|
max-width: 100%;
|
|
30
44
|
box-sizing: border-box;
|
|
31
45
|
align-items: center;
|
|
32
|
-
padding: var(--rt-action-bar-padding);
|
|
33
|
-
border-radius: var(--rt-action-bar-radius);
|
|
34
|
-
background: var(--rt-action-bar-bg);
|
|
35
|
-
box-shadow: var(--rt-action-bar-shadow);
|
|
36
|
-
color: var(--rt-action-bar-color);
|
|
37
|
-
font-size: var(--rt-action-bar-font-size);
|
|
38
|
-
gap: var(--rt-action-bar-gap);
|
|
46
|
+
padding: var(--rt-action-bar-padding, var(--rt-action-bar-padding-default));
|
|
47
|
+
border-radius: var(--rt-action-bar-radius, var(--rt-action-bar-radius-default));
|
|
48
|
+
background: var(--rt-action-bar-bg, var(--rt-action-bar-bg-default));
|
|
49
|
+
box-shadow: var(--rt-action-bar-shadow, var(--rt-action-bar-shadow-default));
|
|
50
|
+
color: var(--rt-action-bar-color, var(--rt-action-bar-color-default));
|
|
51
|
+
font-size: var(--rt-action-bar-font-size, var(--rt-action-bar-font-size-default));
|
|
52
|
+
gap: var(--rt-action-bar-gap, var(--rt-action-bar-gap-default));
|
|
39
53
|
|
|
40
54
|
&__counter {
|
|
41
|
-
font-
|
|
55
|
+
font-size: var(--rt-action-bar-counter-font-size, var(--rt-action-bar-counter-font-size-default));
|
|
56
|
+
font-weight: var(--rt-action-bar-counter-weight, var(--rt-action-bar-counter-weight-default));
|
|
42
57
|
white-space: nowrap;
|
|
43
58
|
}
|
|
44
59
|
|
|
@@ -53,36 +68,46 @@
|
|
|
53
68
|
|
|
54
69
|
&__action {
|
|
55
70
|
display: flex;
|
|
71
|
+
min-height: var(--rt-action-bar-action-height, var(--rt-action-bar-action-height-default));
|
|
72
|
+
box-sizing: border-box;
|
|
56
73
|
align-items: center;
|
|
57
|
-
padding: var(--rt-action-bar-action-padding-block
|
|
74
|
+
padding: var(--rt-action-bar-action-padding-block, var(--rt-action-bar-action-padding-block-default))
|
|
75
|
+
var(--rt-action-bar-action-padding-inline, var(--rt-action-bar-action-padding-inline-default));
|
|
58
76
|
border: 0;
|
|
59
|
-
border-radius: var(--rt-action-bar-action-radius);
|
|
77
|
+
border-radius: var(--rt-action-bar-action-radius, var(--rt-action-bar-action-radius-default));
|
|
60
78
|
background: transparent;
|
|
61
79
|
color: inherit;
|
|
62
80
|
cursor: pointer;
|
|
63
81
|
font-family: inherit;
|
|
64
|
-
font-size:
|
|
82
|
+
font-size: var(--rt-action-bar-action-font-size, var(--rt-action-bar-action-font-size-default));
|
|
65
83
|
|
|
66
84
|
// Нажатие в этом ките набрано средним начертанием — так набрана кнопка кита, и
|
|
67
85
|
// действие полосы такое же нажатие. Первый кит ставил здесь шестьсот.
|
|
68
|
-
font-weight: var(--rt-action-bar-action-weight);
|
|
69
|
-
gap: var(--rt-
|
|
86
|
+
font-weight: var(--rt-action-bar-action-weight, var(--rt-action-bar-action-weight-default));
|
|
87
|
+
gap: var(--rt-action-bar-icon-gap, var(--rt-action-bar-icon-gap-default));
|
|
70
88
|
|
|
71
89
|
&:hover {
|
|
72
|
-
background: var(--rt-action-bar-action-bg-hover);
|
|
90
|
+
background: var(--rt-action-bar-action-bg-hover, var(--rt-action-bar-action-bg-hover-default));
|
|
73
91
|
}
|
|
74
92
|
|
|
75
93
|
&:focus-visible {
|
|
76
|
-
box-shadow: var(--rt-action-bar-action-focus-shadow);
|
|
94
|
+
box-shadow: var(--rt-action-bar-action-focus-shadow, var(--rt-action-bar-action-focus-shadow-default));
|
|
77
95
|
outline: none;
|
|
78
96
|
}
|
|
79
97
|
|
|
80
98
|
&--danger {
|
|
81
|
-
color: var(--rt-action-bar-action-color-danger);
|
|
99
|
+
color: var(--rt-action-bar-action-color-danger, var(--rt-action-bar-action-color-danger-default));
|
|
82
100
|
}
|
|
83
101
|
}
|
|
84
102
|
|
|
103
|
+
// Значок ставит свой размер строкой стиля, и свойство полосы берёт верх через min и max —
|
|
104
|
+
// так же делает заглушка пустого состояния. Глиф шрифта Material без пары в наборе кита
|
|
105
|
+
// держит кегль своего шага: его значок пишет строкой стиля на самом глифе.
|
|
85
106
|
&__action-icon {
|
|
107
|
+
min-width: var(--rt-action-bar-icon-size, var(--rt-action-bar-icon-size-default));
|
|
108
|
+
max-width: var(--rt-action-bar-icon-size, var(--rt-action-bar-icon-size-default));
|
|
109
|
+
min-height: var(--rt-action-bar-icon-size, var(--rt-action-bar-icon-size-default));
|
|
110
|
+
max-height: var(--rt-action-bar-icon-size, var(--rt-action-bar-icon-size-default));
|
|
86
111
|
flex: none;
|
|
87
112
|
}
|
|
88
113
|
|
|
@@ -101,11 +126,25 @@
|
|
|
101
126
|
// белому, и крестика не было видно ни в одном кадре. Своё свойство блока перебивают —
|
|
102
127
|
// так делает просмотр фотографии, где кнопка стоит на снимке.
|
|
103
128
|
&__close {
|
|
104
|
-
--rt-icon-button-color: var(--rt-action-bar-color);
|
|
105
|
-
--rt-icon-button-color-bg-hover: var(--rt-action-bar-action-bg-hover);
|
|
129
|
+
--rt-icon-button-color: var(--rt-action-bar-color, var(--rt-action-bar-color-default));
|
|
130
|
+
--rt-icon-button-color-bg-hover: var(--rt-action-bar-action-bg-hover, var(--rt-action-bar-action-bg-hover-default));
|
|
106
131
|
|
|
107
132
|
flex: none;
|
|
108
133
|
margin-left: auto;
|
|
134
|
+
|
|
135
|
+
// Размер кнопки — шаг самой иконочной кнопки: `--rt-icon-button-size` — ручка приложения,
|
|
136
|
+
// и кит её не объявляет. Шаг объявлен на внутренней кнопке правилом из двух классов,
|
|
137
|
+
// поэтому здесь три: хост с классом элемента и внутренняя кнопка.
|
|
138
|
+
&.rt-icon-button .rt-icon-button {
|
|
139
|
+
--rt-icon-button-size-step: var(--rt-action-bar-close-size, var(--rt-action-bar-close-size-default));
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.rt-icon {
|
|
143
|
+
min-width: var(--rt-action-bar-close-icon-size, var(--rt-action-bar-close-icon-size-default));
|
|
144
|
+
max-width: var(--rt-action-bar-close-icon-size, var(--rt-action-bar-close-icon-size-default));
|
|
145
|
+
min-height: var(--rt-action-bar-close-icon-size, var(--rt-action-bar-close-icon-size-default));
|
|
146
|
+
max-height: var(--rt-action-bar-close-icon-size, var(--rt-action-bar-close-icon-size-default));
|
|
147
|
+
}
|
|
109
148
|
}
|
|
110
149
|
|
|
111
150
|
// Меню рисуется в оверлее, вне полосы: объявление на полосе до него не доходит, и раньше
|
|
@@ -115,14 +154,23 @@
|
|
|
115
154
|
&__menu {
|
|
116
155
|
--rt-action-bar-menu-radius-default: var(--rt-radius-md);
|
|
117
156
|
--rt-action-bar-menu-shadow-default: var(--rt-shadow-card);
|
|
157
|
+
--rt-action-bar-menu-padding-default: var(--rt-space-2);
|
|
158
|
+
--rt-action-bar-menu-gap-default: 0;
|
|
159
|
+
--rt-action-bar-menu-item-font-size-default: var(--rt-text-sm);
|
|
118
160
|
|
|
119
161
|
display: flex;
|
|
120
162
|
flex-direction: column;
|
|
121
|
-
padding: var(--rt-
|
|
163
|
+
padding: var(--rt-action-bar-menu-padding, var(--rt-action-bar-menu-padding-default));
|
|
122
164
|
border-radius: var(--rt-action-bar-menu-radius, var(--rt-action-bar-menu-radius-default));
|
|
123
165
|
background: var(--rt-action-bar-menu-bg, var(--rt-color-bg-surface));
|
|
124
166
|
box-shadow: var(--rt-action-bar-menu-shadow, var(--rt-action-bar-menu-shadow-default));
|
|
125
167
|
color: var(--rt-action-bar-menu-color, var(--rt-color-text-primary));
|
|
168
|
+
gap: var(--rt-action-bar-menu-gap, var(--rt-action-bar-menu-gap-default));
|
|
169
|
+
|
|
170
|
+
// Кегль пункта у пункта меню свой; меню полосы переназначает его правилом большей силы.
|
|
171
|
+
.rt-menu-item {
|
|
172
|
+
font-size: var(--rt-action-bar-menu-item-font-size, var(--rt-action-bar-menu-item-font-size-default));
|
|
173
|
+
}
|
|
126
174
|
}
|
|
127
175
|
|
|
128
176
|
// Полоса живёт на нижней кромке, и пальцу нужно место, которое занимают подписи. Решает
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# `rt-ai-run-status`
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<rt-ai-run-status [state]="run.state" [label]="run.label" [meta]="run.meta" [steps]="run.steps" [(expanded)]="stepsOpen" />
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
| вход | тип | умолчание |
|
|
8
|
+
| ---------- | ----------------------------- | ----------------------------- |
|
|
9
|
+
| `state` | `IRtAiRunStatus.State` | обязателен |
|
|
10
|
+
| `label` | `string` | обязателен |
|
|
11
|
+
| `meta` | `string` | `''` — не рисуется |
|
|
12
|
+
| `steps` | `readonly IRtTimeline.Step[]` | `[]` — строку нельзя раскрыть |
|
|
13
|
+
| `expanded` | `boolean` (`model`) | `false` |
|
|
14
|
+
|
|
15
|
+
Выход: `expandedChange` — от `model` раскрытия.
|
|
16
|
+
|
|
17
|
+
Спек — `docs/specs/ui-kit-v2/ai-run-status/`; здесь только устройство папки.
|
|
18
|
+
|
|
19
|
+
## Главное, что нужно знать
|
|
20
|
+
|
|
21
|
+
**Строка презентационная.** Состояние, подпись, мета и шаги приходят готовыми: разбор потока
|
|
22
|
+
событий модели и подсчёт времени — дело приложения.
|
|
23
|
+
|
|
24
|
+
**С шагами вся строка — кнопка.** Без шагов кнопки нет, строка объявляется `role="status"`.
|
|
25
|
+
`aria-expanded` и `aria-controls` стоят на кнопке, `id` — на ленте шагов.
|
|
26
|
+
|
|
27
|
+
## Края
|
|
28
|
+
|
|
29
|
+
- Блик подписи — градиент, обрезанный по тексту, и он бежит анимацией. При
|
|
30
|
+
`prefers-reduced-motion` анимации нет, подпись стоит цветом `--rt-ai-run-status-shimmer-from`.
|
|
31
|
+
- `expanded` при пустом `steps` ничего не раскрывает: список рисуется только при шагах.
|
|
32
|
+
|
|
33
|
+
## Рядом
|
|
34
|
+
|
|
35
|
+
- [`rt-timeline`](../timeline/CONTEXT.md) — лента шагов под строкой.
|
|
36
|
+
- [`rt-spinner`](../spinner/CONTEXT.md) — крутилка состояния `running`.
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
@layer rt-kit.components {
|
|
2
|
+
/* rt-ai-run-status — строка хода работы ассистента. ViewEncapsulation.None.
|
|
3
|
+
Класс блока висит и на хосте, и на корне шаблона, поэтому правила вложены в хост. */
|
|
4
|
+
|
|
5
|
+
rt-ai-run-status {
|
|
6
|
+
display: block;
|
|
7
|
+
|
|
8
|
+
.rt-ai-run-status {
|
|
9
|
+
--rt-ai-run-status-radius: var(--rt-radius-sm);
|
|
10
|
+
--rt-ai-run-status-focus-shadow: var(--rt-shadow-focus-ring);
|
|
11
|
+
--rt-ai-run-status-shimmer-duration: var(--rt-duration-slower);
|
|
12
|
+
--rt-ai-run-status-shimmer-from: var(--rt-color-text-muted);
|
|
13
|
+
--rt-ai-run-status-shimmer-to: var(--rt-color-action-primary-on-surface);
|
|
14
|
+
|
|
15
|
+
display: flex;
|
|
16
|
+
flex-direction: column;
|
|
17
|
+
gap: var(--rt-space-2xs);
|
|
18
|
+
|
|
19
|
+
&__row {
|
|
20
|
+
display: inline-flex;
|
|
21
|
+
align-items: center;
|
|
22
|
+
align-self: flex-start;
|
|
23
|
+
padding: var(--rt-space-2xs) 0;
|
|
24
|
+
border: 0;
|
|
25
|
+
border-radius: var(--rt-ai-run-status-radius);
|
|
26
|
+
margin: 0;
|
|
27
|
+
background: transparent;
|
|
28
|
+
color: inherit;
|
|
29
|
+
font: inherit;
|
|
30
|
+
gap: var(--rt-space-sm);
|
|
31
|
+
text-align: start;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
button.rt-ai-run-status__row {
|
|
35
|
+
cursor: pointer;
|
|
36
|
+
|
|
37
|
+
&:focus-visible {
|
|
38
|
+
box-shadow: var(--rt-ai-run-status-focus-shadow);
|
|
39
|
+
outline: 2px solid transparent;
|
|
40
|
+
outline-offset: 2px;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&:hover .rt-ai-run-status__chevron {
|
|
44
|
+
color: var(--rt-color-text-primary);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
&__mark {
|
|
49
|
+
display: inline-flex;
|
|
50
|
+
flex: none;
|
|
51
|
+
align-items: center;
|
|
52
|
+
justify-content: center;
|
|
53
|
+
block-size: 16px;
|
|
54
|
+
inline-size: 16px;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&__label {
|
|
58
|
+
color: var(--rt-color-text-primary);
|
|
59
|
+
font-size: var(--rt-text-sm);
|
|
60
|
+
line-height: var(--rt-leading-snug);
|
|
61
|
+
|
|
62
|
+
&--state--running {
|
|
63
|
+
animation: rt-ai-run-status-shimmer var(--rt-ai-run-status-shimmer-duration) linear infinite;
|
|
64
|
+
background: linear-gradient(
|
|
65
|
+
90deg,
|
|
66
|
+
var(--rt-ai-run-status-shimmer-from) 0%,
|
|
67
|
+
var(--rt-ai-run-status-shimmer-to) 50%,
|
|
68
|
+
var(--rt-ai-run-status-shimmer-from) 100%
|
|
69
|
+
);
|
|
70
|
+
background-clip: text;
|
|
71
|
+
background-size: 200% 100%;
|
|
72
|
+
color: transparent;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
&--state--stopped {
|
|
76
|
+
color: var(--rt-color-text-muted);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&--state--failed {
|
|
80
|
+
color: var(--rt-color-action-danger-on-surface);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
&__meta {
|
|
85
|
+
flex: none;
|
|
86
|
+
color: var(--rt-color-text-muted);
|
|
87
|
+
font-size: var(--rt-text-xs);
|
|
88
|
+
line-height: var(--rt-leading-snug);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
&__chevron {
|
|
92
|
+
flex: none;
|
|
93
|
+
color: var(--rt-color-text-muted);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
&__steps {
|
|
97
|
+
padding-inline-start: var(--rt-space-2xs);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
@keyframes rt-ai-run-status-shimmer {
|
|
103
|
+
0% {
|
|
104
|
+
background-position: 100% 0;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
100% {
|
|
108
|
+
background-position: -100% 0;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
@media (prefers-reduced-motion: reduce) {
|
|
113
|
+
.rt-ai-run-status__label--state--running {
|
|
114
|
+
animation: none;
|
|
115
|
+
background: none;
|
|
116
|
+
color: var(--rt-ai-run-status-shimmer-from);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -35,6 +35,7 @@ ref.afterClosed().subscribe((result?: ITour): void => …);
|
|
|
35
35
|
| `closeOnBackdropClick` / `closeOnEscape` | `true`; второе — из настроек кита |
|
|
36
36
|
| `backdropClass` / `panelClass` | `rt-aside-backdrop` / `rt-aside-overlay` |
|
|
37
37
|
| `injector` | корневой — уничтожение хозяина закрывает |
|
|
38
|
+
| `disposeOnNavigation` | `true` — переход по адресу снимает |
|
|
38
39
|
|
|
39
40
|
## Главное, что нужно знать
|
|
40
41
|
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
/* rt-aside-header — заголовок side-sheet'а. ViewEncapsulation.None.
|
|
3
3
|
Селекторы префиксованы `.rt-aside-header`. */
|
|
4
4
|
|
|
5
|
+
/* Свойства шапки — рукоятки приложения: каждое читается как `--rt-aside-header-*` с любого
|
|
6
|
+
предка (панели оверлея, своего контейнера), а на самом блоке стоит только умолчание под
|
|
7
|
+
`-default`. Значение, объявленное на блоке под публичным именем, перебило бы предка. */
|
|
5
8
|
.rt-aside-header {
|
|
6
|
-
--rt-aside-header-title-size: var(--rt-text-xl);
|
|
7
|
-
--rt-aside-header-title-weight: var(--rt-font-weight-bold);
|
|
8
|
-
--rt-aside-header-subtitle-size: var(--rt-text-sm);
|
|
9
|
-
--rt-aside-header-gap: var(--rt-space-sm);
|
|
10
|
-
--rt-aside-header-min-height: auto;
|
|
9
|
+
--rt-aside-header-title-size-default: var(--rt-text-xl);
|
|
10
|
+
--rt-aside-header-title-weight-default: var(--rt-font-weight-bold);
|
|
11
|
+
--rt-aside-header-subtitle-size-default: var(--rt-text-sm);
|
|
12
|
+
--rt-aside-header-gap-default: var(--rt-space-sm);
|
|
13
|
+
--rt-aside-header-min-height-default: auto;
|
|
11
14
|
|
|
12
15
|
/* Отступ шапки — ручка приложения; без неё общий инсет панели. */
|
|
13
16
|
padding: var(--rt-aside-header-inset, var(--rt-aside-inset));
|
|
@@ -15,15 +18,28 @@
|
|
|
15
18
|
&__content {
|
|
16
19
|
display: flex;
|
|
17
20
|
min-width: 0;
|
|
18
|
-
min-height: var(--rt-aside-header-min-height);
|
|
21
|
+
min-height: var(--rt-aside-header-min-height, var(--rt-aside-header-min-height-default));
|
|
19
22
|
align-items: center;
|
|
20
|
-
gap: var(--rt-aside-header-gap);
|
|
23
|
+
gap: var(--rt-aside-header-gap, var(--rt-aside-header-gap-default));
|
|
21
24
|
}
|
|
22
25
|
|
|
26
|
+
/* Кнопка «назад» — шаг `sm` кнопки и значка. Размеры кнопки и значка — рукоятки
|
|
27
|
+
`--rt-aside-header-back-size` и `--rt-aside-header-back-icon-size` с любого предка; без них
|
|
28
|
+
стоят те же шаги. Значок читает свою ступень `sm` на этом узле: ступень, заданная
|
|
29
|
+
приложением выше, сюда не доходит — у кнопки «назад» своя рукоятка. */
|
|
23
30
|
&__back {
|
|
31
|
+
--rt-icon-step-sm: var(--rt-aside-header-back-icon-size, var(--rt-size-4));
|
|
32
|
+
|
|
24
33
|
flex-shrink: 0;
|
|
25
34
|
}
|
|
26
35
|
|
|
36
|
+
/* Шаг кнопки переназначается на её внутреннем узле: модификатор размера объявляет его там
|
|
37
|
+
же. Вес селектора выше модификатора, а публичная `--rt-icon-button-size` по-прежнему
|
|
38
|
+
важнее шага. */
|
|
39
|
+
& &__back .rt-icon-button {
|
|
40
|
+
--rt-icon-button-size-step: var(--rt-aside-header-back-size, var(--rt-control-height-sm));
|
|
41
|
+
}
|
|
42
|
+
|
|
27
43
|
/* Колонка overline + title. flex/min-width живут здесь, чтобы ellipsis
|
|
28
44
|
у title работал и в двухстрочном варианте. */
|
|
29
45
|
&__heading {
|
|
@@ -49,8 +65,8 @@
|
|
|
49
65
|
min-width: 0;
|
|
50
66
|
margin: 0;
|
|
51
67
|
color: var(--rt-color-text-primary);
|
|
52
|
-
font-size: var(--rt-aside-header-title-size);
|
|
53
|
-
font-weight: var(--rt-aside-header-title-weight);
|
|
68
|
+
font-size: var(--rt-aside-header-title-size, var(--rt-aside-header-title-size-default));
|
|
69
|
+
font-weight: var(--rt-aside-header-title-weight, var(--rt-aside-header-title-weight-default));
|
|
54
70
|
|
|
55
71
|
/* Высота строки — ручка приложения; без неё наследуется, как было. */
|
|
56
72
|
line-height: var(--rt-aside-header-title-leading, inherit);
|
|
@@ -71,7 +87,7 @@
|
|
|
71
87
|
&__subtitle {
|
|
72
88
|
margin: 0;
|
|
73
89
|
color: var(--rt-color-text-muted);
|
|
74
|
-
font-size: var(--rt-aside-header-subtitle-size);
|
|
90
|
+
font-size: var(--rt-aside-header-subtitle-size, var(--rt-aside-header-subtitle-size-default));
|
|
75
91
|
line-height: var(--rt-leading-snug);
|
|
76
92
|
}
|
|
77
93
|
|
|
@@ -98,7 +114,7 @@
|
|
|
98
114
|
не занимает. */
|
|
99
115
|
&__row {
|
|
100
116
|
min-width: 0;
|
|
101
|
-
margin-top: var(--rt-aside-header-gap);
|
|
117
|
+
margin-top: var(--rt-aside-header-gap, var(--rt-aside-header-gap-default));
|
|
102
118
|
|
|
103
119
|
&:empty {
|
|
104
120
|
display: none;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# `rt-copy-value`
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<rt-copy-value label="Reference" copyLabel="Copy reference" [value]="error.referenceId" />
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
| вход | тип | умолчание |
|
|
8
|
+
| ----------- | -------- | ---------------------------- |
|
|
9
|
+
| `value` | `string` | обязателен |
|
|
10
|
+
| `label` | `string` | `''` — не рисуется |
|
|
11
|
+
| `copyLabel` | `string` | `''` → переведённое `uiCopy` |
|
|
12
|
+
|
|
13
|
+
Выход: `copiedValue` — значение, ушедшее в буфер.
|
|
14
|
+
|
|
15
|
+
Спек — `docs/specs/ui-kit-v2/copy-value/`; здесь только устройство папки.
|
|
16
|
+
|
|
17
|
+
## Главное, что нужно знать
|
|
18
|
+
|
|
19
|
+
**Копируется ровно `value`.** Отображаемое и копируемое совпадают: значение стоит на подложке
|
|
20
|
+
целиком, длинное обрезается многоточием, но в буфер уходит полностью.
|
|
21
|
+
|
|
22
|
+
## Края
|
|
23
|
+
|
|
24
|
+
- После нажатия подпись кнопки две секунды «Copied», иконка — галочка; таймер гасится при
|
|
25
|
+
уничтожении.
|
|
26
|
+
- Корень шаблона — `ng-container`: класс блока висит только на хосте.
|
|
27
|
+
|
|
28
|
+
## Рядом
|
|
29
|
+
|
|
30
|
+
- [`rt-copy-cell`](../table/copy-cell/rt-copy-cell.component.ts) — копирование в ячейке таблицы,
|
|
31
|
+
с кнопкой по наведению и проекцией содержимого.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
@layer rt-kit.components {
|
|
2
|
+
/* rt-copy-value — значение с кнопкой копирования. ViewEncapsulation.None.
|
|
3
|
+
Корень шаблона — ng-container, поэтому класс блока висит только на хосте. */
|
|
4
|
+
|
|
5
|
+
.rt-copy-value {
|
|
6
|
+
--rt-copy-value-radius: var(--rt-radius-sm);
|
|
7
|
+
|
|
8
|
+
display: inline-flex;
|
|
9
|
+
align-items: center;
|
|
10
|
+
gap: var(--rt-space-sm);
|
|
11
|
+
max-inline-size: 100%;
|
|
12
|
+
min-inline-size: 0;
|
|
13
|
+
|
|
14
|
+
&__label {
|
|
15
|
+
flex: none;
|
|
16
|
+
color: var(--rt-color-text-muted);
|
|
17
|
+
font-size: var(--rt-text-xs);
|
|
18
|
+
line-height: var(--rt-leading-snug);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&__value {
|
|
22
|
+
overflow: hidden;
|
|
23
|
+
padding: var(--rt-space-2xs) var(--rt-space-xs);
|
|
24
|
+
border-radius: var(--rt-copy-value-radius);
|
|
25
|
+
background: var(--rt-color-bg-surface-subtle);
|
|
26
|
+
color: var(--rt-color-text-primary);
|
|
27
|
+
font-size: var(--rt-text-xs);
|
|
28
|
+
font-weight: var(--rt-font-weight-medium);
|
|
29
|
+
line-height: var(--rt-leading-snug);
|
|
30
|
+
min-inline-size: 0;
|
|
31
|
+
text-overflow: ellipsis;
|
|
32
|
+
white-space: nowrap;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&__button {
|
|
36
|
+
flex: none;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -136,11 +136,11 @@
|
|
|
136
136
|
--rt-data-list-settings-aside-header-height: 96px;
|
|
137
137
|
|
|
138
138
|
.rt-aside-header {
|
|
139
|
-
--rt-aside-header-title-size: var(--rt-text-2xl);
|
|
140
|
-
--rt-aside-header-title-weight: var(--rt-font-weight-semibold);
|
|
141
|
-
--rt-aside-header-subtitle-size: var(--rt-text-md);
|
|
142
|
-
--rt-aside-header-gap: var(--rt-space-md);
|
|
143
|
-
--rt-aside-header-min-height: var(--rt-data-list-settings-aside-header-height);
|
|
139
|
+
--rt-aside-header-title-size-default: var(--rt-text-2xl);
|
|
140
|
+
--rt-aside-header-title-weight-default: var(--rt-font-weight-semibold);
|
|
141
|
+
--rt-aside-header-subtitle-size-default: var(--rt-text-md);
|
|
142
|
+
--rt-aside-header-gap-default: var(--rt-space-md);
|
|
143
|
+
--rt-aside-header-min-height-default: var(--rt-data-list-settings-aside-header-height);
|
|
144
144
|
}
|
|
145
145
|
|
|
146
146
|
/* Кнопка «назад» — круглая `mat-icon-button` первого кита, как и кнопки подвала панели. */
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# `rt-dot-field`
|
|
2
|
+
|
|
3
|
+
Фон из квадратных точек на сетке 10px, которые медленно плывут облаками. Заполняет
|
|
4
|
+
позиционированного родителя и стоит под его содержимым.
|
|
5
|
+
|
|
6
|
+
```html
|
|
7
|
+
<rt-dot-field />
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
Входов и выходов нет. Цвет точек — CSS-свойство `color` хоста.
|
|
11
|
+
|
|
12
|
+
## Главное, что нужно знать
|
|
13
|
+
|
|
14
|
+
**Какая клетка горит, решают чистые функции в `rt-dot-field.logic.ts`.** Клетка горит там, где
|
|
15
|
+
медленно движущийся шум проходит порог, а матрица Байера 4x4 сдвигает порог по клеткам: края
|
|
16
|
+
облаков выходят рваными. В центре поля плотность ниже — там стоит карточка.
|
|
17
|
+
|
|
18
|
+
**Рисует `RtDotFieldPainter`.** Кадр — раз в 90 мс, а не каждый кадр анимации: ступенчатое
|
|
19
|
+
движение — часть облика. Цвет читается из вычисленного `color` холста на каждом кадре, поэтому
|
|
20
|
+
точки идут за темой без кода: назначение темы — `light-dark()` или переопределение по флагу, а
|
|
21
|
+
холст принимает только готовый цвет.
|
|
22
|
+
|
|
23
|
+
**Запуск — в `afterNextRender`, остановка — при уходе компонента.** На сервере поле ничего не
|
|
24
|
+
рисует.
|
|
25
|
+
|
|
26
|
+
## Края
|
|
27
|
+
|
|
28
|
+
- При `prefers-reduced-motion: reduce` рисуется один кадр, следующий не просится.
|
|
29
|
+
- Холст без 2D-контекста (jsdom в спеках) ничего не рисует и `matchMedia` не спрашивает.
|
|
30
|
+
- `viewChild` не принимает поле с решёткой, поэтому `canvas` объявлен `protected`.
|
|
31
|
+
- Родитель задаёт `position: relative`, а своё содержимое ставит выше через `z-index: 1`.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
@layer rt-kit.components {
|
|
2
|
+
.rt-dot-field {
|
|
3
|
+
--rt-dot-field-color: var(--rt-color-action-primary);
|
|
4
|
+
--rt-dot-field-opacity: 0.85;
|
|
5
|
+
|
|
6
|
+
position: absolute;
|
|
7
|
+
z-index: var(--rt-z-base);
|
|
8
|
+
display: block;
|
|
9
|
+
color: var(--rt-dot-field-color);
|
|
10
|
+
inset: 0;
|
|
11
|
+
opacity: var(--rt-dot-field-opacity);
|
|
12
|
+
pointer-events: none;
|
|
13
|
+
|
|
14
|
+
&__canvas {
|
|
15
|
+
display: block;
|
|
16
|
+
width: 100%;
|
|
17
|
+
height: 100%;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# `TestRtDotFieldComponent`
|
|
2
|
+
|
|
3
|
+
Обёртка витрины для `rt-dot-field`. В пакет не уезжает.
|
|
4
|
+
|
|
5
|
+
Рисует сцену так, как поле стоит на странице входа: позиционированный родитель с фоном страницы,
|
|
6
|
+
поле под ним и карточка в центре поверх поля. Позиционированный родитель и карточка — забота
|
|
7
|
+
страницы, поэтому они живут здесь, а не в компоненте.
|
|
8
|
+
|
|
9
|
+
Вход `part` выбирает историю: `playground` — одна сцена, `presets` — сцена в обоих наборах, `themes` — в светлой и тёмной теме.
|
|
10
|
+
Снимков у историй нет: поле движется.
|
|
11
|
+
|
|
12
|
+
Стили обёртки лежат в каскадном слое кита под блоком `app-dot-field` на хосте. Контур, скругление и тень
|
|
13
|
+
карточки идут своими свойствами `--rt-dot-field-story-card-*`: проверка токенов не принимает шаг шкалы
|
|
14
|
+
прямо в свойстве.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
@layer rt-kit.components {
|
|
2
|
+
/* Сцена страницы входа: позиционированный родитель поля и карточка поверх него. */
|
|
3
|
+
.app-dot-field {
|
|
4
|
+
--rt-dot-field-story-card-border-width: var(--rt-border-width-thin);
|
|
5
|
+
--rt-dot-field-story-card-radius: var(--rt-radius-md);
|
|
6
|
+
--rt-dot-field-story-card-shadow: var(--rt-shadow-card);
|
|
7
|
+
|
|
8
|
+
&__scene {
|
|
9
|
+
position: relative;
|
|
10
|
+
display: flex;
|
|
11
|
+
overflow: hidden;
|
|
12
|
+
width: 100%;
|
|
13
|
+
height: 22rem;
|
|
14
|
+
align-items: center;
|
|
15
|
+
justify-content: center;
|
|
16
|
+
background-color: var(--rt-color-bg-page);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
&__card {
|
|
20
|
+
position: relative;
|
|
21
|
+
z-index: 1;
|
|
22
|
+
padding: var(--rt-space-10) var(--rt-space-5);
|
|
23
|
+
border: var(--rt-dot-field-story-card-border-width) solid var(--rt-color-border-default);
|
|
24
|
+
border-radius: var(--rt-dot-field-story-card-radius);
|
|
25
|
+
background-color: var(--rt-color-bg-surface);
|
|
26
|
+
box-shadow: var(--rt-dot-field-story-card-shadow);
|
|
27
|
+
color: var(--rt-color-text-primary);
|
|
28
|
+
font-family: var(--rt-font-family-sans);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|