@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.
Files changed (354) hide show
  1. package/fesm2022/rt-tools-ui-kit-v2-accordion.mjs +142 -71
  2. package/fesm2022/rt-tools-ui-kit-v2-accordion.mjs.map +1 -1
  3. package/fesm2022/rt-tools-ui-kit-v2-action-bar.mjs +467 -231
  4. package/fesm2022/rt-tools-ui-kit-v2-action-bar.mjs.map +1 -1
  5. package/fesm2022/rt-tools-ui-kit-v2-ai-run-status.mjs +260 -91
  6. package/fesm2022/rt-tools-ui-kit-v2-ai-run-status.mjs.map +1 -1
  7. package/fesm2022/rt-tools-ui-kit-v2-aside-section.mjs +80 -46
  8. package/fesm2022/rt-tools-ui-kit-v2-aside-section.mjs.map +1 -1
  9. package/fesm2022/rt-tools-ui-kit-v2-aside.mjs +984 -697
  10. package/fesm2022/rt-tools-ui-kit-v2-aside.mjs.map +1 -1
  11. package/fesm2022/rt-tools-ui-kit-v2-autocomplete.mjs +452 -210
  12. package/fesm2022/rt-tools-ui-kit-v2-autocomplete.mjs.map +1 -1
  13. package/fesm2022/rt-tools-ui-kit-v2-bar-list.mjs +143 -52
  14. package/fesm2022/rt-tools-ui-kit-v2-bar-list.mjs.map +1 -1
  15. package/fesm2022/rt-tools-ui-kit-v2-bottom-sheet.mjs +158 -83
  16. package/fesm2022/rt-tools-ui-kit-v2-bottom-sheet.mjs.map +1 -1
  17. package/fesm2022/rt-tools-ui-kit-v2-breadcrumbs.mjs +335 -0
  18. package/fesm2022/rt-tools-ui-kit-v2-breadcrumbs.mjs.map +1 -0
  19. package/fesm2022/rt-tools-ui-kit-v2-button.mjs +437 -363
  20. package/fesm2022/rt-tools-ui-kit-v2-button.mjs.map +1 -1
  21. package/fesm2022/rt-tools-ui-kit-v2-calendar.mjs +430 -149
  22. package/fesm2022/rt-tools-ui-kit-v2-calendar.mjs.map +1 -1
  23. package/fesm2022/rt-tools-ui-kit-v2-card.mjs +155 -71
  24. package/fesm2022/rt-tools-ui-kit-v2-card.mjs.map +1 -1
  25. package/fesm2022/rt-tools-ui-kit-v2-carousel.mjs +155 -0
  26. package/fesm2022/rt-tools-ui-kit-v2-carousel.mjs.map +1 -0
  27. package/fesm2022/rt-tools-ui-kit-v2-checkbox.mjs +215 -110
  28. package/fesm2022/rt-tools-ui-kit-v2-checkbox.mjs.map +1 -1
  29. package/fesm2022/rt-tools-ui-kit-v2-collapsible-text.mjs +158 -75
  30. package/fesm2022/rt-tools-ui-kit-v2-collapsible-text.mjs.map +1 -1
  31. package/fesm2022/rt-tools-ui-kit-v2-color-palette.mjs +769 -0
  32. package/fesm2022/rt-tools-ui-kit-v2-color-palette.mjs.map +1 -0
  33. package/fesm2022/rt-tools-ui-kit-v2-confirm-popover.mjs +462 -253
  34. package/fesm2022/rt-tools-ui-kit-v2-confirm-popover.mjs.map +1 -1
  35. package/fesm2022/rt-tools-ui-kit-v2-container.mjs +1276 -1316
  36. package/fesm2022/rt-tools-ui-kit-v2-container.mjs.map +1 -1
  37. package/fesm2022/rt-tools-ui-kit-v2-copy-value.mjs +185 -80
  38. package/fesm2022/rt-tools-ui-kit-v2-copy-value.mjs.map +1 -1
  39. package/fesm2022/rt-tools-ui-kit-v2-core.mjs +2321 -2619
  40. package/fesm2022/rt-tools-ui-kit-v2-core.mjs.map +1 -1
  41. package/fesm2022/rt-tools-ui-kit-v2-counter-row.mjs +100 -44
  42. package/fesm2022/rt-tools-ui-kit-v2-counter-row.mjs.map +1 -1
  43. package/fesm2022/rt-tools-ui-kit-v2-counter.mjs +290 -155
  44. package/fesm2022/rt-tools-ui-kit-v2-counter.mjs.map +1 -1
  45. package/fesm2022/rt-tools-ui-kit-v2-data-list.mjs +2097 -858
  46. package/fesm2022/rt-tools-ui-kit-v2-data-list.mjs.map +1 -1
  47. package/fesm2022/rt-tools-ui-kit-v2-data-table.mjs +2247 -1176
  48. package/fesm2022/rt-tools-ui-kit-v2-data-table.mjs.map +1 -1
  49. package/fesm2022/rt-tools-ui-kit-v2-date-picker.mjs +1043 -705
  50. package/fesm2022/rt-tools-ui-kit-v2-date-picker.mjs.map +1 -1
  51. package/fesm2022/rt-tools-ui-kit-v2-date-range.mjs +810 -525
  52. package/fesm2022/rt-tools-ui-kit-v2-date-range.mjs.map +1 -1
  53. package/fesm2022/rt-tools-ui-kit-v2-delta-view.mjs +158 -138
  54. package/fesm2022/rt-tools-ui-kit-v2-delta-view.mjs.map +1 -1
  55. package/fesm2022/rt-tools-ui-kit-v2-detail-list.mjs +177 -67
  56. package/fesm2022/rt-tools-ui-kit-v2-detail-list.mjs.map +1 -1
  57. package/fesm2022/rt-tools-ui-kit-v2-dialog.mjs +550 -477
  58. package/fesm2022/rt-tools-ui-kit-v2-dialog.mjs.map +1 -1
  59. package/fesm2022/rt-tools-ui-kit-v2-dot-field.mjs +185 -168
  60. package/fesm2022/rt-tools-ui-kit-v2-dot-field.mjs.map +1 -1
  61. package/fesm2022/rt-tools-ui-kit-v2-download-link.mjs +116 -43
  62. package/fesm2022/rt-tools-ui-kit-v2-download-link.mjs.map +1 -1
  63. package/fesm2022/rt-tools-ui-kit-v2-draggable-tree.mjs +585 -0
  64. package/fesm2022/rt-tools-ui-kit-v2-draggable-tree.mjs.map +1 -0
  65. package/fesm2022/rt-tools-ui-kit-v2-dynamic-list.mjs +755 -259
  66. package/fesm2022/rt-tools-ui-kit-v2-dynamic-list.mjs.map +1 -1
  67. package/fesm2022/rt-tools-ui-kit-v2-dynamic-selector.mjs +3266 -1115
  68. package/fesm2022/rt-tools-ui-kit-v2-dynamic-selector.mjs.map +1 -1
  69. package/fesm2022/rt-tools-ui-kit-v2-empty-state.mjs +190 -55
  70. package/fesm2022/rt-tools-ui-kit-v2-empty-state.mjs.map +1 -1
  71. package/fesm2022/rt-tools-ui-kit-v2-expansion-panel.mjs +283 -103
  72. package/fesm2022/rt-tools-ui-kit-v2-expansion-panel.mjs.map +1 -1
  73. package/fesm2022/rt-tools-ui-kit-v2-field.mjs +393 -177
  74. package/fesm2022/rt-tools-ui-kit-v2-field.mjs.map +1 -1
  75. package/fesm2022/rt-tools-ui-kit-v2-file-card.mjs +399 -207
  76. package/fesm2022/rt-tools-ui-kit-v2-file-card.mjs.map +1 -1
  77. package/fesm2022/rt-tools-ui-kit-v2-file-drop.mjs +288 -212
  78. package/fesm2022/rt-tools-ui-kit-v2-file-drop.mjs.map +1 -1
  79. package/fesm2022/rt-tools-ui-kit-v2-file-input.mjs +262 -116
  80. package/fesm2022/rt-tools-ui-kit-v2-file-input.mjs.map +1 -1
  81. package/fesm2022/rt-tools-ui-kit-v2-file-list.mjs +57 -31
  82. package/fesm2022/rt-tools-ui-kit-v2-file-list.mjs.map +1 -1
  83. package/fesm2022/rt-tools-ui-kit-v2-filter-control.mjs +258 -90
  84. package/fesm2022/rt-tools-ui-kit-v2-filter-control.mjs.map +1 -1
  85. package/fesm2022/rt-tools-ui-kit-v2-form-control.mjs +249 -215
  86. package/fesm2022/rt-tools-ui-kit-v2-form-control.mjs.map +1 -1
  87. package/fesm2022/rt-tools-ui-kit-v2-header.mjs +199 -71
  88. package/fesm2022/rt-tools-ui-kit-v2-header.mjs.map +1 -1
  89. package/fesm2022/rt-tools-ui-kit-v2-hybrid-tree-selector.mjs +231 -0
  90. package/fesm2022/rt-tools-ui-kit-v2-hybrid-tree-selector.mjs.map +1 -0
  91. package/fesm2022/rt-tools-ui-kit-v2-hybrid-tree.mjs +336 -0
  92. package/fesm2022/rt-tools-ui-kit-v2-hybrid-tree.mjs.map +1 -0
  93. package/fesm2022/rt-tools-ui-kit-v2-icon-button.mjs +451 -162
  94. package/fesm2022/rt-tools-ui-kit-v2-icon-button.mjs.map +1 -1
  95. package/fesm2022/rt-tools-ui-kit-v2-icon.mjs +931 -686
  96. package/fesm2022/rt-tools-ui-kit-v2-icon.mjs.map +1 -1
  97. package/fesm2022/rt-tools-ui-kit-v2-image-cropper.mjs +664 -491
  98. package/fesm2022/rt-tools-ui-kit-v2-image-cropper.mjs.map +1 -1
  99. package/fesm2022/rt-tools-ui-kit-v2-image-upload.mjs +574 -222
  100. package/fesm2022/rt-tools-ui-kit-v2-image-upload.mjs.map +1 -1
  101. package/fesm2022/rt-tools-ui-kit-v2-info-item.mjs +150 -36
  102. package/fesm2022/rt-tools-ui-kit-v2-info-item.mjs.map +1 -1
  103. package/fesm2022/rt-tools-ui-kit-v2-inline-edit.mjs +606 -0
  104. package/fesm2022/rt-tools-ui-kit-v2-inline-edit.mjs.map +1 -0
  105. package/fesm2022/rt-tools-ui-kit-v2-input-number.mjs +461 -355
  106. package/fesm2022/rt-tools-ui-kit-v2-input-number.mjs.map +1 -1
  107. package/fesm2022/rt-tools-ui-kit-v2-input.mjs +338 -143
  108. package/fesm2022/rt-tools-ui-kit-v2-input.mjs.map +1 -1
  109. package/fesm2022/rt-tools-ui-kit-v2-live-badge.mjs +135 -48
  110. package/fesm2022/rt-tools-ui-kit-v2-live-badge.mjs.map +1 -1
  111. package/fesm2022/rt-tools-ui-kit-v2-logo.mjs +166 -92
  112. package/fesm2022/rt-tools-ui-kit-v2-logo.mjs.map +1 -1
  113. package/fesm2022/rt-tools-ui-kit-v2-markdown-text.mjs +118 -56
  114. package/fesm2022/rt-tools-ui-kit-v2-markdown-text.mjs.map +1 -1
  115. package/fesm2022/rt-tools-ui-kit-v2-menu.mjs +1054 -527
  116. package/fesm2022/rt-tools-ui-kit-v2-menu.mjs.map +1 -1
  117. package/fesm2022/rt-tools-ui-kit-v2-message.mjs +230 -104
  118. package/fesm2022/rt-tools-ui-kit-v2-message.mjs.map +1 -1
  119. package/fesm2022/rt-tools-ui-kit-v2-money-list.mjs +210 -70
  120. package/fesm2022/rt-tools-ui-kit-v2-money-list.mjs.map +1 -1
  121. package/fesm2022/rt-tools-ui-kit-v2-multiselect.mjs +532 -311
  122. package/fesm2022/rt-tools-ui-kit-v2-multiselect.mjs.map +1 -1
  123. package/fesm2022/rt-tools-ui-kit-v2-night-grid.mjs +125 -50
  124. package/fesm2022/rt-tools-ui-kit-v2-night-grid.mjs.map +1 -1
  125. package/fesm2022/rt-tools-ui-kit-v2-note.mjs +73 -43
  126. package/fesm2022/rt-tools-ui-kit-v2-note.mjs.map +1 -1
  127. package/fesm2022/rt-tools-ui-kit-v2-notifications-bell.mjs +161 -53
  128. package/fesm2022/rt-tools-ui-kit-v2-notifications-bell.mjs.map +1 -1
  129. package/fesm2022/rt-tools-ui-kit-v2-page-header.mjs +491 -310
  130. package/fesm2022/rt-tools-ui-kit-v2-page-header.mjs.map +1 -1
  131. package/fesm2022/rt-tools-ui-kit-v2-pagination.mjs +374 -174
  132. package/fesm2022/rt-tools-ui-kit-v2-pagination.mjs.map +1 -1
  133. package/fesm2022/rt-tools-ui-kit-v2-photo-viewer.mjs +202 -159
  134. package/fesm2022/rt-tools-ui-kit-v2-photo-viewer.mjs.map +1 -1
  135. package/fesm2022/rt-tools-ui-kit-v2-popover.mjs +438 -309
  136. package/fesm2022/rt-tools-ui-kit-v2-popover.mjs.map +1 -1
  137. package/fesm2022/rt-tools-ui-kit-v2-profile-menu.mjs +295 -0
  138. package/fesm2022/rt-tools-ui-kit-v2-profile-menu.mjs.map +1 -0
  139. package/fesm2022/rt-tools-ui-kit-v2-prompt-suggestion.mjs +135 -45
  140. package/fesm2022/rt-tools-ui-kit-v2-prompt-suggestion.mjs.map +1 -1
  141. package/fesm2022/rt-tools-ui-kit-v2-radio-button.mjs +293 -171
  142. package/fesm2022/rt-tools-ui-kit-v2-radio-button.mjs.map +1 -1
  143. package/fesm2022/rt-tools-ui-kit-v2-radius.mjs +62 -55
  144. package/fesm2022/rt-tools-ui-kit-v2-radius.mjs.map +1 -1
  145. package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs +3379 -1466
  146. package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs.map +1 -1
  147. package/fesm2022/rt-tools-ui-kit-v2-ripple.mjs +114 -116
  148. package/fesm2022/rt-tools-ui-kit-v2-ripple.mjs.map +1 -1
  149. package/fesm2022/rt-tools-ui-kit-v2-scroll-area.mjs +406 -299
  150. package/fesm2022/rt-tools-ui-kit-v2-scroll-area.mjs.map +1 -1
  151. package/fesm2022/rt-tools-ui-kit-v2-section-nav.mjs +137 -36
  152. package/fesm2022/rt-tools-ui-kit-v2-section-nav.mjs.map +1 -1
  153. package/fesm2022/rt-tools-ui-kit-v2-select.mjs +687 -468
  154. package/fesm2022/rt-tools-ui-kit-v2-select.mjs.map +1 -1
  155. package/fesm2022/rt-tools-ui-kit-v2-side-menu.mjs +2195 -1569
  156. package/fesm2022/rt-tools-ui-kit-v2-side-menu.mjs.map +1 -1
  157. package/fesm2022/rt-tools-ui-kit-v2-skeleton-wrapper.mjs +187 -48
  158. package/fesm2022/rt-tools-ui-kit-v2-skeleton-wrapper.mjs.map +1 -1
  159. package/fesm2022/rt-tools-ui-kit-v2-skeleton.mjs +242 -122
  160. package/fesm2022/rt-tools-ui-kit-v2-skeleton.mjs.map +1 -1
  161. package/fesm2022/rt-tools-ui-kit-v2-speed-menu.mjs +439 -0
  162. package/fesm2022/rt-tools-ui-kit-v2-speed-menu.mjs.map +1 -0
  163. package/fesm2022/rt-tools-ui-kit-v2-spinner.mjs +218 -69
  164. package/fesm2022/rt-tools-ui-kit-v2-spinner.mjs.map +1 -1
  165. package/fesm2022/rt-tools-ui-kit-v2-split-button.mjs +292 -91
  166. package/fesm2022/rt-tools-ui-kit-v2-split-button.mjs.map +1 -1
  167. package/fesm2022/rt-tools-ui-kit-v2-stat-tile.mjs +225 -138
  168. package/fesm2022/rt-tools-ui-kit-v2-stat-tile.mjs.map +1 -1
  169. package/fesm2022/rt-tools-ui-kit-v2-stepper.mjs +150 -116
  170. package/fesm2022/rt-tools-ui-kit-v2-stepper.mjs.map +1 -1
  171. package/fesm2022/rt-tools-ui-kit-v2-table.mjs +2462 -1583
  172. package/fesm2022/rt-tools-ui-kit-v2-table.mjs.map +1 -1
  173. package/fesm2022/rt-tools-ui-kit-v2-tabs.mjs +647 -346
  174. package/fesm2022/rt-tools-ui-kit-v2-tabs.mjs.map +1 -1
  175. package/fesm2022/rt-tools-ui-kit-v2-tag.mjs +335 -121
  176. package/fesm2022/rt-tools-ui-kit-v2-tag.mjs.map +1 -1
  177. package/fesm2022/rt-tools-ui-kit-v2-textarea.mjs +217 -84
  178. package/fesm2022/rt-tools-ui-kit-v2-textarea.mjs.map +1 -1
  179. package/fesm2022/rt-tools-ui-kit-v2-theme-toggle.mjs +151 -72
  180. package/fesm2022/rt-tools-ui-kit-v2-theme-toggle.mjs.map +1 -1
  181. package/fesm2022/rt-tools-ui-kit-v2-thread-list.mjs +697 -226
  182. package/fesm2022/rt-tools-ui-kit-v2-thread-list.mjs.map +1 -1
  183. package/fesm2022/rt-tools-ui-kit-v2-timeline.mjs +92 -38
  184. package/fesm2022/rt-tools-ui-kit-v2-timeline.mjs.map +1 -1
  185. package/fesm2022/rt-tools-ui-kit-v2-toast.mjs +752 -338
  186. package/fesm2022/rt-tools-ui-kit-v2-toast.mjs.map +1 -1
  187. package/fesm2022/rt-tools-ui-kit-v2-toggle-button-group.mjs +310 -129
  188. package/fesm2022/rt-tools-ui-kit-v2-toggle-button-group.mjs.map +1 -1
  189. package/fesm2022/rt-tools-ui-kit-v2-toggle-switch.mjs +286 -158
  190. package/fesm2022/rt-tools-ui-kit-v2-toggle-switch.mjs.map +1 -1
  191. package/fesm2022/rt-tools-ui-kit-v2-toolbar.mjs +270 -134
  192. package/fesm2022/rt-tools-ui-kit-v2-toolbar.mjs.map +1 -1
  193. package/fesm2022/rt-tools-ui-kit-v2-tooltip.mjs +322 -202
  194. package/fesm2022/rt-tools-ui-kit-v2-tooltip.mjs.map +1 -1
  195. package/fesm2022/rt-tools-ui-kit-v2-tree-selector.mjs +908 -0
  196. package/fesm2022/rt-tools-ui-kit-v2-tree-selector.mjs.map +1 -0
  197. package/fesm2022/rt-tools-ui-kit-v2-tree.mjs +785 -0
  198. package/fesm2022/rt-tools-ui-kit-v2-tree.mjs.map +1 -0
  199. package/fesm2022/rt-tools-ui-kit-v2-welcome-dialog.mjs +118 -63
  200. package/fesm2022/rt-tools-ui-kit-v2-welcome-dialog.mjs.map +1 -1
  201. package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs +783 -262
  202. package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs.map +1 -1
  203. package/fesm2022/rt-tools-ui-kit-v2-workspace.mjs +633 -294
  204. package/fesm2022/rt-tools-ui-kit-v2-workspace.mjs.map +1 -1
  205. package/fesm2022/rt-tools-ui-kit-v2.mjs +100 -103
  206. package/package.json +45 -1
  207. package/src/assets/icons/collapse-all.svg +9 -0
  208. package/src/assets/icons/expand-all.svg +9 -0
  209. package/src/assets/icons-material/collapse-all.fill.svg +5 -0
  210. package/src/assets/icons-material/collapse-all.svg +5 -0
  211. package/src/assets/icons-material/expand-all.fill.svg +5 -0
  212. package/src/assets/icons-material/expand-all.svg +5 -0
  213. package/src/assets/icons-material/undo.fill.svg +5 -0
  214. package/src/assets/icons-material/undo.svg +5 -0
  215. package/src/lib/components/bottom-sheet/CONTEXT.md +20 -2
  216. package/src/lib/components/bottom-sheet/rt-bottom-sheet.component.scss +36 -1
  217. package/src/lib/components/breadcrumbs/CONTEXT.md +37 -0
  218. package/src/lib/components/breadcrumbs/rt-breadcrumbs.component.scss +205 -0
  219. package/src/lib/components/carousel/CONTEXT.md +42 -0
  220. package/src/lib/components/carousel/rt-carousel.component.scss +117 -0
  221. package/src/lib/components/checkbox/CONTEXT.md +3 -0
  222. package/src/lib/components/checkbox/rt-checkbox.component.scss +9 -3
  223. package/src/lib/components/color-palette/CONTEXT.md +49 -0
  224. package/src/lib/components/color-palette/picker/rt-color-picker.component.scss +161 -0
  225. package/src/lib/components/color-palette/rt-color-palette.component.scss +132 -0
  226. package/src/lib/components/draggable-tree/CONTEXT.md +54 -0
  227. package/src/lib/components/draggable-tree/rt-draggable-tree.component.scss +219 -0
  228. package/src/lib/components/hybrid-tree/CONTEXT.md +31 -0
  229. package/src/lib/components/hybrid-tree-selector/CONTEXT.md +25 -0
  230. package/src/lib/components/icon-button/CONTEXT.md +3 -0
  231. package/src/lib/components/inline-edit/CONTEXT.md +41 -0
  232. package/src/lib/components/inline-edit/rt-inline-edit.component.scss +274 -0
  233. package/src/lib/components/popover/CONTEXT.md +3 -0
  234. package/src/lib/components/profile-menu/CONTEXT.md +32 -0
  235. package/src/lib/components/profile-menu/rt-profile-menu.component.scss +104 -0
  236. package/src/lib/components/speed-menu/CONTEXT.md +34 -0
  237. package/src/lib/components/speed-menu/rt-speed-menu.component.scss +118 -0
  238. package/src/lib/components/tag/rt-tag.component.scss +12 -0
  239. package/src/lib/components/thread-list/CONTEXT.md +1 -0
  240. package/src/lib/components/thread-list/rt-thread-list.component.scss +2 -1
  241. package/src/lib/components/toolbar/CONTEXT.md +9 -4
  242. package/src/lib/components/toolbar/rt-toolbar.component.scss +10 -2
  243. package/src/lib/components/tooltip/CONTEXT.md +8 -1
  244. package/src/lib/components/tree/CONTEXT.md +66 -0
  245. package/src/lib/components/tree/rt-tree.component.scss +313 -0
  246. package/src/lib/components/tree-selector/CONTEXT.md +47 -0
  247. package/src/lib/components/tree-selector/rt-tree-selector.component.scss +121 -0
  248. package/src/styles/_primitives.scss +4 -0
  249. package/src/styles/_semantic.scss +5 -0
  250. package/styles/tokens.css +43 -0
  251. package/types/rt-tools-ui-kit-v2-accordion.d.ts +31 -24
  252. package/types/rt-tools-ui-kit-v2-action-bar.d.ts +112 -91
  253. package/types/rt-tools-ui-kit-v2-ai-run-status.d.ts +64 -40
  254. package/types/rt-tools-ui-kit-v2-aside-section.d.ts +13 -10
  255. package/types/rt-tools-ui-kit-v2-aside.d.ts +268 -206
  256. package/types/rt-tools-ui-kit-v2-autocomplete.d.ts +102 -61
  257. package/types/rt-tools-ui-kit-v2-bar-list.d.ts +39 -27
  258. package/types/rt-tools-ui-kit-v2-bottom-sheet.d.ts +31 -20
  259. package/types/rt-tools-ui-kit-v2-breadcrumbs.d.ts +89 -0
  260. package/types/rt-tools-ui-kit-v2-button.d.ts +119 -59
  261. package/types/rt-tools-ui-kit-v2-calendar.d.ts +151 -86
  262. package/types/rt-tools-ui-kit-v2-card.d.ts +42 -21
  263. package/types/rt-tools-ui-kit-v2-carousel.d.ts +76 -0
  264. package/types/rt-tools-ui-kit-v2-checkbox.d.ts +48 -24
  265. package/types/rt-tools-ui-kit-v2-collapsible-text.d.ts +28 -20
  266. package/types/rt-tools-ui-kit-v2-color-palette.d.ts +208 -0
  267. package/types/rt-tools-ui-kit-v2-confirm-popover.d.ts +104 -47
  268. package/types/rt-tools-ui-kit-v2-container.d.ts +278 -221
  269. package/types/rt-tools-ui-kit-v2-copy-value.d.ts +39 -24
  270. package/types/rt-tools-ui-kit-v2-core.d.ts +862 -865
  271. package/types/rt-tools-ui-kit-v2-counter-row.d.ts +20 -12
  272. package/types/rt-tools-ui-kit-v2-counter.d.ts +70 -38
  273. package/types/rt-tools-ui-kit-v2-data-list.d.ts +429 -264
  274. package/types/rt-tools-ui-kit-v2-data-table.d.ts +500 -351
  275. package/types/rt-tools-ui-kit-v2-date-picker.d.ts +164 -138
  276. package/types/rt-tools-ui-kit-v2-date-range.d.ts +102 -84
  277. package/types/rt-tools-ui-kit-v2-delta-view.d.ts +16 -13
  278. package/types/rt-tools-ui-kit-v2-detail-list.d.ts +23 -16
  279. package/types/rt-tools-ui-kit-v2-dialog.d.ts +130 -101
  280. package/types/rt-tools-ui-kit-v2-dot-field.d.ts +10 -13
  281. package/types/rt-tools-ui-kit-v2-download-link.d.ts +22 -17
  282. package/types/rt-tools-ui-kit-v2-draggable-tree.d.ts +132 -0
  283. package/types/rt-tools-ui-kit-v2-dynamic-list.d.ts +185 -96
  284. package/types/rt-tools-ui-kit-v2-dynamic-selector.d.ts +904 -404
  285. package/types/rt-tools-ui-kit-v2-empty-state.d.ts +48 -19
  286. package/types/rt-tools-ui-kit-v2-expansion-panel.d.ts +67 -39
  287. package/types/rt-tools-ui-kit-v2-field.d.ts +90 -49
  288. package/types/rt-tools-ui-kit-v2-file-card.d.ts +115 -75
  289. package/types/rt-tools-ui-kit-v2-file-drop.d.ts +75 -48
  290. package/types/rt-tools-ui-kit-v2-file-input.d.ts +53 -36
  291. package/types/rt-tools-ui-kit-v2-file-list.d.ts +5 -8
  292. package/types/rt-tools-ui-kit-v2-filter-control.d.ts +83 -49
  293. package/types/rt-tools-ui-kit-v2-form-control.d.ts +102 -74
  294. package/types/rt-tools-ui-kit-v2-header.d.ts +40 -22
  295. package/types/rt-tools-ui-kit-v2-hybrid-tree-selector.d.ts +14 -0
  296. package/types/rt-tools-ui-kit-v2-hybrid-tree.d.ts +72 -0
  297. package/types/rt-tools-ui-kit-v2-icon-button.d.ts +190 -90
  298. package/types/rt-tools-ui-kit-v2-icon.d.ts +160 -129
  299. package/types/rt-tools-ui-kit-v2-image-cropper.d.ts +151 -111
  300. package/types/rt-tools-ui-kit-v2-image-upload.d.ts +159 -85
  301. package/types/rt-tools-ui-kit-v2-info-item.d.ts +26 -13
  302. package/types/rt-tools-ui-kit-v2-inline-edit.d.ts +194 -0
  303. package/types/rt-tools-ui-kit-v2-input-number.d.ts +102 -53
  304. package/types/rt-tools-ui-kit-v2-input.d.ts +82 -43
  305. package/types/rt-tools-ui-kit-v2-live-badge.d.ts +30 -17
  306. package/types/rt-tools-ui-kit-v2-logo.d.ts +49 -32
  307. package/types/rt-tools-ui-kit-v2-markdown-text.d.ts +26 -17
  308. package/types/rt-tools-ui-kit-v2-menu.d.ts +272 -155
  309. package/types/rt-tools-ui-kit-v2-message.d.ts +59 -33
  310. package/types/rt-tools-ui-kit-v2-money-list.d.ts +36 -18
  311. package/types/rt-tools-ui-kit-v2-multiselect.d.ts +114 -80
  312. package/types/rt-tools-ui-kit-v2-night-grid.d.ts +34 -25
  313. package/types/rt-tools-ui-kit-v2-note.d.ts +12 -9
  314. package/types/rt-tools-ui-kit-v2-notifications-bell.d.ts +37 -16
  315. package/types/rt-tools-ui-kit-v2-page-header.d.ts +218 -150
  316. package/types/rt-tools-ui-kit-v2-pagination.d.ts +99 -63
  317. package/types/rt-tools-ui-kit-v2-photo-viewer.d.ts +61 -66
  318. package/types/rt-tools-ui-kit-v2-popover.d.ts +116 -55
  319. package/types/rt-tools-ui-kit-v2-profile-menu.d.ts +103 -0
  320. package/types/rt-tools-ui-kit-v2-prompt-suggestion.d.ts +26 -16
  321. package/types/rt-tools-ui-kit-v2-radio-button.d.ts +85 -43
  322. package/types/rt-tools-ui-kit-v2-radius.d.ts +18 -15
  323. package/types/rt-tools-ui-kit-v2-rich-editor.d.ts +931 -590
  324. package/types/rt-tools-ui-kit-v2-ripple.d.ts +28 -25
  325. package/types/rt-tools-ui-kit-v2-scroll-area.d.ts +60 -58
  326. package/types/rt-tools-ui-kit-v2-section-nav.d.ts +32 -22
  327. package/types/rt-tools-ui-kit-v2-select.d.ts +182 -139
  328. package/types/rt-tools-ui-kit-v2-side-menu.d.ts +452 -349
  329. package/types/rt-tools-ui-kit-v2-skeleton-wrapper.d.ts +53 -20
  330. package/types/rt-tools-ui-kit-v2-skeleton.d.ts +55 -26
  331. package/types/rt-tools-ui-kit-v2-speed-menu.d.ts +131 -0
  332. package/types/rt-tools-ui-kit-v2-spinner.d.ts +56 -28
  333. package/types/rt-tools-ui-kit-v2-split-button.d.ts +96 -55
  334. package/types/rt-tools-ui-kit-v2-stat-tile.d.ts +88 -60
  335. package/types/rt-tools-ui-kit-v2-stepper.d.ts +50 -37
  336. package/types/rt-tools-ui-kit-v2-table.d.ts +631 -480
  337. package/types/rt-tools-ui-kit-v2-tabs.d.ts +198 -113
  338. package/types/rt-tools-ui-kit-v2-tag.d.ts +106 -53
  339. package/types/rt-tools-ui-kit-v2-textarea.d.ts +48 -25
  340. package/types/rt-tools-ui-kit-v2-theme-toggle.d.ts +28 -26
  341. package/types/rt-tools-ui-kit-v2-thread-list.d.ts +154 -94
  342. package/types/rt-tools-ui-kit-v2-timeline.d.ts +30 -28
  343. package/types/rt-tools-ui-kit-v2-toast.d.ts +174 -98
  344. package/types/rt-tools-ui-kit-v2-toggle-button-group.d.ts +132 -86
  345. package/types/rt-tools-ui-kit-v2-toggle-switch.d.ts +88 -50
  346. package/types/rt-tools-ui-kit-v2-toolbar.d.ts +30 -27
  347. package/types/rt-tools-ui-kit-v2-tooltip.d.ts +65 -41
  348. package/types/rt-tools-ui-kit-v2-tree-selector.d.ts +257 -0
  349. package/types/rt-tools-ui-kit-v2-tree.d.ts +282 -0
  350. package/types/rt-tools-ui-kit-v2-welcome-dialog.d.ts +21 -24
  351. package/types/rt-tools-ui-kit-v2-workspace-details.d.ts +195 -124
  352. package/types/rt-tools-ui-kit-v2-workspace.d.ts +122 -79
  353. package/types/rt-tools-ui-kit-v2.d.ts +100 -90
  354. package/fesm2022/rt-tools-ui-kit-v2.mjs.map +0 -1
@@ -1,24 +1,22 @@
1
- import { BooleanInput } from '@angular/cdk/coercion';
2
- import * as i0 from '@angular/core';
3
- import { WritableSignal, Signal, InputSignalWithTransform, InputSignal, OutputEmitterRef } from '@angular/core';
4
- import * as i1 from '@rt-tools/ui-kit-v2/radius';
5
-
1
+ import { BooleanInput } from "@angular/cdk/coercion";
2
+ import * as i0 from "@angular/core";
3
+ import { InputSignal, InputSignalWithTransform, OutputEmitterRef, Signal, WritableSignal } from "@angular/core";
4
+ import * as i1 from "@rt-tools/ui-kit-v2/radius";
6
5
  /** Контракты rt-file-drop: мультизонный оверлей и адресный drop. */
7
- declare namespace IRtFileDrop {
8
- /** Зона drop-оверлея; зоны рисуются вертикальной стопкой равной высоты. */
9
- interface Zone {
10
- id: string;
11
- label: string;
12
- /** Вторая строка подсказки (акцентная, под label). */
13
- sublabel?: string;
14
- }
15
- /** Результат drop'а при мультизонном режиме: файлы + зона, куда их бросили. */
16
- interface ZoneDrop {
17
- zoneId: string;
18
- files: File[];
19
- }
6
+ export declare namespace IRtFileDrop {
7
+ /** Зона drop-оверлея; зоны рисуются вертикальной стопкой равной высоты. */
8
+ interface Zone {
9
+ id: string;
10
+ label: string;
11
+ /** Вторая строка подсказки (акцентная, под label). */
12
+ sublabel?: string;
13
+ }
14
+ /** Результат drop'а при мультизонном режиме: файлы + зона, куда их бросили. */
15
+ interface ZoneDrop {
16
+ zoneId: string;
17
+ files: File[];
18
+ }
20
19
  }
21
-
22
20
  /**
23
21
  * Зона перетаскивания файлов: оборачивает произвольный контент через
24
22
  * content-projection и превращает его в drop-зону. При перетаскивании файла над
@@ -44,32 +42,61 @@ declare namespace IRtFileDrop {
44
42
  * Оверлей `pointer-events: none` — не перехватывает drag/drop, события доходят до
45
43
  * host-listener'ов.
46
44
  */
47
- declare class RtFileDropComponent {
48
- #private;
49
- /** Активна ли подсветка drop-зоны (файл тащат над областью). */
50
- protected readonly isDragging: WritableSignal<boolean>;
51
- /** Зона под курсором в мультизонном режиме (id из `zones`). */
52
- protected readonly activeZoneId: WritableSignal<string | null>;
53
- protected readonly hasZones: Signal<boolean>;
54
- protected readonly overlayText: Signal<string>;
55
- /** Приём drop'а выключен (потребитель решает по своему контексту). */
56
- readonly disabled: InputSignalWithTransform<boolean, BooleanInput>;
57
- /** Пусто — берётся переведённая подпись по умолчанию */
58
- readonly overlayLabel: InputSignal<string>;
59
- /** Мультизонный режим: непустой список зон делит оверлей на стопку целей. */
60
- readonly zones: InputSignal<readonly IRtFileDrop.Zone[]>;
61
- /** Фильтр расширений/MIME (формат нативного input[accept]); пусто — без фильтра. */
62
- readonly accept: InputSignal<string>;
63
- readonly filesDropped: OutputEmitterRef<File[]>;
64
- /** Drop в мультизонном режиме: файлы + id зоны, куда их бросили. */
65
- readonly zoneFilesDropped: OutputEmitterRef<IRtFileDrop.ZoneDrop>;
66
- readonly draggingChange: OutputEmitterRef<boolean>;
67
- constructor();
68
- protected onDragOver(event: DragEvent): void;
69
- protected onDragLeave(event: DragEvent): void;
70
- protected onDrop(event: DragEvent): void;
71
- static ɵfac: i0.ɵɵFactoryDeclaration<RtFileDropComponent, never>;
72
- static ɵcmp: i0.ɵɵComponentDeclaration<RtFileDropComponent, "rt-file-drop", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "overlayLabel": { "alias": "overlayLabel"; "required": false; "isSignal": true; }; "zones": { "alias": "zones"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; }, { "filesDropped": "filesDropped"; "zoneFilesDropped": "zoneFilesDropped"; "draggingChange": "draggingChange"; }, never, ["*"], true, [{ directive: typeof i1.RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
73
- }
74
-
75
- export { IRtFileDrop, RtFileDropComponent };
45
+ export declare class RtFileDropComponent {
46
+ #private;
47
+ /** Активна ли подсветка drop-зоны (файл тащат над областью). */
48
+ protected readonly isDragging: WritableSignal<boolean>;
49
+ /** Зона под курсором в мультизонном режиме (id из `zones`). */
50
+ protected readonly activeZoneId: WritableSignal<string | null>;
51
+ protected readonly hasZones: Signal<boolean>;
52
+ protected readonly overlayText: Signal<string>;
53
+ /** Приём drop'а выключен (потребитель решает по своему контексту). */
54
+ readonly disabled: InputSignalWithTransform<boolean, BooleanInput>;
55
+ /** Пусто — берётся переведённая подпись по умолчанию */
56
+ readonly overlayLabel: InputSignal<string>;
57
+ /** Мультизонный режим: непустой список зон делит оверлей на стопку целей. */
58
+ readonly zones: InputSignal<readonly IRtFileDrop.Zone[]>;
59
+ /** Фильтр расширений/MIME (формат нативного input[accept]); пусто — без фильтра. */
60
+ readonly accept: InputSignal<string>;
61
+ readonly filesDropped: OutputEmitterRef<File[]>;
62
+ /** Drop в мультизонном режиме: файлы + id зоны, куда их бросили. */
63
+ readonly zoneFilesDropped: OutputEmitterRef<IRtFileDrop.ZoneDrop>;
64
+ readonly draggingChange: OutputEmitterRef<boolean>;
65
+ constructor();
66
+ protected onDragOver(event: DragEvent): void;
67
+ protected onDragLeave(event: DragEvent): void;
68
+ protected onDrop(event: DragEvent): void;
69
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtFileDropComponent, never>;
70
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtFileDropComponent, "rt-file-drop", never, {
71
+ "disabled": {
72
+ "alias": "disabled";
73
+ "required": false;
74
+ "isSignal": true;
75
+ };
76
+ "overlayLabel": {
77
+ "alias": "overlayLabel";
78
+ "required": false;
79
+ "isSignal": true;
80
+ };
81
+ "zones": {
82
+ "alias": "zones";
83
+ "required": false;
84
+ "isSignal": true;
85
+ };
86
+ "accept": {
87
+ "alias": "accept";
88
+ "required": false;
89
+ "isSignal": true;
90
+ };
91
+ }, {
92
+ "filesDropped": "filesDropped";
93
+ "zoneFilesDropped": "zoneFilesDropped";
94
+ "draggingChange": "draggingChange";
95
+ }, never, ["*"], true, [{
96
+ directive: typeof i1.RtRadiusDirective;
97
+ inputs: {
98
+ "radius": "radius";
99
+ };
100
+ outputs: {};
101
+ }]>;
102
+ }
@@ -1,8 +1,7 @@
1
- import { BooleanInput } from '@angular/cdk/coercion';
2
- import * as i0 from '@angular/core';
3
- import { Signal, ElementRef, InputSignalWithTransform, InputSignal } from '@angular/core';
4
- import { RtFormControlBase } from '@rt-tools/ui-kit-v2/form-control';
5
-
1
+ import { BooleanInput } from "@angular/cdk/coercion";
2
+ import * as i0 from "@angular/core";
3
+ import { ElementRef, InputSignal, InputSignalWithTransform, Signal } from "@angular/core";
4
+ import { RtFormControlBase } from "@rt-tools/ui-kit-v2/form-control";
6
5
  /**
7
6
  * Поле выбора файлов: кнопка «выбрать» + список выбранных файлов карточками
8
7
  * `rt-file-card` (иконка типа, имя, размер, удаление). Скрывает нативный
@@ -13,36 +12,54 @@ import { RtFormControlBase } from '@rt-tools/ui-kit-v2/form-control';
13
12
  * Без drag-drop (MVP). `accept` пробрасывается в нативный input, `multiple`
14
13
  * включает множественный выбор.
15
14
  */
16
- declare class RtFileInputComponent extends RtFormControlBase<File[]> {
17
- #private;
18
- protected readonly fileEl: Signal<ElementRef<HTMLInputElement> | undefined>;
19
- protected readonly buttonText: Signal<string>;
20
- protected readonly hasValue: Signal<boolean>;
21
- readonly displayText: Signal<string>;
22
- readonly multiple: InputSignalWithTransform<boolean, BooleanInput>;
23
- readonly accept: InputSignal<string | null>;
24
- /**
25
- * Выбор каталога целиком вместо отдельных файлов. Браузер отдаёт
26
- * относительные пути (`webkitRelativePath`), по ним вызывающая сторона
27
- * восстанавливает структуру — иначе пользователю пришлось бы выбирать
28
- * десятки файлов по одному.
29
- */
30
- readonly directory: InputSignalWithTransform<boolean, BooleanInput>;
31
- /** Пусто — берётся переведённая подпись по умолчанию */
32
- readonly buttonLabel: InputSignal<string>;
33
- protected getEmptyValue(): File[];
34
- protected focusAfterClear(): void;
35
- protected openPicker(): void;
36
- protected onFiles(event: Event): void;
37
- protected removeFile(index: number): void;
38
- static ɵfac: i0.ɵɵFactoryDeclaration<RtFileInputComponent, never>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<RtFileInputComponent, "rt-file-input", never, { "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "directory": { "alias": "directory"; "required": false; "isSignal": true; }; "buttonLabel": { "alias": "buttonLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
15
+ export declare class RtFileInputComponent extends RtFormControlBase<File[]> {
16
+ #private;
17
+ protected readonly fileEl: Signal<ElementRef<HTMLInputElement> | undefined>;
18
+ protected readonly buttonText: Signal<string>;
19
+ protected readonly hasValue: Signal<boolean>;
20
+ readonly displayText: Signal<string>;
21
+ readonly multiple: InputSignalWithTransform<boolean, BooleanInput>;
22
+ readonly accept: InputSignal<string | null>;
23
+ /**
24
+ * Выбор каталога целиком вместо отдельных файлов. Браузер отдаёт
25
+ * относительные пути (`webkitRelativePath`), по ним вызывающая сторона
26
+ * восстанавливает структуру — иначе пользователю пришлось бы выбирать
27
+ * десятки файлов по одному.
28
+ */
29
+ readonly directory: InputSignalWithTransform<boolean, BooleanInput>;
30
+ /** Пусто — берётся переведённая подпись по умолчанию */
31
+ readonly buttonLabel: InputSignal<string>;
32
+ protected getEmptyValue(): File[];
33
+ protected focusAfterClear(): void;
34
+ protected openPicker(): void;
35
+ protected onFiles(event: Event): void;
36
+ protected removeFile(index: number): void;
37
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtFileInputComponent, never>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtFileInputComponent, "rt-file-input", never, {
39
+ "multiple": {
40
+ "alias": "multiple";
41
+ "required": false;
42
+ "isSignal": true;
43
+ };
44
+ "accept": {
45
+ "alias": "accept";
46
+ "required": false;
47
+ "isSignal": true;
48
+ };
49
+ "directory": {
50
+ "alias": "directory";
51
+ "required": false;
52
+ "isSignal": true;
53
+ };
54
+ "buttonLabel": {
55
+ "alias": "buttonLabel";
56
+ "required": false;
57
+ "isSignal": true;
58
+ };
59
+ }, {}, never, never, true, never>;
40
60
  }
41
-
42
61
  /** Контракт rt-file-input. */
43
- declare namespace IRtFileInput {
44
- /** value контрола — всегда массив (одиночный режим = максимум 1 файл). */
45
- type Value = File[];
46
- }
47
-
48
- export { IRtFileInput, RtFileInputComponent };
62
+ export declare namespace IRtFileInput {
63
+ /** value контрола — всегда массив (одиночный режим = максимум 1 файл). */
64
+ type Value = File[];
65
+ }
@@ -1,13 +1,10 @@
1
- import * as i0 from '@angular/core';
2
-
1
+ import * as i0 from "@angular/core";
3
2
  /**
4
3
  * Вертикальный контейнер для карточек файлов (`rt-file-card`): задаёт отступы между
5
4
  * карточками и растягивает их по ширине. Чисто презентационный — содержимое
6
5
  * проецируется через `<ng-content />`, логику списка держит caller.
7
6
  */
8
- declare class RtFileListComponent {
9
- static ɵfac: i0.ɵɵFactoryDeclaration<RtFileListComponent, never>;
10
- static ɵcmp: i0.ɵɵComponentDeclaration<RtFileListComponent, "rt-file-list", never, {}, {}, never, ["*"], true, never>;
11
- }
12
-
13
- export { RtFileListComponent };
7
+ export declare class RtFileListComponent {
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtFileListComponent, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtFileListComponent, "rt-file-list", never, {}, {}, never, ["*"], true, never>;
10
+ }
@@ -1,34 +1,32 @@
1
- import { BooleanInput } from '@angular/cdk/coercion';
2
- import * as i0 from '@angular/core';
3
- import { Signal, InputSignal, InputSignalWithTransform, OutputEmitterRef } from '@angular/core';
4
- import { IRtSelect } from '@rt-tools/ui-kit-v2/select';
5
- import { IRtIcon } from '@rt-tools/ui-kit-v2/core';
6
-
1
+ import { BooleanInput } from "@angular/cdk/coercion";
2
+ import * as i0 from "@angular/core";
3
+ import { InputSignal, InputSignalWithTransform, OutputEmitterRef, Signal } from "@angular/core";
4
+ import { IRtSelect } from "@rt-tools/ui-kit-v2/select";
5
+ import { IRtIcon } from "@rt-tools/ui-kit-v2/core";
7
6
  /**
8
7
  * Модель `<rt-filter-control>`: один корневой неймспейс с
9
8
  * префиксом `I`. Форма опции повторяет `IRtToggleButtonGroup.Option`, поэтому
10
9
  * существующие массивы фильтров присваиваются структурно, без кастов. Generic
11
10
  * `T` пробрасывается в `Option<T>`.
12
11
  */
13
- declare namespace IRtFilterControl {
14
- /** Размерный тир — совпадает с rt-toggle-button-group / rt-select. */
15
- type Size = 'sm' | 'md' | 'lg';
16
- /**
17
- * Описание одной опции фильтра.
18
- *
19
- * - `value` — эмитится в `valueChange`.
20
- * - `label` — текстовая подпись.
21
- * - `icon` / `title` — используются только сегментами (десктоп); rt-select
22
- * в узком режиме их игнорирует.
23
- */
24
- interface Option<T = string> {
25
- readonly value: T;
26
- readonly label: string;
27
- readonly icon?: IRtIcon.Name;
28
- readonly title?: string;
29
- }
12
+ export declare namespace IRtFilterControl {
13
+ /** Размерный тир — совпадает с rt-toggle-button-group / rt-select. */
14
+ type Size = 'sm' | 'md' | 'lg';
15
+ /**
16
+ * Описание одной опции фильтра.
17
+ *
18
+ * - `value` — эмитится в `valueChange`.
19
+ * - `label` — текстовая подпись.
20
+ * - `icon` / `title` — используются только сегментами (десктоп); rt-select
21
+ * в узком режиме их игнорирует.
22
+ */
23
+ interface Option<T = string> {
24
+ readonly value: T;
25
+ readonly label: string;
26
+ readonly icon?: IRtIcon.Name;
27
+ readonly title?: string;
28
+ }
30
29
  }
31
-
32
30
  /**
33
31
  * Адаптивный фильтр-контрол для тулбаров list-страниц.
34
32
  *
@@ -45,28 +43,64 @@ declare namespace IRtFilterControl {
45
43
  *
46
44
  * Generic `<T = string>` сохраняет типизацию по value (union'ы, enum'ы).
47
45
  */
48
- declare class RtFilterControlComponent<T = string> {
49
- #private;
50
- protected readonly isNarrow: Signal<boolean>;
51
- /** Проекция опций фильтра в форму rt-select (icon/title отбрасываются). */
52
- protected readonly selectOptions: Signal<ReadonlyArray<IRtSelect.Option<T>>>;
53
- readonly options: InputSignal<ReadonlyArray<IRtFilterControl.Option<T>>>;
54
- readonly value: InputSignal<T | undefined>;
55
- readonly ariaLabel: InputSignal<string | null>;
56
- readonly placeholder: InputSignal<string>;
57
- /**
58
- * Размер сегментов (десктоп). На узком экране select всегда рендерится в md,
59
- * чтобы совпадать по высоте и ширине со строкой поиска list-страницы.
60
- */
61
- readonly size: InputSignal<IRtFilterControl.Size>;
62
- readonly disabled: InputSignalWithTransform<boolean, BooleanInput>;
63
- /** Растягивает сегменты на всю ширину контейнера (только десктоп-вариант). */
64
- readonly fullWidth: InputSignalWithTransform<boolean, BooleanInput>;
65
- readonly valueChange: OutputEmitterRef<T>;
66
- protected onValueChange(value: T): void;
67
- protected onSelectionChange(value: T | null): void;
68
- static ɵfac: i0.ɵɵFactoryDeclaration<RtFilterControlComponent<any>, never>;
69
- static ɵcmp: i0.ɵɵComponentDeclaration<RtFilterControlComponent<any>, "rt-filter-control", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; }, { "valueChange": "valueChange"; }, never, never, true, never>;
70
- }
71
-
72
- export { IRtFilterControl, RtFilterControlComponent };
46
+ export declare class RtFilterControlComponent<T = string> {
47
+ #private;
48
+ protected readonly isNarrow: Signal<boolean>;
49
+ /** Проекция опций фильтра в форму rt-select (icon/title отбрасываются). */
50
+ protected readonly selectOptions: Signal<ReadonlyArray<IRtSelect.Option<T>>>;
51
+ readonly options: InputSignal<ReadonlyArray<IRtFilterControl.Option<T>>>;
52
+ readonly value: InputSignal<T | undefined>;
53
+ readonly ariaLabel: InputSignal<string | null>;
54
+ readonly placeholder: InputSignal<string>;
55
+ /**
56
+ * Размер сегментов (десктоп). На узком экране select всегда рендерится в md,
57
+ * чтобы совпадать по высоте и ширине со строкой поиска list-страницы.
58
+ */
59
+ readonly size: InputSignal<IRtFilterControl.Size>;
60
+ readonly disabled: InputSignalWithTransform<boolean, BooleanInput>;
61
+ /** Растягивает сегменты на всю ширину контейнера (только десктоп-вариант). */
62
+ readonly fullWidth: InputSignalWithTransform<boolean, BooleanInput>;
63
+ readonly valueChange: OutputEmitterRef<T>;
64
+ protected onValueChange(value: T): void;
65
+ protected onSelectionChange(value: T | null): void;
66
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtFilterControlComponent<any>, never>;
67
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtFilterControlComponent<any>, "rt-filter-control", never, {
68
+ "options": {
69
+ "alias": "options";
70
+ "required": true;
71
+ "isSignal": true;
72
+ };
73
+ "value": {
74
+ "alias": "value";
75
+ "required": false;
76
+ "isSignal": true;
77
+ };
78
+ "ariaLabel": {
79
+ "alias": "ariaLabel";
80
+ "required": false;
81
+ "isSignal": true;
82
+ };
83
+ "placeholder": {
84
+ "alias": "placeholder";
85
+ "required": false;
86
+ "isSignal": true;
87
+ };
88
+ "size": {
89
+ "alias": "size";
90
+ "required": false;
91
+ "isSignal": true;
92
+ };
93
+ "disabled": {
94
+ "alias": "disabled";
95
+ "required": false;
96
+ "isSignal": true;
97
+ };
98
+ "fullWidth": {
99
+ "alias": "fullWidth";
100
+ "required": false;
101
+ "isSignal": true;
102
+ };
103
+ }, {
104
+ "valueChange": "valueChange";
105
+ }, never, never, true, never>;
106
+ }
@@ -1,74 +1,102 @@
1
- import { BooleanInput } from '@angular/cdk/coercion';
2
- import * as i0 from '@angular/core';
3
- import { OnInit, WritableSignal, Signal, InputSignal, InputSignalWithTransform } from '@angular/core';
4
- import { ControlValueAccessor, ValidationErrors } from '@angular/forms';
5
- import { IRtInput } from '@rt-tools/ui-kit-v2/core';
6
-
7
- declare abstract class RtFormControlBase<TValue> implements ControlValueAccessor, OnInit {
8
- #private;
9
- protected readonly value: WritableSignal<TValue>;
10
- /**
11
- * Отключение: вход и форма — два независимых источника, поле отключено,
12
- * если так сказал любой из них. Сводить их в один signal нельзя: форма
13
- * зовёт `setDisabledState` при связывании контрола, то есть раньше, чем
14
- * поле впервые обновит своё вью, и мирроринг входа затирал бы её слово —
15
- * контрол, созданный отключённым, оказывался бы редактируемым.
16
- */
17
- protected readonly isDisabled: Signal<boolean>;
18
- protected readonly isInvalid: Signal<boolean>;
19
- /** Видимость кнопки очистки: включена, есть значение, поле активно. */
20
- protected readonly showClearButton: Signal<boolean>;
21
- /** Есть ли в поле значение — гейт видимости крестика. */
22
- protected abstract readonly hasValue: Signal<boolean>;
23
- readonly size: InputSignal<IRtInput.Size>;
24
- readonly disabled: InputSignalWithTransform<boolean, BooleanInput>;
25
- readonly controlId: InputSignal<string | null>;
26
- readonly ariaLabel: InputSignal<string | null>;
27
- readonly clearable: InputSignalWithTransform<boolean, BooleanInput>;
28
- /**
29
- * Видимая resting-рамка контрола. По умолчанию `true` — рамка видна на обеих
30
- * темах. `false` снимает только resting-рамку; focus/invalid состояния свою
31
- * рамку показывают всё равно, read-only остаётся плоским.
32
- */
33
- readonly bordered: InputSignalWithTransform<boolean, BooleanInput>;
34
- /** Итоговый id поля: явный input важнее авто-id, назначенного rt-field. */
35
- readonly effectiveControlId: Signal<string | null>;
36
- /** Read-only режим (плоский текст вместо контрола); включается rt-field'ом. */
37
- readonly isReadonly: Signal<boolean>;
38
- /** Публичный invalid для rt-field (touched/dirty учтён в состоянии). */
39
- readonly invalid: Signal<boolean>;
40
- /** Текущие ошибки связанного контрола — источник текста ошибки в rt-field. */
41
- readonly errors: Signal<ValidationErrors | null>;
42
- /** Обязателен ли контрол — по валидатору формы или по слову rt-field. Для авто-«*». */
43
- readonly required: Signal<boolean>;
44
- /** Текст read-only представления. Реализуется конкретным контролом. */
45
- abstract readonly displayText: Signal<string>;
46
- constructor();
47
- ngOnInit(): void;
48
- writeValue(value: TValue | null): void;
49
- registerOnChange(fn: (value: TValue) => void): void;
50
- registerOnTouched(fn: () => void): void;
51
- setDisabledState(isDisabled: boolean): void;
52
- /** Назначить авто-id (rt-field), когда у контрола нет явного controlId. */
53
- assignControlId(id: string): void;
54
- /** Включить/выключить read-only режим — вызывает родительский rt-field. */
55
- setReadonly(value: boolean): void;
56
- /** Объявить контрол обязательным — вызывает родительский rt-field. */
57
- setRequired(value: boolean): void;
58
- /** Очистка значения по кнопке-крестику + возврат фокуса в поле. */
59
- protected clear(event?: Event): void;
60
- /** Сбрасывает значение к пустому. Поля с display-сигналом расширяют. */
61
- protected clearValue(): void;
62
- /** Прокидывает change наружу — для обработчиков пользовательского ввода. */
63
- protected emitChange(value: TValue): void;
64
- /** Помечает контрол touched — для blur/close-обработчиков. */
65
- protected markTouched(): void;
66
- /** Пустое значение поля (тип-специфично: "", null, []). */
67
- protected abstract getEmptyValue(): TValue;
68
- /** Возврат фокуса после очистки (в input или на trigger-кнопку). */
69
- protected abstract focusAfterClear(): void;
70
- static ɵfac: i0.ɵɵFactoryDeclaration<RtFormControlBase<any>, never>;
71
- static ɵdir: i0.ɵɵDirectiveDeclaration<RtFormControlBase<any>, never, never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "controlId": { "alias": "controlId"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
72
- }
73
-
74
- export { RtFormControlBase };
1
+ import { BooleanInput } from "@angular/cdk/coercion";
2
+ import * as i0 from "@angular/core";
3
+ import { InputSignal, InputSignalWithTransform, OnInit, Signal, WritableSignal } from "@angular/core";
4
+ import { ControlValueAccessor, ValidationErrors } from "@angular/forms";
5
+ import { IRtInput } from "@rt-tools/ui-kit-v2/core";
6
+ export declare abstract class RtFormControlBase<TValue> implements ControlValueAccessor, OnInit {
7
+ #private;
8
+ protected readonly value: WritableSignal<TValue>;
9
+ /**
10
+ * Отключение: вход и форма — два независимых источника, поле отключено,
11
+ * если так сказал любой из них. Сводить их в один signal нельзя: форма
12
+ * зовёт `setDisabledState` при связывании контрола, то есть раньше, чем
13
+ * поле впервые обновит своё вью, и мирроринг входа затирал бы её слово —
14
+ * контрол, созданный отключённым, оказывался бы редактируемым.
15
+ */
16
+ protected readonly isDisabled: Signal<boolean>;
17
+ protected readonly isInvalid: Signal<boolean>;
18
+ /** Видимость кнопки очистки: включена, есть значение, поле активно. */
19
+ protected readonly showClearButton: Signal<boolean>;
20
+ /** Есть ли в поле значение — гейт видимости крестика. */
21
+ protected abstract readonly hasValue: Signal<boolean>;
22
+ readonly size: InputSignal<IRtInput.Size>;
23
+ readonly disabled: InputSignalWithTransform<boolean, BooleanInput>;
24
+ readonly controlId: InputSignal<string | null>;
25
+ readonly ariaLabel: InputSignal<string | null>;
26
+ readonly clearable: InputSignalWithTransform<boolean, BooleanInput>;
27
+ /**
28
+ * Видимая resting-рамка контрола. По умолчанию `true` — рамка видна на обеих
29
+ * темах. `false` снимает только resting-рамку; focus/invalid состояния свою
30
+ * рамку показывают всё равно, read-only остаётся плоским.
31
+ */
32
+ readonly bordered: InputSignalWithTransform<boolean, BooleanInput>;
33
+ /** Итоговый id поля: явный input важнее авто-id, назначенного rt-field. */
34
+ readonly effectiveControlId: Signal<string | null>;
35
+ /** Read-only режим (плоский текст вместо контрола); включается rt-field'ом. */
36
+ readonly isReadonly: Signal<boolean>;
37
+ /** Публичный invalid для rt-field (touched/dirty учтён в состоянии). */
38
+ readonly invalid: Signal<boolean>;
39
+ /** Текущие ошибки связанного контрола — источник текста ошибки в rt-field. */
40
+ readonly errors: Signal<ValidationErrors | null>;
41
+ /** Обязателен ли контрол — по валидатору формы или по слову rt-field. Для авто-«*». */
42
+ readonly required: Signal<boolean>;
43
+ /** Текст read-only представления. Реализуется конкретным контролом. */
44
+ abstract readonly displayText: Signal<string>;
45
+ constructor();
46
+ ngOnInit(): void;
47
+ writeValue(value: TValue | null): void;
48
+ registerOnChange(fn: (value: TValue) => void): void;
49
+ registerOnTouched(fn: () => void): void;
50
+ setDisabledState(isDisabled: boolean): void;
51
+ /** Назначить авто-id (rt-field), когда у контрола нет явного controlId. */
52
+ assignControlId(id: string): void;
53
+ /** Включить/выключить read-only режим — вызывает родительский rt-field. */
54
+ setReadonly(value: boolean): void;
55
+ /** Объявить контрол обязательным — вызывает родительский rt-field. */
56
+ setRequired(value: boolean): void;
57
+ /** Очистка значения по кнопке-крестику + возврат фокуса в поле. */
58
+ protected clear(event?: Event): void;
59
+ /** Сбрасывает значение к пустому. Поля с display-сигналом расширяют. */
60
+ protected clearValue(): void;
61
+ /** Прокидывает change наружу — для обработчиков пользовательского ввода. */
62
+ protected emitChange(value: TValue): void;
63
+ /** Помечает контрол touched — для blur/close-обработчиков. */
64
+ protected markTouched(): void;
65
+ /** Пустое значение поля (тип-специфично: "", null, []). */
66
+ protected abstract getEmptyValue(): TValue;
67
+ /** Возврат фокуса после очистки (в input или на trigger-кнопку). */
68
+ protected abstract focusAfterClear(): void;
69
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtFormControlBase<any>, never>;
70
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtFormControlBase<any>, never, never, {
71
+ "size": {
72
+ "alias": "size";
73
+ "required": false;
74
+ "isSignal": true;
75
+ };
76
+ "disabled": {
77
+ "alias": "disabled";
78
+ "required": false;
79
+ "isSignal": true;
80
+ };
81
+ "controlId": {
82
+ "alias": "controlId";
83
+ "required": false;
84
+ "isSignal": true;
85
+ };
86
+ "ariaLabel": {
87
+ "alias": "ariaLabel";
88
+ "required": false;
89
+ "isSignal": true;
90
+ };
91
+ "clearable": {
92
+ "alias": "clearable";
93
+ "required": false;
94
+ "isSignal": true;
95
+ };
96
+ "bordered": {
97
+ "alias": "bordered";
98
+ "required": false;
99
+ "isSignal": true;
100
+ };
101
+ }, {}, never, never, true, never>;
102
+ }