@egov3/system-design 2.2.8 → 2.2.11

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/dist/index.cjs ADDED
@@ -0,0 +1,499 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/index.tsx
31
+ var index_exports = {};
32
+ __export(index_exports, {
33
+ default: () => index_default
34
+ });
35
+ module.exports = __toCommonJS(index_exports);
36
+
37
+ // src/components/Accordion/Accordion.module.css
38
+ var Accordion_default = {};
39
+
40
+ // src/utils/joinClasses.tsx
41
+ var joinClasses = (...args) => args.filter((item) => !!item).join(" ");
42
+
43
+ // src/components/Accordion/index.tsx
44
+ var import_jsx_runtime = require("react/jsx-runtime");
45
+ var Accordion = ({
46
+ open,
47
+ setOpen,
48
+ children,
49
+ title
50
+ }) => {
51
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
52
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
53
+ "button",
54
+ {
55
+ "data-testid": "Accordion_BUTTON",
56
+ className: Accordion_default.accordionBtn,
57
+ onClick: () => {
58
+ setOpen(!open);
59
+ },
60
+ children: [
61
+ title,
62
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
63
+ "svg",
64
+ {
65
+ "data-testid": "Accordion_DIRECTION",
66
+ xmlns: "http://www.w3.org/2000/svg",
67
+ width: "20",
68
+ height: "20",
69
+ viewBox: "0 0 20 20",
70
+ fill: "none",
71
+ style: {
72
+ transform: !open ? "none" : "rotate(0.5turn)"
73
+ },
74
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M15.8346 7.5L10.0013 13.3333L4.16797 7.5", stroke: "#758393" })
75
+ }
76
+ )
77
+ ]
78
+ }
79
+ ),
80
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
81
+ "div",
82
+ {
83
+ "data-testid": "Accordion_CONTENT",
84
+ className: joinClasses(
85
+ Accordion_default.accordionContent,
86
+ !open && Accordion_default[`accordionContent--hidden`]
87
+ ),
88
+ children
89
+ }
90
+ )
91
+ ] });
92
+ };
93
+
94
+ // src/components/Button/button.module.css
95
+ var button_default = {};
96
+
97
+ // src/styles/typography.module.css
98
+ var typography_default = {};
99
+
100
+ // src/components/Button/index.tsx
101
+ var import_jsx_runtime2 = require("react/jsx-runtime");
102
+ var btnTypography = {
103
+ mini: typography_default.Caption2Medium,
104
+ small: typography_default.Caption1Medium,
105
+ medium: typography_default.Body2Medium,
106
+ large: typography_default.Body1Medium
107
+ };
108
+ var Button = ({
109
+ onClick,
110
+ children,
111
+ style,
112
+ className = "",
113
+ isRounded = false,
114
+ disabled = false,
115
+ variant = "default",
116
+ size = "medium",
117
+ ariaLabel = "\u041A\u043D\u043E\u043F\u043A\u0430"
118
+ }) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
119
+ "button",
120
+ {
121
+ "data-testid": "Button_MAIN",
122
+ "aria-label": ariaLabel,
123
+ disabled,
124
+ "aria-disabled": disabled,
125
+ onClick,
126
+ className: joinClasses(
127
+ button_default[`btn--${size}`],
128
+ btnTypography[size],
129
+ isRounded ? button_default[`btn-rounded--${size}`] : button_default[`btn-square--${size}`],
130
+ disabled ? button_default[`btn-${variant}--disabled`] : button_default[`btn-${variant}`],
131
+ button_default.button,
132
+ className
133
+ ),
134
+ style,
135
+ children
136
+ }
137
+ );
138
+
139
+ // src/components/InputField/index.tsx
140
+ var import_react = require("react");
141
+
142
+ // src/components/InputField/InputField.module.css
143
+ var InputField_default = {};
144
+
145
+ // src/svg/ClearIcon.tsx
146
+ var import_jsx_runtime3 = require("react/jsx-runtime");
147
+ var ClearIcon = ({
148
+ fill = "none",
149
+ pathFill = "#fff",
150
+ width = 20,
151
+ height = 20,
152
+ ...props
153
+ }) => {
154
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
155
+ "svg",
156
+ {
157
+ "data-testid": "Icons_CLEAR",
158
+ xmlns: "http://www.w3.org/2000/svg",
159
+ width,
160
+ height,
161
+ fill,
162
+ viewBox: "0 0 20 20",
163
+ ...props,
164
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
165
+ "path",
166
+ {
167
+ fill: pathFill,
168
+ fillRule: "evenodd",
169
+ d: "M10 18.333a8.333 8.333 0 100-16.666 8.333 8.333 0 000 16.666zM7.5 6.027L6.027 7.5l2.5 2.5-2.5 2.5L7.5 13.973l2.5-2.5 2.5 2.5 1.473-1.473-2.5-2.5 2.5-2.5L12.5 6.027l-2.5 2.5-2.5-2.5z",
170
+ clipRule: "evenodd"
171
+ }
172
+ )
173
+ }
174
+ );
175
+ };
176
+
177
+ // src/components/InputField/index.tsx
178
+ var import_jsx_runtime4 = require("react/jsx-runtime");
179
+ var InputField = (0, import_react.forwardRef)(
180
+ ({
181
+ onFocus,
182
+ onBlur,
183
+ onChange,
184
+ onEnterPress,
185
+ value = "",
186
+ inputLeftIcon,
187
+ placeholder = "",
188
+ className = "",
189
+ style,
190
+ isClearable = false,
191
+ type = "text",
192
+ id,
193
+ labelText = "",
194
+ ariaLabel = "",
195
+ focused = false,
196
+ setFocused = () => {
197
+ },
198
+ readOnly = false
199
+ }, ref) => {
200
+ const handleClear = () => {
201
+ if (onChange) {
202
+ onChange({
203
+ target: { value: "" }
204
+ });
205
+ }
206
+ };
207
+ const handleFocus = () => {
208
+ setFocused(true);
209
+ if (onFocus) onFocus();
210
+ };
211
+ const handleBlur = () => {
212
+ setFocused(false);
213
+ if (onBlur) onBlur();
214
+ };
215
+ const handleKeyDown = (event) => {
216
+ if (onEnterPress && event.key === "Enter") {
217
+ onEnterPress(event);
218
+ }
219
+ };
220
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
221
+ "div",
222
+ {
223
+ "data-testid": "InputField_MAIN",
224
+ className: joinClasses(
225
+ InputField_default[labelText.length ? "inputContainerLabeled" : "inputContainer"],
226
+ focused ? InputField_default[`input--onfocus`] : void 0,
227
+ InputField_default[`input-${type?.toLocaleLowerCase()}`],
228
+ className
229
+ ),
230
+ style,
231
+ children: [
232
+ labelText.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("label", { htmlFor: id, "data-testid": "InputField_LABEL", children: labelText }),
233
+ inputLeftIcon,
234
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
235
+ "input",
236
+ {
237
+ ref,
238
+ "data-testid": "InputField_INPUT",
239
+ "aria-label": ariaLabel,
240
+ id,
241
+ type,
242
+ className: InputField_default.input,
243
+ placeholder,
244
+ "aria-placeholder": placeholder,
245
+ onFocus: handleFocus,
246
+ onBlur: handleBlur,
247
+ onChange,
248
+ onKeyDown: handleKeyDown,
249
+ value,
250
+ readOnly
251
+ }
252
+ ),
253
+ isClearable && value && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
254
+ ClearIcon,
255
+ {
256
+ fill: "red",
257
+ pathFill: "#758393",
258
+ className: InputField_default.clearIcon,
259
+ onClick: handleClear
260
+ }
261
+ )
262
+ ]
263
+ }
264
+ );
265
+ }
266
+ );
267
+
268
+ // src/components/Modal/index.tsx
269
+ var import_graphics = __toESM(require("@egov3/graphics"), 1);
270
+
271
+ // src/components/Modal/Modal.module.css
272
+ var Modal_default = {};
273
+
274
+ // src/components/Modal/index.tsx
275
+ var import_jsx_runtime5 = require("react/jsx-runtime");
276
+ var Modal = ({
277
+ open,
278
+ setOpen,
279
+ children,
280
+ headerTitle,
281
+ variant
282
+ }) => {
283
+ if (open) {
284
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { "data-testid": "Modal_OVERLAY", className: Modal_default.overlay, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
285
+ "div",
286
+ {
287
+ "data-testid": "Modal_WRAPPER",
288
+ className: joinClasses(
289
+ Modal_default.contentWrap,
290
+ Modal_default[`${variant}Variant`]
291
+ ),
292
+ children: [
293
+ headerTitle && headerTitle.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { "data-testid": "Modal_HEADER", className: Modal_default.contentHeader, children: [
294
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
295
+ Components.Typography,
296
+ {
297
+ tag: "h3",
298
+ fontClass: "Body1Medium",
299
+ "data-testid": "Modal_TITLE",
300
+ className: Modal_default.title,
301
+ children: headerTitle
302
+ }
303
+ ),
304
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
305
+ "button",
306
+ {
307
+ "data-testid": "ModalHeader_BTN",
308
+ onClick: () => {
309
+ setOpen(!open);
310
+ },
311
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_graphics.default.General.Close, { "data-testid": "Modal_ICON" })
312
+ }
313
+ )
314
+ ] }),
315
+ children
316
+ ]
317
+ }
318
+ ) });
319
+ } else {
320
+ return null;
321
+ }
322
+ };
323
+
324
+ // src/components/RadioGroup/RadioGroup.module.css
325
+ var RadioGroup_default = {};
326
+
327
+ // src/components/RadioGroup/index.tsx
328
+ var import_jsx_runtime6 = require("react/jsx-runtime");
329
+ var CustomRadioButton = ({
330
+ label,
331
+ name,
332
+ checked,
333
+ onChange,
334
+ value
335
+ }) => /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("label", { "data-testid": "RadioGroupItem_LABEL", className: RadioGroup_default.radio, children: [
336
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
337
+ "input",
338
+ {
339
+ "data-testid": "RadioGroupItem_INPUT",
340
+ value,
341
+ type: "radio",
342
+ name,
343
+ checked,
344
+ onChange
345
+ }
346
+ ),
347
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("span", { "data-testid": "RadioGroupItem_RADIO", className: RadioGroup_default.radioBtn }),
348
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
349
+ "span",
350
+ {
351
+ "data-testid": "RadioGroupItem_TEXT",
352
+ className: joinClasses(RadioGroup_default.radioBtnText, typography_default.Body2Regular),
353
+ children: label
354
+ }
355
+ )
356
+ ] });
357
+ var RadioGroup = ({
358
+ RadioGroupItems,
359
+ invokeCustomOnChange,
360
+ setSelectedOption,
361
+ selectedOption
362
+ }) => {
363
+ const handleChange = (event) => {
364
+ setSelectedOption(event.target.value);
365
+ invokeCustomOnChange(event);
366
+ };
367
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("fieldset", { "data-testid": "RadioGroup_FIELDSET", children: RadioGroupItems.map((item) => /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
368
+ CustomRadioButton,
369
+ {
370
+ label: item.label,
371
+ name: "radio",
372
+ checked: selectedOption === item.value,
373
+ onChange: handleChange,
374
+ value: item.value
375
+ },
376
+ item.label
377
+ )) });
378
+ };
379
+
380
+ // src/components/RadioToggle/RadioToggle.module.css
381
+ var RadioToggle_default = {};
382
+
383
+ // src/components/RadioToggle/index.tsx
384
+ var import_jsx_runtime7 = require("react/jsx-runtime");
385
+ var RadioToggle = ({ lock, setLock }) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
386
+ "button",
387
+ {
388
+ "data-testid": "RadioToggle_BUTTON",
389
+ "aria-pressed": lock,
390
+ "aria-label": "\u041A\u043D\u043E\u043F\u043A\u0430 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u044F",
391
+ onClick: () => {
392
+ setLock(!lock);
393
+ },
394
+ children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
395
+ "div",
396
+ {
397
+ "data-testid": "RadioToggle_WRAP",
398
+ className: joinClasses(RadioToggle_default.wrap, lock && RadioToggle_default.wrapLock),
399
+ children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { "data-testid": "RadioToggle_ROUND", className: RadioToggle_default.round })
400
+ }
401
+ )
402
+ }
403
+ );
404
+
405
+ // src/components/SelectBoxButton/index.tsx
406
+ var import_graphics2 = __toESM(require("@egov3/graphics"), 1);
407
+
408
+ // src/components/SelectBoxButton/SelectBoxButton.module.css
409
+ var SelectBoxButton_default = {};
410
+
411
+ // src/components/SelectBoxButton/index.tsx
412
+ var import_jsx_runtime8 = require("react/jsx-runtime");
413
+ var SelectBoxButton = ({
414
+ setIsOpen,
415
+ labelText,
416
+ disabled,
417
+ error,
418
+ modalValue
419
+ }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
420
+ "button",
421
+ {
422
+ "data-testid": "SelectBoxModal_BUTTON",
423
+ className: SelectBoxButton_default.selectContainer,
424
+ onClick: () => !disabled && setIsOpen(true),
425
+ children: [
426
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { "data-testid": "SelectBoxModal_TITLE", children: [
427
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
428
+ Components.Typography,
429
+ {
430
+ tag: "label",
431
+ fontClass: "Caption1Regular",
432
+ "data-testid": "SelectBoxModal_LABEL",
433
+ className: error ? SelectBoxButton_default.errorLabel : SelectBoxButton_default.label,
434
+ "aria-label": labelText,
435
+ children: labelText
436
+ }
437
+ ),
438
+ modalValue && modalValue.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
439
+ Components.Typography,
440
+ {
441
+ tag: "div",
442
+ fontClass: "Body2Regular",
443
+ "data-testid": "SelectBoxModal_VALUE",
444
+ className: SelectBoxButton_default.selectText,
445
+ "aria-label": modalValue,
446
+ children: modalValue
447
+ }
448
+ )
449
+ ] }),
450
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
451
+ import_graphics2.default.Basic.ChevronDownSmall,
452
+ {
453
+ "aria-label": "\u043A\u043D\u043E\u043F\u043A\u0430 \u0440\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C",
454
+ fill: "#758393",
455
+ className: SelectBoxButton_default.clearIcon
456
+ }
457
+ )
458
+ ]
459
+ }
460
+ );
461
+
462
+ // src/components/Typography/index.tsx
463
+ var import_react2 = __toESM(require("react"), 1);
464
+ var Typography = ({
465
+ tag,
466
+ fontClass,
467
+ className,
468
+ children,
469
+ style,
470
+ ...restProps
471
+ }) => import_react2.default.createElement(
472
+ tag,
473
+ {
474
+ ...restProps,
475
+ className: joinClasses(fontClass ? typography_default[fontClass] : "", className),
476
+ style
477
+ },
478
+ children
479
+ );
480
+
481
+ // src/components/index.ts
482
+ var Components = {
483
+ Accordion,
484
+ Button,
485
+ CustomRadioButton,
486
+ InputField,
487
+ Modal,
488
+ RadioGroup,
489
+ RadioToggle,
490
+ SelectBoxButton,
491
+ Typography
492
+ };
493
+
494
+ // src/index.tsx
495
+ var SystemDesign = {
496
+ Components
497
+ };
498
+ var index_default = SystemDesign;
499
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.tsx","../src/components/Accordion/Accordion.module.css","../src/utils/joinClasses.tsx","../src/components/Accordion/index.tsx","../src/components/Button/button.module.css","../src/styles/typography.module.css","../src/components/Button/index.tsx","../src/components/InputField/index.tsx","../src/components/InputField/InputField.module.css","../src/svg/ClearIcon.tsx","../src/components/Modal/index.tsx","../src/components/Modal/Modal.module.css","../src/components/RadioGroup/RadioGroup.module.css","../src/components/RadioGroup/index.tsx","../src/components/RadioToggle/RadioToggle.module.css","../src/components/RadioToggle/index.tsx","../src/components/SelectBoxButton/index.tsx","../src/components/SelectBoxButton/SelectBoxButton.module.css","../src/components/Typography/index.tsx","../src/components/index.ts"],"sourcesContent":["import { Components } from \"./components\";\n\nconst SystemDesign = {\n Components\n}\n\nexport default SystemDesign","@import \"~styles/colors.css\";.Accordion-module__accordionBtn___1unNG{border-radius:inherit;cursor:pointer;display:flex;justify-content:space-between;text-align:left;width:100%}.Accordion-module__accordionContent___Qnx7K{max-height:1000px;overflow:hidden;transition:all .3s ease-in-out}.Accordion-module__accordionContent--hidden___DrXay{max-height:0}","export const joinClasses = (...args: unknown[]) =>\n args.filter((item) => !!item).join(\" \");\n","import React, { Dispatch } from \"react\";\n\nimport styles from \"./Accordion.module.css\";\nimport { joinClasses } from \"~utils/joinClasses\";\n\nexport interface IAccordionProps {\n open: boolean;\n setOpen: Dispatch<React.SetStateAction<boolean>>;\n children: React.ReactNode;\n title: React.JSX.Element;\n}\n\nexport const Accordion = ({\n open,\n setOpen,\n children,\n title,\n}: IAccordionProps) => {\n return (\n <>\n <button\n data-testid=\"Accordion_BUTTON\"\n className={styles.accordionBtn}\n onClick={() => {\n setOpen(!open);\n }}\n >\n {title}\n <svg\n data-testid=\"Accordion_DIRECTION\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n style={{\n transform: !open ? \"none\" : \"rotate(0.5turn)\",\n }}\n >\n <path d=\"M15.8346 7.5L10.0013 13.3333L4.16797 7.5\" stroke=\"#758393\" />\n </svg>\n </button>\n <div\n data-testid=\"Accordion_CONTENT\"\n className={joinClasses(\n styles.accordionContent,\n !open && styles[`accordionContent--hidden`]\n )}\n >\n {children}\n </div>\n </>\n );\n};\n","@import \"~styles/colors.css\";.button-module__button___JyfZW{align-items:center;border:none;cursor:pointer;display:inline-flex;justify-content:center;transition:background-color .2s ease}.button-module__btn-default___EDl7t{background-color:var(--default-primary-accent);color:var(--default-white-color)}.button-module__btn-default--disabled___H36E7{background-color:var(--button-disabled-default-color);color:var(--text-disabled-color)}.button-module__btn-tinted___Do6iX{background-color:var(--button-tinted-default-color);color:var(--text-accent)}.button-module__btn-tinted--disabled___XRuq-{background-color:var(--button-tinted-default-color);color:var(--text-disabled-accent-color)}.button-module__btn-secondary___LtTTr{background-color:var(--surface-surface-3-color);color:var(--text-primary)}.button-module__btn-secondary--disabled___5YS63{background-color:var(--surface-surface-3-color);color:var(--text-secondary)}.button-module__btn-default___EDl7t:hover{background-color:var(--button-primary-on-hover-color)}.button-module__btn-tinted___Do6iX:hover{background-color:var(--button-tinted-on-hover-color)}.button-module__btn-secondary___LtTTr:hover{background-color:var(--button-secondary-on-hover)}.button-module__btn--mini___a9EJm{gap:4px;padding:6px 12px}.button-module__btn--small___xfhlR{gap:8px;padding:8px 16px}.button-module__btn--medium___pFJSr{gap:8px;padding:8px 20px}.button-module__btn--large___GvwY2{gap:8px;padding:14px 24px}.button-module__btn-square--mini___RWpOc{border-radius:4px}.button-module__btn-square--small___M-WgA{border-radius:6px}.button-module__btn-square--medium___aDBfE{border-radius:10px}.button-module__btn-square--large___dwebF{border-radius:12px}.button-module__btn-rounded--medium___TKy02,.button-module__btn-rounded--mini___bX5xJ,.button-module__btn-rounded--small___LI-QV{border-radius:32px}.button-module__btn-rounded--large___joy-r{border-radius:40px}",".typography-module__Heading1___qoIqf{font-family:Inter;font-size:32px;font-style:normal;font-weight:600;letter-spacing:-.32px;line-height:36px}.typography-module__Heading3___bAFUu{font-family:Inter;font-size:24px;font-style:normal;font-weight:600;letter-spacing:-.24px;line-height:28px}.typography-module__Subtitles3___fZk78{font-family:Inter;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.typography-module__Body1Medium___6oNx-{font-family:Inter;font-size:16px;font-style:normal;font-weight:500;line-height:24px}.typography-module__Body1Regular___M-29m{font-family:Inter;font-size:16px;font-style:normal;font-weight:400;line-height:24px}.typography-module__Body2Medium___AgTJq{font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.typography-module__Body2Regular___vMqoR{font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.typography-module__Body3Regular___4msoY{font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:16px}.typography-module__Caption1Medium___ZOAXc{font-family:Inter;font-size:12px;font-style:normal;font-weight:500;line-height:16px}.typography-module__Caption1Regular___Ngisv{font-family:Inter;font-size:12px;font-style:normal;font-weight:400;line-height:16px}.typography-module__Caption1Semibold___bp7U4{font-family:Inter;font-size:12px;font-style:normal;font-weight:600;line-height:16px}.typography-module__Caption2Medium___Ru8Ob{font-family:Inter;font-size:10px;font-style:normal;font-weight:500;line-height:12px}.typography-module__Caption2Regular___tpO-t{font-family:Inter;font-size:10px;font-style:normal;font-weight:400;line-height:12px}","import React from \"react\";\n\nimport { joinClasses } from \"~utils/joinClasses\";\n\nimport styles from \"./button.module.css\";\nimport typography from \"~styles/typography.module.css\";\n\nconst btnTypography = {\n mini: typography.Caption2Medium,\n small: typography.Caption1Medium,\n medium: typography.Body2Medium,\n large: typography.Body1Medium,\n};\n\nexport interface IButtonProps {\n ariaLabel?: string;\n onClick?: () => void;\n children: React.ReactNode;\n className?: string;\n isRounded?: boolean;\n disabled?: boolean;\n variant?: \"default\" | \"tinted\" | \"secondary\";\n size?: \"mini\" | \"small\" | \"medium\" | \"large\";\n style?: React.CSSProperties;\n}\n\nexport const Button = ({\n onClick,\n children,\n style,\n className = \"\",\n isRounded = false,\n disabled = false,\n variant = \"default\",\n size = \"medium\",\n ariaLabel = \"Кнопка\",\n}: IButtonProps) => (\n <button\n data-testid=\"Button_MAIN\"\n aria-label={ariaLabel}\n disabled={disabled}\n aria-disabled={disabled}\n onClick={onClick}\n className={joinClasses(\n styles[`btn--${size}`],\n btnTypography[size],\n isRounded\n ? styles[`btn-rounded--${size}`]\n : styles[`btn-square--${size}`],\n disabled ? styles[`btn-${variant}--disabled`] : styles[`btn-${variant}`],\n styles.button,\n className\n )}\n style={style}\n >\n {children}\n </button>\n);\n","// InputField.tsx\nimport React, { forwardRef, HTMLInputTypeAttribute, JSX } from \"react\";\n\nimport { joinClasses } from \"~utils/joinClasses\";\n\nimport styles from \"./InputField.module.css\";\n\nimport { ClearIcon } from \"~svg\";\n\nexport type TOtpType = \"OTP\" | \"TEXT\";\n\nexport interface IInputFieldProps\n extends React.DetailedHTMLProps<\n React.InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n > {\n onFocus?: () => void;\n onBlur?: () => void;\n onEnterPress?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\n value?: string;\n placeholder?: string;\n className?: string;\n style?: React.CSSProperties;\n isClearable?: boolean;\n inputLeftIcon?: JSX.Element;\n type?: HTMLInputTypeAttribute;\n id: string;\n labelText?: string;\n ariaLabel: string;\n focused?: boolean;\n setFocused?: (val: boolean) => void;\n readOnly?: boolean;\n}\n\nexport const InputField = forwardRef<HTMLInputElement, IInputFieldProps>(\n (\n {\n onFocus,\n onBlur,\n onChange,\n onEnterPress,\n value = \"\",\n inputLeftIcon,\n placeholder = \"\",\n className = \"\",\n style,\n isClearable = false,\n type = \"text\",\n id,\n labelText = \"\",\n ariaLabel = \"\",\n focused = false,\n setFocused = () => {},\n readOnly = false,\n }: IInputFieldProps,\n ref\n ): JSX.Element => {\n const handleClear = () => {\n if (onChange) {\n onChange({\n target: { value: \"\" },\n } as React.ChangeEvent<HTMLInputElement>);\n }\n };\n const handleFocus = () => {\n setFocused(true);\n if (onFocus) onFocus();\n };\n const handleBlur = () => {\n setFocused(false);\n if (onBlur) onBlur();\n };\n const handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (onEnterPress && event.key === \"Enter\") {\n onEnterPress(event);\n }\n };\n\n return (\n <div\n data-testid=\"InputField_MAIN\"\n className={joinClasses(\n styles[labelText.length ? \"inputContainerLabeled\" : \"inputContainer\"],\n focused ? styles[`input--onfocus`] : undefined,\n styles[`input-${type?.toLocaleLowerCase()}`],\n className\n )}\n style={style}\n >\n {labelText.length > 0 && (\n <label htmlFor={id} data-testid=\"InputField_LABEL\">\n {labelText}\n </label>\n )}\n {inputLeftIcon}\n <input\n ref={ref}\n data-testid=\"InputField_INPUT\"\n aria-label={ariaLabel}\n id={id}\n type={type}\n className={styles.input}\n placeholder={placeholder}\n aria-placeholder={placeholder}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onChange={onChange}\n onKeyDown={handleKeyDown}\n value={value}\n readOnly={readOnly}\n />\n {isClearable && value && (\n <ClearIcon\n fill=\"red\"\n pathFill=\"#758393\"\n className={styles.clearIcon}\n onClick={handleClear}\n />\n )}\n </div>\n );\n }\n);\n","@import \"~styles/colors.css\";.InputField-module__inputContainer___f-bIm{align-items:center;background-color:var(--surface-surface-1);border-radius:8px;display:flex;padding:12px 16px}.InputField-module__inputContainerLabeled___zrQbJ{background-color:var(--surface-surface-1);border-radius:8px;display:block;padding:12px 16px}.InputField-module__inputContainerLabeled___zrQbJ label{color:var(--text-secondary)}.InputField-module__input___Lgxvm{background-color:var(--surface-surface-1);border:none;width:100%}.InputField-module__input___Lgxvm:active,.InputField-module__input___Lgxvm:focus{outline:none}.InputField-module__input___Lgxvm::-moz-placeholder{color:var(--text-disabled-color)}.InputField-module__input___Lgxvm::placeholder{color:var(--text-disabled-color)}.InputField-module__input___Lgxvm::-webkit-inner-spin-button,.InputField-module__input___Lgxvm::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.InputField-module__clearIcon___1KYtM{cursor:pointer}.InputField-module__input--onfocus___cJyDp,.InputField-module__input--onfocus___cJyDp .InputField-module__input___Lgxvm{background-color:var(--surface-surface-3-color)}","import React from \"react\";\n\nexport const ClearIcon = ({\n fill = \"none\",\n pathFill = \"#fff\",\n width = 20,\n height = 20,\n ...props\n}: React.SVGProps<SVGSVGElement> & { pathFill?: string }) => {\n return (\n <svg\n data-testid=\"Icons_CLEAR\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width={width}\n height={height}\n fill={fill}\n viewBox=\"0 0 20 20\"\n {...props}\n >\n <path\n fill={pathFill}\n fillRule=\"evenodd\"\n d=\"M10 18.333a8.333 8.333 0 100-16.666 8.333 8.333 0 000 16.666zM7.5 6.027L6.027 7.5l2.5 2.5-2.5 2.5L7.5 13.973l2.5-2.5 2.5 2.5 1.473-1.473-2.5-2.5 2.5-2.5L12.5 6.027l-2.5 2.5-2.5-2.5z\"\n clipRule=\"evenodd\"\n ></path>\n </svg>\n );\n};\n","import React, { Dispatch, JSX } from \"react\";\nimport Icons from \"@egov3/graphics\";\n\nimport styles from \"./Modal.module.css\";\nimport { joinClasses } from \"~utils/joinClasses\";\nimport { Components } from \"~components\";\n\nexport interface IModalProps {\n open: boolean;\n children: JSX.Element;\n setOpen: Dispatch<React.SetStateAction<boolean>>;\n headerTitle?: string;\n variant: \"large\" | \"small\";\n}\n\nexport const Modal = ({\n open,\n setOpen,\n children,\n headerTitle,\n variant,\n}: IModalProps) => {\n if (open) {\n return (\n <div data-testid=\"Modal_OVERLAY\" className={styles.overlay}>\n <div\n data-testid=\"Modal_WRAPPER\"\n className={joinClasses(\n styles.contentWrap,\n styles[`${variant}Variant`]\n )}\n >\n {headerTitle && headerTitle.length > 0 && (\n <div data-testid=\"Modal_HEADER\" className={styles.contentHeader}>\n <Components.Typography\n tag=\"h3\"\n fontClass=\"Body1Medium\"\n data-testid=\"Modal_TITLE\"\n className={styles.title}\n >\n {headerTitle}\n </Components.Typography>\n <button\n data-testid=\"ModalHeader_BTN\"\n onClick={() => {\n setOpen(!open);\n }}\n >\n <Icons.General.Close data-testid=\"Modal_ICON\" />\n </button>\n </div>\n )}\n {children}\n </div>\n </div>\n );\n } else {\n return null;\n }\n};\n","@import \"~styles/colors.css\";.Modal-module__overlay___dd9h1{align-items:center;background:rgba(0,0,0,.5);bottom:0;box-sizing:border-box;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1}.Modal-module__contentWrap___TeYsL{animation:Modal-module__flyDawn___scb7- 1s;background:var(--page-color-background-white);border-radius:16px;height:-moz-fit-content;height:fit-content}.Modal-module__largeVariant___L-djj{width:1052px}.Modal-module__smallVariant___OSCjI{width:400px}.Modal-module__contentHeader___6XO83{align-items:center;align-self:stretch;display:flex;justify-content:space-between;padding:12px 16px;position:relative}.Modal-module__title___A5OeE{color:var(--text-primary)}@keyframes Modal-module__flyDawn___scb7-{0%{opacity:.1;transform:translateY(-1000px)}to{opacity:1;transform:translateY(0)}}","@import \"~styles/colors.css\";.RadioGroup-module__radio___iyFIA{align-items:center;cursor:pointer;display:flex}.RadioGroup-module__radio___iyFIA input{display:none}.RadioGroup-module__radioBtn___n1J5v{border:2px solid var(--button-secondary-on-hover);border-radius:50%;height:15px;margin:10px;position:relative;transition:background .3s;width:15px}.RadioGroup-module__radioBtn___n1J5v:after{background:var(--button-primary-default);border-radius:50%;content:\"\";height:10px;left:50%;position:absolute;top:50%;transform:scale(0) translate(-50%,-50%);transition:transform .3s;width:10px}input:checked+.RadioGroup-module__radioBtn___n1J5v:after{transform:scale(1) translate(-50%,-50%)}input:checked+.RadioGroup-module__radioBtn___n1J5v{border:2px solid var(--button-primary-default)}.RadioGroup-module__radioBtnText___aP5kH{padding-left:10px;width:-moz-fit-content;width:fit-content}","import React from \"react\";\nimport styles from \"./RadioGroup.module.css\";\nimport { joinClasses } from \"~utils/joinClasses\";\nimport typography from \"~styles/typography.module.css\";\n\nexport interface RadioGroupItem {\n label: string;\n value: string;\n}\n\nexport interface ICustomRadioButtonProps {\n label: string;\n name: string;\n checked: boolean;\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n value: string;\n}\n\nexport interface IRadioGroupProps {\n RadioGroupItems: RadioGroupItem[];\n invokeCustomOnChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\n setSelectedOption: React.Dispatch<React.SetStateAction<string>>;\n selectedOption: string;\n}\n\nexport const CustomRadioButton = ({\n label,\n name,\n checked,\n onChange,\n value,\n}: ICustomRadioButtonProps) => (\n <label data-testid=\"RadioGroupItem_LABEL\" className={styles.radio}>\n <input\n data-testid=\"RadioGroupItem_INPUT\"\n value={value}\n type=\"radio\"\n name={name}\n checked={checked}\n onChange={onChange}\n />\n <span data-testid=\"RadioGroupItem_RADIO\" className={styles.radioBtn}></span>\n <span\n data-testid=\"RadioGroupItem_TEXT\"\n className={joinClasses(styles.radioBtnText, typography.Body2Regular)}\n >\n {label}\n </span>\n </label>\n);\n\nexport const RadioGroup = ({\n RadioGroupItems,\n invokeCustomOnChange,\n setSelectedOption,\n selectedOption,\n}: IRadioGroupProps) => {\n const handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setSelectedOption(event.target.value);\n invokeCustomOnChange(event);\n };\n return (\n <fieldset data-testid=\"RadioGroup_FIELDSET\">\n {RadioGroupItems.map((item) => (\n <CustomRadioButton\n key={item.label}\n label={item.label}\n name=\"radio\"\n checked={selectedOption === item.value}\n onChange={handleChange}\n value={item.value}\n />\n ))}\n </fieldset>\n );\n};\n","@import \"~styles/colors.css\";.RadioToggle-module__wrap___tM-kQ{align-items:center;background:var(--leaf);border-radius:40px;display:flex;height:16px;justify-content:flex-end;padding:4px;width:32px}.RadioToggle-module__wrapLock___sLgxo{background:var(--surface-surface-3-color);justify-content:flex-start}.RadioToggle-module__round___5NUUP{background:var(--surface-surface-2);border-radius:100px;height:16px;width:16px}","import React, { Dispatch, SetStateAction } from \"react\";\n\nimport { joinClasses } from \"~utils/joinClasses\";\n\nimport styles from \"./RadioToggle.module.css\";\n\nexport interface IRadioToggleProps {\n lock: boolean;\n setLock: Dispatch<SetStateAction<boolean>>;\n}\n\nexport const RadioToggle = ({ lock, setLock }: IRadioToggleProps) => (\n <button\n data-testid=\"RadioToggle_BUTTON\"\n aria-pressed={lock}\n aria-label=\"Кнопка переключения\"\n onClick={() => {\n setLock(!lock);\n }}\n >\n <div\n data-testid=\"RadioToggle_WRAP\"\n className={joinClasses(styles.wrap, lock && styles.wrapLock)}\n >\n <div data-testid=\"RadioToggle_ROUND\" className={styles.round}></div>\n </div>\n </button>\n);\n","import React, { Dispatch, JSX } from \"react\";\nimport Icons from \"@egov3/graphics\";\n\nimport styles from \"./SelectBoxButton.module.css\";\nimport { Components } from \"~components\";\n\nexport interface ISelectBoxProps {\n labelText?: string;\n setIsOpen: Dispatch<React.SetStateAction<boolean>>;\n disabled: boolean;\n error?: boolean;\n modalValue?: string;\n}\n\nexport const SelectBoxButton = ({\n setIsOpen,\n labelText,\n disabled,\n error,\n modalValue,\n}: ISelectBoxProps): JSX.Element => (\n <button\n data-testid=\"SelectBoxModal_BUTTON\"\n className={styles.selectContainer}\n onClick={() => !disabled && setIsOpen(true)}\n >\n <div data-testid=\"SelectBoxModal_TITLE\">\n <Components.Typography\n tag=\"label\"\n fontClass=\"Caption1Regular\"\n data-testid=\"SelectBoxModal_LABEL\"\n className={error ? styles.errorLabel : styles.label}\n aria-label={labelText}\n >\n {labelText}\n </Components.Typography>\n {modalValue && modalValue.length > 0 && (\n <Components.Typography\n tag=\"div\"\n fontClass=\"Body2Regular\"\n data-testid=\"SelectBoxModal_VALUE\"\n className={styles.selectText}\n aria-label={modalValue}\n >\n {modalValue}\n </Components.Typography>\n )}\n </div>\n <Icons.Basic.ChevronDownSmall\n aria-label=\"кнопка развернуть\"\n fill=\"#758393\"\n className={styles.clearIcon}\n />\n </button>\n);\n","@import \"~styles/colors.css\";.SelectBoxButton-module__selectContainer___MyVJF{align-items:center;background-color:var(--surface-surface-1);border-radius:8px;display:flex;height:56px;justify-content:space-between;padding:8px 16px}.SelectBoxButton-module__label___hlxlc{color:var(--text-secondary);display:flex}.SelectBoxButton-module__errorLabel___gYbNN{color:var(--icon-error-color);display:flex}.SelectBoxButton-module__selectText___7FeVj{color:var(--text-primary);display:flex}","// Typography.tsx\nimport React, { FC, JSX } from \"react\";\nimport { joinClasses } from \"~utils/joinClasses\";\n\nimport typography from \"~styles/typography.module.css\";\n\ntype TFontClass =\n | \"Heading1\"\n | \"Heading3\"\n | \"Subtitles3\"\n | \"Body1Medium\"\n | \"Body1Regular\"\n | \"Body2Medium\"\n | \"Body2Regular\"\n | \"Body3Regular\"\n | \"Caption1Medium\"\n | \"Caption1Regular\"\n | \"Caption1Semibold\"\n | \"Caption2Medium\"\n | \"Caption2Regular\";\n\nexport interface ITypographyProps extends React.HTMLAttributes<HTMLElement> {\n tag: keyof JSX.IntrinsicElements | React.JSXElementConstructor<any>;\n fontClass: TFontClass;\n}\n\nexport const Typography: FC<ITypographyProps> = ({\n tag,\n fontClass,\n className,\n children,\n style,\n ...restProps\n}) =>\n React.createElement(\n tag,\n {\n ...restProps,\n className: joinClasses(fontClass ? typography[fontClass] : \"\", className),\n style,\n },\n children\n );\n","import { Accordion } from \"./Accordion\";\nimport { Button } from \"./Button\";\nimport { InputField } from \"./InputField\";\nimport { Modal } from \"./Modal\";\nimport { CustomRadioButton, RadioGroup } from \"./RadioGroup\";\nimport { RadioToggle } from \"./RadioToggle\";\nimport { SelectBoxButton } from \"./SelectBoxButton\";\nimport { Typography } from \"./Typography\";\n\nexport const Components = {\n Accordion,\n Button,\n CustomRadioButton,\n InputField,\n Modal,\n RadioGroup,\n RadioToggle,\n SelectBoxButton,\n Typography,\n};\n\nexport { Button };\n"],"mappings":"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","names":["import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","Icons","import_jsx_runtime","import_jsx_runtime","import_graphics","import_jsx_runtime","Icons","import_react","React"]}