@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,93 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Signal, ElementRef, WritableSignal, InputSignal } from '@angular/core';
|
|
3
|
+
import { TRtKitLabelMap, IRtIcon } from '@rt-tools/ui-kit-v2/core';
|
|
4
|
+
import { RtFormControlBase } from '@rt-tools/ui-kit-v2/form-control';
|
|
5
|
+
import { RtPopoverDirective, IRtPopover } from '@rt-tools/ui-kit-v2/popover';
|
|
6
|
+
import { IRtSelect, RtSelectTriggerDirective } from '@rt-tools/ui-kit-v2/select';
|
|
7
|
+
import * as i1 from '@rt-tools/ui-kit-v2/radius';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Multi-select с chip-rendering выбранных значений в trigger.
|
|
11
|
+
*
|
|
12
|
+
* Panel рендерится через CDK Overlay (`[rtPopover]`) — не обрезается overflow,
|
|
13
|
+
* авто-flip. Панель НЕ закрывается после выбора (multi vs single). CVA через
|
|
14
|
+
* общий `RtFormControlBase`. Reuses `IRtSelect.Option<TValue>` (type-import).
|
|
15
|
+
* Чипы закрываются поштучно; крестик (`clearable`) слева от шеврона очищает весь
|
|
16
|
+
* выбор.
|
|
17
|
+
*
|
|
18
|
+
* Keyboard-nav (activedescendant): фокус на trigger'е, ArrowUp/Down — highlight,
|
|
19
|
+
* Enter — toggle опции (panel остаётся открытой), Escape — закрыть. Home/End —
|
|
20
|
+
* deferred.
|
|
21
|
+
*/
|
|
22
|
+
declare class RtMultiselectComponent<TValue> extends RtFormControlBase<ReadonlyArray<TValue>> {
|
|
23
|
+
#private;
|
|
24
|
+
protected readonly t: Signal<TRtKitLabelMap>;
|
|
25
|
+
protected readonly panelId: string;
|
|
26
|
+
protected readonly placeholderText: Signal<string>;
|
|
27
|
+
protected readonly popover: Signal<RtPopoverDirective>;
|
|
28
|
+
protected readonly triggerEl: Signal<ElementRef<HTMLButtonElement> | undefined>;
|
|
29
|
+
protected readonly activeIndex: WritableSignal<number>;
|
|
30
|
+
/** Раскрытые ветки дерева. Живут, пока открыта панель: при открытии раскрыты ветки над выбранным. */
|
|
31
|
+
protected readonly openBranches: WritableSignal<ReadonlySet<TValue>>;
|
|
32
|
+
/** Дерево ли список: тогда у строк есть место под стрелку и отступ по уровню. */
|
|
33
|
+
protected readonly isTree: Signal<boolean>;
|
|
34
|
+
/** Видимые строки: плоский список — как прежде, дерево — по раскрытым веткам. */
|
|
35
|
+
protected readonly rows: Signal<ReadonlyArray<IRtSelect.Row<TValue>>>;
|
|
36
|
+
/** Флажок каждой строки: у листа — выбран ли он, у ветки — выведен из её включённых листьев. */
|
|
37
|
+
protected readonly rowChecks: Signal<ReadonlyArray<IRtSelect.TBranchState>>;
|
|
38
|
+
protected readonly isOpen: Signal<boolean>;
|
|
39
|
+
/** Идентификатор подсвеченной опции — тот же, что уходит в `aria-activedescendant`. */
|
|
40
|
+
protected readonly activeOptionId: Signal<string | null>;
|
|
41
|
+
/**
|
|
42
|
+
* Своя разметка указателя, если потребитель её объявил. Маркер тот же, что у выбора одного
|
|
43
|
+
* значения: семьи отличаются только разметкой внутри кнопки.
|
|
44
|
+
*/
|
|
45
|
+
protected readonly triggerTpl: Signal<RtSelectTriggerDirective<ReadonlyArray<TValue>> | undefined>;
|
|
46
|
+
protected readonly hasValue: Signal<boolean>;
|
|
47
|
+
protected readonly visibleChips: Signal<ReadonlyArray<TValue>>;
|
|
48
|
+
protected readonly extraChipsCount: Signal<number>;
|
|
49
|
+
/** Три значения, которые кит отдаёт своей разметке указателя, и не больше. */
|
|
50
|
+
protected readonly triggerState: Signal<IRtSelect.TriggerState<ReadonlyArray<TValue>>>;
|
|
51
|
+
readonly displayText: Signal<string>;
|
|
52
|
+
readonly options: InputSignal<ReadonlyArray<IRtSelect.Option<TValue>>>;
|
|
53
|
+
/** Пусто — берётся переведённая подпись по умолчанию */
|
|
54
|
+
readonly placeholder: InputSignal<string>;
|
|
55
|
+
readonly maxChips: InputSignal<number>;
|
|
56
|
+
/** Иконка слева в указателе — та же, что у `rt-select`: перед подсказкой или чипами. */
|
|
57
|
+
readonly iconLeft: InputSignal<IRtIcon.Name | null>;
|
|
58
|
+
/**
|
|
59
|
+
* Чем мерится панель. По умолчанию она не уже кнопки и дальше растёт по содержимому:
|
|
60
|
+
* со своим указателем кнопка бывает узкой, и панель по её ширине давила бы содержимое.
|
|
61
|
+
* `trigger` возвращает прежнее — ровно по кнопке, `auto` пускает панель по содержимому
|
|
62
|
+
* целиком. Предел высоты назначается входом `panelMaxHeight`.
|
|
63
|
+
*/
|
|
64
|
+
readonly panelWidth: InputSignal<IRtPopover.Width>;
|
|
65
|
+
/**
|
|
66
|
+
* Предел высоты панели — длина как в стилях, например `20rem`. Пусто — предел кита
|
|
67
|
+
* `--rt-input-panel-max-height`, и длинный список прокручивается внутри панели: без предела
|
|
68
|
+
* он уходил за нижний край экрана, и пункты за краем были недостижимы. `none` снимает предел —
|
|
69
|
+
* для короткого списка, который должен открываться целиком, без прокрутки. Значение ставится
|
|
70
|
+
* на саму панель: она рисуется в наложении, вне поддерева блока.
|
|
71
|
+
*/
|
|
72
|
+
readonly panelMaxHeight: InputSignal<string | null>;
|
|
73
|
+
constructor();
|
|
74
|
+
setDisabledState(disabled: boolean): void;
|
|
75
|
+
protected getEmptyValue(): ReadonlyArray<TValue>;
|
|
76
|
+
protected focusAfterClear(): void;
|
|
77
|
+
protected labelOf(value: TValue): string;
|
|
78
|
+
protected isSelected(value: TValue): boolean;
|
|
79
|
+
protected onOpened(): void;
|
|
80
|
+
protected toggleBranch(event: Event, value: TValue): void;
|
|
81
|
+
protected onClosed(): void;
|
|
82
|
+
/**
|
|
83
|
+
* Лист переключается сам. Ветка выбирает все свои включённые листья или снимает их, когда
|
|
84
|
+
* выбраны все; своё значение ветки в выбор не пишется.
|
|
85
|
+
*/
|
|
86
|
+
protected toggleOption(opt: IRtSelect.Option<TValue>): void;
|
|
87
|
+
protected removeChip(value: TValue, event: MouseEvent): void;
|
|
88
|
+
protected onTriggerKeydown(event: KeyboardEvent): void;
|
|
89
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtMultiselectComponent<any>, never>;
|
|
90
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtMultiselectComponent<any>, "rt-multiselect", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "maxChips": { "alias": "maxChips"; "required": false; "isSignal": true; }; "iconLeft": { "alias": "iconLeft"; "required": false; "isSignal": true; }; "panelWidth": { "alias": "panelWidth"; "required": false; "isSignal": true; }; "panelMaxHeight": { "alias": "panelMaxHeight"; "required": false; "isSignal": true; }; }, {}, ["triggerTpl"], never, true, [{ directive: typeof i1.RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export { RtMultiselectComponent };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Signal, InputSignal, OutputEmitterRef } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Контракты `rt-night-grid` — плотная сетка суток.
|
|
6
|
+
*
|
|
7
|
+
* Домен в ui-kit не протаскивается: сетка знает про «свободно / основное /
|
|
8
|
+
* второстепенное», а не про статусы броней. Маппинг доменных состояний на эти
|
|
9
|
+
* три — забота потребителя.
|
|
10
|
+
*/
|
|
11
|
+
declare namespace IRtNightGrid {
|
|
12
|
+
type State = 'free' | 'primary' | 'secondary';
|
|
13
|
+
interface Cell {
|
|
14
|
+
readonly id: string;
|
|
15
|
+
readonly state: State;
|
|
16
|
+
/** Нативный title: подпись дня и, если занят, чем именно. */
|
|
17
|
+
readonly title: string;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Плотная сетка суток: ряд мелких ячеек, каждая — одна ночь. Применяется там, где
|
|
23
|
+
* нужно окинуть взглядом занятость на недели вперёд, а не листать календарь.
|
|
24
|
+
*
|
|
25
|
+
* Сетка скроллится внутри себя по горизонтали — документ боком не едет.
|
|
26
|
+
*/
|
|
27
|
+
declare class RtNightGridComponent {
|
|
28
|
+
#private;
|
|
29
|
+
protected readonly ariaText: Signal<string>;
|
|
30
|
+
readonly cells: InputSignal<ReadonlyArray<IRtNightGrid.Cell>>;
|
|
31
|
+
/** Пусто — берётся переведённая подпись по умолчанию */
|
|
32
|
+
readonly ariaLabel: InputSignal<string>;
|
|
33
|
+
readonly cellClick: OutputEmitterRef<IRtNightGrid.Cell>;
|
|
34
|
+
protected onCellClick(cell: IRtNightGrid.Cell): void;
|
|
35
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtNightGridComponent, never>;
|
|
36
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtNightGridComponent, "rt-night-grid", never, { "cells": { "alias": "cells"; "required": true; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "cellClick": "cellClick"; }, never, never, true, never>;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export { IRtNightGrid, RtNightGridComponent };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import * as i1 from '@rt-tools/ui-kit-v2/radius';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Тихая информационная заметка-callout для асайдов и форм: приглушённый текст
|
|
6
|
+
* на subtle-фоне, без иконки и severity-цвета. Назначение — пояснить контекст
|
|
7
|
+
* (предупреждения, подсказки, контекстные примечания),
|
|
8
|
+
* не перебивая основной контент.
|
|
9
|
+
*
|
|
10
|
+
* Семантика — `role="note"` (ancillary-контент). Это НЕ alert: для громких
|
|
11
|
+
* цветных уведомлений с severity/иконкой/закрытием используйте `rt-message`.
|
|
12
|
+
*
|
|
13
|
+
* Контент проецируется через `<ng-content />` — допустимы инлайн-теги
|
|
14
|
+
* (`<strong>`, `<a>`) и control-flow (`@if`) внутри.
|
|
15
|
+
*/
|
|
16
|
+
declare class RtNoteComponent {
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtNoteComponent, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtNoteComponent, "rt-note", never, {}, {}, never, ["*"], true, [{ directive: typeof i1.RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { RtNoteComponent };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { InputSignalWithTransform, InputSignal, OutputEmitterRef } from '@angular/core';
|
|
3
|
+
import * as i1 from '@rt-tools/ui-kit-v2/radius';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Колокольчик в шапке: открывает ленту событий и показывает точкой, что
|
|
7
|
+
* непрочитанное есть.
|
|
8
|
+
*
|
|
9
|
+
* Маркер — точка, а не число: точное число получатель видит в самой ленте, а
|
|
10
|
+
* двузначное в шапке спорило бы с подписями разделов.
|
|
11
|
+
*/
|
|
12
|
+
declare class RtNotificationsBellComponent {
|
|
13
|
+
readonly unread: InputSignalWithTransform<boolean, boolean | string>;
|
|
14
|
+
readonly ariaLabel: InputSignal<string>;
|
|
15
|
+
/** Подпись маркера для скринридера: точка сама по себе ничего не говорит */
|
|
16
|
+
readonly unreadLabel: InputSignal<string>;
|
|
17
|
+
readonly clicked: OutputEmitterRef<void>;
|
|
18
|
+
protected onClick(): void;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtNotificationsBellComponent, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtNotificationsBellComponent, "rt-notifications-bell", never, { "unread": { "alias": "unread"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "unreadLabel": { "alias": "unreadLabel"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, true, [{ directive: typeof i1.RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { RtNotificationsBellComponent };
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { Signal, WritableSignal, InputSignal, TemplateRef, InputSignalWithTransform, OutputEmitterRef } from '@angular/core';
|
|
4
|
+
import { IRtIcon, TRtKitTranslator, TRtKitLabelMap } from '@rt-tools/ui-kit-v2/core';
|
|
5
|
+
import { RtPopoverDirective } from '@rt-tools/ui-kit-v2/popover';
|
|
6
|
+
|
|
7
|
+
declare namespace IRtPageHeader {
|
|
8
|
+
/**
|
|
9
|
+
* Описание пункта верхней навигации — раздела первого уровня или пункта
|
|
10
|
+
* панели второго.
|
|
11
|
+
*
|
|
12
|
+
* Форма пункта решается его полями:
|
|
13
|
+
* - `columns` с хотя бы одним пунктом внутри → кнопка-триггер с указателем
|
|
14
|
+
* раскрытия; панель открывается наведением, `route` родителя игнорируется,
|
|
15
|
+
* родитель подсвечивается при активном вложенном адресе;
|
|
16
|
+
* - `route` задан и `!disabled` → анкор с `[routerLink]`/`routerLinkActive`;
|
|
17
|
+
* - иначе → `<button>`: `itemClick` у доступного, ничего у недоступного.
|
|
18
|
+
*/
|
|
19
|
+
interface Item {
|
|
20
|
+
readonly id: string;
|
|
21
|
+
readonly label: string;
|
|
22
|
+
/** У пункта панели иконку носит заголовок его группы, а не он сам. */
|
|
23
|
+
readonly icon?: IRtIcon.Name;
|
|
24
|
+
readonly route?: string;
|
|
25
|
+
/** По умолчанию `false`. */
|
|
26
|
+
readonly routerLinkActiveExact?: boolean;
|
|
27
|
+
readonly disabled?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Непросмотренное: пункт с признаком показывает точку у правого края.
|
|
30
|
+
* У раздела с панелью точка горит и от признака любого пункта внутри.
|
|
31
|
+
*/
|
|
32
|
+
readonly unread?: boolean;
|
|
33
|
+
/** Панель второго уровня: колонка → группа → пункт. */
|
|
34
|
+
readonly columns?: ReadonlyArray<Column>;
|
|
35
|
+
}
|
|
36
|
+
/** Колонка панели. Ширина панели считается числом колонок, а не содержимым. */
|
|
37
|
+
interface Column {
|
|
38
|
+
readonly id: string;
|
|
39
|
+
readonly groups: ReadonlyArray<Group>;
|
|
40
|
+
}
|
|
41
|
+
/** Группа пунктов внутри колонки. Без `label` группа идёт без заголовка. */
|
|
42
|
+
interface Group {
|
|
43
|
+
readonly id: string;
|
|
44
|
+
readonly label?: string;
|
|
45
|
+
readonly icon?: IRtIcon.Name;
|
|
46
|
+
readonly items: ReadonlyArray<Item>;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Юзер-блок справа от навигации.
|
|
50
|
+
*
|
|
51
|
+
* `avatar` — заранее посчитанные инициалы (одна буква в верхнем регистре);
|
|
52
|
+
* fallback'ом берётся первая буква `name`.
|
|
53
|
+
*/
|
|
54
|
+
interface User {
|
|
55
|
+
readonly name: string;
|
|
56
|
+
readonly avatar?: string;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/** Чем пункт отрисуется: панелью, ссылкой или кнопкой. */
|
|
61
|
+
declare enum ERtPageHeaderEntry {
|
|
62
|
+
Panel = "panel",
|
|
63
|
+
Link = "link",
|
|
64
|
+
Button = "button"
|
|
65
|
+
}
|
|
66
|
+
declare namespace IRtPageHeaderView {
|
|
67
|
+
/** Пункт, готовый к отрисовке: форма решена заранее, шаблон её не выводит. */
|
|
68
|
+
interface Entry {
|
|
69
|
+
readonly id: string;
|
|
70
|
+
readonly label: string;
|
|
71
|
+
readonly icon: IRtIcon.Name | null;
|
|
72
|
+
readonly route: string;
|
|
73
|
+
readonly routerLinkActiveExact: boolean;
|
|
74
|
+
readonly disabled: boolean;
|
|
75
|
+
readonly unread: boolean;
|
|
76
|
+
readonly kind: ERtPageHeaderEntry;
|
|
77
|
+
}
|
|
78
|
+
interface Group {
|
|
79
|
+
readonly id: string;
|
|
80
|
+
readonly label: string;
|
|
81
|
+
readonly icon: IRtIcon.Name | null;
|
|
82
|
+
readonly items: ReadonlyArray<Entry>;
|
|
83
|
+
}
|
|
84
|
+
interface Column {
|
|
85
|
+
readonly id: string;
|
|
86
|
+
readonly groups: ReadonlyArray<Group>;
|
|
87
|
+
}
|
|
88
|
+
interface Section extends Entry {
|
|
89
|
+
readonly columns: ReadonlyArray<Column>;
|
|
90
|
+
readonly columnCount: number;
|
|
91
|
+
/** Все пункты панели одним списком: подсветка раздела и сведение маркера. */
|
|
92
|
+
readonly panelItems: ReadonlyArray<Entry>;
|
|
93
|
+
/** Группы всех колонок подряд: на узком экране колонок нет, а группы есть. */
|
|
94
|
+
readonly panelGroups: ReadonlyArray<Group>;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Верхняя горизонтальная плашка-навигация для первого уровня доменных страниц.
|
|
100
|
+
*
|
|
101
|
+
* Контракт:
|
|
102
|
+
* - `items` — `Item[]`. Анкор для пунктов с `route`; `<button>` для недоступных
|
|
103
|
+
* и для тех, кто обрабатывается снаружи (`itemClick`). Пункт с `columns` —
|
|
104
|
+
* кнопка-триггер: панель второго уровня открывается наведением ([rtPopover]).
|
|
105
|
+
* - `user` — необязательный блок справа. Если задан `userMenu` (TemplateRef) —
|
|
106
|
+
* блок становится hover-триггером попапа с этим контентом (клик — touch-fallback,
|
|
107
|
+
* панель прижата к правому краю); иначе по клику emit'ит `userClick`.
|
|
108
|
+
*
|
|
109
|
+
* Active state — через `RouterLinkActive` с классом `rt-page-header__link--is-active`;
|
|
110
|
+
* для раздела с панелью — вычисляется по текущему URL (своего route у него нет).
|
|
111
|
+
*/
|
|
112
|
+
declare class RtPageHeaderComponent {
|
|
113
|
+
#private;
|
|
114
|
+
/** Переводчик для чистого пайпа подписи: шаблон отдаёт его вторым доводом. */
|
|
115
|
+
protected readonly translate: Signal<TRtKitTranslator>;
|
|
116
|
+
protected readonly t: Signal<TRtKitLabelMap>;
|
|
117
|
+
protected readonly mobileNavPopoverRef: Signal<RtPopoverDirective | undefined>;
|
|
118
|
+
/** Кнопка «ещё» сжатой полосы открывает ту же панель, что и бургер, своим поповером. */
|
|
119
|
+
protected readonly compactNavPopoverRef: Signal<RtPopoverDirective | undefined>;
|
|
120
|
+
/** Сжатое состояние: шапка липкая и прилипла к верху. */
|
|
121
|
+
protected readonly compact: Signal<boolean>;
|
|
122
|
+
/** Разделы в кругах сжатой полосы: первые с иконкой, число — по входу. */
|
|
123
|
+
protected readonly compactSections: Signal<ReadonlyArray<IRtPageHeaderView.Section>>;
|
|
124
|
+
/** Форма пункта решается один раз здесь, а не ветвлениями в шаблоне. */
|
|
125
|
+
protected readonly sections: Signal<ReadonlyArray<IRtPageHeaderView.Section>>;
|
|
126
|
+
/**
|
|
127
|
+
* id разделов с активным вложенным адресом — для O(1) lookup в шаблоне.
|
|
128
|
+
* Зависит от #currentUrl + items (сигналы) → подсветка реактивна на навигацию.
|
|
129
|
+
*/
|
|
130
|
+
protected readonly activeSectionIds: Signal<ReadonlySet<string>>;
|
|
131
|
+
protected readonly userAvatar: Signal<string>;
|
|
132
|
+
/** Узкий вьюпорт (≤1080px): инлайн-навигация прячется, показывается гамбургер. */
|
|
133
|
+
protected readonly isNarrow: Signal<boolean>;
|
|
134
|
+
/**
|
|
135
|
+
* id раскрытых разделов-аккордеонов в мобильной панели. Ключ — только раздел:
|
|
136
|
+
* группы внутри раскрытого раздела показаны сразу, и совпасть идентификаторам
|
|
137
|
+
* раздела и группы в этом множестве негде.
|
|
138
|
+
*/
|
|
139
|
+
protected readonly expandedSectionIds: WritableSignal<ReadonlySet<string>>;
|
|
140
|
+
protected readonly EntryKind: typeof ERtPageHeaderEntry;
|
|
141
|
+
readonly items: InputSignal<ReadonlyArray<IRtPageHeader.Item>>;
|
|
142
|
+
readonly user: InputSignal<IRtPageHeader.User | null>;
|
|
143
|
+
readonly userTitle: InputSignal<string>;
|
|
144
|
+
readonly userMenu: InputSignal<TemplateRef<unknown> | null>;
|
|
145
|
+
/** Пусто — берётся переведённая подпись по умолчанию */
|
|
146
|
+
readonly ariaLabel: InputSignal<string>;
|
|
147
|
+
/**
|
|
148
|
+
* Шапка липнет к верху окна и, прилипнув, сжимается в полосу: круги первых разделов,
|
|
149
|
+
* кнопка «ещё» и три слота потребителя. Выключено — поведение прежнее.
|
|
150
|
+
*/
|
|
151
|
+
readonly stickyCompact: InputSignalWithTransform<boolean, BooleanInput>;
|
|
152
|
+
/** Сколько разделов с иконкой показывать кругами в сжатой полосе; остальные — под «ещё». */
|
|
153
|
+
readonly compactVisibleCount: InputSignalWithTransform<number, NumberInput>;
|
|
154
|
+
/** Своё имя навигации важнее умолчания */
|
|
155
|
+
readonly navAriaLabel: Signal<string>;
|
|
156
|
+
readonly itemClick: OutputEmitterRef<string>;
|
|
157
|
+
readonly userClick: OutputEmitterRef<void>;
|
|
158
|
+
constructor();
|
|
159
|
+
/** Панель разделов открывают и бургер, и кнопка «ещё»: закрываются обе. */
|
|
160
|
+
protected closeNavPanels(): void;
|
|
161
|
+
/** Круг раздела без адреса: раздел с панелью открывает общую панель, прочий — сообщает наружу. */
|
|
162
|
+
protected onCompactSectionClick(section: IRtPageHeaderView.Section): void;
|
|
163
|
+
protected onItemClick(id: string): void;
|
|
164
|
+
protected onUserClick(): void;
|
|
165
|
+
/** Аккордеон мобильной панели: тумблер раскрытия раздела по его id. */
|
|
166
|
+
protected toggleSection(id: string): void;
|
|
167
|
+
/** Клик по плоскому пункту мобильной панели: emit + закрыть панель. */
|
|
168
|
+
protected onMobileItemClick(id: string): void;
|
|
169
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtPageHeaderComponent, never>;
|
|
170
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtPageHeaderComponent, "rt-page-header", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "user": { "alias": "user"; "required": false; "isSignal": true; }; "userTitle": { "alias": "userTitle"; "required": false; "isSignal": true; }; "userMenu": { "alias": "userMenu"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "stickyCompact": { "alias": "stickyCompact"; "required": false; "isSignal": true; }; "compactVisibleCount": { "alias": "compactVisibleCount"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; "userClick": "userClick"; }, never, ["[rtCompactLeft]", "[rtCompactCenter]", "[rtCompactRight]", "[rtHeaderBell]"], true, never>;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
export { IRtPageHeader, RtPageHeaderComponent };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Signal, InputSignal, InputSignalWithTransform, OutputEmitterRef } from '@angular/core';
|
|
3
|
+
import { IPageModel } from '@rt-tools/utils';
|
|
4
|
+
import { TRtKitLabelMap, IRtIcon } from '@rt-tools/ui-kit-v2/core';
|
|
5
|
+
import { IRtSelect } from '@rt-tools/ui-kit-v2/select';
|
|
6
|
+
import * as i1 from '@rt-tools/ui-kit-v2/radius';
|
|
7
|
+
|
|
8
|
+
declare namespace IRtPagination {
|
|
9
|
+
/** Элемент полосы страниц: номер или разрыв «…». */
|
|
10
|
+
type PageItem = number | 'gap';
|
|
11
|
+
/**
|
|
12
|
+
* Счёт номеров: `neighbours` — первая, последняя и соседи открытой, при одной странице полосы
|
|
13
|
+
* номеров нет; `seven` — семь мест первого кита, и одна страница рисуется номером со стрелками.
|
|
14
|
+
*/
|
|
15
|
+
type Numbering = 'neighbours' | 'seven';
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
declare class RtPaginationComponent {
|
|
19
|
+
protected readonly t: Signal<TRtKitLabelMap>;
|
|
20
|
+
protected readonly perPageSelectOptions: Signal<ReadonlyArray<IRtSelect.Option<number>>>;
|
|
21
|
+
/**
|
|
22
|
+
* Диапазон записей и номер страницы — с подстановками, поэтому карте подписей
|
|
23
|
+
* они не годятся: числа приходят из модели страницы.
|
|
24
|
+
*/
|
|
25
|
+
protected readonly rangeLabel: Signal<string>;
|
|
26
|
+
protected readonly pageLabel: Signal<string>;
|
|
27
|
+
protected readonly isFirst: Signal<boolean>;
|
|
28
|
+
protected readonly isLast: Signal<boolean>;
|
|
29
|
+
readonly pageModel: InputSignal<IPageModel>;
|
|
30
|
+
readonly perPageOptions: InputSignal<ReadonlyArray<number>>;
|
|
31
|
+
/** Значок стрелки «назад»: вид первого кита рисует стрелку, а не шеврон. */
|
|
32
|
+
readonly prevIcon: InputSignal<IRtIcon.Name>;
|
|
33
|
+
/** Значок стрелки «вперёд». */
|
|
34
|
+
readonly nextIcon: InputSignal<IRtIcon.Name>;
|
|
35
|
+
/** Счёт номеров: список под материальным набором просит семь мест первого кита. */
|
|
36
|
+
readonly numbering: InputSignal<IRtPagination.Numbering>;
|
|
37
|
+
readonly loading: InputSignalWithTransform<boolean, unknown>;
|
|
38
|
+
readonly pageChange: OutputEmitterRef<number>;
|
|
39
|
+
readonly perPageChange: OutputEmitterRef<number>;
|
|
40
|
+
/**
|
|
41
|
+
* Пагинацию показываем, только когда есть что листать/менять: всё не влезает
|
|
42
|
+
* на одну страницу даже при минимальной опции размера (`total > наименьший
|
|
43
|
+
* perPageOption`). Иначе и навигация, и селектор размера бесполезны — прячем
|
|
44
|
+
* весь бар (включая пустой и пустой-по-фильтру список).
|
|
45
|
+
*/
|
|
46
|
+
readonly isVisible: Signal<boolean>;
|
|
47
|
+
/** Сколько всего страниц при нынешнем размере страницы. */
|
|
48
|
+
readonly lastPage: Signal<number>;
|
|
49
|
+
/**
|
|
50
|
+
* Границы диапазона записей открытой страницы. Собираются числами, а сама
|
|
51
|
+
* подпись — в шаблоне: только там подстановка проходит через словарь и
|
|
52
|
+
* переживает смену языка.
|
|
53
|
+
*/
|
|
54
|
+
readonly rangeFrom: Signal<number>;
|
|
55
|
+
readonly rangeTo: Signal<number>;
|
|
56
|
+
/** Полоса номеров страниц с разрывами «…». По соседям пуста при единственной странице. */
|
|
57
|
+
readonly pageItems: Signal<ReadonlyArray<IRtPagination.PageItem>>;
|
|
58
|
+
goTo(pageNumber: number): void;
|
|
59
|
+
protected onPerPage(value: number | null): void;
|
|
60
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtPaginationComponent, never>;
|
|
61
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtPaginationComponent, "rt-pagination", never, { "pageModel": { "alias": "pageModel"; "required": true; "isSignal": true; }; "perPageOptions": { "alias": "perPageOptions"; "required": false; "isSignal": true; }; "prevIcon": { "alias": "prevIcon"; "required": false; "isSignal": true; }; "nextIcon": { "alias": "nextIcon"; "required": false; "isSignal": true; }; "numbering": { "alias": "numbering"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; "perPageChange": "perPageChange"; }, never, never, true, [{ directive: typeof i1.RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export { IRtPagination, RtPaginationComponent };
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { TemplateRef, Signal, ElementRef, WritableSignal } from '@angular/core';
|
|
3
|
+
import { IRtPicture, TRtKitLabelMap } from '@rt-tools/ui-kit-v2/core';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Контракты полноэкранного просмотрщика фотографий. Один корневой неймспейс с
|
|
7
|
+
* префиксом `I`.
|
|
8
|
+
*/
|
|
9
|
+
declare namespace IRtPhotoViewer {
|
|
10
|
+
/**
|
|
11
|
+
* Кадр в просмотрщике. Адреса собирает вызывающая сторона — кит не знает про
|
|
12
|
+
* хранилище; он получает готовую начинку `<picture>` и не решает, какие
|
|
13
|
+
* форматы существуют и какой из них запасной.
|
|
14
|
+
*/
|
|
15
|
+
interface Photo {
|
|
16
|
+
readonly id: string;
|
|
17
|
+
readonly alt: string;
|
|
18
|
+
readonly picture: IRtPicture;
|
|
19
|
+
/** `width / height` — резервирует место до загрузки кадра */
|
|
20
|
+
readonly aspectRatio: string;
|
|
21
|
+
}
|
|
22
|
+
/** Контекст панели: кадр, на котором сейчас стоит просмотрщик */
|
|
23
|
+
interface PanelContext {
|
|
24
|
+
readonly $implicit: Photo;
|
|
25
|
+
readonly index: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Данные открытия: список кадров и тот, с которого начинаем.
|
|
29
|
+
*
|
|
30
|
+
* `panel` — необязательный шаблон под дорожкой. Он существует ради экранов,
|
|
31
|
+
* где кадр решают не только смотреть, но и править: подпись, видимость и
|
|
32
|
+
* порядок правятся там же, где принимается решение, а не после закрытия
|
|
33
|
+
* просмотра и поисков того же кадра в сетке. Просмотрщик
|
|
34
|
+
* открывается диалогом, поэтому проекция содержимого сюда не дотягивается —
|
|
35
|
+
* шаблон приходит вместе с данными.
|
|
36
|
+
*/
|
|
37
|
+
interface Data {
|
|
38
|
+
readonly photos: readonly Photo[];
|
|
39
|
+
readonly startIndex: number;
|
|
40
|
+
readonly panel?: TemplateRef<PanelContext>;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Полноэкранный просмотрщик фотографий поверх `RtDialogService`.
|
|
46
|
+
*
|
|
47
|
+
* Листание — нативный `scroll-snap`: свайп, инерцию и прилипание даёт сам
|
|
48
|
+
* браузер, и на телефоне это ощущается правильнее любой реализации на
|
|
49
|
+
* обработчиках. Готовую библиотеку не берём — весь кит здесь собственный, а
|
|
50
|
+
* токены, BEM и `qa-dataid` ложатся естественно.
|
|
51
|
+
*
|
|
52
|
+
* Руками сделаны: стрелки, клавиши `←` `→`, счётчик и предзагрузка соседних
|
|
53
|
+
* кадров. `Esc`, блокировку прокрутки фона и затемнение даёт сам диалог.
|
|
54
|
+
*/
|
|
55
|
+
declare class RtPhotoViewerComponent {
|
|
56
|
+
#private;
|
|
57
|
+
protected readonly t: Signal<TRtKitLabelMap>;
|
|
58
|
+
protected readonly track: Signal<ElementRef<HTMLElement> | undefined>;
|
|
59
|
+
protected readonly photos: readonly IRtPhotoViewer.Photo[];
|
|
60
|
+
/** Панель правки под дорожкой; там, где кадр только смотрят, её нет */
|
|
61
|
+
protected readonly panel: TemplateRef<IRtPhotoViewer.PanelContext> | null;
|
|
62
|
+
protected readonly currentIndex: WritableSignal<number>;
|
|
63
|
+
protected readonly counter: Signal<string>;
|
|
64
|
+
/** Соседние кадры готовятся заранее, дальние в разметку не попадают */
|
|
65
|
+
protected readonly rendered: Signal<readonly boolean[]>;
|
|
66
|
+
constructor();
|
|
67
|
+
/** Наружу отдаётся кадр, на котором закрыли: по нему вызывающая сторона чистит адрес */
|
|
68
|
+
close(): void;
|
|
69
|
+
protected move(step: number): void;
|
|
70
|
+
protected select(index: number): void;
|
|
71
|
+
/** Свайп листает мимо стрелок — счётчик догоняет позицию дорожки */
|
|
72
|
+
protected onScroll(): void;
|
|
73
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtPhotoViewerComponent, never>;
|
|
74
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<RtPhotoViewerComponent, "rt-photo-viewer", never, {}, {}, never, never, true, never>;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Чистая логика просмотрщика: переходы между кадрами и то, какие из них стоит
|
|
79
|
+
* держать загруженными.
|
|
80
|
+
*/
|
|
81
|
+
/** Листание по кругу: с последнего кадра стрелка вправо ведёт на первый */
|
|
82
|
+
declare function nextPhotoIndex(current: number, total: number, step: number): number;
|
|
83
|
+
/** Индекс из адреса: в URL кадры нумеруются с единицы, внутри — с нуля */
|
|
84
|
+
declare function indexFromParam(param: string | null, total: number): number;
|
|
85
|
+
declare function paramFromIndex(index: number): string;
|
|
86
|
+
/**
|
|
87
|
+
* Индекс кадра по позиции прокрутки. Нужен, потому что листать можно свайпом:
|
|
88
|
+
* без этого счётчик показывал бы один кадр, а на экране был бы другой.
|
|
89
|
+
*/
|
|
90
|
+
declare function indexFromScroll(scrollLeft: number, slideWidth: number, total: number): number;
|
|
91
|
+
/**
|
|
92
|
+
* Кадры, которые держим в разметке: текущий и соседние. Полноразмерная
|
|
93
|
+
* фотография весит сотни килобайт, и загружать все пятьдесят разом — значит
|
|
94
|
+
* выесть трафик пользователя ради кадров, до которых он не долистает.
|
|
95
|
+
*/
|
|
96
|
+
declare function shouldRenderPhoto(index: number, current: number, total: number): boolean;
|
|
97
|
+
|
|
98
|
+
export { IRtPhotoViewer, RtPhotoViewerComponent, indexFromParam, indexFromScroll, nextPhotoIndex, paramFromIndex, shouldRenderPhoto };
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { OnDestroy, WritableSignal, InputSignal, TemplateRef, InputSignalWithTransform, OutputEmitterRef, Signal } from '@angular/core';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Модель `[rtPopover]`: один корневой неймспейс с префиксом `I`.
|
|
7
|
+
*/
|
|
8
|
+
declare namespace IRtPopover {
|
|
9
|
+
/** Жест, открывающий popover. `manual` — host управляет через open()/close(). */
|
|
10
|
+
type Trigger = 'click' | 'hover' | 'manual';
|
|
11
|
+
/**
|
|
12
|
+
* Стратегия ширины панели: ровно по host'у (dropdown), не уже host'а и дальше по
|
|
13
|
+
* содержимому (`trigger-min`) или по содержимому целиком (tooltip).
|
|
14
|
+
*/
|
|
15
|
+
type Width = 'trigger' | 'trigger-min' | 'auto';
|
|
16
|
+
/** Горизонтальное выравнивание панели относительно host'а. */
|
|
17
|
+
type Align = 'start' | 'end';
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Переиспользуемый popover-примитив поверх CDK Overlay. Привязывает плавающую
|
|
22
|
+
* панель (`<ng-template>`) к host-элементу. Движок — CDK Overlay
|
|
23
|
+
* (`flexibleConnectedTo`): авто-flip у края viewport, reposition при скролле,
|
|
24
|
+
* outside-click и Escape закрытие из коробки — без ручного `position: absolute`
|
|
25
|
+
* в `:host` (тот резался `overflow: hidden` предками: таблицы, aside, карточки).
|
|
26
|
+
*
|
|
27
|
+
* Триггеры:
|
|
28
|
+
* - `click` (default) — toggle по клику на host; outside-click закрывает.
|
|
29
|
+
* - `hover` — открытие на `mouseenter`, закрытие с grace-периодом на `mouseleave`
|
|
30
|
+
* (наведение на панель удерживает её открытой).
|
|
31
|
+
* - `manual` — авто-listener'ы не вешаются; host сам зовёт `open()/close()`.
|
|
32
|
+
* Используется form-control'ами с собственным жестом (autocomplete — открытие
|
|
33
|
+
* по набору текста).
|
|
34
|
+
*
|
|
35
|
+
* `open()/close()/toggle()/isOpen()` публичны во ВСЕХ режимах — `trigger` лишь
|
|
36
|
+
* определяет авто-listener'ы. `width: 'trigger'` синхронизирует ширину панели с
|
|
37
|
+
* host'ом (dropdown'ы), `'trigger-min'` не даёт панели стать уже host'а и дальше пускает
|
|
38
|
+
* её по содержимому, `'auto'` — content-sized (тултипы).
|
|
39
|
+
*/
|
|
40
|
+
declare class RtPopoverDirective implements OnDestroy {
|
|
41
|
+
#private;
|
|
42
|
+
protected readonly isOpenState: WritableSignal<boolean>;
|
|
43
|
+
readonly template: InputSignal<TemplateRef<unknown> | null>;
|
|
44
|
+
readonly trigger: InputSignal<IRtPopover.Trigger>;
|
|
45
|
+
readonly width: InputSignal<IRtPopover.Width>;
|
|
46
|
+
/** `end` — панель прижата к правому краю host'а (триггеры у правого края viewport). */
|
|
47
|
+
readonly align: InputSignal<IRtPopover.Align>;
|
|
48
|
+
/**
|
|
49
|
+
* Панель обязана уместиться во вьюпорт: не влезающая по ширине сдвигается от
|
|
50
|
+
* края экрана внутрь, не влезающая по высоте ужимается до свободного места под
|
|
51
|
+
* триггером, и содержимое в ней прокручивается.
|
|
52
|
+
*
|
|
53
|
+
* По умолчанию выключено: панель стоит ровно там, куда её ставит привязка к
|
|
54
|
+
* триггеру, даже если часть её ушла за экран. Включать там, где панель широкая
|
|
55
|
+
* или высокая настолько, что привязка сама по себе её не удерживает, — иначе
|
|
56
|
+
* пункты навигации остаются за краем экрана и недостижимы.
|
|
57
|
+
*/
|
|
58
|
+
readonly fitViewport: InputSignalWithTransform<boolean, BooleanInput>;
|
|
59
|
+
readonly context: InputSignal<unknown>;
|
|
60
|
+
readonly panelClass: InputSignal<string>;
|
|
61
|
+
readonly disabled: InputSignalWithTransform<boolean, BooleanInput>;
|
|
62
|
+
readonly offsetY: InputSignalWithTransform<number, NumberInput>;
|
|
63
|
+
readonly offsetX: InputSignalWithTransform<number, NumberInput>;
|
|
64
|
+
readonly opened: OutputEmitterRef<void>;
|
|
65
|
+
readonly closed: OutputEmitterRef<void>;
|
|
66
|
+
readonly isOpen: Signal<boolean>;
|
|
67
|
+
constructor();
|
|
68
|
+
ngOnDestroy(): void;
|
|
69
|
+
open(): void;
|
|
70
|
+
close(): void;
|
|
71
|
+
toggle(): void;
|
|
72
|
+
protected onHostClick(): void;
|
|
73
|
+
protected onHostMouseEnter(): void;
|
|
74
|
+
protected onHostMouseLeave(event: MouseEvent): void;
|
|
75
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<RtPopoverDirective, never>;
|
|
76
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<RtPopoverDirective, "[rtPopover]", ["rtPopover"], { "template": { "alias": "rtPopover"; "required": false; "isSignal": true; }; "trigger": { "alias": "rtPopoverTrigger"; "required": false; "isSignal": true; }; "width": { "alias": "rtPopoverWidth"; "required": false; "isSignal": true; }; "align": { "alias": "rtPopoverAlign"; "required": false; "isSignal": true; }; "fitViewport": { "alias": "rtPopoverFitViewport"; "required": false; "isSignal": true; }; "context": { "alias": "rtPopoverContext"; "required": false; "isSignal": true; }; "panelClass": { "alias": "rtPopoverPanelClass"; "required": false; "isSignal": true; }; "disabled": { "alias": "rtPopoverDisabled"; "required": false; "isSignal": true; }; "offsetY": { "alias": "rtPopoverOffsetY"; "required": false; "isSignal": true; }; "offsetX": { "alias": "rtPopoverOffsetX"; "required": false; "isSignal": true; }; }, { "opened": "rtPopoverOpened"; "closed": "rtPopoverClosed"; }, never, never, true, never>;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export { IRtPopover, RtPopoverDirective };
|