@rt-tools/ui-kit-v2 0.23.2 → 0.23.4
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 +2309 -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-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 +41 -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 +35 -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/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 +10 -0
- package/src/lib/components/toolbar/rt-toolbar.component.scss +18 -0
- 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/styles/tokens.css +3 -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 +856 -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-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 @@
|
|
|
1
|
+
{"version":3,"file":"rt-tools-ui-kit-v2-tree-selector.mjs","names":[],"sources":["../../../projects/ui-kit-v2/src/lib/components/tree-selector/rt-tree-selector.directives.ts","../../../projects/ui-kit-v2/src/lib/components/tree-selector/rt-tree-selector.logic.ts","../../../projects/ui-kit-v2/src/lib/components/tree-selector/rt-tree-selector.component.ts","../../../projects/ui-kit-v2/src/lib/components/tree-selector/rt-tree-selector.component.html"],"sourcesContent":["import { inject, Directive, TemplateRef } from '@angular/core';\n\n/**\n * Свои контролы приложения в строке селектора — после «Развернуть всё» и «Свернуть всё». Так в\n * строку встаёт, например, выбор группировки.\n */\n@Directive({ selector: 'ng-template[rtTreeSelectorControls]' })\nexport class RtTreeSelectorControlsDirective {\n public readonly templateRef: TemplateRef<unknown> = inject<TemplateRef<unknown>>(TemplateRef);\n}\n\n/**\n * Разметка приложения сразу под полем поиска — между полем и строкой контролов. Так под поиском\n * встаёт, например, выбор области поиска или подсказка.\n */\n@Directive({ selector: 'ng-template[rtTreeSelectorUnderSearch]' })\nexport class RtTreeSelectorUnderSearchDirective {\n public readonly templateRef: TemplateRef<unknown> = inject<TemplateRef<unknown>>(TemplateRef);\n}\n","import { IRtTree } from '@rt-tools/ui-kit-v2/tree';\n\ntype TNode<TValue> = IRtTree.Node<TValue>;\n\n/** Слова строки поиска в нижнем регистре, без пустых. */\nexport function rtTreeSelectorWords(term: string): ReadonlyArray<string> {\n return term\n .toLowerCase()\n .split(/\\s+/)\n .filter((word: string): boolean => word !== '');\n}\n\nfunction nodeText<TValue>(node: TNode<TValue>): string {\n const badges: string = (node.badges ?? []).map((badge: IRtTree.Badge): string => badge.text).join(' ');\n return `${node.label} ${node.description ?? ''} ${badges}`.toLowerCase();\n}\n\nfunction keepMatching<TValue>(nodes: ReadonlyArray<TNode<TValue>>, words: ReadonlyArray<string>): TNode<TValue>[] {\n return nodes.reduce((kept: TNode<TValue>[], node: TNode<TValue>): TNode<TValue>[] => {\n const text: string = nodeText(node);\n if (words.every((word: string): boolean => text.includes(word))) {\n kept.push(node);\n return kept;\n }\n const inside: TNode<TValue>[] = keepMatching(node.children ?? [], words);\n if (inside.length > 0) {\n kept.push({ ...node, children: inside });\n }\n return kept;\n }, []);\n}\n\n/**\n * Узлы, в которых нашлось каждое слово поиска — в подписи, описании или метках. Совпавшая ветка\n * остаётся со всем поддеревом: без детей она выглядела бы листом. Несовпавшая ветка остаётся путём к\n * совпавшим внизу. Узлы не правятся: отобранная ветка — новый объект.\n */\nexport function rtTreeSelectorFilter<TValue>(nodes: ReadonlyArray<TNode<TValue>>, term: string): ReadonlyArray<TNode<TValue>> {\n const words: ReadonlyArray<string> = rtTreeSelectorWords(term);\n if (words.length === 0) {\n return nodes;\n }\n return keepMatching(nodes, words);\n}\n\n/** Выключенные узлы дерева на любой глубине. */\nfunction disabledValues<TValue>(nodes: ReadonlyArray<TNode<TValue>>, into: Set<TValue>): Set<TValue> {\n nodes.forEach((node: TNode<TValue>): void => {\n if (node.disabled) {\n into.add(node.value);\n }\n disabledValues(node.children ?? [], into);\n });\n return into;\n}\n\n/** Выбор после «Очистить»: остаются только выключенные узлы — снять их человек не может. */\nexport function rtTreeSelectorClear<TValue>(nodes: ReadonlyArray<TNode<TValue>>, choice: ReadonlyArray<TValue>): ReadonlyArray<TValue> {\n const disabled: Set<TValue> = disabledValues(nodes, new Set<TValue>());\n return choice.filter((value: TValue): boolean => disabled.has(value));\n}\n\n/** Равны ли два выбора без учёта порядка. */\nexport function rtTreeSelectorSame<TValue>(a: ReadonlyArray<TValue>, b: ReadonlyArray<TValue>): boolean {\n const left: Set<TValue> = new Set<TValue>(a);\n const right: Set<TValue> = new Set<TValue>(b);\n return left.size === right.size && [...left].every((value: TValue): boolean => right.has(value));\n}\n\n/** Включено ли «Применить»: черновик отличается от выбора и не пуст там, где пустой выбор запрещён. */\nexport function rtTreeSelectorCanApply<TValue>(\n draft: ReadonlyArray<TValue>,\n choice: ReadonlyArray<TValue>,\n emptyAllowed: boolean\n): boolean {\n if (!emptyAllowed && draft.length === 0) {\n return false;\n }\n return !rtTreeSelectorSame(draft, choice);\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n afterNextRender,\n booleanAttribute,\n computed,\n contentChild,\n inject,\n input,\n linkedSignal,\n model,\n output,\n viewChild,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Injector,\n InputSignal,\n InputSignalWithTransform,\n ModelSignal,\n OutputEmitterRef,\n Signal,\n TemplateRef,\n ViewEncapsulation,\n WritableSignal,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { BlockDirective, ElemDirective, ModDirective } from '@rt-tools/core';\n\nimport { rtKitLabel, IRtIcon } from '@rt-tools/ui-kit-v2/core';\nimport { RtButtonDirective } from '@rt-tools/ui-kit-v2/button';\nimport { RtIconComponent } from '@rt-tools/ui-kit-v2/icon';\nimport { RtInputComponent } from '@rt-tools/ui-kit-v2/input';\nimport { RtToggleSwitchComponent } from '@rt-tools/ui-kit-v2/toggle-switch';\nimport { RtTooltipDirective } from '@rt-tools/ui-kit-v2/tooltip';\nimport { RtHybridTreeComponent } from '@rt-tools/ui-kit-v2/hybrid-tree';\nimport { RtTreeComponent, RtTreeNodeEndDirective, RtTreeNodeMetaDirective } from '@rt-tools/ui-kit-v2/tree';\nimport { IRtTree } from '@rt-tools/ui-kit-v2/tree';\nimport { RtTreeSelectorControlsDirective, RtTreeSelectorUnderSearchDirective } from './rt-tree-selector.directives';\nimport { rtTreeSelectorCanApply, rtTreeSelectorClear, rtTreeSelectorFilter, rtTreeSelectorSame } from './rt-tree-selector.logic';\nimport { IRtTreeSelector } from './rt-tree-selector.model';\n\nconst BEM_BLOCK: string = 'rt-tree-selector';\n\n/**\n * Выбор деревом с поиском: поле поиска, строка контролов и `rt-tree` под ними.\n *\n * Строки, отметки, клавиши и подсветку рисует `rt-tree`; селектор отбирает узлы по каждому слову\n * поиска и держит выбор. В прямой форме каждое изменение сразу пишется в `value`, в подтверждаемой —\n * копится в черновике до «Применить». Поле поиска не отдаёт фокус и передаёт клавиши дереву.\n */\n@Component({\n selector: 'rt-tree-selector',\n templateUrl: './rt-tree-selector.component.html',\n styleUrl: './rt-tree-selector.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n NgTemplateOutlet,\n FormsModule,\n BlockDirective,\n ElemDirective,\n ModDirective,\n RtButtonDirective,\n RtIconComponent,\n RtInputComponent,\n RtToggleSwitchComponent,\n RtTooltipDirective,\n RtTreeComponent,\n RtHybridTreeComponent,\n ],\n host: { class: BEM_BLOCK },\n})\nexport class RtTreeSelectorComponent<TValue> {\n readonly #host: ElementRef<HTMLElement> = inject<ElementRef<HTMLElement>>(ElementRef);\n readonly #injector: Injector = inject(Injector);\n\n protected readonly searchLabel: Signal<string> = rtKitLabel('dynamicSelectorSearch');\n protected readonly expandAllLabel: Signal<string> = rtKitLabel('uiExpandAll');\n protected readonly collapseAllLabel: Signal<string> = rtKitLabel('uiCollapseAll');\n protected readonly clearLabel: Signal<string> = rtKitLabel('uiClearSelection');\n protected readonly revertLabel: Signal<string> = rtKitLabel('uiRevertSelection');\n protected readonly multiLabel: Signal<string> = rtKitLabel('dynamicSelectorMulti');\n protected readonly multiHintLabel: Signal<string> = rtKitLabel('dynamicSelectorMultiHint');\n protected readonly cancelLabel: Signal<string> = rtKitLabel('uiCancel');\n protected readonly applyLabel: Signal<string> = rtKitLabel('uiApply');\n protected readonly nothingFoundLabel: Signal<string> = rtKitLabel('uiNothingFound');\n\n /** Гибридное ли дерево внутри. Ставит его наследник `rt-hybrid-tree-selector`. */\n protected readonly hybrid: boolean = false;\n\n protected readonly plainTree: Signal<RtTreeComponent<TValue> | undefined> = viewChild<RtTreeComponent<TValue>>(RtTreeComponent);\n\n protected readonly hybridTree: Signal<RtHybridTreeComponent<TValue> | undefined> =\n viewChild<RtHybridTreeComponent<TValue>>(RtHybridTreeComponent);\n\n /** Дерево внутри, какое бы ни стояло: у гибридного те же раскрытие и клавиши. */\n protected readonly tree: Signal<RtTreeComponent<TValue> | undefined> = computed(\n (): RtTreeComponent<TValue> | undefined => this.hybridTree() ?? this.plainTree()\n );\n\n protected readonly controlsTpl: Signal<RtTreeSelectorControlsDirective | undefined> = contentChild(RtTreeSelectorControlsDirective);\n\n protected readonly underSearchTpl: Signal<RtTreeSelectorUnderSearchDirective | undefined> =\n contentChild(RtTreeSelectorUnderSearchDirective);\n\n /** Разметка строк, отданная селектору: дерево внутри его содержимым не видит, и она уходит туда входом. */\n protected readonly nodeEnd: Signal<RtTreeNodeEndDirective<TValue> | undefined> = contentChild(RtTreeNodeEndDirective);\n\n protected readonly nodeMeta: Signal<RtTreeNodeMetaDirective<TValue> | undefined> = contentChild(RtTreeNodeMetaDirective);\n\n protected readonly endTemplate: Signal<TemplateRef<IRtTree.NodeContext<TValue>> | null> = computed(\n (): TemplateRef<IRtTree.NodeContext<TValue>> | null => this.nodeEnd()?.templateRef ?? null\n );\n\n protected readonly metaTemplate: Signal<TemplateRef<IRtTree.NodeContext<TValue>> | null> = computed(\n (): TemplateRef<IRtTree.NodeContext<TValue>> | null => this.nodeMeta()?.templateRef ?? null\n );\n\n /** Строка поиска: начинается с `searchTerm` и дальше живёт от набора в поле. */\n protected readonly term: WritableSignal<string> = linkedSignal((): string => this.searchTerm());\n\n /** Включён ли множественный выбор: без переключателя клик всегда добавляет. */\n protected readonly multiOn: WritableSignal<boolean> = linkedSignal((): boolean => this.multiDefault());\n\n /** Черновик выбора: начинается с выбора и сбрасывается к нему при каждой смене выбора снаружи. */\n protected readonly draft: WritableSignal<ReadonlyArray<TValue>> = linkedSignal((): ReadonlyArray<TValue> => this.value());\n\n protected readonly shownNodes: Signal<ReadonlyArray<IRtTree.Node<TValue>>> = computed((): ReadonlyArray<IRtTree.Node<TValue>> =>\n rtTreeSelectorFilter(this.nodes(), this.term())\n );\n\n /** Слово, которое дерево отмечает в строках: без подсветки — пустое, а отбор узлов идёт по `term`. */\n protected readonly markTerm: Signal<string> = computed((): string => (this.matchHighlight() ? this.term() : ''));\n\n protected readonly hasRows: Signal<boolean> = computed((): boolean => this.shownNodes().length > 0);\n\n /** Поиск ничего не нашёл. Дереву ушёл бы пустой список, и оно написало бы «нет вариантов». */\n protected readonly isNothingFound: Signal<boolean> = computed((): boolean => !this.hasRows() && this.nodes().length > 0);\n\n protected readonly isExpandShown: Signal<boolean> = computed((): boolean => this.expandControls() && this.hasRows());\n\n /** Откат стоит только в подтверждаемой форме: в прямой выбор уже записан, откатывать не к чему. */\n protected readonly isRevertShown: Signal<boolean> = computed(\n (): boolean => this.revertable() && this.confirm() && this.mode() !== 'none'\n );\n\n protected readonly isDraftChanged: Signal<boolean> = computed((): boolean => !rtTreeSelectorSame(this.draft(), this.value()));\n\n protected readonly isMultiToggleShown: Signal<boolean> = computed((): boolean => this.multiToggle() && this.mode() === 'multiple');\n\n protected readonly isExclusive: Signal<boolean> = computed((): boolean => this.isMultiToggleShown() && !this.multiOn());\n\n protected readonly isClearShown: Signal<boolean> = computed(\n (): boolean => this.clearable() && this.mode() !== 'none' && this.draft().length > 0\n );\n\n protected readonly isFooterShown: Signal<boolean> = computed((): boolean => this.confirm() && this.footer());\n\n public readonly nodes: InputSignal<ReadonlyArray<IRtTree.Node<TValue>>> = input.required<ReadonlyArray<IRtTree.Node<TValue>>>();\n public readonly value: ModelSignal<ReadonlyArray<TValue>> = model<ReadonlyArray<TValue>>([]);\n public readonly mode: InputSignal<IRtTree.Mode> = input<IRtTree.Mode>('multiple');\n public readonly cascade: InputSignalWithTransform<boolean, unknown> = input<boolean, unknown>(true, { transform: booleanAttribute });\n public readonly branchMarks: InputSignalWithTransform<boolean, unknown> = input<boolean, unknown>(true, {\n transform: booleanAttribute,\n });\n /** «Выбрать все» — необязательная, как кнопки строки: по умолчанию её нет. */\n public readonly selectAll: InputSignalWithTransform<boolean, unknown> = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n /** Подтверждаемая форма: выбор копится в черновике и уходит по «Применить». */\n public readonly confirm: InputSignalWithTransform<boolean, unknown> = input<boolean, unknown>(false, { transform: booleanAttribute });\n /** Свой подвал с «Отмена» и «Применить». Без него приложение зовёт `apply()` и `cancel()` само. */\n public readonly footer: InputSignalWithTransform<boolean, unknown> = input<boolean, unknown>(true, { transform: booleanAttribute });\n public readonly emptyAllowed: InputSignalWithTransform<boolean, unknown> = input<boolean, unknown>(true, {\n transform: booleanAttribute,\n });\n /** Иконочные кнопки «Развернуть всё» и «Свернуть всё». */\n public readonly expandControls: InputSignalWithTransform<boolean, unknown> = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n public readonly clearable: InputSignalWithTransform<boolean, unknown> = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n /** Иконочная кнопка «Откатить выбор»: возвращает черновик к выбору, не закрывая селектор. */\n public readonly revertable: InputSignalWithTransform<boolean, unknown> = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n public readonly multiToggle: InputSignalWithTransform<boolean, unknown> = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n /** С чего начинает переключатель множественного выбора. */\n public readonly multiDefault: InputSignalWithTransform<boolean, unknown> = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n public readonly expandOnStart: InputSignal<IRtTreeSelector.ExpandOnStart> = input<IRtTreeSelector.ExpandOnStart>('chosen');\n public readonly label: InputSignal<string> = input<string>('');\n /** Начальная строка поиска. */\n public readonly searchTerm: InputSignal<string> = input<string>('');\n public readonly ariaLabel: InputSignal<string | null> = input<string | null>(null);\n /** Отмечать ли найденные слова в строках. Выключенная, подсветка не мешает отбору: узлы отбираются так же. */\n public readonly matchHighlight: InputSignalWithTransform<boolean, unknown> = input<boolean, unknown>(true, {\n transform: booleanAttribute,\n });\n /** Значок кита над подписью «ничего не найдено» и над пустым деревом внутри. */\n public readonly emptyIcon: InputSignal<IRtIcon.Name | null> = input<IRtIcon.Name | null>(null);\n /** Выключенный селектор не меняет выбор: поле поиска, кнопки, переключатель, дерево и подвал выключены. */\n public readonly disabled: InputSignalWithTransform<boolean, unknown> = input<boolean, unknown>(false, {\n transform: booleanAttribute,\n });\n\n public readonly applied: OutputEmitterRef<ReadonlyArray<TValue>> = output<ReadonlyArray<TValue>>();\n public readonly cancelled: OutputEmitterRef<void> = output<void>();\n\n /** Можно ли применить черновик: он отличается от выбора и не пуст там, где пустой запрещён. */\n public readonly canApply: Signal<boolean> = computed(\n (): boolean => !this.disabled() && rtTreeSelectorCanApply(this.draft(), this.value(), this.emptyAllowed())\n );\n\n constructor() {\n afterNextRender((): void => {\n if (!this.disabled()) {\n this.#host.nativeElement.querySelector<HTMLInputElement>('.rt-tree-selector__search input')?.focus();\n }\n this.#expandOnStart();\n });\n }\n\n public apply(): void {\n if (!this.canApply()) {\n return;\n }\n const next: ReadonlyArray<TValue> = [...this.draft()];\n this.value.set(next);\n this.applied.emit(next);\n }\n\n public cancel(): void {\n this.draft.set(this.value());\n this.cancelled.emit();\n }\n\n protected onTerm(term: string): void {\n this.term.set(term);\n if (term.trim() !== '') {\n afterNextRender((): void => this.tree()?.expandAll(), { injector: this.#injector });\n }\n }\n\n protected onSearchKeydown(event: KeyboardEvent): void {\n this.tree()?.handleKeydown(event);\n }\n\n protected onTreeChange(next: ReadonlyArray<TValue>): void {\n this.#write(next);\n }\n\n /** Enter в выборе одного узла подтверждает: новый узел применяется, тот же — закрывает без изменений. */\n protected onPicked(): void {\n if (!this.confirm() || this.mode() !== 'single') {\n return;\n }\n if (this.canApply()) {\n this.apply();\n return;\n }\n this.cancel();\n }\n\n protected onClear(): void {\n this.#write(rtTreeSelectorClear(this.nodes(), this.draft()));\n }\n\n protected onRevert(): void {\n this.draft.set(this.value());\n }\n\n protected expandAll(): void {\n this.tree()?.expandAll();\n }\n\n protected collapseAll(): void {\n this.tree()?.collapseAll();\n }\n\n protected onMultiToggle(on: boolean): void {\n this.multiOn.set(on);\n }\n\n #write(next: ReadonlyArray<TValue>): void {\n this.draft.set(next);\n if (!this.confirm()) {\n this.value.set(next);\n }\n }\n\n #expandOnStart(): void {\n const start: IRtTreeSelector.ExpandOnStart = this.expandOnStart();\n if (start === 'all' || this.term().trim() !== '') {\n this.tree()?.expandAll();\n return;\n }\n if (start === 'none') {\n this.tree()?.collapseAll();\n }\n }\n}\n","<ng-container rtBlock=\"rt-tree-selector\">\n <div rtElem=\"head\">\n @if (label()) {\n <div rtElem=\"label\" qa-dataid=\"tree-selector-label\">{{ label() }}</div>\n }\n\n <rt-input\n rtElem=\"search\"\n qa-dataid=\"tree-selector-search\"\n iconLeft=\"search\"\n [disabled]=\"disabled()\"\n [placeholder]=\"searchLabel()\"\n [ariaLabel]=\"searchLabel()\"\n [ngModel]=\"term()\"\n (ngModelChange)=\"onTerm($event)\"\n (keydown)=\"onSearchKeydown($event)\" />\n\n @if (underSearchTpl(); as underSearch) {\n <div rtElem=\"under-search\" qa-dataid=\"tree-selector-under-search\">\n <ng-container [ngTemplateOutlet]=\"underSearch.templateRef\" />\n </div>\n }\n\n <div rtElem=\"controls\">\n <div rtElem=\"row\">\n @if (isExpandShown()) {\n <button\n rtButton\n rtElem=\"control\"\n qa-dataid=\"tree-selector-expand-all\"\n type=\"button\"\n appearance=\"outlined\"\n theme=\"secondary\"\n size=\"sm\"\n icon=\"expand-all\"\n [rtTooltip]=\"expandAllLabel()\"\n [attr.aria-label]=\"expandAllLabel()\"\n [disabled]=\"disabled()\"\n (click)=\"expandAll()\"></button>\n <button\n rtButton\n rtElem=\"control\"\n qa-dataid=\"tree-selector-collapse-all\"\n type=\"button\"\n appearance=\"outlined\"\n theme=\"secondary\"\n size=\"sm\"\n icon=\"collapse-all\"\n [rtTooltip]=\"collapseAllLabel()\"\n [attr.aria-label]=\"collapseAllLabel()\"\n [disabled]=\"disabled()\"\n (click)=\"collapseAll()\"></button>\n }\n @if (isRevertShown()) {\n <button\n rtButton\n rtElem=\"control\"\n qa-dataid=\"tree-selector-revert\"\n type=\"button\"\n appearance=\"outlined\"\n theme=\"secondary\"\n size=\"sm\"\n icon=\"undo\"\n [rtTooltip]=\"revertLabel()\"\n [attr.aria-label]=\"revertLabel()\"\n [disabled]=\"disabled() || !isDraftChanged()\"\n (click)=\"onRevert()\"></button>\n }\n @if (isClearShown()) {\n <button\n rtButton\n rtElem=\"control\"\n qa-dataid=\"tree-selector-clear\"\n type=\"button\"\n appearance=\"outlined\"\n theme=\"danger\"\n size=\"sm\"\n icon=\"trash\"\n [rtTooltip]=\"clearLabel()\"\n [attr.aria-label]=\"clearLabel()\"\n [disabled]=\"disabled()\"\n (click)=\"onClear()\"></button>\n }\n @if (controlsTpl(); as controls) {\n <div rtElem=\"own\">\n <ng-container [ngTemplateOutlet]=\"controls.templateRef\" />\n </div>\n }\n </div>\n\n @if (isMultiToggleShown()) {\n <div rtElem=\"multi\">\n <rt-toggle-switch\n qa-dataid=\"tree-selector-multi\"\n [ariaLabel]=\"multiLabel()\"\n [disabled]=\"disabled()\"\n [ngModel]=\"multiOn()\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"onMultiToggle($event)\" />\n <span rtElem=\"multi-label\">{{ multiLabel() }}</span>\n <rt-icon rtElem=\"multi-hint-icon\" name=\"info-circle\" size=\"sm\" [rtTooltip]=\"multiHintLabel()\" />\n </div>\n }\n </div>\n </div>\n\n @if (isNothingFound()) {\n <div rtElem=\"empty\" qa-dataid=\"tree-selector-empty\" [rtMod]=\"{ 'with-icon': !!emptyIcon() }\">\n @if (emptyIcon(); as icon) {\n <rt-icon rtElem=\"empty-icon\" qa-dataid=\"tree-selector-empty-icon\" size=\"lg\" [name]=\"icon\" />\n }\n {{ nothingFoundLabel() }}\n </div>\n } @else {\n @if (hybrid) {\n <rt-hybrid-tree\n rtElem=\"tree\"\n qa-dataid=\"tree-selector-tree\"\n [nodes]=\"shownNodes()\"\n [value]=\"draft()\"\n [mode]=\"mode()\"\n [cascade]=\"cascade()\"\n [branchMarks]=\"branchMarks()\"\n [exclusive]=\"isExclusive()\"\n [showSelectAll]=\"selectAll()\"\n [searchTerm]=\"markTerm()\"\n [filter]=\"false\"\n [emptyIcon]=\"emptyIcon()\"\n [nodeEndTemplate]=\"endTemplate()\"\n [nodeMetaTemplate]=\"metaTemplate()\"\n [ariaLabel]=\"ariaLabel()\"\n [disabled]=\"disabled()\"\n (valueChange)=\"onTreeChange($event)\"\n (picked)=\"onPicked()\" />\n } @else {\n <rt-tree\n rtElem=\"tree\"\n qa-dataid=\"tree-selector-tree\"\n [nodes]=\"shownNodes()\"\n [value]=\"draft()\"\n [mode]=\"mode()\"\n [cascade]=\"cascade()\"\n [branchMarks]=\"branchMarks()\"\n [exclusive]=\"isExclusive()\"\n [showSelectAll]=\"selectAll()\"\n [searchTerm]=\"markTerm()\"\n [filter]=\"false\"\n [emptyIcon]=\"emptyIcon()\"\n [nodeEndTemplate]=\"endTemplate()\"\n [nodeMetaTemplate]=\"metaTemplate()\"\n [ariaLabel]=\"ariaLabel()\"\n [disabled]=\"disabled()\"\n (valueChange)=\"onTreeChange($event)\"\n (picked)=\"onPicked()\" />\n }\n }\n\n @if (isFooterShown()) {\n <div rtElem=\"foot\">\n <button\n rtButton\n qa-dataid=\"tree-selector-cancel\"\n type=\"button\"\n appearance=\"text\"\n [label]=\"cancelLabel()\"\n [attr.aria-label]=\"cancelLabel()\"\n [disabled]=\"disabled()\"\n (click)=\"cancel()\"></button>\n <button\n rtButton\n qa-dataid=\"tree-selector-apply\"\n type=\"button\"\n [label]=\"applyLabel()\"\n [attr.aria-label]=\"applyLabel()\"\n [disabled]=\"!canApply()\"\n (click)=\"apply()\"></button>\n </div>\n }\n</ng-container>\n"],"mappings":"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"}
|