@redneckz/wildless-cms-uni-blocks 0.14.594 → 0.14.596

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 (514) hide show
  1. package/bundle/EventBus/EventBus.d.ts +17 -4
  2. package/bundle/EventBus/defaultEventBus.d.ts +2 -13
  3. package/bundle/EventBus/useSubject.d.ts +2 -0
  4. package/bundle/EventBus/useSubjectState.d.ts +2 -0
  5. package/bundle/bundle.umd.js +148 -105
  6. package/bundle/bundle.umd.min.js +1 -1
  7. package/bundle/components/CarouselTariffsCard/CardCellsSection.d.ts +9 -0
  8. package/bundle/components/CarouselTariffsCard/carouselTariffsCardEventBus.d.ts +9 -0
  9. package/bundle/hooks/useLocation.d.ts +2 -1
  10. package/bundle/hooks/useReducer.d.ts +4 -0
  11. package/bundle/model/DefaultControlType.d.ts +7 -0
  12. package/bundle/ui-kit/DatePicker/DatePickerControl.d.ts +3 -7
  13. package/bundle/ui-kit/Foldable/Foldable.d.ts +11 -1
  14. package/bundle/ui-kit/Input/InputProps.d.ts +2 -6
  15. package/bundle/ui-kit/LocationDialog/SelectedLocation.d.ts +5 -0
  16. package/bundle/ui-kit/RadioButtonGroup/RadioButtonGroup.d.ts +3 -5
  17. package/bundle/ui-kit/RadioButtonGroup/RadioButtonGroupControl.d.ts +2 -0
  18. package/bundle/ui-kit/Select/Select.d.ts +4 -7
  19. package/bundle/ui-kit/Select/SelectControl.d.ts +1 -8
  20. package/bundle/utils/getRequiredLabel.d.ts +2 -0
  21. package/dist/EventBus/EventBus.d.ts +17 -4
  22. package/dist/EventBus/EventBus.js +29 -10
  23. package/dist/EventBus/EventBus.js.map +1 -1
  24. package/dist/EventBus/defaultEventBus.d.ts +2 -13
  25. package/dist/EventBus/defaultEventBus.js.map +1 -1
  26. package/dist/EventBus/useSubject.d.ts +2 -0
  27. package/dist/EventBus/useSubject.js +17 -0
  28. package/dist/EventBus/useSubject.js.map +1 -0
  29. package/dist/EventBus/useSubjectState.d.ts +2 -0
  30. package/dist/EventBus/useSubjectState.js +10 -0
  31. package/dist/EventBus/useSubjectState.js.map +1 -0
  32. package/dist/components/CarouselTariffsCard/CardCellsSection.d.ts +9 -0
  33. package/dist/components/CarouselTariffsCard/CardCellsSection.js +18 -0
  34. package/dist/components/CarouselTariffsCard/CardCellsSection.js.map +1 -0
  35. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +11 -25
  36. package/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  37. package/dist/components/CarouselTariffsCard/carouselTariffsCardEventBus.d.ts +9 -0
  38. package/dist/components/CarouselTariffsCard/carouselTariffsCardEventBus.js +5 -0
  39. package/dist/components/CarouselTariffsCard/carouselTariffsCardEventBus.js.map +1 -0
  40. package/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  41. package/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  42. package/dist/components/Header/HeaderSecondaryMenu.js +1 -1
  43. package/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  44. package/dist/components/OfficesAtmsMap/AtmsMap.js +1 -1
  45. package/dist/components/OfficesAtmsMap/AtmsMap.js.map +1 -1
  46. package/dist/components/OfficesAtmsMap/OfficesMap.js +1 -1
  47. package/dist/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  48. package/dist/components/StickyBottomMenu/BurgerMenuDialog.js +1 -1
  49. package/dist/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
  50. package/dist/hooks/useLocation.d.ts +2 -1
  51. package/dist/hooks/useLocation.js +27 -33
  52. package/dist/hooks/useLocation.js.map +1 -1
  53. package/dist/hooks/useReducer.d.ts +4 -0
  54. package/dist/hooks/useReducer.js +12 -0
  55. package/dist/hooks/useReducer.js.map +1 -0
  56. package/dist/hooks/useRegions.js +3 -1
  57. package/dist/hooks/useRegions.js.map +1 -1
  58. package/dist/model/DefaultControlType.d.ts +7 -0
  59. package/dist/{components/CarouselTariffsCard/CarouselTariffsCardAction.js → model/DefaultControlType.js} +1 -1
  60. package/dist/model/DefaultControlType.js.map +1 -0
  61. package/dist/ui-kit/Calculator/renderBinaryRadioButtonGroup.js +1 -1
  62. package/dist/ui-kit/Calculator/renderBinaryRadioButtonGroup.js.map +1 -1
  63. package/dist/ui-kit/DatePicker/DatePickerControl.d.ts +3 -7
  64. package/dist/ui-kit/DatePicker/DatePickerControl.js +2 -1
  65. package/dist/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
  66. package/dist/ui-kit/DialogManager/useDialogManager.js +3 -3
  67. package/dist/ui-kit/DialogManager/useDialogManager.js.map +1 -1
  68. package/dist/ui-kit/DialogManager/useDialogsList.js +1 -1
  69. package/dist/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  70. package/dist/ui-kit/Foldable/Foldable.d.ts +11 -1
  71. package/dist/ui-kit/Foldable/Foldable.js +10 -2
  72. package/dist/ui-kit/Foldable/Foldable.js.map +1 -1
  73. package/dist/ui-kit/FormField/Fields/SexField.js +5 -4
  74. package/dist/ui-kit/FormField/Fields/SexField.js.map +1 -1
  75. package/dist/ui-kit/FormField/Fields/VedField.js +1 -1
  76. package/dist/ui-kit/FormField/Fields/VedField.js.map +1 -1
  77. package/dist/ui-kit/FormField/constants.js +1 -0
  78. package/dist/ui-kit/FormField/constants.js.map +1 -1
  79. package/dist/ui-kit/FormField/getValidation.js +1 -0
  80. package/dist/ui-kit/FormField/getValidation.js.map +1 -1
  81. package/dist/ui-kit/Input/InputControl.js +2 -2
  82. package/dist/ui-kit/Input/InputControl.js.map +1 -1
  83. package/dist/ui-kit/Input/InputPhoneControl.js +2 -1
  84. package/dist/ui-kit/Input/InputPhoneControl.js.map +1 -1
  85. package/dist/ui-kit/Input/InputProps.d.ts +2 -6
  86. package/dist/ui-kit/Input/InputSnilsControl.js +2 -1
  87. package/dist/ui-kit/Input/InputSnilsControl.js.map +1 -1
  88. package/dist/ui-kit/LocationDialog/LocationDialog.js +9 -12
  89. package/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  90. package/dist/ui-kit/LocationDialog/SelectedLocation.d.ts +5 -0
  91. package/dist/ui-kit/LocationDialog/SelectedLocation.js +15 -0
  92. package/dist/ui-kit/LocationDialog/SelectedLocation.js.map +1 -0
  93. package/dist/ui-kit/PopupManager/PopupManager.js +1 -1
  94. package/dist/ui-kit/PopupManager/PopupManager.js.map +1 -1
  95. package/dist/ui-kit/PopupManager/usePopupManager.js +3 -3
  96. package/dist/ui-kit/PopupManager/usePopupManager.js.map +1 -1
  97. package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.d.ts +3 -5
  98. package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  99. package/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  100. package/dist/ui-kit/RadioButtonGroup/RadioButtonGroupControl.d.ts +2 -0
  101. package/dist/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js +10 -0
  102. package/dist/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js.map +1 -0
  103. package/dist/ui-kit/Select/Select.d.ts +4 -7
  104. package/dist/ui-kit/Select/Select.js +3 -4
  105. package/dist/ui-kit/Select/Select.js.map +1 -1
  106. package/dist/ui-kit/Select/SelectControl.d.ts +1 -8
  107. package/dist/ui-kit/Select/SelectControl.js +2 -1
  108. package/dist/ui-kit/Select/SelectControl.js.map +1 -1
  109. package/dist/utils/getRequiredLabel.d.ts +2 -0
  110. package/dist/utils/getRequiredLabel.js +5 -0
  111. package/dist/utils/getRequiredLabel.js.map +1 -0
  112. package/lib/EventBus/EventBus.d.ts +17 -4
  113. package/lib/EventBus/EventBus.js +29 -10
  114. package/lib/EventBus/EventBus.js.map +1 -1
  115. package/lib/EventBus/defaultEventBus.d.ts +2 -13
  116. package/lib/EventBus/defaultEventBus.js.map +1 -1
  117. package/lib/EventBus/useSubject.d.ts +2 -0
  118. package/lib/EventBus/useSubject.js +14 -0
  119. package/lib/EventBus/useSubject.js.map +1 -0
  120. package/lib/EventBus/useSubjectState.d.ts +2 -0
  121. package/lib/EventBus/useSubjectState.js +7 -0
  122. package/lib/EventBus/useSubjectState.js.map +1 -0
  123. package/lib/common.css +1 -1
  124. package/lib/components/CarouselTariffsCard/CardCellsSection.d.ts +9 -0
  125. package/lib/components/CarouselTariffsCard/CardCellsSection.js +16 -0
  126. package/lib/components/CarouselTariffsCard/CardCellsSection.js.map +1 -0
  127. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +12 -26
  128. package/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  129. package/lib/components/CarouselTariffsCard/carouselTariffsCardEventBus.d.ts +9 -0
  130. package/lib/components/CarouselTariffsCard/carouselTariffsCardEventBus.js +3 -0
  131. package/lib/components/CarouselTariffsCard/carouselTariffsCardEventBus.js.map +1 -0
  132. package/lib/components/ExchangeRateTile/ExchangeRateTile.js +2 -2
  133. package/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  134. package/lib/components/Header/HeaderSecondaryMenu.js +2 -2
  135. package/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  136. package/lib/components/OfficesAtmsMap/AtmsMap.js +2 -2
  137. package/lib/components/OfficesAtmsMap/AtmsMap.js.map +1 -1
  138. package/lib/components/OfficesAtmsMap/OfficesMap.js +2 -2
  139. package/lib/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  140. package/lib/components/StickyBottomMenu/BurgerMenuDialog.js +2 -2
  141. package/lib/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
  142. package/lib/hooks/useLocation.d.ts +2 -1
  143. package/lib/hooks/useLocation.js +26 -33
  144. package/lib/hooks/useLocation.js.map +1 -1
  145. package/lib/hooks/useReducer.d.ts +4 -0
  146. package/lib/hooks/useReducer.js +9 -0
  147. package/lib/hooks/useReducer.js.map +1 -0
  148. package/lib/hooks/useRegions.js +3 -1
  149. package/lib/hooks/useRegions.js.map +1 -1
  150. package/lib/model/DefaultControlType.d.ts +7 -0
  151. package/lib/model/DefaultControlType.js +2 -0
  152. package/lib/model/DefaultControlType.js.map +1 -0
  153. package/lib/ui-kit/Calculator/renderBinaryRadioButtonGroup.js +1 -1
  154. package/lib/ui-kit/Calculator/renderBinaryRadioButtonGroup.js.map +1 -1
  155. package/lib/ui-kit/DatePicker/DatePickerControl.d.ts +3 -7
  156. package/lib/ui-kit/DatePicker/DatePickerControl.js +2 -1
  157. package/lib/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
  158. package/lib/ui-kit/DialogManager/useDialogManager.js +3 -3
  159. package/lib/ui-kit/DialogManager/useDialogManager.js.map +1 -1
  160. package/lib/ui-kit/DialogManager/useDialogsList.js +1 -1
  161. package/lib/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  162. package/lib/ui-kit/Foldable/Foldable.d.ts +11 -1
  163. package/lib/ui-kit/Foldable/Foldable.js +10 -2
  164. package/lib/ui-kit/Foldable/Foldable.js.map +1 -1
  165. package/lib/ui-kit/FormField/Fields/SexField.js +5 -4
  166. package/lib/ui-kit/FormField/Fields/SexField.js.map +1 -1
  167. package/lib/ui-kit/FormField/Fields/VedField.js +1 -1
  168. package/lib/ui-kit/FormField/Fields/VedField.js.map +1 -1
  169. package/lib/ui-kit/FormField/constants.js +1 -0
  170. package/lib/ui-kit/FormField/constants.js.map +1 -1
  171. package/lib/ui-kit/FormField/getValidation.js +1 -0
  172. package/lib/ui-kit/FormField/getValidation.js.map +1 -1
  173. package/lib/ui-kit/Input/InputControl.js +2 -2
  174. package/lib/ui-kit/Input/InputControl.js.map +1 -1
  175. package/lib/ui-kit/Input/InputPhoneControl.js +2 -1
  176. package/lib/ui-kit/Input/InputPhoneControl.js.map +1 -1
  177. package/lib/ui-kit/Input/InputProps.d.ts +2 -6
  178. package/lib/ui-kit/Input/InputSnilsControl.js +2 -1
  179. package/lib/ui-kit/Input/InputSnilsControl.js.map +1 -1
  180. package/lib/ui-kit/LocationDialog/LocationDialog.js +10 -13
  181. package/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  182. package/lib/ui-kit/LocationDialog/SelectedLocation.d.ts +5 -0
  183. package/lib/ui-kit/LocationDialog/SelectedLocation.js +13 -0
  184. package/lib/ui-kit/LocationDialog/SelectedLocation.js.map +1 -0
  185. package/lib/ui-kit/PopupManager/PopupManager.js +1 -1
  186. package/lib/ui-kit/PopupManager/PopupManager.js.map +1 -1
  187. package/lib/ui-kit/PopupManager/usePopupManager.js +3 -3
  188. package/lib/ui-kit/PopupManager/usePopupManager.js.map +1 -1
  189. package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.d.ts +3 -5
  190. package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  191. package/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  192. package/lib/ui-kit/RadioButtonGroup/RadioButtonGroupControl.d.ts +2 -0
  193. package/lib/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js +8 -0
  194. package/lib/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js.map +1 -0
  195. package/lib/ui-kit/Select/Select.d.ts +4 -7
  196. package/lib/ui-kit/Select/Select.js +3 -4
  197. package/lib/ui-kit/Select/Select.js.map +1 -1
  198. package/lib/ui-kit/Select/SelectControl.d.ts +1 -8
  199. package/lib/ui-kit/Select/SelectControl.js +2 -1
  200. package/lib/ui-kit/Select/SelectControl.js.map +1 -1
  201. package/lib/utils/getRequiredLabel.d.ts +2 -0
  202. package/lib/utils/getRequiredLabel.js +2 -0
  203. package/lib/utils/getRequiredLabel.js.map +1 -0
  204. package/mobile/bundle/EventBus/EventBus.d.ts +17 -4
  205. package/mobile/bundle/EventBus/defaultEventBus.d.ts +2 -13
  206. package/mobile/bundle/EventBus/useSubject.d.ts +2 -0
  207. package/mobile/bundle/EventBus/useSubjectState.d.ts +2 -0
  208. package/mobile/bundle/bundle.umd.js +148 -105
  209. package/mobile/bundle/bundle.umd.min.js +1 -1
  210. package/mobile/bundle/components/CarouselTariffsCard/CardCellsSection.d.ts +9 -0
  211. package/mobile/bundle/components/CarouselTariffsCard/carouselTariffsCardEventBus.d.ts +9 -0
  212. package/mobile/bundle/hooks/useLocation.d.ts +2 -1
  213. package/mobile/bundle/hooks/useReducer.d.ts +4 -0
  214. package/mobile/bundle/model/DefaultControlType.d.ts +7 -0
  215. package/mobile/bundle/ui-kit/DatePicker/DatePickerControl.d.ts +3 -7
  216. package/mobile/bundle/ui-kit/Foldable/Foldable.d.ts +11 -1
  217. package/mobile/bundle/ui-kit/Input/InputProps.d.ts +2 -6
  218. package/mobile/bundle/ui-kit/LocationDialog/SelectedLocation.d.ts +5 -0
  219. package/mobile/bundle/ui-kit/RadioButtonGroup/RadioButtonGroup.d.ts +3 -5
  220. package/mobile/bundle/ui-kit/RadioButtonGroup/RadioButtonGroupControl.d.ts +2 -0
  221. package/mobile/bundle/ui-kit/Select/Select.d.ts +4 -7
  222. package/mobile/bundle/ui-kit/Select/SelectControl.d.ts +1 -8
  223. package/mobile/bundle/utils/getRequiredLabel.d.ts +2 -0
  224. package/mobile/dist/EventBus/EventBus.d.ts +17 -4
  225. package/mobile/dist/EventBus/EventBus.js +29 -10
  226. package/mobile/dist/EventBus/EventBus.js.map +1 -1
  227. package/mobile/dist/EventBus/defaultEventBus.d.ts +2 -13
  228. package/mobile/dist/EventBus/defaultEventBus.js.map +1 -1
  229. package/mobile/dist/EventBus/useSubject.d.ts +2 -0
  230. package/mobile/dist/EventBus/useSubject.js +17 -0
  231. package/mobile/dist/EventBus/useSubject.js.map +1 -0
  232. package/mobile/dist/EventBus/useSubjectState.d.ts +2 -0
  233. package/mobile/dist/EventBus/useSubjectState.js +10 -0
  234. package/mobile/dist/EventBus/useSubjectState.js.map +1 -0
  235. package/mobile/dist/components/CarouselTariffsCard/CardCellsSection.d.ts +9 -0
  236. package/mobile/dist/components/CarouselTariffsCard/CardCellsSection.js +18 -0
  237. package/mobile/dist/components/CarouselTariffsCard/CardCellsSection.js.map +1 -0
  238. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js +11 -25
  239. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  240. package/mobile/dist/components/CarouselTariffsCard/carouselTariffsCardEventBus.d.ts +9 -0
  241. package/mobile/dist/components/CarouselTariffsCard/carouselTariffsCardEventBus.js +5 -0
  242. package/mobile/dist/components/CarouselTariffsCard/carouselTariffsCardEventBus.js.map +1 -0
  243. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js +1 -1
  244. package/mobile/dist/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  245. package/mobile/dist/components/Header/HeaderSecondaryMenu.js +1 -1
  246. package/mobile/dist/components/Header/HeaderSecondaryMenu.js.map +1 -1
  247. package/mobile/dist/components/OfficesAtmsMap/AtmsMap.js +1 -1
  248. package/mobile/dist/components/OfficesAtmsMap/AtmsMap.js.map +1 -1
  249. package/mobile/dist/components/OfficesAtmsMap/OfficesMap.js +1 -1
  250. package/mobile/dist/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  251. package/mobile/dist/components/StickyBottomMenu/BurgerMenuDialog.js +1 -1
  252. package/mobile/dist/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
  253. package/mobile/dist/hooks/useLocation.d.ts +2 -1
  254. package/mobile/dist/hooks/useLocation.js +27 -33
  255. package/mobile/dist/hooks/useLocation.js.map +1 -1
  256. package/mobile/dist/hooks/useReducer.d.ts +4 -0
  257. package/mobile/dist/hooks/useReducer.js +12 -0
  258. package/mobile/dist/hooks/useReducer.js.map +1 -0
  259. package/mobile/dist/hooks/useRegions.js +3 -1
  260. package/mobile/dist/hooks/useRegions.js.map +1 -1
  261. package/mobile/dist/model/DefaultControlType.d.ts +7 -0
  262. package/mobile/dist/{components/CarouselTariffsCard/CarouselTariffsCardAction.js → model/DefaultControlType.js} +1 -1
  263. package/mobile/dist/model/DefaultControlType.js.map +1 -0
  264. package/mobile/dist/ui-kit/Calculator/renderBinaryRadioButtonGroup.js +1 -1
  265. package/mobile/dist/ui-kit/Calculator/renderBinaryRadioButtonGroup.js.map +1 -1
  266. package/mobile/dist/ui-kit/DatePicker/DatePickerControl.d.ts +3 -7
  267. package/mobile/dist/ui-kit/DatePicker/DatePickerControl.js +2 -1
  268. package/mobile/dist/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
  269. package/mobile/dist/ui-kit/DialogManager/useDialogManager.js +3 -3
  270. package/mobile/dist/ui-kit/DialogManager/useDialogManager.js.map +1 -1
  271. package/mobile/dist/ui-kit/DialogManager/useDialogsList.js +1 -1
  272. package/mobile/dist/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  273. package/mobile/dist/ui-kit/Foldable/Foldable.d.ts +11 -1
  274. package/mobile/dist/ui-kit/Foldable/Foldable.js +10 -2
  275. package/mobile/dist/ui-kit/Foldable/Foldable.js.map +1 -1
  276. package/mobile/dist/ui-kit/FormField/Fields/SexField.js +5 -4
  277. package/mobile/dist/ui-kit/FormField/Fields/SexField.js.map +1 -1
  278. package/mobile/dist/ui-kit/FormField/Fields/VedField.js +1 -1
  279. package/mobile/dist/ui-kit/FormField/Fields/VedField.js.map +1 -1
  280. package/mobile/dist/ui-kit/FormField/constants.js +1 -0
  281. package/mobile/dist/ui-kit/FormField/constants.js.map +1 -1
  282. package/mobile/dist/ui-kit/FormField/getValidation.js +1 -0
  283. package/mobile/dist/ui-kit/FormField/getValidation.js.map +1 -1
  284. package/mobile/dist/ui-kit/Input/InputControl.js +2 -2
  285. package/mobile/dist/ui-kit/Input/InputControl.js.map +1 -1
  286. package/mobile/dist/ui-kit/Input/InputPhoneControl.js +2 -1
  287. package/mobile/dist/ui-kit/Input/InputPhoneControl.js.map +1 -1
  288. package/mobile/dist/ui-kit/Input/InputProps.d.ts +2 -6
  289. package/mobile/dist/ui-kit/Input/InputSnilsControl.js +2 -1
  290. package/mobile/dist/ui-kit/Input/InputSnilsControl.js.map +1 -1
  291. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js +9 -12
  292. package/mobile/dist/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  293. package/mobile/dist/ui-kit/LocationDialog/SelectedLocation.d.ts +5 -0
  294. package/mobile/dist/ui-kit/LocationDialog/SelectedLocation.js +15 -0
  295. package/mobile/dist/ui-kit/LocationDialog/SelectedLocation.js.map +1 -0
  296. package/mobile/dist/ui-kit/PopupManager/PopupManager.js +1 -1
  297. package/mobile/dist/ui-kit/PopupManager/PopupManager.js.map +1 -1
  298. package/mobile/dist/ui-kit/PopupManager/usePopupManager.js +3 -3
  299. package/mobile/dist/ui-kit/PopupManager/usePopupManager.js.map +1 -1
  300. package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.d.ts +3 -5
  301. package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  302. package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  303. package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroupControl.d.ts +2 -0
  304. package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js +10 -0
  305. package/mobile/dist/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js.map +1 -0
  306. package/mobile/dist/ui-kit/Select/Select.d.ts +4 -7
  307. package/mobile/dist/ui-kit/Select/Select.js +3 -4
  308. package/mobile/dist/ui-kit/Select/Select.js.map +1 -1
  309. package/mobile/dist/ui-kit/Select/SelectControl.d.ts +1 -8
  310. package/mobile/dist/ui-kit/Select/SelectControl.js +2 -1
  311. package/mobile/dist/ui-kit/Select/SelectControl.js.map +1 -1
  312. package/mobile/dist/utils/getRequiredLabel.d.ts +2 -0
  313. package/mobile/dist/utils/getRequiredLabel.js +5 -0
  314. package/mobile/dist/utils/getRequiredLabel.js.map +1 -0
  315. package/mobile/lib/EventBus/EventBus.d.ts +17 -4
  316. package/mobile/lib/EventBus/EventBus.js +29 -10
  317. package/mobile/lib/EventBus/EventBus.js.map +1 -1
  318. package/mobile/lib/EventBus/defaultEventBus.d.ts +2 -13
  319. package/mobile/lib/EventBus/defaultEventBus.js.map +1 -1
  320. package/mobile/lib/EventBus/useSubject.d.ts +2 -0
  321. package/mobile/lib/EventBus/useSubject.js +14 -0
  322. package/mobile/lib/EventBus/useSubject.js.map +1 -0
  323. package/mobile/lib/EventBus/useSubjectState.d.ts +2 -0
  324. package/mobile/lib/EventBus/useSubjectState.js +7 -0
  325. package/mobile/lib/EventBus/useSubjectState.js.map +1 -0
  326. package/mobile/lib/common.css +1 -1
  327. package/mobile/lib/components/CarouselTariffsCard/CardCellsSection.d.ts +9 -0
  328. package/mobile/lib/components/CarouselTariffsCard/CardCellsSection.js +16 -0
  329. package/mobile/lib/components/CarouselTariffsCard/CardCellsSection.js.map +1 -0
  330. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js +12 -26
  331. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCard.js.map +1 -1
  332. package/mobile/lib/components/CarouselTariffsCard/carouselTariffsCardEventBus.d.ts +9 -0
  333. package/mobile/lib/components/CarouselTariffsCard/carouselTariffsCardEventBus.js +3 -0
  334. package/mobile/lib/components/CarouselTariffsCard/carouselTariffsCardEventBus.js.map +1 -0
  335. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js +2 -2
  336. package/mobile/lib/components/ExchangeRateTile/ExchangeRateTile.js.map +1 -1
  337. package/mobile/lib/components/Header/HeaderSecondaryMenu.js +2 -2
  338. package/mobile/lib/components/Header/HeaderSecondaryMenu.js.map +1 -1
  339. package/mobile/lib/components/OfficesAtmsMap/AtmsMap.js +2 -2
  340. package/mobile/lib/components/OfficesAtmsMap/AtmsMap.js.map +1 -1
  341. package/mobile/lib/components/OfficesAtmsMap/OfficesMap.js +2 -2
  342. package/mobile/lib/components/OfficesAtmsMap/OfficesMap.js.map +1 -1
  343. package/mobile/lib/components/StickyBottomMenu/BurgerMenuDialog.js +2 -2
  344. package/mobile/lib/components/StickyBottomMenu/BurgerMenuDialog.js.map +1 -1
  345. package/mobile/lib/hooks/useLocation.d.ts +2 -1
  346. package/mobile/lib/hooks/useLocation.js +26 -33
  347. package/mobile/lib/hooks/useLocation.js.map +1 -1
  348. package/mobile/lib/hooks/useReducer.d.ts +4 -0
  349. package/mobile/lib/hooks/useReducer.js +9 -0
  350. package/mobile/lib/hooks/useReducer.js.map +1 -0
  351. package/mobile/lib/hooks/useRegions.js +3 -1
  352. package/mobile/lib/hooks/useRegions.js.map +1 -1
  353. package/mobile/lib/model/DefaultControlType.d.ts +7 -0
  354. package/mobile/lib/model/DefaultControlType.js +2 -0
  355. package/mobile/lib/model/DefaultControlType.js.map +1 -0
  356. package/mobile/lib/ui-kit/Calculator/renderBinaryRadioButtonGroup.js +1 -1
  357. package/mobile/lib/ui-kit/Calculator/renderBinaryRadioButtonGroup.js.map +1 -1
  358. package/mobile/lib/ui-kit/DatePicker/DatePickerControl.d.ts +3 -7
  359. package/mobile/lib/ui-kit/DatePicker/DatePickerControl.js +2 -1
  360. package/mobile/lib/ui-kit/DatePicker/DatePickerControl.js.map +1 -1
  361. package/mobile/lib/ui-kit/DialogManager/useDialogManager.js +3 -3
  362. package/mobile/lib/ui-kit/DialogManager/useDialogManager.js.map +1 -1
  363. package/mobile/lib/ui-kit/DialogManager/useDialogsList.js +1 -1
  364. package/mobile/lib/ui-kit/DialogManager/useDialogsList.js.map +1 -1
  365. package/mobile/lib/ui-kit/Foldable/Foldable.d.ts +11 -1
  366. package/mobile/lib/ui-kit/Foldable/Foldable.js +10 -2
  367. package/mobile/lib/ui-kit/Foldable/Foldable.js.map +1 -1
  368. package/mobile/lib/ui-kit/FormField/Fields/SexField.js +5 -4
  369. package/mobile/lib/ui-kit/FormField/Fields/SexField.js.map +1 -1
  370. package/mobile/lib/ui-kit/FormField/Fields/VedField.js +1 -1
  371. package/mobile/lib/ui-kit/FormField/Fields/VedField.js.map +1 -1
  372. package/mobile/lib/ui-kit/FormField/constants.js +1 -0
  373. package/mobile/lib/ui-kit/FormField/constants.js.map +1 -1
  374. package/mobile/lib/ui-kit/FormField/getValidation.js +1 -0
  375. package/mobile/lib/ui-kit/FormField/getValidation.js.map +1 -1
  376. package/mobile/lib/ui-kit/Input/InputControl.js +2 -2
  377. package/mobile/lib/ui-kit/Input/InputControl.js.map +1 -1
  378. package/mobile/lib/ui-kit/Input/InputPhoneControl.js +2 -1
  379. package/mobile/lib/ui-kit/Input/InputPhoneControl.js.map +1 -1
  380. package/mobile/lib/ui-kit/Input/InputProps.d.ts +2 -6
  381. package/mobile/lib/ui-kit/Input/InputSnilsControl.js +2 -1
  382. package/mobile/lib/ui-kit/Input/InputSnilsControl.js.map +1 -1
  383. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js +10 -13
  384. package/mobile/lib/ui-kit/LocationDialog/LocationDialog.js.map +1 -1
  385. package/mobile/lib/ui-kit/LocationDialog/SelectedLocation.d.ts +5 -0
  386. package/mobile/lib/ui-kit/LocationDialog/SelectedLocation.js +13 -0
  387. package/mobile/lib/ui-kit/LocationDialog/SelectedLocation.js.map +1 -0
  388. package/mobile/lib/ui-kit/PopupManager/PopupManager.js +1 -1
  389. package/mobile/lib/ui-kit/PopupManager/PopupManager.js.map +1 -1
  390. package/mobile/lib/ui-kit/PopupManager/usePopupManager.js +3 -3
  391. package/mobile/lib/ui-kit/PopupManager/usePopupManager.js.map +1 -1
  392. package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.d.ts +3 -5
  393. package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js +1 -1
  394. package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroup.js.map +1 -1
  395. package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroupControl.d.ts +2 -0
  396. package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js +8 -0
  397. package/mobile/lib/ui-kit/RadioButtonGroup/RadioButtonGroupControl.js.map +1 -0
  398. package/mobile/lib/ui-kit/Select/Select.d.ts +4 -7
  399. package/mobile/lib/ui-kit/Select/Select.js +3 -4
  400. package/mobile/lib/ui-kit/Select/Select.js.map +1 -1
  401. package/mobile/lib/ui-kit/Select/SelectControl.d.ts +1 -8
  402. package/mobile/lib/ui-kit/Select/SelectControl.js +2 -1
  403. package/mobile/lib/ui-kit/Select/SelectControl.js.map +1 -1
  404. package/mobile/lib/utils/getRequiredLabel.d.ts +2 -0
  405. package/mobile/lib/utils/getRequiredLabel.js +2 -0
  406. package/mobile/lib/utils/getRequiredLabel.js.map +1 -0
  407. package/mobile/src/EventBus/EventBus.ts +51 -15
  408. package/mobile/src/EventBus/defaultEventBus.ts +2 -14
  409. package/mobile/src/EventBus/useSubject.ts +19 -0
  410. package/mobile/src/EventBus/useSubjectState.ts +13 -0
  411. package/mobile/src/components/CarouselTariffsCard/CardCellsSection.tsx +54 -0
  412. package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +23 -66
  413. package/mobile/src/components/CarouselTariffsCard/carouselTariffsCardEventBus.ts +11 -0
  414. package/mobile/src/components/ExchangeRateTile/ExchangeRateTile.tsx +2 -2
  415. package/mobile/src/components/Header/HeaderSecondaryMenu.tsx +2 -2
  416. package/mobile/src/components/OfficesAtmsMap/AtmsMap.tsx +2 -3
  417. package/mobile/src/components/OfficesAtmsMap/OfficesMap.tsx +2 -2
  418. package/mobile/src/components/StickyBottomMenu/BurgerMenuDialog.tsx +2 -2
  419. package/mobile/src/hooks/useLocation.ts +30 -44
  420. package/mobile/src/hooks/useReducer.ts +21 -0
  421. package/mobile/src/hooks/useRegions.ts +4 -1
  422. package/mobile/src/model/DefaultControlType.ts +7 -0
  423. package/mobile/src/ui-kit/Calculator/renderBinaryRadioButtonGroup.tsx +1 -1
  424. package/mobile/src/ui-kit/DatePicker/DatePickerControl.tsx +6 -14
  425. package/mobile/src/ui-kit/DialogManager/useDialogManager.ts +3 -3
  426. package/mobile/src/ui-kit/DialogManager/useDialogsList.ts +1 -1
  427. package/mobile/src/ui-kit/Foldable/Foldable.tsx +21 -5
  428. package/mobile/src/ui-kit/FormField/Fields/SexField.tsx +13 -11
  429. package/mobile/src/ui-kit/FormField/Fields/VedField.tsx +1 -1
  430. package/mobile/src/ui-kit/FormField/constants.tsx +1 -0
  431. package/mobile/src/ui-kit/FormField/getValidation.tsx +1 -0
  432. package/mobile/src/ui-kit/Input/InputControl.tsx +2 -3
  433. package/mobile/src/ui-kit/Input/InputPhoneControl.tsx +2 -1
  434. package/mobile/src/ui-kit/Input/InputProps.ts +2 -6
  435. package/mobile/src/ui-kit/Input/InputSnilsControl.tsx +2 -1
  436. package/mobile/src/ui-kit/LocationDialog/LocationDialog.tsx +13 -25
  437. package/mobile/src/ui-kit/LocationDialog/SelectedLocation.tsx +27 -0
  438. package/mobile/src/ui-kit/PopupManager/PopupManager.tsx +1 -1
  439. package/mobile/src/ui-kit/PopupManager/usePopupManager.tsx +3 -3
  440. package/mobile/src/ui-kit/RadioButtonGroup/RadioButtonGroup.tsx +9 -10
  441. package/mobile/src/ui-kit/RadioButtonGroup/RadioButtonGroupControl.tsx +18 -0
  442. package/mobile/src/ui-kit/Select/Select.tsx +8 -10
  443. package/mobile/src/ui-kit/Select/SelectControl.tsx +4 -10
  444. package/mobile/src/utils/getRequiredLabel.ts +4 -0
  445. package/package.json +1 -1
  446. package/src/EventBus/EventBus.ts +51 -15
  447. package/src/EventBus/defaultEventBus.ts +2 -14
  448. package/src/EventBus/useSubject.ts +19 -0
  449. package/src/EventBus/useSubjectState.ts +13 -0
  450. package/src/components/CarouselTariffsCard/CardCellsSection.tsx +54 -0
  451. package/src/components/CarouselTariffsCard/CarouselTariffsCard.tsx +23 -66
  452. package/src/components/CarouselTariffsCard/carouselTariffsCardEventBus.ts +11 -0
  453. package/src/components/ExchangeRateTile/ExchangeRateTile.tsx +2 -2
  454. package/src/components/Header/HeaderSecondaryMenu.tsx +2 -2
  455. package/src/components/OfficesAtmsMap/AtmsMap.tsx +2 -3
  456. package/src/components/OfficesAtmsMap/OfficesMap.tsx +2 -2
  457. package/src/components/StickyBottomMenu/BurgerMenuDialog.tsx +2 -2
  458. package/src/hooks/useLocation.ts +30 -44
  459. package/src/hooks/useReducer.ts +21 -0
  460. package/src/hooks/useRegions.ts +4 -1
  461. package/src/model/DefaultControlType.ts +7 -0
  462. package/src/ui-kit/Calculator/renderBinaryRadioButtonGroup.tsx +1 -1
  463. package/src/ui-kit/DatePicker/DatePickerControl.tsx +6 -14
  464. package/src/ui-kit/DialogManager/useDialogManager.ts +3 -3
  465. package/src/ui-kit/DialogManager/useDialogsList.ts +1 -1
  466. package/src/ui-kit/Foldable/Foldable.tsx +21 -5
  467. package/src/ui-kit/FormField/Fields/SexField.tsx +13 -11
  468. package/src/ui-kit/FormField/Fields/VedField.tsx +1 -1
  469. package/src/ui-kit/FormField/constants.tsx +1 -0
  470. package/src/ui-kit/FormField/getValidation.tsx +1 -0
  471. package/src/ui-kit/Input/InputControl.tsx +2 -3
  472. package/src/ui-kit/Input/InputPhoneControl.tsx +2 -1
  473. package/src/ui-kit/Input/InputProps.ts +2 -6
  474. package/src/ui-kit/Input/InputSnilsControl.tsx +2 -1
  475. package/src/ui-kit/LocationDialog/LocationDialog.tsx +13 -25
  476. package/src/ui-kit/LocationDialog/SelectedLocation.tsx +27 -0
  477. package/src/ui-kit/PopupManager/PopupManager.tsx +1 -1
  478. package/src/ui-kit/PopupManager/usePopupManager.tsx +3 -3
  479. package/src/ui-kit/RadioButtonGroup/RadioButtonGroup.fixture.tsx +2 -2
  480. package/src/ui-kit/RadioButtonGroup/RadioButtonGroup.tsx +9 -10
  481. package/src/ui-kit/RadioButtonGroup/RadioButtonGroupControl.tsx +18 -0
  482. package/src/ui-kit/Select/Select.tsx +8 -10
  483. package/src/ui-kit/Select/SelectControl.tsx +4 -10
  484. package/src/utils/getRequiredLabel.ts +4 -0
  485. package/bundle/EventBus/useLatestEvent.d.ts +0 -2
  486. package/bundle/components/CarouselTariffsCard/CarouselTariffsCardAction.d.ts +0 -6
  487. package/dist/EventBus/useLatestEvent.d.ts +0 -2
  488. package/dist/EventBus/useLatestEvent.js +0 -11
  489. package/dist/EventBus/useLatestEvent.js.map +0 -1
  490. package/dist/components/CarouselTariffsCard/CarouselTariffsCardAction.d.ts +0 -6
  491. package/dist/components/CarouselTariffsCard/CarouselTariffsCardAction.js.map +0 -1
  492. package/lib/EventBus/useLatestEvent.d.ts +0 -2
  493. package/lib/EventBus/useLatestEvent.js +0 -8
  494. package/lib/EventBus/useLatestEvent.js.map +0 -1
  495. package/lib/components/CarouselTariffsCard/CarouselTariffsCardAction.d.ts +0 -6
  496. package/lib/components/CarouselTariffsCard/CarouselTariffsCardAction.js +0 -2
  497. package/lib/components/CarouselTariffsCard/CarouselTariffsCardAction.js.map +0 -1
  498. package/mobile/bundle/EventBus/useLatestEvent.d.ts +0 -2
  499. package/mobile/bundle/components/CarouselTariffsCard/CarouselTariffsCardAction.d.ts +0 -6
  500. package/mobile/dist/EventBus/useLatestEvent.d.ts +0 -2
  501. package/mobile/dist/EventBus/useLatestEvent.js +0 -11
  502. package/mobile/dist/EventBus/useLatestEvent.js.map +0 -1
  503. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCardAction.d.ts +0 -6
  504. package/mobile/dist/components/CarouselTariffsCard/CarouselTariffsCardAction.js.map +0 -1
  505. package/mobile/lib/EventBus/useLatestEvent.d.ts +0 -2
  506. package/mobile/lib/EventBus/useLatestEvent.js +0 -8
  507. package/mobile/lib/EventBus/useLatestEvent.js.map +0 -1
  508. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCardAction.d.ts +0 -6
  509. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCardAction.js +0 -2
  510. package/mobile/lib/components/CarouselTariffsCard/CarouselTariffsCardAction.js.map +0 -1
  511. package/mobile/src/EventBus/useLatestEvent.ts +0 -16
  512. package/mobile/src/components/CarouselTariffsCard/CarouselTariffsCardAction.ts +0 -6
  513. package/src/EventBus/useLatestEvent.ts +0 -16
  514. package/src/components/CarouselTariffsCard/CarouselTariffsCardAction.ts +0 -6
@@ -0,0 +1,21 @@
1
+ import { useCallback, useState } from '@redneckz/uni-jsx/lib/hooks';
2
+
3
+ export type NotUndefined = object | null;
4
+ export type Reducer<S, A extends NotUndefined> = (state: S, action: A) => S;
5
+ export type Dispatch<A extends NotUndefined> = (action: A) => void;
6
+
7
+ export function useReducer<S, A extends NotUndefined>(
8
+ reducer: Reducer<S, A>,
9
+ initialArg: S,
10
+ ): [state: S, dispatch: Dispatch<A>] {
11
+ const [state, setState] = useState(initialArg);
12
+
13
+ const dispatch = useCallback(
14
+ (action: A) => {
15
+ setState((_) => reducer(_, action));
16
+ },
17
+ [reducer],
18
+ );
19
+
20
+ return [state, dispatch];
21
+ }
@@ -11,8 +11,11 @@ export interface Region {
11
11
  localities?: string[];
12
12
  }
13
13
 
14
+ const EMPTY_REGIONS: Region[] = [];
15
+
16
+ // TODO Почему url можно менять? Разве смысл не в инкапсуляции api url. Тоже под рефакторинг попадает
14
17
  export function useRegions(url: string = REGIONS_URL): Region[] {
15
18
  const { data } = useAsyncData(url, fetchJSONUnsafe as FetchJSONUnsafeType<Region[]>);
16
19
 
17
- return Array.isArray(data) ? data : [];
20
+ return Array.isArray(data) ? data : EMPTY_REGIONS;
18
21
  }
@@ -0,0 +1,7 @@
1
+ export interface DefaultControlType {
2
+ className?: string;
3
+ label?: string;
4
+ error?: string;
5
+ errors?: string[];
6
+ placeholder?: string;
7
+ }
@@ -44,7 +44,7 @@ export const renderBinaryRadioButtonGroup = ({
44
44
  <RadioButtonGroup
45
45
  orientation={orientation}
46
46
  items={items}
47
- checkedItem={items[value ? 0 : 1].id}
47
+ value={items[value ? 0 : 1].id}
48
48
  onChange={(_) => onChange && onChange(_ === items[0].id)}
49
49
  {...rest}
50
50
  />
@@ -1,25 +1,17 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import { type DefaultControlType } from '../../model/DefaultControlType';
3
+ import { getRequiredLabel } from '../../utils/getRequiredLabel';
2
4
  import { style } from '../../utils/style';
5
+ import { type ControlProps } from '../ControlProps';
3
6
  import { renderErrorText } from '../Input/renderErrorText';
4
7
  import { DatePicker } from './DatePicker';
5
8
 
6
- export interface DatePickerControlProps {
7
- className?: string;
8
- label: string;
9
- value?: Date;
10
- error?: string;
11
- errors?: string[];
12
- onChange?: (value: Date) => void;
13
- }
9
+ export interface DatePickerControlProps extends DefaultControlType, ControlProps<Date> {}
14
10
 
15
11
  export const DatePickerControl = JSX<DatePickerControlProps>(
16
- ({ className, label, error, ...rest }) => (
12
+ ({ className, label, error, errors, ...rest }) => (
17
13
  <div className={style('shrink-0 w-full', className)}>
18
- <DatePicker
19
- label={label && rest?.errors ? `${label}*` : label}
20
- valid={Boolean(!error)}
21
- {...rest}
22
- />
14
+ <DatePicker label={getRequiredLabel({ label, errors })} valid={Boolean(!error)} {...rest} />
23
15
  {renderErrorText(error)}
24
16
  </div>
25
17
  ),
@@ -8,7 +8,7 @@ export interface DialogOptions {
8
8
 
9
9
  export const useDialogManager = () => ({
10
10
  open: (dialog: VNode, options: DialogOptions = {}) =>
11
- defaultEventBus.fire('dialog', { type: 'open', dialog, ...options }),
12
- close: () => defaultEventBus.fire('dialog', { type: 'close' }),
13
- closeAll: () => defaultEventBus.fire('dialog', { type: 'close', all: true }),
11
+ defaultEventBus.emitter.fire('dialog', { type: 'open', dialog, ...options }),
12
+ close: () => defaultEventBus.emitter.fire('dialog', { type: 'close' }),
13
+ closeAll: () => defaultEventBus.emitter.fire('dialog', { type: 'close', all: true }),
14
14
  });
@@ -27,7 +27,7 @@ export const useDialogsList = ({
27
27
 
28
28
  useEffect(
29
29
  () =>
30
- defaultEventBus.subscribe('dialog', (action) => {
30
+ defaultEventBus.observable.subscribe('dialog', (action) => {
31
31
  switch (action.type) {
32
32
  case 'open':
33
33
  push(action);
@@ -3,14 +3,30 @@ import { useCallback, useState } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { type VNode } from '../../model/VNode';
4
4
  import { type FoldablePartProps } from './FoldablePartProps';
5
5
 
6
- export interface FoldableProps {
6
+ export interface FoldableWrapperProps {
7
7
  className?: string;
8
+ }
9
+
10
+ export interface FoldableProps extends FoldableWrapperProps {
8
11
  unfoldedByDefault?: boolean;
9
12
  isFoldButtonOnTop?: boolean;
10
13
  renderFoldableSection: (props: FoldablePartProps) => VNode;
11
14
  renderFoldButton?: ((props: FoldablePartProps) => VNode) | null;
12
15
  }
13
16
 
17
+ export const FoldableWrapper = JSX<FoldableWrapperProps>(({ className, children }) => (
18
+ <div className={className} role="group">
19
+ {children}
20
+ </div>
21
+ ));
22
+
23
+ /**
24
+ * Какой то бесполезный компонент. Его можно заменить на useBool
25
+ * Лучше оставить только обёрточный div с необходимой атрибутикой
26
+ * и сделать пассивный компонент
27
+ *
28
+ * @deprecated
29
+ */
14
30
  export const Foldable = JSX<FoldableProps>(
15
31
  ({
16
32
  className = '',
@@ -29,15 +45,15 @@ export const Foldable = JSX<FoldableProps>(
29
45
  const buttonNode = renderFoldButton ? renderFoldButton({ isUnfolded, onToggle }) : null;
30
46
 
31
47
  return isFoldButtonOnTop ? (
32
- <div className={className} role="group">
48
+ <FoldableWrapper className={className}>
33
49
  {buttonNode}
34
50
  {sectionNode}
35
- </div>
51
+ </FoldableWrapper>
36
52
  ) : (
37
- <div className={className} role="group">
53
+ <FoldableWrapper className={className}>
38
54
  {sectionNode}
39
55
  {buttonNode}
40
- </div>
56
+ </FoldableWrapper>
41
57
  );
42
58
  },
43
59
  );
@@ -1,22 +1,24 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { RadioButtonGroup, type RadioButtonItem } from '../../RadioButtonGroup/RadioButtonGroup';
2
+ import { type RadioButtonItem } from '../../RadioButtonGroup/RadioButtonGroup';
3
+ import { RadioButtonGroupControl } from '../../RadioButtonGroup/RadioButtonGroupControl';
3
4
  import { type CustomFieldProps } from '../CustomFieldProps';
5
+ import { validatorObj } from '../getObjectValidator';
6
+ import { getValidation } from '../getValidation';
4
7
 
5
8
  export const SEX_TYPES: RadioButtonItem[] = [
6
9
  { id: 'male', text: 'Мужской' },
7
10
  { id: 'female', text: 'Женский' },
8
11
  ];
9
12
 
10
- export const SexField = JSX<CustomFieldProps>(({ field }) => {
11
- const { value, onChange } = field('sex');
12
-
13
+ export const SexField = JSX<CustomFieldProps>(({ field, input }) => {
13
14
  return (
14
- <RadioButtonGroup
15
- title="Пол"
16
- orientation="horizontal"
17
- items={SEX_TYPES}
18
- checkedItem={value}
19
- onChange={(_) => onChange && onChange(_)}
20
- />
15
+ <div>
16
+ <RadioButtonGroupControl
17
+ label="Пол"
18
+ orientation="horizontal"
19
+ items={SEX_TYPES}
20
+ {...getValidation(field('sex'), validatorObj.sex, input?.required)}
21
+ />
22
+ </div>
21
23
  );
22
24
  });
@@ -25,7 +25,7 @@ export const VedField = JSX<CustomFieldProps>(({ field }) => {
25
25
  className="whitespace-normal"
26
26
  orientation="horizontal"
27
27
  items={VED_TYPES}
28
- checkedItem={value}
28
+ value={value}
29
29
  onChange={(_) => onChange && onChange(_)}
30
30
  />
31
31
  </div>
@@ -26,4 +26,5 @@ export const FEEDBACK_METHOD: Option[] = [
26
26
  { key: 'email', text: 'Электронное сообщение' },
27
27
  ];
28
28
 
29
+ // TODO Тоже надо рефакторить - файлик constants
29
30
  export const OUT_SERVICE_URL = '/api/v1/outservice/outserviceregions';
@@ -2,5 +2,6 @@ import { type FieldProps } from '../../hooks/useForm';
2
2
  import { type Validator } from '../../validation/validator';
3
3
  import { withValidator } from '../../validation/withValidator';
4
4
 
5
+ // TODO Зачем это?
5
6
  export const getValidation = (field: FieldProps<any>, validator: Validator, required = false) =>
6
7
  required ? withValidator(field, validator) : field;
@@ -1,6 +1,7 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
3
3
  import { useOutsideClick } from '@redneckz/uni-jsx/lib/hooks/useOutsideClick';
4
+ import { getRequiredLabel } from '../../utils/getRequiredLabel';
4
5
  import { noop } from '../../utils/noop';
5
6
  import { style } from '../../utils/style';
6
7
  import { Input } from './Input';
@@ -44,7 +45,7 @@ export const InputControl = JSX<InputProps>(
44
45
  <Input
45
46
  type={type || 'text'}
46
47
  aria-label={label}
47
- label={getLabel(errors, label)}
48
+ label={getRequiredLabel({ label, errors })}
48
49
  valid={Boolean(!error)}
49
50
  value={value}
50
51
  onChange={onChange}
@@ -59,7 +60,5 @@ export const InputControl = JSX<InputProps>(
59
60
  },
60
61
  );
61
62
 
62
- const getLabel = (errors?: string[], label?: string) => (label && errors ? `${label}*` : label);
63
-
64
63
  const getPlaceholder = (placeholder?: string, errors?: string[], label?: string) =>
65
64
  errors && !label ? `${placeholder}*` : placeholder;
@@ -1,4 +1,5 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import { getRequiredLabel } from '../../utils/getRequiredLabel';
2
3
  import { style } from '../../utils/style';
3
4
  import { PhoneInput } from '../PhoneInput/PhoneInput';
4
5
  import { type InputProps } from './InputProps';
@@ -8,7 +9,7 @@ export const InputPhoneControl = JSX<InputProps>(({ className, label, error, ...
8
9
  <div className={style('shrink-0 w-full', className)}>
9
10
  <PhoneInput
10
11
  aria-label={label}
11
- label={rest?.errors ? `${label}*` : label}
12
+ label={getRequiredLabel({ label, errors: rest?.errors })}
12
13
  valid={Boolean(!error)}
13
14
  placeholder="+7 (___) ___-__-__"
14
15
  {...rest}
@@ -1,14 +1,12 @@
1
- import { type LabelProps } from '../../model/HeadlineType';
1
+ import { type DefaultControlType } from '../../model/DefaultControlType';
2
2
  import { type InputTypes } from '../../model/InputTypes';
3
3
  import { type ControlProps } from '../ControlProps';
4
4
  import { type PreventableEventWithTarget } from '../PreventableEvent';
5
5
 
6
- export interface InputProps<V = string> extends ControlProps<V>, LabelProps {
7
- className?: string;
6
+ export interface InputProps<V = string> extends DefaultControlType, ControlProps<V> {
8
7
  id?: string;
9
8
  name?: string;
10
9
  type?: InputTypes;
11
- placeholder?: string;
12
10
  pattern?: string;
13
11
  onFocus?: (ev: PreventableEventWithTarget) => void;
14
12
  onBlur?: (ev?: PreventableEventWithTarget) => void;
@@ -16,7 +14,5 @@ export interface InputProps<V = string> extends ControlProps<V>, LabelProps {
16
14
  disabled?: boolean;
17
15
  autoFocus?: boolean;
18
16
  isTextarea?: boolean;
19
- error?: string;
20
- errors?: string[];
21
17
  dadata?: boolean;
22
18
  }
@@ -1,4 +1,5 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import { getRequiredLabel } from '../../utils/getRequiredLabel';
2
3
  import { style } from '../../utils/style';
3
4
  import { SnilsInput } from '../SnilsInput/SnilsInput';
4
5
  import { type InputProps } from './InputProps';
@@ -9,7 +10,7 @@ export const InputSnilsControl = JSX<InputProps>(
9
10
  <div className={style('shrink-0 w-full', className)}>
10
11
  <SnilsInput
11
12
  aria-label={label}
12
- label={rest?.errors ? `${label}*` : label}
13
+ label={getRequiredLabel({ label, errors: rest?.errors })}
13
14
  valid={Boolean(!error)}
14
15
  value={value}
15
16
  onChange={onChange}
@@ -1,20 +1,18 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
- import { useCallback, useState } from '@redneckz/uni-jsx/lib/hooks';
2
+ import { useCallback, useMemo, useState } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { type BranchesHeader, type ForeignOfficeProps } from '../../data/HeaderData';
4
- import { useLink } from '../../hooks/useLink';
5
4
  import { useLocation } from '../../hooks/useLocation';
6
5
  import { useRegions, type Region } from '../../hooks/useRegions';
7
6
  import { groupBy } from '../../utils/groupBy';
8
7
  import { jaroWinklerDistance } from '../../utils/jaroWinklerDistance';
9
8
  import { Dialog } from '../DialogManager/Dialog';
10
9
  import { useDialogManager } from '../DialogManager/useDialogManager';
11
- import { LinkWrapper } from '../LinkWrapper/LinkWrapper';
12
- import { Paragraph } from '../Paragraph/Paragraph';
13
10
  import { Text } from '../Text/Text';
14
11
  import { renderForeignOffices } from './renderForeignOffices';
15
12
  import { renderRegion } from './renderRegion';
16
13
  import { renderRegionGroup } from './renderRegionGroup';
17
14
  import { SearchBar } from './SearchBar';
15
+ import { SelectedLocation } from './SelectedLocation';
18
16
 
19
17
  const SEARCH_TERM_MIN_LENGTH = 3;
20
18
 
@@ -24,22 +22,21 @@ export interface LocationDialogProps {
24
22
  }
25
23
 
26
24
  export const LocationDialog = JSX<LocationDialogProps>(({ foreignOffices, branches }) => {
27
- const [currentLocation, selectCurrentLocation] = useLocation(branches?.default);
28
-
29
- const link = useLink();
30
- const { href } = link({ href: `/branches/${currentLocation.slug}` });
25
+ const selectLocation = useLocation(branches?.default);
31
26
 
32
27
  const [query, setQuery] = useState('');
33
28
 
34
- const regions: Region[] = cleanUpRegions(useRegions()).sort((a, b) =>
35
- a.name.localeCompare(b.name),
29
+ const rawRegions = useRegions();
30
+ const regions = useMemo(
31
+ () => cleanUpRegions(rawRegions).sort((a, b) => (a.name ?? '').localeCompare(b.name ?? '')),
32
+ [rawRegions],
36
33
  );
37
- const regionsGroupByLetter: Map<string, Region[]> = groupBy(regions, regionFirstLetter);
34
+ const regionsGroupByLetter = useMemo(() => groupBy(regions, regionFirstLetter), [regions]);
38
35
 
39
36
  const { close } = useDialogManager();
40
37
 
41
38
  const handleChangeLocation = useCallback((region: Region) => {
42
- selectCurrentLocation(region);
39
+ selectLocation(region);
43
40
  close();
44
41
  }, []);
45
42
 
@@ -51,16 +48,7 @@ export const LocationDialog = JSX<LocationDialogProps>(({ foreignOffices, branch
51
48
  <Text size="text-h4" color="text-primary-text">
52
49
  Выберите филиал
53
50
  </Text>
54
- {currentLocation ? (
55
- <div className="mb-s">
56
- <Paragraph size="text-l" color="text-primary-text">
57
- Сейчас выбран:
58
- <LinkWrapper href={href} className="inline mx-2xs text-primary-main">
59
- {currentLocation.name}
60
- </LinkWrapper>
61
- </Paragraph>
62
- </div>
63
- ) : null}
51
+ <SelectedLocation defaultLocation={branches?.default} />
64
52
  <SearchBar onSearch={setQuery} searchTerm={query} />
65
53
  </div>
66
54
  }
@@ -86,10 +74,10 @@ export const LocationDialog = JSX<LocationDialogProps>(({ foreignOffices, branch
86
74
  );
87
75
  });
88
76
 
89
- const regionFirstLetter = (region: Region) => region.name?.charAt(0) || '';
77
+ const regionFirstLetter = (region: Region) => region.name?.charAt(0) ?? '';
90
78
 
91
- const cleanUpRegions = (regions: Region[]) =>
79
+ const cleanUpRegions = (regions: Region[]): Region[] =>
92
80
  regions.map((region) => ({
93
81
  ...region,
94
- name: region.name?.replace(/республика|область|край'/gi, '').trim() || '',
82
+ name: region.name?.replace(/республика|область|край'/gi, '').trim() ?? '',
95
83
  }));
@@ -0,0 +1,27 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { useLink } from '../../hooks/useLink';
3
+ import { useLocationState } from '../../hooks/useLocation';
4
+ import { LinkWrapper } from '../LinkWrapper/LinkWrapper';
5
+ import { Paragraph } from '../Paragraph/Paragraph';
6
+
7
+ interface SelectedLocationProps {
8
+ defaultLocation?: string;
9
+ }
10
+
11
+ export const SelectedLocation = JSX<SelectedLocationProps>(({ defaultLocation }) => {
12
+ const currentLocation = useLocationState(defaultLocation);
13
+
14
+ const link = useLink();
15
+ const { href } = link({ href: `/branches/${currentLocation.slug}` });
16
+
17
+ return currentLocation ? (
18
+ <div className="mb-s">
19
+ <Paragraph size="text-l" color="text-primary-text">
20
+ Сейчас выбран:
21
+ <LinkWrapper href={href} className="inline mx-2xs text-primary-main">
22
+ {currentLocation.name}
23
+ </LinkWrapper>
24
+ </Paragraph>
25
+ </div>
26
+ ) : null;
27
+ });
@@ -15,7 +15,7 @@ export const PopupManager = JSX(() => {
15
15
 
16
16
  useEffect(
17
17
  () =>
18
- defaultEventBus.subscribe('popup', (action) => {
18
+ defaultEventBus.observable.subscribe('popup', (action) => {
19
19
  switch (action.type) {
20
20
  case 'open':
21
21
  case 'update':
@@ -4,8 +4,8 @@ import { type PopupOptions } from './PopupAction';
4
4
 
5
5
  export const usePopupManager = () => ({
6
6
  open: (popup: VNode, options: PopupOptions) =>
7
- defaultEventBus.fire('popup', { type: 'open', popup, ...options }),
7
+ defaultEventBus.emitter.fire('popup', { type: 'open', popup, ...options }),
8
8
  update: (popup: VNode, options: PopupOptions) =>
9
- defaultEventBus.fire('popup', { type: 'update', popup, ...options }),
10
- close: () => defaultEventBus.fire('popup', { type: 'close' }),
9
+ defaultEventBus.emitter.fire('popup', { type: 'update', popup, ...options }),
10
+ close: () => defaultEventBus.emitter.fire('popup', { type: 'close' }),
11
11
  });
@@ -1,19 +1,18 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import { type DefaultControlType } from '../../model/DefaultControlType';
2
3
  import { type TextProps } from '../../model/HeadlineType';
3
4
  import { type ListOrientation } from '../../model/ListOrientation';
4
5
  import { style } from '../../utils/style';
5
6
  import { Checkbox } from '../Checkbox/Checkbox';
7
+ import { type ControlProps } from '../ControlProps';
6
8
  import { Text } from '../Text/Text';
7
9
 
8
10
  export type RadioButtonItem = TextProps & {
9
11
  id: string;
10
12
  };
11
13
 
12
- interface RadioButtonGroupProps {
13
- title?: string;
14
+ export interface RadioButtonGroupProps extends DefaultControlType, ControlProps<string> {
14
15
  items?: RadioButtonItem[];
15
- checkedItem?: string;
16
- className?: string;
17
16
  onChange?: (id: string) => void;
18
17
  disabled?: boolean;
19
18
  orientation?: ListOrientation;
@@ -26,19 +25,19 @@ const orientationStyleMap: Record<ListOrientation, string> = {
26
25
 
27
26
  export const RadioButtonGroup = JSX<RadioButtonGroupProps>(
28
27
  ({
29
- title,
28
+ label,
30
29
  items,
31
- checkedItem,
30
+ value,
32
31
  className,
33
32
  onChange: onChangeCheckedItem,
34
33
  disabled = false,
35
34
  orientation = 'horizontal',
36
35
  }) => (
37
36
  <div className="grid gap-xs whitespace-nowrap">
38
- {title ? (
39
- <div role="radiogroup" aria-label={title}>
37
+ {label ? (
38
+ <div role="radiogroup" aria-label={label}>
40
39
  <Text color="text-secondary-text" font="font-light">
41
- {title}
40
+ {label}
42
41
  </Text>
43
42
  </div>
44
43
  ) : null}
@@ -52,7 +51,7 @@ export const RadioButtonGroup = JSX<RadioButtonGroupProps>(
52
51
  key={String(id)}
53
52
  isRadio
54
53
  text={text}
55
- value={checkedItem === id}
54
+ value={value === id}
56
55
  onChange={() => onChangeCheckedItem && onChangeCheckedItem(id)}
57
56
  disabled={disabled}
58
57
  />
@@ -0,0 +1,18 @@
1
+ import { JSX } from '@redneckz/uni-jsx';
2
+ import { getRequiredLabel } from '../../utils/getRequiredLabel';
3
+ import { style } from '../../utils/style';
4
+ import { renderErrorText } from '../Input/renderErrorText';
5
+ import { RadioButtonGroup, type RadioButtonGroupProps } from './RadioButtonGroup';
6
+
7
+ export const RadioButtonGroupControl = JSX<RadioButtonGroupProps>(
8
+ ({ className, label, onChange, error, ...rest }) => (
9
+ <div className={style('shrink-0 w-full', className)}>
10
+ <RadioButtonGroup
11
+ label={getRequiredLabel({ label, errors: rest?.errors })}
12
+ onChange={(_) => onChange && onChange(_)}
13
+ {...rest}
14
+ />
15
+ {renderErrorText(error)}
16
+ </div>
17
+ ),
18
+ );
@@ -1,9 +1,10 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
2
  import { useCallback, useState } from '@redneckz/uni-jsx/lib/hooks';
3
3
  import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
4
- import { type LabelProps } from '../../model/HeadlineType';
4
+ import { type DefaultControlType } from '../../model/DefaultControlType';
5
5
  import { type IconVersion } from '../../model/IconVersion';
6
6
  import { style } from '../../utils/style';
7
+ import { type ControlProps } from '../ControlProps';
7
8
  import { Icon } from '../Icon/Icon';
8
9
  import { Input } from '../Input/Input';
9
10
  import { renderLabel } from '../Input/renderLabel';
@@ -11,21 +12,16 @@ import { formatOption } from './formatOption';
11
12
  import { type Option } from './Option';
12
13
  import { useSelectPopup } from './useSelectPopup';
13
14
 
14
- export type SelectProps = LabelProps & {
15
- className?: string;
15
+ export interface SelectProps extends DefaultControlType, ControlProps<Option> {
16
16
  options?: Option[];
17
- value?: Option;
18
17
  valid?: boolean;
19
18
  isBorder?: boolean;
20
- placeholder?: string;
21
19
  isSearch?: boolean;
22
- onChange?: (value: Option) => void;
23
20
  iconVersion?: IconVersion;
24
21
  disabled?: boolean;
25
- };
22
+ }
26
23
 
27
24
  export const Select = JSX<SelectProps>(
28
- // eslint-disable-next-line complexity
29
25
  ({
30
26
  className,
31
27
  label,
@@ -37,11 +33,11 @@ export const Select = JSX<SelectProps>(
37
33
  isSearch = false,
38
34
  iconVersion = 'black',
39
35
  onChange,
40
- disabled,
36
+ disabled = false,
41
37
  }) => {
42
38
  const [isOpen, { setFalse: close, setTrue: open }] = useBool();
43
39
  const [query, setQuery] = useState('');
44
- const isDisabled = disabled || options.length === 0;
40
+ const isDisabled = getDisabled(disabled, options.length);
45
41
  const hasOpen = isOpen && !isDisabled;
46
42
 
47
43
  const handleClose = useCallback(() => {
@@ -101,3 +97,5 @@ const getStyle = (isBorder: boolean, valid: boolean, disabled: boolean) =>
101
97
  disabled ? 'bg-main-divider' : 'cursor-pointer ',
102
98
  valid ? 'border-gray' : 'border-error',
103
99
  );
100
+
101
+ const getDisabled = (disabled: boolean, length: number) => disabled || length === 0;
@@ -1,18 +1,12 @@
1
1
  import { JSX } from '@redneckz/uni-jsx';
2
+ import { getRequiredLabel } from '../../utils/getRequiredLabel';
2
3
  import { renderErrorText } from '../Input/renderErrorText';
3
4
  import { Select, type SelectProps } from './Select';
4
5
 
5
- interface SelectControlProps extends SelectProps {
6
- label?: string;
7
- error?: string;
8
- errors?: string[];
9
- className?: string;
10
- }
11
-
12
- export const SelectControl = JSX<SelectControlProps>(
13
- ({ className = '', label, error, ...rest }) => (
6
+ export const SelectControl = JSX<SelectProps>(
7
+ ({ className = '', label, error, errors, ...rest }) => (
14
8
  <div className={className}>
15
- <Select {...rest} valid={!error} label={rest?.errors ? `${label}*` : label} />
9
+ <Select {...rest} valid={!error} label={getRequiredLabel({ label, errors })} />
16
10
  {renderErrorText(error)}
17
11
  </div>
18
12
  ),
@@ -0,0 +1,4 @@
1
+ import type { DefaultControlType } from '../model/DefaultControlType';
2
+
3
+ export const getRequiredLabel = ({ label, errors }: DefaultControlType) =>
4
+ label && errors ? `${label}*` : label;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.14.594",
3
+ "version": "0.14.596",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",