@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,483 @@
1
+ import * as i0 from '@angular/core';
2
+ import { TemplateRef, Signal, ElementRef, WritableSignal, InputSignal, InputSignalWithTransform, OutputEmitterRef, InjectionToken, EnvironmentProviders } from '@angular/core';
3
+ import { FormControl } from '@angular/forms';
4
+ import { IRtIcon } from '@rt-tools/ui-kit-v2/core';
5
+
6
+ declare namespace IRtSideMenu {
7
+ type ItemData = string | number | object;
8
+ /**
9
+ * Чем подменю держится открытым: наведением или закреплением — тогда оно стоит открытым, пока
10
+ * человек сам его не свернёт.
11
+ */
12
+ type SubMenuMode = 'hover' | 'pinned';
13
+ /** Номер пункта в списке избранного — тот же, что `id` пункта меню. */
14
+ type FavoriteId = Item['id'];
15
+ /**
16
+ * Место под скрытые кнопки строки: `always` — кнопка, ждущая наведения, держит свою ширину;
17
+ * `none` — в покое ширины не занимает, и подпись идёт до края.
18
+ */
19
+ type FavoriteActionsReserve = 'always' | 'none';
20
+ /**
21
+ * Число строк в заголовке блока избранного: `always` — всегда; `collapsed` — только у свёрнутого
22
+ * блока; `never` — никогда.
23
+ */
24
+ type FavoritesCount = 'always' | 'collapsed' | 'never';
25
+ /**
26
+ * Настройки одного меню под его номером в хранилище. Незнакомые поля кит не удаляет: их могло
27
+ * положить приложение или следующая версия кита.
28
+ */
29
+ interface Settings {
30
+ favorites?: FavoriteId[];
31
+ /** Пункты полосы, чей блок избранного свёрнут; блок по умолчанию развёрнут. */
32
+ favoritesCollapsed?: Array<Item['id']>;
33
+ subMenuMode?: SubMenuMode;
34
+ subMenuWidth?: number;
35
+ [field: string]: unknown;
36
+ }
37
+ interface Item {
38
+ id: string | number;
39
+ icon?: string;
40
+ name?: string;
41
+ link?: string;
42
+ submenu?: Item[];
43
+ /** Избранное в подменю этого пункта полосы. По умолчанию выключено. */
44
+ favorites?: boolean;
45
+ /**
46
+ * Пункт со ссылкой, который в избранное не ставится: своя страница раздела, дашборд,
47
+ * действие «Создать». Звезды у него нет, и номер, сохранённый раньше, в блок не попадает.
48
+ */
49
+ favoriteDisabled?: boolean;
50
+ iconButton?: {
51
+ icon: string;
52
+ data?: ItemData;
53
+ };
54
+ }
55
+ /** Кусок подписи: отмеченный — тот, которым она совпала с запросом. */
56
+ interface TitlePart {
57
+ text: string;
58
+ matched: boolean;
59
+ }
60
+ }
61
+
62
+ /** Шапка бокового меню: над полосой пунктов. */
63
+ declare class RtSideMenuHeaderDirective {
64
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtSideMenuHeaderDirective, never>;
65
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtSideMenuHeaderDirective, "[rtSideMenuHeader]", never, {}, {}, never, never, true, never>;
66
+ }
67
+ /** Подвал бокового меню: под полосой пунктов. */
68
+ declare class RtSideMenuFooterDirective {
69
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtSideMenuFooterDirective, never>;
70
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtSideMenuFooterDirective, "[rtSideMenuFooter]", never, {}, {}, never, never, true, never>;
71
+ }
72
+ /**
73
+ * Контекст своего значка: пункт, имя, которое надо нарисовать, и место. Шаблон один на меню и рисует
74
+ * и значок строки, и кнопку строки, поэтому рисунок выбирают по `icon`, а не по `item.icon`: у кнопки
75
+ * это имя её значка.
76
+ */
77
+ interface IRtSideMenuIconContext {
78
+ $implicit: IRtSideMenu.Item;
79
+ /** Имя значка этого места: значка строки или кнопки строки. */
80
+ icon: string;
81
+ /** Место: значок строки или кнопка строки. */
82
+ slot: 'icon' | 'iconButton';
83
+ }
84
+ /**
85
+ * Помечает `<ng-template>` своего значка пунктов меню — для имён, которых нет ни в наборе кита, ни
86
+ * в перечне имён Material. Шаблон один на меню и рисует и значок строки, и значок кнопки строки; кит
87
+ * ставит его на место значка размером значка и цветом строки. Рисунок выбирают по `icon` контекста.
88
+ * Значок, который кит рисует сам, шаблон не перебивает.
89
+ *
90
+ * ```html
91
+ * <rt-side-menu [menuItems]="items">
92
+ * <ng-template rtSideMenuIcon let-icon="icon"><img [src]="'/icons/' + icon + '.svg'" alt="" /></ng-template>
93
+ * </rt-side-menu>
94
+ * ```
95
+ */
96
+ declare class RtSideMenuIconDirective {
97
+ readonly templateRef: TemplateRef<IRtSideMenuIconContext>;
98
+ static ngTemplateContextGuard(_directive: RtSideMenuIconDirective, context: unknown): context is IRtSideMenuIconContext;
99
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtSideMenuIconDirective, never>;
100
+ static ɵdir: i0.ɵɵDirectiveDeclaration<RtSideMenuIconDirective, "ng-template[rtSideMenuIcon]", never, {}, {}, never, never, true, never>;
101
+ }
102
+
103
+ /**
104
+ * Меню, в котором стоит подпункт. Токен вместо самого компонента: меню объявляет подпункт в своих
105
+ * импортах, и прямая ссылка замкнула бы круг «меню → подпункт → меню».
106
+ *
107
+ * Активность и раскрытость — два значения: активным остаётся адрес, на котором человек стоит, а
108
+ * раскрытой — всякая папка, в которой нашлось совпадение.
109
+ */
110
+ interface IRtSideMenuHost {
111
+ readonly activeMenuIds: Signal<ReadonlyArray<string | number>>;
112
+ readonly expandedMenuIds: Signal<ReadonlyArray<string | number>>;
113
+ readonly highlightedMenuId: Signal<string | number | null>;
114
+ readonly subMenuQuery: Signal<string>;
115
+ /** Номер, под которым меню хранит настройки, и пункты полосы: по ним избранное находит свой раздел. */
116
+ readonly menuId: Signal<string>;
117
+ readonly menuItems: Signal<ReadonlyArray<IRtSideMenu.Item>>;
118
+ /** Набор, который подменю наполняет сейчас, до отбора поиском. */
119
+ readonly shownSubMenu: Signal<IRtSideMenu.Item[]>;
120
+ readonly favoritesCount: Signal<IRtSideMenu.FavoritesCount>;
121
+ /** Поиск показывает совпавшие строки избранного; выключено — на время поиска блока нет. */
122
+ readonly isFavoritesSearchShown: Signal<boolean>;
123
+ /** Свой значок пунктов, чьё имя кит не рисует: шаблон `rtSideMenuIcon` меню. */
124
+ readonly ownIconTpl: Signal<TemplateRef<IRtSideMenuIconContext> | undefined>;
125
+ /** Подсказки строк подменю: выключено — их нет ни у подписей, ни у кнопок строк. */
126
+ readonly subMenuTooltipsShown: Signal<boolean>;
127
+ /** Раскрыть или свернуть папку нажатием её заголовка. */
128
+ toggleFolder(item: IRtSideMenu.Item): void;
129
+ /** Уход указателя с панели: подменю, открытое наведением, закрывается. */
130
+ toggleSubMenu(): void;
131
+ /** Строку избранного тянут: подменю, открытое наведением, не закрывается уходом указателя. */
132
+ holdSubMenu(held: boolean): void;
133
+ }
134
+
135
+ /**
136
+ * Боковая навигация: полоса пунктов и подменю раздела рядом. Перенос бокового меню первого кита на
137
+ * части второго; `rt-menu` — другое семейство, выпадающее меню действий.
138
+ */
139
+ declare class RtSideMenuComponent implements IRtSideMenuHost {
140
+ #private;
141
+ protected readonly searchControl: FormControl<string | null>;
142
+ protected readonly panelRef: Signal<ElementRef<HTMLElement> | undefined>;
143
+ protected readonly headerTpl: Signal<TemplateRef<unknown> | undefined>;
144
+ protected readonly footerTpl: Signal<TemplateRef<unknown> | undefined>;
145
+ protected readonly searchLabel: Signal<string>;
146
+ protected readonly pinLabel: Signal<string>;
147
+ protected readonly unpinLabel: Signal<string>;
148
+ protected readonly nothingFoundLabel: Signal<string>;
149
+ protected readonly resizeLabel: Signal<string>;
150
+ protected readonly backLabel: Signal<string>;
151
+ /** Экран узкий: замер кита, и другого источника у этого признака нет. */
152
+ protected readonly narrow: Signal<boolean>;
153
+ protected readonly resizeValueNow: Signal<number | null>;
154
+ protected readonly resizeValueMin: number;
155
+ protected readonly resizeValueMax: number;
156
+ /** Натянутая ширина панели. Своего выбора нет — свойство не ставится, и ширину берёт оформление. */
157
+ protected readonly panelWidthStyle: Signal<string | null>;
158
+ /** Закрепление действует только на широком экране: на узком подменю занимает экран целиком. */
159
+ protected readonly isPinned: Signal<boolean>;
160
+ /** Подменю держится набором запроса: уходом указателя не закрывается. */
161
+ protected readonly isSearchHeld: Signal<boolean>;
162
+ /** Закреплённое подменю открыто, пока ему есть что показать: указатель на это не влияет. */
163
+ protected readonly subMenuOpened: Signal<boolean>;
164
+ protected readonly visibleSubMenuItems: Signal<IRtSideMenu.Item[]>;
165
+ protected readonly isNothingFound: Signal<boolean>;
166
+ /** Пункт полосы подсвечен активным: выбранный человеком, а без выбора — пункт текущего адреса. */
167
+ protected readonly activeRailIds: Signal<ReadonlyArray<string | number>>;
168
+ /** Набор, который подменю наполняет сейчас, до отбора поиском. */
169
+ readonly shownSubMenu: Signal<IRtSideMenu.Item[]>;
170
+ readonly selectedItem: WritableSignal<IRtSideMenu.Item | null>;
171
+ readonly selectedSubMenu: WritableSignal<IRtSideMenu.Item[] | null>;
172
+ /** Что набрано в поиске: строка берёт запрос отсюда, чтобы отметить совпавшее. */
173
+ readonly subMenuQuery: WritableSignal<string>;
174
+ readonly highlightedMenuId: Signal<string | number | null>;
175
+ /**
176
+ * Какие папки раскрыты. Пустой запрос оставляет раздел текущего адреса; непустой добавляет
177
+ * папки с совпадением — иначе найденное лежит за закрытым заголовком.
178
+ */
179
+ readonly expandedMenuIds: Signal<ReadonlyArray<string | number>>;
180
+ readonly activeMenuIds: InputSignal<ReadonlyArray<string | number>>;
181
+ readonly menuItems: InputSignal<ReadonlyArray<IRtSideMenu.Item>>;
182
+ /** Режим подменю от приложения. Задан — важнее сохранённого; нет ни того, ни другого — наведение. */
183
+ readonly subMenuMode: InputSignal<IRtSideMenu.SubMenuMode | undefined>;
184
+ /** Ширина закреплённого подменю в пикселях. Пусто — сохранённая, её нет — оформление. */
185
+ readonly subMenuWidth: InputSignal<number | null | undefined>;
186
+ /** Номер, под которым меню хранит свои настройки: у двух меню приложения — два номера. */
187
+ readonly menuId: InputSignalWithTransform<string, string | null | undefined>;
188
+ /** Число строк в заголовке блока избранного: всегда, у свёрнутого блока или никогда. */
189
+ readonly favoritesCount: InputSignal<IRtSideMenu.FavoritesCount>;
190
+ /** Место под кнопки избранного, ждущие наведения: держать всегда или отдавать подписи. */
191
+ readonly favoriteActionsReserve: InputSignal<IRtSideMenu.FavoriteActionsReserve>;
192
+ /** Поиск показывает совпавшие строки избранного; выключено — на время поиска блока нет. */
193
+ readonly isFavoritesSearchShown: InputSignalWithTransform<boolean, unknown>;
194
+ /** Кнопка закрепления в шапке подменю; выключено — подменю только всплывает, если режим не задан входом. */
195
+ readonly pinShown: InputSignalWithTransform<boolean, unknown>;
196
+ /** Подсказки строк подменю — у подписей и у кнопок строк. Доступные имена остаются. */
197
+ readonly subMenuTooltipsShown: InputSignalWithTransform<boolean, unknown>;
198
+ readonly subMenuModeChange: OutputEmitterRef<IRtSideMenu.SubMenuMode>;
199
+ readonly subMenuWidthChange: OutputEmitterRef<number>;
200
+ /** Начало и конец тяги: по ним потребитель накрывает чужие кадры и снимает накрытие. */
201
+ readonly subMenuResizeStart: OutputEmitterRef<void>;
202
+ readonly subMenuResizeEnd: OutputEmitterRef<void>;
203
+ readonly closeMobileMenuAction: OutputEmitterRef<void>;
204
+ readonly clickSubMenuAction: OutputEmitterRef<{
205
+ item: IRtSideMenu.Item;
206
+ event: MouseEvent;
207
+ }>;
208
+ readonly clickSubMenuAdditionalAction: OutputEmitterRef<{
209
+ data: IRtSideMenu.ItemData | undefined;
210
+ event: MouseEvent;
211
+ }>;
212
+ /** Свой значок пунктов, чьё имя кит не рисует; подпункты читают его через токен меню. */
213
+ readonly ownIconTpl: Signal<TemplateRef<IRtSideMenuIconContext> | undefined>;
214
+ constructor();
215
+ onClickMenu(item: IRtSideMenu.Item): void;
216
+ onClickSubMenu({ item, event }: {
217
+ item: IRtSideMenu.Item;
218
+ event: MouseEvent;
219
+ }): void;
220
+ onClickSubMenuAdditional(payload: {
221
+ data: IRtSideMenu.ItemData | undefined;
222
+ event: MouseEvent;
223
+ }): void;
224
+ onBackToMainMenu(): void;
225
+ /** Наведение на пункт полосы открывает его подменю; уход указателя с панели — без пункта. */
226
+ toggleSubMenu(item?: IRtSideMenu.Item): void;
227
+ closeSubMenu(): void;
228
+ holdSubMenu(held: boolean): void;
229
+ toggleFolder(item: IRtSideMenu.Item): void;
230
+ /** Человек взялся за поле поиска: дальше подменю закрывает нажатие снаружи, а не уход указателя. */
231
+ onSearchHold(): void;
232
+ /** Клавиши поля поиска раздаются списку; умолчание отменяется только у съеденной. */
233
+ onSearchKeydown(event: KeyboardEvent): void;
234
+ /** Нажат переключатель режима: выбор уходит в настройки меню и наружу. */
235
+ onSubMenuModeToggle(): void;
236
+ onResizeStart(event: PointerEvent): void;
237
+ onResizeKeydown(event: KeyboardEvent): void;
238
+ closeMobileMenu(): void;
239
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtSideMenuComponent, never>;
240
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtSideMenuComponent, "rt-side-menu", never, { "activeMenuIds": { "alias": "activeMenuIds"; "required": true; "isSignal": true; }; "menuItems": { "alias": "menuItems"; "required": false; "isSignal": true; }; "subMenuMode": { "alias": "subMenuMode"; "required": false; "isSignal": true; }; "subMenuWidth": { "alias": "subMenuWidth"; "required": false; "isSignal": true; }; "menuId": { "alias": "menuId"; "required": false; "isSignal": true; }; "favoritesCount": { "alias": "favoritesCount"; "required": false; "isSignal": true; }; "favoriteActionsReserve": { "alias": "favoriteActionsReserve"; "required": false; "isSignal": true; }; "isFavoritesSearchShown": { "alias": "isFavoritesSearchShown"; "required": false; "isSignal": true; }; "pinShown": { "alias": "pinShown"; "required": false; "isSignal": true; }; "subMenuTooltipsShown": { "alias": "subMenuTooltipsShown"; "required": false; "isSignal": true; }; }, { "subMenuModeChange": "subMenuModeChange"; "subMenuWidthChange": "subMenuWidthChange"; "subMenuResizeStart": "subMenuResizeStart"; "subMenuResizeEnd": "subMenuResizeEnd"; "closeMobileMenuAction": "closeMobileMenuAction"; "clickSubMenuAction": "clickSubMenuAction"; "clickSubMenuAdditionalAction": "clickSubMenuAdditionalAction"; }, ["headerTpl", "footerTpl", "ownIconTpl"], never, true, never>;
241
+ }
242
+
243
+ /**
244
+ * Отбор пунктов подменю по подстроке подписи.
245
+ *
246
+ * Отбор спускается внутрь папок на любую глубину: потребитель кладёт в папки то, что человек и ищет
247
+ * по имени, и по одному верхнему уровню такой пункт не нашёлся бы.
248
+ *
249
+ * В выдаче стоят только строки, содержащие запрос. Папка остаётся путём к совпавшим детям, а её
250
+ * состав отбирается тем же правилом: иначе одно совпадение по имени папки вытаскивало бы весь её
251
+ * состав. Папка, совпавшая только по имени, остаётся одной строкой без детей.
252
+ *
253
+ * Отобранная папка — новый объект: правка на месте переписала бы набор потребителя, и стёртый
254
+ * запрос вернул бы урезанное меню.
255
+ */
256
+ declare function filterSideMenuItems(items: ReadonlyArray<IRtSideMenu.Item>, query: string): IRtSideMenu.Item[];
257
+ /**
258
+ * Папки отобранного списка — те, что должны стоять раскрытыми. Возвращаются номера, а не пункты:
259
+ * отобранный список пересобирается на каждую букву запроса, и ссылка на пункт этого не переживает.
260
+ */
261
+ declare function sideMenuIdsToExpand(items: ReadonlyArray<IRtSideMenu.Item>): Array<string | number>;
262
+ /**
263
+ * Пределы ширины подменю в пикселях. Уже нижнего не помещается ни одна подпись пункта, шире
264
+ * верхнего подменю закрывает содержимое страницы.
265
+ */
266
+ declare const RT_SIDE_MENU_WIDTH_MIN: number;
267
+ declare const RT_SIDE_MENU_WIDTH_MAX: number;
268
+ /** Шаг ширины с клавиатуры: стрелку держат нажатой, и крупный шаг проскакивал бы подпись целиком. */
269
+ declare const RT_SIDE_MENU_WIDTH_STEP: number;
270
+ /** Приведение ширины к пределам. */
271
+ declare function clampSideMenuWidth(width: number): number;
272
+ /**
273
+ * Резка подписи на совпавшие и несовпавшие куски.
274
+ *
275
+ * Отмечаются все вхождения: отмеченное одно первое читается как «второго нет». Сравнение без учёта
276
+ * регистра, а куски режутся из оригинала — приведение к нижнему регистру переписало бы названия.
277
+ */
278
+ declare function splitSideMenuTitle(name: string, query: string): IRtSideMenu.TitlePart[];
279
+ /**
280
+ * Пункты подменю в том порядке, в каком они стоят на экране. Внутрь папки список спускается, только
281
+ * если та раскрыта: ходьба стрелками идёт по видимому, а не по всему набору.
282
+ */
283
+ declare function walkSideMenuItems(items: ReadonlyArray<IRtSideMenu.Item>, expandedIds: ReadonlyArray<string | number>): IRtSideMenu.Item[];
284
+ /**
285
+ * Куда уходит подсветка на шаг стрелкой. Считается по номеру пункта: видимый список пересобирается
286
+ * на каждую букву запроса. Без подсветки вниз берёт первый пункт, вверх — последний. У краёв ходьба
287
+ * останавливается: заворот уводил бы взгляд через всю панель.
288
+ */
289
+ declare function stepSideMenuHighlight(walk: ReadonlyArray<IRtSideMenu.Item>, highlightedId: string | number | null, step: number): string | number | null;
290
+ /** Чем вешается слушатель. У кита это `Renderer2.listen`, у проверки — своя функция. */
291
+ type TRtPointerListen = (target: HTMLElement, event: string, handler: (event: PointerEvent) => void) => () => void;
292
+ /** Что тяга сообщает меню: новую ширину по ходу и конец — отпусканием или отнятием указателя. */
293
+ interface IRtSubMenuWidthDragHooks {
294
+ readonly onWidth: (width: number) => void;
295
+ readonly onEnd: () => void;
296
+ }
297
+ /**
298
+ * Тяга ширины подменю указательными событиями: мышиных палец и перо не дают. Слушатели висят на
299
+ * ручке, а держит их захват указателя — слушатель на документе терял бы движение над чужим кадром.
300
+ * Указатель, отнятый средой, кончает тягу так же, как отпускание.
301
+ *
302
+ * Возвращает снятие слушателей. Пустое значение — тянуть нечем.
303
+ */
304
+ declare function startSideMenuWidthDrag(event: PointerEvent, startWidth: number, listen: TRtPointerListen, hooks: IRtSubMenuWidthDragHooks): (() => void) | null;
305
+ /**
306
+ * Ширина, которой панель нарисована. Панели нет или раскладка не посчитана — нижний предел: с нуля
307
+ * тяга уводила бы ширину в отрицательные числа.
308
+ */
309
+ declare function drawnSideMenuWidth(panel: HTMLElement | null): number;
310
+ /**
311
+ * Число, которое уходит наружу по концу тяги: большее из натянутого и нарисованного. Нижний предел
312
+ * держит оформление, и панель не бывает уже его, даже если рука ушла левее.
313
+ */
314
+ declare function reportedSideMenuWidth(dragged: number, panel: HTMLElement | null): number;
315
+ /**
316
+ * Новая ширина по нажатой клавише. Пустое значение — клавиша не о ширине, и умолчание не отменяется:
317
+ * иначе ручка съедала бы табуляцию. Влево значит уже при любом направлении письма: ручка стоит у
318
+ * правого края панели.
319
+ */
320
+ declare function sideMenuWidthByKey(key: string, width: number): number | null;
321
+ /**
322
+ * Что показывает закреплённое подменю: выбранный человеком раздел, а пока выбора нет — раздел
323
+ * активного адреса. Выбор впереди активности: иначе до соседнего раздела не добраться.
324
+ */
325
+ declare function pinnedSideMenuItems(picked: IRtSideMenu.Item[] | null | undefined, activeIds: ReadonlyArray<string | number>, items: ReadonlyArray<IRtSideMenu.Item>): IRtSideMenu.Item[];
326
+
327
+ /**
328
+ * Значок пункта по его `icon`: имя кита как есть, имя Material первого кита — его парой из перечня
329
+ * кита, как у `rt-menu-item`. `null` — кит такой значок не рисует: пункт берёт свой шаблон меню или
330
+ * стоит без значка.
331
+ */
332
+ declare function sideMenuIconName(icon: string | undefined): IRtIcon.Name | null;
333
+ /**
334
+ * Имена значков меню, о которых оно должно предупредить: ни имени кита, ни пары в перечне. И значок
335
+ * пункта, и значок кнопки строки закрывает свой шаблон меню.
336
+ * Без предупреждения такой значок пуст, и пропуск не заметен. Обходит пункты на любую глубину;
337
+ * каждое имя — один раз.
338
+ */
339
+ declare function unpairedSideMenuIcons(items: ReadonlyArray<IRtSideMenu.Item>, hasOwnIcon: boolean): string[];
340
+
341
+ /** Номер меню, которому приложение своего не задало. */
342
+ declare const RT_SIDE_MENU_DEFAULT_ID: string;
343
+ /**
344
+ * Номер меню, под которым лежат его настройки. Пустой — тот же, что не заданный: атрибут без
345
+ * значения даёт пустую строку, и настройки легли бы под ключ, которого никто не называл.
346
+ */
347
+ declare function normalizeSideMenuId(menuId: string | null | undefined): string;
348
+ /** Запись хранилища как есть: номер меню — и что под ним лежит, в том числе сломанное. */
349
+ type TRtSideMenuSettingsRecord = Record<string, unknown>;
350
+ /**
351
+ * Настройки одного меню из того, что лежит под его номером. Недопустимое поле читается как
352
+ * отсутствие значения, соседние поля остаются: сломанная ширина не стирает режим. Незнакомые поля
353
+ * не удаляются. Ширина приводится к пределам подменю, списки избранного — к номерам без повторов.
354
+ */
355
+ declare function normalizeSideMenuSettings(value: unknown): IRtSideMenu.Settings;
356
+ /** Запись хранилища как объект. Не JSON, не объект, пустое хранилище — одинаково пустая запись. */
357
+ declare function parseSideMenuSettingsRecord(raw: string | null): TRtSideMenuSettingsRecord;
358
+ /**
359
+ * Настройки всех меню из записи. Меню, чьё значение не объект, пропускается: сломанный угол одного
360
+ * меню не стирает соседние.
361
+ */
362
+ declare function readSideMenuSettings(record: TRtSideMenuSettingsRecord): Record<string, IRtSideMenu.Settings>;
363
+ /**
364
+ * Запись с правкой полей одного меню. Остальные меню и поля уходят такими, какими лежали, даже
365
+ * сломанные: кит правит только то, о чём его попросили.
366
+ */
367
+ declare function patchSideMenuSettings(record: TRtSideMenuSettingsRecord, menuId: string, patch: Partial<IRtSideMenu.Settings>): TRtSideMenuSettingsRecord;
368
+ /** Запись без настроек одного меню. */
369
+ declare function omitSideMenuSettings(record: TRtSideMenuSettingsRecord, menuId: string): TRtSideMenuSettingsRecord;
370
+
371
+ /** Значки кнопок строки избранного: «убрать» и ручка перетаскивания. */
372
+ interface IRtSideMenuFavoritesIcons {
373
+ readonly remove: IRtIcon.Name;
374
+ readonly drag: IRtIcon.Name;
375
+ }
376
+ interface IRtSideMenuSettingsConfig {
377
+ /** Свой ключ хранилища, если приложению нужен не общий ключ кита. */
378
+ readonly storageKey?: string;
379
+ /** Свои значки кнопок избранного; не названный берётся из набора кита. */
380
+ readonly icons?: Partial<IRtSideMenuFavoritesIcons>;
381
+ }
382
+ declare const RT_SIDE_MENU_SETTINGS_CONFIG: InjectionToken<IRtSideMenuSettingsConfig>;
383
+ /**
384
+ * Настройки боковых меню в хранилище браузера: режим и ширина подменю, избранное и свёрнутые блоки
385
+ * избранного под номером каждого меню.
386
+ *
387
+ * Перед каждой записью ключ читается заново: соседняя вкладка или приложение могли записать своё,
388
+ * и запись из копии затёрла бы их. Правится одно поле одного меню, остальное уходит как лежало.
389
+ * Изменения из других вкладок приходят событием `storage` и обновляют сигналы.
390
+ *
391
+ * Хранилище берётся токеном `@rt-tools/core` напрямую, а не общим сервисом хранилища: сервису
392
+ * нужно знать, что запись не удалась, и держать правду в памяти до перезагрузки. Без хранилища, вне
393
+ * браузера, закрытое или полное — настройки живут в памяти, и ни чтение, ни запись не бросают.
394
+ *
395
+ * Сервис ставится провайдером окружения — `provideRtSideMenuSettings()`, — а меню берёт его
396
+ * необязательно: не поставлен — меню ничего не хранит, режим и ширина приходят входами.
397
+ */
398
+ declare class RtSideMenuSettingsService {
399
+ #private;
400
+ /** Значки кнопок избранного: из настроек провайдера, иначе из набора кита. */
401
+ readonly favoritesIcons: IRtSideMenuFavoritesIcons;
402
+ /** Номера меню, чьи настройки лежат в хранилище. */
403
+ readonly menuIds: Signal<string[]>;
404
+ constructor();
405
+ /** Настройки одного меню целиком, с незнакомыми полями; не сохранены — пустой объект. */
406
+ settings(menuId: string): Signal<IRtSideMenu.Settings>;
407
+ subMenuMode(menuId: string): Signal<IRtSideMenu.SubMenuMode>;
408
+ subMenuWidth(menuId: string): Signal<number | null>;
409
+ /** Избранное меню в порядке списка; пусто — пустой список. */
410
+ favoriteIds(menuId: string): Signal<ReadonlyArray<IRtSideMenu.FavoriteId>>;
411
+ /** Пункты полосы, чей блок избранного свёрнут; ничего не свёрнуто — пустой список. */
412
+ favoritesCollapsed(menuId: string): Signal<ReadonlyArray<IRtSideMenu.Item['id']>>;
413
+ /** Сворачивает или разворачивает блок одного раздела; остальные разделы остаются как были. */
414
+ setFavoritesCollapsed(menuId: string, sectionId: IRtSideMenu.Item['id'], collapsed: boolean): void;
415
+ /** Звезда: нет в списке — встаёт последним, есть — уходит. */
416
+ toggleFavorite(menuId: string, id: IRtSideMenu.FavoriteId): void;
417
+ removeFavorite(menuId: string, id: IRtSideMenu.FavoriteId): void;
418
+ /** Перенос строки блока: места в блоке, скрытые номера остаются на своих. */
419
+ moveVisibleSideMenuFavorite(menuId: string, visibleIds: ReadonlyArray<IRtSideMenu.FavoriteId>, from: number, to: number): void;
420
+ /** Список целиком: приложение заводит избранное само, например по умолчанию для роли. */
421
+ setFavorites(menuId: string, ids: ReadonlyArray<IRtSideMenu.FavoriteId>): void;
422
+ setSubMenuMode(menuId: string, mode: IRtSideMenu.SubMenuMode): void;
423
+ setSubMenuWidth(menuId: string, width: number): void;
424
+ /** Настройки меню уходят только по вызову приложения: кит сам ничего не удаляет. */
425
+ deleteSettings(menuId: string): void;
426
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtSideMenuSettingsService, never>;
427
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
428
+ }
429
+ /**
430
+ * Сервис настроек бокового меню для приложения.
431
+ *
432
+ * ```ts
433
+ * bootstrapApplication(App, { providers: [provideRtSideMenuSettings()] });
434
+ * ```
435
+ */
436
+ declare function provideRtSideMenuSettings(config?: IRtSideMenuSettingsConfig): EnvironmentProviders;
437
+
438
+ /**
439
+ * Строка подменю: пункт со ссылкой или папка со своими пунктами. Раскрытость, подсветку и запрос
440
+ * строка берёт у меню — своего состояния у неё нет.
441
+ *
442
+ * В разделе, где приложение включило избранное, у пункта со ссылкой стоит звезда; в строке блока
443
+ * избранного — кнопка «убрать» и слот `[rtSideMenuSubItemAction]`, куда блок кладёт ручку.
444
+ */
445
+ declare class RtSideMenuSubItemComponent {
446
+ #private;
447
+ protected readonly menuRef: IRtSideMenuHost;
448
+ protected readonly narrow: Signal<boolean>;
449
+ /** Значки кнопок избранного: из настроек провайдера, иначе из набора кита. */
450
+ protected readonly favoritesIcons: RtSideMenuSettingsService['favoritesIcons'] | null;
451
+ protected readonly addLabel: Signal<string>;
452
+ protected readonly removeLabel: Signal<string>;
453
+ /** Избранное включено у раздела, чьё подменю показано, и приложение поставило настройки меню. */
454
+ protected readonly favoritesOn: Signal<boolean>;
455
+ protected readonly favoriteIds: Signal<ReadonlyArray<IRtSideMenu.FavoriteId>>;
456
+ readonly item: InputSignal<IRtSideMenu.Item>;
457
+ /** Строка стоит в блоке избранного: вместо звезды — «убрать», без номера и подсветки клавиатуры. */
458
+ readonly inFavorites: InputSignalWithTransform<boolean, unknown>;
459
+ readonly clickSubMenuAction: OutputEmitterRef<{
460
+ item: IRtSideMenu.Item;
461
+ event: MouseEvent;
462
+ }>;
463
+ readonly clickSubMenuAdditionalAction: OutputEmitterRef<{
464
+ data: IRtSideMenu.ItemData | undefined;
465
+ event: MouseEvent;
466
+ }>;
467
+ onClickSubMenu(item: IRtSideMenu.Item, event: MouseEvent): void;
468
+ /** Кнопка потребителя в строке: ни перехода по ссылке строки, ни закрытия подменю. */
469
+ onClickSubMenuAdditional(item: IRtSideMenu.Item, event: MouseEvent): void;
470
+ /** Звезда переключает избранное и больше ничего: ни перехода, ни закрытия подменю. */
471
+ onToggleFavorite(item: IRtSideMenu.Item, event: MouseEvent): void;
472
+ /**
473
+ * «Убрать» в строке блока. Фокус уходит на такую же кнопку соседней строки до того, как строка
474
+ * исчезнет: иначе он падал бы на страницу, и человек с клавиатуры терял бы место.
475
+ */
476
+ onRemoveFavorite(item: IRtSideMenu.Item, event: MouseEvent): void;
477
+ onToggleFolder(item: IRtSideMenu.Item): void;
478
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtSideMenuSubItemComponent, never>;
479
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtSideMenuSubItemComponent, "rt-side-menu-sub-item", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; "inFavorites": { "alias": "inFavorites"; "required": false; "isSignal": true; }; }, { "clickSubMenuAction": "clickSubMenuAction"; "clickSubMenuAdditionalAction": "clickSubMenuAdditionalAction"; }, never, ["[rtSideMenuSubItemAction]"], true, never>;
480
+ }
481
+
482
+ export { IRtSideMenu, RT_SIDE_MENU_DEFAULT_ID, RT_SIDE_MENU_SETTINGS_CONFIG, RT_SIDE_MENU_WIDTH_MAX, RT_SIDE_MENU_WIDTH_MIN, RT_SIDE_MENU_WIDTH_STEP, RtSideMenuComponent, RtSideMenuFooterDirective, RtSideMenuHeaderDirective, RtSideMenuIconDirective, RtSideMenuSettingsService, RtSideMenuSubItemComponent, clampSideMenuWidth, drawnSideMenuWidth, filterSideMenuItems, normalizeSideMenuId, normalizeSideMenuSettings, omitSideMenuSettings, parseSideMenuSettingsRecord, patchSideMenuSettings, pinnedSideMenuItems, provideRtSideMenuSettings, readSideMenuSettings, reportedSideMenuWidth, sideMenuIconName, sideMenuIdsToExpand, sideMenuWidthByKey, splitSideMenuTitle, startSideMenuWidthDrag, stepSideMenuHighlight, unpairedSideMenuIcons, walkSideMenuItems };
483
+ export type { IRtSideMenuFavoritesIcons, IRtSideMenuIconContext, IRtSideMenuSettingsConfig, IRtSubMenuWidthDragHooks, TRtPointerListen, TRtSideMenuSettingsRecord };
@@ -0,0 +1,32 @@
1
+ import { BooleanInput } from '@angular/cdk/coercion';
2
+ import * as i0 from '@angular/core';
3
+ import { InputSignal, InputSignalWithTransform } from '@angular/core';
4
+ import { TRtRadius } from '@rt-tools/ui-kit-v2/core';
5
+ import { TRtSkeletonShape, TRtSkeletonSize } from '@rt-tools/ui-kit-v2/skeleton';
6
+
7
+ /**
8
+ * Conditional renderer: показывает `<rt-skeleton>` пока `[isLoading]="true"`,
9
+ * иначе проецирует `<ng-content>`. Основной use-case — обёртка вокруг текстовых
10
+ * значений и форм-полей в dialog'ах с async-данными.
11
+ *
12
+ * @example
13
+ * ```html
14
+ * <rt-skeleton-wrapper [isLoading]="!tour()" width="240px" height="16px">
15
+ * {{ tour()?.title }}
16
+ * </rt-skeleton-wrapper>
17
+ * ```
18
+ */
19
+ declare class RtSkeletonWrapperComponent {
20
+ readonly width: InputSignal<string>;
21
+ readonly height: InputSignal<string>;
22
+ readonly shape: InputSignal<TRtSkeletonShape>;
23
+ readonly size: InputSignal<TRtSkeletonSize>;
24
+ /** Шаг скругления заглушки, передаётся в `rt-skeleton`. Пусто — скругление заглушки по умолчанию. */
25
+ readonly radius: InputSignal<TRtRadius | null>;
26
+ readonly animation: InputSignalWithTransform<boolean, BooleanInput>;
27
+ readonly isLoading: InputSignalWithTransform<boolean, BooleanInput>;
28
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtSkeletonWrapperComponent, never>;
29
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtSkeletonWrapperComponent, "rt-skeleton-wrapper", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "radius": { "alias": "radius"; "required": false; "isSignal": true; }; "animation": { "alias": "animation"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
30
+ }
31
+
32
+ export { RtSkeletonWrapperComponent };
@@ -0,0 +1,41 @@
1
+ import { BooleanInput } from '@angular/cdk/coercion';
2
+ import * as i0 from '@angular/core';
3
+ import { InputSignal, InputSignalWithTransform } from '@angular/core';
4
+ import * as i1 from '@rt-tools/ui-kit-v2/radius';
5
+
6
+ type TRtSkeletonShape = 'rectangle' | 'circle' | 'square';
7
+ type TRtSkeletonSize = 'sm' | 'md' | 'lg';
8
+ /**
9
+ * Visual primitive для loading-state'а: серая полоска с shimmer-анимацией.
10
+ *
11
+ * Не использовать напрямую — оборачивай реальный content в `<rt-skeleton-wrapper>`
12
+ * с input'ом `[isLoading]`. Wrapper решает что показать (skeleton или content),
13
+ * этот компонент только рисует placeholder.
14
+ *
15
+ * Скругление прямоугольника и квадрата — шаг общего входа `radius`; круг остаётся кругом.
16
+ *
17
+ * Shimmer через background-position keyframes; `@media (prefers-reduced-motion)`
18
+ * убирает анимацию для пользователей с reduced-motion preference.
19
+ */
20
+ declare class RtSkeletonComponent {
21
+ #private;
22
+ readonly shape: InputSignal<TRtSkeletonShape>;
23
+ readonly size: InputSignal<TRtSkeletonSize>;
24
+ readonly width: InputSignal<string>;
25
+ readonly height: InputSignal<string>;
26
+ readonly animation: InputSignalWithTransform<boolean, BooleanInput>;
27
+ protected get isRectangle(): boolean;
28
+ protected get isCircle(): boolean;
29
+ protected get isSquare(): boolean;
30
+ protected get isSizeSm(): boolean;
31
+ protected get isSizeMd(): boolean;
32
+ protected get isSizeLg(): boolean;
33
+ protected get isAnimated(): boolean;
34
+ protected get hostWidth(): string;
35
+ protected get hostHeight(): string;
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtSkeletonComponent, never>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtSkeletonComponent, "rt-skeleton", never, { "shape": { "alias": "shape"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "animation": { "alias": "animation"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.RtRadiusDirective; inputs: { "radius": "radius"; }; outputs: {}; }]>;
38
+ }
39
+
40
+ export { RtSkeletonComponent };
41
+ export type { TRtSkeletonShape, TRtSkeletonSize };
@@ -0,0 +1,56 @@
1
+ import { NumberInput, BooleanInput } from '@angular/cdk/coercion';
2
+ import * as i0 from '@angular/core';
3
+ import { Signal, InputSignalWithTransform, InputSignal } from '@angular/core';
4
+
5
+ /**
6
+ * Модель `<rt-spinner>`: один корневой неймспейс с префиксом `I`.
7
+ *
8
+ * `Color` — семантическая палитра spinner'а:
9
+ * - `primary` — синий основной (action accent), default
10
+ * - `neutral` — нейтральный серый (для тонких inline-loader'ов)
11
+ * - `on-primary` — белый (для overlay поверх primary-фона)
12
+ *
13
+ * `Appearance` — вид кольца: `border` — кольцо с дорожкой, `arc` — дуга без дорожки, как в Material.
14
+ */
15
+ declare namespace IRtSpinner {
16
+ type Color = 'primary' | 'neutral' | 'on-primary';
17
+ type Appearance = 'border' | 'arc';
18
+ }
19
+
20
+ /**
21
+ * Атомарный rotating-spinner для loading-индикаторов.
22
+ *
23
+ * Без новых режимов кольцо рисует сам host: border с одной цветной стороной и вращение, своей
24
+ * разметки нет. Так спиннер стоит у семи компонентов кита, и их разметка от режимов не меняется.
25
+ *
26
+ * Режимы `overlay`, `plate` и вид `arc` рисуют внутреннюю разметку, а host перестаёт быть кольцом:
27
+ * - `overlay` — спиннер занимает позиционированного родителя целиком и ставит кольцо в центр;
28
+ * слой — ступень `sticky`, ниже всего, что открывается поверх страницы;
29
+ * - `backdrop` — полупрозрачная подложка оверлея, без `overlay` не действует;
30
+ * - `plate` — круглая плашка с тенью под кольцом;
31
+ * - `appearance="arc"` — дуга без дорожки, как у Material.
32
+ *
33
+ * Анимация уважает `@media (prefers-reduced-motion)` — вращение замедляется.
34
+ */
35
+ declare class RtSpinnerComponent {
36
+ /** Кольцо рисуется внутренней разметкой, а не самим host-ом. */
37
+ protected readonly framed: Signal<boolean>;
38
+ protected readonly modifiers: Signal<Record<string, boolean>>;
39
+ protected readonly cssDiameter: Signal<string>;
40
+ /** Диаметр spinner'а в px. Default 32. */
41
+ readonly diameter: InputSignalWithTransform<number, NumberInput>;
42
+ /** Семантическая палитра. Default `primary`. */
43
+ readonly color: InputSignal<IRtSpinner.Color>;
44
+ /** Вид кольца: `border` — с дорожкой, `arc` — дуга без дорожки. Default `border`. */
45
+ readonly appearance: InputSignal<IRtSpinner.Appearance>;
46
+ /** Спиннер накрывает позиционированного родителя и стоит в его центре. Default `false`. */
47
+ readonly overlay: InputSignalWithTransform<boolean, BooleanInput>;
48
+ /** Полупрозрачная подложка оверлея; без `overlay` не действует. Default `false`. */
49
+ readonly backdrop: InputSignalWithTransform<boolean, BooleanInput>;
50
+ /** Круглая плашка с тенью под кольцом. Default `false`. */
51
+ readonly plate: InputSignalWithTransform<boolean, BooleanInput>;
52
+ static ɵfac: i0.ɵɵFactoryDeclaration<RtSpinnerComponent, never>;
53
+ static ɵcmp: i0.ɵɵComponentDeclaration<RtSpinnerComponent, "rt-spinner", never, { "diameter": { "alias": "diameter"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "overlay": { "alias": "overlay"; "required": false; "isSignal": true; }; "backdrop": { "alias": "backdrop"; "required": false; "isSignal": true; }; "plate": { "alias": "plate"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
54
+ }
55
+
56
+ export { IRtSpinner, RtSpinnerComponent };