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