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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. package/fesm2022/rt-tools-ui-kit-v2-accordion.mjs +142 -71
  2. package/fesm2022/rt-tools-ui-kit-v2-accordion.mjs.map +1 -1
  3. package/fesm2022/rt-tools-ui-kit-v2-action-bar.mjs +467 -231
  4. package/fesm2022/rt-tools-ui-kit-v2-action-bar.mjs.map +1 -1
  5. package/fesm2022/rt-tools-ui-kit-v2-ai-run-status.mjs +260 -91
  6. package/fesm2022/rt-tools-ui-kit-v2-ai-run-status.mjs.map +1 -1
  7. package/fesm2022/rt-tools-ui-kit-v2-aside-section.mjs +80 -46
  8. package/fesm2022/rt-tools-ui-kit-v2-aside-section.mjs.map +1 -1
  9. package/fesm2022/rt-tools-ui-kit-v2-aside.mjs +984 -697
  10. package/fesm2022/rt-tools-ui-kit-v2-aside.mjs.map +1 -1
  11. package/fesm2022/rt-tools-ui-kit-v2-autocomplete.mjs +452 -210
  12. package/fesm2022/rt-tools-ui-kit-v2-autocomplete.mjs.map +1 -1
  13. package/fesm2022/rt-tools-ui-kit-v2-bar-list.mjs +143 -52
  14. package/fesm2022/rt-tools-ui-kit-v2-bar-list.mjs.map +1 -1
  15. package/fesm2022/rt-tools-ui-kit-v2-bottom-sheet.mjs +158 -83
  16. package/fesm2022/rt-tools-ui-kit-v2-bottom-sheet.mjs.map +1 -1
  17. package/fesm2022/rt-tools-ui-kit-v2-breadcrumbs.mjs +335 -0
  18. package/fesm2022/rt-tools-ui-kit-v2-breadcrumbs.mjs.map +1 -0
  19. package/fesm2022/rt-tools-ui-kit-v2-button.mjs +437 -363
  20. package/fesm2022/rt-tools-ui-kit-v2-button.mjs.map +1 -1
  21. package/fesm2022/rt-tools-ui-kit-v2-calendar.mjs +430 -149
  22. package/fesm2022/rt-tools-ui-kit-v2-calendar.mjs.map +1 -1
  23. package/fesm2022/rt-tools-ui-kit-v2-card.mjs +155 -71
  24. package/fesm2022/rt-tools-ui-kit-v2-card.mjs.map +1 -1
  25. package/fesm2022/rt-tools-ui-kit-v2-carousel.mjs +155 -0
  26. package/fesm2022/rt-tools-ui-kit-v2-carousel.mjs.map +1 -0
  27. package/fesm2022/rt-tools-ui-kit-v2-checkbox.mjs +215 -110
  28. package/fesm2022/rt-tools-ui-kit-v2-checkbox.mjs.map +1 -1
  29. package/fesm2022/rt-tools-ui-kit-v2-collapsible-text.mjs +158 -75
  30. package/fesm2022/rt-tools-ui-kit-v2-collapsible-text.mjs.map +1 -1
  31. package/fesm2022/rt-tools-ui-kit-v2-color-palette.mjs +769 -0
  32. package/fesm2022/rt-tools-ui-kit-v2-color-palette.mjs.map +1 -0
  33. package/fesm2022/rt-tools-ui-kit-v2-confirm-popover.mjs +462 -253
  34. package/fesm2022/rt-tools-ui-kit-v2-confirm-popover.mjs.map +1 -1
  35. package/fesm2022/rt-tools-ui-kit-v2-container.mjs +1276 -1316
  36. package/fesm2022/rt-tools-ui-kit-v2-container.mjs.map +1 -1
  37. package/fesm2022/rt-tools-ui-kit-v2-copy-value.mjs +185 -80
  38. package/fesm2022/rt-tools-ui-kit-v2-copy-value.mjs.map +1 -1
  39. package/fesm2022/rt-tools-ui-kit-v2-core.mjs +2321 -2619
  40. package/fesm2022/rt-tools-ui-kit-v2-core.mjs.map +1 -1
  41. package/fesm2022/rt-tools-ui-kit-v2-counter-row.mjs +100 -44
  42. package/fesm2022/rt-tools-ui-kit-v2-counter-row.mjs.map +1 -1
  43. package/fesm2022/rt-tools-ui-kit-v2-counter.mjs +290 -155
  44. package/fesm2022/rt-tools-ui-kit-v2-counter.mjs.map +1 -1
  45. package/fesm2022/rt-tools-ui-kit-v2-data-list.mjs +2097 -858
  46. package/fesm2022/rt-tools-ui-kit-v2-data-list.mjs.map +1 -1
  47. package/fesm2022/rt-tools-ui-kit-v2-data-table.mjs +2247 -1176
  48. package/fesm2022/rt-tools-ui-kit-v2-data-table.mjs.map +1 -1
  49. package/fesm2022/rt-tools-ui-kit-v2-date-picker.mjs +1043 -705
  50. package/fesm2022/rt-tools-ui-kit-v2-date-picker.mjs.map +1 -1
  51. package/fesm2022/rt-tools-ui-kit-v2-date-range.mjs +810 -525
  52. package/fesm2022/rt-tools-ui-kit-v2-date-range.mjs.map +1 -1
  53. package/fesm2022/rt-tools-ui-kit-v2-delta-view.mjs +158 -138
  54. package/fesm2022/rt-tools-ui-kit-v2-delta-view.mjs.map +1 -1
  55. package/fesm2022/rt-tools-ui-kit-v2-detail-list.mjs +177 -67
  56. package/fesm2022/rt-tools-ui-kit-v2-detail-list.mjs.map +1 -1
  57. package/fesm2022/rt-tools-ui-kit-v2-dialog.mjs +550 -477
  58. package/fesm2022/rt-tools-ui-kit-v2-dialog.mjs.map +1 -1
  59. package/fesm2022/rt-tools-ui-kit-v2-dot-field.mjs +185 -168
  60. package/fesm2022/rt-tools-ui-kit-v2-dot-field.mjs.map +1 -1
  61. package/fesm2022/rt-tools-ui-kit-v2-download-link.mjs +116 -43
  62. package/fesm2022/rt-tools-ui-kit-v2-download-link.mjs.map +1 -1
  63. package/fesm2022/rt-tools-ui-kit-v2-draggable-tree.mjs +585 -0
  64. package/fesm2022/rt-tools-ui-kit-v2-draggable-tree.mjs.map +1 -0
  65. package/fesm2022/rt-tools-ui-kit-v2-dynamic-list.mjs +755 -259
  66. package/fesm2022/rt-tools-ui-kit-v2-dynamic-list.mjs.map +1 -1
  67. package/fesm2022/rt-tools-ui-kit-v2-dynamic-selector.mjs +3266 -1115
  68. package/fesm2022/rt-tools-ui-kit-v2-dynamic-selector.mjs.map +1 -1
  69. package/fesm2022/rt-tools-ui-kit-v2-empty-state.mjs +190 -55
  70. package/fesm2022/rt-tools-ui-kit-v2-empty-state.mjs.map +1 -1
  71. package/fesm2022/rt-tools-ui-kit-v2-expansion-panel.mjs +283 -103
  72. package/fesm2022/rt-tools-ui-kit-v2-expansion-panel.mjs.map +1 -1
  73. package/fesm2022/rt-tools-ui-kit-v2-field.mjs +393 -177
  74. package/fesm2022/rt-tools-ui-kit-v2-field.mjs.map +1 -1
  75. package/fesm2022/rt-tools-ui-kit-v2-file-card.mjs +399 -207
  76. package/fesm2022/rt-tools-ui-kit-v2-file-card.mjs.map +1 -1
  77. package/fesm2022/rt-tools-ui-kit-v2-file-drop.mjs +288 -212
  78. package/fesm2022/rt-tools-ui-kit-v2-file-drop.mjs.map +1 -1
  79. package/fesm2022/rt-tools-ui-kit-v2-file-input.mjs +262 -116
  80. package/fesm2022/rt-tools-ui-kit-v2-file-input.mjs.map +1 -1
  81. package/fesm2022/rt-tools-ui-kit-v2-file-list.mjs +57 -31
  82. package/fesm2022/rt-tools-ui-kit-v2-file-list.mjs.map +1 -1
  83. package/fesm2022/rt-tools-ui-kit-v2-filter-control.mjs +258 -90
  84. package/fesm2022/rt-tools-ui-kit-v2-filter-control.mjs.map +1 -1
  85. package/fesm2022/rt-tools-ui-kit-v2-form-control.mjs +249 -215
  86. package/fesm2022/rt-tools-ui-kit-v2-form-control.mjs.map +1 -1
  87. package/fesm2022/rt-tools-ui-kit-v2-header.mjs +199 -71
  88. package/fesm2022/rt-tools-ui-kit-v2-header.mjs.map +1 -1
  89. package/fesm2022/rt-tools-ui-kit-v2-hybrid-tree-selector.mjs +231 -0
  90. package/fesm2022/rt-tools-ui-kit-v2-hybrid-tree-selector.mjs.map +1 -0
  91. package/fesm2022/rt-tools-ui-kit-v2-hybrid-tree.mjs +336 -0
  92. package/fesm2022/rt-tools-ui-kit-v2-hybrid-tree.mjs.map +1 -0
  93. package/fesm2022/rt-tools-ui-kit-v2-icon-button.mjs +451 -162
  94. package/fesm2022/rt-tools-ui-kit-v2-icon-button.mjs.map +1 -1
  95. package/fesm2022/rt-tools-ui-kit-v2-icon.mjs +931 -686
  96. package/fesm2022/rt-tools-ui-kit-v2-icon.mjs.map +1 -1
  97. package/fesm2022/rt-tools-ui-kit-v2-image-cropper.mjs +664 -491
  98. package/fesm2022/rt-tools-ui-kit-v2-image-cropper.mjs.map +1 -1
  99. package/fesm2022/rt-tools-ui-kit-v2-image-upload.mjs +574 -222
  100. package/fesm2022/rt-tools-ui-kit-v2-image-upload.mjs.map +1 -1
  101. package/fesm2022/rt-tools-ui-kit-v2-info-item.mjs +150 -36
  102. package/fesm2022/rt-tools-ui-kit-v2-info-item.mjs.map +1 -1
  103. package/fesm2022/rt-tools-ui-kit-v2-inline-edit.mjs +606 -0
  104. package/fesm2022/rt-tools-ui-kit-v2-inline-edit.mjs.map +1 -0
  105. package/fesm2022/rt-tools-ui-kit-v2-input-number.mjs +461 -355
  106. package/fesm2022/rt-tools-ui-kit-v2-input-number.mjs.map +1 -1
  107. package/fesm2022/rt-tools-ui-kit-v2-input.mjs +338 -143
  108. package/fesm2022/rt-tools-ui-kit-v2-input.mjs.map +1 -1
  109. package/fesm2022/rt-tools-ui-kit-v2-live-badge.mjs +135 -48
  110. package/fesm2022/rt-tools-ui-kit-v2-live-badge.mjs.map +1 -1
  111. package/fesm2022/rt-tools-ui-kit-v2-logo.mjs +166 -92
  112. package/fesm2022/rt-tools-ui-kit-v2-logo.mjs.map +1 -1
  113. package/fesm2022/rt-tools-ui-kit-v2-markdown-text.mjs +118 -56
  114. package/fesm2022/rt-tools-ui-kit-v2-markdown-text.mjs.map +1 -1
  115. package/fesm2022/rt-tools-ui-kit-v2-menu.mjs +1054 -527
  116. package/fesm2022/rt-tools-ui-kit-v2-menu.mjs.map +1 -1
  117. package/fesm2022/rt-tools-ui-kit-v2-message.mjs +230 -104
  118. package/fesm2022/rt-tools-ui-kit-v2-message.mjs.map +1 -1
  119. package/fesm2022/rt-tools-ui-kit-v2-money-list.mjs +210 -70
  120. package/fesm2022/rt-tools-ui-kit-v2-money-list.mjs.map +1 -1
  121. package/fesm2022/rt-tools-ui-kit-v2-multiselect.mjs +532 -311
  122. package/fesm2022/rt-tools-ui-kit-v2-multiselect.mjs.map +1 -1
  123. package/fesm2022/rt-tools-ui-kit-v2-night-grid.mjs +125 -50
  124. package/fesm2022/rt-tools-ui-kit-v2-night-grid.mjs.map +1 -1
  125. package/fesm2022/rt-tools-ui-kit-v2-note.mjs +73 -43
  126. package/fesm2022/rt-tools-ui-kit-v2-note.mjs.map +1 -1
  127. package/fesm2022/rt-tools-ui-kit-v2-notifications-bell.mjs +161 -53
  128. package/fesm2022/rt-tools-ui-kit-v2-notifications-bell.mjs.map +1 -1
  129. package/fesm2022/rt-tools-ui-kit-v2-page-header.mjs +491 -310
  130. package/fesm2022/rt-tools-ui-kit-v2-page-header.mjs.map +1 -1
  131. package/fesm2022/rt-tools-ui-kit-v2-pagination.mjs +374 -174
  132. package/fesm2022/rt-tools-ui-kit-v2-pagination.mjs.map +1 -1
  133. package/fesm2022/rt-tools-ui-kit-v2-photo-viewer.mjs +202 -159
  134. package/fesm2022/rt-tools-ui-kit-v2-photo-viewer.mjs.map +1 -1
  135. package/fesm2022/rt-tools-ui-kit-v2-popover.mjs +438 -309
  136. package/fesm2022/rt-tools-ui-kit-v2-popover.mjs.map +1 -1
  137. package/fesm2022/rt-tools-ui-kit-v2-profile-menu.mjs +295 -0
  138. package/fesm2022/rt-tools-ui-kit-v2-profile-menu.mjs.map +1 -0
  139. package/fesm2022/rt-tools-ui-kit-v2-prompt-suggestion.mjs +135 -45
  140. package/fesm2022/rt-tools-ui-kit-v2-prompt-suggestion.mjs.map +1 -1
  141. package/fesm2022/rt-tools-ui-kit-v2-radio-button.mjs +293 -171
  142. package/fesm2022/rt-tools-ui-kit-v2-radio-button.mjs.map +1 -1
  143. package/fesm2022/rt-tools-ui-kit-v2-radius.mjs +62 -55
  144. package/fesm2022/rt-tools-ui-kit-v2-radius.mjs.map +1 -1
  145. package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs +3379 -1466
  146. package/fesm2022/rt-tools-ui-kit-v2-rich-editor.mjs.map +1 -1
  147. package/fesm2022/rt-tools-ui-kit-v2-ripple.mjs +114 -116
  148. package/fesm2022/rt-tools-ui-kit-v2-ripple.mjs.map +1 -1
  149. package/fesm2022/rt-tools-ui-kit-v2-scroll-area.mjs +406 -299
  150. package/fesm2022/rt-tools-ui-kit-v2-scroll-area.mjs.map +1 -1
  151. package/fesm2022/rt-tools-ui-kit-v2-section-nav.mjs +137 -36
  152. package/fesm2022/rt-tools-ui-kit-v2-section-nav.mjs.map +1 -1
  153. package/fesm2022/rt-tools-ui-kit-v2-select.mjs +687 -468
  154. package/fesm2022/rt-tools-ui-kit-v2-select.mjs.map +1 -1
  155. package/fesm2022/rt-tools-ui-kit-v2-side-menu.mjs +2195 -1569
  156. package/fesm2022/rt-tools-ui-kit-v2-side-menu.mjs.map +1 -1
  157. package/fesm2022/rt-tools-ui-kit-v2-skeleton-wrapper.mjs +187 -48
  158. package/fesm2022/rt-tools-ui-kit-v2-skeleton-wrapper.mjs.map +1 -1
  159. package/fesm2022/rt-tools-ui-kit-v2-skeleton.mjs +242 -122
  160. package/fesm2022/rt-tools-ui-kit-v2-skeleton.mjs.map +1 -1
  161. package/fesm2022/rt-tools-ui-kit-v2-speed-menu.mjs +439 -0
  162. package/fesm2022/rt-tools-ui-kit-v2-speed-menu.mjs.map +1 -0
  163. package/fesm2022/rt-tools-ui-kit-v2-spinner.mjs +218 -69
  164. package/fesm2022/rt-tools-ui-kit-v2-spinner.mjs.map +1 -1
  165. package/fesm2022/rt-tools-ui-kit-v2-split-button.mjs +292 -91
  166. package/fesm2022/rt-tools-ui-kit-v2-split-button.mjs.map +1 -1
  167. package/fesm2022/rt-tools-ui-kit-v2-stat-tile.mjs +225 -138
  168. package/fesm2022/rt-tools-ui-kit-v2-stat-tile.mjs.map +1 -1
  169. package/fesm2022/rt-tools-ui-kit-v2-stepper.mjs +150 -116
  170. package/fesm2022/rt-tools-ui-kit-v2-stepper.mjs.map +1 -1
  171. package/fesm2022/rt-tools-ui-kit-v2-table.mjs +2462 -1583
  172. package/fesm2022/rt-tools-ui-kit-v2-table.mjs.map +1 -1
  173. package/fesm2022/rt-tools-ui-kit-v2-tabs.mjs +647 -346
  174. package/fesm2022/rt-tools-ui-kit-v2-tabs.mjs.map +1 -1
  175. package/fesm2022/rt-tools-ui-kit-v2-tag.mjs +335 -121
  176. package/fesm2022/rt-tools-ui-kit-v2-tag.mjs.map +1 -1
  177. package/fesm2022/rt-tools-ui-kit-v2-textarea.mjs +217 -84
  178. package/fesm2022/rt-tools-ui-kit-v2-textarea.mjs.map +1 -1
  179. package/fesm2022/rt-tools-ui-kit-v2-theme-toggle.mjs +151 -72
  180. package/fesm2022/rt-tools-ui-kit-v2-theme-toggle.mjs.map +1 -1
  181. package/fesm2022/rt-tools-ui-kit-v2-thread-list.mjs +697 -226
  182. package/fesm2022/rt-tools-ui-kit-v2-thread-list.mjs.map +1 -1
  183. package/fesm2022/rt-tools-ui-kit-v2-timeline.mjs +92 -38
  184. package/fesm2022/rt-tools-ui-kit-v2-timeline.mjs.map +1 -1
  185. package/fesm2022/rt-tools-ui-kit-v2-toast.mjs +752 -338
  186. package/fesm2022/rt-tools-ui-kit-v2-toast.mjs.map +1 -1
  187. package/fesm2022/rt-tools-ui-kit-v2-toggle-button-group.mjs +310 -129
  188. package/fesm2022/rt-tools-ui-kit-v2-toggle-button-group.mjs.map +1 -1
  189. package/fesm2022/rt-tools-ui-kit-v2-toggle-switch.mjs +286 -158
  190. package/fesm2022/rt-tools-ui-kit-v2-toggle-switch.mjs.map +1 -1
  191. package/fesm2022/rt-tools-ui-kit-v2-toolbar.mjs +270 -134
  192. package/fesm2022/rt-tools-ui-kit-v2-toolbar.mjs.map +1 -1
  193. package/fesm2022/rt-tools-ui-kit-v2-tooltip.mjs +322 -202
  194. package/fesm2022/rt-tools-ui-kit-v2-tooltip.mjs.map +1 -1
  195. package/fesm2022/rt-tools-ui-kit-v2-tree-selector.mjs +908 -0
  196. package/fesm2022/rt-tools-ui-kit-v2-tree-selector.mjs.map +1 -0
  197. package/fesm2022/rt-tools-ui-kit-v2-tree.mjs +785 -0
  198. package/fesm2022/rt-tools-ui-kit-v2-tree.mjs.map +1 -0
  199. package/fesm2022/rt-tools-ui-kit-v2-welcome-dialog.mjs +118 -63
  200. package/fesm2022/rt-tools-ui-kit-v2-welcome-dialog.mjs.map +1 -1
  201. package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs +783 -262
  202. package/fesm2022/rt-tools-ui-kit-v2-workspace-details.mjs.map +1 -1
  203. package/fesm2022/rt-tools-ui-kit-v2-workspace.mjs +633 -294
  204. package/fesm2022/rt-tools-ui-kit-v2-workspace.mjs.map +1 -1
  205. package/fesm2022/rt-tools-ui-kit-v2.mjs +100 -103
  206. package/package.json +45 -1
  207. package/src/assets/icons/collapse-all.svg +9 -0
  208. package/src/assets/icons/expand-all.svg +9 -0
  209. package/src/assets/icons-material/collapse-all.fill.svg +5 -0
  210. package/src/assets/icons-material/collapse-all.svg +5 -0
  211. package/src/assets/icons-material/expand-all.fill.svg +5 -0
  212. package/src/assets/icons-material/expand-all.svg +5 -0
  213. package/src/assets/icons-material/undo.fill.svg +5 -0
  214. package/src/assets/icons-material/undo.svg +5 -0
  215. package/src/lib/components/bottom-sheet/CONTEXT.md +20 -2
  216. package/src/lib/components/bottom-sheet/rt-bottom-sheet.component.scss +36 -1
  217. package/src/lib/components/breadcrumbs/CONTEXT.md +37 -0
  218. package/src/lib/components/breadcrumbs/rt-breadcrumbs.component.scss +205 -0
  219. package/src/lib/components/carousel/CONTEXT.md +42 -0
  220. package/src/lib/components/carousel/rt-carousel.component.scss +117 -0
  221. package/src/lib/components/checkbox/CONTEXT.md +3 -0
  222. package/src/lib/components/checkbox/rt-checkbox.component.scss +9 -3
  223. package/src/lib/components/color-palette/CONTEXT.md +49 -0
  224. package/src/lib/components/color-palette/picker/rt-color-picker.component.scss +161 -0
  225. package/src/lib/components/color-palette/rt-color-palette.component.scss +132 -0
  226. package/src/lib/components/draggable-tree/CONTEXT.md +54 -0
  227. package/src/lib/components/draggable-tree/rt-draggable-tree.component.scss +219 -0
  228. package/src/lib/components/hybrid-tree/CONTEXT.md +31 -0
  229. package/src/lib/components/hybrid-tree-selector/CONTEXT.md +25 -0
  230. package/src/lib/components/icon-button/CONTEXT.md +3 -0
  231. package/src/lib/components/inline-edit/CONTEXT.md +41 -0
  232. package/src/lib/components/inline-edit/rt-inline-edit.component.scss +274 -0
  233. package/src/lib/components/popover/CONTEXT.md +3 -0
  234. package/src/lib/components/profile-menu/CONTEXT.md +32 -0
  235. package/src/lib/components/profile-menu/rt-profile-menu.component.scss +104 -0
  236. package/src/lib/components/speed-menu/CONTEXT.md +34 -0
  237. package/src/lib/components/speed-menu/rt-speed-menu.component.scss +118 -0
  238. package/src/lib/components/tag/rt-tag.component.scss +12 -0
  239. package/src/lib/components/thread-list/CONTEXT.md +1 -0
  240. package/src/lib/components/thread-list/rt-thread-list.component.scss +2 -1
  241. package/src/lib/components/toolbar/CONTEXT.md +9 -4
  242. package/src/lib/components/toolbar/rt-toolbar.component.scss +10 -2
  243. package/src/lib/components/tooltip/CONTEXT.md +8 -1
  244. package/src/lib/components/tree/CONTEXT.md +66 -0
  245. package/src/lib/components/tree/rt-tree.component.scss +313 -0
  246. package/src/lib/components/tree-selector/CONTEXT.md +47 -0
  247. package/src/lib/components/tree-selector/rt-tree-selector.component.scss +121 -0
  248. package/src/styles/_primitives.scss +4 -0
  249. package/src/styles/_semantic.scss +5 -0
  250. package/styles/tokens.css +43 -0
  251. package/types/rt-tools-ui-kit-v2-accordion.d.ts +31 -24
  252. package/types/rt-tools-ui-kit-v2-action-bar.d.ts +112 -91
  253. package/types/rt-tools-ui-kit-v2-ai-run-status.d.ts +64 -40
  254. package/types/rt-tools-ui-kit-v2-aside-section.d.ts +13 -10
  255. package/types/rt-tools-ui-kit-v2-aside.d.ts +268 -206
  256. package/types/rt-tools-ui-kit-v2-autocomplete.d.ts +102 -61
  257. package/types/rt-tools-ui-kit-v2-bar-list.d.ts +39 -27
  258. package/types/rt-tools-ui-kit-v2-bottom-sheet.d.ts +31 -20
  259. package/types/rt-tools-ui-kit-v2-breadcrumbs.d.ts +89 -0
  260. package/types/rt-tools-ui-kit-v2-button.d.ts +119 -59
  261. package/types/rt-tools-ui-kit-v2-calendar.d.ts +151 -86
  262. package/types/rt-tools-ui-kit-v2-card.d.ts +42 -21
  263. package/types/rt-tools-ui-kit-v2-carousel.d.ts +76 -0
  264. package/types/rt-tools-ui-kit-v2-checkbox.d.ts +48 -24
  265. package/types/rt-tools-ui-kit-v2-collapsible-text.d.ts +28 -20
  266. package/types/rt-tools-ui-kit-v2-color-palette.d.ts +208 -0
  267. package/types/rt-tools-ui-kit-v2-confirm-popover.d.ts +104 -47
  268. package/types/rt-tools-ui-kit-v2-container.d.ts +278 -221
  269. package/types/rt-tools-ui-kit-v2-copy-value.d.ts +39 -24
  270. package/types/rt-tools-ui-kit-v2-core.d.ts +862 -865
  271. package/types/rt-tools-ui-kit-v2-counter-row.d.ts +20 -12
  272. package/types/rt-tools-ui-kit-v2-counter.d.ts +70 -38
  273. package/types/rt-tools-ui-kit-v2-data-list.d.ts +429 -264
  274. package/types/rt-tools-ui-kit-v2-data-table.d.ts +500 -351
  275. package/types/rt-tools-ui-kit-v2-date-picker.d.ts +164 -138
  276. package/types/rt-tools-ui-kit-v2-date-range.d.ts +102 -84
  277. package/types/rt-tools-ui-kit-v2-delta-view.d.ts +16 -13
  278. package/types/rt-tools-ui-kit-v2-detail-list.d.ts +23 -16
  279. package/types/rt-tools-ui-kit-v2-dialog.d.ts +130 -101
  280. package/types/rt-tools-ui-kit-v2-dot-field.d.ts +10 -13
  281. package/types/rt-tools-ui-kit-v2-download-link.d.ts +22 -17
  282. package/types/rt-tools-ui-kit-v2-draggable-tree.d.ts +132 -0
  283. package/types/rt-tools-ui-kit-v2-dynamic-list.d.ts +185 -96
  284. package/types/rt-tools-ui-kit-v2-dynamic-selector.d.ts +904 -404
  285. package/types/rt-tools-ui-kit-v2-empty-state.d.ts +48 -19
  286. package/types/rt-tools-ui-kit-v2-expansion-panel.d.ts +67 -39
  287. package/types/rt-tools-ui-kit-v2-field.d.ts +90 -49
  288. package/types/rt-tools-ui-kit-v2-file-card.d.ts +115 -75
  289. package/types/rt-tools-ui-kit-v2-file-drop.d.ts +75 -48
  290. package/types/rt-tools-ui-kit-v2-file-input.d.ts +53 -36
  291. package/types/rt-tools-ui-kit-v2-file-list.d.ts +5 -8
  292. package/types/rt-tools-ui-kit-v2-filter-control.d.ts +83 -49
  293. package/types/rt-tools-ui-kit-v2-form-control.d.ts +102 -74
  294. package/types/rt-tools-ui-kit-v2-header.d.ts +40 -22
  295. package/types/rt-tools-ui-kit-v2-hybrid-tree-selector.d.ts +14 -0
  296. package/types/rt-tools-ui-kit-v2-hybrid-tree.d.ts +72 -0
  297. package/types/rt-tools-ui-kit-v2-icon-button.d.ts +190 -90
  298. package/types/rt-tools-ui-kit-v2-icon.d.ts +160 -129
  299. package/types/rt-tools-ui-kit-v2-image-cropper.d.ts +151 -111
  300. package/types/rt-tools-ui-kit-v2-image-upload.d.ts +159 -85
  301. package/types/rt-tools-ui-kit-v2-info-item.d.ts +26 -13
  302. package/types/rt-tools-ui-kit-v2-inline-edit.d.ts +194 -0
  303. package/types/rt-tools-ui-kit-v2-input-number.d.ts +102 -53
  304. package/types/rt-tools-ui-kit-v2-input.d.ts +82 -43
  305. package/types/rt-tools-ui-kit-v2-live-badge.d.ts +30 -17
  306. package/types/rt-tools-ui-kit-v2-logo.d.ts +49 -32
  307. package/types/rt-tools-ui-kit-v2-markdown-text.d.ts +26 -17
  308. package/types/rt-tools-ui-kit-v2-menu.d.ts +272 -155
  309. package/types/rt-tools-ui-kit-v2-message.d.ts +59 -33
  310. package/types/rt-tools-ui-kit-v2-money-list.d.ts +36 -18
  311. package/types/rt-tools-ui-kit-v2-multiselect.d.ts +114 -80
  312. package/types/rt-tools-ui-kit-v2-night-grid.d.ts +34 -25
  313. package/types/rt-tools-ui-kit-v2-note.d.ts +12 -9
  314. package/types/rt-tools-ui-kit-v2-notifications-bell.d.ts +37 -16
  315. package/types/rt-tools-ui-kit-v2-page-header.d.ts +218 -150
  316. package/types/rt-tools-ui-kit-v2-pagination.d.ts +99 -63
  317. package/types/rt-tools-ui-kit-v2-photo-viewer.d.ts +61 -66
  318. package/types/rt-tools-ui-kit-v2-popover.d.ts +116 -55
  319. package/types/rt-tools-ui-kit-v2-profile-menu.d.ts +103 -0
  320. package/types/rt-tools-ui-kit-v2-prompt-suggestion.d.ts +26 -16
  321. package/types/rt-tools-ui-kit-v2-radio-button.d.ts +85 -43
  322. package/types/rt-tools-ui-kit-v2-radius.d.ts +18 -15
  323. package/types/rt-tools-ui-kit-v2-rich-editor.d.ts +931 -590
  324. package/types/rt-tools-ui-kit-v2-ripple.d.ts +28 -25
  325. package/types/rt-tools-ui-kit-v2-scroll-area.d.ts +60 -58
  326. package/types/rt-tools-ui-kit-v2-section-nav.d.ts +32 -22
  327. package/types/rt-tools-ui-kit-v2-select.d.ts +182 -139
  328. package/types/rt-tools-ui-kit-v2-side-menu.d.ts +452 -349
  329. package/types/rt-tools-ui-kit-v2-skeleton-wrapper.d.ts +53 -20
  330. package/types/rt-tools-ui-kit-v2-skeleton.d.ts +55 -26
  331. package/types/rt-tools-ui-kit-v2-speed-menu.d.ts +131 -0
  332. package/types/rt-tools-ui-kit-v2-spinner.d.ts +56 -28
  333. package/types/rt-tools-ui-kit-v2-split-button.d.ts +96 -55
  334. package/types/rt-tools-ui-kit-v2-stat-tile.d.ts +88 -60
  335. package/types/rt-tools-ui-kit-v2-stepper.d.ts +50 -37
  336. package/types/rt-tools-ui-kit-v2-table.d.ts +631 -480
  337. package/types/rt-tools-ui-kit-v2-tabs.d.ts +198 -113
  338. package/types/rt-tools-ui-kit-v2-tag.d.ts +106 -53
  339. package/types/rt-tools-ui-kit-v2-textarea.d.ts +48 -25
  340. package/types/rt-tools-ui-kit-v2-theme-toggle.d.ts +28 -26
  341. package/types/rt-tools-ui-kit-v2-thread-list.d.ts +154 -94
  342. package/types/rt-tools-ui-kit-v2-timeline.d.ts +30 -28
  343. package/types/rt-tools-ui-kit-v2-toast.d.ts +174 -98
  344. package/types/rt-tools-ui-kit-v2-toggle-button-group.d.ts +132 -86
  345. package/types/rt-tools-ui-kit-v2-toggle-switch.d.ts +88 -50
  346. package/types/rt-tools-ui-kit-v2-toolbar.d.ts +30 -27
  347. package/types/rt-tools-ui-kit-v2-tooltip.d.ts +65 -41
  348. package/types/rt-tools-ui-kit-v2-tree-selector.d.ts +257 -0
  349. package/types/rt-tools-ui-kit-v2-tree.d.ts +282 -0
  350. package/types/rt-tools-ui-kit-v2-welcome-dialog.d.ts +21 -24
  351. package/types/rt-tools-ui-kit-v2-workspace-details.d.ts +195 -124
  352. package/types/rt-tools-ui-kit-v2-workspace.d.ts +122 -79
  353. package/types/rt-tools-ui-kit-v2.d.ts +100 -90
  354. package/fesm2022/rt-tools-ui-kit-v2.mjs.map +0 -1
@@ -1,118 +1,116 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, ElementRef, Renderer2, DestroyRef, input, booleanAttribute, Directive } from '@angular/core';
3
-
4
- const BEM_BLOCK = 'rt-ripple';
5
- /** Сколько живёт один слой волны. Совпадает с длительностью в стилях блока. */
1
+ import * as i0 from "@angular/core";
2
+ import { DestroyRef, Directive, ElementRef, Renderer2, booleanAttribute, inject, input } from "@angular/core";
3
+ const BEM_BLOCK = "rt-ripple";
6
4
  const RIPPLE_LIFETIME_MS = 550;
7
- /**
8
- * Волна нажатия. Ставится на элемент, который нажимают, и рисует расходящийся
9
- * от точки касания круг.
10
- *
11
- * Волна живёт в своём обрезающем слое внутри элемента, а не прямо в нём:
12
- * `overflow: hidden` на самой кнопке срезал бы всё, что торчит за её край, —
13
- * у кнопки-значка так стоит метка, вынесенная на два пикселя наружу.
14
- *
15
- * @example
16
- * ```html
17
- * <button rtRipple>Сохранить</button>
18
- * <button rtRipple [rippleDisabled]="loading()">Сохранить</button>
19
- * ```
20
- */
21
- class RtRippleDirective {
22
- #el;
23
- #renderer;
24
- #destroyRef;
25
- /** Слои, которые ещё гаснут: снимаются, если элемент умрёт раньше их. */
26
- #live;
27
- /** Обрезающий слой заводится при первом нажатии: у кнопки, которую не нажали, его нет. */
28
- #area;
29
- /** Гасит незакончившиеся волны: иначе таймер трогает снятый из дерева узел. */
30
- constructor() {
31
- this.#el = inject(ElementRef);
32
- this.#renderer = inject(Renderer2);
33
- this.#destroyRef = inject(DestroyRef);
34
- /** Слои, которые ещё гаснут: снимаются, если элемент умрёт раньше их. */
35
- this.#live = new Set();
36
- /** Обрезающий слой заводится при первом нажатии: у кнопки, которую не нажали, его нет. */
37
- this.#area = null;
38
- /**
39
- * Отключает волну, не трогая остальное поведение элемента.
40
- * Отключённая и загружающаяся кнопка волны не даёт.
41
- */
42
- this.rippleDisabled = input(false, { ...(ngDevMode ? { debugName: "rippleDisabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
43
- this.#destroyRef.onDestroy(() => {
44
- for (const timer of this.#live) {
45
- clearTimeout(timer);
46
- }
47
- this.#live.clear();
48
- });
49
- }
50
- /**
51
- * Ставит один слой волны от точки нажатия и снимает его, когда тот отгорит.
52
- *
53
- * Радиус считается по дальнему углу элемента: волна из угла должна накрыть
54
- * противоположный, иначе на широкой кнопке она обрывается на полпути.
55
- */
56
- launch(event) {
57
- const host = this.#el.nativeElement;
58
- if (this.rippleDisabled() || host.disabled) {
59
- return;
60
- }
61
- const box = host.getBoundingClientRect();
62
- const x = event.clientX - box.left;
63
- const y = event.clientY - box.top;
64
- const radius = Math.hypot(Math.max(x, box.width - x), Math.max(y, box.height - y));
65
- const area = this.#ensureArea(host);
66
- const layer = this.#renderer.createElement('span');
67
- this.#renderer.addClass(layer, `${BEM_BLOCK}__wave`);
68
- this.#renderer.setStyle(layer, 'left', `${x - radius}px`);
69
- this.#renderer.setStyle(layer, 'top', `${y - radius}px`);
70
- this.#renderer.setStyle(layer, 'width', `${radius * 2}px`);
71
- this.#renderer.setStyle(layer, 'height', `${radius * 2}px`);
72
- this.#renderer.appendChild(area, layer);
73
- const timer = setTimeout(() => {
74
- this.#live.delete(timer);
75
- if (layer.parentNode) {
76
- this.#renderer.removeChild(area, layer);
77
- }
78
- }, RIPPLE_LIFETIME_MS);
79
- this.#live.add(timer);
80
- }
81
- /** Обрезающий слой один на элемент: он повторяет его скругление и не ловит указатель. */
82
- #ensureArea(host) {
83
- if (this.#area?.parentNode) {
84
- return this.#area;
85
- }
86
- /* Обрезающий слой стоит absolute, и ему нужен позиционированный предок. Позиция
87
- ставится здесь, а не правилом блока: правило висело бы на каждой кнопке кита и
88
- меняло растеризацию кадров витрины, ничего не двигая в раскладке. */
89
- if (getComputedStyle(host).position === 'static') {
90
- this.#renderer.setStyle(host, 'position', 'relative');
91
- }
92
- const area = this.#renderer.createElement('span');
93
- this.#renderer.addClass(area, `${BEM_BLOCK}__area`);
94
- this.#renderer.setAttribute(area, 'aria-hidden', 'true');
95
- this.#renderer.appendChild(host, area);
96
- this.#area = area;
97
- return area;
98
- }
99
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: RtRippleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
100
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.6", type: RtRippleDirective, isStandalone: true, selector: "[rtRipple]", inputs: { rippleDisabled: { classPropertyName: "rippleDisabled", publicName: "rippleDisabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "pointerdown": "launch($event)" }, classAttribute: "rt-ripple" }, ngImport: i0 }); }
101
- }
102
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.6", ngImport: i0, type: RtRippleDirective, decorators: [{
103
- type: Directive,
104
- args: [{
105
- selector: '[rtRipple]',
106
- host: {
107
- class: BEM_BLOCK,
108
- '(pointerdown)': 'launch($event)',
109
- },
110
- }]
111
- }], ctorParameters: () => [], propDecorators: { rippleDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "rippleDisabled", required: false }] }] } });
112
-
113
- /**
114
- * Generated bundle index. Do not edit.
115
- */
116
-
5
+ var RtRippleDirective = class RtRippleDirective {
6
+ #el;
7
+ #renderer;
8
+ #destroyRef;
9
+ #live;
10
+ #area;
11
+ constructor() {
12
+ this.#el = inject(ElementRef);
13
+ this.#renderer = inject(Renderer2);
14
+ this.#destroyRef = inject(DestroyRef);
15
+ this.#live = /* @__PURE__ */ new Set();
16
+ this.#area = null;
17
+ this.rippleDisabled = input(false, {
18
+ ...ngDevMode ? { debugName: "rippleDisabled" } : /* istanbul ignore next */ {},
19
+ transform: booleanAttribute
20
+ });
21
+ this.#destroyRef.onDestroy(() => {
22
+ for (const timer of this.#live) clearTimeout(timer);
23
+ this.#live.clear();
24
+ });
25
+ }
26
+ launch(event) {
27
+ const host = this.#el.nativeElement;
28
+ if (this.rippleDisabled() || host.disabled) return;
29
+ const box = host.getBoundingClientRect();
30
+ const x = event.clientX - box.left;
31
+ const y = event.clientY - box.top;
32
+ const radius = Math.hypot(Math.max(x, box.width - x), Math.max(y, box.height - y));
33
+ const area = this.#ensureArea(host);
34
+ const layer = this.#renderer.createElement("span");
35
+ this.#renderer.addClass(layer, `${BEM_BLOCK}__wave`);
36
+ this.#renderer.setStyle(layer, "left", `${x - radius}px`);
37
+ this.#renderer.setStyle(layer, "top", `${y - radius}px`);
38
+ this.#renderer.setStyle(layer, "width", `${radius * 2}px`);
39
+ this.#renderer.setStyle(layer, "height", `${radius * 2}px`);
40
+ this.#renderer.appendChild(area, layer);
41
+ const timer = setTimeout(() => {
42
+ this.#live.delete(timer);
43
+ if (layer.parentNode) this.#renderer.removeChild(area, layer);
44
+ }, RIPPLE_LIFETIME_MS);
45
+ this.#live.add(timer);
46
+ }
47
+ #ensureArea(host) {
48
+ if (this.#area?.parentNode) return this.#area;
49
+ if (getComputedStyle(host).position === "static") this.#renderer.setStyle(host, "position", "relative");
50
+ const area = this.#renderer.createElement("span");
51
+ this.#renderer.addClass(area, `${BEM_BLOCK}__area`);
52
+ this.#renderer.setAttribute(area, "aria-hidden", "true");
53
+ this.#renderer.appendChild(host, area);
54
+ this.#area = area;
55
+ return area;
56
+ }
57
+ static {
58
+ this.ɵfac = i0.ɵɵngDeclareFactory({
59
+ minVersion: "12.0.0",
60
+ version: "22.2.2",
61
+ ngImport: i0,
62
+ type: RtRippleDirective,
63
+ deps: [],
64
+ target: i0.ɵɵFactoryTarget.Directive
65
+ });
66
+ }
67
+ static {
68
+ this.ɵdir = i0.ɵɵngDeclareDirective({
69
+ minVersion: "17.1.0",
70
+ version: "22.2.2",
71
+ type: RtRippleDirective,
72
+ isStandalone: true,
73
+ selector: "[rtRipple]",
74
+ inputs: { rippleDisabled: {
75
+ classPropertyName: "rippleDisabled",
76
+ publicName: "rippleDisabled",
77
+ isSignal: true,
78
+ isRequired: false,
79
+ transformFunction: null
80
+ } },
81
+ host: {
82
+ listeners: { "pointerdown": "launch($event)" },
83
+ classAttribute: "rt-ripple"
84
+ },
85
+ ngImport: i0
86
+ });
87
+ }
88
+ };
89
+ i0.ɵɵngDeclareClassMetadata({
90
+ minVersion: "12.0.0",
91
+ version: "22.2.2",
92
+ ngImport: i0,
93
+ type: RtRippleDirective,
94
+ decorators: [{
95
+ type: Directive,
96
+ args: [{
97
+ selector: "[rtRipple]",
98
+ host: {
99
+ class: BEM_BLOCK,
100
+ "(pointerdown)": "launch($event)"
101
+ }
102
+ }]
103
+ }],
104
+ ctorParameters: () => [],
105
+ propDecorators: { rippleDisabled: [{
106
+ type: i0.Input,
107
+ args: [{
108
+ isSignal: true,
109
+ alias: "rippleDisabled",
110
+ required: false
111
+ }]
112
+ }] }
113
+ });
117
114
  export { RtRippleDirective };
118
- //# sourceMappingURL=rt-tools-ui-kit-v2-ripple.mjs.map
115
+
116
+ //# sourceMappingURL=rt-tools-ui-kit-v2-ripple.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"rt-tools-ui-kit-v2-ripple.mjs","sources":["../../../projects/ui-kit-v2/src/lib/components/ripple/rt-ripple.directive.ts","../../../projects/ui-kit-v2/src/lib/components/ripple/rt-tools-ui-kit-v2-ripple.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, DestroyRef, Directive, ElementRef, inject, input, InputSignalWithTransform, Renderer2 } from '@angular/core';\n\nconst BEM_BLOCK: string = 'rt-ripple';\n\n/** Сколько живёт один слой волны. Совпадает с длительностью в стилях блока. */\nconst RIPPLE_LIFETIME_MS: number = 550;\n\n/**\n * Волна нажатия. Ставится на элемент, который нажимают, и рисует расходящийся\n * от точки касания круг.\n *\n * Волна живёт в своём обрезающем слое внутри элемента, а не прямо в нём:\n * `overflow: hidden` на самой кнопке срезал бы всё, что торчит за её край, —\n * у кнопки-значка так стоит метка, вынесенная на два пикселя наружу.\n *\n * @example\n * ```html\n * <button rtRipple>Сохранить</button>\n * <button rtRipple [rippleDisabled]=\"loading()\">Сохранить</button>\n * ```\n */\n@Directive({\n selector: '[rtRipple]',\n host: {\n class: BEM_BLOCK,\n '(pointerdown)': 'launch($event)',\n },\n})\nexport class RtRippleDirective {\n readonly #el: ElementRef<HTMLElement> = inject<ElementRef<HTMLElement>>(ElementRef);\n readonly #renderer: Renderer2 = inject(Renderer2);\n readonly #destroyRef: DestroyRef = inject(DestroyRef);\n\n /** Слои, которые ещё гаснут: снимаются, если элемент умрёт раньше их. */\n readonly #live: Set<ReturnType<typeof setTimeout>> = new Set<ReturnType<typeof setTimeout>>();\n\n /** Обрезающий слой заводится при первом нажатии: у кнопки, которую не нажали, его нет. */\n #area: HTMLElement | null = null;\n\n /**\n * Отключает волну, не трогая остальное поведение элемента.\n * Отключённая и загружающаяся кнопка волны не даёт.\n */\n public readonly rippleDisabled: InputSignalWithTransform<boolean, BooleanInput> = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /** Гасит незакончившиеся волны: иначе таймер трогает снятый из дерева узел. */\n constructor() {\n this.#destroyRef.onDestroy((): void => {\n for (const timer of this.#live) {\n clearTimeout(timer);\n }\n this.#live.clear();\n });\n }\n\n /**\n * Ставит один слой волны от точки нажатия и снимает его, когда тот отгорит.\n *\n * Радиус считается по дальнему углу элемента: волна из угла должна накрыть\n * противоположный, иначе на широкой кнопке она обрывается на полпути.\n */\n public launch(event: PointerEvent): void {\n const host: HTMLElement = this.#el.nativeElement;\n if (this.rippleDisabled() || (host as HTMLButtonElement).disabled) {\n return;\n }\n\n const box: DOMRect = host.getBoundingClientRect();\n const x: number = event.clientX - box.left;\n const y: number = event.clientY - box.top;\n const radius: number = Math.hypot(Math.max(x, box.width - x), Math.max(y, box.height - y));\n\n const area: HTMLElement = this.#ensureArea(host);\n const layer: HTMLElement = this.#renderer.createElement('span');\n this.#renderer.addClass(layer, `${BEM_BLOCK}__wave`);\n this.#renderer.setStyle(layer, 'left', `${x - radius}px`);\n this.#renderer.setStyle(layer, 'top', `${y - radius}px`);\n this.#renderer.setStyle(layer, 'width', `${radius * 2}px`);\n this.#renderer.setStyle(layer, 'height', `${radius * 2}px`);\n this.#renderer.appendChild(area, layer);\n\n const timer: ReturnType<typeof setTimeout> = setTimeout((): void => {\n this.#live.delete(timer);\n if (layer.parentNode) {\n this.#renderer.removeChild(area, layer);\n }\n }, RIPPLE_LIFETIME_MS);\n this.#live.add(timer);\n }\n\n /** Обрезающий слой один на элемент: он повторяет его скругление и не ловит указатель. */\n #ensureArea(host: HTMLElement): HTMLElement {\n if (this.#area?.parentNode) {\n return this.#area;\n }\n\n /* Обрезающий слой стоит absolute, и ему нужен позиционированный предок. Позиция\n ставится здесь, а не правилом блока: правило висело бы на каждой кнопке кита и\n меняло растеризацию кадров витрины, ничего не двигая в раскладке. */\n if (getComputedStyle(host).position === 'static') {\n this.#renderer.setStyle(host, 'position', 'relative');\n }\n\n const area: HTMLElement = this.#renderer.createElement('span');\n this.#renderer.addClass(area, `${BEM_BLOCK}__area`);\n this.#renderer.setAttribute(area, 'aria-hidden', 'true');\n this.#renderer.appendChild(host, area);\n this.#area = area;\n\n return area;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rt-tools-ui-kit-v2-ripple.mjs","names":[],"sources":["../../../projects/ui-kit-v2/src/lib/components/ripple/rt-ripple.directive.ts"],"sourcesContent":["import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, DestroyRef, Directive, ElementRef, inject, input, InputSignalWithTransform, Renderer2 } from '@angular/core';\n\nconst BEM_BLOCK: string = 'rt-ripple';\n\n/** Сколько живёт один слой волны. Совпадает с длительностью в стилях блока. */\nconst RIPPLE_LIFETIME_MS: number = 550;\n\n/**\n * Волна нажатия. Ставится на элемент, который нажимают, и рисует расходящийся\n * от точки касания круг.\n *\n * Волна живёт в своём обрезающем слое внутри элемента, а не прямо в нём:\n * `overflow: hidden` на самой кнопке срезал бы всё, что торчит за её край, —\n * у кнопки-значка так стоит метка, вынесенная на два пикселя наружу.\n *\n * @example\n * ```html\n * <button rtRipple>Сохранить</button>\n * <button rtRipple [rippleDisabled]=\"loading()\">Сохранить</button>\n * ```\n */\n@Directive({\n selector: '[rtRipple]',\n host: {\n class: BEM_BLOCK,\n '(pointerdown)': 'launch($event)',\n },\n})\nexport class RtRippleDirective {\n readonly #el: ElementRef<HTMLElement> = inject<ElementRef<HTMLElement>>(ElementRef);\n readonly #renderer: Renderer2 = inject(Renderer2);\n readonly #destroyRef: DestroyRef = inject(DestroyRef);\n\n /** Слои, которые ещё гаснут: снимаются, если элемент умрёт раньше их. */\n readonly #live: Set<ReturnType<typeof setTimeout>> = new Set<ReturnType<typeof setTimeout>>();\n\n /** Обрезающий слой заводится при первом нажатии: у кнопки, которую не нажали, его нет. */\n #area: HTMLElement | null = null;\n\n /**\n * Отключает волну, не трогая остальное поведение элемента.\n * Отключённая и загружающаяся кнопка волны не даёт.\n */\n public readonly rippleDisabled: InputSignalWithTransform<boolean, BooleanInput> = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /** Гасит незакончившиеся волны: иначе таймер трогает снятый из дерева узел. */\n constructor() {\n this.#destroyRef.onDestroy((): void => {\n for (const timer of this.#live) {\n clearTimeout(timer);\n }\n this.#live.clear();\n });\n }\n\n /**\n * Ставит один слой волны от точки нажатия и снимает его, когда тот отгорит.\n *\n * Радиус считается по дальнему углу элемента: волна из угла должна накрыть\n * противоположный, иначе на широкой кнопке она обрывается на полпути.\n */\n public launch(event: PointerEvent): void {\n const host: HTMLElement = this.#el.nativeElement;\n if (this.rippleDisabled() || (host as HTMLButtonElement).disabled) {\n return;\n }\n\n const box: DOMRect = host.getBoundingClientRect();\n const x: number = event.clientX - box.left;\n const y: number = event.clientY - box.top;\n const radius: number = Math.hypot(Math.max(x, box.width - x), Math.max(y, box.height - y));\n\n const area: HTMLElement = this.#ensureArea(host);\n const layer: HTMLElement = this.#renderer.createElement('span');\n this.#renderer.addClass(layer, `${BEM_BLOCK}__wave`);\n this.#renderer.setStyle(layer, 'left', `${x - radius}px`);\n this.#renderer.setStyle(layer, 'top', `${y - radius}px`);\n this.#renderer.setStyle(layer, 'width', `${radius * 2}px`);\n this.#renderer.setStyle(layer, 'height', `${radius * 2}px`);\n this.#renderer.appendChild(area, layer);\n\n const timer: ReturnType<typeof setTimeout> = setTimeout((): void => {\n this.#live.delete(timer);\n if (layer.parentNode) {\n this.#renderer.removeChild(area, layer);\n }\n }, RIPPLE_LIFETIME_MS);\n this.#live.add(timer);\n }\n\n /** Обрезающий слой один на элемент: он повторяет его скругление и не ловит указатель. */\n #ensureArea(host: HTMLElement): HTMLElement {\n if (this.#area?.parentNode) {\n return this.#area;\n }\n\n /* Обрезающий слой стоит absolute, и ему нужен позиционированный предок. Позиция\n ставится здесь, а не правилом блока: правило висело бы на каждой кнопке кита и\n меняло растеризацию кадров витрины, ничего не двигая в раскладке. */\n if (getComputedStyle(host).position === 'static') {\n this.#renderer.setStyle(host, 'position', 'relative');\n }\n\n const area: HTMLElement = this.#renderer.createElement('span');\n this.#renderer.addClass(area, `${BEM_BLOCK}__area`);\n this.#renderer.setAttribute(area, 'aria-hidden', 'true');\n this.#renderer.appendChild(host, area);\n this.#area = area;\n\n return area;\n }\n}\n"],"mappings":"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"}