@moysklad/uikit 28.1.0 → 30.4.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 (372) hide show
  1. package/README.md +3 -0
  2. package/dist/colorVariables.css +10 -0
  3. package/dist/components/AutoComplete/AutoComplete.d.ts +4 -2
  4. package/dist/components/AutoComplete/AutoComplete.js +45 -31
  5. package/dist/components/Badge/Badge.js +2 -3
  6. package/dist/components/Badge/Badge_module.css +2 -3
  7. package/dist/components/BottomSheet/BottomSheet.js +2 -2
  8. package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts +5 -3
  9. package/dist/components/Breadcrumbs/BreadcrumbItem.js +39 -8
  10. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +4 -1
  11. package/dist/components/Breadcrumbs/Breadcrumbs.js +10 -6
  12. package/dist/components/Button/Button.d.ts +1 -0
  13. package/dist/components/Button/Button.js +2 -2
  14. package/dist/components/Button/Button.module.js +1 -0
  15. package/dist/components/Button/Button_module.css +4 -0
  16. package/dist/components/Carousel/Carousel.js +5 -4
  17. package/dist/components/Checkbox/Checkbox.d.ts +1 -1
  18. package/dist/components/Chip/Chip.helpers.js +5 -2
  19. package/dist/components/Chip/Chip.js +9 -3
  20. package/dist/components/Chip/Chip.legacy_module.css +2 -2
  21. package/dist/components/Chip/Chip.types.d.ts +10 -4
  22. package/dist/components/Chip/Chip_module.css +5 -5
  23. package/dist/components/Chip/components/ChipLabel.d.ts +3 -1
  24. package/dist/components/Chip/components/ChipLabel.js +4 -2
  25. package/dist/components/Chip/components/ChipMainButton.d.ts +3 -4
  26. package/dist/components/Chip/components/ChipMainButton.js +2 -1
  27. package/dist/components/Chip/components/ChipRoot.d.ts +3 -2
  28. package/dist/components/Chip/components/ChipRoot.js +2 -1
  29. package/dist/components/Dropdown/Dropdown.d.ts +2 -0
  30. package/dist/components/Dropdown/Dropdown.js +7 -4
  31. package/dist/components/Dropdown/hooks/usePosition.d.ts +2 -1
  32. package/dist/components/Dropdown/hooks/usePosition.js +3 -3
  33. package/dist/components/EditableTitle/EditableTitle.js +1 -1
  34. package/dist/components/FieldLabel/FieldLabel.constants.d.ts +1 -0
  35. package/dist/components/FieldLabel/FieldLabel.constants.js +5 -0
  36. package/dist/components/FieldLabel/FieldLabel.d.ts +17 -0
  37. package/dist/components/FieldLabel/FieldLabel.js +76 -0
  38. package/dist/components/FieldLabel/FieldLabel.module.js +11 -0
  39. package/dist/components/FieldLabel/FieldLabel_module.css +42 -0
  40. package/dist/components/FieldLabel/components/HelpButton.d.ts +8 -0
  41. package/dist/components/FieldLabel/components/HelpButton.js +15 -0
  42. package/dist/components/FieldLabel/components/HelpButton.module.js +5 -0
  43. package/dist/components/FieldLabel/components/HelpButton_module.css +8 -0
  44. package/dist/components/FieldLabel/components/index.d.ts +1 -0
  45. package/dist/components/FieldLabel/components/index.js +1 -0
  46. package/dist/components/FileUploader/FileUploader.helpers.d.ts +1 -0
  47. package/dist/components/FileUploader/FileUploader.helpers.js +4 -1
  48. package/dist/components/FileUploader/FileUploader.js +3 -1
  49. package/dist/components/FileUploader/FileUploader.types.d.ts +1 -0
  50. package/dist/components/FileUploader/components/FileUploaderPreview/FileUploaderPreview.js +4 -4
  51. package/dist/components/Help/Help.d.ts +12 -5
  52. package/dist/components/Help/Help.js +22 -7
  53. package/dist/components/Help/Help.module.js +6 -2
  54. package/dist/components/Help/Help_module.css +36 -8
  55. package/dist/components/Hint/Hint.js +4 -5
  56. package/dist/components/Hint/Hint.module.js +2 -3
  57. package/dist/components/Hint/Hint_module.css +0 -9
  58. package/dist/components/Info/Info.d.ts +1 -4
  59. package/dist/components/Info/Info.js +27 -4
  60. package/dist/components/Info/Info.module.js +4 -1
  61. package/dist/components/Info/Info_module.css +21 -0
  62. package/dist/components/Input/Input.d.ts +10 -0
  63. package/dist/components/Input/Input.js +93 -42
  64. package/dist/components/Input/Input.module.js +19 -3
  65. package/dist/components/Input/Input_module.css +156 -19
  66. package/dist/components/Input/components/InfoBlock.d.ts +12 -0
  67. package/dist/components/Input/components/InfoBlock.js +29 -0
  68. package/dist/components/InputClear/InputClear.d.ts +5 -2
  69. package/dist/components/InputClear/InputClear.js +10 -4
  70. package/dist/components/InputClear/InputClear.module.js +3 -1
  71. package/dist/components/InputClear/InputClear_module.css +23 -10
  72. package/dist/components/InputUnit/InputUnit.d.ts +3 -0
  73. package/dist/components/InputUnit/InputUnit.js +42 -32
  74. package/dist/components/InputUnit/InputUnit.module.js +6 -1
  75. package/dist/components/InputUnit/InputUnit_module.css +27 -29
  76. package/dist/components/InputUnit/SelectUnit/SelectUnit.d.ts +1 -1
  77. package/dist/components/InputUnit/SelectUnit/SelectUnit.js +1 -4
  78. package/dist/components/InputUnit/SelectUnit/SelectUnit.module.js +1 -0
  79. package/dist/components/InputUnit/SelectUnit/SelectUnitVisible.d.ts +1 -1
  80. package/dist/components/InputUnit/SelectUnit/SelectUnitVisible.js +7 -2
  81. package/dist/components/InputUnit/SelectUnit/SelectUnit_module.css +29 -37
  82. package/dist/components/InputUnit/SelectUnit/type.d.ts +1 -0
  83. package/dist/components/InputUnit/Unit/Unit.js +1 -2
  84. package/dist/components/InputUnit/Unit/Unit_module.css +1 -0
  85. package/dist/components/Label/Label.d.ts +1 -0
  86. package/dist/components/LabelValue/LabelValue.js +18 -52
  87. package/dist/components/LabelValue/LabelValue.module.js +0 -3
  88. package/dist/components/LabelValue/LabelValue_module.css +0 -17
  89. package/dist/components/LabelValueCheckbox/LabelValueCheckbox.d.ts +10 -0
  90. package/dist/components/LabelValueCheckbox/LabelValueCheckbox.js +22 -0
  91. package/dist/components/LabelValueCheckbox/LabelValueCheckbox.module.js +5 -0
  92. package/dist/components/LabelValueCheckbox/LabelValueCheckbox_module.css +5 -0
  93. package/dist/components/LabelValueSelect/Input/Input_module.css +1 -3
  94. package/dist/components/MentionsTextfield/MentionsTextfield.d.ts +1 -1
  95. package/dist/components/MentionsTextfield/MentionsTextfield.js +41 -25
  96. package/dist/components/MentionsTextfield/OptionForStory/OptionForStory.d.ts +7 -0
  97. package/dist/components/MentionsTextfield/OptionForStory/OptionForStory.js +27 -0
  98. package/dist/components/MentionsTextfield/OptionForStory/OptionForStory.module.js +8 -0
  99. package/dist/components/MentionsTextfield/OptionForStory/OptionForStory_module.css +25 -0
  100. package/dist/components/MentionsTextfield/OptionForStory/index.d.ts +1 -0
  101. package/dist/components/MentionsTextfield/OptionForStory/index.js +1 -0
  102. package/dist/components/Multiselect/DropdownContent/MultiselectDropdownContent.js +5 -4
  103. package/dist/components/Multiselect/Input/Input_module.css +1 -3
  104. package/dist/components/Multiselect/Multiselect.d.ts +4 -0
  105. package/dist/components/Select/Combobox/Combobox_module.css +2 -6
  106. package/dist/components/Select/DropDownWithColors/DropDownWithColors.d.ts +1 -0
  107. package/dist/components/Select/DropDownWithColors/DropDownWithColors.js +2 -1
  108. package/dist/components/Select/DropdownActionsContainer/DropdownActionsContainer.d.ts +3 -0
  109. package/dist/components/Select/DropdownActionsContainer/DropdownActionsContainer.js +17 -0
  110. package/dist/components/Select/DropdownActionsContainer/DropdownActionsContainer.module.js +6 -0
  111. package/dist/components/Select/DropdownActionsContainer/DropdownActionsContainer_module.css +12 -0
  112. package/dist/components/Select/OptionsList/OptionsList.d.ts +2 -1
  113. package/dist/components/Select/OptionsList/OptionsList.js +3 -2
  114. package/dist/components/Select/OptionsList/OptionsList_module.css +4 -0
  115. package/dist/components/Select/Select.d.ts +8 -2
  116. package/dist/components/Select/Select.js +29 -34
  117. package/dist/components/Select/Select.module.js +1 -2
  118. package/dist/components/Select/Select_module.css +2 -14
  119. package/dist/components/Select/ShortVariant/ShortVariant.d.ts +5 -1
  120. package/dist/components/Select/ShortVariant/ShortVariant.js +5 -4
  121. package/dist/components/Select/ShortVariant/ShortVariant.module.js +1 -0
  122. package/dist/components/Select/ShortVariant/ShortVariant_module.css +5 -1
  123. package/dist/components/Select/types.d.ts +1 -0
  124. package/dist/components/Select/useDropdownPadding.d.ts +5 -0
  125. package/dist/components/Select/useDropdownPadding.js +22 -0
  126. package/dist/components/Textfield/Textfield.d.ts +18 -2
  127. package/dist/components/Textfield/Textfield.js +37 -13
  128. package/dist/components/Textfield/Textfield.module.js +2 -1
  129. package/dist/components/Textfield/Textfield_module.css +95 -23
  130. package/dist/components/Textfield/components/ActionButton/ActionButton.d.ts +9 -0
  131. package/dist/components/Textfield/components/ActionButton/ActionButton.js +12 -0
  132. package/dist/components/Textfield/components/ActionButton/ActionButton.module.js +9 -0
  133. package/dist/components/Textfield/components/ActionButton/ActionButton_module.css +54 -0
  134. package/dist/components/Textfield/components/ActionButton/index.d.ts +1 -0
  135. package/dist/components/Textfield/components/ActionButton/index.js +1 -0
  136. package/dist/components/Textfield/components/Container/Container.js +6 -3
  137. package/dist/components/Textfield/components/Counter/Counter.d.ts +3 -1
  138. package/dist/components/Textfield/components/Counter/Counter.js +5 -3
  139. package/dist/components/Textfield/components/Info/Info.d.ts +3 -1
  140. package/dist/components/Textfield/components/Info/Info.js +9 -4
  141. package/dist/components/Textfield/components/InnerContainer/InnerContainer.d.ts +3 -6
  142. package/dist/components/Textfield/components/InnerContainer/InnerContainer.js +2 -8
  143. package/dist/components/Textfield/components/InputContainer/InputContainer.d.ts +14 -3
  144. package/dist/components/Textfield/components/InputContainer/InputContainer.js +74 -5
  145. package/dist/components/Textfield/components/InputContainer/InputContainer.module.js +7 -1
  146. package/dist/components/Textfield/components/InputContainer/InputContainer_module.css +36 -7
  147. package/dist/components/Textfield/components/Label/Label.d.ts +2 -0
  148. package/dist/components/Textfield/components/Label/Label.js +11 -5
  149. package/dist/components/Textfield/components/Label/Label_module.css +1 -1
  150. package/dist/components/Textfield/components/ResizeHandle/ResizeHandle.d.ts +10 -0
  151. package/dist/components/Textfield/components/ResizeHandle/ResizeHandle.js +50 -0
  152. package/dist/components/Textfield/components/ResizeHandle/ResizeHandle.module.js +7 -0
  153. package/dist/components/Textfield/components/ResizeHandle/ResizeHandle_module.css +21 -0
  154. package/dist/components/Textfield/components/ResizeHandle/index.d.ts +1 -0
  155. package/dist/components/Textfield/components/ResizeHandle/index.js +1 -0
  156. package/dist/components/Textfield/consts/index.d.ts +2 -0
  157. package/dist/components/Textfield/consts/index.js +3 -0
  158. package/dist/components/Textfield/types/index.d.ts +12 -0
  159. package/dist/components/Textfield/types/index.js +5 -0
  160. package/dist/components/Textfield/utils/index.d.ts +3 -0
  161. package/dist/components/Textfield/utils/index.js +8 -0
  162. package/dist/components/Tooltip/Tooltip.d.ts +4 -1
  163. package/dist/components/Tooltip/Tooltip.js +9 -9
  164. package/dist/components/Tooltip/Tooltip.module.js +3 -1
  165. package/dist/components/Tooltip/Tooltip_module.css +13 -3
  166. package/dist/components/Tooltip/{consts.d.ts → constants/ArrowAlign.d.ts} +0 -2
  167. package/dist/components/Tooltip/constants/TooltipBodyColor.d.ts +4 -0
  168. package/dist/components/Tooltip/constants/TooltipBodyColor.js +5 -0
  169. package/dist/components/Tooltip/constants/index.d.ts +2 -0
  170. package/dist/components/Tooltip/constants/index.js +2 -0
  171. package/dist/components/Tooltip/hooks.d.ts +2 -2
  172. package/dist/components/Tooltip/hooks.js +1 -1
  173. package/dist/components/Tooltip/types.d.ts +4 -0
  174. package/dist/components/Tooltip/types.js +0 -0
  175. package/dist/components/ViewersStack/ViewersStack.d.ts +13 -0
  176. package/dist/components/ViewersStack/ViewersStack.js +77 -0
  177. package/dist/components/ViewersStack/ViewersStack.module.js +7 -0
  178. package/dist/components/ViewersStack/ViewersStack_module.css +18 -0
  179. package/dist/components/ViewersStack/components/Avatar/Avatar.d.ts +13 -0
  180. package/dist/components/ViewersStack/components/Avatar/Avatar.js +35 -0
  181. package/dist/components/ViewersStack/components/Avatar/Avatar.module.js +13 -0
  182. package/dist/components/ViewersStack/components/Avatar/Avatar_module.css +45 -0
  183. package/dist/components/ViewersStack/components/Counter/Counter.d.ts +9 -0
  184. package/dist/components/ViewersStack/components/Counter/Counter.js +27 -0
  185. package/dist/components/ViewersStack/components/Counter/Counter.module.js +5 -0
  186. package/dist/components/ViewersStack/components/Counter/Counter_module.css +20 -0
  187. package/dist/components/ViewersStack/components/ViewersTooltip/ViewersTooltip.d.ts +15 -0
  188. package/dist/components/ViewersStack/components/ViewersTooltip/ViewersTooltip.js +41 -0
  189. package/dist/components/ViewersStack/components/ViewersTooltip/ViewersTooltip.module.js +6 -0
  190. package/dist/components/ViewersStack/components/ViewersTooltip/ViewersTooltip_module.css +14 -0
  191. package/dist/components/ViewersStack/components/ViewersTooltipOverlayItem/ViewersTooltipOverlayItem.d.ts +6 -0
  192. package/dist/components/ViewersStack/components/ViewersTooltipOverlayItem/ViewersTooltipOverlayItem.js +53 -0
  193. package/dist/components/ViewersStack/components/ViewersTooltipOverlayItem/ViewersTooltipOverlayItem.module.js +7 -0
  194. package/dist/components/ViewersStack/components/ViewersTooltipOverlayItem/ViewersTooltipOverlayItem_module.css +18 -0
  195. package/dist/components/ViewersStack/components/common.module.js +7 -0
  196. package/dist/components/ViewersStack/components/common_module.css +27 -0
  197. package/dist/components/ViewersStack/types.d.ts +22 -0
  198. package/dist/components/ViewersStack/types.js +17 -0
  199. package/dist/components/ViewersStack/utils.d.ts +3 -0
  200. package/dist/components/ViewersStack/utils.js +17 -0
  201. package/dist/components/{EditableTitle → _shared/HintWithSkip}/HintWithSkip.d.ts +1 -1
  202. package/dist/components/{EditableTitle → _shared/HintWithSkip}/HintWithSkip.js +1 -1
  203. package/dist/data-grid/Table/Table.d.ts +14 -22
  204. package/dist/data-grid/Table/Table.js +99 -61
  205. package/dist/data-grid/Table/Table.module.js +2 -0
  206. package/dist/data-grid/Table/Table_module.css +23 -0
  207. package/dist/data-grid/Table/components/Body/Body.d.ts +10 -14
  208. package/dist/data-grid/Table/components/Body/Body.js +11 -47
  209. package/dist/data-grid/Table/components/DraggableRow/DraggableRow.js +1 -1
  210. package/dist/data-grid/Table/components/Footer/Footer.module.js +0 -1
  211. package/dist/data-grid/Table/components/Footer/FooterContent.d.ts +9 -0
  212. package/dist/data-grid/Table/components/Footer/{Footer.js → FooterContent.js} +4 -5
  213. package/dist/data-grid/Table/components/Footer/Footer_module.css +0 -5
  214. package/dist/data-grid/Table/components/Header/Header.module.js +0 -1
  215. package/dist/data-grid/Table/components/Header/HeaderCell.js +3 -1
  216. package/dist/data-grid/Table/components/Header/HeaderContent.d.ts +1 -0
  217. package/dist/data-grid/Table/components/Header/{Header.js → HeaderContent.js} +8 -6
  218. package/dist/data-grid/Table/components/Header/Header_module.css +0 -15
  219. package/dist/data-grid/Table/components/Row/Row.d.ts +13 -0
  220. package/dist/data-grid/Table/components/Row/Row.js +40 -0
  221. package/dist/data-grid/Table/components/Row/Row.module.js +14 -0
  222. package/dist/data-grid/Table/components/{TableRow/TableRow_module.css → Row/Row_module.css} +7 -7
  223. package/dist/data-grid/Table/components/SubRows/SubRows.d.ts +5 -4
  224. package/dist/data-grid/Table/components/SubRows/SubRows.js +3 -3
  225. package/dist/data-grid/Table/components/TableCell/TableCell.js +2 -0
  226. package/dist/data-grid/Table/components/TableDragOverlay/TableDragOverlay.d.ts +5 -6
  227. package/dist/data-grid/Table/components/TableDragOverlay/TableDragOverlay.js +2 -2
  228. package/dist/data-grid/Table/components/TableRow/TableRow.d.ts +6 -14
  229. package/dist/data-grid/Table/components/TableRow/TableRow.js +34 -25
  230. package/dist/data-grid/Table/components/VirtualTable/VirtualTable.d.ts +10 -0
  231. package/dist/data-grid/Table/components/VirtualTable/VirtualTable.js +78 -0
  232. package/dist/data-grid/Table/components/VirtualTable/VirtualTableRow.d.ts +11 -0
  233. package/dist/data-grid/Table/components/VirtualTable/VirtualTableRow.js +18 -0
  234. package/dist/data-grid/Table/components/index.d.ts +3 -3
  235. package/dist/data-grid/Table/components/index.js +2 -2
  236. package/dist/data-grid/Table/constants.d.ts +2 -0
  237. package/dist/data-grid/Table/constants.js +3 -1
  238. package/dist/data-grid/Table/hooks/index.d.ts +1 -0
  239. package/dist/data-grid/Table/hooks/index.js +1 -0
  240. package/dist/data-grid/Table/hooks/useRowContext.d.ts +16 -0
  241. package/dist/data-grid/Table/hooks/useRowContext.js +44 -0
  242. package/dist/data-grid/Table/hooks/useTableContext.d.ts +7 -2
  243. package/dist/data-grid/Table/hooks/useTableContext.js +12 -2
  244. package/dist/data-grid/Table/index.d.ts +2 -2
  245. package/dist/data-grid/Table/types.d.ts +8 -1
  246. package/dist/data-grid/Table/types.js +5 -0
  247. package/dist/data-grid/Table/utils/compareColumnIds.d.ts +1 -0
  248. package/dist/data-grid/Table/utils/compareColumnIds.js +6 -0
  249. package/dist/data-grid/Table/utils/getColumnWidthStyles.d.ts +5 -0
  250. package/dist/data-grid/Table/utils/getColumnWidthStyles.js +4 -1
  251. package/dist/data-grid/Table/utils/getTableColumnIds.d.ts +3 -0
  252. package/dist/data-grid/Table/utils/getTableColumnIds.js +5 -0
  253. package/dist/data-grid/Table/utils/index.d.ts +2 -0
  254. package/dist/data-grid/Table/utils/index.js +2 -0
  255. package/dist/data-grid/Table/utils/withDnD.js +1 -1
  256. package/dist/data-grid/base/DropdownItem/DropdownItem.d.ts +3 -3
  257. package/dist/data-grid/base/DropdownItem/DropdownItem.js +3 -2
  258. package/dist/data-grid/base/OverflowHint/OverflowHint.d.ts +1 -0
  259. package/dist/data-grid/base/OverflowHint/OverflowHint.js +5 -3
  260. package/dist/data-grid/base/OverflowHint/utils.d.ts +1 -0
  261. package/dist/data-grid/base/OverflowHint/utils.js +7 -0
  262. package/dist/data-grid/cells/AutoCompleteCell/AutoCompleteCell.js +3 -4
  263. package/dist/data-grid/cells/DecimalCell/DecimalCell_module.css +1 -1
  264. package/dist/data-grid/cells/FileCell/FileCell_module.css +1 -1
  265. package/dist/data-grid/cells/ImageCell/ImageCell.d.ts +1 -0
  266. package/dist/data-grid/cells/ImageCell/ImageCell.js +5 -2
  267. package/dist/data-grid/cells/IndexCheckboxDndCell/IndexCheckboxDndCell.d.ts +7 -2
  268. package/dist/data-grid/cells/IndexCheckboxDndCell/IndexCheckboxDndCell.js +6 -4
  269. package/dist/data-grid/cells/InputCell/InputCell.js +3 -4
  270. package/dist/data-grid/cells/IntegerCell/IntegerCell_module.css +1 -1
  271. package/dist/data-grid/cells/LinkCell/LinkCell_module.css +1 -1
  272. package/dist/data-grid/cells/NameCell/NameCell.js +3 -0
  273. package/dist/data-grid/cells/NameCell/NameCell_module.css +2 -2
  274. package/dist/data-grid/cells/NumberInputCell/NumberInputCell.js +19 -17
  275. package/dist/data-grid/cells/SelectCell/SelectCell.js +3 -4
  276. package/dist/data-grid/cells/TextCell/TextCell_module.css +1 -1
  277. package/dist/data-grid/cells/ToggleCell/ToggleCell_module.css +1 -1
  278. package/dist/data-grid/cells/components/EditableCellWrapper/EditableCellWrapper.d.ts +3 -0
  279. package/dist/data-grid/cells/components/EditableCellWrapper/EditableCellWrapper.js +9 -0
  280. package/dist/data-grid/cells/components/EditableCellWrapper/EditableCellWrapper.module.js +5 -0
  281. package/dist/data-grid/cells/{NumberInputCell/NumberInputCell_module.css → components/EditableCellWrapper/EditableCellWrapper_module.css} +2 -2
  282. package/dist/data-grid/cells/components/EditableCellWrapper/index.d.ts +1 -0
  283. package/dist/data-grid/cells/components/EditableCellWrapper/index.js +1 -0
  284. package/dist/data-grid/cells/components/RowActionsMenu/RowActionsMenu.d.ts +4 -3
  285. package/dist/data-grid/cells/components/RowActionsMenu/RowActionsMenu.js +13 -13
  286. package/dist/data-grid/cells/components/TableInput/TableInput.js +19 -3
  287. package/dist/data-grid/cells/components/TableInput/TableInput_module.css +1 -1
  288. package/dist/data-grid/cells/components/TableNumberInput/TableNumberInput.d.ts +4 -3
  289. package/dist/data-grid/cells/components/TableNumberInput/TableNumberInput.js +44 -55
  290. package/dist/data-grid/cells/components/TableSelect/ActionButton/ActionButton.d.ts +4 -1
  291. package/dist/data-grid/cells/components/TableSelect/ActionButton/ActionButton.js +4 -3
  292. package/dist/data-grid/cells/components/TableSelect/TableSelect.d.ts +15 -10
  293. package/dist/data-grid/cells/components/TableSelect/TableSelect.js +11 -7
  294. package/dist/data-grid/cells/components/index.d.ts +1 -0
  295. package/dist/data-grid/cells/components/index.js +1 -0
  296. package/dist/data-grid/cells/index.d.ts +1 -1
  297. package/dist/data-grid/cells/index.js +1 -1
  298. package/dist/data-grid/headers/PlainTextHeader.js +3 -2
  299. package/dist/data-grid/headers/components/Dropdown/DropdownArrowBtn/DropdownArrowBtn.js +5 -1
  300. package/dist/data-grid/headers/components/Dropdown/Option/Option.d.ts +1 -1
  301. package/dist/data-grid/headers/components/Dropdown/Option/Option.js +2 -2
  302. package/dist/data-grid/headers/components/Dropdown/Option/Option_module.css +10 -2
  303. package/dist/data-grid/headers/components/HeaderBuilder/HeaderBuilder.d.ts +13 -3
  304. package/dist/data-grid/headers/components/HeaderBuilder/HeaderBuilder.js +64 -83
  305. package/dist/data-grid/headers/components/HeaderBuilder/HeaderBuilder.module.js +2 -1
  306. package/dist/data-grid/headers/components/HeaderBuilder/HeaderBuilder_module.css +21 -0
  307. package/dist/data-grid/headers/components/HeaderSortGroups/components/SortByOption/SortByOption.js +7 -15
  308. package/dist/data-grid/headers/components/HideColumn/HideColumn.js +8 -13
  309. package/dist/data-grid/headers/components/ResetFilter/ResetFilter.js +7 -10
  310. package/dist/data-grid/headers/components/ResetFilter/ResetFilter.module.js +0 -1
  311. package/dist/data-grid/headers/components/ResetFilter/ResetFilter_module.css +1 -21
  312. package/dist/data-grid/headers/components/index.d.ts +1 -1
  313. package/dist/data-grid/headers/index.d.ts +1 -1
  314. package/dist/data-grid/headers/types/types.d.ts +1 -0
  315. package/dist/data-grid/types/index.d.ts +1 -0
  316. package/dist/data-grid/utils/isOverflowed.js +21 -1
  317. package/dist/hooks/useDebounceCallback/useDebounceCallback.d.ts +2 -0
  318. package/dist/hooks/useDebounceCallback/useDebounceCallback.js +21 -0
  319. package/dist/hooks/useDismissOnFocusOutside/index.d.ts +2 -1
  320. package/dist/hooks/useDismissOnFocusOutside/index.js +4 -3
  321. package/dist/hooks/useDismissOnOutsideClick/index.d.ts +2 -1
  322. package/dist/hooks/useDismissOnOutsideClick/index.js +4 -3
  323. package/dist/hooks/useTextField/useTextField.d.ts +4 -5
  324. package/dist/hooks/useTextField/useTextField.js +6 -24
  325. package/dist/hooks/useUnmount/useUnmount.d.ts +1 -0
  326. package/dist/hooks/useUnmount/useUnmount.js +9 -0
  327. package/dist/icon/components/MyApps12Icon.d.ts +8 -0
  328. package/dist/icon/components/MyApps12Icon.js +18 -0
  329. package/dist/icon/components/MyApps16Icon.d.ts +8 -0
  330. package/dist/icon/components/MyApps16Icon.js +17 -0
  331. package/dist/icon/components/MyApps20Icon.d.ts +8 -0
  332. package/dist/icon/components/MyApps20Icon.js +18 -0
  333. package/dist/icon/components/Smile12Icon.d.ts +8 -0
  334. package/dist/icon/components/Smile12Icon.js +17 -0
  335. package/dist/icon/components/Smile16Icon.d.ts +8 -0
  336. package/dist/icon/components/Smile16Icon.js +16 -0
  337. package/dist/icon/components/Smile20Icon.d.ts +8 -0
  338. package/dist/icon/components/Smile20Icon.js +17 -0
  339. package/dist/icon/index.d.ts +6 -0
  340. package/dist/icon/index.js +6 -0
  341. package/dist/index.d.ts +4 -4
  342. package/dist/index.js +3 -1
  343. package/dist/utils/debounce/debounce.d.ts +10 -0
  344. package/dist/utils/debounce/debounce.js +73 -0
  345. package/dist/utils/isRecordEqual/isRecordEqual.d.ts +1 -0
  346. package/dist/utils/isRecordEqual/isRecordEqual.js +9 -0
  347. package/dist/utils/utils.d.ts +2 -0
  348. package/dist/utils/utils.js +2 -0
  349. package/package.json +22 -3
  350. package/dist/components/LabelValue/HelpButton/HelpButton.module.js +0 -8
  351. package/dist/components/LabelValue/HelpButton/HelpButton_module.css +0 -44
  352. package/dist/components/LabelValue/HelpButton/index.d.ts +0 -8
  353. package/dist/components/LabelValue/HelpButton/index.js +0 -36
  354. package/dist/components/Textfield/components/ClearIcon/ClearIcon.d.ts +0 -6
  355. package/dist/components/Textfield/components/ClearIcon/ClearIcon.js +0 -13
  356. package/dist/components/Textfield/components/ClearIcon/ClearIcon.module.js +0 -6
  357. package/dist/components/Textfield/components/ClearIcon/ClearIcon_module.css +0 -11
  358. package/dist/data-grid/Table/components/Footer/Footer.d.ts +0 -9
  359. package/dist/data-grid/Table/components/Header/Header.d.ts +0 -8
  360. package/dist/data-grid/Table/components/TableRow/TableRow.module.js +0 -14
  361. package/dist/data-grid/cells/AutoCompleteCell/AutoCompleteCell.module.js +0 -5
  362. package/dist/data-grid/cells/AutoCompleteCell/AutoCompleteCell_module.css +0 -8
  363. package/dist/data-grid/cells/InputCell/InputCell.module.js +0 -5
  364. package/dist/data-grid/cells/InputCell/InputCell_module.css +0 -8
  365. package/dist/data-grid/cells/NumberInputCell/NumberInputCell.module.js +0 -5
  366. package/dist/data-grid/cells/SelectCell/SelectCell.module.js +0 -8
  367. package/dist/data-grid/cells/SelectCell/SelectCell_module.css +0 -33
  368. package/dist/data-grid/headers/components/HeaderSortGroups/components/SortByOption/SortByOption.module.js +0 -7
  369. package/dist/data-grid/headers/components/HeaderSortGroups/components/SortByOption/SortByOption_module.css +0 -22
  370. package/dist/data-grid/headers/components/HideColumn/HideColumn.module.js +0 -6
  371. package/dist/data-grid/headers/components/HideColumn/HideColumn_module.css +0 -20
  372. /package/dist/components/Tooltip/{consts.js → constants/ArrowAlign.js} +0 -0
@@ -4,19 +4,21 @@ import { cn } from "../../../common/index.js";
4
4
  import { Hint } from "../../Hint/Hint.js";
5
5
  import { Text, TextColor, TextVariant } from "../../Text/Text.js";
6
6
  import Chip_module from "../Chip.module.js";
7
- const ChipLabel = ({ label, isCompact, textBehavior, hintZIndex })=>{
7
+ const ChipLabel = ({ label, colorToken, isCompact, textBehavior, hintZIndex })=>{
8
8
  const labelParagraphRef = useRef(null);
9
9
  const [isTruncated, setIsTruncated] = useState(false);
10
+ const maxWidthPx = textBehavior.constrainWidth ? textBehavior.maxWidthPx : void 0;
10
11
  useLayoutEffect(()=>{
11
12
  if (!labelParagraphRef.current) return void setIsTruncated(false);
12
13
  setIsTruncated(labelParagraphRef.current.scrollWidth > labelParagraphRef.current.clientWidth);
13
14
  }, [
14
15
  label,
15
- textBehavior.constrainWidth ? textBehavior.maxWidthPx : void 0
16
+ maxWidthPx
16
17
  ]);
17
18
  const text = /*#__PURE__*/ jsx(Text, {
18
19
  variant: isCompact ? TextVariant.caption : TextVariant.body,
19
20
  ref: labelParagraphRef,
21
+ colorToken: colorToken,
20
22
  className: cn(Chip_module.label, Chip_module.ellipsis),
21
23
  children: label
22
24
  });
@@ -1,11 +1,10 @@
1
1
  import { type CSSProperties, type MouseEvent, type ReactNode } from 'react';
2
- type ChipMainButtonProps = {
2
+ import type { IHasTabIndex } from '../../../common/types';
3
+ export declare const ChipMainButton: import("react").ForwardRefExoticComponent<IHasTabIndex & {
3
4
  testId?: string;
4
5
  className?: string;
5
6
  disabled: boolean;
6
7
  onClick: (e: MouseEvent<HTMLButtonElement>) => void;
7
8
  style?: CSSProperties;
8
9
  children: ReactNode;
9
- };
10
- export declare const ChipMainButton: import("react").ForwardRefExoticComponent<ChipMainButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
11
- export {};
10
+ } & import("react").RefAttributes<HTMLButtonElement>>;
@@ -1,12 +1,13 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { forwardRef } from "react";
3
- const ChipMainButton = /*#__PURE__*/ forwardRef(({ testId, className, disabled, onClick, style, children }, ref)=>/*#__PURE__*/ jsx("button", {
3
+ const ChipMainButton = /*#__PURE__*/ forwardRef(({ testId, className, disabled, onClick, style, tabIndex, children }, ref)=>/*#__PURE__*/ jsx("button", {
4
4
  "data-test-id": testId,
5
5
  ref: ref,
6
6
  onClick: onClick,
7
7
  className: className,
8
8
  disabled: disabled,
9
9
  style: style,
10
+ tabIndex: tabIndex,
10
11
  type: "button",
11
12
  children: children
12
13
  }));
@@ -1,11 +1,12 @@
1
1
  import type { CSSProperties, ForwardedRef, MouseEvent, ReactNode } from 'react';
2
+ import type { IHasTabIndex } from '../../../common/types';
2
3
  type ChipRootProps = {
3
4
  mode: 'group';
4
5
  testId?: string;
5
6
  className?: string;
6
7
  style?: CSSProperties;
7
8
  children: ReactNode;
8
- } | {
9
+ } | (IHasTabIndex & {
9
10
  mode: 'single';
10
11
  testId?: string;
11
12
  className?: string;
@@ -14,6 +15,6 @@ type ChipRootProps = {
14
15
  onClick: (e: MouseEvent<HTMLButtonElement>) => void;
15
16
  buttonRef?: ForwardedRef<HTMLButtonElement>;
16
17
  children: ReactNode;
17
- };
18
+ });
18
19
  export declare const ChipRoot: (props: ChipRootProps) => import("react/jsx-runtime").JSX.Element;
19
20
  export {};
@@ -11,7 +11,7 @@ const ChipRoot = (props)=>{
11
11
  children: children
12
12
  });
13
13
  }
14
- const { testId, className, style, disabled, onClick, buttonRef, children } = props;
14
+ const { testId, className, style, disabled, onClick, buttonRef, tabIndex, children } = props;
15
15
  return /*#__PURE__*/ jsx(ChipMainButton, {
16
16
  testId: testId,
17
17
  ref: buttonRef,
@@ -19,6 +19,7 @@ const ChipRoot = (props)=>{
19
19
  className: className,
20
20
  disabled: disabled,
21
21
  style: style,
22
+ tabIndex: tabIndex,
22
23
  children: children
23
24
  });
24
25
  };
@@ -21,5 +21,7 @@ export interface DropdownProps extends IHasTestId, DivProps {
21
21
  offsetX?: number;
22
22
  isInnerScroll?: boolean;
23
23
  anchor?: DropdownAnchor;
24
+ shouldIgnoreOutsideInteraction?: (target: Node) => boolean;
25
+ maxHeight?: number;
24
26
  }
25
27
  export declare const Dropdown: import("react").ForwardRefExoticComponent<DropdownProps & import("react").RefAttributes<HTMLDivElement>>;
@@ -12,7 +12,7 @@ const DROPDOWN_CLOSE_REASON = {
12
12
  ESCAPE: 'escape',
13
13
  MANUAL: 'manual'
14
14
  };
15
- const Dropdown = /*#__PURE__*/ forwardRef(({ id, open = false, onClose, children, triggerRef, zIndex = 2, portalElement = document.body, className, style, offsetY = 0, offsetX = 0, testId, isInnerScroll = false, anchor, ...restProps }, ref)=>{
15
+ const Dropdown = /*#__PURE__*/ forwardRef(({ id, open = false, onClose, children, triggerRef, zIndex = 2, portalElement = document.body, className, style, offsetY = 0, offsetX = 0, testId, isInnerScroll = false, anchor, shouldIgnoreOutsideInteraction, maxHeight, ...restProps }, ref)=>{
16
16
  const innerRef = useRef(null);
17
17
  usePosition({
18
18
  open,
@@ -22,7 +22,8 @@ const Dropdown = /*#__PURE__*/ forwardRef(({ id, open = false, onClose, children
22
22
  offsetY,
23
23
  offsetX,
24
24
  isInnerScroll,
25
- anchor
25
+ anchor,
26
+ maxHeightValue: maxHeight
26
27
  });
27
28
  useDismissOnOutsideClick({
28
29
  enabled: open,
@@ -30,7 +31,8 @@ const Dropdown = /*#__PURE__*/ forwardRef(({ id, open = false, onClose, children
30
31
  onDismiss: ()=>onClose(DROPDOWN_CLOSE_REASON.OUTSIDE_CLICK),
31
32
  ignoreRefs: [
32
33
  triggerRef
33
- ]
34
+ ],
35
+ shouldIgnoreTarget: shouldIgnoreOutsideInteraction
34
36
  });
35
37
  useDismissOnFocusOutside({
36
38
  enabled: open,
@@ -38,7 +40,8 @@ const Dropdown = /*#__PURE__*/ forwardRef(({ id, open = false, onClose, children
38
40
  onDismiss: ()=>onClose(DROPDOWN_CLOSE_REASON.FOCUS_OUTSIDE),
39
41
  ignoreRefs: [
40
42
  triggerRef
41
- ]
43
+ ],
44
+ shouldIgnoreTarget: shouldIgnoreOutsideInteraction
42
45
  });
43
46
  useDismissOnEscape({
44
47
  enabled: open,
@@ -8,5 +8,6 @@ export interface UsePositionOptions {
8
8
  offsetX?: number;
9
9
  isInnerScroll?: boolean;
10
10
  anchor?: 'bottom' | 'top';
11
+ maxHeightValue?: number;
11
12
  }
12
- export declare const usePosition: ({ open, ref, triggerRef, children, offsetY, offsetX, isInnerScroll, anchor, }: UsePositionOptions) => void;
13
+ export declare const usePosition: ({ open, ref, triggerRef, children, offsetY, offsetX, isInnerScroll, anchor, maxHeightValue, }: UsePositionOptions) => void;
@@ -3,7 +3,7 @@ import { observeMove } from "../utils/observeMove.js";
3
3
  import { useFindScrollableParents } from "./useFindScrollableParents.js";
4
4
  const MAX_HEIGHT = 440;
5
5
  const MIN_HEIGHT = 100;
6
- const usePosition = ({ open, ref, triggerRef, children, offsetY = 0, offsetX = 0, isInnerScroll, anchor = 'bottom' })=>{
6
+ const usePosition = ({ open, ref, triggerRef, children, offsetY = 0, offsetX = 0, isInnerScroll, anchor = 'bottom', maxHeightValue = MAX_HEIGHT })=>{
7
7
  const scrollableParents = useFindScrollableParents({
8
8
  open,
9
9
  triggerRef
@@ -36,13 +36,13 @@ const usePosition = ({ open, ref, triggerRef, children, offsetY = 0, offsetX = 0
36
36
  let isYOverflow = triggerRect.top + refRect.height > containerRect.bottom;
37
37
  if (!isYOverflow) {
38
38
  const maxHeightFromStyle = parseFloat(getComputedStyle(ref.current).maxHeight);
39
- if (!Number.isNaN(maxHeightFromStyle) && maxHeightFromStyle < MAX_HEIGHT || refRect.height > distanceToBottomViewport) isYOverflow = true;
39
+ if (!Number.isNaN(maxHeightFromStyle) && maxHeightFromStyle < maxHeightValue || refRect.height > distanceToBottomViewport) isYOverflow = true;
40
40
  }
41
41
  let isCurrentTop = false;
42
42
  if (doNotChangePosition) isCurrentTop = refToTop.current;
43
43
  const toTop = doNotChangePosition ? isCurrentTop : isYOverflow && distanceToTopViewport > distanceToBottomViewport;
44
44
  refToTop.current = toTop;
45
- let maxHeight = MAX_HEIGHT;
45
+ let maxHeight = maxHeightValue;
46
46
  if (toTop && distanceToTopViewport < maxHeight) maxHeight = distanceToTopViewport;
47
47
  else if (!toTop && distanceToBottomViewport < maxHeight) maxHeight = distanceToBottomViewport;
48
48
  if ((maxHeight <= 0 || ref.current.scrollHeight <= maxHeight) && !isInnerScroll) maxHeight = void 0;
@@ -2,12 +2,12 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
2
  import { memo, useCallback, useEffect, useRef, useState } from "react";
3
3
  import { useLatestValue } from "@dnd-kit/utilities";
4
4
  import { cn } from "../../common/css/cn.js";
5
+ import { HintWithSkip } from "../_shared/HintWithSkip/HintWithSkip.js";
5
6
  import { Button, ButtonVariants } from "../Button/Button.js";
6
7
  import { HintVariant, Placement } from "../Hint/Hint.js";
7
8
  import { Input } from "../Input/Input.js";
8
9
  import { Text, TextColor } from "../Text/Text.js";
9
10
  import { Check20Icon } from "../../icon/index.js";
10
- import { HintWithSkip } from "./HintWithSkip.js";
11
11
  import EditableTitle_module from "./EditableTitle.module.js";
12
12
  const MS_AMOUNT_OF_OVERFLOW_TEXT_ALERT_VISIBLE = 3000;
13
13
  const titleComponents = {
@@ -0,0 +1 @@
1
+ export declare const OPEN_BUTTONS: string[];
@@ -0,0 +1,5 @@
1
+ const OPEN_BUTTONS = [
2
+ ' ',
3
+ 'Enter'
4
+ ];
5
+ export { OPEN_BUTTONS };
@@ -0,0 +1,17 @@
1
+ import { type LabelHTMLAttributes } from 'react';
2
+ import type { IHasTestId } from '../../common';
3
+ import { type HelpProps, type HelpSizeValue } from '../Help/Help';
4
+ import { type TextProps } from '../Text/Text';
5
+ export interface FieldLabelProps extends IHasTestId, Pick<TextProps, 'colorToken' | 'variant'>, Omit<LabelHTMLAttributes<HTMLLabelElement>, 'children' | 'className' | 'color'> {
6
+ label?: string;
7
+ required?: boolean;
8
+ helpProps?: Omit<HelpProps, 'testId'>;
9
+ helpSize?: HelpSizeValue;
10
+ className?: string;
11
+ helpButtonClassName?: string;
12
+ onOverflowChange?: (isOverflowing: boolean) => void;
13
+ }
14
+ export declare const FieldLabel: {
15
+ ({ label, required, variant, colorToken, helpProps, helpSize, className, helpButtonClassName, testId, onOverflowChange, ...restProps }: FieldLabelProps): import("react/jsx-runtime").JSX.Element | null;
16
+ displayName: string;
17
+ };
@@ -0,0 +1,76 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from "react";
3
+ import { cn } from "../../common/css/cn.js";
4
+ import { getOptionalTestId } from "../../common/testId/index.js";
5
+ import { HelpSize } from "../Help/Help.js";
6
+ import { Hint } from "../Hint/Hint.js";
7
+ import { Text, TextColor, TextTag, TextVariant } from "../Text/Text.js";
8
+ import { TextAtom } from "../Text/Text.atom.js";
9
+ import { useIsElementOverflowing } from "../../hooks/useIsElementOverflowing/index.js";
10
+ import { HelpButton } from "./components/index.js";
11
+ import FieldLabel_module from "./FieldLabel.module.js";
12
+ const FieldLabel = ({ label, required, variant = TextVariant.body, colorToken = TextColor.primary, helpProps, helpSize = HelpSize.M, className, helpButtonClassName, testId, onOverflowChange, ...restProps })=>{
13
+ const { ref: labelRef, isOverflowing: isOverflowingLabel } = useIsElementOverflowing([
14
+ label
15
+ ]);
16
+ const [isHintVisible, setIsHintVisible] = useState(false);
17
+ useEffect(()=>{
18
+ onOverflowChange?.(isOverflowingLabel);
19
+ }, [
20
+ isOverflowingLabel,
21
+ onOverflowChange
22
+ ]);
23
+ const helpPopup = helpProps?.popup;
24
+ if (!label) return null;
25
+ return /*#__PURE__*/ jsxs("div", {
26
+ "data-test-id": getOptionalTestId(testId, 'label-container'),
27
+ className: cn(FieldLabel_module.container, className),
28
+ children: [
29
+ /*#__PURE__*/ jsxs("div", {
30
+ className: FieldLabel_module.textWithRequiredMark,
31
+ children: [
32
+ /*#__PURE__*/ jsx(Hint, {
33
+ visible: isHintVisible,
34
+ onVisibleChange: setIsHintVisible,
35
+ overlay: /*#__PURE__*/ jsx(Text.Body, {
36
+ testId: getOptionalTestId(testId, 'label-hint-text'),
37
+ colorToken: "invert",
38
+ className: FieldLabel_module.hintText,
39
+ children: label
40
+ }),
41
+ trigger: isOverflowingLabel ? 'hover' : [],
42
+ overlayClassName: FieldLabel_module.hint,
43
+ children: /*#__PURE__*/ jsx(Text, {
44
+ ...restProps,
45
+ as: restProps.htmlFor ? TextTag.label : TextTag.span,
46
+ ref: labelRef,
47
+ variant: variant,
48
+ testId: getOptionalTestId(testId, 'label'),
49
+ className: cn(FieldLabel_module.overflowText, FieldLabel_module.labelText),
50
+ colorToken: colorToken,
51
+ children: label
52
+ })
53
+ }),
54
+ required && /*#__PURE__*/ jsx(TextAtom, {
55
+ as: TextTag.span,
56
+ variant: variant,
57
+ testId: getOptionalTestId(testId, 'required-mark'),
58
+ className: FieldLabel_module.requiredMark,
59
+ children: "*"
60
+ })
61
+ ]
62
+ }),
63
+ helpPopup ? /*#__PURE__*/ jsx(HelpButton, {
64
+ helpProps: {
65
+ ...helpProps,
66
+ popup: helpPopup,
67
+ testId: getOptionalTestId(testId, 'help')
68
+ },
69
+ size: helpSize,
70
+ className: helpButtonClassName
71
+ }) : null
72
+ ]
73
+ });
74
+ };
75
+ FieldLabel.displayName = 'FieldLabel';
76
+ export { FieldLabel };
@@ -0,0 +1,11 @@
1
+ import "./FieldLabel_module.css";
2
+ const FieldLabel_module = {
3
+ container: "container-C1lItd",
4
+ textWithRequiredMark: "textWithRequiredMark-ETmaJz",
5
+ labelText: "labelText-EzqZFW",
6
+ requiredMark: "requiredMark-Mkh961",
7
+ overflowText: "overflowText-GKoGmM",
8
+ hint: "hint-omNam8",
9
+ hintText: "hintText-Kbfap2"
10
+ };
11
+ export default FieldLabel_module;
@@ -0,0 +1,42 @@
1
+ .container-C1lItd {
2
+ justify-content: flex-start;
3
+ align-items: center;
4
+ gap: 4px;
5
+ display: flex;
6
+ }
7
+
8
+ .textWithRequiredMark-ETmaJz {
9
+ align-items: center;
10
+ display: flex;
11
+ overflow: hidden;
12
+ }
13
+
14
+ .labelText-EzqZFW {
15
+ flex: 1;
16
+ }
17
+
18
+ .requiredMark-Mkh961 {
19
+ color: var(--elements-critical, #e50347);
20
+ }
21
+
22
+ .overflowText-GKoGmM {
23
+ text-overflow: ellipsis;
24
+ white-space: nowrap;
25
+ overflow: hidden;
26
+ }
27
+
28
+ .overflowText-GKoGmM:after {
29
+ content: "";
30
+ display: block;
31
+ }
32
+
33
+ .hint-omNam8 {
34
+ box-sizing: border-box;
35
+ overflow-wrap: break-word;
36
+ max-width: 300px;
37
+ }
38
+
39
+ .hintText-Kbfap2 {
40
+ overflow-wrap: break-word;
41
+ }
42
+
@@ -0,0 +1,8 @@
1
+ import { type HelpProps, type HelpSizeValue } from '../../Help/Help';
2
+ interface HelpButtonProps {
3
+ size: HelpSizeValue;
4
+ helpProps: HelpProps;
5
+ className?: string;
6
+ }
7
+ export declare const HelpButton: ({ size, helpProps, className }: HelpButtonProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,15 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { cn } from "../../../common/css/cn.js";
3
+ import { Help } from "../../Help/Help.js";
4
+ import HelpButton_module from "./HelpButton.module.js";
5
+ const HelpButton = ({ size, helpProps, className })=>/*#__PURE__*/ jsx("div", {
6
+ className: cn(HelpButton_module.container, className),
7
+ onClick: (event)=>{
8
+ event.stopPropagation();
9
+ },
10
+ children: /*#__PURE__*/ jsx(Help, {
11
+ ...helpProps,
12
+ size: size
13
+ })
14
+ });
15
+ export { HelpButton };
@@ -0,0 +1,5 @@
1
+ import "./HelpButton_module.css";
2
+ const HelpButton_module = {
3
+ container: "container-5gBKoj"
4
+ };
5
+ export default HelpButton_module;
@@ -0,0 +1,8 @@
1
+ .container-5gBKoj {
2
+ -webkit-user-select: none;
3
+ user-select: none;
4
+ justify-content: center;
5
+ align-items: center;
6
+ display: flex;
7
+ }
8
+
@@ -0,0 +1 @@
1
+ export * from './HelpButton';
@@ -0,0 +1 @@
1
+ export * from "./HelpButton.js";
@@ -56,6 +56,7 @@ export declare const mapRegistryItemToFile: (item: IRegistryItem) => IFile;
56
56
  export declare const mergeFilesWithLimits: (prevFiles: IFile[], incomingFiles: IFile[], limits?: Limits) => IFile[];
57
57
  export declare const getFileExtFromName: (fileName: string) => string;
58
58
  export declare const isImage: (file: IFile) => boolean;
59
+ export declare const isImageByExt: (extension: string) => boolean;
59
60
  export declare const buildDisplayItems: (stateItems: DisplayStateItems) => IRenderItem[];
60
61
  export declare const isDndSortableItem: (item: {
61
62
  originIndex: number | null;
@@ -104,6 +104,9 @@ const IMG_EXTENSIONS = [
104
104
  ];
105
105
  const isImage = (file)=>{
106
106
  const extension = getFileExtFromName(file.name);
107
+ return isImageByExt(extension);
108
+ };
109
+ const isImageByExt = (extension)=>{
107
110
  for(let i = 0; i < IMG_EXTENSIONS.length; i++){
108
111
  const mime = IMG_EXTENSIONS[i];
109
112
  if (mime === extension.toLowerCase()) return true;
@@ -252,4 +255,4 @@ const resolveNextScrollPosition = ({ container, direction })=>{
252
255
  if (nextScrollPosition > maxScrollLeft) return maxScrollLeft;
253
256
  return nextScrollPosition;
254
257
  };
255
- export { buildDisplayItems, buildLoadingStateItems, buildReadyStateItems, cloneFileWithMeta, finalizeResolvedFileState, getFileExtFromName, isDndSortableItem, isImage, makeFile, mapRegistryItemToFile, mergeFilesWithLimits, reorderFilesByDnd, resolveAutoScrollDirection, resolveFileCandidates, resolveNextScrollPosition };
258
+ export { buildDisplayItems, buildLoadingStateItems, buildReadyStateItems, cloneFileWithMeta, finalizeResolvedFileState, getFileExtFromName, isDndSortableItem, isImage, isImageByExt, makeFile, mapRegistryItemToFile, mergeFilesWithLimits, reorderFilesByDnd, resolveAutoScrollDirection, resolveFileCandidates, resolveNextScrollPosition };
@@ -11,7 +11,7 @@ import { usePreviewFlow } from "./hooks/usePreviewFlow/usePreviewFlow.js";
11
11
  import { useAutoScrollToInvalidFiles } from "./hooks/useAutoScrollToInvalidFiles/useAutoScrollToInvalidFiles.js";
12
12
  import { useDisplayItems } from "./hooks/useDisplayItems/useDisplayItems.js";
13
13
  import { useFileUploaderDndState } from "./hooks/useFileUploaderDndState/useFileUploaderDndState.js";
14
- const FileUploader = ({ files, invalidFiles, testId, className, disableDelete = false, hintZIndex, loadingCount = 0, loadingFiles, showAdditionalText = false, hideFileNames = false, onDelete, onDeleteFile, onDownload, enableDndSorting = false, onReorder })=>{
14
+ const FileUploader = ({ files, invalidFiles, testId, className, disableDelete = false, hintZIndex, loadingCount = 0, loadingFiles, loadingText, showAdditionalText = false, hideFileNames = false, onDelete, onDeleteFile, onDownload, enableDndSorting = false, onReorder })=>{
15
15
  const fileUploaderTestIds = testId ? makeFileUploaderTestIds(testId) : null;
16
16
  const { imgSrc, handlePreviewOpen, handlePreviewClose, getPreviewInteractionProps } = usePreviewFlow();
17
17
  const { displayItems } = useDisplayItems({
@@ -71,6 +71,7 @@ const FileUploader = ({ files, invalidFiles, testId, className, disableDelete =
71
71
  onDownload: onDownload,
72
72
  hintZIndex: hintZIndex,
73
73
  isLoading: file.isLoading,
74
+ loadingText: loadingText,
74
75
  showAdditionalText: showAdditionalText,
75
76
  hideFileNames: hideFileNames,
76
77
  disableHints: disableHints,
@@ -116,6 +117,7 @@ const FileUploader = ({ files, invalidFiles, testId, className, disableDelete =
116
117
  disableDelete: true,
117
118
  hintZIndex: hintZIndex,
118
119
  isLoading: dndState.activeDragItem.file.isLoading,
120
+ loadingText: loadingText,
119
121
  showAdditionalText: showAdditionalText,
120
122
  hideFileNames: hideFileNames,
121
123
  disableHints: true,
@@ -42,6 +42,7 @@ interface IFileUploaderBaseProps extends IHasTestId {
42
42
  disableDelete?: boolean;
43
43
  hintZIndex?: number;
44
44
  loadingCount?: number;
45
+ loadingText?: string;
45
46
  /**
46
47
  * @deprecated Используйте `onDeleteFile`, чтобы удалять конкретный экземпляр файла.
47
48
  */
@@ -3,14 +3,14 @@ import { memo, useCallback } from "react";
3
3
  import { cn } from "../../../../common/css/cn.js";
4
4
  import { Spinner, SpinnerSize } from "../../../Spinner/Spinner.js";
5
5
  import { Text } from "../../../Text/Text.js";
6
- import { getFileExtFromName, isImage } from "../../FileUploader.helpers.js";
6
+ import { getFileExtFromName, isImageByExt } from "../../FileUploader.helpers.js";
7
7
  import { makeFileUploaderPreviewTestIds } from "../../FileUploader.testIds.js";
8
8
  import { FileUploaderDeleteButton, FileUploaderFileIcon, FileUploaderFileName, FileUploaderOverlay } from "./components/index.js";
9
9
  import FileUploaderPreview_module from "./FileUploaderPreview.module.js";
10
10
  const FileUploaderPreview = /*#__PURE__*/ memo(({ file, testId, disableDelete = false, loadingText = 'загружаем...', hintZIndex, isLoading = false, showAdditionalText = false, hideFileNames = false, disableHints = false, disableOverlayActions = false, isDraggingPreview = false, isOverlayVisible = false, validationError, onMouseEnter, onMouseLeave, onFocusCapture, onBlurCapture, onPreview, onDelete, onDownload })=>{
11
11
  const previewTestIds = testId ? makeFileUploaderPreviewTestIds(testId) : null;
12
- const extension = getFileExtFromName(file.name);
13
- const isFileImage = isImage(file);
12
+ const clearFileExtension = getFileExtFromName(file.name.split('?')[0]);
13
+ const isFileImage = isImageByExt(clearFileExtension);
14
14
  const handleDelete = useCallback((e)=>{
15
15
  e.stopPropagation();
16
16
  onDelete?.();
@@ -37,7 +37,7 @@ const FileUploaderPreview = /*#__PURE__*/ memo(({ file, testId, disableDelete =
37
37
  /*#__PURE__*/ jsx(Text.Caption, {
38
38
  testId: previewTestIds?.extension,
39
39
  className: FileUploaderPreview_module.fileType,
40
- children: extension.toLowerCase()
40
+ children: clearFileExtension.toLowerCase()
41
41
  })
42
42
  ]
43
43
  });
@@ -1,15 +1,22 @@
1
- import { type ReactNode } from 'react';
2
1
  import { type TooltipProps as RcTooltipProps } from 'rc-tooltip/es/Tooltip';
3
- import { type IHasTestId } from '../../common/types';
2
+ import { type IHasTestId, type ValueOf } from '../../common/types';
4
3
  import { type TooltipProps } from '../Tooltip/Tooltip';
4
+ export { Placement, type PlacementValue } from '../Tooltip/Tooltip';
5
+ export declare const HelpSize: {
6
+ readonly S: "s";
7
+ readonly M: "m";
8
+ readonly L: "l";
9
+ };
10
+ export type HelpSizeValue = ValueOf<typeof HelpSize>;
5
11
  export interface HelpProps extends IHasTestId {
6
12
  popup: RcTooltipProps['overlay'];
13
+ size?: HelpSizeValue;
14
+ disabled?: boolean;
15
+ tabIndex?: number;
7
16
  className?: string;
8
17
  zIndex?: number;
9
18
  placement?: TooltipProps['placement'];
10
19
  onVisibleChange?: (v: boolean) => void;
11
- icon?: ReactNode;
12
20
  offset?: TooltipProps['offset'];
13
21
  }
14
- export declare const Help: ({ testId, popup, className, zIndex, placement, onVisibleChange, icon, offset, }: HelpProps) => import("react/jsx-runtime").JSX.Element;
15
- export { Placement, type PlacementValue } from '../Tooltip/Tooltip';
22
+ export declare const Help: ({ testId, popup, size, disabled, tabIndex, className, zIndex, placement, onVisibleChange, offset, }: HelpProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,10 +1,20 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { useCallback, useState } from "react";
3
3
  import { cn } from "../../common/css/cn.js";
4
- import { Support20Icon } from "../../icon/index.js";
4
+ import { Support12Icon, Support16Icon, Support20Icon } from "../../icon/index.js";
5
5
  import { Placement, Tooltip } from "../Tooltip/Tooltip.js";
6
6
  import Help_module from "./Help.module.js";
7
- const Help = ({ testId, popup, className, zIndex, placement = Placement.RIGHT_TOP, onVisibleChange, icon, offset = [
7
+ const HelpSize = {
8
+ S: 's',
9
+ M: 'm',
10
+ L: 'l'
11
+ };
12
+ const IconBySizeMap = {
13
+ [HelpSize.S]: Support12Icon,
14
+ [HelpSize.M]: Support16Icon,
15
+ [HelpSize.L]: Support20Icon
16
+ };
17
+ const Help = ({ testId, popup, size = HelpSize.L, disabled, tabIndex, className, zIndex, placement = Placement.RIGHT_TOP, onVisibleChange, offset = [
8
18
  0,
9
19
  0
10
20
  ] })=>{
@@ -15,19 +25,24 @@ const Help = ({ testId, popup, className, zIndex, placement = Placement.RIGHT_TO
15
25
  }, [
16
26
  onVisibleChange
17
27
  ]);
28
+ const Icon = IconBySizeMap[size];
18
29
  return /*#__PURE__*/ jsx(Tooltip, {
19
30
  testId: `${testId}-tooltip`,
20
31
  overlay: popup,
21
32
  visible: visible,
22
- onVisibleChange: handleVisibleChange,
33
+ onVisibleChange: disabled ? void 0 : handleVisibleChange,
23
34
  placement: placement,
24
35
  offset: offset,
25
36
  zIndex: zIndex,
26
- children: /*#__PURE__*/ jsx("span", {
37
+ children: /*#__PURE__*/ jsx("button", {
27
38
  "data-test-id": testId,
28
- className: cn(className, Help_module.wrapper, visible && Help_module.visible),
29
- children: icon ?? /*#__PURE__*/ jsx(Support20Icon, {})
39
+ "data-visible": visible,
40
+ type: "button",
41
+ disabled: disabled,
42
+ tabIndex: tabIndex,
43
+ className: cn(Help_module.button, Help_module[size], visible && Help_module.visible, disabled && Help_module.disabled, className),
44
+ children: /*#__PURE__*/ jsx(Icon, {})
30
45
  })
31
46
  });
32
47
  };
33
- export { Help, Placement };
48
+ export { Help, HelpSize, Placement };
@@ -1,6 +1,10 @@
1
1
  import "./Help_module.css";
2
2
  const Help_module = {
3
- wrapper: "wrapper-pPctYQ",
4
- visible: "visible-sdySeo"
3
+ button: "button-iueVAf",
4
+ visible: "visible-sdySeo",
5
+ disabled: "disabled-JKdTzW",
6
+ s: "s-bu2fTP",
7
+ m: "m-V5HJp8",
8
+ l: "l-soJwJm"
5
9
  };
6
10
  export default Help_module;
@@ -1,18 +1,46 @@
1
- .wrapper-pPctYQ {
1
+ .button-iueVAf {
2
+ all: unset;
3
+ box-sizing: border-box;
2
4
  cursor: pointer;
3
- height: min-content;
5
+ color: var(--elements-normal, #5f6d79);
6
+ justify-content: center;
7
+ align-items: center;
4
8
  display: flex;
5
9
  }
6
10
 
7
- .wrapper-pPctYQ svg path[stroke] {
8
- stroke: var(--dark-grey-grey-800);
11
+ .button-iueVAf:hover, .button-iueVAf:active {
12
+ color: var(--elements-hover, #091739);
9
13
  }
10
14
 
11
- .wrapper-pPctYQ:hover svg path[stroke] {
12
- stroke: var(--dark-grey-dark-900);
15
+ .button-iueVAf:focus-visible {
16
+ outline: 1px solid var(--border-focused, #091739);
17
+ outline-offset: 1px;
18
+ color: var(--elements-hover, #091739);
19
+ border-radius: 2px;
13
20
  }
14
21
 
15
- .visible-sdySeo svg path[stroke], .visible-sdySeo:hover svg path[stroke] {
16
- stroke: var(--product-blue-700);
22
+ .visible-sdySeo {
23
+ color: var(--elements-hover, #091739);
24
+ }
25
+
26
+ .disabled-JKdTzW {
27
+ color: var(--elements-disabled);
28
+ cursor: default;
29
+ pointer-events: none;
30
+ }
31
+
32
+ .s-bu2fTP {
33
+ width: 12px;
34
+ height: 12px;
35
+ }
36
+
37
+ .m-V5HJp8 {
38
+ width: 16px;
39
+ height: 16px;
40
+ }
41
+
42
+ .l-soJwJm {
43
+ width: 20px;
44
+ height: 20px;
17
45
  }
18
46