stone-kit 0.0.1105 → 0.0.1107

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 (271) hide show
  1. package/README.md +30 -0
  2. package/dist/App.d.ts +2 -0
  3. package/dist/App.js +10 -0
  4. package/dist/Option-DmDx_xOt.js +99 -0
  5. package/dist/PinTrans-D6OZq76b.js +10 -0
  6. package/dist/Router.d.ts +2 -0
  7. package/dist/Router.js +103 -0
  8. package/dist/SmallFilter-C-VKnbkP.js +10 -0
  9. package/dist/chunk-4WY6JWTD-BeveLKf_.js +1582 -0
  10. package/dist/components/Button/ui/Button.d.ts +1 -2
  11. package/dist/components/Button/ui/Button.js +74 -67
  12. package/dist/components/Button/ui/Button.types.d.ts +7 -5
  13. package/dist/components/Button/ui/Button.types.js +5 -3
  14. package/dist/components/CheckBox/CheckBox.d.ts +2 -0
  15. package/dist/components/CheckBox/CheckBox.js +84 -0
  16. package/dist/components/CheckBox/CheckBox.types.d.ts +17 -0
  17. package/dist/components/CheckBox/CheckBox.types.js +1 -0
  18. package/dist/components/CheckBox/index.d.ts +2 -0
  19. package/dist/components/CheckBox/index.js +4 -0
  20. package/dist/components/CheckBoxNew/CheckBox.types.d.ts +16 -0
  21. package/dist/components/CheckBoxNew/CheckBox.types.js +6 -0
  22. package/dist/components/CheckBoxNew/CheckBoxNew.d.ts +11 -0
  23. package/dist/components/CheckBoxNew/CheckBoxNew.js +45 -0
  24. package/dist/components/CheckboxSelect/index.d.ts +1 -0
  25. package/dist/components/CheckboxSelect/index.js +4 -0
  26. package/dist/components/CheckboxSelect/ui/CheckboxSelect.d.ts +18 -0
  27. package/dist/components/CheckboxSelect/ui/CheckboxSelect.js +57 -0
  28. package/dist/components/CommercialLotCard/CommercialLotCard.d.ts +2 -0
  29. package/dist/components/CommercialLotCard/CommercialLotCard.js +81 -0
  30. package/dist/components/CommercialLotCard/components/PaymentLink/PaymentLink.d.ts +6 -0
  31. package/dist/components/CommercialLotCard/components/PaymentLink/PaymentLink.js +21 -0
  32. package/dist/components/CommercialLotCard/components/Price/Price.d.ts +9 -0
  33. package/dist/components/CommercialLotCard/components/Price/Price.js +39 -0
  34. package/dist/components/CommercialLotCard/components/Snippets/Snippets.d.ts +6 -0
  35. package/dist/components/CommercialLotCard/components/Snippets/Snippets.js +100 -0
  36. package/dist/components/CommercialLotCard/components/Tags/Tags.d.ts +7 -0
  37. package/dist/components/CommercialLotCard/components/Tags/Tags.js +37 -0
  38. package/dist/components/CommercialLotCard/types/CommercialLotCard.types.d.ts +10 -0
  39. package/dist/components/CommercialLotCard/types/CommercialLotCard.types.js +1 -0
  40. package/dist/components/CommercialLotCard/types/LotCard.d.ts +386 -0
  41. package/dist/components/CommercialLotCard/types/LotCard.js +1 -0
  42. package/dist/components/CommercialLotCard/utils/formatPrice.d.ts +1 -0
  43. package/dist/components/CommercialLotCard/utils/formatPrice.js +8 -0
  44. package/dist/components/CommercialLotCard/utils/getTagsFeatures.d.ts +4 -0
  45. package/dist/components/CommercialLotCard/utils/getTagsFeatures.js +13 -0
  46. package/dist/components/DestinationTab/ui/DestinationTab.d.ts +0 -1
  47. package/dist/components/DestinationTab/ui/DestinationTab.js +41 -41
  48. package/dist/components/DestinationTab/ui/DestinationTab.types.d.ts +0 -1
  49. package/dist/components/FavoriteIcon/FavoriteIcon.d.ts +7 -0
  50. package/dist/components/FavoriteIcon/FavoriteIcon.js +66 -0
  51. package/dist/components/FavoriteIcon/Heart.d.ts +3 -0
  52. package/dist/components/FavoriteIcon/Heart.js +24 -0
  53. package/dist/components/FavoriteIcon/HeartFilled.d.ts +5 -0
  54. package/dist/components/FavoriteIcon/HeartFilled.js +27 -0
  55. package/dist/components/FieldInput/ui/FieldInput.d.ts +1 -2
  56. package/dist/components/FieldInput/ui/FieldInput.js +28 -7
  57. package/dist/components/FieldInput/ui/FieldInput.types.d.ts +3 -1
  58. package/dist/components/FilterWithSave/hooks/useFilterWithSave.d.ts +43 -0
  59. package/dist/components/FilterWithSave/hooks/useFilterWithSave.js +56 -0
  60. package/dist/components/FilterWithSave/ui/FilterWithSave.d.ts +29 -0
  61. package/dist/components/FilterWithSave/ui/FilterWithSave.js +325 -0
  62. package/dist/components/Flex/ui/Flex.d.ts +0 -1
  63. package/dist/components/Flex/ui/Flex.js +1 -1
  64. package/dist/components/Flex/ui/Flex.types.d.ts +0 -1
  65. package/dist/components/FormModal/ui/ModalForm.d.ts +60 -0
  66. package/dist/components/FormModal/ui/ModalForm.js +1518 -0
  67. package/dist/components/FormModal/utils/reg.d.ts +4 -0
  68. package/dist/components/FormModal/utils/reg.js +6 -0
  69. package/dist/components/GroupedInput/ui/GroupedInputs.d.ts +0 -1
  70. package/dist/components/GroupedInput/ui/GroupedInputs.js +5 -5
  71. package/dist/components/GroupedInput/ui/GroupedInputs.types.d.ts +0 -1
  72. package/dist/components/Input/ui/Input.d.ts +28 -0
  73. package/dist/components/Input/ui/Input.js +3247 -49
  74. package/dist/components/Input/ui/Input.types.d.ts +0 -23
  75. package/dist/components/Input/ui/Input.types.js +1 -7
  76. package/dist/components/Logo/ui/Logo.d.ts +1 -2
  77. package/dist/components/Logo/ui/Logo.js +58 -33
  78. package/dist/components/Logo/ui/Logo.types.d.ts +13 -1
  79. package/dist/components/Logo/ui/Logo.types.js +14 -1
  80. package/dist/components/LotCard/hooks/useLotCard.d.ts +25 -0
  81. package/dist/components/LotCard/hooks/useLotCard.js +13 -0
  82. package/dist/components/LotCard/ui/LotCard.d.ts +1 -2
  83. package/dist/components/LotCard/ui/LotCard.js +203 -104
  84. package/dist/components/LotCard/ui/LotCard.types.d.ts +234 -75
  85. package/dist/components/LotCard/utils/checkBedroomsCount.js +2 -2
  86. package/dist/components/LotCard/utils/const.d.ts +8 -0
  87. package/dist/components/LotCard/utils/const.js +11 -0
  88. package/dist/components/LotCard/utils/formatPrice.d.ts +1 -1
  89. package/dist/components/LotCard/utils/formatPrice.js +5 -6
  90. package/dist/components/LotCard/utils/getTagsFeatures.d.ts +4 -0
  91. package/dist/components/LotCard/utils/getTagsFeatures.js +13 -0
  92. package/dist/components/LotCard/utils/monthlyPayment.d.ts +1 -0
  93. package/dist/components/LotCard/utils/monthlyPayment.js +4 -0
  94. package/dist/components/LotCardSkeleton/index.d.ts +1 -0
  95. package/dist/components/LotCardSkeleton/index.js +4 -0
  96. package/dist/components/LotCardSkeleton/ui/LotCardSkeleton.d.ts +5 -0
  97. package/dist/components/LotCardSkeleton/ui/LotCardSkeleton.js +83 -0
  98. package/dist/components/MetroLabel/ui/MetroLabel.d.ts +0 -1
  99. package/dist/components/MetroLabel/ui/MetroLabel.js +19 -19
  100. package/dist/components/MetroLabel/ui/MetroLabel.types.d.ts +0 -1
  101. package/dist/components/MetroTag/ui/MetroTag.d.ts +1 -2
  102. package/dist/components/MetroTag/ui/MetroTag.js +121 -25
  103. package/dist/components/MetroTag/ui/MetroTag.types.d.ts +21 -6
  104. package/dist/components/Modal/ui/Modal.d.ts +2 -17
  105. package/dist/components/Modal/ui/Modal.js +63 -19594
  106. package/dist/components/Modal/ui/Modal.types.d.ts +21 -0
  107. package/dist/components/ModalSuccess/ModalSuccess.d.ts +2 -0
  108. package/dist/components/ModalSuccess/ModalSuccess.js +60 -0
  109. package/dist/components/ModalSuccess/ModalSuccess.types.d.ts +8 -0
  110. package/dist/components/ModalSuccess/ModalSuccess.types.js +1 -0
  111. package/dist/components/ModalSuccess/index.d.ts +1 -0
  112. package/dist/components/ModalSuccess/index.js +4 -0
  113. package/dist/components/NewIcon/icons/PinTrans.d.ts +3 -0
  114. package/dist/components/NewIcon/icons/PinTrans.js +6 -0
  115. package/dist/components/NewIcon/icons/SmallFilter.d.ts +3 -0
  116. package/dist/components/NewIcon/icons/SmallFilter.js +6 -0
  117. package/dist/components/NewIcon/index.d.ts +1 -1
  118. package/dist/components/NewIcon/index.js +3 -2
  119. package/dist/components/NewIcon/ui/NewIcon.d.ts +2 -2
  120. package/dist/components/NewIcon/ui/NewIcon.js +204 -99
  121. package/dist/components/NewIcon/ui/NewIcon.types.d.ts +0 -1
  122. package/dist/components/NewIcon/ui/iconTypes.d.ts +3 -0
  123. package/dist/components/NewIcon/ui/iconTypes.js +60 -0
  124. package/dist/components/ProjectCardSkeleton/index.d.ts +1 -0
  125. package/dist/components/ProjectCardSkeleton/index.js +4 -0
  126. package/dist/components/ProjectCardSkeleton/ui/ProjectCardSkeleton.d.ts +1 -0
  127. package/dist/components/ProjectCardSkeleton/ui/ProjectCardSkeleton.js +32 -0
  128. package/dist/components/RoundButton/ui/RoundButton.d.ts +1 -2
  129. package/dist/components/RoundButton/ui/RoundButton.js +56 -45
  130. package/dist/components/RoundButton/ui/RoundButton.types.d.ts +10 -2
  131. package/dist/components/RoundButton/ui/RoundButton.types.js +13 -6
  132. package/dist/components/Select/model/selectMode.d.ts +16 -0
  133. package/dist/components/Select/model/selectMode.js +64 -0
  134. package/dist/components/Select/ui/Category.d.ts +13 -0
  135. package/dist/components/Select/ui/Category.js +79 -0
  136. package/dist/components/Select/ui/Option.d.ts +15 -0
  137. package/dist/components/Select/ui/Option.js +7 -0
  138. package/dist/components/Select/ui/Select.d.ts +1 -3
  139. package/dist/components/Select/ui/Select.js +196 -79
  140. package/dist/components/Select/ui/Select.types.d.ts +62 -6
  141. package/dist/components/SliderNavigation/index.d.ts +0 -1
  142. package/dist/components/SliderNavigation/ui/SliderNavigation.d.ts +1 -2
  143. package/dist/components/SliderNavigation/ui/SliderNavigation.js +45 -32
  144. package/dist/components/SliderNavigation/ui/SliderNavigation.types.d.ts +7 -0
  145. package/dist/components/SortSelect/hooks/useSortSelect.d.ts +5 -4
  146. package/dist/components/SortSelect/hooks/useSortSelect.js +2 -2
  147. package/dist/components/SortSelect/ui/SortSelect.d.ts +0 -1
  148. package/dist/components/SortSelect/ui/SortSelect.js +67 -56
  149. package/dist/components/SortSelect/ui/SortSelect.types.d.ts +9 -2
  150. package/dist/components/SummarySelect/index.d.ts +1 -0
  151. package/dist/components/SummarySelect/index.js +4 -0
  152. package/dist/components/SummarySelect/ui/SummarySelect.d.ts +15 -0
  153. package/dist/components/SummarySelect/ui/SummarySelect.js +172 -0
  154. package/dist/components/Switcher/ui/Switcher.d.ts +1 -2
  155. package/dist/components/Switcher/ui/Switcher.js +45 -30
  156. package/dist/components/Switcher/ui/Switcher.types.d.ts +3 -1
  157. package/dist/components/TabSelect/index.d.ts +1 -0
  158. package/dist/components/TabSelect/index.js +4 -0
  159. package/dist/components/TabSelect/ui/TabSelect.d.ts +32 -0
  160. package/dist/components/TabSelect/ui/TabSelect.js +64 -0
  161. package/dist/components/TabSelect/ui/TabSelect.types.d.ts +0 -0
  162. package/dist/components/TabSelect/ui/TabSelect.types.js +1 -0
  163. package/dist/components/TabSwitcher/ui/TabSwitcher.d.ts +4 -4
  164. package/dist/components/TabSwitcher/ui/TabSwitcher.js +114 -34
  165. package/dist/components/TabSwitcher/ui/TabSwitcher.types.d.ts +23 -4
  166. package/dist/components/Tag/ui/Tag.d.ts +1 -2
  167. package/dist/components/Tag/ui/Tag.js +96 -44
  168. package/dist/components/Tag/ui/Tag.types.d.ts +22 -2
  169. package/dist/components/Tag/ui/Tag.types.js +20 -3
  170. package/dist/components/Text/ui/Text.d.ts +1 -2
  171. package/dist/components/Text/ui/Text.js +20 -27
  172. package/dist/components/Text/ui/Text.types.d.ts +0 -1
  173. package/dist/components/TextArea/TextArea.d.ts +8 -0
  174. package/dist/components/TextArea/TextArea.js +25 -0
  175. package/dist/components/ZoomControls/index.d.ts +1 -0
  176. package/dist/components/ZoomControls/index.js +4 -0
  177. package/dist/components/ZoomControls/ui/ZoomControls.d.ts +2 -0
  178. package/dist/components/ZoomControls/ui/ZoomControls.js +33 -0
  179. package/dist/components/ZoomControls/ui/ZoomControls.types.d.ts +6 -0
  180. package/dist/components/ZoomControls/ui/ZoomControls.types.js +1 -0
  181. package/dist/components/mobileButton/ui/MobileButton.d.ts +0 -1
  182. package/dist/components/mobileButton/ui/MobileButton.js +38 -38
  183. package/dist/components/mobileButton/ui/MobileButton.types.d.ts +0 -1
  184. package/dist/index-BJwl9stn.js +33872 -0
  185. package/dist/index-YnD2EP-S.js +43 -0
  186. package/dist/layout/Layout.d.ts +5 -0
  187. package/dist/layout/Layout.js +11 -0
  188. package/dist/layout/components/Header/Header.d.ts +1 -0
  189. package/dist/layout/components/Header/Header.js +141 -0
  190. package/dist/layout/components/Menu.d.ts +1 -0
  191. package/dist/layout/components/Menu.js +109 -0
  192. package/dist/main.d.ts +14 -0
  193. package/dist/main.js +70 -42
  194. package/dist/pages/ButtonsPage/Buttons.d.ts +1 -0
  195. package/dist/pages/ButtonsPage/Buttons.js +106 -0
  196. package/dist/pages/CheckboxPage/CheckboxPage.d.ts +1 -0
  197. package/dist/pages/CheckboxPage/CheckboxPage.js +224 -0
  198. package/dist/pages/FormsPage/FormsPage.d.ts +2 -0
  199. package/dist/pages/FormsPage/FormsPage.js +58 -0
  200. package/dist/pages/HomePage/HomePage.d.ts +2 -0
  201. package/dist/pages/HomePage/HomePage.js +7 -0
  202. package/dist/pages/IconsPage/IconsPage.d.ts +1 -0
  203. package/dist/pages/IconsPage/IconsPage.js +19 -0
  204. package/dist/pages/InputPage/InputPage.d.ts +1 -0
  205. package/dist/pages/InputPage/InputPage.js +13 -0
  206. package/dist/pages/LogoPage/LogoPage.d.ts +1 -0
  207. package/dist/pages/LogoPage/LogoPage.js +16 -0
  208. package/dist/pages/LotsPage/LotsPage.d.ts +1 -0
  209. package/dist/pages/LotsPage/LotsPage.js +74 -0
  210. package/dist/pages/LotsPage/const.d.ts +4 -0
  211. package/dist/pages/LotsPage/const.js +678 -0
  212. package/dist/pages/ModalsPage/ModalPage.d.ts +2 -0
  213. package/dist/pages/ModalsPage/ModalPage.js +110 -0
  214. package/dist/pages/SelectPage/SelectPage.d.ts +1 -0
  215. package/dist/pages/SelectPage/SelectPage.js +211 -0
  216. package/dist/pages/SelectPage/const.d.ts +13 -0
  217. package/dist/pages/SelectPage/const.js +35 -0
  218. package/dist/pages/TabsPage/TabsPage.d.ts +2 -0
  219. package/dist/pages/TabsPage/TabsPage.js +168 -0
  220. package/dist/pages/TagsPage/TagsPage.d.ts +1 -0
  221. package/dist/pages/TagsPage/TagsPage.js +64 -0
  222. package/dist/shared/checkLargeOffice.d.ts +2 -0
  223. package/dist/shared/checkLargeOffice.js +4 -0
  224. package/dist/shared/deepEqual.d.ts +1 -0
  225. package/dist/shared/deepEqual.js +16 -0
  226. package/dist/shared/fmtNumber.d.ts +1 -0
  227. package/dist/shared/fmtNumber.js +4 -0
  228. package/dist/shared/mlnRound.d.ts +1 -0
  229. package/dist/shared/mlnRound.js +8 -0
  230. package/dist/shared/useClientWidth.d.ts +2 -0
  231. package/dist/shared/useClientWidth.js +6 -6
  232. package/dist/stone-kit.css +1 -0
  233. package/dist/stories/entities/CommercialLotCard/CommercialLotCard.stories.js +166 -0
  234. package/dist/stories/entities/index.js +4 -0
  235. package/dist/stories/shared/ui/Button/Button.stories.js +118 -0
  236. package/dist/stories/shared/ui/CheckBox/CheckBox.stories.js +71 -0
  237. package/dist/stories/shared/ui/CheckBox/CheckBoxNew.stories.js +45 -0
  238. package/dist/stories/shared/ui/CheckboxSelect/CheckboxSelect.stories.js +114 -0
  239. package/dist/stories/shared/ui/DestinationTab/DestinationTab.stories.js +89 -0
  240. package/dist/stories/shared/ui/FieldInput/FieldInput.stories.js +31 -0
  241. package/dist/stories/shared/ui/FilterWithSave/FilterWithSave.stories.js +44 -0
  242. package/dist/stories/shared/ui/Flex/Flex.stories.js +74 -0
  243. package/dist/stories/shared/ui/FormModal/FormModal.stories.js +65 -0
  244. package/dist/stories/shared/ui/GroupedInput/GroupedInput.stories.js +68 -0
  245. package/dist/stories/shared/ui/Input/Input.stories.js +82 -0
  246. package/dist/stories/shared/ui/Logo/Logo.stories.js +75 -0
  247. package/dist/stories/shared/ui/MetroLabel/MetroLabel.stories.js +91 -0
  248. package/dist/stories/shared/ui/MetroTag/MetroTag.stories.js +96 -0
  249. package/dist/stories/shared/ui/MobileButton/MobileButton.stories.js +77 -0
  250. package/dist/stories/shared/ui/Modal/Modal.stories.js +77 -0
  251. package/dist/stories/shared/ui/ModalSuccess/ModalSuccess.stories.js +34 -0
  252. package/dist/stories/shared/ui/NewIcon/NewIcon.stories.js +38 -0
  253. package/dist/stories/shared/ui/RoundButton/RoundButton.stories.js +83 -0
  254. package/dist/stories/shared/ui/Select/Select.stories.js +81 -0
  255. package/dist/stories/shared/ui/SliderNavigation/SliderNavigation.stories.js +82 -0
  256. package/dist/stories/shared/ui/SortSelect/SortSelect.stories.js +87 -0
  257. package/dist/stories/shared/ui/SummarySelect/SummarySelect.stories.js +85 -0
  258. package/dist/stories/shared/ui/Switcher/Switcher.stories.js +77 -0
  259. package/dist/stories/shared/ui/TabSelect/TabSelect.stories.js +76 -0
  260. package/dist/stories/shared/ui/TabSwitcher/TabSwitcher.stories.js +76 -0
  261. package/dist/stories/shared/ui/Tag/Tag.stories.js +51 -0
  262. package/dist/stories/shared/ui/Text/Text.stories.js +22 -0
  263. package/dist/stories/shared/ui/TextArea/TextArea.stories.js +37 -0
  264. package/dist/stories/shared/ui/ZoomControls/ZoomControls.stories.js +91 -0
  265. package/dist/stories/shared/ui/index.js +62 -0
  266. package/dist/useLotCard-D-gK4J_o.js +186 -0
  267. package/dist/useSortSelect-IeonkD5d.js +79 -0
  268. package/package.json +39 -30
  269. package/dist/index-DIxK0V-G.js +0 -44
  270. package/dist/style.css +0 -1
  271. package/dist/useSortSelect-A7A_pNcU.js +0 -76
@@ -1,49 +1,4 @@
1
- interface IMetro {
2
- name: string | null;
3
- color: string | null;
4
- station: string | null;
5
- timeTo: string | null;
6
- }
7
- interface IFeatures {
8
- category: string | null;
9
- icoImg: {
10
- attributes: {
11
- url: string;
12
- };
13
- };
14
- slug: string | null;
15
- val: string | null;
16
- }
17
- interface IGeo {
18
- lat: string | null;
19
- lon: string | null;
20
- }
21
- interface IProject {
22
- address: string | null;
23
- buildingYear: number | null;
24
- createdAt: string | null;
25
- direction: number | null;
26
- features: IFeatures[] | null;
27
- geo: IGeo | null;
28
- id: number;
29
- logoImg: string | null;
30
- metro: IMetro[];
31
- name: string;
32
- project: string;
33
- shortDesc: string;
34
- sitPlanImg: string;
35
- sort: number;
36
- sortOffice: number | null;
37
- sortRetail: number | null;
38
- updatedAt: string;
39
- buildingQuarter: number;
40
- projectUuid: string;
41
- portalUuid: string;
42
- location: string;
43
- showPriceFlg: boolean | null;
44
- lotsCount: number | null;
45
- }
46
- interface ILotPromo {
1
+ interface LotPromo {
47
2
  /** Промо текст */
48
3
  val: string;
49
4
  /** Идентификатор */
@@ -51,31 +6,44 @@ interface ILotPromo {
51
6
  /** Категория */
52
7
  category: string;
53
8
  /** Ссылка на иконку */
54
- icoImg: string;
9
+ icoImg: string | null;
55
10
  /** hex цвет */
56
11
  color: string;
57
12
  }
58
- interface ILot {
13
+ export interface ILot {
59
14
  /** id Лота */
60
- id: number | string;
15
+ id: number;
61
16
  /** Название проекта */
62
17
  name?: string | null;
63
18
  /** Квартал сдачи */
64
19
  buildingQuarter?: number | null;
20
+ /** Какие-то там условия для вывода синей строчки в лоте про рассрочку */
21
+ hasBestPurchasingConditions?: boolean | null;
22
+ /** Какие-то там условия для вывода синей строчки в лоте про рассрочку */
23
+ bestPurchasingConditions?: number | null;
24
+ cornerKitchenLiving?: boolean | null;
65
25
  /** uuid Лота из 1с */
66
26
  lotUuid: string;
67
- /** UUID проекта */
68
- projectUuid: string | null;
27
+ /** TODO: убрать */
28
+ projectUuid?: string | null;
29
+ /** Скидка */
30
+ discount: string | null;
31
+ /** Стоимость объекта недвижимости до скидки */
32
+ sellingPriceBeforeDiscount: string | null;
69
33
  /** Стоимость объекта недвижимости */
70
34
  sellingPrice: string | null;
71
- /** Показывать скоро в продаже или нет */
72
- showPriceFlg: boolean | null;
35
+ /**id проекта */
36
+ projectId: number | null;
37
+ /** Показывать цену или "цена по запросу" */
38
+ showPriceFlg?: boolean | null;
73
39
  /** Цена за квм */
74
- sellingPricePerMeter: string | null;
40
+ sellingPricePerMeter?: string | null;
75
41
  /** цена за метра квадратный за год за аренду */
76
42
  rentPricePerMeterPerYear: string | null;
77
43
  /** аренда за месяц */
78
44
  rentPricePerMonth: string | null;
45
+ /** стороны света */
46
+ cardinalDirections?: string[] | null;
79
47
  /** Размер скидки */
80
48
  discountVolume: number | null;
81
49
  /** Цена со скидкой */
@@ -85,17 +53,23 @@ interface ILot {
85
53
  /** дата, до которой должны быть выданы ключи */
86
54
  handoverKeys: string | null;
87
55
  /** состояние лота: свободен, зарезервирован, продан, сдан в аренду, заблокирован, деактивирован */
88
- status: number | null;
56
+ status?: number | null;
89
57
  /** Статус аренды лота */
90
58
  rentStatus: number | null;
91
59
  /** название лота в 1С */
92
- number: string | null;
60
+ number: string | null | undefined;
93
61
  /** полный адрес лота (с корпусом) */
94
62
  address: string | null;
63
+ /** коммерческие программы рассрочки */
64
+ termsOfPurchase: string[] | null;
95
65
  /** Тип помещения => Квартиры/Пентхаусы/Келлеры/Паркинг Офисы/Ритейл/Офисные Блоки/Паркинг */
96
66
  type: number | null;
67
+ /** Название помещения => Квартиры/Пентхаусы/Келлеры/Паркинг Офисы/Ритейл/Офисные Блоки/Паркинг */
68
+ typeName: string | null;
97
69
  /** направления, по которым продвигается этот лот */
98
70
  direction: number | null;
71
+ /** Размерность спален S/M/L */
72
+ typeSizeCode: string | null;
99
73
  /** номер подъезда/секции */
100
74
  entrance: string | null;
101
75
  /** Номер квартиры / офиса */
@@ -116,6 +90,12 @@ interface ILot {
116
90
  saleFloorMin: number | null;
117
91
  /** Этаж, на котором заканчиваются продаваемые лоты */
118
92
  saleFloorMax: number | null;
93
+ /** Первый этаж большого лота/здания */
94
+ beginFloor: number | null;
95
+ /** Последний этаж большого лота/здания */
96
+ endFloor: number | null;
97
+ /** Ежемясячный платеж */
98
+ mortgageMonthlyPayment?: string;
119
99
  /** Количество комнат */
120
100
  roomsCount: number | null;
121
101
  /** Количество спален */
@@ -128,8 +108,12 @@ interface ILot {
128
108
  buildStage: number | null;
129
109
  /** угловое? */
130
110
  isCorner: boolean | null;
111
+ /** Квартира с террасой */
112
+ terrace?: boolean | null;
131
113
  /** общепит? */
132
114
  isCatering: boolean | null;
115
+ /** pdf презентация*/
116
+ pdfPresentation: string | null | undefined;
133
117
  /** является ли лот отдельно стоящим зданием */
134
118
  isDetachedBuilding: boolean | null;
135
119
  /** Наличие телефона */
@@ -139,11 +123,11 @@ interface ILot {
139
123
  /** мусоропровод */
140
124
  isGarbageTube: boolean | null;
141
125
  /** Является ли лот пентхаусом */
142
- isPenthouse: boolean | null;
126
+ isPenthouse?: boolean | null;
143
127
  /** Является ли лот апартаментом */
144
128
  isApart: boolean | null;
145
129
  /** Является ли лот двухуровневым */
146
- isDoubleLevel: boolean | null;
130
+ isDoubleLevel?: boolean | null;
147
131
  /** Есть ли пандус */
148
132
  isRamp: boolean | null;
149
133
  /** Близко ли вход к лифтовой группе */
@@ -155,27 +139,42 @@ interface ILot {
155
139
  /** Есть ли отделка */
156
140
  isFacing: boolean | null;
157
141
  /** Особенности квартиры */
158
- features: IFeatures[] | null;
142
+ features: LotFeature[] | null;
159
143
  /** Количество пассажирских лифтов */
160
144
  liftPassenger: number | null;
161
145
  /** Количество грузовых лифтов */
162
146
  liftService?: number | null;
163
147
  /** Количество балконов */
164
148
  balcony: number | null;
149
+ /** Ванная с окном */
150
+ bathroomWithWindow: boolean | null;
151
+ /** Гардеробная */
152
+ dressingRoom: boolean | null;
153
+ /** Мастер спальня */
154
+ masterBedroom: boolean | null;
155
+ /** Хз что это */
156
+ workroom: boolean | null;
157
+ objectId: string;
158
+ /** Хз что это */
159
+ reservations?: unknown[];
160
+ /** Хз что это */
161
+ businessType: string | null;
165
162
  /** Количество лоджий */
166
- loggia: number | null;
163
+ loggia?: number | null;
167
164
  /** Состояние помещения */
168
165
  condition: string | null;
169
166
  /** Тип входа в помещений */
170
167
  inputType?: string | null;
171
168
  /** Отделка */
172
- decoration: string | null;
169
+ decoration?: string | null;
173
170
  /** Тип планировки */
174
171
  layout: string | null;
175
172
  /** Тип ремонта */
176
173
  repairType: string | null;
174
+ /** Слаг лота */
175
+ slug: string;
177
176
  /** количество стояков с водой */
178
- waterPipesCount: number[] | null;
177
+ waterPipesCount?: number[] | null;
179
178
  /** количество рабочих мест */
180
179
  workPlacesCount: number | null;
181
180
  /** Количество совместных санузлов */
@@ -186,10 +185,12 @@ interface ILot {
186
185
  showcaseWindows: string | null;
187
186
  /** Вид из окна */
188
187
  windowView: string | null;
188
+ /** Вид из окна для ритейла*/
189
+ windowViews: string[];
189
190
  /** Promo метки */
190
- promo: ILotPromo[] | null;
191
+ promo: LotPromo[] | null;
191
192
  /** Promo текст */
192
- promoText: string | null;
193
+ promoText?: string | null;
193
194
  /** Ссылка на картинку */
194
195
  interiorPlanImg?: string | null;
195
196
  /** Ссылка на картинку */
@@ -201,27 +202,185 @@ interface ILot {
201
202
  /** Дата обновления */
202
203
  updatedAt?: string;
203
204
  /** Первоначальный взнос */
204
- firstPaymentSum?: string;
205
+ firstPaymentSum?: string | null;
205
206
  /** Массив с лотами в фоисных блоках */
206
207
  childLots?: {
207
208
  id: number;
208
209
  floor: number;
209
210
  floorPlanImg: string;
211
+ interiorPlanImg: string;
210
212
  }[];
211
- /** Угол азимута */
213
+ /** Массив с лотами рекоммендованными */
214
+ recommended?: ILot[] | null;
215
+ parking?: ILot[] | null;
216
+ /** Проект со страпи */
217
+ project?: LotProject | null;
218
+ /** Мокрая точка */
219
+ isWaterPipes?: boolean | null;
220
+ /** Для компаса */
212
221
  azimuthAngle?: number | null;
213
- /** Тип недвижимости */
214
- businessType?: string | null;
215
- /** С отделкой или без */
222
+ /** Декор? хз */
216
223
  isDecoration?: boolean | null;
217
- /** С мокрой точкой */
218
- isWaterPipes?: boolean | null;
219
- /** Данные всего проекта */
220
- project?: IProject | null;
221
- /** Забронировано или нет????? */
222
- reservations?: string[] | null;
224
+ /** Название подтипа */
225
+ subTypeName?: string | null;
226
+ /** Подтип */
227
+ subType: number | null;
228
+ additionFeatures?: {
229
+ val: string;
230
+ slug: string;
231
+ icoImg: string;
232
+ category?: string;
233
+ }[];
234
+ }
235
+ export interface LotFeature {
236
+ /** Текст */
237
+ val: string;
238
+ /** Категория */
239
+ category: string | null;
240
+ /** Ссылка на иконку */
241
+ icoImg: {
242
+ id: number;
243
+ attributes: IDefaultImg[] | null;
244
+ } | null | string;
245
+ /** Идентификатор */
246
+ slug: string;
247
+ isSearchable?: boolean | null;
248
+ }
249
+ export interface LotCardFeature {
250
+ /** Текст */
251
+ val: string;
252
+ /** Категория */
253
+ category: string;
254
+ /** Ссылка на иконку */
255
+ icoImg: {
256
+ attributes: IDefaultImg;
257
+ id: number;
258
+ } | null;
259
+ /** Идентификатор */
260
+ slug: string;
261
+ }
262
+ export interface LotProject {
263
+ /** Массив направлений */
264
+ directions: number[];
265
+ discount: string;
266
+ /** id */
267
+ id: number;
268
+ /** Название проекта */
269
+ name: string;
270
+ /** адрес */
271
+ address: string;
272
+ /** особенности, набор строк */
273
+ features: LotFeature[] | null;
274
+ frontFeatures: unknown;
275
+ geo: {
276
+ lat: string;
277
+ long: string;
278
+ };
279
+ logoImg: unknown;
280
+ minimalLotPrice: {
281
+ [key: number]: string;
282
+ };
283
+ retailLotsCount: {
284
+ [key: number]: number;
285
+ };
286
+ salesOffice: unknown;
287
+ shortDesc: string;
288
+ showCatalog: boolean;
289
+ showDetailPage: boolean;
290
+ showPdfBtn: boolean;
291
+ /** условия для больших лотов */
292
+ bigLotFeatures: LotCardFeature[];
293
+ /** условия для каталога */
294
+ catalogFeatures: LotCardFeature[];
295
+ /** квартал сдачи */
296
+ buildingQuarter?: number | null;
297
+ /** Локация */
298
+ location?: string | null;
299
+ /** год сдачи */
300
+ buildingYear?: number;
301
+ /** широта */
302
+ lat?: string;
303
+ /** долгота */
304
+ long?: string;
305
+ /** сортровка */
306
+ sort: number | null;
307
+ /** Показывать ежемесячный платеж */
308
+ isShowPayment: boolean | null;
309
+ /** Дата создания */
310
+ createdAt: string;
311
+ /** Дата обновления */
312
+ updatedAt: string;
313
+ /** Расстояние до метро */
314
+ metro: Metro[];
315
+ /** Показывать цену лотов */
316
+ showPriceFlg?: boolean;
317
+ /** uuid */
318
+ uuid?: string;
319
+ /** Статус проекта */
320
+ status: string;
321
+ /** Количество лотов проекта в продаже */
322
+ lotsCount?: number | null;
323
+ /** SitPlan проекта */
324
+ sitPlanImg: string;
325
+ strapiSlug?: string;
326
+ sortOffice?: number;
327
+ sortRetail?: number;
328
+ showPriceSubType?: {
329
+ value: string;
330
+ filter: string;
331
+ }[];
332
+ }
333
+ export interface Metro {
334
+ /** Цвет ветки */
335
+ color: string;
336
+ /** Широта */
337
+ lat?: number;
338
+ /** Долгота */
339
+ long?: number;
340
+ /** Название станции */
341
+ name: string;
342
+ station?: string | null;
343
+ /** Время до станции в минутах */
344
+ timeTo: number;
345
+ mode: null | string;
346
+ /** Иконка */
347
+ icon?: {
348
+ data?: IDefaultImg;
349
+ } | null;
223
350
  }
224
351
  export interface ILotCard {
225
352
  lot: ILot;
353
+ btnName?: string;
354
+ btnDisabled?: boolean;
355
+ handleBtnForm: (e?: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
356
+ handleFullScreenBtn?: () => void;
357
+ addClassname?: string;
358
+ addClassnameLotImage?: string;
359
+ imgNode?: React.ReactNode;
360
+ rowConditions?: boolean;
361
+ isFavorite?: boolean;
362
+ favoriteClickHandler?: (lot: ILot) => void;
363
+ }
364
+ export interface IDefaultImg extends IDefaultAttributes {
365
+ id: number | null;
366
+ alternativeText: string | null;
367
+ caption: string | null;
368
+ ext: string;
369
+ formats: unknown;
370
+ hash: string;
371
+ height: number;
372
+ mime: string;
373
+ name: string;
374
+ previewUrl: unknown;
375
+ provider: string;
376
+ provider_metadata?: unknown;
377
+ size: number;
378
+ url: string;
379
+ width?: number;
380
+ }
381
+ export interface IDefaultAttributes {
382
+ createdAt: string;
383
+ updatedAt: string;
384
+ publishedAt: string;
226
385
  }
227
386
  export {};
@@ -1,6 +1,6 @@
1
1
  const t = (e) => {
2
- if (!e || typeof e != "number" || e < 0)
3
- return "нет спален";
2
+ if (!e || typeof e != "number" || e < 1)
3
+ return "Студия";
4
4
  const s = e % 10, r = e % 100;
5
5
  if (r >= 11 && r <= 19)
6
6
  return `${e} спален`;
@@ -0,0 +1,8 @@
1
+ export declare const OFFICE_TYPES: {
2
+ 1: string;
3
+ 2: string;
4
+ 3: string;
5
+ 4: string;
6
+ 8: string;
7
+ 11: string;
8
+ };
@@ -0,0 +1,11 @@
1
+ const o = {
2
+ 1: "Офис",
3
+ 2: "Крупные лоты",
4
+ 3: "Ритейл",
5
+ 4: "Паркинг",
6
+ 8: "Офис",
7
+ 11: "Здание"
8
+ };
9
+ export {
10
+ o as OFFICE_TYPES
11
+ };
@@ -1 +1 @@
1
- export declare const formatPrice: (price: string | number | null, perMetr?: boolean) => string;
1
+ export declare const formatPrice: (price: string | number | null, perMetr?: boolean, direction?: number | null) => string;
@@ -1,9 +1,8 @@
1
- const n = (r, t) => {
2
- if (!r)
3
- return "Цена по запросу";
4
- const o = t ? " ₽/м²" : " ₽";
5
- return Number(r).toLocaleString() + o;
1
+ const e = (r, t, o) => {
2
+ if (!r && o === 2 || !r) return "Цена по запросу";
3
+ const n = t ? " ₽/м²" : " ₽";
4
+ return Number(r).toLocaleString("ru-RU") + n;
6
5
  };
7
6
  export {
8
- n as formatPrice
7
+ e as formatPrice
9
8
  };
@@ -0,0 +1,4 @@
1
+ import { ILot } from '../ui/LotCard.types.ts';
2
+ export declare const getTagsFeatures: ({ loggia, cornerKitchenLiving, terrace, isPenthouse, isDoubleLevel, }: Pick<ILot, "loggia" | "isDoubleLevel" | "isPenthouse" | "terrace" | "isCorner" | "cornerKitchenLiving">) => {
3
+ text: string;
4
+ }[];
@@ -0,0 +1,13 @@
1
+ const x = ({
2
+ loggia: e,
3
+ cornerKitchenLiving: s,
4
+ terrace: u,
5
+ isPenthouse: p,
6
+ isDoubleLevel: r
7
+ }) => {
8
+ const t = [];
9
+ return e && t.push({ text: "Балкон" }), s && t.push({ text: "Угловая" }), u && t.push({ text: "Терраса" }), p && t.push({ text: "Пентхаус" }), r && t.push({ text: "Двухуровневая" }), t;
10
+ };
11
+ export {
12
+ x as getTagsFeatures
13
+ };
@@ -0,0 +1 @@
1
+ export declare const formatPayment: (payment: string) => string;
@@ -0,0 +1,4 @@
1
+ const r = (e) => `Ежемесячный платеж от ${Number(e.replace(/\s/g, "")).toLocaleString()} ₽`;
2
+ export {
3
+ r as formatPayment
4
+ };
@@ -0,0 +1 @@
1
+ export { LotCardSkeleton } from './ui/LotCardSkeleton';
@@ -0,0 +1,4 @@
1
+ import { LotCardSkeleton as r } from "./ui/LotCardSkeleton.js";
2
+ export {
3
+ r as LotCardSkeleton
4
+ };
@@ -0,0 +1,5 @@
1
+ interface ILotCardSkeleton {
2
+ isProjectCard?: boolean;
3
+ }
4
+ export declare const LotCardSkeleton: ({ isProjectCard }: ILotCardSkeleton) => import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -0,0 +1,83 @@
1
+ import { jsxs as p, jsx as e } from "react/jsx-runtime";
2
+ import { c } from "../../../index-YnD2EP-S.js";
3
+ const l = "_root_7lz45_12", s = "_projectRoot_7lz45_22", i = "_lotImageWrapper_7lz45_26", a = "_pulsing_7lz45_1", n = "_projectLotImageWrapper_7lz45_37", _ = "_lotInfoWrapper_7lz45_41", m = "_projectLotInfoWrapper_7lz45_48", P = "_infoHeader_7lz45_52", L = "_projectInfoHeader_7lz45_60", d = "_decor_7lz45_64", W = "_lotPropertyListMobile_7lz45_71", j = "_lotPropertyItem_7lz45_79", I = "_projectLotPropertyItem_7lz45_104", y = "_lotPropertyListDesktop_7lz45_109", z = "_lotPriceWrapper_7lz45_113", v = "_projectLotPriceWrapper_7lz45_117", D = "_discountWrapper_7lz45_121", f = "_lotPricePerMetr_7lz45_134", N = "_btnWrapper_7lz45_139", u = "_projectBtnWrapper_7lz45_155", M = "_projectDecor_7lz45_201", k = "_projectLotPropertyListMobile_7lz45_210", b = "_projectLotPropertyListDesktop_7lz45_218", g = "_lotPropertyItemDesktop_7lz45_221", h = "_projectDiscountWrapper_7lz45_232", H = "_discountPrice_7lz45_235", x = "_projectLotPricePerMetr_7lz45_255", t = {
4
+ root: l,
5
+ projectRoot: s,
6
+ lotImageWrapper: i,
7
+ pulsing: a,
8
+ projectLotImageWrapper: n,
9
+ lotInfoWrapper: _,
10
+ projectLotInfoWrapper: m,
11
+ infoHeader: P,
12
+ projectInfoHeader: L,
13
+ decor: d,
14
+ lotPropertyListMobile: W,
15
+ lotPropertyItem: j,
16
+ projectLotPropertyItem: I,
17
+ lotPropertyListDesktop: y,
18
+ lotPriceWrapper: z,
19
+ projectLotPriceWrapper: v,
20
+ discountWrapper: D,
21
+ lotPricePerMetr: f,
22
+ btnWrapper: N,
23
+ projectBtnWrapper: u,
24
+ projectDecor: M,
25
+ projectLotPropertyListMobile: k,
26
+ projectLotPropertyListDesktop: b,
27
+ lotPropertyItemDesktop: g,
28
+ projectDiscountWrapper: h,
29
+ discountPrice: H,
30
+ projectLotPricePerMetr: x
31
+ }, r = c.bind(t), S = ({ isProjectCard: o }) => /* @__PURE__ */ p("div", { className: r(t.root, { [t.projectRoot]: o }), children: [
32
+ /* @__PURE__ */ e("div", { className: r(t.lotImageWrapper, { [t.projectLotImageWrapper]: o }) }),
33
+ /* @__PURE__ */ p("div", { className: r(t.lotInfoWrapper, { [t.projectLotInfoWrapper]: o }), children: [
34
+ /* @__PURE__ */ e("div", { className: r(t.infoHeader, { [t.projectInfoHeader]: o }) }),
35
+ /* @__PURE__ */ e("div", { className: r(t.decor, { [t.projectDecor]: o }) }),
36
+ /* @__PURE__ */ p(
37
+ "div",
38
+ {
39
+ className: r(t.lotPropertyListDesktop, {
40
+ [t.projectLotPropertyListDesktop]: o
41
+ }),
42
+ children: [
43
+ /* @__PURE__ */ e("div", { className: t.lotPropertyItemDesktop }),
44
+ /* @__PURE__ */ e("div", { className: t.lotPropertyItemDesktop }),
45
+ /* @__PURE__ */ e("div", { className: t.lotPropertyItemDesktop })
46
+ ]
47
+ }
48
+ ),
49
+ /* @__PURE__ */ p(
50
+ "ul",
51
+ {
52
+ className: r(t.lotPropertyListMobile, {
53
+ [t.projectLotPropertyListMobile]: o
54
+ }),
55
+ children: [
56
+ /* @__PURE__ */ p("li", { className: r(t.lotPropertyItem, { [t.projectLotPropertyItem]: o }), children: [
57
+ /* @__PURE__ */ e("div", {}),
58
+ /* @__PURE__ */ e("div", {})
59
+ ] }),
60
+ /* @__PURE__ */ p("li", { className: r(t.lotPropertyItem, { [t.projectLotPropertyItem]: o }), children: [
61
+ /* @__PURE__ */ e("div", {}),
62
+ /* @__PURE__ */ e("div", {})
63
+ ] }),
64
+ /* @__PURE__ */ p("li", { className: r(t.lotPropertyItem, { [t.projectLotPropertyItem]: o }), children: [
65
+ /* @__PURE__ */ e("div", {}),
66
+ /* @__PURE__ */ e("div", {})
67
+ ] })
68
+ ]
69
+ }
70
+ )
71
+ ] }),
72
+ /* @__PURE__ */ p("div", { className: r(t.lotPriceWrapper, { [t.projectLotPriceWrapper]: o }), children: [
73
+ /* @__PURE__ */ e("div", { className: r(t.discountWrapper, { [t.projectDiscountWrapper]: o }), children: /* @__PURE__ */ e("div", {}) }),
74
+ /* @__PURE__ */ e("div", { className: r(t.lotPricePerMetr, { [t.projectLotPricePerMetr]: o }) }),
75
+ /* @__PURE__ */ p("div", { className: r(t.btnWrapper, { [t.projectBtnWrapper]: o }), children: [
76
+ /* @__PURE__ */ e("div", {}),
77
+ /* @__PURE__ */ e("div", {})
78
+ ] })
79
+ ] })
80
+ ] });
81
+ export {
82
+ S as LotCardSkeleton
83
+ };
@@ -1,3 +1,2 @@
1
1
  import { IMetroLabelProps } from './MetroLabel.types.ts';
2
-
3
2
  export declare const MetroLabel: ({ addClassName, metro, width, justifyContent, colorIcon, ...rest }: IMetroLabelProps) => import("react/jsx-runtime").JSX.Element;