stone-kit 0.0.833 → 0.0.835

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