@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,178 +0,0 @@
1
- 'use client'
2
-
3
- import * as React from 'react'
4
- import { Controller, type FieldValues, type Path, type PathValue, type UseFormSetValue, type UseFormWatch } from 'react-hook-form'
5
- import { PatternFormat } from 'react-number-format'
6
- import { format } from 'date-fns'
7
- import { AnimatePresence, motion } from 'framer-motion'
8
- import { type TControlledInputProps } from '../model'
9
- import { FieldAttachment, FieldContainer, FieldWrapper, MessageView } from '../ui'
10
- import { useCalendar, useCalendarDropdowns } from './hooks'
11
- import { calendarAnimation } from './model/helpers'
12
- import type { TCalendarClasses } from './model/types'
13
- import { DaysOfMonth, DaysOfWeek, Header, Navigation } from './ui'
14
- import { useClickOutside } from '$/shared/hooks'
15
- import { cn } from '$/shared/utils'
16
-
17
- export interface ICalendarControlProps<T extends FieldValues> extends TControlledInputProps<T> {
18
- maskFormat?: string
19
- mask?: string | string[]
20
- allowEmptyFormatting?: boolean
21
- classes?: Partial<TCalendarClasses>
22
- disabled?: boolean
23
- onClickIcon?: (...args: unknown[]) => unknown
24
- defaultValue?: string
25
- setValue: UseFormSetValue<T>
26
- watch: UseFormWatch<T>
27
- }
28
-
29
- const today = format(new Date(), 'dd.MM.yyyy')
30
-
31
- export const CalendarControl = <T extends FieldValues>({
32
- control,
33
- classes,
34
- label,
35
- disabled,
36
- maskFormat = '##.##.####',
37
- allowEmptyFormatting = false,
38
- mask = '',
39
- size = 'full',
40
- helperText,
41
- icon,
42
- badge,
43
- swapPosition,
44
- onClickIcon,
45
- defaultValue = today,
46
- watch,
47
- setValue,
48
- ...props
49
- }: ICalendarControlProps<T>) => {
50
- const inputId = React.useId()
51
- const calendarValue = watch(props.name)
52
-
53
- const calendarWrapperRef = React.useRef<HTMLDivElement | null>(null)
54
- const {
55
- memoDaysOfMonth,
56
- firstDayOfMonth,
57
- selectedDay,
58
- selectedMonth,
59
- selectedYear,
60
- onSelectDay,
61
- onSelectMonth,
62
- onSelectYear,
63
- onBlurInput,
64
- onChangeMonth
65
- } = useCalendar(defaultValue ?? calendarValue)
66
- const { isCalendarOpen, toggleCalendar, calendarSetter, isMonthOpen, toggleMonthDropdown, isYearsOpen, toggleYearDropdown } =
67
- useCalendarDropdowns()
68
-
69
- useClickOutside(calendarWrapperRef, () => calendarSetter(false))
70
-
71
- return (
72
- <Controller
73
- control={control}
74
- name={props.name}
75
- render={({ field: { onChange, value }, fieldState: { error } }) => {
76
- return (
77
- <div className={cn('relative w-full', classes?.rootWrapper)} ref={calendarWrapperRef}>
78
- <AnimatePresence>
79
- {isCalendarOpen && (
80
- <motion.div
81
- {...calendarAnimation}
82
- className={cn(
83
- 'invisible absolute bottom-[-370px] right-0 z-30 h-[368px] w-[312px] rounded-sm bg-color-white p-4 shadow-md',
84
- { visible: isCalendarOpen },
85
- classes?.calendarWrapper
86
- )}
87
- >
88
- <div
89
- className={cn(
90
- 'flex items-center justify-between border-b border-solid border-blue-grey-500 pb-2',
91
- classes?.calendarHeader
92
- )}
93
- >
94
- <Header
95
- isMonthOpen={isMonthOpen}
96
- isYearsOpen={isYearsOpen}
97
- month={selectedMonth}
98
- year={selectedYear}
99
- toggleMonthDropdown={toggleMonthDropdown}
100
- toggleYearDropdown={toggleYearDropdown}
101
- onSelectMonth={(month: number) => onSelectMonth(month, onChange)}
102
- onSelectYear={(year: number) => onSelectYear(year, onChange)}
103
- classes={classes}
104
- />
105
- <Navigation
106
- onClickPrevMonth={(event) => onChangeMonth(event, onChange, 'prev')}
107
- onClickNextMonth={(event) => onChangeMonth(event, onChange, 'next')}
108
- classes={classes}
109
- />
110
- </div>
111
- <DaysOfWeek classes={classes} />
112
- <DaysOfMonth
113
- daysList={memoDaysOfMonth}
114
- firstDayOfMonth={firstDayOfMonth}
115
- onSelectDay={(day) => onSelectDay(day, onChange)}
116
- selectedDay={+selectedDay}
117
- classes={classes}
118
- />
119
- </motion.div>
120
- )}
121
- </AnimatePresence>
122
- <FieldContainer size={size} classes={classes}>
123
- <FieldWrapper
124
- fieldId={inputId}
125
- label={label}
126
- classes={classes}
127
- disabled={disabled}
128
- value={value}
129
- error={!!error?.message}
130
- >
131
- <>
132
- <PatternFormat
133
- id={inputId}
134
- value={value}
135
- name={props.name}
136
- format={maskFormat}
137
- allowEmptyFormatting={allowEmptyFormatting}
138
- mask={mask}
139
- className={cn(
140
- 'desk-body-regular-l h-[56px] w-full rounded-md bg-color-transparent px-4 pt-5 text-color-dark outline-none transition-all',
141
- classes?.input
142
- )}
143
- onFocus={() => calendarSetter(true)}
144
- onBlur={(event) => {
145
- onBlurInput(event.target.value, onChange)
146
- if (!event.target.value) {
147
- setValue(props.name, '' as PathValue<T, Path<T>>)
148
- }
149
- }}
150
- />
151
- <FieldAttachment
152
- badge={badge}
153
- icon={icon}
154
- error={!!error?.message}
155
- classes={classes}
156
- swapPosition={swapPosition}
157
- onClickIcon={() => toggleCalendar(onClickIcon)}
158
- onKeyDownIcon={(event) => {
159
- if (event.key === 'Enter' || event.key === ' ') {
160
- toggleCalendar()
161
- }
162
- }}
163
- />
164
- </>
165
- </FieldWrapper>
166
- <MessageView
167
- className={cn(classes?.message)}
168
- intent={error?.message ? 'error' : 'simple'}
169
- text={error?.message || helperText}
170
- disabled={disabled}
171
- />
172
- </FieldContainer>
173
- </div>
174
- )
175
- }}
176
- />
177
- )
178
- }
@@ -1,2 +0,0 @@
1
- export { useCalendarDropdowns } from './useCalendarDropdowns'
2
- export { useCalendar } from './useCalendar'
@@ -1,86 +0,0 @@
1
- 'use client'
2
-
3
- import { useMemo, useState } from 'react'
4
- import { add, eachDayOfInterval, endOfMonth, endOfWeek, format, parse, startOfWeek } from 'date-fns'
5
- import { ru } from 'date-fns/locale'
6
-
7
- export const useCalendar = (calendarValue: string) => {
8
- const [currentDate, setCurrentDate] = useState(calendarValue)
9
- const [selectedDay, selectedMonth, selectedYear] = currentDate?.split('.') ?? ''
10
-
11
- const formattedDate = format(new Date(+selectedYear, +selectedMonth - 1, +selectedDay), 'MMM-yyyy')
12
- const firstDayOfMonth = parse(formattedDate, 'MMM-yyyy', new Date())
13
-
14
- const daysOfMonth = eachDayOfInterval({
15
- start: startOfWeek(firstDayOfMonth, { weekStartsOn: 1 }),
16
- end: endOfWeek(endOfMonth(firstDayOfMonth))
17
- })
18
- const memoDaysOfMonth = useMemo(() => daysOfMonth, [daysOfMonth])
19
-
20
- const formattedMonth = format(selectedMonth, 'MMMM', { locale: ru })
21
-
22
- const onSelectDay = (day: Date, onChange: (...event: unknown[]) => void) => {
23
- const updatedDate = format(day, 'dd.MM.yyyy')
24
- onChange(updatedDate)
25
- setCurrentDate(updatedDate)
26
- }
27
-
28
- const onSelectMonth = (month: number, onChange: (...event: unknown[]) => void) => {
29
- const updatedDate = format(new Date(+selectedYear, +month, +selectedDay), 'dd.MM.yyyy')
30
- onChange(updatedDate)
31
- setCurrentDate(updatedDate)
32
- }
33
-
34
- const onSelectYear = (year: number, onChange: (...event: unknown[]) => void) => {
35
- const updatedDate = format(new Date(+year, +selectedMonth - 1, +selectedDay), 'dd.MM.yyyy')
36
- onChange(format(new Date(+year, +selectedMonth - 1, +selectedDay), 'dd.MM.yyyy'))
37
- setCurrentDate(updatedDate)
38
- }
39
-
40
- const onChangeMonth = (
41
- event: React.MouseEvent<HTMLButtonElement>,
42
- onChange: (...event: unknown[]) => void,
43
- mode: 'prev' | 'next'
44
- ) => {
45
- event.preventDefault()
46
-
47
- switch (mode) {
48
- case 'next':
49
- const firstDayOfNextMonth = add(firstDayOfMonth, { months: 1 })
50
- const updatedDateNext = format(firstDayOfNextMonth, 'dd.MM.yyyy')
51
- onChange(updatedDateNext)
52
- setCurrentDate(updatedDateNext)
53
-
54
- break
55
- case 'prev':
56
- const firstDayOfPrevMonth = add(firstDayOfMonth, { months: -1 })
57
- const updatedDatePrev = format(firstDayOfPrevMonth, 'dd.MM.yyyy')
58
- onChange(updatedDatePrev)
59
- setCurrentDate(updatedDatePrev)
60
-
61
- break
62
- default:
63
- break
64
- }
65
- }
66
-
67
- const onBlurInput = (inputValue: string, onChange: (...event: unknown[]) => void) => {
68
- if (inputValue) {
69
- onChange(inputValue)
70
- }
71
- }
72
-
73
- return {
74
- memoDaysOfMonth,
75
- firstDayOfMonth,
76
- selectedDay,
77
- selectedMonth,
78
- selectedYear,
79
- formattedMonth,
80
- onSelectDay,
81
- onSelectMonth,
82
- onSelectYear,
83
- onBlurInput,
84
- onChangeMonth
85
- }
86
- }
@@ -1,38 +0,0 @@
1
- import { useBoolean } from '$/shared/hooks'
2
-
3
- export const useCalendarDropdowns = () => {
4
- const [isMonthOpen, monthsSetter] = useBoolean(false)
5
- const [isYearsOpen, yearsSetter] = useBoolean(false)
6
- const [isCalendarOpen, calendarSetter] = useBoolean(false)
7
-
8
- const toggleCalendar = (onClickIcon?: (...args: unknown[]) => unknown) => {
9
- calendarSetter()
10
- if (onClickIcon) {
11
- onClickIcon()
12
- }
13
- }
14
-
15
- const toggleMonthDropdown = () => {
16
- monthsSetter()
17
- if (isYearsOpen) {
18
- yearsSetter(false)
19
- }
20
- }
21
-
22
- const toggleYearDropdown = () => {
23
- yearsSetter()
24
- if (isMonthOpen) {
25
- monthsSetter(false)
26
- }
27
- }
28
-
29
- return {
30
- calendarSetter,
31
- toggleCalendar,
32
- isMonthOpen,
33
- toggleMonthDropdown,
34
- isYearsOpen,
35
- toggleYearDropdown,
36
- isCalendarOpen
37
- }
38
- }
@@ -1,60 +0,0 @@
1
- import { type TDayOfWeek } from './types'
2
-
3
- export const capitalizeFirstLetter = (query: string): string => {
4
- return query.charAt(0).toUpperCase() + query.substring(1)
5
- }
6
-
7
- export const colStartClasses = [
8
- 'col-start-1',
9
- 'col-start-2',
10
- 'col-start-3',
11
- 'col-start-4',
12
- 'col-start-5',
13
- 'col-start-6',
14
- 'col-start-7'
15
- ]
16
-
17
- export const calendarAnimation = {
18
- initial: { opacity: 0, y: -40 },
19
- animate: { opacity: 1, y: 0 },
20
- exit: { opacity: 0, y: -40 },
21
- transition: { duration: 0.4, ease: 'easeInOut' }
22
- }
23
-
24
- const getYearsFromCurrentTo = (endYear = 1950) => {
25
- const currentYear = new Date().getFullYear()
26
- const years = []
27
-
28
- // eslint-disable-next-line no-plusplus
29
- for (let year = currentYear; year >= endYear; year--) {
30
- years.push(year)
31
- }
32
-
33
- return years
34
- }
35
- export const YEARS_OPTIONS = getYearsFromCurrentTo()
36
-
37
- export const DAYS_OF_WEEK: TDayOfWeek[] = [
38
- { day: 'Пн' },
39
- { day: 'Вт' },
40
- { day: 'Ср' },
41
- { day: 'Чт' },
42
- { day: 'Пт' },
43
- { day: 'Сб', isWeekend: true },
44
- { day: 'Вс', isWeekend: true }
45
- ]
46
-
47
- export const MONTHS_OPTIONS = [
48
- 'Январь',
49
- 'Февраль',
50
- 'Март',
51
- 'Апрель',
52
- 'Май',
53
- 'Июнь',
54
- 'Июль',
55
- 'Август',
56
- 'Сентябрь',
57
- 'Октябрь',
58
- 'Ноябрь',
59
- 'Декабрь'
60
- ]
@@ -1,44 +0,0 @@
1
- import { type TAdditionalInputClassesWithAttachment } from '../../model'
2
-
3
- export type TDayOfWeek = {
4
- day: string
5
- isWeekend?: boolean
6
- }
7
-
8
- export type TDaysOfMonthClasses = {
9
- monthWrapper: string
10
- button: string
11
- day: string
12
- }
13
-
14
- export type TDaysOfWeekClasses = {
15
- weekWrapper: string
16
- weekDay: string
17
- }
18
-
19
- export type TNavigationClasses = {
20
- navigationWrapper: string
21
- swipeButton: string
22
- arrowIcon: string
23
- }
24
-
25
- export type TDropdownClasses = {
26
- dropdownWrapper: string
27
- dropdownTrigger: string
28
- dropdownIcon: string
29
- dropdownOverlay: string
30
- dropdownOptions: string
31
- dropdownOption: string
32
- dropdowns: string
33
- }
34
-
35
- export type TCalendarClasses = Partial<TDayOfWeek> &
36
- Partial<TDaysOfMonthClasses> &
37
- Partial<TDaysOfWeekClasses> &
38
- Partial<TNavigationClasses> &
39
- Partial<TDropdownClasses> &
40
- Partial<TAdditionalInputClassesWithAttachment> & {
41
- rootWrapper: string
42
- calendarWrapper: string
43
- calendarHeader: string
44
- }
@@ -1,53 +0,0 @@
1
- import { format, getDay, isSameMonth, isToday } from 'date-fns'
2
- import { colStartClasses } from '../model/helpers'
3
- import { type TDaysOfMonthClasses } from '../model/types'
4
- import { cn } from '$/shared/utils'
5
-
6
- interface IDaysOfMonthProps {
7
- daysList: Date[]
8
- selectedDay: number
9
- firstDayOfMonth: Date
10
- onSelectDay: (day: Date) => void
11
- classes?: Partial<TDaysOfMonthClasses>
12
- }
13
-
14
- export const DaysOfMonth = ({ daysList, firstDayOfMonth, selectedDay, onSelectDay, classes }: IDaysOfMonthProps) => {
15
- return (
16
- <div className={cn('grid grid-cols-7 place-items-center', classes?.monthWrapper)}>
17
- {daysList?.map((day, idx) => {
18
- const isCurrentMonth = isSameMonth(day, firstDayOfMonth)
19
-
20
- return (
21
- <div
22
- // eslint-disable-next-line react/no-array-index-key
23
- key={idx}
24
- role='button'
25
- tabIndex={0}
26
- onKeyDown={() => onSelectDay(day)}
27
- onClick={() => onSelectDay(day)}
28
- className={cn(
29
- 'flex size-10 cursor-pointer items-center justify-center',
30
- colStartClasses[getDay(+day - 1)],
31
- classes?.button
32
- )}
33
- >
34
- <span
35
- className={cn(
36
- 'mob-body-regular-m flex h-full w-full items-center justify-center rounded-sm border border-solid border-transparent text-color-dark transition-colors hover:border-primary-default hover:bg-color-primary-tr-hover',
37
- {
38
- 'before:content-[" "] relative text-color-primary-default before:absolute before:bottom-1 before:left-1/2 before:h-[2px] before:w-4 before:-translate-x-1/2 before:rounded-[2px] before:bg-icon-primary-default':
39
- isToday(day),
40
- '!bg-color-primary-default !text-color-white': selectedDay === +format(day, 'dd') && isCurrentMonth,
41
- 'text-color-disabled': !isCurrentMonth
42
- },
43
- classes?.day
44
- )}
45
- >
46
- {format(day, 'd')}
47
- </span>
48
- </div>
49
- )
50
- })}
51
- </div>
52
- )
53
- }
@@ -1,28 +0,0 @@
1
- import { capitalizeFirstLetter, DAYS_OF_WEEK } from '../model/helpers'
2
- import { type TDaysOfWeekClasses } from '../model/types'
3
- import { cn } from '$/shared/utils'
4
-
5
- interface IDaysOfWeekProps {
6
- classes?: Partial<TDaysOfWeekClasses>
7
- }
8
-
9
- export const DaysOfWeek = ({ classes }: IDaysOfWeekProps) => {
10
- return (
11
- <div className={cn('grid grid-cols-7 pt-2', classes?.weekWrapper)}>
12
- {DAYS_OF_WEEK?.map(({ day, isWeekend }) => {
13
- return (
14
- <span
15
- key={day}
16
- className={cn(
17
- 'mob-body-medium-m flex size-10 items-center justify-center',
18
- { 'text-color-negative': isWeekend },
19
- classes?.weekDay
20
- )}
21
- >
22
- {capitalizeFirstLetter(day)}
23
- </span>
24
- )
25
- })}
26
- </div>
27
- )
28
- }
@@ -1,62 +0,0 @@
1
- import { type TDropdownClasses } from '../model/types'
2
- import { OptionsList } from './OptionsList'
3
- import { Icon } from '$/shared/ui'
4
- import { cn } from '$/shared/utils'
5
-
6
- export interface IDropdownProps<Value extends string | number> {
7
- options: Value[]
8
- selectedValue: string
9
- isActive: boolean
10
- onClickTrigger: () => void
11
- onClickOption: (value: number) => void
12
- variant?: 'months' | 'years'
13
- classes?: Partial<TDropdownClasses>
14
- }
15
-
16
- export const Dropdown = <Value extends string | number>({
17
- onClickTrigger,
18
- isActive,
19
- selectedValue,
20
- options,
21
- variant = 'months',
22
- onClickOption,
23
- classes
24
- }: IDropdownProps<Value>) => {
25
- return (
26
- <div className={cn('z-10 w-full', classes?.dropdownWrapper)}>
27
- <div
28
- role='button'
29
- tabIndex={0}
30
- onKeyDown={onClickTrigger}
31
- onClick={onClickTrigger}
32
- className={cn(
33
- 'desk-body-medium-l flex items-center gap-[2px] rounded-sm px-2 py-2 text-color-tetriary transition-colors hover:bg-color-primary-tr-hover',
34
- { 'text-color-primary-default': isActive },
35
- classes?.dropdownTrigger
36
- )}
37
- >
38
- {selectedValue}
39
- <Icon
40
- name='arrows/arrowRight'
41
- className={cn('rotate-90 text-icon-blue-grey-800', { 'text-icon-primary-default': isActive }, classes?.dropdownIcon)}
42
- />
43
- </div>
44
-
45
- <div
46
- className={cn(
47
- 'invisible absolute bottom-3 left-1/2 z-10 flex h-[280px] w-full -translate-x-1/2 flex-col overflow-hidden px-4 opacity-0 transition-all',
48
- { 'visible opacity-100': isActive },
49
- classes?.dropdownOverlay
50
- )}
51
- >
52
- <OptionsList
53
- options={options}
54
- selectedValue={selectedValue}
55
- isActive={isActive}
56
- onClickOption={onClickOption}
57
- variant={variant}
58
- />
59
- </div>
60
- </div>
61
- )
62
- }
@@ -1,51 +0,0 @@
1
- import { MONTHS_OPTIONS, YEARS_OPTIONS } from '../model/helpers'
2
- import { type TDropdownClasses } from '../model/types'
3
- import { Dropdown } from './Dropdown'
4
- import { cn } from '$/shared/utils'
5
-
6
- interface IHeaderProps {
7
- month: string
8
- year: string
9
- isYearsOpen: boolean
10
- isMonthOpen: boolean
11
- toggleMonthDropdown: () => void
12
- toggleYearDropdown: () => void
13
- onSelectMonth: (month: number) => void
14
- onSelectYear: (year: number) => void
15
- classes?: Partial<TDropdownClasses>
16
- }
17
-
18
- export const Header = ({
19
- isMonthOpen,
20
- isYearsOpen,
21
- toggleMonthDropdown,
22
- toggleYearDropdown,
23
- onSelectMonth,
24
- onSelectYear,
25
- month,
26
- year,
27
- classes
28
- }: IHeaderProps) => {
29
- return (
30
- <div className={cn('flex items-center', classes?.dropdowns)}>
31
- <Dropdown
32
- options={MONTHS_OPTIONS}
33
- isActive={isMonthOpen}
34
- selectedValue={MONTHS_OPTIONS[+month - 1]}
35
- onClickTrigger={toggleMonthDropdown}
36
- onClickOption={onSelectMonth}
37
- classes={classes}
38
- />
39
-
40
- <Dropdown
41
- options={YEARS_OPTIONS}
42
- isActive={isYearsOpen}
43
- selectedValue={year}
44
- onClickTrigger={toggleYearDropdown}
45
- onClickOption={onSelectYear}
46
- variant='years'
47
- classes={classes}
48
- />
49
- </div>
50
- )
51
- }
@@ -1,32 +0,0 @@
1
- import type { MouseEventHandler } from 'react'
2
- import { type TNavigationClasses } from '../model/types'
3
- import { Icon } from '$/shared/ui'
4
- import { cn } from '$/shared/utils'
5
-
6
- interface INavigationProps {
7
- onClickPrevMonth: MouseEventHandler<HTMLButtonElement>
8
- onClickNextMonth: MouseEventHandler<HTMLButtonElement>
9
- classes?: Partial<TNavigationClasses>
10
- }
11
-
12
- export const Navigation = ({ onClickPrevMonth, onClickNextMonth, classes }: INavigationProps) => {
13
- return (
14
- <div className={cn('flex items-center justify-evenly gap-6', classes?.navigationWrapper)}>
15
- <button type='button' className={cn('h-6 w-6 cursor-pointer', classes?.swipeButton)} onClick={onClickPrevMonth}>
16
- <Icon
17
- name='arrows/arrowRight'
18
- className={cn(
19
- 'size-6 rotate-180 text-icon-blue-grey-800 transition-colors hover:text-icon-accent-hover',
20
- classes?.arrowIcon
21
- )}
22
- />
23
- </button>
24
- <button type='button' className={cn('h-6 w-6 cursor-pointer', classes?.swipeButton)} onClick={onClickNextMonth}>
25
- <Icon
26
- name='arrows/arrowRight'
27
- className={cn('size-6 text-icon-blue-grey-800 transition-colors hover:text-icon-accent-hover', classes?.arrowIcon)}
28
- />
29
- </button>
30
- </div>
31
- )
32
- }
@@ -1,44 +0,0 @@
1
- import type { IDropdownProps } from './Dropdown'
2
- import { cn } from '$/shared/utils'
3
-
4
- interface IOptionsListProps<Value extends string | number> extends Omit<IDropdownProps<Value>, 'onClickTrigger'> {}
5
-
6
- export const OptionsList = <Value extends string | number>({
7
- isActive,
8
- variant,
9
- options,
10
- onClickOption,
11
- selectedValue,
12
- classes
13
- }: IOptionsListProps<Value>) => {
14
- const modeMonth = variant === 'months'
15
- return (
16
- <div
17
- className={cn('customScrollbar-y overflow-y-auto overflow-x-hidden bg-color-white px-2', classes?.dropdownOptions)}
18
- role='listbox'
19
- aria-expanded={isActive ? 'true' : 'false'}
20
- aria-label={variant === 'months' ? 'Выбор месяца' : 'Выбор года'}
21
- >
22
- {options?.map((option, index) => {
23
- return (
24
- <div
25
- key={option}
26
- role='button'
27
- tabIndex={0}
28
- onClick={() => onClickOption(modeMonth ? index : (option as number))}
29
- onKeyDown={() => onClickOption(modeMonth ? index : (option as number))}
30
- className={cn(
31
- 'mob-body-regular-m cursor-pointer rounded-sm bg-color-white px-2 py-[10px] text-color-dark transition-colors hover:bg-color-primary-tr-hover hover:text-color-primary-hover',
32
- {
33
- '!bg-color-primary-default !text-color-white': modeMonth ? selectedValue === option : +selectedValue === option
34
- },
35
- classes?.dropdownOption
36
- )}
37
- >
38
- {option}
39
- </div>
40
- )
41
- })}
42
- </div>
43
- )
44
- }