@alphakits/ui 2.1.0 → 2.1.1

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 (1119) hide show
  1. package/dist/__internal/utils/clear-text.js +0 -1
  2. package/dist/__internal/utils/getDataTestId.js +0 -1
  3. package/dist/__internal/utils/index.js +0 -1
  4. package/dist/amount/component.d.ts +0 -12
  5. package/dist/amount/component.js +0 -1
  6. package/dist/amount/index.js +0 -1
  7. package/dist/amount/index.module.css.js +2 -2
  8. package/dist/amount-input/component.d.ts +0 -67
  9. package/dist/amount-input/component.js +0 -1
  10. package/dist/amount-input/index.js +0 -1
  11. package/dist/amount-input/index.module.css.js +2 -2
  12. package/dist/amount-input/utils/index.js +0 -1
  13. package/dist/avatar/component.d.ts +0 -3
  14. package/dist/avatar/component.js +0 -1
  15. package/dist/avatar/index.js +0 -1
  16. package/dist/avatar/index.module.css.js +2 -2
  17. package/dist/back-button/component.js +0 -1
  18. package/dist/back-button/index.js +0 -1
  19. package/dist/back-button/index.module.css.js +2 -2
  20. package/dist/badge/component.d.ts +0 -24
  21. package/dist/badge/component.js +0 -1
  22. package/dist/badge/index.js +0 -1
  23. package/dist/badge/index.module.css.js +2 -2
  24. package/dist/base-card/component.d.ts +0 -30
  25. package/dist/base-card/component.js +0 -1
  26. package/dist/base-card/index.js +0 -1
  27. package/dist/base-card/index.module.css.js +2 -2
  28. package/dist/bottom-sheet/component.js +0 -1
  29. package/dist/bottom-sheet/index.js +0 -1
  30. package/dist/bottom-sheet/index.module.css.js +2 -2
  31. package/dist/box/component.js +0 -1
  32. package/dist/box/index.js +0 -1
  33. package/dist/box/index.module.css.js +2 -2
  34. package/dist/button/component.d.ts +0 -30
  35. package/dist/button/component.js +0 -1
  36. package/dist/button/index.js +0 -1
  37. package/dist/button/index.module.css.js +2 -2
  38. package/dist/button-arrow/component.js +0 -1
  39. package/dist/button-arrow/index.js +0 -1
  40. package/dist/button-arrow/index.module.css.js +2 -2
  41. package/dist/calendar/component.d.ts +0 -46
  42. package/dist/calendar/component.js +76 -77
  43. package/dist/calendar/components/days-table/component.d.ts +0 -18
  44. package/dist/calendar/components/days-table/component.js +0 -1
  45. package/dist/calendar/components/days-table/index.js +0 -1
  46. package/dist/calendar/components/days-table/index.module.css.js +2 -2
  47. package/dist/calendar/components/header/index.js +0 -1
  48. package/dist/calendar/components/header/index.module.css.js +2 -2
  49. package/dist/calendar/components/header//321/201omponent.d.ts +0 -27
  50. package/dist/calendar/components/header//321/201omponent.js +22 -23
  51. package/dist/calendar/components/months-table/index.js +0 -1
  52. package/dist/calendar/components/months-table/index.module.css.js +2 -2
  53. package/dist/calendar/components/months-table//321/201omponent.d.ts +0 -10
  54. package/dist/calendar/components/months-table//321/201omponent.js +0 -1
  55. package/dist/calendar/components/select-button/index.js +0 -1
  56. package/dist/calendar/components/select-button/index.module.css.js +2 -2
  57. package/dist/calendar/components/select-button//321/201omponent.d.ts +0 -12
  58. package/dist/calendar/components/select-button//321/201omponent.js +0 -1
  59. package/dist/calendar/components/years-table/index.js +0 -1
  60. package/dist/calendar/components/years-table/index.module.css.js +2 -2
  61. package/dist/calendar/components/years-table//321/201omponent.d.ts +0 -12
  62. package/dist/calendar/components/years-table//321/201omponent.js +0 -1
  63. package/dist/calendar/index.js +0 -1
  64. package/dist/calendar/index.module.css.js +2 -2
  65. package/dist/calendar/use-calendar.d.ts +0 -39
  66. package/dist/calendar/use-calendar.js +0 -1
  67. package/dist/calendar/use-period.d.ts +0 -9
  68. package/dist/calendar/use-period.js +0 -1
  69. package/dist/calendar/utils.d.ts +0 -37
  70. package/dist/calendar/utils.js +0 -1
  71. package/dist/calendar-input/component.d.ts +0 -110
  72. package/dist/calendar-input/component.js +0 -1
  73. package/dist/calendar-input/index.js +0 -1
  74. package/dist/calendar-input/index.module.css.js +2 -2
  75. package/dist/calendar-input/utils.d.ts +0 -3
  76. package/dist/calendar-input/utils.js +1 -2
  77. package/dist/card/component.js +0 -1
  78. package/dist/card/images/index.js +0 -1
  79. package/dist/card/images/index.module.css.js +2 -2
  80. package/dist/card/index.js +0 -1
  81. package/dist/card/index.module.css.js +2 -2
  82. package/dist/cell/base/component.d.ts +0 -9
  83. package/dist/cell/base/component.js +1 -2
  84. package/dist/cell/base/index.module.css.js +2 -2
  85. package/dist/cell/component.d.ts +0 -11
  86. package/dist/cell/component.js +0 -1
  87. package/dist/cell/index.js +0 -1
  88. package/dist/cell/pure/component.d.ts +0 -12
  89. package/dist/cell/pure/component.js +0 -1
  90. package/dist/cell/pure/index.js +0 -1
  91. package/dist/cell/pure/index.module.css.js +2 -2
  92. package/dist/checkbox/component.d.ts +0 -60
  93. package/dist/checkbox/component.js +0 -1
  94. package/dist/checkbox/index.js +0 -1
  95. package/dist/checkbox/index.module.css.js +2 -2
  96. package/dist/checkbox-group/component.js +26 -27
  97. package/dist/checkbox-group/index.js +0 -1
  98. package/dist/checkbox-group/index.module.css.js +2 -2
  99. package/dist/checkbox-lists/component.js +59 -60
  100. package/dist/checkbox-lists/index.js +0 -1
  101. package/dist/checkbox-lists/index.module.css.js +2 -2
  102. package/dist/collapsable-row/addons.js +0 -1
  103. package/dist/collapsable-row/component.d.ts +0 -15
  104. package/dist/collapsable-row/component.js +0 -1
  105. package/dist/collapsable-row/index.js +0 -1
  106. package/dist/collapsable-row/index.module.css.js +2 -2
  107. package/dist/collapse/component.d.ts +0 -39
  108. package/dist/collapse/component.js +55 -57
  109. package/dist/collapse/index.js +0 -1
  110. package/dist/collapse/index.module.css.js +2 -2
  111. package/dist/copy-button/component.js +0 -1
  112. package/dist/copy-button/index.js +0 -1
  113. package/dist/copy-button/index.module.css.js +2 -2
  114. package/dist/date/component.d.ts +0 -166
  115. package/dist/date/component.js +0 -1
  116. package/dist/date/index.js +0 -1
  117. package/dist/date-switcher/component.d.ts +0 -2
  118. package/dist/date-switcher/component.js +0 -1
  119. package/dist/date-switcher/index.js +0 -1
  120. package/dist/date-switcher/index.module.css.js +2 -2
  121. package/dist/decorated-item/component.d.ts +0 -15
  122. package/dist/decorated-item/component.js +0 -1
  123. package/dist/decorated-item/index.js +0 -1
  124. package/dist/decorated-item/index.module.css.js +2 -2
  125. package/dist/divider/component.d.ts +0 -12
  126. package/dist/divider/component.js +0 -1
  127. package/dist/divider/index.js +0 -1
  128. package/dist/divider/index.module.css.js +2 -2
  129. package/dist/dot/component.js +0 -1
  130. package/dist/dot/index.js +0 -1
  131. package/dist/dot/index.module.css.js +2 -2
  132. package/dist/empty-page/component.js +26 -27
  133. package/dist/empty-page/index.js +0 -1
  134. package/dist/empty-page/index.module.css.js +2 -2
  135. package/dist/filter-tag/component.js +0 -1
  136. package/dist/filter-tag/index.js +0 -1
  137. package/dist/filter-tag/index.module.css.js +2 -2
  138. package/dist/flex/component.js +0 -1
  139. package/dist/flex/index.js +0 -1
  140. package/dist/flex/index.module.css.js +2 -2
  141. package/dist/flex-columns/component.d.ts +0 -12
  142. package/dist/flex-columns/component.js +0 -1
  143. package/dist/flex-columns/index.js +0 -1
  144. package/dist/flex-columns/index.module.css.js +2 -2
  145. package/dist/footer/component.js +0 -1
  146. package/dist/footer/contact-block.d.ts +0 -6
  147. package/dist/footer/contact-block.js +0 -1
  148. package/dist/footer/index.js +0 -1
  149. package/dist/footer/index.module.css.js +2 -2
  150. package/dist/form/component.js +73 -74
  151. package/dist/form/components/form-loading/index.js +0 -1
  152. package/dist/form/components/form-loading/index.module.css.js +2 -2
  153. package/dist/form/index.js +0 -1
  154. package/dist/form/templates/base-form/index.d.ts +0 -1
  155. package/dist/form/templates/base-form/index.js +0 -1
  156. package/dist/form/templates/filters-form/index.js +0 -1
  157. package/dist/form/templates/rest-form/form.js +43 -44
  158. package/dist/form/templates/rest-form/index.d.ts +0 -2
  159. package/dist/form/templates/rest-form/index.js +0 -1
  160. package/dist/form/utils/get-default-values.js +0 -1
  161. package/dist/form/utils/remove-undefined-from-object.js +0 -1
  162. package/dist/form-control/component.d.ts +0 -108
  163. package/dist/form-control/component.js +0 -1
  164. package/dist/form-control/index.js +0 -1
  165. package/dist/form-control/index.module.css.js +2 -2
  166. package/dist/formik/index.d.ts +0 -3
  167. package/dist/formik/index.js +0 -1
  168. package/dist/grid/component.js +0 -1
  169. package/dist/grid/index.js +0 -1
  170. package/dist/grid/index.module.css.js +2 -2
  171. package/dist/header-search/component.js +16 -17
  172. package/dist/header-search/index.js +0 -1
  173. package/dist/header-search/index.module.css.js +2 -2
  174. package/dist/hooks/index.js +0 -1
  175. package/dist/hooks/use-crud-form-requests/index.js +24 -25
  176. package/dist/hooks/use-get-one/index.js +0 -1
  177. package/dist/hooks/useClickOutside/index.js +9 -13
  178. package/dist/hooks/useFocus/index.d.ts +0 -6
  179. package/dist/hooks/useFocus/index.js +0 -1
  180. package/dist/hooks/usePrevious/index.js +0 -1
  181. package/dist/icon-button/component.d.ts +0 -30
  182. package/dist/icon-button/component.js +0 -1
  183. package/dist/icon-button/index.js +0 -1
  184. package/dist/icon-button/index.module.css.js +2 -2
  185. package/dist/image/component.js +0 -1
  186. package/dist/image/image-base.js +0 -1
  187. package/dist/image/index.js +0 -1
  188. package/dist/image/index.module.css.js +2 -2
  189. package/dist/image/types.d.ts +0 -31
  190. package/dist/image/types.js +0 -1
  191. package/dist/image/use-image-render-component.js +30 -31
  192. package/dist/image/utils.js +0 -1
  193. package/dist/image-gallery/component.d.ts +5 -4
  194. package/dist/image-gallery/component.js +99 -36
  195. package/dist/image-gallery/index.css +1 -0
  196. package/dist/image-gallery/index.js +0 -1
  197. package/dist/image-gallery/index.module.css.js +31 -0
  198. package/dist/image-uploader/component.js +25 -32
  199. package/dist/image-uploader/index.js +0 -1
  200. package/dist/image-uploader/index.module.css.js +2 -2
  201. package/dist/index.js +0 -1
  202. package/dist/info-block-header/component.d.ts +0 -2
  203. package/dist/info-block-header/component.js +0 -1
  204. package/dist/info-block-header/index.js +0 -1
  205. package/dist/info-block-header/index.module.css.js +2 -2
  206. package/dist/info-block-item/component.d.ts +0 -5
  207. package/dist/info-block-item/component.js +0 -1
  208. package/dist/info-block-item/index.js +0 -1
  209. package/dist/info-block-item/index.module.css.js +2 -2
  210. package/dist/info-block-wrapper/component.d.ts +0 -4
  211. package/dist/info-block-wrapper/component.js +0 -1
  212. package/dist/info-block-wrapper/index.js +0 -1
  213. package/dist/info-block-wrapper/index.module.css.js +2 -2
  214. package/dist/input/component.d.ts +0 -168
  215. package/dist/input/component.js +0 -1
  216. package/dist/input/index.js +0 -1
  217. package/dist/input/index.module.css.js +2 -2
  218. package/dist/input-autocomplete/autocomplete-field/index.js +0 -1
  219. package/dist/input-autocomplete/autocomplete-field/index.module.css.js +2 -2
  220. package/dist/input-autocomplete/component.d.ts +2 -48
  221. package/dist/input-autocomplete/component.js +0 -1
  222. package/dist/input-autocomplete/index.js +0 -1
  223. package/dist/input-ghost/component.js +0 -1
  224. package/dist/input-ghost/index.js +0 -1
  225. package/dist/input-ghost/index.module.css.js +2 -2
  226. package/dist/link/component.d.ts +0 -60
  227. package/dist/link/component.js +0 -1
  228. package/dist/link/index.js +0 -1
  229. package/dist/link/index.module.css.js +2 -2
  230. package/dist/list-allert/component.d.ts +0 -12
  231. package/dist/list-allert/component.js +0 -1
  232. package/dist/list-allert/index.js +0 -1
  233. package/dist/list-allert/index.module.css.js +2 -2
  234. package/dist/loader/component.d.ts +0 -6
  235. package/dist/loader/component.js +0 -1
  236. package/dist/loader/index.js +0 -1
  237. package/dist/loader/index.module.css.js +2 -2
  238. package/dist/masked-input/component.d.ts +0 -17
  239. package/dist/masked-input/component.js +0 -1
  240. package/dist/masked-input/index.js +0 -1
  241. package/dist/masked-input/index.module.css.js +2 -2
  242. package/dist/menu/component.js +0 -1
  243. package/dist/menu/components/content-header/index.js +0 -1
  244. package/dist/menu/components/content-header/index.module.css.js +2 -2
  245. package/dist/menu/components/index.js +0 -1
  246. package/dist/menu/components/menu-avatar/index.js +0 -1
  247. package/dist/menu/components/menu-avatar/index.module.css.js +2 -2
  248. package/dist/menu/components/menu-back-button/index.js +0 -1
  249. package/dist/menu/components/menu-back-button/index.module.css.js +2 -2
  250. package/dist/menu/components/menu-button/index.js +0 -1
  251. package/dist/menu/components/menu-button/index.module.css.js +2 -2
  252. package/dist/menu/components/menu-buttons-list/index.js +16 -18
  253. package/dist/menu/components/menu-buttons-list/index.module.css.js +2 -2
  254. package/dist/menu/components/user-button/index.js +0 -1
  255. package/dist/menu/components/user-button/index.module.css.js +2 -2
  256. package/dist/menu/hooks/use-menu.js +0 -1
  257. package/dist/menu/index.js +0 -1
  258. package/dist/menu/index.module.css.js +2 -2
  259. package/dist/message/component.d.ts +0 -30
  260. package/dist/message/component.js +0 -1
  261. package/dist/message/index.js +0 -1
  262. package/dist/message/index.module.css.js +2 -2
  263. package/dist/modal/components/modals/index.js +0 -1
  264. package/dist/modal/components/modals/index.module.css.js +2 -2
  265. package/dist/modal/components/modals/modal.js +2 -3
  266. package/dist/modal/context.js +0 -1
  267. package/dist/modal/hooks/use-modal.js +11 -13
  268. package/dist/modal/index.js +0 -1
  269. package/dist/modal/utils/delete-property-by-id.js +0 -1
  270. package/dist/modal/utils/is-last.js +0 -1
  271. package/dist/mq/component.d.ts +0 -9
  272. package/dist/mq/component.js +1 -2
  273. package/dist/mq/index.js +0 -1
  274. package/dist/mq/mq-list.d.ts +0 -1
  275. package/dist/mq/mq-list.js +0 -1
  276. package/dist/mq/use-match-media.d.ts +0 -4
  277. package/dist/mq/use-match-media.js +0 -1
  278. package/dist/mq/utils.d.ts +0 -16
  279. package/dist/mq/utils.js +3 -5
  280. package/dist/notification/component.d.ts +0 -42
  281. package/dist/notification/component.js +0 -1
  282. package/dist/notification/index.js +0 -1
  283. package/dist/notification/index.module.css.js +2 -2
  284. package/dist/notification/utils/index.js +0 -1
  285. package/dist/padding/component.d.ts +0 -6
  286. package/dist/padding/component.js +0 -1
  287. package/dist/padding/index.js +0 -1
  288. package/dist/page-container/component.js +0 -1
  289. package/dist/page-container/index.js +0 -1
  290. package/dist/page-container/index.module.css.js +2 -2
  291. package/dist/page-loading/component.js +0 -1
  292. package/dist/page-loading/index.js +0 -1
  293. package/dist/page-loading/index.module.css.js +2 -2
  294. package/dist/page-with-controls/component.js +0 -1
  295. package/dist/page-with-controls/index.js +0 -1
  296. package/dist/picker-button/common/index.js +0 -1
  297. package/dist/picker-button/common/labeled-button/index.js +0 -1
  298. package/dist/picker-button/common/labeled-button/index.module.css.js +2 -2
  299. package/dist/picker-button/component.d.ts +0 -6
  300. package/dist/picker-button/component.js +0 -1
  301. package/dist/picker-button/field/Component.js +0 -1
  302. package/dist/picker-button/field/index.js +0 -1
  303. package/dist/picker-button/field/index.module.css.js +2 -2
  304. package/dist/picker-button/index.js +0 -1
  305. package/dist/picker-button/index.module.css.js +2 -2
  306. package/dist/popover/component.d.ts +0 -51
  307. package/dist/popover/component.js +49 -51
  308. package/dist/popover/index.js +0 -1
  309. package/dist/popover/index.module.css.js +2 -2
  310. package/dist/portal/component.d.ts +0 -4
  311. package/dist/portal/component.js +0 -1
  312. package/dist/portal/index.js +0 -1
  313. package/dist/portal/utils.js +0 -1
  314. package/dist/progress-bar/component.js +0 -1
  315. package/dist/progress-bar/index.js +0 -1
  316. package/dist/progress-bar/index.module.css.js +2 -2
  317. package/dist/progress-index/component.js +0 -1
  318. package/dist/progress-index/index.js +0 -1
  319. package/dist/progress-index/index.module.css.js +2 -2
  320. package/dist/radio/component.d.ts +0 -72
  321. package/dist/radio/component.js +0 -1
  322. package/dist/radio/index.js +0 -1
  323. package/dist/radio/index.module.css.js +2 -2
  324. package/dist/radio-group/component.js +32 -33
  325. package/dist/radio-group/index.js +0 -1
  326. package/dist/radio-group/index.module.css.js +2 -2
  327. package/dist/radio-groups/component.js +22 -23
  328. package/dist/radio-groups/index.js +0 -1
  329. package/dist/radio-groups/index.module.css.js +2 -2
  330. package/dist/section-wrapper/component.d.ts +0 -12
  331. package/dist/section-wrapper/component.js +0 -1
  332. package/dist/section-wrapper/index.js +0 -1
  333. package/dist/section-wrapper/index.module.css.js +2 -2
  334. package/dist/select/component.d.ts +0 -2
  335. package/dist/select/component.js +34 -38
  336. package/dist/select/components/arrow/component.js +0 -1
  337. package/dist/select/components/arrow/index.js +0 -1
  338. package/dist/select/components/arrow/index.module.css.js +2 -2
  339. package/dist/select/components/base-select/component.js +240 -252
  340. package/dist/select/components/base-select/index.js +0 -1
  341. package/dist/select/components/base-select/index.module.css.js +2 -2
  342. package/dist/select/components/checkmark/component.js +0 -1
  343. package/dist/select/components/checkmark/index.js +0 -1
  344. package/dist/select/components/checkmark/index.module.css.js +2 -2
  345. package/dist/select/components/field/component.js +0 -1
  346. package/dist/select/components/field/index.js +0 -1
  347. package/dist/select/components/field/index.module.css.js +2 -2
  348. package/dist/select/components/index.js +0 -1
  349. package/dist/select/components/native-select/component.d.ts +0 -12
  350. package/dist/select/components/native-select/component.js +0 -1
  351. package/dist/select/components/native-select/index.js +0 -1
  352. package/dist/select/components/optgroup/component.js +0 -1
  353. package/dist/select/components/optgroup/index.js +0 -1
  354. package/dist/select/components/optgroup/index.module.css.js +2 -2
  355. package/dist/select/components/option/component.js +24 -25
  356. package/dist/select/components/option/index.js +0 -1
  357. package/dist/select/components/option/index.module.css.js +2 -2
  358. package/dist/select/components/options-list/component.js +24 -25
  359. package/dist/select/components/options-list/index.js +0 -1
  360. package/dist/select/components/options-list/index.module.css.js +2 -2
  361. package/dist/select/components/select-search/index.js +62 -64
  362. package/dist/select/components/select-search/index.module.css.js +2 -2
  363. package/dist/select/components/virtual-options-list/component.d.ts +0 -3
  364. package/dist/select/components/virtual-options-list/component.js +0 -1
  365. package/dist/select/components/virtual-options-list/index.js +0 -1
  366. package/dist/select/components/virtual-options-list/index.module.css.js +2 -2
  367. package/dist/select/index.js +0 -1
  368. package/dist/select/presets/index.js +0 -1
  369. package/dist/select/presets/use-lazy-loading/index.d.ts +0 -12
  370. package/dist/select/presets/use-lazy-loading/index.js +66 -72
  371. package/dist/select/presets/use-select-with-loading/hook.js +0 -1
  372. package/dist/select/presets/use-select-with-loading/index.module.css.js +2 -2
  373. package/dist/select/typings.d.ts +0 -305
  374. package/dist/select/utils.d.ts +0 -15
  375. package/dist/select/utils.js +0 -1
  376. package/dist/sidepanel/component.js +0 -1
  377. package/dist/sidepanel/index.js +0 -1
  378. package/dist/sidepanel/index.module.css.js +2 -2
  379. package/dist/sidepanel-header/component.d.ts +0 -15
  380. package/dist/sidepanel-header/component.js +0 -1
  381. package/dist/sidepanel-header/index.js +0 -1
  382. package/dist/sidepanel-header/index.module.css.js +2 -2
  383. package/dist/skeleton/component.d.ts +0 -12
  384. package/dist/skeleton/component.js +0 -1
  385. package/dist/skeleton/index.js +0 -1
  386. package/dist/skeleton/index.module.css.js +2 -2
  387. package/dist/space/Item.js +0 -1
  388. package/dist/space/component.d.ts +0 -30
  389. package/dist/space/component.js +0 -1
  390. package/dist/space/index.js +0 -1
  391. package/dist/space/index.module.css.js +2 -2
  392. package/dist/space/utils.js +0 -1
  393. package/dist/spinner/component.d.ts +0 -18
  394. package/dist/spinner/component.js +0 -1
  395. package/dist/spinner/index.js +0 -1
  396. package/dist/spinner/index.module.css.js +2 -2
  397. package/dist/stack/component.d.ts +0 -8
  398. package/dist/stack/component.js +0 -1
  399. package/dist/stack/context.d.ts +0 -19
  400. package/dist/stack/context.js +0 -1
  401. package/dist/stack/index.js +0 -1
  402. package/dist/status/component.d.ts +0 -18
  403. package/dist/status/component.js +0 -1
  404. package/dist/status/index.js +0 -1
  405. package/dist/status/index.module.css.js +2 -2
  406. package/dist/stepped-progress-bar/components/step-bar.js +0 -1
  407. package/dist/stepped-progress-bar/index.d.ts +0 -18
  408. package/dist/stepped-progress-bar/index.js +18 -19
  409. package/dist/stepped-progress-bar/index.module.css.js +2 -2
  410. package/dist/sticker/component.d.ts +0 -12
  411. package/dist/sticker/component.js +0 -1
  412. package/dist/sticker/index.js +0 -1
  413. package/dist/sticker/index.module.css.js +2 -2
  414. package/dist/suffix-input/component.d.ts +0 -33
  415. package/dist/suffix-input/component.js +0 -1
  416. package/dist/suffix-input/index.js +0 -1
  417. package/dist/suffix-input/index.module.css.js +2 -2
  418. package/dist/super-list-header/component.d.ts +0 -5
  419. package/dist/super-list-header/component.js +0 -1
  420. package/dist/super-list-header/index.js +0 -1
  421. package/dist/super-list-header/index.module.css.js +2 -2
  422. package/dist/super-list-item/component.d.ts +0 -15
  423. package/dist/super-list-item/component.js +0 -1
  424. package/dist/super-list-item/index.js +0 -1
  425. package/dist/super-list-item/index.module.css.js +2 -2
  426. package/dist/switch/component.d.ts +0 -54
  427. package/dist/switch/component.js +0 -1
  428. package/dist/switch/index.js +0 -1
  429. package/dist/switch/index.module.css.js +2 -2
  430. package/dist/table/columns.js +0 -1
  431. package/dist/table/component.js +0 -1
  432. package/dist/table/components/cell/component.d.ts +0 -3
  433. package/dist/table/components/cell/component.js +36 -37
  434. package/dist/table/components/cell/index.js +0 -1
  435. package/dist/table/components/cell/index.module.css.js +2 -2
  436. package/dist/table/components/cells/index.js +0 -1
  437. package/dist/table/components/cells/index.module.css.js +2 -2
  438. package/dist/table/components/empty-list/index.js +0 -1
  439. package/dist/table/components/empty-list/index.module.css.js +2 -2
  440. package/dist/table/components/error/index.js +0 -1
  441. package/dist/table/components/error/index.module.css.js +2 -2
  442. package/dist/table/components/loading/index.js +0 -1
  443. package/dist/table/components/loading/index.module.css.js +2 -2
  444. package/dist/table/components/pagination/index.js +0 -1
  445. package/dist/table/components/pagination/index.module.css.js +2 -2
  446. package/dist/table/components/table-header/index.js +61 -62
  447. package/dist/table/components/table-header/index.module.css.js +2 -2
  448. package/dist/table/hooks/use-table-data.d.ts +0 -1
  449. package/dist/table/hooks/use-table-data.js +68 -74
  450. package/dist/table/index.js +0 -1
  451. package/dist/table/index.module.css.js +2 -2
  452. package/dist/table/languages/index.js +0 -1
  453. package/dist/table/table.d.ts +0 -1
  454. package/dist/table/table.js +115 -116
  455. package/dist/table/utils/add-query-param.js +0 -1
  456. package/dist/table/utils/get-query-from-url.js +0 -1
  457. package/dist/table/utils/get-tags.js +0 -1
  458. package/dist/table/utils/index.js +0 -1
  459. package/dist/table/utils/is-object.js +0 -1
  460. package/dist/table/utils/parse-query-params.js +0 -1
  461. package/dist/table/utils/prepare-rows.js +40 -42
  462. package/dist/table/utils/query-adapter.js +0 -1
  463. package/dist/table/utils/remove-query-param.js +0 -1
  464. package/dist/table/utils/reset-query-param.js +0 -1
  465. package/dist/table/utils/serialize-data.js +7 -9
  466. package/dist/table/utils/set-query-to-url.js +0 -1
  467. package/dist/table/utils/sort-array.js +0 -1
  468. package/dist/table-status/component.js +0 -1
  469. package/dist/table-status/index.js +0 -1
  470. package/dist/table-status/index.module.css.js +2 -2
  471. package/dist/tag/component.d.ts +0 -6
  472. package/dist/tag/component.js +0 -1
  473. package/dist/tag/index.js +0 -1
  474. package/dist/tag/index.module.css.js +2 -2
  475. package/dist/tags-list/component.js +9 -10
  476. package/dist/tags-list/index.js +0 -1
  477. package/dist/tags-list/index.module.css.js +2 -2
  478. package/dist/textarea/component.d.ts +0 -144
  479. package/dist/textarea/component.js +59 -60
  480. package/dist/textarea/index.js +0 -1
  481. package/dist/textarea/index.module.css.js +2 -2
  482. package/dist/theme-provider/component.js +2 -3
  483. package/dist/theme-provider/default-themes.js +0 -1
  484. package/dist/theme-provider/index.js +0 -1
  485. package/dist/toast/component.d.ts +1 -29
  486. package/dist/toast/component.js +0 -1
  487. package/dist/toast/index.js +0 -1
  488. package/dist/toast/index.module.css.js +2 -2
  489. package/dist/toast-notifier/component.d.ts +0 -15
  490. package/dist/toast-notifier/component.js +27 -28
  491. package/dist/toast-notifier/index.js +0 -1
  492. package/dist/toast-notifier/index.module.css.js +2 -2
  493. package/dist/toast-notifier/use-timer.js +0 -1
  494. package/dist/toast-plate/component.d.ts +0 -66
  495. package/dist/toast-plate/component.js +0 -1
  496. package/dist/toast-plate/index.js +0 -1
  497. package/dist/toast-plate/index.module.css.js +2 -2
  498. package/dist/tooltip/component.d.ts +0 -49
  499. package/dist/tooltip/component.js +0 -1
  500. package/dist/tooltip/index.js +0 -1
  501. package/dist/tooltip/index.module.css.js +2 -2
  502. package/dist/tooltip/node-resolver.d.ts +0 -19
  503. package/dist/tooltip/node-resolver.js +8 -10
  504. package/dist/typography/colors.js +0 -1
  505. package/dist/typography/colors.module.css.js +2 -2
  506. package/dist/typography/component.js +0 -1
  507. package/dist/typography/index.js +0 -1
  508. package/dist/typography/text/component.d.ts +0 -21
  509. package/dist/typography/text/component.js +0 -1
  510. package/dist/typography/text/index.js +0 -1
  511. package/dist/typography/text/index.module.css.js +2 -2
  512. package/dist/typography/title/common.module.css.js +2 -2
  513. package/dist/typography/title/component.d.ts +0 -24
  514. package/dist/typography/title/component.js +0 -1
  515. package/dist/typography/title/index.js +0 -1
  516. package/dist/typography/title/index.module.css.js +2 -2
  517. package/dist/utils/data/currency-codes.js +0 -1
  518. package/dist/utils/date/index.d.ts +0 -10
  519. package/dist/utils/date/index.js +120 -125
  520. package/dist/utils/debounce.d.ts +0 -3
  521. package/dist/utils/debounce.js +0 -1
  522. package/dist/utils/format-amount/util.d.ts +0 -3
  523. package/dist/utils/format-amount/util.js +0 -1
  524. package/dist/utils/format-date/index.js +11 -13
  525. package/dist/utils/get-currency-symbol/util.d.ts +0 -5
  526. package/dist/utils/get-currency-symbol/util.js +0 -1
  527. package/dist/utils/get-service-error/index.d.ts +0 -4
  528. package/dist/utils/get-service-error/index.js +1 -2
  529. package/dist/utils/get-service-error/is-axios-error.d.ts +0 -4
  530. package/dist/utils/get-service-error/is-axios-error.js +0 -1
  531. package/dist/utils/get-service-error/is-network-error.d.ts +0 -4
  532. package/dist/utils/get-service-error/is-network-error.js +1 -2
  533. package/dist/utils/index.js +0 -1
  534. package/dist/utils/safe-stringify.d.ts +0 -1
  535. package/dist/utils/safe-stringify.js +1 -2
  536. package/dist/utils/show-toast/index.js +0 -1
  537. package/dist/utils/split-amount/util.d.ts +0 -10
  538. package/dist/utils/split-amount/util.js +0 -1
  539. package/dist/utils/string.d.ts +0 -1
  540. package/dist/utils/string.js +0 -1
  541. package/dist/welcome-layout/component.d.ts +0 -15
  542. package/dist/welcome-layout/component.js +0 -1
  543. package/dist/welcome-layout/index.js +0 -1
  544. package/dist/welcome-layout/index.module.css.js +2 -2
  545. package/dist/with-suffix/component.d.ts +0 -14
  546. package/dist/with-suffix/component.js +0 -1
  547. package/dist/with-suffix/index.js +0 -1
  548. package/dist/with-suffix/index.module.css.js +2 -2
  549. package/package.json +1 -2
  550. package/dist/__internal/utils/clear-text.js.map +0 -1
  551. package/dist/__internal/utils/getDataTestId.js.map +0 -1
  552. package/dist/__internal/utils/index.js.map +0 -1
  553. package/dist/amount/component.js.map +0 -1
  554. package/dist/amount/index.js.map +0 -1
  555. package/dist/amount/index.module.css.js.map +0 -1
  556. package/dist/amount-input/component.js.map +0 -1
  557. package/dist/amount-input/index.js.map +0 -1
  558. package/dist/amount-input/index.module.css.js.map +0 -1
  559. package/dist/amount-input/utils/index.js.map +0 -1
  560. package/dist/avatar/component.js.map +0 -1
  561. package/dist/avatar/index.js.map +0 -1
  562. package/dist/avatar/index.module.css.js.map +0 -1
  563. package/dist/back-button/component.js.map +0 -1
  564. package/dist/back-button/index.js.map +0 -1
  565. package/dist/back-button/index.module.css.js.map +0 -1
  566. package/dist/badge/component.js.map +0 -1
  567. package/dist/badge/index.js.map +0 -1
  568. package/dist/badge/index.module.css.js.map +0 -1
  569. package/dist/base-card/component.js.map +0 -1
  570. package/dist/base-card/index.js.map +0 -1
  571. package/dist/base-card/index.module.css.js.map +0 -1
  572. package/dist/bottom-sheet/component.js.map +0 -1
  573. package/dist/bottom-sheet/index.js.map +0 -1
  574. package/dist/bottom-sheet/index.module.css.js.map +0 -1
  575. package/dist/box/component.js.map +0 -1
  576. package/dist/box/index.js.map +0 -1
  577. package/dist/box/index.module.css.js.map +0 -1
  578. package/dist/button/component.js.map +0 -1
  579. package/dist/button/index.js.map +0 -1
  580. package/dist/button/index.module.css.js.map +0 -1
  581. package/dist/button-arrow/component.js.map +0 -1
  582. package/dist/button-arrow/index.js.map +0 -1
  583. package/dist/button-arrow/index.module.css.js.map +0 -1
  584. package/dist/calendar/component.js.map +0 -1
  585. package/dist/calendar/components/days-table/component.js.map +0 -1
  586. package/dist/calendar/components/days-table/index.js.map +0 -1
  587. package/dist/calendar/components/days-table/index.module.css.js.map +0 -1
  588. package/dist/calendar/components/header/index.js.map +0 -1
  589. package/dist/calendar/components/header/index.module.css.js.map +0 -1
  590. package/dist/calendar/components/header//321/201omponent.js.map +0 -1
  591. package/dist/calendar/components/months-table/index.js.map +0 -1
  592. package/dist/calendar/components/months-table/index.module.css.js.map +0 -1
  593. package/dist/calendar/components/months-table//321/201omponent.js.map +0 -1
  594. package/dist/calendar/components/select-button/index.js.map +0 -1
  595. package/dist/calendar/components/select-button/index.module.css.js.map +0 -1
  596. package/dist/calendar/components/select-button//321/201omponent.js.map +0 -1
  597. package/dist/calendar/components/years-table/index.js.map +0 -1
  598. package/dist/calendar/components/years-table/index.module.css.js.map +0 -1
  599. package/dist/calendar/components/years-table//321/201omponent.js.map +0 -1
  600. package/dist/calendar/index.js.map +0 -1
  601. package/dist/calendar/index.module.css.js.map +0 -1
  602. package/dist/calendar/use-calendar.js.map +0 -1
  603. package/dist/calendar/use-period.js.map +0 -1
  604. package/dist/calendar/utils.js.map +0 -1
  605. package/dist/calendar-input/component.js.map +0 -1
  606. package/dist/calendar-input/index.js.map +0 -1
  607. package/dist/calendar-input/index.module.css.js.map +0 -1
  608. package/dist/calendar-input/utils.js.map +0 -1
  609. package/dist/card/component.js.map +0 -1
  610. package/dist/card/images/index.js.map +0 -1
  611. package/dist/card/images/index.module.css.js.map +0 -1
  612. package/dist/card/index.js.map +0 -1
  613. package/dist/card/index.module.css.js.map +0 -1
  614. package/dist/cell/base/component.js.map +0 -1
  615. package/dist/cell/base/index.module.css.js.map +0 -1
  616. package/dist/cell/component.js.map +0 -1
  617. package/dist/cell/index.js.map +0 -1
  618. package/dist/cell/pure/component.js.map +0 -1
  619. package/dist/cell/pure/index.js.map +0 -1
  620. package/dist/cell/pure/index.module.css.js.map +0 -1
  621. package/dist/checkbox/component.js.map +0 -1
  622. package/dist/checkbox/index.js.map +0 -1
  623. package/dist/checkbox/index.module.css.js.map +0 -1
  624. package/dist/checkbox-group/component.js.map +0 -1
  625. package/dist/checkbox-group/index.js.map +0 -1
  626. package/dist/checkbox-group/index.module.css.js.map +0 -1
  627. package/dist/checkbox-lists/component.js.map +0 -1
  628. package/dist/checkbox-lists/index.js.map +0 -1
  629. package/dist/checkbox-lists/index.module.css.js.map +0 -1
  630. package/dist/collapsable-row/addons.js.map +0 -1
  631. package/dist/collapsable-row/component.js.map +0 -1
  632. package/dist/collapsable-row/index.js.map +0 -1
  633. package/dist/collapsable-row/index.module.css.js.map +0 -1
  634. package/dist/collapse/component.js.map +0 -1
  635. package/dist/collapse/index.js.map +0 -1
  636. package/dist/collapse/index.module.css.js.map +0 -1
  637. package/dist/copy-button/component.js.map +0 -1
  638. package/dist/copy-button/index.js.map +0 -1
  639. package/dist/copy-button/index.module.css.js.map +0 -1
  640. package/dist/date/component.js.map +0 -1
  641. package/dist/date/index.js.map +0 -1
  642. package/dist/date-switcher/component.js.map +0 -1
  643. package/dist/date-switcher/index.js.map +0 -1
  644. package/dist/date-switcher/index.module.css.js.map +0 -1
  645. package/dist/decorated-item/component.js.map +0 -1
  646. package/dist/decorated-item/index.js.map +0 -1
  647. package/dist/decorated-item/index.module.css.js.map +0 -1
  648. package/dist/divider/component.js.map +0 -1
  649. package/dist/divider/index.js.map +0 -1
  650. package/dist/divider/index.module.css.js.map +0 -1
  651. package/dist/dot/component.js.map +0 -1
  652. package/dist/dot/index.js.map +0 -1
  653. package/dist/dot/index.module.css.js.map +0 -1
  654. package/dist/empty-page/component.js.map +0 -1
  655. package/dist/empty-page/index.js.map +0 -1
  656. package/dist/empty-page/index.module.css.js.map +0 -1
  657. package/dist/filter-tag/component.js.map +0 -1
  658. package/dist/filter-tag/index.js.map +0 -1
  659. package/dist/filter-tag/index.module.css.js.map +0 -1
  660. package/dist/flex/component.js.map +0 -1
  661. package/dist/flex/index.js.map +0 -1
  662. package/dist/flex/index.module.css.js.map +0 -1
  663. package/dist/flex-columns/component.js.map +0 -1
  664. package/dist/flex-columns/index.js.map +0 -1
  665. package/dist/flex-columns/index.module.css.js.map +0 -1
  666. package/dist/footer/component.js.map +0 -1
  667. package/dist/footer/contact-block.js.map +0 -1
  668. package/dist/footer/index.js.map +0 -1
  669. package/dist/footer/index.module.css.js.map +0 -1
  670. package/dist/form/component.js.map +0 -1
  671. package/dist/form/components/form-loading/index.js.map +0 -1
  672. package/dist/form/components/form-loading/index.module.css.js.map +0 -1
  673. package/dist/form/index.js.map +0 -1
  674. package/dist/form/templates/base-form/index.js.map +0 -1
  675. package/dist/form/templates/filters-form/index.js.map +0 -1
  676. package/dist/form/templates/rest-form/form.js.map +0 -1
  677. package/dist/form/templates/rest-form/index.js.map +0 -1
  678. package/dist/form/utils/get-default-values.js.map +0 -1
  679. package/dist/form/utils/remove-undefined-from-object.js.map +0 -1
  680. package/dist/form-control/component.js.map +0 -1
  681. package/dist/form-control/index.js.map +0 -1
  682. package/dist/form-control/index.module.css.js.map +0 -1
  683. package/dist/formik/index.js.map +0 -1
  684. package/dist/grid/component.js.map +0 -1
  685. package/dist/grid/index.js.map +0 -1
  686. package/dist/grid/index.module.css.js.map +0 -1
  687. package/dist/header-search/component.js.map +0 -1
  688. package/dist/header-search/index.js.map +0 -1
  689. package/dist/header-search/index.module.css.js.map +0 -1
  690. package/dist/hooks/index.js.map +0 -1
  691. package/dist/hooks/use-crud-form-requests/index.js.map +0 -1
  692. package/dist/hooks/use-get-one/index.js.map +0 -1
  693. package/dist/hooks/useClickOutside/index.js.map +0 -1
  694. package/dist/hooks/useFocus/index.js.map +0 -1
  695. package/dist/hooks/usePrevious/index.js.map +0 -1
  696. package/dist/icon-button/component.js.map +0 -1
  697. package/dist/icon-button/index.js.map +0 -1
  698. package/dist/icon-button/index.module.css.js.map +0 -1
  699. package/dist/image/component.js.map +0 -1
  700. package/dist/image/image-base.js.map +0 -1
  701. package/dist/image/index.js.map +0 -1
  702. package/dist/image/index.module.css.js.map +0 -1
  703. package/dist/image/types.js.map +0 -1
  704. package/dist/image/use-image-render-component.js.map +0 -1
  705. package/dist/image/utils.js.map +0 -1
  706. package/dist/image-gallery/component.js.map +0 -1
  707. package/dist/image-gallery/index.js.map +0 -1
  708. package/dist/image-uploader/component.js.map +0 -1
  709. package/dist/image-uploader/index.js.map +0 -1
  710. package/dist/image-uploader/index.module.css.js.map +0 -1
  711. package/dist/index.js.map +0 -1
  712. package/dist/info-block-header/component.js.map +0 -1
  713. package/dist/info-block-header/index.js.map +0 -1
  714. package/dist/info-block-header/index.module.css.js.map +0 -1
  715. package/dist/info-block-item/component.js.map +0 -1
  716. package/dist/info-block-item/index.js.map +0 -1
  717. package/dist/info-block-item/index.module.css.js.map +0 -1
  718. package/dist/info-block-wrapper/component.js.map +0 -1
  719. package/dist/info-block-wrapper/index.js.map +0 -1
  720. package/dist/info-block-wrapper/index.module.css.js.map +0 -1
  721. package/dist/input/component.js.map +0 -1
  722. package/dist/input/index.js.map +0 -1
  723. package/dist/input/index.module.css.js.map +0 -1
  724. package/dist/input-autocomplete/autocomplete-field/index.js.map +0 -1
  725. package/dist/input-autocomplete/autocomplete-field/index.module.css.js.map +0 -1
  726. package/dist/input-autocomplete/component.js.map +0 -1
  727. package/dist/input-autocomplete/index.js.map +0 -1
  728. package/dist/input-ghost/component.js.map +0 -1
  729. package/dist/input-ghost/index.js.map +0 -1
  730. package/dist/input-ghost/index.module.css.js.map +0 -1
  731. package/dist/link/component.js.map +0 -1
  732. package/dist/link/index.js.map +0 -1
  733. package/dist/link/index.module.css.js.map +0 -1
  734. package/dist/list-allert/component.js.map +0 -1
  735. package/dist/list-allert/index.js.map +0 -1
  736. package/dist/list-allert/index.module.css.js.map +0 -1
  737. package/dist/loader/component.js.map +0 -1
  738. package/dist/loader/index.js.map +0 -1
  739. package/dist/loader/index.module.css.js.map +0 -1
  740. package/dist/masked-input/component.js.map +0 -1
  741. package/dist/masked-input/index.js.map +0 -1
  742. package/dist/masked-input/index.module.css.js.map +0 -1
  743. package/dist/menu/component.js.map +0 -1
  744. package/dist/menu/components/content-header/index.js.map +0 -1
  745. package/dist/menu/components/content-header/index.module.css.js.map +0 -1
  746. package/dist/menu/components/index.js.map +0 -1
  747. package/dist/menu/components/menu-avatar/index.js.map +0 -1
  748. package/dist/menu/components/menu-avatar/index.module.css.js.map +0 -1
  749. package/dist/menu/components/menu-back-button/index.js.map +0 -1
  750. package/dist/menu/components/menu-back-button/index.module.css.js.map +0 -1
  751. package/dist/menu/components/menu-button/index.js.map +0 -1
  752. package/dist/menu/components/menu-button/index.module.css.js.map +0 -1
  753. package/dist/menu/components/menu-buttons-list/index.js.map +0 -1
  754. package/dist/menu/components/menu-buttons-list/index.module.css.js.map +0 -1
  755. package/dist/menu/components/user-button/index.js.map +0 -1
  756. package/dist/menu/components/user-button/index.module.css.js.map +0 -1
  757. package/dist/menu/hooks/use-menu.js.map +0 -1
  758. package/dist/menu/index.js.map +0 -1
  759. package/dist/menu/index.module.css.js.map +0 -1
  760. package/dist/message/component.js.map +0 -1
  761. package/dist/message/index.js.map +0 -1
  762. package/dist/message/index.module.css.js.map +0 -1
  763. package/dist/modal/components/modals/index.js.map +0 -1
  764. package/dist/modal/components/modals/index.module.css.js.map +0 -1
  765. package/dist/modal/components/modals/modal.js.map +0 -1
  766. package/dist/modal/context.js.map +0 -1
  767. package/dist/modal/hooks/use-modal.js.map +0 -1
  768. package/dist/modal/index.js.map +0 -1
  769. package/dist/modal/types.js +0 -2
  770. package/dist/modal/types.js.map +0 -1
  771. package/dist/modal/utils/delete-property-by-id.js.map +0 -1
  772. package/dist/modal/utils/is-last.js.map +0 -1
  773. package/dist/mq/component.js.map +0 -1
  774. package/dist/mq/index.js.map +0 -1
  775. package/dist/mq/mq-list.js.map +0 -1
  776. package/dist/mq/use-match-media.js.map +0 -1
  777. package/dist/mq/utils.js.map +0 -1
  778. package/dist/notification/component.js.map +0 -1
  779. package/dist/notification/index.js.map +0 -1
  780. package/dist/notification/index.module.css.js.map +0 -1
  781. package/dist/notification/utils/index.js.map +0 -1
  782. package/dist/padding/component.js.map +0 -1
  783. package/dist/padding/index.js.map +0 -1
  784. package/dist/page-container/component.js.map +0 -1
  785. package/dist/page-container/index.js.map +0 -1
  786. package/dist/page-container/index.module.css.js.map +0 -1
  787. package/dist/page-loading/component.js.map +0 -1
  788. package/dist/page-loading/index.js.map +0 -1
  789. package/dist/page-loading/index.module.css.js.map +0 -1
  790. package/dist/page-with-controls/component.js.map +0 -1
  791. package/dist/page-with-controls/index.js.map +0 -1
  792. package/dist/picker-button/common/index.js.map +0 -1
  793. package/dist/picker-button/common/labeled-button/index.js.map +0 -1
  794. package/dist/picker-button/common/labeled-button/index.module.css.js.map +0 -1
  795. package/dist/picker-button/component.js.map +0 -1
  796. package/dist/picker-button/field/Component.js.map +0 -1
  797. package/dist/picker-button/field/index.js.map +0 -1
  798. package/dist/picker-button/field/index.module.css.js.map +0 -1
  799. package/dist/picker-button/index.js.map +0 -1
  800. package/dist/picker-button/index.module.css.js.map +0 -1
  801. package/dist/popover/component.js.map +0 -1
  802. package/dist/popover/index.js.map +0 -1
  803. package/dist/popover/index.module.css.js.map +0 -1
  804. package/dist/portal/component.js.map +0 -1
  805. package/dist/portal/index.js.map +0 -1
  806. package/dist/portal/utils.js.map +0 -1
  807. package/dist/progress-bar/component.js.map +0 -1
  808. package/dist/progress-bar/index.js.map +0 -1
  809. package/dist/progress-bar/index.module.css.js.map +0 -1
  810. package/dist/progress-index/component.js.map +0 -1
  811. package/dist/progress-index/index.js.map +0 -1
  812. package/dist/progress-index/index.module.css.js.map +0 -1
  813. package/dist/radio/component.js.map +0 -1
  814. package/dist/radio/index.js.map +0 -1
  815. package/dist/radio/index.module.css.js.map +0 -1
  816. package/dist/radio-group/component.js.map +0 -1
  817. package/dist/radio-group/index.js.map +0 -1
  818. package/dist/radio-group/index.module.css.js.map +0 -1
  819. package/dist/radio-groups/component.js.map +0 -1
  820. package/dist/radio-groups/index.js.map +0 -1
  821. package/dist/radio-groups/index.module.css.js.map +0 -1
  822. package/dist/section-wrapper/component.js.map +0 -1
  823. package/dist/section-wrapper/index.js.map +0 -1
  824. package/dist/section-wrapper/index.module.css.js.map +0 -1
  825. package/dist/select/component.js.map +0 -1
  826. package/dist/select/components/arrow/component.js.map +0 -1
  827. package/dist/select/components/arrow/index.js.map +0 -1
  828. package/dist/select/components/arrow/index.module.css.js.map +0 -1
  829. package/dist/select/components/base-select/component.js.map +0 -1
  830. package/dist/select/components/base-select/index.js.map +0 -1
  831. package/dist/select/components/base-select/index.module.css.js.map +0 -1
  832. package/dist/select/components/checkmark/component.js.map +0 -1
  833. package/dist/select/components/checkmark/index.js.map +0 -1
  834. package/dist/select/components/checkmark/index.module.css.js.map +0 -1
  835. package/dist/select/components/field/component.js.map +0 -1
  836. package/dist/select/components/field/index.js.map +0 -1
  837. package/dist/select/components/field/index.module.css.js.map +0 -1
  838. package/dist/select/components/index.js.map +0 -1
  839. package/dist/select/components/native-select/component.js.map +0 -1
  840. package/dist/select/components/native-select/index.js.map +0 -1
  841. package/dist/select/components/optgroup/component.js.map +0 -1
  842. package/dist/select/components/optgroup/index.js.map +0 -1
  843. package/dist/select/components/optgroup/index.module.css.js.map +0 -1
  844. package/dist/select/components/option/component.js.map +0 -1
  845. package/dist/select/components/option/index.js.map +0 -1
  846. package/dist/select/components/option/index.module.css.js.map +0 -1
  847. package/dist/select/components/options-list/component.js.map +0 -1
  848. package/dist/select/components/options-list/index.js.map +0 -1
  849. package/dist/select/components/options-list/index.module.css.js.map +0 -1
  850. package/dist/select/components/select-search/index.js.map +0 -1
  851. package/dist/select/components/select-search/index.module.css.js.map +0 -1
  852. package/dist/select/components/virtual-options-list/component.js.map +0 -1
  853. package/dist/select/components/virtual-options-list/index.js.map +0 -1
  854. package/dist/select/components/virtual-options-list/index.module.css.js.map +0 -1
  855. package/dist/select/index.js.map +0 -1
  856. package/dist/select/presets/index.js.map +0 -1
  857. package/dist/select/presets/use-lazy-loading/index.js.map +0 -1
  858. package/dist/select/presets/use-select-with-loading/hook.js.map +0 -1
  859. package/dist/select/presets/use-select-with-loading/index.module.css.js.map +0 -1
  860. package/dist/select/utils.js.map +0 -1
  861. package/dist/sidepanel/component.js.map +0 -1
  862. package/dist/sidepanel/index.js.map +0 -1
  863. package/dist/sidepanel/index.module.css.js.map +0 -1
  864. package/dist/sidepanel-header/component.js.map +0 -1
  865. package/dist/sidepanel-header/index.js.map +0 -1
  866. package/dist/sidepanel-header/index.module.css.js.map +0 -1
  867. package/dist/skeleton/component.js.map +0 -1
  868. package/dist/skeleton/index.js.map +0 -1
  869. package/dist/skeleton/index.module.css.js.map +0 -1
  870. package/dist/space/Item.js.map +0 -1
  871. package/dist/space/component.js.map +0 -1
  872. package/dist/space/index.js.map +0 -1
  873. package/dist/space/index.module.css.js.map +0 -1
  874. package/dist/space/utils.js.map +0 -1
  875. package/dist/spinner/component.js.map +0 -1
  876. package/dist/spinner/index.js.map +0 -1
  877. package/dist/spinner/index.module.css.js.map +0 -1
  878. package/dist/stack/component.js.map +0 -1
  879. package/dist/stack/context.js.map +0 -1
  880. package/dist/stack/index.js.map +0 -1
  881. package/dist/status/component.js.map +0 -1
  882. package/dist/status/index.js.map +0 -1
  883. package/dist/status/index.module.css.js.map +0 -1
  884. package/dist/stepped-progress-bar/components/step-bar.js.map +0 -1
  885. package/dist/stepped-progress-bar/index.js.map +0 -1
  886. package/dist/stepped-progress-bar/index.module.css.js.map +0 -1
  887. package/dist/sticker/component.js.map +0 -1
  888. package/dist/sticker/index.js.map +0 -1
  889. package/dist/sticker/index.module.css.js.map +0 -1
  890. package/dist/suffix-input/component.js.map +0 -1
  891. package/dist/suffix-input/index.js.map +0 -1
  892. package/dist/suffix-input/index.module.css.js.map +0 -1
  893. package/dist/super-list-header/component.js.map +0 -1
  894. package/dist/super-list-header/index.js.map +0 -1
  895. package/dist/super-list-header/index.module.css.js.map +0 -1
  896. package/dist/super-list-item/component.js.map +0 -1
  897. package/dist/super-list-item/index.js.map +0 -1
  898. package/dist/super-list-item/index.module.css.js.map +0 -1
  899. package/dist/switch/component.js.map +0 -1
  900. package/dist/switch/index.js.map +0 -1
  901. package/dist/switch/index.module.css.js.map +0 -1
  902. package/dist/table/columns.js.map +0 -1
  903. package/dist/table/component.js.map +0 -1
  904. package/dist/table/components/cell/component.js.map +0 -1
  905. package/dist/table/components/cell/index.js.map +0 -1
  906. package/dist/table/components/cell/index.module.css.js.map +0 -1
  907. package/dist/table/components/cells/index.js.map +0 -1
  908. package/dist/table/components/cells/index.module.css.js.map +0 -1
  909. package/dist/table/components/empty-list/index.js.map +0 -1
  910. package/dist/table/components/empty-list/index.module.css.js.map +0 -1
  911. package/dist/table/components/error/index.js.map +0 -1
  912. package/dist/table/components/error/index.module.css.js.map +0 -1
  913. package/dist/table/components/loading/index.js.map +0 -1
  914. package/dist/table/components/loading/index.module.css.js.map +0 -1
  915. package/dist/table/components/pagination/index.js.map +0 -1
  916. package/dist/table/components/pagination/index.module.css.js.map +0 -1
  917. package/dist/table/components/table-header/index.js.map +0 -1
  918. package/dist/table/components/table-header/index.module.css.js.map +0 -1
  919. package/dist/table/hooks/use-table-data.js.map +0 -1
  920. package/dist/table/index.js.map +0 -1
  921. package/dist/table/index.module.css.js.map +0 -1
  922. package/dist/table/languages/index.js.map +0 -1
  923. package/dist/table/table.js.map +0 -1
  924. package/dist/table/types.js +0 -2
  925. package/dist/table/types.js.map +0 -1
  926. package/dist/table/utils/add-query-param.js.map +0 -1
  927. package/dist/table/utils/get-query-from-url.js.map +0 -1
  928. package/dist/table/utils/get-tags.js.map +0 -1
  929. package/dist/table/utils/index.js.map +0 -1
  930. package/dist/table/utils/is-object.js.map +0 -1
  931. package/dist/table/utils/parse-query-params.js.map +0 -1
  932. package/dist/table/utils/prepare-rows.js.map +0 -1
  933. package/dist/table/utils/query-adapter.js.map +0 -1
  934. package/dist/table/utils/remove-query-param.js.map +0 -1
  935. package/dist/table/utils/reset-query-param.js.map +0 -1
  936. package/dist/table/utils/serialize-data.js.map +0 -1
  937. package/dist/table/utils/set-query-to-url.js.map +0 -1
  938. package/dist/table/utils/sort-array.js.map +0 -1
  939. package/dist/table-status/component.js.map +0 -1
  940. package/dist/table-status/index.js.map +0 -1
  941. package/dist/table-status/index.module.css.js.map +0 -1
  942. package/dist/tag/component.js.map +0 -1
  943. package/dist/tag/index.js.map +0 -1
  944. package/dist/tag/index.module.css.js.map +0 -1
  945. package/dist/tags-list/component.js.map +0 -1
  946. package/dist/tags-list/index.js.map +0 -1
  947. package/dist/tags-list/index.module.css.js.map +0 -1
  948. package/dist/textarea/component.js.map +0 -1
  949. package/dist/textarea/index.js.map +0 -1
  950. package/dist/textarea/index.module.css.js.map +0 -1
  951. package/dist/theme-provider/component.js.map +0 -1
  952. package/dist/theme-provider/default-themes.js.map +0 -1
  953. package/dist/theme-provider/index.js.map +0 -1
  954. package/dist/toast/component.js.map +0 -1
  955. package/dist/toast/index.js.map +0 -1
  956. package/dist/toast/index.module.css.js.map +0 -1
  957. package/dist/toast-notifier/component.js.map +0 -1
  958. package/dist/toast-notifier/index.js.map +0 -1
  959. package/dist/toast-notifier/index.module.css.js.map +0 -1
  960. package/dist/toast-notifier/use-timer.js.map +0 -1
  961. package/dist/toast-plate/component.js.map +0 -1
  962. package/dist/toast-plate/index.js.map +0 -1
  963. package/dist/toast-plate/index.module.css.js.map +0 -1
  964. package/dist/tooltip/component.js.map +0 -1
  965. package/dist/tooltip/index.js.map +0 -1
  966. package/dist/tooltip/index.module.css.js.map +0 -1
  967. package/dist/tooltip/node-resolver.js.map +0 -1
  968. package/dist/typings/api.js +0 -2
  969. package/dist/typings/api.js.map +0 -1
  970. package/dist/typography/colors.js.map +0 -1
  971. package/dist/typography/colors.module.css.js.map +0 -1
  972. package/dist/typography/component.js.map +0 -1
  973. package/dist/typography/index.js.map +0 -1
  974. package/dist/typography/text/component.js.map +0 -1
  975. package/dist/typography/text/index.js.map +0 -1
  976. package/dist/typography/text/index.module.css.js.map +0 -1
  977. package/dist/typography/title/common.module.css.js.map +0 -1
  978. package/dist/typography/title/component.js.map +0 -1
  979. package/dist/typography/title/index.js.map +0 -1
  980. package/dist/typography/title/index.module.css.js.map +0 -1
  981. package/dist/utils/data/currency-codes.js.map +0 -1
  982. package/dist/utils/date/index.js.map +0 -1
  983. package/dist/utils/debounce.js.map +0 -1
  984. package/dist/utils/format-amount/util.js.map +0 -1
  985. package/dist/utils/format-date/index.js.map +0 -1
  986. package/dist/utils/get-currency-symbol/util.js.map +0 -1
  987. package/dist/utils/get-service-error/index.js.map +0 -1
  988. package/dist/utils/get-service-error/is-axios-error.js.map +0 -1
  989. package/dist/utils/get-service-error/is-network-error.js.map +0 -1
  990. package/dist/utils/index.js.map +0 -1
  991. package/dist/utils/safe-stringify.js.map +0 -1
  992. package/dist/utils/show-toast/index.js.map +0 -1
  993. package/dist/utils/split-amount/util.js.map +0 -1
  994. package/dist/utils/string.js.map +0 -1
  995. package/dist/welcome-layout/component.js.map +0 -1
  996. package/dist/welcome-layout/index.js.map +0 -1
  997. package/dist/welcome-layout/index.module.css.js.map +0 -1
  998. package/dist/with-suffix/component.js.map +0 -1
  999. package/dist/with-suffix/index.js.map +0 -1
  1000. package/dist/with-suffix/index.module.css.js.map +0 -1
  1001. /package/dist/amount/{index.module.css → index.css} +0 -0
  1002. /package/dist/amount-input/{index.module.css → index.css} +0 -0
  1003. /package/dist/avatar/{index.module.css → index.css} +0 -0
  1004. /package/dist/back-button/{index.module.css → index.css} +0 -0
  1005. /package/dist/badge/{index.module.css → index.css} +0 -0
  1006. /package/dist/base-card/{index.module.css → index.css} +0 -0
  1007. /package/dist/bottom-sheet/{index.module.css → index.css} +0 -0
  1008. /package/dist/box/{index.module.css → index.css} +0 -0
  1009. /package/dist/button/{index.module.css → index.css} +0 -0
  1010. /package/dist/button-arrow/{index.module.css → index.css} +0 -0
  1011. /package/dist/calendar/components/days-table/{index.module.css → index.css} +0 -0
  1012. /package/dist/calendar/components/header/{index.module.css → index.css} +0 -0
  1013. /package/dist/calendar/components/months-table/{index.module.css → index.css} +0 -0
  1014. /package/dist/calendar/components/select-button/{index.module.css → index.css} +0 -0
  1015. /package/dist/calendar/components/years-table/{index.module.css → index.css} +0 -0
  1016. /package/dist/calendar/{index.module.css → index.css} +0 -0
  1017. /package/dist/calendar-input/{index.module.css → index.css} +0 -0
  1018. /package/dist/card/images/{index.module.css → index.css} +0 -0
  1019. /package/dist/card/{index.module.css → index.css} +0 -0
  1020. /package/dist/cell/base/{index.module.css → index.css} +0 -0
  1021. /package/dist/cell/pure/{index.module.css → index.css} +0 -0
  1022. /package/dist/checkbox/{index.module.css → index.css} +0 -0
  1023. /package/dist/checkbox-group/{index.module.css → index.css} +0 -0
  1024. /package/dist/checkbox-lists/{index.module.css → index.css} +0 -0
  1025. /package/dist/collapsable-row/{index.module.css → index.css} +0 -0
  1026. /package/dist/collapse/{index.module.css → index.css} +0 -0
  1027. /package/dist/copy-button/{index.module.css → index.css} +0 -0
  1028. /package/dist/date-switcher/{index.module.css → index.css} +0 -0
  1029. /package/dist/decorated-item/{index.module.css → index.css} +0 -0
  1030. /package/dist/divider/{index.module.css → index.css} +0 -0
  1031. /package/dist/dot/{index.module.css → index.css} +0 -0
  1032. /package/dist/empty-page/{index.module.css → index.css} +0 -0
  1033. /package/dist/filter-tag/{index.module.css → index.css} +0 -0
  1034. /package/dist/flex/{index.module.css → index.css} +0 -0
  1035. /package/dist/flex-columns/{index.module.css → index.css} +0 -0
  1036. /package/dist/footer/{index.module.css → index.css} +0 -0
  1037. /package/dist/form/components/form-loading/{index.module.css → index.css} +0 -0
  1038. /package/dist/form-control/{index.module.css → index.css} +0 -0
  1039. /package/dist/grid/{index.module.css → index.css} +0 -0
  1040. /package/dist/header-search/{index.module.css → index.css} +0 -0
  1041. /package/dist/icon-button/{index.module.css → index.css} +0 -0
  1042. /package/dist/image/{index.module.css → index.css} +0 -0
  1043. /package/dist/image-uploader/{index.module.css → index.css} +0 -0
  1044. /package/dist/info-block-header/{index.module.css → index.css} +0 -0
  1045. /package/dist/info-block-item/{index.module.css → index.css} +0 -0
  1046. /package/dist/info-block-wrapper/{index.module.css → index.css} +0 -0
  1047. /package/dist/input/{index.module.css → index.css} +0 -0
  1048. /package/dist/input-autocomplete/autocomplete-field/{index.module.css → index.css} +0 -0
  1049. /package/dist/input-ghost/{index.module.css → index.css} +0 -0
  1050. /package/dist/link/{index.module.css → index.css} +0 -0
  1051. /package/dist/list-allert/{index.module.css → index.css} +0 -0
  1052. /package/dist/loader/{index.module.css → index.css} +0 -0
  1053. /package/dist/masked-input/{index.module.css → index.css} +0 -0
  1054. /package/dist/menu/components/content-header/{index.module.css → index.css} +0 -0
  1055. /package/dist/menu/components/menu-avatar/{index.module.css → index.css} +0 -0
  1056. /package/dist/menu/components/menu-back-button/{index.module.css → index.css} +0 -0
  1057. /package/dist/menu/components/menu-button/{index.module.css → index.css} +0 -0
  1058. /package/dist/menu/components/menu-buttons-list/{index.module.css → index.css} +0 -0
  1059. /package/dist/menu/components/user-button/{index.module.css → index.css} +0 -0
  1060. /package/dist/menu/{index.module.css → index.css} +0 -0
  1061. /package/dist/message/{index.module.css → index.css} +0 -0
  1062. /package/dist/modal/components/modals/{index.module.css → index.css} +0 -0
  1063. /package/dist/notification/{index.module.css → index.css} +0 -0
  1064. /package/dist/page-container/{index.module.css → index.css} +0 -0
  1065. /package/dist/page-loading/{index.module.css → index.css} +0 -0
  1066. /package/dist/picker-button/common/labeled-button/{index.module.css → index.css} +0 -0
  1067. /package/dist/picker-button/field/{index.module.css → index.css} +0 -0
  1068. /package/dist/picker-button/{index.module.css → index.css} +0 -0
  1069. /package/dist/popover/{index.module.css → index.css} +0 -0
  1070. /package/dist/progress-bar/{index.module.css → index.css} +0 -0
  1071. /package/dist/progress-index/{index.module.css → index.css} +0 -0
  1072. /package/dist/radio/{index.module.css → index.css} +0 -0
  1073. /package/dist/radio-group/{index.module.css → index.css} +0 -0
  1074. /package/dist/radio-groups/{index.module.css → index.css} +0 -0
  1075. /package/dist/section-wrapper/{index.module.css → index.css} +0 -0
  1076. /package/dist/select/components/arrow/{index.module.css → index.css} +0 -0
  1077. /package/dist/select/components/base-select/{index.module.css → index.css} +0 -0
  1078. /package/dist/select/components/checkmark/{index.module.css → index.css} +0 -0
  1079. /package/dist/select/components/field/{index.module.css → index.css} +0 -0
  1080. /package/dist/select/components/optgroup/{index.module.css → index.css} +0 -0
  1081. /package/dist/select/components/option/{index.module.css → index.css} +0 -0
  1082. /package/dist/select/components/options-list/{index.module.css → index.css} +0 -0
  1083. /package/dist/select/components/select-search/{index.module.css → index.css} +0 -0
  1084. /package/dist/select/components/virtual-options-list/{index.module.css → index.css} +0 -0
  1085. /package/dist/select/presets/use-select-with-loading/{index.module.css → index.css} +0 -0
  1086. /package/dist/sidepanel/{index.module.css → index.css} +0 -0
  1087. /package/dist/sidepanel-header/{index.module.css → index.css} +0 -0
  1088. /package/dist/skeleton/{index.module.css → index.css} +0 -0
  1089. /package/dist/space/{index.module.css → index.css} +0 -0
  1090. /package/dist/spinner/{index.module.css → index.css} +0 -0
  1091. /package/dist/status/{index.module.css → index.css} +0 -0
  1092. /package/dist/stepped-progress-bar/{index.module.css → index.css} +0 -0
  1093. /package/dist/sticker/{index.module.css → index.css} +0 -0
  1094. /package/dist/suffix-input/{index.module.css → index.css} +0 -0
  1095. /package/dist/super-list-header/{index.module.css → index.css} +0 -0
  1096. /package/dist/super-list-item/{index.module.css → index.css} +0 -0
  1097. /package/dist/switch/{index.module.css → index.css} +0 -0
  1098. /package/dist/table/components/cell/{index.module.css → index.css} +0 -0
  1099. /package/dist/table/components/cells/{index.module.css → index.css} +0 -0
  1100. /package/dist/table/components/empty-list/{index.module.css → index.css} +0 -0
  1101. /package/dist/table/components/error/{index.module.css → index.css} +0 -0
  1102. /package/dist/table/components/loading/{index.module.css → index.css} +0 -0
  1103. /package/dist/table/components/pagination/{index.module.css → index.css} +0 -0
  1104. /package/dist/table/components/table-header/{index.module.css → index.css} +0 -0
  1105. /package/dist/table/{index.module.css → index.css} +0 -0
  1106. /package/dist/table-status/{index.module.css → index.css} +0 -0
  1107. /package/dist/tag/{index.module.css → index.css} +0 -0
  1108. /package/dist/tags-list/{index.module.css → index.css} +0 -0
  1109. /package/dist/textarea/{index.module.css → index.css} +0 -0
  1110. /package/dist/toast/{index.module.css → index.css} +0 -0
  1111. /package/dist/toast-notifier/{index.module.css → index.css} +0 -0
  1112. /package/dist/toast-plate/{index.module.css → index.css} +0 -0
  1113. /package/dist/tooltip/{index.module.css → index.css} +0 -0
  1114. /package/dist/typography/{colors.module.css → colors.css} +0 -0
  1115. /package/dist/typography/text/{index.module.css → index.css} +0 -0
  1116. /package/dist/typography/title/{common.module.css → common.css} +0 -0
  1117. /package/dist/typography/title/{index.module.css → index.css} +0 -0
  1118. /package/dist/welcome-layout/{index.module.css → index.css} +0 -0
  1119. /package/dist/with-suffix/{index.module.css → index.css} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../../../src/select/components/base-select/component.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-types */\nimport React, {\n FocusEvent,\n forwardRef,\n KeyboardEvent,\n MouseEvent,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n} from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport cn from 'classnames';\nimport {\n useCombobox,\n useMultipleSelection,\n UseMultipleSelectionProps,\n UseMultipleSelectionState,\n} from 'downshift';\nimport { ResizeObserver } from 'resize-observer';\n\nimport { getDataTestId } from '../../../__internal/utils/getDataTestId';\nimport { Popover } from '../../../popover';\nimport { BaseSelectProps, OptionShape } from '../../typings';\nimport { processOptions } from '../../utils';\nimport { NativeSelect } from '../native-select';\n\nimport styles from './index.module.css';\n\nconst itemToString = (option: OptionShape) => (option ? option.key?.toString() : '');\n\nconst useLatest = <T,>(value: T) => {\n const ref = useRef(value);\n ref.current = value;\n\n return ref;\n};\n\nexport const BaseSelect = forwardRef<HTMLDivElement, BaseSelectProps>(\n (\n {\n dataTestId = '',\n className,\n fieldClassName,\n filteredOptions,\n popoverOuterClassname,\n optionsListClassName,\n optionClassName,\n options,\n actionButton,\n autocomplete = false,\n multiple = false,\n allowUnselect = false,\n disabled = false,\n closeOnSelect = !multiple,\n circularNavigation = false,\n nativeSelect = false,\n defaultOpen = false,\n open: openProp,\n popoverPosition = 'bottom-start',\n offset,\n withArrow,\n preventFlip = true,\n optionsListWidth = 'field',\n name,\n id,\n required,\n selected,\n size = 'm',\n optionsSize = size,\n error,\n hint,\n block = true,\n label,\n placeholder,\n fieldProps = {},\n optionsListProps = {},\n optionProps = {},\n valueRenderer,\n onChange,\n onOpen,\n onFocus,\n onBlur,\n onScroll,\n Arrow,\n Field = () => null,\n OptionsList = () => null,\n Optgroup = () => null,\n Option = () => null,\n updatePopover,\n zIndexPopover,\n showEmptyOptionsList = false,\n visibleOptions,\n },\n ref,\n ) => {\n const rootRef = useRef<HTMLLabelElement>(null);\n const fieldRef = useRef<HTMLInputElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const lastWidthRef = useRef<number | null>(null);\n const debounceRef = useRef<number | null>(null);\n\n const onChangeRef = useLatest(onChange);\n const onOpenRef = useLatest(onOpen);\n\n const { flatOptions, selectedOptions } = useMemo(\n () => processOptions(options || [], selected),\n [options, selected],\n );\n\n const optionIndexByKey = useMemo(() => {\n const map = new Map<string | number, number>();\n\n flatOptions.forEach((option, index) => {\n map.set(option.key, index);\n });\n\n return map;\n }, [flatOptions]);\n\n const useMultipleSelectionProps: UseMultipleSelectionProps<OptionShape> = useMemo(\n () => ({\n itemToString,\n onSelectedItemsChange: (changes) => {\n const { selectedItems = [] } = changes;\n\n onChangeRef.current?.({\n selectedMultiple: selectedItems,\n selected: selectedItems.length ? selectedItems[0] : null,\n name,\n });\n },\n stateReducer: (state, actionAndChanges) => {\n const { type, changes } = actionAndChanges;\n\n if (\n !allowUnselect &&\n type === useMultipleSelection.stateChangeTypes.DropdownKeyDownBackspace\n ) {\n return state;\n }\n\n return changes as UseMultipleSelectionState<OptionShape>;\n },\n ...(selected !== undefined ? { selectedItems: selectedOptions } : {}),\n }),\n [allowUnselect, name, selected, selectedOptions, onChangeRef],\n );\n\n const {\n selectedItems,\n addSelectedItem,\n setSelectedItems,\n removeSelectedItem,\n getDropdownProps,\n } = useMultipleSelection(useMultipleSelectionProps);\n\n const selectedKeysSet = useMemo(\n () => new Set(selectedItems.map((item) => item.key)),\n [selectedItems],\n );\n\n const {\n isOpen: open,\n getMenuProps,\n getInputProps,\n getItemProps,\n getComboboxProps,\n getLabelProps,\n highlightedIndex,\n toggleMenu,\n openMenu,\n } = useCombobox<OptionShape>({\n id,\n isOpen: openProp,\n circularNavigation,\n items: flatOptions,\n itemToString,\n defaultHighlightedIndex: selectedItems.length === 0 ? -1 : undefined,\n onIsOpenChange: (changes) => {\n if (onOpenRef.current) {\n setTimeout(() => {\n onOpenRef.current?.({ open: changes.isOpen, name });\n }, 0);\n }\n },\n stateReducer: (state, actionAndChanges) => {\n const { type, changes } = actionAndChanges;\n const { selectedItem } = changes;\n\n switch (type) {\n case useCombobox.stateChangeTypes.InputKeyDownEnter:\n case useCombobox.stateChangeTypes.ItemClick:\n if (selectedItem && !selectedItem.disabled) {\n const alreadySelected = selectedKeysSet.has(selectedItem.key);\n const allowRemove = allowUnselect || (multiple && selectedItems.length > 1);\n\n if (alreadySelected && allowRemove) {\n removeSelectedItem(selectedItem);\n }\n\n if (!alreadySelected) {\n if (multiple) {\n addSelectedItem(selectedItem);\n } else {\n setSelectedItems([selectedItem]);\n }\n }\n }\n\n return {\n ...changes,\n isOpen: !closeOnSelect,\n highlightedIndex:\n state.isOpen && !closeOnSelect\n ? state.highlightedIndex\n : changes.highlightedIndex,\n };\n default:\n return changes;\n }\n },\n });\n\n const menuProps = (getMenuProps as (options: object, additional: object) => any)(\n { ref: listRef },\n { suppressRefError: true },\n );\n const inputProps = getInputProps(getDropdownProps({ ref: mergeRefs([ref, fieldRef]) }));\n\n const handleFieldFocus = (event: FocusEvent<HTMLDivElement | HTMLInputElement>) => {\n onFocus?.(event);\n if (autocomplete && !open) openMenu();\n };\n\n const handleFieldBlur = (event: FocusEvent<HTMLDivElement | HTMLInputElement>) => {\n const rt = (event.relatedTarget || document.activeElement) as HTMLElement | null;\n const focusMovedIntoList = !!(rt && listRef.current?.contains(rt));\n\n if (!focusMovedIntoList) {\n onBlur?.(event);\n inputProps.onBlur(event);\n }\n };\n\n const handleFieldKeyDown = (event: KeyboardEvent<HTMLDivElement | HTMLInputElement>) => {\n inputProps.onKeyDown(event);\n if (autocomplete && !open && event.key.length === 1) {\n openMenu();\n }\n\n if (\n [' ', 'Enter'].includes(event.key) &&\n !autocomplete &&\n !nativeSelect &&\n (event.target as HTMLElement).tagName !== 'INPUT'\n ) {\n event.preventDefault();\n if (!open || highlightedIndex === -1) toggleMenu();\n }\n };\n\n const handleFieldClick = (event: MouseEvent) => {\n if (listRef.current?.contains(event.target as Node)) return;\n\n if (!autocomplete || (event.target as HTMLElement).tagName !== 'INPUT') {\n toggleMenu();\n } else {\n openMenu();\n }\n };\n\n const handleNativeSelectChange = useCallback(\n (event: React.ChangeEvent<HTMLSelectElement>) => {\n setSelectedItems(\n Array.from(event.target.options).reduce<OptionShape[]>(\n (acc, option, index) => (option.selected ? acc.concat(flatOptions[index]) : acc),\n [],\n ),\n );\n },\n [flatOptions, setSelectedItems],\n );\n\n const WrappedOption = useCallback(\n ({ option, index, ...rest }: { option: OptionShape; index: number }) => {\n if (!option) return null;\n\n const itemIndex = optionIndexByKey.get(option.key);\n\n if (itemIndex === undefined) return null;\n\n const dsItem = flatOptions[itemIndex];\n const innerProps = getItemProps({\n item: dsItem,\n index: itemIndex,\n disabled: option.disabled,\n onMouseDown: (e: MouseEvent) => e.preventDefault(),\n onPointerDown: (e: React.PointerEvent) => {\n e.preventDefault();\n e.stopPropagation();\n },\n onTouchStart: (e: React.TouchEvent) => {\n e.preventDefault();\n e.stopPropagation();\n },\n onClick: (e: React.MouseEvent) => {\n e.stopPropagation();\n },\n });\n\n return (\n <React.Fragment key={ option.key }>\n { Option({\n ...(optionProps as object),\n ...rest,\n className: optionClassName,\n innerProps,\n index,\n option,\n size: optionsSize,\n disabled: option.disabled,\n highlighted: itemIndex === highlightedIndex,\n selected: selectedKeysSet.has(option.key),\n }) as React.ReactNode }\n </React.Fragment>\n );\n },\n [\n optionProps,\n flatOptions,\n optionIndexByKey,\n optionClassName,\n getItemProps,\n optionsSize,\n highlightedIndex,\n selectedKeysSet,\n Option,\n ],\n );\n\n useEffect(() => {\n if (defaultOpen) openMenu();\n }, [defaultOpen, openMenu]);\n\n useEffect(() => {\n if (openProp === true) openMenu();\n }, [openProp, openMenu]);\n\n const calcOptionsListWidth = useCallback(() => {\n if (!listRef.current || !rootRef.current) return;\n\n const widthAttr = optionsListWidth === 'field' ? 'width' : 'minWidth';\n const w = Math.round(rootRef.current.getBoundingClientRect().width);\n\n if (lastWidthRef.current !== w) {\n lastWidthRef.current = w;\n listRef.current.style[widthAttr] = `${w}px`;\n }\n }, [optionsListWidth]);\n\n useEffect(() => {\n if (!open || !rootRef.current) return;\n\n const scheduleWidthUpdate = () => {\n if (debounceRef.current) window.clearTimeout(debounceRef.current);\n debounceRef.current = window.setTimeout(calcOptionsListWidth, 50);\n };\n\n const observer = new ResizeObserver(scheduleWidthUpdate);\n\n observer.observe(rootRef.current);\n calcOptionsListWidth();\n\n return () => {\n observer.disconnect();\n if (debounceRef.current) window.clearTimeout(debounceRef.current);\n debounceRef.current = null;\n };\n }, [open, calcOptionsListWidth, options, selectedItems]);\n\n const nativeSelectValue = multiple\n ? selectedItems.map((option) => option.key?.toString())\n : selectedItems[0]?.key?.toString();\n\n const needRenderOptionsList =\n flatOptions.length > 0 || showEmptyOptionsList || !!actionButton;\n\n const labelNode = label ? (\n <span { ...getLabelProps() }>{ required ? `${label} *` : label }</span>\n ) : undefined;\n\n return (\n <div\n { ...getComboboxProps({\n ref: rootRef,\n ...(disabled && { 'aria-disabled': true }),\n className: cn(styles.component, { [styles.block]: block }, className),\n }) }\n onKeyDown={ disabled ? undefined : handleFieldKeyDown }\n tabIndex={ -1 }\n id=\"slect_wrapper\"\n data-test-id={ getDataTestId('combobox', dataTestId) }\n >\n { nativeSelect && (\n <NativeSelect\n className={ styles.nativeSelect }\n disabled={ disabled }\n multiple={ multiple }\n name={ name }\n value={ nativeSelectValue }\n onChange={ handleNativeSelectChange }\n options={ options }\n />\n ) }\n\n <Field\n selectedMultiple={ selectedItems }\n selected={ selectedItems[0] }\n multiple={ multiple }\n open={ open }\n disabled={ disabled }\n size={ size }\n placeholder={ placeholder }\n label={ labelNode }\n Arrow={ Arrow && <Arrow open={ open } /> }\n error={ error }\n hint={ hint }\n valueRenderer={ valueRenderer }\n className={ fieldClassName }\n innerProps={ {\n onBlur: handleFieldBlur,\n onFocus: disabled ? undefined : handleFieldFocus,\n onClick: disabled ? undefined : handleFieldClick,\n tabIndex: nativeSelect || disabled ? -1 : 0,\n ref: mergeRefs([inputProps.ref]),\n id: inputProps.id,\n 'aria-labelledby': inputProps['aria-labelledby'],\n 'aria-controls': inputProps['aria-controls'],\n 'aria-autocomplete': autocomplete ? inputProps['aria-autocomplete'] : undefined,\n } }\n dataTestId={ getDataTestId('field', dataTestId) }\n { ...fieldProps }\n />\n\n { name && !nativeSelect && selectedItems.map((option) => (\n <input type=\"hidden\" name={ name } value={ option.key } key={ option.key } />\n )) }\n\n { !nativeSelect && (\n <Popover\n open={ open }\n withTransition={ false }\n anchorElement={ fieldRef.current as unknown as HTMLElement }\n position={ popoverPosition }\n offset={ offset }\n withArrow={ withArrow }\n preventFlip={ preventFlip }\n className={ popoverOuterClassname }\n popperClassName={ styles.popoverInner }\n update={ updatePopover }\n zIndex={ zIndexPopover }\n >\n { needRenderOptionsList && (\n <div { ...menuProps } className={ cn(optionsListClassName, styles.optionsList) }>\n <OptionsList\n { ...optionsListProps }\n flatOptions={ flatOptions }\n highlightedIndex={ highlightedIndex }\n open={ open }\n size={ size }\n toggleMenu={ toggleMenu }\n actionButton={ actionButton }\n options={ filteredOptions ?? options }\n Optgroup={ Optgroup }\n Option={ WrappedOption }\n visibleOptions={ visibleOptions }\n onScroll={ onScroll }\n dataTestId={ getDataTestId('options-list', dataTestId) }\n />\n </div>\n ) }\n </Popover>\n ) }\n </div>\n );\n },\n);\n"],"names":["itemToString","option","_a","useLatest","value","ref","useRef","BaseSelect","forwardRef","dataTestId","className","fieldClassName","filteredOptions","popoverOuterClassname","optionsListClassName","optionClassName","options","actionButton","autocomplete","multiple","allowUnselect","disabled","closeOnSelect","circularNavigation","nativeSelect","defaultOpen","openProp","popoverPosition","offset","withArrow","preventFlip","optionsListWidth","name","id","required","selected","size","optionsSize","error","hint","block","label","placeholder","fieldProps","optionsListProps","optionProps","valueRenderer","onChange","onOpen","onFocus","onBlur","onScroll","Arrow","Field","OptionsList","Optgroup","Option","updatePopover","zIndexPopover","showEmptyOptionsList","visibleOptions","rootRef","fieldRef","listRef","lastWidthRef","debounceRef","onChangeRef","onOpenRef","flatOptions","selectedOptions","useMemo","processOptions","optionIndexByKey","map","index","useMultipleSelectionProps","changes","selectedItems","state","actionAndChanges","type","useMultipleSelection","addSelectedItem","setSelectedItems","removeSelectedItem","getDropdownProps","selectedKeysSet","item","open","getMenuProps","getInputProps","getItemProps","getComboboxProps","getLabelProps","highlightedIndex","toggleMenu","openMenu","useCombobox","selectedItem","alreadySelected","allowRemove","menuProps","inputProps","mergeRefs","handleFieldFocus","event","handleFieldBlur","rt","handleFieldKeyDown","handleFieldClick","handleNativeSelectChange","useCallback","acc","WrappedOption","rest","itemIndex","dsItem","innerProps","e","jsx","React","useEffect","calcOptionsListWidth","widthAttr","w","scheduleWidthUpdate","observer","ResizeObserver","nativeSelectValue","_b","needRenderOptionsList","labelNode","jsxs","cn","styles","getDataTestId","NativeSelect","Popover"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../../../src/select/components/checkmark/component.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nimport { CheckmarkProps } from '../../typings';\n\nimport styles from './index.module.css';\n\nexport const Checkmark = ({ selected }: CheckmarkProps) => (\n <span\n className={ cn(styles.checkmark, {\n [styles.selected]: selected,\n }) }\n />\n);\n"],"names":["Checkmark","selected","jsx","cn","styles"],"mappings":";;;AAOO,MAAMA,IAAY,CAAC,EAAE,UAAAC,EAAA,MACxB,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,WAAYC,EAAGC,EAAO,WAAW;AAAA,MAC7B,CAACA,EAAO,QAAQ,GAAGH;AAAA,IAAA,CACtB;AAAA,EAAA;AACL;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../../../src/select/components/field/component.tsx"],"sourcesContent":["import React, { useCallback, useRef, useState } from 'react';\nimport cn from 'classnames';\n\nimport { FormControl, FormControlProps } from '../../../form-control';\nimport { useFocus } from '../../../hooks/useFocus';\nimport { SelectFieldProps as BaseFieldProps } from '../../typings';\nimport { joinOptions } from '../../utils';\n\nimport styles from './index.module.css';\n\nexport const SelectField = ({\n size = 'm',\n open,\n multiple,\n error,\n hint,\n disabled,\n label,\n placeholder,\n selectedMultiple = [],\n selected,\n rightAddons,\n valueRenderer = joinOptions,\n Arrow,\n innerProps,\n dataTestId,\n fieldClassName,\n ...restProps\n}: BaseFieldProps & FormControlProps) => {\n const [focused, setFocused] = useState(false);\n\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n const [focusVisible] = useFocus(wrapperRef, 'keyboard');\n\n const handleFocus = useCallback(() => setFocused(true), []);\n const handleBlur = useCallback(() => setFocused(false), []);\n\n const value = valueRenderer({ selected, selectedMultiple });\n\n const filled = Boolean(value);\n const showLabel = !!label && (filled || !placeholder);\n\n return (\n <div\n className={ styles.component }\n ref={ wrapperRef }\n onFocus={ handleFocus }\n onBlur={ handleBlur }\n >\n <FormControl\n fieldClassName={ cn(styles.field, fieldClassName, {\n [styles.disabled]: disabled,\n [styles.focusVisible]: focusVisible,\n }) }\n block={ true }\n size={ size }\n focused={ open || focused }\n disabled={ disabled }\n filled={ filled }\n label={ showLabel && label }\n error={ error }\n hint={ hint }\n rightAddons={\n (Arrow || rightAddons) && (\n <React.Fragment>\n { rightAddons }\n { /* TODO: стоит переделать, но это будет мажорка */ }\n { Arrow ? React.cloneElement(Arrow as React.ReactElement<{ className?: string }>, { className: styles.arrow }) : null }\n </React.Fragment>\n )\n }\n data-test-id={ dataTestId }\n { ...restProps }\n { ...innerProps }\n >\n <div className={ styles.contentWrapper }>\n { placeholder && !filled && (\n <span className={ styles.placeholder }>{ placeholder }</span>\n ) }\n { filled && <div className={ styles.value }>{ value }</div> }\n </div>\n </FormControl>\n </div>\n );\n};\n"],"names":["SelectField","size","open","multiple","error","hint","disabled","label","placeholder","selectedMultiple","selected","rightAddons","valueRenderer","joinOptions","Arrow","innerProps","dataTestId","fieldClassName","restProps","focused","setFocused","useState","wrapperRef","useRef","focusVisible","useFocus","handleFocus","useCallback","handleBlur","value","filled","showLabel","jsx","styles","FormControl","cn","jsxs","React"],"mappings":";;;;;;;AAUO,MAAMA,IAAc,CAAC;AAAA,EACxB,MAAAC,IAAO;AAAA,EACP,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,kBAAAC,IAAmB,CAAA;AAAA,EACnB,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,eAAAC,IAAgBC;AAAA,EAChB,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,GAAGC;AACP,MAAyC;AACrC,QAAM,CAACC,GAASC,CAAU,IAAIC,EAAS,EAAK,GAEtCC,IAAaC,EAAuB,IAAI,GAExC,CAACC,CAAY,IAAIC,EAASH,GAAY,UAAU,GAEhDI,IAAcC,EAAY,MAAMP,EAAW,EAAI,GAAG,CAAA,CAAE,GACpDQ,IAAaD,EAAY,MAAMP,EAAW,EAAK,GAAG,CAAA,CAAE,GAEpDS,IAAQjB,EAAc,EAAE,UAAAF,GAAU,kBAAAD,GAAkB,GAEpDqB,IAAS,EAAQD,GACjBE,IAAY,CAAC,CAACxB,MAAUuB,KAAU,CAACtB;AAEzC,SACI,gBAAAwB;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAYC,EAAO;AAAA,MACnB,KAAMX;AAAA,MACN,SAAUI;AAAA,MACV,QAASE;AAAA,MAET,UAAA,gBAAAI;AAAA,QAACE;AAAA,QAAA;AAAA,UACG,gBAAiBC,EAAGF,EAAO,OAAOhB,GAAgB;AAAA,YAC9C,CAACgB,EAAO,QAAQ,GAAG3B;AAAA,YACnB,CAAC2B,EAAO,YAAY,GAAGT;AAAA,UAAA,CAC1B;AAAA,UACD,OAAQ;AAAA,UACR,MAAAvB;AAAA,UACA,SAAUC,KAAQiB;AAAA,UAClB,UAAAb;AAAA,UACA,QAAAwB;AAAA,UACA,OAAQC,KAAaxB;AAAA,UACrB,OAAAH;AAAA,UACA,MAAAC;AAAA,UACA,cACKS,KAASH,MACN,gBAAAyB,EAACC,EAAM,UAAN,EACK,UAAA;AAAA,YAAA1B;AAAA,YAEAG,IAAQuB,EAAM,aAAavB,GAAqD,EAAE,WAAWmB,EAAO,MAAA,CAAO,IAAI;AAAA,UAAA,GACrH;AAAA,UAGR,gBAAejB;AAAA,UACb,GAAGE;AAAA,UACH,GAAGH;AAAA,UAEL,UAAA,gBAAAqB,EAAC,OAAA,EAAI,WAAYH,EAAO,gBAClB,UAAA;AAAA,YAAAzB,KAAe,CAACsB,KACd,gBAAAE,EAAC,UAAK,WAAYC,EAAO,aAAgB,UAAAzB,GAAa;AAAA,YAExDsB,KAAU,gBAAAE,EAAC,OAAA,EAAI,WAAYC,EAAO,OAAU,UAAAJ,EAAA,CAAO;AAAA,UAAA,EAAA,CACzD;AAAA,QAAA;AAAA,MAAA;AAAA,IACJ;AAAA,EAAA;AAGZ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../../../src/select/components/native-select/component.tsx"],"sourcesContent":["import React, { forwardRef, SelectHTMLAttributes, useCallback } from 'react';\n\nimport { GroupShape, OptionShape } from '../../typings';\nimport { isGroup } from '../../utils';\n\nexport type NativeSelectProps = SelectHTMLAttributes<HTMLSelectElement> & {\n /**\n * Список вариантов выбора\n */\n options: Array<OptionShape | GroupShape>;\n\n /**\n * Значение селекта\n */\n value: string | string[];\n};\n\nconst Option = ({ option }: { option: OptionShape }) => (\n <option value={ option.key } disabled={ option.disabled }>\n { typeof option.content === 'string' ? option.content : option.key }\n </option>\n);\n\nconst Group = ({ label, options }: GroupShape) => (\n <optgroup label={ label }>\n { options.map((option) => (\n <Option option={ option } key={ option.key } />\n )) }\n </optgroup>\n);\n\nexport const NativeSelect = forwardRef<HTMLSelectElement, NativeSelectProps>(\n ({\n className, disabled, multiple, value, name, options, onChange, ...restProps\n }, ref) => {\n const handleClick = useCallback((event: React.MouseEvent<HTMLSelectElement>) => {\n event.stopPropagation();\n }, []);\n\n return (\n <select\n className={ className }\n disabled={ disabled }\n multiple={ multiple }\n name={ name }\n value={ value }\n onChange={ onChange }\n onClick={ handleClick }\n ref={ ref }\n { ...restProps }\n >\n { options.map((option) =>\n (isGroup(option) ? (\n <Group { ...option } key={ option.label } />\n ) : (\n <Option option={ option } key={ option.key } />\n ))) }\n </select>\n );\n },\n);\n"],"names":["Option","option","jsx","Group","label","options","NativeSelect","forwardRef","className","disabled","multiple","value","name","onChange","restProps","ref","handleClick","useCallback","event","isGroup"],"mappings":";;;AAiBA,MAAMA,IAAS,CAAC,EAAE,QAAAC,EAAA,MACd,gBAAAC,EAAC,UAAA,EAAO,OAAQD,EAAO,KAAM,UAAWA,EAAO,UACzC,iBAAOA,EAAO,WAAY,WAAWA,EAAO,UAAUA,EAAO,KACnE,GAGEE,IAAQ,CAAC,EAAE,OAAAC,GAAO,SAAAC,EAAA,wBACnB,YAAA,EAAS,OAAAD,GACJ,YAAQ,IAAI,CAACH,MACX,gBAAAC,EAACF,GAAA,EAAO,QAAAC,KAAwBA,EAAO,GAAM,CAChD,GACL,GAGSK,IAAeC;AAAA,EACxB,CAAC;AAAA,IACG,WAAAC;AAAA,IAAW,UAAAC;AAAA,IAAU,UAAAC;AAAA,IAAU,OAAAC;AAAA,IAAO,MAAAC;AAAA,IAAM,SAAAP;AAAA,IAAS,UAAAQ;AAAA,IAAU,GAAGC;AAAA,EAAA,GACnEC,MAAQ;AACP,UAAMC,IAAcC,EAAY,CAACC,MAA+C;AAC5E,MAAAA,EAAM,gBAAA;AAAA,IACV,GAAG,CAAA,CAAE;AAEL,WACI,gBAAAhB;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAAM;AAAA,QACA,UAAAC;AAAA,QACA,UAAAC;AAAA,QACA,MAAAE;AAAA,QACA,OAAAD;AAAA,QACA,UAAAE;AAAA,QACA,SAAUG;AAAA,QACV,KAAAD;AAAA,QACE,GAAGD;AAAA,QAEH,UAAAT,EAAQ,IAAI,CAACJ,MACVkB,EAAQlB,CAAM,sBACVE,GAAA,EAAQ,GAAGF,GAAS,KAAMA,EAAO,OAAQ,IAE1C,gBAAAC,EAACF,KAAO,QAAAC,EAAA,GAAwBA,EAAO,GAAM,CAC/C;AAAA,MAAA;AAAA,IAAA;AAAA,EAGlB;AACJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../../../src/select/components/optgroup/component.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nimport { OptgroupProps } from '../../typings';\n\nimport styles from './index.module.css';\n\nexport const Optgroup = ({ children, label, size = 's' }: OptgroupProps) => (\n <React.Fragment>\n <div className={ cn(styles.optgroup, styles[size]) }>\n <span className={ styles.label }>{ label }</span>\n </div>\n { children }\n </React.Fragment>\n);\n"],"names":["Optgroup","children","label","size","jsxs","React","jsx","cn","styles"],"mappings":";;;;AAOO,MAAMA,IAAW,CAAC,EAAE,UAAAC,GAAU,OAAAC,GAAO,MAAAC,IAAO,IAAA,MAC/C,gBAAAC,EAACC,EAAM,UAAN,EACG,UAAA;AAAA,EAAA,gBAAAC,EAAC,OAAA,EAAI,WAAYC,EAAGC,EAAO,UAAUA,EAAOL,CAAI,CAAC,GAC7C,4BAAC,QAAA,EAAK,WAAYK,EAAO,OAAU,aAAO,GAC9C;AAAA,EACEP;AAAA,EAAA,CACN;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../../../src/select/components/option/component.tsx"],"sourcesContent":["import React, { FC, isValidElement } from 'react';\nimport cn from 'classnames';\n\nimport { Skeleton } from '../../../skeleton';\nimport { OptionProps } from '../../typings';\nimport { Checkmark as DefaultCheckMark } from '../checkmark';\n\nimport styles from './index.module.css';\n\nexport const Option: FC<OptionProps> = ({\n size = 's',\n className,\n option,\n children,\n selected,\n highlighted,\n disabled,\n Checkmark = DefaultCheckMark,\n innerProps,\n index,\n // dataTestId,\n}) => {\n const content = children || option.content || option.key;\n\n return (\n <div\n { ...innerProps }\n className={ cn(styles.option, styles[size], className, {\n [styles.highlighted]: highlighted,\n [styles.selected]: selected,\n [styles.disabled]: disabled,\n }) }\n data-test-id={ `option-${index}` }\n >\n { Checkmark && <Checkmark selected={ selected } /> }\n <div\n className={ cn(styles.content, {\n [styles.textContent]: !isValidElement(content),\n }) }\n >\n <Skeleton className={ styles.skeleton } visible={ option?.loading }>\n { content }\n </Skeleton>\n </div>\n </div>\n );\n};\n"],"names":["Option","size","className","option","children","selected","highlighted","disabled","Checkmark","DefaultCheckMark","innerProps","index","content","jsxs","cn","styles","jsx","isValidElement","Skeleton"],"mappings":";;;;;;AASO,MAAMA,IAA0B,CAAC;AAAA,EACpC,MAAAC,IAAO;AAAA,EACP,WAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,UAAAC;AAAA,EAAA,WACAC,IAAYC;AAAAA,EACZ,YAAAC;AAAA,EACA,OAAAC;AAAA;AAEJ,MAAM;AACF,QAAMC,IAAUR,KAAYD,EAAO,WAAWA,EAAO;AAErD,SACI,gBAAAU;AAAA,IAAC;AAAA,IAAA;AAAA,MACK,GAAGH;AAAA,MACL,WAAYI,EAAGC,EAAO,QAAQA,EAAOd,CAAI,GAAGC,GAAW;AAAA,QACnD,CAACa,EAAO,WAAW,GAAGT;AAAA,QACtB,CAACS,EAAO,QAAQ,GAAGV;AAAA,QACnB,CAACU,EAAO,QAAQ,GAAGR;AAAA,MAAA,CACtB;AAAA,MACD,gBAAe,UAAUI,CAAK;AAAA,MAE5B,UAAA;AAAA,QAAAH,KAAa,gBAAAQ,EAACR,KAAU,UAAAH,EAAA,CAAsB;AAAA,QAChD,gBAAAW;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,WAAYF,EAAGC,EAAO,SAAS;AAAA,cAC3B,CAACA,EAAO,WAAW,GAAG,CAACE,EAAeL,CAAO;AAAA,YAAA,CAChD;AAAA,YAED,UAAA,gBAAAI,EAACE,KAAS,WAAYH,EAAO,UAAW,SAAUZ,KAAA,gBAAAA,EAAQ,SACpD,UAAAS,EAAA,CACN;AAAA,UAAA;AAAA,QAAA;AAAA,MACJ;AAAA,IAAA;AAAA,EAAA;AAGZ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../../../src/select/components/options-list/component.tsx"],"sourcesContent":["import React, { forwardRef, useCallback, useRef } from 'react';\nimport mergeRefs from 'react-merge-refs';\nimport ClockCircleM from '@alphakits/icons/dist/ClockCircleM';\nimport cn from 'classnames';\n\nimport { Button } from '../../../button';\nimport { GroupShape, OptionsListProps } from '../../typings';\nimport { isGroup, useVisibleOptions } from '../../utils';\nimport { Optgroup as DefaultOptgroup } from '../optgroup';\n\nimport styles from './index.module.css';\n\nconst createCounter = () => {\n let count = 0;\n\n // eslint-disable-next-line no-plusplus\n return () => count++;\n};\n\nexport const OptionsList = forwardRef(\n (\n {\n size = 's',\n className,\n Option,\n options = [],\n actionButton,\n Optgroup = DefaultOptgroup,\n dataTestId,\n emptyPlaceholder,\n visibleOptions = 5,\n onScroll,\n toggleMenu,\n open,\n }: OptionsListProps,\n ref,\n ) => {\n const listRef = useRef<HTMLDivElement>(null);\n const counter = createCounter();\n const renderGroup = useCallback(\n (group: GroupShape) => (\n <Optgroup label={ group.label } key={ group.label } size={ size }>\n { group.options.map((option) => Option({ option, index: counter() })) }\n </Optgroup>\n ),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [Option, counter, size],\n );\n\n useVisibleOptions({\n visibleOptions,\n listRef,\n open,\n invalidate: options,\n });\n\n if (options.length === 0 && !emptyPlaceholder && !actionButton) {\n return null;\n }\n\n return (\n <div\n className={ cn(styles.optionsList, styles[size], className) }\n data-test-id={ dataTestId }\n ref={ mergeRefs([listRef, ref]) }\n onScroll={ onScroll }\n >\n\n { options.map((option) =>\n (isGroup(option) ? renderGroup(option) : Option({ option, index: counter() }))) }\n\n { emptyPlaceholder && options.length === 0 && (\n <div className={ styles.emptyPlaceholder }>\n <ClockCircleM />\n { emptyPlaceholder }\n </div>\n ) }\n\n { !!actionButton && (\n <div className={ styles.actionButtonWrapper }>\n <Button\n view=\"outlined\"\n size=\"xs\"\n onClick={ () => {\n actionButton?.onClick();\n toggleMenu();\n } }\n >\n\n { actionButton.label }\n </Button>\n </div>\n ) }\n </div>\n );\n },\n);\n"],"names":["createCounter","count","OptionsList","forwardRef","size","className","Option","options","actionButton","Optgroup","DefaultOptgroup","dataTestId","emptyPlaceholder","visibleOptions","onScroll","toggleMenu","open","ref","listRef","useRef","counter","renderGroup","useCallback","group","jsx","option","useVisibleOptions","jsxs","cn","styles","mergeRefs","isGroup","ClockCircleM","Button"],"mappings":";;;;;;;;;AAYA,MAAMA,IAAgB,MAAM;AACxB,MAAIC,IAAQ;AAGZ,SAAO,MAAMA;AACjB,GAEaC,IAAcC;AAAA,EACvB,CACI;AAAA,IACI,MAAAC,IAAO;AAAA,IACP,WAAAC;AAAA,IACA,QAAAC;AAAA,IACA,SAAAC,IAAU,CAAA;AAAA,IACV,cAAAC;AAAA,IAAA,UACAC,IAAWC;AAAAA,IACX,YAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,gBAAAC,IAAiB;AAAA,IACjB,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,MAAAC;AAAA,EAAA,GAEJC,MACC;AACD,UAAMC,IAAUC,EAAuB,IAAI,GACrCC,IAAUpB,EAAA,GACVqB,IAAcC;AAAA,MAChB,CAACC,MACG,gBAAAC,EAACf,GAAA,EAAS,OAAQc,EAAM,OAA4B,MAAAnB,GAC9C,UAAAmB,EAAM,QAAQ,IAAI,CAACE,MAAWnB,EAAO,EAAE,QAAAmB,GAAQ,OAAOL,EAAA,GAAW,CAAC,EAAA,GADlCG,EAAM,KAE5C;AAAA;AAAA,MAGJ,CAACjB,GAAQc,GAAShB,CAAI;AAAA,IAAA;AAU1B,WAPAsB,EAAkB;AAAA,MACd,gBAAAb;AAAA,MACA,SAAAK;AAAA,MACA,MAAAF;AAAA,MACA,YAAYT;AAAA,IAAA,CACf,GAEGA,EAAQ,WAAW,KAAK,CAACK,KAAoB,CAACJ,IACvC,OAIP,gBAAAmB;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAYC,EAAGC,EAAO,aAAaA,EAAOzB,CAAI,GAAGC,CAAS;AAAA,QAC1D,gBAAeM;AAAA,QACf,KAAMmB,EAAU,CAACZ,GAASD,CAAG,CAAC;AAAA,QAC9B,UAAAH;AAAA,QAGE,UAAA;AAAA,UAAAP,EAAQ,IAAI,CAACkB,MACVM,EAAQN,CAAM,IAAIJ,EAAYI,CAAM,IAAInB,EAAO,EAAE,QAAAmB,GAAQ,OAAOL,EAAA,EAAQ,CAAG,CAAE;AAAA,UAEhFR,KAAoBL,EAAQ,WAAW,uBACpC,OAAA,EAAI,WAAYsB,EAAO,kBACpB,UAAA;AAAA,YAAA,gBAAAL,EAACQ,GAAA,EAAa;AAAA,YACZpB;AAAA,UAAA,GACN;AAAA,UAGF,CAAC,CAACJ,uBACC,OAAA,EAAI,WAAYqB,EAAO,qBACpB,UAAA,gBAAAL;AAAA,YAACS;AAAA,YAAA;AAAA,cACG,MAAK;AAAA,cACL,MAAK;AAAA,cACL,SAAU,MAAM;AACZ,gBAAAzB,KAAA,QAAAA,EAAc,WACdO,EAAA;AAAA,cACJ;AAAA,cAGE,UAAAP,EAAa;AAAA,YAAA;AAAA,UAAA,EACnB,CACJ;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAIhB;AACJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/select/components/select-search/index.tsx"],"sourcesContent":["import React, {\n useCallback, useEffect, useMemo, useRef, useState,\n} from 'react';\nimport SearchS from '@alphakits/icons/dist/SearchS';\nimport { useClickOutside } from 'src/hooks';\nimport { safeStringify } from 'src/utils/safe-stringify';\n\nexport { safeStringify };\nimport { Input } from 'src/input';\nimport { SelectProps } from 'src/select/component';\nimport { OptionsListProps } from 'src/select/typings';\n\nimport { BaseSelect } from '../base-select';\nimport { OptionsList } from '../options-list';\n\nimport styles from './index.module.css';\n\nexport const CustomOptionsList = React.forwardRef<HTMLDivElement, OptionsListProps>(\n ({ inputProps, ...props }, outerRef) => {\n const inputRef = React.useRef<HTMLInputElement>(null);\n const innerListRef = React.useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n inputRef.current?.focus();\n }, []);\n\n return (\n <div ref={ outerRef }>\n <div style={ { padding: '5px 20px' } }>\n <Input\n size=\"s\"\n leftAddons={ <SearchS /> }\n { ...inputProps }\n fieldClassName={ styles.innerInput }\n block={ true }\n ref={ inputRef }\n />\n </div>\n { /* отдельный ref для внутреннего списка — не делим один ref на два DOM-узла */ }\n <OptionsList { ...props } ref={ innerListRef } />\n </div>\n );\n },\n);\n\ntype SelectSearchProps = Omit<SelectProps, 'options'> & {\n options: any;\n searchType?: 'text' | 'number';\n};\n\nexport const SelectSearch = ({\n options,\n searchType = 'text',\n onChange,\n selected = '',\n ...restProps\n}: SelectSearchProps) => {\n const [filteredOptions, setFilteredOptions] = useState(options);\n const [searchText, setSearchText] = useState('');\n const listRef = useRef<HTMLDivElement>(null);\n\n const searchOptions = useCallback(\n (_e: any, { value }: { value: string }) => {\n setSearchText(value);\n\n try {\n if (!value) return setFilteredOptions(options);\n\n const text = String(value).toLowerCase();\n const data = options.reduce(\n (acc: any[], o: any) => acc.concat(o.options ? o.options : [o]),\n [],\n );\n\n const res = data.filter(({ key, value: val, content }: any) =>\n safeStringify({ key, value: val, content }).toLowerCase().includes(text));\n\n return setFilteredOptions(res);\n } catch (error) {\n return [];\n }\n },\n [options],\n );\n\n const handleClear = useCallback(() => {\n setSearchText('');\n setFilteredOptions(options);\n }, [options]);\n\n const handleSelect = useCallback(\n (payload: any) => {\n onChange?.(payload);\n handleClear();\n },\n [onChange, handleClear],\n );\n\n useClickOutside(listRef, handleClear);\n\n const memoOptionsListProps = useMemo(\n () => ({\n ref: listRef,\n inputProps: {\n onChange: searchOptions,\n value: searchText,\n type: searchType,\n clear: true,\n onClear: handleClear,\n },\n }),\n [searchOptions, searchText, searchType, handleClear],\n );\n\n return (\n <BaseSelect\n { ...restProps }\n selected={ selected }\n onChange={ handleSelect }\n showEmptyOptionsList={ true }\n OptionsList={ CustomOptionsList }\n filteredOptions={ filteredOptions }\n options={ options }\n optionsListProps={ memoOptionsListProps as any }\n />\n );\n};\n"],"names":["CustomOptionsList","React","inputProps","props","outerRef","inputRef","innerListRef","useEffect","_a","jsxs","jsx","Input","SearchS","styles","OptionsList","SelectSearch","options","searchType","onChange","selected","restProps","filteredOptions","setFilteredOptions","useState","searchText","setSearchText","listRef","useRef","searchOptions","useCallback","_e","value","text","res","acc","o","key","val","content","safeStringify","error","handleClear","handleSelect","payload","useClickOutside","memoOptionsListProps","useMemo","BaseSelect"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../../../src/select/components/virtual-options-list/component.tsx"],"sourcesContent":["/* eslint-disable react-hooks/exhaustive-deps */\n\nimport React, {\n useEffect, useMemo, useRef, useState,\n} from 'react';\nimport { useVirtual } from 'react-virtual';\nimport cn from 'classnames';\n\nimport { usePrevious } from '../../../hooks';\nimport { GroupShape, OptionShape, OptionsListProps } from '../../typings';\nimport { isGroup, lastIndexOf, useVisibleOptions } from '../../utils';\nimport { Optgroup as DefaultOptgroup } from '../optgroup';\n\nimport styles from './index.module.css';\n\nexport type VirtualOptionsList = OptionsListProps & {\n /**\n * Число отрисованных пунктов до\\после видимого окна\n */\n overscan?: number;\n};\n\nexport const VirtualOptionsList = ({\n size = 's',\n flatOptions = [],\n highlightedIndex = -1,\n className,\n Option,\n open,\n options = [],\n overscan = 10,\n Optgroup = DefaultOptgroup,\n dataTestId,\n emptyPlaceholder,\n visibleOptions = 5,\n}: VirtualOptionsList) => {\n const listRef = useRef<HTMLDivElement>(null);\n const parentRef = useRef<HTMLDivElement>(null);\n const [visibleOptionsInvalidateKey, setVisibleOptionsInvalidateKey] = useState(0);\n const prevHighlightedIndex = usePrevious(highlightedIndex) || -1;\n\n const rowVirtualizer = useVirtual({\n size: flatOptions.length,\n parentRef,\n overscan,\n });\n\n // Сколл к выбранному пункту при открытии меню\n useEffect(() => {\n if (open) {\n rowVirtualizer.scrollToIndex(highlightedIndex, { align: 'end' });\n }\n }, [open]);\n\n // Скролл к пункту, которого нет на экране\n useEffect(() => {\n if (highlightedIndex === -1) return;\n\n if (!rowVirtualizer.virtualItems.some((option) => option.index === highlightedIndex)) {\n rowVirtualizer.scrollToIndex(highlightedIndex, { align: 'end' });\n }\n }, [highlightedIndex]);\n\n // Циклическая навигация\n useEffect(() => {\n const notDisabled = (option: OptionShape) => !option.disabled;\n const firstNonDisabled = flatOptions.findIndex(notDisabled);\n const lastNonDisabled = lastIndexOf(flatOptions, notDisabled);\n\n if (\n prevHighlightedIndex <= firstNonDisabled &&\n highlightedIndex === flatOptions.length - 1\n ) {\n rowVirtualizer.scrollToIndex(lastNonDisabled);\n }\n\n if (prevHighlightedIndex >= lastNonDisabled && highlightedIndex === 0) {\n rowVirtualizer.scrollToIndex(0);\n }\n }, [prevHighlightedIndex, highlightedIndex]);\n\n useEffect(() => {\n setVisibleOptionsInvalidateKey(\n /**\n * react-virtual может несколько раз отрендерить список с одним элементом,\n * поэтому нужно еще раз пересчитать высоту, когда список ВИДИМЫХ пунктов будет отрендерен полностью\n * Также, высоту нужно пересчитывать при изменении ОБЩЕГО кол-ва пунктов меню\n */\n rowVirtualizer.virtualItems.length > 1 ? flatOptions.length : 1,\n );\n }, [rowVirtualizer.virtualItems.length, flatOptions.length]);\n\n useVisibleOptions({\n visibleOptions,\n invalidate: visibleOptionsInvalidateKey,\n listRef,\n styleTargetRef: parentRef,\n open,\n });\n\n // Т.к. рендерится плоский список, необходимо знать индекс, когда начинается новая группа\n const groupStartIndexes = useMemo(() => {\n let currentIndex = 0;\n\n return options.reduce((acc: { [key: number]: number }, option, index) => {\n if (isGroup(option)) {\n acc[currentIndex] = index;\n currentIndex += option.options.length;\n } else {\n currentIndex += 1;\n }\n\n return acc;\n }, {});\n }, [options]);\n\n return (\n <div\n className={ cn(styles.virtualOptionsList, styles[size], className) }\n ref={ parentRef }\n data-test-id={ dataTestId }\n >\n <div\n className={ styles.inner }\n style={ {\n height: `${rowVirtualizer.totalSize}px`,\n } }\n ref={ listRef }\n >\n { rowVirtualizer.virtualItems.map((virtualRow) => {\n const option = flatOptions[virtualRow.index];\n const group = options[groupStartIndexes[virtualRow.index]] as GroupShape;\n\n return (\n <div\n key={ virtualRow.index }\n ref={ virtualRow.measureRef }\n className={ cn(styles.virtualRow, {\n [styles.highlighted]: highlightedIndex === virtualRow.index,\n }) }\n style={ {\n transform: `translateY(${virtualRow.start}px)`,\n } }\n >\n { group && <Optgroup label={ group.label } /> }\n { !isGroup(option) && Option({ option, index: virtualRow.index }) }\n </div>\n );\n }) }\n </div>\n\n { emptyPlaceholder && options.length === 0 && (\n <div className={ styles.emptyPlaceholder }>{ emptyPlaceholder }</div>\n ) }\n </div>\n );\n};\n"],"names":["VirtualOptionsList","size","flatOptions","highlightedIndex","className","Option","open","options","overscan","Optgroup","DefaultOptgroup","dataTestId","emptyPlaceholder","visibleOptions","listRef","useRef","parentRef","visibleOptionsInvalidateKey","setVisibleOptionsInvalidateKey","useState","prevHighlightedIndex","usePrevious","rowVirtualizer","useVirtual","useEffect","option","notDisabled","firstNonDisabled","lastNonDisabled","lastIndexOf","useVisibleOptions","groupStartIndexes","useMemo","currentIndex","acc","index","isGroup","jsxs","cn","styles","jsx","virtualRow","group"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/select/presets/use-lazy-loading/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport React, {\n Reducer, useCallback, useEffect, useMemo, useReducer, useRef,\n} from 'react';\n\nimport { InputProps } from '../../../input';\nimport { Option } from '../../components/option';\nimport { OptionProps, OptionShape } from '../../typings';\nimport { convertToOptions } from '../../utils';\n\nimport 'intersection-observer';\n\nconst DEBOUNCE_TIMEOUT = 300;\n\ntype OptionsFetcherResponse = {\n items: Array<{[x: string]: any; id: number | string }>;\n meta: {\n totalItems?: number;\n itemCount?: number;\n itemsPerPage?: number;\n totalPages: number;\n currentPage: number;\n };\n};\n\ntype UseLazyLoadingProps = {\n /** Количество элементов на \"странице\" */\n limit?: number;\n\n /** Начальный номер \"страницы\" */\n initialPage?: number;\n\n /**\n * Функция-загрузчик опций.\n * @param page - текущая страница\n * @param limit - количество элементов на странице\n * @param searchText - строчные данные, пробрасываемые для поиска из кастомного инпута, расположенного в заголовке OptionsList\n * @returns Promise<{\n * options - список опций следующей \"страницы\". Они аппендятся к предыдущим\n * hasMore - указывает, есть ли еще незагруженные элементы (в случае false перестает загружать \"следующую страницу\")\n * }>\n */\n optionsFetcher(\n {\n page, limit, searchText,\n }: {\n page: number;\n limit: number;\n searchText?: string;\n }\n ): Promise<OptionsFetcherResponse>;\n};\n\nconst actions = {\n fetchOptionsStart() {\n return { type: 'FETCH_OPTIONS_START' } as const;\n },\n fetchOptionsBreak() {\n return { type: 'FETCH_OPTIONS_BREAK' } as const;\n },\n fetchOptionsSuccess(payload: { options: OptionShape[]; hasMore: boolean }) {\n return { type: 'FETCH_OPTIONS_SUCCESS', payload } as const;\n },\n setIsOpened(opened: boolean) {\n return { type: 'SET_IS_OPENED', payload: opened } as const;\n },\n setQueryString(qs: string) {\n return { type: 'SET_QUERY_STRING', payload: qs } as const;\n },\n reset() {\n return { type: 'RESET' } as const;\n },\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Actions = typeof actions extends { [key: string]: (...args: any) => infer U } ? U : never;\n\nexport function useLazyLoading({\n limit = 10,\n initialPage = 0,\n optionsFetcher,\n}: UseLazyLoadingProps) {\n const initialOptions: OptionShape[] = [];\n const initialLoading = false;\n\n const lazyLoadingInitialState = {\n opened: false,\n page: initialPage,\n options: initialOptions,\n loading: initialLoading,\n allOptionsLoaded: false,\n searchText: '',\n };\n\n const lazyLoadingReducer: Reducer<typeof lazyLoadingInitialState, Actions> = (\n state,\n action,\n ) => {\n switch (action.type) {\n case 'FETCH_OPTIONS_START': {\n return {\n ...state,\n loading: true,\n };\n }\n case 'FETCH_OPTIONS_BREAK': {\n return {\n ...state,\n loading: false,\n };\n }\n case 'FETCH_OPTIONS_SUCCESS': {\n return {\n ...state,\n options: [...state.options, ...action.payload.options],\n page: state.page + (action.payload.options.length ? 1 : 0),\n allOptionsLoaded: !action.payload.hasMore,\n loading: false,\n };\n }\n case 'SET_IS_OPENED': {\n return {\n ...state,\n opened: action.payload,\n };\n }\n case 'SET_QUERY_STRING': {\n return {\n // Изменение searchText подразумевает сброс текущих опций.\n ...lazyLoadingInitialState,\n opened: state.opened,\n loading: true,\n searchText: action.payload,\n };\n }\n case 'RESET': {\n return {\n ...lazyLoadingInitialState,\n };\n }\n default: {\n return state;\n }\n }\n };\n\n const [\n {\n opened, page, options, loading, allOptionsLoaded, searchText,\n },\n dispatch,\n ] = useReducer(lazyLoadingReducer, lazyLoadingInitialState);\n\n const abortFetchingOptionsRef = useRef<(() => void) | undefined>(undefined);\n\n const fetchNextOffsetOptions = useCallback(() => {\n dispatch(actions.fetchOptionsStart());\n\n new Promise<OptionsFetcherResponse>((resolve, reject) => {\n // eslint-disable-next-line no-unused-expressions\n abortFetchingOptionsRef.current?.();\n abortFetchingOptionsRef.current = reject;\n optionsFetcher({ page, limit, searchText }).then((res) => {\n resolve(res);\n });\n }).then((res) => {\n const serializedData = convertToOptions(res.items);\n const { meta: { totalPages, currentPage } } = res;\n\n dispatch(actions.fetchOptionsSuccess({ options: serializedData, hasMore: currentPage < totalPages }));\n abortFetchingOptionsRef.current = undefined;\n }).catch(\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n (err) => {\n console.log(err);\n },\n );\n }, [page, limit, searchText, optionsFetcher]);\n\n const listRef = useRef<HTMLDivElement>(null);\n\n // fetchNextOffsetOptions();\n\n useEffect(() => {\n let observer: IntersectionObserver;\n\n if (opened && !loading && !allOptionsLoaded) {\n observer = new IntersectionObserver(\n ([entry]) => {\n if (entry.isIntersecting) {\n if (observer) {\n observer.disconnect();\n }\n fetchNextOffsetOptions();\n }\n },\n {\n root: listRef.current,\n },\n );\n\n /*\n * Обсервим пересечение последней опции с контейнером.\n * Таким образом, загрузка следующей \"страницы\" начнется когда юзер доскроллит список\n * до верхнего края последней опции, что обеспечивает плавность\n */\n const listOptions = listRef.current?.querySelectorAll('[role=\"option\"]');\n const lastOption = listOptions?.[listOptions.length - 1];\n\n if (lastOption) {\n observer.observe(lastOption);\n }\n }\n\n return () => {\n if (observer) {\n observer.disconnect();\n }\n };\n }, [page, opened, allOptionsLoaded, initialPage, loading, fetchNextOffsetOptions]);\n\n const onOpen = useCallback(\n (payload: { open?: boolean }) => {\n if (payload.open) {\n if (options.length === initialOptions.length) {\n fetchNextOffsetOptions();\n }\n } else {\n // eslint-disable-next-line no-unused-expressions\n abortFetchingOptionsRef.current?.();\n dispatch(actions.fetchOptionsBreak());\n }\n\n dispatch(actions.setIsOpened(payload.open ?? false));\n },\n\n [initialOptions.length, options.length, fetchNextOffsetOptions],\n );\n\n const fetchNextOptionsRef = useRef<(() => void) | undefined>(undefined);\n const fetchNextOptionsTimerRef = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n\n useEffect(() => {\n fetchNextOptionsRef.current = fetchNextOffsetOptions;\n }, [fetchNextOffsetOptions]);\n\n const onQueryStringChange = useCallback<Exclude<InputProps['onChange'], undefined>>(\n (_, payload) => {\n dispatch(actions.setQueryString(payload.value));\n /* eslint-disable no-unused-expressions */\n\n /*\n * Если во время загрузки опций юзер ввел новый текст в инпут,\n * нужно прервать текущую загрузку, чтобы неактуальные опции не попали в выдачу\n */\n abortFetchingOptionsRef.current?.();\n\n listRef.current?.scrollTo({ top: 0 });\n\n /* Дебаунсим ввод текста, чтобы не отправлять запрос к новым опциям на каждый чих */\n if (fetchNextOptionsTimerRef.current) {\n clearTimeout(fetchNextOptionsTimerRef.current);\n }\n fetchNextOptionsTimerRef.current = setTimeout(() => {\n /*\n * После дебаунса необходимо вызвать функцию-загрузчик,\n * содержащую актуальные на данный момент данные оффсета и searchText.\n * Поэтому мы не можем обратиться напрямую к функции fetchNextOptions,\n * так как она будет замкнута на старые значения, актуальные на момент вызова хэндлера,\n * так что берем ее из обновляемого рефа\n */\n fetchNextOptionsRef.current?.();\n }, DEBOUNCE_TIMEOUT);\n /* eslint-enable */\n },\n [],\n );\n\n const skeletonOptions: OptionShape[] = useMemo(() => Array(loading ? limit : 0)\n .fill(0)\n .map((_, key) => ({\n key,\n disabled: true,\n content: '',\n loading: true,\n })), [loading, limit]);\n\n const reset = useCallback(() => {\n dispatch(actions.reset());\n }, []);\n\n const renderOption = useCallback(\n (props: OptionProps) => <Option { ...props } highlighted={ loading ? false : props.highlighted } />,\n [loading],\n );\n\n return {\n optionsProps: {\n Option: renderOption,\n options: [...options, ...skeletonOptions],\n optionsListProps: {\n ref: listRef,\n inputProps: {\n onChange: onQueryStringChange,\n value: searchText,\n },\n },\n onOpen,\n },\n reset,\n };\n}\n"],"names":["DEBOUNCE_TIMEOUT","actions","payload","opened","qs","useLazyLoading","limit","initialPage","optionsFetcher","initialOptions","lazyLoadingInitialState","lazyLoadingReducer","state","action","page","options","loading","allOptionsLoaded","searchText","dispatch","useReducer","abortFetchingOptionsRef","useRef","fetchNextOffsetOptions","useCallback","resolve","reject","_a","res","serializedData","convertToOptions","totalPages","currentPage","err","listRef","useEffect","observer","entry","listOptions","lastOption","onOpen","_b","fetchNextOptionsRef","fetchNextOptionsTimerRef","onQueryStringChange","_","skeletonOptions","useMemo","key","reset","props","jsx","Option"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"hook.js","sources":["../../../../src/select/presets/use-select-with-loading/hook.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\n\nimport { Skeleton } from '../../../skeleton';\nimport { Option } from '../../components/option';\nimport { BaseSelectProps, OptionProps, OptionShape } from '../../typings';\n\nimport styles from './index.module.css';\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\ntype useSelectWithLoadingProps = {\n loading?: boolean;\n visibleOptions?: BaseSelectProps['visibleOptions'];\n};\n\nexport function useSelectWithLoading({\n loading = false,\n visibleOptions = 6,\n}: useSelectWithLoadingProps) {\n const renderOption = useCallback(\n (props: OptionProps) => (\n <Option { ...props } Checkmark={ undefined } highlighted={ loading ? false : props.highlighted } />\n ),\n [loading],\n );\n\n const options: OptionShape[] = Array(visibleOptions)\n .fill(0)\n .map((_, key) => ({\n key,\n disabled: true,\n content: <Skeleton className={ styles.skeleton } visible={ true } />,\n }));\n\n if (!loading) return null;\n\n return {\n Option: renderOption,\n options,\n };\n}\n"],"names":["useSelectWithLoading","loading","visibleOptions","renderOption","useCallback","props","jsx","Option","options","_","key","Skeleton","styles"],"mappings":";;;;;AAcO,SAASA,EAAqB;AAAA,EACjC,SAAAC,IAAU;AAAA,EACV,gBAAAC,IAAiB;AACrB,GAA8B;AAC1B,QAAMC,IAAeC;AAAA,IACjB,CAACC,MACG,gBAAAC,EAACC,GAAA,EAAS,GAAGF,GAAQ,WAAY,QAAY,aAAcJ,IAAU,KAAQI,EAAM,YAAA,CAAc;AAAA,IAErG,CAACJ,CAAO;AAAA,EAAA,GAGNO,IAAyB,MAAMN,CAAc,EAC9C,KAAK,CAAC,EACN,IAAI,CAACO,GAAGC,OAAS;AAAA,IACd,KAAAA;AAAA,IACA,UAAU;AAAA,IACV,SAAS,gBAAAJ,EAACK,GAAA,EAAS,WAAYC,EAAO,UAAW,SAAU,GAAA,CAAO;AAAA,EAAA,EACpE;AAEN,SAAKX,IAEE;AAAA,IACH,QAAQE;AAAA,IACR,SAAAK;AAAA,EAAA,IAJiB;AAMzB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sources":["../../src/select/utils.ts"],"sourcesContent":["import {\n cloneElement, isValidElement, ReactNode, RefObject, useEffect,\n} from 'react';\n\nimport { BaseSelectProps, GroupShape, OptionShape } from './typings';\n\nexport const isGroup = (item: OptionShape | GroupShape): item is GroupShape =>\n Object.prototype.hasOwnProperty.call(item, 'options');\n\nexport const isOptionShape = (item: OptionShape | string | number | null): item is OptionShape =>\n !!item && Object.prototype.hasOwnProperty.call(item, 'key');\n\nexport const joinOptions = ({\n selected,\n selectedMultiple,\n}: {\n selected?: OptionShape;\n selectedMultiple?: OptionShape[];\n}) => {\n const options = selectedMultiple || (selected ? [selected] : []);\n\n if (!options.length) return null;\n\n return options.reduce((acc: Array<ReactNode | string>, option: OptionShape, index: number) => {\n if (isValidElement(option.content)) {\n acc.push(cloneElement(option.content, { key: option.key }));\n } else {\n acc.push(option.content);\n }\n\n if (index < options.length - 1) acc.push(', ');\n\n return acc;\n }, []);\n};\n\n// За один проход делает список пунктов меню плоским и находит выбранные пункты по ключу\nexport function processOptions(\n options: BaseSelectProps['options'],\n selected: BaseSelectProps['selected'] = [],\n) {\n const flatOptions: OptionShape[] = [];\n\n const selectedArray = Array.isArray(selected) ? selected : [selected];\n const selectedOptions = selectedArray.filter(isOptionShape);\n const selectedKeys = new Set(\n selectedArray.filter(\n (option): option is string | number =>\n typeof option === 'string' || typeof option === 'number',\n ),\n );\n\n const isSelected = (option: OptionShape) => selectedKeys.has(option.key);\n\n const process = (option: OptionShape) => {\n flatOptions.push(option);\n\n if (isSelected(option)) {\n selectedOptions.push(option);\n }\n };\n\n options.forEach((option) => {\n if (isGroup(option)) {\n option.options.forEach(process);\n } else {\n process(option);\n }\n });\n\n return { flatOptions, selectedOptions };\n}\n\n// eslint-disable-next-line @typescript-eslint/naming-convention\ntype useVisibleOptionsArgs = {\n /**\n * Количество видимых пунктов\n */\n visibleOptions: number;\n\n /**\n * Реф на контейнер с пунтами меню\n */\n listRef: RefObject<HTMLElement | null>;\n\n /**\n * Реф на контейнер, которому нужно установить высоту\n */\n styleTargetRef?: RefObject<HTMLElement | null>;\n\n /**\n * Флаг открытия меню\n */\n open?: boolean;\n\n /**\n * Позволяет вызвать пересчет высоты\n */\n invalidate?: unknown;\n};\n\nexport function useVisibleOptions({\n visibleOptions,\n listRef,\n styleTargetRef = listRef,\n open,\n invalidate,\n}: useVisibleOptionsArgs) {\n useEffect(() => {\n const list = listRef.current;\n const styleTarget = styleTargetRef.current;\n\n if (open && list && styleTarget) {\n const optionsNodes = ([] as HTMLElement[]).slice.call(\n list.children,\n 0,\n visibleOptions + 1,\n );\n\n let height = optionsNodes\n .slice(0, visibleOptions)\n .reduce((acc, child) => acc + child.clientHeight, 0);\n\n if (visibleOptions < list.children.length) {\n // Добавляем половинку\n height += Math.round(optionsNodes[optionsNodes.length - 1].clientHeight / 2);\n }\n\n styleTarget.style.height = `${height}px`;\n }\n }, [listRef, open, styleTargetRef, visibleOptions, invalidate]);\n}\n\n// TODO: перенести\n// export function usePrevious<T>(value: T) {\n// const ref = useRef<T>();\n\n// useEffect(() => {\n// ref.current = value;\n// }, [value]);\n\n// return ref.current;\n// }\n\n// TODO: перенести\nexport const lastIndexOf = <T>(array: T[], predicate: (item: T) => boolean) => {\n for (let i = array.length - 1; i >= 0; i--) {\n if (predicate(array[i])) return i;\n }\n\n return -1;\n};\n\nexport type OptionsType<T> = Array<{\n key: T;\n content: any;\n}>;\n\ntype ConvertToOptions = <T extends {id: string | number; [field: string]: any}>(data: T[], field?: string) => Array<{key: T['id']; content: any}>;\n\nexport const convertToOptions: ConvertToOptions = (data, field) => data.map((item) => ({\n key: item.id,\n content: (field && item[field]) || item.title || item.name,\n}));\n"],"names":["isGroup","item","isOptionShape","joinOptions","selected","selectedMultiple","options","acc","option","index","isValidElement","cloneElement","processOptions","flatOptions","selectedArray","selectedOptions","selectedKeys","isSelected","process","useVisibleOptions","visibleOptions","listRef","styleTargetRef","open","invalidate","useEffect","list","styleTarget","optionsNodes","height","child","lastIndexOf","array","predicate","i","convertToOptions","data","field"],"mappings":";AAMO,MAAMA,IAAU,CAACC,MACpB,OAAO,UAAU,eAAe,KAAKA,GAAM,SAAS,GAE3CC,IAAgB,CAACD,MAC1B,CAAC,CAACA,KAAQ,OAAO,UAAU,eAAe,KAAKA,GAAM,KAAK,GAEjDE,IAAc,CAAC;AAAA,EACxB,UAAAC;AAAA,EACA,kBAAAC;AACJ,MAGM;AACF,QAAMC,IAAUD,MAAqBD,IAAW,CAACA,CAAQ,IAAI,CAAA;AAE7D,SAAKE,EAAQ,SAENA,EAAQ,OAAO,CAACC,GAAgCC,GAAqBC,OACpEC,EAAeF,EAAO,OAAO,IAC7BD,EAAI,KAAKI,EAAaH,EAAO,SAAS,EAAE,KAAKA,EAAO,IAAA,CAAK,CAAC,IAE1DD,EAAI,KAAKC,EAAO,OAAO,GAGvBC,IAAQH,EAAQ,SAAS,KAAGC,EAAI,KAAK,IAAI,GAEtCA,IACR,CAAA,CAAE,IAZuB;AAahC;AAGO,SAASK,EACZN,GACAF,IAAwC,IAC1C;AACE,QAAMS,IAA6B,CAAA,GAE7BC,IAAgB,MAAM,QAAQV,CAAQ,IAAIA,IAAW,CAACA,CAAQ,GAC9DW,IAAkBD,EAAc,OAAOZ,CAAa,GACpDc,IAAe,IAAI;AAAA,IACrBF,EAAc;AAAA,MACV,CAACN,MACG,OAAOA,KAAW,YAAY,OAAOA,KAAW;AAAA,IAAA;AAAA,EACxD,GAGES,IAAa,CAACT,MAAwBQ,EAAa,IAAIR,EAAO,GAAG,GAEjEU,IAAU,CAACV,MAAwB;AACrC,IAAAK,EAAY,KAAKL,CAAM,GAEnBS,EAAWT,CAAM,KACjBO,EAAgB,KAAKP,CAAM;AAAA,EAEnC;AAEA,SAAAF,EAAQ,QAAQ,CAACE,MAAW;AACxB,IAAIR,EAAQQ,CAAM,IACdA,EAAO,QAAQ,QAAQU,CAAO,IAE9BA,EAAQV,CAAM;AAAA,EAEtB,CAAC,GAEM,EAAE,aAAAK,GAAa,iBAAAE,EAAA;AAC1B;AA8BO,SAASI,EAAkB;AAAA,EAC9B,gBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,gBAAAC,IAAiBD;AAAA,EACjB,MAAAE;AAAA,EACA,YAAAC;AACJ,GAA0B;AACtB,EAAAC,EAAU,MAAM;AACZ,UAAMC,IAAOL,EAAQ,SACfM,IAAcL,EAAe;AAEnC,QAAIC,KAAQG,KAAQC,GAAa;AAC7B,YAAMC,IAAgB,GAAqB,MAAM;AAAA,QAC7CF,EAAK;AAAA,QACL;AAAA,QACAN,IAAiB;AAAA,MAAA;AAGrB,UAAIS,IAASD,EACR,MAAM,GAAGR,CAAc,EACvB,OAAO,CAACb,GAAKuB,MAAUvB,IAAMuB,EAAM,cAAc,CAAC;AAEvD,MAAIV,IAAiBM,EAAK,SAAS,WAE/BG,KAAU,KAAK,MAAMD,EAAaA,EAAa,SAAS,CAAC,EAAE,eAAe,CAAC,IAG/ED,EAAY,MAAM,SAAS,GAAGE,CAAM;AAAA,IACxC;AAAA,EACJ,GAAG,CAACR,GAASE,GAAMD,GAAgBF,GAAgBI,CAAU,CAAC;AAClE;AAcO,MAAMO,IAAc,CAAIC,GAAYC,MAAoC;AAC3E,WAASC,IAAIF,EAAM,SAAS,GAAGE,KAAK,GAAGA;AACnC,QAAID,EAAUD,EAAME,CAAC,CAAC,EAAG,QAAOA;AAGpC,SAAO;AACX,GASaC,IAAqC,CAACC,GAAMC,MAAUD,EAAK,IAAI,CAACnC,OAAU;AAAA,EACnF,KAAKA,EAAK;AAAA,EACV,SAAUoC,KAASpC,EAAKoC,CAAK,KAAMpC,EAAK,SAASA,EAAK;AAC1D,EAAE;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../src/sidepanel/component.tsx"],"sourcesContent":["/* eslint-disable react/no-array-index-key */\nimport React from 'react';\nimport classNames from 'classnames';\n\nimport { FlexColumns } from '../flex-columns';\nimport { TFunction } from '../modal';\nimport { SidepanelHeader } from '../sidepanel-header';\nimport { Skeleton } from '../skeleton';\n\nimport styles from './index.module.css';\n\ntype Back = {\n back?: () => void;\n t: TFunction;\n} | {\n back?: never;\n t?: never;\n};\n\nexport type SidepanelProps = {\n title?: string;\n loading?: boolean;\n subtitle?: string;\n headerRightAddons?: React.ReactNode;\n headerBottomAddons?: React.ReactNode;\n bottomAddons?: React.ReactNode;\n dataTestId?: string;\n noCloser?: boolean;\n showCloser?: boolean;\n noStickyFooter?: boolean;\n noStickyHeader?: boolean;\n children?: React.ReactNode;\n} & Back;\n\nexport const Sidepanel: React.FC<SidepanelProps> = ({\n dataTestId,\n title,\n loading,\n headerRightAddons,\n subtitle,\n noCloser,\n showCloser,\n headerBottomAddons,\n noStickyFooter,\n noStickyHeader,\n bottomAddons,\n children,\n ...props\n}) => (\n <React.Fragment>\n { loading ? (\n <FlexColumns className={ styles.loader } columns={ 1 } gr={ 20 }>\n { new Array(7).fill('').map((_, i) => (\n <Skeleton key={ i } animate={ true } visible={ true } className={ styles.input } />\n )) }\n </FlexColumns>\n ) : (\n <div>\n <SidepanelHeader\n title={ title }\n className={ noStickyHeader ? undefined : styles.header }\n subtitle={ subtitle }\n noCloser={ noCloser }\n showCloser={ showCloser }\n dataTestId={ dataTestId }\n rightAddons={ headerRightAddons }\n bottomAddons={ headerBottomAddons }\n { ...props }\n />\n\n <div className={ styles.content }>\n { children }\n </div>\n\n { bottomAddons && (\n <div className={ classNames(styles.footer, { [styles.noSticky]: noStickyFooter }) }>\n { bottomAddons }\n </div>\n ) }\n </div>\n ) }\n </React.Fragment>\n);\n"],"names":["Sidepanel","dataTestId","title","loading","headerRightAddons","subtitle","noCloser","showCloser","headerBottomAddons","noStickyFooter","noStickyHeader","bottomAddons","children","props","React","FlexColumns","styles","_","i","jsx","Skeleton","SidepanelHeader","classNames"],"mappings":";;;;;;;AAkCO,MAAMA,IAAsC,CAAC;AAAA,EAChD,YAAAC;AAAA,EACA,OAAAC;AAAA,EACA,SAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGC;AACP,wBACKC,EAAM,UAAN,EACK,UAAAX,sBACGY,GAAA,EAAY,WAAYC,EAAO,QAAS,SAAU,GAAI,IAAK,IACtD,UAAA,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,CAACC,GAAGC,MAC5B,gBAAAC,EAACC,GAAA,EAAmB,SAAU,IAAO,SAAU,IAAO,WAAYJ,EAAO,MAAA,GAAzDE,CAAiE,CACpF,EAAA,CACL,sBAEC,OAAA,EACG,UAAA;AAAA,EAAA,gBAAAC;AAAA,IAACE;AAAA,IAAA;AAAA,MACG,OAAAnB;AAAA,MACA,WAAYQ,IAAiB,SAAYM,EAAO;AAAA,MAChD,UAAAX;AAAA,MACA,UAAAC;AAAA,MACA,YAAAC;AAAA,MACA,YAAAN;AAAA,MACA,aAAcG;AAAA,MACd,cAAeI;AAAA,MACb,GAAGK;AAAA,IAAA;AAAA,EAAA;AAAA,EAGT,gBAAAM,EAAC,OAAA,EAAI,WAAYH,EAAO,SAClB,UAAAJ,GACN;AAAA,EAEED,KACE,gBAAAQ,EAAC,OAAA,EAAI,WAAYG,EAAWN,EAAO,QAAQ,EAAE,CAACA,EAAO,QAAQ,GAAGP,EAAA,CAAgB,GAC1E,UAAAE,EAAA,CACN;AAAA,EAAA,CAER,EAAA,CAER;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../src/sidepanel-header/component.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nimport { BackButton } from '../back-button';\nimport { FlexColumns } from '../flex-columns';\nimport { TFunction } from '../modal';\nimport { Typography } from '../typography';\n\nimport styles from './index.module.css';\n\ntype Back = {\n back?: () => void;\n t: TFunction;\n} | {\n back?: never;\n t?: never;\n};\n\nexport type SidepanelHeaderProps = {\n /**\n * Кастомный класс\n */\n className?: string;\n\n /**\n * title\n */\n title?: string;\n\n /**\n * rightAddons - слот слева\n */\n rightAddons?: React.ReactNode;\n\n /**\n * bottomAddons - слот внизу\n */\n bottomAddons?: React.ReactNode;\n\n /**\n * Id компонента для тестов\n */\n noCloser?: boolean;\n showCloser?: boolean;\n dataTestId?: string;\n\n subtitle?: string;\n} & Back;\n\nconst Title = ({ title, subtitle }: {title: string; subtitle?: string}) => (\n <FlexColumns columns={ 1 } gr={ 4 } className={ styles.title }>\n\n <Typography.Title color=\"primary\" tag=\"div\" view=\"small\" weight=\"bold\">\n { title }\n </Typography.Title>\n\n { subtitle && (\n <Typography.Text view=\"title\" weight=\"regular\" color=\"secondary\">\n { subtitle }\n </Typography.Text>\n ) }\n\n </FlexColumns>\n);\n\nexport const SidepanelHeader: React.FC<SidepanelHeaderProps> = ({\n className,\n dataTestId,\n title,\n rightAddons,\n back,\n subtitle,\n t,\n bottomAddons,\n noCloser,\n showCloser,\n}) => (\n <div\n data-test-id={ dataTestId }\n className={ cn(styles.wrapper, className) }\n >\n { (back || title || rightAddons) && (\n <div className={ styles.heading }>\n { back && t && (\n <BackButton onClick={ back } t={ t } />\n ) }\n\n { !back && title && (\n <Title title={ title } subtitle={ subtitle } />\n ) }\n\n { rightAddons && <div className={ cn(styles.rightAddons, { [styles.noCloser]: !!noCloser || showCloser === false }) }>{ rightAddons }</div> }\n </div>\n ) }\n\n { !!back && title && (\n <Title title={ title } subtitle={ subtitle } />\n ) }\n\n { !!bottomAddons && <div className={ styles.bottomAddons }>{ bottomAddons }</div> }\n\n </div>\n);\n"],"names":["Title","title","subtitle","jsxs","FlexColumns","styles","jsx","Typography","SidepanelHeader","className","dataTestId","rightAddons","back","t","bottomAddons","noCloser","showCloser","cn","BackButton"],"mappings":";;;;;;AAiDA,MAAMA,IAAQ,CAAC,EAAE,OAAAC,GAAO,UAAAC,QACpB,gBAAAC,EAACC,GAAA,EAAY,SAAU,GAAI,IAAK,GAAI,WAAYC,EAAO,OAEnD,UAAA;AAAA,EAAA,gBAAAC,EAACC,EAAW,OAAX,EAAiB,OAAM,WAAU,KAAI,OAAM,MAAK,SAAQ,QAAO,QAC1D,UAAAN,EAAA,CACN;AAAA,EAEEC,KACE,gBAAAI,EAACC,EAAW,MAAX,EAAgB,MAAK,SAAQ,QAAO,WAAU,OAAM,aAC/C,UAAAL,EAAA,CACN;AAAA,GAGR,GAGSM,IAAkD,CAAC;AAAA,EAC5D,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,OAAAT;AAAA,EACA,aAAAU;AAAA,EACA,MAAAC;AAAA,EACA,UAAAV;AAAA,EACA,GAAAW;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AACJ,MACI,gBAAAb;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,gBAAeO;AAAA,IACf,WAAYO,EAAGZ,EAAO,SAASI,CAAS;AAAA,IAErC,UAAA;AAAA,OAAAG,KAAQX,KAASU,MAChB,gBAAAR,EAAC,OAAA,EAAI,WAAYE,EAAO,SAClB,UAAA;AAAA,QAAAO,KAAQC,KACN,gBAAAP,EAACY,GAAA,EAAW,SAAUN,GAAO,GAAAC,GAAQ;AAAA,QAGvC,CAACD,KAAQX,KACP,gBAAAK,EAACN,GAAA,EAAM,OAAAC,GAAgB,UAAAC,GAAsB;AAAA,QAG/CS,KAAe,gBAAAL,EAAC,OAAA,EAAI,WAAYW,EAAGZ,EAAO,aAAa,EAAE,CAACA,EAAO,QAAQ,GAAG,CAAC,CAACU,KAAYC,MAAe,IAAO,GAAM,UAAAL,EAAA,CAAa;AAAA,MAAA,GACzI;AAAA,MAGF,CAAC,CAACC,KAAQX,KACR,gBAAAK,EAACN,GAAA,EAAM,OAAAC,GAAgB,UAAAC,GAAsB;AAAA,MAG/C,CAAC,CAACY,KAAgB,gBAAAR,EAAC,SAAI,WAAYD,EAAO,cAAiB,UAAAS,EAAA,CAAc;AAAA,IAAA;AAAA,EAAA;AAE/E;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../src/skeleton/component.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nimport styles from './index.module.css';\n\nexport type SkeletonProps = {\n children?: React.ReactNode;\n /**\n * Флаг, явно задающий состояние, при котором контент закрывается прелоадером\n */\n visible?: boolean;\n /**\n * Флаг явного включения анимации скелета\n */\n animate?: boolean;\n /**\n * Дополнительный класс\n */\n className?: string;\n /**\n * Идентификатор для систем автоматизированного тестирования\n */\n dataTestId?: string;\n};\n\nexport const Skeleton: React.FC<SkeletonProps> = ({\n visible,\n animate = true,\n className,\n dataTestId,\n children,\n}) => {\n if (visible) {\n return (\n <div\n className={ cn(styles.component, { [styles.animate]: animate }, className) }\n data-test-id={ dataTestId }\n >\n { children }\n </div>\n );\n }\n\n return <React.Fragment>{ children }</React.Fragment>;\n};\n"],"names":["Skeleton","visible","animate","className","dataTestId","children","jsx","cn","styles","React"],"mappings":";;;;AAyBO,MAAMA,IAAoC,CAAC;AAAA,EAC9C,SAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,UAAAC;AACJ,MACQJ,IAEI,gBAAAK;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,WAAYC,EAAGC,EAAO,WAAW,EAAE,CAACA,EAAO,OAAO,GAAGN,EAAA,GAAWC,CAAS;AAAA,IACzE,gBAAeC;AAAA,IAEb,UAAAC;AAAA,EAAA;AAAA,IAKP,gBAAAC,EAACG,EAAM,UAAN,EAAiB,UAAAJ,EAAA,CAAU;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Item.js","sources":["../../src/space/Item.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Direction } from './utils';\n\nexport interface ItemProps {\n className: string;\n horizontalSize: number;\n verticalSize: number;\n length: number;\n children: React.ReactNode;\n index: number;\n direction?: Direction;\n divider?: string | React.ReactNode;\n wrap?: boolean;\n}\n\nconst Item = (props: ItemProps) => {\n const {\n className,\n horizontalSize,\n verticalSize,\n length,\n direction,\n index,\n children,\n divider,\n wrap,\n } = props;\n\n let style: React.CSSProperties = {};\n\n if (direction === 'vertical') {\n if (index < length) {\n style = { marginBottom: horizontalSize / (divider ? 2 : 1) };\n }\n } else {\n style = {\n ...(index < length && { marginRight: horizontalSize / (divider ? 2 : 1) }),\n ...(wrap && { paddingBottom: verticalSize }),\n };\n }\n\n if (children === null || children === undefined) {\n return null;\n }\n\n return (\n <React.Fragment>\n <div className={ className } style={ style }>\n { children }\n </div>\n { index < length - 1 && divider && (\n <span\n style={ {\n width: '100%',\n ...style,\n } }\n >\n { divider }\n </span>\n ) }\n </React.Fragment>\n );\n};\n\nexport default Item;\n"],"names":["Item","props","className","horizontalSize","verticalSize","length","direction","index","children","divider","wrap","style","jsxs","React","jsx"],"mappings":";;AAgBA,MAAMA,IAAO,CAACC,MAAqB;AAC/B,QAAM;AAAA,IACF,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,cAAAC;AAAA,IACA,QAAAC;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,MAAAC;AAAA,EAAA,IACAT;AAEJ,MAAIU,IAA6B,CAAA;AAajC,SAXIL,MAAc,aACVC,IAAQF,MACRM,IAAQ,EAAE,cAAcR,KAAkBM,IAAU,IAAI,GAAA,KAG5DE,IAAQ;AAAA,IACJ,GAAIJ,IAAQF,KAAU,EAAE,aAAaF,KAAkBM,IAAU,IAAI,GAAA;AAAA,IACrE,GAAIC,KAAQ,EAAE,eAAeN,EAAA;AAAA,EAAa,GAI9CI,KAAa,OACN,OAIP,gBAAAI,EAACC,EAAM,UAAN,EACG,UAAA;AAAA,IAAA,gBAAAC,EAAC,OAAA,EAAI,WAAAZ,GAAwB,OAAAS,GACvB,UAAAH,EAAA,CACN;AAAA,IACED,IAAQF,IAAS,KAAKI,KACpB,gBAAAK;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,OAAQ;AAAA,UACJ,OAAO;AAAA,UACP,GAAGH;AAAA,QAAA;AAAA,QAGL,UAAAF;AAAA,MAAA;AAAA,IAAA;AAAA,EACN,GAER;AAER;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../src/space/component.tsx"],"sourcesContent":["import React, { ReactNode, Children, forwardRef } from 'react';\nimport classNames from 'classnames';\nimport Item from './Item';\nimport styles from './index.module.css';\nimport { Direction, Align, Size } from './utils';\n\nexport type SpaceProps = {\n /**\n * Выравнивание\n */\n align?: Align;\n\n /**\n * Направление\n */\n direction?: Direction;\n\n /**\n * Размер отступов\n */\n size?: Size | [Size, Size];\n\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Дочерние компоненты\n */\n children: ReactNode;\n\n /**\n * Идентификатор для систем автоматизированного тестирования\n */\n dataTestId?: string;\n\n /**\n * Автоматический перенос строк, полезно при direction = 'horizontal'\n */\n wrap?: boolean;\n\n /**\n * Компонент разделителя\n */\n divider?: string | ReactNode;\n\n /**\n * Растягивать ли компонент на всю ширину\n */\n fullWidth?: boolean;\n};\n\nconst SpaceSizes: { [key in Size]: number } = {\n s: 12,\n m: 16,\n l: 20,\n};\n\nconst getNumberSize = (size: Size) => {\n return typeof size === 'string' ? SpaceSizes[size] : size || 0;\n};\n\n/**\n * Позаимствовано с благодарностью из Ant Design\n */\n\nexport const Space = forwardRef<HTMLDivElement, SpaceProps>((props, ref) => {\n const {\n children,\n className,\n align = 'start',\n direction = 'vertical',\n size = 'm',\n wrap = false,\n divider = false,\n fullWidth = false,\n } = props;\n\n const [horizontalSize, verticalSize] = React.useMemo(\n () =>\n ((Array.isArray(size) ? size : [size, size]) as [Size, Size]).map((item) =>\n getNumberSize(item),\n ),\n [size],\n );\n\n const childNodes = Children.toArray(children);\n\n if (childNodes.length === 0) {\n return null;\n }\n\n const directionClassName = styles[direction];\n const alignClassName = styles[align];\n\n const containerClassName = classNames(\n styles.spaceContainer,\n directionClassName,\n {\n [alignClassName]: align,\n [styles.spaceContainerFullWidth]: fullWidth,\n },\n className,\n );\n\n const itemClassName = classNames(styles.spaceItem, {\n [styles.spaceItemFullWidth]: fullWidth,\n });\n\n const nodes = childNodes.map((child, i) => (\n /* eslint-disable react/no-array-index-key */\n <Item\n className={itemClassName}\n key={`${itemClassName}-${i}`}\n direction={direction}\n horizontalSize={horizontalSize}\n verticalSize={verticalSize}\n length={childNodes.length}\n index={i}\n wrap={wrap}\n divider={divider}\n >\n {child}\n </Item>\n /* eslint-enable */\n ));\n\n return (\n <div\n className={containerClassName}\n style={{\n ...(wrap && { flexWrap: 'wrap', marginBottom: -verticalSize }),\n }}\n ref={ref}\n >\n {nodes}\n </div>\n );\n});\n"],"names":["SpaceSizes","getNumberSize","size","Space","forwardRef","props","ref","children","className","align","direction","wrap","divider","fullWidth","horizontalSize","verticalSize","React","item","childNodes","Children","directionClassName","styles","alignClassName","containerClassName","classNames","itemClassName","nodes","child","i","jsx","Item"],"mappings":";;;;;AAqDA,MAAMA,IAAwC;AAAA,EAC1C,GAAG;AAAA,EACH,GAAG;AAAA,EACH,GAAG;AACP,GAEMC,IAAgB,CAACC,MACZ,OAAOA,KAAS,WAAWF,EAAWE,CAAI,IAAIA,KAAQ,GAOpDC,IAAQC,EAAuC,CAACC,GAAOC,MAAQ;AACxE,QAAM;AAAA,IACF,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,WAAAC,IAAY;AAAA,IACZ,MAAAR,IAAO;AAAA,IACP,MAAAS,IAAO;AAAA,IACP,SAAAC,IAAU;AAAA,IACV,WAAAC,IAAY;AAAA,EAAA,IACZR,GAEE,CAACS,GAAgBC,CAAY,IAAIC,EAAM;AAAA,IACzC,OACM,MAAM,QAAQd,CAAI,IAAIA,IAAO,CAACA,GAAMA,CAAI,GAAoB;AAAA,MAAI,CAACe,MAC/DhB,EAAcgB,CAAI;AAAA,IAAA;AAAA,IAE1B,CAACf,CAAI;AAAA,EAAA,GAGHgB,IAAaC,EAAS,QAAQZ,CAAQ;AAE5C,MAAIW,EAAW,WAAW;AACtB,WAAO;AAGX,QAAME,IAAqBC,EAAOX,CAAS,GACrCY,IAAiBD,EAAOZ,CAAK,GAE7Bc,IAAqBC;AAAAA,IACvBH,EAAO;AAAA,IACPD;AAAA,IACA;AAAA,MACI,CAACE,CAAc,GAAGb;AAAA,MAClB,CAACY,EAAO,uBAAuB,GAAGR;AAAA,IAAA;AAAA,IAEtCL;AAAA,EAAA,GAGEiB,IAAgBD,EAAWH,EAAO,WAAW;AAAA,IAC/C,CAACA,EAAO,kBAAkB,GAAGR;AAAA,EAAA,CAChC,GAEKa,IAAQR,EAAW,IAAI,CAACS,GAAOC;AAAA;AAAA,IAEjC,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACG,WAAWL;AAAA,QAEX,WAAAf;AAAA,QACA,gBAAAI;AAAA,QACA,cAAAC;AAAA,QACA,QAAQG,EAAW;AAAA,QACnB,OAAOU;AAAA,QACP,MAAAjB;AAAA,QACA,SAAAC;AAAA,QAEC,UAAAe;AAAA,MAAA;AAAA,MATI,GAAGF,CAAa,IAAIG,CAAC;AAAA,IAAA;AAAA,GAYjC;AAED,SACI,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,WAAWN;AAAA,MACX,OAAO;AAAA,QACH,GAAIZ,KAAQ,EAAE,UAAU,QAAQ,cAAc,CAACI,EAAA;AAAA,MAAa;AAAA,MAEhE,KAAAT;AAAA,MAEC,UAAAoB;AAAA,IAAA;AAAA,EAAA;AAGb,CAAC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sources":["../../src/space/utils.ts"],"sourcesContent":["import React from 'react';\n\nexport type Align = 'start' | 'end' | 'center';\nexport type Direction = 'horizontal' | 'vertical';\nexport type Size = 's' | 'm' | 'l' | number;\n\nexport const SpaceContext = React.createContext({\n length: 0,\n horizontalSize: 0,\n verticalSize: 0,\n});\n"],"names":["SpaceContext","React"],"mappings":";AAMO,MAAMA,IAAeC,EAAM,cAAc;AAAA,EAC5C,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,cAAc;AAClB,CAAC;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../src/spinner/component.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport cn from 'classnames';\n\nimport styles from './index.module.css';\n\nexport type SpinnerProps = {\n /**\n * Управление видимостью компонента\n */\n // eslint-disable-next-line react/no-unused-prop-types\n visible?: boolean;\n\n /**\n * Размер компонента\n */\n size?: 's' | 'm';\n\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Идентификатор компонента в DOM\n */\n id?: string;\n\n /**\n *@param view - цвет спиннера default | dark | invert\n */\n view?: 'default' | 'dark' | 'invert';\n\n /**\n * Идентификатор для систем автоматизированного тестирования\n */\n dataTestId?: string;\n};\n\nexport const Spinner: FC<SpinnerProps> = ({\n size = 's',\n id,\n view = 'default',\n className,\n dataTestId,\n}) => (\n <div\n id={ id }\n data-test-id={ dataTestId }\n className={ cn(styles.spinnerWrapper, styles[size], className) }\n >\n <svg\n className={ cn(styles.spinner, styles[size]) }\n preserveAspectRatio=\"xMinYMin meet\"\n viewBox=\"0 0 50 50\"\n >\n <circle\n className={ cn(styles.path, styles[view]) }\n cx=\"25\"\n cy=\"25\"\n r=\"20\"\n fill=\"none\"\n strokeWidth=\"5\"\n />\n </svg>\n </div>\n);\n"],"names":["Spinner","size","id","view","className","dataTestId","jsx","cn","styles"],"mappings":";;;AAsCO,MAAMA,IAA4B,CAAC;AAAA,EACtC,MAAAC,IAAO;AAAA,EACP,IAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,WAAAC;AAAA,EACA,YAAAC;AACJ,MACI,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,IAAAJ;AAAA,IACA,gBAAeG;AAAA,IACf,WAAYE,EAAGC,EAAO,gBAAgBA,EAAOP,CAAI,GAAGG,CAAS;AAAA,IAE7D,UAAA,gBAAAE;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAYC,EAAGC,EAAO,SAASA,EAAOP,CAAI,CAAC;AAAA,QAC3C,qBAAoB;AAAA,QACpB,SAAQ;AAAA,QAER,UAAA,gBAAAK;AAAA,UAAC;AAAA,UAAA;AAAA,YACG,WAAYC,EAAGC,EAAO,MAAMA,EAAOL,CAAI,CAAC;AAAA,YACxC,IAAG;AAAA,YACH,IAAG;AAAA,YACH,GAAE;AAAA,YACF,MAAK;AAAA,YACL,aAAY;AAAA,UAAA;AAAA,QAAA;AAAA,MAChB;AAAA,IAAA;AAAA,EACJ;AACJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../src/stack/component.tsx"],"sourcesContent":["import React, { FC, ReactNode, useContext } from 'react';\n\nimport { StackingContext, stackingOrder } from './context';\n\nexport type StackProps = {\n /**\n * Render prop, в который передается функция.\n * Функция принимает аргумент со значением z-index из текущего контекста.\n */\n children: (value: number) => ReactNode;\n\n /**\n * Исходное значение для z-index.\n * @default 5\n */\n value?: number;\n};\n\nexport const Stack: FC<StackProps> = ({ children, value = stackingOrder.DEFAULT }) => {\n const previousValue = useContext(StackingContext);\n const currentValue = Math.max(value, previousValue);\n const nextValue = currentValue + 1;\n\n return (\n <StackingContext.Provider value={nextValue}>\n {children(currentValue)}\n </StackingContext.Provider>\n );\n};\n"],"names":["Stack","children","value","stackingOrder","previousValue","useContext","StackingContext","currentValue","nextValue","jsx"],"mappings":";;;AAkBO,MAAMA,IAAwB,CAAC,EAAE,UAAAC,GAAU,OAAAC,IAAQC,EAAc,cAAc;AAClF,QAAMC,IAAgBC,EAAWC,CAAe,GAC1CC,IAAe,KAAK,IAAIL,GAAOE,CAAa,GAC5CI,IAAYD,IAAe;AAEjC,SACI,gBAAAE,EAACH,EAAgB,UAAhB,EAAyB,OAAOE,GAC5B,UAAAP,EAASM,CAAY,GAC1B;AAER;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"context.js","sources":["../../src/stack/context.ts"],"sourcesContent":["import { createContext } from 'react';\n\n/**\n * Набор констант для z-index соответствующих классов компонентов.\n * Значения выбраны по приоритету.\n */\nexport const stackingOrder = {\n /**\n * Для компонентов с возможностью фокуса: кнопки, поля ввода\n */\n FOCUSED: 2,\n\n /**\n * Значение по-умолчанию\n */\n DEFAULT: 10,\n\n /**\n * Компоненты, которые управляют своей позицией, например, поповер, тултип\n */\n POPOVER: 999999999,\n\n /**\n * Для модальных окон с оверлеем\n */\n MODAL: 90000,\n\n /**\n * Для тостов и нотификаций\n */\n TOAST: 9999999999,\n};\n\nexport const StackingContext = createContext(stackingOrder.DEFAULT);\n"],"names":["stackingOrder","StackingContext","createContext"],"mappings":";AAMO,MAAMA,IAAgB;AAAA;AAAA;AAAA;AAAA,EAIzB,SAAS;AAAA;AAAA;AAAA;AAAA,EAKT,SAAS;AAAA;AAAA;AAAA;AAAA,EAKT,SAAS;AAAA;AAAA;AAAA;AAAA,EAKT,OAAO;AAAA;AAAA;AAAA;AAAA,EAKP,OAAO;AACX,GAEaC,IAAkBC,EAAcF,EAAc,OAAO;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../src/status/component.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport cn from 'classnames';\n\nimport styles from './index.module.css';\n\nexport type StatusProps = {\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * текст внутри заглавными буквамиы\n */\n upperCase?: boolean;\n\n /**\n * Вид компонента\n */\n view: 'contrast' | 'soft';\n /**\n * Вид компонента\n */\n size?: 's' | 'm';\n\n /**\n * Цветовое оформление иконки\n */\n color: 'green' | 'orange' | 'red' | 'blue' | 'grey' | 'teal' | 'purple';\n\n /**\n * Идентификатор для систем автоматизированного тестирования\n */\n dataTestId?: string;\n\n children?: React.ReactNode;\n};\n\nexport const Status: FC<StatusProps> = ({\n className,\n view,\n color,\n children,\n dataTestId,\n upperCase,\n size = 's',\n}) => (\n <span\n className={ cn(styles.component, styles[color], styles[size], styles[view], className, {\n [styles.upper_case]: upperCase,\n }) }\n data-test-id={ dataTestId }\n >\n { children }\n </span>\n);\n"],"names":["Status","className","view","color","children","dataTestId","upperCase","size","jsx","cn","styles"],"mappings":";;;AAsCO,MAAMA,IAA0B,CAAC;AAAA,EACpC,WAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,MAAAC,IAAO;AACX,MACI,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,WAAYC,EAAGC,EAAO,WAAWA,EAAOP,CAAK,GAAGO,EAAOH,CAAI,GAAGG,EAAOR,CAAI,GAAGD,GAAW;AAAA,MACnF,CAACS,EAAO,UAAU,GAAGJ;AAAA,IAAA,CACxB;AAAA,IACD,gBAAeD;AAAA,IAEb,UAAAD;AAAA,EAAA;AACN;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"step-bar.js","sources":["../../../src/stepped-progress-bar/components/step-bar.tsx"],"sourcesContent":["import React, { FC, memo } from 'react';\nimport cn from 'classnames';\n\nimport styles from '../index.module.css';\n\nexport type SteppedProgressBarView =\n | 'positive'\n | 'negative'\n | 'attention'\n | 'link'\n | 'tertiary'\n | 'secondary'\n | 'primary'\n | 'accent';\n\ntype StepBarProps = {\n isDone: boolean;\n view?: SteppedProgressBarView;\n};\n\nexport const StepBar: FC<StepBarProps> = memo(({ isDone, view = 'positive' }) => (\n <span data-test-id={ isDone ? 'on' : 'off' } className={ cn(styles.bar, isDone && styles[view]) } />\n));\n"],"names":["StepBar","memo","isDone","view","jsx","cn","styles"],"mappings":";;;;AAoBO,MAAMA,IAA4BC,EAAK,CAAC,EAAE,QAAAC,GAAQ,MAAAC,IAAO,WAAA,MAC5D,gBAAAC,EAAC,QAAA,EAAK,gBAAeF,IAAS,OAAO,OAAQ,WAAYG,EAAGC,EAAO,KAAKJ,KAAUI,EAAOH,CAAI,CAAC,GAAI,CACrG;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../src/stepped-progress-bar/index.tsx"],"sourcesContent":["import React, { FC, useState } from 'react';\nimport cn from 'classnames';\n\nimport { Typography } from '../typography';\n\nimport { StepBar, SteppedProgressBarView } from './components/step-bar';\n\nimport styles from './index.module.css';\n\nexport type SteppedProgressBarProps = {\n /**\n * Общее количество шагов\n */\n maxStep: number;\n\n /**\n * Постфикс описание под прогрессбаром\n */\n description?: string;\n\n /**\n * Количество пройденных шагов\n */\n step?: number;\n\n /**\n * Цвет заполнения\n */\n view?: SteppedProgressBarView | SteppedProgressBarView[];\n\n /**\n * Идентификатор для систем автоматизированного тестирования\n */\n dataTestId?: string;\n\n /**\n * Дополнительный класс\n */\n className?: string;\n};\n\nexport const SteppedProgressBar: FC<SteppedProgressBarProps> = ({\n maxStep,\n description,\n step = 0,\n view,\n dataTestId,\n className,\n}) => {\n const validMaxSteps = maxStep <= 0 ? 1 : maxStep;\n const isViewString = typeof view === 'string';\n\n return (\n <div className={ cn(styles.component, className) } data-test-id={ dataTestId }>\n <div className={ styles.stepsContainer }>\n { Array.from(Array(validMaxSteps), (_, index) => (\n <StepBar\n key={ index }\n isDone={ index < step }\n view={ (isViewString ? view : view?.[index]) as SteppedProgressBarView }\n />\n )) }\n </div>\n { description && (\n <Typography.Text color=\"secondary\" tag=\"div\" className={ styles.description } view=\"primary-small\">\n { description }\n </Typography.Text>\n ) }\n </div>\n );\n};\n\nexport const useSteps = ({\n maxStep,\n initialStep = 1,\n}: {\n maxStep: number;\n initialStep?: number;\n}) => {\n const [step, setStep] = useState(initialStep);\n\n const nextStep = () => {\n setStep(step < maxStep ? step + 1 : maxStep);\n };\n\n const prevStep = () => {\n setStep(step === 1 ? step : step - 1);\n };\n\n return {\n step,\n setStep,\n nextStep,\n prevStep,\n };\n};\n"],"names":["SteppedProgressBar","maxStep","description","step","view","dataTestId","className","validMaxSteps","isViewString","jsxs","cn","styles","jsx","_","index","StepBar","Typography","useSteps","initialStep","setStep","useState"],"mappings":";;;;;;AAyCO,MAAMA,IAAkD,CAAC;AAAA,EAC5D,SAAAC;AAAA,EACA,aAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,MAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AACJ,MAAM;AACF,QAAMC,IAAgBN,KAAW,IAAI,IAAIA,GACnCO,IAAe,OAAOJ,KAAS;AAErC,SACI,gBAAAK,EAAC,SAAI,WAAYC,EAAGC,EAAO,WAAWL,CAAS,GAAI,gBAAeD,GAC9D,UAAA;AAAA,IAAA,gBAAAO,EAAC,OAAA,EAAI,WAAYD,EAAO,gBAClB,UAAA,MAAM,KAAK,MAAMJ,CAAa,GAAG,CAACM,GAAGC,MACnC,gBAAAF;AAAA,MAACG;AAAA,MAAA;AAAA,QAEG,QAASD,IAAQX;AAAA,QACjB,MAAQK,IAAeJ,IAAOA,KAAA,gBAAAA,EAAOU;AAAA,MAAK;AAAA,MAFpCA;AAAA,IAAA,CAIb,GACL;AAAA,IACEZ,KACE,gBAAAU,EAACI,EAAW,MAAX,EAAgB,OAAM,aAAY,KAAI,OAAM,WAAYL,EAAO,aAAc,MAAK,iBAC7E,UAAAT,EAAA,CACN;AAAA,EAAA,GAER;AAER,GAEae,IAAW,CAAC;AAAA,EACrB,SAAAhB;AAAA,EACA,aAAAiB,IAAc;AAClB,MAGM;AACF,QAAM,CAACf,GAAMgB,CAAO,IAAIC,EAASF,CAAW;AAU5C,SAAO;AAAA,IACH,MAAAf;AAAA,IACA,SAAAgB;AAAA,IACA,UAXa,MAAM;AACnB,MAAAA,EAAQhB,IAAOF,IAAUE,IAAO,IAAIF,CAAO;AAAA,IAC/C;AAAA,IAUI,UARa,MAAM;AACnB,MAAAkB,EAAQhB,MAAS,IAAIA,IAAOA,IAAO,CAAC;AAAA,IACxC;AAAA,EAMI;AAER;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../src/sticker/component.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nimport styles from './index.module.css';\n\nexport interface StickerProps {\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Цвет компонента\n */\n color: 'yellow' | 'green' | 'white' | 'gray';\n\n /**\n * Текст компонента\n */\n text: string;\n\n /**\n * Идентификатор для систем автоматизированного тестирования\n */\n dataTestId?: string;\n}\n\nexport const Sticker: React.FC<StickerProps> = ({\n className, text, color, dataTestId,\n}) => (\n <div\n className={ cn(\n styles.component,\n styles[color],\n className,\n ) }\n data-test-id={ dataTestId }\n >\n <span>{ text }</span>\n </div>\n);\n"],"names":["Sticker","className","text","color","dataTestId","jsx","cn","styles"],"mappings":";;;AA2BO,MAAMA,IAAkC,CAAC;AAAA,EAC5C,WAAAC;AAAA,EAAW,MAAAC;AAAA,EAAM,OAAAC;AAAA,EAAO,YAAAC;AAC5B,MACI,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACG,WAAYC;AAAA,MACRC,EAAO;AAAA,MACPA,EAAOJ,CAAK;AAAA,MACZF;AAAA,IAAA;AAAA,IAEJ,gBAAeG;AAAA,IAEf,UAAA,gBAAAC,EAAC,UAAO,UAAAH,EAAA,CAAM;AAAA,EAAA;AAClB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../src/suffix-input/component.tsx"],"sourcesContent":["import React, {\n forwardRef, Fragment, useCallback, useEffect, useState,\n} from 'react';\nimport cn from 'classnames';\n\nimport { Input, InputProps } from '../input';\nimport { withSuffix } from '../with-suffix';\n\nimport styles from './index.module.css';\n\nexport type SuffixInputProps = Omit<InputProps, 'value' | 'onChange' | 'type'> & {\n /**\n * Денежное значение в минорных единицах\n */\n value: number | undefined | null;\n\n /**\n * суффикс для вставки в инпут\n */\n suffix?: string;\n\n /**\n * required - индикатор * лейбла для обязательного заполнения поля\n */\n required?: boolean;\n\n /**\n * Жир\n */\n bold?: boolean;\n\n /**\n * Обработчик события изменения значения\n */\n onChange: (\n e: React.ChangeEvent<HTMLInputElement>,\n payload: {\n value: number | undefined | null;\n },\n ) => void;\n};\n\n/**\n * Инпут, позволяющий закрепить значок валюты\n */\nconst InputWithSuffix = withSuffix(Input);\n\n/**\n * Компонент для ввода денежных значений\n */\nexport const SuffixInput = forwardRef<HTMLInputElement, SuffixInputProps>(\n (\n {\n value,\n suffix,\n placeholder = `${''}`,\n bold = true,\n className,\n focusedClassName,\n required,\n dataTestId,\n clear = false,\n onChange,\n onClear,\n ...restProps\n },\n ref,\n ) => {\n const [inputValue, setInputValue] = useState<number | undefined | null>(value);\n\n useEffect(() => {\n const currentAmountValue = inputValue;\n\n if (currentAmountValue !== value) {\n return setInputValue(value);\n }\n\n return () => undefined;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const input = e.target;\n const enteredValue = input.value;\n\n // const newFormattedValue = enteredValue;\n\n // if (inputValue && +newFormattedValue === inputValue) {\n // const caret = input.selectionStart;\n\n // window.requestAnimationFrame(() => {\n // input.selectionStart = caret;\n // input.selectionEnd = caret;\n // });\n // }\n\n // setInputValue(newFormattedValue);\n if (onChange) {\n onChange(e, { value: Number.isInteger(+enteredValue) ? +enteredValue : undefined });\n }\n };\n\n const handleClear = useCallback(\n (event: React.MouseEvent<HTMLButtonElement>) => {\n setInputValue(undefined);\n\n if (onClear) {\n onClear(event);\n }\n },\n [onClear],\n );\n\n return (\n <div\n className={ cn(styles.container, {\n [styles.bold]: bold,\n [styles.filled]: Boolean(inputValue),\n }) }\n >\n <InputWithSuffix\n { ...restProps }\n suffix={ (\n <Fragment>\n { inputValue }\n\n <span className={ styles.minorPartAndCurrency }>&nbsp;{ suffix }</span>\n </Fragment>\n ) }\n suffixContainerClassName={ styles.suffixContainer }\n clear={ clear }\n required={ required }\n placeholder={ placeholder }\n value={ Number.isInteger(value) ? '' + value : undefined }\n type='number'\n className={ cn(styles.component, className) }\n focusedClassName={ focusedClassName }\n inputClassName={ styles.input }\n onChange={ handleChange }\n onClear={ handleClear }\n dataTestId={ dataTestId }\n ref={ ref }\n />\n </div>\n );\n },\n);\n"],"names":["InputWithSuffix","withSuffix","Input","SuffixInput","forwardRef","value","suffix","placeholder","bold","className","focusedClassName","required","dataTestId","clear","onChange","onClear","restProps","ref","inputValue","setInputValue","useState","useEffect","handleChange","e","enteredValue","handleClear","useCallback","event","jsx","cn","styles","Fragment","jsxs"],"mappings":";;;;;;AA6CA,MAAMA,IAAkBC,EAAWC,CAAK,GAK3BC,IAAcC;AAAA,EACvB,CACI;AAAA,IACI,OAAAC;AAAA,IACA,QAAAC;AAAA,IACA,aAAAC,IAAc;AAAA,IACd,MAAAC,IAAO;AAAA,IACP,WAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,OAAAC,IAAQ;AAAA,IACR,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,GAEPC,MACC;AACD,UAAM,CAACC,GAAYC,CAAa,IAAIC,EAAoCf,CAAK;AAE7E,IAAAgB,EAAU,MACqBH,MAEAb,IAChBc,EAAcd,CAAK,IAGvB;OAER,CAACA,CAAK,CAAC;AAEV,UAAMiB,IAAe,CAACC,MAA2C;AAE7D,YAAMC,IADQD,EAAE,OACW;AAc3B,MAAIT,KACAA,EAASS,GAAG,EAAE,OAAO,OAAO,UAAU,CAACC,CAAY,IAAI,CAACA,IAAe,QAAW;AAAA,IAE1F,GAEMC,IAAcC;AAAA,MAChB,CAACC,MAA+C;AAC5C,QAAAR,EAAc,MAAS,GAEnBJ,KACAA,EAAQY,CAAK;AAAA,MAErB;AAAA,MACA,CAACZ,CAAO;AAAA,IAAA;AAGZ,WACI,gBAAAa;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,WAAYC,EAAGC,EAAO,WAAW;AAAA,UAC7B,CAACA,EAAO,IAAI,GAAGtB;AAAA,UACf,CAACsB,EAAO,MAAM,GAAG,EAAQZ;AAAA,QAAU,CACtC;AAAA,QAED,UAAA,gBAAAU;AAAA,UAAC5B;AAAA,UAAA;AAAA,YACK,GAAGgB;AAAA,YACL,0BACKe,GAAA,EACK,UAAA;AAAA,cAAAb;AAAA,cAEF,gBAAAc,EAAC,QAAA,EAAK,WAAYF,EAAO,sBAAuB,UAAA;AAAA,gBAAA;AAAA,gBAAQxB;AAAA,cAAA,EAAA,CAAQ;AAAA,YAAA,GACpE;AAAA,YAEJ,0BAA2BwB,EAAO;AAAA,YAClC,OAAAjB;AAAA,YACA,UAAAF;AAAA,YACA,aAAAJ;AAAA,YACA,OAAQ,OAAO,UAAUF,CAAK,IAAI,KAAKA,IAAQ;AAAA,YAC/C,MAAK;AAAA,YACL,WAAYwB,EAAGC,EAAO,WAAWrB,CAAS;AAAA,YAC1C,kBAAAC;AAAA,YACA,gBAAiBoB,EAAO;AAAA,YACxB,UAAWR;AAAA,YACX,SAAUG;AAAA,YACV,YAAAb;AAAA,YACA,KAAAK;AAAA,UAAA;AAAA,QAAA;AAAA,MACJ;AAAA,IAAA;AAAA,EAGZ;AACJ;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../src/super-list-header/component.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Typography } from '../typography';\n\nimport styles from './index.module.css';\n\nexport interface SuperListHeaderProps {\n /** text */\n text: string;\n\n /** handleClick - действие при нажатии на icon-button */\n handleClick?: () => void;\n\n /** rightAddons - Слот справа */\n rightAddons?: React.ReactNode;\n\n /** leftAddons - Слот слева после текста */\n leftAddons?: React.ReactNode;\n}\n\n/** Показывает заголовок списка и значение справа, которое может быть суммой всех нижестоящих значений в списке */\n\nexport const SuperListHeader: React.FC<SuperListHeaderProps> = ({\n text,\n leftAddons,\n rightAddons,\n}) => (\n <div className={ styles.component }>\n <div className={ styles.leftSide }>\n <Typography.Text color=\"primary\" weight=\"bold\" tag=\"span\">\n { text }\n </Typography.Text>\n { leftAddons && <div className={ styles.leftAddons }>{ leftAddons }</div> }\n </div>\n { rightAddons && <div className={ styles.rightAddons }>{ rightAddons }</div> }\n </div>\n);\n"],"names":["SuperListHeader","text","leftAddons","rightAddons","jsxs","styles","jsx","Typography"],"mappings":";;;AAsBO,MAAMA,IAAkD,CAAC;AAAA,EAC5D,MAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AACJ,MACI,gBAAAC,EAAC,OAAA,EAAI,WAAYC,EAAO,WACpB,UAAA;AAAA,EAAA,gBAAAD,EAAC,OAAA,EAAI,WAAYC,EAAO,UACpB,UAAA;AAAA,IAAA,gBAAAC,EAACC,EAAW,MAAX,EAAgB,OAAM,WAAU,QAAO,QAAO,KAAI,QAC7C,UAAAN,EAAA,CACN;AAAA,IACEC,KAAc,gBAAAI,EAAC,OAAA,EAAI,WAAYD,EAAO,YAAe,UAAAH,EAAA,CAAY;AAAA,EAAA,GACvE;AAAA,EACEC,KAAe,gBAAAG,EAAC,OAAA,EAAI,WAAYD,EAAO,aAAgB,UAAAF,EAAA,CAAa;AAAA,EAAA,CAC1E;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.js","sources":["../../src/super-list-item/component.tsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\n\nimport { Dot } from '../dot';\nimport { Typography } from '../typography';\n\nimport styles from './index.module.css';\n\nexport interface SuperListItemProps {\n /** text */\n text: string;\n\n /** rightAddons - Слот справа */\n rightAddons?: React.ReactNode | string;\n\n /** leftAddons - Слот слева */\n leftAddons?: React.ReactNode;\n\n /** color - цвет текста [secondary | negative] */\n color?: 'primary' | 'negative';\n\n /** weight - толщина текста [bold | regular | medium] */\n weight?: 'bold' | 'regular' | 'medium';\n\n /**\n * disabled - дисаблед состояние\n */\n disabled?: boolean;\n /**\n * Подсказка\n */\n hint?: string;\n /**\n * className\n */\n className?: string;\n}\n\n/** Показывает заголовок списка и значение справа, которое может быть суммой всех нижестоящих значений в списке */\n\nexport const SuperListItem: React.FC<SuperListItemProps> = ({\n text,\n rightAddons,\n leftAddons,\n color = 'primary',\n disabled,\n className,\n weight = 'regular',\n hint,\n}) => (\n <div className={ cn(styles.component, className) }>\n <div className={ styles.leftSide }>\n { leftAddons && !disabled && (\n <div className={ styles.leftAddons }>\n { leftAddons }\n </div>\n ) }\n\n { disabled && (\n <div className={ styles.leftAddons }>\n <Dot size=\"sm\" color=\"grey\" />\n </div>\n ) }\n <div className={ styles.content }>\n <Typography.Text weight={ weight } color={ color } view=\"title\" tag=\"div\">\n { text }\n </Typography.Text>\n\n { hint && (\n <Typography.Text color=\"secondary\" view=\"caps\" tag=\"div\">\n { hint }\n </Typography.Text>\n ) }\n\n </div>\n </div>\n { rightAddons && (\n <div className={ styles.rightAddons }>{\n typeof rightAddons === 'string' ? (\n <Typography.Text weight={ weight } color={ color } view=\"title\" tag=\"div\">\n { rightAddons }\n </Typography.Text>\n ) : rightAddons\n }\n </div>\n ) }\n </div>\n);\n"],"names":["SuperListItem","text","rightAddons","leftAddons","color","disabled","className","weight","hint","cn","styles","jsxs","jsx","Dot","Typography"],"mappings":";;;;;AAwCO,MAAMA,IAA8C,CAAC;AAAA,EACxD,MAAAC;AAAA,EACA,aAAAC;AAAA,EACA,YAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,MAAAC;AACJ,wBACK,OAAA,EAAI,WAAYC,EAAGC,EAAO,WAAWJ,CAAS,GAC3C,UAAA;AAAA,EAAA,gBAAAK,EAAC,OAAA,EAAI,WAAYD,EAAO,UAClB,UAAA;AAAA,IAAAP,KAAc,CAACE,KACb,gBAAAO,EAAC,SAAI,WAAYF,EAAO,YAClB,UAAAP,GACN;AAAA,IAGFE,KACE,gBAAAO,EAAC,OAAA,EAAI,WAAYF,EAAO,YACpB,UAAA,gBAAAE,EAACC,GAAA,EAAI,MAAK,MAAK,OAAM,OAAA,CAAO,GAChC;AAAA,IAEJ,gBAAAF,EAAC,OAAA,EAAI,WAAYD,EAAO,SACpB,UAAA;AAAA,MAAA,gBAAAE,EAACE,EAAW,MAAX,EAAgB,QAAAP,GAAkB,OAAAH,GAAgB,MAAK,SAAQ,KAAI,OAC9D,UAAAH,EAAA,CACN;AAAA,MAEEO,KACE,gBAAAI,EAACE,EAAW,MAAX,EAAgB,OAAM,aAAY,MAAK,QAAO,KAAI,OAC7C,UAAAN,EAAA,CACN;AAAA,IAAA,EAAA,CAGR;AAAA,EAAA,GACJ;AAAA,EACEN,uBACG,OAAA,EAAI,WAAYQ,EAAO,aACpB,UAAA,OAAOR,KAAgB,WACnB,gBAAAU,EAACE,EAAW,MAAX,EAAgB,QAAAP,GAAkB,OAAAH,GAAgB,MAAK,SAAQ,KAAI,OAC9D,UAAAF,EAAA,CACN,IACAA,EAAA,CAER;AAAA,EAAA,CAER;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}