@rt-tools/ui-kit-v2 0.23.3 → 0.23.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) 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 +2309 -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-prompt-suggestion.mjs +135 -45
  138. package/fesm2022/rt-tools-ui-kit-v2-prompt-suggestion.mjs.map +1 -1
  139. package/fesm2022/rt-tools-ui-kit-v2-radio-button.mjs +293 -171
  140. package/fesm2022/rt-tools-ui-kit-v2-radio-button.mjs.map +1 -1
  141. package/fesm2022/rt-tools-ui-kit-v2-radius.mjs +62 -55
  142. package/fesm2022/rt-tools-ui-kit-v2-radius.mjs.map +1 -1
  143. package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs +3379 -1466
  144. package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs.map +1 -1
  145. package/fesm2022/rt-tools-ui-kit-v2-ripple.mjs +114 -116
  146. package/fesm2022/rt-tools-ui-kit-v2-ripple.mjs.map +1 -1
  147. package/fesm2022/rt-tools-ui-kit-v2-scroll-area.mjs +406 -299
  148. package/fesm2022/rt-tools-ui-kit-v2-scroll-area.mjs.map +1 -1
  149. package/fesm2022/rt-tools-ui-kit-v2-section-nav.mjs +137 -36
  150. package/fesm2022/rt-tools-ui-kit-v2-section-nav.mjs.map +1 -1
  151. package/fesm2022/rt-tools-ui-kit-v2-select.mjs +687 -468
  152. package/fesm2022/rt-tools-ui-kit-v2-select.mjs.map +1 -1
  153. package/fesm2022/rt-tools-ui-kit-v2-side-menu.mjs +2195 -1569
  154. package/fesm2022/rt-tools-ui-kit-v2-side-menu.mjs.map +1 -1
  155. package/fesm2022/rt-tools-ui-kit-v2-skeleton-wrapper.mjs +187 -48
  156. package/fesm2022/rt-tools-ui-kit-v2-skeleton-wrapper.mjs.map +1 -1
  157. package/fesm2022/rt-tools-ui-kit-v2-skeleton.mjs +242 -122
  158. package/fesm2022/rt-tools-ui-kit-v2-skeleton.mjs.map +1 -1
  159. package/fesm2022/rt-tools-ui-kit-v2-speed-menu.mjs +439 -0
  160. package/fesm2022/rt-tools-ui-kit-v2-speed-menu.mjs.map +1 -0
  161. package/fesm2022/rt-tools-ui-kit-v2-spinner.mjs +218 -69
  162. package/fesm2022/rt-tools-ui-kit-v2-spinner.mjs.map +1 -1
  163. package/fesm2022/rt-tools-ui-kit-v2-split-button.mjs +292 -91
  164. package/fesm2022/rt-tools-ui-kit-v2-split-button.mjs.map +1 -1
  165. package/fesm2022/rt-tools-ui-kit-v2-stat-tile.mjs +225 -138
  166. package/fesm2022/rt-tools-ui-kit-v2-stat-tile.mjs.map +1 -1
  167. package/fesm2022/rt-tools-ui-kit-v2-stepper.mjs +150 -116
  168. package/fesm2022/rt-tools-ui-kit-v2-stepper.mjs.map +1 -1
  169. package/fesm2022/rt-tools-ui-kit-v2-table.mjs +2462 -1583
  170. package/fesm2022/rt-tools-ui-kit-v2-table.mjs.map +1 -1
  171. package/fesm2022/rt-tools-ui-kit-v2-tabs.mjs +647 -346
  172. package/fesm2022/rt-tools-ui-kit-v2-tabs.mjs.map +1 -1
  173. package/fesm2022/rt-tools-ui-kit-v2-tag.mjs +335 -121
  174. package/fesm2022/rt-tools-ui-kit-v2-tag.mjs.map +1 -1
  175. package/fesm2022/rt-tools-ui-kit-v2-textarea.mjs +217 -84
  176. package/fesm2022/rt-tools-ui-kit-v2-textarea.mjs.map +1 -1
  177. package/fesm2022/rt-tools-ui-kit-v2-theme-toggle.mjs +151 -72
  178. package/fesm2022/rt-tools-ui-kit-v2-theme-toggle.mjs.map +1 -1
  179. package/fesm2022/rt-tools-ui-kit-v2-thread-list.mjs +697 -226
  180. package/fesm2022/rt-tools-ui-kit-v2-thread-list.mjs.map +1 -1
  181. package/fesm2022/rt-tools-ui-kit-v2-timeline.mjs +92 -38
  182. package/fesm2022/rt-tools-ui-kit-v2-timeline.mjs.map +1 -1
  183. package/fesm2022/rt-tools-ui-kit-v2-toast.mjs +752 -338
  184. package/fesm2022/rt-tools-ui-kit-v2-toast.mjs.map +1 -1
  185. package/fesm2022/rt-tools-ui-kit-v2-toggle-button-group.mjs +310 -129
  186. package/fesm2022/rt-tools-ui-kit-v2-toggle-button-group.mjs.map +1 -1
  187. package/fesm2022/rt-tools-ui-kit-v2-toggle-switch.mjs +286 -158
  188. package/fesm2022/rt-tools-ui-kit-v2-toggle-switch.mjs.map +1 -1
  189. package/fesm2022/rt-tools-ui-kit-v2-toolbar.mjs +270 -134
  190. package/fesm2022/rt-tools-ui-kit-v2-toolbar.mjs.map +1 -1
  191. package/fesm2022/rt-tools-ui-kit-v2-tooltip.mjs +322 -202
  192. package/fesm2022/rt-tools-ui-kit-v2-tooltip.mjs.map +1 -1
  193. package/fesm2022/rt-tools-ui-kit-v2-tree-selector.mjs +908 -0
  194. package/fesm2022/rt-tools-ui-kit-v2-tree-selector.mjs.map +1 -0
  195. package/fesm2022/rt-tools-ui-kit-v2-tree.mjs +785 -0
  196. package/fesm2022/rt-tools-ui-kit-v2-tree.mjs.map +1 -0
  197. package/fesm2022/rt-tools-ui-kit-v2-welcome-dialog.mjs +118 -63
  198. package/fesm2022/rt-tools-ui-kit-v2-welcome-dialog.mjs.map +1 -1
  199. package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs +783 -262
  200. package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs.map +1 -1
  201. package/fesm2022/rt-tools-ui-kit-v2-workspace.mjs +633 -294
  202. package/fesm2022/rt-tools-ui-kit-v2-workspace.mjs.map +1 -1
  203. package/fesm2022/rt-tools-ui-kit-v2.mjs +100 -103
  204. package/package.json +41 -1
  205. package/src/assets/icons/collapse-all.svg +9 -0
  206. package/src/assets/icons/expand-all.svg +9 -0
  207. package/src/assets/icons-material/collapse-all.fill.svg +5 -0
  208. package/src/assets/icons-material/collapse-all.svg +5 -0
  209. package/src/assets/icons-material/expand-all.fill.svg +5 -0
  210. package/src/assets/icons-material/expand-all.svg +5 -0
  211. package/src/assets/icons-material/undo.fill.svg +5 -0
  212. package/src/assets/icons-material/undo.svg +5 -0
  213. package/src/lib/components/bottom-sheet/CONTEXT.md +20 -2
  214. package/src/lib/components/bottom-sheet/rt-bottom-sheet.component.scss +35 -1
  215. package/src/lib/components/breadcrumbs/CONTEXT.md +37 -0
  216. package/src/lib/components/breadcrumbs/rt-breadcrumbs.component.scss +205 -0
  217. package/src/lib/components/carousel/CONTEXT.md +42 -0
  218. package/src/lib/components/carousel/rt-carousel.component.scss +117 -0
  219. package/src/lib/components/checkbox/CONTEXT.md +3 -0
  220. package/src/lib/components/checkbox/rt-checkbox.component.scss +9 -3
  221. package/src/lib/components/color-palette/CONTEXT.md +49 -0
  222. package/src/lib/components/color-palette/picker/rt-color-picker.component.scss +161 -0
  223. package/src/lib/components/color-palette/rt-color-palette.component.scss +132 -0
  224. package/src/lib/components/draggable-tree/CONTEXT.md +54 -0
  225. package/src/lib/components/draggable-tree/rt-draggable-tree.component.scss +219 -0
  226. package/src/lib/components/hybrid-tree/CONTEXT.md +31 -0
  227. package/src/lib/components/hybrid-tree-selector/CONTEXT.md +25 -0
  228. package/src/lib/components/icon-button/CONTEXT.md +3 -0
  229. package/src/lib/components/inline-edit/CONTEXT.md +41 -0
  230. package/src/lib/components/inline-edit/rt-inline-edit.component.scss +274 -0
  231. package/src/lib/components/popover/CONTEXT.md +3 -0
  232. package/src/lib/components/speed-menu/CONTEXT.md +34 -0
  233. package/src/lib/components/speed-menu/rt-speed-menu.component.scss +118 -0
  234. package/src/lib/components/tag/rt-tag.component.scss +12 -0
  235. package/src/lib/components/thread-list/CONTEXT.md +1 -0
  236. package/src/lib/components/thread-list/rt-thread-list.component.scss +2 -1
  237. package/src/lib/components/toolbar/CONTEXT.md +9 -4
  238. package/src/lib/components/toolbar/rt-toolbar.component.scss +10 -2
  239. package/src/lib/components/tooltip/CONTEXT.md +8 -1
  240. package/src/lib/components/tree/CONTEXT.md +66 -0
  241. package/src/lib/components/tree/rt-tree.component.scss +313 -0
  242. package/src/lib/components/tree-selector/CONTEXT.md +47 -0
  243. package/src/lib/components/tree-selector/rt-tree-selector.component.scss +121 -0
  244. package/src/styles/_primitives.scss +4 -0
  245. package/styles/tokens.css +3 -0
  246. package/types/rt-tools-ui-kit-v2-accordion.d.ts +31 -24
  247. package/types/rt-tools-ui-kit-v2-action-bar.d.ts +112 -91
  248. package/types/rt-tools-ui-kit-v2-ai-run-status.d.ts +64 -40
  249. package/types/rt-tools-ui-kit-v2-aside-section.d.ts +13 -10
  250. package/types/rt-tools-ui-kit-v2-aside.d.ts +268 -206
  251. package/types/rt-tools-ui-kit-v2-autocomplete.d.ts +102 -61
  252. package/types/rt-tools-ui-kit-v2-bar-list.d.ts +39 -27
  253. package/types/rt-tools-ui-kit-v2-bottom-sheet.d.ts +31 -20
  254. package/types/rt-tools-ui-kit-v2-breadcrumbs.d.ts +89 -0
  255. package/types/rt-tools-ui-kit-v2-button.d.ts +119 -59
  256. package/types/rt-tools-ui-kit-v2-calendar.d.ts +151 -86
  257. package/types/rt-tools-ui-kit-v2-card.d.ts +42 -21
  258. package/types/rt-tools-ui-kit-v2-carousel.d.ts +76 -0
  259. package/types/rt-tools-ui-kit-v2-checkbox.d.ts +48 -24
  260. package/types/rt-tools-ui-kit-v2-collapsible-text.d.ts +28 -20
  261. package/types/rt-tools-ui-kit-v2-color-palette.d.ts +208 -0
  262. package/types/rt-tools-ui-kit-v2-confirm-popover.d.ts +104 -47
  263. package/types/rt-tools-ui-kit-v2-container.d.ts +278 -221
  264. package/types/rt-tools-ui-kit-v2-copy-value.d.ts +39 -24
  265. package/types/rt-tools-ui-kit-v2-core.d.ts +856 -865
  266. package/types/rt-tools-ui-kit-v2-counter-row.d.ts +20 -12
  267. package/types/rt-tools-ui-kit-v2-counter.d.ts +70 -38
  268. package/types/rt-tools-ui-kit-v2-data-list.d.ts +429 -264
  269. package/types/rt-tools-ui-kit-v2-data-table.d.ts +500 -351
  270. package/types/rt-tools-ui-kit-v2-date-picker.d.ts +164 -138
  271. package/types/rt-tools-ui-kit-v2-date-range.d.ts +102 -84
  272. package/types/rt-tools-ui-kit-v2-delta-view.d.ts +16 -13
  273. package/types/rt-tools-ui-kit-v2-detail-list.d.ts +23 -16
  274. package/types/rt-tools-ui-kit-v2-dialog.d.ts +130 -101
  275. package/types/rt-tools-ui-kit-v2-dot-field.d.ts +10 -13
  276. package/types/rt-tools-ui-kit-v2-download-link.d.ts +22 -17
  277. package/types/rt-tools-ui-kit-v2-draggable-tree.d.ts +132 -0
  278. package/types/rt-tools-ui-kit-v2-dynamic-list.d.ts +185 -96
  279. package/types/rt-tools-ui-kit-v2-dynamic-selector.d.ts +904 -404
  280. package/types/rt-tools-ui-kit-v2-empty-state.d.ts +48 -19
  281. package/types/rt-tools-ui-kit-v2-expansion-panel.d.ts +67 -39
  282. package/types/rt-tools-ui-kit-v2-field.d.ts +90 -49
  283. package/types/rt-tools-ui-kit-v2-file-card.d.ts +115 -75
  284. package/types/rt-tools-ui-kit-v2-file-drop.d.ts +75 -48
  285. package/types/rt-tools-ui-kit-v2-file-input.d.ts +53 -36
  286. package/types/rt-tools-ui-kit-v2-file-list.d.ts +5 -8
  287. package/types/rt-tools-ui-kit-v2-filter-control.d.ts +83 -49
  288. package/types/rt-tools-ui-kit-v2-form-control.d.ts +102 -74
  289. package/types/rt-tools-ui-kit-v2-header.d.ts +40 -22
  290. package/types/rt-tools-ui-kit-v2-hybrid-tree-selector.d.ts +14 -0
  291. package/types/rt-tools-ui-kit-v2-hybrid-tree.d.ts +72 -0
  292. package/types/rt-tools-ui-kit-v2-icon-button.d.ts +190 -90
  293. package/types/rt-tools-ui-kit-v2-icon.d.ts +160 -129
  294. package/types/rt-tools-ui-kit-v2-image-cropper.d.ts +151 -111
  295. package/types/rt-tools-ui-kit-v2-image-upload.d.ts +159 -85
  296. package/types/rt-tools-ui-kit-v2-info-item.d.ts +26 -13
  297. package/types/rt-tools-ui-kit-v2-inline-edit.d.ts +194 -0
  298. package/types/rt-tools-ui-kit-v2-input-number.d.ts +102 -53
  299. package/types/rt-tools-ui-kit-v2-input.d.ts +82 -43
  300. package/types/rt-tools-ui-kit-v2-live-badge.d.ts +30 -17
  301. package/types/rt-tools-ui-kit-v2-logo.d.ts +49 -32
  302. package/types/rt-tools-ui-kit-v2-markdown-text.d.ts +26 -17
  303. package/types/rt-tools-ui-kit-v2-menu.d.ts +272 -155
  304. package/types/rt-tools-ui-kit-v2-message.d.ts +59 -33
  305. package/types/rt-tools-ui-kit-v2-money-list.d.ts +36 -18
  306. package/types/rt-tools-ui-kit-v2-multiselect.d.ts +114 -80
  307. package/types/rt-tools-ui-kit-v2-night-grid.d.ts +34 -25
  308. package/types/rt-tools-ui-kit-v2-note.d.ts +12 -9
  309. package/types/rt-tools-ui-kit-v2-notifications-bell.d.ts +37 -16
  310. package/types/rt-tools-ui-kit-v2-page-header.d.ts +218 -150
  311. package/types/rt-tools-ui-kit-v2-pagination.d.ts +99 -63
  312. package/types/rt-tools-ui-kit-v2-photo-viewer.d.ts +61 -66
  313. package/types/rt-tools-ui-kit-v2-popover.d.ts +116 -55
  314. package/types/rt-tools-ui-kit-v2-prompt-suggestion.d.ts +26 -16
  315. package/types/rt-tools-ui-kit-v2-radio-button.d.ts +85 -43
  316. package/types/rt-tools-ui-kit-v2-radius.d.ts +18 -15
  317. package/types/rt-tools-ui-kit-v2-rich-editor.d.ts +931 -590
  318. package/types/rt-tools-ui-kit-v2-ripple.d.ts +28 -25
  319. package/types/rt-tools-ui-kit-v2-scroll-area.d.ts +60 -58
  320. package/types/rt-tools-ui-kit-v2-section-nav.d.ts +32 -22
  321. package/types/rt-tools-ui-kit-v2-select.d.ts +182 -139
  322. package/types/rt-tools-ui-kit-v2-side-menu.d.ts +452 -349
  323. package/types/rt-tools-ui-kit-v2-skeleton-wrapper.d.ts +53 -20
  324. package/types/rt-tools-ui-kit-v2-skeleton.d.ts +55 -26
  325. package/types/rt-tools-ui-kit-v2-speed-menu.d.ts +131 -0
  326. package/types/rt-tools-ui-kit-v2-spinner.d.ts +56 -28
  327. package/types/rt-tools-ui-kit-v2-split-button.d.ts +96 -55
  328. package/types/rt-tools-ui-kit-v2-stat-tile.d.ts +88 -60
  329. package/types/rt-tools-ui-kit-v2-stepper.d.ts +50 -37
  330. package/types/rt-tools-ui-kit-v2-table.d.ts +631 -480
  331. package/types/rt-tools-ui-kit-v2-tabs.d.ts +198 -113
  332. package/types/rt-tools-ui-kit-v2-tag.d.ts +106 -53
  333. package/types/rt-tools-ui-kit-v2-textarea.d.ts +48 -25
  334. package/types/rt-tools-ui-kit-v2-theme-toggle.d.ts +28 -26
  335. package/types/rt-tools-ui-kit-v2-thread-list.d.ts +154 -94
  336. package/types/rt-tools-ui-kit-v2-timeline.d.ts +30 -28
  337. package/types/rt-tools-ui-kit-v2-toast.d.ts +174 -98
  338. package/types/rt-tools-ui-kit-v2-toggle-button-group.d.ts +132 -86
  339. package/types/rt-tools-ui-kit-v2-toggle-switch.d.ts +88 -50
  340. package/types/rt-tools-ui-kit-v2-toolbar.d.ts +30 -27
  341. package/types/rt-tools-ui-kit-v2-tooltip.d.ts +65 -41
  342. package/types/rt-tools-ui-kit-v2-tree-selector.d.ts +257 -0
  343. package/types/rt-tools-ui-kit-v2-tree.d.ts +282 -0
  344. package/types/rt-tools-ui-kit-v2-welcome-dialog.d.ts +21 -24
  345. package/types/rt-tools-ui-kit-v2-workspace-details.d.ts +195 -124
  346. package/types/rt-tools-ui-kit-v2-workspace.d.ts +122 -79
  347. package/types/rt-tools-ui-kit-v2.d.ts +100 -90
  348. package/fesm2022/rt-tools-ui-kit-v2.mjs.map +0 -1
@@ -27,13 +27,15 @@
27
27
  transition: opacity var(--rt-bottom-sheet-transition-duration) ease;
28
28
  }
29
29
 
30
+ /* Предел высоты панели — `--rt-bottom-sheet-max-height`, умолчание `80vh`; свойство приходит
31
+ от предка или с тега листа. */
30
32
  &__panel {
31
33
  position: absolute;
32
34
  right: 0;
33
35
  bottom: 0;
34
36
  left: 0;
35
37
  display: flex;
36
- max-height: 80vh;
38
+ max-height: var(--rt-bottom-sheet-max-height, 80vh);
37
39
  flex-direction: column;
38
40
  border-radius: var(--rt-bottom-sheet-radius) var(--rt-bottom-sheet-radius) 0 0;
39
41
  background: var(--rt-color-bg-surface);
@@ -65,6 +67,38 @@
65
67
  font-weight: var(--rt-font-weight-semibold);
66
68
  }
67
69
 
70
+ /* Тело — единственная прокручиваемая зона: панель упирается в предел высоты, а ручка,
71
+ шапка и подвал остаются на месте. `min-height: 0` обязателен — без него элемент флекса
72
+ не сжимается ниже своего содержимого, и прокрутка не включается. Колонка флекса
73
+ сохраняет раскладку содержимого прежней: до тела оно стояло прямо в колонке панели. */
74
+ &__body {
75
+ display: flex;
76
+ min-width: 0;
77
+ min-height: 0;
78
+ flex: 1 1 auto;
79
+ flex-direction: column;
80
+ overflow-y: auto;
81
+ overscroll-behavior: contain;
82
+ }
83
+
84
+ /* Подвал не прокручивается: кнопки стоят внизу при любой длине тела. Нижний отступ
85
+ прибавляет вырез экрана, иначе кнопки уходят под полосу жестов телефона. Без
86
+ спроецированного подвала элемент пуст и места не занимает. Спроецированное встаёт в
87
+ строку с зазором и переносится, когда не помещается в ширину; прижать кнопки вправо — `margin-inline-start: auto` у первой. */
88
+ &__footer {
89
+ display: flex;
90
+ flex-shrink: 0;
91
+ flex-wrap: wrap;
92
+ align-items: center;
93
+ padding: var(--rt-space-4) var(--rt-space-5) calc(var(--rt-space-4) + env(safe-area-inset-bottom));
94
+ border-top: var(--rt-border-width-thin) solid var(--rt-color-border-default);
95
+ gap: var(--rt-space-2);
96
+
97
+ &:empty {
98
+ display: none;
99
+ }
100
+ }
101
+
68
102
  &--open {
69
103
  pointer-events: auto;
70
104
 
@@ -0,0 +1,37 @@
1
+ # `rt-breadcrumbs`
2
+
3
+ ```html
4
+ <rt-breadcrumbs look="heading" [back]="true" [crumbs]="crumbs()">
5
+ <rt-tag>черновик</rt-tag>
6
+ </rt-breadcrumbs>
7
+ ```
8
+
9
+ | вход | тип | умолчание |
10
+ | ----------- | --------------------------------- | ---------- |
11
+ | `crumbs` | `readonly IRtBreadcrumbs.Crumb[]` | обязателен |
12
+ | `look` | `'inline' \| 'heading'` | `'inline'` |
13
+ | `back` | `boolean` | `false` |
14
+ | `separator` | `string` | `'/'` |
15
+
16
+ Описание правил — `docs/specs/ui-kit-v2/breadcrumbs/`; здесь только устройство папки.
17
+
18
+ ## Главное, что нужно знать
19
+
20
+ **Цепочку отдаёт приложение.** Последнее звено — открытая страница: ссылка у него не рисуется.
21
+ Маршрутов компонент не читает: имя открытой записи приходит с ответом сервера, и знает его только
22
+ страница.
23
+
24
+ **Свёртка — чистая функция.** `rtBreadcrumbsFold` раскладывает предков на голову, свёрнутое и хвост;
25
+ компонент только зовёт её с признаком узкого экрана от `BreakpointsService`.
26
+
27
+ ## Края
28
+
29
+ - Кнопка «назад» рисуется по просьбе и только при наличии предка: ведёт к последнему из них.
30
+ - В виде `heading` строки пути нет, пока нет предков; черта после последнего предка скрыта.
31
+ - Корень шаблона — `ng-container`: класс блока висит только на хосте.
32
+ - Цвета, кегль, зазоры и кнопка «назад» — свойства `--rt-breadcrumbs-*` на корне блока. Материальный
33
+ набор переназначает шесть из них в том же файле стилей, вид кита от этого не меняется.
34
+
35
+ ## Рядом
36
+
37
+ - [`rt-menu`](../menu/rt-menu.component.ts) — меню свёрнутой середины пути.
@@ -0,0 +1,205 @@
1
+ @layer rt-kit.components {
2
+ /* rt-breadcrumbs — путь до открытой страницы. ViewEncapsulation.None.
3
+ Корень шаблона — ng-container, поэтому класс блока висит только на хосте.
4
+ Цвета, кегль, зазоры и заголовок — свойства блока: приложение перекрашивает крошки, не трогая
5
+ общих шагов кита. Умолчания — прежние шаги, вид без свойств не меняется. */
6
+
7
+ .rt-breadcrumbs {
8
+ --rt-breadcrumbs-back-radius: var(--rt-radius-full);
9
+ --rt-breadcrumbs-duration: var(--rt-duration-fast);
10
+ --rt-breadcrumbs-gap: var(--rt-space-xs);
11
+ --rt-breadcrumbs-font-size: var(--rt-text-sm);
12
+ --rt-breadcrumbs-font-weight: var(--rt-font-weight-medium);
13
+ --rt-breadcrumbs-line-height: var(--rt-leading-snug);
14
+ --rt-breadcrumbs-link-color: var(--rt-color-text-muted);
15
+ --rt-breadcrumbs-link-color-hover: var(--rt-color-text-primary);
16
+ --rt-breadcrumbs-link-radius: var(--rt-radius-xs);
17
+ --rt-breadcrumbs-separator-color: var(--rt-color-text-disabled);
18
+ --rt-breadcrumbs-separator-gap: var(--rt-space-xs);
19
+ --rt-breadcrumbs-current-color: var(--rt-color-text-primary);
20
+ --rt-breadcrumbs-current-min: var(--rt-size-30);
21
+ --rt-breadcrumbs-back-size: var(--rt-control-height-sm);
22
+ --rt-breadcrumbs-back-icon-size: var(--rt-size-5);
23
+ --rt-breadcrumbs-back-color: var(--rt-color-text-primary);
24
+ --rt-breadcrumbs-back-bg-hover: var(--rt-color-bg-hover);
25
+ --rt-breadcrumbs-heading-gap: var(--rt-space-sm);
26
+ --rt-breadcrumbs-heading-offset: var(--rt-space-xs);
27
+ --rt-breadcrumbs-title-color: var(--rt-color-text-primary);
28
+ --rt-breadcrumbs-title-font-size: var(--rt-text-2xl);
29
+ --rt-breadcrumbs-title-font-weight: var(--rt-font-weight-bold);
30
+ --rt-breadcrumbs-title-line-height: var(--rt-leading-tight);
31
+
32
+ display: block;
33
+ min-inline-size: 0;
34
+
35
+ /* Под пальцем кнопка «назад» крупнее: размер переназначается свойством, а не правилом. */
36
+ @media (pointer: coarse) {
37
+ --rt-breadcrumbs-back-size: var(--rt-control-height-lg);
38
+ }
39
+
40
+ /* Материальный набор повторяет крошки приложения: звенья, разделитель и кнопка «назад»
41
+ стоят через 8px, предки и разделитель — цвета вторичного текста темы Material
42
+ (on-surface-variant), без темы — приглушённого текста кита; кнопка «назад» — круглая 40px
43
+ со значком 24px. */
44
+ :is(.rt-preset-material, [data-preset='material']) & {
45
+ --rt-breadcrumbs-gap: var(--rt-size-2);
46
+ --rt-breadcrumbs-separator-gap: var(--rt-size-2);
47
+ --rt-breadcrumbs-link-color: var(--mat-sys-on-surface-variant, var(--rt-color-text-muted));
48
+ --rt-breadcrumbs-separator-color: var(--mat-sys-on-surface-variant, var(--rt-color-text-muted));
49
+ --rt-breadcrumbs-back-size: var(--rt-size-10);
50
+ --rt-breadcrumbs-back-icon-size: var(--rt-size-6);
51
+
52
+ @media (pointer: coarse) {
53
+ --rt-breadcrumbs-back-size: var(--rt-control-height-lg);
54
+ }
55
+ }
56
+
57
+ &__row {
58
+ display: flex;
59
+ align-items: center;
60
+ gap: var(--rt-breadcrumbs-gap);
61
+ min-inline-size: 0;
62
+ }
63
+
64
+ /* Длинный путь не уводит страницу вбок: он едет внутри своей строки, без полосы прокрутки —
65
+ вести по ней некуда, а место она занимает. */
66
+
67
+ /* Прокручиваемая строка обрезает и кольцо фокуса: внутренние поля шириной в кольцо дают ему
68
+ место, а такие же отрицательные поля снаружи оставляют раскладку прежней. */
69
+ &__list {
70
+ display: flex;
71
+ align-items: center;
72
+ padding: var(--rt-focus-ring-width);
73
+ margin: calc(-1 * var(--rt-focus-ring-width));
74
+ list-style: none;
75
+ min-inline-size: 0;
76
+ overflow-x: auto;
77
+ scrollbar-width: none;
78
+
79
+ /* Начало пути уехало влево: край строки гаснет, чтобы обрезка читалась как продолжение. */
80
+ &--clipped {
81
+ mask-image: linear-gradient(to right, transparent, black var(--rt-space-lg));
82
+ }
83
+ }
84
+
85
+ /* Предки помещаются рядом с текущим звеном, урезанным до порога: звено сжимается с
86
+ многоточием, и раздел остаётся на виду. Порог — --rt-breadcrumbs-current-min, его читает
87
+ замер строки. */
88
+ &__list--fitted > &__item:last-child {
89
+ flex: 0 1 auto;
90
+ min-inline-size: 0;
91
+ }
92
+
93
+ /* Звенья держат свою ширину, и лишнее уезжает влево — строка стоит в конце. Многоточие
94
+ получает только текущее звено, которое одно шире строки. */
95
+ &__item {
96
+ display: flex;
97
+ flex: none;
98
+ align-items: center;
99
+ white-space: nowrap;
100
+
101
+ &:last-child {
102
+ max-inline-size: 100%;
103
+ }
104
+ }
105
+
106
+ &__link,
107
+ &__separator,
108
+ &__current {
109
+ font-size: var(--rt-breadcrumbs-font-size);
110
+ font-weight: var(--rt-breadcrumbs-font-weight);
111
+ line-height: var(--rt-breadcrumbs-line-height);
112
+ }
113
+
114
+ &__link {
115
+ border-radius: var(--rt-breadcrumbs-link-radius);
116
+ color: var(--rt-breadcrumbs-link-color);
117
+ text-decoration: none;
118
+ transition: color var(--rt-breadcrumbs-duration) linear;
119
+
120
+ &:hover {
121
+ color: var(--rt-breadcrumbs-link-color-hover);
122
+ }
123
+
124
+ &:focus-visible {
125
+ outline: var(--rt-focus-ring-width) solid var(--rt-focus-ring-color);
126
+ outline-offset: var(--rt-focus-ring-offset);
127
+ }
128
+ }
129
+
130
+ /* Кнопка меню шире своего значка на собственные поля: без поправки зазор вокруг «…» вдвое
131
+ шире зазора между звеньями. */
132
+ &__fold {
133
+ display: inline-flex;
134
+ margin-inline: calc(-1 * var(--rt-space-sm));
135
+ }
136
+
137
+ &__separator {
138
+ color: var(--rt-breadcrumbs-separator-color);
139
+ margin-inline: var(--rt-breadcrumbs-separator-gap);
140
+ }
141
+
142
+ /* Текущее звено обрезается многоточием, а полный текст даёт подсказка над обрезанным. */
143
+ &__current {
144
+ overflow: hidden;
145
+ color: var(--rt-breadcrumbs-current-color);
146
+ min-inline-size: 0;
147
+ text-overflow: ellipsis;
148
+ }
149
+
150
+ &__back {
151
+ display: inline-flex;
152
+ flex: none;
153
+ align-items: center;
154
+ justify-content: center;
155
+
156
+ --rt-icon-step-md: var(--rt-breadcrumbs-back-icon-size);
157
+
158
+ border-radius: var(--rt-breadcrumbs-back-radius);
159
+ block-size: var(--rt-breadcrumbs-back-size);
160
+ color: var(--rt-breadcrumbs-back-color);
161
+ inline-size: var(--rt-breadcrumbs-back-size);
162
+ transition: background-color var(--rt-breadcrumbs-duration) linear;
163
+
164
+ &:hover {
165
+ background-color: var(--rt-breadcrumbs-back-bg-hover);
166
+ }
167
+
168
+ &:focus-visible {
169
+ outline: var(--rt-focus-ring-width) solid var(--rt-focus-ring-color);
170
+ outline-offset: var(--rt-focus-ring-offset);
171
+ }
172
+ }
173
+
174
+ /* Заголовок — последнее звено, он стоит строкой ниже, и черта после последнего предка
175
+ висела бы в конце строки пути. */
176
+ &--heading &__item:last-child &__separator {
177
+ display: none;
178
+ }
179
+
180
+ &__heading {
181
+ display: flex;
182
+ flex-flow: row wrap;
183
+ align-items: center;
184
+ gap: var(--rt-breadcrumbs-heading-gap);
185
+ min-inline-size: 0;
186
+ }
187
+
188
+ &__row + &__heading {
189
+ margin-block-start: var(--rt-breadcrumbs-heading-offset);
190
+ }
191
+
192
+ &__title {
193
+ overflow: hidden;
194
+ margin: 0;
195
+ color: var(--rt-breadcrumbs-title-color);
196
+ font-size: var(--rt-breadcrumbs-title-font-size);
197
+ font-weight: var(--rt-breadcrumbs-title-font-weight);
198
+ line-height: var(--rt-breadcrumbs-title-line-height);
199
+ max-inline-size: 100%;
200
+ min-inline-size: 0;
201
+ text-overflow: ellipsis;
202
+ white-space: nowrap;
203
+ }
204
+ }
205
+ }
@@ -0,0 +1,42 @@
1
+ # `rt-carousel`
2
+
3
+ ```html
4
+ <rt-carousel [cards]="row.roles" />
5
+ ```
6
+
7
+ | вход | тип | умолчание |
8
+ | ----------- | ----------------------------------------------------------- | --------- |
9
+ | `cards` | `readonly IRtCarousel.Card[] \| null` — `{ label, color? }` | `[]` |
10
+ | `labelCase` | `'as-is' \| 'title'` — `title` пишет «AI» как «Ai» | `'as-is'` |
11
+
12
+ Выходов нет: стопка только показывает подписи.
13
+
14
+ Договорённость — `docs/specs/ui-kit-v2/carousel/`.
15
+
16
+ ## Главное, что нужно знать
17
+
18
+ **Карточки наезжают одна на другую.** Каждая после первой ложится на левую соседку на половину
19
+ ширины, так стопка помещается в узкую ячейку таблицы. Подпись урезается многоточием.
20
+
21
+ **Открытая карточка показывает подпись целиком.** Под указателем и в фокусе карточка приподнимается,
22
+ растёт до всей подписи и встаёт поверх соседей, а следующие отходят в сторону. Каждая карточка стоит
23
+ в порядке Tab, касание на сенсорном экране фокусирует её и открывает так же. Хост держит ширину
24
+ свёрнутой стопки, а открытая карточка выходит за него поверх: ячейка таблицы не растягивается.
25
+
26
+ **Цвет и тон считает чистая логика.** `rt-carousel.logic.ts` приводит цвет к `#rrggbb` и выбирает тон
27
+ подписи по яркости: `0.299·R + 0.587·G + 0.114·B` выше 186 — тёмная, иначе светлая. Карточка без
28
+ цвета или с чужой записью остаётся на фоне кита.
29
+
30
+ ## Края
31
+
32
+ - Пустой вход и `null` не рисуют ни одной карточки.
33
+ - Хост — список `role="list"`, карточки — `role="listitem"`: нажатие на карточку ничего не делает.
34
+ - Корень шаблона — `ng-container`: класс блока висит только на хосте.
35
+ - Тон — два постоянных шага, а не цвета темы: на цвете карточки контраст держится и в тёмной теме.
36
+ - Размеры, наезд, подъём, сдвиг, скругление, тень, кегль, регистр и длительность — свойства
37
+ `--rt-carousel-*` на корне блока. Материальный набор переназначает их в том же файле стилей.
38
+ - С `prefers-reduced-motion` карточки двигаются без перехода.
39
+
40
+ ## Рядом
41
+
42
+ - [`rt-tag`](../tag/CONTEXT.md) — одна метка из палитры важности, без своего цвета и без наезда.
@@ -0,0 +1,117 @@
1
+ @layer rt-kit.components {
2
+ /* rt-carousel — стопка цветных карточек. ViewEncapsulation.None.
3
+ Корень шаблона — ng-container, поэтому класс блока висит только на хосте. Карточки наезжают на
4
+ левую соседку; открытая — под указателем или в фокусе — встаёт поверх, растёт до всей подписи,
5
+ а следующие отходят. Размеры, наезд, подъём, сдвиг, скругление, тень, кегль, регистр и
6
+ длительность — свойства блока: приложение переназначает их своим правилом на блок, а
7
+ материальный набор — в этом же файле. */
8
+
9
+ .rt-carousel {
10
+ /* Число карт ставит сам компонент стилем хоста, и он перекрывает это значение; здесь оно
11
+ объявлено, чтобы у ширины закрытой стопки было значение и до первой отрисовки. */
12
+ --rt-carousel-count: 0;
13
+ --rt-carousel-card-width: var(--rt-size-16);
14
+ --rt-carousel-card-padding-inline: var(--rt-space-2);
15
+ --rt-carousel-card-radius: var(--rt-radius-ms);
16
+ --rt-carousel-card-shadow: var(--rt-shadow-sm);
17
+ --rt-carousel-card-bg: var(--rt-color-bg-subtle);
18
+ --rt-carousel-card-color: var(--rt-color-text-primary);
19
+ --rt-carousel-tone-dark: var(--rt-neutral-950);
20
+ --rt-carousel-tone-light: var(--rt-neutral-0);
21
+ --rt-carousel-overlap: calc(var(--rt-size-16) / 2);
22
+ --rt-carousel-lift: var(--rt-space-1);
23
+ --rt-carousel-shift: var(--rt-space-4);
24
+ --rt-carousel-label-size: var(--rt-text-xs);
25
+ --rt-carousel-label-weight: var(--rt-font-weight-medium);
26
+ --rt-carousel-label-height: var(--rt-size-6);
27
+ --rt-carousel-label-transform: none;
28
+ --rt-carousel-duration: var(--rt-duration-base);
29
+
30
+ /* Ширина хоста — свёрнутая стопка: число карточек ставит компонент. Открытая карточка и
31
+ отошедшие соседки выходят за неё поверх, и ячейка таблицы под стопкой не растягивается. */
32
+ display: inline-flex;
33
+ align-items: center;
34
+ inline-size: calc(
35
+ var(--rt-carousel-count) * var(--rt-carousel-card-width) - max(var(--rt-carousel-count) - 1, 0) * var(--rt-carousel-overlap)
36
+ );
37
+ isolation: isolate;
38
+
39
+ /* Материальный набор повторяет стопку приложения: карточки с малым скруглением и большой
40
+ тенью, тёмная подпись цвета текста Material, подпись обычного начертания с заглавной
41
+ буквы каждого слова, движение медленнее. Шага 300 у начертания в ките нет — ближайший
42
+ обычный. */
43
+ :is(.rt-preset-material, [data-preset='material']) & {
44
+ --rt-carousel-card-radius: var(--rt-radius-sm);
45
+ --rt-carousel-card-shadow: var(--rt-shadow-lg);
46
+ --rt-carousel-tone-dark: var(--rt-mat-neutral-100);
47
+ --rt-carousel-label-weight: var(--rt-font-weight-regular);
48
+ --rt-carousel-label-transform: capitalize;
49
+ --rt-carousel-duration: calc(var(--rt-duration-base) * 1.5);
50
+ }
51
+
52
+ /* Заливку карточки ставит шаблон из её цвета; без цвета остаётся фон кита. */
53
+ &__card {
54
+ --rt-carousel-card-fill: var(--rt-carousel-card-bg);
55
+
56
+ position: relative;
57
+ display: flex;
58
+ box-sizing: border-box;
59
+ flex-shrink: 0;
60
+ border-radius: var(--rt-carousel-card-radius);
61
+ background: var(--rt-carousel-card-fill);
62
+ box-shadow: var(--rt-carousel-card-shadow);
63
+ color: var(--rt-carousel-card-color);
64
+ inline-size: var(--rt-carousel-card-width);
65
+ min-inline-size: var(--rt-carousel-card-width);
66
+ outline: 2px solid transparent;
67
+ padding-inline: var(--rt-carousel-card-padding-inline);
68
+ transition: transform var(--rt-carousel-duration) ease-out;
69
+
70
+ & + & {
71
+ margin-inline-start: calc(-1 * var(--rt-carousel-overlap));
72
+ }
73
+
74
+ /* Тон подписи — два постоянных шага: на цвете карточки он не зависит от темы. */
75
+ &--tone--dark {
76
+ color: var(--rt-carousel-tone-dark);
77
+ }
78
+
79
+ &--tone--light {
80
+ color: var(--rt-carousel-tone-light);
81
+ }
82
+
83
+ /* Касание фокусирует карточку, поэтому открывает её и обычный фокус, не только с клавиши. */
84
+ &:is(:hover, :focus, :focus-visible) {
85
+ z-index: 1;
86
+ inline-size: max-content;
87
+ transform: translateY(calc(-1 * var(--rt-carousel-lift)));
88
+
89
+ ~ .rt-carousel__card {
90
+ transform: translateX(var(--rt-carousel-shift));
91
+ }
92
+ }
93
+
94
+ &:focus-visible {
95
+ outline: var(--rt-focus-ring-width) solid var(--rt-focus-ring-color);
96
+ outline-offset: var(--rt-focus-ring-offset);
97
+ }
98
+
99
+ @media (prefers-reduced-motion: reduce) {
100
+ transition: none;
101
+ }
102
+ }
103
+
104
+ /* Подпись урезается многоточием; целиком её показывает открытая карточка. */
105
+ &__label {
106
+ overflow: hidden;
107
+ font-size: var(--rt-carousel-label-size);
108
+ font-weight: var(--rt-carousel-label-weight);
109
+ inline-size: 100%;
110
+ line-height: var(--rt-carousel-label-height);
111
+ text-align: center;
112
+ text-overflow: ellipsis;
113
+ text-transform: var(--rt-carousel-label-transform);
114
+ white-space: nowrap;
115
+ }
116
+ }
117
+ }
@@ -30,6 +30,9 @@
30
30
  в один внутренний сигнал, поэтому ведут себя одинаково.
31
31
  - Проекция не видна скринридеру как имя контрола: если подпись важна для AT, задай `ariaLabel`.
32
32
  - `inputId` кладётся на кнопку — по нему связывается внешний `<label for>`.
33
+ - Размер и рамку квадрата задают `--rt-checkbox-box-size` и `--rt-checkbox-box-border-color` на
34
+ хосте `rt-checkbox`. Окружение перекрывает их классом на том же хосте. Так дерево выбора в
35
+ материальном виде ставит квадрат 16px с серой рамкой, а сам флажок держит 18px и рамку кита.
33
36
 
34
37
  ## Рядом
35
38
 
@@ -6,7 +6,13 @@
6
6
  и на `<rt-checkbox>`, и на корне шаблона, поэтому правила блока вложены в хост —
7
7
  так они достаются только корню шаблона. */
8
8
 
9
+ /* Размер и рамка квадрата объявлены на хосте, а не на кнопке внутри: окружение перекрывает их
10
+ классом на том же хосте. Так дерево выбора в материальном виде ставит квадрат 16px с серой
11
+ рамкой приложения; сам флажок держит прежние 18px и рамку кита. */
9
12
  rt-checkbox {
13
+ --rt-checkbox-box-size: calc(var(--rt-size-4) + var(--rt-space-0-5));
14
+ --rt-checkbox-box-border-color: var(--rt-color-border-strong);
15
+
10
16
  display: inline-block;
11
17
 
12
18
  /* Шаг входа `radius` переназначает скругление квадрата, кольцо фокуса держит своё. */
@@ -52,12 +58,12 @@
52
58
 
53
59
  &__box {
54
60
  display: inline-flex;
55
- width: 18px;
56
- height: 18px;
61
+ width: var(--rt-checkbox-box-size);
62
+ height: var(--rt-checkbox-box-size);
57
63
  flex-shrink: 0;
58
64
  align-items: center;
59
65
  justify-content: center;
60
- border: var(--rt-input-border-width) solid var(--rt-color-border-strong);
66
+ border: var(--rt-input-border-width) solid var(--rt-checkbox-box-border-color);
61
67
  border-radius: var(--rt-checkbox-box-radius);
62
68
  background: var(--rt-color-bg-surface);
63
69
  transition:
@@ -0,0 +1,49 @@
1
+ # `rt-color-palette`
2
+
3
+ ```html
4
+ <rt-field label="Цвет роли">
5
+ <rt-color-palette formControlName="color" [colors]="themeColors" />
6
+ </rt-field>
7
+ ```
8
+
9
+ Свои входы поверх общих из [`RtFormControlBase`](../form-control/CONTEXT.md): из общих палитра читает
10
+ `disabled`, `controlId` и `ariaLabel`, а размер, кнопку очистки и рамку не рисует.
11
+
12
+ | вход | тип | умолчание |
13
+ | --------------- | ------------------- | ------------------------------- |
14
+ | `colors` | `readonly string[]` | `[]` → восемнадцать цветов кита |
15
+ | `readonly` | `boolean` | `false` |
16
+ | `customAllowed` | `boolean` | `true` |
17
+ | `channels` | `boolean` | `false` → без полей R, G, B |
18
+
19
+ Выходов нет: значение уходит в форму — `#rrggbb` строчными или `null`.
20
+
21
+ Договорённость — `docs/specs/ui-kit-v2/color-palette/`.
22
+
23
+ ## Главное, что нужно знать
24
+
25
+ **Значение одно по форме.** Форма может записать `#ABC`, `00FF00` или `red`; поле держит `#aabbcc`,
26
+ `#00ff00` и «цвет не выбран». Чужой цвет, которого нет в наборе, рисуется ещё одним образцом в конце.
27
+
28
+ **Образцы — группа переключателей.** В порядке Tab стоит один образец — выбранный, а без выбора
29
+ первый. Стрелки выбирают соседний по кругу, Home и End — крайние, и фокус идёт за выбором.
30
+
31
+ **Свой цвет меняет только «Применить».** Панель `rt-color-picker` открывается кнопкой своего цвета
32
+ на плавающей панели кита и начинает с текущего цвета. «Отмена», Escape и нажатие мимо закрывают её
33
+ без изменений. Площадь, полосу и градиенты строит чистая логика `rt-color-palette.logic.ts`.
34
+
35
+ ## Края
36
+
37
+ - Только для чтения — один образец текущего цвета; пустое значение — образец с одной рамкой.
38
+ - Отключённая палитра не берёт ни нажатия, ни клавиши, образцы приглушены.
39
+ - Корень шаблона — `ng-container`: класс блока висит только на хосте.
40
+ - Размеры, зазоры, кольцо и рамки — свойства `--rt-color-palette-*` на корне блока. Материальный
41
+ набор переназначает их в том же файле стилей: круги без рамки, полое кольцо, рост под указателем.
42
+ Свой образец в обоих наборах стоит последним в сетке, а кнопка своего цвета — строкой под ней.
43
+ - Панель выбора живёт в оверлее и объявляет свои свойства на себе: свойства палитры до неё не
44
+ доходят. Материальный набор доходит классом набора на панели оверлея.
45
+
46
+ ## Рядом
47
+
48
+ - [`rt-field`](../field/CONTEXT.md) — подпись, подсказка и ошибка вокруг палитры.
49
+ - [`rt-popover`](../popover/CONTEXT.md) — плавающая панель своего цвета.