@scbt-ecom/ui 0.4.2 → 0.4.4

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 (471) hide show
  1. package/dist/Notification-BGmp0XMG.js +5750 -0
  2. package/dist/Notification-BGmp0XMG.js.map +1 -0
  3. package/dist/client.d.ts +7 -0
  4. package/dist/client.js +39333 -0
  5. package/dist/client.js.map +1 -0
  6. package/dist/configs/index.d.ts +2 -0
  7. package/dist/configs/tailwindConfigBase.d.ts +2 -0
  8. package/dist/configs/tailwindPresets/extendsPreset.d.ts +2 -0
  9. package/dist/configs/tailwindPresets/index.d.ts +2 -0
  10. package/dist/configs/tailwindPresets/resetPreset.d.ts +2 -0
  11. package/dist/hybrid.d.ts +20 -0
  12. package/dist/hybrid.js +3939 -0
  13. package/dist/hybrid.js.map +1 -0
  14. package/dist/shared/constants/api.d.ts +2 -0
  15. package/dist/shared/constants/designSystem/colors.d.ts +124 -0
  16. package/dist/shared/constants/designSystem/index.d.ts +3 -0
  17. package/dist/shared/constants/designSystem/others.d.ts +27 -0
  18. package/dist/shared/constants/designSystem/typography.d.ts +75 -0
  19. package/dist/shared/constants/index.d.ts +2 -0
  20. package/dist/shared/hooks/index.d.ts +5 -0
  21. package/dist/shared/hooks/useBoolean.d.ts +3 -0
  22. package/dist/shared/hooks/useClickOutside.d.ts +2 -0
  23. package/dist/shared/hooks/useCombineRef.d.ts +5 -0
  24. package/dist/shared/hooks/useControlledForm.d.ts +7 -0
  25. package/dist/shared/hooks/useDebounce.d.ts +3 -0
  26. package/dist/shared/hooks/useMediaQuery.d.ts +4 -0
  27. package/dist/shared/ui/Badge.d.ts +6 -0
  28. package/dist/shared/ui/Breadcrumbs.d.ts +15 -0
  29. package/dist/shared/ui/ButtonIcon.d.ts +17 -0
  30. package/dist/shared/ui/CustomLink.d.ts +16 -0
  31. package/dist/shared/ui/Document.d.ts +13 -0
  32. package/dist/shared/ui/Heading.d.ts +12 -0
  33. package/dist/shared/ui/Hint.d.ts +21 -0
  34. package/dist/shared/ui/Loader.d.ts +21 -0
  35. package/dist/shared/ui/PhoneView.d.ts +12 -0
  36. package/dist/shared/ui/ProgressBar.d.ts +18 -0
  37. package/dist/shared/ui/ResponsiveContainer.d.ts +6 -0
  38. package/dist/shared/ui/Section.d.ts +6 -0
  39. package/dist/shared/ui/Skeleton.d.ts +4 -0
  40. package/dist/shared/ui/TabsSwitcher.d.ts +35 -0
  41. package/dist/shared/ui/accordion/Accordion.d.ts +13 -0
  42. package/dist/shared/ui/accordion/index.d.ts +1 -0
  43. package/dist/shared/ui/accordion/model/types.d.ts +17 -0
  44. package/dist/shared/ui/accordion/ui/AccordionHeader.d.ts +8 -0
  45. package/dist/shared/ui/brandLogos.d.ts +5 -0
  46. package/dist/shared/ui/button/Button.d.ts +18 -0
  47. package/dist/shared/ui/button/index.d.ts +1 -0
  48. package/dist/shared/ui/button/model/helpers.d.ts +2 -0
  49. package/dist/shared/ui/formControlElements/CheckboxControl.d.ts +13 -0
  50. package/dist/shared/ui/formControlElements/FormControl.d.ts +3 -0
  51. package/dist/shared/ui/formControlElements/InputControlMask.d.ts +10 -0
  52. package/dist/shared/ui/formControlElements/RadioControl.d.ts +26 -0
  53. package/dist/shared/ui/formControlElements/SwitchControl.d.ts +16 -0
  54. package/dist/shared/ui/formControlElements/TextareaControl.d.ts +11 -0
  55. package/dist/shared/ui/formControlElements/calendarControl/CalendarControl.d.ts +15 -0
  56. package/dist/shared/ui/formControlElements/calendarControl/hooks/index.d.ts +2 -0
  57. package/dist/shared/ui/formControlElements/calendarControl/hooks/useCalendar.d.ts +16 -0
  58. package/dist/shared/ui/formControlElements/calendarControl/hooks/useCalendarDropdowns.d.ts +9 -0
  59. package/{lib/shared/ui/formControlElements/calendarControl/index.ts → dist/shared/ui/formControlElements/calendarControl/index.d.ts} +1 -1
  60. package/dist/shared/ui/formControlElements/calendarControl/model/helpers.d.ts +24 -0
  61. package/dist/shared/ui/formControlElements/calendarControl/model/types.d.ts +33 -0
  62. package/dist/shared/ui/formControlElements/calendarControl/ui/DaysOfMonth.d.ts +10 -0
  63. package/dist/shared/ui/formControlElements/calendarControl/ui/DaysOfWeek.d.ts +6 -0
  64. package/dist/shared/ui/formControlElements/calendarControl/ui/Dropdown.d.ts +11 -0
  65. package/dist/shared/ui/formControlElements/calendarControl/ui/Header.d.ts +14 -0
  66. package/dist/shared/ui/formControlElements/calendarControl/ui/Navigation.d.ts +9 -0
  67. package/dist/shared/ui/formControlElements/calendarControl/ui/OptionsList.d.ts +5 -0
  68. package/dist/shared/ui/formControlElements/calendarControl/ui/index.d.ts +4 -0
  69. package/dist/shared/ui/formControlElements/comboboxControl/ComboboxControl.d.ts +31 -0
  70. package/{lib/shared/ui/formControlElements/comboboxControl/index.ts → dist/shared/ui/formControlElements/comboboxControl/index.d.ts} +1 -1
  71. package/dist/shared/ui/formControlElements/comboboxControl/model/selectClassnames.d.ts +21 -0
  72. package/dist/shared/ui/formControlElements/comboboxControl/model/types.d.ts +36 -0
  73. package/dist/shared/ui/formControlElements/comboboxControl/ui/ComboboxOption.d.ts +8 -0
  74. package/dist/shared/ui/formControlElements/comboboxControl/ui/DropdownIndicator.d.ts +7 -0
  75. package/dist/shared/ui/formControlElements/comboboxControl/ui/MultiValueRemove.d.ts +7 -0
  76. package/dist/shared/ui/formControlElements/comboboxControl/ui/index.d.ts +3 -0
  77. package/dist/shared/ui/formControlElements/dadata/DadataInputControl.d.ts +14 -0
  78. package/{lib/shared/ui/formControlElements/dadata/index.ts → dist/shared/ui/formControlElements/dadata/index.d.ts} +1 -1
  79. package/dist/shared/ui/formControlElements/dadata/model/api.d.ts +2 -0
  80. package/dist/shared/ui/formControlElements/dadata/model/helpers.d.ts +7 -0
  81. package/dist/shared/ui/formControlElements/dadata/model/types.d.ts +42 -0
  82. package/dist/shared/ui/formControlElements/dadata/model/useDadata.d.ts +7 -0
  83. package/dist/shared/ui/formControlElements/editorControl/EditorControl.d.ts +7 -0
  84. package/dist/shared/ui/formControlElements/editorControl/components/conrols.d.ts +6 -0
  85. package/dist/shared/ui/formControlElements/editorControl/components/menu.d.ts +6 -0
  86. package/dist/shared/ui/formControlElements/editorControl/index.d.ts +1 -0
  87. package/dist/shared/ui/formControlElements/editorControl/ui/RemoveBlockButton.d.ts +2 -0
  88. package/dist/shared/ui/formControlElements/editorControl/ui/ResetBlockType.d.ts +2 -0
  89. package/{lib/shared/ui/formControlElements/index.ts → dist/shared/ui/formControlElements/index.d.ts} +14 -14
  90. package/dist/shared/ui/formControlElements/inputControl/InputControl.d.ts +7 -0
  91. package/{lib/shared/ui/formControlElements/inputControl/index.ts → dist/shared/ui/formControlElements/inputControl/index.d.ts} +1 -1
  92. package/dist/shared/ui/formControlElements/inputControl/model/hooks.d.ts +5 -0
  93. package/dist/shared/ui/formControlElements/inputControlUploader/InputControlUploader.d.ts +10 -0
  94. package/{lib/shared/ui/formControlElements/inputControlUploader/index.ts → dist/shared/ui/formControlElements/inputControlUploader/index.d.ts} +1 -1
  95. package/dist/shared/ui/formControlElements/inputControlUploader/model/helpers.d.ts +8 -0
  96. package/dist/shared/ui/formControlElements/inputControlUploader/model/hooks/useUploader.d.ts +11 -0
  97. package/{lib/shared/ui/formControlElements/inputControlUploader/model/index.ts → dist/shared/ui/formControlElements/inputControlUploader/model/index.d.ts} +1 -1
  98. package/dist/shared/ui/formControlElements/inputControlUploader/model/types.d.ts +20 -0
  99. package/dist/shared/ui/formControlElements/inputControlUploader/ui/File.d.ts +12 -0
  100. package/dist/shared/ui/formControlElements/inputControlUploader/ui/Filename.d.ts +7 -0
  101. package/dist/shared/ui/formControlElements/inputControlUploader/ui/Files.d.ts +12 -0
  102. package/dist/shared/ui/formControlElements/inputControlUploader/ui/Input.d.ts +11 -0
  103. package/dist/shared/ui/formControlElements/inputControlUploader/ui/Uploader.d.ts +15 -0
  104. package/dist/shared/ui/formControlElements/inputControlUploader/ui/index.d.ts +3 -0
  105. package/dist/shared/ui/formControlElements/inputCurrencyControl/InputCurrencyControl.d.ts +13 -0
  106. package/{lib/shared/ui/formControlElements/inputCurrencyControl/index.ts → dist/shared/ui/formControlElements/inputCurrencyControl/index.d.ts} +1 -1
  107. package/dist/shared/ui/formControlElements/inputCurrencyControl/model/helpers.d.ts +3 -0
  108. package/dist/shared/ui/formControlElements/inputCurrencyControl/model/useInputCurrency.d.ts +10 -0
  109. package/dist/shared/ui/formControlElements/inputCurrencyControl/ui/MenuTrigger.d.ts +7 -0
  110. package/dist/shared/ui/formControlElements/inputCurrencyControl/ui/OptionList.d.ts +8 -0
  111. package/dist/shared/ui/formControlElements/inputCurrencyControl/ui/index.d.ts +2 -0
  112. package/dist/shared/ui/formControlElements/inputSliderControl/InputSliderControl.d.ts +20 -0
  113. package/{lib/shared/ui/formControlElements/inputSliderControl/index.ts → dist/shared/ui/formControlElements/inputSliderControl/index.d.ts} +1 -1
  114. package/dist/shared/ui/formControlElements/inputSliderControl/model/helpers/dates/getEndWordMonth.d.ts +1 -0
  115. package/dist/shared/ui/formControlElements/inputSliderControl/model/helpers/dates/getYearEnding.d.ts +1 -0
  116. package/dist/shared/ui/formControlElements/inputSliderControl/model/helpers/dates/index.d.ts +2 -0
  117. package/dist/shared/ui/formControlElements/inputSliderControl/model/helpers/formatNumber.d.ts +1 -0
  118. package/dist/shared/ui/formControlElements/inputSliderControl/model/helpers/getInputSliderSuffix.d.ts +3 -0
  119. package/dist/shared/ui/formControlElements/inputSliderControl/model/helpers/getStepByVariant.d.ts +2 -0
  120. package/dist/shared/ui/formControlElements/inputSliderControl/model/helpers/index.d.ts +4 -0
  121. package/dist/shared/ui/formControlElements/inputSliderControl/model/types.d.ts +1 -0
  122. package/dist/shared/ui/formControlElements/inputSliderControl/model/useSlider.d.ts +6 -0
  123. package/dist/shared/ui/formControlElements/inputSliderControl/ui/SliderControl.d.ts +17 -0
  124. package/dist/shared/ui/formControlElements/inputSliderControl/ui/index.d.ts +1 -0
  125. package/dist/shared/ui/formControlElements/model/classes-types.d.ts +18 -0
  126. package/dist/shared/ui/formControlElements/model/index.d.ts +2 -0
  127. package/dist/shared/ui/formControlElements/model/message-view-animation.d.ts +22 -0
  128. package/dist/shared/ui/formControlElements/model/props-types.d.ts +22 -0
  129. package/dist/shared/ui/formControlElements/ui/FieldAttachment.d.ts +15 -0
  130. package/dist/shared/ui/formControlElements/ui/FieldContainer.d.ts +15 -0
  131. package/dist/shared/ui/formControlElements/ui/FieldWrapper.d.ts +14 -0
  132. package/dist/shared/ui/formControlElements/ui/Label.d.ts +11 -0
  133. package/dist/shared/ui/formControlElements/ui/MessageView.d.ts +13 -0
  134. package/dist/shared/ui/formControlElements/ui/index.d.ts +4 -0
  135. package/dist/shared/ui/icon/Icon.d.ts +10 -0
  136. package/{lib/shared/ui/icon/index.ts → dist/shared/ui/icon/index.d.ts} +2 -2
  137. package/dist/shared/ui/icon/sprite.gen.d.ts +18 -0
  138. package/dist/shared/ui/index.d.ts +24 -0
  139. package/dist/shared/ui/modal/Modal.d.ts +16 -0
  140. package/dist/shared/ui/modal/index.d.ts +1 -0
  141. package/dist/shared/ui/modal/model/helpers.d.ts +33 -0
  142. package/dist/shared/ui/modal/ui/ModalHeader.d.ts +12 -0
  143. package/dist/shared/ui/notification/Notification.d.ts +10 -0
  144. package/{lib/shared/ui/notification/index.ts → dist/shared/ui/notification/index.d.ts} +1 -1
  145. package/dist/shared/ui/notification/ui/CustomToast.d.ts +10 -0
  146. package/dist/shared/ui/popover/Popover.d.ts +23 -0
  147. package/dist/shared/ui/popover/index.d.ts +1 -0
  148. package/dist/shared/ui/providers/NotificationProvider.d.ts +5 -0
  149. package/{lib/shared/ui/providers/index.ts → dist/shared/ui/providers/index.d.ts} +1 -1
  150. package/dist/shared/ui/table/Table.d.ts +17 -0
  151. package/dist/shared/ui/table/index.d.ts +1 -0
  152. package/dist/shared/ui/table/type.d.ts +21 -0
  153. package/dist/shared/utils/capitalize.d.ts +1 -0
  154. package/dist/shared/utils/cn.d.ts +2 -0
  155. package/dist/shared/utils/deepCompare.d.ts +1 -0
  156. package/dist/shared/utils/formatToDate.d.ts +1 -0
  157. package/dist/shared/utils/index.d.ts +5 -0
  158. package/dist/shared/utils/isClient.d.ts +1 -0
  159. package/dist/shared/validation/index.d.ts +3 -0
  160. package/dist/shared/validation/messages.d.ts +12 -0
  161. package/dist/shared/validation/regExp.d.ts +3 -0
  162. package/dist/shared/validation/zodValidation/calendar.d.ts +2 -0
  163. package/dist/shared/validation/zodValidation/dadataFio.d.ts +6 -0
  164. package/dist/shared/validation/zodValidation/index.d.ts +2 -0
  165. package/dist/style.css +1 -0
  166. package/dist/widgets/Advantages.d.ts +17 -0
  167. package/dist/widgets/banner/Banner.d.ts +29 -0
  168. package/dist/widgets/banner/index.d.ts +1 -0
  169. package/dist/widgets/banner/model/helpers.d.ts +9 -0
  170. package/dist/widgets/banner/ui/BannerButtonsGroup.d.ts +13 -0
  171. package/dist/widgets/banner/ui/banners/BannerImageFull.d.ts +2 -0
  172. package/dist/widgets/banner/ui/banners/BannerWithSeparateImg.d.ts +2 -0
  173. package/dist/widgets/banner/ui/banners/index.d.ts +1 -0
  174. package/dist/widgets/footer/Footer.d.ts +27 -0
  175. package/dist/widgets/footer/index.d.ts +1 -0
  176. package/dist/widgets/footer/model/defaultValues.d.ts +6 -0
  177. package/dist/widgets/footer/model/types.d.ts +16 -0
  178. package/dist/widgets/footer/ui/Copyright.d.ts +10 -0
  179. package/dist/widgets/footer/ui/Ligal.d.ts +12 -0
  180. package/dist/widgets/footer/ui/NavLinks.d.ts +14 -0
  181. package/dist/widgets/footer/ui/PhonesBlock.d.ts +13 -0
  182. package/dist/widgets/footer/ui/SocialLinks.d.ts +12 -0
  183. package/{lib/widgets/footer/ui/index.ts → dist/widgets/footer/ui/index.d.ts} +5 -5
  184. package/{lib/widgets/index.ts → dist/widgets/index.d.ts} +5 -5
  185. package/dist/widgets/pageHeader/PageHeader.d.ts +16 -0
  186. package/{lib/widgets/pageHeader/index.ts → dist/widgets/pageHeader/index.d.ts} +1 -1
  187. package/dist/widgets/stepper/Stepper.d.ts +18 -0
  188. package/{lib/widgets/stepper/index.ts → dist/widgets/stepper/index.d.ts} +1 -1
  189. package/dist/widgets/stepper/ui/SingleStep.d.ts +14 -0
  190. package/package.json +4 -1
  191. package/.env +0 -3
  192. package/.github/workflows/publish.yml +0 -61
  193. package/.github/workflows/setup-node/action.yml +0 -22
  194. package/.husky/pre-commit +0 -1
  195. package/.prettierignore +0 -1
  196. package/.prettierrc +0 -20
  197. package/.releaserc +0 -18
  198. package/.storybook/main.ts +0 -44
  199. package/.storybook/preview.tsx +0 -37
  200. package/chromatic.config.json +0 -5
  201. package/eslint.config.mjs +0 -193
  202. package/index.html +0 -13
  203. package/lib/client.ts +0 -12
  204. package/lib/configs/index.ts +0 -2
  205. package/lib/configs/tailwindConfigBase.ts +0 -110
  206. package/lib/configs/tailwindPresets/extendsPreset.ts +0 -43
  207. package/lib/configs/tailwindPresets/index.ts +0 -2
  208. package/lib/configs/tailwindPresets/resetPreset.ts +0 -71
  209. package/lib/hybrid.ts +0 -25
  210. package/lib/shared/constants/api.ts +0 -2
  211. package/lib/shared/constants/designSystem/colors.ts +0 -121
  212. package/lib/shared/constants/designSystem/index.ts +0 -3
  213. package/lib/shared/constants/designSystem/others.ts +0 -30
  214. package/lib/shared/constants/designSystem/typography.ts +0 -88
  215. package/lib/shared/constants/index.ts +0 -2
  216. package/lib/shared/hooks/index.ts +0 -5
  217. package/lib/shared/hooks/useBoolean.ts +0 -12
  218. package/lib/shared/hooks/useClickOutside.ts +0 -22
  219. package/lib/shared/hooks/useCombineRef.ts +0 -23
  220. package/lib/shared/hooks/useControlledForm.ts +0 -16
  221. package/lib/shared/hooks/useDebounce.ts +0 -38
  222. package/lib/shared/hooks/useMediaQuery.tsx +0 -42
  223. package/lib/shared/style.css +0 -118
  224. package/lib/shared/ui/Badge.tsx +0 -20
  225. package/lib/shared/ui/Breadcrumbs.tsx +0 -57
  226. package/lib/shared/ui/ButtonIcon.tsx +0 -50
  227. package/lib/shared/ui/CustomLink.tsx +0 -76
  228. package/lib/shared/ui/Document.tsx +0 -51
  229. package/lib/shared/ui/Heading.tsx +0 -33
  230. package/lib/shared/ui/Hint.tsx +0 -72
  231. package/lib/shared/ui/Loader.tsx +0 -58
  232. package/lib/shared/ui/PhoneView.tsx +0 -23
  233. package/lib/shared/ui/ProgressBar.tsx +0 -43
  234. package/lib/shared/ui/ResponsiveContainer.tsx +0 -15
  235. package/lib/shared/ui/Section.tsx +0 -15
  236. package/lib/shared/ui/Skeleton.tsx +0 -9
  237. package/lib/shared/ui/TabsSwitcher.tsx +0 -87
  238. package/lib/shared/ui/accordion/Accordion.tsx +0 -36
  239. package/lib/shared/ui/accordion/index.ts +0 -1
  240. package/lib/shared/ui/accordion/model/types.ts +0 -20
  241. package/lib/shared/ui/accordion/ui/AccordionHeader.tsx +0 -35
  242. package/lib/shared/ui/brandLogos.tsx +0 -14
  243. package/lib/shared/ui/button/Button.tsx +0 -117
  244. package/lib/shared/ui/button/index.ts +0 -1
  245. package/lib/shared/ui/button/model/helpers.ts +0 -16
  246. package/lib/shared/ui/formControlElements/CheckboxControl.tsx +0 -92
  247. package/lib/shared/ui/formControlElements/FormControl.tsx +0 -5
  248. package/lib/shared/ui/formControlElements/InputControlMask.tsx +0 -90
  249. package/lib/shared/ui/formControlElements/RadioControl.tsx +0 -130
  250. package/lib/shared/ui/formControlElements/SwitchControl.tsx +0 -79
  251. package/lib/shared/ui/formControlElements/TextareaControl.tsx +0 -96
  252. package/lib/shared/ui/formControlElements/calendarControl/CalendarControl.tsx +0 -178
  253. package/lib/shared/ui/formControlElements/calendarControl/hooks/index.ts +0 -2
  254. package/lib/shared/ui/formControlElements/calendarControl/hooks/useCalendar.tsx +0 -86
  255. package/lib/shared/ui/formControlElements/calendarControl/hooks/useCalendarDropdowns.ts +0 -38
  256. package/lib/shared/ui/formControlElements/calendarControl/model/helpers.ts +0 -60
  257. package/lib/shared/ui/formControlElements/calendarControl/model/types.ts +0 -44
  258. package/lib/shared/ui/formControlElements/calendarControl/ui/DaysOfMonth.tsx +0 -53
  259. package/lib/shared/ui/formControlElements/calendarControl/ui/DaysOfWeek.tsx +0 -28
  260. package/lib/shared/ui/formControlElements/calendarControl/ui/Dropdown.tsx +0 -62
  261. package/lib/shared/ui/formControlElements/calendarControl/ui/Header.tsx +0 -51
  262. package/lib/shared/ui/formControlElements/calendarControl/ui/Navigation.tsx +0 -32
  263. package/lib/shared/ui/formControlElements/calendarControl/ui/OptionsList.tsx +0 -44
  264. package/lib/shared/ui/formControlElements/calendarControl/ui/index.ts +0 -4
  265. package/lib/shared/ui/formControlElements/comboboxControl/ComboboxControl.tsx +0 -134
  266. package/lib/shared/ui/formControlElements/comboboxControl/model/selectClassnames.ts +0 -51
  267. package/lib/shared/ui/formControlElements/comboboxControl/model/types.ts +0 -42
  268. package/lib/shared/ui/formControlElements/comboboxControl/ui/ComboboxOption.tsx +0 -38
  269. package/lib/shared/ui/formControlElements/comboboxControl/ui/DropdownIndicator.tsx +0 -23
  270. package/lib/shared/ui/formControlElements/comboboxControl/ui/MultiValueRemove.tsx +0 -16
  271. package/lib/shared/ui/formControlElements/comboboxControl/ui/index.ts +0 -3
  272. package/lib/shared/ui/formControlElements/dadata/DadataInputControl.tsx +0 -137
  273. package/lib/shared/ui/formControlElements/dadata/model/api.ts +0 -25
  274. package/lib/shared/ui/formControlElements/dadata/model/helpers.ts +0 -76
  275. package/lib/shared/ui/formControlElements/dadata/model/types.ts +0 -52
  276. package/lib/shared/ui/formControlElements/dadata/model/useDadata.ts +0 -25
  277. package/lib/shared/ui/formControlElements/editorControl/EditorControl.tsx +0 -82
  278. package/lib/shared/ui/formControlElements/editorControl/components/conrols.tsx +0 -136
  279. package/lib/shared/ui/formControlElements/editorControl/components/menu.tsx +0 -107
  280. package/lib/shared/ui/formControlElements/editorControl/index.ts +0 -60
  281. package/lib/shared/ui/formControlElements/editorControl/ui/RemoveBlockButton.tsx +0 -23
  282. package/lib/shared/ui/formControlElements/editorControl/ui/ResetBlockType.tsx +0 -17
  283. package/lib/shared/ui/formControlElements/inputControl/InputControl.tsx +0 -87
  284. package/lib/shared/ui/formControlElements/inputControl/model/hooks.tsx +0 -26
  285. package/lib/shared/ui/formControlElements/inputControlUploader/InputControlUploader.tsx +0 -47
  286. package/lib/shared/ui/formControlElements/inputControlUploader/model/helpers.ts +0 -18
  287. package/lib/shared/ui/formControlElements/inputControlUploader/model/hooks/useUploader.tsx +0 -66
  288. package/lib/shared/ui/formControlElements/inputControlUploader/model/types.ts +0 -22
  289. package/lib/shared/ui/formControlElements/inputControlUploader/ui/File.tsx +0 -35
  290. package/lib/shared/ui/formControlElements/inputControlUploader/ui/Filename.tsx +0 -40
  291. package/lib/shared/ui/formControlElements/inputControlUploader/ui/Files.tsx +0 -30
  292. package/lib/shared/ui/formControlElements/inputControlUploader/ui/Input.tsx +0 -48
  293. package/lib/shared/ui/formControlElements/inputControlUploader/ui/Uploader.tsx +0 -58
  294. package/lib/shared/ui/formControlElements/inputControlUploader/ui/index.ts +0 -3
  295. package/lib/shared/ui/formControlElements/inputCurrencyControl/InputCurrencyControl.tsx +0 -88
  296. package/lib/shared/ui/formControlElements/inputCurrencyControl/model/helpers.ts +0 -46
  297. package/lib/shared/ui/formControlElements/inputCurrencyControl/model/useInputCurrency.tsx +0 -33
  298. package/lib/shared/ui/formControlElements/inputCurrencyControl/ui/MenuTrigger.tsx +0 -20
  299. package/lib/shared/ui/formControlElements/inputCurrencyControl/ui/OptionList.tsx +0 -29
  300. package/lib/shared/ui/formControlElements/inputCurrencyControl/ui/index.ts +0 -2
  301. package/lib/shared/ui/formControlElements/inputSliderControl/InputSliderControl.tsx +0 -144
  302. package/lib/shared/ui/formControlElements/inputSliderControl/model/helpers/dates/getEndWordMonth.ts +0 -14
  303. package/lib/shared/ui/formControlElements/inputSliderControl/model/helpers/dates/getYearEnding.ts +0 -13
  304. package/lib/shared/ui/formControlElements/inputSliderControl/model/helpers/dates/index.ts +0 -2
  305. package/lib/shared/ui/formControlElements/inputSliderControl/model/helpers/formatNumber.ts +0 -6
  306. package/lib/shared/ui/formControlElements/inputSliderControl/model/helpers/getInputSliderSuffix.ts +0 -20
  307. package/lib/shared/ui/formControlElements/inputSliderControl/model/helpers/getStepByVariant.ts +0 -29
  308. package/lib/shared/ui/formControlElements/inputSliderControl/model/helpers/index.ts +0 -4
  309. package/lib/shared/ui/formControlElements/inputSliderControl/model/types.ts +0 -1
  310. package/lib/shared/ui/formControlElements/inputSliderControl/model/useSlider.ts +0 -26
  311. package/lib/shared/ui/formControlElements/inputSliderControl/ui/SliderControl.tsx +0 -47
  312. package/lib/shared/ui/formControlElements/inputSliderControl/ui/index.ts +0 -1
  313. package/lib/shared/ui/formControlElements/model/classes-types.ts +0 -22
  314. package/lib/shared/ui/formControlElements/model/index.ts +0 -2
  315. package/lib/shared/ui/formControlElements/model/message-view-animation.ts +0 -6
  316. package/lib/shared/ui/formControlElements/model/props-types.ts +0 -31
  317. package/lib/shared/ui/formControlElements/ui/FieldAttachment.tsx +0 -76
  318. package/lib/shared/ui/formControlElements/ui/FieldContainer.tsx +0 -37
  319. package/lib/shared/ui/formControlElements/ui/FieldWrapper.tsx +0 -33
  320. package/lib/shared/ui/formControlElements/ui/Label.tsx +0 -32
  321. package/lib/shared/ui/formControlElements/ui/MessageView.tsx +0 -41
  322. package/lib/shared/ui/formControlElements/ui/index.ts +0 -4
  323. package/lib/shared/ui/icon/Icon.tsx +0 -41
  324. package/lib/shared/ui/icon/sprite.gen.ts +0 -177
  325. package/lib/shared/ui/index.ts +0 -68
  326. package/lib/shared/ui/modal/Modal.tsx +0 -68
  327. package/lib/shared/ui/modal/index.ts +0 -1
  328. package/lib/shared/ui/modal/model/helpers.ts +0 -13
  329. package/lib/shared/ui/modal/ui/ModalHeader.tsx +0 -33
  330. package/lib/shared/ui/notification/Notification.tsx +0 -31
  331. package/lib/shared/ui/notification/ui/CustomToast.tsx +0 -42
  332. package/lib/shared/ui/popover/Popover.tsx +0 -74
  333. package/lib/shared/ui/popover/index.ts +0 -1
  334. package/lib/shared/ui/providers/NotificationProvider.tsx +0 -29
  335. package/lib/shared/ui/table/Table.tsx +0 -144
  336. package/lib/shared/ui/table/index.ts +0 -1
  337. package/lib/shared/ui/table/type.ts +0 -30
  338. package/lib/shared/utils/capitalize.ts +0 -6
  339. package/lib/shared/utils/cn.ts +0 -6
  340. package/lib/shared/utils/deepCompare.ts +0 -1
  341. package/lib/shared/utils/formatToDate.ts +0 -5
  342. package/lib/shared/utils/index.ts +0 -5
  343. package/lib/shared/utils/isClient.ts +0 -1
  344. package/lib/shared/validation/index.ts +0 -3
  345. package/lib/shared/validation/messages.ts +0 -12
  346. package/lib/shared/validation/regExp.ts +0 -5
  347. package/lib/shared/validation/zodValidation/calendar.ts +0 -32
  348. package/lib/shared/validation/zodValidation/dadataFio.ts +0 -67
  349. package/lib/shared/validation/zodValidation/index.ts +0 -2
  350. package/lib/vite-env.d.ts +0 -2
  351. package/lib/widgets/Advantages.tsx +0 -45
  352. package/lib/widgets/banner/Banner.tsx +0 -74
  353. package/lib/widgets/banner/index.ts +0 -1
  354. package/lib/widgets/banner/model/helpers.ts +0 -159
  355. package/lib/widgets/banner/money.png +0 -0
  356. package/lib/widgets/banner/saif.jpg +0 -0
  357. package/lib/widgets/banner/saifMob.jpg +0 -0
  358. package/lib/widgets/banner/seif.jpg +0 -0
  359. package/lib/widgets/banner/shield.jpg +0 -0
  360. package/lib/widgets/banner/shield.png +0 -0
  361. package/lib/widgets/banner/ui/BannerButtonsGroup.tsx +0 -44
  362. package/lib/widgets/banner/ui/banners/BannerImageFull.tsx +0 -82
  363. package/lib/widgets/banner/ui/banners/BannerWithSeparateImg.tsx +0 -60
  364. package/lib/widgets/banner/ui/banners/index.ts +0 -1
  365. package/lib/widgets/footer/Footer.tsx +0 -95
  366. package/lib/widgets/footer/index.ts +0 -1
  367. package/lib/widgets/footer/model/defaultValues.tsx +0 -105
  368. package/lib/widgets/footer/model/types.ts +0 -19
  369. package/lib/widgets/footer/ui/Copyright.tsx +0 -15
  370. package/lib/widgets/footer/ui/Ligal.tsx +0 -50
  371. package/lib/widgets/footer/ui/NavLinks.tsx +0 -41
  372. package/lib/widgets/footer/ui/PhonesBlock.tsx +0 -34
  373. package/lib/widgets/footer/ui/SocialLinks.tsx +0 -30
  374. package/lib/widgets/pageHeader/PageHeader.tsx +0 -54
  375. package/lib/widgets/stepper/Stepper.tsx +0 -43
  376. package/lib/widgets/stepper/ui/SingleStep.tsx +0 -42
  377. package/postcss.config.mjs +0 -8
  378. package/src/App.tsx +0 -9
  379. package/src/app/providers/RootProvider.tsx +0 -11
  380. package/src/app/providers/index.ts +0 -1
  381. package/src/app/providers/model/types.ts +0 -5
  382. package/src/configs/setup.ts +0 -9
  383. package/src/configs/storybook.config.ts +0 -23
  384. package/src/main.tsx +0 -10
  385. package/src/stories/primitives/Accordion.stories.tsx +0 -66
  386. package/src/stories/primitives/Badge.stories.tsx +0 -28
  387. package/src/stories/primitives/Breadcrumbs.stories.tsx +0 -29
  388. package/src/stories/primitives/Button/Button.stories.tsx +0 -149
  389. package/src/stories/primitives/Button/Button.test.tsx +0 -150
  390. package/src/stories/primitives/ButtonIcon.stories.tsx +0 -75
  391. package/src/stories/primitives/CustomLink.stories.tsx +0 -64
  392. package/src/stories/primitives/Document.stories.tsx +0 -36
  393. package/src/stories/primitives/Heading.stories.tsx +0 -29
  394. package/src/stories/primitives/Hint.stories.tsx +0 -82
  395. package/src/stories/primitives/Icon.stories.tsx +0 -36
  396. package/src/stories/primitives/Loader.stories.tsx +0 -39
  397. package/src/stories/primitives/Modal.stories.tsx +0 -106
  398. package/src/stories/primitives/Notification.stories.tsx +0 -102
  399. package/src/stories/primitives/PhoneView.stories.tsx +0 -22
  400. package/src/stories/primitives/Popover.stories.tsx +0 -41
  401. package/src/stories/primitives/ProgressBar.stories.tsx +0 -68
  402. package/src/stories/primitives/Skeleton.stories.tsx +0 -21
  403. package/src/stories/primitives/Table.stories.tsx +0 -44
  404. package/src/stories/primitives/TabsSwitcher.stories.tsx +0 -45
  405. package/src/stories/primitives/formControl/CalendarControl.stories.tsx +0 -45
  406. package/src/stories/primitives/formControl/CheckboxControl.stories.tsx +0 -64
  407. package/src/stories/primitives/formControl/ComboboxControl.stories.tsx +0 -67
  408. package/src/stories/primitives/formControl/DadataInputControl.stories.tsx +0 -79
  409. package/src/stories/primitives/formControl/EditorControl.stories.tsx +0 -31
  410. package/src/stories/primitives/formControl/FormControlAllFields.stories.tsx +0 -25
  411. package/src/stories/primitives/formControl/InputControl.stories.tsx +0 -84
  412. package/src/stories/primitives/formControl/InputControlPassword.stories.tsx +0 -38
  413. package/src/stories/primitives/formControl/InputControlUploader.stories.tsx +0 -44
  414. package/src/stories/primitives/formControl/InputCurrencyControl.stories.tsx +0 -73
  415. package/src/stories/primitives/formControl/InputSliderControl.stories.tsx +0 -62
  416. package/src/stories/primitives/formControl/RadioContol.stories.tsx +0 -61
  417. package/src/stories/primitives/formControl/SwitchControl.stories.tsx +0 -51
  418. package/src/stories/primitives/formControl/TextareaControl.stories.tsx +0 -55
  419. package/src/stories/primitives/formControl/inputControlMask.stories.tsx +0 -67
  420. package/src/stories/widgets/Advantages.stories.tsx +0 -42
  421. package/src/stories/widgets/Banner.stories.tsx +0 -94
  422. package/src/stories/widgets/Footer.stories.tsx +0 -36
  423. package/src/stories/widgets/PageHeader.stories.tsx +0 -33
  424. package/src/stories/widgets/Stepper.stories.tsx +0 -24
  425. package/src/storybookHelpers/actions.tsx +0 -5
  426. package/src/storybookHelpers/index.ts +0 -2
  427. package/src/storybookHelpers/reactHookForm/index.ts +0 -3
  428. package/src/storybookHelpers/reactHookForm/model/mockData.ts +0 -19
  429. package/src/storybookHelpers/reactHookForm/model/mocks.tsx +0 -105
  430. package/src/storybookHelpers/reactHookForm/model/renderFields.tsx +0 -58
  431. package/src/storybookHelpers/reactHookForm/model/types.ts +0 -86
  432. package/src/storybookHelpers/reactHookForm/ui/StorybookFieldsMapper.tsx +0 -32
  433. package/src/storybookHelpers/reactHookForm/ui/StorybookFormProvider.tsx +0 -43
  434. package/src/storybookHelpers/reactHookForm/ui/index.ts +0 -2
  435. package/src/storybookHelpers/table/utils/defaultValue.ts +0 -51
  436. package/static/arrows/arrowCircle.svg +0 -18
  437. package/static/arrows/arrowLink.svg +0 -3
  438. package/static/arrows/arrowRight.svg +0 -3
  439. package/static/brandLogos/logoBlack.svg +0 -14
  440. package/static/brandLogos/logoBusiness.svg +0 -80
  441. package/static/brandLogos/logoGray.svg +0 -56
  442. package/static/brandLogos/logoInsurance.svg +0 -124
  443. package/static/brandLogos/logoMain.svg +0 -14
  444. package/static/brandLogos/logoWhite.svg +0 -56
  445. package/static/files/border.svg +0 -6
  446. package/static/files/borderError.svg +0 -6
  447. package/static/files/documentFilled.svg +0 -4
  448. package/static/files/documentOutline.svg +0 -4
  449. package/static/files/upload.svg +0 -3
  450. package/static/general/calendar.svg +0 -3
  451. package/static/general/check.svg +0 -6
  452. package/static/general/close.svg +0 -12
  453. package/static/general/edit.svg +0 -4
  454. package/static/general/hiddenEye.svg +0 -4
  455. package/static/general/plus.svg +0 -3
  456. package/static/general/showEye.svg +0 -4
  457. package/static/info/warningCircle.svg +0 -5
  458. package/static/social/classmates.svg +0 -3
  459. package/static/social/telegram.svg +0 -3
  460. package/static/social/vk.svg +0 -3
  461. package/tailwind.config.ts +0 -10
  462. package/tsconfig.json +0 -33
  463. package/tsconfig.node.json +0 -11
  464. package/vite.config.ts +0 -68
  465. package/vitest.config.mjs +0 -12
  466. /package/{public → dist}/sprites/arrows.svg +0 -0
  467. /package/{public → dist}/sprites/brandLogos.svg +0 -0
  468. /package/{public → dist}/sprites/files.svg +0 -0
  469. /package/{public → dist}/sprites/general.svg +0 -0
  470. /package/{public → dist}/sprites/info.svg +0 -0
  471. /package/{public → dist}/sprites/social.svg +0 -0
@@ -1,4 +0,0 @@
1
- export { DaysOfWeek } from './DaysOfWeek'
2
- export { Navigation } from './Navigation'
3
- export { DaysOfMonth } from './DaysOfMonth'
4
- export { Header } from './Header'
@@ -1,134 +0,0 @@
1
- 'use client'
2
-
3
- import * as React from 'react'
4
- import { type Control, Controller, type FieldValues, type Path } from 'react-hook-form'
5
- import Select, { type DropdownIndicatorProps, type MultiValueRemoveProps, type OptionProps } from 'react-select'
6
- import { FieldContainer, MessageView } from '../ui'
7
- import { Label } from '../ui/Label'
8
- import { selectClassNames } from './model/selectClassnames'
9
- import {
10
- type TComboboxControlClasses,
11
- type TComboboxOptionClasses,
12
- type TDropdownIndicatorClasses,
13
- type TMultiValueRemoveClasses
14
- } from './model/types'
15
- import { ComboboxOption, DropdownIndicator, MultiValueRemove } from './ui'
16
- import { cn } from '$/shared/utils'
17
-
18
- type TSelectVariant = 'primary' | 'secondary'
19
-
20
- export interface SelectOption<ValueType> {
21
- value: ValueType
22
- label: string
23
- }
24
-
25
- export interface IComboboxControlProps<T extends FieldValues, ValueType> {
26
- name: Path<T>
27
- control: Control<T>
28
- options: SelectOption<ValueType>[]
29
- label: string
30
- size?: 'sm' | 'md' | 'lg' | 'full'
31
- helperText?: string
32
- marker?: boolean
33
- variant?: TSelectVariant
34
- isClearable?: boolean
35
- defaultValue?: ValueType
36
- noOptionsMessage?: string
37
- disabled?: boolean
38
- isMulti?: boolean
39
- placeholder?: string
40
- onClickIcon?: (...args: unknown[]) => unknown
41
- onKeyDownIcon?: (event: React.KeyboardEvent) => unknown
42
- isSearchable?: boolean
43
- classes?: Partial<TComboboxControlClasses>
44
- customChange?: (...args: unknown[]) => void
45
- }
46
-
47
- export const ComboboxControl = <T extends FieldValues, ValueType>({
48
- options,
49
- control,
50
- defaultValue,
51
- variant = 'primary',
52
- isClearable = false,
53
- label,
54
- disabled,
55
- placeholder = 'Выберите несколько значений',
56
- helperText,
57
- noOptionsMessage = 'Нет результатов поиска',
58
- size = 'full',
59
- classes,
60
- isMulti = false,
61
- isSearchable,
62
- customChange,
63
- ...props
64
- }: IComboboxControlProps<T, ValueType>) => {
65
- const selectId = React.useId()
66
-
67
- return (
68
- <Controller
69
- control={control}
70
- name={props.name}
71
- render={({ field: { onChange, ref, name, value }, fieldState: { error } }) => {
72
- return (
73
- <FieldContainer classes={classes} size={size}>
74
- <div
75
- className={cn(
76
- 'relative flex rounded-sm border border-solid border-transparent bg-color-blue-grey-100 transition-colors hover:bg-color-blue-grey-200 focus:outline-blue-grey-800 active:bg-color-blue-grey-100 group-focus-within:border-blue-grey-800',
77
- { '!border-negative': error },
78
- { '!bg-color-blue-grey-100': disabled }
79
- )}
80
- >
81
- {!isMulti && <Label disabled={disabled} classes={classes} fieldId={selectId} label={label} value={value} />}
82
- <Select
83
- inputId={selectId}
84
- placeholder={isMulti ? placeholder : ''}
85
- classNamePrefix={variant}
86
- instanceId={name}
87
- hideSelectedOptions={false}
88
- closeMenuOnSelect={!isMulti}
89
- components={{
90
- Option: (props: OptionProps) => (
91
- <ComboboxOption {...props} classes={classes as Partial<TComboboxOptionClasses>} />
92
- ),
93
- MultiValueRemove: (props: MultiValueRemoveProps) => (
94
- <MultiValueRemove {...props} classes={classes as Partial<TMultiValueRemoveClasses>} />
95
- ),
96
- DropdownIndicator: (props: DropdownIndicatorProps) => (
97
- <DropdownIndicator {...props} classes={classes as Partial<TDropdownIndicatorClasses>} />
98
- )
99
- }}
100
- classNames={selectClassNames(isMulti, disabled, classes)}
101
- isSearchable={isSearchable}
102
- ref={ref}
103
- isDisabled={disabled}
104
- isMulti={isMulti}
105
- defaultValue={defaultValue}
106
- isClearable={isClearable}
107
- noOptionsMessage={() => noOptionsMessage}
108
- options={options}
109
- value={options.find((option) => (option as SelectOption<ValueType>).value === value)}
110
- onChange={(option) => {
111
- if (customChange) {
112
- customChange(option)
113
- }
114
- if (isMulti) {
115
- onChange((option as SelectOption<ValueType>[])?.map((c) => c.value))
116
- } else {
117
- onChange((option as SelectOption<ValueType>)?.value)
118
- }
119
- }}
120
- {...props}
121
- />
122
- </div>
123
- <MessageView
124
- className={cn(classes?.message)}
125
- intent={error?.message ? 'error' : 'simple'}
126
- text={error?.message || helperText}
127
- disabled={disabled}
128
- />
129
- </FieldContainer>
130
- )
131
- }}
132
- />
133
- )
134
- }
@@ -1,51 +0,0 @@
1
- import { type MenuProps, type OptionProps } from 'react-select'
2
- import { type TComboboxControlClassesCommon } from './types'
3
- import { cn } from '$/shared/utils'
4
-
5
- export const selectClassNames = (isMulti: boolean, disabled?: boolean, classes?: Partial<TComboboxControlClassesCommon>) => ({
6
- dropdownIndicator: () => cn('absolute top-1/2 right-4 !p-0 -translate-y-1/2', classes?.dropdownIndicator),
7
- indicatorsContainer: () => cn('', classes?.indicatorsContainer),
8
- input: () =>
9
- cn(
10
- 'desk-body-regular-l !p-0 !m-0 z-10 rounded-md bg-color-transparent text-color-dark outline-none transition-all',
11
- classes?.inputCombobox
12
- ),
13
- valueContainer: () => cn('desk-body-regular-l mr-7 gap-2 !p-0', classes?.valueContainer),
14
- control: () =>
15
- cn(
16
- 'p-4 !min-h-[56px] !bg-color-transparent !border-transparent transition-colors !shadow-[0px_0px_0px_0px_rgba(0,0,0,0)]',
17
- {
18
- 'p-0 pt-5 pl-4': !isMulti
19
- },
20
- classes?.controlCombobox
21
- ),
22
- container: () => cn('w-full !static', classes?.containerCombobox),
23
- menuList: () => {
24
- return cn('scrollHidden !customScrollbar-y !max-h-[246px] flex flex-col gap-[2px] overflow-x-hidden p-2', classes?.menuList)
25
- },
26
- menu: (state: MenuProps) => {
27
- return cn(
28
- 'absolute !p-0 top-14 transition-all z-10 mt-2 flex w-full flex-col rounded-md border border-solid border-blue-grey-700 bg-color-white p-2 transition-all empty:invisible !shadow-[0px_0px_0px_0px_rgba(0,0,0,0)]',
29
- { 'scale-100 visible opacity-100': state.selectProps.menuIsOpen },
30
- { 'scale-95 invisible opacity-0': !state.selectProps.menuIsOpen },
31
- classes?.menuCombobox
32
- )
33
- },
34
- group: () => cn('bg-color-positive z-10', classes?.groupCombobox),
35
- option: (state: OptionProps) =>
36
- cn(
37
- 'flex !pl-10 cursor-pointer bg-color-initial text-color-initial items-center justify-between gap-2 active:!bg-color-blue-grey-200 rounded-sm px-3 py-3 hover:!bg-color-blue-grey-200 data-[disabled]:pointer-events-none data-[disabled]:!bg-color-blue-grey-100 data-[selected=true]:!bg-color-negative data-[disabled]:!text-color-disabled focus:!bg-color-blue-grey-200 active:!bg-color-blue-grey-200 hover:text-color-primary-hover',
38
- { '!pl-2': !isMulti },
39
- { '!bg-color-primary-tr-focus !text-color-primary-hover': state.isSelected },
40
- { '!bg-color-primary-tr-focus !text-color-primary-hover': state.isFocused },
41
- classes?.optionCombobox
42
- ),
43
- noOptionsMessage: () => cn('!desk-body-regular-m !text-color-tetriary', classes?.noOptionsMessage),
44
- singleValue: () => cn('!m-0', classes?.singleValue),
45
- multiValue: () => cn('!bg-color-blue-grey-300 truncate max-w-[300px] !rounded-sm px-[8px] !m-0 py-[5px]', classes?.multiValue),
46
- multiValueLabel: () => cn('[&&]:desk-body-regular-l !p-0 pl-[6px] !text-color-secondary', classes?.multiValueLabel),
47
- multiValueRemove: () => cn('hover:!bg-color-transparent', classes?.multiValueRemove),
48
- placeholder: () =>
49
- cn('!text-icon-blue-grey-600 !desk-body-regular-l', { '!text-color-disabled': disabled }, classes?.placeholderCombobox),
50
- indicatorSeparator: () => cn('!hidden', classes?.indicatorSeparator)
51
- })
@@ -1,42 +0,0 @@
1
- import { type TAdditionalInputPrimitiveClasses } from '../../model'
2
-
3
- export type TComboboxControlClasses = Partial<TComboboxControlClassesCommon> &
4
- Partial<TAdditionalInputPrimitiveClasses> &
5
- Partial<TComboboxChildClasses> & {}
6
-
7
- export type TComboboxControlClassesCommon = {
8
- messageCombobox: string
9
- selectWrapper: string
10
- dropdownIndicator: string
11
- indicatorsContainer: string
12
- inputCombobox: string
13
- valueContainer: string
14
- controlCombobox: string
15
- containerCombobox: string
16
- menuList: string
17
- menuCombobox: string
18
- groupCombobox: string
19
- menuPortal: string
20
- optionCombobox: string
21
- noOptionsMessage: string
22
- singleValue: string
23
- multiValue: string
24
- multiValueLabel: string
25
- multiValueRemove: string
26
- placeholderCombobox: string
27
- indicatorSeparator?: string
28
- }
29
-
30
- export type TComboboxChildClasses = TMultiValueRemoveClasses | TComboboxOptionClasses | TDropdownIndicatorClasses
31
-
32
- export type TMultiValueRemoveClasses = {
33
- multiRemoveIcon: string
34
- }
35
- export type TComboboxOptionClasses = {
36
- optionCustom: string
37
- checkboxIsMulti: string
38
- checkboxIsMultiIcon: string
39
- }
40
- export type TDropdownIndicatorClasses = {
41
- indicatorIcon: string
42
- }
@@ -1,38 +0,0 @@
1
- import { components, type OptionProps } from 'react-select'
2
- import { type TComboboxOptionClasses } from '../model/types'
3
- import { Icon } from '$/shared/ui'
4
- import { cn } from '$/shared/utils'
5
-
6
- interface IComboboxOptionProps<Option> extends OptionProps<Option> {
7
- classes?: Partial<TComboboxOptionClasses>
8
- isSelected: boolean
9
- }
10
-
11
- export const ComboboxOption = <Option,>({ isSelected, classes, ...props }: IComboboxOptionProps<Option>) => {
12
- const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {
13
- if (props.innerProps.onClick) {
14
- props.innerProps.onClick(event)
15
- }
16
- }
17
-
18
- return (
19
- <div className={cn('relative flex cursor-pointer items-center', classes?.optionCustom)}>
20
- {props.isMulti && (
21
- <span
22
- onClick={handleClick}
23
- className={cn(
24
- 'absolute left-1 flex size-6 items-center justify-center rounded-sm border-2 border-blue-grey-700',
25
- { 'border-none bg-color-primary-default': isSelected },
26
- classes?.checkboxIsMulti
27
- )}
28
- >
29
- <Icon
30
- name='general/check'
31
- className={cn('size-5 text-icon-white', { invisible: !isSelected }, classes?.checkboxIsMultiIcon)}
32
- />
33
- </span>
34
- )}
35
- <components.Option isSelected={isSelected} {...props} />
36
- </div>
37
- )
38
- }
@@ -1,23 +0,0 @@
1
- import { components, type DropdownIndicatorProps } from 'react-select'
2
- import { type TDropdownIndicatorClasses } from '../model/types'
3
- import { Icon } from '$/shared/ui'
4
- import { cn } from '$/shared/utils'
5
-
6
- interface IDropdownIndicatorProps<Option> extends DropdownIndicatorProps<Option> {
7
- classes?: Partial<TDropdownIndicatorClasses>
8
- }
9
-
10
- export const DropdownIndicator = <Option,>({ classes, ...props }: IDropdownIndicatorProps<Option>) => {
11
- return (
12
- <components.DropdownIndicator {...props}>
13
- <Icon
14
- name='arrows/arrowRight'
15
- className={cn(
16
- 'size-6 rotate-90 text-icon-blue-grey-600 transition-all',
17
- { '-rotate-90': props.selectProps.menuIsOpen },
18
- classes?.indicatorIcon
19
- )}
20
- />
21
- </components.DropdownIndicator>
22
- )
23
- }
@@ -1,16 +0,0 @@
1
- import { components, type MultiValueRemoveProps } from 'react-select'
2
- import { type TMultiValueRemoveClasses } from '../model/types'
3
- import { Icon } from '$/shared/ui'
4
- import { cn } from '$/shared/utils'
5
-
6
- interface IMultiValueRemoveProps extends MultiValueRemoveProps {
7
- classes?: Partial<TMultiValueRemoveClasses>
8
- }
9
-
10
- export const MultiValueRemove = ({ classes, ...props }: IMultiValueRemoveProps) => {
11
- return (
12
- <components.MultiValueRemove {...props}>
13
- <Icon name='general/close' className={cn('size-4 text-icon-blue-grey-800', classes?.multiRemoveIcon)} />
14
- </components.MultiValueRemove>
15
- )
16
- }
@@ -1,3 +0,0 @@
1
- export { ComboboxOption } from './ComboboxOption'
2
- export { DropdownIndicator } from './DropdownIndicator'
3
- export { MultiValueRemove } from './MultiValueRemove'
@@ -1,137 +0,0 @@
1
- 'use client'
2
-
3
- import * as React from 'react'
4
- import { Controller, type FieldValues } from 'react-hook-form'
5
- import { Combobox, ComboboxInput, ComboboxOption, ComboboxOptions } from '@headlessui/react'
6
- import type { TAdditionalInputClassesWithAttachment, TControlledInputProps, TInputCommonProps } from '../model'
7
- import { FieldAttachment, FieldContainer, FieldWrapper, MessageView } from '../ui'
8
- import type { TDadataBaseUrl, TDadataType } from './model/types'
9
- import { useDadata } from './model/useDadata'
10
- import { cn } from '$/shared/utils'
11
-
12
- type TDadataClasses = Partial<TAdditionalInputClassesWithAttachment> & {
13
- options?: string
14
- indentMargin?: string
15
- }
16
-
17
- export interface IDadataInputControlProps<T extends FieldValues> extends TControlledInputProps<T>, TInputCommonProps {
18
- classes?: TDadataClasses
19
- dadataType?: TDadataType
20
- dadataBaseUrl?: TDadataBaseUrl
21
- }
22
-
23
- export const DadataInputControl = <T extends FieldValues>({
24
- control,
25
- helperText,
26
- classes,
27
- size = 'full',
28
- label,
29
- disabled,
30
- dadataType = 'fio',
31
- dadataBaseUrl = 'cache',
32
- badge,
33
- icon,
34
- swapPosition,
35
- onClickIcon,
36
- onKeyDownIcon,
37
-
38
- ...props
39
- }: IDadataInputControlProps<T>) => {
40
- const { setQuery, suggestionsOptions } = useDadata(dadataType, dadataBaseUrl)
41
- const inputId = React.useId()
42
- // TODO: Пофиксить при нажатие на enter очищается инпут, если нет опшенов
43
-
44
- return (
45
- <Controller
46
- control={control}
47
- name={props.name}
48
- render={({ field: { onChange, ref, name, value }, fieldState: { error } }) => {
49
- return (
50
- <FieldContainer size={size} classes={classes}>
51
- <Combobox value={value} onChange={onChange}>
52
- <FieldWrapper
53
- fieldId={inputId}
54
- label={label}
55
- classes={classes}
56
- disabled={disabled}
57
- value={value}
58
- error={!!error?.message}
59
- >
60
- <>
61
- <ComboboxInput
62
- className={cn(
63
- 'desk-body-regular-l z-10 h-[56px] w-full rounded-md bg-color-transparent px-4 pt-5 text-color-dark outline-none transition-all',
64
- classes?.input
65
- )}
66
- ref={ref}
67
- name={name}
68
- value={value} // TODO: capitalize
69
- displayValue={(currentValue: string) => {
70
- return currentValue
71
- }}
72
- onChange={(event) => {
73
- onChange(event.target.value)
74
- setQuery(event.target.value)
75
- }}
76
- />
77
- {/* //TODO: Пока проблемы с реализацией на других полях */}
78
- {/* {suggestionsOptions && debounceQuery && (
79
- <span className='absolute desk-body-regular-l text-color-blue-grey-600 left-[16px] top-[28px] capitalize group-focus-within:visible'>
80
- {suggestionsOptions[0]?.value}
81
- </span>
82
- )} */}
83
- <FieldAttachment
84
- onClickIcon={onClickIcon}
85
- onKeyDownIcon={onKeyDownIcon}
86
- badge={badge}
87
- icon={icon}
88
- error={!!error?.message}
89
- classes={classes}
90
- swapPosition={swapPosition}
91
- />
92
- </>
93
- </FieldWrapper>
94
- <MessageView
95
- className={cn(classes?.message)}
96
- intent={error?.message ? 'error' : 'simple'}
97
- text={error?.message || helperText}
98
- disabled={disabled}
99
- />
100
- <ComboboxOptions
101
- transition
102
- className={cn(
103
- 'scrollHidden absolute top-14 z-10 mt-2 flex w-full flex-col rounded-md border border-solid border-blue-grey-700 bg-color-white p-2 transition-all empty:invisible data-[closed]:scale-95 data-[closed]:opacity-0'
104
- )}
105
- >
106
- <div className='customScrollbar-y !max-h-[246px] overflow-x-hidden p-2'>
107
- {suggestionsOptions && suggestionsOptions?.length > 0 ? (
108
- <>
109
- {suggestionsOptions?.map(({ value: suggestionValue, additionalText, isDisabled }) => (
110
- <ComboboxOption
111
- disabled={isDisabled}
112
- key={suggestionValue}
113
- value={suggestionValue ?? ''}
114
- className='flex cursor-pointer items-center justify-between gap-2 rounded-sm px-3 py-3 hover:bg-color-blue-grey-200 data-[disabled]:pointer-events-none data-[disabled]:bg-color-blue-grey-100 data-[focus]:bg-color-blue-grey-200 data-[disabled]:text-color-disabled'
115
- >
116
- <div className='flex flex-col gap-1'>
117
- <p className='desk-body-regular-l'>{suggestionValue}</p>
118
-
119
- {additionalText && <span className='desk-body-regular-s text-color-tetriary'>{additionalText}</span>}
120
- </div>
121
- </ComboboxOption>
122
- ))}
123
- </>
124
- ) : (
125
- <ComboboxOption value='' className='desk-body-regular-m text-color-tetriary'>
126
- Ничего не найдено
127
- </ComboboxOption>
128
- )}
129
- </div>
130
- </ComboboxOptions>
131
- </Combobox>
132
- </FieldContainer>
133
- )
134
- }}
135
- />
136
- )
137
- }
@@ -1,25 +0,0 @@
1
- import { getDadataBaseUrl, getDataByDadataType } from './helpers'
2
- import type { TDadataBaseUrl, TDadataType } from './types'
3
-
4
- export const fetchSuggestions = async (searchText: string, dadataType: TDadataType, dadataBaseUrl: TDadataBaseUrl) => {
5
- try {
6
- const response = await fetch(`${getDadataBaseUrl(dadataBaseUrl)}/${dadataType}`, {
7
- method: 'POST',
8
- headers: {
9
- 'Content-Type': 'application/json',
10
- Accept: 'application/json'
11
- },
12
- body: JSON.stringify({ query: searchText })
13
- })
14
-
15
- if (!response.ok) throw new Error('error')
16
- const data = await response.json()
17
-
18
- const formattedData = getDataByDadataType(dadataType, data)
19
-
20
- return formattedData
21
- } catch (error) {
22
- console.error(error)
23
- return []
24
- }
25
- }
@@ -1,76 +0,0 @@
1
- import type {
2
- IDadataAutoOption,
3
- IDadataCacheOption,
4
- IDadataCacheSuggestion,
5
- IDadataConstantsAutoSuggestion,
6
- IDadataConstantsCountrySuggestion,
7
- IDadataCountryOption,
8
- IDadataOrganizationOption,
9
- TDadataBaseUrl,
10
- TDadataReturn,
11
- TDadataSuggestionType,
12
- TDadataType
13
- } from './types'
14
- import { DADATA_BASE_CACHE_URL, DADATA_BASE_CONSTANTS_URL } from '$/shared/constants'
15
-
16
- export const getDadataBaseUrl = (baseUrl: TDadataBaseUrl) => {
17
- switch (baseUrl) {
18
- case 'cache':
19
- return DADATA_BASE_CACHE_URL
20
- case 'constants':
21
- return DADATA_BASE_CONSTANTS_URL
22
- default:
23
- return DADATA_BASE_CACHE_URL
24
- }
25
- }
26
-
27
- export const getDataByDadataType = <T>(dadataType: TDadataType, data: TDadataReturn<T>) => {
28
- switch (dadataType) {
29
- case 'country':
30
- return (data as IDadataConstantsCountrySuggestion).matches
31
- case 'auto':
32
- return (data as IDadataConstantsAutoSuggestion).matches
33
- default:
34
- return (data as IDadataCacheSuggestion<T>).suggestions
35
- }
36
- }
37
-
38
- export const getOptionsByDadataType = <T>(dadataType: TDadataType, suggestions: TDadataSuggestionType<T>) => {
39
- switch (dadataType) {
40
- case 'country':
41
- return (suggestions as IDadataCountryOption[])?.map((suggestion) => {
42
- return {
43
- value: suggestion?.country_name,
44
- label: suggestion?.country_name
45
- }
46
- })
47
-
48
- case 'auto':
49
- return (suggestions as IDadataAutoOption[])?.map((suggestion) => {
50
- return {
51
- value: suggestion?.model_mark,
52
- label: suggestion?.model_mark
53
- }
54
- })
55
-
56
- case 'party':
57
- return (suggestions as IDadataOrganizationOption[])?.map((suggestion) => {
58
- return {
59
- value: suggestion?.value,
60
- label: suggestion?.value,
61
- additionalText: `ИНН: ${suggestion?.data?.inn}`
62
- }
63
- })
64
- case 'fio':
65
- case 'address':
66
- return (suggestions as IDadataCacheOption<T>[])?.map((suggestion) => {
67
- return {
68
- value: suggestion?.value,
69
- label: suggestion?.value
70
- }
71
- })
72
-
73
- default:
74
- return []
75
- }
76
- }
@@ -1,52 +0,0 @@
1
- export type TDadataType = 'address' | 'fio' | 'country' | 'auto' | 'party'
2
- export type TDadataBaseUrl = 'cache' | 'constants'
3
-
4
- export type TDadataOption = {
5
- value: string
6
- additionalText?: string
7
- isDisabled?: boolean
8
- }
9
-
10
- // # constants suggestions COUNTRY
11
- export interface IDadataCountryOption {
12
- id: number
13
- country_name: string
14
- }
15
- export interface IDadataConstantsCountrySuggestion {
16
- matches: IDadataCountryOption[]
17
- }
18
-
19
- // # constants suggestions AUTO
20
- export interface IDadataAutoOption {
21
- id: number
22
- mark: string
23
- model: string
24
- model_mark: string
25
- year_max: string
26
- year_min: string
27
- }
28
- export interface IDadataConstantsAutoSuggestion {
29
- matches: IDadataAutoOption[]
30
- }
31
-
32
- // # Default dadata suggestions [FIO, ADDRESS]
33
- export interface IDadataCacheOption<T> {
34
- value: string
35
- unrestricted_value: string
36
- data: T
37
- }
38
- export interface IDadataCacheSuggestion<T> {
39
- suggestions: IDadataCacheOption<T>[]
40
- }
41
-
42
- // # dadata suggestions organization (party)
43
- export interface IDadataOrganizationOption {
44
- value: string
45
- unrestricted_value: string
46
- data: {
47
- inn: 'string'
48
- }
49
- }
50
-
51
- export type TDadataReturn<T> = IDadataConstantsCountrySuggestion | IDadataCacheSuggestion<T> | IDadataConstantsAutoSuggestion
52
- export type TDadataSuggestionType<T> = IDadataCountryOption[] | IDadataCacheOption<T>[] | IDadataAutoOption[]
@@ -1,25 +0,0 @@
1
- 'use client'
2
-
3
- import * as React from 'react'
4
- import { fetchSuggestions } from './api'
5
- import { getOptionsByDadataType } from './helpers'
6
- import type { TDadataBaseUrl, TDadataOption, TDadataType } from './types'
7
- import { useDebounceValue } from '$/shared/hooks'
8
-
9
- export const useDadata = (dadataType: TDadataType, dadataBaseUrl: TDadataBaseUrl) => {
10
- const [query, setQuery] = React.useState('')
11
- const [suggestionsOptions, setSuggestionsOptions] = React.useState<TDadataOption[] | null>(null)
12
- const debounceQuery = useDebounceValue(query, 300)
13
-
14
- React.useEffect(() => {
15
- if (debounceQuery) {
16
- const handleSearch = async () => {
17
- const suggestions = await fetchSuggestions(debounceQuery, dadataType, dadataBaseUrl)
18
- setSuggestionsOptions(getOptionsByDadataType(dadataType, suggestions))
19
- }
20
- handleSearch()
21
- }
22
- }, [debounceQuery, dadataType, dadataBaseUrl])
23
-
24
- return { setQuery, suggestionsOptions, debounceQuery }
25
- }