@rt-tools/ui-kit-v2 0.23.3 → 0.24.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/fesm2022/rt-tools-ui-kit-v2-accordion.mjs +142 -71
- package/fesm2022/rt-tools-ui-kit-v2-accordion.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-action-bar.mjs +467 -231
- package/fesm2022/rt-tools-ui-kit-v2-action-bar.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-ai-run-status.mjs +260 -91
- package/fesm2022/rt-tools-ui-kit-v2-ai-run-status.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-aside-section.mjs +80 -46
- package/fesm2022/rt-tools-ui-kit-v2-aside-section.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-aside.mjs +984 -697
- package/fesm2022/rt-tools-ui-kit-v2-aside.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-autocomplete.mjs +452 -210
- package/fesm2022/rt-tools-ui-kit-v2-autocomplete.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-bar-list.mjs +143 -52
- package/fesm2022/rt-tools-ui-kit-v2-bar-list.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-bottom-sheet.mjs +158 -83
- package/fesm2022/rt-tools-ui-kit-v2-bottom-sheet.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-breadcrumbs.mjs +335 -0
- package/fesm2022/rt-tools-ui-kit-v2-breadcrumbs.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-button.mjs +437 -363
- package/fesm2022/rt-tools-ui-kit-v2-button.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-calendar.mjs +430 -149
- package/fesm2022/rt-tools-ui-kit-v2-calendar.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-card.mjs +155 -71
- package/fesm2022/rt-tools-ui-kit-v2-card.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-carousel.mjs +155 -0
- package/fesm2022/rt-tools-ui-kit-v2-carousel.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-checkbox.mjs +215 -110
- package/fesm2022/rt-tools-ui-kit-v2-checkbox.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-collapsible-text.mjs +158 -75
- package/fesm2022/rt-tools-ui-kit-v2-collapsible-text.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-color-palette.mjs +769 -0
- package/fesm2022/rt-tools-ui-kit-v2-color-palette.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-confirm-popover.mjs +462 -253
- package/fesm2022/rt-tools-ui-kit-v2-confirm-popover.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-container.mjs +1276 -1316
- package/fesm2022/rt-tools-ui-kit-v2-container.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-copy-value.mjs +185 -80
- package/fesm2022/rt-tools-ui-kit-v2-copy-value.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-core.mjs +2321 -2619
- package/fesm2022/rt-tools-ui-kit-v2-core.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-counter-row.mjs +100 -44
- package/fesm2022/rt-tools-ui-kit-v2-counter-row.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-counter.mjs +290 -155
- package/fesm2022/rt-tools-ui-kit-v2-counter.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-data-list.mjs +2097 -858
- package/fesm2022/rt-tools-ui-kit-v2-data-list.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-data-table.mjs +2247 -1176
- package/fesm2022/rt-tools-ui-kit-v2-data-table.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-date-picker.mjs +1043 -705
- package/fesm2022/rt-tools-ui-kit-v2-date-picker.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-date-range.mjs +810 -525
- package/fesm2022/rt-tools-ui-kit-v2-date-range.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-delta-view.mjs +158 -138
- package/fesm2022/rt-tools-ui-kit-v2-delta-view.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-detail-list.mjs +177 -67
- package/fesm2022/rt-tools-ui-kit-v2-detail-list.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-dialog.mjs +550 -477
- package/fesm2022/rt-tools-ui-kit-v2-dialog.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-dot-field.mjs +185 -168
- package/fesm2022/rt-tools-ui-kit-v2-dot-field.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-download-link.mjs +116 -43
- package/fesm2022/rt-tools-ui-kit-v2-download-link.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-draggable-tree.mjs +585 -0
- package/fesm2022/rt-tools-ui-kit-v2-draggable-tree.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-dynamic-list.mjs +755 -259
- package/fesm2022/rt-tools-ui-kit-v2-dynamic-list.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-dynamic-selector.mjs +3266 -1115
- package/fesm2022/rt-tools-ui-kit-v2-dynamic-selector.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-empty-state.mjs +190 -55
- package/fesm2022/rt-tools-ui-kit-v2-empty-state.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-expansion-panel.mjs +283 -103
- package/fesm2022/rt-tools-ui-kit-v2-expansion-panel.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-field.mjs +393 -177
- package/fesm2022/rt-tools-ui-kit-v2-field.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-file-card.mjs +399 -207
- package/fesm2022/rt-tools-ui-kit-v2-file-card.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-file-drop.mjs +288 -212
- package/fesm2022/rt-tools-ui-kit-v2-file-drop.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-file-input.mjs +262 -116
- package/fesm2022/rt-tools-ui-kit-v2-file-input.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-file-list.mjs +57 -31
- package/fesm2022/rt-tools-ui-kit-v2-file-list.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-filter-control.mjs +258 -90
- package/fesm2022/rt-tools-ui-kit-v2-filter-control.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-form-control.mjs +249 -215
- package/fesm2022/rt-tools-ui-kit-v2-form-control.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-header.mjs +199 -71
- package/fesm2022/rt-tools-ui-kit-v2-header.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-hybrid-tree-selector.mjs +231 -0
- package/fesm2022/rt-tools-ui-kit-v2-hybrid-tree-selector.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-hybrid-tree.mjs +336 -0
- package/fesm2022/rt-tools-ui-kit-v2-hybrid-tree.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-icon-button.mjs +451 -162
- package/fesm2022/rt-tools-ui-kit-v2-icon-button.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-icon.mjs +931 -686
- package/fesm2022/rt-tools-ui-kit-v2-icon.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-image-cropper.mjs +664 -491
- package/fesm2022/rt-tools-ui-kit-v2-image-cropper.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-image-upload.mjs +574 -222
- package/fesm2022/rt-tools-ui-kit-v2-image-upload.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-info-item.mjs +150 -36
- package/fesm2022/rt-tools-ui-kit-v2-info-item.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-inline-edit.mjs +606 -0
- package/fesm2022/rt-tools-ui-kit-v2-inline-edit.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-input-number.mjs +461 -355
- package/fesm2022/rt-tools-ui-kit-v2-input-number.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-input.mjs +338 -143
- package/fesm2022/rt-tools-ui-kit-v2-input.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-live-badge.mjs +135 -48
- package/fesm2022/rt-tools-ui-kit-v2-live-badge.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-logo.mjs +166 -92
- package/fesm2022/rt-tools-ui-kit-v2-logo.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-markdown-text.mjs +118 -56
- package/fesm2022/rt-tools-ui-kit-v2-markdown-text.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-menu.mjs +1054 -527
- package/fesm2022/rt-tools-ui-kit-v2-menu.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-message.mjs +230 -104
- package/fesm2022/rt-tools-ui-kit-v2-message.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-money-list.mjs +210 -70
- package/fesm2022/rt-tools-ui-kit-v2-money-list.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-multiselect.mjs +532 -311
- package/fesm2022/rt-tools-ui-kit-v2-multiselect.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-night-grid.mjs +125 -50
- package/fesm2022/rt-tools-ui-kit-v2-night-grid.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-note.mjs +73 -43
- package/fesm2022/rt-tools-ui-kit-v2-note.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-notifications-bell.mjs +161 -53
- package/fesm2022/rt-tools-ui-kit-v2-notifications-bell.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-page-header.mjs +491 -310
- package/fesm2022/rt-tools-ui-kit-v2-page-header.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-pagination.mjs +374 -174
- package/fesm2022/rt-tools-ui-kit-v2-pagination.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-photo-viewer.mjs +202 -159
- package/fesm2022/rt-tools-ui-kit-v2-photo-viewer.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-popover.mjs +438 -309
- package/fesm2022/rt-tools-ui-kit-v2-popover.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-profile-menu.mjs +295 -0
- package/fesm2022/rt-tools-ui-kit-v2-profile-menu.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-prompt-suggestion.mjs +135 -45
- package/fesm2022/rt-tools-ui-kit-v2-prompt-suggestion.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-radio-button.mjs +293 -171
- package/fesm2022/rt-tools-ui-kit-v2-radio-button.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-radius.mjs +62 -55
- package/fesm2022/rt-tools-ui-kit-v2-radius.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs +3379 -1466
- package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-ripple.mjs +114 -116
- package/fesm2022/rt-tools-ui-kit-v2-ripple.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-scroll-area.mjs +406 -299
- package/fesm2022/rt-tools-ui-kit-v2-scroll-area.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-section-nav.mjs +137 -36
- package/fesm2022/rt-tools-ui-kit-v2-section-nav.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-select.mjs +687 -468
- package/fesm2022/rt-tools-ui-kit-v2-select.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-side-menu.mjs +2195 -1569
- package/fesm2022/rt-tools-ui-kit-v2-side-menu.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-skeleton-wrapper.mjs +187 -48
- package/fesm2022/rt-tools-ui-kit-v2-skeleton-wrapper.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-skeleton.mjs +242 -122
- package/fesm2022/rt-tools-ui-kit-v2-skeleton.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-speed-menu.mjs +439 -0
- package/fesm2022/rt-tools-ui-kit-v2-speed-menu.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-spinner.mjs +218 -69
- package/fesm2022/rt-tools-ui-kit-v2-spinner.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-split-button.mjs +292 -91
- package/fesm2022/rt-tools-ui-kit-v2-split-button.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-stat-tile.mjs +225 -138
- package/fesm2022/rt-tools-ui-kit-v2-stat-tile.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-stepper.mjs +150 -116
- package/fesm2022/rt-tools-ui-kit-v2-stepper.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-table.mjs +2462 -1583
- package/fesm2022/rt-tools-ui-kit-v2-table.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-tabs.mjs +647 -346
- package/fesm2022/rt-tools-ui-kit-v2-tabs.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-tag.mjs +335 -121
- package/fesm2022/rt-tools-ui-kit-v2-tag.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-textarea.mjs +217 -84
- package/fesm2022/rt-tools-ui-kit-v2-textarea.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-theme-toggle.mjs +151 -72
- package/fesm2022/rt-tools-ui-kit-v2-theme-toggle.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-thread-list.mjs +697 -226
- package/fesm2022/rt-tools-ui-kit-v2-thread-list.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-timeline.mjs +92 -38
- package/fesm2022/rt-tools-ui-kit-v2-timeline.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-toast.mjs +752 -338
- package/fesm2022/rt-tools-ui-kit-v2-toast.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-toggle-button-group.mjs +310 -129
- package/fesm2022/rt-tools-ui-kit-v2-toggle-button-group.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-toggle-switch.mjs +286 -158
- package/fesm2022/rt-tools-ui-kit-v2-toggle-switch.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-toolbar.mjs +270 -134
- package/fesm2022/rt-tools-ui-kit-v2-toolbar.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-tooltip.mjs +322 -202
- package/fesm2022/rt-tools-ui-kit-v2-tooltip.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-tree-selector.mjs +908 -0
- package/fesm2022/rt-tools-ui-kit-v2-tree-selector.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-tree.mjs +785 -0
- package/fesm2022/rt-tools-ui-kit-v2-tree.mjs.map +1 -0
- package/fesm2022/rt-tools-ui-kit-v2-welcome-dialog.mjs +118 -63
- package/fesm2022/rt-tools-ui-kit-v2-welcome-dialog.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs +783 -262
- package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2-workspace.mjs +633 -294
- package/fesm2022/rt-tools-ui-kit-v2-workspace.mjs.map +1 -1
- package/fesm2022/rt-tools-ui-kit-v2.mjs +100 -103
- package/package.json +45 -1
- package/src/assets/icons/collapse-all.svg +9 -0
- package/src/assets/icons/expand-all.svg +9 -0
- package/src/assets/icons-material/collapse-all.fill.svg +5 -0
- package/src/assets/icons-material/collapse-all.svg +5 -0
- package/src/assets/icons-material/expand-all.fill.svg +5 -0
- package/src/assets/icons-material/expand-all.svg +5 -0
- package/src/assets/icons-material/undo.fill.svg +5 -0
- package/src/assets/icons-material/undo.svg +5 -0
- package/src/lib/components/bottom-sheet/CONTEXT.md +20 -2
- package/src/lib/components/bottom-sheet/rt-bottom-sheet.component.scss +36 -1
- package/src/lib/components/breadcrumbs/CONTEXT.md +37 -0
- package/src/lib/components/breadcrumbs/rt-breadcrumbs.component.scss +205 -0
- package/src/lib/components/carousel/CONTEXT.md +42 -0
- package/src/lib/components/carousel/rt-carousel.component.scss +117 -0
- package/src/lib/components/checkbox/CONTEXT.md +3 -0
- package/src/lib/components/checkbox/rt-checkbox.component.scss +9 -3
- package/src/lib/components/color-palette/CONTEXT.md +49 -0
- package/src/lib/components/color-palette/picker/rt-color-picker.component.scss +161 -0
- package/src/lib/components/color-palette/rt-color-palette.component.scss +132 -0
- package/src/lib/components/draggable-tree/CONTEXT.md +54 -0
- package/src/lib/components/draggable-tree/rt-draggable-tree.component.scss +219 -0
- package/src/lib/components/hybrid-tree/CONTEXT.md +31 -0
- package/src/lib/components/hybrid-tree-selector/CONTEXT.md +25 -0
- package/src/lib/components/icon-button/CONTEXT.md +3 -0
- package/src/lib/components/inline-edit/CONTEXT.md +41 -0
- package/src/lib/components/inline-edit/rt-inline-edit.component.scss +274 -0
- package/src/lib/components/popover/CONTEXT.md +3 -0
- package/src/lib/components/profile-menu/CONTEXT.md +32 -0
- package/src/lib/components/profile-menu/rt-profile-menu.component.scss +104 -0
- package/src/lib/components/speed-menu/CONTEXT.md +34 -0
- package/src/lib/components/speed-menu/rt-speed-menu.component.scss +118 -0
- package/src/lib/components/tag/rt-tag.component.scss +12 -0
- package/src/lib/components/thread-list/CONTEXT.md +1 -0
- package/src/lib/components/thread-list/rt-thread-list.component.scss +2 -1
- package/src/lib/components/toolbar/CONTEXT.md +9 -4
- package/src/lib/components/toolbar/rt-toolbar.component.scss +10 -2
- package/src/lib/components/tooltip/CONTEXT.md +8 -1
- package/src/lib/components/tree/CONTEXT.md +66 -0
- package/src/lib/components/tree/rt-tree.component.scss +313 -0
- package/src/lib/components/tree-selector/CONTEXT.md +47 -0
- package/src/lib/components/tree-selector/rt-tree-selector.component.scss +121 -0
- package/src/styles/_primitives.scss +4 -0
- package/src/styles/_semantic.scss +5 -0
- package/styles/tokens.css +43 -0
- package/types/rt-tools-ui-kit-v2-accordion.d.ts +31 -24
- package/types/rt-tools-ui-kit-v2-action-bar.d.ts +112 -91
- package/types/rt-tools-ui-kit-v2-ai-run-status.d.ts +64 -40
- package/types/rt-tools-ui-kit-v2-aside-section.d.ts +13 -10
- package/types/rt-tools-ui-kit-v2-aside.d.ts +268 -206
- package/types/rt-tools-ui-kit-v2-autocomplete.d.ts +102 -61
- package/types/rt-tools-ui-kit-v2-bar-list.d.ts +39 -27
- package/types/rt-tools-ui-kit-v2-bottom-sheet.d.ts +31 -20
- package/types/rt-tools-ui-kit-v2-breadcrumbs.d.ts +89 -0
- package/types/rt-tools-ui-kit-v2-button.d.ts +119 -59
- package/types/rt-tools-ui-kit-v2-calendar.d.ts +151 -86
- package/types/rt-tools-ui-kit-v2-card.d.ts +42 -21
- package/types/rt-tools-ui-kit-v2-carousel.d.ts +76 -0
- package/types/rt-tools-ui-kit-v2-checkbox.d.ts +48 -24
- package/types/rt-tools-ui-kit-v2-collapsible-text.d.ts +28 -20
- package/types/rt-tools-ui-kit-v2-color-palette.d.ts +208 -0
- package/types/rt-tools-ui-kit-v2-confirm-popover.d.ts +104 -47
- package/types/rt-tools-ui-kit-v2-container.d.ts +278 -221
- package/types/rt-tools-ui-kit-v2-copy-value.d.ts +39 -24
- package/types/rt-tools-ui-kit-v2-core.d.ts +862 -865
- package/types/rt-tools-ui-kit-v2-counter-row.d.ts +20 -12
- package/types/rt-tools-ui-kit-v2-counter.d.ts +70 -38
- package/types/rt-tools-ui-kit-v2-data-list.d.ts +429 -264
- package/types/rt-tools-ui-kit-v2-data-table.d.ts +500 -351
- package/types/rt-tools-ui-kit-v2-date-picker.d.ts +164 -138
- package/types/rt-tools-ui-kit-v2-date-range.d.ts +102 -84
- package/types/rt-tools-ui-kit-v2-delta-view.d.ts +16 -13
- package/types/rt-tools-ui-kit-v2-detail-list.d.ts +23 -16
- package/types/rt-tools-ui-kit-v2-dialog.d.ts +130 -101
- package/types/rt-tools-ui-kit-v2-dot-field.d.ts +10 -13
- package/types/rt-tools-ui-kit-v2-download-link.d.ts +22 -17
- package/types/rt-tools-ui-kit-v2-draggable-tree.d.ts +132 -0
- package/types/rt-tools-ui-kit-v2-dynamic-list.d.ts +185 -96
- package/types/rt-tools-ui-kit-v2-dynamic-selector.d.ts +904 -404
- package/types/rt-tools-ui-kit-v2-empty-state.d.ts +48 -19
- package/types/rt-tools-ui-kit-v2-expansion-panel.d.ts +67 -39
- package/types/rt-tools-ui-kit-v2-field.d.ts +90 -49
- package/types/rt-tools-ui-kit-v2-file-card.d.ts +115 -75
- package/types/rt-tools-ui-kit-v2-file-drop.d.ts +75 -48
- package/types/rt-tools-ui-kit-v2-file-input.d.ts +53 -36
- package/types/rt-tools-ui-kit-v2-file-list.d.ts +5 -8
- package/types/rt-tools-ui-kit-v2-filter-control.d.ts +83 -49
- package/types/rt-tools-ui-kit-v2-form-control.d.ts +102 -74
- package/types/rt-tools-ui-kit-v2-header.d.ts +40 -22
- package/types/rt-tools-ui-kit-v2-hybrid-tree-selector.d.ts +14 -0
- package/types/rt-tools-ui-kit-v2-hybrid-tree.d.ts +72 -0
- package/types/rt-tools-ui-kit-v2-icon-button.d.ts +190 -90
- package/types/rt-tools-ui-kit-v2-icon.d.ts +160 -129
- package/types/rt-tools-ui-kit-v2-image-cropper.d.ts +151 -111
- package/types/rt-tools-ui-kit-v2-image-upload.d.ts +159 -85
- package/types/rt-tools-ui-kit-v2-info-item.d.ts +26 -13
- package/types/rt-tools-ui-kit-v2-inline-edit.d.ts +194 -0
- package/types/rt-tools-ui-kit-v2-input-number.d.ts +102 -53
- package/types/rt-tools-ui-kit-v2-input.d.ts +82 -43
- package/types/rt-tools-ui-kit-v2-live-badge.d.ts +30 -17
- package/types/rt-tools-ui-kit-v2-logo.d.ts +49 -32
- package/types/rt-tools-ui-kit-v2-markdown-text.d.ts +26 -17
- package/types/rt-tools-ui-kit-v2-menu.d.ts +272 -155
- package/types/rt-tools-ui-kit-v2-message.d.ts +59 -33
- package/types/rt-tools-ui-kit-v2-money-list.d.ts +36 -18
- package/types/rt-tools-ui-kit-v2-multiselect.d.ts +114 -80
- package/types/rt-tools-ui-kit-v2-night-grid.d.ts +34 -25
- package/types/rt-tools-ui-kit-v2-note.d.ts +12 -9
- package/types/rt-tools-ui-kit-v2-notifications-bell.d.ts +37 -16
- package/types/rt-tools-ui-kit-v2-page-header.d.ts +218 -150
- package/types/rt-tools-ui-kit-v2-pagination.d.ts +99 -63
- package/types/rt-tools-ui-kit-v2-photo-viewer.d.ts +61 -66
- package/types/rt-tools-ui-kit-v2-popover.d.ts +116 -55
- package/types/rt-tools-ui-kit-v2-profile-menu.d.ts +103 -0
- package/types/rt-tools-ui-kit-v2-prompt-suggestion.d.ts +26 -16
- package/types/rt-tools-ui-kit-v2-radio-button.d.ts +85 -43
- package/types/rt-tools-ui-kit-v2-radius.d.ts +18 -15
- package/types/rt-tools-ui-kit-v2-rich-editor.d.ts +931 -590
- package/types/rt-tools-ui-kit-v2-ripple.d.ts +28 -25
- package/types/rt-tools-ui-kit-v2-scroll-area.d.ts +60 -58
- package/types/rt-tools-ui-kit-v2-section-nav.d.ts +32 -22
- package/types/rt-tools-ui-kit-v2-select.d.ts +182 -139
- package/types/rt-tools-ui-kit-v2-side-menu.d.ts +452 -349
- package/types/rt-tools-ui-kit-v2-skeleton-wrapper.d.ts +53 -20
- package/types/rt-tools-ui-kit-v2-skeleton.d.ts +55 -26
- package/types/rt-tools-ui-kit-v2-speed-menu.d.ts +131 -0
- package/types/rt-tools-ui-kit-v2-spinner.d.ts +56 -28
- package/types/rt-tools-ui-kit-v2-split-button.d.ts +96 -55
- package/types/rt-tools-ui-kit-v2-stat-tile.d.ts +88 -60
- package/types/rt-tools-ui-kit-v2-stepper.d.ts +50 -37
- package/types/rt-tools-ui-kit-v2-table.d.ts +631 -480
- package/types/rt-tools-ui-kit-v2-tabs.d.ts +198 -113
- package/types/rt-tools-ui-kit-v2-tag.d.ts +106 -53
- package/types/rt-tools-ui-kit-v2-textarea.d.ts +48 -25
- package/types/rt-tools-ui-kit-v2-theme-toggle.d.ts +28 -26
- package/types/rt-tools-ui-kit-v2-thread-list.d.ts +154 -94
- package/types/rt-tools-ui-kit-v2-timeline.d.ts +30 -28
- package/types/rt-tools-ui-kit-v2-toast.d.ts +174 -98
- package/types/rt-tools-ui-kit-v2-toggle-button-group.d.ts +132 -86
- package/types/rt-tools-ui-kit-v2-toggle-switch.d.ts +88 -50
- package/types/rt-tools-ui-kit-v2-toolbar.d.ts +30 -27
- package/types/rt-tools-ui-kit-v2-tooltip.d.ts +65 -41
- package/types/rt-tools-ui-kit-v2-tree-selector.d.ts +257 -0
- package/types/rt-tools-ui-kit-v2-tree.d.ts +282 -0
- package/types/rt-tools-ui-kit-v2-welcome-dialog.d.ts +21 -24
- package/types/rt-tools-ui-kit-v2-workspace-details.d.ts +195 -124
- package/types/rt-tools-ui-kit-v2-workspace.d.ts +122 -79
- package/types/rt-tools-ui-kit-v2.d.ts +100 -90
- package/fesm2022/rt-tools-ui-kit-v2.mjs.map +0 -1
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
@layer rt-kit.components {
|
|
2
|
+
/* rt-color-picker — выбор своего цвета палитры. ViewEncapsulation.None.
|
|
3
|
+
Стоит на панели вне палитры, в конце страницы, поэтому свои свойства объявляет на себе: свойства
|
|
4
|
+
палитры до панели не доходят. Значения по умолчанию — те же шаги, что у палитры.
|
|
5
|
+
Свойства `--rt-color-picker-*` ставит шаблон: площадь и полосу строит логика палитры, это
|
|
6
|
+
математика цвета, а не оформление. Здесь стоят их умолчания до первой отрисовки. Материальный
|
|
7
|
+
набор доходит до панели классом набора, который оверлей кладёт на свою панель. */
|
|
8
|
+
|
|
9
|
+
.rt-color-picker {
|
|
10
|
+
--rt-color-palette-picker-width: var(--rt-size-64);
|
|
11
|
+
--rt-color-palette-picker-height: auto;
|
|
12
|
+
--rt-color-palette-area-grow: 0;
|
|
13
|
+
--rt-color-palette-picker-padding: var(--rt-space-md);
|
|
14
|
+
--rt-color-palette-picker-gap: var(--rt-space-sm);
|
|
15
|
+
--rt-color-palette-picker-bg: var(--rt-color-bg-surface);
|
|
16
|
+
--rt-color-palette-picker-radius: var(--rt-radius-md);
|
|
17
|
+
--rt-color-palette-picker-shadow: var(--rt-shadow-md);
|
|
18
|
+
--rt-color-palette-area-height: var(--rt-size-40);
|
|
19
|
+
--rt-color-palette-area-radius: var(--rt-radius-sm);
|
|
20
|
+
--rt-color-palette-hue-height: var(--rt-size-3);
|
|
21
|
+
--rt-color-palette-thumb-size: var(--rt-size-4);
|
|
22
|
+
--rt-color-palette-thumb-border-width: var(--rt-border-width-thick);
|
|
23
|
+
--rt-color-palette-thumb-border-color: var(--rt-color-bg-surface);
|
|
24
|
+
--rt-color-palette-thumb-shadow: var(--rt-shadow-sm);
|
|
25
|
+
--rt-color-palette-preview-size: var(--rt-control-height-sm);
|
|
26
|
+
--rt-color-palette-actions-gap: var(--rt-space-xs);
|
|
27
|
+
--rt-color-palette-hue-radius: var(--rt-radius-full);
|
|
28
|
+
--rt-color-palette-thumb-radius: var(--rt-radius-full);
|
|
29
|
+
--rt-color-palette-preview-border-width: var(--rt-border-width-thin);
|
|
30
|
+
--rt-color-palette-preview-border-color: var(--rt-color-border-default);
|
|
31
|
+
--rt-color-picker-area: none;
|
|
32
|
+
--rt-color-picker-spectrum: none;
|
|
33
|
+
--rt-color-picker-color: transparent;
|
|
34
|
+
--rt-color-picker-x: 0;
|
|
35
|
+
--rt-color-picker-y: 0;
|
|
36
|
+
|
|
37
|
+
display: flex;
|
|
38
|
+
width: var(--rt-color-palette-picker-width);
|
|
39
|
+
height: var(--rt-color-palette-picker-height);
|
|
40
|
+
box-sizing: border-box;
|
|
41
|
+
flex-direction: column;
|
|
42
|
+
padding: var(--rt-color-palette-picker-padding);
|
|
43
|
+
border-radius: var(--rt-color-palette-picker-radius);
|
|
44
|
+
background: var(--rt-color-palette-picker-bg);
|
|
45
|
+
box-shadow: var(--rt-color-palette-picker-shadow);
|
|
46
|
+
gap: var(--rt-color-palette-picker-gap);
|
|
47
|
+
|
|
48
|
+
/* Материальный набор повторяет панель приложения: 256×320 со скруглением 6px, площадь почти
|
|
49
|
+
прямоугольная и забирает высоту, оставшуюся от полосы и кнопок. Тень — плотная серая
|
|
50
|
+
подложка `0 8px 16px` приложения. */
|
|
51
|
+
:is(.rt-preset-material, [data-preset='material']) & {
|
|
52
|
+
--rt-color-palette-picker-height: calc(var(--rt-size-64) + var(--rt-size-16));
|
|
53
|
+
--rt-color-palette-area-grow: 1;
|
|
54
|
+
--rt-color-palette-picker-radius: var(--rt-radius-ms);
|
|
55
|
+
--rt-color-palette-picker-shadow: 0 var(--rt-space-2) var(--rt-space-4) 0 var(--rt-mat-neutral-60);
|
|
56
|
+
--rt-color-palette-area-radius: var(--rt-radius-xs);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* Площадь — три слоя: чёрный снизу, белый слева и чистый оттенок под ними. */
|
|
60
|
+
&__area {
|
|
61
|
+
position: relative;
|
|
62
|
+
height: var(--rt-color-palette-area-height);
|
|
63
|
+
flex-grow: var(--rt-color-palette-area-grow);
|
|
64
|
+
border-radius: var(--rt-color-palette-area-radius);
|
|
65
|
+
background: var(--rt-color-picker-area);
|
|
66
|
+
cursor: crosshair;
|
|
67
|
+
touch-action: none;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
&__hue {
|
|
71
|
+
position: relative;
|
|
72
|
+
height: var(--rt-color-palette-hue-height);
|
|
73
|
+
border-radius: var(--rt-color-palette-hue-radius);
|
|
74
|
+
background: var(--rt-color-picker-spectrum);
|
|
75
|
+
cursor: pointer;
|
|
76
|
+
touch-action: none;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&__area,
|
|
80
|
+
&__hue {
|
|
81
|
+
&:focus-visible {
|
|
82
|
+
outline: var(--rt-focus-ring-width) solid var(--rt-focus-ring-color);
|
|
83
|
+
outline-offset: var(--rt-focus-ring-offset);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
&__area-thumb,
|
|
88
|
+
&__hue-thumb {
|
|
89
|
+
position: absolute;
|
|
90
|
+
width: var(--rt-color-palette-thumb-size);
|
|
91
|
+
height: var(--rt-color-palette-thumb-size);
|
|
92
|
+
box-sizing: border-box;
|
|
93
|
+
border: var(--rt-color-palette-thumb-border-width) solid var(--rt-color-palette-thumb-border-color);
|
|
94
|
+
border-radius: var(--rt-color-palette-thumb-radius);
|
|
95
|
+
background: var(--rt-color-picker-color);
|
|
96
|
+
box-shadow: var(--rt-color-palette-thumb-shadow);
|
|
97
|
+
pointer-events: none;
|
|
98
|
+
transform: translate(-50%, -50%);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
&__area-thumb {
|
|
102
|
+
top: calc(var(--rt-color-picker-y) * 100%);
|
|
103
|
+
left: calc(var(--rt-color-picker-x) * 100%);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
&__hue-thumb {
|
|
107
|
+
top: 50%;
|
|
108
|
+
left: calc(var(--rt-color-picker-x) * 100%);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
&__row {
|
|
112
|
+
display: flex;
|
|
113
|
+
align-items: center;
|
|
114
|
+
gap: var(--rt-color-palette-picker-gap);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
&__preview {
|
|
118
|
+
width: var(--rt-color-palette-preview-size);
|
|
119
|
+
height: var(--rt-color-palette-preview-size);
|
|
120
|
+
flex-shrink: 0;
|
|
121
|
+
border: var(--rt-color-palette-preview-border-width) solid var(--rt-color-palette-preview-border-color);
|
|
122
|
+
border-radius: var(--rt-color-palette-hue-radius);
|
|
123
|
+
background: var(--rt-color-picker-color);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
&__hex {
|
|
127
|
+
min-width: 0;
|
|
128
|
+
flex: 1 1 auto;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/* Три поля каналов в ряд поровну, буква канала над своим полем. */
|
|
132
|
+
&__channels {
|
|
133
|
+
display: grid;
|
|
134
|
+
gap: var(--rt-color-palette-picker-gap);
|
|
135
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
&__channel {
|
|
139
|
+
display: flex;
|
|
140
|
+
min-width: 0;
|
|
141
|
+
flex-direction: column;
|
|
142
|
+
gap: var(--rt-space-2xs);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
&__channel-name {
|
|
146
|
+
color: var(--rt-color-text-muted);
|
|
147
|
+
font-size: var(--rt-text-xs);
|
|
148
|
+
font-weight: var(--rt-font-weight-medium);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
&__channel-input {
|
|
152
|
+
min-width: 0;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
&__actions {
|
|
156
|
+
display: flex;
|
|
157
|
+
justify-content: flex-end;
|
|
158
|
+
gap: var(--rt-color-palette-actions-gap);
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
@layer rt-kit.components {
|
|
2
|
+
/* rt-color-palette — поле выбора цвета. ViewEncapsulation.None.
|
|
3
|
+
Корень шаблона — ng-container, поэтому класс блока висит только на хосте. Образцы — круги цвета
|
|
4
|
+
образца; выбранный обведён кольцом его же цвета через просвет цвета поверхности.
|
|
5
|
+
Размеры, зазоры, кольцо и рамки — свойства блока: приложение переназначает их своим правилом
|
|
6
|
+
на блок, а материальный набор — в этом же файле. */
|
|
7
|
+
|
|
8
|
+
.rt-color-palette {
|
|
9
|
+
--rt-color-palette-swatch-size: var(--rt-size-8);
|
|
10
|
+
--rt-color-palette-swatch-radius: var(--rt-radius-full);
|
|
11
|
+
--rt-color-palette-swatch-border-width: var(--rt-border-width-thin);
|
|
12
|
+
--rt-color-palette-swatch-border-color: var(--rt-color-border-subtle);
|
|
13
|
+
--rt-color-palette-swatch-scale-hover: 1;
|
|
14
|
+
--rt-color-palette-gap: var(--rt-space-sm);
|
|
15
|
+
--rt-color-palette-ring-width: var(--rt-border-width-thick);
|
|
16
|
+
--rt-color-palette-ring-gap: var(--rt-border-width-thick);
|
|
17
|
+
--rt-color-palette-ring-gap-color: var(--rt-color-bg-surface);
|
|
18
|
+
--rt-color-palette-checked-inset: 0px;
|
|
19
|
+
--rt-color-palette-checked-hollow: 0%;
|
|
20
|
+
--rt-color-palette-checked-glow: 0px;
|
|
21
|
+
--rt-color-palette-readonly-size: var(--rt-size-8);
|
|
22
|
+
--rt-color-palette-readonly-border-width: var(--rt-border-width-thin);
|
|
23
|
+
--rt-color-palette-empty-border-color: var(--rt-color-border-default);
|
|
24
|
+
--rt-color-palette-empty-bg: transparent;
|
|
25
|
+
--rt-color-palette-duration: var(--rt-duration-fast);
|
|
26
|
+
--rt-color-palette-custom-gap: var(--rt-color-palette-gap);
|
|
27
|
+
|
|
28
|
+
display: flex;
|
|
29
|
+
flex-direction: column;
|
|
30
|
+
align-items: flex-start;
|
|
31
|
+
gap: var(--rt-color-palette-custom-gap);
|
|
32
|
+
|
|
33
|
+
/* Материальный набор повторяет образцы приложения: круги 30px без рамки через 10px, выбранный —
|
|
34
|
+
полое кольцо 3px своего цвета со свечением 5px, круг под указателем растёт. Кнопка своего
|
|
35
|
+
цвета стоит в 16px под сеткой, серая 16/400; свой образец остаётся последним в сетке.
|
|
36
|
+
Пустое значение только для чтения — белый круг. */
|
|
37
|
+
:is(.rt-preset-material, [data-preset='material']) & {
|
|
38
|
+
--rt-color-palette-custom-gap: var(--rt-space-md);
|
|
39
|
+
--rt-color-palette-custom-height: var(--rt-control-height-sm);
|
|
40
|
+
--rt-color-palette-custom-color: var(--mat-sys-on-surface-variant, var(--rt-color-text-muted));
|
|
41
|
+
--rt-color-palette-swatch-size: calc(var(--rt-size-8) - var(--rt-space-2xs));
|
|
42
|
+
--rt-color-palette-swatch-border-width: 0px;
|
|
43
|
+
--rt-color-palette-swatch-scale-hover: 1.2;
|
|
44
|
+
--rt-color-palette-gap: calc(var(--rt-space-sm) + var(--rt-space-2xs));
|
|
45
|
+
--rt-color-palette-ring-width: 0px;
|
|
46
|
+
--rt-color-palette-ring-gap: 0px;
|
|
47
|
+
--rt-color-palette-checked-inset: var(--rt-border-width-thick);
|
|
48
|
+
--rt-color-palette-checked-hollow: 100%;
|
|
49
|
+
--rt-color-palette-checked-glow: calc(var(--rt-space-xs) + 1px);
|
|
50
|
+
--rt-color-palette-empty-bg: var(--mat-sys-surface-container-lowest, var(--rt-neutral-0));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
&__swatches {
|
|
54
|
+
display: flex;
|
|
55
|
+
flex-wrap: wrap;
|
|
56
|
+
gap: var(--rt-color-palette-gap);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* Рамка тонкая и почти прозрачная: белый и светлые образцы иначе сливаются с поверхностью. */
|
|
60
|
+
&__swatch {
|
|
61
|
+
width: var(--rt-color-palette-swatch-size);
|
|
62
|
+
height: var(--rt-color-palette-swatch-size);
|
|
63
|
+
box-sizing: border-box;
|
|
64
|
+
flex-shrink: 0;
|
|
65
|
+
padding: 0;
|
|
66
|
+
border: var(--rt-color-palette-swatch-border-width) solid var(--rt-color-palette-swatch-border-color);
|
|
67
|
+
border-radius: var(--rt-color-palette-swatch-radius);
|
|
68
|
+
background: var(--rt-color-palette-color);
|
|
69
|
+
cursor: pointer;
|
|
70
|
+
transition:
|
|
71
|
+
box-shadow var(--rt-color-palette-duration) ease,
|
|
72
|
+
transform var(--rt-color-palette-duration) ease;
|
|
73
|
+
|
|
74
|
+
&:hover:not(:disabled) {
|
|
75
|
+
transform: scale(var(--rt-color-palette-swatch-scale-hover));
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
&:focus-visible {
|
|
79
|
+
outline: var(--rt-focus-ring-width) solid var(--rt-focus-ring-color);
|
|
80
|
+
outline-offset: calc(var(--rt-color-palette-ring-gap) + var(--rt-color-palette-ring-width));
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/* Полое кольцо — заливка, разбавленная до прозрачной долей `checked-hollow`, и вдавленная
|
|
84
|
+
тень цвета образца. Цвет образца задан на самом образце, поэтому тень собирается здесь,
|
|
85
|
+
своим свойством образца. */
|
|
86
|
+
&--checked {
|
|
87
|
+
--rt-color-palette-checked-shadow:
|
|
88
|
+
inset 0 0 0 var(--rt-color-palette-checked-inset) var(--rt-color-palette-color),
|
|
89
|
+
0 0 0 var(--rt-color-palette-ring-gap) var(--rt-color-palette-ring-gap-color),
|
|
90
|
+
0 0 0 calc(var(--rt-color-palette-ring-gap) + var(--rt-color-palette-ring-width)) var(--rt-color-palette-color),
|
|
91
|
+
0 0 var(--rt-color-palette-checked-glow) var(--rt-color-palette-color);
|
|
92
|
+
|
|
93
|
+
background: color-mix(in srgb, var(--rt-color-palette-color), transparent var(--rt-color-palette-checked-hollow));
|
|
94
|
+
box-shadow: var(--rt-color-palette-checked-shadow);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
&--readonly {
|
|
98
|
+
width: var(--rt-color-palette-readonly-size);
|
|
99
|
+
height: var(--rt-color-palette-readonly-size);
|
|
100
|
+
border-width: var(--rt-color-palette-readonly-border-width);
|
|
101
|
+
cursor: default;
|
|
102
|
+
|
|
103
|
+
&:hover {
|
|
104
|
+
transform: none;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
&--empty {
|
|
109
|
+
--rt-color-palette-color: var(--rt-color-palette-empty-bg);
|
|
110
|
+
|
|
111
|
+
border-color: var(--rt-color-palette-empty-border-color);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
&__custom {
|
|
116
|
+
flex-shrink: 0;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
&--disabled &__swatch {
|
|
120
|
+
cursor: not-allowed;
|
|
121
|
+
opacity: var(--rt-opacity-disabled);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
:is(.rt-preset-material, [data-preset='material']) & .rt-color-palette__custom {
|
|
125
|
+
--rt-btn-height: var(--rt-color-palette-custom-height);
|
|
126
|
+
--rt-btn-color: var(--rt-color-palette-custom-color);
|
|
127
|
+
--rt-btn-font-size: var(--rt-text-md);
|
|
128
|
+
|
|
129
|
+
font-weight: var(--rt-font-weight-regular);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# `rt-draggable-tree`
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<rt-draggable-tree ariaLabel="Разделы" [canDrop]="canDrop" [(nodes)]="sections" (moved)="save($event)" (picked)="open($event)">
|
|
5
|
+
<ng-template rtDraggableTreeNode let-node>
|
|
6
|
+
<span>{{ node.label }}</span>
|
|
7
|
+
<rt-tag size="sm" [value]="node.description ?? ''" />
|
|
8
|
+
</ng-template>
|
|
9
|
+
</rt-draggable-tree>
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
| вход | тип | умолчание |
|
|
13
|
+
| ----------- | --------------------------------------------- | -------------- |
|
|
14
|
+
| `nodes` | `ReadonlyArray<IRtTree.Node<TValue>>` (model) | **обязателен** |
|
|
15
|
+
| `canDrop` | `IRtDraggableTree.CanDrop<TValue> \| null` | `null` |
|
|
16
|
+
| `ariaLabel` | `string \| null` | `null` |
|
|
17
|
+
|
|
18
|
+
| выход | тип |
|
|
19
|
+
| ------------- | ------------------------------------- |
|
|
20
|
+
| `nodesChange` | `ReadonlyArray<IRtTree.Node<TValue>>` |
|
|
21
|
+
| `moved` | `IRtDraggableTree.Moved<TValue>` |
|
|
22
|
+
| `picked` | `IRtTree.Node<TValue>` |
|
|
23
|
+
|
|
24
|
+
Публичный метод: `handleKeydown(event)`.
|
|
25
|
+
|
|
26
|
+
## Главное, что нужно знать
|
|
27
|
+
|
|
28
|
+
**Узел и строки — те же, что у `rt-tree`.** Строки и уровни считает `rtTreeRows`, боковые стрелки —
|
|
29
|
+
`rtTreeSideKey`. Своей модели дерева у компонента нет.
|
|
30
|
+
|
|
31
|
+
**Узлы не меняются никогда.** Перенос пишет в `nodes` новый массив: ветки на пути к узлу строятся
|
|
32
|
+
заново, остальные объекты остаются прежними. `moved` называет узел, его нового родителя и место
|
|
33
|
+
среди новых соседей.
|
|
34
|
+
|
|
35
|
+
**Место сброса считает чистая функция** `rtDragPlace` по рамке строки под указателем: верхняя треть —
|
|
36
|
+
перед, нижняя — после, середина — внутрь. Документ дерево не читает: рамки строк берутся у своих
|
|
37
|
+
узлов разметки.
|
|
38
|
+
|
|
39
|
+
## Края
|
|
40
|
+
|
|
41
|
+
- Внутрь принимает только контейнер — узел с массивом `children`, даже пустым.
|
|
42
|
+
- Узел не уходит в своё поддерево ни мышью, ни клавишей.
|
|
43
|
+
- Выключенный узел не тащится и не двигается клавишами, но остаётся целью.
|
|
44
|
+
- Alt+↑/↓ — среди соседей, Alt+← — сразу после своей ветки, Alt+→ — последним в контейнер прямо над
|
|
45
|
+
узлом. Двигаться некуда — клавиша всё равно взята, порядок не меняется.
|
|
46
|
+
- При появлении раскрыты все ветки; свёрнутое человеком остаётся свёрнутым, а ветка, в которую
|
|
47
|
+
положили узел, раскрывается.
|
|
48
|
+
- Строку тянут за ручку; ручка помечена как оформление, переставлять без мыши — клавишами.
|
|
49
|
+
- Длинная подпись обрезается многоточием, полный текст — в подсказке кита.
|
|
50
|
+
- `emptyIcon` ставит значок кита над подписью пустого дерева.
|
|
51
|
+
- Каждое значение вида строки — свойство `--rt-draggable-tree-*`, объявленное на самой строке: строку
|
|
52
|
+
в руке CDK уносит из блока. Материальный набор даёт строке высоту 32px вместе с полями
|
|
53
|
+
(`--rt-draggable-tree-row-box-sizing` — `border-box`), скругление 8px, зазор 5px, тень под
|
|
54
|
+
указателем, ручку только под указателем и на подсвеченной строке, черты сброса 2px.
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
@layer rt-kit.components {
|
|
2
|
+
/* rt-draggable-tree — дерево с перетаскиванием строк. ViewEncapsulation.None.
|
|
3
|
+
Каждое значение вида — свойство: приложение перенастраивает строки, ручку, стрелку и черты
|
|
4
|
+
места сброса, не трогая общих шагов кита. Умолчания — прежние шаги, вид без свойств не меняется. */
|
|
5
|
+
|
|
6
|
+
.rt-draggable-tree {
|
|
7
|
+
--rt-draggable-tree-focus-shadow: var(--rt-shadow-focus-ring);
|
|
8
|
+
--rt-draggable-tree-empty-color: var(--rt-color-text-muted);
|
|
9
|
+
--rt-draggable-tree-empty-gap: var(--rt-space-sm);
|
|
10
|
+
|
|
11
|
+
display: block;
|
|
12
|
+
color: var(--rt-color-text-primary);
|
|
13
|
+
font-size: var(--rt-input-font-size);
|
|
14
|
+
outline: none;
|
|
15
|
+
|
|
16
|
+
&:focus-visible {
|
|
17
|
+
box-shadow: var(--rt-draggable-tree-focus-shadow);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&__list {
|
|
21
|
+
display: block;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&__empty {
|
|
25
|
+
padding: var(--rt-space-md);
|
|
26
|
+
color: var(--rt-draggable-tree-empty-color);
|
|
27
|
+
text-align: center;
|
|
28
|
+
|
|
29
|
+
/* Значок приложения стоит над подписью. */
|
|
30
|
+
&--with-icon {
|
|
31
|
+
display: flex;
|
|
32
|
+
flex-direction: column;
|
|
33
|
+
align-items: center;
|
|
34
|
+
gap: var(--rt-draggable-tree-empty-gap);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&__empty-icon {
|
|
39
|
+
flex-shrink: 0;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* Строка объявлена вне корня блока: строку в руке CDK выносит в конец страницы, и правило из
|
|
44
|
+
корня до неё не доходит. Свои свойства она поэтому объявляет на себе. */
|
|
45
|
+
.rt-draggable-tree__row {
|
|
46
|
+
--rt-draggable-tree-level: 0;
|
|
47
|
+
--rt-draggable-tree-indent: var(--rt-space-lg);
|
|
48
|
+
--rt-draggable-tree-row-padding-block: var(--rt-space-sm);
|
|
49
|
+
--rt-draggable-tree-row-padding-inline: var(--rt-space-md);
|
|
50
|
+
--rt-draggable-tree-row-gap: var(--rt-space-sm);
|
|
51
|
+
--rt-draggable-tree-row-spacing: var(--rt-space-0);
|
|
52
|
+
--rt-draggable-tree-row-min-height: auto;
|
|
53
|
+
--rt-draggable-tree-row-box-sizing: content-box;
|
|
54
|
+
--rt-draggable-tree-row-radius: var(--rt-radius-none);
|
|
55
|
+
--rt-draggable-tree-row-bg: var(--rt-color-bg-surface);
|
|
56
|
+
--rt-draggable-tree-row-bg-hover: var(--rt-color-bg-hover);
|
|
57
|
+
--rt-draggable-tree-row-shadow-hover: none;
|
|
58
|
+
--rt-draggable-tree-handle-opacity: 1;
|
|
59
|
+
--rt-draggable-tree-toggle-color: var(--rt-neutral-600);
|
|
60
|
+
--rt-draggable-tree-mark-width: var(--rt-border-width-thick);
|
|
61
|
+
--rt-draggable-tree-mark-color: var(--rt-color-action-primary);
|
|
62
|
+
--rt-draggable-tree-mark-radius: var(--rt-radius-xs);
|
|
63
|
+
--rt-draggable-tree-preview-shadow: var(--rt-shadow-md);
|
|
64
|
+
|
|
65
|
+
position: relative;
|
|
66
|
+
display: flex;
|
|
67
|
+
box-sizing: var(--rt-draggable-tree-row-box-sizing);
|
|
68
|
+
align-items: center;
|
|
69
|
+
padding: var(--rt-draggable-tree-row-padding-block) var(--rt-draggable-tree-row-padding-inline);
|
|
70
|
+
border-radius: var(--rt-draggable-tree-row-radius);
|
|
71
|
+
background: var(--rt-draggable-tree-row-bg);
|
|
72
|
+
color: var(--rt-color-text-primary);
|
|
73
|
+
cursor: pointer;
|
|
74
|
+
font-size: var(--rt-input-font-size);
|
|
75
|
+
gap: var(--rt-draggable-tree-row-gap);
|
|
76
|
+
min-block-size: var(--rt-draggable-tree-row-min-height);
|
|
77
|
+
padding-inline-start: calc(
|
|
78
|
+
var(--rt-draggable-tree-row-padding-inline) + var(--rt-draggable-tree-indent) * var(--rt-draggable-tree-level)
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
/* Под пальцем строка не ниже контрола кита: высота переназначается свойством, а не правилом. */
|
|
82
|
+
@media (pointer: coarse) {
|
|
83
|
+
--rt-draggable-tree-row-min-height: var(--rt-control-height-lg);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/* Материальный набор повторяет перетаскиваемое дерево приложения: строка 32px со скруглением
|
|
87
|
+
8px и 5px до следующей, под указателем поднимается тенью второго уровня; ручка видна только
|
|
88
|
+
под указателем и на подсвеченной строке; уровень отступает на 46px, стрелка — основного
|
|
89
|
+
цвета темы, черты места сброса — 2px. Строка в руке уезжает в конец страницы, и признак
|
|
90
|
+
набора она находит выше — на корне страницы, где его ставит приложение. */
|
|
91
|
+
:is(.rt-preset-material, [data-preset='material']) & {
|
|
92
|
+
--rt-draggable-tree-indent: calc(var(--rt-size-12) - var(--rt-space-0-5));
|
|
93
|
+
--rt-draggable-tree-row-padding-block: var(--rt-space-1);
|
|
94
|
+
--rt-draggable-tree-row-padding-inline: calc(var(--rt-space-2) + var(--rt-space-1));
|
|
95
|
+
--rt-draggable-tree-row-gap: calc(var(--rt-space-2) + var(--rt-space-0-5));
|
|
96
|
+
--rt-draggable-tree-row-spacing: calc(var(--rt-space-1) + var(--rt-space-0-5) / 2);
|
|
97
|
+
--rt-draggable-tree-row-min-height: var(--rt-size-8);
|
|
98
|
+
--rt-draggable-tree-row-box-sizing: border-box;
|
|
99
|
+
--rt-draggable-tree-row-radius: var(--rt-radius-md);
|
|
100
|
+
--rt-draggable-tree-row-shadow-hover: var(--rt-mat-shadow-level-2);
|
|
101
|
+
--rt-draggable-tree-handle-opacity: 0;
|
|
102
|
+
--rt-draggable-tree-toggle-color: var(--rt-color-action-primary);
|
|
103
|
+
--rt-draggable-tree-mark-width: var(--rt-border-width-medium);
|
|
104
|
+
|
|
105
|
+
@media (pointer: coarse) {
|
|
106
|
+
--rt-draggable-tree-row-min-height: var(--rt-control-height-lg);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
& + & {
|
|
111
|
+
margin-block-start: var(--rt-draggable-tree-row-spacing);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
&:hover,
|
|
115
|
+
&--highlighted {
|
|
116
|
+
background-color: var(--rt-draggable-tree-row-bg-hover);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
&:hover {
|
|
120
|
+
box-shadow: var(--rt-draggable-tree-row-shadow-hover);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/* Черта места сброса — полоса у верхнего или нижнего края строки цели. */
|
|
124
|
+
&--drop-before:before,
|
|
125
|
+
&--drop-after:after {
|
|
126
|
+
position: absolute;
|
|
127
|
+
background: var(--rt-draggable-tree-mark-color);
|
|
128
|
+
block-size: var(--rt-draggable-tree-mark-width);
|
|
129
|
+
content: '';
|
|
130
|
+
inset-inline: 0;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
&--drop-before:before {
|
|
134
|
+
inset-block-start: 0;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
&--drop-after:after {
|
|
138
|
+
inset-block-end: 0;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
&--drop-inside {
|
|
142
|
+
border-radius: var(--rt-draggable-tree-mark-radius);
|
|
143
|
+
outline: var(--rt-draggable-tree-mark-width) solid var(--rt-draggable-tree-mark-color);
|
|
144
|
+
outline-offset: calc(var(--rt-draggable-tree-mark-width) * -1);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
&.cdk-drag-preview {
|
|
148
|
+
box-shadow: var(--rt-draggable-tree-preview-shadow);
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
&.cdk-drag-placeholder {
|
|
152
|
+
opacity: 0;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
&--disabled {
|
|
156
|
+
cursor: not-allowed;
|
|
157
|
+
opacity: var(--rt-input-disabled-opacity);
|
|
158
|
+
|
|
159
|
+
&:hover {
|
|
160
|
+
background-color: transparent;
|
|
161
|
+
box-shadow: none;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
/* Ручка и стрелка ветки — по ширине значка; у выключенного узла и у листа на их месте пустое
|
|
167
|
+
место той же ширины, чтобы подписи одного уровня стояли в линию. */
|
|
168
|
+
.rt-draggable-tree__handle,
|
|
169
|
+
.rt-draggable-tree__handle-space,
|
|
170
|
+
.rt-draggable-tree__toggle,
|
|
171
|
+
.rt-draggable-tree__toggle-space {
|
|
172
|
+
display: inline-flex;
|
|
173
|
+
flex-shrink: 0;
|
|
174
|
+
align-items: center;
|
|
175
|
+
justify-content: center;
|
|
176
|
+
block-size: var(--rt-input-icon-size);
|
|
177
|
+
inline-size: var(--rt-input-icon-size);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/* Ручку можно спрятать до наведения: под указателем, на подсвеченной строке и на строке в руке
|
|
181
|
+
она видна всегда. */
|
|
182
|
+
.rt-draggable-tree__handle {
|
|
183
|
+
cursor: grab;
|
|
184
|
+
opacity: var(--rt-draggable-tree-handle-opacity);
|
|
185
|
+
|
|
186
|
+
&:active {
|
|
187
|
+
cursor: grabbing;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.rt-draggable-tree__row:is(:hover, .rt-draggable-tree__row--highlighted, .cdk-drag-preview) {
|
|
192
|
+
--rt-draggable-tree-handle-opacity: 1;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/* Цвет стрелки идёт в значок через его же свойство приглушённого цвета. */
|
|
196
|
+
.rt-draggable-tree__toggle {
|
|
197
|
+
--rt-icon-color-muted: var(--rt-draggable-tree-toggle-color);
|
|
198
|
+
|
|
199
|
+
padding: 0;
|
|
200
|
+
border: 0;
|
|
201
|
+
background: transparent;
|
|
202
|
+
cursor: pointer;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
.rt-draggable-tree__content {
|
|
206
|
+
display: flex;
|
|
207
|
+
min-width: 0;
|
|
208
|
+
flex: 1 1 auto;
|
|
209
|
+
align-items: center;
|
|
210
|
+
gap: var(--rt-space-sm);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/* Длинная подпись обрезается многоточием, и полный текст даёт подсказка кита. */
|
|
214
|
+
.rt-draggable-tree__label {
|
|
215
|
+
overflow: hidden;
|
|
216
|
+
text-overflow: ellipsis;
|
|
217
|
+
white-space: nowrap;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# `rt-hybrid-tree`
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<rt-hybrid-tree [branchMarks]="false" [nodes]="fields" [(value)]="chosenFields" />
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
Входы и выходы — на странице обзора `Overview.mdx` рядом. Договорённость —
|
|
8
|
+
`docs/specs/ui-kit-v2/hybrid-tree-selector/spec.md`.
|
|
9
|
+
|
|
10
|
+
## Главное, что нужно знать
|
|
11
|
+
|
|
12
|
+
**Это `rt-tree` с другим расчётом выбора.** Класс наследует `RtTreeComponent` и берёт его разметку
|
|
13
|
+
и стили: клавиши, поиск, метки и разметка приложения общие. Переопределены четыре точки —
|
|
14
|
+
`rowState`, `selectAllMarkOf`, `selectAllChoice` и `nextChoice`. Правка разметки дерева доходит до
|
|
15
|
+
обоих.
|
|
16
|
+
|
|
17
|
+
**Группа с `single: true` держит один прямой лист.** Правила в `rt-hybrid-tree.logic.ts`: выбор листа
|
|
18
|
+
снимает соседей по группе, радио группы снимает её или выбирает первый включённый лист.
|
|
19
|
+
«Выбрать всё» и каскад ветки листья такой группы не набирают, а снимают.
|
|
20
|
+
|
|
21
|
+
**Группа без отметки показывает число выбранного под собой.** Число считается по всем листьям,
|
|
22
|
+
выключенные тоже.
|
|
23
|
+
|
|
24
|
+
## Края
|
|
25
|
+
|
|
26
|
+
- Выбор всегда новый массив, узлы не правятся.
|
|
27
|
+
- Группа «один лист» внутри другой такой же рисуется обычной веткой: её листья — радио только своей
|
|
28
|
+
группы.
|
|
29
|
+
- В режимах `single` и `none` правила групп «один лист» не действуют, дерево ведёт себя как `rt-tree`.
|
|
30
|
+
- Атрибуты хоста повторены у наследника, и с ними `disabled`: выключенное дерево уходит из порядка Tab
|
|
31
|
+
и несёт `aria-disabled`, как `rt-tree`.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# `rt-hybrid-tree-selector`
|
|
2
|
+
|
|
3
|
+
```html
|
|
4
|
+
<rt-hybrid-tree-selector confirm expandControls [nodes]="fields" [(value)]="chosenFields" />
|
|
5
|
+
```
|
|
6
|
+
|
|
7
|
+
Входы и выходы — на странице обзора `Overview.mdx` рядом. Договорённость —
|
|
8
|
+
`docs/specs/ui-kit-v2/hybrid-tree-selector/spec.md`.
|
|
9
|
+
|
|
10
|
+
## Главное, что нужно знать
|
|
11
|
+
|
|
12
|
+
**Это `rt-tree-selector` с `rt-hybrid-tree` внутри.** Класс наследует `RtTreeSelectorComponent`, берёт
|
|
13
|
+
его разметку и стили и ставит флаг `hybrid`. По флагу разметка селектора рисует гибридное дерево
|
|
14
|
+
вместо обычного. Панель, черновик, «Применить», поиск и кнопки строки общие: правка селектора
|
|
15
|
+
доходит до обоих.
|
|
16
|
+
|
|
17
|
+
**Поиск не теряет признак `single`.** Отбор по словам копирует отобранную ветку целиком, со всеми
|
|
18
|
+
полями узла.
|
|
19
|
+
|
|
20
|
+
## Края
|
|
21
|
+
|
|
22
|
+
- Всё, что сказано в `CONTEXT.md` селектора, верно и здесь.
|
|
23
|
+
- Место под поиском, шаблоны строк `rtTreeNodeEnd` и `rtTreeNodeMeta`, флаг `matchHighlight` и
|
|
24
|
+
значок пустоты доходят до гибридного дерева так же, как у селектора до `rt-tree`. В списке
|
|
25
|
+
`imports` стоит `ModDirective`: шаблон селектора ставит модификатор пустому состоянию.
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
| `radius` | `TRtRadius \| null` — шаг общей шкалы | `null` → `md` |
|
|
17
17
|
| `type` | `'button' \| 'submit'` | `'button'` |
|
|
18
18
|
| `tooltip` | `string` | `''` (пусто → подсказки нет) |
|
|
19
|
+
| `tooltipHideOnClick` | `boolean` — `false` у переключателя: подсказка остаётся после клика | `true` |
|
|
19
20
|
| `tabIndex` | `number` | `0` |
|
|
20
21
|
| `loading` / `disabled` / `active` / `indicator` | `boolean` | `false` |
|
|
21
22
|
|
|
@@ -46,6 +47,8 @@
|
|
|
46
47
|
|
|
47
48
|
- `loading` = `disabled` плюс кольцо вместо иконки. Клик в этом состоянии наружу не уходит.
|
|
48
49
|
- `active` превращается в `aria-pressed="true"` — для кнопок-переключателей.
|
|
50
|
+
- `expanded` пишет `aria-expanded` кнопке, которая открывает панель, — так делает `rt-speed-menu`.
|
|
51
|
+
Без входа атрибута нет вовсе.
|
|
49
52
|
- `tabIndex="-1"` оставляет клик мышью, но убирает кнопку из таб-порядка: так сделаны
|
|
50
53
|
вспомогательные крестики внутри полей.
|
|
51
54
|
- `iconSize` нужен, когда крупная кнопка должна остаться крупной (в неё целятся пальцем), а
|