@rt-tools/ui-kit-v2 0.16.0 → 0.18.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 +25 -0
- 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 +227 -0
- package/fesm2022/rt-tools-ui-kit-v2-action-bar.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 +702 -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-core.mjs +2590 -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 +937 -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 +674 -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-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 +96 -41
- 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 +196 -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 +91 -23164
- package/fesm2022/rt-tools-ui-kit-v2.mjs.map +1 -1
- package/package.json +349 -1
- package/rt-tools-ui-kit-v2-0.18.0.tgz +0 -0
- package/src/lib/components/action-bar/CONTEXT.md +5 -0
- package/src/lib/components/action-bar/rt-action-bar.component.scss +30 -16
- package/src/lib/components/aside/CONTEXT.md +9 -1
- package/src/lib/components/aside/footer/rt-aside-footer.component.scss +7 -8
- package/src/lib/components/aside/header/rt-aside-header.component.scss +16 -1
- package/src/lib/components/aside/rt-aside.component.scss +17 -1
- package/src/lib/components/button/CONTEXT.md +12 -11
- package/src/lib/components/button/rt-button.directive.scss +36 -0
- package/src/lib/components/data-list/settings/rt-data-list-settings-aside.component.scss +2 -2
- package/src/lib/components/data-table/cell/rt-data-table-cell.component.scss +1 -1
- package/src/lib/components/data-table/filter-cell/rt-data-table-filter-cell.component.scss +1 -1
- package/src/lib/components/data-table/rt-data-table.component.scss +1 -1
- package/src/lib/components/dialog/CONTEXT.md +9 -0
- package/src/lib/components/dialog/content/rt-dialog-content.component.scss +20 -0
- package/src/lib/components/dialog/footer/rt-dialog-footer.component.scss +18 -2
- package/src/lib/components/dialog/header/rt-dialog-header.component.scss +21 -3
- package/src/lib/components/dialog/rt-dialog.component.scss +9 -3
- 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 +6 -0
- package/src/lib/components/field/CONTEXT.md +18 -2
- package/src/lib/components/header/CONTEXT.md +2 -2
- package/src/lib/components/icon/CONTEXT.md +11 -7
- package/src/lib/components/icon/rt-icon.component.scss +47 -0
- package/src/lib/components/icon-button/CONTEXT.md +27 -20
- package/src/lib/components/icon-button/rt-icon-button.component.scss +51 -25
- package/src/lib/components/image-upload/CONTEXT.md +20 -15
- package/src/lib/components/image-upload/rt-image-upload.component.scss +14 -2
- package/src/lib/components/pagination/rt-pagination.component.scss +1 -1
- package/src/lib/components/scroll-area/CONTEXT.md +2 -0
- package/src/lib/components/scroll-area/rt-scroll-area.component.scss +20 -3
- package/src/lib/components/select/rt-select.component.scss +4 -0
- package/src/lib/components/side-menu/CONTEXT.md +7 -2
- package/src/lib/components/spinner/CONTEXT.md +15 -8
- package/src/lib/components/spinner/rt-spinner.component.scss +108 -9
- package/src/lib/components/tag/rt-tag.component.scss +43 -23
- package/src/lib/components/toast/CONTEXT.md +8 -0
- package/src/lib/components/toast/rt-toast.component.scss +74 -15
- package/src/lib/components/toast/rt-toaster.component.scss +5 -1
- package/src/lib/components/toggle-button-group/rt-toggle-button-group.component.scss +35 -37
- package/src/lib/components/toggle-switch/CONTEXT.md +11 -3
- package/src/lib/components/toggle-switch/rt-toggle-switch.component.scss +53 -14
- package/src/lib/components/toolbar/rt-toolbar.component.scss +15 -4
- package/src/lib/components/tooltip/CONTEXT.md +5 -5
- package/src/rich-editor/lib/components/chat/CONTEXT.md +7 -2
- package/src/rich-editor/lib/components/chat/rt-chat.component.scss +25 -0
- package/src/styles/_semantic.scss +1 -1
- package/styles/tokens.css +43 -8
- package/types/rt-tools-ui-kit-v2-accordion.d.ts +30 -0
- package/types/rt-tools-ui-kit-v2-action-bar.d.ts +140 -0
- package/types/rt-tools-ui-kit-v2-aside-section.d.ts +25 -0
- package/types/rt-tools-ui-kit-v2-aside.d.ts +436 -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-core.d.ts +1222 -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 +384 -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 +238 -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-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 +16 -20
- 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 +111 -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 +87 -9290
- package/rt-tools-ui-kit-v2-0.16.0.tgz +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { BooleanInput } from '@angular/cdk/coercion';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { InputSignal, InputSignalWithTransform } from '@angular/core';
|
|
4
|
+
|
|
5
|
+
declare class RtInfoItemComponent {
|
|
6
|
+
readonly label: InputSignal<string>;
|
|
7
|
+
readonly loading: InputSignalWithTransform<boolean, BooleanInput>;
|
|
8
|
+
readonly grow: InputSignalWithTransform<boolean, BooleanInput>;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtInfoItemComponent, never>;
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtInfoItemComponent, "rt-info-item", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "grow": { "alias": "grow"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { RtInfoItemComponent };
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { BooleanInput } from '@angular/cdk/coercion';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { Signal, ElementRef, WritableSignal, InputSignal, InputSignalWithTransform } from '@angular/core';
|
|
4
|
+
import { TRtKitLabelMap, IRtInput, IRtIcon } from '@rt-tools/ui-kit-v2/core';
|
|
5
|
+
import { RtFormControlBase } from '@rt-tools/ui-kit-v2/form-control';
|
|
6
|
+
import * as i1 from '@rt-tools/ui-kit-v2/radius';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Numeric input с parse/format/clamp logic. Использует native
|
|
10
|
+
* `<input type="text" inputmode="decimal">` (НЕ `type="number"` — избегаем
|
|
11
|
+
* browser spinner quirks: scroll-wheel value changes, locale-specific decimal
|
|
12
|
+
* separators, inconsistent step rounding).
|
|
13
|
+
*
|
|
14
|
+
* CVA через общий `RtFormControlBase` — авто-подсветка invalid, `clearable`
|
|
15
|
+
* (крестик при непустом display). Parser принимает `,`/`.`, невалидный ввод
|
|
16
|
+
* (NaN) не эмитится во время набора; на blur невалидное → null, валидное —
|
|
17
|
+
* clamp + format.
|
|
18
|
+
*
|
|
19
|
+
* Визуально и по токенам идентичен rt-input (`--rt-input-*`): host — box,
|
|
20
|
+
* `<input>` — прозрачный `__field`.
|
|
21
|
+
*/
|
|
22
|
+
declare class RtInputNumberComponent extends RtFormControlBase<number | null> {
|
|
23
|
+
#private;
|
|
24
|
+
protected readonly t: Signal<TRtKitLabelMap>;
|
|
25
|
+
protected readonly fieldEl: Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
26
|
+
protected readonly displayValue: WritableSignal<string>;
|
|
27
|
+
protected readonly hasValue: Signal<boolean>;
|
|
28
|
+
/** Вид рамки: `outline` — рамка со всех сторон, `fill` — залитое поле с чертой снизу. */
|
|
29
|
+
readonly appearance: InputSignal<IRtInput.Appearance>;
|
|
30
|
+
readonly displayText: Signal<string>;
|
|
31
|
+
readonly iconLeft: InputSignal<IRtIcon.Name | null>;
|
|
32
|
+
/** Текстовый префикс слева от значения (напр. «₽» для рублёвых сумм). */
|
|
33
|
+
readonly prefix: InputSignal<string | null>;
|
|
34
|
+
readonly placeholder: InputSignal<string>;
|
|
35
|
+
readonly min: InputSignal<number | null>;
|
|
36
|
+
readonly max: InputSignal<number | null>;
|
|
37
|
+
readonly minFractionDigits: InputSignal<number>;
|
|
38
|
+
readonly maxFractionDigits: InputSignal<number>;
|
|
39
|
+
/**
|
|
40
|
+
* Группировать ли разряды. Снимается у чисел, которые разрядами не читаются:
|
|
41
|
+
* год, номер дома, код. У года разделитель превращает `2026` в `2 026`.
|
|
42
|
+
*/
|
|
43
|
+
readonly grouped: InputSignalWithTransform<boolean, BooleanInput>;
|
|
44
|
+
writeValue(value: number | null): void;
|
|
45
|
+
protected getEmptyValue(): number | null;
|
|
46
|
+
protected focusAfterClear(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Падинг/гэп рамки принадлежат host-контейнеру, а не `<input>`, поэтому клик
|
|
49
|
+
* по этой зоне сам по себе не фокусирует поле. Перехватываем mousedown и
|
|
50
|
+
* переводим фокус в input — но только если клик не пришёлся на само поле
|
|
51
|
+
* (там нужно нативное позиционирование курсора) и не на интерактивный
|
|
52
|
+
* постфикс (крестик-очистка со своим обработчиком).
|
|
53
|
+
*/
|
|
54
|
+
protected onHostMousedown(event: MouseEvent): void;
|
|
55
|
+
/**
|
|
56
|
+
* Крестик сбрасывает поле не в пустое/null, а в 0 — отформатированный по
|
|
57
|
+
* текущему fractionDigits (например `0,00`). Числовые поля всегда имеют
|
|
58
|
+
* осмысленный ноль, поэтому «очистка» = обнуление, а не пустое значение.
|
|
59
|
+
*/
|
|
60
|
+
protected clearValue(): void;
|
|
61
|
+
protected onInput(event: Event): void;
|
|
62
|
+
protected onBlur(): void;
|
|
63
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtInputNumberComponent, never>;
|
|
64
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtInputNumberComponent, "rt-input-number", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "iconLeft": { "alias": "iconLeft"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "minFractionDigits": { "alias": "minFractionDigits"; "required": false; "isSignal": true; }; "maxFractionDigits": { "alias": "maxFractionDigits"; "required": false; "isSignal": true; }; "grouped": { "alias": "grouped"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export { RtInputNumberComponent };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { BooleanInput } from '@angular/cdk/coercion';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { Signal, ElementRef, WritableSignal, InputSignal, InputSignalWithTransform } from '@angular/core';
|
|
4
|
+
import { TRtKitLabelMap, IRtIcon, IRtInput } from '@rt-tools/ui-kit-v2/core';
|
|
5
|
+
import { RtFormControlBase } from '@rt-tools/ui-kit-v2/form-control';
|
|
6
|
+
import * as i1 from '@rt-tools/ui-kit-v2/radius';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Шеренный input common/ui. Поддерживает:
|
|
10
|
+
* - интеграцию с Reactive Forms через общий `RtFormControlBase` (CVA-ядро,
|
|
11
|
+
* авто-подсветка invalid, `clearable`);
|
|
12
|
+
* - левую и правую иконочные «слоты» (`iconLeft`, `iconRight`);
|
|
13
|
+
* - встроенный password-toggle (`passwordToggle=true` + `type="password"`);
|
|
14
|
+
* - кнопку очистки (крестик) при наличии значения; на password-полях крестик
|
|
15
|
+
* не показывается (postfix занят toggle'ом).
|
|
16
|
+
*
|
|
17
|
+
* Все размеры/цвета — через `--rt-input-*` semantic-токены.
|
|
18
|
+
*/
|
|
19
|
+
declare class RtInputComponent extends RtFormControlBase<string> {
|
|
20
|
+
protected readonly t: Signal<TRtKitLabelMap>;
|
|
21
|
+
protected readonly fieldEl: Signal<ElementRef<HTMLInputElement> | undefined>;
|
|
22
|
+
protected readonly isPasswordVisible: WritableSignal<boolean>;
|
|
23
|
+
protected readonly hasValue: Signal<boolean>;
|
|
24
|
+
protected readonly effectiveType: Signal<string>;
|
|
25
|
+
protected readonly showPasswordToggle: Signal<boolean>;
|
|
26
|
+
protected readonly hasIconRight: Signal<boolean>;
|
|
27
|
+
protected readonly passwordToggleIcon: Signal<IRtIcon.Name>;
|
|
28
|
+
/** Вид рамки: `outline` — рамка со всех сторон, `fill` — залитое поле с чертой снизу. */
|
|
29
|
+
readonly appearance: InputSignal<IRtInput.Appearance>;
|
|
30
|
+
readonly displayText: Signal<string>;
|
|
31
|
+
readonly type: InputSignal<IRtInput.Type>;
|
|
32
|
+
readonly placeholder: InputSignal<string>;
|
|
33
|
+
readonly iconLeft: InputSignal<IRtIcon.Name | null>;
|
|
34
|
+
readonly iconRight: InputSignal<IRtIcon.Name | null>;
|
|
35
|
+
readonly passwordToggle: InputSignalWithTransform<boolean, BooleanInput>;
|
|
36
|
+
readonly autocomplete: InputSignal<string | null>;
|
|
37
|
+
protected getEmptyValue(): string;
|
|
38
|
+
protected focusAfterClear(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Падинг/гэп рамки принадлежат host-контейнеру, а не `<input>`, поэтому клик
|
|
41
|
+
* по этой зоне сам по себе не фокусирует поле. Перехватываем mousedown и
|
|
42
|
+
* переводим фокус в input — но только если клик не пришёлся на само поле
|
|
43
|
+
* (там нужно нативное позиционирование курсора) и не на интерактивный
|
|
44
|
+
* постфикс (крестик/таггл со своими обработчиками).
|
|
45
|
+
*/
|
|
46
|
+
protected onHostMousedown(event: MouseEvent): void;
|
|
47
|
+
protected onInput(event: Event): void;
|
|
48
|
+
protected onBlur(): void;
|
|
49
|
+
protected togglePassword(): void;
|
|
50
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtInputComponent, never>;
|
|
51
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtInputComponent, "rt-input", never, { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "iconLeft": { "alias": "iconLeft"; "required": false; "isSignal": true; }; "iconRight": { "alias": "iconRight"; "required": false; "isSignal": true; }; "passwordToggle": { "alias": "passwordToggle"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
export { RtInputComponent };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { BooleanInput } from '@angular/cdk/coercion';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { Signal, InputSignal, InputSignalWithTransform } from '@angular/core';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Пилюля живого счётчика: точка состояния, подпись и число. `active` означает
|
|
7
|
+
* «поток жив», а не «счётчик больше нуля»: ноль посетителей при живом потоке —
|
|
8
|
+
* это данные, а оборванный поток — отсутствие данных, и выглядеть они должны
|
|
9
|
+
* по-разному.
|
|
10
|
+
*/
|
|
11
|
+
declare class RtLiveBadgeComponent {
|
|
12
|
+
#private;
|
|
13
|
+
protected readonly labelText: Signal<string>;
|
|
14
|
+
/** Пусто — берётся переведённая подпись по умолчанию */
|
|
15
|
+
readonly label: InputSignal<string>;
|
|
16
|
+
/** `null` — данных ещё нет, рисуется прочерк. */
|
|
17
|
+
readonly count: InputSignal<number | null>;
|
|
18
|
+
readonly active: InputSignalWithTransform<boolean, BooleanInput>;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtLiveBadgeComponent, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtLiveBadgeComponent, "rt-live-badge", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "count": { "alias": "count"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { RtLiveBadgeComponent };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Signal, InputSignal, InputSignalWithTransform } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Модель компонента rt-logo.
|
|
6
|
+
*
|
|
7
|
+
* - `wordmark` — только начертание названия;
|
|
8
|
+
* - `lockup` — начертание в композиции со слоганом под ним; слоган ужимается до
|
|
9
|
+
* ширины начертания.
|
|
10
|
+
*/
|
|
11
|
+
declare namespace IRtLogo {
|
|
12
|
+
type Variant = 'wordmark' | 'lockup';
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Логотип приложения: начертание названия и, в варианте `lockup`, слоган под ним.
|
|
17
|
+
*
|
|
18
|
+
* Сами начертания кит не везёт — их даёт приложение, задав на любом предке
|
|
19
|
+
* четыре свойства оформления: `--rt-logo-wordmark`, `--rt-logo-tagline` и их
|
|
20
|
+
* пару `--rt-logo-wordmark-dark`, `--rt-logo-tagline-dark` для тёмной темы.
|
|
21
|
+
* Пока свойства не заданы, компонент занимает место, но ничего не рисует.
|
|
22
|
+
*
|
|
23
|
+
* ```css
|
|
24
|
+
* :root {
|
|
25
|
+
* --rt-logo-wordmark: url('/logo/wordmark.svg');
|
|
26
|
+
* --rt-logo-wordmark-dark: url('/logo/wordmark-inverse.svg');
|
|
27
|
+
* }
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* Начертания лежат фоном, а не в `<img>`: у тёмной темы своя пара файлов, и
|
|
31
|
+
* подмена `background-image` — единственный способ переключить их одним правилом.
|
|
32
|
+
*/
|
|
33
|
+
declare class RtLogoComponent {
|
|
34
|
+
/** Реальная высота: явно заданная или умолчание варианта. */
|
|
35
|
+
protected readonly effectiveHeight: Signal<number>;
|
|
36
|
+
/** Ширина host'а: высота, растянутая по отношению сторон начертания. */
|
|
37
|
+
protected readonly effectiveWidth: Signal<number>;
|
|
38
|
+
/** Показывать ли слоган под начертанием. */
|
|
39
|
+
protected readonly showTagline: Signal<boolean>;
|
|
40
|
+
readonly variant: InputSignal<IRtLogo.Variant>;
|
|
41
|
+
/**
|
|
42
|
+
* Высота логотипа в пикселях. `0` означает «использовать умолчание варианта».
|
|
43
|
+
* Принимает строку или число (чтобы писалось как `height="75"`).
|
|
44
|
+
*/
|
|
45
|
+
readonly height: InputSignalWithTransform<number, number | string>;
|
|
46
|
+
/**
|
|
47
|
+
* Отношение ширины к высоте своего начертания. `0` — умолчание варианта.
|
|
48
|
+
* Без него узкий или широкий логотип обрежется или обрастёт пустотой:
|
|
49
|
+
* ширину host'а кит считает сам, а пропорций чужого файла он не знает.
|
|
50
|
+
*/
|
|
51
|
+
readonly aspect: InputSignalWithTransform<number, number | string>;
|
|
52
|
+
/** Подпись для скринридера: обычно название продукта. */
|
|
53
|
+
readonly ariaLabel: InputSignal<string>;
|
|
54
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtLogoComponent, never>;
|
|
55
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtLogoComponent, "rt-logo", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "aspect": { "alias": "aspect"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export { IRtLogo, RtLogoComponent };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Signal, InputSignal } from '@angular/core';
|
|
3
|
+
import { ERtMarkdownBlock, ERtMarkdownInline, IRtMarkdownBlockNode } from '@rt-tools/ui-kit-v2/core';
|
|
4
|
+
import * as i1 from '@rt-tools/ui-kit-v2/radius';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Текст, написанный разметкой, показанный узлами.
|
|
8
|
+
*
|
|
9
|
+
* Перечень разметки зашит в разборщике и входом не задаётся: вход у компонента один — сам
|
|
10
|
+
* текст. Настраивать нечего, значит нечем и ослабить.
|
|
11
|
+
*
|
|
12
|
+
* Присланная строка в страницу не отдаётся ни разу: компонент рисует дерево узлов, которое
|
|
13
|
+
* вернул разбор, и другого пути у текста внутрь страницы нет. Поэтому сырой HTML, картинки и
|
|
14
|
+
* адреса чужих схем показываются видимым текстом — узла для них разборщик не строит.
|
|
15
|
+
*
|
|
16
|
+
* Таблица рисуется своей разметкой, а не таблицей кита: та объявляет колонки заранее
|
|
17
|
+
* директивами, а число столбцов здесь приходит из текста и заранее не известно никому.
|
|
18
|
+
*/
|
|
19
|
+
declare class RtMarkdownTextComponent {
|
|
20
|
+
/** Роды блоков в шаблоне: сравнение идёт со значением перечисления, а не со строкой. */
|
|
21
|
+
protected readonly blockKind: typeof ERtMarkdownBlock;
|
|
22
|
+
/** Роды кусков строки в шаблоне. */
|
|
23
|
+
protected readonly inlineKind: typeof ERtMarkdownInline;
|
|
24
|
+
protected readonly blocks: Signal<readonly IRtMarkdownBlockNode[]>;
|
|
25
|
+
readonly text: InputSignal<string | null>;
|
|
26
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtMarkdownTextComponent, never>;
|
|
27
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtMarkdownTextComponent, "rt-markdown-text", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export { RtMarkdownTextComponent };
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { TemplateRef, Signal, InputSignal, InputSignalWithTransform, OutputEmitterRef, WritableSignal } from '@angular/core';
|
|
3
|
+
import { BooleanInput } from '@angular/cdk/coercion';
|
|
4
|
+
import { RouterLink } from '@angular/router';
|
|
5
|
+
import { IRtIcon } from '@rt-tools/ui-kit-v2/core';
|
|
6
|
+
import * as i1 from '@rt-tools/ui-kit-v2/tooltip';
|
|
7
|
+
import * as i2 from '@rt-tools/ui-kit-v2/radius';
|
|
8
|
+
import { CdkConnectedOverlay, CdkOverlayOrigin, ConnectedPosition } from '@angular/cdk/overlay';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Помечает `<ng-template>` своего значка пункта меню. Кит ставит содержимое на место значка
|
|
12
|
+
* `rt-menu-item__icon` его размером и цветом тона пункта — так приложение рисует значок, которого
|
|
13
|
+
* нет ни в наборе кита, ни в перечне имён Material. Свой значок сильнее `icon` и `glyph`.
|
|
14
|
+
*
|
|
15
|
+
* ```html
|
|
16
|
+
* <rt-menu-item label="Сделать активным">
|
|
17
|
+
* <ng-template rtMenuItemIcon><svg viewBox="0 0 24 24">…</svg></ng-template>
|
|
18
|
+
* </rt-menu-item>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
declare class RtMenuItemIconDirective {
|
|
22
|
+
readonly templateRef: TemplateRef<unknown>;
|
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtMenuItemIconDirective, never>;
|
|
24
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RtMenuItemIconDirective, "ng-template[rtMenuItemIcon]", never, {}, {}, never, never, true, never>;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Контракты `rt-menu` — dropdown-меню действий (триггер «…» + плавающая панель
|
|
29
|
+
* с пунктами `rt-menu-item`). Один корневой неймспейс с префиксом `I`.
|
|
30
|
+
*/
|
|
31
|
+
declare namespace IRtMenu {
|
|
32
|
+
/** Горизонтальное выравнивание панели относительно триггера. */
|
|
33
|
+
type Align = 'start' | 'end';
|
|
34
|
+
/**
|
|
35
|
+
* Размер панели: `md` — обычный, `sm` — компактный, как меню действий строки в первом ките. Под
|
|
36
|
+
* материальным набором у компактного пункт ниже и значок мельче; свой вид их не различает.
|
|
37
|
+
*/
|
|
38
|
+
type Size = 'md' | 'sm';
|
|
39
|
+
/** Тон подтверждающей кнопки в confirm-модалке пункта меню. */
|
|
40
|
+
type ConfirmTone = 'danger' | 'warning' | 'primary';
|
|
41
|
+
/**
|
|
42
|
+
* Данные для confirm-модалки, которую `rt-menu-item` открывает перед
|
|
43
|
+
* деструктивным действием. Прокидываются в `rt-menu-confirm-dialog` через
|
|
44
|
+
* `RT_DIALOG_DATA`; модалка возвращает `true` при подтверждении.
|
|
45
|
+
*/
|
|
46
|
+
interface ConfirmData {
|
|
47
|
+
readonly message: string;
|
|
48
|
+
readonly title: string | null;
|
|
49
|
+
readonly confirmLabel: string;
|
|
50
|
+
readonly cancelLabel: string;
|
|
51
|
+
readonly tone: ConfirmTone;
|
|
52
|
+
}
|
|
53
|
+
/** Пункт панели для хода стрелками: его узел и признак, что его пропускают. */
|
|
54
|
+
interface Focusable {
|
|
55
|
+
readonly disabled: boolean;
|
|
56
|
+
focus(): void;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Имя DOM-события, которое `rt-menu-item` всплывающе диспатчит при выборе пункта.
|
|
61
|
+
* `rt-menu` слушает его на панели и закрывается. DOM-событие (а не DI/output)
|
|
62
|
+
* нужно потому, что пункты проецируются в overlay-панель — всплытие через DOM
|
|
63
|
+
* переживает границы content-projection и overlay-контейнера.
|
|
64
|
+
*/
|
|
65
|
+
declare const RT_MENU_SELECT_EVENT: string;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Пункт меню `rt-menu`: иконка (опц.) + лейбл. Кликабелен и активируется с
|
|
69
|
+
* клавиатуры (Enter/Space). Выбор пункта эмитит `(selected)` для потребителя
|
|
70
|
+
* и всплывающе диспатчит DOM-событие `rtMenuSelect`, по которому `rt-menu`
|
|
71
|
+
* закрывается. `disabled` блокирует и `(selected)`, и закрытие.
|
|
72
|
+
*
|
|
73
|
+
* Tooltip — через host-директиву `RtTooltipDirective` (`tooltip` маппится в
|
|
74
|
+
* `rtTooltip`): полезно показать причину недоступности на `disabled`-пункте.
|
|
75
|
+
*
|
|
76
|
+
* Деструктивный пункт может требовать подтверждения: задайте `confirmMessage`
|
|
77
|
+
* (опц. `confirmTitle` / `confirmLabel` / `confirmTone`) — тогда по выбору
|
|
78
|
+
* сперва открывается центрированная confirm-модалка, и `(selected)` эмитится
|
|
79
|
+
* только после подтверждения. Модалка (а не popover) нужна потому, что панель
|
|
80
|
+
* `rt-menu` сама в CDK Overlay; меню остаётся открытым под backdrop'ом, пока
|
|
81
|
+
* пользователь решает.
|
|
82
|
+
*
|
|
83
|
+
* `ViewEncapsulation.None`; стили префиксованы `.rt-menu-item`. Host несёт
|
|
84
|
+
* BEM-класс блока (template-`<ng-container rtBlock>` даёт контекст для `rtElem`,
|
|
85
|
+
* но класс на comment-node не вешает — см. host-class паттерн rt-icon-button).
|
|
86
|
+
*/
|
|
87
|
+
declare class RtMenuItemComponent {
|
|
88
|
+
#private;
|
|
89
|
+
/** Свой значок приложения — `<ng-template rtMenuItemIcon>` внутри пункта. */
|
|
90
|
+
protected readonly ownIcon: Signal<RtMenuItemIconDirective | undefined>;
|
|
91
|
+
/** Значок пункта: свой `icon`, а без него — пара имени Material из перечня кита. */
|
|
92
|
+
protected readonly iconName: Signal<IRtIcon.Name | null>;
|
|
93
|
+
/** Пункт — ссылка: задан `link`. Роль пункта меню и фокус тогда несёт ссылка внутри. */
|
|
94
|
+
protected readonly isLink: Signal<boolean>;
|
|
95
|
+
/** Адрес для ссылки: у недоступного пункта его нет, и ссылка не переходит. */
|
|
96
|
+
protected readonly linkTarget: Signal<RouterLink['routerLink']>;
|
|
97
|
+
/** Иконка слева от лейбла. `null` — без иконки. */
|
|
98
|
+
readonly icon: InputSignal<IRtIcon.Name | null>;
|
|
99
|
+
/** Текст пункта. */
|
|
100
|
+
readonly label: InputSignal<string>;
|
|
101
|
+
/** Деструктивный пункт (например «Удалить») — красный текст/иконка. */
|
|
102
|
+
readonly danger: InputSignalWithTransform<boolean, BooleanInput>;
|
|
103
|
+
/** Пункт-согласие (например «Принять») — зелёный текст и иконка, как тон `success` пунктов первого кита. */
|
|
104
|
+
readonly success: InputSignalWithTransform<boolean, BooleanInput>;
|
|
105
|
+
/**
|
|
106
|
+
* Имя значка Material, как его пишет пункт меню первого кита (`check_circle`). Рисует его набор
|
|
107
|
+
* кита через перечень соответствий; `icon` сильнее, а имя без пары рисует пункт без значка.
|
|
108
|
+
*/
|
|
109
|
+
readonly glyph: InputSignal<string | null>;
|
|
110
|
+
/**
|
|
111
|
+
* Залитый значок вместо контурного — как значки пунктов меню первого кита. Уходит в `fill`
|
|
112
|
+
* значка: действует в материальном наборе, свой набор рисует значок одним рисунком. Свой
|
|
113
|
+
* значок `rtMenuItemIcon` приложение рисует само, и заливка его не касается.
|
|
114
|
+
*/
|
|
115
|
+
readonly fill: InputSignalWithTransform<boolean, BooleanInput>;
|
|
116
|
+
/** Пункт — нынешнее значение выбора, который открыл меню: подсвечен фоном и объявлен скринридеру. */
|
|
117
|
+
readonly current: InputSignalWithTransform<boolean, BooleanInput>;
|
|
118
|
+
/** Недоступный пункт — приглушён, не эмитит `(selected)` и не закрывает меню. */
|
|
119
|
+
readonly disabled: InputSignalWithTransform<boolean, BooleanInput>;
|
|
120
|
+
/**
|
|
121
|
+
* Текст confirm-модалки. Непустое значение включает подтверждение: по выбору
|
|
122
|
+
* пункта открывается модалка, и `(selected)` эмитится только после согласия.
|
|
123
|
+
*/
|
|
124
|
+
readonly confirmMessage: InputSignal<string>;
|
|
125
|
+
/** Заголовок confirm-модалки (опц.). */
|
|
126
|
+
readonly confirmTitle: InputSignal<string | null>;
|
|
127
|
+
/** Лейбл подтверждающей кнопки в модалке. */
|
|
128
|
+
/** Пусто — берётся переведённая подпись по умолчанию */
|
|
129
|
+
readonly confirmLabel: InputSignal<string>;
|
|
130
|
+
/** Лейбл кнопки отмены в модалке. */
|
|
131
|
+
readonly confirmCancelLabel: InputSignal<string>;
|
|
132
|
+
/** Тон подтверждающей кнопки в модалке. */
|
|
133
|
+
readonly confirmTone: InputSignal<IRtMenu.ConfirmTone>;
|
|
134
|
+
/**
|
|
135
|
+
* Команды маршрута приложения, как у `routerLink`. Задан — пункт рисует ссылку с `href`: Enter и
|
|
136
|
+
* клик переходят по ней, а Ctrl/Cmd-click, Shift-click и средняя кнопка открывают новую вкладку
|
|
137
|
+
* или окно силами браузера. Меню закрывается во всех этих случаях; подтверждение не спрашивается.
|
|
138
|
+
*/
|
|
139
|
+
readonly link: InputSignal<RouterLink['routerLink']>;
|
|
140
|
+
/** Пункт выбран (клик/Enter/Space и не `disabled`; после подтверждения, если задано). */
|
|
141
|
+
readonly selected: OutputEmitterRef<void>;
|
|
142
|
+
constructor();
|
|
143
|
+
protected onActivate(event: Event): void;
|
|
144
|
+
protected onKey(event: Event): void;
|
|
145
|
+
/** Средняя кнопка не даёт `click`: вкладку открывает браузер, а меню закрываем сами. */
|
|
146
|
+
protected onAuxClick(event: MouseEvent): void;
|
|
147
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtMenuItemComponent, never>;
|
|
148
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtMenuItemComponent, "rt-menu-item", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "danger": { "alias": "danger"; "required": false; "isSignal": true; }; "success": { "alias": "success"; "required": false; "isSignal": true; }; "glyph": { "alias": "glyph"; "required": false; "isSignal": true; }; "fill": { "alias": "fill"; "required": false; "isSignal": true; }; "current": { "alias": "current"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "confirmMessage": { "alias": "confirmMessage"; "required": false; "isSignal": true; }; "confirmTitle": { "alias": "confirmTitle"; "required": false; "isSignal": true; }; "confirmLabel": { "alias": "confirmLabel"; "required": false; "isSignal": true; }; "confirmCancelLabel": { "alias": "confirmCancelLabel"; "required": false; "isSignal": true; }; "confirmTone": { "alias": "confirmTone"; "required": false; "isSignal": true; }; "link": { "alias": "link"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, ["ownIcon"], never, true, [{ directive: typeof i1.RtTooltipDirective; inputs: { "rtTooltip": "tooltip"; }; outputs: {}; }, { directive: typeof i2.RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Dropdown-меню действий: icon-only триггер «…» + плавающая панель с пунктами
|
|
153
|
+
* `rt-menu-item`, спроецированными через `<ng-content>`. Типовое применение —
|
|
154
|
+
* per-row действия в конце строки `rt-table` (см. `[showRowActions]`).
|
|
155
|
+
*
|
|
156
|
+
* Движок — CDK `cdkConnectedOverlay` с прозрачным backdrop: авто-flip у края
|
|
157
|
+
* viewport (4 fallback-позиции), backdrop-click и `(detach)` закрывают, Escape
|
|
158
|
+
* закрывает через `(overlayKeydown)`. Панель не режется `overflow: hidden`
|
|
159
|
+
* предками (таблицы, карточки), т.к. рендерится в overlay-контейнере.
|
|
160
|
+
*
|
|
161
|
+
* Выбор пункта закрывает меню: `rt-menu-item` всплывающе диспатчит DOM-событие
|
|
162
|
+
* `rtMenuSelect`, которое панель ловит, — это переживает content-projection.
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```html
|
|
166
|
+
* <rt-menu ariaLabel="Действия">
|
|
167
|
+
* <rt-menu-item icon="ico-edit" label="Редактировать" (selected)="edit()" />
|
|
168
|
+
* <rt-menu-item icon="ico-trash" label="Удалить" danger (selected)="remove()" />
|
|
169
|
+
* </rt-menu>
|
|
170
|
+
* ```
|
|
171
|
+
*/
|
|
172
|
+
declare class RtMenuComponent {
|
|
173
|
+
#private;
|
|
174
|
+
protected readonly overlay: Signal<CdkConnectedOverlay>;
|
|
175
|
+
protected readonly trigger: Signal<CdkOverlayOrigin>;
|
|
176
|
+
protected readonly isOpen: WritableSignal<boolean>;
|
|
177
|
+
/** Класс набора, найденный над меню при открытии: панель лежит вне контейнера с признаком. */
|
|
178
|
+
protected readonly presetClasses: WritableSignal<string[]>;
|
|
179
|
+
/** Классы панели: заданные входом и класс набора. */
|
|
180
|
+
protected readonly panelClasses: Signal<string[]>;
|
|
181
|
+
protected readonly ariaText: Signal<string>;
|
|
182
|
+
/** Fallback-цепочка позиций панели: первой идёт сторона по `align`. */
|
|
183
|
+
protected readonly overlayPositions: Signal<ConnectedPosition[]>;
|
|
184
|
+
/** Иконка триггера. Default `ellipsis-h` («…» — три точки в конце строки). */
|
|
185
|
+
readonly icon: InputSignal<IRtIcon.Name>;
|
|
186
|
+
/** ARIA-метка триггера (icon-only кнопка) + текст tooltip'а. */
|
|
187
|
+
/** Пусто — берётся переведённая подпись по умолчанию */
|
|
188
|
+
readonly ariaLabel: InputSignal<string>;
|
|
189
|
+
/** Сторона раскрытия панели относительно триггера. */
|
|
190
|
+
readonly align: InputSignal<IRtMenu.Align>;
|
|
191
|
+
/**
|
|
192
|
+
* Классы панели. Панель живёт поверх страницы, вне хоста меню, и признаки вида над хостом до неё
|
|
193
|
+
* не доходят: семья, нарисованная своим набором, отдаёт его панели этим входом.
|
|
194
|
+
*/
|
|
195
|
+
readonly panelClass: InputSignal<string | string[]>;
|
|
196
|
+
/** Размер панели: компактная — у меню действий строки таблицы. */
|
|
197
|
+
readonly size: InputSignal<IRtMenu.Size>;
|
|
198
|
+
/** Триггер отключён — меню не открыть. */
|
|
199
|
+
readonly disabled: InputSignalWithTransform<boolean, BooleanInput>;
|
|
200
|
+
/** Панель открылась (`true`) или закрылась (`false`); повтор того же состояния не приходит. */
|
|
201
|
+
readonly openedChange: OutputEmitterRef<boolean>;
|
|
202
|
+
protected toggle(event: MouseEvent): void;
|
|
203
|
+
protected close(): void;
|
|
204
|
+
/**
|
|
205
|
+
* Панель легла на страницу — фокус уходит на первый пункт, как у меню Material. Пункты берутся
|
|
206
|
+
* из разметки панели, а не запросом компонентов: таблица кладёт их шаблоном приложения, и
|
|
207
|
+
* запрос содержимого меню их не видит.
|
|
208
|
+
*/
|
|
209
|
+
protected onAttach(): void;
|
|
210
|
+
/** Выбранный пункт закрывает панель и возвращает фокус кнопке, откуда меню открыли. */
|
|
211
|
+
protected onSelect(): void;
|
|
212
|
+
protected onKeydown(event: KeyboardEvent): void;
|
|
213
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtMenuComponent, never>;
|
|
214
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtMenuComponent, "rt-menu", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "openedChange": "openedChange"; }, never, ["*"], true, never>;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
export { IRtMenu, RT_MENU_SELECT_EVENT, RtMenuComponent, RtMenuItemComponent, RtMenuItemIconDirective };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { BooleanInput } from '@angular/cdk/coercion';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { Signal, InputSignal, InputSignalWithTransform, OutputEmitterRef } from '@angular/core';
|
|
4
|
+
import { TRtKitLabelMap, IRtIcon } from '@rt-tools/ui-kit-v2/core';
|
|
5
|
+
import { IRtTag } from '@rt-tools/ui-kit-v2/tag';
|
|
6
|
+
import * as i1 from '@rt-tools/ui-kit-v2/radius';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Alert / banner для уведомлений с 6 severities и default icon mapping.
|
|
10
|
+
*
|
|
11
|
+
* Использует `role="alert"` на корневом `<aside>` — screen reader озвучивает
|
|
12
|
+
* содержимое сразу после маунта (полезно для inline-фидбэка форм типа
|
|
13
|
+
* «Сохранено успешно» / «{{ assignError() }}»).
|
|
14
|
+
*
|
|
15
|
+
* Severity-палитра идентична `rt-tag` (`info` / `success` / `warning` / `danger` /
|
|
16
|
+
* `secondary` / `neutral`); тип `IRtTag.Severity` переиспользуется напрямую, чтобы
|
|
17
|
+
* не дублировать union. Цвета — через семантические `--rt-color-state-*` токены,
|
|
18
|
+
* layout — через primitive `--rt-space-*` / `--rt-radius-*`. BEM-разметка через
|
|
19
|
+
* директивы `rtBlock` / `rtElem` / `rtMod` из `@rt-tools/core`.
|
|
20
|
+
*
|
|
21
|
+
* Default icon по severity:
|
|
22
|
+
* - `info` → `ico-info`
|
|
23
|
+
* - `success` → `check`
|
|
24
|
+
* - `warning` → `ico-warning`
|
|
25
|
+
* - `danger` → `ico-error`
|
|
26
|
+
* - `secondary` / `neutral` → `null` (icon не рендерится)
|
|
27
|
+
*
|
|
28
|
+
* Любой default можно переопределить через `[icon]="..."`, либо явно отключить
|
|
29
|
+
* передачей `[icon]="null"` (override срабатывает только для truthy значений).
|
|
30
|
+
*/
|
|
31
|
+
declare class RtMessageComponent {
|
|
32
|
+
#private;
|
|
33
|
+
/**
|
|
34
|
+
* Финальное имя иконки: явный override через `[icon]` имеет приоритет; иначе —
|
|
35
|
+
* default по severity. Чтобы скрыть иконку у severity, у которой есть default,
|
|
36
|
+
* передайте пустую строку как `[icon]` — она будет falsy и не «победит» default.
|
|
37
|
+
* Полное отключение делается через severity `secondary` / `neutral`.
|
|
38
|
+
*/
|
|
39
|
+
protected readonly t: Signal<TRtKitLabelMap>;
|
|
40
|
+
protected readonly effectiveIcon: Signal<IRtIcon.Name | null>;
|
|
41
|
+
/** Семантическая палитра. По умолчанию `info` (синий info-banner). */
|
|
42
|
+
readonly severity: InputSignal<IRtTag.Severity>;
|
|
43
|
+
/** Override default-icon. `null` — использовать default по severity. */
|
|
44
|
+
readonly icon: InputSignal<IRtIcon.Name | null>;
|
|
45
|
+
/** Полностью скрыть иконку (даже если у severity есть default) — только текст. */
|
|
46
|
+
readonly hideIcon: InputSignalWithTransform<boolean, BooleanInput>;
|
|
47
|
+
/** Рендерит close-button справа (rt-icon-button ghost sm). */
|
|
48
|
+
readonly closable: InputSignalWithTransform<boolean, BooleanInput>;
|
|
49
|
+
/** Эмиттится при клике на close-button (только если `closable=true`). */
|
|
50
|
+
readonly closed: OutputEmitterRef<void>;
|
|
51
|
+
protected onClose(): void;
|
|
52
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtMessageComponent, never>;
|
|
53
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtMessageComponent, "rt-message", never, { "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "hideIcon": { "alias": "hideIcon"; "required": false; "isSignal": true; }; "closable": { "alias": "closable"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, ["*"], true, [{ directive: typeof i1.RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export { RtMessageComponent };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { InputSignal, InputSignalWithTransform } from '@angular/core';
|
|
3
|
+
import * as i1 from '@rt-tools/ui-kit-v2/radius';
|
|
4
|
+
import { BooleanInput } from '@angular/cdk/coercion';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Финансовый блок асайда: суммы и комиссии на subtle-подложке. Контейнер задаёт
|
|
8
|
+
* фон, скругление и компактный gap между `rt-money-row`. Отдельный примитив (не
|
|
9
|
+
* `rt-detail-list`), потому что у денег своя раскладка — значение прижато вправо,
|
|
10
|
+
* суммы не переносятся, есть итоговая строка.
|
|
11
|
+
*
|
|
12
|
+
* Контент — только `rt-money-row` через проекцию.
|
|
13
|
+
*/
|
|
14
|
+
declare class RtMoneyListComponent {
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtMoneyListComponent, never>;
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtMoneyListComponent, "rt-money-list", never, {}, {}, never, ["*"], true, [{ directive: typeof i1.RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Строка финансового блока: лейбл слева, сумма справа (без переноса). Модификатор
|
|
21
|
+
* `[total]` выделяет итоговую строку верхней границей и полужирным начертанием.
|
|
22
|
+
*
|
|
23
|
+
* Сумма проецируется через `<ng-content>`. При `[loading]="true"` сумма замещается
|
|
24
|
+
* скелетоном фиксированной ширины — inline-раскладка и прижатие вправо сохраняются.
|
|
25
|
+
*/
|
|
26
|
+
declare class RtMoneyRowComponent {
|
|
27
|
+
readonly label: InputSignal<string>;
|
|
28
|
+
readonly total: InputSignalWithTransform<boolean, BooleanInput>;
|
|
29
|
+
readonly loading: InputSignalWithTransform<boolean, BooleanInput>;
|
|
30
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtMoneyRowComponent, never>;
|
|
31
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtMoneyRowComponent, "rt-money-row", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "total": { "alias": "total"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export { RtMoneyListComponent, RtMoneyRowComponent };
|