@gravity-ui/dynamic-forms 5.19.1 → 5.20.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 (311) hide show
  1. package/build/cjs/lib/unstable/core/Entity/index.d.ts +1 -0
  2. package/build/cjs/lib/unstable/core/Entity/index.js +3 -1
  3. package/build/cjs/lib/unstable/core/index.d.ts +2 -2
  4. package/build/cjs/lib/unstable/core/index.js +3 -1
  5. package/build/cjs/lib/unstable/kit/components/ArrayRemoveButton/ArrayRemoveButton.d.ts +1 -0
  6. package/build/cjs/lib/unstable/kit/components/ArrayRemoveButton/ArrayRemoveButton.js +12 -5
  7. package/build/cjs/lib/unstable/kit/components/ControlContainer/ControlContainer.css +20 -0
  8. package/build/cjs/lib/unstable/kit/components/ControlContainer/ControlContainer.d.ts +7 -0
  9. package/build/cjs/lib/unstable/kit/components/ControlContainer/ControlContainer.js +14 -0
  10. package/build/cjs/lib/unstable/kit/components/ControlContainer/index.d.ts +1 -0
  11. package/build/cjs/lib/unstable/kit/components/ControlContainer/index.js +5 -0
  12. package/build/cjs/lib/unstable/kit/components/ControlError/ControlError.css +2 -32
  13. package/build/cjs/lib/unstable/kit/components/ControlError/ControlError.d.ts +0 -2
  14. package/build/cjs/lib/unstable/kit/components/ControlError/ControlError.js +5 -5
  15. package/build/cjs/lib/unstable/kit/components/WrapperContainer/WrapperContainer.css +8 -0
  16. package/build/cjs/lib/unstable/kit/components/WrapperContainer/WrapperContainer.d.ts +6 -0
  17. package/build/cjs/lib/unstable/kit/components/WrapperContainer/WrapperContainer.js +13 -0
  18. package/build/cjs/lib/unstable/kit/components/WrapperContainer/index.d.ts +1 -0
  19. package/build/cjs/lib/unstable/kit/components/WrapperContainer/index.js +5 -0
  20. package/build/cjs/lib/unstable/kit/components/index.d.ts +2 -0
  21. package/build/cjs/lib/unstable/kit/components/index.js +5 -1
  22. package/build/cjs/lib/unstable/kit/constants/config.d.ts +43 -0
  23. package/build/cjs/lib/unstable/kit/constants/config.js +45 -6
  24. package/build/cjs/lib/unstable/kit/controls/Alert/Alert.d.ts +9 -0
  25. package/build/cjs/lib/unstable/kit/controls/Alert/Alert.js +27 -0
  26. package/build/cjs/lib/unstable/kit/controls/Alert/index.d.ts +1 -0
  27. package/build/cjs/lib/unstable/kit/controls/Alert/index.js +5 -0
  28. package/build/cjs/lib/unstable/kit/controls/ArrayBase/ArrayBase.js +20 -17
  29. package/build/cjs/lib/unstable/kit/controls/ArrayTable/ArrayTable.css +39 -0
  30. package/build/cjs/lib/unstable/kit/controls/ArrayTable/ArrayTable.d.ts +8 -0
  31. package/build/cjs/lib/unstable/kit/controls/ArrayTable/ArrayTable.js +88 -0
  32. package/build/cjs/lib/unstable/kit/controls/ArrayTable/index.d.ts +1 -0
  33. package/build/cjs/lib/unstable/kit/controls/ArrayTable/index.js +5 -0
  34. package/build/cjs/lib/unstable/kit/controls/Checkbox/Checkbox.css +7 -1
  35. package/build/cjs/lib/unstable/kit/controls/Checkbox/Checkbox.d.ts +2 -2
  36. package/build/cjs/lib/unstable/kit/controls/Checkbox/Checkbox.js +8 -4
  37. package/build/cjs/lib/unstable/kit/controls/CheckboxGroup/CheckboxGroup.css +8 -2
  38. package/build/cjs/lib/unstable/kit/controls/CheckboxGroup/CheckboxGroup.js +11 -6
  39. package/build/cjs/lib/unstable/kit/controls/ColorPicker/ColorPicker.css +6 -0
  40. package/build/cjs/lib/unstable/kit/controls/ColorPicker/ColorPicker.d.ts +2 -2
  41. package/build/cjs/lib/unstable/kit/controls/ColorPicker/ColorPicker.js +7 -6
  42. package/build/cjs/lib/unstable/kit/controls/DateInput/DateInput.css +2 -2
  43. package/build/cjs/lib/unstable/kit/controls/DateInput/DateInput.d.ts +2 -2
  44. package/build/cjs/lib/unstable/kit/controls/DateInput/DateInput.js +14 -13
  45. package/build/cjs/lib/unstable/kit/controls/DotValue/DotValue.d.ts +5 -0
  46. package/build/cjs/lib/unstable/kit/controls/DotValue/DotValue.js +30 -0
  47. package/build/cjs/lib/unstable/kit/controls/DotValue/index.d.ts +1 -0
  48. package/build/cjs/lib/unstable/kit/controls/DotValue/index.js +5 -0
  49. package/build/cjs/lib/unstable/kit/controls/FewOfNested/FewOfNested.css +14 -0
  50. package/build/cjs/lib/unstable/kit/controls/FewOfNested/FewOfNested.d.ts +8 -0
  51. package/build/cjs/lib/unstable/kit/controls/FewOfNested/FewOfNested.js +63 -0
  52. package/build/cjs/lib/unstable/kit/controls/FewOfNested/index.d.ts +1 -0
  53. package/build/cjs/lib/unstable/kit/controls/FewOfNested/index.js +5 -0
  54. package/build/cjs/lib/unstable/kit/controls/FileInput/FileInput.d.ts +7 -0
  55. package/build/cjs/lib/unstable/kit/controls/FileInput/FileInput.js +53 -0
  56. package/build/cjs/lib/unstable/kit/controls/FileInput/index.d.ts +1 -0
  57. package/build/cjs/lib/unstable/kit/controls/FileInput/index.js +5 -0
  58. package/build/cjs/lib/unstable/kit/controls/Label/Label.d.ts +9 -0
  59. package/build/cjs/lib/unstable/kit/controls/Label/Label.js +28 -0
  60. package/build/cjs/lib/unstable/kit/controls/Label/index.d.ts +1 -0
  61. package/build/cjs/lib/unstable/kit/controls/Label/index.js +5 -0
  62. package/build/cjs/lib/unstable/kit/controls/MultiSelect/MultiSelect.d.ts +2 -2
  63. package/build/cjs/lib/unstable/kit/controls/MultiSelect/MultiSelect.js +5 -2
  64. package/build/cjs/lib/unstable/kit/controls/NumberBase/NumberBase.css +3 -0
  65. package/build/{esm/lib/unstable/kit/controls/NumberBase/Number.d.ts → cjs/lib/unstable/kit/controls/NumberBase/NumberBase.d.ts} +1 -1
  66. package/build/cjs/lib/unstable/kit/controls/NumberBase/NumberBase.js +16 -0
  67. package/build/cjs/lib/unstable/kit/controls/NumberBase/index.d.ts +1 -1
  68. package/build/cjs/lib/unstable/kit/controls/NumberBase/index.js +2 -2
  69. package/build/cjs/lib/unstable/kit/controls/ObjectBase/ObjectBase.d.ts +0 -1
  70. package/build/cjs/lib/unstable/kit/controls/ObjectBase/ObjectBase.js +6 -24
  71. package/build/cjs/lib/unstable/kit/controls/ObjectInline/ObjectInline.css +8 -0
  72. package/build/cjs/lib/unstable/kit/controls/ObjectInline/ObjectInline.d.ts +8 -0
  73. package/build/cjs/lib/unstable/kit/controls/ObjectInline/ObjectInline.js +25 -0
  74. package/build/cjs/lib/unstable/kit/controls/ObjectInline/index.d.ts +1 -0
  75. package/build/cjs/lib/unstable/kit/controls/ObjectInline/index.js +5 -0
  76. package/build/cjs/lib/unstable/kit/controls/OneOfNested/OneOfNested.css +14 -0
  77. package/build/cjs/lib/unstable/kit/controls/OneOfNested/OneOfNested.d.ts +12 -0
  78. package/build/cjs/lib/unstable/kit/controls/OneOfNested/OneOfNested.js +64 -0
  79. package/build/cjs/lib/unstable/kit/controls/OneOfNested/index.d.ts +1 -0
  80. package/build/cjs/lib/unstable/kit/controls/OneOfNested/index.js +5 -0
  81. package/build/cjs/lib/unstable/kit/controls/Password/Password.css +3 -0
  82. package/build/cjs/lib/unstable/kit/controls/Password/Password.d.ts +1 -1
  83. package/build/cjs/lib/unstable/kit/controls/Password/Password.js +6 -2
  84. package/build/cjs/lib/unstable/kit/controls/RadioGroup/RadioGroup.css +12 -2
  85. package/build/cjs/lib/unstable/kit/controls/RadioGroup/RadioGroup.d.ts +2 -2
  86. package/build/cjs/lib/unstable/kit/controls/RadioGroup/RadioGroup.js +4 -4
  87. package/build/cjs/lib/unstable/kit/controls/RangeSlider/RangeSlider.d.ts +2 -2
  88. package/build/cjs/lib/unstable/kit/controls/RangeSlider/RangeSlider.js +11 -9
  89. package/build/cjs/lib/unstable/kit/controls/SegmentedRadioGroup/SegmentedRadioGroup.css +6 -0
  90. package/build/cjs/lib/unstable/kit/controls/SegmentedRadioGroup/SegmentedRadioGroup.d.ts +8 -0
  91. package/build/cjs/lib/unstable/kit/controls/SegmentedRadioGroup/SegmentedRadioGroup.js +29 -0
  92. package/build/cjs/lib/unstable/kit/controls/SegmentedRadioGroup/index.d.ts +1 -0
  93. package/build/cjs/lib/unstable/kit/controls/SegmentedRadioGroup/index.js +5 -0
  94. package/build/cjs/lib/unstable/kit/controls/Select/Select.d.ts +3 -3
  95. package/build/cjs/lib/unstable/kit/controls/Select/Select.js +6 -3
  96. package/build/cjs/lib/unstable/kit/controls/Slider/Slider.d.ts +2 -2
  97. package/build/cjs/lib/unstable/kit/controls/Slider/Slider.js +7 -5
  98. package/build/cjs/lib/unstable/kit/controls/StringBase/StringBase.css +3 -0
  99. package/build/cjs/lib/unstable/kit/controls/StringBase/StringBase.d.ts +1 -1
  100. package/build/cjs/lib/unstable/kit/controls/StringBase/StringBase.js +4 -1
  101. package/build/cjs/lib/unstable/kit/controls/Switch/Switch.css +8 -2
  102. package/build/cjs/lib/unstable/kit/controls/Switch/Switch.d.ts +2 -2
  103. package/build/cjs/lib/unstable/kit/controls/Switch/Switch.js +8 -4
  104. package/build/cjs/lib/unstable/kit/controls/TextArea/TextArea.css +3 -0
  105. package/build/cjs/lib/unstable/kit/controls/TextArea/TextArea.d.ts +2 -2
  106. package/build/cjs/lib/unstable/kit/controls/TextArea/TextArea.js +4 -1
  107. package/build/cjs/lib/unstable/kit/controls/TextContent/TextContent.css +10 -0
  108. package/build/cjs/lib/unstable/kit/controls/TextContent/TextContent.d.ts +9 -0
  109. package/build/cjs/lib/unstable/kit/controls/TextContent/TextContent.js +29 -0
  110. package/build/cjs/lib/unstable/kit/controls/TextContent/index.d.ts +1 -0
  111. package/build/cjs/lib/unstable/kit/controls/TextContent/index.js +5 -0
  112. package/build/cjs/lib/unstable/kit/controls/index.d.ts +10 -0
  113. package/build/cjs/lib/unstable/kit/controls/index.js +21 -1
  114. package/build/cjs/lib/unstable/kit/utils/common.d.ts +1 -0
  115. package/build/cjs/lib/unstable/kit/utils/common.js +5 -1
  116. package/build/cjs/lib/unstable/kit/utils/index.d.ts +1 -1
  117. package/build/cjs/lib/unstable/kit/utils/index.js +2 -1
  118. package/build/cjs/lib/unstable/kit/wrappers/Accordeon/Accordeon.css +35 -0
  119. package/build/cjs/lib/unstable/kit/wrappers/Accordeon/Accordeon.d.ts +10 -0
  120. package/build/cjs/lib/unstable/kit/wrappers/Accordeon/Accordeon.js +39 -0
  121. package/build/cjs/lib/unstable/kit/wrappers/Accordeon/index.d.ts +1 -0
  122. package/build/cjs/lib/unstable/kit/wrappers/Accordeon/index.js +5 -0
  123. package/build/cjs/lib/unstable/kit/wrappers/Row/Row.css +3 -6
  124. package/build/cjs/lib/unstable/kit/wrappers/Row/Row.js +7 -6
  125. package/build/cjs/lib/unstable/kit/wrappers/Section/Section.css +23 -0
  126. package/build/cjs/lib/unstable/kit/wrappers/Section/Section.d.ts +8 -0
  127. package/build/cjs/lib/unstable/kit/wrappers/Section/Section.js +36 -0
  128. package/build/cjs/lib/unstable/kit/wrappers/Section/index.d.ts +1 -0
  129. package/build/cjs/lib/unstable/kit/wrappers/Section/index.js +5 -0
  130. package/build/cjs/lib/unstable/kit/wrappers/Transparent/Transparent.js +6 -4
  131. package/build/cjs/lib/unstable/kit/wrappers/index.d.ts +2 -0
  132. package/build/cjs/lib/unstable/kit/wrappers/index.js +5 -1
  133. package/build/esm/lib/unstable/core/Entity/index.d.ts +1 -0
  134. package/build/esm/lib/unstable/core/Entity/index.js +1 -0
  135. package/build/esm/lib/unstable/core/index.d.ts +2 -2
  136. package/build/esm/lib/unstable/core/index.js +2 -2
  137. package/build/esm/lib/unstable/kit/components/ArrayRemoveButton/ArrayRemoveButton.d.ts +1 -0
  138. package/build/esm/lib/unstable/kit/components/ArrayRemoveButton/ArrayRemoveButton.js +12 -5
  139. package/build/esm/lib/unstable/kit/components/ControlContainer/ControlContainer.css +20 -0
  140. package/build/esm/lib/unstable/kit/components/ControlContainer/ControlContainer.d.ts +8 -0
  141. package/build/esm/lib/unstable/kit/components/ControlContainer/ControlContainer.js +12 -0
  142. package/build/esm/lib/unstable/kit/components/ControlContainer/index.d.ts +1 -0
  143. package/build/esm/lib/unstable/kit/components/ControlContainer/index.js +1 -0
  144. package/build/esm/lib/unstable/kit/components/ControlError/ControlError.css +2 -32
  145. package/build/esm/lib/unstable/kit/components/ControlError/ControlError.d.ts +0 -2
  146. package/build/esm/lib/unstable/kit/components/ControlError/ControlError.js +6 -6
  147. package/build/esm/lib/unstable/kit/components/WrapperContainer/WrapperContainer.css +8 -0
  148. package/build/esm/lib/unstable/kit/components/WrapperContainer/WrapperContainer.d.ts +7 -0
  149. package/build/esm/lib/unstable/kit/components/WrapperContainer/WrapperContainer.js +11 -0
  150. package/build/esm/lib/unstable/kit/components/WrapperContainer/index.d.ts +1 -0
  151. package/build/esm/lib/unstable/kit/components/WrapperContainer/index.js +1 -0
  152. package/build/esm/lib/unstable/kit/components/index.d.ts +2 -0
  153. package/build/esm/lib/unstable/kit/components/index.js +2 -0
  154. package/build/esm/lib/unstable/kit/constants/config.d.ts +43 -0
  155. package/build/esm/lib/unstable/kit/constants/config.js +47 -8
  156. package/build/esm/lib/unstable/kit/controls/Alert/Alert.d.ts +9 -0
  157. package/build/esm/lib/unstable/kit/controls/Alert/Alert.js +24 -0
  158. package/build/esm/lib/unstable/kit/controls/Alert/index.d.ts +1 -0
  159. package/build/esm/lib/unstable/kit/controls/Alert/index.js +1 -0
  160. package/build/esm/lib/unstable/kit/controls/ArrayBase/ArrayBase.js +21 -18
  161. package/build/esm/lib/unstable/kit/controls/ArrayTable/ArrayTable.css +39 -0
  162. package/build/esm/lib/unstable/kit/controls/ArrayTable/ArrayTable.d.ts +9 -0
  163. package/build/esm/lib/unstable/kit/controls/ArrayTable/ArrayTable.js +85 -0
  164. package/build/esm/lib/unstable/kit/controls/ArrayTable/index.d.ts +1 -0
  165. package/build/esm/lib/unstable/kit/controls/ArrayTable/index.js +1 -0
  166. package/build/esm/lib/unstable/kit/controls/Checkbox/Checkbox.css +7 -1
  167. package/build/esm/lib/unstable/kit/controls/Checkbox/Checkbox.d.ts +2 -2
  168. package/build/esm/lib/unstable/kit/controls/Checkbox/Checkbox.js +11 -7
  169. package/build/esm/lib/unstable/kit/controls/CheckboxGroup/CheckboxGroup.css +8 -2
  170. package/build/esm/lib/unstable/kit/controls/CheckboxGroup/CheckboxGroup.js +13 -8
  171. package/build/esm/lib/unstable/kit/controls/ColorPicker/ColorPicker.css +6 -0
  172. package/build/esm/lib/unstable/kit/controls/ColorPicker/ColorPicker.d.ts +3 -2
  173. package/build/esm/lib/unstable/kit/controls/ColorPicker/ColorPicker.js +11 -9
  174. package/build/esm/lib/unstable/kit/controls/DateInput/DateInput.css +2 -2
  175. package/build/esm/lib/unstable/kit/controls/DateInput/DateInput.d.ts +2 -2
  176. package/build/esm/lib/unstable/kit/controls/DateInput/DateInput.js +16 -15
  177. package/build/esm/lib/unstable/kit/controls/DotValue/DotValue.d.ts +5 -0
  178. package/build/esm/lib/unstable/kit/controls/DotValue/DotValue.js +26 -0
  179. package/build/esm/lib/unstable/kit/controls/DotValue/index.d.ts +1 -0
  180. package/build/esm/lib/unstable/kit/controls/DotValue/index.js +1 -0
  181. package/build/esm/lib/unstable/kit/controls/FewOfNested/FewOfNested.css +14 -0
  182. package/build/esm/lib/unstable/kit/controls/FewOfNested/FewOfNested.d.ts +9 -0
  183. package/build/esm/lib/unstable/kit/controls/FewOfNested/FewOfNested.js +60 -0
  184. package/build/esm/lib/unstable/kit/controls/FewOfNested/index.d.ts +1 -0
  185. package/build/esm/lib/unstable/kit/controls/FewOfNested/index.js +1 -0
  186. package/build/esm/lib/unstable/kit/controls/FileInput/FileInput.d.ts +7 -0
  187. package/build/esm/lib/unstable/kit/controls/FileInput/FileInput.js +50 -0
  188. package/build/esm/lib/unstable/kit/controls/FileInput/index.d.ts +1 -0
  189. package/build/esm/lib/unstable/kit/controls/FileInput/index.js +1 -0
  190. package/build/esm/lib/unstable/kit/controls/Label/Label.d.ts +9 -0
  191. package/build/esm/lib/unstable/kit/controls/Label/Label.js +25 -0
  192. package/build/esm/lib/unstable/kit/controls/Label/index.d.ts +1 -0
  193. package/build/esm/lib/unstable/kit/controls/Label/index.js +1 -0
  194. package/build/esm/lib/unstable/kit/controls/MultiSelect/MultiSelect.d.ts +2 -2
  195. package/build/esm/lib/unstable/kit/controls/MultiSelect/MultiSelect.js +6 -3
  196. package/build/esm/lib/unstable/kit/controls/NumberBase/NumberBase.css +3 -0
  197. package/build/{cjs/lib/unstable/kit/controls/NumberBase/Number.d.ts → esm/lib/unstable/kit/controls/NumberBase/NumberBase.d.ts} +2 -1
  198. package/build/esm/lib/unstable/kit/controls/NumberBase/NumberBase.js +13 -0
  199. package/build/esm/lib/unstable/kit/controls/NumberBase/index.d.ts +1 -1
  200. package/build/esm/lib/unstable/kit/controls/NumberBase/index.js +1 -1
  201. package/build/esm/lib/unstable/kit/controls/ObjectBase/ObjectBase.d.ts +0 -1
  202. package/build/esm/lib/unstable/kit/controls/ObjectBase/ObjectBase.js +7 -25
  203. package/build/esm/lib/unstable/kit/controls/ObjectInline/ObjectInline.css +8 -0
  204. package/build/esm/lib/unstable/kit/controls/ObjectInline/ObjectInline.d.ts +9 -0
  205. package/build/esm/lib/unstable/kit/controls/ObjectInline/ObjectInline.js +22 -0
  206. package/build/esm/lib/unstable/kit/controls/ObjectInline/index.d.ts +1 -0
  207. package/build/esm/lib/unstable/kit/controls/ObjectInline/index.js +1 -0
  208. package/build/esm/lib/unstable/kit/controls/OneOfNested/OneOfNested.css +14 -0
  209. package/build/esm/lib/unstable/kit/controls/OneOfNested/OneOfNested.d.ts +13 -0
  210. package/build/esm/lib/unstable/kit/controls/OneOfNested/OneOfNested.js +61 -0
  211. package/build/esm/lib/unstable/kit/controls/OneOfNested/index.d.ts +1 -0
  212. package/build/esm/lib/unstable/kit/controls/OneOfNested/index.js +1 -0
  213. package/build/esm/lib/unstable/kit/controls/Password/Password.css +3 -0
  214. package/build/esm/lib/unstable/kit/controls/Password/Password.d.ts +2 -1
  215. package/build/esm/lib/unstable/kit/controls/Password/Password.js +8 -3
  216. package/build/esm/lib/unstable/kit/controls/RadioGroup/RadioGroup.css +12 -2
  217. package/build/esm/lib/unstable/kit/controls/RadioGroup/RadioGroup.d.ts +2 -2
  218. package/build/esm/lib/unstable/kit/controls/RadioGroup/RadioGroup.js +7 -7
  219. package/build/esm/lib/unstable/kit/controls/RangeSlider/RangeSlider.d.ts +2 -3
  220. package/build/esm/lib/unstable/kit/controls/RangeSlider/RangeSlider.js +13 -12
  221. package/build/esm/lib/unstable/kit/controls/SegmentedRadioGroup/SegmentedRadioGroup.css +6 -0
  222. package/build/esm/lib/unstable/kit/controls/SegmentedRadioGroup/SegmentedRadioGroup.d.ts +9 -0
  223. package/build/esm/lib/unstable/kit/controls/SegmentedRadioGroup/SegmentedRadioGroup.js +27 -0
  224. package/build/esm/lib/unstable/kit/controls/SegmentedRadioGroup/index.d.ts +1 -0
  225. package/build/esm/lib/unstable/kit/controls/SegmentedRadioGroup/index.js +1 -0
  226. package/build/esm/lib/unstable/kit/controls/Select/Select.d.ts +3 -3
  227. package/build/esm/lib/unstable/kit/controls/Select/Select.js +7 -4
  228. package/build/esm/lib/unstable/kit/controls/Slider/Slider.d.ts +2 -3
  229. package/build/esm/lib/unstable/kit/controls/Slider/Slider.js +9 -8
  230. package/build/esm/lib/unstable/kit/controls/StringBase/StringBase.css +3 -0
  231. package/build/esm/lib/unstable/kit/controls/StringBase/StringBase.d.ts +2 -1
  232. package/build/esm/lib/unstable/kit/controls/StringBase/StringBase.js +6 -2
  233. package/build/esm/lib/unstable/kit/controls/Switch/Switch.css +8 -2
  234. package/build/esm/lib/unstable/kit/controls/Switch/Switch.d.ts +2 -2
  235. package/build/esm/lib/unstable/kit/controls/Switch/Switch.js +11 -7
  236. package/build/esm/lib/unstable/kit/controls/TextArea/TextArea.css +3 -0
  237. package/build/esm/lib/unstable/kit/controls/TextArea/TextArea.d.ts +3 -2
  238. package/build/esm/lib/unstable/kit/controls/TextArea/TextArea.js +7 -3
  239. package/build/esm/lib/unstable/kit/controls/TextContent/TextContent.css +10 -0
  240. package/build/esm/lib/unstable/kit/controls/TextContent/TextContent.d.ts +10 -0
  241. package/build/esm/lib/unstable/kit/controls/TextContent/TextContent.js +27 -0
  242. package/build/esm/lib/unstable/kit/controls/TextContent/index.d.ts +1 -0
  243. package/build/esm/lib/unstable/kit/controls/TextContent/index.js +1 -0
  244. package/build/esm/lib/unstable/kit/controls/index.d.ts +10 -0
  245. package/build/esm/lib/unstable/kit/controls/index.js +10 -0
  246. package/build/esm/lib/unstable/kit/utils/common.d.ts +1 -0
  247. package/build/esm/lib/unstable/kit/utils/common.js +3 -0
  248. package/build/esm/lib/unstable/kit/utils/index.d.ts +1 -1
  249. package/build/esm/lib/unstable/kit/utils/index.js +1 -1
  250. package/build/esm/lib/unstable/kit/wrappers/Accordeon/Accordeon.css +35 -0
  251. package/build/esm/lib/unstable/kit/wrappers/Accordeon/Accordeon.d.ts +11 -0
  252. package/build/esm/lib/unstable/kit/wrappers/Accordeon/Accordeon.js +37 -0
  253. package/build/esm/lib/unstable/kit/wrappers/Accordeon/index.d.ts +1 -0
  254. package/build/esm/lib/unstable/kit/wrappers/Accordeon/index.js +1 -0
  255. package/build/esm/lib/unstable/kit/wrappers/Row/Row.css +3 -6
  256. package/build/esm/lib/unstable/kit/wrappers/Row/Row.js +9 -8
  257. package/build/esm/lib/unstable/kit/wrappers/Section/Section.css +23 -0
  258. package/build/esm/lib/unstable/kit/wrappers/Section/Section.d.ts +9 -0
  259. package/build/esm/lib/unstable/kit/wrappers/Section/Section.js +34 -0
  260. package/build/esm/lib/unstable/kit/wrappers/Section/index.d.ts +1 -0
  261. package/build/esm/lib/unstable/kit/wrappers/Section/index.js +1 -0
  262. package/build/esm/lib/unstable/kit/wrappers/Transparent/Transparent.js +8 -6
  263. package/build/esm/lib/unstable/kit/wrappers/index.d.ts +2 -0
  264. package/build/esm/lib/unstable/kit/wrappers/index.js +2 -0
  265. package/package.json +1 -1
  266. package/build/cjs/lib/unstable/kit/Accordeon.d.ts +0 -3
  267. package/build/cjs/lib/unstable/kit/Accordeon.js +0 -31
  268. package/build/cjs/lib/unstable/kit/Any.d.ts +0 -2
  269. package/build/cjs/lib/unstable/kit/Any.js +0 -21
  270. package/build/cjs/lib/unstable/kit/ArrayBase.css +0 -23
  271. package/build/cjs/lib/unstable/kit/ArrayBase.d.ts +0 -2
  272. package/build/cjs/lib/unstable/kit/ArrayBase.js +0 -101
  273. package/build/cjs/lib/unstable/kit/MultiSelect.css +0 -6
  274. package/build/cjs/lib/unstable/kit/MultiSelect.d.ts +0 -6
  275. package/build/cjs/lib/unstable/kit/MultiSelect.js +0 -66
  276. package/build/cjs/lib/unstable/kit/ObjectBase.css +0 -10
  277. package/build/cjs/lib/unstable/kit/ObjectBase.d.ts +0 -7
  278. package/build/cjs/lib/unstable/kit/ObjectBase.js +0 -71
  279. package/build/cjs/lib/unstable/kit/Row.css +0 -73
  280. package/build/cjs/lib/unstable/kit/Row.d.ts +0 -10
  281. package/build/cjs/lib/unstable/kit/Row.js +0 -50
  282. package/build/cjs/lib/unstable/kit/Text.d.ts +0 -6
  283. package/build/cjs/lib/unstable/kit/Text.js +0 -259
  284. package/build/cjs/lib/unstable/kit/config.d.ts +0 -95
  285. package/build/cjs/lib/unstable/kit/config.js +0 -68
  286. package/build/cjs/lib/unstable/kit/controls/NumberBase/Number.js +0 -12
  287. package/build/cjs/lib/unstable/kit/controls/RangeSlider/RangeSlider.css +0 -3
  288. package/build/cjs/lib/unstable/kit/controls/Slider/Slider.css +0 -3
  289. package/build/esm/lib/unstable/kit/Accordeon.d.ts +0 -3
  290. package/build/esm/lib/unstable/kit/Accordeon.js +0 -26
  291. package/build/esm/lib/unstable/kit/Any.d.ts +0 -2
  292. package/build/esm/lib/unstable/kit/Any.js +0 -16
  293. package/build/esm/lib/unstable/kit/ArrayBase.css +0 -23
  294. package/build/esm/lib/unstable/kit/ArrayBase.d.ts +0 -3
  295. package/build/esm/lib/unstable/kit/ArrayBase.js +0 -97
  296. package/build/esm/lib/unstable/kit/MultiSelect.css +0 -6
  297. package/build/esm/lib/unstable/kit/MultiSelect.d.ts +0 -7
  298. package/build/esm/lib/unstable/kit/MultiSelect.js +0 -62
  299. package/build/esm/lib/unstable/kit/ObjectBase.css +0 -10
  300. package/build/esm/lib/unstable/kit/ObjectBase.d.ts +0 -8
  301. package/build/esm/lib/unstable/kit/ObjectBase.js +0 -66
  302. package/build/esm/lib/unstable/kit/Row.css +0 -73
  303. package/build/esm/lib/unstable/kit/Row.d.ts +0 -11
  304. package/build/esm/lib/unstable/kit/Row.js +0 -47
  305. package/build/esm/lib/unstable/kit/Text.d.ts +0 -6
  306. package/build/esm/lib/unstable/kit/Text.js +0 -255
  307. package/build/esm/lib/unstable/kit/config.d.ts +0 -95
  308. package/build/esm/lib/unstable/kit/config.js +0 -65
  309. package/build/esm/lib/unstable/kit/controls/NumberBase/Number.js +0 -8
  310. package/build/esm/lib/unstable/kit/controls/RangeSlider/RangeSlider.css +0 -3
  311. package/build/esm/lib/unstable/kit/controls/Slider/Slider.css +0 -3
@@ -0,0 +1,85 @@
1
+ import React from 'react';
2
+ import { Plus } from '@gravity-ui/icons';
3
+ import { Button, HelpMark, Icon, Text } from '@gravity-ui/uikit';
4
+ import { Entity } from '../../../core';
5
+ import { ArrayRemoveButton, ControlContainer } from '../../components';
6
+ import { block } from '../../utils';
7
+ import './ArrayTable.css';
8
+ const b = block('array-table');
9
+ const Component = ({ controlProps, input, schema }) => {
10
+ const { name, onBlur, onChange, onFocus, value } = input;
11
+ const addButton = React.useMemo(() => {
12
+ const itemsSchema = schema.items;
13
+ if (Array.isArray(itemsSchema)) {
14
+ return null;
15
+ }
16
+ const onClick = () => {
17
+ onFocus();
18
+ onChange([...(value || []), itemsSchema === null || itemsSchema === void 0 ? void 0 : itemsSchema.default]);
19
+ onBlur();
20
+ };
21
+ return (React.createElement(Button, { onClick: onClick, disabled: controlProps.disabled || schema.readOnly, qa: `${name}-add-button` },
22
+ React.createElement(Icon, { data: Plus, size: 14 }),
23
+ controlProps.addButtonText || null));
24
+ }, [
25
+ controlProps.addButtonText,
26
+ controlProps.disabled,
27
+ name,
28
+ onBlur,
29
+ onChange,
30
+ onFocus,
31
+ schema.items,
32
+ schema.readOnly,
33
+ value,
34
+ ]);
35
+ const columns = React.useMemo(() => {
36
+ const columns = [];
37
+ const itemsSchema = schema.items;
38
+ if (itemsSchema) {
39
+ const itemSchema = Array.isArray(itemsSchema) ? itemsSchema[0] : itemsSchema;
40
+ if ('properties' in itemSchema &&
41
+ itemSchema.properties &&
42
+ Object.keys(itemSchema.properties).length > 0) {
43
+ const properties = itemSchema.properties;
44
+ (controlProps.order || Object.keys(properties)).forEach((columnKey) => {
45
+ columns.push({ name: columnKey, schema: properties[columnKey] || {} });
46
+ });
47
+ }
48
+ else {
49
+ columns.push({ name: undefined, schema: itemSchema });
50
+ }
51
+ }
52
+ return columns;
53
+ }, [controlProps.order, schema.items]);
54
+ const { head, rows } = React.useMemo(() => {
55
+ let rowsCount = value === null || value === void 0 ? void 0 : value.length;
56
+ let withRemoveButton = true;
57
+ if (Array.isArray(schema.items)) {
58
+ rowsCount = schema.items.length;
59
+ withRemoveButton = false;
60
+ }
61
+ const head = (React.createElement("div", { className: b('row', { 'with-remove-button': withRemoveButton }), style: { '--columns-count': columns.length } },
62
+ React.createElement("div", { className: b('cell') },
63
+ React.createElement(Text, { className: b('index'), variant: "subheader-1" }, "#")),
64
+ columns.map((column, cIndex) => {
65
+ var _a;
66
+ return (React.createElement("div", { className: b('cell'), key: cIndex },
67
+ React.createElement("div", { className: b('column-title') }, (_a = column.schema.title) === null || _a === void 0 ? void 0 : _a.split(' ').map((word, wIndex, array) => (React.createElement("div", { className: b('column-title-word'), key: word },
68
+ React.createElement(Text, { variant: "subheader-1" }, word),
69
+ wIndex + 1 === array.length && column.schema.description ? (React.createElement(HelpMark, null, column.schema.description)) : null))))));
70
+ })));
71
+ const rows = new Array(rowsCount).fill(null).map((_, rIndex) => (React.createElement("div", { className: b('row', { 'with-remove-button': withRemoveButton }), style: { '--columns-count': columns.length }, key: rIndex },
72
+ React.createElement("div", { className: b('cell') },
73
+ React.createElement(Text, { className: b('index'), variant: "subheader-1" }, rIndex + 1)),
74
+ columns.map((column, cIndex) => (React.createElement("div", { className: b('cell'), key: cIndex },
75
+ React.createElement(Entity, { name: `${name}[${rIndex}]${column.name === undefined ? '' : `.${column.name}`}`, schema: column.schema })))),
76
+ withRemoveButton ? (React.createElement("div", { className: b('cell') },
77
+ React.createElement(ArrayRemoveButton, { name: `${name}[${rIndex}]` }))) : null)));
78
+ return { head, rows };
79
+ }, [columns, name, schema.items, value === null || value === void 0 ? void 0 : value.length]);
80
+ return (React.createElement(ControlContainer, { stretch: "by-child", gap: 2 },
81
+ head,
82
+ rows,
83
+ addButton));
84
+ };
85
+ export const ArrayTable = React.memo(Component);
@@ -0,0 +1 @@
1
+ export { ArrayTable, type ArrayTableProps } from './ArrayTable';
@@ -0,0 +1 @@
1
+ export { ArrayTable } from './ArrayTable';
@@ -1,5 +1,11 @@
1
1
  .sr-checkbox {
2
2
  min-height: 28px;
3
3
  display: flex;
4
- align-items: center;
4
+ justify-content: center;
5
+ }
6
+ .sr-checkbox_error .g-control-label .g-checkbox__indicator:hover::before {
7
+ border: 1px solid var(--g-color-text-danger);
8
+ }
9
+ .sr-checkbox_error .g-control-label .g-checkbox__indicator::before {
10
+ border: 1px solid var(--g-color-text-danger);
5
11
  }
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import type { CheckboxProps as CheckboxBaseProps } from '@gravity-ui/uikit';
2
+ import { type CheckboxProps as UIKitCheckboxProps } from '@gravity-ui/uikit';
3
3
  import type { JsonSchemaBoolean } from '../../../core';
4
4
  import './Checkbox.css';
5
- export interface CheckboxProps extends Omit<CheckboxBaseProps, 'checked' | 'onFocus' | 'onBlur' | 'onChange' | 'onUpdate' | 'qa'> {
5
+ export interface CheckboxProps extends Omit<UIKitCheckboxProps, 'checked' | 'onFocus' | 'onBlur' | 'onChange' | 'onUpdate' | 'qa'> {
6
6
  }
7
7
  export declare const Checkbox: React.NamedExoticComponent<import("../../../core").ControlProps<JsonSchemaBoolean<any>, CheckboxProps, {}>>;
@@ -1,13 +1,17 @@
1
1
  import React from 'react';
2
- import { Checkbox as CheckboxBase } from '@gravity-ui/uikit';
3
- import { ControlError } from '../../components';
4
- import { block, getValidationState } from '../../utils';
2
+ import { Checkbox as UIKitCheckbox, } from '@gravity-ui/uikit';
3
+ import { ControlContainer } from '../../components';
4
+ import { block, getBooleanValidationState } from '../../utils';
5
5
  import './Checkbox.css';
6
6
  const b = block('checkbox');
7
7
  const Component = ({ controlProps, input, meta, schema, }) => {
8
- var _a;
9
- return (React.createElement(ControlError, { errorMessage: meta.error, validationState: getValidationState(meta) },
10
- React.createElement("div", { className: b() },
11
- React.createElement(CheckboxBase, Object.assign({ disabled: schema.readOnly }, controlProps, { className: b(), checked: (_a = input.value) !== null && _a !== void 0 ? _a : false, onFocus: input.onFocus, onBlur: input.onBlur, onUpdate: input.onChange, qa: input.name })))));
8
+ const { name, onBlur, onChange, onFocus, value } = input;
9
+ const onUpdate = React.useCallback((value) => {
10
+ onFocus();
11
+ onChange(value);
12
+ onBlur();
13
+ }, [onBlur, onChange, onFocus]);
14
+ return (React.createElement(ControlContainer, { stretch: "fit", className: b({ error: getBooleanValidationState(meta) }) },
15
+ React.createElement(UIKitCheckbox, Object.assign({ disabled: schema.readOnly }, controlProps, { checked: value !== null && value !== void 0 ? value : false, onFocus: onFocus, onBlur: onBlur, onUpdate: onUpdate, qa: name }))));
12
16
  };
13
17
  export const Checkbox = React.memo(Component);
@@ -1,3 +1,9 @@
1
- .sr-checkbox-group {
2
- padding-top: 7.5px;
1
+ .sr-checkbox-group__checkbox {
2
+ min-height: 28px;
3
+ }
4
+ .sr-checkbox-group__checkbox_error .g-control-label .g-checkbox__indicator:hover::before {
5
+ border: 1px solid var(--g-color-text-danger);
6
+ }
7
+ .sr-checkbox-group__checkbox_error .g-control-label .g-checkbox__indicator::before {
8
+ border: 1px solid var(--g-color-text-danger);
3
9
  }
@@ -1,12 +1,13 @@
1
1
  import React from 'react';
2
2
  import { Checkbox, Flex } from '@gravity-ui/uikit';
3
- import { ControlError } from '../../components';
4
- import { block, getValidationState } from '../../utils';
3
+ import { ControlContainer } from '../../components';
4
+ import { block, getBooleanValidationState } from '../../utils';
5
5
  import './CheckboxGroup.css';
6
6
  const b = block('checkbox-group');
7
7
  const Component = ({ controlProps, input, meta, schema, }) => {
8
+ const { name, onBlur, onChange, onFocus, value: inputValue } = input;
8
9
  const { direction, disabled, enumDescriptions, optionsDisabled } = controlProps;
9
- const value = React.useMemo(() => (Array.isArray(input.value) ? input.value : []), [input.value]);
10
+ const value = React.useMemo(() => (Array.isArray(inputValue) ? inputValue : []), [inputValue]);
10
11
  const options = React.useMemo(() => {
11
12
  var _a, _b;
12
13
  if (schema.items && 'enum' in schema.items) {
@@ -21,14 +22,18 @@ const Component = ({ controlProps, input, meta, schema, }) => {
21
22
  return;
22
23
  }, [enumDescriptions, schema]);
23
24
  const onUpdate = React.useCallback((optionValue, selected) => {
25
+ onFocus();
24
26
  if (selected) {
25
- input.onChange([...value, optionValue]);
27
+ onChange([...value, optionValue]);
26
28
  }
27
29
  else {
28
- input.onChange(value.filter((el) => el !== optionValue));
30
+ onChange(value.filter((el) => el !== optionValue));
29
31
  }
30
- }, [input.onChange, value]);
31
- return (React.createElement(ControlError, { errorMessage: meta.error, validationState: getValidationState(meta) },
32
- React.createElement(Flex, { className: b(), direction: direction, gap: 2 }, options === null || options === void 0 ? void 0 : options.map(({ value: optionValue, text }) => (React.createElement(Checkbox, { checked: value.includes(optionValue), onFocus: input.onFocus, onBlur: input.onBlur, onUpdate: (checked) => onUpdate(optionValue, checked), content: text, disabled: disabled || (optionsDisabled === null || optionsDisabled === void 0 ? void 0 : optionsDisabled[optionValue]) || schema.readOnly, qa: `${input.name}-${optionValue}`, key: optionValue }))))));
32
+ onBlur();
33
+ }, [onBlur, onChange, onFocus, value]);
34
+ return (React.createElement(ControlContainer, { stretch: "fit", direction: direction, gap: direction === 'row' ? 2 : undefined }, options === null || options === void 0 ? void 0 : options.map(({ value: optionValue, text }) => (React.createElement(Flex, { className: b('checkbox', {
35
+ error: value.includes(optionValue) && getBooleanValidationState(meta),
36
+ }), alignItems: "center", key: optionValue },
37
+ React.createElement(Checkbox, { checked: value.includes(optionValue), onFocus: onFocus, onBlur: onBlur, onUpdate: (checked) => onUpdate(optionValue, checked), content: text, disabled: disabled || (optionsDisabled === null || optionsDisabled === void 0 ? void 0 : optionsDisabled[optionValue]) || schema.readOnly, qa: `${name}-${optionValue}` }))))));
33
38
  };
34
39
  export const CheckboxGroup = React.memo(Component);
@@ -0,0 +1,6 @@
1
+ .sr-color-picker .g-color-picker__picker-wrapper {
2
+ width: 100%;
3
+ }
4
+ .sr-color-picker_error .g-color-picker__picker-wrapper .g-text-input__content {
5
+ border: 1px solid var(--g-color-text-danger);
6
+ }
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
- import { type unstable_ColorPickerProps as ColorPickerBaseProps } from '@gravity-ui/uikit/unstable';
2
+ import { type unstable_ColorPickerProps as UIKitColorPickerProps } from '@gravity-ui/uikit/unstable';
3
3
  import type { JsonSchemaString } from '../../../core';
4
- export interface ColorPickerProps extends Omit<ColorPickerBaseProps, 'value' | 'onUpdate'> {
4
+ import './ColorPicker.css';
5
+ export interface ColorPickerProps extends Omit<UIKitColorPickerProps, 'value' | 'onUpdate'> {
5
6
  }
6
7
  export declare const ColorPicker: React.NamedExoticComponent<import("../../../core").ControlProps<JsonSchemaString<any>, ColorPickerProps, {}>>;
@@ -1,21 +1,23 @@
1
1
  import { __rest } from "tslib";
2
2
  import React from 'react';
3
- import { unstable_ColorPicker as ColorPickerBase, } from '@gravity-ui/uikit/unstable';
4
- import { ControlError } from '../../components';
5
- import { getValidationState } from '../../utils';
3
+ import { unstable_ColorPicker as UIKitColorPicker, } from '@gravity-ui/uikit/unstable';
4
+ import { ControlContainer } from '../../components';
5
+ import { block, getBooleanValidationState } from '../../utils';
6
+ import './ColorPicker.css';
7
+ const b = block('color-picker');
6
8
  const Component = ({ controlProps, input, meta, schema, }) => {
7
- var _a;
9
+ const { name, onBlur, onChange, onFocus, value } = input;
8
10
  const { onOpenChange: onOpenChangeProps } = controlProps, restControlProps = __rest(controlProps, ["onOpenChange"]);
9
11
  const onOpenChange = React.useCallback((open) => {
10
12
  onOpenChangeProps === null || onOpenChangeProps === void 0 ? void 0 : onOpenChangeProps(open);
11
13
  if (open) {
12
- input.onFocus();
14
+ onFocus();
13
15
  }
14
16
  else {
15
- input.onBlur();
17
+ onBlur();
16
18
  }
17
- }, [input.onBlur, input.onFocus, onOpenChangeProps]);
18
- return (React.createElement(ControlError, { errorMessage: meta.error, validationState: getValidationState(meta) },
19
- React.createElement(ColorPickerBase, Object.assign({ disabled: schema.readOnly }, restControlProps, { value: (_a = input.value) !== null && _a !== void 0 ? _a : '', onUpdate: input.onChange, onOpenChange: onOpenChange }))));
19
+ }, [onBlur, onFocus, onOpenChangeProps]);
20
+ return (React.createElement(ControlContainer, { stretch: "max", className: b({ error: getBooleanValidationState(meta) }) },
21
+ React.createElement(UIKitColorPicker, Object.assign({ disabled: schema.readOnly }, restControlProps, { value: value !== null && value !== void 0 ? value : '', onUpdate: onChange, onOpenChange: onOpenChange, "data-qa": name }))));
20
22
  };
21
23
  export const ColorPicker = React.memo(Component);
@@ -1,3 +1,3 @@
1
- .sr-date-input {
2
- width: 100%;
1
+ .sr-date-input_error .g-date-date-picker .g-text-input__content {
2
+ border: 1px solid var(--g-color-text-danger);
3
3
  }
@@ -1,9 +1,9 @@
1
1
  import React from 'react';
2
- import type { DatePickerProps } from '@gravity-ui/date-components';
2
+ import { type DatePickerProps } from '@gravity-ui/date-components';
3
3
  import type { JsonSchemaAny } from '../../../core';
4
4
  import './DateInput.css';
5
5
  export declare const DEFAULT_DATE_FORMAT = "DD.MM.YYYY HH:mm";
6
- export interface DateInputProps extends Omit<DatePickerProps, 'value' | 'onFocus' | 'onBlur' | 'onChange' | 'onUpdate' | 'qa'> {
6
+ export interface DateInputProps extends Omit<DatePickerProps, 'value' | 'onFocus' | 'onBlur' | 'onChange' | 'onUpdate' | 'errorMessage' | 'validationState'> {
7
7
  outputFormat?: string;
8
8
  }
9
9
  export declare const DateInput: React.NamedExoticComponent<import("../../../core").ControlProps<JsonSchemaAny<any>, DateInputProps, {}>>;
@@ -2,52 +2,53 @@ import { __rest } from "tslib";
2
2
  import React from 'react';
3
3
  import { DatePicker } from '@gravity-ui/date-components';
4
4
  import { dateTimeParse, isValidTimeZone } from '@gravity-ui/date-utils';
5
- import { ControlError } from '../../components';
6
- import { block, getValidationState } from '../../utils';
5
+ import { ControlContainer } from '../../components';
6
+ import { block, getBooleanValidationState } from '../../utils';
7
7
  import './DateInput.css';
8
- export const DEFAULT_DATE_FORMAT = 'DD.MM.YYYY HH:mm';
9
8
  const b = block('date-input');
9
+ export const DEFAULT_DATE_FORMAT = 'DD.MM.YYYY HH:mm';
10
10
  const Component = ({ controlProps, input, meta, schema }) => {
11
11
  var _a;
12
+ const { name, onBlur, onChange, onFocus, value: inputValue } = input;
12
13
  const { outputFormat, timeZone: timeZoneProp } = controlProps, restControlProps = __rest(controlProps, ["outputFormat", "timeZone"]);
13
14
  const timeZone = timeZoneProp && isValidTimeZone(timeZoneProp) ? timeZoneProp : undefined;
14
15
  const onUpdate = React.useCallback((date) => {
15
16
  if (!date) {
16
- input.onChange(undefined);
17
+ onChange(undefined);
17
18
  return;
18
19
  }
19
20
  if (outputFormat === 'date_time') {
20
- input.onChange(date);
21
+ onChange(date);
21
22
  return;
22
23
  }
23
24
  if (outputFormat === 'date') {
24
- input.onChange(date.toDate());
25
+ onChange(date.toDate());
25
26
  return;
26
27
  }
27
28
  if (outputFormat === 'timestamp') {
28
- input.onChange({
29
+ onChange({
29
30
  seconds: Math.floor(date.toDate().getTime() / 1000),
30
31
  nanos: 0,
31
32
  });
32
33
  return;
33
34
  }
34
35
  if (outputFormat === 'string' || !outputFormat) {
35
- input.onChange(date.toISOString());
36
+ onChange(date.toISOString());
36
37
  return;
37
38
  }
38
- input.onChange(date.format(outputFormat));
39
- }, [outputFormat, input.onChange]);
39
+ onChange(date.format(outputFormat));
40
+ }, [outputFormat, onChange]);
40
41
  const value = React.useMemo(() => {
41
- if (!input.value) {
42
+ if (!inputValue) {
42
43
  return null;
43
44
  }
44
- let raw = input.value;
45
+ let raw = inputValue;
45
46
  if (typeof raw === 'object' && raw !== null && 'seconds' in raw && raw.seconds) {
46
47
  raw = raw.seconds * 1000;
47
48
  }
48
49
  return dateTimeParse(raw, { format: outputFormat, timeZone }) || null;
49
- }, [input.value, outputFormat, timeZone]);
50
- return (React.createElement(ControlError, { errorMessage: meta.error, validationState: getValidationState(meta) },
51
- React.createElement(DatePicker, Object.assign({ className: b(), format: DEFAULT_DATE_FORMAT, popupPlacement: "bottom-start", disabled: schema.readOnly, hasClear: true }, restControlProps, { value: value, onFocus: input.onFocus, onBlur: input.onBlur, onUpdate: onUpdate, placeholder: `${(_a = schema.examples) === null || _a === void 0 ? void 0 : _a[0]}`, timeZone: timeZone, "data-qa": input.name }))));
50
+ }, [inputValue, outputFormat, timeZone]);
51
+ return (React.createElement(ControlContainer, { stretch: "max", className: b({ error: getBooleanValidationState(meta) }) },
52
+ React.createElement(DatePicker, Object.assign({ format: DEFAULT_DATE_FORMAT, popupPlacement: "bottom-start", placeholder: `${(_a = schema.examples) === null || _a === void 0 ? void 0 : _a[0]}`, disabled: schema.readOnly, hasClear: true }, restControlProps, { value: value, onFocus: onFocus, onBlur: onBlur, onUpdate: onUpdate, timeZone: timeZone, errorMessage: undefined, validationState: undefined, "data-qa": name }))));
52
53
  };
53
54
  export const DateInput = React.memo(Component);
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { type JsonSchemaObject } from '../../../core';
3
+ export interface DotValueProps {
4
+ }
5
+ export declare const DotValue: React.NamedExoticComponent<import("../../../core").ControlProps<JsonSchemaObject<any>, DotValueProps, {}>>;
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import get from 'lodash/get';
3
+ import isString from 'lodash/isString';
4
+ import { Entity } from '../../../core';
5
+ import { ControlContainer } from '../../components';
6
+ const Component = ({ input, schema }) => {
7
+ var _a;
8
+ const { name, onBlur, onChange, onFocus, value } = input;
9
+ const childKey = 'value';
10
+ React.useLayoutEffect(() => {
11
+ if (value) {
12
+ const childValue = get(value, childKey);
13
+ if (childValue === null ||
14
+ childValue === undefined ||
15
+ childValue === '' ||
16
+ (isString(childValue) && childValue.endsWith('_UNSPECIFIED'))) {
17
+ onFocus();
18
+ onChange(undefined);
19
+ onBlur();
20
+ }
21
+ }
22
+ }, [value]);
23
+ return (React.createElement(ControlContainer, { stretch: "by-child" },
24
+ React.createElement(Entity, { name: `${name ? name + '.' : ''}${childKey}`, schema: (_a = schema.properties) === null || _a === void 0 ? void 0 : _a[childKey] })));
25
+ };
26
+ export const DotValue = React.memo(Component);
@@ -0,0 +1 @@
1
+ export { DotValue, type DotValueProps } from './DotValue';
@@ -0,0 +1 @@
1
+ export { DotValue } from './DotValue';
@@ -0,0 +1,14 @@
1
+ .sr-few-of-nested__content_with-indent {
2
+ position: relative;
3
+ padding-left: calc(var(--g-spacing-base) * 7);
4
+ }
5
+ .sr-few-of-nested__content_with-indent:before {
6
+ content: "";
7
+ display: block;
8
+ width: 1px;
9
+ height: calc(100% + var(--g-spacing-base) * 2);
10
+ background-color: var(--g-color-line-generic);
11
+ position: absolute;
12
+ left: calc(var(--g-spacing-base) * 3 + 1.5px);
13
+ bottom: 0;
14
+ }
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { type JsonSchema, type JsonSchemaObject } from '../../../core';
3
+ import './FewOfNested.css';
4
+ export interface FewOfNestedProps {
5
+ toggler: JsonSchema;
6
+ withIndent?: boolean;
7
+ togglerArrayRemoveButton?: boolean;
8
+ }
9
+ export declare const FewOfNested: React.NamedExoticComponent<import("../../../core").ControlProps<JsonSchemaObject<any>, FewOfNestedProps, {}>>;
@@ -0,0 +1,60 @@
1
+ import React from 'react';
2
+ import isString from 'lodash/isString';
3
+ import { Entity, SchemaRendererMode, getRenderKit, useEntitiesState, } from '../../../core';
4
+ import { ControlContainer } from '../../components';
5
+ import { block } from '../../utils';
6
+ import './FewOfNested.css';
7
+ const b = block('one-of-nested');
8
+ const Component = ({ controlProps, input, meta, schema, Wrapper, wrapperProps, }) => {
9
+ const { name, value } = input;
10
+ const { togglerArrayRemoveButton = false, toggler: togglerSchema = {}, withIndent = false, } = controlProps;
11
+ const { config } = useEntitiesState(name);
12
+ const [togglerValues, setTogglerValues] = React.useState(() => {
13
+ if (value && Object.keys(value).length) {
14
+ return Object.keys(value);
15
+ }
16
+ if (schema.properties && Object.keys(schema.properties).length) {
17
+ return [Object.keys(schema.properties)[0]];
18
+ }
19
+ return [];
20
+ });
21
+ const toggler = React.useMemo(() => {
22
+ let result = null;
23
+ const formKit = getRenderKit({ config, schema: togglerSchema })[SchemaRendererMode.Form];
24
+ const togglerInput = Object.assign(Object.assign({}, input), { name: togglerArrayRemoveButton ? name : `${name}._____toggler`, value: togglerValues, onChange: (value) => {
25
+ if (Array.isArray(value)) {
26
+ setTogglerValues(value.filter(isString));
27
+ }
28
+ } });
29
+ const togglerMeta = Object.assign(Object.assign({}, meta), { error: undefined });
30
+ if (formKit.Component) {
31
+ if (formKit.independent) {
32
+ result = (React.createElement(formKit.Component, { input: togglerInput, meta: togglerMeta, schema: togglerSchema, controlProps: formKit.props, Wrapper: formKit.Wrapper, wrapperProps: formKit.wrapperProps }));
33
+ }
34
+ else {
35
+ result = (React.createElement(formKit.Component, { input: togglerInput, meta: togglerMeta, schema: togglerSchema, controlProps: formKit.props }));
36
+ if (formKit.Wrapper) {
37
+ result = (React.createElement(formKit.Wrapper, { input: togglerInput, meta: togglerMeta, schema: togglerSchema, wrapperProps: formKit.wrapperProps }, result));
38
+ }
39
+ }
40
+ }
41
+ return result;
42
+ }, [config, name, input, meta, togglerArrayRemoveButton, togglerSchema, togglerValues]);
43
+ const wrapperInput = React.useMemo(() => {
44
+ if (!togglerArrayRemoveButton) {
45
+ return input;
46
+ }
47
+ return Object.assign(Object.assign({}, input), { name: `${name}._____wrapper` });
48
+ }, [name, input, togglerArrayRemoveButton]);
49
+ let content = (React.createElement(ControlContainer, { stretch: "by-child" },
50
+ toggler,
51
+ togglerValues.length ? (React.createElement("div", { className: b('content', { 'with-indent': withIndent }) }, togglerValues.map((togglerValue) => {
52
+ var _a;
53
+ return (React.createElement(Entity, { key: togglerValue, name: `${name}.${togglerValue}`, schema: (_a = schema.properties) === null || _a === void 0 ? void 0 : _a[togglerValue] }));
54
+ }))) : null));
55
+ if (Wrapper) {
56
+ content = (React.createElement(Wrapper, { input: wrapperInput, meta: meta, schema: schema, wrapperProps: wrapperProps || {} }, content));
57
+ }
58
+ return content;
59
+ };
60
+ export const FewOfNested = React.memo(Component);
@@ -0,0 +1 @@
1
+ export { FewOfNested, type FewOfNestedProps } from './FewOfNested';
@@ -0,0 +1 @@
1
+ export { FewOfNested } from './FewOfNested';
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { type FileDropZoneProps } from '@gravity-ui/uikit/unstable';
3
+ import type { JsonSchemaString } from '../../../core';
4
+ export interface FileInputProps extends Omit<FileDropZoneProps, 'multiple' | 'onUpdate' | 'errorMessage' | 'validationState'> {
5
+ readAsMethod?: 'readAsBinaryString' | 'readAsDataURL' | 'readAsText';
6
+ }
7
+ export declare const FileInput: React.NamedExoticComponent<import("../../../core").ControlProps<JsonSchemaString<any>, FileInputProps, {}>>;
@@ -0,0 +1,50 @@
1
+ import { __rest } from "tslib";
2
+ import React from 'react';
3
+ import { Xmark } from '@gravity-ui/icons';
4
+ import { FilePreview } from '@gravity-ui/uikit';
5
+ import { unstable_FileDropZone as FileDropZone, } from '@gravity-ui/uikit/unstable';
6
+ import { ControlContainer } from '../../components';
7
+ import { getValidationState } from '../../utils';
8
+ const Component = ({ controlProps, input, meta, schema, }) => {
9
+ const { onBlur, onChange, onFocus } = input;
10
+ const { readAsMethod = 'readAsBinaryString' } = controlProps, restControlProps = __rest(controlProps, ["readAsMethod"]);
11
+ const counterRef = React.useRef(0);
12
+ const [file, setFile] = React.useState(null);
13
+ const actions = React.useMemo(() => [
14
+ {
15
+ id: 'remove',
16
+ title: '',
17
+ icon: React.createElement(Xmark, { width: 14, height: 14 }),
18
+ onClick: () => {
19
+ onChange(undefined);
20
+ setFile(null);
21
+ },
22
+ tooltipExtraProps: { disabled: true },
23
+ },
24
+ ], [onChange]);
25
+ const onUpdate = React.useCallback((files) => {
26
+ if (files.length) {
27
+ const reader = new FileReader();
28
+ if (typeof reader[readAsMethod] !== 'function') {
29
+ throw new Error(`Unknown parameter: ${readAsMethod}`);
30
+ }
31
+ const counter = ++counterRef.current;
32
+ reader.addEventListener('load', () => {
33
+ if (counter === counterRef.current) {
34
+ onFocus();
35
+ onChange(reader.result);
36
+ onBlur();
37
+ setFile(files[0]);
38
+ }
39
+ });
40
+ reader[readAsMethod](files[0]);
41
+ }
42
+ }, [onBlur, onChange, onFocus, readAsMethod]);
43
+ if (file) {
44
+ return (React.createElement(ControlContainer, { stretch: "fit" },
45
+ React.createElement(FilePreview, { file: file, actions: actions })));
46
+ }
47
+ return (React.createElement(ControlContainer, { stretch: "max" },
48
+ React.createElement(FileDropZone, Object.assign({ disabled: schema.readOnly, accept: [] }, restControlProps, { onUpdate: onUpdate, errorMessage: undefined, validationState: getValidationState(meta), multiple: false }))));
49
+ };
50
+ export const FileInput = React.memo(Component);
@@ -0,0 +1 @@
1
+ export { FileInput, type FileInputProps } from './FileInput';
@@ -0,0 +1 @@
1
+ export { FileInput } from './FileInput';
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import * as icons from '@gravity-ui/icons';
3
+ import { type IconProps, type LabelProps as UIKitLabelProps } from '@gravity-ui/uikit';
4
+ import type { JsonSchemaString } from '../../../core';
5
+ export interface LabelProps extends UIKitLabelProps {
6
+ iconName?: keyof typeof icons;
7
+ iconProps?: Partial<IconProps>;
8
+ }
9
+ export declare const Label: React.NamedExoticComponent<import("../../../core").ControlProps<JsonSchemaString<any>, LabelProps, {}>>;
@@ -0,0 +1,25 @@
1
+ import { __rest } from "tslib";
2
+ import React from 'react';
3
+ import * as icons from '@gravity-ui/icons';
4
+ import { Icon, Label as UIKitLabel, } from '@gravity-ui/uikit';
5
+ import { ControlContainer } from '../../components';
6
+ const Component = ({ controlProps, input, schema }) => {
7
+ const { value } = input;
8
+ const { iconName, iconProps, title } = controlProps, controlRestProps = __rest(controlProps, ["iconName", "iconProps", "title"]);
9
+ const icon = React.useMemo(() => iconName && icons[iconName] ? (React.createElement(Icon, Object.assign({ data: icons[iconName] }, iconProps))) : undefined, [iconName, iconProps]);
10
+ const content = React.useMemo(() => {
11
+ if (title) {
12
+ if (typeof title === 'string') {
13
+ return React.createElement("span", { dangerouslySetInnerHTML: { __html: title } });
14
+ }
15
+ return title;
16
+ }
17
+ if (schema.description) {
18
+ return React.createElement("span", { dangerouslySetInnerHTML: { __html: schema.description } });
19
+ }
20
+ return undefined;
21
+ }, [title, schema.description]);
22
+ return (React.createElement(ControlContainer, { stretch: "fit" },
23
+ React.createElement(UIKitLabel, Object.assign({ size: "m", value: value, icon: icon }, controlRestProps), content)));
24
+ };
25
+ export const Label = React.memo(Component);
@@ -0,0 +1 @@
1
+ export { Label, type LabelProps } from './Label';
@@ -0,0 +1 @@
1
+ export { Label } from './Label';
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { type SelectProps as SelectBaseProps } from '@gravity-ui/uikit';
2
+ import { type SelectProps as UIKitSelectProps } from '@gravity-ui/uikit';
3
3
  import type { JsonSchemaArray } from '../../../core';
4
- export interface MultiSelectProps extends Omit<SelectBaseProps, 'value' | 'onFocus' | 'onBlur' | 'onChange' | 'onUpdate' | 'multiple' | 'qa'> {
4
+ export interface MultiSelectProps extends Omit<UIKitSelectProps, 'value' | 'onFocus' | 'onBlur' | 'onChange' | 'onUpdate' | 'multiple' | 'errorMessage' | 'validationState' | 'qa'> {
5
5
  enumDescriptions?: Record<string, string>;
6
6
  optionsMeta?: Record<string, string>;
7
7
  }