stone-kit 0.0.1106 → 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 -8
  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
@@ -0,0 +1,39 @@
1
+ import { jsxs as e, jsx as u } from "react/jsx-runtime";
2
+ import { formatPrice as y } from "../../utils/formatPrice.js";
3
+ import { c as d } from "../../../../index-YnD2EP-S.js";
4
+ const N = "_root_1yqa7_1", w = "_price_1yqa7_7", V = "_rootVertical_1yqa7_25", r = {
5
+ root: N,
6
+ price: w,
7
+ rootVertical: V
8
+ }, x = ({ lot: c, onPriceClickHandler: s, isVertical: a, classname: n }) => {
9
+ const {
10
+ project: l,
11
+ sellingPriceBeforeDiscount: p,
12
+ showPriceFlg: m,
13
+ direction: f,
14
+ specialProgram: P,
15
+ sellingPrice: _
16
+ } = c || {}, h = !!l?.showPriceSubType?.some((o) => Number(o.filter) === c.subType), g = !!P, i = p ?? _, t = i && m && !g && h;
17
+ return /* @__PURE__ */ e("div", { className: d(r.root, { [r.rootVertical]: a }, n), children: [
18
+ t && /* @__PURE__ */ e("p", { className: r.price, children: [
19
+ " ",
20
+ y(i, !1, f)
21
+ ] }),
22
+ !t && /* @__PURE__ */ e(
23
+ "p",
24
+ {
25
+ className: r.price,
26
+ onClick: (o) => {
27
+ o.preventDefault(), o.stopPropagation(), s && s();
28
+ },
29
+ children: [
30
+ "Цена ",
31
+ /* @__PURE__ */ u("span", { children: "по запросу" })
32
+ ]
33
+ }
34
+ )
35
+ ] });
36
+ };
37
+ export {
38
+ x as Price
39
+ };
@@ -0,0 +1,6 @@
1
+ import { ILot } from '../../types/LotCard';
2
+ interface ISnippets {
3
+ lot: ILot;
4
+ }
5
+ export declare const Snippets: ({ lot }: ISnippets) => import("react/jsx-runtime").JSX.Element | string[] | null;
6
+ export {};
@@ -0,0 +1,100 @@
1
+ import { jsxs as f, jsx as o } from "react/jsx-runtime";
2
+ import { useState as A } from "react";
3
+ import { getTagsFeatures as B } from "../../utils/getTagsFeatures.js";
4
+ import { c as I } from "../../../../index-YnD2EP-S.js";
5
+ import { useClientWidth as k } from "../../../../shared/useClientWidth.js";
6
+ import { NewIcon as C } from "../../../NewIcon/ui/NewIcon.js";
7
+ const M = "_snippet_1vgdm_1", W = "_snippetLast_1vgdm_9", j = "_snippets_1vgdm_25", D = "_retailSnippets_1vgdm_30", E = "_shownSnippets_1vgdm_35", F = "_addSnippets_1vgdm_64", T = "_addSnippetsActive_1vgdm_80", V = "_addSnippetsList_1vgdm_85", y = "_closeSnippetBtn_1vgdm_129", t = {
8
+ snippet: M,
9
+ snippetLast: W,
10
+ snippets: j,
11
+ retailSnippets: D,
12
+ shownSnippets: E,
13
+ addSnippets: F,
14
+ addSnippetsActive: T,
15
+ addSnippetsList: V,
16
+ closeSnippetBtn: y
17
+ }, L = I.bind(t), K = ({ lot: g }) => {
18
+ const { type: w, windowViews: c, isCorner: N } = g || {}, [u, h] = A(!1), S = B({ ...g }), { isDesktop: r, isMobile: x } = k();
19
+ if (w === 3) {
20
+ if (x && (!c || c.length === 0))
21
+ return null;
22
+ let l = 0;
23
+ const i = r ? 36 : 28, n = [], d = [];
24
+ if (N) {
25
+ const e = "Угловая";
26
+ if (l + e.length <= i)
27
+ n.push(e), l += e.length;
28
+ else
29
+ return n;
30
+ }
31
+ if (c) {
32
+ const e = c.filter((p) => p && p.trim() !== "");
33
+ let s = 0, a = l;
34
+ for (let p = 0; p < e.length; p++) {
35
+ const m = e[p], _ = s > 0 ? " " + m : m;
36
+ if (a + _.length <= i)
37
+ n.push(m), a += _.length, s++;
38
+ else {
39
+ if (s === 0) {
40
+ const v = i - a;
41
+ if (v > 3) {
42
+ const b = m.substring(0, v - 3) + "...";
43
+ n.push(b), a = i;
44
+ } else
45
+ n.push("..."), a += 3;
46
+ }
47
+ d.push(...e.slice(p));
48
+ break;
49
+ }
50
+ }
51
+ l = a;
52
+ }
53
+ return /* @__PURE__ */ f("div", { className: t.retailSnippets, children: [
54
+ /* @__PURE__ */ o("ul", { className: t.shownSnippets, children: n?.map((e, s) => /* @__PURE__ */ o("li", { className: t.snippets, children: e }, s)) }),
55
+ d?.length > 0 && /* @__PURE__ */ f(
56
+ "div",
57
+ {
58
+ className: L(t.addSnippets, { [t.addSnippetsActive]: u }),
59
+ onClick: (e) => {
60
+ r || (e.stopPropagation(), e.preventDefault(), h((s) => !s));
61
+ },
62
+ onMouseEnter: () => {
63
+ r && h(!0);
64
+ },
65
+ onMouseLeave: () => {
66
+ r && h(!1);
67
+ },
68
+ children: [
69
+ "+" + d?.length,
70
+ u && /* @__PURE__ */ f("ul", { className: t.addSnippetsList, children: [
71
+ d.map((e, s) => /* @__PURE__ */ o("li", { children: e }, s)),
72
+ /* @__PURE__ */ o("div", { className: t.closeSnippetBtn, children: /* @__PURE__ */ o(
73
+ C,
74
+ {
75
+ name: "close",
76
+ size: "16",
77
+ color: "#ffffff"
78
+ }
79
+ ) })
80
+ ] })
81
+ ]
82
+ }
83
+ )
84
+ ] });
85
+ }
86
+ return S.length ? /* @__PURE__ */ o("div", { className: t.snippets, children: S.map((l, i) => {
87
+ const n = i === S.length - 1;
88
+ return /* @__PURE__ */ o(
89
+ "div",
90
+ {
91
+ className: L(t.snippet, n ? "" : t.snippetLast),
92
+ children: l.text
93
+ },
94
+ i
95
+ );
96
+ }) }) : null;
97
+ };
98
+ export {
99
+ K as Snippets
100
+ };
@@ -0,0 +1,7 @@
1
+ import { ILot } from '../../types/LotCard';
2
+ interface ITags {
3
+ lot: ILot;
4
+ classname?: string;
5
+ }
6
+ export declare const Tags: ({ lot, classname }: ITags) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,37 @@
1
+ import { jsxs as p, jsx as i } from "react/jsx-runtime";
2
+ import { c as u } from "../../../../index-YnD2EP-S.js";
3
+ import { Tag as n } from "../../../Tag/ui/Tag.js";
4
+ const f = "_root_xiuq1_1", x = {
5
+ root: f
6
+ }, b = ({ lot: g, classname: d }) => {
7
+ const { housing: s, floor: r, endFloor: t, floorsNumber: o, type: m, project: e } = g || {}, a = m === 11, c = r && o ? (t && t !== r ? r + "-" + t : r) + " этаж из " + o : "", l = () => a ? o ? "Кол-во этажей: " + o : "" : c || "";
8
+ return /* @__PURE__ */ p("div", { className: u(x.root, d), children: [
9
+ e?.buildingYear && /* @__PURE__ */ i(
10
+ n,
11
+ {
12
+ variant: "gray",
13
+ size: "tiny-12px",
14
+ children: e.buildingYear
15
+ }
16
+ ),
17
+ !a && s && /* @__PURE__ */ i(
18
+ n,
19
+ {
20
+ variant: "gray",
21
+ size: "tiny-12px",
22
+ children: s
23
+ }
24
+ ),
25
+ l() && /* @__PURE__ */ i(
26
+ n,
27
+ {
28
+ variant: "gray",
29
+ size: "tiny-12px",
30
+ children: l()
31
+ }
32
+ )
33
+ ] });
34
+ };
35
+ export {
36
+ b as Tags
37
+ };
@@ -0,0 +1,10 @@
1
+ import { ILot } from './LotCard';
2
+ export interface ICommercialLotCard {
3
+ lot: ILot;
4
+ imgNode?: React.ReactNode;
5
+ addClassname?: string;
6
+ isVertical?: boolean;
7
+ onPriceClickHandler?: () => void;
8
+ isFavorite?: boolean;
9
+ favoriteClickHandler?: (lot: ILot) => void;
10
+ }
@@ -0,0 +1,386 @@
1
+ interface LotPromo {
2
+ /** Промо текст */
3
+ val: string;
4
+ /** Идентификатор */
5
+ slug: string;
6
+ /** Категория */
7
+ category: string;
8
+ /** Ссылка на иконку */
9
+ icoImg: string | null;
10
+ /** hex цвет */
11
+ color: string;
12
+ }
13
+ export interface ILot {
14
+ /** id Лота */
15
+ id: number;
16
+ /** Название проекта */
17
+ name?: string | null;
18
+ /** Квартал сдачи */
19
+ buildingQuarter?: number | null;
20
+ /** Какие-то там условия для вывода синей строчки в лоте про рассрочку */
21
+ hasBestPurchasingConditions?: boolean | null;
22
+ /** Какие-то там условия для вывода синей строчки в лоте про рассрочку */
23
+ bestPurchasingConditions?: number | null;
24
+ cornerKitchenLiving?: boolean | null;
25
+ /** uuid Лота из 1с */
26
+ lotUuid: string;
27
+ /** TODO: убрать */
28
+ projectUuid?: string | null;
29
+ /** Скидка */
30
+ discount: string | null;
31
+ /** Стоимость объекта недвижимости до скидки */
32
+ sellingPriceBeforeDiscount: string | null;
33
+ /** Стоимость объекта недвижимости */
34
+ sellingPrice: string | null;
35
+ /**id проекта */
36
+ projectId: number | null;
37
+ /** Показывать цену или "цена по запросу" */
38
+ showPriceFlg?: boolean | null;
39
+ /** Цена за квм */
40
+ sellingPricePerMeter?: string | null;
41
+ /** цена за метра квадратный за год за аренду */
42
+ rentPricePerMeterPerYear: string | null;
43
+ /** аренда за месяц */
44
+ rentPricePerMonth: string | null;
45
+ /** стороны света */
46
+ cardinalDirections?: string[] | null;
47
+ /** Размер скидки */
48
+ discountVolume: number | null;
49
+ /** Цена со скидкой */
50
+ discountedPrice: number | null;
51
+ /** дата освобождения лота */
52
+ availableFrom: string | null;
53
+ /** дата, до которой должны быть выданы ключи */
54
+ handoverKeys: string | null;
55
+ /** состояние лота: свободен, зарезервирован, продан, сдан в аренду, заблокирован, деактивирован */
56
+ status?: number | null;
57
+ /** Статус аренды лота */
58
+ rentStatus: number | null;
59
+ /** название лота в 1С */
60
+ number: string | null | undefined;
61
+ /** полный адрес лота (с корпусом) */
62
+ address: string | null;
63
+ /** коммерческие программы рассрочки */
64
+ termsOfPurchase: string[] | null;
65
+ /** Тип помещения => Квартиры/Пентхаусы/Келлеры/Паркинг Офисы/Ритейл/Офисные Блоки/Паркинг */
66
+ type: number | null;
67
+ /** Название помещения => Квартиры/Пентхаусы/Келлеры/Паркинг Офисы/Ритейл/Офисные Блоки/Паркинг */
68
+ typeName: string | null;
69
+ /** направления, по которым продвигается этот лот */
70
+ direction: number | null;
71
+ /** Размерность спален S/M/L */
72
+ typeSizeCode: string | null;
73
+ /** номер подъезда/секции */
74
+ entrance: string | null;
75
+ /** Номер квартиры / офиса */
76
+ doorNumber: string | null;
77
+ /** Площадь квартиры */
78
+ area: string | null;
79
+ /** площадь кухни */
80
+ kitchenArea: number | null;
81
+ /** Жилая площадь */
82
+ livingArea: number | null;
83
+ /** Кол-во этажей */
84
+ floorsNumber: number | null;
85
+ /** Этаж */
86
+ floor: number | null;
87
+ /** Высота потолков */
88
+ ceiling: string | null;
89
+ /** Этаж, с которого начинаются продаваемые лоты */
90
+ saleFloorMin: number | null;
91
+ /** Этаж, на котором заканчиваются продаваемые лоты */
92
+ saleFloorMax: number | null;
93
+ /** Первый этаж большого лота/здания */
94
+ beginFloor: number | null;
95
+ /** Последний этаж большого лота/здания */
96
+ endFloor: number | null;
97
+ /** Ежемясячный платеж */
98
+ mortgageMonthlyPayment?: string;
99
+ /** Количество комнат */
100
+ roomsCount: number | null;
101
+ /** Количество спален */
102
+ bedroomsCount?: number | null;
103
+ /** Корпус */
104
+ housing: string | null;
105
+ /** Секция */
106
+ section: string | null;
107
+ /** Очередь строительства */
108
+ buildStage: number | null;
109
+ /** угловое? */
110
+ isCorner: boolean | null;
111
+ /** Квартира с террасой */
112
+ terrace?: boolean | null;
113
+ /** общепит? */
114
+ isCatering: boolean | null;
115
+ /** pdf презентация*/
116
+ pdfPresentation: string | null | undefined;
117
+ /** является ли лот отдельно стоящим зданием */
118
+ isDetachedBuilding: boolean | null;
119
+ /** Наличие телефона */
120
+ isPhone: boolean | null;
121
+ /** в ипотеку */
122
+ isMortgage: boolean | null;
123
+ /** мусоропровод */
124
+ isGarbageTube: boolean | null;
125
+ /** Является ли лот пентхаусом */
126
+ isPenthouse?: boolean | null;
127
+ /** Является ли лот апартаментом */
128
+ isApart: boolean | null;
129
+ /** Является ли лот двухуровневым */
130
+ isDoubleLevel?: boolean | null;
131
+ /** Есть ли пандус */
132
+ isRamp: boolean | null;
133
+ /** Близко ли вход к лифтовой группе */
134
+ isCloseToLift: boolean | null;
135
+ /** Занят ли лот */
136
+ isOccupied: boolean | null;
137
+ /** Является ли лот ГАБ */
138
+ isGab: boolean | null;
139
+ /** Есть ли отделка */
140
+ isFacing: boolean | null;
141
+ /** Особенности квартиры */
142
+ features: LotFeature[] | null;
143
+ /** Количество пассажирских лифтов */
144
+ liftPassenger: number | null;
145
+ /** Количество грузовых лифтов */
146
+ liftService?: number | null;
147
+ /** Количество балконов */
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;
162
+ /** Количество лоджий */
163
+ loggia?: number | null;
164
+ /** Состояние помещения */
165
+ condition: string | null;
166
+ /** Тип входа в помещений */
167
+ inputType?: string | null;
168
+ /** Отделка */
169
+ decoration?: string | null;
170
+ /** Тип планировки */
171
+ layout: string | null;
172
+ /** Тип ремонта */
173
+ repairType: string | null;
174
+ /** Слаг лота */
175
+ slug: string;
176
+ /** количество стояков с водой */
177
+ waterPipesCount?: number[] | null;
178
+ /** количество рабочих мест */
179
+ workPlacesCount: number | null;
180
+ /** Количество совместных санузлов */
181
+ combinedWcsCount: number | null;
182
+ /** Возможное назначение */
183
+ speciality: number | null;
184
+ /** Куда выходят витрины */
185
+ showcaseWindows: string | null;
186
+ /** Вид из окна */
187
+ windowView: string | null;
188
+ /** Вид из окна для ритейла*/
189
+ windowViews: string[];
190
+ /** Promo метки */
191
+ promo: LotPromo[] | null;
192
+ /** Promo текст */
193
+ promoText?: string | null;
194
+ /** Ссылка на картинку */
195
+ interiorPlanImg?: string | null;
196
+ /** Ссылка на картинку */
197
+ floorPlanImg: string | null;
198
+ /** Ссылка на картинку */
199
+ sitPlanImg: string | null;
200
+ /** Дата создания */
201
+ createdAt?: string;
202
+ /** Дата обновления */
203
+ updatedAt?: string;
204
+ /** Первоначальный взнос */
205
+ firstPaymentSum?: string | null;
206
+ /** Массив с лотами в фоисных блоках */
207
+ childLots?: {
208
+ id: number;
209
+ floor: number;
210
+ floorPlanImg: string;
211
+ interiorPlanImg: string;
212
+ }[];
213
+ /** Массив с лотами рекоммендованными */
214
+ recommended?: ILot[] | null;
215
+ parking?: ILot[] | null;
216
+ /** Проект со страпи */
217
+ project?: LotProject | null;
218
+ /** Мокрая точка */
219
+ isWaterPipes?: boolean | null;
220
+ /** Для компаса */
221
+ azimuthAngle?: number | null;
222
+ /** Декор? хз */
223
+ isDecoration?: boolean | 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
+ specialProgram?: boolean | null;
236
+ }
237
+ export interface LotFeature {
238
+ /** Текст */
239
+ val: string;
240
+ /** Категория */
241
+ category: string | null;
242
+ /** Ссылка на иконку */
243
+ icoImg: {
244
+ id: number;
245
+ attributes: IDefaultImg[] | null;
246
+ } | null | string;
247
+ /** Идентификатор */
248
+ slug: string;
249
+ isSearchable?: boolean | null;
250
+ }
251
+ export interface LotCardFeature {
252
+ /** Текст */
253
+ val: string;
254
+ /** Категория */
255
+ category: string;
256
+ /** Ссылка на иконку */
257
+ icoImg: {
258
+ attributes: IDefaultImg;
259
+ id: number;
260
+ } | null;
261
+ /** Идентификатор */
262
+ slug: string;
263
+ }
264
+ export interface LotProject {
265
+ /** Массив направлений */
266
+ directions: number[];
267
+ discount: string;
268
+ /** id */
269
+ id: number;
270
+ /** Название проекта */
271
+ name: string;
272
+ /** адрес */
273
+ address: string;
274
+ /** особенности, набор строк */
275
+ features: LotFeature[] | null;
276
+ frontFeatures: unknown;
277
+ geo: {
278
+ lat: string;
279
+ long: string;
280
+ };
281
+ logoImg: unknown;
282
+ minimalLotPrice: {
283
+ [key: number]: string;
284
+ };
285
+ retailLotsCount: {
286
+ [key: number]: number;
287
+ };
288
+ salesOffice: unknown;
289
+ shortDesc: string;
290
+ showCatalog: boolean;
291
+ showDetailPage: boolean;
292
+ showPdfBtn: boolean;
293
+ /** условия для больших лотов */
294
+ bigLotFeatures: LotCardFeature[];
295
+ /** условия для каталога */
296
+ catalogFeatures: LotCardFeature[];
297
+ /** квартал сдачи */
298
+ buildingQuarter?: number | null;
299
+ /** Локация */
300
+ location?: string | null;
301
+ /** год сдачи */
302
+ buildingYear?: number;
303
+ /** широта */
304
+ lat?: string;
305
+ /** долгота */
306
+ long?: string;
307
+ /** сортровка */
308
+ sort: number | null;
309
+ /** Показывать ежемесячный платеж */
310
+ isShowPayment: boolean | null;
311
+ /** Дата создания */
312
+ createdAt: string;
313
+ /** Дата обновления */
314
+ updatedAt: string;
315
+ /** Расстояние до метро */
316
+ metro: Metro[];
317
+ /** Показывать цену лотов */
318
+ showPriceFlg?: boolean;
319
+ /** uuid */
320
+ uuid?: string;
321
+ /** Статус проекта */
322
+ status: string;
323
+ /** Количество лотов проекта в продаже */
324
+ lotsCount?: number | null;
325
+ /** SitPlan проекта */
326
+ sitPlanImg: string;
327
+ strapiSlug?: string;
328
+ sortOffice?: number;
329
+ sortRetail?: number;
330
+ showPriceSubType?: {
331
+ value: string;
332
+ filter: string;
333
+ }[];
334
+ }
335
+ export interface Metro {
336
+ /** Цвет ветки */
337
+ color: string;
338
+ /** Широта */
339
+ lat?: number;
340
+ /** Долгота */
341
+ long?: number;
342
+ /** Название станции */
343
+ name: string;
344
+ station?: string | null;
345
+ /** Время до станции в минутах */
346
+ timeTo: number;
347
+ mode: null | string;
348
+ /** Иконка */
349
+ icon?: {
350
+ data?: IDefaultImg;
351
+ } | null;
352
+ }
353
+ export interface ILotCard {
354
+ lot: ILot;
355
+ btnName?: string;
356
+ btnDisabled?: boolean;
357
+ handleBtnForm: (e?: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
358
+ handleFullScreenBtn?: () => void;
359
+ addClassname?: string;
360
+ addClassnameLotImage?: string;
361
+ imgNode?: React.ReactNode;
362
+ rowConditions?: boolean;
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;
385
+ }
386
+ export {};
@@ -0,0 +1 @@
1
+ export declare const formatPrice: (price: string | number | null, perMetr?: boolean, direction?: number | null) => string;
@@ -0,0 +1,8 @@
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;
5
+ };
6
+ export {
7
+ e as formatPrice
8
+ };
@@ -0,0 +1,4 @@
1
+ import { ILot } from '../types/LotCard';
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
+ };
@@ -1,4 +1,3 @@
1
1
  import { default as React } from 'react';
2
2
  import { ComponentProps } from './DestinationTab.types';
3
-
4
3
  export declare const DestinationTab: ({ size, size_m, size_l, destination, variant, width, routes, checked, onChange, additionalClass, ...props }: React.PropsWithChildren<ComponentProps>) => import("react/jsx-runtime").JSX.Element;