stone-kit 0.0.1027 → 0.0.1028

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 (173) hide show
  1. package/dist/App.js +1 -1
  2. package/dist/{Menu-DKuZheFD.js → Menu-CdJTzN7T.js} +157 -176
  3. package/dist/{Option-DU8cvBnA.js → Option-rFBMQAPk.js} +1 -1
  4. package/dist/Router.js +1 -1
  5. package/dist/components/Button/ui/Button.d.ts +0 -1
  6. package/dist/components/Button/ui/Button.js +1 -1
  7. package/dist/components/Button/ui/Button.types.d.ts +0 -1
  8. package/dist/components/CheckBox/CheckBox.d.ts +0 -1
  9. package/dist/components/CheckBox/CheckBox.js +1 -1
  10. package/dist/components/CheckBox/CheckBox.types.d.ts +0 -2
  11. package/dist/components/CheckBoxNew/CheckBox.types.d.ts +0 -1
  12. package/dist/components/CheckBoxNew/CheckBoxNew.d.ts +0 -1
  13. package/dist/components/CheckBoxNew/CheckBoxNew.js +17 -17
  14. package/dist/components/CheckboxSelect/ui/CheckboxSelect.d.ts +0 -1
  15. package/dist/components/CheckboxSelect/ui/CheckboxSelect.js +34 -34
  16. package/dist/components/CommercialLotCard/CommercialLotCard.d.ts +0 -1
  17. package/dist/components/CommercialLotCard/CommercialLotCard.js +50 -7
  18. package/dist/components/CommercialLotCard/components/Price/Price.d.ts +0 -1
  19. package/dist/components/CommercialLotCard/components/Price/Price.js +25 -26
  20. package/dist/components/CommercialLotCard/components/Snippets/Snippets.d.ts +0 -1
  21. package/dist/components/CommercialLotCard/components/Snippets/Snippets.js +98 -27
  22. package/dist/components/CommercialLotCard/components/Tags/Tags.d.ts +0 -1
  23. package/dist/components/CommercialLotCard/components/Tags/Tags.js +17 -17
  24. package/dist/components/CommercialLotCard/types/CommercialLotCard.types.d.ts +0 -1
  25. package/dist/components/CommercialLotCard/types/LotCard.d.ts +0 -1
  26. package/dist/components/CommercialLotCard/utils/formatPrice.js +1 -2
  27. package/dist/components/CommercialLotCard/utils/getTagsFeatures.d.ts +1 -2
  28. package/dist/components/DestinationTab/ui/DestinationTab.d.ts +0 -1
  29. package/dist/components/DestinationTab/ui/DestinationTab.js +41 -41
  30. package/dist/components/DestinationTab/ui/DestinationTab.types.d.ts +0 -1
  31. package/dist/components/FieldInput/ui/FieldInput.d.ts +0 -1
  32. package/dist/components/FieldInput/ui/FieldInput.types.d.ts +0 -1
  33. package/dist/components/FilterWithSave/hooks/useFilterWithSave.d.ts +0 -1
  34. package/dist/components/FilterWithSave/hooks/useFilterWithSave.js +54 -26
  35. package/dist/components/FilterWithSave/ui/FilterWithSave.d.ts +0 -1
  36. package/dist/components/FilterWithSave/ui/FilterWithSave.js +328 -7
  37. package/dist/components/Flex/ui/Flex.d.ts +0 -1
  38. package/dist/components/Flex/ui/Flex.js +1 -1
  39. package/dist/components/Flex/ui/Flex.types.d.ts +0 -1
  40. package/dist/components/FormModal/ui/ModalForm.js +1430 -28
  41. package/dist/components/GroupedInput/ui/GroupedInputs.d.ts +0 -1
  42. package/dist/components/GroupedInput/ui/GroupedInputs.js +1 -1
  43. package/dist/components/GroupedInput/ui/GroupedInputs.types.d.ts +0 -1
  44. package/dist/components/Input/ui/Input.d.ts +1 -2
  45. package/dist/components/Input/ui/Input.js +234 -304
  46. package/dist/components/Logo/ui/Logo.d.ts +0 -1
  47. package/dist/components/Logo/ui/Logo.js +6 -6
  48. package/dist/components/LotCard/hooks/useLotCard.d.ts +0 -1
  49. package/dist/components/LotCard/hooks/useLotCard.js +6 -24
  50. package/dist/components/LotCard/index.js +2 -2
  51. package/dist/components/LotCard/ui/LotCard.d.ts +0 -1
  52. package/dist/components/LotCard/ui/LotCard.js +213 -10
  53. package/dist/components/LotCard/ui/LotCard.types.d.ts +0 -1
  54. package/dist/components/LotCard/utils/formatPrice.js +1 -2
  55. package/dist/components/LotCard/utils/getTagsFeatures.d.ts +1 -2
  56. package/dist/components/LotCardSkeleton/ui/LotCardSkeleton.js +1 -1
  57. package/dist/components/MetroLabel/ui/MetroLabel.d.ts +0 -1
  58. package/dist/components/MetroLabel/ui/MetroLabel.js +16 -16
  59. package/dist/components/MetroLabel/ui/MetroLabel.types.d.ts +0 -1
  60. package/dist/components/MetroTag/ui/MetroTag.d.ts +0 -1
  61. package/dist/components/MetroTag/ui/MetroTag.js +74 -74
  62. package/dist/components/MetroTag/ui/MetroTag.types.d.ts +0 -1
  63. package/dist/components/Modal/ui/Modal.d.ts +0 -1
  64. package/dist/components/Modal/ui/Modal.js +34 -37
  65. package/dist/components/Modal/ui/Modal.types.d.ts +0 -1
  66. package/dist/components/ModalSuccess/ModalSuccess.d.ts +0 -1
  67. package/dist/components/ModalSuccess/ModalSuccess.js +18 -19
  68. package/dist/components/ModalSuccess/ModalSuccess.types.d.ts +0 -1
  69. package/dist/components/NewIcon/icons/PinTrans.d.ts +0 -1
  70. package/dist/components/NewIcon/icons/SmallFilter.d.ts +0 -1
  71. package/dist/components/NewIcon/ui/NewIcon.d.ts +0 -1
  72. package/dist/components/NewIcon/ui/NewIcon.js +43 -33
  73. package/dist/components/NewIcon/ui/NewIcon.types.d.ts +0 -1
  74. package/dist/components/NewIcon/ui/iconTypes.d.ts +0 -1
  75. package/dist/components/ProjectCardSkeleton/ui/ProjectCardSkeleton.js +9 -11
  76. package/dist/components/RoundButton/ui/RoundButton.d.ts +0 -1
  77. package/dist/components/RoundButton/ui/RoundButton.js +2 -2
  78. package/dist/components/RoundButton/ui/RoundButton.types.d.ts +0 -1
  79. package/dist/components/Select/model/selectMode.d.ts +0 -1
  80. package/dist/components/Select/model/selectMode.js +30 -30
  81. package/dist/components/Select/ui/Category.d.ts +0 -1
  82. package/dist/components/Select/ui/Category.js +3 -3
  83. package/dist/components/Select/ui/Option.d.ts +0 -1
  84. package/dist/components/Select/ui/Option.js +2 -2
  85. package/dist/components/Select/ui/Select.d.ts +0 -1
  86. package/dist/components/Select/ui/Select.js +115 -115
  87. package/dist/components/SliderNavigation/index.d.ts +0 -1
  88. package/dist/components/SliderNavigation/ui/SliderNavigation.d.ts +0 -1
  89. package/dist/components/SliderNavigation/ui/SliderNavigation.js +6 -6
  90. package/dist/components/SortSelect/hooks/useSortSelect.d.ts +0 -1
  91. package/dist/components/SortSelect/hooks/useSortSelect.js +2 -2
  92. package/dist/components/SortSelect/index.js +1 -1
  93. package/dist/components/SortSelect/ui/SortSelect.d.ts +0 -1
  94. package/dist/components/SortSelect/ui/SortSelect.js +108 -26
  95. package/dist/components/SortSelect/ui/SortSelect.types.d.ts +0 -1
  96. package/dist/components/SummarySelect/ui/SummarySelect.d.ts +0 -1
  97. package/dist/components/SummarySelect/ui/SummarySelect.js +59 -65
  98. package/dist/components/Switcher/ui/Switcher.d.ts +0 -1
  99. package/dist/components/Switcher/ui/Switcher.js +1 -1
  100. package/dist/components/Switcher/ui/Switcher.types.d.ts +0 -1
  101. package/dist/components/TabSelect/ui/TabSelect.d.ts +0 -1
  102. package/dist/components/TabSelect/ui/TabSelect.js +5 -5
  103. package/dist/components/TabSwitcher/index.js +2 -2
  104. package/dist/components/TabSwitcher/ui/TabSwitcher.d.ts +0 -1
  105. package/dist/components/TabSwitcher/ui/TabSwitcher.js +118 -26
  106. package/dist/components/TabSwitcher/ui/TabSwitcher.types.d.ts +0 -1
  107. package/dist/components/Tag/ui/Tag.d.ts +0 -1
  108. package/dist/components/Tag/ui/Tag.js +91 -91
  109. package/dist/components/Tag/ui/Tag.types.d.ts +0 -1
  110. package/dist/components/Text/ui/Text.d.ts +0 -1
  111. package/dist/components/Text/ui/Text.js +1 -1
  112. package/dist/components/Text/ui/Text.types.d.ts +0 -1
  113. package/dist/components/TextArea/TextArea.js +1 -1
  114. package/dist/components/TextArea/TextArea.types.d.ts +0 -1
  115. package/dist/components/ZoomControls/ui/ZoomControls.d.ts +0 -1
  116. package/dist/components/ZoomControls/ui/ZoomControls.types.d.ts +0 -1
  117. package/dist/components/mobileButton/ui/MobileButton.d.ts +0 -1
  118. package/dist/components/mobileButton/ui/MobileButton.js +1 -1
  119. package/dist/components/mobileButton/ui/MobileButton.types.d.ts +0 -1
  120. package/dist/{index-DvCs2JPX.js → index-3E04UaC2.js} +9529 -9629
  121. package/dist/index-B2JRaoNz.js +48 -0
  122. package/dist/{index-DmANy9jd.js → index-CBdtKu-u.js} +272 -271
  123. package/dist/layout/Layout.d.ts +0 -1
  124. package/dist/layout/components/Header/Header.js +48 -71
  125. package/dist/layout/components/Menu.js +2 -24
  126. package/dist/main.js +70 -65
  127. package/dist/pages/ButtonsPage/ButtonState/ButtonState.d.ts +0 -1
  128. package/dist/pages/ButtonsPage/Buttons.js +21 -38
  129. package/dist/pages/FormsPage/FormsPage.js +26 -50
  130. package/dist/pages/IconsPage/IconsPage.js +9 -31
  131. package/dist/pages/InputPage/InputPage.js +10 -32
  132. package/dist/pages/LogoPage/LogoPage.js +13 -35
  133. package/dist/pages/LotsPage/LotsPage.js +18 -17
  134. package/dist/pages/LotsPage/const.d.ts +0 -1
  135. package/dist/pages/ModalsPage/ModalPage.js +46 -66
  136. package/dist/pages/SelectPage/SelectPage.js +58 -58
  137. package/dist/pages/TabsPage/TabsPage.js +19 -20
  138. package/dist/pages/TagsPage/TagsPage.js +23 -44
  139. package/dist/shared/checkLargeOffice.d.ts +0 -1
  140. package/dist/shared/checkLargeOffice.js +1 -1
  141. package/dist/shared/mlnRound.js +1 -2
  142. package/dist/stone-kit.css +1 -0
  143. package/dist/stories/entities/CommercialLotCard/CommercialLotCard.stories.js +2 -2
  144. package/dist/stories/shared/ui/Button/Button.stories.js +5 -5
  145. package/dist/stories/shared/ui/CheckBox/CheckBox.stories.js +1 -1
  146. package/dist/stories/shared/ui/CheckBox/CheckBoxNew.stories.js +1 -1
  147. package/dist/stories/shared/ui/CheckboxSelect/CheckboxSelect.stories.js +1 -1
  148. package/dist/stories/shared/ui/DestinationTab/DestinationTab.stories.js +1 -1
  149. package/dist/stories/shared/ui/FieldInput/FieldInput.stories.js +1 -1
  150. package/dist/stories/shared/ui/FilterWithSave/FilterWithSave.stories.js +2 -2
  151. package/dist/stories/shared/ui/FormModal/FormModal.stories.js +8 -8
  152. package/dist/stories/shared/ui/GroupedInput/GroupedInput.stories.js +1 -1
  153. package/dist/stories/shared/ui/Logo/Logo.stories.js +1 -1
  154. package/dist/stories/shared/ui/MobileButton/MobileButton.stories.js +1 -1
  155. package/dist/stories/shared/ui/Modal/Modal.stories.js +1 -1
  156. package/dist/stories/shared/ui/ModalSuccess/ModalSuccess.stories.js +1 -1
  157. package/dist/stories/shared/ui/RoundButton/RoundButton.stories.js +1 -1
  158. package/dist/stories/shared/ui/Select/Select.stories.js +1 -1
  159. package/dist/stories/shared/ui/SliderNavigation/SliderNavigation.stories.js +1 -1
  160. package/dist/stories/shared/ui/SortSelect/SortSelect.stories.js +2 -2
  161. package/dist/stories/shared/ui/SummarySelect/SummarySelect.stories.js +1 -1
  162. package/dist/stories/shared/ui/Switcher/Switcher.stories.js +1 -1
  163. package/dist/stories/shared/ui/TabSelect/TabSelect.stories.js +1 -1
  164. package/dist/stories/shared/ui/TabSwitcher/TabSwitcher.stories.js +2 -2
  165. package/dist/stories/shared/ui/Tag/Tag.stories.js +4 -4
  166. package/dist/stories/shared/ui/ZoomControls/ZoomControls.stories.js +1 -1
  167. package/dist/useLotCard-DG9doKCX.js +186 -0
  168. package/dist/useSortSelect-C72ddcYI.js +80 -0
  169. package/package.json +1 -1
  170. package/dist/FilterWithSave-DkVYQ7W8.js +0 -2473
  171. package/dist/index-rKuIKazb.js +0 -45
  172. package/dist/style.css +0 -1
  173. package/dist/useSortSelect-CjZXLFOG.js +0 -80
@@ -1,2473 +0,0 @@
1
- import { jsxs as N, jsx as o, Fragment as nt } from "react/jsx-runtime";
2
- import { NewIcon as ge } from "./components/NewIcon/ui/NewIcon.js";
3
- import { Modal as at } from "./components/Modal/ui/Modal.js";
4
- import U, { forwardRef as er, useState as xe, useRef as Lt, useEffect as je } from "react";
5
- import { Text as lt } from "./components/Text/ui/Text.js";
6
- import { c as Ae, g as tr } from "./index-rKuIKazb.js";
7
- import { Button as ke } from "./components/Button/ui/Button.js";
8
- import "./components/mobileButton/ui/MobileButton.js";
9
- import "./components/DestinationTab/ui/DestinationTab.js";
10
- import "./components/RoundButton/ui/RoundButton.js";
11
- import { Tag as Ee } from "./components/Tag/ui/Tag.js";
12
- import "./components/Switcher/ui/Switcher.js";
13
- import { Flex as rr } from "./components/Flex/ui/Flex.js";
14
- import { Input as tt } from "./components/Input/ui/Input.js";
15
- import "react-dom";
16
- import "./components/GroupedInput/ui/GroupedInputs.js";
17
- import "./components/MetroTag/ui/MetroTag.js";
18
- import { checkLargeOffice as sr } from "./shared/checkLargeOffice.js";
19
- import { sclMillion as wt } from "./shared/mlnRound.js";
20
- import "./components/Select/ui/Select.js";
21
- import { useClientWidth as Be } from "./shared/useClientWidth.js";
22
- import { s as le, u as ir } from "./useSortSelect-CjZXLFOG.js";
23
- import "./components/SliderNavigation/ui/SliderNavigation.js";
24
- import "./components/LotCardSkeleton/ui/LotCardSkeleton.js";
25
- import "./components/TabSelect/ui/TabSelect.js";
26
- import { nameReg as nr, phoneReg as ar, emailReg as lr } from "./components/FormModal/utils/reg.js";
27
- import { CheckBox as St } from "./components/CheckBox/CheckBox.js";
28
- import { TextArea as or } from "./components/TextArea/TextArea.js";
29
- import { fmtNumber as cr } from "./shared/fmtNumber.js";
30
- import { Price as dr } from "./components/CommercialLotCard/components/Price/Price.js";
31
- import { O as Ft } from "./Option-DU8cvBnA.js";
32
- import "./components/CheckBoxNew/CheckBoxNew.js";
33
- import "./components/CheckboxSelect/ui/CheckboxSelect.js";
34
- import { getTagsFeatures as ur } from "./components/CommercialLotCard/utils/getTagsFeatures.js";
35
- import { Tags as fr } from "./components/CommercialLotCard/components/Tags/Tags.js";
36
- import { getTagsFeatures as pr } from "./components/LotCard/utils/getTagsFeatures.js";
37
- import { checkBedroomsCount as mr } from "./components/LotCard/utils/checkBedroomsCount.js";
38
- import { formatPayment as hr } from "./components/LotCard/utils/monthlyPayment.js";
39
- import { formatPrice as Ve } from "./components/LotCard/utils/formatPrice.js";
40
- const yr = "_root_14gc5_1", gr = "_text_14gc5_18", vr = "_textMini_14gc5_26", br = "_rootCol_14gc5_32", wr = "_item_14gc5_38", Sr = "_whiteRow_14gc5_57", Fr = "_firstItem_14gc5_68", xr = "_lastItem_14gc5_72", kr = "_whiteRowGrayLabel_14gc5_103", Nr = "_labelItem_14gc5_118", Cr = "_apart_14gc5_147", Ar = "_isLong_14gc5_147", Pr = "_autoWidth_14gc5_172", Tr = "_mini_14gc5_176", Wr = "_isDisabled_14gc5_184", Ir = "_grayRow_14gc5_208", $ = {
41
- root: yr,
42
- text: gr,
43
- textMini: vr,
44
- rootCol: br,
45
- item: wr,
46
- whiteRow: Sr,
47
- firstItem: Fr,
48
- lastItem: xr,
49
- whiteRowGrayLabel: kr,
50
- labelItem: Nr,
51
- apart: Cr,
52
- isLong: Ar,
53
- autoWidth: Pr,
54
- mini: Tr,
55
- isDisabled: Wr,
56
- grayRow: Ir,
57
- "tiny-size": "_tiny-size_14gc5_236",
58
- "small-size": "_small-size_14gc5_241",
59
- "medium-size": "_medium-size_14gc5_246",
60
- "large-size": "_large-size_14gc5_251",
61
- "text-tiny-size": "_text-tiny-size_14gc5_256",
62
- "text-small-size": "_text-small-size_14gc5_262",
63
- "text-medium-size": "_text-medium-size_14gc5_267",
64
- "text-large-size": "_text-large-size_14gc5_272",
65
- "small-size_m": "_small-size_m_14gc5_278",
66
- "medium-size_m": "_medium-size_m_14gc5_282",
67
- "large-size_m": "_large-size_m_14gc5_286",
68
- "text-small-size_m": "_text-small-size_m_14gc5_290",
69
- "text-medium-size_m": "_text-medium-size_m_14gc5_294",
70
- "text-large-size_m": "_text-large-size_m_14gc5_298",
71
- "small-size_l": "_small-size_l_14gc5_313",
72
- "medium-size_l": "_medium-size_l_14gc5_317",
73
- "large-size_l": "_large-size_l_14gc5_321",
74
- "text-small-size_l": "_text-small-size_l_14gc5_325",
75
- "text-medium-size_l": "_text-medium-size_l_14gc5_329",
76
- "text-large-size_l": "_text-large-size_l_14gc5_333"
77
- }, Me = Ae.bind($), Lr = ({
78
- children: e,
79
- variant: r = "whiteRow",
80
- isApart: t = !1,
81
- addClassName: n = "",
82
- col: a = !1
83
- }) => /* @__PURE__ */ o("div", { className: Me($.root, $[r], { [$.rootCol]: a, [$.apart]: t }, n), children: e }), Bt = er((e, r) => {
84
- const { isTablet: t, isDesktop: n } = Be(), {
85
- index: a,
86
- children: i,
87
- addItemClassName: d,
88
- addLabelClassname: u,
89
- addTextClass: A,
90
- size_s: S = "large",
91
- size_m: y,
92
- size_l: m,
93
- disabled: T = !1,
94
- itemsLength: P = 0,
95
- isLongOn: C = !0,
96
- width: M,
97
- width_m: x,
98
- width_l: E,
99
- mini: b = !1,
100
- dataTestId: D,
101
- ...q
102
- } = e, I = (i != null && i.toString().length ? (i == null ? void 0 : i.toString().length) > 2 : !1) && C, H = (X, L) => X && x ? x : L && E ? E : M, G = !M && !x && !E && I;
103
- return /* @__PURE__ */ N("label", { className: Me($.labelItem, { [$.isLong]: I }, u), children: [
104
- /* @__PURE__ */ o(
105
- "input",
106
- {
107
- ref: r,
108
- type: "checkbox",
109
- ...q,
110
- disabled: T
111
- }
112
- ),
113
- /* @__PURE__ */ o(
114
- "div",
115
- {
116
- style: { width: H(t, n) },
117
- "data-testid": D,
118
- className: Me(
119
- Me(
120
- $.item,
121
- { [$.firstItem]: a === 0 },
122
- { [$.lastItem]: a === P - 1 },
123
- { [$.isDisabled]: T },
124
- { [$.autoWidth]: G },
125
- $[`${S}-size`],
126
- $[`${y}-size_m`],
127
- $[`${m}-size_l`],
128
- { [$.mini]: b }
129
- ),
130
- d
131
- ),
132
- children: /* @__PURE__ */ o(
133
- lt,
134
- {
135
- className: Me(
136
- $.text,
137
- $[`text-${S}-size`],
138
- $[`text-${y}-size_m`],
139
- $[`text-${m}-size_l`],
140
- { [$.textMini]: b },
141
- A
142
- ),
143
- children: i
144
- }
145
- )
146
- }
147
- )
148
- ] });
149
- });
150
- Bt.displayName = "TabSwitcherItem";
151
- const ze = Object.assign(Lr, { Item: Bt }), Br = "_root_kbf05_1", Er = "_lotBtn_kbf05_15", Vr = "_rootDisable_kbf05_24", Dr = "_lotImageWrapper_kbf05_24", Mr = "_lotInfoWrapper_kbf05_25", Rr = "_infoHeader_kbf05_45", Or = "_monthlyWrapper_kbf05_54", jr = "_price_kbf05_64", _r = "_monthlyPayment_kbf05_71", zr = "_decor_kbf05_77", Xr = "_lotPropertyListMobile_kbf05_84", qr = "_lotPropertyItem_kbf05_92", Zr = "_lotPropertyListDesktop_kbf05_109", Ur = "_lotPriceWrapper_kbf05_113", Gr = "_discountWrapper_kbf05_119", Hr = "_discountPrice_kbf05_130", Jr = "_priceWrap_kbf05_142", Yr = "_snippetLast_kbf05_152", Kr = "_snippet_kbf05_152", Qr = "_tagsMobile_kbf05_167", $r = "_discountTag_kbf05_182", es = "_lotPricePerMetr_kbf05_186", ts = "_btnWrapper_kbf05_191", rs = "_title_kbf05_198", ss = "_snippets_kbf05_202", is = "_retailSnippets_kbf05_207", ns = "_shownSnippets_kbf05_212", as = "_addSnippets_kbf05_237", ls = "_addSnippetsActive_kbf05_253", os = "_addSnippetsList_kbf05_258", cs = "_closeSnippetBtn_kbf05_302", ds = "_rootRow_kbf05_314", us = "_rowTablet_kbf05_325", fs = "_rootRightSide_kbf05_366", ps = "_topWrapper_kbf05_382", ms = "_botWrapper_kbf05_387", hs = "_lotPriceWrapperRow_kbf05_418", ys = "_fullscreenBtn_kbf05_428", gs = "_projectLotPricePerMetr_kbf05_447", vs = "_paymentClass_kbf05_487", k = {
152
- root: Br,
153
- lotBtn: Er,
154
- rootDisable: Vr,
155
- lotImageWrapper: Dr,
156
- lotInfoWrapper: Mr,
157
- infoHeader: Rr,
158
- monthlyWrapper: Or,
159
- price: jr,
160
- monthlyPayment: _r,
161
- decor: zr,
162
- lotPropertyListMobile: Xr,
163
- lotPropertyItem: qr,
164
- lotPropertyListDesktop: Zr,
165
- lotPriceWrapper: Ur,
166
- discountWrapper: Gr,
167
- discountPrice: Hr,
168
- priceWrap: Jr,
169
- snippetLast: Yr,
170
- snippet: Kr,
171
- tagsMobile: Qr,
172
- discountTag: $r,
173
- lotPricePerMetr: es,
174
- btnWrapper: ts,
175
- title: rs,
176
- snippets: ss,
177
- retailSnippets: is,
178
- shownSnippets: ns,
179
- addSnippets: as,
180
- addSnippetsActive: ls,
181
- addSnippetsList: os,
182
- closeSnippetBtn: cs,
183
- rootRow: ds,
184
- rowTablet: us,
185
- rootRightSide: fs,
186
- topWrapper: ps,
187
- botWrapper: ms,
188
- lotPriceWrapperRow: hs,
189
- fullscreenBtn: ys,
190
- projectLotPricePerMetr: gs,
191
- paymentClass: vs
192
- }, We = Ae.bind(k), bs = ({ lot: e, rowConditions: r }) => {
193
- const {
194
- status: t,
195
- direction: n,
196
- area: a,
197
- floor: i,
198
- endFloor: d,
199
- floorsNumber: u,
200
- type: A,
201
- isCorner: S,
202
- windowViews: y,
203
- subTypeName: m,
204
- number: T,
205
- bedroomsCount: P,
206
- mortgageMonthlyPayment: C
207
- } = e, [M, x] = xe(!1), E = t === 2, b = n === 1, D = A === 11, q = a ? a + " м²" : "", I = i && u ? (d && d !== i ? i + "-" + d : i) + " из " + u : "", H = pr({ ...e }), { isTablet: G, isDesktop: X, isMobile: L, currentClientWidth: j } = Be(), _ = typeof r < "u" ? r : X || G, w = () => D ? u ? "Кол-во этажей: " + u : "" : I ? "Этаж: " + I : "", v = () => D ? u ? /* @__PURE__ */ N("li", { className: We(k.lotPropertyItem), children: [
208
- /* @__PURE__ */ o("div", { children: "Количество этажей" }),
209
- /* @__PURE__ */ o("div", { children: u })
210
- ] }) : null : I ? /* @__PURE__ */ N("li", { className: We(k.lotPropertyItem), children: [
211
- /* @__PURE__ */ o("div", { children: "Этаж" }),
212
- /* @__PURE__ */ o("div", { children: I })
213
- ] }) : null, W = () => {
214
- if (A === 3) {
215
- if (L && (!y || y.length === 0))
216
- return null;
217
- let V = 0;
218
- const z = X ? 36 : 28, Y = [], se = [];
219
- if (S) {
220
- const J = "Угловая";
221
- if (V + J.length <= z)
222
- Y.push(J), V += J.length;
223
- else
224
- return Y;
225
- }
226
- if (y) {
227
- const J = y.filter((de) => de && de.trim() !== "");
228
- let ne = 0, ce = V;
229
- for (let de = 0; de < J.length; de++) {
230
- const Q = J[de], ue = ne > 0 ? " " + Q : Q;
231
- if (ce + ue.length <= z)
232
- Y.push(Q), ce += ue.length, ne++;
233
- else {
234
- if (ne === 0) {
235
- const ve = z - ce;
236
- if (ve > 3) {
237
- const Pe = Q.substring(0, ve - 3) + "...";
238
- Y.push(Pe), ce = z;
239
- } else
240
- Y.push("..."), ce += 3;
241
- }
242
- se.push(...J.slice(de));
243
- break;
244
- }
245
- }
246
- V = ce;
247
- }
248
- return /* @__PURE__ */ N("div", { className: k.retailSnippets, children: [
249
- /* @__PURE__ */ o("ul", { className: k.shownSnippets, children: Y == null ? void 0 : Y.map((J, ne) => /* @__PURE__ */ o("li", { children: J }, ne)) }),
250
- (se == null ? void 0 : se.length) > 0 && /* @__PURE__ */ N(
251
- "div",
252
- {
253
- className: We(k.addSnippets, { [k.addSnippetsActive]: M }),
254
- onClick: (J) => {
255
- X || (J.stopPropagation(), J.preventDefault(), x((ne) => !ne));
256
- },
257
- onMouseEnter: () => {
258
- X && x(!0);
259
- },
260
- onMouseLeave: () => {
261
- X && x(!1);
262
- },
263
- children: [
264
- "+" + (se == null ? void 0 : se.length),
265
- M && /* @__PURE__ */ N("ul", { className: k.addSnippetsList, children: [
266
- se.map((J, ne) => /* @__PURE__ */ o("li", { children: J }, ne)),
267
- /* @__PURE__ */ o("div", { className: k.closeSnippetBtn, children: /* @__PURE__ */ o(
268
- ge,
269
- {
270
- name: "close",
271
- size: "16",
272
- color: "#ffffff"
273
- }
274
- ) })
275
- ] })
276
- ]
277
- }
278
- )
279
- ] });
280
- }
281
- return H.length ? /* @__PURE__ */ o("div", { className: k.snippets, children: H.map((V, z) => {
282
- const Y = z === H.length - 1;
283
- return /* @__PURE__ */ o(
284
- "div",
285
- {
286
- className: We(k.snippet, Y ? "" : k.snippetLast),
287
- children: V.text
288
- },
289
- z
290
- );
291
- }) }) : null;
292
- };
293
- return {
294
- currentClientWidth: j,
295
- isBuilding: D,
296
- LotCardInfo: () => {
297
- const V = b && A && m ? m : mr(P), z = D ? V : `${V}${T ? `, ${T}` : ""}`;
298
- return /* @__PURE__ */ o(nt, { children: /* @__PURE__ */ N("div", { className: We(k.monthlyWrapper), children: [
299
- z && /* @__PURE__ */ o(
300
- lt,
301
- {
302
- className: We(k.infoHeader),
303
- html: z
304
- }
305
- ),
306
- C && /* @__PURE__ */ o("div", { className: k.monthlyPayment, children: hr(C) }),
307
- /* @__PURE__ */ o(W, {})
308
- ] }) });
309
- },
310
- tagFeatures: H,
311
- FloorByType: v,
312
- isTablet: G,
313
- isDesktop: X,
314
- getFloorStr: w,
315
- isReserved: E,
316
- isMobile: L,
317
- areaStr: q,
318
- floorStr: I,
319
- isShowSnippet: M,
320
- setIsShowSnippet: x,
321
- rowConditionsVar: _
322
- };
323
- }, ws = "data:image/webp;base64,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", ae = Ae.bind(k), Wn = ({
324
- lot: e,
325
- handleBtnForm: r,
326
- handleFullScreenBtn: t,
327
- btnDisabled: n,
328
- addClassname: a,
329
- btnName: i = "Уточнить детали",
330
- imgNode: d,
331
- rowConditions: u,
332
- addClassnameLotImage: A
333
- }) => {
334
- var ce, de;
335
- const {
336
- housing: S,
337
- sellingPricePerMeter: y,
338
- interiorPlanImg: m,
339
- direction: T,
340
- floorPlanImg: P,
341
- discount: C,
342
- sellingPrice: M,
343
- sellingPriceBeforeDiscount: x
344
- } = e, E = !!((de = (ce = e.project) == null ? void 0 : ce.showPriceSubType) != null && de.some((Q) => Number(Q.filter) === e.subType)), b = E && Number(e.sellingPrice) && e.bestPurchasingConditions, D = !E && e.bestPurchasingConditions && Number(e.sellingPrice), q = () => {
345
- if (D)
346
- return {
347
- notMobileText: `Первоначальный взнос ${e.bestPurchasingConditions} %`,
348
- mobileText: `${e.bestPurchasingConditions} %`
349
- };
350
- if (e.hasBestPurchasingConditions)
351
- return {
352
- notMobileText: "Рассрочка 0% на весь срок",
353
- mobileText: "0% на весь срок"
354
- };
355
- if (b && e.bestPurchasingConditions) {
356
- const Q = e.bestPurchasingConditions * 0.01 * Number(e.sellingPrice);
357
- return {
358
- notMobileText: `Первоначальный взнос ${wt(Q)} млн ₽`,
359
- mobileText: `${wt(Q)} млн ₽`
360
- };
361
- }
362
- return {
363
- notMobileText: null,
364
- mobileText: null
365
- };
366
- }, H = D ? "Первоначальный взнос" : e.hasBestPurchasingConditions ? "Рассрочка" : b ? "Первоначальный взнос" : "", { notMobileText: G, mobileText: X } = q(), L = sr(e), {
367
- getFloorStr: j,
368
- FloorByType: _,
369
- areaStr: w,
370
- isReserved: v,
371
- rowConditionsVar: W,
372
- currentClientWidth: B,
373
- isMobile: V,
374
- isBuilding: z,
375
- LotCardInfo: Y
376
- } = bs({ lot: e, rowConditions: u });
377
- if (!B)
378
- return null;
379
- const se = () => /* @__PURE__ */ o("div", { className: ae(k.lotImageWrapper, A), children: d || /* @__PURE__ */ o(
380
- "img",
381
- {
382
- loading: "lazy",
383
- src: m ?? P ?? ws,
384
- width: 280,
385
- height: 200,
386
- alt: "logo_image"
387
- }
388
- ) }), J = () => /* @__PURE__ */ N("div", { className: ae(k.btnWrapper), children: [
389
- /* @__PURE__ */ o(
390
- ke,
391
- {
392
- as: "button",
393
- "data-testid": "lot_fullscreen",
394
- disabled: n,
395
- variant: "whiteStroke",
396
- additionalClass: k.fullscreenBtn,
397
- onClick: (Q) => {
398
- Q.preventDefault(), t && t();
399
- },
400
- children: /* @__PURE__ */ o(
401
- ge,
402
- {
403
- name: "fullscreen",
404
- color: "#777E90",
405
- size: "20"
406
- }
407
- )
408
- }
409
- ),
410
- /* @__PURE__ */ o(
411
- ke,
412
- {
413
- as: "button",
414
- size: "medium",
415
- disabled: v,
416
- variant: v ? "gray" : "blue",
417
- width: "full",
418
- additionalClass: k.lotBtn,
419
- "data-testid": "lot_form",
420
- post: v ? /* @__PURE__ */ o(
421
- ge,
422
- {
423
- name: "lock",
424
- size: "24",
425
- color: "#777E90"
426
- }
427
- ) : void 0,
428
- onClick: (Q) => {
429
- Q.preventDefault(), r(Q);
430
- },
431
- children: i
432
- }
433
- )
434
- ] }), ne = () => /* @__PURE__ */ N("div", { className: k.rootRightSide, children: [
435
- /* @__PURE__ */ N("div", { className: k.topWrapper, children: [
436
- W && /* @__PURE__ */ o(Y, {}),
437
- !V && !v && /* @__PURE__ */ N("div", { style: { display: "flex", alignItems: "flex-end", flexDirection: "column" }, children: [
438
- /* @__PURE__ */ N("div", { className: k.priceWrap, children: [
439
- /* @__PURE__ */ o("div", { className: k.discountWrapper, children: !L && C && M && x && W && /* @__PURE__ */ N("div", { className: ae(k.discountPrice), children: [
440
- /* @__PURE__ */ o("span", { children: E && Ve(x ?? M, !1, T) }),
441
- E && /* @__PURE__ */ o(
442
- Ee,
443
- {
444
- additionalClass: ae(k.discountTag),
445
- variant: "red",
446
- size: "tiny",
447
- children: "-" + Number(C) + "%"
448
- }
449
- )
450
- ] }) }),
451
- !L && W && /* @__PURE__ */ o(
452
- "div",
453
- {
454
- className: k.price,
455
- children: E ? Ve(M, !1, T) : "Цена по запросу"
456
- }
457
- ),
458
- L && W && /* @__PURE__ */ o("div", { className: k.price, children: "Цена по запросу" })
459
- ] }),
460
- !L && /* @__PURE__ */ o("div", { className: k.paymentClass, children: G })
461
- ] }),
462
- y && !v && /* @__PURE__ */ o("div", { className: ae(k.lotPricePerMetr, k.projectLotPricePerMetr), children: Ve(y, !0, T) })
463
- ] }),
464
- /* @__PURE__ */ N("div", { className: k.botWrapper, children: [
465
- /* @__PURE__ */ o("div", { className: ae(k.lotPriceWrapper, k.infoWrapper, { [k.lotPriceWrapperRow]: !W }), children: /* @__PURE__ */ N("div", { className: ae(k.lotInfoWrapper), children: [
466
- /* @__PURE__ */ N("div", { className: ae(k.lotPropertyListDesktop), children: [
467
- w && /* @__PURE__ */ o(Ee, { variant: "gray", fontWeight: "large", children: w }),
468
- !z && S && /* @__PURE__ */ o(Ee, { variant: "gray", children: S }),
469
- j() && /* @__PURE__ */ o(Ee, { variant: "gray", children: j() })
470
- ] }),
471
- /* @__PURE__ */ N("ul", { className: ae(k.lotPropertyListMobile), children: [
472
- w && /* @__PURE__ */ N("li", { className: ae(k.lotPropertyItem), children: [
473
- /* @__PURE__ */ o("div", { children: "Площадь" }),
474
- /* @__PURE__ */ o("div", { children: w })
475
- ] }),
476
- !z && S && /* @__PURE__ */ N("li", { className: ae(k.lotPropertyItem), children: [
477
- /* @__PURE__ */ o("div", { children: S == null ? void 0 : S.split(" ")[0] }),
478
- /* @__PURE__ */ o("div", { children: S == null ? void 0 : S.split(" ")[1] })
479
- ] }),
480
- /* @__PURE__ */ o(_, {}),
481
- !L && H && /* @__PURE__ */ N("li", { className: ae(k.lotPropertyItem), children: [
482
- /* @__PURE__ */ o("div", { children: H }),
483
- /* @__PURE__ */ o("div", { children: X })
484
- ] })
485
- ] })
486
- ] }) }),
487
- (V && !v || !W) && /* @__PURE__ */ o("div", { style: { display: "flex", alignItems: "flex-start" }, children: /* @__PURE__ */ N("div", { className: k.priceWrap, children: [
488
- /* @__PURE__ */ o("div", { className: k.discountWrapper, children: !L && C && M && x && /* @__PURE__ */ N("div", { className: ae(k.discountPrice), children: [
489
- E && /* @__PURE__ */ o("span", { children: Ve(x ?? M, !1, T) }),
490
- E && /* @__PURE__ */ o(
491
- Ee,
492
- {
493
- additionalClass: ae(k.discountTag),
494
- variant: "red",
495
- size: "tiny",
496
- children: "-" + Number(C) + "%"
497
- }
498
- )
499
- ] }) }),
500
- !L && /* @__PURE__ */ o(
501
- "div",
502
- {
503
- className: k.price,
504
- children: E ? Ve(M, !1, T) : "Цена по запросу"
505
- }
506
- ),
507
- L && /* @__PURE__ */ o("div", { className: k.price, children: "Цена по запросу" })
508
- ] }) }),
509
- /* @__PURE__ */ o(J, {})
510
- ] })
511
- ] });
512
- return /* @__PURE__ */ N(
513
- "div",
514
- {
515
- className: ae(k.root, a, {
516
- [k.rootDisable]: v,
517
- [k.rootRow]: W,
518
- [k.rowTablet]: !W
519
- }),
520
- "data-testid": "lot_card",
521
- children: [
522
- /* @__PURE__ */ o(se, {}),
523
- !W && /* @__PURE__ */ o("div", { className: ae(k.title), children: /* @__PURE__ */ o(Y, {}) }),
524
- /* @__PURE__ */ o(ne, {})
525
- ]
526
- }
527
- );
528
- }, Xe = Ae.bind(le), Ss = ({
529
- options: e,
530
- selectedOption: r,
531
- placeholder: t = "",
532
- error: n,
533
- disabled: a,
534
- additionalClass: i = "",
535
- onChange: d,
536
- onBlur: u,
537
- mini: A,
538
- openOnTop: S = !1,
539
- onClickItem: y,
540
- onCLickSelect: m,
541
- onOpenClick: T
542
- }) => {
543
- const [P, C] = xe(!1), M = Lt(null), { isMobile: x } = Be(), { handleBlur: E, getInputValue: b, getOption: D, handleDocumentClick: q } = ir({
544
- selectedOption: r,
545
- onClickOption: y,
546
- setSelectedOption: d,
547
- setIsOpen: C,
548
- containerRef: M,
549
- isOpen: P,
550
- isMobile: x,
551
- placeholder: t,
552
- onChange: d,
553
- onBlur: u
554
- });
555
- return je(() => (document.addEventListener("click", q), () => {
556
- document.removeEventListener("click", q);
557
- }), []), /* @__PURE__ */ N(
558
- "div",
559
- {
560
- ref: M,
561
- className: Xe(
562
- le.sortSelectWrapper,
563
- { [le.sortSelectWrapperError]: n },
564
- { [le.sortSelectWrapperTop]: S },
565
- i
566
- ),
567
- tabIndex: 0,
568
- onBlur: E,
569
- onClick: () => {
570
- m && m();
571
- },
572
- children: [
573
- /* @__PURE__ */ N("div", { className: Xe(le.inputWrapper), children: [
574
- /* @__PURE__ */ o(
575
- "input",
576
- {
577
- type: "text",
578
- readOnly: !0,
579
- value: b(),
580
- className: Xe(
581
- le.selectedOptions,
582
- { [le.selectOptionsDisabled]: a },
583
- { [le.selectionOptionMini]: A }
584
- ),
585
- onClick: () => {
586
- P || T && T(), C(!P);
587
- }
588
- }
589
- ),
590
- /* @__PURE__ */ o(
591
- ge,
592
- {
593
- name: "twoArrows",
594
- size: "24",
595
- additionalClass: le.icon
596
- }
597
- )
598
- ] }),
599
- P && x && /* @__PURE__ */ N(
600
- at,
601
- {
602
- isOpen: P,
603
- emitIsOpen: C,
604
- additionalClassModalBody: le.modalAddBody,
605
- additionalClass: le.selectModal,
606
- createPortalObj: { domNode: document.querySelector("body") },
607
- isTransparentBack: !0,
608
- children: [
609
- /* @__PURE__ */ N("div", { className: le.mobileSortHeader, children: [
610
- /* @__PURE__ */ o(lt, { children: "Сортировка" }),
611
- /* @__PURE__ */ o("div", { onClick: () => C(!1), children: /* @__PURE__ */ o(
612
- ge,
613
- {
614
- name: "close",
615
- size: "20"
616
- }
617
- ) })
618
- ] }),
619
- /* @__PURE__ */ o("div", { className: le.mobileOptionList, children: e == null ? void 0 : e.map((I) => D(I)) })
620
- ]
621
- }
622
- ),
623
- P && !x && /* @__PURE__ */ o("div", { className: Xe(le.optionsList, { [le.optionListOnTop]: S }), children: e == null ? void 0 : e.map((I) => D(I)) })
624
- ]
625
- }
626
- );
627
- };
628
- Ss.displayName = "SortSelect";
629
- const Fs = "_btn_ky28a_1", xs = "_modal_ky28a_9", ks = "_modalBody_ky28a_16", Ns = "_root_ky28a_21", Cs = "_title_ky28a_34", As = "_description_ky28a_41", Ps = "_inputWrapper_ky28a_48", Ts = "_linkPolicy_ky28a_55", Ws = "_telegramLink_ky28a_60", Is = "_telegramWrapper_ky28a_65", Ls = "_telegram_ky28a_60", Bs = "_orText_ky28a_88", Es = "_checkboxText_ky28a_116", ie = {
630
- btn: Fs,
631
- modal: xs,
632
- modalBody: ks,
633
- root: Ns,
634
- title: Cs,
635
- description: As,
636
- inputWrapper: Ps,
637
- linkPolicy: Ts,
638
- telegramLink: Ws,
639
- telegramWrapper: Is,
640
- telegram: Ls,
641
- orText: Bs,
642
- checkboxText: Es
643
- };
644
- var _e = (e) => e.type === "checkbox", Le = (e) => e instanceof Date, oe = (e) => e == null;
645
- const Et = (e) => typeof e == "object";
646
- var re = (e) => !oe(e) && !Array.isArray(e) && Et(e) && !Le(e), Vt = (e) => re(e) && e.target ? _e(e.target) ? e.target.checked : e.target.value : e, Vs = (e) => e.substring(0, e.search(/\.\d+(\.|$)/)) || e, Dt = (e, r) => e.has(Vs(r)), Ds = (e) => {
647
- const r = e.constructor && e.constructor.prototype;
648
- return re(r) && r.hasOwnProperty("isPrototypeOf");
649
- }, ot = typeof window < "u" && typeof window.HTMLElement < "u" && typeof document < "u";
650
- function fe(e) {
651
- let r;
652
- const t = Array.isArray(e);
653
- if (e instanceof Date)
654
- r = new Date(e);
655
- else if (e instanceof Set)
656
- r = new Set(e);
657
- else if (!(ot && (e instanceof Blob || e instanceof FileList)) && (t || re(e)))
658
- if (r = t ? [] : {}, !t && !Ds(e))
659
- r = e;
660
- else
661
- for (const n in e)
662
- e.hasOwnProperty(n) && (r[n] = fe(e[n]));
663
- else
664
- return e;
665
- return r;
666
- }
667
- var Ke = (e) => Array.isArray(e) ? e.filter(Boolean) : [], K = (e) => e === void 0, p = (e, r, t) => {
668
- if (!r || !re(e))
669
- return t;
670
- const n = Ke(r.split(/[,[\].]+?/)).reduce((a, i) => oe(a) ? a : a[i], e);
671
- return K(n) || n === e ? K(e[r]) ? t : e[r] : n;
672
- }, be = (e) => typeof e == "boolean", ct = (e) => /^\w*$/.test(e), Mt = (e) => Ke(e.replace(/["|']|\]/g, "").split(/\.|\[/)), Z = (e, r, t) => {
673
- let n = -1;
674
- const a = ct(r) ? [r] : Mt(r), i = a.length, d = i - 1;
675
- for (; ++n < i; ) {
676
- const u = a[n];
677
- let A = t;
678
- if (n !== d) {
679
- const S = e[u];
680
- A = re(S) || Array.isArray(S) ? S : isNaN(+a[n + 1]) ? {} : [];
681
- }
682
- if (u === "__proto__")
683
- return;
684
- e[u] = A, e = e[u];
685
- }
686
- return e;
687
- };
688
- const Ue = {
689
- BLUR: "blur",
690
- FOCUS_OUT: "focusout",
691
- CHANGE: "change"
692
- }, ye = {
693
- onBlur: "onBlur",
694
- onChange: "onChange",
695
- onSubmit: "onSubmit",
696
- onTouched: "onTouched",
697
- all: "all"
698
- }, Se = {
699
- max: "max",
700
- min: "min",
701
- maxLength: "maxLength",
702
- minLength: "minLength",
703
- pattern: "pattern",
704
- required: "required",
705
- validate: "validate"
706
- }, Ms = U.createContext(null), dt = () => U.useContext(Ms);
707
- var Rt = (e, r, t, n = !0) => {
708
- const a = {
709
- defaultValues: r._defaultValues
710
- };
711
- for (const i in e)
712
- Object.defineProperty(a, i, {
713
- get: () => {
714
- const d = i;
715
- return r._proxyFormState[d] !== ye.all && (r._proxyFormState[d] = !n || ye.all), t && (t[d] = !0), e[d];
716
- }
717
- });
718
- return a;
719
- }, pe = (e) => re(e) && !Object.keys(e).length, Ot = (e, r, t, n) => {
720
- t(e);
721
- const { name: a, ...i } = e;
722
- return pe(i) || Object.keys(i).length >= Object.keys(r).length || Object.keys(i).find((d) => r[d] === (!n || ye.all));
723
- }, Re = (e) => Array.isArray(e) ? e : [e], jt = (e, r, t) => !e || !r || e === r || Re(e).some((n) => n && (t ? n === r : n.startsWith(r) || r.startsWith(n)));
724
- function ut(e) {
725
- const r = U.useRef(e);
726
- r.current = e, U.useEffect(() => {
727
- const t = !e.disabled && r.current.subject && r.current.subject.subscribe({
728
- next: r.current.next
729
- });
730
- return () => {
731
- t && t.unsubscribe();
732
- };
733
- }, [e.disabled]);
734
- }
735
- function Rs(e) {
736
- const r = dt(), { control: t = r.control, disabled: n, name: a, exact: i } = e || {}, [d, u] = U.useState(t._formState), A = U.useRef(!0), S = U.useRef({
737
- isDirty: !1,
738
- isLoading: !1,
739
- dirtyFields: !1,
740
- touchedFields: !1,
741
- validatingFields: !1,
742
- isValidating: !1,
743
- isValid: !1,
744
- errors: !1
745
- }), y = U.useRef(a);
746
- return y.current = a, ut({
747
- disabled: n,
748
- next: (m) => A.current && jt(y.current, m.name, i) && Ot(m, S.current, t._updateFormState) && u({
749
- ...t._formState,
750
- ...m
751
- }),
752
- subject: t._subjects.state
753
- }), U.useEffect(() => (A.current = !0, S.current.isValid && t._updateValid(!0), () => {
754
- A.current = !1;
755
- }), [t]), Rt(d, t, S.current, !1);
756
- }
757
- var we = (e) => typeof e == "string", _t = (e, r, t, n, a) => we(e) ? (n && r.watch.add(e), p(t, e, a)) : Array.isArray(e) ? e.map((i) => (n && r.watch.add(i), p(t, i))) : (n && (r.watchAll = !0), t);
758
- function Os(e) {
759
- const r = dt(), { control: t = r.control, name: n, defaultValue: a, disabled: i, exact: d } = e || {}, u = U.useRef(n);
760
- u.current = n, ut({
761
- disabled: i,
762
- subject: t._subjects.values,
763
- next: (y) => {
764
- jt(u.current, y.name, d) && S(fe(_t(u.current, t._names, y.values || t._formValues, !1, a)));
765
- }
766
- });
767
- const [A, S] = U.useState(t._getWatch(n, a));
768
- return U.useEffect(() => t._removeUnmounted()), A;
769
- }
770
- function js(e) {
771
- const r = dt(), { name: t, disabled: n, control: a = r.control, shouldUnregister: i } = e, d = Dt(a._names.array, t), u = Os({
772
- control: a,
773
- name: t,
774
- defaultValue: p(a._formValues, t, p(a._defaultValues, t, e.defaultValue)),
775
- exact: !0
776
- }), A = Rs({
777
- control: a,
778
- name: t,
779
- exact: !0
780
- }), S = U.useRef(a.register(t, {
781
- ...e.rules,
782
- value: u,
783
- ...be(e.disabled) ? { disabled: e.disabled } : {}
784
- }));
785
- return U.useEffect(() => {
786
- const y = a._options.shouldUnregister || i, m = (T, P) => {
787
- const C = p(a._fields, T);
788
- C && C._f && (C._f.mount = P);
789
- };
790
- if (m(t, !0), y) {
791
- const T = fe(p(a._options.defaultValues, t));
792
- Z(a._defaultValues, t, T), K(p(a._formValues, t)) && Z(a._formValues, t, T);
793
- }
794
- return () => {
795
- (d ? y && !a._state.action : y) ? a.unregister(t) : m(t, !1);
796
- };
797
- }, [t, a, d, i]), U.useEffect(() => {
798
- p(a._fields, t) && a._updateDisabledField({
799
- disabled: n,
800
- fields: a._fields,
801
- name: t,
802
- value: p(a._fields, t)._f.value
803
- });
804
- }, [n, t, a]), {
805
- field: {
806
- name: t,
807
- value: u,
808
- ...be(n) || A.disabled ? { disabled: A.disabled || n } : {},
809
- onChange: U.useCallback((y) => S.current.onChange({
810
- target: {
811
- value: Vt(y),
812
- name: t
813
- },
814
- type: Ue.CHANGE
815
- }), [t]),
816
- onBlur: U.useCallback(() => S.current.onBlur({
817
- target: {
818
- value: p(a._formValues, t),
819
- name: t
820
- },
821
- type: Ue.BLUR
822
- }), [t, a]),
823
- ref: U.useCallback((y) => {
824
- const m = p(a._fields, t);
825
- m && y && (m._f.ref = {
826
- focus: () => y.focus(),
827
- select: () => y.select(),
828
- setCustomValidity: (T) => y.setCustomValidity(T),
829
- reportValidity: () => y.reportValidity()
830
- });
831
- }, [a._fields, t])
832
- },
833
- formState: A,
834
- fieldState: Object.defineProperties({}, {
835
- invalid: {
836
- enumerable: !0,
837
- get: () => !!p(A.errors, t)
838
- },
839
- isDirty: {
840
- enumerable: !0,
841
- get: () => !!p(A.dirtyFields, t)
842
- },
843
- isTouched: {
844
- enumerable: !0,
845
- get: () => !!p(A.touchedFields, t)
846
- },
847
- isValidating: {
848
- enumerable: !0,
849
- get: () => !!p(A.validatingFields, t)
850
- },
851
- error: {
852
- enumerable: !0,
853
- get: () => p(A.errors, t)
854
- }
855
- })
856
- };
857
- }
858
- const _s = (e) => e.render(js(e));
859
- var zs = (e, r, t, n, a) => r ? {
860
- ...t[e],
861
- types: {
862
- ...t[e] && t[e].types ? t[e].types : {},
863
- [n]: a || !0
864
- }
865
- } : {}, xt = (e) => ({
866
- isOnSubmit: !e || e === ye.onSubmit,
867
- isOnBlur: e === ye.onBlur,
868
- isOnChange: e === ye.onChange,
869
- isOnAll: e === ye.all,
870
- isOnTouch: e === ye.onTouched
871
- }), kt = (e, r, t) => !t && (r.watchAll || r.watch.has(e) || [...r.watch].some((n) => e.startsWith(n) && /^\.\w+/.test(e.slice(n.length))));
872
- const Oe = (e, r, t, n) => {
873
- for (const a of t || Object.keys(e)) {
874
- const i = p(e, a);
875
- if (i) {
876
- const { _f: d, ...u } = i;
877
- if (d) {
878
- if (d.refs && d.refs[0] && r(d.refs[0], a) && !n)
879
- break;
880
- if (d.ref && r(d.ref, d.name) && !n)
881
- break;
882
- Oe(u, r);
883
- } else
884
- re(u) && Oe(u, r);
885
- }
886
- }
887
- };
888
- var Xs = (e, r, t) => {
889
- const n = Re(p(e, t));
890
- return Z(n, "root", r[t]), Z(e, t, n), e;
891
- }, ft = (e) => e.type === "file", Ne = (e) => typeof e == "function", Ge = (e) => {
892
- if (!ot)
893
- return !1;
894
- const r = e ? e.ownerDocument : 0;
895
- return e instanceof (r && r.defaultView ? r.defaultView.HTMLElement : HTMLElement);
896
- }, Ze = (e) => we(e), pt = (e) => e.type === "radio", He = (e) => e instanceof RegExp;
897
- const Nt = {
898
- value: !1,
899
- isValid: !1
900
- }, Ct = { value: !0, isValid: !0 };
901
- var zt = (e) => {
902
- if (Array.isArray(e)) {
903
- if (e.length > 1) {
904
- const r = e.filter((t) => t && t.checked && !t.disabled).map((t) => t.value);
905
- return { value: r, isValid: !!r.length };
906
- }
907
- return e[0].checked && !e[0].disabled ? (
908
- // @ts-expect-error expected to work in the browser
909
- e[0].attributes && !K(e[0].attributes.value) ? K(e[0].value) || e[0].value === "" ? Ct : { value: e[0].value, isValid: !0 } : Ct
910
- ) : Nt;
911
- }
912
- return Nt;
913
- };
914
- const At = {
915
- isValid: !1,
916
- value: null
917
- };
918
- var Xt = (e) => Array.isArray(e) ? e.reduce((r, t) => t && t.checked && !t.disabled ? {
919
- isValid: !0,
920
- value: t.value
921
- } : r, At) : At;
922
- function Pt(e, r, t = "validate") {
923
- if (Ze(e) || Array.isArray(e) && e.every(Ze) || be(e) && !e)
924
- return {
925
- type: t,
926
- message: Ze(e) ? e : "",
927
- ref: r
928
- };
929
- }
930
- var Ie = (e) => re(e) && !He(e) ? e : {
931
- value: e,
932
- message: ""
933
- }, Tt = async (e, r, t, n, a) => {
934
- const { ref: i, refs: d, required: u, maxLength: A, minLength: S, min: y, max: m, pattern: T, validate: P, name: C, valueAsNumber: M, mount: x, disabled: E } = e._f, b = p(r, C);
935
- if (!x || E)
936
- return {};
937
- const D = d ? d[0] : i, q = (w) => {
938
- n && D.reportValidity && (D.setCustomValidity(be(w) ? "" : w || ""), D.reportValidity());
939
- }, I = {}, H = pt(i), G = _e(i), X = H || G, L = (M || ft(i)) && K(i.value) && K(b) || Ge(i) && i.value === "" || b === "" || Array.isArray(b) && !b.length, j = zs.bind(null, C, t, I), _ = (w, v, W, B = Se.maxLength, V = Se.minLength) => {
940
- const z = w ? v : W;
941
- I[C] = {
942
- type: w ? B : V,
943
- message: z,
944
- ref: i,
945
- ...j(w ? B : V, z)
946
- };
947
- };
948
- if (a ? !Array.isArray(b) || !b.length : u && (!X && (L || oe(b)) || be(b) && !b || G && !zt(d).isValid || H && !Xt(d).isValid)) {
949
- const { value: w, message: v } = Ze(u) ? { value: !!u, message: u } : Ie(u);
950
- if (w && (I[C] = {
951
- type: Se.required,
952
- message: v,
953
- ref: D,
954
- ...j(Se.required, v)
955
- }, !t))
956
- return q(v), I;
957
- }
958
- if (!L && (!oe(y) || !oe(m))) {
959
- let w, v;
960
- const W = Ie(m), B = Ie(y);
961
- if (!oe(b) && !isNaN(b)) {
962
- const V = i.valueAsNumber || b && +b;
963
- oe(W.value) || (w = V > W.value), oe(B.value) || (v = V < B.value);
964
- } else {
965
- const V = i.valueAsDate || new Date(b), z = (J) => /* @__PURE__ */ new Date((/* @__PURE__ */ new Date()).toDateString() + " " + J), Y = i.type == "time", se = i.type == "week";
966
- we(W.value) && b && (w = Y ? z(b) > z(W.value) : se ? b > W.value : V > new Date(W.value)), we(B.value) && b && (v = Y ? z(b) < z(B.value) : se ? b < B.value : V < new Date(B.value));
967
- }
968
- if ((w || v) && (_(!!w, W.message, B.message, Se.max, Se.min), !t))
969
- return q(I[C].message), I;
970
- }
971
- if ((A || S) && !L && (we(b) || a && Array.isArray(b))) {
972
- const w = Ie(A), v = Ie(S), W = !oe(w.value) && b.length > +w.value, B = !oe(v.value) && b.length < +v.value;
973
- if ((W || B) && (_(W, w.message, v.message), !t))
974
- return q(I[C].message), I;
975
- }
976
- if (T && !L && we(b)) {
977
- const { value: w, message: v } = Ie(T);
978
- if (He(w) && !b.match(w) && (I[C] = {
979
- type: Se.pattern,
980
- message: v,
981
- ref: i,
982
- ...j(Se.pattern, v)
983
- }, !t))
984
- return q(v), I;
985
- }
986
- if (P) {
987
- if (Ne(P)) {
988
- const w = await P(b, r), v = Pt(w, D);
989
- if (v && (I[C] = {
990
- ...v,
991
- ...j(Se.validate, v.message)
992
- }, !t))
993
- return q(v.message), I;
994
- } else if (re(P)) {
995
- let w = {};
996
- for (const v in P) {
997
- if (!pe(w) && !t)
998
- break;
999
- const W = Pt(await P[v](b, r), D, v);
1000
- W && (w = {
1001
- ...W,
1002
- ...j(v, W.message)
1003
- }, q(W.message), t && (I[C] = w));
1004
- }
1005
- if (!pe(w) && (I[C] = {
1006
- ref: D,
1007
- ...w
1008
- }, !t))
1009
- return I;
1010
- }
1011
- }
1012
- return q(!0), I;
1013
- };
1014
- function qs(e, r) {
1015
- const t = r.slice(0, -1).length;
1016
- let n = 0;
1017
- for (; n < t; )
1018
- e = K(e) ? n++ : e[r[n++]];
1019
- return e;
1020
- }
1021
- function Zs(e) {
1022
- for (const r in e)
1023
- if (e.hasOwnProperty(r) && !K(e[r]))
1024
- return !1;
1025
- return !0;
1026
- }
1027
- function te(e, r) {
1028
- const t = Array.isArray(r) ? r : ct(r) ? [r] : Mt(r), n = t.length === 1 ? e : qs(e, t), a = t.length - 1, i = t[a];
1029
- return n && delete n[i], a !== 0 && (re(n) && pe(n) || Array.isArray(n) && Zs(n)) && te(e, t.slice(0, -1)), e;
1030
- }
1031
- var rt = () => {
1032
- let e = [];
1033
- return {
1034
- get observers() {
1035
- return e;
1036
- },
1037
- next: (a) => {
1038
- for (const i of e)
1039
- i.next && i.next(a);
1040
- },
1041
- subscribe: (a) => (e.push(a), {
1042
- unsubscribe: () => {
1043
- e = e.filter((i) => i !== a);
1044
- }
1045
- }),
1046
- unsubscribe: () => {
1047
- e = [];
1048
- }
1049
- };
1050
- }, Je = (e) => oe(e) || !Et(e);
1051
- function Ce(e, r) {
1052
- if (Je(e) || Je(r))
1053
- return e === r;
1054
- if (Le(e) && Le(r))
1055
- return e.getTime() === r.getTime();
1056
- const t = Object.keys(e), n = Object.keys(r);
1057
- if (t.length !== n.length)
1058
- return !1;
1059
- for (const a of t) {
1060
- const i = e[a];
1061
- if (!n.includes(a))
1062
- return !1;
1063
- if (a !== "ref") {
1064
- const d = r[a];
1065
- if (Le(i) && Le(d) || re(i) && re(d) || Array.isArray(i) && Array.isArray(d) ? !Ce(i, d) : i !== d)
1066
- return !1;
1067
- }
1068
- }
1069
- return !0;
1070
- }
1071
- var qt = (e) => e.type === "select-multiple", Us = (e) => pt(e) || _e(e), st = (e) => Ge(e) && e.isConnected, Zt = (e) => {
1072
- for (const r in e)
1073
- if (Ne(e[r]))
1074
- return !0;
1075
- return !1;
1076
- };
1077
- function Ye(e, r = {}) {
1078
- const t = Array.isArray(e);
1079
- if (re(e) || t)
1080
- for (const n in e)
1081
- Array.isArray(e[n]) || re(e[n]) && !Zt(e[n]) ? (r[n] = Array.isArray(e[n]) ? [] : {}, Ye(e[n], r[n])) : oe(e[n]) || (r[n] = !0);
1082
- return r;
1083
- }
1084
- function Ut(e, r, t) {
1085
- const n = Array.isArray(e);
1086
- if (re(e) || n)
1087
- for (const a in e)
1088
- Array.isArray(e[a]) || re(e[a]) && !Zt(e[a]) ? K(r) || Je(t[a]) ? t[a] = Array.isArray(e[a]) ? Ye(e[a], []) : { ...Ye(e[a]) } : Ut(e[a], oe(r) ? {} : r[a], t[a]) : t[a] = !Ce(e[a], r[a]);
1089
- return t;
1090
- }
1091
- var qe = (e, r) => Ut(e, r, Ye(r)), Gt = (e, { valueAsNumber: r, valueAsDate: t, setValueAs: n }) => K(e) ? e : r ? e === "" ? NaN : e && +e : t && we(e) ? new Date(e) : n ? n(e) : e;
1092
- function it(e) {
1093
- const r = e.ref;
1094
- if (!(e.refs ? e.refs.every((t) => t.disabled) : r.disabled))
1095
- return ft(r) ? r.files : pt(r) ? Xt(e.refs).value : qt(r) ? [...r.selectedOptions].map(({ value: t }) => t) : _e(r) ? zt(e.refs).value : Gt(K(r.value) ? e.ref.value : r.value, e);
1096
- }
1097
- var Gs = (e, r, t, n) => {
1098
- const a = {};
1099
- for (const i of e) {
1100
- const d = p(r, i);
1101
- d && Z(a, i, d._f);
1102
- }
1103
- return {
1104
- criteriaMode: t,
1105
- names: [...e],
1106
- fields: a,
1107
- shouldUseNativeValidation: n
1108
- };
1109
- }, De = (e) => K(e) ? e : He(e) ? e.source : re(e) ? He(e.value) ? e.value.source : e.value : e, Hs = (e) => e.mount && (e.required || e.min || e.max || e.maxLength || e.minLength || e.pattern || e.validate);
1110
- function Wt(e, r, t) {
1111
- const n = p(e, t);
1112
- if (n || ct(t))
1113
- return {
1114
- error: n,
1115
- name: t
1116
- };
1117
- const a = t.split(".");
1118
- for (; a.length; ) {
1119
- const i = a.join("."), d = p(r, i), u = p(e, i);
1120
- if (d && !Array.isArray(d) && t !== i)
1121
- return { name: t };
1122
- if (u && u.type)
1123
- return {
1124
- name: i,
1125
- error: u
1126
- };
1127
- a.pop();
1128
- }
1129
- return {
1130
- name: t
1131
- };
1132
- }
1133
- var Js = (e, r, t, n, a) => a.isOnAll ? !1 : !t && a.isOnTouch ? !(r || e) : (t ? n.isOnBlur : a.isOnBlur) ? !e : (t ? n.isOnChange : a.isOnChange) ? e : !0, Ys = (e, r) => !Ke(p(e, r)).length && te(e, r);
1134
- const Ks = {
1135
- mode: ye.onSubmit,
1136
- reValidateMode: ye.onChange,
1137
- shouldFocusError: !0
1138
- };
1139
- function Qs(e = {}) {
1140
- let r = {
1141
- ...Ks,
1142
- ...e
1143
- }, t = {
1144
- submitCount: 0,
1145
- isDirty: !1,
1146
- isLoading: Ne(r.defaultValues),
1147
- isValidating: !1,
1148
- isSubmitted: !1,
1149
- isSubmitting: !1,
1150
- isSubmitSuccessful: !1,
1151
- isValid: !1,
1152
- touchedFields: {},
1153
- dirtyFields: {},
1154
- validatingFields: {},
1155
- errors: r.errors || {},
1156
- disabled: r.disabled || !1
1157
- }, n = {}, a = re(r.defaultValues) || re(r.values) ? fe(r.defaultValues || r.values) || {} : {}, i = r.shouldUnregister ? {} : fe(a), d = {
1158
- action: !1,
1159
- mount: !1,
1160
- watch: !1
1161
- }, u = {
1162
- mount: /* @__PURE__ */ new Set(),
1163
- unMount: /* @__PURE__ */ new Set(),
1164
- array: /* @__PURE__ */ new Set(),
1165
- watch: /* @__PURE__ */ new Set()
1166
- }, A, S = 0;
1167
- const y = {
1168
- isDirty: !1,
1169
- dirtyFields: !1,
1170
- validatingFields: !1,
1171
- touchedFields: !1,
1172
- isValidating: !1,
1173
- isValid: !1,
1174
- errors: !1
1175
- }, m = {
1176
- values: rt(),
1177
- array: rt(),
1178
- state: rt()
1179
- }, T = xt(r.mode), P = xt(r.reValidateMode), C = r.criteriaMode === ye.all, M = (s) => (l) => {
1180
- clearTimeout(S), S = setTimeout(s, l);
1181
- }, x = async (s) => {
1182
- if (y.isValid || s) {
1183
- const l = r.resolver ? pe((await X()).errors) : await j(n, !0);
1184
- l !== t.isValid && m.state.next({
1185
- isValid: l
1186
- });
1187
- }
1188
- }, E = (s, l) => {
1189
- (y.isValidating || y.validatingFields) && ((s || Array.from(u.mount)).forEach((c) => {
1190
- c && (l ? Z(t.validatingFields, c, l) : te(t.validatingFields, c));
1191
- }), m.state.next({
1192
- validatingFields: t.validatingFields,
1193
- isValidating: !pe(t.validatingFields)
1194
- }));
1195
- }, b = (s, l = [], c, g, h = !0, f = !0) => {
1196
- if (g && c) {
1197
- if (d.action = !0, f && Array.isArray(p(n, s))) {
1198
- const F = c(p(n, s), g.argA, g.argB);
1199
- h && Z(n, s, F);
1200
- }
1201
- if (f && Array.isArray(p(t.errors, s))) {
1202
- const F = c(p(t.errors, s), g.argA, g.argB);
1203
- h && Z(t.errors, s, F), Ys(t.errors, s);
1204
- }
1205
- if (y.touchedFields && f && Array.isArray(p(t.touchedFields, s))) {
1206
- const F = c(p(t.touchedFields, s), g.argA, g.argB);
1207
- h && Z(t.touchedFields, s, F);
1208
- }
1209
- y.dirtyFields && (t.dirtyFields = qe(a, i)), m.state.next({
1210
- name: s,
1211
- isDirty: w(s, l),
1212
- dirtyFields: t.dirtyFields,
1213
- errors: t.errors,
1214
- isValid: t.isValid
1215
- });
1216
- } else
1217
- Z(i, s, l);
1218
- }, D = (s, l) => {
1219
- Z(t.errors, s, l), m.state.next({
1220
- errors: t.errors
1221
- });
1222
- }, q = (s) => {
1223
- t.errors = s, m.state.next({
1224
- errors: t.errors,
1225
- isValid: !1
1226
- });
1227
- }, I = (s, l, c, g) => {
1228
- const h = p(n, s);
1229
- if (h) {
1230
- const f = p(i, s, K(c) ? p(a, s) : c);
1231
- K(f) || g && g.defaultChecked || l ? Z(i, s, l ? f : it(h._f)) : B(s, f), d.mount && x();
1232
- }
1233
- }, H = (s, l, c, g, h) => {
1234
- let f = !1, F = !1;
1235
- const R = {
1236
- name: s
1237
- }, ee = !!(p(n, s) && p(n, s)._f && p(n, s)._f.disabled);
1238
- if (!c || g) {
1239
- y.isDirty && (F = t.isDirty, t.isDirty = R.isDirty = w(), f = F !== R.isDirty);
1240
- const me = ee || Ce(p(a, s), l);
1241
- F = !!(!ee && p(t.dirtyFields, s)), me || ee ? te(t.dirtyFields, s) : Z(t.dirtyFields, s, !0), R.dirtyFields = t.dirtyFields, f = f || y.dirtyFields && F !== !me;
1242
- }
1243
- if (c) {
1244
- const me = p(t.touchedFields, s);
1245
- me || (Z(t.touchedFields, s, c), R.touchedFields = t.touchedFields, f = f || y.touchedFields && me !== c);
1246
- }
1247
- return f && h && m.state.next(R), f ? R : {};
1248
- }, G = (s, l, c, g) => {
1249
- const h = p(t.errors, s), f = y.isValid && be(l) && t.isValid !== l;
1250
- if (e.delayError && c ? (A = M(() => D(s, c)), A(e.delayError)) : (clearTimeout(S), A = null, c ? Z(t.errors, s, c) : te(t.errors, s)), (c ? !Ce(h, c) : h) || !pe(g) || f) {
1251
- const F = {
1252
- ...g,
1253
- ...f && be(l) ? { isValid: l } : {},
1254
- errors: t.errors,
1255
- name: s
1256
- };
1257
- t = {
1258
- ...t,
1259
- ...F
1260
- }, m.state.next(F);
1261
- }
1262
- }, X = async (s) => {
1263
- E(s, !0);
1264
- const l = await r.resolver(i, r.context, Gs(s || u.mount, n, r.criteriaMode, r.shouldUseNativeValidation));
1265
- return E(s), l;
1266
- }, L = async (s) => {
1267
- const { errors: l } = await X(s);
1268
- if (s)
1269
- for (const c of s) {
1270
- const g = p(l, c);
1271
- g ? Z(t.errors, c, g) : te(t.errors, c);
1272
- }
1273
- else
1274
- t.errors = l;
1275
- return l;
1276
- }, j = async (s, l, c = {
1277
- valid: !0
1278
- }) => {
1279
- for (const g in s) {
1280
- const h = s[g];
1281
- if (h) {
1282
- const { _f: f, ...F } = h;
1283
- if (f) {
1284
- const R = u.array.has(f.name);
1285
- E([g], !0);
1286
- const ee = await Tt(h, i, C, r.shouldUseNativeValidation && !l, R);
1287
- if (E([g]), ee[f.name] && (c.valid = !1, l))
1288
- break;
1289
- !l && (p(ee, f.name) ? R ? Xs(t.errors, ee, f.name) : Z(t.errors, f.name, ee[f.name]) : te(t.errors, f.name));
1290
- }
1291
- !pe(F) && await j(F, l, c);
1292
- }
1293
- }
1294
- return c.valid;
1295
- }, _ = () => {
1296
- for (const s of u.unMount) {
1297
- const l = p(n, s);
1298
- l && (l._f.refs ? l._f.refs.every((c) => !st(c)) : !st(l._f.ref)) && ve(s);
1299
- }
1300
- u.unMount = /* @__PURE__ */ new Set();
1301
- }, w = (s, l) => (s && l && Z(i, s, l), !Ce(ne(), a)), v = (s, l, c) => _t(s, u, {
1302
- ...d.mount ? i : K(l) ? a : we(s) ? { [s]: l } : l
1303
- }, c, l), W = (s) => Ke(p(d.mount ? i : a, s, e.shouldUnregister ? p(a, s, []) : [])), B = (s, l, c = {}) => {
1304
- const g = p(n, s);
1305
- let h = l;
1306
- if (g) {
1307
- const f = g._f;
1308
- f && (!f.disabled && Z(i, s, Gt(l, f)), h = Ge(f.ref) && oe(l) ? "" : l, qt(f.ref) ? [...f.ref.options].forEach((F) => F.selected = h.includes(F.value)) : f.refs ? _e(f.ref) ? f.refs.length > 1 ? f.refs.forEach((F) => (!F.defaultChecked || !F.disabled) && (F.checked = Array.isArray(h) ? !!h.find((R) => R === F.value) : h === F.value)) : f.refs[0] && (f.refs[0].checked = !!h) : f.refs.forEach((F) => F.checked = F.value === h) : ft(f.ref) ? f.ref.value = "" : (f.ref.value = h, f.ref.type || m.values.next({
1309
- name: s,
1310
- values: { ...i }
1311
- })));
1312
- }
1313
- (c.shouldDirty || c.shouldTouch) && H(s, h, c.shouldTouch, c.shouldDirty, !0), c.shouldValidate && J(s);
1314
- }, V = (s, l, c) => {
1315
- for (const g in l) {
1316
- const h = l[g], f = `${s}.${g}`, F = p(n, f);
1317
- (u.array.has(s) || !Je(h) || F && !F._f) && !Le(h) ? V(f, h, c) : B(f, h, c);
1318
- }
1319
- }, z = (s, l, c = {}) => {
1320
- const g = p(n, s), h = u.array.has(s), f = fe(l);
1321
- Z(i, s, f), h ? (m.array.next({
1322
- name: s,
1323
- values: { ...i }
1324
- }), (y.isDirty || y.dirtyFields) && c.shouldDirty && m.state.next({
1325
- name: s,
1326
- dirtyFields: qe(a, i),
1327
- isDirty: w(s, f)
1328
- })) : g && !g._f && !oe(f) ? V(s, f, c) : B(s, f, c), kt(s, u) && m.state.next({ ...t }), m.values.next({
1329
- name: d.mount ? s : void 0,
1330
- values: { ...i }
1331
- });
1332
- }, Y = async (s) => {
1333
- d.mount = !0;
1334
- const l = s.target;
1335
- let c = l.name, g = !0;
1336
- const h = p(n, c), f = () => l.type ? it(h._f) : Vt(s), F = (R) => {
1337
- g = Number.isNaN(R) || R === p(i, c, R);
1338
- };
1339
- if (h) {
1340
- let R, ee;
1341
- const me = f(), Te = s.type === Ue.BLUR || s.type === Ue.FOCUS_OUT, Kt = !Hs(h._f) && !r.resolver && !p(t.errors, c) && !h._f.deps || Js(Te, p(t.touchedFields, c), t.isSubmitted, P, T), $e = kt(c, u, Te);
1342
- Z(i, c, me), Te ? (h._f.onBlur && h._f.onBlur(s), A && A(0)) : h._f.onChange && h._f.onChange(s);
1343
- const et = H(c, me, Te, !1), Qt = !pe(et) || $e;
1344
- if (!Te && m.values.next({
1345
- name: c,
1346
- type: s.type,
1347
- values: { ...i }
1348
- }), Kt)
1349
- return y.isValid && x(), Qt && m.state.next({ name: c, ...$e ? {} : et });
1350
- if (!Te && $e && m.state.next({ ...t }), r.resolver) {
1351
- const { errors: vt } = await X([c]);
1352
- if (F(me), g) {
1353
- const $t = Wt(t.errors, n, c), bt = Wt(vt, n, $t.name || c);
1354
- R = bt.error, c = bt.name, ee = pe(vt);
1355
- }
1356
- } else
1357
- E([c], !0), R = (await Tt(h, i, C, r.shouldUseNativeValidation))[c], E([c]), F(me), g && (R ? ee = !1 : y.isValid && (ee = await j(n, !0)));
1358
- g && (h._f.deps && J(h._f.deps), G(c, ee, R, et));
1359
- }
1360
- }, se = (s, l) => {
1361
- if (p(t.errors, l) && s.focus)
1362
- return s.focus(), 1;
1363
- }, J = async (s, l = {}) => {
1364
- let c, g;
1365
- const h = Re(s);
1366
- if (r.resolver) {
1367
- const f = await L(K(s) ? s : h);
1368
- c = pe(f), g = s ? !h.some((F) => p(f, F)) : c;
1369
- } else
1370
- s ? (g = (await Promise.all(h.map(async (f) => {
1371
- const F = p(n, f);
1372
- return await j(F && F._f ? { [f]: F } : F);
1373
- }))).every(Boolean), !(!g && !t.isValid) && x()) : g = c = await j(n);
1374
- return m.state.next({
1375
- ...!we(s) || y.isValid && c !== t.isValid ? {} : { name: s },
1376
- ...r.resolver || !s ? { isValid: c } : {},
1377
- errors: t.errors
1378
- }), l.shouldFocus && !g && Oe(n, se, s ? h : u.mount), g;
1379
- }, ne = (s) => {
1380
- const l = {
1381
- ...d.mount ? i : a
1382
- };
1383
- return K(s) ? l : we(s) ? p(l, s) : s.map((c) => p(l, c));
1384
- }, ce = (s, l) => ({
1385
- invalid: !!p((l || t).errors, s),
1386
- isDirty: !!p((l || t).dirtyFields, s),
1387
- error: p((l || t).errors, s),
1388
- isValidating: !!p(t.validatingFields, s),
1389
- isTouched: !!p((l || t).touchedFields, s)
1390
- }), de = (s) => {
1391
- s && Re(s).forEach((l) => te(t.errors, l)), m.state.next({
1392
- errors: s ? t.errors : {}
1393
- });
1394
- }, Q = (s, l, c) => {
1395
- const g = (p(n, s, { _f: {} })._f || {}).ref, h = p(t.errors, s) || {}, { ref: f, message: F, type: R, ...ee } = h;
1396
- Z(t.errors, s, {
1397
- ...ee,
1398
- ...l,
1399
- ref: g
1400
- }), m.state.next({
1401
- name: s,
1402
- errors: t.errors,
1403
- isValid: !1
1404
- }), c && c.shouldFocus && g && g.focus && g.focus();
1405
- }, ue = (s, l) => Ne(s) ? m.values.subscribe({
1406
- next: (c) => s(v(void 0, l), c)
1407
- }) : v(s, l, !0), ve = (s, l = {}) => {
1408
- for (const c of s ? Re(s) : u.mount)
1409
- u.mount.delete(c), u.array.delete(c), l.keepValue || (te(n, c), te(i, c)), !l.keepError && te(t.errors, c), !l.keepDirty && te(t.dirtyFields, c), !l.keepTouched && te(t.touchedFields, c), !l.keepIsValidating && te(t.validatingFields, c), !r.shouldUnregister && !l.keepDefaultValue && te(a, c);
1410
- m.values.next({
1411
- values: { ...i }
1412
- }), m.state.next({
1413
- ...t,
1414
- ...l.keepDirty ? { isDirty: w() } : {}
1415
- }), !l.keepIsValid && x();
1416
- }, Pe = ({ disabled: s, name: l, field: c, fields: g, value: h }) => {
1417
- if (be(s) && d.mount || s) {
1418
- const f = s ? void 0 : K(h) ? it(c ? c._f : p(g, l)._f) : h;
1419
- Z(i, l, f), H(l, f, !1, !1, !0);
1420
- }
1421
- }, Qe = (s, l = {}) => {
1422
- let c = p(n, s);
1423
- const g = be(l.disabled);
1424
- return Z(n, s, {
1425
- ...c || {},
1426
- _f: {
1427
- ...c && c._f ? c._f : { ref: { name: s } },
1428
- name: s,
1429
- mount: !0,
1430
- ...l
1431
- }
1432
- }), u.mount.add(s), c ? Pe({
1433
- field: c,
1434
- disabled: l.disabled,
1435
- name: s,
1436
- value: l.value
1437
- }) : I(s, !0, l.value), {
1438
- ...g ? { disabled: l.disabled } : {},
1439
- ...r.progressive ? {
1440
- required: !!l.required,
1441
- min: De(l.min),
1442
- max: De(l.max),
1443
- minLength: De(l.minLength),
1444
- maxLength: De(l.maxLength),
1445
- pattern: De(l.pattern)
1446
- } : {},
1447
- name: s,
1448
- onChange: Y,
1449
- onBlur: Y,
1450
- ref: (h) => {
1451
- if (h) {
1452
- Qe(s, l), c = p(n, s);
1453
- const f = K(h.value) && h.querySelectorAll && h.querySelectorAll("input,select,textarea")[0] || h, F = Us(f), R = c._f.refs || [];
1454
- if (F ? R.find((ee) => ee === f) : f === c._f.ref)
1455
- return;
1456
- Z(n, s, {
1457
- _f: {
1458
- ...c._f,
1459
- ...F ? {
1460
- refs: [
1461
- ...R.filter(st),
1462
- f,
1463
- ...Array.isArray(p(a, s)) ? [{}] : []
1464
- ],
1465
- ref: { type: f.type, name: s }
1466
- } : { ref: f }
1467
- }
1468
- }), I(s, !1, void 0, f);
1469
- } else
1470
- c = p(n, s, {}), c._f && (c._f.mount = !1), (r.shouldUnregister || l.shouldUnregister) && !(Dt(u.array, s) && d.action) && u.unMount.add(s);
1471
- }
1472
- };
1473
- }, mt = () => r.shouldFocusError && Oe(n, se, u.mount), Jt = (s) => {
1474
- be(s) && (m.state.next({ disabled: s }), Oe(n, (l, c) => {
1475
- const g = p(n, c);
1476
- g && (l.disabled = g._f.disabled || s, Array.isArray(g._f.refs) && g._f.refs.forEach((h) => {
1477
- h.disabled = g._f.disabled || s;
1478
- }));
1479
- }, 0, !1));
1480
- }, ht = (s, l) => async (c) => {
1481
- let g;
1482
- c && (c.preventDefault && c.preventDefault(), c.persist && c.persist());
1483
- let h = fe(i);
1484
- if (m.state.next({
1485
- isSubmitting: !0
1486
- }), r.resolver) {
1487
- const { errors: f, values: F } = await X();
1488
- t.errors = f, h = F;
1489
- } else
1490
- await j(n);
1491
- if (te(t.errors, "root"), pe(t.errors)) {
1492
- m.state.next({
1493
- errors: {}
1494
- });
1495
- try {
1496
- await s(h, c);
1497
- } catch (f) {
1498
- g = f;
1499
- }
1500
- } else
1501
- l && await l({ ...t.errors }, c), mt(), setTimeout(mt);
1502
- if (m.state.next({
1503
- isSubmitted: !0,
1504
- isSubmitting: !1,
1505
- isSubmitSuccessful: pe(t.errors) && !g,
1506
- submitCount: t.submitCount + 1,
1507
- errors: t.errors
1508
- }), g)
1509
- throw g;
1510
- }, Yt = (s, l = {}) => {
1511
- p(n, s) && (K(l.defaultValue) ? z(s, fe(p(a, s))) : (z(s, l.defaultValue), Z(a, s, fe(l.defaultValue))), l.keepTouched || te(t.touchedFields, s), l.keepDirty || (te(t.dirtyFields, s), t.isDirty = l.defaultValue ? w(s, fe(p(a, s))) : w()), l.keepError || (te(t.errors, s), y.isValid && x()), m.state.next({ ...t }));
1512
- }, yt = (s, l = {}) => {
1513
- const c = s ? fe(s) : a, g = fe(c), h = pe(s), f = h ? a : g;
1514
- if (l.keepDefaultValues || (a = c), !l.keepValues) {
1515
- if (l.keepDirtyValues)
1516
- for (const F of u.mount)
1517
- p(t.dirtyFields, F) ? Z(f, F, p(i, F)) : z(F, p(f, F));
1518
- else {
1519
- if (ot && K(s))
1520
- for (const F of u.mount) {
1521
- const R = p(n, F);
1522
- if (R && R._f) {
1523
- const ee = Array.isArray(R._f.refs) ? R._f.refs[0] : R._f.ref;
1524
- if (Ge(ee)) {
1525
- const me = ee.closest("form");
1526
- if (me) {
1527
- me.reset();
1528
- break;
1529
- }
1530
- }
1531
- }
1532
- }
1533
- n = {};
1534
- }
1535
- i = e.shouldUnregister ? l.keepDefaultValues ? fe(a) : {} : fe(f), m.array.next({
1536
- values: { ...f }
1537
- }), m.values.next({
1538
- values: { ...f }
1539
- });
1540
- }
1541
- u = {
1542
- mount: l.keepDirtyValues ? u.mount : /* @__PURE__ */ new Set(),
1543
- unMount: /* @__PURE__ */ new Set(),
1544
- array: /* @__PURE__ */ new Set(),
1545
- watch: /* @__PURE__ */ new Set(),
1546
- watchAll: !1,
1547
- focus: ""
1548
- }, d.mount = !y.isValid || !!l.keepIsValid || !!l.keepDirtyValues, d.watch = !!e.shouldUnregister, m.state.next({
1549
- submitCount: l.keepSubmitCount ? t.submitCount : 0,
1550
- isDirty: h ? !1 : l.keepDirty ? t.isDirty : !!(l.keepDefaultValues && !Ce(s, a)),
1551
- isSubmitted: l.keepIsSubmitted ? t.isSubmitted : !1,
1552
- dirtyFields: h ? {} : l.keepDirtyValues ? l.keepDefaultValues && i ? qe(a, i) : t.dirtyFields : l.keepDefaultValues && s ? qe(a, s) : l.keepDirty ? t.dirtyFields : {},
1553
- touchedFields: l.keepTouched ? t.touchedFields : {},
1554
- errors: l.keepErrors ? t.errors : {},
1555
- isSubmitSuccessful: l.keepIsSubmitSuccessful ? t.isSubmitSuccessful : !1,
1556
- isSubmitting: !1
1557
- });
1558
- }, gt = (s, l) => yt(Ne(s) ? s(i) : s, l);
1559
- return {
1560
- control: {
1561
- register: Qe,
1562
- unregister: ve,
1563
- getFieldState: ce,
1564
- handleSubmit: ht,
1565
- setError: Q,
1566
- _executeSchema: X,
1567
- _getWatch: v,
1568
- _getDirty: w,
1569
- _updateValid: x,
1570
- _removeUnmounted: _,
1571
- _updateFieldArray: b,
1572
- _updateDisabledField: Pe,
1573
- _getFieldArray: W,
1574
- _reset: yt,
1575
- _resetDefaultValues: () => Ne(r.defaultValues) && r.defaultValues().then((s) => {
1576
- gt(s, r.resetOptions), m.state.next({
1577
- isLoading: !1
1578
- });
1579
- }),
1580
- _updateFormState: (s) => {
1581
- t = {
1582
- ...t,
1583
- ...s
1584
- };
1585
- },
1586
- _disableForm: Jt,
1587
- _subjects: m,
1588
- _proxyFormState: y,
1589
- _setErrors: q,
1590
- get _fields() {
1591
- return n;
1592
- },
1593
- get _formValues() {
1594
- return i;
1595
- },
1596
- get _state() {
1597
- return d;
1598
- },
1599
- set _state(s) {
1600
- d = s;
1601
- },
1602
- get _defaultValues() {
1603
- return a;
1604
- },
1605
- get _names() {
1606
- return u;
1607
- },
1608
- set _names(s) {
1609
- u = s;
1610
- },
1611
- get _formState() {
1612
- return t;
1613
- },
1614
- set _formState(s) {
1615
- t = s;
1616
- },
1617
- get _options() {
1618
- return r;
1619
- },
1620
- set _options(s) {
1621
- r = {
1622
- ...r,
1623
- ...s
1624
- };
1625
- }
1626
- },
1627
- trigger: J,
1628
- register: Qe,
1629
- handleSubmit: ht,
1630
- watch: ue,
1631
- setValue: z,
1632
- getValues: ne,
1633
- reset: gt,
1634
- resetField: Yt,
1635
- clearErrors: de,
1636
- unregister: ve,
1637
- setError: Q,
1638
- setFocus: (s, l = {}) => {
1639
- const c = p(n, s), g = c && c._f;
1640
- if (g) {
1641
- const h = g.refs ? g.refs[0] : g.ref;
1642
- h.focus && (h.focus(), l.shouldSelect && h.select());
1643
- }
1644
- },
1645
- getFieldState: ce
1646
- };
1647
- }
1648
- function $s(e = {}) {
1649
- const r = U.useRef(), t = U.useRef(), [n, a] = U.useState({
1650
- isDirty: !1,
1651
- isValidating: !1,
1652
- isLoading: Ne(e.defaultValues),
1653
- isSubmitted: !1,
1654
- isSubmitting: !1,
1655
- isSubmitSuccessful: !1,
1656
- isValid: !1,
1657
- submitCount: 0,
1658
- dirtyFields: {},
1659
- touchedFields: {},
1660
- validatingFields: {},
1661
- errors: e.errors || {},
1662
- disabled: e.disabled || !1,
1663
- defaultValues: Ne(e.defaultValues) ? void 0 : e.defaultValues
1664
- });
1665
- r.current || (r.current = {
1666
- ...Qs(e),
1667
- formState: n
1668
- });
1669
- const i = r.current.control;
1670
- return i._options = e, ut({
1671
- subject: i._subjects.state,
1672
- next: (d) => {
1673
- Ot(d, i._proxyFormState, i._updateFormState, !0) && a({ ...i._formState });
1674
- }
1675
- }), U.useEffect(() => i._disableForm(e.disabled), [i, e.disabled]), U.useEffect(() => {
1676
- if (i._proxyFormState.isDirty) {
1677
- const d = i._getDirty();
1678
- d !== n.isDirty && i._subjects.state.next({
1679
- isDirty: d
1680
- });
1681
- }
1682
- }, [i, n.isDirty]), U.useEffect(() => {
1683
- e.values && !Ce(e.values, t.current) ? (i._reset(e.values, i._options.resetOptions), t.current = e.values, a((d) => ({ ...d }))) : i._resetDefaultValues();
1684
- }, [e.values, i]), U.useEffect(() => {
1685
- e.errors && i._setErrors(e.errors);
1686
- }, [e.errors, i]), U.useEffect(() => {
1687
- i._state.mount || (i._updateValid(), i._state.mount = !0), i._state.watch && (i._state.watch = !1, i._subjects.state.next({ ...i._formState })), i._removeUnmounted();
1688
- }), U.useEffect(() => {
1689
- e.shouldUnregister && i._subjects.values.next({
1690
- values: i._getWatch()
1691
- });
1692
- }, [e.shouldUnregister, i]), r.current.formState = Rt(n, i), r.current;
1693
- }
1694
- const ei = Ae.bind(ie), ti = "Я принимаю условия Политики обработки и защиты персональных данных, даю согласия на обработку персональных данных", In = ({
1695
- isFormOpen: e,
1696
- setIsFormOpen: r,
1697
- isNews: t,
1698
- title: n,
1699
- isEmail: a,
1700
- isPhone: i,
1701
- isTextArea: d,
1702
- telegramLink: u = "https://t.me/stone_developer",
1703
- isRequiredPhone: A = !0,
1704
- isRequiredEmail: S = !1,
1705
- isRequiredPhoneOrEmail: y,
1706
- textAreaPlaceholder: m,
1707
- subTitle: T,
1708
- submitHandler: P,
1709
- modalWidth: C = "442px",
1710
- rowsTextArea: M = 2,
1711
- advCheckBox: x = { text: ti, isRequired: !0 },
1712
- isAdvCheckBox: E,
1713
- addTitleClassName: b,
1714
- createPortalObj: D,
1715
- telegramClickHandler: q = () => null,
1716
- blurHandler: I,
1717
- handlerButton: H,
1718
- block_name: G,
1719
- emitCheckBox: X,
1720
- emitAdvCheckBox: L
1721
- }) => {
1722
- const {
1723
- register: j,
1724
- handleSubmit: _,
1725
- reset: w,
1726
- control: v,
1727
- watch: W,
1728
- formState: { errors: B }
1729
- } = $s(), V = !!W("email"), z = W("personalCheckBox"), Y = W("advCheckBox");
1730
- je(() => {
1731
- typeof z < "u" && X && X();
1732
- }, [X, z]), je(() => {
1733
- typeof Y < "u" && L && L();
1734
- }, [L, Y]);
1735
- const { isMobile: se, currentClientWidth: J } = Be(), ne = W("personalCheckBox"), ce = W("advCheckBox"), de = (ue) => {
1736
- P(ue), w();
1737
- }, Q = (ue, { action_element_status: ve, action_element: Pe }) => {
1738
- I && I({
1739
- e: ue,
1740
- analyticParams: { action_element: Pe, action_element_status: ve, block_name: G }
1741
- });
1742
- };
1743
- return J ? /* @__PURE__ */ o(
1744
- at,
1745
- {
1746
- additionalClass: ie.modal,
1747
- additionalClassModalBody: ie.modalBody,
1748
- createPortalObj: D,
1749
- isOpen: e,
1750
- isTransparentBack: !0,
1751
- emitIsOpen: () => r(!1),
1752
- opacity: 0.7,
1753
- children: /* @__PURE__ */ N(
1754
- "div",
1755
- {
1756
- className: ie.root,
1757
- style: { width: se ? "100%" : C },
1758
- "data-testid": "modal_window",
1759
- children: [
1760
- /* @__PURE__ */ o(
1761
- "div",
1762
- {
1763
- className: ei(ie.title, b),
1764
- dangerouslySetInnerHTML: { __html: n ?? "Оставить обращение" }
1765
- }
1766
- ),
1767
- t && /* @__PURE__ */ N("div", { className: ie.telegramWrapper, children: [
1768
- /* @__PURE__ */ o(
1769
- "a",
1770
- {
1771
- className: ie.telegramLink,
1772
- href: u,
1773
- target: "_blank",
1774
- "data-testid": "modal_telegram_link",
1775
- children: /* @__PURE__ */ N(
1776
- "div",
1777
- {
1778
- className: ie.telegram,
1779
- onClick: q,
1780
- children: [
1781
- /* @__PURE__ */ o("div", { children: "Подписаться в Telegram" }),
1782
- /* @__PURE__ */ o(ge, { name: "telegram" })
1783
- ]
1784
- }
1785
- )
1786
- }
1787
- ),
1788
- /* @__PURE__ */ o("div", { className: ie.orText, children: "или" })
1789
- ] }),
1790
- !t && /* @__PURE__ */ o(
1791
- "div",
1792
- {
1793
- className: ie.description,
1794
- dangerouslySetInnerHTML: {
1795
- __html: T && !t ? "Оставьте номер телефона для получения консультации" : `${/* @__PURE__ */ o("div", { children: "привет" })}`
1796
- }
1797
- }
1798
- ),
1799
- /* @__PURE__ */ N("form", { onSubmit: _(de), children: [
1800
- /* @__PURE__ */ N(rr, { className: ie.inputWrapper, children: [
1801
- /* @__PURE__ */ o(
1802
- tt,
1803
- {
1804
- width: "full",
1805
- size_s: "large",
1806
- variant: "light",
1807
- placeholder: "Введите имя",
1808
- "data-testid": "modal_name",
1809
- ...j("name", { required: !0, pattern: nr }),
1810
- onBlur: (ue) => Q(ue, {
1811
- action_element_status: B.name ? "error" : "success",
1812
- action_element: `input_${G}_name`
1813
- }),
1814
- error: !!B.name
1815
- }
1816
- ),
1817
- i && /* @__PURE__ */ o(
1818
- _s,
1819
- {
1820
- name: "phone",
1821
- control: v,
1822
- rules: {
1823
- required: S || A || y && !V,
1824
- pattern: { value: ar, message: "" }
1825
- },
1826
- defaultValue: "",
1827
- render: ({ field: ue }) => /* @__PURE__ */ o(
1828
- tt,
1829
- {
1830
- inputMode: "numeric",
1831
- isPhoneIMask: !0,
1832
- ...ue,
1833
- width: "full",
1834
- "data-testid": "phone_modal",
1835
- type: "tel",
1836
- error: !!B.phone,
1837
- size_s: "large",
1838
- variant: "light",
1839
- onBlur: (ve) => Q(ve, {
1840
- action_element_status: B.phone ? "error" : "success",
1841
- action_element: `input_${G}_phone`
1842
- })
1843
- }
1844
- )
1845
- }
1846
- ),
1847
- a && /* @__PURE__ */ o(
1848
- tt,
1849
- {
1850
- width: "full",
1851
- size_s: "large",
1852
- variant: "light",
1853
- placeholder: "Введите email",
1854
- "data-testid": "modal_email",
1855
- ...j("email", {
1856
- required: S || y && !V,
1857
- pattern: lr
1858
- }),
1859
- error: !!B.email,
1860
- onBlur: (ue) => Q(ue, {
1861
- action_element_status: B.email ? "error" : "success",
1862
- action_element: `input_${G}_email`
1863
- })
1864
- }
1865
- ),
1866
- d && /* @__PURE__ */ o(
1867
- or,
1868
- {
1869
- "data-testid": "modal_textarea",
1870
- placeholder: m,
1871
- rows: M,
1872
- width: "full",
1873
- ...j("textarea")
1874
- }
1875
- ),
1876
- x && !t && E && /* @__PURE__ */ o(
1877
- St,
1878
- {
1879
- "data-testid": "modal_advCheckBox",
1880
- isChecked: ce,
1881
- error: !!B.advCheckBox,
1882
- text: x.text,
1883
- ...j("advCheckBox", { required: x == null ? void 0 : x.isRequired })
1884
- }
1885
- ),
1886
- /* @__PURE__ */ N(
1887
- St,
1888
- {
1889
- "data-testid": "modal_personalCheckBox",
1890
- isChecked: ne,
1891
- error: !!B.personalCheckBox,
1892
- ...j("personalCheckBox", { required: !t }),
1893
- children: [
1894
- t && /* @__PURE__ */ N("div", { className: ie.checkboxText, children: [
1895
- "Согласен(-на)",
1896
- " ",
1897
- /* @__PURE__ */ o(
1898
- "a",
1899
- {
1900
- className: ie.linkPolicy,
1901
- href: "/documents/soglasie-na-rassylki",
1902
- children: "получать новости, информацию по сделке и рекламу"
1903
- }
1904
- ),
1905
- " ",
1906
- "от Stone"
1907
- ] }),
1908
- !t && /* @__PURE__ */ N("div", { className: ie.checkboxText, children: [
1909
- "Я принимаю условия",
1910
- " ",
1911
- /* @__PURE__ */ o("a", { className: ie.linkPolicy, href: "/documents/politika-konfidenczialnosti", children: "Политики обработки и защиты персональных данных" }),
1912
- ", даю",
1913
- " ",
1914
- /* @__PURE__ */ o("a", { className: ie.linkPolicy, href: "/documents/docs", children: "согласие на обработку персональных данных" })
1915
- ] })
1916
- ]
1917
- }
1918
- ),
1919
- /* @__PURE__ */ o(
1920
- ke,
1921
- {
1922
- "data-testid": "modal_submit",
1923
- variant: "blue",
1924
- width: "full",
1925
- type: "submit",
1926
- size: "large",
1927
- as: "button",
1928
- additionalClass: ie.modalBtn,
1929
- onClick: () => {
1930
- H && H();
1931
- },
1932
- disabled: !!B.name || !!B.phone && A || !!B.email && S || !!B.advCheckBox && (x == null ? void 0 : x.isRequired) || !!B.personalCheckBox && !t,
1933
- children: "Отправить запрос"
1934
- }
1935
- )
1936
- ] }),
1937
- /* @__PURE__ */ o(
1938
- ke,
1939
- {
1940
- additionalClass: ie.btn,
1941
- onClick: () => r(!1),
1942
- as: "button",
1943
- variant: "gray",
1944
- type: "button",
1945
- size: "small",
1946
- children: /* @__PURE__ */ o(
1947
- ge,
1948
- {
1949
- name: "close",
1950
- size: "16",
1951
- color: "#141416"
1952
- }
1953
- )
1954
- }
1955
- )
1956
- ] })
1957
- ]
1958
- }
1959
- )
1960
- }
1961
- ) : null;
1962
- }, ri = "_snippet_1vgdm_1", si = "_snippetLast_1vgdm_9", ii = "_snippets_1vgdm_25", ni = "_retailSnippets_1vgdm_30", ai = "_shownSnippets_1vgdm_35", li = "_addSnippets_1vgdm_64", oi = "_addSnippetsActive_1vgdm_80", ci = "_addSnippetsList_1vgdm_85", di = "_closeSnippetBtn_1vgdm_129", he = {
1963
- snippet: ri,
1964
- snippetLast: si,
1965
- snippets: ii,
1966
- retailSnippets: ni,
1967
- shownSnippets: ai,
1968
- addSnippets: li,
1969
- addSnippetsActive: oi,
1970
- addSnippetsList: ci,
1971
- closeSnippetBtn: di
1972
- }, It = Ae.bind(he), ui = ({ lot: e }) => {
1973
- const { type: r, windowViews: t, isCorner: n } = e || {}, [a, i] = xe(!1), d = ur({ ...e }), { isDesktop: u, isMobile: A } = Be();
1974
- if (r === 3) {
1975
- if (A && (!t || t.length === 0))
1976
- return null;
1977
- let S = 0;
1978
- const y = u ? 36 : 28, m = [], T = [];
1979
- if (n) {
1980
- const P = "Угловая";
1981
- if (S + P.length <= y)
1982
- m.push(P), S += P.length;
1983
- else
1984
- return m;
1985
- }
1986
- if (t) {
1987
- const P = t.filter((x) => x && x.trim() !== "");
1988
- let C = 0, M = S;
1989
- for (let x = 0; x < P.length; x++) {
1990
- const E = P[x], b = C > 0 ? " " + E : E;
1991
- if (M + b.length <= y)
1992
- m.push(E), M += b.length, C++;
1993
- else {
1994
- if (C === 0) {
1995
- const D = y - M;
1996
- if (D > 3) {
1997
- const q = E.substring(0, D - 3) + "...";
1998
- m.push(q), M = y;
1999
- } else
2000
- m.push("..."), M += 3;
2001
- }
2002
- T.push(...P.slice(x));
2003
- break;
2004
- }
2005
- }
2006
- S = M;
2007
- }
2008
- return /* @__PURE__ */ N("div", { className: he.retailSnippets, children: [
2009
- /* @__PURE__ */ o("ul", { className: he.shownSnippets, children: m == null ? void 0 : m.map((P, C) => /* @__PURE__ */ o("li", { className: he.snippets, children: P }, C)) }),
2010
- (T == null ? void 0 : T.length) > 0 && /* @__PURE__ */ N(
2011
- "div",
2012
- {
2013
- className: It(he.addSnippets, { [he.addSnippetsActive]: a }),
2014
- onClick: (P) => {
2015
- u || (P.stopPropagation(), P.preventDefault(), i((C) => !C));
2016
- },
2017
- onMouseEnter: () => {
2018
- u && i(!0);
2019
- },
2020
- onMouseLeave: () => {
2021
- u && i(!1);
2022
- },
2023
- children: [
2024
- "+" + (T == null ? void 0 : T.length),
2025
- a && /* @__PURE__ */ N("ul", { className: he.addSnippetsList, children: [
2026
- T.map((P, C) => /* @__PURE__ */ o("li", { children: P }, C)),
2027
- /* @__PURE__ */ o("div", { className: he.closeSnippetBtn, children: /* @__PURE__ */ o(
2028
- ge,
2029
- {
2030
- name: "close",
2031
- size: "16",
2032
- color: "#ffffff"
2033
- }
2034
- ) })
2035
- ] })
2036
- ]
2037
- }
2038
- )
2039
- ] });
2040
- }
2041
- return d.length ? /* @__PURE__ */ o("div", { className: he.snippets, children: d.map((S, y) => {
2042
- const m = y === d.length - 1;
2043
- return /* @__PURE__ */ o(
2044
- "div",
2045
- {
2046
- className: It(he.snippet, m ? "" : he.snippetLast),
2047
- children: S.text
2048
- },
2049
- y
2050
- );
2051
- }) }) : null;
2052
- }, fi = "_root_19awq_1", pi = "_lotImageWrapper_19awq_17", mi = "_lotNameWrapper_19awq_23", hi = "_lotName_19awq_23", yi = "_lotNumber_19awq_38", gi = "_priceWrapper_19awq_47", vi = "_rootRow_19awq_52", Fe = {
2053
- root: fi,
2054
- lotImageWrapper: pi,
2055
- lotNameWrapper: mi,
2056
- lotName: hi,
2057
- lotNumber: yi,
2058
- priceWrapper: gi,
2059
- rootRow: vi
2060
- }, bi = Ae.bind(Fe), Ln = ({
2061
- lot: e,
2062
- imgNode: r,
2063
- onPriceClickHandler: t,
2064
- addClassname: n,
2065
- isVertical: a = !1
2066
- }) => {
2067
- const { interiorPlanImg: i, floorPlanImg: d, area: u, subTypeName: A, number: S } = e || {}, y = A + ", " + cr(u) + "м²", m = i ?? d ?? "";
2068
- return e ? /* @__PURE__ */ N("div", { className: bi(Fe.root, n, { [Fe.rootRow]: !a }), children: [
2069
- /* @__PURE__ */ o("div", { className: Fe.lotImageWrapper, children: r || /* @__PURE__ */ o(
2070
- "img",
2071
- {
2072
- loading: "lazy",
2073
- src: m,
2074
- width: 295,
2075
- height: 213,
2076
- alt: "logo_image"
2077
- }
2078
- ) }),
2079
- /* @__PURE__ */ N("div", { className: Fe.lotNameWrapper, children: [
2080
- /* @__PURE__ */ o("p", { className: Fe.lotName, children: y }),
2081
- /* @__PURE__ */ o("p", { className: Fe.lotNumber, children: S }),
2082
- /* @__PURE__ */ o(ui, { lot: e }),
2083
- /* @__PURE__ */ o(fr, { lot: e })
2084
- ] }),
2085
- /* @__PURE__ */ o("div", { className: Fe.priceWrapper, children: /* @__PURE__ */ o(
2086
- dr,
2087
- {
2088
- lot: e,
2089
- isVertical: a,
2090
- onPriceClickHandler: t
2091
- }
2092
- ) })
2093
- ] }) : null;
2094
- }, wi = "_root_1v1y9_1", Si = "_filterWithSaveModal_1v1y9_15", Fi = "_modalAddBody_1v1y9_20", xi = "_closeBtn_1v1y9_29", ki = "_btnName_1v1y9_35", Ni = "_modalTitle_1v1y9_39", Ci = "_tabSWitcherWrapper_1v1y9_48", Ai = "_switcherTitle_1v1y9_77", Pi = "_switcherScroll_1v1y9_84", Ti = "_tabs_1v1y9_93", Wi = "_selectWrapper_1v1y9_98", Ii = "_filterOption_1v1y9_102", Li = "_btnWrapper_1v1y9_110", Bi = "_resetBtn_1v1y9_116", Ei = "_saveBtn_1v1y9_117", Vi = "_desktopWrapper_1v1y9_121", Di = "_desktopWrapperOpen_1v1y9_144", O = {
2095
- root: wi,
2096
- filterWithSaveModal: Si,
2097
- modalAddBody: Fi,
2098
- closeBtn: xi,
2099
- btnName: ki,
2100
- modalTitle: Ni,
2101
- tabSWitcherWrapper: Ci,
2102
- switcherTitle: Ai,
2103
- switcherScroll: Pi,
2104
- tabs: Ti,
2105
- selectWrapper: Wi,
2106
- filterOption: Ii,
2107
- btnWrapper: Li,
2108
- resetBtn: Bi,
2109
- saveBtn: Ei,
2110
- desktopWrapper: Vi,
2111
- desktopWrapperOpen: Di
2112
- };
2113
- var Ht = { exports: {} };
2114
- /*!
2115
- Copyright (c) 2018 Jed Watson.
2116
- Licensed under the MIT License (MIT), see
2117
- http://jedwatson.github.io/classnames
2118
- */
2119
- (function(e) {
2120
- (function() {
2121
- var r = {}.hasOwnProperty;
2122
- function t() {
2123
- for (var i = "", d = 0; d < arguments.length; d++) {
2124
- var u = arguments[d];
2125
- u && (i = a(i, n.call(this, u)));
2126
- }
2127
- return i;
2128
- }
2129
- function n(i) {
2130
- if (typeof i == "string" || typeof i == "number")
2131
- return this && this[i] || i;
2132
- if (typeof i != "object")
2133
- return "";
2134
- if (Array.isArray(i))
2135
- return t.apply(this, i);
2136
- if (i.toString !== Object.prototype.toString && !i.toString.toString().includes("[native code]"))
2137
- return i.toString();
2138
- var d = "";
2139
- for (var u in i)
2140
- r.call(i, u) && i[u] && (d = a(d, this && this[u] || u));
2141
- return d;
2142
- }
2143
- function a(i, d) {
2144
- return d ? i ? i + " " + d : i + d : i;
2145
- }
2146
- e.exports ? (t.default = t, e.exports = t) : window.classNames = t;
2147
- })();
2148
- })(Ht);
2149
- var Mi = Ht.exports;
2150
- const Ri = /* @__PURE__ */ tr(Mi), Oi = ({
2151
- selectedTabs: e = [],
2152
- selectedValues: r = [],
2153
- onClickItem: t,
2154
- disabledOptions: n = [],
2155
- tabs: a = [],
2156
- onChange: i,
2157
- setSelectedTabs: d,
2158
- onSaveClick: u,
2159
- onClearClick: A
2160
- }) => {
2161
- const { isMobile: S } = Be(), [y, m] = xe(!1), T = Lt(null), [P, C] = xe(e), [M] = xe(r), [x, E] = xe(P), [b, D] = xe(M), q = (L) => {
2162
- if (t && t(L), n.some((_) => _.value === L.value))
2163
- return;
2164
- const j = b.some((_) => _.value === L.value) ? b.filter((_) => _.value !== L.value) : [...b, L];
2165
- D(j);
2166
- }, I = () => {
2167
- C(a), E(a), D([]), A(), i && (i([]), d == null || d(a));
2168
- }, H = () => {
2169
- D(r), E(e);
2170
- }, G = () => {
2171
- H(), m(!1);
2172
- }, X = (L) => {
2173
- L.stopPropagation(), u(), i && (d == null || d(x), i(b)), m(!1);
2174
- };
2175
- return je(() => {
2176
- y || E((L) => JSON.stringify(L) !== JSON.stringify(e) ? e : L);
2177
- }, [y, e]), je(() => {
2178
- const L = (j) => {
2179
- if (!T.current)
2180
- return;
2181
- const _ = j.target;
2182
- T.current.contains(_) || _.closest("svg") || G();
2183
- };
2184
- return y ? document.addEventListener("click", L) : document.removeEventListener("click", L), () => {
2185
- document.removeEventListener("click", L);
2186
- };
2187
- }, [y]), {
2188
- isMobile: S,
2189
- handleClearClick: I,
2190
- handleCloseModal: G,
2191
- handleOptionClick: q,
2192
- handleSaveClick: X,
2193
- localSelectedTabs: x,
2194
- selectedOptions: b,
2195
- setSelectedOptions: D,
2196
- isModalOpen: y,
2197
- setIsModalOpen: m,
2198
- setLocalSelectedTabs: E,
2199
- containerRef: T
2200
- };
2201
- }, ji = Ri.bind(O), Bn = ({
2202
- disabledOptions: e,
2203
- tabs: r = [],
2204
- selectOptions: t = [],
2205
- onChange: n,
2206
- onClick: a = () => null,
2207
- selectedValues: i,
2208
- setSelectedTabs: d,
2209
- selectedTabs: u,
2210
- onClickItem: A,
2211
- onCLickSelect: S,
2212
- dataTestId: y,
2213
- onSaveClick: m = () => null,
2214
- onClearClick: T = () => null,
2215
- onTabClick: P = () => null,
2216
- btnName: C = "Фильтр"
2217
- }) => {
2218
- const {
2219
- handleCloseModal: M,
2220
- localSelectedTabs: x,
2221
- selectedOptions: E,
2222
- isMobile: b,
2223
- handleOptionClick: D,
2224
- handleClearClick: q,
2225
- handleSaveClick: I,
2226
- isModalOpen: H,
2227
- setLocalSelectedTabs: G,
2228
- setIsModalOpen: X,
2229
- containerRef: L
2230
- } = Oi({
2231
- selectedTabs: u,
2232
- onClickItem: A,
2233
- setSelectedTabs: d,
2234
- tabs: r,
2235
- onChange: n,
2236
- disabledOptions: e,
2237
- selectedValues: i,
2238
- onSaveClick: m,
2239
- onClearClick: T
2240
- }), j = () => /* @__PURE__ */ N(nt, { children: [
2241
- /* @__PURE__ */ o(
2242
- "div",
2243
- {
2244
- className: O.closeBtn,
2245
- onClick: () => {
2246
- M();
2247
- },
2248
- children: /* @__PURE__ */ o(
2249
- ge,
2250
- {
2251
- name: "close",
2252
- size: "24"
2253
- }
2254
- )
2255
- }
2256
- ),
2257
- /* @__PURE__ */ o("div", { className: O.modalTitle, children: "Фильтры" }),
2258
- /* @__PURE__ */ N("div", { className: O.tabSWitcherWrapper, children: [
2259
- /* @__PURE__ */ o("div", { className: O.switcherTitle, children: "Готовность" }),
2260
- /* @__PURE__ */ o("div", { className: O.switcherScroll, children: /* @__PURE__ */ o(
2261
- ze,
2262
- {
2263
- variant: "grayRow",
2264
- addClassName: O.tabs,
2265
- isApart: !0,
2266
- children: r == null ? void 0 : r.map((_, w) => {
2267
- var W;
2268
- const v = _.value;
2269
- return /* @__PURE__ */ o(
2270
- ze.Item,
2271
- {
2272
- itemsLength: r == null ? void 0 : r.length,
2273
- mini: !0,
2274
- size_s: "small",
2275
- value: v,
2276
- onClick: () => {
2277
- },
2278
- checked: ((W = x == null ? void 0 : x.find((B) => B.value === v)) == null ? void 0 : W.state) ?? !1,
2279
- onChange: () => {
2280
- G == null || G(
2281
- (B) => B.map((V) => V.value === v ? { ...V, state: !V.state } : V)
2282
- );
2283
- },
2284
- index: w,
2285
- children: v
2286
- },
2287
- w
2288
- );
2289
- })
2290
- }
2291
- ) })
2292
- ] }),
2293
- /* @__PURE__ */ o("div", { className: O.selectWrapper, children: t == null ? void 0 : t.map((_, w) => /* @__PURE__ */ o(
2294
- Ft,
2295
- {
2296
- sizeIcon: "24",
2297
- addClassName: O.filterOption,
2298
- disabledOptions: [],
2299
- clickableOptions: t == null ? void 0 : t.map((v) => v.value.toString()),
2300
- selectedOptions: E,
2301
- option: _,
2302
- handleOptionClick: D
2303
- },
2304
- w
2305
- )) }),
2306
- /* @__PURE__ */ N("div", { className: O.btnWrapper, children: [
2307
- /* @__PURE__ */ o(
2308
- ke,
2309
- {
2310
- as: "button",
2311
- variant: "gray",
2312
- additionalClass: O.resetBtn,
2313
- onClick: q,
2314
- children: "Сбросить"
2315
- }
2316
- ),
2317
- /* @__PURE__ */ o(
2318
- ke,
2319
- {
2320
- as: "button",
2321
- additionalClass: O.saveBtn,
2322
- onClick: I,
2323
- children: "Сохранить"
2324
- }
2325
- )
2326
- ] })
2327
- ] });
2328
- return /* @__PURE__ */ N(nt, { children: [
2329
- /* @__PURE__ */ N("div", { style: { position: "relative" }, children: [
2330
- /* @__PURE__ */ N(
2331
- "div",
2332
- {
2333
- className: O.root,
2334
- "data-testid": y,
2335
- onClick: () => {
2336
- S && S(), a && a(), b ? X((_) => !_) : H || X(!0);
2337
- },
2338
- children: [
2339
- /* @__PURE__ */ o("div", { className: O.btnName, children: C }),
2340
- /* @__PURE__ */ o(
2341
- ge,
2342
- {
2343
- name: "filter",
2344
- size: "16"
2345
- }
2346
- )
2347
- ]
2348
- }
2349
- ),
2350
- !b && /* @__PURE__ */ N(
2351
- "div",
2352
- {
2353
- ref: L,
2354
- className: ji(O.desktopWrapper, { [O.desktopWrapperOpen]: H }),
2355
- children: [
2356
- /* @__PURE__ */ o(
2357
- "div",
2358
- {
2359
- className: O.closeBtn,
2360
- onClick: () => {
2361
- M();
2362
- },
2363
- children: /* @__PURE__ */ o(
2364
- ge,
2365
- {
2366
- name: "close",
2367
- size: "24"
2368
- }
2369
- )
2370
- }
2371
- ),
2372
- /* @__PURE__ */ o("div", { className: O.modalTitle, children: "Фильтры" }),
2373
- /* @__PURE__ */ N("div", { className: O.tabSWitcherWrapper, children: [
2374
- /* @__PURE__ */ o("div", { className: O.switcherTitle, children: "Готовность" }),
2375
- /* @__PURE__ */ o("div", { className: O.switcherScroll, children: /* @__PURE__ */ o(
2376
- ze,
2377
- {
2378
- variant: "grayRow",
2379
- addClassName: O.tabs,
2380
- isApart: !0,
2381
- children: r == null ? void 0 : r.map((_, w) => {
2382
- var W;
2383
- const v = _.value;
2384
- return /* @__PURE__ */ o(
2385
- ze.Item,
2386
- {
2387
- itemsLength: r == null ? void 0 : r.length,
2388
- dataTestId: `filterWithSave_year_${v}_tab`,
2389
- size_s: "small",
2390
- mini: !0,
2391
- value: v,
2392
- onClick: () => P(),
2393
- checked: ((W = x == null ? void 0 : x.find((B) => B.value === v)) == null ? void 0 : W.state) ?? !1,
2394
- onChange: () => {
2395
- G == null || G(
2396
- (B) => B.map((V) => V.value === v ? { ...V, state: !V.state } : V)
2397
- );
2398
- },
2399
- index: w,
2400
- addItemClassName: O.tabSwitcher,
2401
- children: v
2402
- },
2403
- w
2404
- );
2405
- })
2406
- }
2407
- ) })
2408
- ] }),
2409
- /* @__PURE__ */ o("div", { className: O.selectWrapper, children: t == null ? void 0 : t.map((_, w) => /* @__PURE__ */ o(
2410
- Ft,
2411
- {
2412
- sizeIcon: "24",
2413
- dataTestId: `filterWIthSave_${w}_select`,
2414
- addClassName: O.filterOption,
2415
- disabledOptions: [],
2416
- clickableOptions: t == null ? void 0 : t.map((v) => v.value.toString()),
2417
- selectedOptions: E,
2418
- option: _,
2419
- handleOptionClick: D
2420
- },
2421
- w
2422
- )) }),
2423
- /* @__PURE__ */ N("div", { className: O.btnWrapper, children: [
2424
- /* @__PURE__ */ o(
2425
- ke,
2426
- {
2427
- "data-testid": "filterWithSave_clear_btn",
2428
- as: "button",
2429
- variant: "gray",
2430
- additionalClass: O.resetBtn,
2431
- onClick: q,
2432
- children: "Сбросить"
2433
- }
2434
- ),
2435
- /* @__PURE__ */ o(
2436
- ke,
2437
- {
2438
- "data-testid": "filterWithSave_save_btn",
2439
- as: "button",
2440
- additionalClass: O.saveBtn,
2441
- onClick: I,
2442
- children: "Сохранить"
2443
- }
2444
- )
2445
- ] })
2446
- ]
2447
- }
2448
- )
2449
- ] }),
2450
- b && /* @__PURE__ */ o(
2451
- at,
2452
- {
2453
- isOpen: H,
2454
- emitIsOpen: X,
2455
- isTransparentBack: !0,
2456
- additionalClassModalBody: O.modalAddBody,
2457
- additionalClass: O.filterWithSaveModal,
2458
- children: /* @__PURE__ */ o(j, {})
2459
- }
2460
- )
2461
- ] });
2462
- };
2463
- export {
2464
- Ln as C,
2465
- Bn as F,
2466
- Wn as L,
2467
- In as M,
2468
- ze as S,
2469
- Ss as a,
2470
- ui as b,
2471
- Oi as c,
2472
- bs as u
2473
- };