brd-ui-kit 0.1.85 → 0.1.87
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/components/basic-modal/basic-modal.d.ts +1 -0
- package/dist/components/card-info/card-info.d.ts +1 -1
- package/dist/components/forms/form-Input-phone.d.ts +10 -0
- package/dist/components/forms/form-avatar-uploader.d.ts +9 -0
- package/dist/components/forms/form-contact-input.d.ts +9 -0
- package/dist/components/forms/form-files-uploader.d.ts +9 -0
- package/dist/components/forms/form-input-password.d.ts +9 -0
- package/dist/components/forms/form-input.d.ts +9 -0
- package/dist/components/forms/form-select-calendar.d.ts +9 -0
- package/dist/components/forms/form-select.d.ts +18 -0
- package/dist/components/forms/form-textarea.d.ts +9 -0
- package/dist/components/forms/form-toggle-group.d.ts +13 -0
- package/dist/components/forms/form.d.ts +12 -0
- package/dist/components/forms/from-checkbox.d.ts +8 -0
- package/dist/components/forms/index.d.ts +12 -0
- package/dist/components/forms.d.ts +2 -0
- package/dist/components/input-contact/input-contact.d.ts +1 -0
- package/dist/components/ui/dialog/dialog.d.ts +2 -1
- package/dist/components-basic-modal-basic-modal.cjs +1 -1
- package/dist/components-basic-modal-basic-modal.cjs.map +1 -1
- package/dist/components-basic-modal-basic-modal.js +21 -20
- package/dist/components-basic-modal-basic-modal.js.map +1 -1
- package/dist/components-card-info-card-info.cjs.map +1 -1
- package/dist/components-card-info-card-info.js.map +1 -1
- package/dist/components-forms-form-Input-phone.cjs +2 -0
- package/dist/components-forms-form-Input-phone.cjs.map +1 -0
- package/dist/components-forms-form-Input-phone.js +63 -0
- package/dist/components-forms-form-Input-phone.js.map +1 -0
- package/dist/components-forms-form-avatar-uploader.cjs +2 -0
- package/dist/components-forms-form-avatar-uploader.cjs.map +1 -0
- package/dist/components-forms-form-avatar-uploader.js +26 -0
- package/dist/components-forms-form-avatar-uploader.js.map +1 -0
- package/dist/components-forms-form-contact-input.cjs +2 -0
- package/dist/components-forms-form-contact-input.cjs.map +1 -0
- package/dist/components-forms-form-contact-input.js +66 -0
- package/dist/components-forms-form-contact-input.js.map +1 -0
- package/dist/components-forms-form-files-uploader.cjs +13 -0
- package/dist/components-forms-form-files-uploader.cjs.map +1 -0
- package/dist/components-forms-form-files-uploader.js +3060 -0
- package/dist/components-forms-form-files-uploader.js.map +1 -0
- package/dist/components-forms-form-input-password.cjs +30 -0
- package/dist/components-forms-form-input-password.cjs.map +1 -0
- package/dist/components-forms-form-input-password.js +377 -0
- package/dist/components-forms-form-input-password.js.map +1 -0
- package/dist/components-forms-form-input.cjs +2 -0
- package/dist/components-forms-form-input.cjs.map +1 -0
- package/dist/components-forms-form-input.js +46 -0
- package/dist/components-forms-form-input.js.map +1 -0
- package/dist/components-forms-form-select-calendar.cjs +2 -0
- package/dist/components-forms-form-select-calendar.cjs.map +1 -0
- package/dist/components-forms-form-select-calendar.js +28 -0
- package/dist/components-forms-form-select-calendar.js.map +1 -0
- package/dist/components-forms-form-select.cjs +2 -0
- package/dist/components-forms-form-select.cjs.map +1 -0
- package/dist/components-forms-form-select.js +83 -0
- package/dist/components-forms-form-select.js.map +1 -0
- package/dist/components-forms-form-textarea.cjs +2 -0
- package/dist/components-forms-form-textarea.cjs.map +1 -0
- package/dist/components-forms-form-textarea.js +42 -0
- package/dist/components-forms-form-textarea.js.map +1 -0
- package/dist/components-forms-form-toggle-group.cjs +2 -0
- package/dist/components-forms-form-toggle-group.cjs.map +1 -0
- package/dist/components-forms-form-toggle-group.js +27 -0
- package/dist/components-forms-form-toggle-group.js.map +1 -0
- package/dist/components-forms-form.cjs +2 -0
- package/dist/components-forms-form.cjs.map +1 -0
- package/dist/components-forms-form.js +24 -0
- package/dist/components-forms-form.js.map +1 -0
- package/dist/components-forms-from-checkbox.cjs +2 -0
- package/dist/components-forms-from-checkbox.cjs.map +1 -0
- package/dist/components-forms-from-checkbox.js +43 -0
- package/dist/components-forms-from-checkbox.js.map +1 -0
- package/dist/components-forms.cjs +2 -0
- package/dist/components-forms.cjs.map +1 -0
- package/dist/components-forms.js +27 -0
- package/dist/components-forms.js.map +1 -0
- package/dist/components-input-contact-input-contact.cjs.map +1 -1
- package/dist/components-input-contact-input-contact.js.map +1 -1
- package/dist/components-ui-dialog-dialog.cjs +1 -1
- package/dist/components-ui-dialog-dialog.cjs.map +1 -1
- package/dist/components-ui-dialog-dialog.js +48 -47
- package/dist/components-ui-dialog-dialog.js.map +1 -1
- package/dist/components-ui-typography-typography.styles-C6G6MFUq.js +105 -0
- package/dist/components-ui-typography-typography.styles-C6G6MFUq.js.map +1 -0
- package/dist/components-ui-typography-typography.styles-CMzY_pXl.cjs +2 -0
- package/dist/components-ui-typography-typography.styles-CMzY_pXl.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.esm-CFsbc_Iq.js +1328 -0
- package/dist/index.esm-CFsbc_Iq.js.map +1 -0
- package/dist/index.esm-ZdO9UZ3G.cjs +2 -0
- package/dist/index.esm-ZdO9UZ3G.cjs.map +1 -0
- package/dist/index.js +100 -76
- package/dist/index.js.map +1 -1
- package/dist/types/error.d.ts +13 -0
- package/dist/types-error.cjs +2 -0
- package/dist/types-error.cjs.map +1 -0
- package/dist/types-error.js +2 -0
- package/dist/types-error.js.map +1 -0
- package/dist/utils/get-validation-state.d.ts +1 -0
- package/dist/utils-get-validation-state.cjs +2 -0
- package/dist/utils-get-validation-state.cjs.map +1 -0
- package/dist/utils-get-validation-state.js +14 -0
- package/dist/utils-get-validation-state.js.map +1 -0
- package/package.json +12 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VariantProps } from 'class-variance-authority';
|
|
2
2
|
import { cardInfoHeaderVariants } from './card-info.styles';
|
|
3
3
|
export interface CardInfoProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title" | "className">, VariantProps<typeof cardInfoHeaderVariants> {
|
|
4
|
-
title
|
|
4
|
+
title?: string;
|
|
5
5
|
headerComponent?: React.ReactNode;
|
|
6
6
|
children: React.ReactNode;
|
|
7
7
|
className?: {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { RegisterOptions } from 'react-hook-form';
|
|
2
|
+
import { InputProps } from '../input-field';
|
|
3
|
+
type Props = Omit<InputProps, "value" | "onChange" | "ref"> & {
|
|
4
|
+
name: string;
|
|
5
|
+
rules?: RegisterOptions;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
mask?: string;
|
|
8
|
+
};
|
|
9
|
+
export declare const FormInputPhone: ({ name, rules, mask, placeholder, ...rest }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RegisterOptions } from 'react-hook-form';
|
|
2
|
+
import { AvatarUploadProps } from '../avatar-uploader';
|
|
3
|
+
type Props = Omit<AvatarUploadProps, "onChange" | "src"> & {
|
|
4
|
+
name: string;
|
|
5
|
+
rules?: RegisterOptions;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare const FormAvatar: ({ name, rules, ...rest }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RegisterOptions } from 'react-hook-form';
|
|
2
|
+
import { InputProps } from '../input-field';
|
|
3
|
+
type Props = Omit<InputProps, "value" | "onChange" | "ref"> & {
|
|
4
|
+
name: string;
|
|
5
|
+
rules?: RegisterOptions;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare const FormContactInput: ({ name, rules, ...rest }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PropsFilesUploader } from 'brd-ui-kit/files-uploader';
|
|
2
|
+
import { RegisterOptions } from 'react-hook-form';
|
|
3
|
+
type Props = Omit<PropsFilesUploader, "value" | "onChange" | "disabled" | "isErrorText"> & {
|
|
4
|
+
name: string;
|
|
5
|
+
rules?: RegisterOptions;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare const FormFilesUploader: ({ name, rules, ...rest }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InputPasswordProps } from 'brd-ui-kit';
|
|
2
|
+
import { ControllerRenderProps, RegisterOptions } from 'react-hook-form';
|
|
3
|
+
type Props = Omit<InputPasswordProps, keyof ControllerRenderProps> & {
|
|
4
|
+
name: string;
|
|
5
|
+
rules?: RegisterOptions;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare const FormInputPassword: ({ name, rules, ...rest }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ControllerRenderProps, RegisterOptions } from 'react-hook-form';
|
|
2
|
+
import { InputProps } from '../input-field';
|
|
3
|
+
type Props = Omit<InputProps, keyof ControllerRenderProps> & {
|
|
4
|
+
name: string;
|
|
5
|
+
rules?: RegisterOptions;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare const FormInput: ({ name, rules, ...rest }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { RegisterOptions } from 'react-hook-form';
|
|
2
|
+
import { SelectCalendarMenuProps } from '../ui/select-calendar-menu';
|
|
3
|
+
type Props = {
|
|
4
|
+
name: string;
|
|
5
|
+
rules?: RegisterOptions;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
} & SelectCalendarMenuProps;
|
|
8
|
+
export declare const FormSelectCalendar: ({ name, rules, disabled, ...rest }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ControllerRenderProps, RegisterOptions } from 'react-hook-form';
|
|
2
|
+
import { SelectProps } from '../select-field';
|
|
3
|
+
import { SelectGroupsProps } from '../select-groups';
|
|
4
|
+
type BaseProps = {
|
|
5
|
+
name: string;
|
|
6
|
+
rules?: RegisterOptions;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
selectField?: "field" | "groups";
|
|
9
|
+
};
|
|
10
|
+
type FieldProps = BaseProps & {
|
|
11
|
+
selectField?: "field";
|
|
12
|
+
} & Omit<SelectProps, keyof ControllerRenderProps>;
|
|
13
|
+
type GroupsProps = BaseProps & {
|
|
14
|
+
selectField?: "groups";
|
|
15
|
+
} & SelectGroupsProps;
|
|
16
|
+
type Props = FieldProps | GroupsProps;
|
|
17
|
+
export declare const FormSelect: ({ name, rules, disabled, selectField, ...rest }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ControllerRenderProps, RegisterOptions } from 'react-hook-form';
|
|
2
|
+
import { TextareaFieldProps } from '../textarea-field';
|
|
3
|
+
type Props = Omit<TextareaFieldProps, keyof ControllerRenderProps> & {
|
|
4
|
+
name: string;
|
|
5
|
+
rules?: RegisterOptions;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare const FormTextarea: ({ name, rules, ...rest }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { RegisterOptions } from 'react-hook-form';
|
|
2
|
+
import { ToggleGroup } from '../ui/toggle-group';
|
|
3
|
+
type ToggleGroupProps = React.ComponentProps<typeof ToggleGroup>;
|
|
4
|
+
type BaseProps = {
|
|
5
|
+
name: string;
|
|
6
|
+
rules?: RegisterOptions;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
kind?: string;
|
|
9
|
+
type?: "single" | "multiple";
|
|
10
|
+
};
|
|
11
|
+
type Props = BaseProps & ToggleGroupProps;
|
|
12
|
+
export declare const FormToggleGroup: ({ name, rules, kind, ...rest }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ApiValidationError } from '../../types/error';
|
|
2
|
+
import { ComponentPropsWithRef, PropsWithChildren } from 'react';
|
|
3
|
+
import { DefaultValues, FieldValues, UseFormReturn } from 'react-hook-form';
|
|
4
|
+
type FormProps<T extends FieldValues> = {
|
|
5
|
+
apiErrors?: ApiValidationError[];
|
|
6
|
+
onSubmit: (values: T) => void | Promise<void>;
|
|
7
|
+
defaultValues?: DefaultValues<T>;
|
|
8
|
+
formControls?: UseFormReturn<T>;
|
|
9
|
+
};
|
|
10
|
+
type Props<T extends FieldValues> = Omit<ComponentPropsWithRef<"form">, keyof FormProps<T>> & PropsWithChildren<FormProps<T>>;
|
|
11
|
+
declare const Form: <T extends FieldValues>(props: Props<T>) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export { Form };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ControllerRenderProps, RegisterOptions } from 'react-hook-form';
|
|
2
|
+
import { CheckboxProps } from '../basic-checkbox';
|
|
3
|
+
type Props = Omit<CheckboxProps, keyof ControllerRenderProps> & {
|
|
4
|
+
name: string;
|
|
5
|
+
rules?: RegisterOptions;
|
|
6
|
+
};
|
|
7
|
+
export declare const FormCheckbox: ({ name, rules, ...rest }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { Form } from './form';
|
|
2
|
+
export { FormAvatar } from './form-avatar-uploader';
|
|
3
|
+
export { FormContactInput } from './form-contact-input';
|
|
4
|
+
export { FormFilesUploader } from './form-files-uploader';
|
|
5
|
+
export { FormInput } from './form-input';
|
|
6
|
+
export { FormInputPassword } from './form-input-password';
|
|
7
|
+
export { FormInputPhone } from './form-Input-phone';
|
|
8
|
+
export { FormSelect } from './form-select';
|
|
9
|
+
export { FormSelectCalendar } from './form-select-calendar';
|
|
10
|
+
export { FormTextarea } from './form-textarea';
|
|
11
|
+
export { FormToggleGroup } from './form-toggle-group';
|
|
12
|
+
export { FormCheckbox } from './from-checkbox';
|
|
@@ -19,6 +19,7 @@ type Props = {
|
|
|
19
19
|
onTypeChange?: (type: TypesChange) => void;
|
|
20
20
|
inputProps: React.ComponentPropsWithRef<"input">;
|
|
21
21
|
inputPhoneProps: InputPhoneProps;
|
|
22
|
+
disabled?: boolean;
|
|
22
23
|
};
|
|
23
24
|
export declare const InputContact: (props: Props) => import("react/jsx-runtime").JSX.Element;
|
|
24
25
|
export type { Props as InputContactProps, TypesChange };
|
|
@@ -5,6 +5,7 @@ import * as DialogPrimitive from "@radix-ui/react-dialog";
|
|
|
5
5
|
type DialogOverlayProps = ComponentPropsWithRef<typeof DialogPrimitive.Overlay>;
|
|
6
6
|
type DialogContentProps = ComponentPropsWithRef<typeof DialogPrimitive.Content> & {
|
|
7
7
|
showCloseButton?: boolean;
|
|
8
|
+
overlayClassName?: string;
|
|
8
9
|
} & VariantProps<typeof dialogContentPositionVariants>;
|
|
9
10
|
type DialogTitleProps = ComponentPropsWithRef<typeof DialogPrimitive.Title>;
|
|
10
11
|
type DialogDescriptionProps = ComponentPropsWithRef<typeof DialogPrimitive.Description>;
|
|
@@ -17,7 +18,7 @@ declare const DialogOverlay: {
|
|
|
17
18
|
displayName: string | undefined;
|
|
18
19
|
};
|
|
19
20
|
declare const DialogContent: {
|
|
20
|
-
({ className, children, showCloseButton, positionX, positionY, ...props }: DialogContentProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
({ className, overlayClassName, children, showCloseButton, positionX, positionY, ...props }: DialogContentProps): import("react/jsx-runtime").JSX.Element;
|
|
21
22
|
displayName: string | undefined;
|
|
22
23
|
};
|
|
23
24
|
declare const DialogHeader: {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("class-variance-authority");const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("class-variance-authority");const t=require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");const i=require("./components-ui-dialog-dialog.cjs"),y=({open:n,onOpenChange:r,title:l,cancelLabel:c="Отмена",confirmLabel:s="Ок",onConfirm:d,children:u,classes:o,footer:a,showCloseButton:m=!1,ariaDescribedby:j=void 0,positionX:x,positionY:h})=>{const v=()=>{r(!1)},b=()=>{d?.(),r(!1)},g=a===void 0?e.jsxs(i.DialogFooter,{className:o?.footer,children:[e.jsx(t.Button,{variant:"secondary",onClick:v,children:c}),e.jsx(t.Button,{onClick:b,children:s})]}):a;return e.jsx(i.Dialog,{open:n,onOpenChange:r,children:e.jsxs(i.DialogContent,{"aria-describedby":j,showCloseButton:m,positionX:x,positionY:h,className:o?.content,overlayClassName:o?.overlay,children:[l&&e.jsx(i.DialogHeader,{className:o?.header,children:e.jsx(i.DialogTitle,{className:o?.title,children:l})}),e.jsx("div",{className:o?.body,children:u}),g]})})};exports.BasicModal=y;
|
|
2
2
|
//# sourceMappingURL=components-basic-modal-basic-modal.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components-basic-modal-basic-modal.cjs","sources":["../src/components/basic-modal/basic-modal.tsx"],"sourcesContent":["import { type VariantProps } from \"class-variance-authority\";\nimport { Button } from \"../ui/button\";\nimport {\n Dialog,\n DialogContent,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"../ui/dialog\";\nimport type { dialogContentPositionVariants } from \"../ui/dialog/dialog.styles\";\n\ntype Props = {\n open: boolean;\n onOpenChange: (value: boolean) => void;\n title?: React.ReactNode | string;\n cancelLabel?: string;\n confirmLabel?: string;\n onConfirm?: () => void;\n classes?: {\n content?: string;\n header?: string;\n body?: string;\n footer?: string;\n title?: string;\n };\n children: React.ReactNode;\n footer?: React.ReactNode;\n showCloseButton?: boolean;\n ariaDescribedby?: string;\n} & VariantProps<typeof dialogContentPositionVariants>;\n\nexport const BasicModal = ({\n open,\n onOpenChange,\n title,\n cancelLabel = \"Отмена\",\n confirmLabel = \"Ок\",\n onConfirm,\n children,\n classes,\n footer,\n showCloseButton = false,\n ariaDescribedby = undefined,\n positionX,\n positionY,\n}: Props) => {\n const handleCancelClick = () => {\n onOpenChange(false);\n };\n\n const handleConfirmClick = () => {\n onConfirm?.();\n onOpenChange(false);\n };\n\n const resolvedFooter =\n footer === undefined ? (\n <DialogFooter className={classes?.footer}>\n <Button\n variant=\"secondary\"\n onClick={handleCancelClick}\n >\n {cancelLabel}\n </Button>\n <Button onClick={handleConfirmClick}>{confirmLabel}</Button>\n </DialogFooter>\n ) : (\n footer\n );\n\n return (\n <Dialog\n open={open}\n onOpenChange={onOpenChange}\n >\n <DialogContent\n aria-describedby={ariaDescribedby}\n showCloseButton={showCloseButton}\n positionX={positionX}\n positionY={positionY}\n className={classes?.content}\n >\n {title && (\n <DialogHeader className={classes?.header}>\n <DialogTitle className={classes?.title}>{title}</DialogTitle>\n </DialogHeader>\n )}\n <div className={classes?.body}>{children}</div>\n {resolvedFooter}\n </DialogContent>\n </Dialog>\n );\n};\n"],"names":["BasicModal","open","onOpenChange","title","cancelLabel","confirmLabel","onConfirm","children","classes","footer","showCloseButton","ariaDescribedby","positionX","positionY","handleCancelClick","handleConfirmClick","resolvedFooter","DialogFooter","jsx","Button","Dialog","jsxs","DialogContent","DialogHeader","DialogTitle"],"mappings":"
|
|
1
|
+
{"version":3,"file":"components-basic-modal-basic-modal.cjs","sources":["../src/components/basic-modal/basic-modal.tsx"],"sourcesContent":["import { type VariantProps } from \"class-variance-authority\";\nimport { Button } from \"../ui/button\";\nimport {\n Dialog,\n DialogContent,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"../ui/dialog\";\nimport type { dialogContentPositionVariants } from \"../ui/dialog/dialog.styles\";\n\ntype Props = {\n open: boolean;\n onOpenChange: (value: boolean) => void;\n title?: React.ReactNode | string;\n cancelLabel?: string;\n confirmLabel?: string;\n onConfirm?: () => void;\n classes?: {\n content?: string;\n header?: string;\n body?: string;\n footer?: string;\n title?: string;\n overlay?: string;\n };\n children: React.ReactNode;\n footer?: React.ReactNode;\n showCloseButton?: boolean;\n ariaDescribedby?: string;\n} & VariantProps<typeof dialogContentPositionVariants>;\n\nexport const BasicModal = ({\n open,\n onOpenChange,\n title,\n cancelLabel = \"Отмена\",\n confirmLabel = \"Ок\",\n onConfirm,\n children,\n classes,\n footer,\n showCloseButton = false,\n ariaDescribedby = undefined,\n positionX,\n positionY,\n}: Props) => {\n const handleCancelClick = () => {\n onOpenChange(false);\n };\n\n const handleConfirmClick = () => {\n onConfirm?.();\n onOpenChange(false);\n };\n\n const resolvedFooter =\n footer === undefined ? (\n <DialogFooter className={classes?.footer}>\n <Button\n variant=\"secondary\"\n onClick={handleCancelClick}\n >\n {cancelLabel}\n </Button>\n <Button onClick={handleConfirmClick}>{confirmLabel}</Button>\n </DialogFooter>\n ) : (\n footer\n );\n\n return (\n <Dialog\n open={open}\n onOpenChange={onOpenChange}\n >\n <DialogContent\n aria-describedby={ariaDescribedby}\n showCloseButton={showCloseButton}\n positionX={positionX}\n positionY={positionY}\n className={classes?.content}\n overlayClassName={classes?.overlay}\n >\n {title && (\n <DialogHeader className={classes?.header}>\n <DialogTitle className={classes?.title}>{title}</DialogTitle>\n </DialogHeader>\n )}\n <div className={classes?.body}>{children}</div>\n {resolvedFooter}\n </DialogContent>\n </Dialog>\n );\n};\n"],"names":["BasicModal","open","onOpenChange","title","cancelLabel","confirmLabel","onConfirm","children","classes","footer","showCloseButton","ariaDescribedby","positionX","positionY","handleCancelClick","handleConfirmClick","resolvedFooter","DialogFooter","jsx","Button","Dialog","jsxs","DialogContent","DialogHeader","DialogTitle"],"mappings":"uTAgCaA,EAAa,CAAC,CACzB,KAAAC,EACA,aAAAC,EACA,MAAAC,EACA,YAAAC,EAAc,SACd,aAAAC,EAAe,KACf,UAAAC,EACA,SAAAC,EACA,QAAAC,EACA,OAAAC,EACA,gBAAAC,EAAkB,GAClB,gBAAAC,EAAkB,OAClB,UAAAC,EACA,UAAAC,CACF,IAAa,CACX,MAAMC,EAAoB,IAAM,CAC9BZ,EAAa,EAAK,CACpB,EAEMa,EAAqB,IAAM,CAC/BT,IAAA,EACAJ,EAAa,EAAK,CACpB,EAEMc,EACJP,IAAW,cACRQ,eAAA,CAAa,UAAWT,GAAS,OAChC,SAAA,CAAAU,EAAAA,IAACC,EAAAA,OAAA,CACC,QAAQ,YACR,QAASL,EAER,SAAAV,CAAA,CAAA,EAEHc,EAAAA,IAACC,EAAAA,OAAA,CAAO,QAASJ,EAAqB,SAAAV,CAAA,CAAa,CAAA,CAAA,CACrD,EAEAI,EAGJ,OACES,EAAAA,IAACE,EAAAA,OAAA,CACC,KAAAnB,EACA,aAAAC,EAEA,SAAAmB,EAAAA,KAACC,EAAAA,cAAA,CACC,mBAAkBX,EAClB,gBAAAD,EACA,UAAAE,EACA,UAAAC,EACA,UAAWL,GAAS,QACpB,iBAAkBA,GAAS,QAE1B,SAAA,CAAAL,GACCe,EAAAA,IAACK,eAAA,CAAa,UAAWf,GAAS,OAChC,SAAAU,EAAAA,IAACM,EAAAA,YAAA,CAAY,UAAWhB,GAAS,MAAQ,SAAAL,CAAA,CAAM,EACjD,EAEFe,EAAAA,IAAC,MAAA,CAAI,UAAWV,GAAS,KAAO,SAAAD,EAAS,EACxCS,CAAA,CAAA,CAAA,CACH,CAAA,CAGN"}
|
|
@@ -1,55 +1,56 @@
|
|
|
1
|
-
import { jsxs as a, jsx as
|
|
1
|
+
import { jsxs as a, jsx as i } from "react/jsx-runtime";
|
|
2
2
|
import "class-variance-authority";
|
|
3
|
-
import { Button as
|
|
3
|
+
import { Button as t } from "./components-ui-button-button.js";
|
|
4
4
|
import "./components-ui-button-button.styles.js";
|
|
5
|
-
import { DialogFooter as
|
|
5
|
+
import { DialogFooter as k, Dialog as p, DialogContent as b, DialogHeader as g, DialogTitle as x } from "./components-ui-dialog-dialog.js";
|
|
6
6
|
const M = ({
|
|
7
|
-
open:
|
|
7
|
+
open: c,
|
|
8
8
|
onOpenChange: r,
|
|
9
9
|
title: e,
|
|
10
10
|
cancelLabel: d = "Отмена",
|
|
11
11
|
confirmLabel: n = "Ок",
|
|
12
12
|
onConfirm: m,
|
|
13
13
|
children: s,
|
|
14
|
-
classes:
|
|
14
|
+
classes: o,
|
|
15
15
|
footer: l,
|
|
16
16
|
showCloseButton: h = !1,
|
|
17
17
|
ariaDescribedby: f = void 0,
|
|
18
18
|
positionX: v,
|
|
19
19
|
positionY: C
|
|
20
20
|
}) => {
|
|
21
|
-
const
|
|
21
|
+
const N = () => {
|
|
22
22
|
r(!1);
|
|
23
|
-
},
|
|
23
|
+
}, y = () => {
|
|
24
24
|
m?.(), r(!1);
|
|
25
|
-
},
|
|
26
|
-
/* @__PURE__ */
|
|
27
|
-
|
|
25
|
+
}, D = l === void 0 ? /* @__PURE__ */ a(k, { className: o?.footer, children: [
|
|
26
|
+
/* @__PURE__ */ i(
|
|
27
|
+
t,
|
|
28
28
|
{
|
|
29
29
|
variant: "secondary",
|
|
30
|
-
onClick:
|
|
30
|
+
onClick: N,
|
|
31
31
|
children: d
|
|
32
32
|
}
|
|
33
33
|
),
|
|
34
|
-
/* @__PURE__ */
|
|
34
|
+
/* @__PURE__ */ i(t, { onClick: y, children: n })
|
|
35
35
|
] }) : l;
|
|
36
|
-
return /* @__PURE__ */
|
|
37
|
-
|
|
36
|
+
return /* @__PURE__ */ i(
|
|
37
|
+
p,
|
|
38
38
|
{
|
|
39
|
-
open:
|
|
39
|
+
open: c,
|
|
40
40
|
onOpenChange: r,
|
|
41
41
|
children: /* @__PURE__ */ a(
|
|
42
|
-
|
|
42
|
+
b,
|
|
43
43
|
{
|
|
44
44
|
"aria-describedby": f,
|
|
45
45
|
showCloseButton: h,
|
|
46
46
|
positionX: v,
|
|
47
47
|
positionY: C,
|
|
48
|
-
className:
|
|
48
|
+
className: o?.content,
|
|
49
|
+
overlayClassName: o?.overlay,
|
|
49
50
|
children: [
|
|
50
|
-
e && /* @__PURE__ */
|
|
51
|
-
/* @__PURE__ */
|
|
52
|
-
|
|
51
|
+
e && /* @__PURE__ */ i(g, { className: o?.header, children: /* @__PURE__ */ i(x, { className: o?.title, children: e }) }),
|
|
52
|
+
/* @__PURE__ */ i("div", { className: o?.body, children: s }),
|
|
53
|
+
D
|
|
53
54
|
]
|
|
54
55
|
}
|
|
55
56
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components-basic-modal-basic-modal.js","sources":["../src/components/basic-modal/basic-modal.tsx"],"sourcesContent":["import { type VariantProps } from \"class-variance-authority\";\nimport { Button } from \"../ui/button\";\nimport {\n Dialog,\n DialogContent,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"../ui/dialog\";\nimport type { dialogContentPositionVariants } from \"../ui/dialog/dialog.styles\";\n\ntype Props = {\n open: boolean;\n onOpenChange: (value: boolean) => void;\n title?: React.ReactNode | string;\n cancelLabel?: string;\n confirmLabel?: string;\n onConfirm?: () => void;\n classes?: {\n content?: string;\n header?: string;\n body?: string;\n footer?: string;\n title?: string;\n };\n children: React.ReactNode;\n footer?: React.ReactNode;\n showCloseButton?: boolean;\n ariaDescribedby?: string;\n} & VariantProps<typeof dialogContentPositionVariants>;\n\nexport const BasicModal = ({\n open,\n onOpenChange,\n title,\n cancelLabel = \"Отмена\",\n confirmLabel = \"Ок\",\n onConfirm,\n children,\n classes,\n footer,\n showCloseButton = false,\n ariaDescribedby = undefined,\n positionX,\n positionY,\n}: Props) => {\n const handleCancelClick = () => {\n onOpenChange(false);\n };\n\n const handleConfirmClick = () => {\n onConfirm?.();\n onOpenChange(false);\n };\n\n const resolvedFooter =\n footer === undefined ? (\n <DialogFooter className={classes?.footer}>\n <Button\n variant=\"secondary\"\n onClick={handleCancelClick}\n >\n {cancelLabel}\n </Button>\n <Button onClick={handleConfirmClick}>{confirmLabel}</Button>\n </DialogFooter>\n ) : (\n footer\n );\n\n return (\n <Dialog\n open={open}\n onOpenChange={onOpenChange}\n >\n <DialogContent\n aria-describedby={ariaDescribedby}\n showCloseButton={showCloseButton}\n positionX={positionX}\n positionY={positionY}\n className={classes?.content}\n >\n {title && (\n <DialogHeader className={classes?.header}>\n <DialogTitle className={classes?.title}>{title}</DialogTitle>\n </DialogHeader>\n )}\n <div className={classes?.body}>{children}</div>\n {resolvedFooter}\n </DialogContent>\n </Dialog>\n );\n};\n"],"names":["BasicModal","open","onOpenChange","title","cancelLabel","confirmLabel","onConfirm","children","classes","footer","showCloseButton","ariaDescribedby","positionX","positionY","handleCancelClick","handleConfirmClick","resolvedFooter","DialogFooter","jsx","Button","Dialog","jsxs","DialogContent","DialogHeader","DialogTitle"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"components-basic-modal-basic-modal.js","sources":["../src/components/basic-modal/basic-modal.tsx"],"sourcesContent":["import { type VariantProps } from \"class-variance-authority\";\nimport { Button } from \"../ui/button\";\nimport {\n Dialog,\n DialogContent,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"../ui/dialog\";\nimport type { dialogContentPositionVariants } from \"../ui/dialog/dialog.styles\";\n\ntype Props = {\n open: boolean;\n onOpenChange: (value: boolean) => void;\n title?: React.ReactNode | string;\n cancelLabel?: string;\n confirmLabel?: string;\n onConfirm?: () => void;\n classes?: {\n content?: string;\n header?: string;\n body?: string;\n footer?: string;\n title?: string;\n overlay?: string;\n };\n children: React.ReactNode;\n footer?: React.ReactNode;\n showCloseButton?: boolean;\n ariaDescribedby?: string;\n} & VariantProps<typeof dialogContentPositionVariants>;\n\nexport const BasicModal = ({\n open,\n onOpenChange,\n title,\n cancelLabel = \"Отмена\",\n confirmLabel = \"Ок\",\n onConfirm,\n children,\n classes,\n footer,\n showCloseButton = false,\n ariaDescribedby = undefined,\n positionX,\n positionY,\n}: Props) => {\n const handleCancelClick = () => {\n onOpenChange(false);\n };\n\n const handleConfirmClick = () => {\n onConfirm?.();\n onOpenChange(false);\n };\n\n const resolvedFooter =\n footer === undefined ? (\n <DialogFooter className={classes?.footer}>\n <Button\n variant=\"secondary\"\n onClick={handleCancelClick}\n >\n {cancelLabel}\n </Button>\n <Button onClick={handleConfirmClick}>{confirmLabel}</Button>\n </DialogFooter>\n ) : (\n footer\n );\n\n return (\n <Dialog\n open={open}\n onOpenChange={onOpenChange}\n >\n <DialogContent\n aria-describedby={ariaDescribedby}\n showCloseButton={showCloseButton}\n positionX={positionX}\n positionY={positionY}\n className={classes?.content}\n overlayClassName={classes?.overlay}\n >\n {title && (\n <DialogHeader className={classes?.header}>\n <DialogTitle className={classes?.title}>{title}</DialogTitle>\n </DialogHeader>\n )}\n <div className={classes?.body}>{children}</div>\n {resolvedFooter}\n </DialogContent>\n </Dialog>\n );\n};\n"],"names":["BasicModal","open","onOpenChange","title","cancelLabel","confirmLabel","onConfirm","children","classes","footer","showCloseButton","ariaDescribedby","positionX","positionY","handleCancelClick","handleConfirmClick","resolvedFooter","DialogFooter","jsx","Button","Dialog","jsxs","DialogContent","DialogHeader","DialogTitle"],"mappings":";;;;;AAgCO,MAAMA,IAAa,CAAC;AAAA,EACzB,MAAAC;AAAA,EACA,cAAAC;AAAA,EACA,OAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,cAAAC,IAAe;AAAA,EACf,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,iBAAAC,IAAkB;AAAA,EAClB,WAAAC;AAAA,EACA,WAAAC;AACF,MAAa;AACX,QAAMC,IAAoB,MAAM;AAC9B,IAAAZ,EAAa,EAAK;AAAA,EACpB,GAEMa,IAAqB,MAAM;AAC/B,IAAAT,IAAA,GACAJ,EAAa,EAAK;AAAA,EACpB,GAEMc,IACJP,MAAW,2BACRQ,GAAA,EAAa,WAAWT,GAAS,QAChC,UAAA;AAAA,IAAA,gBAAAU;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,SAAQ;AAAA,QACR,SAASL;AAAA,QAER,UAAAV;AAAA,MAAA;AAAA,IAAA;AAAA,IAEH,gBAAAc,EAACC,GAAA,EAAO,SAASJ,GAAqB,UAAAV,EAAA,CAAa;AAAA,EAAA,EAAA,CACrD,IAEAI;AAGJ,SACE,gBAAAS;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,MAAAnB;AAAA,MACA,cAAAC;AAAA,MAEA,UAAA,gBAAAmB;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,oBAAkBX;AAAA,UAClB,iBAAAD;AAAA,UACA,WAAAE;AAAA,UACA,WAAAC;AAAA,UACA,WAAWL,GAAS;AAAA,UACpB,kBAAkBA,GAAS;AAAA,UAE1B,UAAA;AAAA,YAAAL,KACC,gBAAAe,EAACK,GAAA,EAAa,WAAWf,GAAS,QAChC,UAAA,gBAAAU,EAACM,GAAA,EAAY,WAAWhB,GAAS,OAAQ,UAAAL,EAAA,CAAM,GACjD;AAAA,YAEF,gBAAAe,EAAC,OAAA,EAAI,WAAWV,GAAS,MAAO,UAAAD,GAAS;AAAA,YACxCS;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAGN;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components-card-info-card-info.cjs","sources":["../src/components/card-info/card-info.tsx"],"sourcesContent":["import type { VariantProps } from \"class-variance-authority\";\nimport { cn } from \"@/lib/utils\";\nimport { Card } from \"../ui/card\";\nimport { Typography } from \"../ui/typography\";\nimport {\n cardInfoContentVariants,\n cardInfoHeaderVariants,\n cardInfoLeftBorderVariants,\n cardInfoVariants,\n} from \"./card-info.styles\";\n\nexport interface CardInfoProps\n extends\n Omit<React.HTMLAttributes<HTMLDivElement>, \"title\" | \"className\">,\n VariantProps<typeof cardInfoHeaderVariants> {\n title
|
|
1
|
+
{"version":3,"file":"components-card-info-card-info.cjs","sources":["../src/components/card-info/card-info.tsx"],"sourcesContent":["import type { VariantProps } from \"class-variance-authority\";\nimport { cn } from \"@/lib/utils\";\nimport { Card } from \"../ui/card\";\nimport { Typography } from \"../ui/typography\";\nimport {\n cardInfoContentVariants,\n cardInfoHeaderVariants,\n cardInfoLeftBorderVariants,\n cardInfoVariants,\n} from \"./card-info.styles\";\n\nexport interface CardInfoProps\n extends\n Omit<React.HTMLAttributes<HTMLDivElement>, \"title\" | \"className\">,\n VariantProps<typeof cardInfoHeaderVariants> {\n title?: string;\n headerComponent?: React.ReactNode;\n children: React.ReactNode;\n className?: {\n borderLeft?: string;\n headerBackground?: string;\n card?: string;\n content?: string;\n };\n}\n\nexport const CardInfo = ({\n className,\n title,\n headerComponent,\n children,\n accent,\n size,\n ...props\n}: CardInfoProps) => {\n return (\n <Card\n className={cn(cardInfoVariants(), className?.card)}\n {...props}\n >\n <div\n className={cn(cardInfoLeftBorderVariants({ accent }), className?.borderLeft)}\n />\n\n <div\n className={cn(\n cardInfoHeaderVariants({ accent, size }),\n className?.headerBackground,\n )}\n >\n {headerComponent ? (\n headerComponent\n ) : (\n <Typography variant=\"body-lg-semibold\">{title}</Typography>\n )}\n </div>\n\n <div className={cn(cardInfoContentVariants(), className?.content)}>{children}</div>\n </Card>\n );\n};\n"],"names":["CardInfo","className","title","headerComponent","children","accent","size","props","jsxs","Card","cn","cardInfoVariants","jsx","cardInfoLeftBorderVariants","cardInfoHeaderVariants","Typography","cardInfoContentVariants"],"mappings":"+WA0BaA,EAAW,CAAC,CACvB,UAAAC,EACA,MAAAC,EACA,gBAAAC,EACA,SAAAC,EACA,OAAAC,EACA,KAAAC,EACA,GAAGC,CACL,IAEIC,EAAAA,KAACC,EAAAA,KAAA,CACC,UAAWC,EAAAA,GAAGC,EAAAA,mBAAoBV,GAAW,IAAI,EAChD,GAAGM,EAEJ,SAAA,CAAAK,EAAAA,IAAC,MAAA,CACC,UAAWF,EAAAA,GAAGG,EAAAA,2BAA2B,CAAE,OAAAR,EAAQ,EAAGJ,GAAW,UAAU,CAAA,CAAA,EAG7EW,EAAAA,IAAC,MAAA,CACC,UAAWF,EAAAA,GACTI,yBAAuB,CAAE,OAAAT,EAAQ,KAAAC,EAAM,EACvCL,GAAW,gBAAA,EAGZ,YAGCW,MAACG,EAAAA,WAAA,CAAW,QAAQ,mBAAoB,SAAAb,CAAA,CAAM,CAAA,CAAA,EAIlDU,MAAC,OAAI,UAAWF,EAAAA,GAAGM,EAAAA,0BAA2Bf,GAAW,OAAO,EAAI,SAAAG,CAAA,CAAS,CAAA,CAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components-card-info-card-info.js","sources":["../src/components/card-info/card-info.tsx"],"sourcesContent":["import type { VariantProps } from \"class-variance-authority\";\nimport { cn } from \"@/lib/utils\";\nimport { Card } from \"../ui/card\";\nimport { Typography } from \"../ui/typography\";\nimport {\n cardInfoContentVariants,\n cardInfoHeaderVariants,\n cardInfoLeftBorderVariants,\n cardInfoVariants,\n} from \"./card-info.styles\";\n\nexport interface CardInfoProps\n extends\n Omit<React.HTMLAttributes<HTMLDivElement>, \"title\" | \"className\">,\n VariantProps<typeof cardInfoHeaderVariants> {\n title
|
|
1
|
+
{"version":3,"file":"components-card-info-card-info.js","sources":["../src/components/card-info/card-info.tsx"],"sourcesContent":["import type { VariantProps } from \"class-variance-authority\";\nimport { cn } from \"@/lib/utils\";\nimport { Card } from \"../ui/card\";\nimport { Typography } from \"../ui/typography\";\nimport {\n cardInfoContentVariants,\n cardInfoHeaderVariants,\n cardInfoLeftBorderVariants,\n cardInfoVariants,\n} from \"./card-info.styles\";\n\nexport interface CardInfoProps\n extends\n Omit<React.HTMLAttributes<HTMLDivElement>, \"title\" | \"className\">,\n VariantProps<typeof cardInfoHeaderVariants> {\n title?: string;\n headerComponent?: React.ReactNode;\n children: React.ReactNode;\n className?: {\n borderLeft?: string;\n headerBackground?: string;\n card?: string;\n content?: string;\n };\n}\n\nexport const CardInfo = ({\n className,\n title,\n headerComponent,\n children,\n accent,\n size,\n ...props\n}: CardInfoProps) => {\n return (\n <Card\n className={cn(cardInfoVariants(), className?.card)}\n {...props}\n >\n <div\n className={cn(cardInfoLeftBorderVariants({ accent }), className?.borderLeft)}\n />\n\n <div\n className={cn(\n cardInfoHeaderVariants({ accent, size }),\n className?.headerBackground,\n )}\n >\n {headerComponent ? (\n headerComponent\n ) : (\n <Typography variant=\"body-lg-semibold\">{title}</Typography>\n )}\n </div>\n\n <div className={cn(cardInfoContentVariants(), className?.content)}>{children}</div>\n </Card>\n );\n};\n"],"names":["CardInfo","className","title","headerComponent","children","accent","size","props","jsxs","Card","cn","cardInfoVariants","jsx","cardInfoLeftBorderVariants","cardInfoHeaderVariants","Typography","cardInfoContentVariants"],"mappings":";;;;;;AA0BO,MAAMA,IAAW,CAAC;AAAA,EACvB,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,MAAAC;AAAA,EACA,GAAGC;AACL,MAEI,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,WAAWC,EAAGC,KAAoBV,GAAW,IAAI;AAAA,IAChD,GAAGM;AAAA,IAEJ,UAAA;AAAA,MAAA,gBAAAK;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWF,EAAGG,EAA2B,EAAE,QAAAR,GAAQ,GAAGJ,GAAW,UAAU;AAAA,QAAA;AAAA,MAAA;AAAA,MAG7E,gBAAAW;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWF;AAAA,YACTI,EAAuB,EAAE,QAAAT,GAAQ,MAAAC,GAAM;AAAA,YACvCL,GAAW;AAAA,UAAA;AAAA,UAGZ,eAGC,gBAAAW,EAACG,GAAA,EAAW,SAAQ,oBAAoB,UAAAb,EAAA,CAAM;AAAA,QAAA;AAAA,MAAA;AAAA,MAIlD,gBAAAU,EAAC,SAAI,WAAWF,EAAGM,KAA2Bf,GAAW,OAAO,GAAI,UAAAG,EAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAAA;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("react/jsx-runtime"),x=require("./utils-get-validation-state.cjs"),y=require("react"),a=require("./index.esm-ZdO9UZ3G.cjs"),R=require("./components-input-phone-input-phone.cjs"),j="+{7} (000) 000-00-00",A="+7 (000) 000-00-00",r=t=>t.replace(/\D/g,"").length>1,I=({name:t,rules:d,mask:p=j,placeholder:h=A,...o})=>{const[P,i]=y.useState(!1),{control:g,formState:{errors:S,touchedFields:f,isSubmitted:m}}=a.useFormContext();return l.jsx(a.Controller,{name:t,rules:d,control:g,render:({field:{onChange:u,onBlur:F,value:n="",ref:_}})=>{const s=typeof n=="string"?n:String(n??""),[E,q]=x.getValidationState(t,s,S,f,m),c=P||r(s);return l.jsx(R.InputPhone,{...o,name:t,mask:p,unmask:!1,lazy:!c,value:s,type:"tel",inputRef:_,onAccept:e=>{u(r(e)?e:"")},onFocus:e=>{i(!0),o.onFocus?.(e)},onBlur:e=>{r(e.currentTarget.value)||u(""),i(!1),F(),o.onBlur?.(e)},isValid:E,description:q,placeholder:c?void 0:h})}})};exports.FormInputPhone=I;
|
|
2
|
+
//# sourceMappingURL=components-forms-form-Input-phone.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-forms-form-Input-phone.cjs","sources":["../src/components/forms/form-Input-phone.tsx"],"sourcesContent":["import { getValidationState } from \"@/utils/get-validation-state\";\nimport { useState } from \"react\";\nimport { Controller, useFormContext, type RegisterOptions } from \"react-hook-form\";\nimport type { InputProps } from \"../input-field\";\nimport { InputPhone } from \"../input-phone\";\n\nconst PHONE_MASK_PATTERN = \"+{7} (000) 000-00-00\";\nconst PHONE_PLACEHOLDER = \"+7 (000) 000-00-00\";\nconst hasEnteredPhoneDigits = (value: string) => value.replace(/\\D/g, \"\").length > 1;\n\ntype Props = Omit<InputProps, \"value\" | \"onChange\" | \"ref\"> & {\n name: string;\n rules?: RegisterOptions;\n disabled?: boolean;\n mask?: string;\n};\n\n// TODO: Доделать\nexport const FormInputPhone = ({\n name,\n rules,\n mask = PHONE_MASK_PATTERN,\n placeholder = PHONE_PLACEHOLDER,\n ...rest\n}: Props) => {\n const [isFocused, setIsFocused] = useState(false);\n const {\n control,\n formState: { errors, touchedFields, isSubmitted },\n } = useFormContext();\n\n return (\n <Controller\n name={name}\n rules={rules}\n control={control}\n render={({ field: { onChange, onBlur, value = \"\", ref } }) => {\n const inputValue = typeof value === \"string\" ? value : String(value ?? \"\");\n const [isValid, errorMsg] = getValidationState(\n name,\n inputValue,\n errors,\n touchedFields,\n isSubmitted,\n );\n const shouldShowMask = isFocused || hasEnteredPhoneDigits(inputValue);\n\n return (\n <InputPhone\n {...rest}\n name={name}\n mask={mask}\n unmask={false}\n lazy={!shouldShowMask}\n value={inputValue}\n type=\"tel\"\n inputRef={ref}\n onAccept={(val: string) => {\n onChange(hasEnteredPhoneDigits(val) ? val : \"\");\n }}\n onFocus={(event: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(true);\n rest.onFocus?.(event);\n }}\n onBlur={(event: React.FocusEvent<HTMLInputElement>) => {\n if (!hasEnteredPhoneDigits(event.currentTarget.value)) {\n onChange(\"\");\n }\n setIsFocused(false);\n onBlur();\n rest.onBlur?.(event);\n }}\n isValid={isValid}\n description={errorMsg}\n placeholder={shouldShowMask ? undefined : placeholder}\n />\n );\n }}\n />\n );\n};\n"],"names":["PHONE_MASK_PATTERN","PHONE_PLACEHOLDER","hasEnteredPhoneDigits","value","FormInputPhone","name","rules","mask","placeholder","rest","isFocused","setIsFocused","useState","control","errors","touchedFields","isSubmitted","useFormContext","jsx","Controller","onChange","onBlur","ref","inputValue","isValid","errorMsg","getValidationState","shouldShowMask","InputPhone","val","event"],"mappings":"kRAMMA,EAAqB,uBACrBC,EAAoB,qBACpBC,EAAyBC,GAAkBA,EAAM,QAAQ,MAAO,EAAE,EAAE,OAAS,EAUtEC,EAAiB,CAAC,CAC7B,KAAAC,EACA,MAAAC,EACA,KAAAC,EAAOP,EACP,YAAAQ,EAAcP,EACd,GAAGQ,CACL,IAAa,CACX,KAAM,CAACC,EAAWC,CAAY,EAAIC,EAAAA,SAAS,EAAK,EAC1C,CACJ,QAAAC,EACA,UAAW,CAAE,OAAAC,EAAQ,cAAAC,EAAe,YAAAC,CAAA,CAAY,EAC9CC,iBAAA,EAEJ,OACEC,EAAAA,IAACC,EAAAA,WAAA,CACC,KAAAd,EACA,MAAAC,EACA,QAAAO,EACA,OAAQ,CAAC,CAAE,MAAO,CAAE,SAAAO,EAAU,OAAAC,EAAQ,MAAAlB,EAAQ,GAAI,IAAAmB,CAAA,KAAY,CAC5D,MAAMC,EAAa,OAAOpB,GAAU,SAAWA,EAAQ,OAAOA,GAAS,EAAE,EACnE,CAACqB,EAASC,CAAQ,EAAIC,EAAAA,mBAC1BrB,EACAkB,EACAT,EACAC,EACAC,CAAA,EAEIW,EAAiBjB,GAAaR,EAAsBqB,CAAU,EAEpE,OACEL,EAAAA,IAACU,EAAAA,WAAA,CACE,GAAGnB,EACJ,KAAAJ,EACA,KAAAE,EACA,OAAQ,GACR,KAAM,CAACoB,EACP,MAAOJ,EACP,KAAK,MACL,SAAUD,EACV,SAAWO,GAAgB,CACzBT,EAASlB,EAAsB2B,CAAG,EAAIA,EAAM,EAAE,CAChD,EACA,QAAUC,GAA8C,CACtDnB,EAAa,EAAI,EACjBF,EAAK,UAAUqB,CAAK,CACtB,EACA,OAASA,GAA8C,CAChD5B,EAAsB4B,EAAM,cAAc,KAAK,GAClDV,EAAS,EAAE,EAEbT,EAAa,EAAK,EAClBU,EAAA,EACAZ,EAAK,SAASqB,CAAK,CACrB,EACA,QAAAN,EACA,YAAaC,EACb,YAAaE,EAAiB,OAAYnB,CAAA,CAAA,CAGhD,CAAA,CAAA,CAGN"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import { getValidationState as x } from "./utils-get-validation-state.js";
|
|
3
|
+
import { useState as y } from "react";
|
|
4
|
+
import { a as C, C as D } from "./index.esm-CFsbc_Iq.js";
|
|
5
|
+
import { InputPhone as H } from "./components-input-phone-input-phone.js";
|
|
6
|
+
const I = "+{7} (000) 000-00-00", M = "+7 (000) 000-00-00", n = (t) => t.replace(/\D/g, "").length > 1, _ = ({
|
|
7
|
+
name: t,
|
|
8
|
+
rules: a,
|
|
9
|
+
mask: p = I,
|
|
10
|
+
placeholder: d = M,
|
|
11
|
+
...r
|
|
12
|
+
}) => {
|
|
13
|
+
const [f, i] = y(!1), {
|
|
14
|
+
control: m,
|
|
15
|
+
formState: { errors: h, touchedFields: g, isSubmitted: F }
|
|
16
|
+
} = C();
|
|
17
|
+
return /* @__PURE__ */ l(
|
|
18
|
+
D,
|
|
19
|
+
{
|
|
20
|
+
name: t,
|
|
21
|
+
rules: a,
|
|
22
|
+
control: m,
|
|
23
|
+
render: ({ field: { onChange: c, onBlur: P, value: e = "", ref: S } }) => {
|
|
24
|
+
const s = typeof e == "string" ? e : String(e ?? ""), [E, A] = x(
|
|
25
|
+
t,
|
|
26
|
+
s,
|
|
27
|
+
h,
|
|
28
|
+
g,
|
|
29
|
+
F
|
|
30
|
+
), u = f || n(s);
|
|
31
|
+
return /* @__PURE__ */ l(
|
|
32
|
+
H,
|
|
33
|
+
{
|
|
34
|
+
...r,
|
|
35
|
+
name: t,
|
|
36
|
+
mask: p,
|
|
37
|
+
unmask: !1,
|
|
38
|
+
lazy: !u,
|
|
39
|
+
value: s,
|
|
40
|
+
type: "tel",
|
|
41
|
+
inputRef: S,
|
|
42
|
+
onAccept: (o) => {
|
|
43
|
+
c(n(o) ? o : "");
|
|
44
|
+
},
|
|
45
|
+
onFocus: (o) => {
|
|
46
|
+
i(!0), r.onFocus?.(o);
|
|
47
|
+
},
|
|
48
|
+
onBlur: (o) => {
|
|
49
|
+
n(o.currentTarget.value) || c(""), i(!1), P(), r.onBlur?.(o);
|
|
50
|
+
},
|
|
51
|
+
isValid: E,
|
|
52
|
+
description: A,
|
|
53
|
+
placeholder: u ? void 0 : d
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
);
|
|
59
|
+
};
|
|
60
|
+
export {
|
|
61
|
+
_ as FormInputPhone
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=components-forms-form-Input-phone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-forms-form-Input-phone.js","sources":["../src/components/forms/form-Input-phone.tsx"],"sourcesContent":["import { getValidationState } from \"@/utils/get-validation-state\";\nimport { useState } from \"react\";\nimport { Controller, useFormContext, type RegisterOptions } from \"react-hook-form\";\nimport type { InputProps } from \"../input-field\";\nimport { InputPhone } from \"../input-phone\";\n\nconst PHONE_MASK_PATTERN = \"+{7} (000) 000-00-00\";\nconst PHONE_PLACEHOLDER = \"+7 (000) 000-00-00\";\nconst hasEnteredPhoneDigits = (value: string) => value.replace(/\\D/g, \"\").length > 1;\n\ntype Props = Omit<InputProps, \"value\" | \"onChange\" | \"ref\"> & {\n name: string;\n rules?: RegisterOptions;\n disabled?: boolean;\n mask?: string;\n};\n\n// TODO: Доделать\nexport const FormInputPhone = ({\n name,\n rules,\n mask = PHONE_MASK_PATTERN,\n placeholder = PHONE_PLACEHOLDER,\n ...rest\n}: Props) => {\n const [isFocused, setIsFocused] = useState(false);\n const {\n control,\n formState: { errors, touchedFields, isSubmitted },\n } = useFormContext();\n\n return (\n <Controller\n name={name}\n rules={rules}\n control={control}\n render={({ field: { onChange, onBlur, value = \"\", ref } }) => {\n const inputValue = typeof value === \"string\" ? value : String(value ?? \"\");\n const [isValid, errorMsg] = getValidationState(\n name,\n inputValue,\n errors,\n touchedFields,\n isSubmitted,\n );\n const shouldShowMask = isFocused || hasEnteredPhoneDigits(inputValue);\n\n return (\n <InputPhone\n {...rest}\n name={name}\n mask={mask}\n unmask={false}\n lazy={!shouldShowMask}\n value={inputValue}\n type=\"tel\"\n inputRef={ref}\n onAccept={(val: string) => {\n onChange(hasEnteredPhoneDigits(val) ? val : \"\");\n }}\n onFocus={(event: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(true);\n rest.onFocus?.(event);\n }}\n onBlur={(event: React.FocusEvent<HTMLInputElement>) => {\n if (!hasEnteredPhoneDigits(event.currentTarget.value)) {\n onChange(\"\");\n }\n setIsFocused(false);\n onBlur();\n rest.onBlur?.(event);\n }}\n isValid={isValid}\n description={errorMsg}\n placeholder={shouldShowMask ? undefined : placeholder}\n />\n );\n }}\n />\n );\n};\n"],"names":["PHONE_MASK_PATTERN","PHONE_PLACEHOLDER","hasEnteredPhoneDigits","value","FormInputPhone","name","rules","mask","placeholder","rest","isFocused","setIsFocused","useState","control","errors","touchedFields","isSubmitted","useFormContext","jsx","Controller","onChange","onBlur","ref","inputValue","isValid","errorMsg","getValidationState","shouldShowMask","InputPhone","val","event"],"mappings":";;;;;AAMA,MAAMA,IAAqB,wBACrBC,IAAoB,sBACpBC,IAAwB,CAACC,MAAkBA,EAAM,QAAQ,OAAO,EAAE,EAAE,SAAS,GAUtEC,IAAiB,CAAC;AAAA,EAC7B,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC,IAAOP;AAAA,EACP,aAAAQ,IAAcP;AAAA,EACd,GAAGQ;AACL,MAAa;AACX,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C;AAAA,IACJ,SAAAC;AAAA,IACA,WAAW,EAAE,QAAAC,GAAQ,eAAAC,GAAe,aAAAC,EAAA;AAAA,EAAY,IAC9CC,EAAA;AAEJ,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAd;AAAA,MACA,OAAAC;AAAA,MACA,SAAAO;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAAO,GAAU,QAAAC,GAAQ,OAAAlB,IAAQ,IAAI,KAAAmB,EAAA,QAAY;AAC5D,cAAMC,IAAa,OAAOpB,KAAU,WAAWA,IAAQ,OAAOA,KAAS,EAAE,GACnE,CAACqB,GAASC,CAAQ,IAAIC;AAAA,UAC1BrB;AAAA,UACAkB;AAAA,UACAT;AAAA,UACAC;AAAA,UACAC;AAAA,QAAA,GAEIW,IAAiBjB,KAAaR,EAAsBqB,CAAU;AAEpE,eACE,gBAAAL;AAAA,UAACU;AAAA,UAAA;AAAA,YACE,GAAGnB;AAAA,YACJ,MAAAJ;AAAA,YACA,MAAAE;AAAA,YACA,QAAQ;AAAA,YACR,MAAM,CAACoB;AAAA,YACP,OAAOJ;AAAA,YACP,MAAK;AAAA,YACL,UAAUD;AAAA,YACV,UAAU,CAACO,MAAgB;AACzB,cAAAT,EAASlB,EAAsB2B,CAAG,IAAIA,IAAM,EAAE;AAAA,YAChD;AAAA,YACA,SAAS,CAACC,MAA8C;AACtD,cAAAnB,EAAa,EAAI,GACjBF,EAAK,UAAUqB,CAAK;AAAA,YACtB;AAAA,YACA,QAAQ,CAACA,MAA8C;AACrD,cAAK5B,EAAsB4B,EAAM,cAAc,KAAK,KAClDV,EAAS,EAAE,GAEbT,EAAa,EAAK,GAClBU,EAAA,GACAZ,EAAK,SAASqB,CAAK;AAAA,YACrB;AAAA,YACA,SAAAN;AAAA,YACA,aAAaC;AAAA,YACb,aAAaE,IAAiB,SAAYnB;AAAA,UAAA;AAAA,QAAA;AAAA,MAGhD;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react/jsx-runtime"),e=require("./index.esm-ZdO9UZ3G.cjs"),l=require("./components-avatar-uploader-avatar-uploader.cjs"),u=({name:t,rules:o,...a})=>{const{control:n}=e.useFormContext();return r.jsx(e.Controller,{name:t,rules:o,control:n,render:({field:{onChange:s,value:c=""}})=>r.jsx(l.AvatarUpload,{...a,src:c,onChange:s})})};exports.FormAvatar=u;
|
|
2
|
+
//# sourceMappingURL=components-forms-form-avatar-uploader.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-forms-form-avatar-uploader.cjs","sources":["../src/components/forms/form-avatar-uploader.tsx"],"sourcesContent":["import { Controller, useFormContext, type RegisterOptions } from \"react-hook-form\";\nimport { AvatarUpload, type AvatarUploadProps } from \"../avatar-uploader\";\n\ntype Props = Omit<AvatarUploadProps, \"onChange\" | \"src\"> & {\n name: string;\n rules?: RegisterOptions;\n disabled?: boolean;\n};\n\nexport const FormAvatar = ({ name, rules, ...rest }: Props) => {\n const { control } = useFormContext();\n\n return (\n <Controller\n name={name}\n rules={rules}\n control={control}\n render={({ field: { onChange, value = \"\" } }) => {\n return (\n <AvatarUpload\n {...rest}\n src={value}\n onChange={onChange}\n />\n );\n }}\n />\n );\n};\n"],"names":["FormAvatar","name","rules","rest","control","useFormContext","jsx","Controller","onChange","value","AvatarUpload"],"mappings":"yNASaA,EAAa,CAAC,CAAE,KAAAC,EAAM,MAAAC,EAAO,GAAGC,KAAkB,CAC7D,KAAM,CAAE,QAAAC,CAAA,EAAYC,iBAAA,EAEpB,OACEC,EAAAA,IAACC,EAAAA,WAAA,CACC,KAAAN,EACA,MAAAC,EACA,QAAAE,EACA,OAAQ,CAAC,CAAE,MAAO,CAAE,SAAAI,EAAU,MAAAC,EAAQ,EAAA,KAElCH,EAAAA,IAACI,EAAAA,aAAA,CACE,GAAGP,EACJ,IAAKM,EACL,SAAAD,CAAA,CAAA,CAGN,CAAA,CAGN"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { a as s, C as l } from "./index.esm-CFsbc_Iq.js";
|
|
3
|
+
import { AvatarUpload as p } from "./components-avatar-uploader-avatar-uploader.js";
|
|
4
|
+
const d = ({ name: o, rules: t, ...e }) => {
|
|
5
|
+
const { control: a } = s();
|
|
6
|
+
return /* @__PURE__ */ r(
|
|
7
|
+
l,
|
|
8
|
+
{
|
|
9
|
+
name: o,
|
|
10
|
+
rules: t,
|
|
11
|
+
control: a,
|
|
12
|
+
render: ({ field: { onChange: m, value: n = "" } }) => /* @__PURE__ */ r(
|
|
13
|
+
p,
|
|
14
|
+
{
|
|
15
|
+
...e,
|
|
16
|
+
src: n,
|
|
17
|
+
onChange: m
|
|
18
|
+
}
|
|
19
|
+
)
|
|
20
|
+
}
|
|
21
|
+
);
|
|
22
|
+
};
|
|
23
|
+
export {
|
|
24
|
+
d as FormAvatar
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=components-forms-form-avatar-uploader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-forms-form-avatar-uploader.js","sources":["../src/components/forms/form-avatar-uploader.tsx"],"sourcesContent":["import { Controller, useFormContext, type RegisterOptions } from \"react-hook-form\";\nimport { AvatarUpload, type AvatarUploadProps } from \"../avatar-uploader\";\n\ntype Props = Omit<AvatarUploadProps, \"onChange\" | \"src\"> & {\n name: string;\n rules?: RegisterOptions;\n disabled?: boolean;\n};\n\nexport const FormAvatar = ({ name, rules, ...rest }: Props) => {\n const { control } = useFormContext();\n\n return (\n <Controller\n name={name}\n rules={rules}\n control={control}\n render={({ field: { onChange, value = \"\" } }) => {\n return (\n <AvatarUpload\n {...rest}\n src={value}\n onChange={onChange}\n />\n );\n }}\n />\n );\n};\n"],"names":["FormAvatar","name","rules","rest","control","useFormContext","jsx","Controller","onChange","value","AvatarUpload"],"mappings":";;;AASO,MAAMA,IAAa,CAAC,EAAE,MAAAC,GAAM,OAAAC,GAAO,GAAGC,QAAkB;AAC7D,QAAM,EAAE,SAAAC,EAAA,IAAYC,EAAA;AAEpB,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAAN;AAAA,MACA,OAAAC;AAAA,MACA,SAAAE;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAAI,GAAU,OAAAC,IAAQ,GAAA,QAElC,gBAAAH;AAAA,QAACI;AAAA,QAAA;AAAA,UACE,GAAGP;AAAA,UACJ,KAAKM;AAAA,UACL,UAAAD;AAAA,QAAA;AAAA,MAAA;AAAA,IAGN;AAAA,EAAA;AAGN;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),E=require("./utils-get-validation-state.cjs"),M=require("react"),d=require("./index.esm-ZdO9UZ3G.cjs"),T=require("./components-input-contact-input-contact.cjs"),V="+7 (000) 000-00-00",j=({name:e,rules:g,...s})=>{const[S,u]=M.useState(!1),{control:m,formState:{errors:c,touchedFields:f,isSubmitted:F},setValue:i,clearErrors:y}=d.useFormContext(),a=t=>t.replace(/\D/g,"").length>1,P=t=>{i(`${e}.type`,t),i(`${e}.value`,""),y()};return p.jsx(d.Controller,{name:`${e}.value`,rules:g,control:m,render:({field:{onChange:t,onBlur:h,value:n="",ref:l}})=>{const C=c[e].value?.message,r=typeof n=="string"?n:String(n??""),[_,q]=E.getValidationState(e,r,c,f,F,C),x=S||a(r);return p.jsx(T.InputContact,{...s,inputProps:{ref:l,onChange:t},inputPhoneProps:{mask:V,unmask:!1,lazy:!x,type:"tel",inputRef:l,onAccept:t,onFocus:o=>{u(!0),s.onFocus?.(o)},onBlur:o=>{a(o.currentTarget.value)||t(""),u(!1),h(),s.onBlur?.(o)}},onTypeChange:P,isValid:_,description:q,name:e,value:r})}})};exports.FormContactInput=j;
|
|
2
|
+
//# sourceMappingURL=components-forms-form-contact-input.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-forms-form-contact-input.cjs","sources":["../src/components/forms/form-contact-input.tsx"],"sourcesContent":["import { getValidationState } from \"@/utils/get-validation-state\";\nimport { useState } from \"react\";\n\nimport {\n Controller,\n useFormContext,\n type FieldError,\n type RegisterOptions,\n} from \"react-hook-form\";\nimport { InputContact, type TypesChange } from \"../input-contact\";\nimport type { InputProps } from \"../input-field\";\n\ntype Props = Omit<InputProps, \"value\" | \"onChange\" | \"ref\"> & {\n name: string;\n rules?: RegisterOptions;\n disabled?: boolean;\n};\n\nconst PHONE_MASK_PATTERN = \"+7 (000) 000-00-00\";\n\nexport const FormContactInput = ({ name, rules, ...rest }: Props) => {\n const [isFocused, setIsFocused] = useState(false);\n const {\n control,\n formState: { errors, touchedFields, isSubmitted },\n setValue,\n clearErrors,\n } = useFormContext();\n\n const hasEnteredPhoneDigits = (value: string) => value.replace(/\\D/g, \"\").length > 1;\n\n const onTypeChange = (newType: TypesChange) => {\n setValue(`${name}.type`, newType);\n setValue(`${name}.value`, \"\");\n clearErrors();\n };\n\n return (\n <Controller\n name={`${name}.value`}\n rules={rules}\n control={control}\n render={({ field: { onChange, onBlur, value = \"\", ref } }) => {\n const customErrMsg = (errors[name] as { value?: FieldError }).value?.message;\n\n const inputValue = typeof value === \"string\" ? value : String(value ?? \"\");\n const [isValid, errorMsg] = getValidationState(\n name,\n inputValue,\n errors,\n touchedFields,\n isSubmitted,\n customErrMsg,\n );\n const shouldShowMask = isFocused || hasEnteredPhoneDigits(inputValue);\n\n return (\n <InputContact\n {...rest}\n inputProps={{\n ref,\n onChange,\n }}\n inputPhoneProps={{\n mask: PHONE_MASK_PATTERN,\n unmask: false,\n lazy: !shouldShowMask,\n type: \"tel\",\n inputRef: ref,\n onAccept: onChange,\n onFocus: (event: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(true);\n rest.onFocus?.(event);\n },\n onBlur: (event: React.FocusEvent<HTMLInputElement>) => {\n if (!hasEnteredPhoneDigits(event.currentTarget.value)) {\n onChange(\"\");\n }\n setIsFocused(false);\n onBlur();\n rest.onBlur?.(event);\n },\n }}\n onTypeChange={onTypeChange}\n isValid={isValid}\n description={errorMsg}\n name={name}\n value={inputValue}\n />\n );\n }}\n />\n );\n};\n"],"names":["PHONE_MASK_PATTERN","FormContactInput","name","rules","rest","isFocused","setIsFocused","useState","control","errors","touchedFields","isSubmitted","setValue","clearErrors","useFormContext","hasEnteredPhoneDigits","value","onTypeChange","newType","jsx","Controller","onChange","onBlur","ref","customErrMsg","inputValue","isValid","errorMsg","getValidationState","shouldShowMask","InputContact","event"],"mappings":"sRAkBMA,EAAqB,qBAEdC,EAAmB,CAAC,CAAE,KAAAC,EAAM,MAAAC,EAAO,GAAGC,KAAkB,CACnE,KAAM,CAACC,EAAWC,CAAY,EAAIC,EAAAA,SAAS,EAAK,EAC1C,CACJ,QAAAC,EACA,UAAW,CAAE,OAAAC,EAAQ,cAAAC,EAAe,YAAAC,CAAA,EACpC,SAAAC,EACA,YAAAC,CAAA,EACEC,iBAAA,EAEEC,EAAyBC,GAAkBA,EAAM,QAAQ,MAAO,EAAE,EAAE,OAAS,EAE7EC,EAAgBC,GAAyB,CAC7CN,EAAS,GAAGV,CAAI,QAASgB,CAAO,EAChCN,EAAS,GAAGV,CAAI,SAAU,EAAE,EAC5BW,EAAA,CACF,EAEA,OACEM,EAAAA,IAACC,EAAAA,WAAA,CACC,KAAM,GAAGlB,CAAI,SACb,MAAAC,EACA,QAAAK,EACA,OAAQ,CAAC,CAAE,MAAO,CAAE,SAAAa,EAAU,OAAAC,EAAQ,MAAAN,EAAQ,GAAI,IAAAO,CAAA,KAAY,CAC5D,MAAMC,EAAgBf,EAAOP,CAAI,EAA6B,OAAO,QAE/DuB,EAAa,OAAOT,GAAU,SAAWA,EAAQ,OAAOA,GAAS,EAAE,EACnE,CAACU,EAASC,CAAQ,EAAIC,EAAAA,mBAC1B1B,EACAuB,EACAhB,EACAC,EACAC,EACAa,CAAA,EAEIK,EAAiBxB,GAAaU,EAAsBU,CAAU,EAEpE,OACEN,EAAAA,IAACW,EAAAA,aAAA,CACE,GAAG1B,EACJ,WAAY,CACV,IAAAmB,EACA,SAAAF,CAAA,EAEF,gBAAiB,CACf,KAAMrB,EACN,OAAQ,GACR,KAAM,CAAC6B,EACP,KAAM,MACN,SAAUN,EACV,SAAUF,EACV,QAAUU,GAA8C,CACtDzB,EAAa,EAAI,EACjBF,EAAK,UAAU2B,CAAK,CACtB,EACA,OAASA,GAA8C,CAChDhB,EAAsBgB,EAAM,cAAc,KAAK,GAClDV,EAAS,EAAE,EAEbf,EAAa,EAAK,EAClBgB,EAAA,EACAlB,EAAK,SAAS2B,CAAK,CACrB,CAAA,EAEF,aAAAd,EACA,QAAAS,EACA,YAAaC,EACb,KAAAzB,EACA,MAAOuB,CAAA,CAAA,CAGb,CAAA,CAAA,CAGN"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { jsx as p } from "react/jsx-runtime";
|
|
2
|
+
import { getValidationState as T } from "./utils-get-validation-state.js";
|
|
3
|
+
import { useState as V } from "react";
|
|
4
|
+
import { a as k, C as x } from "./index.esm-CFsbc_Iq.js";
|
|
5
|
+
import { InputContact as A } from "./components-input-contact-input-contact.js";
|
|
6
|
+
const I = "+7 (000) 000-00-00", R = ({ name: o, rules: m, ...s }) => {
|
|
7
|
+
const [d, u] = V(!1), {
|
|
8
|
+
control: f,
|
|
9
|
+
formState: { errors: c, touchedFields: g, isSubmitted: F },
|
|
10
|
+
setValue: i,
|
|
11
|
+
clearErrors: S
|
|
12
|
+
} = k(), a = (t) => t.replace(/\D/g, "").length > 1, h = (t) => {
|
|
13
|
+
i(`${o}.type`, t), i(`${o}.value`, ""), S();
|
|
14
|
+
};
|
|
15
|
+
return /* @__PURE__ */ p(
|
|
16
|
+
x,
|
|
17
|
+
{
|
|
18
|
+
name: `${o}.value`,
|
|
19
|
+
rules: m,
|
|
20
|
+
control: f,
|
|
21
|
+
render: ({ field: { onChange: t, onBlur: P, value: e = "", ref: l } }) => {
|
|
22
|
+
const y = c[o].value?.message, n = typeof e == "string" ? e : String(e ?? ""), [E, C] = T(
|
|
23
|
+
o,
|
|
24
|
+
n,
|
|
25
|
+
c,
|
|
26
|
+
g,
|
|
27
|
+
F,
|
|
28
|
+
y
|
|
29
|
+
), M = d || a(n);
|
|
30
|
+
return /* @__PURE__ */ p(
|
|
31
|
+
A,
|
|
32
|
+
{
|
|
33
|
+
...s,
|
|
34
|
+
inputProps: {
|
|
35
|
+
ref: l,
|
|
36
|
+
onChange: t
|
|
37
|
+
},
|
|
38
|
+
inputPhoneProps: {
|
|
39
|
+
mask: I,
|
|
40
|
+
unmask: !1,
|
|
41
|
+
lazy: !M,
|
|
42
|
+
type: "tel",
|
|
43
|
+
inputRef: l,
|
|
44
|
+
onAccept: t,
|
|
45
|
+
onFocus: (r) => {
|
|
46
|
+
u(!0), s.onFocus?.(r);
|
|
47
|
+
},
|
|
48
|
+
onBlur: (r) => {
|
|
49
|
+
a(r.currentTarget.value) || t(""), u(!1), P(), s.onBlur?.(r);
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
onTypeChange: h,
|
|
53
|
+
isValid: E,
|
|
54
|
+
description: C,
|
|
55
|
+
name: o,
|
|
56
|
+
value: n
|
|
57
|
+
}
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
};
|
|
63
|
+
export {
|
|
64
|
+
R as FormContactInput
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=components-forms-form-contact-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components-forms-form-contact-input.js","sources":["../src/components/forms/form-contact-input.tsx"],"sourcesContent":["import { getValidationState } from \"@/utils/get-validation-state\";\nimport { useState } from \"react\";\n\nimport {\n Controller,\n useFormContext,\n type FieldError,\n type RegisterOptions,\n} from \"react-hook-form\";\nimport { InputContact, type TypesChange } from \"../input-contact\";\nimport type { InputProps } from \"../input-field\";\n\ntype Props = Omit<InputProps, \"value\" | \"onChange\" | \"ref\"> & {\n name: string;\n rules?: RegisterOptions;\n disabled?: boolean;\n};\n\nconst PHONE_MASK_PATTERN = \"+7 (000) 000-00-00\";\n\nexport const FormContactInput = ({ name, rules, ...rest }: Props) => {\n const [isFocused, setIsFocused] = useState(false);\n const {\n control,\n formState: { errors, touchedFields, isSubmitted },\n setValue,\n clearErrors,\n } = useFormContext();\n\n const hasEnteredPhoneDigits = (value: string) => value.replace(/\\D/g, \"\").length > 1;\n\n const onTypeChange = (newType: TypesChange) => {\n setValue(`${name}.type`, newType);\n setValue(`${name}.value`, \"\");\n clearErrors();\n };\n\n return (\n <Controller\n name={`${name}.value`}\n rules={rules}\n control={control}\n render={({ field: { onChange, onBlur, value = \"\", ref } }) => {\n const customErrMsg = (errors[name] as { value?: FieldError }).value?.message;\n\n const inputValue = typeof value === \"string\" ? value : String(value ?? \"\");\n const [isValid, errorMsg] = getValidationState(\n name,\n inputValue,\n errors,\n touchedFields,\n isSubmitted,\n customErrMsg,\n );\n const shouldShowMask = isFocused || hasEnteredPhoneDigits(inputValue);\n\n return (\n <InputContact\n {...rest}\n inputProps={{\n ref,\n onChange,\n }}\n inputPhoneProps={{\n mask: PHONE_MASK_PATTERN,\n unmask: false,\n lazy: !shouldShowMask,\n type: \"tel\",\n inputRef: ref,\n onAccept: onChange,\n onFocus: (event: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(true);\n rest.onFocus?.(event);\n },\n onBlur: (event: React.FocusEvent<HTMLInputElement>) => {\n if (!hasEnteredPhoneDigits(event.currentTarget.value)) {\n onChange(\"\");\n }\n setIsFocused(false);\n onBlur();\n rest.onBlur?.(event);\n },\n }}\n onTypeChange={onTypeChange}\n isValid={isValid}\n description={errorMsg}\n name={name}\n value={inputValue}\n />\n );\n }}\n />\n );\n};\n"],"names":["PHONE_MASK_PATTERN","FormContactInput","name","rules","rest","isFocused","setIsFocused","useState","control","errors","touchedFields","isSubmitted","setValue","clearErrors","useFormContext","hasEnteredPhoneDigits","value","onTypeChange","newType","jsx","Controller","onChange","onBlur","ref","customErrMsg","inputValue","isValid","errorMsg","getValidationState","shouldShowMask","InputContact","event"],"mappings":";;;;;AAkBA,MAAMA,IAAqB,sBAEdC,IAAmB,CAAC,EAAE,MAAAC,GAAM,OAAAC,GAAO,GAAGC,QAAkB;AACnE,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C;AAAA,IACJ,SAAAC;AAAA,IACA,WAAW,EAAE,QAAAC,GAAQ,eAAAC,GAAe,aAAAC,EAAA;AAAA,IACpC,UAAAC;AAAA,IACA,aAAAC;AAAA,EAAA,IACEC,EAAA,GAEEC,IAAwB,CAACC,MAAkBA,EAAM,QAAQ,OAAO,EAAE,EAAE,SAAS,GAE7EC,IAAe,CAACC,MAAyB;AAC7C,IAAAN,EAAS,GAAGV,CAAI,SAASgB,CAAO,GAChCN,EAAS,GAAGV,CAAI,UAAU,EAAE,GAC5BW,EAAA;AAAA,EACF;AAEA,SACE,gBAAAM;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAM,GAAGlB,CAAI;AAAA,MACb,OAAAC;AAAA,MACA,SAAAK;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAAa,GAAU,QAAAC,GAAQ,OAAAN,IAAQ,IAAI,KAAAO,EAAA,QAAY;AAC5D,cAAMC,IAAgBf,EAAOP,CAAI,EAA6B,OAAO,SAE/DuB,IAAa,OAAOT,KAAU,WAAWA,IAAQ,OAAOA,KAAS,EAAE,GACnE,CAACU,GAASC,CAAQ,IAAIC;AAAA,UAC1B1B;AAAA,UACAuB;AAAA,UACAhB;AAAA,UACAC;AAAA,UACAC;AAAA,UACAa;AAAA,QAAA,GAEIK,IAAiBxB,KAAaU,EAAsBU,CAAU;AAEpE,eACE,gBAAAN;AAAA,UAACW;AAAA,UAAA;AAAA,YACE,GAAG1B;AAAA,YACJ,YAAY;AAAA,cACV,KAAAmB;AAAA,cACA,UAAAF;AAAA,YAAA;AAAA,YAEF,iBAAiB;AAAA,cACf,MAAMrB;AAAA,cACN,QAAQ;AAAA,cACR,MAAM,CAAC6B;AAAA,cACP,MAAM;AAAA,cACN,UAAUN;AAAA,cACV,UAAUF;AAAA,cACV,SAAS,CAACU,MAA8C;AACtD,gBAAAzB,EAAa,EAAI,GACjBF,EAAK,UAAU2B,CAAK;AAAA,cACtB;AAAA,cACA,QAAQ,CAACA,MAA8C;AACrD,gBAAKhB,EAAsBgB,EAAM,cAAc,KAAK,KAClDV,EAAS,EAAE,GAEbf,EAAa,EAAK,GAClBgB,EAAA,GACAlB,EAAK,SAAS2B,CAAK;AAAA,cACrB;AAAA,YAAA;AAAA,YAEF,cAAAd;AAAA,YACA,SAAAS;AAAA,YACA,aAAaC;AAAA,YACb,MAAAzB;AAAA,YACA,OAAOuB;AAAA,UAAA;AAAA,QAAA;AAAA,MAGb;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|