@rt-tools/ui-kit-v2 0.16.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (321) hide show
  1. package/README.md +25 -0
  2. package/fesm2022/rt-tools-ui-kit-v2-accordion.mjs +79 -0
  3. package/fesm2022/rt-tools-ui-kit-v2-accordion.mjs.map +1 -0
  4. package/fesm2022/rt-tools-ui-kit-v2-action-bar.mjs +227 -0
  5. package/fesm2022/rt-tools-ui-kit-v2-action-bar.mjs.map +1 -0
  6. package/fesm2022/rt-tools-ui-kit-v2-aside-section.mjs +47 -0
  7. package/fesm2022/rt-tools-ui-kit-v2-aside-section.mjs.map +1 -0
  8. package/fesm2022/rt-tools-ui-kit-v2-aside.mjs +702 -0
  9. package/fesm2022/rt-tools-ui-kit-v2-aside.mjs.map +1 -0
  10. package/fesm2022/rt-tools-ui-kit-v2-autocomplete.mjs +214 -0
  11. package/fesm2022/rt-tools-ui-kit-v2-autocomplete.mjs.map +1 -0
  12. package/fesm2022/rt-tools-ui-kit-v2-bar-list.mjs +53 -0
  13. package/fesm2022/rt-tools-ui-kit-v2-bar-list.mjs.map +1 -0
  14. package/fesm2022/rt-tools-ui-kit-v2-bottom-sheet.mjs +88 -0
  15. package/fesm2022/rt-tools-ui-kit-v2-bottom-sheet.mjs.map +1 -0
  16. package/fesm2022/rt-tools-ui-kit-v2-button.mjs +365 -0
  17. package/fesm2022/rt-tools-ui-kit-v2-button.mjs.map +1 -0
  18. package/fesm2022/rt-tools-ui-kit-v2-calendar.mjs +152 -0
  19. package/fesm2022/rt-tools-ui-kit-v2-calendar.mjs.map +1 -0
  20. package/fesm2022/rt-tools-ui-kit-v2-card.mjs +72 -0
  21. package/fesm2022/rt-tools-ui-kit-v2-card.mjs.map +1 -0
  22. package/fesm2022/rt-tools-ui-kit-v2-checkbox.mjs +111 -0
  23. package/fesm2022/rt-tools-ui-kit-v2-checkbox.mjs.map +1 -0
  24. package/fesm2022/rt-tools-ui-kit-v2-collapsible-text.mjs +76 -0
  25. package/fesm2022/rt-tools-ui-kit-v2-collapsible-text.mjs.map +1 -0
  26. package/fesm2022/rt-tools-ui-kit-v2-confirm-popover.mjs +255 -0
  27. package/fesm2022/rt-tools-ui-kit-v2-confirm-popover.mjs.map +1 -0
  28. package/fesm2022/rt-tools-ui-kit-v2-container.mjs +1326 -0
  29. package/fesm2022/rt-tools-ui-kit-v2-container.mjs.map +1 -0
  30. package/fesm2022/rt-tools-ui-kit-v2-core.mjs +2590 -0
  31. package/fesm2022/rt-tools-ui-kit-v2-core.mjs.map +1 -0
  32. package/fesm2022/rt-tools-ui-kit-v2-counter-row.mjs +45 -0
  33. package/fesm2022/rt-tools-ui-kit-v2-counter-row.mjs.map +1 -0
  34. package/fesm2022/rt-tools-ui-kit-v2-counter.mjs +158 -0
  35. package/fesm2022/rt-tools-ui-kit-v2-counter.mjs.map +1 -0
  36. package/fesm2022/rt-tools-ui-kit-v2-data-list.mjs +894 -0
  37. package/fesm2022/rt-tools-ui-kit-v2-data-list.mjs.map +1 -0
  38. package/fesm2022/rt-tools-ui-kit-v2-data-table.mjs +1217 -0
  39. package/fesm2022/rt-tools-ui-kit-v2-data-table.mjs.map +1 -0
  40. package/fesm2022/rt-tools-ui-kit-v2-date-picker.mjs +779 -0
  41. package/fesm2022/rt-tools-ui-kit-v2-date-picker.mjs.map +1 -0
  42. package/fesm2022/rt-tools-ui-kit-v2-date-range.mjs +573 -0
  43. package/fesm2022/rt-tools-ui-kit-v2-date-range.mjs.map +1 -0
  44. package/fesm2022/rt-tools-ui-kit-v2-delta-view.mjs +141 -0
  45. package/fesm2022/rt-tools-ui-kit-v2-delta-view.mjs.map +1 -0
  46. package/fesm2022/rt-tools-ui-kit-v2-detail-list.mjs +68 -0
  47. package/fesm2022/rt-tools-ui-kit-v2-detail-list.mjs.map +1 -0
  48. package/fesm2022/rt-tools-ui-kit-v2-dialog.mjs +478 -0
  49. package/fesm2022/rt-tools-ui-kit-v2-dialog.mjs.map +1 -0
  50. package/fesm2022/rt-tools-ui-kit-v2-dot-field.mjs +183 -0
  51. package/fesm2022/rt-tools-ui-kit-v2-dot-field.mjs.map +1 -0
  52. package/fesm2022/rt-tools-ui-kit-v2-download-link.mjs +44 -0
  53. package/fesm2022/rt-tools-ui-kit-v2-download-link.mjs.map +1 -0
  54. package/fesm2022/rt-tools-ui-kit-v2-dynamic-list.mjs +260 -0
  55. package/fesm2022/rt-tools-ui-kit-v2-dynamic-list.mjs.map +1 -0
  56. package/fesm2022/rt-tools-ui-kit-v2-dynamic-selector.mjs +937 -0
  57. package/fesm2022/rt-tools-ui-kit-v2-dynamic-selector.mjs.map +1 -0
  58. package/fesm2022/rt-tools-ui-kit-v2-empty-state.mjs +56 -0
  59. package/fesm2022/rt-tools-ui-kit-v2-empty-state.mjs.map +1 -0
  60. package/fesm2022/rt-tools-ui-kit-v2-expansion-panel.mjs +107 -0
  61. package/fesm2022/rt-tools-ui-kit-v2-expansion-panel.mjs.map +1 -0
  62. package/fesm2022/rt-tools-ui-kit-v2-field.mjs +183 -0
  63. package/fesm2022/rt-tools-ui-kit-v2-field.mjs.map +1 -0
  64. package/fesm2022/rt-tools-ui-kit-v2-file-card.mjs +219 -0
  65. package/fesm2022/rt-tools-ui-kit-v2-file-card.mjs.map +1 -0
  66. package/fesm2022/rt-tools-ui-kit-v2-file-drop.mjs +214 -0
  67. package/fesm2022/rt-tools-ui-kit-v2-file-drop.mjs.map +1 -0
  68. package/fesm2022/rt-tools-ui-kit-v2-file-input.mjs +117 -0
  69. package/fesm2022/rt-tools-ui-kit-v2-file-input.mjs.map +1 -0
  70. package/fesm2022/rt-tools-ui-kit-v2-file-list.mjs +32 -0
  71. package/fesm2022/rt-tools-ui-kit-v2-file-list.mjs.map +1 -0
  72. package/fesm2022/rt-tools-ui-kit-v2-filter-control.mjs +91 -0
  73. package/fesm2022/rt-tools-ui-kit-v2-filter-control.mjs.map +1 -0
  74. package/fesm2022/rt-tools-ui-kit-v2-form-control.mjs +220 -0
  75. package/fesm2022/rt-tools-ui-kit-v2-form-control.mjs.map +1 -0
  76. package/fesm2022/rt-tools-ui-kit-v2-header.mjs +72 -0
  77. package/fesm2022/rt-tools-ui-kit-v2-header.mjs.map +1 -0
  78. package/fesm2022/rt-tools-ui-kit-v2-icon-button.mjs +163 -0
  79. package/fesm2022/rt-tools-ui-kit-v2-icon-button.mjs.map +1 -0
  80. package/fesm2022/rt-tools-ui-kit-v2-icon.mjs +674 -0
  81. package/fesm2022/rt-tools-ui-kit-v2-icon.mjs.map +1 -0
  82. package/fesm2022/rt-tools-ui-kit-v2-image-cropper.mjs +540 -0
  83. package/fesm2022/rt-tools-ui-kit-v2-image-cropper.mjs.map +1 -0
  84. package/fesm2022/rt-tools-ui-kit-v2-image-upload.mjs +227 -0
  85. package/fesm2022/rt-tools-ui-kit-v2-image-upload.mjs.map +1 -0
  86. package/fesm2022/rt-tools-ui-kit-v2-info-item.mjs +37 -0
  87. package/fesm2022/rt-tools-ui-kit-v2-info-item.mjs.map +1 -0
  88. package/fesm2022/rt-tools-ui-kit-v2-input-number.mjs +361 -0
  89. package/fesm2022/rt-tools-ui-kit-v2-input-number.mjs.map +1 -0
  90. package/fesm2022/rt-tools-ui-kit-v2-input.mjs +143 -0
  91. package/fesm2022/rt-tools-ui-kit-v2-input.mjs.map +1 -0
  92. package/fesm2022/rt-tools-ui-kit-v2-live-badge.mjs +49 -0
  93. package/fesm2022/rt-tools-ui-kit-v2-live-badge.mjs.map +1 -0
  94. package/fesm2022/rt-tools-ui-kit-v2-logo.mjs +97 -0
  95. package/fesm2022/rt-tools-ui-kit-v2-logo.mjs.map +1 -0
  96. package/fesm2022/rt-tools-ui-kit-v2-markdown-text.mjs +57 -0
  97. package/fesm2022/rt-tools-ui-kit-v2-markdown-text.mjs.map +1 -0
  98. package/fesm2022/rt-tools-ui-kit-v2-menu.mjs +537 -0
  99. package/fesm2022/rt-tools-ui-kit-v2-menu.mjs.map +1 -0
  100. package/fesm2022/rt-tools-ui-kit-v2-message.mjs +105 -0
  101. package/fesm2022/rt-tools-ui-kit-v2-message.mjs.map +1 -0
  102. package/fesm2022/rt-tools-ui-kit-v2-money-list.mjs +71 -0
  103. package/fesm2022/rt-tools-ui-kit-v2-money-list.mjs.map +1 -0
  104. package/fesm2022/rt-tools-ui-kit-v2-multiselect.mjs +315 -0
  105. package/fesm2022/rt-tools-ui-kit-v2-multiselect.mjs.map +1 -0
  106. package/fesm2022/rt-tools-ui-kit-v2-night-grid.mjs +51 -0
  107. package/fesm2022/rt-tools-ui-kit-v2-night-grid.mjs.map +1 -0
  108. package/fesm2022/rt-tools-ui-kit-v2-note.mjs +44 -0
  109. package/fesm2022/rt-tools-ui-kit-v2-note.mjs.map +1 -0
  110. package/fesm2022/rt-tools-ui-kit-v2-notifications-bell.mjs +54 -0
  111. package/fesm2022/rt-tools-ui-kit-v2-notifications-bell.mjs.map +1 -0
  112. package/fesm2022/rt-tools-ui-kit-v2-page-header.mjs +339 -0
  113. package/fesm2022/rt-tools-ui-kit-v2-page-header.mjs.map +1 -0
  114. package/fesm2022/rt-tools-ui-kit-v2-pagination.mjs +187 -0
  115. package/fesm2022/rt-tools-ui-kit-v2-pagination.mjs.map +1 -0
  116. package/fesm2022/rt-tools-ui-kit-v2-photo-viewer.mjs +170 -0
  117. package/fesm2022/rt-tools-ui-kit-v2-photo-viewer.mjs.map +1 -0
  118. package/fesm2022/rt-tools-ui-kit-v2-popover.mjs +312 -0
  119. package/fesm2022/rt-tools-ui-kit-v2-popover.mjs.map +1 -0
  120. package/fesm2022/rt-tools-ui-kit-v2-radio-button.mjs +174 -0
  121. package/fesm2022/rt-tools-ui-kit-v2-radio-button.mjs.map +1 -0
  122. package/fesm2022/rt-tools-ui-kit-v2-radius.mjs +56 -0
  123. package/fesm2022/rt-tools-ui-kit-v2-radius.mjs.map +1 -0
  124. package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs +96 -41
  125. package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs.map +1 -1
  126. package/fesm2022/rt-tools-ui-kit-v2-ripple.mjs +118 -0
  127. package/fesm2022/rt-tools-ui-kit-v2-ripple.mjs.map +1 -0
  128. package/fesm2022/rt-tools-ui-kit-v2-scroll-area.mjs +290 -0
  129. package/fesm2022/rt-tools-ui-kit-v2-scroll-area.mjs.map +1 -0
  130. package/fesm2022/rt-tools-ui-kit-v2-section-nav.mjs +37 -0
  131. package/fesm2022/rt-tools-ui-kit-v2-section-nav.mjs.map +1 -0
  132. package/fesm2022/rt-tools-ui-kit-v2-select.mjs +495 -0
  133. package/fesm2022/rt-tools-ui-kit-v2-select.mjs.map +1 -0
  134. package/fesm2022/rt-tools-ui-kit-v2-side-menu.mjs +1493 -0
  135. package/fesm2022/rt-tools-ui-kit-v2-side-menu.mjs.map +1 -0
  136. package/fesm2022/rt-tools-ui-kit-v2-skeleton-wrapper.mjs +49 -0
  137. package/fesm2022/rt-tools-ui-kit-v2-skeleton-wrapper.mjs.map +1 -0
  138. package/fesm2022/rt-tools-ui-kit-v2-skeleton.mjs +123 -0
  139. package/fesm2022/rt-tools-ui-kit-v2-skeleton.mjs.map +1 -0
  140. package/fesm2022/rt-tools-ui-kit-v2-spinner.mjs +70 -0
  141. package/fesm2022/rt-tools-ui-kit-v2-spinner.mjs.map +1 -0
  142. package/fesm2022/rt-tools-ui-kit-v2-split-button.mjs +92 -0
  143. package/fesm2022/rt-tools-ui-kit-v2-split-button.mjs.map +1 -0
  144. package/fesm2022/rt-tools-ui-kit-v2-stat-tile.mjs +147 -0
  145. package/fesm2022/rt-tools-ui-kit-v2-stat-tile.mjs.map +1 -0
  146. package/fesm2022/rt-tools-ui-kit-v2-stepper.mjs +117 -0
  147. package/fesm2022/rt-tools-ui-kit-v2-stepper.mjs.map +1 -0
  148. package/fesm2022/rt-tools-ui-kit-v2-table.mjs +1636 -0
  149. package/fesm2022/rt-tools-ui-kit-v2-table.mjs.map +1 -0
  150. package/fesm2022/rt-tools-ui-kit-v2-tabs.mjs +350 -0
  151. package/fesm2022/rt-tools-ui-kit-v2-tabs.mjs.map +1 -0
  152. package/fesm2022/rt-tools-ui-kit-v2-tag.mjs +122 -0
  153. package/fesm2022/rt-tools-ui-kit-v2-tag.mjs.map +1 -0
  154. package/fesm2022/rt-tools-ui-kit-v2-textarea.mjs +85 -0
  155. package/fesm2022/rt-tools-ui-kit-v2-textarea.mjs.map +1 -0
  156. package/fesm2022/rt-tools-ui-kit-v2-theme-toggle.mjs +73 -0
  157. package/fesm2022/rt-tools-ui-kit-v2-theme-toggle.mjs.map +1 -0
  158. package/fesm2022/rt-tools-ui-kit-v2-thread-list.mjs +196 -0
  159. package/fesm2022/rt-tools-ui-kit-v2-thread-list.mjs.map +1 -0
  160. package/fesm2022/rt-tools-ui-kit-v2-timeline.mjs +39 -0
  161. package/fesm2022/rt-tools-ui-kit-v2-timeline.mjs.map +1 -0
  162. package/fesm2022/rt-tools-ui-kit-v2-toast.mjs +338 -0
  163. package/fesm2022/rt-tools-ui-kit-v2-toast.mjs.map +1 -0
  164. package/fesm2022/rt-tools-ui-kit-v2-toggle-button-group.mjs +132 -0
  165. package/fesm2022/rt-tools-ui-kit-v2-toggle-button-group.mjs.map +1 -0
  166. package/fesm2022/rt-tools-ui-kit-v2-toggle-switch.mjs +162 -0
  167. package/fesm2022/rt-tools-ui-kit-v2-toggle-switch.mjs.map +1 -0
  168. package/fesm2022/rt-tools-ui-kit-v2-toolbar.mjs +135 -0
  169. package/fesm2022/rt-tools-ui-kit-v2-toolbar.mjs.map +1 -0
  170. package/fesm2022/rt-tools-ui-kit-v2-tooltip.mjs +214 -0
  171. package/fesm2022/rt-tools-ui-kit-v2-tooltip.mjs.map +1 -0
  172. package/fesm2022/rt-tools-ui-kit-v2-welcome-dialog.mjs +64 -0
  173. package/fesm2022/rt-tools-ui-kit-v2-welcome-dialog.mjs.map +1 -0
  174. package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs +263 -0
  175. package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs.map +1 -0
  176. package/fesm2022/rt-tools-ui-kit-v2-workspace.mjs +296 -0
  177. package/fesm2022/rt-tools-ui-kit-v2-workspace.mjs.map +1 -0
  178. package/fesm2022/rt-tools-ui-kit-v2.mjs +91 -23164
  179. package/fesm2022/rt-tools-ui-kit-v2.mjs.map +1 -1
  180. package/package.json +349 -1
  181. package/rt-tools-ui-kit-v2-0.18.0.tgz +0 -0
  182. package/src/lib/components/action-bar/CONTEXT.md +5 -0
  183. package/src/lib/components/action-bar/rt-action-bar.component.scss +30 -16
  184. package/src/lib/components/aside/CONTEXT.md +9 -1
  185. package/src/lib/components/aside/footer/rt-aside-footer.component.scss +7 -8
  186. package/src/lib/components/aside/header/rt-aside-header.component.scss +16 -1
  187. package/src/lib/components/aside/rt-aside.component.scss +17 -1
  188. package/src/lib/components/button/CONTEXT.md +12 -11
  189. package/src/lib/components/button/rt-button.directive.scss +36 -0
  190. package/src/lib/components/data-list/settings/rt-data-list-settings-aside.component.scss +2 -2
  191. package/src/lib/components/data-table/cell/rt-data-table-cell.component.scss +1 -1
  192. package/src/lib/components/data-table/filter-cell/rt-data-table-filter-cell.component.scss +1 -1
  193. package/src/lib/components/data-table/rt-data-table.component.scss +1 -1
  194. package/src/lib/components/dialog/CONTEXT.md +9 -0
  195. package/src/lib/components/dialog/content/rt-dialog-content.component.scss +20 -0
  196. package/src/lib/components/dialog/footer/rt-dialog-footer.component.scss +18 -2
  197. package/src/lib/components/dialog/header/rt-dialog-header.component.scss +21 -3
  198. package/src/lib/components/dialog/rt-dialog.component.scss +9 -3
  199. package/src/lib/components/dot-field/CONTEXT.md +31 -0
  200. package/src/lib/components/dot-field/rt-dot-field.component.scss +20 -0
  201. package/src/lib/components/dot-field/stories/component/CONTEXT.md +14 -0
  202. package/src/lib/components/dot-field/stories/component/test-dot-field.component.scss +31 -0
  203. package/src/lib/components/dynamic-selector/CONTEXT.md +6 -0
  204. package/src/lib/components/field/CONTEXT.md +18 -2
  205. package/src/lib/components/header/CONTEXT.md +2 -2
  206. package/src/lib/components/icon/CONTEXT.md +11 -7
  207. package/src/lib/components/icon/rt-icon.component.scss +47 -0
  208. package/src/lib/components/icon-button/CONTEXT.md +27 -20
  209. package/src/lib/components/icon-button/rt-icon-button.component.scss +51 -25
  210. package/src/lib/components/image-upload/CONTEXT.md +20 -15
  211. package/src/lib/components/image-upload/rt-image-upload.component.scss +14 -2
  212. package/src/lib/components/pagination/rt-pagination.component.scss +1 -1
  213. package/src/lib/components/scroll-area/CONTEXT.md +2 -0
  214. package/src/lib/components/scroll-area/rt-scroll-area.component.scss +20 -3
  215. package/src/lib/components/select/rt-select.component.scss +4 -0
  216. package/src/lib/components/side-menu/CONTEXT.md +7 -2
  217. package/src/lib/components/spinner/CONTEXT.md +15 -8
  218. package/src/lib/components/spinner/rt-spinner.component.scss +108 -9
  219. package/src/lib/components/tag/rt-tag.component.scss +43 -23
  220. package/src/lib/components/toast/CONTEXT.md +8 -0
  221. package/src/lib/components/toast/rt-toast.component.scss +74 -15
  222. package/src/lib/components/toast/rt-toaster.component.scss +5 -1
  223. package/src/lib/components/toggle-button-group/rt-toggle-button-group.component.scss +35 -37
  224. package/src/lib/components/toggle-switch/CONTEXT.md +11 -3
  225. package/src/lib/components/toggle-switch/rt-toggle-switch.component.scss +53 -14
  226. package/src/lib/components/toolbar/rt-toolbar.component.scss +15 -4
  227. package/src/lib/components/tooltip/CONTEXT.md +5 -5
  228. package/src/rich-editor/lib/components/chat/CONTEXT.md +7 -2
  229. package/src/rich-editor/lib/components/chat/rt-chat.component.scss +25 -0
  230. package/src/styles/_semantic.scss +1 -1
  231. package/styles/tokens.css +43 -8
  232. package/types/rt-tools-ui-kit-v2-accordion.d.ts +30 -0
  233. package/types/rt-tools-ui-kit-v2-action-bar.d.ts +140 -0
  234. package/types/rt-tools-ui-kit-v2-aside-section.d.ts +25 -0
  235. package/types/rt-tools-ui-kit-v2-aside.d.ts +436 -0
  236. package/types/rt-tools-ui-kit-v2-autocomplete.d.ts +78 -0
  237. package/types/rt-tools-ui-kit-v2-bar-list.d.ts +41 -0
  238. package/types/rt-tools-ui-kit-v2-bottom-sheet.d.ts +20 -0
  239. package/types/rt-tools-ui-kit-v2-button.d.ts +76 -0
  240. package/types/rt-tools-ui-kit-v2-calendar.d.ts +96 -0
  241. package/types/rt-tools-ui-kit-v2-card.d.ts +38 -0
  242. package/types/rt-tools-ui-kit-v2-checkbox.d.ts +46 -0
  243. package/types/rt-tools-ui-kit-v2-collapsible-text.d.ts +20 -0
  244. package/types/rt-tools-ui-kit-v2-confirm-popover.d.ts +85 -0
  245. package/types/rt-tools-ui-kit-v2-container.d.ts +425 -0
  246. package/types/rt-tools-ui-kit-v2-core.d.ts +1222 -0
  247. package/types/rt-tools-ui-kit-v2-counter-row.d.ts +22 -0
  248. package/types/rt-tools-ui-kit-v2-counter.d.ts +70 -0
  249. package/types/rt-tools-ui-kit-v2-data-list.d.ts +334 -0
  250. package/types/rt-tools-ui-kit-v2-data-table.d.ts +494 -0
  251. package/types/rt-tools-ui-kit-v2-date-picker.d.ts +181 -0
  252. package/types/rt-tools-ui-kit-v2-date-range.d.ts +98 -0
  253. package/types/rt-tools-ui-kit-v2-delta-view.d.ts +20 -0
  254. package/types/rt-tools-ui-kit-v2-detail-list.d.ts +33 -0
  255. package/types/rt-tools-ui-kit-v2-dialog.d.ts +287 -0
  256. package/types/rt-tools-ui-kit-v2-dot-field.d.ts +17 -0
  257. package/types/rt-tools-ui-kit-v2-download-link.d.ts +17 -0
  258. package/types/rt-tools-ui-kit-v2-dynamic-list.d.ts +139 -0
  259. package/types/rt-tools-ui-kit-v2-dynamic-selector.d.ts +384 -0
  260. package/types/rt-tools-ui-kit-v2-empty-state.d.ts +29 -0
  261. package/types/rt-tools-ui-kit-v2-expansion-panel.d.ts +57 -0
  262. package/types/rt-tools-ui-kit-v2-field.d.ts +82 -0
  263. package/types/rt-tools-ui-kit-v2-file-card.d.ts +114 -0
  264. package/types/rt-tools-ui-kit-v2-file-drop.d.ts +75 -0
  265. package/types/rt-tools-ui-kit-v2-file-input.d.ts +48 -0
  266. package/types/rt-tools-ui-kit-v2-file-list.d.ts +13 -0
  267. package/types/rt-tools-ui-kit-v2-filter-control.d.ts +72 -0
  268. package/types/rt-tools-ui-kit-v2-form-control.d.ts +74 -0
  269. package/types/rt-tools-ui-kit-v2-header.d.ts +40 -0
  270. package/types/rt-tools-ui-kit-v2-icon-button.d.ts +113 -0
  271. package/types/rt-tools-ui-kit-v2-icon.d.ts +238 -0
  272. package/types/rt-tools-ui-kit-v2-image-cropper.d.ts +168 -0
  273. package/types/rt-tools-ui-kit-v2-image-upload.d.ts +102 -0
  274. package/types/rt-tools-ui-kit-v2-info-item.d.ts +13 -0
  275. package/types/rt-tools-ui-kit-v2-input-number.d.ts +67 -0
  276. package/types/rt-tools-ui-kit-v2-input.d.ts +54 -0
  277. package/types/rt-tools-ui-kit-v2-live-badge.d.ts +23 -0
  278. package/types/rt-tools-ui-kit-v2-logo.d.ts +58 -0
  279. package/types/rt-tools-ui-kit-v2-markdown-text.d.ts +30 -0
  280. package/types/rt-tools-ui-kit-v2-menu.d.ts +217 -0
  281. package/types/rt-tools-ui-kit-v2-message.d.ts +56 -0
  282. package/types/rt-tools-ui-kit-v2-money-list.d.ts +34 -0
  283. package/types/rt-tools-ui-kit-v2-multiselect.d.ts +93 -0
  284. package/types/rt-tools-ui-kit-v2-night-grid.d.ts +39 -0
  285. package/types/rt-tools-ui-kit-v2-note.d.ts +21 -0
  286. package/types/rt-tools-ui-kit-v2-notifications-bell.d.ts +23 -0
  287. package/types/rt-tools-ui-kit-v2-page-header.d.ts +173 -0
  288. package/types/rt-tools-ui-kit-v2-pagination.d.ts +64 -0
  289. package/types/rt-tools-ui-kit-v2-photo-viewer.d.ts +98 -0
  290. package/types/rt-tools-ui-kit-v2-popover.d.ts +79 -0
  291. package/types/rt-tools-ui-kit-v2-radio-button.d.ts +61 -0
  292. package/types/rt-tools-ui-kit-v2-radius.d.ts +37 -0
  293. package/types/rt-tools-ui-kit-v2-rich-editor.d.ts +16 -20
  294. package/types/rt-tools-ui-kit-v2-ripple.d.ts +39 -0
  295. package/types/rt-tools-ui-kit-v2-scroll-area.d.ts +91 -0
  296. package/types/rt-tools-ui-kit-v2-section-nav.d.ts +23 -0
  297. package/types/rt-tools-ui-kit-v2-select.d.ts +215 -0
  298. package/types/rt-tools-ui-kit-v2-side-menu.d.ts +483 -0
  299. package/types/rt-tools-ui-kit-v2-skeleton-wrapper.d.ts +32 -0
  300. package/types/rt-tools-ui-kit-v2-skeleton.d.ts +41 -0
  301. package/types/rt-tools-ui-kit-v2-spinner.d.ts +56 -0
  302. package/types/rt-tools-ui-kit-v2-split-button.d.ts +72 -0
  303. package/types/rt-tools-ui-kit-v2-stat-tile.d.ts +81 -0
  304. package/types/rt-tools-ui-kit-v2-stepper.d.ts +51 -0
  305. package/types/rt-tools-ui-kit-v2-table.d.ts +739 -0
  306. package/types/rt-tools-ui-kit-v2-tabs.d.ts +153 -0
  307. package/types/rt-tools-ui-kit-v2-tag.d.ts +70 -0
  308. package/types/rt-tools-ui-kit-v2-textarea.d.ts +36 -0
  309. package/types/rt-tools-ui-kit-v2-theme-toggle.d.ts +43 -0
  310. package/types/rt-tools-ui-kit-v2-thread-list.d.ts +111 -0
  311. package/types/rt-tools-ui-kit-v2-timeline.d.ts +35 -0
  312. package/types/rt-tools-ui-kit-v2-toast.d.ts +103 -0
  313. package/types/rt-tools-ui-kit-v2-toggle-button-group.d.ts +109 -0
  314. package/types/rt-tools-ui-kit-v2-toggle-switch.d.ts +85 -0
  315. package/types/rt-tools-ui-kit-v2-toolbar.d.ts +66 -0
  316. package/types/rt-tools-ui-kit-v2-tooltip.d.ts +74 -0
  317. package/types/rt-tools-ui-kit-v2-welcome-dialog.d.ts +33 -0
  318. package/types/rt-tools-ui-kit-v2-workspace-details.d.ts +128 -0
  319. package/types/rt-tools-ui-kit-v2-workspace.d.ts +84 -0
  320. package/types/rt-tools-ui-kit-v2.d.ts +87 -9290
  321. package/rt-tools-ui-kit-v2-0.16.0.tgz +0 -0
@@ -0,0 +1,109 @@
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 { IRtIcon } from '@rt-tools/ui-kit-v2/core';
5
+ import * as i1 from '@rt-tools/ui-kit-v2/radius';
6
+
7
+ /**
8
+ * Модель `<rt-toggle-button-group>`: один корневой неймспейс
9
+ * с префиксом `I`. Generic параметр `T` пробрасывается в `Option<T>`.
10
+ */
11
+ declare namespace IRtToggleButtonGroup {
12
+ /**
13
+ * Размерный тир. Совпадает с `IButton.Size` у `[rtButton]` — общая высота
14
+ * группы соответствует высоте rt-button (sm 30 / md 40 / lg 50px), чтобы
15
+ * сегменты выравнивались с кнопками в одном ряду. Default — `sm`.
16
+ */
17
+ type Size = 'sm' | 'md' | 'lg';
18
+ /**
19
+ * Описание одного сегмента группы.
20
+ *
21
+ * - `value` — уникальный идентификатор сегмента, эмитится в `valueChange`.
22
+ * - `label` — текстовая подпись (основной контент).
23
+ * - `icon` — опциональная иконка перед лейблом (`<rt-icon>`).
24
+ * - `glyph` — имя Material вместо `icon`; рисуется так же, как вход `glyph` у `rt-icon`.
25
+ * - `title` — нативный HTML-title (вместо тултип-директивы).
26
+ * - `disabled` — сегмент недоступен сейчас: он остаётся видимым, но нажатия не пропускает.
27
+ * Признак лежит рядом с подписью, а не отдельным списком значений: список запретов
28
+ * расходится с самим списком сегментов молча — в нём остаётся значение, которого в группе
29
+ * уже нет.
30
+ */
31
+ interface Option<T = string> {
32
+ readonly value: T;
33
+ readonly label: string;
34
+ readonly icon?: IRtIcon.Name;
35
+ readonly glyph?: string;
36
+ readonly title?: string;
37
+ readonly disabled?: boolean;
38
+ }
39
+ /**
40
+ * Сегмент, готовый к отрисовке: подсветка и недоступность посчитаны компонентом.
41
+ *
42
+ * Заведён затем, чтобы шаблон не считал ни того, ни другого: подсветка читается по-разному в
43
+ * одиночном и множественном выборе, а недоступность приходит с двух сторон — от группы и от
44
+ * самого сегмента.
45
+ */
46
+ interface Rendered<T = string> {
47
+ readonly option: Option<T>;
48
+ readonly active: boolean;
49
+ readonly disabled: boolean;
50
+ }
51
+ }
52
+
53
+ /**
54
+ * Generic segmented control кита.
55
+ *
56
+ * API `toggle-button-group` с тремя особенностями:
57
+ * 1. BEM через `rtBlock/rtElem/rtMod` (camelCase mods → kebab-case в CSS).
58
+ * 2. Tooltip — нативный `[attr.title]` вместо `MatTooltip` (Angular Material
59
+ * запрещён, см. CLAUDE.md).
60
+ * 3. Визуал — текстовые лейблы + опциональная иконка, а не icon-only кнопки.
61
+ * Иконка остаётся опциональной, чтобы покрыть оба сценария.
62
+ *
63
+ * Компонент "controlled" — рендерит сегмент с `value === option.value` как
64
+ * активный, эмиттит `valueChange` при клике, обновление `value` остаётся за
65
+ * потребителем.
66
+ *
67
+ * Generic `<T = string>` сохраняет типизацию по value (`'list' | 'grid'`,
68
+ * union'ы, enum'ы). Дефолт `string` нужен, чтобы шаблон-инстанцирование
69
+ * без явного параметра компилировалось.
70
+ */
71
+ declare class RtToggleButtonGroupComponent<T = string> {
72
+ protected readonly iconSize: Signal<IRtIcon.Size>;
73
+ /**
74
+ * Сегменты, готовые к отрисовке: подсветка и недоступность посчитаны здесь, а не в шаблоне.
75
+ *
76
+ * Подсветка читается по-разному в одиночном и множественном выборе, а недоступность приходит
77
+ * с двух сторон — от группы и от самого сегмента. Признак группы главнее: доступный сегмент
78
+ * внутри отключённой группы читался бы как её единственное живое место.
79
+ */
80
+ protected readonly items: Signal<ReadonlyArray<IRtToggleButtonGroup.Rendered<T>>>;
81
+ readonly options: InputSignal<ReadonlyArray<IRtToggleButtonGroup.Option<T>>>;
82
+ readonly value: InputSignal<T | undefined>;
83
+ /**
84
+ * Множественный выбор: нажатие добавляет сегмент или снимает его, а не переносит выбор.
85
+ *
86
+ * Своим входом, а не расширением типа `value`: вход, у которого тип значения меняется от
87
+ * значения другого входа, не проверяет ни сборка, ни линтер — потребитель узнаёт о своей
88
+ * ошибке, когда группа перестаёт подсвечивать выбранное.
89
+ */
90
+ readonly multiple: InputSignalWithTransform<boolean, BooleanInput>;
91
+ /** Набор выбранного. Читается только при множественном выборе, одиночный берёт `value`. */
92
+ readonly values: InputSignal<ReadonlyArray<T>>;
93
+ readonly ariaLabel: InputSignal<string | null>;
94
+ readonly size: InputSignal<IRtToggleButtonGroup.Size>;
95
+ readonly disabled: InputSignalWithTransform<boolean, BooleanInput>;
96
+ /** Растягивает группу на всю ширину контейнера; опции делят ширину поровну. */
97
+ readonly fullWidth: InputSignalWithTransform<boolean, BooleanInput>;
98
+ readonly valueChange: OutputEmitterRef<T>;
99
+ /**
100
+ * Весь набор выбранного после нажатия, а не разница с прежним: разницу вызывающий сводит со
101
+ * своим состоянием сам, и каждый сводит по-своему.
102
+ */
103
+ readonly valuesChange: OutputEmitterRef<ReadonlyArray<T>>;
104
+ protected onOptionClick(item: IRtToggleButtonGroup.Rendered<T>): void;
105
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtToggleButtonGroupComponent<any>, never>;
106
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtToggleButtonGroupComponent<any>, "rt-toggle-button-group", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "values": { "alias": "values"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "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"; "valuesChange": "valuesChange"; }, never, never, true, [{ directive: typeof i1.RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
107
+ }
108
+
109
+ export { IRtToggleButtonGroup, RtToggleButtonGroupComponent };
@@ -0,0 +1,85 @@
1
+ import { BooleanInput } from '@angular/cdk/coercion';
2
+ import * as i0 from '@angular/core';
3
+ import { WritableSignal, Signal, InputSignal, InputSignalWithTransform } from '@angular/core';
4
+ import { ControlValueAccessor } from '@angular/forms';
5
+ import { IRtIcon } from '@rt-tools/ui-kit-v2/core';
6
+ import * as i1 from '@rt-tools/ui-kit-v2/radius';
7
+
8
+ /**
9
+ * Модель `<rt-toggle-switch>`: один корневой неймспейс с префиксом `I`.
10
+ */
11
+ declare namespace IRtToggleSwitch {
12
+ /**
13
+ * Размерный тир трека. Маппинг на пиксели — в SCSS
14
+ * (`--rt-toggle-track-width` / `-height` / `--rt-toggle-thumb-size`).
15
+ * Default — `sm`: он совпадает по высоте с плотными контролами формы,
16
+ * где тоггл стоит в ряду с текстом.
17
+ */
18
+ type Size = 'sm' | 'md' | 'lg';
19
+ }
20
+
21
+ /**
22
+ * On/off switch с `role="switch"` + `aria-checked` — более правильный a11y
23
+ * pattern чем `<input type="checkbox">` для toggle (screen readers произносят
24
+ * "switch off/on" вместо "checkbox checked/unchecked").
25
+ *
26
+ * Реализует `ControlValueAccessor` для `boolean` value через
27
+ * `useExisting: forwardRef(...)` — `useClass` на self-reference вызывает
28
+ * NG0200 cycle при boot'е.
29
+ *
30
+ * Отключение складывается из двух независимых источников: входа `disabled` и
31
+ * слова формы (CVA `setDisabledState`). Отключено, если так сказал любой из
32
+ * них. Сводить их в один signal нельзя: форма зовёт `setDisabledState` при
33
+ * связывании контрола, то есть раньше, чем переключатель впервые обновит своё
34
+ * вью, и мирроринг входа затирал бы её слово — контрол, созданный отключённым,
35
+ * оказывался бы кликабельным.
36
+ *
37
+ * Опциональные иконки `iconOff` / `iconOn` рисуются внутри трека статично:
38
+ * off-иконка в начальной половине, on-иконка в конечной. Бегунок непрозрачен
39
+ * и наезжает на иконку активного состояния, так что видна всегда иконка того
40
+ * состояния, куда переключится контрол.
41
+ *
42
+ * Вход `label` рисует подпись после кнопки — элементом `<label>`, связанным с
43
+ * кнопкой: нажатие на подпись переключает, и она же называет переключатель
44
+ * скринридеру через `aria-labelledby`.
45
+ *
46
+ * Размер и отключение выводятся модификаторами и на хост: свойства размеров
47
+ * объявлены на хосте, чтобы правило приложения на теге их переопределяло, а
48
+ * прозрачность отключения гасит переключатель вместе с подписью.
49
+ *
50
+ * ViewEncapsulation.None — стили таргетируют имя элемента и BEM-класс блока.
51
+ */
52
+ declare class RtToggleSwitchComponent implements ControlValueAccessor {
53
+ #private;
54
+ protected readonly isOn: WritableSignal<boolean>;
55
+ protected readonly isDisabled: Signal<boolean>;
56
+ /** Id кнопки: заданный входом или свой — на него указывает подпись. */
57
+ protected readonly controlId: Signal<string>;
58
+ protected readonly labelId: string;
59
+ /**
60
+ * BEM-модификаторы для `[rtMod]`. Собираем в .ts, потому что
61
+ * Angular template-parser не поддерживает computed property keys
62
+ * в inline-объектах, а размер приходит ключом.
63
+ */
64
+ protected readonly bemMods: Signal<Record<string, boolean>>;
65
+ readonly inputId: InputSignal<string | null>;
66
+ readonly ariaLabel: InputSignal<string | null>;
67
+ /** Подпись после переключателя. Пусто — без подписи, как раньше. */
68
+ readonly label: InputSignal<string | null>;
69
+ /** Размерный тир трека. */
70
+ readonly size: InputSignal<IRtToggleSwitch.Size>;
71
+ /** Иконка выключенного состояния — в начальной половине трека. Пусто — без иконки. */
72
+ readonly iconOff: InputSignal<IRtIcon.Name | null>;
73
+ /** Иконка включённого состояния — в конечной половине трека. Пусто — без иконки. */
74
+ readonly iconOn: InputSignal<IRtIcon.Name | null>;
75
+ readonly disabled: InputSignalWithTransform<boolean, BooleanInput>;
76
+ writeValue(value: boolean | null | undefined): void;
77
+ registerOnChange(fn: (value: boolean) => void): void;
78
+ registerOnTouched(fn: () => void): void;
79
+ setDisabledState(disabled: boolean): void;
80
+ protected toggle(): void;
81
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtToggleSwitchComponent, never>;
82
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtToggleSwitchComponent, "rt-toggle-switch", never, { "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "iconOff": { "alias": "iconOff"; "required": false; "isSignal": true; }; "iconOn": { "alias": "iconOn"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
83
+ }
84
+
85
+ export { IRtToggleSwitch, RtToggleSwitchComponent };
@@ -0,0 +1,66 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Signal, TemplateRef, InputSignalWithTransform } from '@angular/core';
3
+
4
+ /**
5
+ * Маркер-директива для контента в левой секции тулбара.
6
+ *
7
+ * @example
8
+ * ```html
9
+ * <rt-toolbar>
10
+ * <ng-template rtToolbarLeft>
11
+ * <button rtButton label="Создать" />
12
+ * </ng-template>
13
+ * </rt-toolbar>
14
+ * ```
15
+ */
16
+ declare class RtToolbarLeftDirective {
17
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtToolbarLeftDirective, never>;
18
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtToolbarLeftDirective, "[rtToolbarLeft]", never, {}, {}, never, never, true, never>;
19
+ }
20
+ /**
21
+ * Маркер-директива для контента в центральной секции тулбара.
22
+ *
23
+ * @example
24
+ * ```html
25
+ * <rt-toolbar>
26
+ * <ng-template rtToolbarCenter>
27
+ * <span>Заголовок страницы</span>
28
+ * </ng-template>
29
+ * </rt-toolbar>
30
+ * ```
31
+ */
32
+ declare class RtToolbarCenterDirective {
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtToolbarCenterDirective, never>;
34
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtToolbarCenterDirective, "[rtToolbarCenter]", never, {}, {}, never, never, true, never>;
35
+ }
36
+ /**
37
+ * Маркер-директива для контента в правой секции тулбара.
38
+ *
39
+ * @example
40
+ * ```html
41
+ * <rt-toolbar>
42
+ * <ng-template rtToolbarRight>
43
+ * <input type="search" placeholder="Поиск" />
44
+ * </ng-template>
45
+ * </rt-toolbar>
46
+ * ```
47
+ */
48
+ declare class RtToolbarRightDirective {
49
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtToolbarRightDirective, never>;
50
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtToolbarRightDirective, "[rtToolbarRight]", never, {}, {}, never, never, true, never>;
51
+ }
52
+ declare class RtToolbarComponent {
53
+ protected readonly leftTpl: Signal<TemplateRef<unknown> | undefined>;
54
+ protected readonly centerTpl: Signal<TemplateRef<unknown> | undefined>;
55
+ protected readonly rightTpl: Signal<TemplateRef<unknown> | undefined>;
56
+ /**
57
+ * Компактная шапка (заголовок + иконки-действия): зоны остаются в одну строку
58
+ * даже на мобилке. Без этого трёхзонный list-тулбар стекается в колонку на
59
+ * ≤768px, что для узкой шапки (напр. rt-chat) неверно.
60
+ */
61
+ readonly dense: InputSignalWithTransform<boolean, boolean | string>;
62
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtToolbarComponent, never>;
63
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtToolbarComponent, "rt-toolbar", never, { "dense": { "alias": "dense"; "required": false; "isSignal": true; }; }, {}, ["leftTpl", "centerTpl", "rightTpl"], never, true, never>;
64
+ }
65
+
66
+ export { RtToolbarCenterDirective, RtToolbarComponent, RtToolbarLeftDirective, RtToolbarRightDirective };
@@ -0,0 +1,74 @@
1
+ import * as i0 from '@angular/core';
2
+ import { WritableSignal, OnDestroy, InputSignalWithTransform, InputSignal } from '@angular/core';
3
+
4
+ /**
5
+ * Презентационная панель tooltip'а. Рендерится директивой `[rtTooltip]` через
6
+ * CDK `ComponentPortal` в overlay; текст выставляется императивно
7
+ * (`ref.instance.text.set(...)`) — отдельного `input()` нет, т.к. компонент
8
+ * создаётся вручную, а не в шаблоне.
9
+ *
10
+ * `ViewEncapsulation.None` — стили префиксованы `.rt-tooltip` (единообразно с
11
+ * остальным common/ui). `role="tooltip"` — вспомогательный ярлык для AT.
12
+ */
13
+ declare class RtTooltipComponent {
14
+ readonly text: WritableSignal<string>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtTooltipComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtTooltipComponent, "rt-tooltip", never, {}, {}, never, never, true, never>;
17
+ }
18
+
19
+ /**
20
+ * Модель `[rtTooltip]`: один корневой неймспейс с префиксом `I`.
21
+ */
22
+ declare namespace IRtTooltip {
23
+ /**
24
+ * Сторона, с которой tooltip пристыкован к host'у. Не поместилась — подсказка уходит на
25
+ * противоположную; боковой не хватило ни одной стороны — встаёт сверху или снизу.
26
+ */
27
+ type Placement = 'top' | 'bottom' | 'left' | 'right';
28
+ }
29
+
30
+ /**
31
+ * Tooltip-директива поверх CDK Overlay. Показывает короткую подсказку
32
+ * (`rtTooltip` = строка) на hover/focus host'а. Движок — CDK `flexibleConnectedTo`
33
+ * (авто-flip у края viewport, reposition при скролле), так что подсказка не
34
+ * режется `overflow: hidden` предками (таблицы, aside, карточки).
35
+ *
36
+ * Триггеры: `mouseenter` и фокус с клавиатуры показывают (с задержкой `SHOW_DELAY_MS`),
37
+ * `mouseleave`/`focusout`/`click` прячут. Фокус, поставленный мышью или кодом, подсказку не
38
+ * показывает, как у Material: меню возвращает фокус кнопке после выбора пункта мышью, и
39
+ * подсказка кнопки всплывала поверх того, что пункт открыл. Пустой текст → no-op (директива
40
+ * выключена), поэтому её можно безусловно вешать на icon-кнопки и включать
41
+ * выставлением строки.
42
+ *
43
+ * @example
44
+ * ```html
45
+ * <rt-icon-button icon="ico-trash" ariaLabel="Удалить" tooltip="Удалить" />
46
+ * <button rtButton [rtTooltip]="'Подсказка'">…</button>
47
+ * ```
48
+ */
49
+ declare class RtTooltipDirective implements OnDestroy {
50
+ #private;
51
+ /**
52
+ * Текст подсказки. Принимает `null`/`undefined` (частый результат date-пайпа
53
+ * или nullable-полей модели) и нормализует их в пустую строку — иначе
54
+ * биндинги вида `value | date` ломали бы строгую типизацию шаблона. Пустая
55
+ * строка → no-op (директива выключена).
56
+ */
57
+ readonly text: InputSignalWithTransform<string, string | null | undefined>;
58
+ /** Сторона подсказки. Не задана — сверху, а под материальным набором снизу, как у первого кита. */
59
+ readonly placement: InputSignal<IRtTooltip.Placement | null>;
60
+ /**
61
+ * Подсказка только у обрезанного текста: хост меряется в момент показа, и подсказка не
62
+ * появляется, пока его содержимое помещается целиком. Мерить заранее не нужно — показ идёт
63
+ * только отсюда, и признак в эту минуту всегда свежий.
64
+ */
65
+ readonly whenTruncated: InputSignalWithTransform<boolean, unknown>;
66
+ constructor();
67
+ ngOnDestroy(): void;
68
+ protected show(): void;
69
+ protected hide(): void;
70
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtTooltipDirective, never>;
71
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtTooltipDirective, "[rtTooltip]", ["rtTooltip"], { "text": { "alias": "rtTooltip"; "required": false; "isSignal": true; }; "placement": { "alias": "rtTooltipPlacement"; "required": false; "isSignal": true; }; "whenTruncated": { "alias": "rtTooltipWhenTruncated"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
72
+ }
73
+
74
+ export { IRtTooltip, RtTooltipComponent, RtTooltipDirective };
@@ -0,0 +1,33 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Signal } from '@angular/core';
3
+ import { TRtKitLabelMap } from '@rt-tools/ui-kit-v2/core';
4
+
5
+ declare namespace IRtWelcomeDialog {
6
+ /** Payload модалки: настраиваемый текст приветствия + подпись CTA-кнопки. */
7
+ interface Data {
8
+ message: string;
9
+ ctaLabel?: string;
10
+ }
11
+ }
12
+ /**
13
+ * Welcome-модалка первого входа: показывает настраиваемый текст приветствия роли.
14
+ * Открывается программно через `RtDialogService.open(RtWelcomeDialogComponent, { data })`.
15
+ *
16
+ * Текст приходит многострочным: первый абзац (до пустой строки) рендерится
17
+ * заголовком, остальные — параграфами описания. Без `rt-dialog-header` —
18
+ * единственное действие закрытия — CTA-кнопка.
19
+ */
20
+ declare class RtWelcomeDialogComponent {
21
+ #private;
22
+ protected readonly t: Signal<TRtKitLabelMap>;
23
+ protected readonly title: string;
24
+ protected readonly paragraphs: string[];
25
+ /** Своя подпись важнее умолчания: роль знает, куда ведёт кнопка */
26
+ protected readonly ctaLabel: Signal<string>;
27
+ constructor();
28
+ protected onClose(): void;
29
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtWelcomeDialogComponent, never>;
30
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtWelcomeDialogComponent, "rt-welcome-dialog", never, {}, {}, never, never, true, never>;
31
+ }
32
+
33
+ export { IRtWelcomeDialog, RtWelcomeDialogComponent };
@@ -0,0 +1,128 @@
1
+ import { BooleanInput } from '@angular/cdk/coercion';
2
+ import * as i0 from '@angular/core';
3
+ import { Signal, WritableSignal, InputSignal, InputSignalWithTransform, OutputEmitterRef } from '@angular/core';
4
+ import { FormGroup, FormControl } from '@angular/forms';
5
+ import { IButton, TRtKitLabelMap } from '@rt-tools/ui-kit-v2/core';
6
+ import { IRtConfirmPopover } from '@rt-tools/ui-kit-v2/confirm-popover';
7
+ import { IRtSelect } from '@rt-tools/ui-kit-v2/select';
8
+ import { IRtTimeline } from '@rt-tools/ui-kit-v2/timeline';
9
+
10
+ declare namespace IRtWorkspaceDetails {
11
+ interface Row {
12
+ label: string;
13
+ value: string;
14
+ agent?: boolean;
15
+ }
16
+ interface AgentEdit {
17
+ currentLabel: string;
18
+ currentAgentId: number | null;
19
+ options: ReadonlyArray<IRtSelect.Option<number>>;
20
+ canEdit: boolean;
21
+ editTooltip: string;
22
+ cannotEditTooltip: string;
23
+ loading: boolean;
24
+ confirmText: string;
25
+ }
26
+ interface MoneyRow {
27
+ label: string;
28
+ amount: number;
29
+ format?: string;
30
+ total?: boolean;
31
+ }
32
+ interface Toggle {
33
+ id: string;
34
+ label: string;
35
+ value: boolean;
36
+ disabled?: boolean;
37
+ }
38
+ interface ToggleChange {
39
+ id: string;
40
+ value: boolean;
41
+ }
42
+ interface Transition {
43
+ options: ReadonlyArray<IRtSelect.Option<string>>;
44
+ loading: boolean;
45
+ error: string | null;
46
+ submitting: boolean;
47
+ submitError: string | null;
48
+ success: string | null;
49
+ currentStageLabel: string | null;
50
+ noTransitionsText: string;
51
+ }
52
+ interface TransitionSubmit {
53
+ stageKey: string;
54
+ comment: string;
55
+ }
56
+ interface Audit {
57
+ steps: readonly IRtTimeline.Step[];
58
+ loading: boolean;
59
+ loadingMore: boolean;
60
+ hasMore: boolean;
61
+ error: string | null;
62
+ emptyText: string;
63
+ }
64
+ interface ActionConfirm {
65
+ title: string;
66
+ label: string;
67
+ tone: IRtConfirmPopover.Tone;
68
+ text: string;
69
+ }
70
+ interface Action {
71
+ id: string;
72
+ label: string;
73
+ icon: string;
74
+ theme?: IButton.Theme;
75
+ appearance?: IButton.Appearance;
76
+ loading?: boolean;
77
+ disabled?: boolean;
78
+ confirm?: ActionConfirm;
79
+ }
80
+ }
81
+
82
+ interface ITransitionFormShape {
83
+ to_key: FormControl<string | null>;
84
+ note: FormControl<string | null>;
85
+ }
86
+ declare class RtWorkspaceDetailsComponent {
87
+ #private;
88
+ protected readonly t: Signal<TRtKitLabelMap>;
89
+ protected readonly editingAgent: WritableSignal<boolean>;
90
+ protected readonly selectedAgentId: WritableSignal<number | null>;
91
+ protected readonly transitionForm: FormGroup<ITransitionFormShape>;
92
+ protected readonly hasTabs: Signal<boolean>;
93
+ protected readonly noTransitions: Signal<boolean>;
94
+ protected readonly canSaveReassign: Signal<boolean>;
95
+ readonly title: InputSignal<string | null>;
96
+ readonly entityId: InputSignal<number | null>;
97
+ readonly loading: InputSignalWithTransform<boolean, BooleanInput>;
98
+ readonly busy: InputSignalWithTransform<boolean, BooleanInput>;
99
+ readonly rows: InputSignal<readonly IRtWorkspaceDetails.Row[]>;
100
+ readonly agentEdit: InputSignal<IRtWorkspaceDetails.AgentEdit | null>;
101
+ readonly money: InputSignal<readonly IRtWorkspaceDetails.MoneyRow[]>;
102
+ readonly toggles: InputSignal<readonly IRtWorkspaceDetails.Toggle[]>;
103
+ readonly toggleHint: InputSignal<string | null>;
104
+ readonly transition: InputSignal<IRtWorkspaceDetails.Transition | null>;
105
+ readonly audit: InputSignal<IRtWorkspaceDetails.Audit | null>;
106
+ readonly actions: InputSignal<readonly IRtWorkspaceDetails.Action[]>;
107
+ readonly error: InputSignal<string | null>;
108
+ readonly toggleChange: OutputEmitterRef<IRtWorkspaceDetails.ToggleChange>;
109
+ readonly agentReassign: OutputEmitterRef<number>;
110
+ readonly transitionSubmit: OutputEmitterRef<IRtWorkspaceDetails.TransitionSubmit>;
111
+ readonly transitionSuccessClose: OutputEmitterRef<void>;
112
+ readonly transitionErrorClose: OutputEmitterRef<void>;
113
+ readonly auditLoadMore: OutputEmitterRef<void>;
114
+ readonly actionClicked: OutputEmitterRef<string>;
115
+ constructor();
116
+ protected startEditAgent(): void;
117
+ protected cancelEditAgent(): void;
118
+ protected onReassign(): void;
119
+ protected onSelectedAgentChange(agentId: number | null): void;
120
+ protected onToggleChange(toggle: IRtWorkspaceDetails.Toggle, value: boolean): void;
121
+ protected onTransitionSubmit(): void;
122
+ protected onAuditLoadMore(): void;
123
+ protected onAction(action: IRtWorkspaceDetails.Action): void;
124
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtWorkspaceDetailsComponent, never>;
125
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtWorkspaceDetailsComponent, "rt-workspace-details", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "entityId": { "alias": "entityId"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "busy": { "alias": "busy"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "agentEdit": { "alias": "agentEdit"; "required": false; "isSignal": true; }; "money": { "alias": "money"; "required": false; "isSignal": true; }; "toggles": { "alias": "toggles"; "required": false; "isSignal": true; }; "toggleHint": { "alias": "toggleHint"; "required": false; "isSignal": true; }; "transition": { "alias": "transition"; "required": false; "isSignal": true; }; "audit": { "alias": "audit"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; }, { "toggleChange": "toggleChange"; "agentReassign": "agentReassign"; "transitionSubmit": "transitionSubmit"; "transitionSuccessClose": "transitionSuccessClose"; "transitionErrorClose": "transitionErrorClose"; "auditLoadMore": "auditLoadMore"; "actionClicked": "actionClicked"; }, never, never, true, never>;
126
+ }
127
+
128
+ export { IRtWorkspaceDetails, RtWorkspaceDetailsComponent };
@@ -0,0 +1,84 @@
1
+ import { BooleanInput } from '@angular/cdk/coercion';
2
+ import * as i0 from '@angular/core';
3
+ import { Signal, TemplateRef, InputSignal, InputSignalWithTransform, OutputEmitterRef } from '@angular/core';
4
+ import { TRtKitLabelMap } from '@rt-tools/ui-kit-v2/core';
5
+
6
+ declare namespace IRtWorkspace {
7
+ type PanelKind = 'list' | 'aside';
8
+ interface PanelApi {
9
+ asideCollapsed: Signal<boolean>;
10
+ asideOpen: Signal<boolean>;
11
+ toggleAsideCollapsed(): void;
12
+ openAside(): void;
13
+ closeAside(): void;
14
+ toggleAside(): void;
15
+ }
16
+ interface SlotContext {
17
+ $implicit: PanelApi;
18
+ }
19
+ interface PersistedState {
20
+ listWidth: number;
21
+ asideWidth: number;
22
+ asideCollapsed: boolean;
23
+ }
24
+ }
25
+
26
+ declare class RtWorkspaceDesktopOnlyDirective {
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtWorkspaceDesktopOnlyDirective, never>;
28
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtWorkspaceDesktopOnlyDirective, "[rtWorkspaceDesktopOnly]", never, {}, {}, never, never, true, never>;
29
+ }
30
+ declare class RtWorkspaceListDirective {
31
+ readonly templateRef: TemplateRef<IRtWorkspace.SlotContext>;
32
+ static ngTemplateContextGuard(_directive: RtWorkspaceListDirective, context: unknown): context is IRtWorkspace.SlotContext;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtWorkspaceListDirective, never>;
34
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtWorkspaceListDirective, "[rtWorkspaceList]", never, {}, {}, never, never, true, never>;
35
+ }
36
+ declare class RtWorkspaceCenterDirective {
37
+ readonly templateRef: TemplateRef<IRtWorkspace.SlotContext>;
38
+ static ngTemplateContextGuard(_directive: RtWorkspaceCenterDirective, context: unknown): context is IRtWorkspace.SlotContext;
39
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtWorkspaceCenterDirective, never>;
40
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtWorkspaceCenterDirective, "[rtWorkspaceCenter]", never, {}, {}, never, never, true, never>;
41
+ }
42
+ declare class RtWorkspaceAsideDirective {
43
+ readonly templateRef: TemplateRef<IRtWorkspace.SlotContext>;
44
+ static ngTemplateContextGuard(_directive: RtWorkspaceAsideDirective, context: unknown): context is IRtWorkspace.SlotContext;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtWorkspaceAsideDirective, never>;
46
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtWorkspaceAsideDirective, "[rtWorkspaceAside]", never, {}, {}, never, never, true, never>;
47
+ }
48
+
49
+ declare class RtWorkspaceComponent implements IRtWorkspace.PanelApi {
50
+ #private;
51
+ protected readonly t: Signal<TRtKitLabelMap>;
52
+ protected readonly listSlot: Signal<RtWorkspaceListDirective | undefined>;
53
+ protected readonly centerSlot: Signal<RtWorkspaceCenterDirective | undefined>;
54
+ protected readonly asideSlot: Signal<RtWorkspaceAsideDirective | undefined>;
55
+ protected readonly resizing: Signal<boolean>;
56
+ protected readonly slotContext: IRtWorkspace.SlotContext;
57
+ readonly storageKey: InputSignal<string | null>;
58
+ readonly hasActive: InputSignalWithTransform<boolean, BooleanInput>;
59
+ readonly listMinWidth: InputSignalWithTransform<number, number | string>;
60
+ readonly listMaxWidth: InputSignalWithTransform<number, number | string>;
61
+ readonly listDefaultWidth: InputSignalWithTransform<number, number | string>;
62
+ readonly asideMinWidth: InputSignalWithTransform<number, number | string>;
63
+ readonly asideMaxWidth: InputSignalWithTransform<number, number | string>;
64
+ readonly asideDefaultWidth: InputSignalWithTransform<number, number | string>;
65
+ readonly centerMinWidth: InputSignalWithTransform<number, number | string>;
66
+ readonly backClicked: OutputEmitterRef<void>;
67
+ readonly listWidth: Signal<number>;
68
+ readonly asideWidth: Signal<number>;
69
+ readonly asideCollapsed: Signal<boolean>;
70
+ readonly asideOpen: Signal<boolean>;
71
+ constructor();
72
+ toggleAsideCollapsed(): void;
73
+ openAside(): void;
74
+ closeAside(): void;
75
+ toggleAside(): void;
76
+ protected onBackClicked(): void;
77
+ protected onHandlePointerDown(event: PointerEvent, kind: IRtWorkspace.PanelKind): void;
78
+ protected onHandleKeydown(event: KeyboardEvent, kind: IRtWorkspace.PanelKind): void;
79
+ protected onHandleReset(kind: IRtWorkspace.PanelKind): void;
80
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtWorkspaceComponent, never>;
81
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtWorkspaceComponent, "rt-workspace", never, { "storageKey": { "alias": "storageKey"; "required": false; "isSignal": true; }; "hasActive": { "alias": "hasActive"; "required": false; "isSignal": true; }; "listMinWidth": { "alias": "listMinWidth"; "required": false; "isSignal": true; }; "listMaxWidth": { "alias": "listMaxWidth"; "required": false; "isSignal": true; }; "listDefaultWidth": { "alias": "listDefaultWidth"; "required": false; "isSignal": true; }; "asideMinWidth": { "alias": "asideMinWidth"; "required": false; "isSignal": true; }; "asideMaxWidth": { "alias": "asideMaxWidth"; "required": false; "isSignal": true; }; "asideDefaultWidth": { "alias": "asideDefaultWidth"; "required": false; "isSignal": true; }; "centerMinWidth": { "alias": "centerMinWidth"; "required": false; "isSignal": true; }; }, { "backClicked": "backClicked"; }, ["listSlot", "centerSlot", "asideSlot"], never, true, never>;
82
+ }
83
+
84
+ export { IRtWorkspace, RtWorkspaceAsideDirective, RtWorkspaceCenterDirective, RtWorkspaceComponent, RtWorkspaceDesktopOnlyDirective, RtWorkspaceListDirective };