@olddevs/ui 0.0.0-stage → 4.0.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 (1553) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/LICENSE +21 -0
  3. package/NOTICE +100 -0
  4. package/README.md +145 -2
  5. package/README.ru.md +146 -0
  6. package/dist/color.d.ts +22 -0
  7. package/dist/color.d.ts.map +1 -0
  8. package/dist/color.js +2 -0
  9. package/dist/color.js.map +1 -0
  10. package/dist/components/actions/Alert.d.ts +46 -0
  11. package/dist/components/actions/Alert.d.ts.map +1 -0
  12. package/dist/components/actions/Alert.js +20 -0
  13. package/dist/components/actions/Alert.js.map +1 -0
  14. package/dist/components/actions/Banner.d.ts +58 -0
  15. package/dist/components/actions/Banner.d.ts.map +1 -0
  16. package/dist/components/actions/Banner.js +20 -0
  17. package/dist/components/actions/Banner.js.map +1 -0
  18. package/dist/components/actions/Button.d.ts +79 -0
  19. package/dist/components/actions/Button.d.ts.map +1 -0
  20. package/dist/components/actions/Button.js +29 -0
  21. package/dist/components/actions/Button.js.map +1 -0
  22. package/dist/components/actions/ButtonGroup.d.ts +32 -0
  23. package/dist/components/actions/ButtonGroup.d.ts.map +1 -0
  24. package/dist/components/actions/ButtonGroup.js +10 -0
  25. package/dist/components/actions/ButtonGroup.js.map +1 -0
  26. package/dist/components/actions/Chip.d.ts +36 -0
  27. package/dist/components/actions/Chip.d.ts.map +1 -0
  28. package/dist/components/actions/Chip.js +16 -0
  29. package/dist/components/actions/Chip.js.map +1 -0
  30. package/dist/components/actions/CopyButton.d.ts +32 -0
  31. package/dist/components/actions/CopyButton.d.ts.map +1 -0
  32. package/dist/components/actions/CopyButton.js +41 -0
  33. package/dist/components/actions/CopyButton.js.map +1 -0
  34. package/dist/components/actions/Progress.d.ts +36 -0
  35. package/dist/components/actions/Progress.d.ts.map +1 -0
  36. package/dist/components/actions/Progress.js +14 -0
  37. package/dist/components/actions/Progress.js.map +1 -0
  38. package/dist/components/actions/Segmented.d.ts +64 -0
  39. package/dist/components/actions/Segmented.d.ts.map +1 -0
  40. package/dist/components/actions/Segmented.js +14 -0
  41. package/dist/components/actions/Segmented.js.map +1 -0
  42. package/dist/components/actions/Spinner.d.ts +46 -0
  43. package/dist/components/actions/Spinner.d.ts.map +1 -0
  44. package/dist/components/actions/Spinner.js +17 -0
  45. package/dist/components/actions/Spinner.js.map +1 -0
  46. package/dist/components/actions/SplitButton.d.ts +92 -0
  47. package/dist/components/actions/SplitButton.d.ts.map +1 -0
  48. package/dist/components/actions/SplitButton.js +21 -0
  49. package/dist/components/actions/SplitButton.js.map +1 -0
  50. package/dist/components/actions/StatusBadge.d.ts +26 -0
  51. package/dist/components/actions/StatusBadge.d.ts.map +1 -0
  52. package/dist/components/actions/StatusBadge.js +14 -0
  53. package/dist/components/actions/StatusBadge.js.map +1 -0
  54. package/dist/components/actions/Toaster.d.ts +83 -0
  55. package/dist/components/actions/Toaster.d.ts.map +1 -0
  56. package/dist/components/actions/Toaster.js +38 -0
  57. package/dist/components/actions/Toaster.js.map +1 -0
  58. package/dist/components/actions/Toggle.d.ts +75 -0
  59. package/dist/components/actions/Toggle.d.ts.map +1 -0
  60. package/dist/components/actions/Toggle.js +39 -0
  61. package/dist/components/actions/Toggle.js.map +1 -0
  62. package/dist/components/actions/ToggleGroup.d.ts +63 -0
  63. package/dist/components/actions/ToggleGroup.d.ts.map +1 -0
  64. package/dist/components/actions/ToggleGroup.js +30 -0
  65. package/dist/components/actions/ToggleGroup.js.map +1 -0
  66. package/dist/components/actions/Toolbar.d.ts +52 -0
  67. package/dist/components/actions/Toolbar.d.ts.map +1 -0
  68. package/dist/components/actions/Toolbar.js +98 -0
  69. package/dist/components/actions/Toolbar.js.map +1 -0
  70. package/dist/components/actions/Truncate.d.ts +31 -0
  71. package/dist/components/actions/Truncate.d.ts.map +1 -0
  72. package/dist/components/actions/Truncate.js +32 -0
  73. package/dist/components/actions/Truncate.js.map +1 -0
  74. package/dist/components/app-shell/AppShell.d.ts +106 -0
  75. package/dist/components/app-shell/AppShell.d.ts.map +1 -0
  76. package/dist/components/app-shell/AppShell.js +29 -0
  77. package/dist/components/app-shell/AppShell.js.map +1 -0
  78. package/dist/components/app-shell/MobileTabBar.d.ts +130 -0
  79. package/dist/components/app-shell/MobileTabBar.d.ts.map +1 -0
  80. package/dist/components/app-shell/MobileTabBar.js +50 -0
  81. package/dist/components/app-shell/MobileTabBar.js.map +1 -0
  82. package/dist/components/app-shell/NavItem.d.ts +72 -0
  83. package/dist/components/app-shell/NavItem.d.ts.map +1 -0
  84. package/dist/components/app-shell/NavItem.js +22 -0
  85. package/dist/components/app-shell/NavItem.js.map +1 -0
  86. package/dist/components/app-shell/SideNav.d.ts +65 -0
  87. package/dist/components/app-shell/SideNav.d.ts.map +1 -0
  88. package/dist/components/app-shell/SideNav.js +31 -0
  89. package/dist/components/app-shell/SideNav.js.map +1 -0
  90. package/dist/components/app-shell/SplitPanel.d.ts +121 -0
  91. package/dist/components/app-shell/SplitPanel.d.ts.map +1 -0
  92. package/dist/components/app-shell/SplitPanel.js +88 -0
  93. package/dist/components/app-shell/SplitPanel.js.map +1 -0
  94. package/dist/components/app-shell/TopBar.d.ts +43 -0
  95. package/dist/components/app-shell/TopBar.d.ts.map +1 -0
  96. package/dist/components/app-shell/TopBar.js +24 -0
  97. package/dist/components/app-shell/TopBar.js.map +1 -0
  98. package/dist/components/content/AspectRatio.d.ts +25 -0
  99. package/dist/components/content/AspectRatio.d.ts.map +1 -0
  100. package/dist/components/content/AspectRatio.js +7 -0
  101. package/dist/components/content/AspectRatio.js.map +1 -0
  102. package/dist/components/content/Avatar.d.ts +22 -0
  103. package/dist/components/content/Avatar.d.ts.map +1 -0
  104. package/dist/components/content/Avatar.js +23 -0
  105. package/dist/components/content/Avatar.js.map +1 -0
  106. package/dist/components/content/AvatarGroup.d.ts +42 -0
  107. package/dist/components/content/AvatarGroup.d.ts.map +1 -0
  108. package/dist/components/content/AvatarGroup.js +11 -0
  109. package/dist/components/content/AvatarGroup.js.map +1 -0
  110. package/dist/components/content/Badge.d.ts +41 -0
  111. package/dist/components/content/Badge.d.ts.map +1 -0
  112. package/dist/components/content/Badge.js +13 -0
  113. package/dist/components/content/Badge.js.map +1 -0
  114. package/dist/components/content/Card.d.ts +59 -0
  115. package/dist/components/content/Card.d.ts.map +1 -0
  116. package/dist/components/content/Card.js +20 -0
  117. package/dist/components/content/Card.js.map +1 -0
  118. package/dist/components/content/Carousel.d.ts +79 -0
  119. package/dist/components/content/Carousel.d.ts.map +1 -0
  120. package/dist/components/content/Carousel.js +172 -0
  121. package/dist/components/content/Carousel.js.map +1 -0
  122. package/dist/components/content/CodeView.d.ts +76 -0
  123. package/dist/components/content/CodeView.d.ts.map +1 -0
  124. package/dist/components/content/CodeView.js +12 -0
  125. package/dist/components/content/CodeView.js.map +1 -0
  126. package/dist/components/content/DescriptionList.d.ts +31 -0
  127. package/dist/components/content/DescriptionList.d.ts.map +1 -0
  128. package/dist/components/content/DescriptionList.js +10 -0
  129. package/dist/components/content/DescriptionList.js.map +1 -0
  130. package/dist/components/content/EditableList.d.ts +162 -0
  131. package/dist/components/content/EditableList.d.ts.map +1 -0
  132. package/dist/components/content/EditableList.js +241 -0
  133. package/dist/components/content/EditableList.js.map +1 -0
  134. package/dist/components/content/EmptyState.d.ts +31 -0
  135. package/dist/components/content/EmptyState.d.ts.map +1 -0
  136. package/dist/components/content/EmptyState.js +9 -0
  137. package/dist/components/content/EmptyState.js.map +1 -0
  138. package/dist/components/content/ErrorState.d.ts +52 -0
  139. package/dist/components/content/ErrorState.d.ts.map +1 -0
  140. package/dist/components/content/ErrorState.js +16 -0
  141. package/dist/components/content/ErrorState.js.map +1 -0
  142. package/dist/components/content/Grid.d.ts +57 -0
  143. package/dist/components/content/Grid.d.ts.map +1 -0
  144. package/dist/components/content/Grid.js +85 -0
  145. package/dist/components/content/Grid.js.map +1 -0
  146. package/dist/components/content/Heading.d.ts +43 -0
  147. package/dist/components/content/Heading.d.ts.map +1 -0
  148. package/dist/components/content/Heading.js +21 -0
  149. package/dist/components/content/Heading.js.map +1 -0
  150. package/dist/components/content/Image.d.ts +94 -0
  151. package/dist/components/content/Image.d.ts.map +1 -0
  152. package/dist/components/content/Image.js +41 -0
  153. package/dist/components/content/Image.js.map +1 -0
  154. package/dist/components/content/Kbd.d.ts +31 -0
  155. package/dist/components/content/Kbd.d.ts.map +1 -0
  156. package/dist/components/content/Kbd.js +13 -0
  157. package/dist/components/content/Kbd.js.map +1 -0
  158. package/dist/components/content/Keyboard.d.ts +32 -0
  159. package/dist/components/content/Keyboard.d.ts.map +1 -0
  160. package/dist/components/content/Keyboard.js +381 -0
  161. package/dist/components/content/Keyboard.js.map +1 -0
  162. package/dist/components/content/Link.d.ts +46 -0
  163. package/dist/components/content/Link.d.ts.map +1 -0
  164. package/dist/components/content/Link.js +38 -0
  165. package/dist/components/content/Link.js.map +1 -0
  166. package/dist/components/content/MediaCard.d.ts +56 -0
  167. package/dist/components/content/MediaCard.d.ts.map +1 -0
  168. package/dist/components/content/MediaCard.js +15 -0
  169. package/dist/components/content/MediaCard.js.map +1 -0
  170. package/dist/components/content/NotificationCenter.d.ts +68 -0
  171. package/dist/components/content/NotificationCenter.d.ts.map +1 -0
  172. package/dist/components/content/NotificationCenter.js +14 -0
  173. package/dist/components/content/NotificationCenter.js.map +1 -0
  174. package/dist/components/content/NotificationList.d.ts +111 -0
  175. package/dist/components/content/NotificationList.d.ts.map +1 -0
  176. package/dist/components/content/NotificationList.js +48 -0
  177. package/dist/components/content/NotificationList.js.map +1 -0
  178. package/dist/components/content/ScrollArea.d.ts +30 -0
  179. package/dist/components/content/ScrollArea.d.ts.map +1 -0
  180. package/dist/components/content/ScrollArea.js +7 -0
  181. package/dist/components/content/ScrollArea.js.map +1 -0
  182. package/dist/components/content/Separator.d.ts +19 -0
  183. package/dist/components/content/Separator.d.ts.map +1 -0
  184. package/dist/components/content/Separator.js +14 -0
  185. package/dist/components/content/Separator.js.map +1 -0
  186. package/dist/components/content/Skeleton.d.ts +24 -0
  187. package/dist/components/content/Skeleton.d.ts.map +1 -0
  188. package/dist/components/content/Skeleton.js +8 -0
  189. package/dist/components/content/Skeleton.js.map +1 -0
  190. package/dist/components/content/SortableList.d.ts +98 -0
  191. package/dist/components/content/SortableList.d.ts.map +1 -0
  192. package/dist/components/content/SortableList.js +46 -0
  193. package/dist/components/content/SortableList.js.map +1 -0
  194. package/dist/components/content/Stat.d.ts +46 -0
  195. package/dist/components/content/Stat.d.ts.map +1 -0
  196. package/dist/components/content/Stat.js +12 -0
  197. package/dist/components/content/Stat.js.map +1 -0
  198. package/dist/components/content/Table.d.ts +110 -0
  199. package/dist/components/content/Table.d.ts.map +1 -0
  200. package/dist/components/content/Table.js +66 -0
  201. package/dist/components/content/Table.js.map +1 -0
  202. package/dist/components/content/TagGroup.d.ts +120 -0
  203. package/dist/components/content/TagGroup.d.ts.map +1 -0
  204. package/dist/components/content/TagGroup.js +20 -0
  205. package/dist/components/content/TagGroup.js.map +1 -0
  206. package/dist/components/content/Text.d.ts +55 -0
  207. package/dist/components/content/Text.d.ts.map +1 -0
  208. package/dist/components/content/Text.js +27 -0
  209. package/dist/components/content/Text.js.map +1 -0
  210. package/dist/components/content/Timeline.d.ts +50 -0
  211. package/dist/components/content/Timeline.d.ts.map +1 -0
  212. package/dist/components/content/Timeline.js +15 -0
  213. package/dist/components/content/Timeline.js.map +1 -0
  214. package/dist/components/content/VirtualGrid.d.ts +171 -0
  215. package/dist/components/content/VirtualGrid.d.ts.map +1 -0
  216. package/dist/components/content/VirtualGrid.js +267 -0
  217. package/dist/components/content/VirtualGrid.js.map +1 -0
  218. package/dist/components/content/VisuallyHidden.d.ts +24 -0
  219. package/dist/components/content/VisuallyHidden.d.ts.map +1 -0
  220. package/dist/components/content/VisuallyHidden.js +3 -0
  221. package/dist/components/content/VisuallyHidden.js.map +1 -0
  222. package/dist/components/content/keyboardEditing.d.ts +15 -0
  223. package/dist/components/content/keyboardEditing.d.ts.map +1 -0
  224. package/dist/components/content/keyboardEditing.js +28 -0
  225. package/dist/components/content/keyboardEditing.js.map +1 -0
  226. package/dist/components/content/useDragToSelect.d.ts +41 -0
  227. package/dist/components/content/useDragToSelect.d.ts.map +1 -0
  228. package/dist/components/content/useDragToSelect.js +190 -0
  229. package/dist/components/content/useDragToSelect.js.map +1 -0
  230. package/dist/components/date-time/Calendar.d.ts +67 -0
  231. package/dist/components/date-time/Calendar.d.ts.map +1 -0
  232. package/dist/components/date-time/Calendar.js +28 -0
  233. package/dist/components/date-time/Calendar.js.map +1 -0
  234. package/dist/components/date-time/DatePicker.d.ts +57 -0
  235. package/dist/components/date-time/DatePicker.d.ts.map +1 -0
  236. package/dist/components/date-time/DatePicker.js +37 -0
  237. package/dist/components/date-time/DatePicker.js.map +1 -0
  238. package/dist/components/date-time/DateRangePicker.d.ts +91 -0
  239. package/dist/components/date-time/DateRangePicker.d.ts.map +1 -0
  240. package/dist/components/date-time/DateRangePicker.js +72 -0
  241. package/dist/components/date-time/DateRangePicker.js.map +1 -0
  242. package/dist/components/date-time/DateTimePicker.d.ts +55 -0
  243. package/dist/components/date-time/DateTimePicker.d.ts.map +1 -0
  244. package/dist/components/date-time/DateTimePicker.js +9 -0
  245. package/dist/components/date-time/DateTimePicker.js.map +1 -0
  246. package/dist/components/date-time/RangeCalendar.d.ts +50 -0
  247. package/dist/components/date-time/RangeCalendar.d.ts.map +1 -0
  248. package/dist/components/date-time/RangeCalendar.js +17 -0
  249. package/dist/components/date-time/RangeCalendar.js.map +1 -0
  250. package/dist/components/date-time/TimePicker.d.ts +47 -0
  251. package/dist/components/date-time/TimePicker.d.ts.map +1 -0
  252. package/dist/components/date-time/TimePicker.js +148 -0
  253. package/dist/components/date-time/TimePicker.js.map +1 -0
  254. package/dist/components/inputs/Checkbox.d.ts +140 -0
  255. package/dist/components/inputs/Checkbox.d.ts.map +1 -0
  256. package/dist/components/inputs/Checkbox.js +29 -0
  257. package/dist/components/inputs/Checkbox.js.map +1 -0
  258. package/dist/components/inputs/CheckboxCard.d.ts +17 -0
  259. package/dist/components/inputs/CheckboxCard.d.ts.map +1 -0
  260. package/dist/components/inputs/CheckboxCard.js +25 -0
  261. package/dist/components/inputs/CheckboxCard.js.map +1 -0
  262. package/dist/components/inputs/CheckboxGroup.d.ts +68 -0
  263. package/dist/components/inputs/CheckboxGroup.d.ts.map +1 -0
  264. package/dist/components/inputs/CheckboxGroup.js +14 -0
  265. package/dist/components/inputs/CheckboxGroup.js.map +1 -0
  266. package/dist/components/inputs/ChoiceCardBody.d.ts +16 -0
  267. package/dist/components/inputs/ChoiceCardBody.d.ts.map +1 -0
  268. package/dist/components/inputs/ChoiceCardBody.js +10 -0
  269. package/dist/components/inputs/ChoiceCardBody.js.map +1 -0
  270. package/dist/components/inputs/ColorPicker.d.ts +71 -0
  271. package/dist/components/inputs/ColorPicker.d.ts.map +1 -0
  272. package/dist/components/inputs/ColorPicker.js +30 -0
  273. package/dist/components/inputs/ColorPicker.js.map +1 -0
  274. package/dist/components/inputs/Combobox.d.ts +41 -0
  275. package/dist/components/inputs/Combobox.d.ts.map +1 -0
  276. package/dist/components/inputs/Combobox.js +16 -0
  277. package/dist/components/inputs/Combobox.js.map +1 -0
  278. package/dist/components/inputs/FileDropzone.d.ts +51 -0
  279. package/dist/components/inputs/FileDropzone.d.ts.map +1 -0
  280. package/dist/components/inputs/FileDropzone.js +75 -0
  281. package/dist/components/inputs/FileDropzone.js.map +1 -0
  282. package/dist/components/inputs/Form.d.ts +50 -0
  283. package/dist/components/inputs/Form.d.ts.map +1 -0
  284. package/dist/components/inputs/Form.js +14 -0
  285. package/dist/components/inputs/Form.js.map +1 -0
  286. package/dist/components/inputs/FormField.d.ts +89 -0
  287. package/dist/components/inputs/FormField.d.ts.map +1 -0
  288. package/dist/components/inputs/FormField.js +24 -0
  289. package/dist/components/inputs/FormField.js.map +1 -0
  290. package/dist/components/inputs/FormLayout.d.ts +47 -0
  291. package/dist/components/inputs/FormLayout.d.ts.map +1 -0
  292. package/dist/components/inputs/FormLayout.js +12 -0
  293. package/dist/components/inputs/FormLayout.js.map +1 -0
  294. package/dist/components/inputs/InlineEdit.d.ts +50 -0
  295. package/dist/components/inputs/InlineEdit.d.ts.map +1 -0
  296. package/dist/components/inputs/InlineEdit.js +70 -0
  297. package/dist/components/inputs/InlineEdit.js.map +1 -0
  298. package/dist/components/inputs/MaskedInput.d.ts +66 -0
  299. package/dist/components/inputs/MaskedInput.d.ts.map +1 -0
  300. package/dist/components/inputs/MaskedInput.js +73 -0
  301. package/dist/components/inputs/MaskedInput.js.map +1 -0
  302. package/dist/components/inputs/NumberInput.d.ts +53 -0
  303. package/dist/components/inputs/NumberInput.d.ts.map +1 -0
  304. package/dist/components/inputs/NumberInput.js +17 -0
  305. package/dist/components/inputs/NumberInput.js.map +1 -0
  306. package/dist/components/inputs/PasswordInput.d.ts +49 -0
  307. package/dist/components/inputs/PasswordInput.d.ts.map +1 -0
  308. package/dist/components/inputs/PasswordInput.js +49 -0
  309. package/dist/components/inputs/PasswordInput.js.map +1 -0
  310. package/dist/components/inputs/PhoneInput.d.ts +35 -0
  311. package/dist/components/inputs/PhoneInput.d.ts.map +1 -0
  312. package/dist/components/inputs/PhoneInput.js +9 -0
  313. package/dist/components/inputs/PhoneInput.js.map +1 -0
  314. package/dist/components/inputs/PinInput.d.ts +50 -0
  315. package/dist/components/inputs/PinInput.d.ts.map +1 -0
  316. package/dist/components/inputs/PinInput.js +67 -0
  317. package/dist/components/inputs/PinInput.js.map +1 -0
  318. package/dist/components/inputs/RadioGroup.d.ts +86 -0
  319. package/dist/components/inputs/RadioGroup.d.ts.map +1 -0
  320. package/dist/components/inputs/RadioGroup.js +51 -0
  321. package/dist/components/inputs/RadioGroup.js.map +1 -0
  322. package/dist/components/inputs/Rating.d.ts +69 -0
  323. package/dist/components/inputs/Rating.d.ts.map +1 -0
  324. package/dist/components/inputs/Rating.js +51 -0
  325. package/dist/components/inputs/Rating.js.map +1 -0
  326. package/dist/components/inputs/SearchControl.d.ts +85 -0
  327. package/dist/components/inputs/SearchControl.d.ts.map +1 -0
  328. package/dist/components/inputs/SearchControl.js +62 -0
  329. package/dist/components/inputs/SearchControl.js.map +1 -0
  330. package/dist/components/inputs/Select.d.ts +205 -0
  331. package/dist/components/inputs/Select.d.ts.map +1 -0
  332. package/dist/components/inputs/Select.js +136 -0
  333. package/dist/components/inputs/Select.js.map +1 -0
  334. package/dist/components/inputs/Slider.d.ts +59 -0
  335. package/dist/components/inputs/Slider.d.ts.map +1 -0
  336. package/dist/components/inputs/Slider.js +153 -0
  337. package/dist/components/inputs/Slider.js.map +1 -0
  338. package/dist/components/inputs/SwatchGroup.d.ts +101 -0
  339. package/dist/components/inputs/SwatchGroup.d.ts.map +1 -0
  340. package/dist/components/inputs/SwatchGroup.js +57 -0
  341. package/dist/components/inputs/SwatchGroup.js.map +1 -0
  342. package/dist/components/inputs/TagInput.d.ts +45 -0
  343. package/dist/components/inputs/TagInput.d.ts.map +1 -0
  344. package/dist/components/inputs/TagInput.js +56 -0
  345. package/dist/components/inputs/TagInput.js.map +1 -0
  346. package/dist/components/inputs/TextControl.d.ts +101 -0
  347. package/dist/components/inputs/TextControl.d.ts.map +1 -0
  348. package/dist/components/inputs/TextControl.js +31 -0
  349. package/dist/components/inputs/TextControl.js.map +1 -0
  350. package/dist/components/inputs/Transfer.d.ts +84 -0
  351. package/dist/components/inputs/Transfer.d.ts.map +1 -0
  352. package/dist/components/inputs/Transfer.js +112 -0
  353. package/dist/components/inputs/Transfer.js.map +1 -0
  354. package/dist/components/inputs/TreeSelect.d.ts +73 -0
  355. package/dist/components/inputs/TreeSelect.d.ts.map +1 -0
  356. package/dist/components/inputs/TreeSelect.js +60 -0
  357. package/dist/components/inputs/TreeSelect.js.map +1 -0
  358. package/dist/components/inputs/UploadQueue.d.ts +84 -0
  359. package/dist/components/inputs/UploadQueue.d.ts.map +1 -0
  360. package/dist/components/inputs/UploadQueue.js +30 -0
  361. package/dist/components/inputs/UploadQueue.js.map +1 -0
  362. package/dist/components/navigation/Accordion.d.ts +44 -0
  363. package/dist/components/navigation/Accordion.d.ts.map +1 -0
  364. package/dist/components/navigation/Accordion.js +12 -0
  365. package/dist/components/navigation/Accordion.js.map +1 -0
  366. package/dist/components/navigation/Breadcrumbs.d.ts +35 -0
  367. package/dist/components/navigation/Breadcrumbs.d.ts.map +1 -0
  368. package/dist/components/navigation/Breadcrumbs.js +17 -0
  369. package/dist/components/navigation/Breadcrumbs.js.map +1 -0
  370. package/dist/components/navigation/ContextualSaveBar.d.ts +90 -0
  371. package/dist/components/navigation/ContextualSaveBar.d.ts.map +1 -0
  372. package/dist/components/navigation/ContextualSaveBar.js +20 -0
  373. package/dist/components/navigation/ContextualSaveBar.js.map +1 -0
  374. package/dist/components/navigation/PageHeader.d.ts +17 -0
  375. package/dist/components/navigation/PageHeader.d.ts.map +1 -0
  376. package/dist/components/navigation/PageHeader.js +8 -0
  377. package/dist/components/navigation/PageHeader.js.map +1 -0
  378. package/dist/components/navigation/Pagination.d.ts +44 -0
  379. package/dist/components/navigation/Pagination.d.ts.map +1 -0
  380. package/dist/components/navigation/Pagination.js +57 -0
  381. package/dist/components/navigation/Pagination.js.map +1 -0
  382. package/dist/components/navigation/SectionHeader.d.ts +32 -0
  383. package/dist/components/navigation/SectionHeader.d.ts.map +1 -0
  384. package/dist/components/navigation/SectionHeader.js +13 -0
  385. package/dist/components/navigation/SectionHeader.js.map +1 -0
  386. package/dist/components/navigation/SelectionBar.d.ts +65 -0
  387. package/dist/components/navigation/SelectionBar.d.ts.map +1 -0
  388. package/dist/components/navigation/SelectionBar.js +24 -0
  389. package/dist/components/navigation/SelectionBar.js.map +1 -0
  390. package/dist/components/navigation/Stepper.d.ts +45 -0
  391. package/dist/components/navigation/Stepper.d.ts.map +1 -0
  392. package/dist/components/navigation/Stepper.js +16 -0
  393. package/dist/components/navigation/Stepper.js.map +1 -0
  394. package/dist/components/navigation/Tabs.d.ts +45 -0
  395. package/dist/components/navigation/Tabs.d.ts.map +1 -0
  396. package/dist/components/navigation/Tabs.js +51 -0
  397. package/dist/components/navigation/Tabs.js.map +1 -0
  398. package/dist/components/navigation/TreeView.d.ts +101 -0
  399. package/dist/components/navigation/TreeView.d.ts.map +1 -0
  400. package/dist/components/navigation/TreeView.js +27 -0
  401. package/dist/components/navigation/TreeView.js.map +1 -0
  402. package/dist/components/overlays/CommandPalette.d.ts +115 -0
  403. package/dist/components/overlays/CommandPalette.d.ts.map +1 -0
  404. package/dist/components/overlays/CommandPalette.js +43 -0
  405. package/dist/components/overlays/CommandPalette.js.map +1 -0
  406. package/dist/components/overlays/ConfirmDialog.d.ts +67 -0
  407. package/dist/components/overlays/ConfirmDialog.d.ts.map +1 -0
  408. package/dist/components/overlays/ConfirmDialog.js +47 -0
  409. package/dist/components/overlays/ConfirmDialog.js.map +1 -0
  410. package/dist/components/overlays/ContextMenu.d.ts +122 -0
  411. package/dist/components/overlays/ContextMenu.d.ts.map +1 -0
  412. package/dist/components/overlays/ContextMenu.js +39 -0
  413. package/dist/components/overlays/ContextMenu.js.map +1 -0
  414. package/dist/components/overlays/Dialog.d.ts +113 -0
  415. package/dist/components/overlays/Dialog.d.ts.map +1 -0
  416. package/dist/components/overlays/Dialog.js +43 -0
  417. package/dist/components/overlays/Dialog.js.map +1 -0
  418. package/dist/components/overlays/Drawer.d.ts +53 -0
  419. package/dist/components/overlays/Drawer.d.ts.map +1 -0
  420. package/dist/components/overlays/Drawer.js +32 -0
  421. package/dist/components/overlays/Drawer.js.map +1 -0
  422. package/dist/components/overlays/HelpTooltip.d.ts +41 -0
  423. package/dist/components/overlays/HelpTooltip.d.ts.map +1 -0
  424. package/dist/components/overlays/HelpTooltip.js +10 -0
  425. package/dist/components/overlays/HelpTooltip.js.map +1 -0
  426. package/dist/components/overlays/HoverCard.d.ts +62 -0
  427. package/dist/components/overlays/HoverCard.d.ts.map +1 -0
  428. package/dist/components/overlays/HoverCard.js +175 -0
  429. package/dist/components/overlays/HoverCard.js.map +1 -0
  430. package/dist/components/overlays/Menu.d.ts +113 -0
  431. package/dist/components/overlays/Menu.d.ts.map +1 -0
  432. package/dist/components/overlays/Menu.js +26 -0
  433. package/dist/components/overlays/Menu.js.map +1 -0
  434. package/dist/components/overlays/ModalHeader.d.ts +77 -0
  435. package/dist/components/overlays/ModalHeader.d.ts.map +1 -0
  436. package/dist/components/overlays/ModalHeader.js +11 -0
  437. package/dist/components/overlays/ModalHeader.js.map +1 -0
  438. package/dist/components/overlays/ModalOverlay.d.ts +45 -0
  439. package/dist/components/overlays/ModalOverlay.d.ts.map +1 -0
  440. package/dist/components/overlays/ModalOverlay.js +29 -0
  441. package/dist/components/overlays/ModalOverlay.js.map +1 -0
  442. package/dist/components/overlays/Popover.d.ts +56 -0
  443. package/dist/components/overlays/Popover.d.ts.map +1 -0
  444. package/dist/components/overlays/Popover.js +16 -0
  445. package/dist/components/overlays/Popover.js.map +1 -0
  446. package/dist/components/overlays/ShortcutsHelp.d.ts +70 -0
  447. package/dist/components/overlays/ShortcutsHelp.d.ts.map +1 -0
  448. package/dist/components/overlays/ShortcutsHelp.js +20 -0
  449. package/dist/components/overlays/ShortcutsHelp.js.map +1 -0
  450. package/dist/components/overlays/Tooltip.d.ts +35 -0
  451. package/dist/components/overlays/Tooltip.d.ts.map +1 -0
  452. package/dist/components/overlays/Tooltip.js +18 -0
  453. package/dist/components/overlays/Tooltip.js.map +1 -0
  454. package/dist/components/table/DataTable.d.ts +60 -0
  455. package/dist/components/table/DataTable.d.ts.map +1 -0
  456. package/dist/components/table/DataTable.js +20 -0
  457. package/dist/components/table/DataTable.js.map +1 -0
  458. package/dist/components/table/FilterBar.d.ts +35 -0
  459. package/dist/components/table/FilterBar.d.ts.map +1 -0
  460. package/dist/components/table/FilterBar.js +17 -0
  461. package/dist/components/table/FilterBar.js.map +1 -0
  462. package/dist/components/table/FilterBarAdd.d.ts +57 -0
  463. package/dist/components/table/FilterBarAdd.d.ts.map +1 -0
  464. package/dist/components/table/FilterBarAdd.js +83 -0
  465. package/dist/components/table/FilterBarAdd.js.map +1 -0
  466. package/dist/components/table/SavedViews.d.ts +83 -0
  467. package/dist/components/table/SavedViews.d.ts.map +1 -0
  468. package/dist/components/table/SavedViews.js +12 -0
  469. package/dist/components/table/SavedViews.js.map +1 -0
  470. package/dist/components/table/TablePreferences.d.ts +45 -0
  471. package/dist/components/table/TablePreferences.d.ts.map +1 -0
  472. package/dist/components/table/TablePreferences.js +41 -0
  473. package/dist/components/table/TablePreferences.js.map +1 -0
  474. package/dist/components/table/TableToolbar.d.ts +38 -0
  475. package/dist/components/table/TableToolbar.d.ts.map +1 -0
  476. package/dist/components/table/TableToolbar.js +11 -0
  477. package/dist/components/table/TableToolbar.js.map +1 -0
  478. package/dist/editor/RichTextEditor.d.ts +274 -0
  479. package/dist/editor/RichTextEditor.d.ts.map +1 -0
  480. package/dist/editor/RichTextEditor.js +671 -0
  481. package/dist/editor/RichTextEditor.js.map +1 -0
  482. package/dist/editor/RichTextView.d.ts +70 -0
  483. package/dist/editor/RichTextView.d.ts.map +1 -0
  484. package/dist/editor/RichTextView.js +24 -0
  485. package/dist/editor/RichTextView.js.map +1 -0
  486. package/dist/editor/core/atomText.d.ts +21 -0
  487. package/dist/editor/core/atomText.d.ts.map +1 -0
  488. package/dist/editor/core/atomText.js +77 -0
  489. package/dist/editor/core/atomText.js.map +1 -0
  490. package/dist/editor/core/blockCommands.d.ts +94 -0
  491. package/dist/editor/core/blockCommands.d.ts.map +1 -0
  492. package/dist/editor/core/blockCommands.js +188 -0
  493. package/dist/editor/core/blockCommands.js.map +1 -0
  494. package/dist/editor/core/blockTypes.d.ts +89 -0
  495. package/dist/editor/core/blockTypes.d.ts.map +1 -0
  496. package/dist/editor/core/blockTypes.js +121 -0
  497. package/dist/editor/core/blockTypes.js.map +1 -0
  498. package/dist/editor/core/containers.d.ts +43 -0
  499. package/dist/editor/core/containers.d.ts.map +1 -0
  500. package/dist/editor/core/containers.js +52 -0
  501. package/dist/editor/core/containers.js.map +1 -0
  502. package/dist/editor/core/customMarkdown.d.ts +8 -0
  503. package/dist/editor/core/customMarkdown.d.ts.map +1 -0
  504. package/dist/editor/core/customMarkdown.js +34 -0
  505. package/dist/editor/core/customMarkdown.js.map +1 -0
  506. package/dist/editor/core/customTool.d.ts +407 -0
  507. package/dist/editor/core/customTool.d.ts.map +1 -0
  508. package/dist/editor/core/customTool.js +31 -0
  509. package/dist/editor/core/customTool.js.map +1 -0
  510. package/dist/editor/core/customToolEngine.d.ts +31 -0
  511. package/dist/editor/core/customToolEngine.d.ts.map +1 -0
  512. package/dist/editor/core/customToolEngine.js +324 -0
  513. package/dist/editor/core/customToolEngine.js.map +1 -0
  514. package/dist/editor/core/document.d.ts +17 -0
  515. package/dist/editor/core/document.d.ts.map +1 -0
  516. package/dist/editor/core/document.js +11 -0
  517. package/dist/editor/core/document.js.map +1 -0
  518. package/dist/editor/core/emptiness.d.ts +18 -0
  519. package/dist/editor/core/emptiness.d.ts.map +1 -0
  520. package/dist/editor/core/emptiness.js +14 -0
  521. package/dist/editor/core/emptiness.js.map +1 -0
  522. package/dist/editor/core/extensions.d.ts +78 -0
  523. package/dist/editor/core/extensions.d.ts.map +1 -0
  524. package/dist/editor/core/extensions.js +134 -0
  525. package/dist/editor/core/extensions.js.map +1 -0
  526. package/dist/editor/core/fieldNotice.d.ts +48 -0
  527. package/dist/editor/core/fieldNotice.d.ts.map +1 -0
  528. package/dist/editor/core/fieldNotice.js +18 -0
  529. package/dist/editor/core/fieldNotice.js.map +1 -0
  530. package/dist/editor/core/handle.d.ts +110 -0
  531. package/dist/editor/core/handle.d.ts.map +1 -0
  532. package/dist/editor/core/handle.js +149 -0
  533. package/dist/editor/core/handle.js.map +1 -0
  534. package/dist/editor/core/insertItems.d.ts +147 -0
  535. package/dist/editor/core/insertItems.d.ts.map +1 -0
  536. package/dist/editor/core/insertItems.js +215 -0
  537. package/dist/editor/core/insertItems.js.map +1 -0
  538. package/dist/editor/core/jsonDocument.d.ts +42 -0
  539. package/dist/editor/core/jsonDocument.d.ts.map +1 -0
  540. package/dist/editor/core/jsonDocument.js +44 -0
  541. package/dist/editor/core/jsonDocument.js.map +1 -0
  542. package/dist/editor/core/markdown.d.ts +47 -0
  543. package/dist/editor/core/markdown.d.ts.map +1 -0
  544. package/dist/editor/core/markdown.js +169 -0
  545. package/dist/editor/core/markdown.js.map +1 -0
  546. package/dist/editor/core/maxLength.d.ts +43 -0
  547. package/dist/editor/core/maxLength.d.ts.map +1 -0
  548. package/dist/editor/core/maxLength.js +45 -0
  549. package/dist/editor/core/maxLength.js.map +1 -0
  550. package/dist/editor/core/pasteTrim.d.ts +8 -0
  551. package/dist/editor/core/pasteTrim.d.ts.map +1 -0
  552. package/dist/editor/core/pasteTrim.js +61 -0
  553. package/dist/editor/core/pasteTrim.js.map +1 -0
  554. package/dist/editor/core/schema.d.ts +479 -0
  555. package/dist/editor/core/schema.d.ts.map +1 -0
  556. package/dist/editor/core/schema.js +371 -0
  557. package/dist/editor/core/schema.js.map +1 -0
  558. package/dist/editor/core/schemaConform.d.ts +30 -0
  559. package/dist/editor/core/schemaConform.d.ts.map +1 -0
  560. package/dist/editor/core/schemaConform.js +72 -0
  561. package/dist/editor/core/schemaConform.js.map +1 -0
  562. package/dist/editor/core/shortcuts.d.ts +110 -0
  563. package/dist/editor/core/shortcuts.d.ts.map +1 -0
  564. package/dist/editor/core/shortcuts.js +299 -0
  565. package/dist/editor/core/shortcuts.js.map +1 -0
  566. package/dist/editor/core/skeleton.d.ts +11 -0
  567. package/dist/editor/core/skeleton.d.ts.map +1 -0
  568. package/dist/editor/core/skeleton.js +48 -0
  569. package/dist/editor/core/skeleton.js.map +1 -0
  570. package/dist/editor/core/slashCommand.d.ts +46 -0
  571. package/dist/editor/core/slashCommand.d.ts.map +1 -0
  572. package/dist/editor/core/slashCommand.js +67 -0
  573. package/dist/editor/core/slashCommand.js.map +1 -0
  574. package/dist/editor/core/sourceFormat.d.ts +30 -0
  575. package/dist/editor/core/sourceFormat.d.ts.map +1 -0
  576. package/dist/editor/core/sourceFormat.js +136 -0
  577. package/dist/editor/core/sourceFormat.js.map +1 -0
  578. package/dist/editor/core/toolButtons.d.ts +58 -0
  579. package/dist/editor/core/toolButtons.d.ts.map +1 -0
  580. package/dist/editor/core/toolButtons.js +64 -0
  581. package/dist/editor/core/toolButtons.js.map +1 -0
  582. package/dist/editor/core/toolDescriptor.d.ts +304 -0
  583. package/dist/editor/core/toolDescriptor.d.ts.map +1 -0
  584. package/dist/editor/core/toolDescriptor.js +29 -0
  585. package/dist/editor/core/toolDescriptor.js.map +1 -0
  586. package/dist/editor/core/toolEntryShortcuts.d.ts +20 -0
  587. package/dist/editor/core/toolEntryShortcuts.d.ts.map +1 -0
  588. package/dist/editor/core/toolEntryShortcuts.js +46 -0
  589. package/dist/editor/core/toolEntryShortcuts.js.map +1 -0
  590. package/dist/editor/core/toolLoader.d.ts +14 -0
  591. package/dist/editor/core/toolLoader.d.ts.map +1 -0
  592. package/dist/editor/core/toolLoader.js +20 -0
  593. package/dist/editor/core/toolLoader.js.map +1 -0
  594. package/dist/editor/core/tools.d.ts +90 -0
  595. package/dist/editor/core/tools.d.ts.map +1 -0
  596. package/dist/editor/core/tools.js +56 -0
  597. package/dist/editor/core/tools.js.map +1 -0
  598. package/dist/editor/core/viewIsland.d.ts +17 -0
  599. package/dist/editor/core/viewIsland.d.ts.map +1 -0
  600. package/dist/editor/core/viewIsland.js +4 -0
  601. package/dist/editor/core/viewIsland.js.map +1 -0
  602. package/dist/editor/features/builtins.d.ts +25 -0
  603. package/dist/editor/features/builtins.d.ts.map +1 -0
  604. package/dist/editor/features/builtins.js +88 -0
  605. package/dist/editor/features/builtins.js.map +1 -0
  606. package/dist/editor/features/code/CodeBlockView.d.ts +38 -0
  607. package/dist/editor/features/code/CodeBlockView.d.ts.map +1 -0
  608. package/dist/editor/features/code/CodeBlockView.js +98 -0
  609. package/dist/editor/features/code/CodeBlockView.js.map +1 -0
  610. package/dist/editor/features/code/CodeCopyButton.d.ts +20 -0
  611. package/dist/editor/features/code/CodeCopyButton.d.ts.map +1 -0
  612. package/dist/editor/features/code/CodeCopyButton.js +29 -0
  613. package/dist/editor/features/code/CodeCopyButton.js.map +1 -0
  614. package/dist/editor/features/code/CodeCopyIsland.d.ts +37 -0
  615. package/dist/editor/features/code/CodeCopyIsland.d.ts.map +1 -0
  616. package/dist/editor/features/code/CodeCopyIsland.js +21 -0
  617. package/dist/editor/features/code/CodeCopyIsland.js.map +1 -0
  618. package/dist/editor/features/code/codeBlock.d.ts +25 -0
  619. package/dist/editor/features/code/codeBlock.d.ts.map +1 -0
  620. package/dist/editor/features/code/codeBlock.js +116 -0
  621. package/dist/editor/features/code/codeBlock.js.map +1 -0
  622. package/dist/editor/features/code/codeBlockTool.d.ts +24 -0
  623. package/dist/editor/features/code/codeBlockTool.d.ts.map +1 -0
  624. package/dist/editor/features/code/codeBlockTool.js +66 -0
  625. package/dist/editor/features/code/codeBlockTool.js.map +1 -0
  626. package/dist/editor/features/code/codeHeader.d.ts +41 -0
  627. package/dist/editor/features/code/codeHeader.d.ts.map +1 -0
  628. package/dist/editor/features/code/codeHeader.js +25 -0
  629. package/dist/editor/features/code/codeHeader.js.map +1 -0
  630. package/dist/editor/features/code/codeLanguages.d.ts +76 -0
  631. package/dist/editor/features/code/codeLanguages.d.ts.map +1 -0
  632. package/dist/editor/features/code/codeLanguages.js +24 -0
  633. package/dist/editor/features/code/codeLanguages.js.map +1 -0
  634. package/dist/editor/features/code/highlight.d.ts +20 -0
  635. package/dist/editor/features/code/highlight.d.ts.map +1 -0
  636. package/dist/editor/features/code/highlight.js +51 -0
  637. package/dist/editor/features/code/highlight.js.map +1 -0
  638. package/dist/editor/features/code/highlightNodes.d.ts +31 -0
  639. package/dist/editor/features/code/highlightNodes.d.ts.map +1 -0
  640. package/dist/editor/features/code/highlightNodes.js +25 -0
  641. package/dist/editor/features/code/highlightNodes.js.map +1 -0
  642. package/dist/editor/features/code/lowlight.d.ts +20 -0
  643. package/dist/editor/features/code/lowlight.d.ts.map +1 -0
  644. package/dist/editor/features/code/lowlight.js +26 -0
  645. package/dist/editor/features/code/lowlight.js.map +1 -0
  646. package/dist/editor/features/color/CustomColorPopover.d.ts +40 -0
  647. package/dist/editor/features/color/CustomColorPopover.d.ts.map +1 -0
  648. package/dist/editor/features/color/CustomColorPopover.js +70 -0
  649. package/dist/editor/features/color/CustomColorPopover.js.map +1 -0
  650. package/dist/editor/features/color/contrast.d.ts +26 -0
  651. package/dist/editor/features/color/contrast.d.ts.map +1 -0
  652. package/dist/editor/features/color/contrast.js +27 -0
  653. package/dist/editor/features/color/contrast.js.map +1 -0
  654. package/dist/editor/features/color/customColor.d.ts +65 -0
  655. package/dist/editor/features/color/customColor.d.ts.map +1 -0
  656. package/dist/editor/features/color/customColor.js +29 -0
  657. package/dist/editor/features/color/customColor.js.map +1 -0
  658. package/dist/editor/features/color/styleExtensions.d.ts +28 -0
  659. package/dist/editor/features/color/styleExtensions.d.ts.map +1 -0
  660. package/dist/editor/features/color/styleExtensions.js +172 -0
  661. package/dist/editor/features/color/styleExtensions.js.map +1 -0
  662. package/dist/editor/features/emoji/EmojiGrid.d.ts +34 -0
  663. package/dist/editor/features/emoji/EmojiGrid.d.ts.map +1 -0
  664. package/dist/editor/features/emoji/EmojiGrid.js +71 -0
  665. package/dist/editor/features/emoji/EmojiGrid.js.map +1 -0
  666. package/dist/editor/features/emoji/emoji.d.ts +47 -0
  667. package/dist/editor/features/emoji/emoji.d.ts.map +1 -0
  668. package/dist/editor/features/emoji/emoji.js +108 -0
  669. package/dist/editor/features/emoji/emoji.js.map +1 -0
  670. package/dist/editor/features/emoji/emojiTool.d.ts +32 -0
  671. package/dist/editor/features/emoji/emojiTool.d.ts.map +1 -0
  672. package/dist/editor/features/emoji/emojiTool.js +34 -0
  673. package/dist/editor/features/emoji/emojiTool.js.map +1 -0
  674. package/dist/editor/features/image/ImagePopover.d.ts +29 -0
  675. package/dist/editor/features/image/ImagePopover.d.ts.map +1 -0
  676. package/dist/editor/features/image/ImagePopover.js +89 -0
  677. package/dist/editor/features/image/ImagePopover.js.map +1 -0
  678. package/dist/editor/features/image/ImageToolbar.d.ts +25 -0
  679. package/dist/editor/features/image/ImageToolbar.d.ts.map +1 -0
  680. package/dist/editor/features/image/ImageToolbar.js +49 -0
  681. package/dist/editor/features/image/ImageToolbar.js.map +1 -0
  682. package/dist/editor/features/image/image.d.ts +115 -0
  683. package/dist/editor/features/image/image.d.ts.map +1 -0
  684. package/dist/editor/features/image/image.js +539 -0
  685. package/dist/editor/features/image/image.js.map +1 -0
  686. package/dist/editor/features/image/imageNotice.d.ts +6 -0
  687. package/dist/editor/features/image/imageNotice.d.ts.map +1 -0
  688. package/dist/editor/features/image/imageNotice.js +16 -0
  689. package/dist/editor/features/image/imageNotice.js.map +1 -0
  690. package/dist/editor/features/layout/columnLayouts.d.ts +36 -0
  691. package/dist/editor/features/layout/columnLayouts.d.ts.map +1 -0
  692. package/dist/editor/features/layout/columnLayouts.js +33 -0
  693. package/dist/editor/features/layout/columnLayouts.js.map +1 -0
  694. package/dist/editor/features/layout/layout.d.ts +81 -0
  695. package/dist/editor/features/layout/layout.d.ts.map +1 -0
  696. package/dist/editor/features/layout/layout.js +318 -0
  697. package/dist/editor/features/layout/layout.js.map +1 -0
  698. package/dist/editor/features/link/LinkPopover.d.ts +21 -0
  699. package/dist/editor/features/link/LinkPopover.d.ts.map +1 -0
  700. package/dist/editor/features/link/LinkPopover.js +54 -0
  701. package/dist/editor/features/link/LinkPopover.js.map +1 -0
  702. package/dist/editor/features/link/link.d.ts +41 -0
  703. package/dist/editor/features/link/link.d.ts.map +1 -0
  704. package/dist/editor/features/link/link.js +66 -0
  705. package/dist/editor/features/link/link.js.map +1 -0
  706. package/dist/editor/features/link/linkTool.d.ts +13 -0
  707. package/dist/editor/features/link/linkTool.d.ts.map +1 -0
  708. package/dist/editor/features/link/linkTool.js +25 -0
  709. package/dist/editor/features/link/linkTool.js.map +1 -0
  710. package/dist/editor/features/search/SearchPanel.d.ts +31 -0
  711. package/dist/editor/features/search/SearchPanel.d.ts.map +1 -0
  712. package/dist/editor/features/search/SearchPanel.js +101 -0
  713. package/dist/editor/features/search/SearchPanel.js.map +1 -0
  714. package/dist/editor/features/search/revealMatch.d.ts +25 -0
  715. package/dist/editor/features/search/revealMatch.d.ts.map +1 -0
  716. package/dist/editor/features/search/revealMatch.js +41 -0
  717. package/dist/editor/features/search/revealMatch.js.map +1 -0
  718. package/dist/editor/features/search/searchMatch.d.ts +53 -0
  719. package/dist/editor/features/search/searchMatch.d.ts.map +1 -0
  720. package/dist/editor/features/search/searchMatch.js +67 -0
  721. package/dist/editor/features/search/searchMatch.js.map +1 -0
  722. package/dist/editor/features/search/searchPlugin.d.ts +48 -0
  723. package/dist/editor/features/search/searchPlugin.d.ts.map +1 -0
  724. package/dist/editor/features/search/searchPlugin.js +151 -0
  725. package/dist/editor/features/search/searchPlugin.js.map +1 -0
  726. package/dist/editor/features/search/searchTool.d.ts +13 -0
  727. package/dist/editor/features/search/searchTool.d.ts.map +1 -0
  728. package/dist/editor/features/search/searchTool.js +18 -0
  729. package/dist/editor/features/search/searchTool.js.map +1 -0
  730. package/dist/editor/features/table/TableInsertDialog.d.ts +29 -0
  731. package/dist/editor/features/table/TableInsertDialog.d.ts.map +1 -0
  732. package/dist/editor/features/table/TableInsertDialog.js +37 -0
  733. package/dist/editor/features/table/TableInsertDialog.js.map +1 -0
  734. package/dist/editor/features/table/TableMenuButton.d.ts +40 -0
  735. package/dist/editor/features/table/TableMenuButton.d.ts.map +1 -0
  736. package/dist/editor/features/table/TableMenuButton.js +97 -0
  737. package/dist/editor/features/table/TableMenuButton.js.map +1 -0
  738. package/dist/editor/features/table/TableSizeGrid.d.ts +60 -0
  739. package/dist/editor/features/table/TableSizeGrid.d.ts.map +1 -0
  740. package/dist/editor/features/table/TableSizeGrid.js +88 -0
  741. package/dist/editor/features/table/TableSizeGrid.js.map +1 -0
  742. package/dist/editor/features/table/tableActions.d.ts +110 -0
  743. package/dist/editor/features/table/tableActions.d.ts.map +1 -0
  744. package/dist/editor/features/table/tableActions.js +254 -0
  745. package/dist/editor/features/table/tableActions.js.map +1 -0
  746. package/dist/editor/features/table/tableCells.d.ts +41 -0
  747. package/dist/editor/features/table/tableCells.d.ts.map +1 -0
  748. package/dist/editor/features/table/tableCells.js +38 -0
  749. package/dist/editor/features/table/tableCells.js.map +1 -0
  750. package/dist/editor/features/table/tableChunk.d.ts +4 -0
  751. package/dist/editor/features/table/tableChunk.d.ts.map +1 -0
  752. package/dist/editor/features/table/tableChunk.js +5 -0
  753. package/dist/editor/features/table/tableChunk.js.map +1 -0
  754. package/dist/editor/features/table/tableTool.d.ts +22 -0
  755. package/dist/editor/features/table/tableTool.d.ts.map +1 -0
  756. package/dist/editor/features/table/tableTool.js +42 -0
  757. package/dist/editor/features/table/tableTool.js.map +1 -0
  758. package/dist/editor/features/table/tables.d.ts +79 -0
  759. package/dist/editor/features/table/tables.d.ts.map +1 -0
  760. package/dist/editor/features/table/tables.js +118 -0
  761. package/dist/editor/features/table/tables.js.map +1 -0
  762. package/dist/editor/features/wrapper/wrapper.d.ts +73 -0
  763. package/dist/editor/features/wrapper/wrapper.d.ts.map +1 -0
  764. package/dist/editor/features/wrapper/wrapper.js +198 -0
  765. package/dist/editor/features/wrapper/wrapper.js.map +1 -0
  766. package/dist/editor/features/wrapper/wrapperTones.d.ts +39 -0
  767. package/dist/editor/features/wrapper/wrapperTones.d.ts.map +1 -0
  768. package/dist/editor/features/wrapper/wrapperTones.js +19 -0
  769. package/dist/editor/features/wrapper/wrapperTones.js.map +1 -0
  770. package/dist/editor/highlight-entry.d.ts +24 -0
  771. package/dist/editor/highlight-entry.d.ts.map +1 -0
  772. package/dist/editor/highlight-entry.js +3 -0
  773. package/dist/editor/highlight-entry.js.map +1 -0
  774. package/dist/editor/hooks/useChangeThrottle.d.ts +24 -0
  775. package/dist/editor/hooks/useChangeThrottle.d.ts.map +1 -0
  776. package/dist/editor/hooks/useChangeThrottle.js +35 -0
  777. package/dist/editor/hooks/useChangeThrottle.js.map +1 -0
  778. package/dist/editor/hooks/useCoarsePointer.d.ts +17 -0
  779. package/dist/editor/hooks/useCoarsePointer.d.ts.map +1 -0
  780. package/dist/editor/hooks/useCoarsePointer.js +19 -0
  781. package/dist/editor/hooks/useCoarsePointer.js.map +1 -0
  782. package/dist/editor/hooks/useFieldsetDisabled.d.ts +22 -0
  783. package/dist/editor/hooks/useFieldsetDisabled.d.ts.map +1 -0
  784. package/dist/editor/hooks/useFieldsetDisabled.js +29 -0
  785. package/dist/editor/hooks/useFieldsetDisabled.js.map +1 -0
  786. package/dist/editor/hooks/useRichTextEditorState.d.ts +25 -0
  787. package/dist/editor/hooks/useRichTextEditorState.d.ts.map +1 -0
  788. package/dist/editor/hooks/useRichTextEditorState.js +17 -0
  789. package/dist/editor/hooks/useRichTextEditorState.js.map +1 -0
  790. package/dist/editor/hooks/useSubmenuPlacement.d.ts +19 -0
  791. package/dist/editor/hooks/useSubmenuPlacement.d.ts.map +1 -0
  792. package/dist/editor/hooks/useSubmenuPlacement.js +20 -0
  793. package/dist/editor/hooks/useSubmenuPlacement.js.map +1 -0
  794. package/dist/editor/index.d.ts +32 -0
  795. package/dist/editor/index.d.ts.map +1 -0
  796. package/dist/editor/index.js +7 -0
  797. package/dist/editor/index.js.map +1 -0
  798. package/dist/editor/schema-entry.d.ts +29 -0
  799. package/dist/editor/schema-entry.d.ts.map +1 -0
  800. package/dist/editor/schema-entry.js +3 -0
  801. package/dist/editor/schema-entry.js.map +1 -0
  802. package/dist/editor/styles/codeTheme.d.ts +49 -0
  803. package/dist/editor/styles/codeTheme.d.ts.map +1 -0
  804. package/dist/editor/styles/codeTheme.js +11 -0
  805. package/dist/editor/styles/codeTheme.js.map +1 -0
  806. package/dist/editor/styles/glass.d.ts +40 -0
  807. package/dist/editor/styles/glass.d.ts.map +1 -0
  808. package/dist/editor/styles/glass.js +15 -0
  809. package/dist/editor/styles/glass.js.map +1 -0
  810. package/dist/editor/styles/palette.d.ts +181 -0
  811. package/dist/editor/styles/palette.d.ts.map +1 -0
  812. package/dist/editor/styles/palette.js +57 -0
  813. package/dist/editor/styles/palette.js.map +1 -0
  814. package/dist/editor/styles/prose.d.ts +56 -0
  815. package/dist/editor/styles/prose.d.ts.map +1 -0
  816. package/dist/editor/styles/prose.js +154 -0
  817. package/dist/editor/styles/prose.js.map +1 -0
  818. package/dist/editor/styles/surface.d.ts +22 -0
  819. package/dist/editor/styles/surface.d.ts.map +1 -0
  820. package/dist/editor/styles/surface.js +4 -0
  821. package/dist/editor/styles/surface.js.map +1 -0
  822. package/dist/editor/styles/tokens.d.ts +136 -0
  823. package/dist/editor/styles/tokens.d.ts.map +1 -0
  824. package/dist/editor/styles/tokens.js +38 -0
  825. package/dist/editor/styles/tokens.js.map +1 -0
  826. package/dist/editor/ui/BlockHandle.d.ts +40 -0
  827. package/dist/editor/ui/BlockHandle.d.ts.map +1 -0
  828. package/dist/editor/ui/BlockHandle.js +394 -0
  829. package/dist/editor/ui/BlockHandle.js.map +1 -0
  830. package/dist/editor/ui/BlockIsland.d.ts +3 -0
  831. package/dist/editor/ui/BlockIsland.d.ts.map +1 -0
  832. package/dist/editor/ui/BlockIsland.js +8 -0
  833. package/dist/editor/ui/BlockIsland.js.map +1 -0
  834. package/dist/editor/ui/BlockIslandSlots.d.ts +31 -0
  835. package/dist/editor/ui/BlockIslandSlots.d.ts.map +1 -0
  836. package/dist/editor/ui/BlockIslandSlots.js +61 -0
  837. package/dist/editor/ui/BlockIslandSlots.js.map +1 -0
  838. package/dist/editor/ui/ColorMenus.d.ts +18 -0
  839. package/dist/editor/ui/ColorMenus.d.ts.map +1 -0
  840. package/dist/editor/ui/ColorMenus.js +281 -0
  841. package/dist/editor/ui/ColorMenus.js.map +1 -0
  842. package/dist/editor/ui/EditorToolbar.d.ts +71 -0
  843. package/dist/editor/ui/EditorToolbar.d.ts.map +1 -0
  844. package/dist/editor/ui/EditorToolbar.js +197 -0
  845. package/dist/editor/ui/EditorToolbar.js.map +1 -0
  846. package/dist/editor/ui/FieldResizer.d.ts +22 -0
  847. package/dist/editor/ui/FieldResizer.d.ts.map +1 -0
  848. package/dist/editor/ui/FieldResizer.js +75 -0
  849. package/dist/editor/ui/FieldResizer.js.map +1 -0
  850. package/dist/editor/ui/FieldStatus.d.ts +32 -0
  851. package/dist/editor/ui/FieldStatus.d.ts.map +1 -0
  852. package/dist/editor/ui/FieldStatus.js +15 -0
  853. package/dist/editor/ui/FieldStatus.js.map +1 -0
  854. package/dist/editor/ui/FloatingToolbar.d.ts +32 -0
  855. package/dist/editor/ui/FloatingToolbar.d.ts.map +1 -0
  856. package/dist/editor/ui/FloatingToolbar.js +17 -0
  857. package/dist/editor/ui/FloatingToolbar.js.map +1 -0
  858. package/dist/editor/ui/FormatMenus.d.ts +210 -0
  859. package/dist/editor/ui/FormatMenus.d.ts.map +1 -0
  860. package/dist/editor/ui/FormatMenus.js +296 -0
  861. package/dist/editor/ui/FormatMenus.js.map +1 -0
  862. package/dist/editor/ui/InsertMenuButton.d.ts +25 -0
  863. package/dist/editor/ui/InsertMenuButton.d.ts.map +1 -0
  864. package/dist/editor/ui/InsertMenuButton.js +28 -0
  865. package/dist/editor/ui/InsertMenuButton.js.map +1 -0
  866. package/dist/editor/ui/SelectionBubble.d.ts +46 -0
  867. package/dist/editor/ui/SelectionBubble.d.ts.map +1 -0
  868. package/dist/editor/ui/SelectionBubble.js +90 -0
  869. package/dist/editor/ui/SelectionBubble.js.map +1 -0
  870. package/dist/editor/ui/ShortcutsButton.d.ts +29 -0
  871. package/dist/editor/ui/ShortcutsButton.d.ts.map +1 -0
  872. package/dist/editor/ui/ShortcutsButton.js +34 -0
  873. package/dist/editor/ui/ShortcutsButton.js.map +1 -0
  874. package/dist/editor/ui/SlashMenu.d.ts +42 -0
  875. package/dist/editor/ui/SlashMenu.d.ts.map +1 -0
  876. package/dist/editor/ui/SlashMenu.js +114 -0
  877. package/dist/editor/ui/SlashMenu.js.map +1 -0
  878. package/dist/editor/ui/SuggestionList.d.ts +60 -0
  879. package/dist/editor/ui/SuggestionList.d.ts.map +1 -0
  880. package/dist/editor/ui/SuggestionList.js +61 -0
  881. package/dist/editor/ui/SuggestionList.js.map +1 -0
  882. package/dist/editor/ui/TextCard.d.ts +20 -0
  883. package/dist/editor/ui/TextCard.d.ts.map +1 -0
  884. package/dist/editor/ui/TextCard.js +192 -0
  885. package/dist/editor/ui/TextCard.js.map +1 -0
  886. package/dist/editor/ui/ToolButtonView.d.ts +58 -0
  887. package/dist/editor/ui/ToolButtonView.d.ts.map +1 -0
  888. package/dist/editor/ui/ToolButtonView.js +86 -0
  889. package/dist/editor/ui/ToolButtonView.js.map +1 -0
  890. package/dist/editor/ui/TriggerMenu.d.ts +25 -0
  891. package/dist/editor/ui/TriggerMenu.d.ts.map +1 -0
  892. package/dist/editor/ui/TriggerMenu.js +180 -0
  893. package/dist/editor/ui/TriggerMenu.js.map +1 -0
  894. package/dist/editor/ui/focusWithin.d.ts +22 -0
  895. package/dist/editor/ui/focusWithin.d.ts.map +1 -0
  896. package/dist/editor/ui/focusWithin.js +5 -0
  897. package/dist/editor/ui/focusWithin.js.map +1 -0
  898. package/dist/editor/ui/lockableMenu.d.ts +28 -0
  899. package/dist/editor/ui/lockableMenu.d.ts.map +1 -0
  900. package/dist/editor/ui/lockableMenu.js +17 -0
  901. package/dist/editor/ui/lockableMenu.js.map +1 -0
  902. package/dist/editor/ui/rowMarks.d.ts +21 -0
  903. package/dist/editor/ui/rowMarks.d.ts.map +1 -0
  904. package/dist/editor/ui/rowMarks.js +35 -0
  905. package/dist/editor/ui/rowMarks.js.map +1 -0
  906. package/dist/editor/ui/selectionMenu.d.ts +61 -0
  907. package/dist/editor/ui/selectionMenu.d.ts.map +1 -0
  908. package/dist/editor/ui/selectionMenu.js +32 -0
  909. package/dist/editor/ui/selectionMenu.js.map +1 -0
  910. package/dist/hooks/useFieldDescription.d.ts +45 -0
  911. package/dist/hooks/useFieldDescription.d.ts.map +1 -0
  912. package/dist/hooks/useFieldDescription.js +23 -0
  913. package/dist/hooks/useFieldDescription.js.map +1 -0
  914. package/dist/hooks/useMediaQuery.d.ts +25 -0
  915. package/dist/hooks/useMediaQuery.d.ts.map +1 -0
  916. package/dist/hooks/useMediaQuery.js +14 -0
  917. package/dist/hooks/useMediaQuery.js.map +1 -0
  918. package/dist/hooks/useOpenerFocus.d.ts +10 -0
  919. package/dist/hooks/useOpenerFocus.d.ts.map +1 -0
  920. package/dist/hooks/useOpenerFocus.js +35 -0
  921. package/dist/hooks/useOpenerFocus.js.map +1 -0
  922. package/dist/hooks/useOverlayLayer.d.ts +23 -0
  923. package/dist/hooks/useOverlayLayer.d.ts.map +1 -0
  924. package/dist/hooks/useOverlayLayer.js +19 -0
  925. package/dist/hooks/useOverlayLayer.js.map +1 -0
  926. package/dist/hooks/useScrollLock.d.ts +3 -0
  927. package/dist/hooks/useScrollLock.d.ts.map +1 -0
  928. package/dist/hooks/useScrollLock.js +52 -0
  929. package/dist/hooks/useScrollLock.js.map +1 -0
  930. package/dist/hooks/useStickyOffset.d.ts +53 -0
  931. package/dist/hooks/useStickyOffset.d.ts.map +1 -0
  932. package/dist/hooks/useStickyOffset.js +91 -0
  933. package/dist/hooks/useStickyOffset.js.map +1 -0
  934. package/dist/hooks/useTableState.d.ts +35 -0
  935. package/dist/hooks/useTableState.d.ts.map +1 -0
  936. package/dist/hooks/useTableState.js +23 -0
  937. package/dist/hooks/useTableState.js.map +1 -0
  938. package/dist/i18n/UiProvider.d.ts +53 -0
  939. package/dist/i18n/UiProvider.d.ts.map +1 -0
  940. package/dist/i18n/UiProvider.js +63 -0
  941. package/dist/i18n/UiProvider.js.map +1 -0
  942. package/dist/i18n/context.d.ts +26 -0
  943. package/dist/i18n/context.d.ts.map +1 -0
  944. package/dist/i18n/context.js +4 -0
  945. package/dist/i18n/context.js.map +1 -0
  946. package/dist/i18n/defaults.d.ts +19 -0
  947. package/dist/i18n/defaults.d.ts.map +1 -0
  948. package/dist/i18n/defaults.js +574 -0
  949. package/dist/i18n/defaults.js.map +1 -0
  950. package/dist/i18n/messages.d.ts +1178 -0
  951. package/dist/i18n/messages.d.ts.map +1 -0
  952. package/dist/i18n/messages.js +2 -0
  953. package/dist/i18n/messages.js.map +1 -0
  954. package/dist/i18n/useMessages.d.ts +26 -0
  955. package/dist/i18n/useMessages.d.ts.map +1 -0
  956. package/dist/i18n/useMessages.js +22 -0
  957. package/dist/i18n/useMessages.js.map +1 -0
  958. package/dist/icons.d.ts +437 -0
  959. package/dist/icons.d.ts.map +1 -0
  960. package/dist/icons.js +2 -0
  961. package/dist/icons.js.map +1 -0
  962. package/dist/index.d.ts +250 -0
  963. package/dist/index.d.ts.map +1 -0
  964. package/dist/index.js +128 -0
  965. package/dist/index.js.map +1 -0
  966. package/dist/lib/accessible-name.d.ts +34 -0
  967. package/dist/lib/accessible-name.d.ts.map +1 -0
  968. package/dist/lib/accessible-name.js +2 -0
  969. package/dist/lib/accessible-name.js.map +1 -0
  970. package/dist/lib/bottom-bar-slot.d.ts +24 -0
  971. package/dist/lib/bottom-bar-slot.d.ts.map +1 -0
  972. package/dist/lib/bottom-bar-slot.js +4 -0
  973. package/dist/lib/bottom-bar-slot.js.map +1 -0
  974. package/dist/lib/button.d.ts +36 -0
  975. package/dist/lib/button.d.ts.map +1 -0
  976. package/dist/lib/button.js +35 -0
  977. package/dist/lib/button.js.map +1 -0
  978. package/dist/lib/choice-card.d.ts +64 -0
  979. package/dist/lib/choice-card.d.ts.map +1 -0
  980. package/dist/lib/choice-card.js +15 -0
  981. package/dist/lib/choice-card.js.map +1 -0
  982. package/dist/lib/clamp.d.ts +17 -0
  983. package/dist/lib/clamp.d.ts.map +1 -0
  984. package/dist/lib/clamp.js +4 -0
  985. package/dist/lib/clamp.js.map +1 -0
  986. package/dist/lib/cn.d.ts +12 -0
  987. package/dist/lib/cn.d.ts.map +1 -0
  988. package/dist/lib/cn.js +14 -0
  989. package/dist/lib/cn.js.map +1 -0
  990. package/dist/lib/date.d.ts +61 -0
  991. package/dist/lib/date.d.ts.map +1 -0
  992. package/dist/lib/date.js +30 -0
  993. package/dist/lib/date.js.map +1 -0
  994. package/dist/lib/dev-warn.d.ts +26 -0
  995. package/dist/lib/dev-warn.d.ts.map +1 -0
  996. package/dist/lib/dev-warn.js +28 -0
  997. package/dist/lib/dev-warn.js.map +1 -0
  998. package/dist/lib/empty.d.ts +35 -0
  999. package/dist/lib/empty.d.ts.map +1 -0
  1000. package/dist/lib/empty.js +11 -0
  1001. package/dist/lib/empty.js.map +1 -0
  1002. package/dist/lib/field.d.ts +105 -0
  1003. package/dist/lib/field.d.ts.map +1 -0
  1004. package/dist/lib/field.js +18 -0
  1005. package/dist/lib/field.js.map +1 -0
  1006. package/dist/lib/filter-range.d.ts +24 -0
  1007. package/dist/lib/filter-range.d.ts.map +1 -0
  1008. package/dist/lib/filter-range.js +27 -0
  1009. package/dist/lib/filter-range.js.map +1 -0
  1010. package/dist/lib/interaction-modality.d.ts +40 -0
  1011. package/dist/lib/interaction-modality.d.ts.map +1 -0
  1012. package/dist/lib/interaction-modality.js +60 -0
  1013. package/dist/lib/interaction-modality.js.map +1 -0
  1014. package/dist/lib/mask.d.ts +94 -0
  1015. package/dist/lib/mask.d.ts.map +1 -0
  1016. package/dist/lib/mask.js +114 -0
  1017. package/dist/lib/mask.js.map +1 -0
  1018. package/dist/lib/menu.d.ts +85 -0
  1019. package/dist/lib/menu.d.ts.map +1 -0
  1020. package/dist/lib/menu.js +33 -0
  1021. package/dist/lib/menu.js.map +1 -0
  1022. package/dist/lib/overlay-layer.d.ts +101 -0
  1023. package/dist/lib/overlay-layer.d.ts.map +1 -0
  1024. package/dist/lib/overlay-layer.js +40 -0
  1025. package/dist/lib/overlay-layer.js.map +1 -0
  1026. package/dist/lib/period.d.ts +82 -0
  1027. package/dist/lib/period.d.ts.map +1 -0
  1028. package/dist/lib/period.js +58 -0
  1029. package/dist/lib/period.js.map +1 -0
  1030. package/dist/lib/progress-status.d.ts +38 -0
  1031. package/dist/lib/progress-status.d.ts.map +1 -0
  1032. package/dist/lib/progress-status.js +7 -0
  1033. package/dist/lib/progress-status.js.map +1 -0
  1034. package/dist/lib/published-height.d.ts +16 -0
  1035. package/dist/lib/published-height.d.ts.map +1 -0
  1036. package/dist/lib/published-height.js +72 -0
  1037. package/dist/lib/published-height.js.map +1 -0
  1038. package/dist/lib/reorder.d.ts +44 -0
  1039. package/dist/lib/reorder.d.ts.map +1 -0
  1040. package/dist/lib/reorder.js +22 -0
  1041. package/dist/lib/reorder.js.map +1 -0
  1042. package/dist/lib/responsive.d.ts +51 -0
  1043. package/dist/lib/responsive.d.ts.map +1 -0
  1044. package/dist/lib/responsive.js +12 -0
  1045. package/dist/lib/responsive.js.map +1 -0
  1046. package/dist/lib/state.d.ts +25 -0
  1047. package/dist/lib/state.d.ts.map +1 -0
  1048. package/dist/lib/state.js +21 -0
  1049. package/dist/lib/state.js.map +1 -0
  1050. package/dist/lib/table-state.d.ts +105 -0
  1051. package/dist/lib/table-state.d.ts.map +1 -0
  1052. package/dist/lib/table-state.js +121 -0
  1053. package/dist/lib/table-state.js.map +1 -0
  1054. package/dist/lib/tag.d.ts +25 -0
  1055. package/dist/lib/tag.d.ts.map +1 -0
  1056. package/dist/lib/tag.js +6 -0
  1057. package/dist/lib/tag.js.map +1 -0
  1058. package/dist/lib/themes.d.ts +54 -0
  1059. package/dist/lib/themes.d.ts.map +1 -0
  1060. package/dist/lib/themes.js +40 -0
  1061. package/dist/lib/themes.js.map +1 -0
  1062. package/dist/lib/time.d.ts +35 -0
  1063. package/dist/lib/time.d.ts.map +1 -0
  1064. package/dist/lib/time.js +68 -0
  1065. package/dist/lib/time.js.map +1 -0
  1066. package/dist/lib/toolbar-axis.d.ts +17 -0
  1067. package/dist/lib/toolbar-axis.d.ts.map +1 -0
  1068. package/dist/lib/toolbar-axis.js +10 -0
  1069. package/dist/lib/toolbar-axis.js.map +1 -0
  1070. package/dist/lib/touch.d.ts +16 -0
  1071. package/dist/lib/touch.d.ts.map +1 -0
  1072. package/dist/lib/touch.js +2 -0
  1073. package/dist/lib/touch.js.map +1 -0
  1074. package/dist/lib/variants.d.ts +204 -0
  1075. package/dist/lib/variants.d.ts.map +1 -0
  1076. package/dist/lib/variants.js +127 -0
  1077. package/dist/lib/variants.js.map +1 -0
  1078. package/dist/locales/en.d.ts +11 -0
  1079. package/dist/locales/en.d.ts.map +1 -0
  1080. package/dist/locales/en.js +3 -0
  1081. package/dist/locales/en.js.map +1 -0
  1082. package/dist/locales/ru.d.ts +5 -0
  1083. package/dist/locales/ru.d.ts.map +1 -0
  1084. package/dist/locales/ru.js +591 -0
  1085. package/dist/locales/ru.js.map +1 -0
  1086. package/docs/accessibility.en.md +79 -0
  1087. package/docs/accessibility.md +73 -0
  1088. package/docs/api/editor-extension.en.md +309 -0
  1089. package/docs/api/editor-extension.md +308 -0
  1090. package/docs/api/messages.md +750 -0
  1091. package/docs/api/migration-notes.en.md +885 -0
  1092. package/docs/api/migration-notes.md +890 -0
  1093. package/docs/api/utilities.md +252 -0
  1094. package/docs/component-selection.en.md +48 -0
  1095. package/docs/component-selection.md +44 -0
  1096. package/docs/components/actions/button.en.md +59 -0
  1097. package/docs/components/actions/button.md +58 -0
  1098. package/docs/components/actions/chip.en.md +47 -0
  1099. package/docs/components/actions/chip.md +46 -0
  1100. package/docs/components/actions/copy-and-truncate.en.md +98 -0
  1101. package/docs/components/actions/copy-and-truncate.md +96 -0
  1102. package/docs/components/actions/feedback.en.md +69 -0
  1103. package/docs/components/actions/feedback.md +68 -0
  1104. package/docs/components/actions/split-button.en.md +76 -0
  1105. package/docs/components/actions/split-button.md +75 -0
  1106. package/docs/components/actions/toggles.en.md +139 -0
  1107. package/docs/components/actions/toggles.md +136 -0
  1108. package/docs/components/actions/toolbar.en.md +197 -0
  1109. package/docs/components/actions/toolbar.md +192 -0
  1110. package/docs/components/app-shell/app-shell.en.md +172 -0
  1111. package/docs/components/app-shell/app-shell.md +172 -0
  1112. package/docs/components/app-shell/mobile-tab-bar.en.md +207 -0
  1113. package/docs/components/app-shell/mobile-tab-bar.md +210 -0
  1114. package/docs/components/app-shell/side-nav.en.md +153 -0
  1115. package/docs/components/app-shell/side-nav.md +152 -0
  1116. package/docs/components/app-shell/split-panel.en.md +148 -0
  1117. package/docs/components/app-shell/split-panel.md +147 -0
  1118. package/docs/components/app-shell/top-bar.en.md +103 -0
  1119. package/docs/components/app-shell/top-bar.md +100 -0
  1120. package/docs/components/content/avatar.en.md +123 -0
  1121. package/docs/components/content/avatar.md +119 -0
  1122. package/docs/components/content/card.en.md +123 -0
  1123. package/docs/components/content/card.md +122 -0
  1124. package/docs/components/content/carousel.en.md +236 -0
  1125. package/docs/components/content/carousel.md +227 -0
  1126. package/docs/components/content/code-view.en.md +177 -0
  1127. package/docs/components/content/code-view.md +172 -0
  1128. package/docs/components/content/data-display.en.md +205 -0
  1129. package/docs/components/content/data-display.md +212 -0
  1130. package/docs/components/content/editable-list.en.md +437 -0
  1131. package/docs/components/content/editable-list.md +418 -0
  1132. package/docs/components/content/empty-and-loading.en.md +149 -0
  1133. package/docs/components/content/empty-and-loading.md +149 -0
  1134. package/docs/components/content/grid.en.md +148 -0
  1135. package/docs/components/content/grid.md +142 -0
  1136. package/docs/components/content/image.en.md +115 -0
  1137. package/docs/components/content/image.md +114 -0
  1138. package/docs/components/content/keyboard.en.md +129 -0
  1139. package/docs/components/content/keyboard.md +129 -0
  1140. package/docs/components/content/layout-primitives.en.md +105 -0
  1141. package/docs/components/content/layout-primitives.md +104 -0
  1142. package/docs/components/content/media-card.en.md +137 -0
  1143. package/docs/components/content/media-card.md +132 -0
  1144. package/docs/components/content/notifications.en.md +216 -0
  1145. package/docs/components/content/notifications.md +207 -0
  1146. package/docs/components/content/rich-text-view.en.md +325 -0
  1147. package/docs/components/content/rich-text-view.md +324 -0
  1148. package/docs/components/content/sortable-list.en.md +212 -0
  1149. package/docs/components/content/sortable-list.md +206 -0
  1150. package/docs/components/content/tag-group.en.md +158 -0
  1151. package/docs/components/content/tag-group.md +151 -0
  1152. package/docs/components/content/timeline.en.md +77 -0
  1153. package/docs/components/content/timeline.md +76 -0
  1154. package/docs/components/content/typography.en.md +152 -0
  1155. package/docs/components/content/typography.md +146 -0
  1156. package/docs/components/content/virtual-grid.en.md +305 -0
  1157. package/docs/components/content/virtual-grid.md +315 -0
  1158. package/docs/components/date-time/calendar.en.md +47 -0
  1159. package/docs/components/date-time/calendar.md +46 -0
  1160. package/docs/components/date-time/date-picker.en.md +52 -0
  1161. package/docs/components/date-time/date-picker.md +50 -0
  1162. package/docs/components/date-time/date-range-picker.en.md +58 -0
  1163. package/docs/components/date-time/date-range-picker.md +57 -0
  1164. package/docs/components/date-time/date-time-picker.en.md +44 -0
  1165. package/docs/components/date-time/date-time-picker.md +43 -0
  1166. package/docs/components/date-time/range-calendar.en.md +47 -0
  1167. package/docs/components/date-time/range-calendar.md +46 -0
  1168. package/docs/components/date-time/time-picker.en.md +47 -0
  1169. package/docs/components/date-time/time-picker.md +51 -0
  1170. package/docs/components/index.en.md +155 -0
  1171. package/docs/components/index.md +150 -0
  1172. package/docs/components/inputs/choice-controls.en.md +118 -0
  1173. package/docs/components/inputs/choice-controls.md +112 -0
  1174. package/docs/components/inputs/color-picker.en.md +126 -0
  1175. package/docs/components/inputs/color-picker.md +122 -0
  1176. package/docs/components/inputs/combobox.en.md +62 -0
  1177. package/docs/components/inputs/combobox.md +58 -0
  1178. package/docs/components/inputs/file-dropzone.en.md +51 -0
  1179. package/docs/components/inputs/file-dropzone.md +50 -0
  1180. package/docs/components/inputs/form-layout.en.md +99 -0
  1181. package/docs/components/inputs/form-layout.md +97 -0
  1182. package/docs/components/inputs/form.en.md +87 -0
  1183. package/docs/components/inputs/form.md +86 -0
  1184. package/docs/components/inputs/inline-edit.en.md +93 -0
  1185. package/docs/components/inputs/inline-edit.md +94 -0
  1186. package/docs/components/inputs/masked-input.en.md +149 -0
  1187. package/docs/components/inputs/masked-input.md +147 -0
  1188. package/docs/components/inputs/number-input.en.md +81 -0
  1189. package/docs/components/inputs/number-input.md +80 -0
  1190. package/docs/components/inputs/password-input.en.md +101 -0
  1191. package/docs/components/inputs/password-input.md +97 -0
  1192. package/docs/components/inputs/phone-input.en.md +78 -0
  1193. package/docs/components/inputs/phone-input.md +76 -0
  1194. package/docs/components/inputs/pin-input.en.md +109 -0
  1195. package/docs/components/inputs/pin-input.md +108 -0
  1196. package/docs/components/inputs/rating.en.md +100 -0
  1197. package/docs/components/inputs/rating.md +99 -0
  1198. package/docs/components/inputs/rich-text-editor.en.md +1539 -0
  1199. package/docs/components/inputs/rich-text-editor.md +1538 -0
  1200. package/docs/components/inputs/search-control.en.md +60 -0
  1201. package/docs/components/inputs/search-control.md +58 -0
  1202. package/docs/components/inputs/select.en.md +68 -0
  1203. package/docs/components/inputs/select.md +65 -0
  1204. package/docs/components/inputs/slider.en.md +60 -0
  1205. package/docs/components/inputs/slider.md +59 -0
  1206. package/docs/components/inputs/swatch-group.en.md +181 -0
  1207. package/docs/components/inputs/swatch-group.md +177 -0
  1208. package/docs/components/inputs/tag-input.en.md +50 -0
  1209. package/docs/components/inputs/tag-input.md +48 -0
  1210. package/docs/components/inputs/text-control.en.md +76 -0
  1211. package/docs/components/inputs/text-control.md +74 -0
  1212. package/docs/components/inputs/transfer.en.md +118 -0
  1213. package/docs/components/inputs/transfer.md +114 -0
  1214. package/docs/components/inputs/tree-select.en.md +91 -0
  1215. package/docs/components/inputs/tree-select.md +89 -0
  1216. package/docs/components/inputs/upload-queue.en.md +160 -0
  1217. package/docs/components/inputs/upload-queue.md +158 -0
  1218. package/docs/components/navigation/accordion.en.md +76 -0
  1219. package/docs/components/navigation/accordion.md +75 -0
  1220. package/docs/components/navigation/breadcrumbs.en.md +73 -0
  1221. package/docs/components/navigation/breadcrumbs.md +72 -0
  1222. package/docs/components/navigation/contextual-save-bar.en.md +104 -0
  1223. package/docs/components/navigation/contextual-save-bar.md +103 -0
  1224. package/docs/components/navigation/page-header.en.md +71 -0
  1225. package/docs/components/navigation/page-header.md +70 -0
  1226. package/docs/components/navigation/pagination.en.md +69 -0
  1227. package/docs/components/navigation/pagination.md +69 -0
  1228. package/docs/components/navigation/section-header.en.md +67 -0
  1229. package/docs/components/navigation/section-header.md +66 -0
  1230. package/docs/components/navigation/selection-bar.en.md +83 -0
  1231. package/docs/components/navigation/selection-bar.md +83 -0
  1232. package/docs/components/navigation/stepper.en.md +78 -0
  1233. package/docs/components/navigation/stepper.md +77 -0
  1234. package/docs/components/navigation/tabs.en.md +71 -0
  1235. package/docs/components/navigation/tabs.md +70 -0
  1236. package/docs/components/navigation/tree-view.en.md +173 -0
  1237. package/docs/components/navigation/tree-view.md +172 -0
  1238. package/docs/components/overlays/command-palette.en.md +153 -0
  1239. package/docs/components/overlays/command-palette.md +147 -0
  1240. package/docs/components/overlays/confirm-dialog.en.md +134 -0
  1241. package/docs/components/overlays/confirm-dialog.md +127 -0
  1242. package/docs/components/overlays/context-menu.en.md +115 -0
  1243. package/docs/components/overlays/context-menu.md +113 -0
  1244. package/docs/components/overlays/dialog.en.md +120 -0
  1245. package/docs/components/overlays/dialog.md +117 -0
  1246. package/docs/components/overlays/drawer.en.md +87 -0
  1247. package/docs/components/overlays/drawer.md +88 -0
  1248. package/docs/components/overlays/hover-card.en.md +179 -0
  1249. package/docs/components/overlays/hover-card.md +175 -0
  1250. package/docs/components/overlays/menu.en.md +103 -0
  1251. package/docs/components/overlays/menu.md +100 -0
  1252. package/docs/components/overlays/popover.en.md +78 -0
  1253. package/docs/components/overlays/popover.md +77 -0
  1254. package/docs/components/overlays/shortcuts-help.en.md +190 -0
  1255. package/docs/components/overlays/shortcuts-help.md +186 -0
  1256. package/docs/components/overlays/tooltip.en.md +78 -0
  1257. package/docs/components/overlays/tooltip.md +77 -0
  1258. package/docs/components/table/data-table.en.md +137 -0
  1259. package/docs/components/table/data-table.md +133 -0
  1260. package/docs/components/table/filter-bar.en.md +161 -0
  1261. package/docs/components/table/filter-bar.md +155 -0
  1262. package/docs/components/table/saved-views.en.md +117 -0
  1263. package/docs/components/table/saved-views.md +115 -0
  1264. package/docs/components/table/toolbar.en.md +100 -0
  1265. package/docs/components/table/toolbar.md +97 -0
  1266. package/docs/conventions.md +358 -0
  1267. package/docs/getting-started.en.md +382 -0
  1268. package/docs/getting-started.md +381 -0
  1269. package/docs/glossary.en.md +179 -0
  1270. package/docs/glossary.md +174 -0
  1271. package/docs/i18n.en.md +147 -0
  1272. package/docs/i18n.md +143 -0
  1273. package/docs/icons.en.md +252 -0
  1274. package/docs/icons.md +251 -0
  1275. package/docs/index.md +62 -0
  1276. package/docs/palette.en.md +400 -0
  1277. package/docs/palette.md +396 -0
  1278. package/docs/theming.en.md +522 -0
  1279. package/docs/theming.md +518 -0
  1280. package/llms.txt +144 -0
  1281. package/package.json +173 -4
  1282. package/src/color.ts +21 -0
  1283. package/src/components/actions/Alert.tsx +121 -0
  1284. package/src/components/actions/Banner.tsx +120 -0
  1285. package/src/components/actions/Button.tsx +241 -0
  1286. package/src/components/actions/ButtonGroup.tsx +65 -0
  1287. package/src/components/actions/Chip.tsx +113 -0
  1288. package/src/components/actions/CopyButton.tsx +112 -0
  1289. package/src/components/actions/Progress.tsx +103 -0
  1290. package/src/components/actions/Segmented.tsx +162 -0
  1291. package/src/components/actions/Spinner.tsx +80 -0
  1292. package/src/components/actions/SplitButton.tsx +164 -0
  1293. package/src/components/actions/StatusBadge.tsx +61 -0
  1294. package/src/components/actions/Toaster.tsx +148 -0
  1295. package/src/components/actions/Toggle.tsx +224 -0
  1296. package/src/components/actions/ToggleGroup.tsx +147 -0
  1297. package/src/components/actions/Toolbar.tsx +223 -0
  1298. package/src/components/actions/Truncate.tsx +96 -0
  1299. package/src/components/app-shell/AppShell.tsx +268 -0
  1300. package/src/components/app-shell/MobileTabBar.tsx +305 -0
  1301. package/src/components/app-shell/NavItem.tsx +149 -0
  1302. package/src/components/app-shell/SideNav.tsx +217 -0
  1303. package/src/components/app-shell/SplitPanel.tsx +381 -0
  1304. package/src/components/app-shell/TopBar.tsx +115 -0
  1305. package/src/components/content/AspectRatio.tsx +45 -0
  1306. package/src/components/content/Avatar.tsx +132 -0
  1307. package/src/components/content/AvatarGroup.tsx +92 -0
  1308. package/src/components/content/Badge.tsx +78 -0
  1309. package/src/components/content/Card.tsx +117 -0
  1310. package/src/components/content/Carousel.tsx +427 -0
  1311. package/src/components/content/CodeView.tsx +178 -0
  1312. package/src/components/content/DescriptionList.tsx +64 -0
  1313. package/src/components/content/EditableList.tsx +879 -0
  1314. package/src/components/content/EmptyState.tsx +65 -0
  1315. package/src/components/content/ErrorState.tsx +100 -0
  1316. package/src/components/content/Grid.tsx +208 -0
  1317. package/src/components/content/Heading.tsx +81 -0
  1318. package/src/components/content/Image.tsx +235 -0
  1319. package/src/components/content/Kbd.tsx +67 -0
  1320. package/src/components/content/Keyboard.tsx +634 -0
  1321. package/src/components/content/Link.tsx +199 -0
  1322. package/src/components/content/MediaCard.tsx +167 -0
  1323. package/src/components/content/NotificationCenter.tsx +168 -0
  1324. package/src/components/content/NotificationList.tsx +329 -0
  1325. package/src/components/content/ScrollArea.tsx +69 -0
  1326. package/src/components/content/Separator.tsx +62 -0
  1327. package/src/components/content/Skeleton.tsx +40 -0
  1328. package/src/components/content/SortableList.tsx +249 -0
  1329. package/src/components/content/Stat.tsx +75 -0
  1330. package/src/components/content/Table.tsx +500 -0
  1331. package/src/components/content/TagGroup.tsx +222 -0
  1332. package/src/components/content/Text.tsx +127 -0
  1333. package/src/components/content/Timeline.tsx +126 -0
  1334. package/src/components/content/VirtualGrid.tsx +726 -0
  1335. package/src/components/content/VisuallyHidden.tsx +25 -0
  1336. package/src/components/content/keyboardEditing.ts +51 -0
  1337. package/src/components/content/useDragToSelect.ts +255 -0
  1338. package/src/components/date-time/Calendar.tsx +181 -0
  1339. package/src/components/date-time/DatePicker.tsx +143 -0
  1340. package/src/components/date-time/DateRangePicker.tsx +349 -0
  1341. package/src/components/date-time/DateTimePicker.tsx +92 -0
  1342. package/src/components/date-time/RangeCalendar.tsx +156 -0
  1343. package/src/components/date-time/TimePicker.tsx +377 -0
  1344. package/src/components/inputs/Checkbox.tsx +284 -0
  1345. package/src/components/inputs/CheckboxCard.tsx +132 -0
  1346. package/src/components/inputs/CheckboxGroup.tsx +140 -0
  1347. package/src/components/inputs/ChoiceCardBody.tsx +53 -0
  1348. package/src/components/inputs/ColorPicker.tsx +221 -0
  1349. package/src/components/inputs/Combobox.tsx +156 -0
  1350. package/src/components/inputs/FileDropzone.tsx +253 -0
  1351. package/src/components/inputs/Form.tsx +77 -0
  1352. package/src/components/inputs/FormField.tsx +235 -0
  1353. package/src/components/inputs/FormLayout.tsx +80 -0
  1354. package/src/components/inputs/InlineEdit.tsx +205 -0
  1355. package/src/components/inputs/MaskedInput.tsx +288 -0
  1356. package/src/components/inputs/NumberInput.tsx +138 -0
  1357. package/src/components/inputs/PasswordInput.tsx +166 -0
  1358. package/src/components/inputs/PhoneInput.tsx +55 -0
  1359. package/src/components/inputs/PinInput.tsx +197 -0
  1360. package/src/components/inputs/RadioGroup.tsx +322 -0
  1361. package/src/components/inputs/Rating.tsx +224 -0
  1362. package/src/components/inputs/SearchControl.tsx +278 -0
  1363. package/src/components/inputs/Select.tsx +741 -0
  1364. package/src/components/inputs/Slider.tsx +436 -0
  1365. package/src/components/inputs/SwatchGroup.tsx +342 -0
  1366. package/src/components/inputs/TagInput.tsx +221 -0
  1367. package/src/components/inputs/TextControl.tsx +335 -0
  1368. package/src/components/inputs/Transfer.tsx +368 -0
  1369. package/src/components/inputs/TreeSelect.tsx +275 -0
  1370. package/src/components/inputs/UploadQueue.tsx +240 -0
  1371. package/src/components/navigation/Accordion.tsx +118 -0
  1372. package/src/components/navigation/Breadcrumbs.tsx +112 -0
  1373. package/src/components/navigation/ContextualSaveBar.tsx +174 -0
  1374. package/src/components/navigation/PageHeader.tsx +41 -0
  1375. package/src/components/navigation/Pagination.tsx +184 -0
  1376. package/src/components/navigation/SectionHeader.tsx +54 -0
  1377. package/src/components/navigation/SelectionBar.tsx +151 -0
  1378. package/src/components/navigation/Stepper.tsx +153 -0
  1379. package/src/components/navigation/Tabs.tsx +130 -0
  1380. package/src/components/navigation/TreeView.tsx +246 -0
  1381. package/src/components/overlays/CommandPalette.tsx +343 -0
  1382. package/src/components/overlays/ConfirmDialog.tsx +272 -0
  1383. package/src/components/overlays/ContextMenu.tsx +284 -0
  1384. package/src/components/overlays/Dialog.tsx +283 -0
  1385. package/src/components/overlays/Drawer.tsx +193 -0
  1386. package/src/components/overlays/HelpTooltip.tsx +96 -0
  1387. package/src/components/overlays/HoverCard.tsx +404 -0
  1388. package/src/components/overlays/Menu.tsx +243 -0
  1389. package/src/components/overlays/ModalHeader.tsx +125 -0
  1390. package/src/components/overlays/ModalOverlay.tsx +108 -0
  1391. package/src/components/overlays/Popover.tsx +120 -0
  1392. package/src/components/overlays/ShortcutsHelp.tsx +147 -0
  1393. package/src/components/overlays/Tooltip.tsx +89 -0
  1394. package/src/components/table/DataTable.tsx +164 -0
  1395. package/src/components/table/FilterBar.tsx +114 -0
  1396. package/src/components/table/FilterBarAdd.tsx +268 -0
  1397. package/src/components/table/SavedViews.tsx +122 -0
  1398. package/src/components/table/TablePreferences.tsx +173 -0
  1399. package/src/components/table/TableToolbar.tsx +74 -0
  1400. package/src/editor/RichTextEditor.tsx +1747 -0
  1401. package/src/editor/RichTextView.tsx +119 -0
  1402. package/src/editor/core/atomText.ts +140 -0
  1403. package/src/editor/core/blockCommands.ts +329 -0
  1404. package/src/editor/core/blockTypes.ts +252 -0
  1405. package/src/editor/core/containers.ts +100 -0
  1406. package/src/editor/core/customMarkdown.ts +74 -0
  1407. package/src/editor/core/customTool.ts +472 -0
  1408. package/src/editor/core/customToolEngine.ts +442 -0
  1409. package/src/editor/core/document.ts +27 -0
  1410. package/src/editor/core/emptiness.ts +31 -0
  1411. package/src/editor/core/extensions.ts +295 -0
  1412. package/src/editor/core/fieldNotice.ts +75 -0
  1413. package/src/editor/core/handle.ts +311 -0
  1414. package/src/editor/core/insertItems.ts +434 -0
  1415. package/src/editor/core/jsonDocument.ts +99 -0
  1416. package/src/editor/core/markdown.ts +313 -0
  1417. package/src/editor/core/maxLength.ts +99 -0
  1418. package/src/editor/core/pasteTrim.ts +85 -0
  1419. package/src/editor/core/schema.ts +986 -0
  1420. package/src/editor/core/schemaConform.ts +122 -0
  1421. package/src/editor/core/shortcuts.ts +435 -0
  1422. package/src/editor/core/skeleton.ts +108 -0
  1423. package/src/editor/core/slashCommand.ts +143 -0
  1424. package/src/editor/core/sourceFormat.ts +194 -0
  1425. package/src/editor/core/toolButtons.ts +133 -0
  1426. package/src/editor/core/toolDescriptor.ts +359 -0
  1427. package/src/editor/core/toolEntryShortcuts.ts +66 -0
  1428. package/src/editor/core/toolLoader.ts +50 -0
  1429. package/src/editor/core/tools.ts +150 -0
  1430. package/src/editor/core/viewIsland.ts +35 -0
  1431. package/src/editor/features/builtins.ts +145 -0
  1432. package/src/editor/features/code/CodeBlockView.tsx +240 -0
  1433. package/src/editor/features/code/CodeCopyButton.tsx +76 -0
  1434. package/src/editor/features/code/CodeCopyIsland.tsx +71 -0
  1435. package/src/editor/features/code/codeBlock.ts +188 -0
  1436. package/src/editor/features/code/codeBlockTool.ts +107 -0
  1437. package/src/editor/features/code/codeHeader.ts +97 -0
  1438. package/src/editor/features/code/codeLanguages.ts +62 -0
  1439. package/src/editor/features/code/highlight.ts +109 -0
  1440. package/src/editor/features/code/highlightNodes.ts +65 -0
  1441. package/src/editor/features/code/lowlight.ts +45 -0
  1442. package/src/editor/features/color/CustomColorPopover.tsx +180 -0
  1443. package/src/editor/features/color/contrast.ts +52 -0
  1444. package/src/editor/features/color/customColor.ts +91 -0
  1445. package/src/editor/features/color/styleExtensions.ts +316 -0
  1446. package/src/editor/features/emoji/EmojiGrid.tsx +160 -0
  1447. package/src/editor/features/emoji/emoji.ts +156 -0
  1448. package/src/editor/features/emoji/emojiTool.tsx +67 -0
  1449. package/src/editor/features/image/ImagePopover.tsx +254 -0
  1450. package/src/editor/features/image/ImageToolbar.tsx +147 -0
  1451. package/src/editor/features/image/image.ts +821 -0
  1452. package/src/editor/features/image/imageNotice.ts +27 -0
  1453. package/src/editor/features/layout/columnLayouts.ts +71 -0
  1454. package/src/editor/features/layout/layout.ts +537 -0
  1455. package/src/editor/features/link/LinkPopover.tsx +114 -0
  1456. package/src/editor/features/link/link.ts +112 -0
  1457. package/src/editor/features/link/linkTool.tsx +36 -0
  1458. package/src/editor/features/search/SearchPanel.tsx +264 -0
  1459. package/src/editor/features/search/revealMatch.ts +69 -0
  1460. package/src/editor/features/search/searchMatch.ts +129 -0
  1461. package/src/editor/features/search/searchPlugin.ts +254 -0
  1462. package/src/editor/features/search/searchTool.ts +30 -0
  1463. package/src/editor/features/table/TableInsertDialog.tsx +129 -0
  1464. package/src/editor/features/table/TableMenuButton.tsx +503 -0
  1465. package/src/editor/features/table/TableSizeGrid.tsx +265 -0
  1466. package/src/editor/features/table/tableActions.ts +380 -0
  1467. package/src/editor/features/table/tableCells.ts +63 -0
  1468. package/src/editor/features/table/tableChunk.ts +11 -0
  1469. package/src/editor/features/table/tableTool.ts +74 -0
  1470. package/src/editor/features/table/tables.ts +220 -0
  1471. package/src/editor/features/wrapper/wrapper.ts +350 -0
  1472. package/src/editor/features/wrapper/wrapperTones.ts +51 -0
  1473. package/src/editor/highlight-entry.ts +23 -0
  1474. package/src/editor/highlight-grammars.d.ts +12 -0
  1475. package/src/editor/hooks/useChangeThrottle.ts +62 -0
  1476. package/src/editor/hooks/useCoarsePointer.ts +36 -0
  1477. package/src/editor/hooks/useFieldsetDisabled.ts +53 -0
  1478. package/src/editor/hooks/useRichTextEditorState.ts +51 -0
  1479. package/src/editor/hooks/useSubmenuPlacement.ts +40 -0
  1480. package/src/editor/index.ts +59 -0
  1481. package/src/editor/schema-entry.ts +40 -0
  1482. package/src/editor/styles/codeTheme.ts +66 -0
  1483. package/src/editor/styles/glass.ts +66 -0
  1484. package/src/editor/styles/palette.ts +191 -0
  1485. package/src/editor/styles/prose.ts +429 -0
  1486. package/src/editor/styles/surface.ts +24 -0
  1487. package/src/editor/styles/tokens.ts +173 -0
  1488. package/src/editor/ui/BlockHandle.tsx +601 -0
  1489. package/src/editor/ui/BlockIsland.tsx +23 -0
  1490. package/src/editor/ui/BlockIslandSlots.tsx +114 -0
  1491. package/src/editor/ui/ColorMenus.tsx +613 -0
  1492. package/src/editor/ui/EditorToolbar.tsx +630 -0
  1493. package/src/editor/ui/FieldResizer.tsx +155 -0
  1494. package/src/editor/ui/FieldStatus.tsx +85 -0
  1495. package/src/editor/ui/FloatingToolbar.tsx +77 -0
  1496. package/src/editor/ui/FormatMenus.tsx +706 -0
  1497. package/src/editor/ui/InsertMenuButton.tsx +104 -0
  1498. package/src/editor/ui/SelectionBubble.tsx +317 -0
  1499. package/src/editor/ui/ShortcutsButton.tsx +128 -0
  1500. package/src/editor/ui/SlashMenu.tsx +199 -0
  1501. package/src/editor/ui/SuggestionList.tsx +217 -0
  1502. package/src/editor/ui/TextCard.tsx +312 -0
  1503. package/src/editor/ui/ToolButtonView.tsx +242 -0
  1504. package/src/editor/ui/TriggerMenu.tsx +255 -0
  1505. package/src/editor/ui/focusWithin.ts +26 -0
  1506. package/src/editor/ui/lockableMenu.ts +37 -0
  1507. package/src/editor/ui/rowMarks.ts +66 -0
  1508. package/src/editor/ui/selectionMenu.ts +97 -0
  1509. package/src/hooks/useFieldDescription.ts +126 -0
  1510. package/src/hooks/useMediaQuery.ts +46 -0
  1511. package/src/hooks/useOpenerFocus.ts +118 -0
  1512. package/src/hooks/useOverlayLayer.ts +42 -0
  1513. package/src/hooks/useScrollLock.ts +92 -0
  1514. package/src/hooks/useStickyOffset.ts +228 -0
  1515. package/src/hooks/useTableState.ts +76 -0
  1516. package/src/i18n/UiProvider.tsx +152 -0
  1517. package/src/i18n/context.ts +30 -0
  1518. package/src/i18n/defaults.ts +657 -0
  1519. package/src/i18n/messages.ts +1183 -0
  1520. package/src/i18n/useMessages.ts +47 -0
  1521. package/src/icons.ts +566 -0
  1522. package/src/index.ts +502 -0
  1523. package/src/lib/accessible-name.ts +35 -0
  1524. package/src/lib/bottom-bar-slot.ts +27 -0
  1525. package/src/lib/button.ts +158 -0
  1526. package/src/lib/choice-card.ts +79 -0
  1527. package/src/lib/clamp.ts +18 -0
  1528. package/src/lib/cn.ts +48 -0
  1529. package/src/lib/date.ts +87 -0
  1530. package/src/lib/dev-warn.ts +82 -0
  1531. package/src/lib/empty.ts +43 -0
  1532. package/src/lib/field.ts +125 -0
  1533. package/src/lib/filter-range.ts +48 -0
  1534. package/src/lib/interaction-modality.ts +134 -0
  1535. package/src/lib/mask.ts +226 -0
  1536. package/src/lib/menu.ts +196 -0
  1537. package/src/lib/overlay-layer.ts +163 -0
  1538. package/src/lib/period.ts +167 -0
  1539. package/src/lib/progress-status.ts +44 -0
  1540. package/src/lib/published-height.ts +147 -0
  1541. package/src/lib/reorder.ts +65 -0
  1542. package/src/lib/responsive.ts +71 -0
  1543. package/src/lib/state.ts +39 -0
  1544. package/src/lib/table-state.ts +264 -0
  1545. package/src/lib/tag.ts +31 -0
  1546. package/src/lib/themes.ts +144 -0
  1547. package/src/lib/time.ts +107 -0
  1548. package/src/lib/toolbar-axis.tsx +31 -0
  1549. package/src/lib/touch.ts +15 -0
  1550. package/src/lib/variants.ts +342 -0
  1551. package/src/locales/en.ts +10 -0
  1552. package/src/locales/ru.ts +695 -0
  1553. package/styles.css +1650 -0
@@ -0,0 +1,879 @@
1
+ "use client";
2
+
3
+ import {
4
+ forwardRef,
5
+ useCallback,
6
+ useImperativeHandle,
7
+ useLayoutEffect,
8
+ useRef,
9
+ useState,
10
+ type CSSProperties,
11
+ type KeyboardEvent,
12
+ type ReactNode,
13
+ } from "react";
14
+ import {
15
+ Button,
16
+ DropIndicator,
17
+ GridList,
18
+ GridListItem,
19
+ useDragAndDrop,
20
+ type Key,
21
+ } from "react-aria-components";
22
+ import { DragHandleIcon } from "../../icons.js";
23
+ import { useMessages } from "../../i18n/useMessages.js";
24
+ import { cn } from "../../lib/cn.js";
25
+ import { reorder } from "../../lib/reorder.js";
26
+ import { TextControl } from "../inputs/TextControl.js";
27
+
28
+ export interface EditableListItem {
29
+ /** Стабильный идентификатор строки: по нему список сообщает о правке и новом порядке. */
30
+ id: Key;
31
+ /** Правимое по месту название. */
32
+ value: string;
33
+ /**
34
+ * Строковое представление строки для доступного имени и объявлений о переносе.
35
+ *
36
+ * По умолчанию — `value`. Задавать имеет смысл там, где голое значение
37
+ * неинформативно: «12.05» вместо «Срок сдачи, 12 мая».
38
+ */
39
+ textValue?: string;
40
+ /** Строка отключена: её нельзя править и перетаскивать. */
41
+ disabled?: boolean;
42
+ }
43
+
44
+ export interface EditableListProps {
45
+ /** Строки списка в текущем порядке; порядок хранит потребитель. */
46
+ items: EditableListItem[];
47
+ /** Новый порядок целиком — список идентификаторов после перестановки. */
48
+ onReorder: (ids: Key[]) => void;
49
+ /** Подтверждение правки. Вызывается, только когда значение изменилось. */
50
+ onValueChange: (id: Key, value: string) => void;
51
+ /**
52
+ * Доступное имя поля правки. Обязательно и проверяется компилятором: без него
53
+ * правка по месту даёт поле без имени ровно в момент ввода.
54
+ */
55
+ editLabel: (item: EditableListItem) => string;
56
+ /** Доступное имя списка. Безымянный список скринридер называет только по роли. */
57
+ "aria-label": string;
58
+ /**
59
+ * Строка добавления в конце списка. Без пропа её нет вовсе.
60
+ *
61
+ * `label` — доступное имя поля; плейсхолдер именем не считается.
62
+ */
63
+ add?: {
64
+ label: string;
65
+ placeholder?: string;
66
+ onAdd: (value: string) => void;
67
+ /**
68
+ * Добавление ещё сохраняется.
69
+ *
70
+ * Поле при этом НЕ выключается, и это не упущение. Выключенное поле
71
+ * теряет фокус, а обратно его не получает: серия задач подряд — то
72
+ * единственное, ради чего строка добавления и существует, — обрывалась
73
+ * бы на первой же, как только сохранение идёт через сеть. Занятость
74
+ * объявляется `aria-busy`, а ввод продолжается.
75
+ */
76
+ pending?: boolean;
77
+ /**
78
+ * Ведущие колонки строки добавления — ровно то же место, что занимает
79
+ * `leading` у строк списка.
80
+ *
81
+ * Место ручки перетаскивания компонент резервирует сам; про `leading` он
82
+ * знать не может — его ширину задаёт потребитель. Без этого слота у
83
+ * списка с `leading` рамка поля встаёт на колонку флажка, а названия
84
+ * строк уезжают правее, и низ списка выглядит рваным.
85
+ *
86
+ * Кладите РАСПОРКУ той же геометрии, а не живой контрол: флажок у задачи,
87
+ * которой ещё нет, нечего отмечать, а фокус он бы забирал. Распорку
88
+ * прячьте от скринридера — `aria-hidden`.
89
+ */
90
+ leading?: ReactNode;
91
+ };
92
+ /** Слот слева от названия: флажок выполнения, аватар исполнителя. */
93
+ leading?: (item: EditableListItem) => ReactNode;
94
+ /** Слот справа: бейдж состояния, кнопки действий строки. */
95
+ trailing?: (item: EditableListItem) => ReactNode;
96
+ /**
97
+ * Вызывается по щелчку на строке и по пробелу на ней. Компонент сам их не трактует.
98
+ *
99
+ * Одиночный щелчок оставлен потребителю намеренно: правку открывает Enter, и
100
+ * если бы щелчок делал то же, строке нечем было бы открыть подробности.
101
+ */
102
+ onRowAction?: (id: Key) => void;
103
+ /**
104
+ * Разделять строки волосяной линией.
105
+ *
106
+ * Без неё ряд держится одними отступами и на плотном списке читается
107
+ * сплошным полотном: опорой остаются только плашки ручек. Линия разбивает
108
+ * ряд, не превращая каждую строку в предмет, — это и есть разница в цене
109
+ * между ней и подложкой с рамкой.
110
+ *
111
+ * Линия идёт МЕЖДУ строками, а не под каждой: под последней она подчеркнула
112
+ * бы список, которого никто не подчёркивал.
113
+ *
114
+ * Скругление строки при этом снимается, и это не побочный эффект: у прямой
115
+ * линии под скруглённой строкой углы загибаются вместе с рамкой, и
116
+ * разделитель перестаёт быть прямым. Заодно подсветка по наведению
117
+ * становится полосой во всю ширину — привычный вид разделённого списка.
118
+ *
119
+ * Подложки с рамкой у строки компонент не умеет намеренно: у такой подачи
120
+ * сейчас нет заказчика, а ось, заведённая на будущее, — это API, который
121
+ * придётся поддерживать без спроса (ADR-0031).
122
+ */
123
+ divided?: boolean;
124
+ /** Что показать при пустом списке. */
125
+ emptyText?: ReactNode;
126
+ /** Классы корневого элемента. */
127
+ className?: string;
128
+ }
129
+
130
+ /*
131
+ ПОЛЕ В СПИСКЕ КОМПАКТНЕЕ ОБЫЧНОГО, и это не вкусовщина.
132
+
133
+ У `TextControl` высота 42 пикселя: 20 строчного бокса, 2×10 отступа и 2
134
+ рамки. Строка списка — 32. Разница видна ровно там, где поле стоит в одном
135
+ ряду со строками: ряд начинает «дышать» неровно, а при открытии правки строка
136
+ подпрыгивает на четырнадцать пикселей вместе со всем, что под ней.
137
+
138
+ Отступ снимается с САМОГО ПОЛЯ, а не с оболочки: рамка и подсветка фокуса
139
+ живут на оболочке, и обнулять её отступ значило бы прижать текст к рамке.
140
+ `20 + 2×5 + 2 = 32` — ровно высота строки.
141
+ */
142
+ const FIELD_COMPACT_CLASS = "py-[5px]";
143
+
144
+ export interface EditableListHandle {
145
+ /**
146
+ * Поставить фокус в строку добавления.
147
+ *
148
+ * Строки нет (`add` не передан) — вызов молча ничего не делает. Молча, а не
149
+ * исключением: вызывающий приходит из палитры команд или горячей клавиши и
150
+ * как раз НЕ хочет знать, в каком состоянии список. Исключение здесь
151
+ * означало бы проверку на стороне каждого вызова.
152
+ *
153
+ * `select` выделяет набранное: повторный вызов тогда начинает ввод заново, а
154
+ * не дописывает к прошлому. Без него поле, уже бывшее в фокусе, остаётся как
155
+ * есть — ни каретка, ни текст не трогаются.
156
+ */
157
+ focusAdd: (options?: { select?: boolean }) => void;
158
+ }
159
+
160
+ //: `group` ЗДЕСЬ — КОНТРАКТ, А НЕ ВЁРСТКА (ADR-0046). Внутри кита им никто не
161
+ //: пользуется, но содержимое слотов `leading` и `trailing` у потребителя
162
+ //: опирается на `group-hover:` и `group-focus-within:`, чтобы показывать
163
+ //: действия строки по наведению. Снимете как мёртвый класс — у потребителя
164
+ //: молча сломается: кнопки просто станут видны всегда. Закреплено тестом
165
+ //: «строка остаётся корнем Tailwind-группы».
166
+ const ROW_CLASS =
167
+ "group hover:bg-bg-2 flex items-center gap-1.5 rounded-lg px-1 py-1.5 text-[13px] " +
168
+ "focus-visible:outline-accent-strong focus-visible:outline-2 focus-visible:outline-offset-2 " +
169
+ "dragging:opacity-50";
170
+
171
+ //: Разделитель — рамка снизу у всех строк, кроме последней. Скругление
172
+ //: снимается: под скруглённой строкой линия загнулась бы по углам.
173
+ const DIVIDED_ROW_CLASS = "border-line-soft rounded-none border-b last:border-b-0";
174
+
175
+ /**
176
+ * Строка, пропавшая из `items` и доживающая свой уход.
177
+ *
178
+ * Хранится СНИМОК элемента, а не ссылка на него в `items`: элемента там уже
179
+ * нет, и взять подпись, иконку и слоты будет неоткуда — а рисовать уходящую
180
+ * строку пустой значит показать не уход, а мигание.
181
+ */
182
+ interface LeavingRow {
183
+ item: EditableListItem;
184
+ /** Место, на котором строка стояла: на нём она и доживает. */
185
+ index: number;
186
+ /**
187
+ * Высота в момент пропажи — от неё идёт смыкание.
188
+ *
189
+ * Замеряется, потому что `height` не интерполируется от `auto`, а высота
190
+ * строки зависит от содержимого потребителя: у списка с флажком она одна, у
191
+ * списка с аватаром другая, и знать её заранее компонент не может.
192
+ */
193
+ height: number;
194
+ }
195
+
196
+ /**
197
+ * Список вместе с призраками, каждый на своём прежнем месте.
198
+ *
199
+ * Места считаются по индексам ПРОПАЖИ, а не по соседям: соседей могло не
200
+ * остаться вовсе — массовое действие снимает десяток строк разом.
201
+ */
202
+ function withLeaving(items: EditableListItem[], leaving: LeavingRow[]): EditableListItem[] {
203
+ const merged = [...items];
204
+ for (const row of [...leaving].sort((a, b) => a.index - b.index))
205
+ merged.splice(Math.min(row.index, merged.length), 0, row.item);
206
+ return merged;
207
+ }
208
+
209
+ /**
210
+ * Список, строки которого правят по месту, пополняют снизу и переставляют
211
+ * перетаскиванием.
212
+ *
213
+ * ПОЧЕМУ ЭТО НЕ `SortableList` С ПОЛЕМ ВНУТРИ — разбор в
214
+ * ADR-0045.
215
+ * Коротко: строка добавления не является элементом коллекции `GridList`, и у
216
+ * перехода фокуса в неё и обратно не остаётся владельца, если собирать это
217
+ * композицией. Клавиши внутри строки — тоже контракт, а не вёрстка.
218
+ *
219
+ * ЧТО ВЫБИРАТЬ. Нужен только порядок — `SortableList`: он проще и его строка не
220
+ * умеет ничего лишнего. Нужно дерево — `TreeView`. Порядок вычисляется из
221
+ * значения колонки, а не назначается человеком, — `Table` и `DataTable`.
222
+ *
223
+ * СОСТОЯНИЕ НЕ ХРАНИТСЯ. Порядок и значения приходят пропами и уходят наружу
224
+ * целиком (ADR-0023); внутри живут только два черновика — правки и добавления.
225
+ * Компонент, хранящий подтверждённое, показывал бы своё после отказа сервера
226
+ * сохранить.
227
+ *
228
+ * КЛАВИАТУРА:
229
+ *
230
+ * - `↑`/`↓` ходят по строкам, `→` уводит фокус на ручку, `Enter` на ручке
231
+ * начинает перенос — всё это даёт `GridList` (ADR-0028);
232
+ * - `Enter` на строке открывает правку, двойной щелчок — то же мышью;
233
+ * - в поле правки `Enter` подтверждает, `Escape` возвращает прежнее значение,
234
+ * и оба возвращают фокус на строку; щелчок мимо подтверждает и фокус не
235
+ * забирает — контракт `InlineEdit` перенесён дословно;
236
+ * - `↓` с последней строки приводит в строку добавления, `↑` из неё —
237
+ * обратно на последнюю строку;
238
+ * - в строке добавления `Enter` подтверждает и ОСТАВЛЯЕТ поле открытым: серия
239
+ * задач вводится подряд. Пустое подтверждение не создаёт ничего.
240
+ *
241
+ * ПОКА СТРОКА В ПРАВКЕ, ТАЩИТЬ ЕЁ НЕЛЬЗЯ: ручка выключена, а стрелки
242
+ * принадлежат каретке. Без второго `↑`/`↓` из открытого поля уезжали бы по
243
+ * списку — ради этого перехвата компонент и заводился, поэтому он проверяется
244
+ * отдельным браузерным тестом.
245
+ *
246
+ * ДОМЕННЫХ СОСТОЯНИЙ КОМПОНЕНТ НЕ ЗНАЕТ. Зачёркивание выполненного,
247
+ * приглушение отложенного, бейдж статуса рисует потребитель в `leading` и
248
+ * `trailing`.
249
+ */
250
+ export const EditableList = forwardRef<EditableListHandle, EditableListProps>(function EditableList(
251
+ {
252
+ items,
253
+ onReorder,
254
+ onValueChange,
255
+ editLabel,
256
+ "aria-label": ariaLabel,
257
+ add,
258
+ leading,
259
+ trailing,
260
+ onRowAction,
261
+ divided = false,
262
+ emptyText,
263
+ className,
264
+ }: EditableListProps,
265
+ ref
266
+ ) {
267
+ const messages = useMessages();
268
+
269
+ const [editingId, setEditingId] = useState<Key | null>(null);
270
+ const [leaving, setLeaving] = useState<LeavingRow[]>([]);
271
+
272
+ const fieldRef = useRef<HTMLInputElement>(null);
273
+ const addRef = useRef<HTMLInputElement>(null);
274
+ const listRef = useRef<HTMLDivElement>(null);
275
+ // Escape снимает режим сам, и вслед за ним не должно сработать подтверждение
276
+ // по потере фокуса.
277
+ const cancelling = useRef(false);
278
+ // Возврат фокуса нужен НЕ всегда: после щелчка мимо забирать его обратно
279
+ // значит уводить оттуда, куда пользователь только что ушёл.
280
+ const returnTo = useRef<Key | null>(null);
281
+ /*
282
+ ЧЕРНОВИКИ ЖИВУТ В САМИХ ПОЛЯХ, А НЕ В СОСТОЯНИИ — и это не экономия на
283
+ ре-рендерах, а единственный способ, которым правка вообще работает.
284
+
285
+ `GridList` перемонтирует содержимое строки на каждый рендер компонента.
286
+ Черновик в состоянии означал бы рендер на каждое нажатие, а значит — новый
287
+ узел поля, повторный вызов callback-ref и возврат исходного значения:
288
+ набранное стиралось прямо во время набора. Проверено в живом браузере, и
289
+ видно это было только там — в jsdom коллекция ведёт себя иначе.
290
+
291
+ Отсюда правило: пока печатают, состояние здесь не меняется. Компонент
292
+ перерисовывается ровно на переходе режима правки.
293
+ */
294
+ const openSeed = useRef("");
295
+
296
+ /*
297
+ Наружу отдаётся ОДНА ручка, а не сам элемент ввода.
298
+
299
+ Отдай компонент `HTMLInputElement` — и его разметка станет публичным
300
+ контрактом: потребитель начнёт читать `value`, вешать обработчики и
301
+ полагаться на то, что поле именно `input`, а не, скажем, пара из поля и
302
+ подложки. Узкий хэндл говорит ровно то, что нужно вызывающему: «поставь
303
+ курсор туда, куда человек собирается печатать».
304
+
305
+ Фокус ставится без `preventScroll`: если строка добавления за пределами
306
+ видимой области, браузер сам приведёт её на экран — ради этого умолчание и
307
+ существует, переопределять его нечем.
308
+ */
309
+ useImperativeHandle(
310
+ ref,
311
+ () => ({
312
+ focusAdd: (options) => {
313
+ const node = addRef.current;
314
+ if (node == null) return;
315
+ node.focus();
316
+ if (options?.select) node.select();
317
+ },
318
+ }),
319
+ []
320
+ );
321
+
322
+ const editing = items.find((item) => item.id === editingId) ?? null;
323
+ const last = items.length > 0 ? items[items.length - 1] : null;
324
+
325
+ /*
326
+ Строка ищется в DOM по `data-key`, а не по карте рефов.
327
+
328
+ `GridListItem` проп `ref` до своего элемента не доносит — проверено в живом
329
+ браузере: карта оставалась пустой, и `Enter` на строке молча ничего не
330
+ открывал. Атрибут же react-aria ставит сама, и он и так нужен обработчику
331
+ клавиш, чтобы понять, на какой строке стоит фокус.
332
+ */
333
+ const rowNode = (id: Key) =>
334
+ listRef.current?.querySelector<HTMLElement>(`[data-key="${CSS.escape(String(id))}"]`) ?? null;
335
+
336
+ const focusRow = (id: Key) => rowNode(id)?.focus();
337
+
338
+ /*
339
+ СТРОКА, ПРОПАВШАЯ ИЗ `items`, ДОЖИВАЕТ СВОЙ УХОД.
340
+
341
+ Довод тот же, по которому оверлеи получили уход в 3.23: исчезновение в кадр
342
+ читается как сбой. У строки списка цена выше — она исчезает не одна:
343
+ соседние смыкаются мгновенно, и вместе с ними подпрыгивает всё, что ниже.
344
+ Человек отметил задачу выполненной, а список под курсором переложился
345
+ рывком, и следующая строка оказалась под указателем раньше, чем он понял,
346
+ какая ушла.
347
+
348
+ ПРИДЕРЖАТЬ СТРОКУ МОЖЕТ ТОЛЬКО КОМПОНЕНТ. Разметка строк — его: наружу не
349
+ выдаётся ни узел, ни `ref`, ни класс. Потребителю остаётся единственный
350
+ способ — соврать, что запись ещё в списке; тогда на время ухода она
351
+ остаётся настоящей строкой: её найдёт перетаскивание, по ней пойдёт фокус,
352
+ её объявит скринридер, и `onReorder` вернёт её ключ в новом порядке.
353
+
354
+ СРАВНЕНИЕ ИДЁТ В РЕНДЕРЕ, А НЕ В ЭФФЕКТЕ. Эффект стреляет после коммита, а
355
+ к тому моменту строки в DOM уже нет: она пропала бы на кадр и вернулась
356
+ призраком — то самое мигание, ради устранения которого всё и делается.
357
+ Здесь же прежний DOM ещё на месте, и его можно и замерить, и спросить про
358
+ фокус.
359
+ */
360
+ const shownItems = useRef(items);
361
+ const focusFrom = useRef<number | null>(null);
362
+
363
+ if (shownItems.current !== items) {
364
+ const previous = shownItems.current;
365
+ shownItems.current = items;
366
+ const present = new Set(items.map((item) => String(item.id)));
367
+ const gone: LeavingRow[] = [];
368
+ /*
369
+ Место берётся из DOM, а не из индекса в прежнем `items`.
370
+
371
+ Прежний массив призраков не знает: строка, ушедшая секунду назад, в нём
372
+ уже не числится, и индексы следующих сдвинуты на неё. Две пропажи подряд
373
+ в разных местах от этого менялись местами на экране. На экране же порядок
374
+ настоящий — его и спрашиваем.
375
+ */
376
+ const shown = [...(listRef.current?.querySelectorAll<HTMLElement>("[data-key]") ?? [])];
377
+ previous.forEach((item, fallbackIndex) => {
378
+ if (present.has(String(item.id))) return;
379
+ const node = rowNode(item.id);
380
+ const index = node != null ? shown.indexOf(node) : fallbackIndex;
381
+ /*
382
+ Фокус спрашивается ДО коммита. После него строка уже `inert`, браузер
383
+ снимает с неё фокус сам, и узнать, стоял ли он здесь, будет негде:
384
+ `document.activeElement` к этому времени — `body`.
385
+
386
+ Место берётся ЗДЕСЬ из прежнего `items`, а не с экрана: по нему потом
387
+ ищется сосед в новом `items`, и экранный индекс, считающий призраков,
388
+ указал бы мимо — через строку от ушедшей.
389
+ */
390
+ if (node != null && node.contains(document.activeElement))
391
+ focusFrom.current = Math.min(focusFrom.current ?? fallbackIndex, fallbackIndex);
392
+ gone.push({
393
+ item,
394
+ index: index < 0 ? fallbackIndex : index,
395
+ height: node?.offsetHeight ?? 0,
396
+ });
397
+ });
398
+ /*
399
+ Вернувшийся ключ снимает своего призрака немедленно: двух строк с одним
400
+ `id` в коллекции быть не может, а «удалил и сразу вернул» — обычный
401
+ случай отмены у потребителя.
402
+ */
403
+ const kept = leaving.filter((row) => !present.has(String(row.item.id)));
404
+ if (gone.length > 0 || kept.length !== leaving.length) setLeaving([...kept, ...gone]);
405
+ }
406
+
407
+ const rows = leaving.length === 0 ? items : withLeaving(items, leaving);
408
+
409
+ /*
410
+ ФОКУС УХОДИТ ВПЕРЁД, а не остаётся на призраке: с `inert` он провалится в
411
+ `body`, и клавиатурная работа со списком оборвётся на каждом выполнении.
412
+
413
+ Вперёд — это на строку, занявшую место ушедшей: фокус остаётся там же, где
414
+ был. Её нет (ушла последняя) — предыдущая; списка не осталось вовсе —
415
+ строка добавления.
416
+
417
+ Без списка зависимостей: эффект стреляет на коммите, где строка пропала, а
418
+ сторожит его ref, а не сравнение пропсов.
419
+ */
420
+ useLayoutEffect(() => {
421
+ const from = focusFrom.current;
422
+ if (from == null) return;
423
+ focusFrom.current = null;
424
+ const next = items[from] ?? items[items.length - 1];
425
+ if (next != null) focusRow(next.id);
426
+ else addRef.current?.focus();
427
+ });
428
+
429
+ const dropLeaving = (key: string) =>
430
+ setLeaving((current) => current.filter((row) => String(row.item.id) !== key));
431
+
432
+ /*
433
+ ПРИЗРАК СНИМАЕТСЯ ПО КОНЦУ СВОЕЙ АНИМАЦИИ, а не по таймеру на ту же ступень:
434
+ таймер пришлось бы держать в согласии со шкалой числом, то есть завести
435
+ вторую запись длительности вне `styles.css`.
436
+
437
+ Слушатель висит на обёртке, а не на строке: `animationend` всплывает, а
438
+ `GridListItem` своих обработчиков анимации наружу не отдаёт. И он НАСТОЯЩИЙ,
439
+ а не синтетический: React-обработчик `onAnimationEnd` на это событие в jsdom
440
+ не срабатывает вовсе (проверено), то есть единственный способ проверить уход
441
+ вне браузера пропал бы вместе с ним.
442
+
443
+ Второй путь — для случая «анимации нет вовсе»: её нет в jsdom и у браузера,
444
+ которому движение отключили настолько, что правило не применилось. Без него
445
+ строка осталась бы на экране навсегда.
446
+
447
+ КАДР ЗДЕСЬ ОБЯЗАТЕЛЕН. `GridList` монтирует строки отдельным проходом, позже
448
+ нашего коммита: на момент эффекта узла призрака ещё нет, и пустой ответ
449
+ `getAnimations` означал бы «не анимируется» для каждой уходящей строки.
450
+ Проверено в живом браузере: без кадра уход не начинался вовсе — строка
451
+ пропадала в тот же кадр, как и до правки.
452
+ */
453
+ useLayoutEffect(() => {
454
+ if (leaving.length === 0) return;
455
+ const node = listRef.current;
456
+ const ids = new Set(leaving.map((row) => String(row.item.id)));
457
+
458
+ const onAnimationEnd = (event: AnimationEvent) => {
459
+ // Своя анимация строки, а не чужая: у потребителя в слотах бывает
460
+ // собственная, и она всплывает сюда же.
461
+ const key = (event.target as HTMLElement | null)?.getAttribute?.("data-key");
462
+ if (key != null && ids.has(key)) dropLeaving(key);
463
+ };
464
+ node?.addEventListener("animationend", onAnimationEnd);
465
+ // `animationcancel` — не перестраховка: анимацию прерывает любая правка
466
+ // разметки строки у потребителя, а прерванная не досылает `animationend`,
467
+ // и призрак остался бы на экране навсегда.
468
+ node?.addEventListener("animationcancel", onAnimationEnd);
469
+
470
+ const dropWhatDoesNotAnimate = () => {
471
+ for (const key of ids)
472
+ if ((rowNode(key)?.getAnimations?.().length ?? 0) === 0) dropLeaving(key);
473
+ };
474
+ const frame =
475
+ typeof requestAnimationFrame === "function"
476
+ ? requestAnimationFrame(dropWhatDoesNotAnimate)
477
+ : (dropWhatDoesNotAnimate(), null);
478
+
479
+ return () => {
480
+ node?.removeEventListener("animationend", onAnimationEnd);
481
+ node?.removeEventListener("animationcancel", onAnimationEnd);
482
+ if (frame != null) cancelAnimationFrame(frame);
483
+ };
484
+ }, [leaving]);
485
+
486
+ /*
487
+ ФОКУС СТАВИТСЯ В CALLBACK-REF, А НЕ В ЭФФЕКТЕ — и это тоже находка живого
488
+ браузера, а не вкусовщина.
489
+
490
+ `GridList` монтирует содержимое строки отдельным проходом, позже собственного
491
+ коммита: к моменту `useLayoutEffect` реф поля ещё пуст, и фокус уходил в
492
+ никуда — поле открывалось, а печатать в него было нельзя. Callback-ref
493
+ срабатывает ровно тогда, когда узел появился.
494
+
495
+ Ссылка стабильна внутри одной правки (`useCallback` по `editingId`), иначе
496
+ React отцеплял бы и прицеплял реф на каждый ввод символа и `select()`
497
+ сбрасывал бы набранное.
498
+ */
499
+ const attachField = useCallback(
500
+ (node: HTMLInputElement | null) => {
501
+ fieldRef.current = node;
502
+ if (node == null) return;
503
+ cancelling.current = false;
504
+ // Значение кладётся в DOM СИНХРОННО, до `select()`: `setDraft` — запрос на
505
+ // рендер, а не запись, и к моменту выделения в поле стоял бы прежний текст.
506
+ node.value = openSeed.current;
507
+ node.focus();
508
+ node.select();
509
+ },
510
+ [editingId]
511
+ );
512
+
513
+ useLayoutEffect(() => {
514
+ if (editing != null) return;
515
+ if (returnTo.current == null) return;
516
+ const id = returnTo.current;
517
+ returnTo.current = null;
518
+ focusRow(id);
519
+ // Зависимость ТОЛЬКО `editingId`: правка значения снаружи при открытом поле
520
+ // не должна затирать набранное. Эффект стреляет на переходе режима, а не на
521
+ // смене значения — то же решение, что в `InlineEdit`.
522
+ }, [editingId]);
523
+
524
+ const startEdit = (item: EditableListItem) => {
525
+ if (item.disabled) return;
526
+ openSeed.current = item.value;
527
+ setEditingId(item.id);
528
+ };
529
+
530
+ const commit = (withFocus: boolean) => {
531
+ if (!editing) return;
532
+ const { id, value } = editing;
533
+ // Набранное читается из DOM: своей копии у компонента нет.
534
+ const next = fieldRef.current?.value ?? value;
535
+ returnTo.current = withFocus ? id : null;
536
+ setEditingId(null);
537
+ if (next !== value) onValueChange(id, next);
538
+ };
539
+
540
+ const cancel = () => {
541
+ if (!editing) return;
542
+ cancelling.current = true;
543
+ returnTo.current = editing.id;
544
+ setEditingId(null);
545
+ };
546
+
547
+ /*
548
+ ВСЕ КЛАВИШИ СПИСКА РАЗБИРАЮТСЯ ЗДЕСЬ, В ОДНОМ МЕСТЕ И В ФАЗЕ ПОГРУЖЕНИЯ.
549
+
550
+ Так вышло не от любви к единому обработчику, а по замеру в живом браузере:
551
+ `GridList` слушает клавиши САМ и делает это на погружении, то есть раньше
552
+ любого обработчика на поле внутри строки. Обработчик, висевший на поле,
553
+ отрабатывал уже после того, как список успевал увести фокус: `↓` из
554
+ открытого поля прыгала на следующую строку вместо движения каретки. Ровно
555
+ этот дефект компонент и обязан не допускать.
556
+
557
+ Обёртка — предок списка, поэтому её погружение идёт первым: событие,
558
+ остановленное тут, до react-aria не доходит вовсе.
559
+ */
560
+ const handleListKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {
561
+ const target = event.target as HTMLElement;
562
+ // Поле опознаётся по атрибуту, а не по совпадению с рефом: `GridList`
563
+ // перемонтирует содержимое строки, и сравнение по ссылке нет-нет да и
564
+ // промахивалось — Escape уходил в список, тот уводил фокус, и правка
565
+ // подтверждалась по потере фокуса вместо отмены.
566
+ const field = target.getAttribute("data-field");
567
+
568
+ if (field === "edit") {
569
+ // Гасится ВСЁ, а не только Enter и Escape: стрелки, пробел и буквы
570
+ // принадлежат каретке, а список забрал бы их себе под навигацию и набор
571
+ // по первым буквам.
572
+ event.stopPropagation();
573
+ if (event.key === "Enter") {
574
+ event.preventDefault();
575
+ commit(true);
576
+ }
577
+ if (event.key === "Escape") {
578
+ event.preventDefault();
579
+ cancel();
580
+ }
581
+ return;
582
+ }
583
+
584
+ if (field === "add") {
585
+ event.stopPropagation();
586
+ if (event.key === "Enter") {
587
+ event.preventDefault();
588
+ const value = (addRef.current?.value ?? "").trim();
589
+ // Пустое подтверждение — не создание пустой строки, а отсутствие ввода.
590
+ if (value === "") return;
591
+ // Поле чистится и ОСТАЁТСЯ открытым и в фокусе: в этом вся разница с
592
+ // `InlineEdit`, который по Enter закрывается.
593
+ if (addRef.current != null) addRef.current.value = "";
594
+ add?.onAdd(value);
595
+ return;
596
+ }
597
+ if (event.key === "Escape") {
598
+ event.preventDefault();
599
+ // Первый Escape чистит черновик, второй уводит фокус: иначе из поля,
600
+ // которое всегда на экране, некуда выйти с клавиатуры.
601
+ if ((addRef.current?.value ?? "") !== "") {
602
+ if (addRef.current != null) addRef.current.value = "";
603
+ return;
604
+ }
605
+ if (last != null) focusRow(last.id);
606
+ return;
607
+ }
608
+ if (event.key === "ArrowUp" && last != null) {
609
+ // Однострочному полю вертикальные стрелки не нужны, а список наверху.
610
+ event.preventDefault();
611
+ focusRow(last.id);
612
+ }
613
+ return;
614
+ }
615
+
616
+ /*
617
+ КЛАВИШИ НИЖЕ ПРИНАДЛЕЖАТ СТРОКЕ, А НЕ ТОМУ, ЧТО В НЕЙ ЛЕЖИТ.
618
+
619
+ Раньше цель искалась через `closest("[data-key]")`, то есть срабатывала
620
+ на любом потомке строки. Первой под это попадала собственная ручка
621
+ переноса: `Enter` на ней гасился здесь и открывал правку, а до
622
+ react-aria не доходил — перенос с клавиатуры не начинался никогда, хотя
623
+ справочник его обещает. Следом попадало всё, что потребитель кладёт в
624
+ `leading` и `trailing`: флажок и кнопки действий строки по `Enter`
625
+ открывали правку вместо своего действия.
626
+
627
+ Строка в фокусе — это она сама: `GridList` вешает `data-key` на элемент
628
+ строки, и `event.target` при этом равен ему. Поэтому условие строгое.
629
+ */
630
+ const key = target.getAttribute("data-key");
631
+ if (key == null) return;
632
+
633
+ if (event.key === "Enter") {
634
+ const item = items.find((candidate) => String(candidate.id) === key);
635
+ if (item == null) return;
636
+ event.preventDefault();
637
+ event.stopPropagation();
638
+ startEdit(item);
639
+ return;
640
+ }
641
+ if (event.key === "ArrowDown" && add != null && last != null && key === String(last.id)) {
642
+ event.preventDefault();
643
+ event.stopPropagation();
644
+ addRef.current?.focus();
645
+ }
646
+ };
647
+
648
+ const { dragAndDropHooks } = useDragAndDrop({
649
+ getItems: (keys) => [...keys].map((key) => ({ "text/plain": String(key) })),
650
+ /*
651
+ ТОЛЬКО `move`, и это не украшение курсора.
652
+
653
+ По умолчанию разрешены и перемещение, и копирование, а операционная
654
+ система рисует для копирования «плюс» — пользователь видит его посреди
655
+ перестановки и ждёт, что строка удвоится. Скопировать строку список не
656
+ умеет и уметь не должен: он меняет порядок, а не состав.
657
+
658
+ В WEBKIT ЗНАЧОК ВСЁ РАВНО МЕЛЬКАЕТ, и починить это отсюда нельзя.
659
+ Настройка применяется: `effectAllowed` записывается и читается обратно
660
+ как `move` в обоих движках, react-aria вдобавок пишет `dropEffect: move`
661
+ на каждом `dragover`. Но WebKit теряет её на уровне сессии
662
+ перетаскивания и отдаёт приёмнику `all` (bugs.webkit.org/show_bug.cgi
663
+ ?id=178058), а `all` включает копирование — система и рисует «плюс»,
664
+ пока её не переубедят. Сама перестановка при этом верна: react-aria
665
+ держит настоящий набор операций в своей переменной и пересекает с тем,
666
+ что пришло, — строк после броска столько же, сколько было. Замер обоих
667
+ движков — в справочнике компонента.
668
+ */
669
+ getAllowedDropOperations: () => ["move"],
670
+ onReorder(event) {
671
+ const next = reorder(items, event.keys, event.target);
672
+ if (next != null) onReorder(next.map((item) => item.id));
673
+ },
674
+ renderDropIndicator: (target) => (
675
+ <DropIndicator
676
+ target={target}
677
+ className="drop-target:bg-accent-strong h-0.5 rounded-full bg-transparent"
678
+ />
679
+ ),
680
+ });
681
+
682
+ return (
683
+ /*
684
+ Перехват клавиш висит на ОБЁРТКЕ, а не на `GridList`: своих DOM-пропов
685
+ событий он не принимает. Обёртка и без того нужна под строку добавления,
686
+ а погружение до самого списка всё равно проходит через неё.
687
+ */
688
+ <div
689
+ ref={listRef}
690
+ className={cn("flex flex-col", divided ? "gap-0" : "gap-0.5", className)}
691
+ onKeyDownCapture={handleListKeyDown}
692
+ >
693
+ <GridList
694
+ aria-label={ariaLabel}
695
+ // Призраки идут в коллекцию наравне со строками: место в ряду у них
696
+ // настоящее, иначе уход шёл бы не там, где строка стояла.
697
+ items={rows}
698
+ /*
699
+ БЕЗ ЭТОГО ПРАВКА НЕ ОТКРЫВАЕТСЯ ВОВСЕ — проверено в живом браузере.
700
+
701
+ `GridList` строит коллекцию один раз и кеширует строки по элементам:
702
+ смена внешнего состояния строки не перерисовывает. `editingId` в
703
+ элементе не живёт (и жить не должен: он про режим, а не про данные),
704
+ поэтому он объявляется зависимостью явно. Обработчик клавиш при этом
705
+ отрабатывал исправно — дефект был бы тихим.
706
+ */
707
+ dependencies={[editingId, leaving]}
708
+ dragAndDropHooks={dragAndDropHooks}
709
+ renderEmptyState={emptyText != null ? () => emptyText : undefined}
710
+ className={cn("flex flex-col", divided ? "gap-0" : "gap-0.5")}
711
+ >
712
+ {(item) => {
713
+ const leavingRow = leaving.find((row) => row.item.id === item.id);
714
+ const isLeaving = leavingRow != null;
715
+ // Призрак не правится: поле в уходящей строке успело бы забрать
716
+ // фокус и осталось бы открытым над пустым местом.
717
+ const isEditing = !isLeaving && item.id === editingId;
718
+ return (
719
+ <GridListItem
720
+ id={item.id}
721
+ /*
722
+ УХОДЯЩАЯ СТРОКА НЕЖИВАЯ НЕМЕДЛЕННО, а не в конце анимации.
723
+
724
+ `inert` разом закрывает всё, что иначе пришлось бы закрывать
725
+ по отдельности: строка не фокусируется, не отвечает на щелчок
726
+ и не попадает в дерево доступности — для незрячего запись
727
+ исчезла в момент действия, и держать её лишние 150 мс незачем.
728
+ `isDisabled` добавлен рядом не для красоты: `inert` не знает
729
+ про коллекцию react-aria, и без него стрелки продолжали бы
730
+ считать призрака остановкой на пути.
731
+ */
732
+ inert={isLeaving}
733
+ isDisabled={isLeaving}
734
+ /*
735
+ Высота уезжает переменной, а не классом: она разная у каждой
736
+ строки, а классы Tailwind собираются на сборке (см. запрет на
737
+ `` `h-[${n}px]` `` в `lib/variants.ts`).
738
+ */
739
+ style={
740
+ isLeaving
741
+ ? ({ "--row-exit-h": `${leavingRow.height}px` } as CSSProperties)
742
+ : undefined
743
+ }
744
+ /*
745
+ У пустого значения имя берётся из подписи-заглушки, а не
746
+ остаётся пустым: react-aria на безымянную строку отвечает
747
+ предупреждением в консоль, и список с такой строкой выглядит
748
+ рабочим, а набором по первым буквам до неё не добраться.
749
+ */
750
+ textValue={
751
+ item.textValue ??
752
+ (item.value === "" ? messages.editableList.emptyValue : item.value)
753
+ }
754
+ onAction={onRowAction != null ? () => onRowAction(item.id) : undefined}
755
+ /*
756
+ В правке строка отдаёт свои вертикальные отступы полю: поле
757
+ несёт собственную рамку и отступ, и сложенные вместе они давали
758
+ 44 пикселя против 32 у соседей — строка подпрыгивала, а вместе с
759
+ ней уезжал вниз весь список.
760
+ */
761
+ className={cn(
762
+ ROW_CLASS,
763
+ divided && DIVIDED_ROW_CLASS,
764
+ isEditing && "py-0",
765
+ // `overflow-hidden` — часть смыкания: без него содержимое
766
+ // строки торчало бы из схлопывающейся высоты.
767
+ isLeaving && "animate-rowout overflow-hidden"
768
+ )}
769
+ >
770
+ {/*
771
+ Ручка — часть контракта, а не опция: без `<Button slot="drag">`
772
+ строка таскается мышью, с клавиатуры не берётся вовсе, и
773
+ react-aria лишь пишет предупреждение в консоль (ADR-0028).
774
+
775
+ КУРСОР И ЩЕЛЧОК ЖИВУТ НА ОБЁРТКЕ, А НЕ НА САМОЙ РУЧКЕ.
776
+
777
+ react-aria принудительно ставит кнопке переноса
778
+ `pointer-events: none` — она нужна ему как цель для клавиатуры
779
+ и скринридера, а не как цель указателя. Следствие, которое
780
+ легко не заметить: `cursor-grab` на ней не применялся НИКОГДА.
781
+ Замер: `getComputedStyle` у кнопки честно отдаёт `grab`, а
782
+ `elementFromPoint` в центре шести точек возвращает саму строку
783
+ с `cursor: auto`. То есть единственный видимый признак «здесь
784
+ берут и тащат» отсутствовал, хотя в исходнике выглядел
785
+ написанным.
786
+
787
+ Обёртка же указатель ловит, поэтому курсор стоит на ней.
788
+
789
+ Она же гасит щелчок: сквозь выключенную для указателя кнопку
790
+ он попадал в строку и звал её действие — то есть щелчок по
791
+ ручке делал то же, что щелчок по строке. Гасится pointerdown,
792
+ а не click: действие строки react-aria вызывает из `usePress`
793
+ по pointerup, до click. Перенос от этого не страдает — его
794
+ ведёт нативный `draggable` на строке, а он о всплытии
795
+ синтетических событий React ничего не знает.
796
+ */}
797
+ <span
798
+ className={cn(
799
+ "flex shrink-0",
800
+ !(item.disabled || isEditing || isLeaving) && "cursor-grab"
801
+ )}
802
+ onPointerDownCapture={(event) => event.stopPropagation()}
803
+ >
804
+ <Button
805
+ slot="drag"
806
+ aria-label={messages.editableList.drag}
807
+ isDisabled={item.disabled || isEditing || isLeaving}
808
+ className={
809
+ "text-fg-3 hover:text-fg-1 focus-visible:outline-accent-strong flex size-5 shrink-0 " +
810
+ "items-center justify-center rounded-xs focus-visible:outline-2 " +
811
+ "disabled:opacity-30"
812
+ }
813
+ >
814
+ <DragHandleIcon size={12} />
815
+ </Button>
816
+ </span>
817
+
818
+ {leading?.(item)}
819
+
820
+ {isEditing ? (
821
+ <TextControl
822
+ ref={attachField}
823
+ data-field="edit"
824
+ className={FIELD_COMPACT_CLASS}
825
+ aria-label={editLabel(item)}
826
+ defaultValue={editing?.value ?? item.value}
827
+ onBlur={() => {
828
+ if (cancelling.current) {
829
+ cancelling.current = false;
830
+ return;
831
+ }
832
+ commit(false);
833
+ }}
834
+ shellClassName="w-full"
835
+ />
836
+ ) : (
837
+ <span
838
+ onDoubleClick={() => startEdit(item)}
839
+ className={cn("min-w-0 flex-1 truncate", item.value === "" && "text-fg-3")}
840
+ >
841
+ {item.value === "" ? messages.editableList.emptyValue : item.value}
842
+ </span>
843
+ )}
844
+
845
+ {trailing?.(item)}
846
+ </GridListItem>
847
+ );
848
+ }}
849
+ </GridList>
850
+
851
+ {add != null ? (
852
+ <div className="flex items-center gap-1.5 px-1">
853
+ {/*
854
+ Строка добавления НЕ элемент коллекции: у неё нет ни ключа, ни
855
+ места в порядке, и перетаскивать её нечем. Место ручки при этом
856
+ занято пустым слотом — иначе поле разъезжается с названиями строк.
857
+ */}
858
+ <span aria-hidden className="size-5 shrink-0" />
859
+ {/*
860
+ Вторая ведущая колонка. Ширину `leading` задаёт потребитель, и
861
+ вычислить её компонент не может: замерять чужую разметку значило
862
+ бы читать раскладку в каждом рендере и всё равно промахиваться на
863
+ первом кадре. Поэтому колонку сообщает тот, кто её и создал.
864
+ */}
865
+ {add.leading}
866
+ <TextControl
867
+ ref={addRef}
868
+ data-field="add"
869
+ className={FIELD_COMPACT_CLASS}
870
+ aria-label={add.label}
871
+ placeholder={add.placeholder}
872
+ aria-busy={add.pending}
873
+ shellClassName="w-full"
874
+ />
875
+ </div>
876
+ ) : null}
877
+ </div>
878
+ );
879
+ });