brd-ui-kit 0.1.80 → 0.1.82
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/brd-ui-kit.css +1 -1
- package/dist/calendar-PqChui7l.cjs.map +1 -1
- package/dist/calendar-XWqEaWHP.js.map +1 -1
- package/dist/components/approval-log/approval-log.d.ts +18 -0
- package/dist/components/approval-log/index.d.ts +1 -0
- package/dist/components/approval-log.d.ts +2 -0
- package/dist/components/basic-modal/basic-modal.d.ts +4 -2
- package/dist/components/story-drawer/index.d.ts +1 -0
- package/dist/components/story-drawer/story-drawer.d.ts +19 -0
- package/dist/components/story-drawer.d.ts +2 -0
- package/dist/components/transfer-list/index.d.ts +1 -1
- package/dist/components/transfer-list/transfer-list-card.d.ts +1 -1
- package/dist/components/ui/calendar/calendar.d.ts +1 -0
- package/dist/components/ui/calendar/index.d.ts +1 -1
- package/dist/components/ui/dialog/dialog.d.ts +4 -2
- package/dist/components/ui/dialog/dialog.styles.d.ts +6 -1
- package/dist/components-approval-log-approval-log.cjs +7 -0
- package/dist/components-approval-log-approval-log.cjs.map +1 -0
- package/dist/components-approval-log-approval-log.js +542 -0
- package/dist/components-approval-log-approval-log.js.map +1 -0
- package/dist/components-approval-log.cjs +2 -0
- package/dist/components-approval-log.cjs.map +1 -0
- package/dist/components-approval-log.js +5 -0
- package/dist/components-approval-log.js.map +1 -0
- package/dist/components-basic-avatar-basic-avatar.cjs +2 -2
- package/dist/components-basic-avatar-basic-avatar.cjs.map +1 -1
- package/dist/components-basic-avatar-basic-avatar.js +26 -23
- package/dist/components-basic-avatar-basic-avatar.js.map +1 -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 +30 -24
- package/dist/components-basic-modal-basic-modal.js.map +1 -1
- package/dist/components-input-contact-input-contact.cjs +3 -3
- package/dist/components-input-contact-input-contact.cjs.map +1 -1
- package/dist/components-input-contact-input-contact.js +8 -8
- package/dist/components-input-contact-input-contact.js.map +1 -1
- package/dist/components-story-drawer-story-drawer.cjs +3 -0
- package/dist/components-story-drawer-story-drawer.cjs.map +1 -0
- package/dist/components-story-drawer-story-drawer.js +207 -0
- package/dist/components-story-drawer-story-drawer.js.map +1 -0
- package/dist/components-story-drawer.cjs +2 -0
- package/dist/components-story-drawer.cjs.map +1 -0
- package/dist/components-story-drawer.js +5 -0
- package/dist/components-story-drawer.js.map +1 -0
- package/dist/components-transfer-list-transfer-list-card.cjs +4 -1
- package/dist/components-transfer-list-transfer-list-card.cjs.map +1 -1
- package/dist/components-transfer-list-transfer-list-card.js +190 -4
- package/dist/components-transfer-list-transfer-list-card.js.map +1 -1
- package/dist/components-transfer-list-transfer-list.cjs +1 -1
- package/dist/components-transfer-list-transfer-list.cjs.map +1 -1
- package/dist/components-transfer-list-transfer-list.js +32 -30
- package/dist/components-transfer-list-transfer-list.js.map +1 -1
- package/dist/components-ui-badge-badge.cjs.map +1 -1
- package/dist/components-ui-badge-badge.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 +49 -42
- package/dist/components-ui-dialog-dialog.js.map +1 -1
- package/dist/components-ui-dialog-dialog.styles.cjs +1 -1
- package/dist/components-ui-dialog-dialog.styles.cjs.map +1 -1
- package/dist/components-ui-dialog-dialog.styles.js +34 -17
- package/dist/components-ui-dialog-dialog.styles.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +27 -25
- package/dist/index.js +22 -20
- package/dist/index.js.map +1 -1
- package/package.json +19 -1
- package/dist/transfer-list-card-3JPB-sdd.js +0 -525
- package/dist/transfer-list-card-3JPB-sdd.js.map +0 -1
- package/dist/transfer-list-card-D2oGp-Rw.cjs +0 -28
- package/dist/transfer-list-card-D2oGp-Rw.cjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./brd-ui-kit.css');const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./brd-ui-kit.css');const r=require("react/jsx-runtime");;/* empty css */const q=require("./lib-utils.cjs");require("class-variance-authority");require("./components-ui-badge-badge.styles.cjs");require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");require("./components-ui-card-card.cjs");require("./components-ui-checkbox-checkbox.cjs");require("phosphor-strokes-icons/icons/CaretDown");require("react");require("./calendar-PqChui7l.cjs");const p=require("./components-ui-icon-icon.cjs");require("phosphor-strokes-icons/icons");require("./components-ui-combobox-combobox.cjs");require("./components-ui-dialog-dialog.cjs");require("./components-ui-label-label.cjs");require("./components-ui-separator-separator.cjs");require("./components-ui-field-field.styles.cjs");require("./components-ui-input-input.styles.cjs");require("./components-ui-textarea-textarea.cjs");require("./components-ui-input-group-input-group.styles.cjs");require("./components-ui-navigation-item-navigation-item.styles.cjs");require("./components-ui-navigation-menu-navigation-menu.styles.cjs");require("./components-ui-pagination-pagination.cjs");require("./components-ui-progress-progress.cjs");require("./components-ui-radio-group-radio-group.cjs");require("./components-ui-switch-switch.cjs");require("./components-ui-toggle-toggle.styles.cjs");require("./components-ui-toggle-group-toggle-group.cjs");require("./components-ui-table-table.cjs");require("./components-ui-tabs-tabs.cjs");require("./components-ui-tooltip-tooltip.cjs");const m=require("./components-ui-typography-typography.cjs");require("./components-ui-typography-typography.styles.cjs");const a=require("./components-ui-avatar-avatar.cjs");require("phosphor-strokes-icons/icons/CaretLeft");require("phosphor-strokes-icons/icons/CaretRight");require("./components-app-pagination-app-pagination.styles.cjs");require("phosphor-strokes-icons/icons/CaretUpDown");require("./components-app-sidebar-app-sidebar.styles.cjs");require("./components-data-table-data-table.styles.cjs");require("./components-ui-dropdown-menu-dropdown-menu.styles.cjs");require("phosphor-strokes-icons/icons/Eye");require("phosphor-strokes-icons/icons/EyeSlash");require("./components-select-field-select-field.cjs");require("./lodash-kqhtUJfz.cjs");require("./chart-9H_9wEfR.cjs");require("phosphor-strokes-icons/icons/CheckCircle");require("phosphor-strokes-icons/icons/Info");require("phosphor-strokes-icons/icons/SpinnerGap");require("phosphor-strokes-icons/icons/Warning");require("phosphor-strokes-icons/icons/X");require("phosphor-strokes-icons/icons/XCircle");require("./index-DGxwh2Ms.cjs");require("./index-fTTv8YY8.cjs");require("phosphor-strokes-icons/icons/Plus");require("phosphor-strokes-icons/icons/CaretUp");require("phosphor-strokes-icons/icons/EnvelopeSimple");require("phosphor-strokes-icons/icons/MaxLogo");require("phosphor-strokes-icons/icons/Phone");require("phosphor-strokes-icons/icons/TelegramLogo");require("phosphor-strokes-icons/icons/WhatsAppLogoFilled");require("./components-input-phone-input-phone.cjs");require("./components-card-info-card-info.styles.cjs");const x=t=>{const e=t.trim();if(!e)return"";const[i="",u=""]=e.split(/\s+/);return i&&u?`${i[0].toUpperCase()}${u[0].toUpperCase()}`:e.length<=2?e.toUpperCase():i[0].toUpperCase()},y=({initials:t,avatar:e,fallback:i,image:u,icon:n,showDeleteOnHover:o=!0,onClick:c=()=>{}})=>{const s=r.jsxs(a.Avatar,{...e,className:q.cn("h-18 w-18",e?.className),children:[r.jsx(a.AvatarImage,{...u,alt:"avatar",className:q.cn("h-full w-full border-0",u?.className)}),r.jsx(a.AvatarFallback,{...i,children:r.jsx(m.Typography,{variant:"body-xxl-medium",className:q.cn("text-info-new-text",t?.className),children:x(t?.text??"")})})]});return o?r.jsxs("div",{className:"relative inline-block",children:[s,r.jsx("div",{className:`text-primary-bg bg-primary-inverse-bg/50 absolute inset-0 flex
|
|
2
2
|
cursor-pointer items-center justify-center rounded-full opacity-0
|
|
3
|
-
transition-opacity hover:opacity-100`,onClick:l=>l.stopPropagation(),children:
|
|
3
|
+
transition-opacity hover:opacity-100`,onClick:l=>l.stopPropagation(),children:r.jsx(p.Icon,{...n,type:"x",onClick:c})})]}):s};exports.BasicAvatar=y;
|
|
4
4
|
//# sourceMappingURL=components-basic-avatar-basic-avatar.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components-basic-avatar-basic-avatar.cjs","sources":["../src/components/basic-avatar/basic-avatar.tsx"],"sourcesContent":["import { Icon, Typography, cn } from \"@/index\";\nimport type { Avatar as AvatarPrimitive } from \"radix-ui\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"../ui/avatar\";\nimport type { IconProps } from \"../ui/icon\";\n\ntype AvatarProps = React.ComponentProps<typeof AvatarPrimitive.Root> & {\n size?: \"default\" | \"sm\" | \"lg\";\n};\ntype AvatarFallbackProps = React.ComponentProps<typeof AvatarPrimitive.Fallback>;\ntype AvatarImageProps = React.ComponentProps<typeof AvatarPrimitive.Image>;\n\ntype Props = {\n initials?: {\n text?: string;\n className?: string;\n };\n hasBadge?: boolean;\n avatar?: AvatarProps;\n fallback?: AvatarFallbackProps;\n image?: AvatarImageProps;\n showDeleteOnHover?: boolean;\n icon?: IconProps;\n onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;\n};\n\nconst getInitials = (fullName: string): string => {\n const
|
|
1
|
+
{"version":3,"file":"components-basic-avatar-basic-avatar.cjs","sources":["../src/components/basic-avatar/basic-avatar.tsx"],"sourcesContent":["import { Icon, Typography, cn } from \"@/index\";\nimport type { Avatar as AvatarPrimitive } from \"radix-ui\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"../ui/avatar\";\nimport type { IconProps } from \"../ui/icon\";\n\ntype AvatarProps = React.ComponentProps<typeof AvatarPrimitive.Root> & {\n size?: \"default\" | \"sm\" | \"lg\";\n};\ntype AvatarFallbackProps = React.ComponentProps<typeof AvatarPrimitive.Fallback>;\ntype AvatarImageProps = React.ComponentProps<typeof AvatarPrimitive.Image>;\n\ntype Props = {\n initials?: {\n text?: string;\n className?: string;\n };\n hasBadge?: boolean;\n avatar?: AvatarProps;\n fallback?: AvatarFallbackProps;\n image?: AvatarImageProps;\n showDeleteOnHover?: boolean;\n icon?: IconProps;\n onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;\n};\n\nconst getInitials = (fullName: string): string => {\n const normalizedName = fullName.trim();\n\n if (!normalizedName) {\n return \"\";\n }\n\n const [firstName = \"\", lastName = \"\"] = normalizedName.split(/\\s+/);\n\n if (firstName && lastName) {\n return `${firstName[0].toUpperCase()}${lastName[0].toUpperCase()}`;\n }\n\n if (normalizedName.length <= 2) {\n return normalizedName.toUpperCase();\n }\n\n return firstName[0].toUpperCase();\n};\n\nexport const BasicAvatar = ({\n initials,\n avatar,\n fallback,\n image,\n icon,\n showDeleteOnHover = true,\n onClick = () => {},\n}: Props) => {\n const content = (\n <Avatar\n {...avatar}\n className={cn(\"h-18 w-18\", avatar?.className)}\n >\n <AvatarImage\n {...image}\n alt=\"avatar\"\n className={cn(\"h-full w-full border-0\", image?.className)}\n />\n <AvatarFallback {...fallback}>\n <Typography\n variant=\"body-xxl-medium\"\n className={cn(\"text-info-new-text\", initials?.className)}\n >\n {getInitials(initials?.text ?? \"\")}\n </Typography>\n </AvatarFallback>\n </Avatar>\n );\n\n if (!showDeleteOnHover) {\n return content;\n }\n\n return (\n <div className=\"relative inline-block\">\n {content}\n <div\n className=\"text-primary-bg bg-primary-inverse-bg/50 absolute inset-0 flex\n cursor-pointer items-center justify-center rounded-full opacity-0\n transition-opacity hover:opacity-100\"\n onClick={(e) => e.stopPropagation()}\n >\n <Icon\n {...icon}\n type=\"x\"\n onClick={onClick}\n />\n </div>\n </div>\n );\n};\n\nexport type {\n AvatarFallbackProps,\n AvatarImageProps,\n AvatarProps,\n Props as BasicAvatarProps,\n};\n"],"names":["getInitials","fullName","normalizedName","firstName","lastName","BasicAvatar","initials","avatar","fallback","image","icon","showDeleteOnHover","onClick","content","jsxs","Avatar","cn","jsx","AvatarImage","AvatarFallback","Typography","e","Icon"],"mappings":"4pGAyBA,MAAMA,EAAeC,GAA6B,CAChD,MAAMC,EAAiBD,EAAS,KAAA,EAEhC,GAAI,CAACC,EACH,MAAO,GAGT,KAAM,CAACC,EAAY,GAAIC,EAAW,EAAE,EAAIF,EAAe,MAAM,KAAK,EAElE,OAAIC,GAAaC,EACR,GAAGD,EAAU,CAAC,EAAE,YAAA,CAAa,GAAGC,EAAS,CAAC,EAAE,YAAA,CAAa,GAG9DF,EAAe,QAAU,EACpBA,EAAe,YAAA,EAGjBC,EAAU,CAAC,EAAE,YAAA,CACtB,EAEaE,EAAc,CAAC,CAC1B,SAAAC,EACA,OAAAC,EACA,SAAAC,EACA,MAAAC,EACA,KAAAC,EACA,kBAAAC,EAAoB,GACpB,QAAAC,EAAU,IAAM,CAAC,CACnB,IAAa,CACX,MAAMC,EACJC,EAAAA,KAACC,EAAAA,OAAA,CACE,GAAGR,EACJ,UAAWS,EAAAA,GAAG,YAAaT,GAAQ,SAAS,EAE5C,SAAA,CAAAU,EAAAA,IAACC,EAAAA,YAAA,CACE,GAAGT,EACJ,IAAI,SACJ,UAAWO,EAAAA,GAAG,yBAA0BP,GAAO,SAAS,CAAA,CAAA,EAE1DQ,EAAAA,IAACE,EAAAA,eAAA,CAAgB,GAAGX,EAClB,SAAAS,EAAAA,IAACG,EAAAA,WAAA,CACC,QAAQ,kBACR,UAAWJ,EAAAA,GAAG,qBAAsBV,GAAU,SAAS,EAEtD,SAAAN,EAAYM,GAAU,MAAQ,EAAE,CAAA,CAAA,CACnC,CACF,CAAA,CAAA,CAAA,EAIJ,OAAKK,EAKHG,EAAAA,KAAC,MAAA,CAAI,UAAU,wBACZ,SAAA,CAAAD,EACDI,EAAAA,IAAC,MAAA,CACC,UAAU;AAAA;AAAA,gDAGV,QAAUI,GAAMA,EAAE,gBAAA,EAElB,SAAAJ,EAAAA,IAACK,EAAAA,KAAA,CACE,GAAGZ,EACJ,KAAK,IACL,QAAAE,CAAA,CAAA,CACF,CAAA,CACF,EACF,EAlBOC,CAoBX"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { jsxs as a, jsx as
|
|
1
|
+
import { jsxs as a, jsx as i } from "react/jsx-runtime";
|
|
2
2
|
import './brd-ui-kit.css';/* empty css */
|
|
3
|
-
import { cn as
|
|
3
|
+
import { cn as p } from "./lib-utils.js";
|
|
4
4
|
import "class-variance-authority";
|
|
5
5
|
import "./components-ui-badge-badge.styles.js";
|
|
6
6
|
import "./components-ui-button-button.js";
|
|
@@ -31,9 +31,9 @@ import "./components-ui-toggle-group-toggle-group.js";
|
|
|
31
31
|
import "./components-ui-table-table.js";
|
|
32
32
|
import "./components-ui-tabs-tabs.js";
|
|
33
33
|
import "./components-ui-tooltip-tooltip.js";
|
|
34
|
-
import { Typography as
|
|
34
|
+
import { Typography as u } from "./components-ui-typography-typography.js";
|
|
35
35
|
import "./components-ui-typography-typography.styles.js";
|
|
36
|
-
import { Avatar as
|
|
36
|
+
import { Avatar as d, AvatarImage as x, AvatarFallback as N } from "./components-ui-avatar-avatar.js";
|
|
37
37
|
import "phosphor-strokes-icons/icons/CaretLeft";
|
|
38
38
|
import "phosphor-strokes-icons/icons/CaretRight";
|
|
39
39
|
import "./components-app-pagination-app-pagination.styles.js";
|
|
@@ -63,39 +63,42 @@ import "phosphor-strokes-icons/icons/TelegramLogo";
|
|
|
63
63
|
import "phosphor-strokes-icons/icons/WhatsAppLogoFilled";
|
|
64
64
|
import "./components-input-phone-input-phone.js";
|
|
65
65
|
import "./components-card-info-card-info.styles.js";
|
|
66
|
-
const
|
|
67
|
-
const
|
|
68
|
-
|
|
66
|
+
const h = (m) => {
|
|
67
|
+
const t = m.trim();
|
|
68
|
+
if (!t)
|
|
69
|
+
return "";
|
|
70
|
+
const [r = "", o = ""] = t.split(/\s+/);
|
|
71
|
+
return r && o ? `${r[0].toUpperCase()}${o[0].toUpperCase()}` : t.length <= 2 ? t.toUpperCase() : r[0].toUpperCase();
|
|
69
72
|
}, $t = ({
|
|
70
|
-
initials:
|
|
71
|
-
avatar:
|
|
72
|
-
fallback:
|
|
73
|
-
image:
|
|
73
|
+
initials: m,
|
|
74
|
+
avatar: t,
|
|
75
|
+
fallback: r,
|
|
76
|
+
image: o,
|
|
74
77
|
icon: s,
|
|
75
78
|
showDeleteOnHover: n = !0,
|
|
76
79
|
onClick: l = () => {
|
|
77
80
|
}
|
|
78
81
|
}) => {
|
|
79
82
|
const e = /* @__PURE__ */ a(
|
|
80
|
-
|
|
83
|
+
d,
|
|
81
84
|
{
|
|
82
|
-
...
|
|
83
|
-
className:
|
|
85
|
+
...t,
|
|
86
|
+
className: p("h-18 w-18", t?.className),
|
|
84
87
|
children: [
|
|
85
|
-
/* @__PURE__ */
|
|
88
|
+
/* @__PURE__ */ i(
|
|
86
89
|
x,
|
|
87
90
|
{
|
|
88
|
-
...
|
|
91
|
+
...o,
|
|
89
92
|
alt: "avatar",
|
|
90
|
-
className:
|
|
93
|
+
className: p("h-full w-full border-0", o?.className)
|
|
91
94
|
}
|
|
92
95
|
),
|
|
93
|
-
/* @__PURE__ */
|
|
94
|
-
|
|
96
|
+
/* @__PURE__ */ i(N, { ...r, children: /* @__PURE__ */ i(
|
|
97
|
+
u,
|
|
95
98
|
{
|
|
96
99
|
variant: "body-xxl-medium",
|
|
97
|
-
className:
|
|
98
|
-
children:
|
|
100
|
+
className: p("text-info-new-text", m?.className),
|
|
101
|
+
children: h(m?.text ?? "")
|
|
99
102
|
}
|
|
100
103
|
) })
|
|
101
104
|
]
|
|
@@ -103,14 +106,14 @@ const y = (r) => {
|
|
|
103
106
|
);
|
|
104
107
|
return n ? /* @__PURE__ */ a("div", { className: "relative inline-block", children: [
|
|
105
108
|
e,
|
|
106
|
-
/* @__PURE__ */
|
|
109
|
+
/* @__PURE__ */ i(
|
|
107
110
|
"div",
|
|
108
111
|
{
|
|
109
112
|
className: `text-primary-bg bg-primary-inverse-bg/50 absolute inset-0 flex
|
|
110
113
|
cursor-pointer items-center justify-center rounded-full opacity-0
|
|
111
114
|
transition-opacity hover:opacity-100`,
|
|
112
115
|
onClick: (c) => c.stopPropagation(),
|
|
113
|
-
children: /* @__PURE__ */
|
|
116
|
+
children: /* @__PURE__ */ i(
|
|
114
117
|
f,
|
|
115
118
|
{
|
|
116
119
|
...s,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components-basic-avatar-basic-avatar.js","sources":["../src/components/basic-avatar/basic-avatar.tsx"],"sourcesContent":["import { Icon, Typography, cn } from \"@/index\";\nimport type { Avatar as AvatarPrimitive } from \"radix-ui\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"../ui/avatar\";\nimport type { IconProps } from \"../ui/icon\";\n\ntype AvatarProps = React.ComponentProps<typeof AvatarPrimitive.Root> & {\n size?: \"default\" | \"sm\" | \"lg\";\n};\ntype AvatarFallbackProps = React.ComponentProps<typeof AvatarPrimitive.Fallback>;\ntype AvatarImageProps = React.ComponentProps<typeof AvatarPrimitive.Image>;\n\ntype Props = {\n initials?: {\n text?: string;\n className?: string;\n };\n hasBadge?: boolean;\n avatar?: AvatarProps;\n fallback?: AvatarFallbackProps;\n image?: AvatarImageProps;\n showDeleteOnHover?: boolean;\n icon?: IconProps;\n onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;\n};\n\nconst getInitials = (fullName: string): string => {\n const
|
|
1
|
+
{"version":3,"file":"components-basic-avatar-basic-avatar.js","sources":["../src/components/basic-avatar/basic-avatar.tsx"],"sourcesContent":["import { Icon, Typography, cn } from \"@/index\";\nimport type { Avatar as AvatarPrimitive } from \"radix-ui\";\nimport { Avatar, AvatarFallback, AvatarImage } from \"../ui/avatar\";\nimport type { IconProps } from \"../ui/icon\";\n\ntype AvatarProps = React.ComponentProps<typeof AvatarPrimitive.Root> & {\n size?: \"default\" | \"sm\" | \"lg\";\n};\ntype AvatarFallbackProps = React.ComponentProps<typeof AvatarPrimitive.Fallback>;\ntype AvatarImageProps = React.ComponentProps<typeof AvatarPrimitive.Image>;\n\ntype Props = {\n initials?: {\n text?: string;\n className?: string;\n };\n hasBadge?: boolean;\n avatar?: AvatarProps;\n fallback?: AvatarFallbackProps;\n image?: AvatarImageProps;\n showDeleteOnHover?: boolean;\n icon?: IconProps;\n onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;\n};\n\nconst getInitials = (fullName: string): string => {\n const normalizedName = fullName.trim();\n\n if (!normalizedName) {\n return \"\";\n }\n\n const [firstName = \"\", lastName = \"\"] = normalizedName.split(/\\s+/);\n\n if (firstName && lastName) {\n return `${firstName[0].toUpperCase()}${lastName[0].toUpperCase()}`;\n }\n\n if (normalizedName.length <= 2) {\n return normalizedName.toUpperCase();\n }\n\n return firstName[0].toUpperCase();\n};\n\nexport const BasicAvatar = ({\n initials,\n avatar,\n fallback,\n image,\n icon,\n showDeleteOnHover = true,\n onClick = () => {},\n}: Props) => {\n const content = (\n <Avatar\n {...avatar}\n className={cn(\"h-18 w-18\", avatar?.className)}\n >\n <AvatarImage\n {...image}\n alt=\"avatar\"\n className={cn(\"h-full w-full border-0\", image?.className)}\n />\n <AvatarFallback {...fallback}>\n <Typography\n variant=\"body-xxl-medium\"\n className={cn(\"text-info-new-text\", initials?.className)}\n >\n {getInitials(initials?.text ?? \"\")}\n </Typography>\n </AvatarFallback>\n </Avatar>\n );\n\n if (!showDeleteOnHover) {\n return content;\n }\n\n return (\n <div className=\"relative inline-block\">\n {content}\n <div\n className=\"text-primary-bg bg-primary-inverse-bg/50 absolute inset-0 flex\n cursor-pointer items-center justify-center rounded-full opacity-0\n transition-opacity hover:opacity-100\"\n onClick={(e) => e.stopPropagation()}\n >\n <Icon\n {...icon}\n type=\"x\"\n onClick={onClick}\n />\n </div>\n </div>\n );\n};\n\nexport type {\n AvatarFallbackProps,\n AvatarImageProps,\n AvatarProps,\n Props as BasicAvatarProps,\n};\n"],"names":["getInitials","fullName","normalizedName","firstName","lastName","BasicAvatar","initials","avatar","fallback","image","icon","showDeleteOnHover","onClick","content","jsxs","Avatar","cn","jsx","AvatarImage","AvatarFallback","Typography","e","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,MAAMA,IAAc,CAACC,MAA6B;AAChD,QAAMC,IAAiBD,EAAS,KAAA;AAEhC,MAAI,CAACC;AACH,WAAO;AAGT,QAAM,CAACC,IAAY,IAAIC,IAAW,EAAE,IAAIF,EAAe,MAAM,KAAK;AAElE,SAAIC,KAAaC,IACR,GAAGD,EAAU,CAAC,EAAE,YAAA,CAAa,GAAGC,EAAS,CAAC,EAAE,YAAA,CAAa,KAG9DF,EAAe,UAAU,IACpBA,EAAe,YAAA,IAGjBC,EAAU,CAAC,EAAE,YAAA;AACtB,GAEaE,KAAc,CAAC;AAAA,EAC1B,UAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,mBAAAC,IAAoB;AAAA,EACpB,SAAAC,IAAU,MAAM;AAAA,EAAC;AACnB,MAAa;AACX,QAAMC,IACJ,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACE,GAAGR;AAAA,MACJ,WAAWS,EAAG,aAAaT,GAAQ,SAAS;AAAA,MAE5C,UAAA;AAAA,QAAA,gBAAAU;AAAA,UAACC;AAAA,UAAA;AAAA,YACE,GAAGT;AAAA,YACJ,KAAI;AAAA,YACJ,WAAWO,EAAG,0BAA0BP,GAAO,SAAS;AAAA,UAAA;AAAA,QAAA;AAAA,QAE1D,gBAAAQ,EAACE,GAAA,EAAgB,GAAGX,GAClB,UAAA,gBAAAS;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,SAAQ;AAAA,YACR,WAAWJ,EAAG,sBAAsBV,GAAU,SAAS;AAAA,YAEtD,UAAAN,EAAYM,GAAU,QAAQ,EAAE;AAAA,UAAA;AAAA,QAAA,EACnC,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIJ,SAAKK,IAKH,gBAAAG,EAAC,OAAA,EAAI,WAAU,yBACZ,UAAA;AAAA,IAAAD;AAAA,IACD,gBAAAI;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA;AAAA;AAAA,QAGV,SAAS,CAACI,MAAMA,EAAE,gBAAA;AAAA,QAElB,UAAA,gBAAAJ;AAAA,UAACK;AAAA,UAAA;AAAA,YACE,GAAGZ;AAAA,YACJ,MAAK;AAAA,YACL,SAAAE;AAAA,UAAA;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EACF,GACF,IAlBOC;AAoBX;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime")
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime");require("class-variance-authority");const n=require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");const i=require("./components-ui-dialog-dialog.cjs"),_=({open:a,onOpenChange:r,title:t,cancelLabel:c="Отмена",confirmLabel:s="Ок",onConfirm:d,children:u,classes:o,footer:l,showCloseButton:j=!1,ariaDescribedby:m=void 0,positionX:x,positionY:h})=>{const b=()=>{r(!1)},g=()=>{d?.(),r(!1)},v=l===void 0?e.jsxs(i.DialogFooter,{className:o?.footer,children:[e.jsx(n.Button,{variant:"secondary",onClick:b,children:c}),e.jsx(n.Button,{onClick:g,children:s})]}):l;return e.jsx(i.Dialog,{open:a,onOpenChange:r,children:e.jsxs(i.DialogContent,{"aria-describedby":m,showCloseButton:j,positionX:x,positionY:h,className:o?.content,children:[t&&e.jsx(i.DialogHeader,{className:o?.header,children:e.jsx(i.DialogTitle,{className:o?.title,children:t})}),e.jsx("div",{className:o?.body,children:u}),v]})})};exports.BasicModal=_;
|
|
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 { Button } from \"../ui/button\";\nimport {\n Dialog,\n DialogContent,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"../ui/dialog\";\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}
|
|
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":"uTA+BaA,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,QAEnB,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,49 +1,55 @@
|
|
|
1
1
|
import { jsxs as a, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import "class-variance-authority";
|
|
2
3
|
import { Button as c } from "./components-ui-button-button.js";
|
|
3
4
|
import "./components-ui-button-button.styles.js";
|
|
4
|
-
import { DialogFooter as
|
|
5
|
-
const
|
|
6
|
-
open:
|
|
5
|
+
import { DialogFooter as p, Dialog as b, DialogContent as g, DialogHeader as x, DialogTitle as y } from "./components-ui-dialog-dialog.js";
|
|
6
|
+
const M = ({
|
|
7
|
+
open: t,
|
|
7
8
|
onOpenChange: r,
|
|
8
|
-
title:
|
|
9
|
-
cancelLabel:
|
|
9
|
+
title: e,
|
|
10
|
+
cancelLabel: d = "Отмена",
|
|
10
11
|
confirmLabel: n = "Ок",
|
|
11
|
-
onConfirm:
|
|
12
|
-
children:
|
|
12
|
+
onConfirm: m,
|
|
13
|
+
children: s,
|
|
13
14
|
classes: i,
|
|
14
|
-
footer:
|
|
15
|
+
footer: l,
|
|
15
16
|
showCloseButton: h = !1,
|
|
16
|
-
ariaDescribedby: f = void 0
|
|
17
|
+
ariaDescribedby: f = void 0,
|
|
18
|
+
positionX: v,
|
|
19
|
+
positionY: C
|
|
17
20
|
}) => {
|
|
18
|
-
const
|
|
21
|
+
const D = () => {
|
|
19
22
|
r(!1);
|
|
20
|
-
},
|
|
21
|
-
|
|
22
|
-
},
|
|
23
|
+
}, N = () => {
|
|
24
|
+
m?.(), r(!1);
|
|
25
|
+
}, k = l === void 0 ? /* @__PURE__ */ a(p, { className: i?.footer, children: [
|
|
23
26
|
/* @__PURE__ */ o(
|
|
24
27
|
c,
|
|
25
28
|
{
|
|
26
29
|
variant: "secondary",
|
|
27
|
-
onClick:
|
|
28
|
-
children:
|
|
30
|
+
onClick: D,
|
|
31
|
+
children: d
|
|
29
32
|
}
|
|
30
33
|
),
|
|
31
|
-
/* @__PURE__ */ o(c, { onClick:
|
|
32
|
-
] }) :
|
|
34
|
+
/* @__PURE__ */ o(c, { onClick: N, children: n })
|
|
35
|
+
] }) : l;
|
|
33
36
|
return /* @__PURE__ */ o(
|
|
34
|
-
|
|
37
|
+
b,
|
|
35
38
|
{
|
|
36
|
-
open:
|
|
39
|
+
open: t,
|
|
37
40
|
onOpenChange: r,
|
|
38
41
|
children: /* @__PURE__ */ a(
|
|
39
|
-
|
|
42
|
+
g,
|
|
40
43
|
{
|
|
41
44
|
"aria-describedby": f,
|
|
42
45
|
showCloseButton: h,
|
|
46
|
+
positionX: v,
|
|
47
|
+
positionY: C,
|
|
48
|
+
className: i?.content,
|
|
43
49
|
children: [
|
|
44
|
-
|
|
45
|
-
/* @__PURE__ */ o("div", { className: i?.body, children:
|
|
46
|
-
|
|
50
|
+
e && /* @__PURE__ */ o(x, { className: i?.header, children: /* @__PURE__ */ o(y, { className: i?.title, children: e }) }),
|
|
51
|
+
/* @__PURE__ */ o("div", { className: i?.body, children: s }),
|
|
52
|
+
k
|
|
47
53
|
]
|
|
48
54
|
}
|
|
49
55
|
)
|
|
@@ -51,6 +57,6 @@ const B = ({
|
|
|
51
57
|
);
|
|
52
58
|
};
|
|
53
59
|
export {
|
|
54
|
-
|
|
60
|
+
M as BasicModal
|
|
55
61
|
};
|
|
56
62
|
//# sourceMappingURL=components-basic-modal-basic-modal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components-basic-modal-basic-modal.js","sources":["../src/components/basic-modal/basic-modal.tsx"],"sourcesContent":["import { Button } from \"../ui/button\";\nimport {\n Dialog,\n DialogContent,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n} from \"../ui/dialog\";\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}
|
|
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":";;;;;AA+BO,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,UAEnB,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,5 +1,5 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./brd-ui-kit.css');const r=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./brd-ui-kit.css');const r=require("react/jsx-runtime"),P=require("phosphor-strokes-icons/icons/CaretDown"),j=require("phosphor-strokes-icons/icons/CaretUp"),_=require("phosphor-strokes-icons/icons/EnvelopeSimple"),k=require("phosphor-strokes-icons/icons/MaxLogo"),S=require("phosphor-strokes-icons/icons/Phone"),i=require("./components-icons-stroke-icon.cjs"),T=require("phosphor-strokes-icons/icons/TelegramLogo"),L=require("phosphor-strokes-icons/icons/WhatsAppLogoFilled");;/* empty css */const b=require("./lib-utils.cjs");require("class-variance-authority");require("./components-ui-badge-badge.styles.cjs");const z=require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");require("./components-ui-card-card.cjs");require("./components-ui-checkbox-checkbox.cjs");const F=require("./hooks-usePopupControls.cjs");require("./calendar-PqChui7l.cjs");require("phosphor-strokes-icons/icons");require("./components-ui-combobox-combobox.cjs");require("./components-ui-dialog-dialog.cjs");const c=require("react");require("./components-ui-label-label.cjs");require("./components-ui-separator-separator.cjs");require("./components-ui-field-field.styles.cjs");require("./components-ui-input-input.styles.cjs");require("./components-ui-textarea-textarea.cjs");require("./components-ui-input-group-input-group.styles.cjs");require("./components-ui-navigation-item-navigation-item.styles.cjs");require("./components-ui-navigation-menu-navigation-menu.styles.cjs");require("./components-ui-pagination-pagination.cjs");require("./components-ui-progress-progress.cjs");require("./components-ui-radio-group-radio-group.cjs");require("./components-ui-switch-switch.cjs");require("./components-ui-toggle-toggle.styles.cjs");require("./components-ui-toggle-group-toggle-group.cjs");require("./components-ui-table-table.cjs");require("./components-ui-tabs-tabs.cjs");require("./components-ui-tooltip-tooltip.cjs");require("./components-ui-typography-typography.styles.cjs");require("phosphor-strokes-icons/icons/CaretLeft");require("phosphor-strokes-icons/icons/CaretRight");require("./components-app-pagination-app-pagination.styles.cjs");require("phosphor-strokes-icons/icons/CaretUpDown");require("./components-app-sidebar-app-sidebar.styles.cjs");require("./components-data-table-data-table.styles.cjs");require("./components-ui-dropdown-menu-dropdown-menu.styles.cjs");const N=require("./components-input-field-input-field.cjs");require("phosphor-strokes-icons/icons/Eye");require("phosphor-strokes-icons/icons/EyeSlash");require("./components-select-field-select-field.cjs");require("./lodash-kqhtUJfz.cjs");require("./chart-9H_9wEfR.cjs");require("phosphor-strokes-icons/icons/CheckCircle");require("phosphor-strokes-icons/icons/Info");require("phosphor-strokes-icons/icons/SpinnerGap");require("phosphor-strokes-icons/icons/Warning");require("phosphor-strokes-icons/icons/X");require("phosphor-strokes-icons/icons/XCircle");require("./index-DGxwh2Ms.cjs");require("./index-fTTv8YY8.cjs");require("phosphor-strokes-icons/icons/Plus");const D=require("./components-input-phone-input-phone.cjs");require("./components-card-info-card-info.styles.cjs");const E=[{label:"Мобильный",icon:"phone"},{label:"Telegram",icon:"telegram-logo"},{label:"WhatsApp",icon:"whats-app-logo-filled"},{label:"Max",icon:"max-logo"},{label:"E-mail",icon:"envelope-simple"}],h={phone:S.Phone,"telegram-logo":T.TelegramLogo,"whats-app-logo-filled":L.WhatsAppLogoFilled,"max-logo":k.MaxLogo,"envelope-simple":_.EnvelopeSimple},x=o=>{switch(o){case"max-logo":return{bgColor:"bg-[linear-gradient(135deg,#9933DD_0%,#2831B9_50%,#44CCFF_100%)]"};case"telegram-logo":return{bgColor:"bg-[#289AD2]"};case"whats-app-logo-filled":return{bgColor:"bg-[#00C202]",textColor:"text-primary-inverse-text"};default:return{}}},a=o=>({wrapper:b.cn(`flex h-5.5 w-5.5 shrink-0 items-center justify-center rounded-sm
|
|
2
2
|
${x(o).bgColor??"bg-primary-inverse-hover-bg"}
|
|
3
|
-
${x(o).textColor??"text-primary-inverse-text"}`),icon:"size-5 shrink-0"}),O=o=>{const{inputProps:
|
|
4
|
-
flex-col rounded-xl border`,ref:l,children:E.map(({label:e,icon:t})=>{const
|
|
3
|
+
${x(o).textColor??"text-primary-inverse-text"}`),icon:"size-5 shrink-0"}),O=o=>{const{inputProps:C,inputPhoneProps:f,onTypeChange:v,...p}=o,[n,I]=c.useState("phone"),{isOpened:s,openPopup:q,closePopup:u}=F.usePopupControls(),l=c.useRef(null);c.useEffect(()=>{const e=t=>{l.current&&!l.current.contains(t.target)&&u()};return s&&document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[s,u]);const m=e=>{switch(e){case"phone":return"+7 (999) 999-99-99";case"telegram-logo":return"@username";case"whats-app-logo-filled":return"+7 (999) 999-99-99";case"max-logo":return"ID пользователя Max";case"envelope-simple":return"example@mail.com";default:return"Введите значение"}},w=e=>()=>{I(e),v?.(e),u()},d=h[n],g=s?j.CaretUp:P.CaretDown;return r.jsxs("div",{className:b.cn("relative",o.classes?.container),children:[["telegram-logo","max-logo","envelope-simple"].includes(n)?r.jsx(N.InputField,{...C,...p,date:[{id:"0",position:"inline-start",component:r.jsx(i.StrokeIcon,{icon:d,size:"medium",classes:a(n)})},{id:"1",position:"inline-end",component:r.jsx(i.StrokeIcon,{icon:g,size:"medium",className:"cursor-pointer",onClick:q})}],placeholder:m(n)}):r.jsx(D.InputPhone,{...f,...p,date:[{id:"0",position:"inline-start",component:r.jsx(i.StrokeIcon,{icon:d,size:"medium",classes:a(n)})},{id:"1",position:"inline-end",component:r.jsx(i.StrokeIcon,{icon:g,size:"medium",className:"cursor-pointer",onClick:q})}],placeholder:m(n)}),s&&r.jsx("div",{className:`border-inp-hover-border bg-primary-bg absolute z-100 my-2 flex w-full
|
|
4
|
+
flex-col rounded-xl border`,ref:l,children:E.map(({label:e,icon:t})=>{const y=h[t];return r.jsxs(z.Button,{variant:"ghost",className:"flex w-full justify-start",type:"button",onClick:w(t),children:[r.jsx(i.StrokeIcon,{icon:y,size:"medium",className:"text-primary-inverse-text",classes:a(t)}),e]},e)})})]})};exports.InputContact=O;
|
|
5
5
|
//# sourceMappingURL=components-input-contact-input-contact.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components-input-contact-input-contact.cjs","sources":["../src/constants/contact-input.ts","../src/components/input-contact/input-contact.tsx"],"sourcesContent":["import type { TOption } from \"@/components/input-contact/input-contact\";\n\nexport const OPTIONS: TOption[] = [\n {\n label: \"Мобильный\",\n icon: \"phone\",\n },\n {\n label: \"Telegram\",\n icon: \"telegram-logo\",\n },\n {\n label: \"WhatsApp\",\n icon: \"whats-app-logo-filled\",\n },\n {\n label: \"Max\",\n icon: \"max-logo\",\n },\n {\n label: \"E-mail\",\n icon: \"envelope-simple\",\n },\n];\n","import { OPTIONS } from \"@/constants/contact-input\";\nimport { CaretDown } from \"@/components/icons/CaretDown\";\nimport { CaretUp } from \"@/components/icons/CaretUp\";\nimport { EnvelopeSimple } from \"@/components/icons/EnvelopeSimple\";\nimport { MaxLogo } from \"@/components/icons/MaxLogo\";\nimport { Phone } from \"@/components/icons/Phone\";\nimport { StrokeIcon, type StrokeIconComponent } from \"@/components/icons/stroke-icon\";\nimport { TelegramLogo } from \"@/components/icons/TelegramLogo\";\nimport { WhatsAppLogoFilled } from \"@/components/icons/WhatsAppLogoFilled\";\nimport {\n Button,\n InputField,\n InputPhone,\n cn,\n usePopupControls,\n type InputPhoneProps,\n} from \"@/index\";\nimport { useEffect, useRef, useState } from \"react\";\n\nexport type TOption = {\n label: string;\n icon: TypesChange;\n};\n\ntype TypesChange =\n | \"phone\"\n | \"telegram-logo\"\n | \"whats-app-logo-filled\"\n | \"max-logo\"\n | \"envelope-simple\";\n\nconst contactIcons: Record<TypesChange, StrokeIconComponent> = {\n phone: Phone,\n \"telegram-logo\": TelegramLogo,\n \"whats-app-logo-filled\": WhatsAppLogoFilled,\n \"max-logo\": MaxLogo,\n \"envelope-simple\": EnvelopeSimple,\n};\n\ntype Props = {\n isValid?: boolean;\n label?: string;\n description?: string;\n classes?: {\n fieldset?: string;\n fieldgroup?: string;\n field?: string;\n container?: string;\n };\n value?: string;\n name?: string;\n onTypeChange?: (type: TypesChange) => void;\n inputProps: React.ComponentPropsWithRef<\"input\">;\n inputPhoneProps: InputPhoneProps;\n};\n\n// TODO: заменить цвета\nconst iconStyles = (icon: TypesChange) => {\n switch (icon) {\n case \"max-logo\":\n return {\n bgColor: \"bg-[linear-gradient(135deg,#9933DD_0%,#2831B9_50%,#44CCFF_100%)]\",\n };\n\n case \"telegram-logo\":\n return {\n bgColor: \"bg-[#289AD2]\",\n };\n\n case \"whats-app-logo-filled\":\n return {\n bgColor: \"bg-[#00C202]\",\n textColor: \"text-[#00C202]\",\n };\n\n default:\n return {};\n }\n};\n\nconst getContactIconClasses = (icon: TypesChange) => ({\n wrapper: cn(\n `flex h-5.5 w-5.5 shrink-0 items-center justify-center rounded-sm\n ${iconStyles(icon).bgColor ?? \"bg-primary-inverse-hover-bg\"}\n ${iconStyles(icon).textColor ?? \"text-primary-inverse-text\"}`,\n ),\n icon: \"size-5 shrink-0\",\n});\n\nexport const InputContact = (props: Props) => {\n const { inputProps, inputPhoneProps, onTypeChange, ...rest } = props;\n\n const [type, setType] = useState<TypesChange>(\"phone\");\n const { isOpened, openPopup, closePopup } = usePopupControls();\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (wrapperRef.current && !wrapperRef.current.contains(event.target as Node)) {\n closePopup();\n }\n };\n\n if (isOpened) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [isOpened, closePopup]);\n\n const getPlaceholder = (type: TypesChange): string => {\n switch (type) {\n case \"phone\":\n return \"+7 (999) 999-99-99\";\n case \"telegram-logo\":\n return \"@username\";\n case \"whats-app-logo-filled\":\n return \"+7 (999) 999-99-99\";\n case \"max-logo\":\n return \"ID пользователя Max\";\n case \"envelope-simple\":\n return \"example@mail.com\";\n default:\n return \"Введите значение\";\n }\n };\n\n const handleTypeChange = (type: TypesChange) => {\n return () => {\n setType(type);\n onTypeChange?.(type);\n closePopup();\n };\n };\n\n const SelectedIcon = contactIcons[type];\n const ToggleIcon = isOpened ? CaretUp : CaretDown;\n\n return (\n <div className={cn(\"relative\", props.classes?.container)}>\n {[\"telegram-logo\", \"max-logo\", \"envelope-simple\"].includes(type) ? (\n <InputField\n {...inputProps}\n {...rest}\n date={[\n {\n id: \"0\",\n position: \"inline-start\",\n component: (\n <StrokeIcon\n icon={SelectedIcon}\n size=\"medium\"\n classes={getContactIconClasses(type)}\n />\n ),\n },\n {\n id: \"1\",\n position: \"inline-end\",\n component: (\n <StrokeIcon\n icon={ToggleIcon}\n size=\"medium\"\n className=\"cursor-pointer\"\n onClick={openPopup}\n />\n ),\n },\n ]}\n placeholder={getPlaceholder(type)}\n />\n ) : (\n <InputPhone\n {...inputPhoneProps}\n {...rest}\n date={[\n {\n id: \"0\",\n position: \"inline-start\",\n component: (\n <StrokeIcon\n icon={SelectedIcon}\n size=\"medium\"\n classes={getContactIconClasses(type)}\n />\n ),\n },\n {\n id: \"1\",\n position: \"inline-end\",\n component: (\n <StrokeIcon\n icon={ToggleIcon}\n size=\"medium\"\n className=\"cursor-pointer\"\n onClick={openPopup}\n />\n ),\n },\n ]}\n placeholder={getPlaceholder(type)}\n />\n )}\n\n {isOpened && (\n <div\n className=\"border-inp-hover-border bg-primary-bg absolute my-2 flex w-full\n flex-col rounded-xl border\"\n ref={wrapperRef}\n >\n {OPTIONS.map(({ label, icon }) => {\n const OptionIcon = contactIcons[icon];\n\n return (\n <Button\n key={label}\n variant=\"ghost\"\n className=\"flex w-full justify-start\"\n type=\"button\"\n onClick={handleTypeChange(icon)}\n >\n <StrokeIcon\n icon={OptionIcon}\n size=\"medium\"\n className=\"text-primary-inverse-text\"\n classes={getContactIconClasses(icon)}\n />\n\n {label}\n </Button>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport type { Props as InputContactProps, TypesChange };\n"],"names":["OPTIONS","contactIcons","Phone","TelegramLogo","WhatsAppLogoFilled","MaxLogo","EnvelopeSimple","iconStyles","icon","getContactIconClasses","cn","InputContact","props","inputProps","inputPhoneProps","onTypeChange","rest","type","setType","useState","isOpened","openPopup","closePopup","usePopupControls","wrapperRef","useRef","useEffect","handleClickOutside","event","getPlaceholder","handleTypeChange","SelectedIcon","ToggleIcon","CaretUp","CaretDown","jsxs","jsx","InputField","StrokeIcon","InputPhone","label","OptionIcon","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"components-input-contact-input-contact.cjs","sources":["../src/constants/contact-input.ts","../src/components/input-contact/input-contact.tsx"],"sourcesContent":["import type { TOption } from \"@/components/input-contact/input-contact\";\n\nexport const OPTIONS: TOption[] = [\n {\n label: \"Мобильный\",\n icon: \"phone\",\n },\n {\n label: \"Telegram\",\n icon: \"telegram-logo\",\n },\n {\n label: \"WhatsApp\",\n icon: \"whats-app-logo-filled\",\n },\n {\n label: \"Max\",\n icon: \"max-logo\",\n },\n {\n label: \"E-mail\",\n icon: \"envelope-simple\",\n },\n];\n","import { OPTIONS } from \"@/constants/contact-input\";\nimport { CaretDown } from \"@/components/icons/CaretDown\";\nimport { CaretUp } from \"@/components/icons/CaretUp\";\nimport { EnvelopeSimple } from \"@/components/icons/EnvelopeSimple\";\nimport { MaxLogo } from \"@/components/icons/MaxLogo\";\nimport { Phone } from \"@/components/icons/Phone\";\nimport { StrokeIcon, type StrokeIconComponent } from \"@/components/icons/stroke-icon\";\nimport { TelegramLogo } from \"@/components/icons/TelegramLogo\";\nimport { WhatsAppLogoFilled } from \"@/components/icons/WhatsAppLogoFilled\";\nimport {\n Button,\n InputField,\n InputPhone,\n cn,\n usePopupControls,\n type InputPhoneProps,\n} from \"@/index\";\nimport { useEffect, useRef, useState } from \"react\";\n\nexport type TOption = {\n label: string;\n icon: TypesChange;\n};\n\ntype TypesChange =\n | \"phone\"\n | \"telegram-logo\"\n | \"whats-app-logo-filled\"\n | \"max-logo\"\n | \"envelope-simple\";\n\nconst contactIcons: Record<TypesChange, StrokeIconComponent> = {\n phone: Phone,\n \"telegram-logo\": TelegramLogo,\n \"whats-app-logo-filled\": WhatsAppLogoFilled,\n \"max-logo\": MaxLogo,\n \"envelope-simple\": EnvelopeSimple,\n};\n\ntype Props = {\n isValid?: boolean;\n label?: string;\n description?: string;\n classes?: {\n fieldset?: string;\n fieldgroup?: string;\n field?: string;\n container?: string;\n };\n value?: string;\n name?: string;\n onTypeChange?: (type: TypesChange) => void;\n inputProps: React.ComponentPropsWithRef<\"input\">;\n inputPhoneProps: InputPhoneProps;\n};\n\n// TODO: заменить цвета\nconst iconStyles = (icon: TypesChange) => {\n switch (icon) {\n case \"max-logo\":\n return {\n bgColor: \"bg-[linear-gradient(135deg,#9933DD_0%,#2831B9_50%,#44CCFF_100%)]\",\n };\n\n case \"telegram-logo\":\n return {\n bgColor: \"bg-[#289AD2]\",\n };\n\n case \"whats-app-logo-filled\":\n return {\n bgColor: \"bg-[#00C202]\",\n textColor: \"text-primary-inverse-text\",\n };\n\n default:\n return {};\n }\n};\n\nconst getContactIconClasses = (icon: TypesChange) => ({\n wrapper: cn(\n `flex h-5.5 w-5.5 shrink-0 items-center justify-center rounded-sm\n ${iconStyles(icon).bgColor ?? \"bg-primary-inverse-hover-bg\"}\n ${iconStyles(icon).textColor ?? \"text-primary-inverse-text\"}`,\n ),\n icon: \"size-5 shrink-0\",\n});\n\nexport const InputContact = (props: Props) => {\n const { inputProps, inputPhoneProps, onTypeChange, ...rest } = props;\n\n const [type, setType] = useState<TypesChange>(\"phone\");\n const { isOpened, openPopup, closePopup } = usePopupControls();\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (wrapperRef.current && !wrapperRef.current.contains(event.target as Node)) {\n closePopup();\n }\n };\n\n if (isOpened) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [isOpened, closePopup]);\n\n const getPlaceholder = (type: TypesChange): string => {\n switch (type) {\n case \"phone\":\n return \"+7 (999) 999-99-99\";\n case \"telegram-logo\":\n return \"@username\";\n case \"whats-app-logo-filled\":\n return \"+7 (999) 999-99-99\";\n case \"max-logo\":\n return \"ID пользователя Max\";\n case \"envelope-simple\":\n return \"example@mail.com\";\n default:\n return \"Введите значение\";\n }\n };\n\n const handleTypeChange = (type: TypesChange) => {\n return () => {\n setType(type);\n onTypeChange?.(type);\n closePopup();\n };\n };\n\n const SelectedIcon = contactIcons[type];\n const ToggleIcon = isOpened ? CaretUp : CaretDown;\n\n return (\n <div className={cn(\"relative\", props.classes?.container)}>\n {[\"telegram-logo\", \"max-logo\", \"envelope-simple\"].includes(type) ? (\n <InputField\n {...inputProps}\n {...rest}\n date={[\n {\n id: \"0\",\n position: \"inline-start\",\n component: (\n <StrokeIcon\n icon={SelectedIcon}\n size=\"medium\"\n classes={getContactIconClasses(type)}\n />\n ),\n },\n {\n id: \"1\",\n position: \"inline-end\",\n component: (\n <StrokeIcon\n icon={ToggleIcon}\n size=\"medium\"\n className=\"cursor-pointer\"\n onClick={openPopup}\n />\n ),\n },\n ]}\n placeholder={getPlaceholder(type)}\n />\n ) : (\n <InputPhone\n {...inputPhoneProps}\n {...rest}\n date={[\n {\n id: \"0\",\n position: \"inline-start\",\n component: (\n <StrokeIcon\n icon={SelectedIcon}\n size=\"medium\"\n classes={getContactIconClasses(type)}\n />\n ),\n },\n {\n id: \"1\",\n position: \"inline-end\",\n component: (\n <StrokeIcon\n icon={ToggleIcon}\n size=\"medium\"\n className=\"cursor-pointer\"\n onClick={openPopup}\n />\n ),\n },\n ]}\n placeholder={getPlaceholder(type)}\n />\n )}\n\n {isOpened && (\n <div\n className=\"border-inp-hover-border bg-primary-bg absolute z-100 my-2 flex w-full\n flex-col rounded-xl border\"\n ref={wrapperRef}\n >\n {OPTIONS.map(({ label, icon }) => {\n const OptionIcon = contactIcons[icon];\n\n return (\n <Button\n key={label}\n variant=\"ghost\"\n className=\"flex w-full justify-start\"\n type=\"button\"\n onClick={handleTypeChange(icon)}\n >\n <StrokeIcon\n icon={OptionIcon}\n size=\"medium\"\n className=\"text-primary-inverse-text\"\n classes={getContactIconClasses(icon)}\n />\n\n {label}\n </Button>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport type { Props as InputContactProps, TypesChange };\n"],"names":["OPTIONS","contactIcons","Phone","TelegramLogo","WhatsAppLogoFilled","MaxLogo","EnvelopeSimple","iconStyles","icon","getContactIconClasses","cn","InputContact","props","inputProps","inputPhoneProps","onTypeChange","rest","type","setType","useState","isOpened","openPopup","closePopup","usePopupControls","wrapperRef","useRef","useEffect","handleClickOutside","event","getPlaceholder","handleTypeChange","SelectedIcon","ToggleIcon","CaretUp","CaretDown","jsxs","jsx","InputField","StrokeIcon","InputPhone","label","OptionIcon","Button"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { jsxs as f, jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { CaretDown as k } from "phosphor-strokes-icons/icons/CaretDown";
|
|
3
|
-
import { CaretUp as
|
|
4
|
-
import { EnvelopeSimple as
|
|
5
|
-
import { MaxLogo as
|
|
3
|
+
import { CaretUp as z } from "phosphor-strokes-icons/icons/CaretUp";
|
|
4
|
+
import { EnvelopeSimple as N } from "phosphor-strokes-icons/icons/EnvelopeSimple";
|
|
5
|
+
import { MaxLogo as T } from "phosphor-strokes-icons/icons/MaxLogo";
|
|
6
6
|
import { Phone as S } from "phosphor-strokes-icons/icons/Phone";
|
|
7
7
|
import { StrokeIcon as n } from "./components-icons-stroke-icon.js";
|
|
8
8
|
import { TelegramLogo as D } from "phosphor-strokes-icons/icons/TelegramLogo";
|
|
@@ -88,8 +88,8 @@ const B = [
|
|
|
88
88
|
phone: S,
|
|
89
89
|
"telegram-logo": D,
|
|
90
90
|
"whats-app-logo-filled": E,
|
|
91
|
-
"max-logo":
|
|
92
|
-
"envelope-simple":
|
|
91
|
+
"max-logo": T,
|
|
92
|
+
"envelope-simple": N
|
|
93
93
|
}, x = (t) => {
|
|
94
94
|
switch (t) {
|
|
95
95
|
case "max-logo":
|
|
@@ -103,7 +103,7 @@ const B = [
|
|
|
103
103
|
case "whats-app-logo-filled":
|
|
104
104
|
return {
|
|
105
105
|
bgColor: "bg-[#00C202]",
|
|
106
|
-
textColor: "text-
|
|
106
|
+
textColor: "text-primary-inverse-text"
|
|
107
107
|
};
|
|
108
108
|
default:
|
|
109
109
|
return {};
|
|
@@ -142,7 +142,7 @@ const B = [
|
|
|
142
142
|
}
|
|
143
143
|
}, I = (o) => () => {
|
|
144
144
|
y(o), w?.(o), p();
|
|
145
|
-
}, d = h[r], g = m ?
|
|
145
|
+
}, d = h[r], g = m ? z : k;
|
|
146
146
|
return /* @__PURE__ */ f("div", { className: C("relative", t.classes?.container), children: [
|
|
147
147
|
["telegram-logo", "max-logo", "envelope-simple"].includes(r) ? /* @__PURE__ */ e(
|
|
148
148
|
M,
|
|
@@ -216,7 +216,7 @@ const B = [
|
|
|
216
216
|
m && /* @__PURE__ */ e(
|
|
217
217
|
"div",
|
|
218
218
|
{
|
|
219
|
-
className: `border-inp-hover-border bg-primary-bg absolute my-2 flex w-full
|
|
219
|
+
className: `border-inp-hover-border bg-primary-bg absolute z-100 my-2 flex w-full
|
|
220
220
|
flex-col rounded-xl border`,
|
|
221
221
|
ref: l,
|
|
222
222
|
children: B.map(({ label: o, icon: i }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components-input-contact-input-contact.js","sources":["../src/constants/contact-input.ts","../src/components/input-contact/input-contact.tsx"],"sourcesContent":["import type { TOption } from \"@/components/input-contact/input-contact\";\n\nexport const OPTIONS: TOption[] = [\n {\n label: \"Мобильный\",\n icon: \"phone\",\n },\n {\n label: \"Telegram\",\n icon: \"telegram-logo\",\n },\n {\n label: \"WhatsApp\",\n icon: \"whats-app-logo-filled\",\n },\n {\n label: \"Max\",\n icon: \"max-logo\",\n },\n {\n label: \"E-mail\",\n icon: \"envelope-simple\",\n },\n];\n","import { OPTIONS } from \"@/constants/contact-input\";\nimport { CaretDown } from \"@/components/icons/CaretDown\";\nimport { CaretUp } from \"@/components/icons/CaretUp\";\nimport { EnvelopeSimple } from \"@/components/icons/EnvelopeSimple\";\nimport { MaxLogo } from \"@/components/icons/MaxLogo\";\nimport { Phone } from \"@/components/icons/Phone\";\nimport { StrokeIcon, type StrokeIconComponent } from \"@/components/icons/stroke-icon\";\nimport { TelegramLogo } from \"@/components/icons/TelegramLogo\";\nimport { WhatsAppLogoFilled } from \"@/components/icons/WhatsAppLogoFilled\";\nimport {\n Button,\n InputField,\n InputPhone,\n cn,\n usePopupControls,\n type InputPhoneProps,\n} from \"@/index\";\nimport { useEffect, useRef, useState } from \"react\";\n\nexport type TOption = {\n label: string;\n icon: TypesChange;\n};\n\ntype TypesChange =\n | \"phone\"\n | \"telegram-logo\"\n | \"whats-app-logo-filled\"\n | \"max-logo\"\n | \"envelope-simple\";\n\nconst contactIcons: Record<TypesChange, StrokeIconComponent> = {\n phone: Phone,\n \"telegram-logo\": TelegramLogo,\n \"whats-app-logo-filled\": WhatsAppLogoFilled,\n \"max-logo\": MaxLogo,\n \"envelope-simple\": EnvelopeSimple,\n};\n\ntype Props = {\n isValid?: boolean;\n label?: string;\n description?: string;\n classes?: {\n fieldset?: string;\n fieldgroup?: string;\n field?: string;\n container?: string;\n };\n value?: string;\n name?: string;\n onTypeChange?: (type: TypesChange) => void;\n inputProps: React.ComponentPropsWithRef<\"input\">;\n inputPhoneProps: InputPhoneProps;\n};\n\n// TODO: заменить цвета\nconst iconStyles = (icon: TypesChange) => {\n switch (icon) {\n case \"max-logo\":\n return {\n bgColor: \"bg-[linear-gradient(135deg,#9933DD_0%,#2831B9_50%,#44CCFF_100%)]\",\n };\n\n case \"telegram-logo\":\n return {\n bgColor: \"bg-[#289AD2]\",\n };\n\n case \"whats-app-logo-filled\":\n return {\n bgColor: \"bg-[#00C202]\",\n textColor: \"text-[#00C202]\",\n };\n\n default:\n return {};\n }\n};\n\nconst getContactIconClasses = (icon: TypesChange) => ({\n wrapper: cn(\n `flex h-5.5 w-5.5 shrink-0 items-center justify-center rounded-sm\n ${iconStyles(icon).bgColor ?? \"bg-primary-inverse-hover-bg\"}\n ${iconStyles(icon).textColor ?? \"text-primary-inverse-text\"}`,\n ),\n icon: \"size-5 shrink-0\",\n});\n\nexport const InputContact = (props: Props) => {\n const { inputProps, inputPhoneProps, onTypeChange, ...rest } = props;\n\n const [type, setType] = useState<TypesChange>(\"phone\");\n const { isOpened, openPopup, closePopup } = usePopupControls();\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (wrapperRef.current && !wrapperRef.current.contains(event.target as Node)) {\n closePopup();\n }\n };\n\n if (isOpened) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [isOpened, closePopup]);\n\n const getPlaceholder = (type: TypesChange): string => {\n switch (type) {\n case \"phone\":\n return \"+7 (999) 999-99-99\";\n case \"telegram-logo\":\n return \"@username\";\n case \"whats-app-logo-filled\":\n return \"+7 (999) 999-99-99\";\n case \"max-logo\":\n return \"ID пользователя Max\";\n case \"envelope-simple\":\n return \"example@mail.com\";\n default:\n return \"Введите значение\";\n }\n };\n\n const handleTypeChange = (type: TypesChange) => {\n return () => {\n setType(type);\n onTypeChange?.(type);\n closePopup();\n };\n };\n\n const SelectedIcon = contactIcons[type];\n const ToggleIcon = isOpened ? CaretUp : CaretDown;\n\n return (\n <div className={cn(\"relative\", props.classes?.container)}>\n {[\"telegram-logo\", \"max-logo\", \"envelope-simple\"].includes(type) ? (\n <InputField\n {...inputProps}\n {...rest}\n date={[\n {\n id: \"0\",\n position: \"inline-start\",\n component: (\n <StrokeIcon\n icon={SelectedIcon}\n size=\"medium\"\n classes={getContactIconClasses(type)}\n />\n ),\n },\n {\n id: \"1\",\n position: \"inline-end\",\n component: (\n <StrokeIcon\n icon={ToggleIcon}\n size=\"medium\"\n className=\"cursor-pointer\"\n onClick={openPopup}\n />\n ),\n },\n ]}\n placeholder={getPlaceholder(type)}\n />\n ) : (\n <InputPhone\n {...inputPhoneProps}\n {...rest}\n date={[\n {\n id: \"0\",\n position: \"inline-start\",\n component: (\n <StrokeIcon\n icon={SelectedIcon}\n size=\"medium\"\n classes={getContactIconClasses(type)}\n />\n ),\n },\n {\n id: \"1\",\n position: \"inline-end\",\n component: (\n <StrokeIcon\n icon={ToggleIcon}\n size=\"medium\"\n className=\"cursor-pointer\"\n onClick={openPopup}\n />\n ),\n },\n ]}\n placeholder={getPlaceholder(type)}\n />\n )}\n\n {isOpened && (\n <div\n className=\"border-inp-hover-border bg-primary-bg absolute my-2 flex w-full\n flex-col rounded-xl border\"\n ref={wrapperRef}\n >\n {OPTIONS.map(({ label, icon }) => {\n const OptionIcon = contactIcons[icon];\n\n return (\n <Button\n key={label}\n variant=\"ghost\"\n className=\"flex w-full justify-start\"\n type=\"button\"\n onClick={handleTypeChange(icon)}\n >\n <StrokeIcon\n icon={OptionIcon}\n size=\"medium\"\n className=\"text-primary-inverse-text\"\n classes={getContactIconClasses(icon)}\n />\n\n {label}\n </Button>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport type { Props as InputContactProps, TypesChange };\n"],"names":["OPTIONS","contactIcons","Phone","TelegramLogo","WhatsAppLogoFilled","MaxLogo","EnvelopeSimple","iconStyles","icon","getContactIconClasses","cn","InputContact","props","inputProps","inputPhoneProps","onTypeChange","rest","type","setType","useState","isOpened","openPopup","closePopup","usePopupControls","wrapperRef","useRef","useEffect","handleClickOutside","event","getPlaceholder","handleTypeChange","SelectedIcon","ToggleIcon","CaretUp","CaretDown","jsxs","jsx","InputField","StrokeIcon","InputPhone","label","OptionIcon","Button"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,MAAMA,IAAqB;AAAA,EAChC;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAER;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAER;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAER;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAER;AAAA,IACE,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAEV,GCQMC,IAAyD;AAAA,EAC7D,OAAOC;AAAA,EACP,iBAAiBC;AAAA,EACjB,yBAAyBC;AAAA,EACzB,YAAYC;AAAA,EACZ,mBAAmBC;AACrB,GAoBMC,IAAa,CAACC,MAAsB;AACxC,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,aAAO;AAAA,QACL,SAAS;AAAA,MAAA;AAAA,IAGb,KAAK;AACH,aAAO;AAAA,QACL,SAAS;AAAA,MAAA;AAAA,IAGb,KAAK;AACH,aAAO;AAAA,QACL,SAAS;AAAA,QACT,WAAW;AAAA,MAAA;AAAA,IAGf;AACE,aAAO,CAAA;AAAA,EAAC;AAEd,GAEMC,IAAwB,CAACD,OAAuB;AAAA,EACpD,SAASE;AAAA,IACP;AAAA,MACEH,EAAWC,CAAI,EAAE,WAAW,6BAA6B;AAAA,MACzDD,EAAWC,CAAI,EAAE,aAAa,2BAA2B;AAAA,EAAA;AAAA,EAE7D,MAAM;AACR,IAEaG,KAAe,CAACC,MAAiB;AAC5C,QAAM,EAAE,YAAAC,GAAY,iBAAAC,GAAiB,cAAAC,GAAc,GAAGC,MAASJ,GAEzD,CAACK,GAAMC,CAAO,IAAIC,EAAsB,OAAO,GAC/C,EAAE,UAAAC,GAAU,WAAAC,GAAW,YAAAC,EAAA,IAAeC,EAAA,GACtCC,IAAaC,EAAuB,IAAI;AAE9C,EAAAC,EAAU,MAAM;AACd,UAAMC,IAAqB,CAACC,MAAsB;AAChD,MAAIJ,EAAW,WAAW,CAACA,EAAW,QAAQ,SAASI,EAAM,MAAc,KACzEN,EAAA;AAAA,IAEJ;AAEA,WAAIF,KACF,SAAS,iBAAiB,aAAaO,CAAkB,GAGpD,MAAM;AACX,eAAS,oBAAoB,aAAaA,CAAkB;AAAA,IAC9D;AAAA,EACF,GAAG,CAACP,GAAUE,CAAU,CAAC;AAEzB,QAAMO,IAAiB,CAACZ,MAA8B;AACpD,YAAQA,GAAAA;AAAAA,MACN,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT,KAAK;AACH,eAAO;AAAA,MACT;AACE,eAAO;AAAA,IAAA;AAAA,EAEb,GAEMa,IAAmB,CAACb,MACjB,MAAM;AACX,IAAAC,EAAQD,CAAI,GACZF,IAAeE,CAAI,GACnBK,EAAA;AAAA,EACF,GAGIS,IAAe9B,EAAagB,CAAI,GAChCe,IAAaZ,IAAWa,IAAUC;AAExC,SACE,gBAAAC,EAAC,SAAI,WAAWzB,EAAG,YAAYE,EAAM,SAAS,SAAS,GACpD,UAAA;AAAA,IAAA,CAAC,iBAAiB,YAAY,iBAAiB,EAAE,SAASK,CAAI,IAC7D,gBAAAmB;AAAA,MAACC;AAAA,MAAA;AAAA,QACE,GAAGxB;AAAA,QACH,GAAGG;AAAA,QACJ,MAAM;AAAA,UACJ;AAAA,YACE,IAAI;AAAA,YACJ,UAAU;AAAA,YACV,WACE,gBAAAoB;AAAA,cAACE;AAAA,cAAA;AAAA,gBACC,MAAMP;AAAA,gBACN,MAAK;AAAA,gBACL,SAAStB,EAAsBQ,CAAI;AAAA,cAAA;AAAA,YAAA;AAAA,UACrC;AAAA,UAGJ;AAAA,YACE,IAAI;AAAA,YACJ,UAAU;AAAA,YACV,WACE,gBAAAmB;AAAA,cAACE;AAAA,cAAA;AAAA,gBACC,MAAMN;AAAA,gBACN,MAAK;AAAA,gBACL,WAAU;AAAA,gBACV,SAASX;AAAA,cAAA;AAAA,YAAA;AAAA,UACX;AAAA,QAEJ;AAAA,QAEF,aAAaQ,EAAeZ,CAAI;AAAA,MAAA;AAAA,IAAA,IAGlC,gBAAAmB;AAAA,MAACG;AAAA,MAAA;AAAA,QACE,GAAGzB;AAAA,QACH,GAAGE;AAAA,QACJ,MAAM;AAAA,UACJ;AAAA,YACE,IAAI;AAAA,YACJ,UAAU;AAAA,YACV,WACE,gBAAAoB;AAAA,cAACE;AAAA,cAAA;AAAA,gBACC,MAAMP;AAAA,gBACN,MAAK;AAAA,gBACL,SAAStB,EAAsBQ,CAAI;AAAA,cAAA;AAAA,YAAA;AAAA,UACrC;AAAA,UAGJ;AAAA,YACE,IAAI;AAAA,YACJ,UAAU;AAAA,YACV,WACE,gBAAAmB;AAAA,cAACE;AAAA,cAAA;AAAA,gBACC,MAAMN;AAAA,gBACN,MAAK;AAAA,gBACL,WAAU;AAAA,gBACV,SAASX;AAAA,cAAA;AAAA,YAAA;AAAA,UACX;AAAA,QAEJ;AAAA,QAEF,aAAaQ,EAAeZ,CAAI;AAAA,MAAA;AAAA,IAAA;AAAA,IAInCG,KACC,gBAAAgB;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA;AAAA,QAEV,KAAKZ;AAAA,QAEJ,YAAQ,IAAI,CAAC,EAAE,OAAAgB,GAAO,MAAAhC,QAAW;AAChC,gBAAMiC,IAAaxC,EAAaO,CAAI;AAEpC,iBACE,gBAAA2B;AAAA,YAACO;AAAA,YAAA;AAAA,cAEC,SAAQ;AAAA,cACR,WAAU;AAAA,cACV,MAAK;AAAA,cACL,SAASZ,EAAiBtB,CAAI;AAAA,cAE9B,UAAA;AAAA,gBAAA,gBAAA4B;AAAA,kBAACE;AAAA,kBAAA;AAAA,oBACC,MAAMG;AAAA,oBACN,MAAK;AAAA,oBACL,WAAU;AAAA,oBACV,SAAShC,EAAsBD,CAAI;AAAA,kBAAA;AAAA,gBAAA;AAAA,gBAGpCgC;AAAA,cAAA;AAAA,YAAA;AAAA,YAbIA;AAAA,UAAA;AAAA,QAgBX,CAAC;AAAA,MAAA;AAAA,IAAA;AAAA,EACH,GAEJ;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"components-input-contact-input-contact.js","sources":["../src/constants/contact-input.ts","../src/components/input-contact/input-contact.tsx"],"sourcesContent":["import type { TOption } from \"@/components/input-contact/input-contact\";\n\nexport const OPTIONS: TOption[] = [\n {\n label: \"Мобильный\",\n icon: \"phone\",\n },\n {\n label: \"Telegram\",\n icon: \"telegram-logo\",\n },\n {\n label: \"WhatsApp\",\n icon: \"whats-app-logo-filled\",\n },\n {\n label: \"Max\",\n icon: \"max-logo\",\n },\n {\n label: \"E-mail\",\n icon: \"envelope-simple\",\n },\n];\n","import { OPTIONS } from \"@/constants/contact-input\";\nimport { CaretDown } from \"@/components/icons/CaretDown\";\nimport { CaretUp } from \"@/components/icons/CaretUp\";\nimport { EnvelopeSimple } from \"@/components/icons/EnvelopeSimple\";\nimport { MaxLogo } from \"@/components/icons/MaxLogo\";\nimport { Phone } from \"@/components/icons/Phone\";\nimport { StrokeIcon, type StrokeIconComponent } from \"@/components/icons/stroke-icon\";\nimport { TelegramLogo } from \"@/components/icons/TelegramLogo\";\nimport { WhatsAppLogoFilled } from \"@/components/icons/WhatsAppLogoFilled\";\nimport {\n Button,\n InputField,\n InputPhone,\n cn,\n usePopupControls,\n type InputPhoneProps,\n} from \"@/index\";\nimport { useEffect, useRef, useState } from \"react\";\n\nexport type TOption = {\n label: string;\n icon: TypesChange;\n};\n\ntype TypesChange =\n | \"phone\"\n | \"telegram-logo\"\n | \"whats-app-logo-filled\"\n | \"max-logo\"\n | \"envelope-simple\";\n\nconst contactIcons: Record<TypesChange, StrokeIconComponent> = {\n phone: Phone,\n \"telegram-logo\": TelegramLogo,\n \"whats-app-logo-filled\": WhatsAppLogoFilled,\n \"max-logo\": MaxLogo,\n \"envelope-simple\": EnvelopeSimple,\n};\n\ntype Props = {\n isValid?: boolean;\n label?: string;\n description?: string;\n classes?: {\n fieldset?: string;\n fieldgroup?: string;\n field?: string;\n container?: string;\n };\n value?: string;\n name?: string;\n onTypeChange?: (type: TypesChange) => void;\n inputProps: React.ComponentPropsWithRef<\"input\">;\n inputPhoneProps: InputPhoneProps;\n};\n\n// TODO: заменить цвета\nconst iconStyles = (icon: TypesChange) => {\n switch (icon) {\n case \"max-logo\":\n return {\n bgColor: \"bg-[linear-gradient(135deg,#9933DD_0%,#2831B9_50%,#44CCFF_100%)]\",\n };\n\n case \"telegram-logo\":\n return {\n bgColor: \"bg-[#289AD2]\",\n };\n\n case \"whats-app-logo-filled\":\n return {\n bgColor: \"bg-[#00C202]\",\n textColor: \"text-primary-inverse-text\",\n };\n\n default:\n return {};\n }\n};\n\nconst getContactIconClasses = (icon: TypesChange) => ({\n wrapper: cn(\n `flex h-5.5 w-5.5 shrink-0 items-center justify-center rounded-sm\n ${iconStyles(icon).bgColor ?? \"bg-primary-inverse-hover-bg\"}\n ${iconStyles(icon).textColor ?? \"text-primary-inverse-text\"}`,\n ),\n icon: \"size-5 shrink-0\",\n});\n\nexport const InputContact = (props: Props) => {\n const { inputProps, inputPhoneProps, onTypeChange, ...rest } = props;\n\n const [type, setType] = useState<TypesChange>(\"phone\");\n const { isOpened, openPopup, closePopup } = usePopupControls();\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (wrapperRef.current && !wrapperRef.current.contains(event.target as Node)) {\n closePopup();\n }\n };\n\n if (isOpened) {\n document.addEventListener(\"mousedown\", handleClickOutside);\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside);\n };\n }, [isOpened, closePopup]);\n\n const getPlaceholder = (type: TypesChange): string => {\n switch (type) {\n case \"phone\":\n return \"+7 (999) 999-99-99\";\n case \"telegram-logo\":\n return \"@username\";\n case \"whats-app-logo-filled\":\n return \"+7 (999) 999-99-99\";\n case \"max-logo\":\n return \"ID пользователя Max\";\n case \"envelope-simple\":\n return \"example@mail.com\";\n default:\n return \"Введите значение\";\n }\n };\n\n const handleTypeChange = (type: TypesChange) => {\n return () => {\n setType(type);\n onTypeChange?.(type);\n closePopup();\n };\n };\n\n const SelectedIcon = contactIcons[type];\n const ToggleIcon = isOpened ? CaretUp : CaretDown;\n\n return (\n <div className={cn(\"relative\", props.classes?.container)}>\n {[\"telegram-logo\", \"max-logo\", \"envelope-simple\"].includes(type) ? (\n <InputField\n {...inputProps}\n {...rest}\n date={[\n {\n id: \"0\",\n position: \"inline-start\",\n component: (\n <StrokeIcon\n icon={SelectedIcon}\n size=\"medium\"\n classes={getContactIconClasses(type)}\n />\n ),\n },\n {\n id: \"1\",\n position: \"inline-end\",\n component: (\n <StrokeIcon\n icon={ToggleIcon}\n size=\"medium\"\n className=\"cursor-pointer\"\n onClick={openPopup}\n />\n ),\n },\n ]}\n placeholder={getPlaceholder(type)}\n />\n ) : (\n <InputPhone\n {...inputPhoneProps}\n {...rest}\n date={[\n {\n id: \"0\",\n position: \"inline-start\",\n component: (\n <StrokeIcon\n icon={SelectedIcon}\n size=\"medium\"\n classes={getContactIconClasses(type)}\n />\n ),\n },\n {\n id: \"1\",\n position: \"inline-end\",\n component: (\n <StrokeIcon\n icon={ToggleIcon}\n size=\"medium\"\n className=\"cursor-pointer\"\n onClick={openPopup}\n />\n ),\n },\n ]}\n placeholder={getPlaceholder(type)}\n />\n )}\n\n {isOpened && (\n <div\n className=\"border-inp-hover-border bg-primary-bg absolute z-100 my-2 flex w-full\n flex-col rounded-xl border\"\n ref={wrapperRef}\n >\n {OPTIONS.map(({ label, icon }) => {\n const OptionIcon = contactIcons[icon];\n\n return (\n <Button\n key={label}\n variant=\"ghost\"\n className=\"flex w-full justify-start\"\n type=\"button\"\n onClick={handleTypeChange(icon)}\n >\n <StrokeIcon\n icon={OptionIcon}\n size=\"medium\"\n className=\"text-primary-inverse-text\"\n classes={getContactIconClasses(icon)}\n />\n\n {label}\n </Button>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport type { Props as InputContactProps, TypesChange };\n"],"names":["OPTIONS","contactIcons","Phone","TelegramLogo","WhatsAppLogoFilled","MaxLogo","EnvelopeSimple","iconStyles","icon","getContactIconClasses","cn","InputContact","props","inputProps","inputPhoneProps","onTypeChange","rest","type","setType","useState","isOpened","openPopup","closePopup","usePopupControls","wrapperRef","useRef","useEffect","handleClickOutside","event","getPlaceholder","handleTypeChange","SelectedIcon","ToggleIcon","CaretUp","CaretDown","jsxs","jsx","InputField","StrokeIcon","InputPhone","label","OptionIcon","Button"],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('./brd-ui-kit.css');const e=require("react/jsx-runtime");;/* empty css */require("./lib-utils.cjs");const p=require("./components-ui-badge-badge.cjs");require("./components-ui-badge-badge.styles.cjs");require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");require("./components-ui-card-card.cjs");require("./components-ui-checkbox-checkbox.cjs");require("phosphor-strokes-icons/icons/CaretDown");const Q=require("react");require("./calendar-PqChui7l.cjs");require("phosphor-strokes-icons/icons");require("./components-ui-combobox-combobox.cjs");require("./components-ui-dialog-dialog.cjs");require("class-variance-authority");require("./components-ui-label-label.cjs");require("./components-ui-separator-separator.cjs");require("./components-ui-field-field.styles.cjs");require("./components-ui-input-input.styles.cjs");require("./components-ui-textarea-textarea.cjs");require("./components-ui-input-group-input-group.styles.cjs");require("./components-ui-navigation-item-navigation-item.styles.cjs");require("./components-ui-navigation-menu-navigation-menu.styles.cjs");require("./components-ui-pagination-pagination.cjs");require("./components-ui-progress-progress.cjs");require("./components-ui-radio-group-radio-group.cjs");require("./components-ui-switch-switch.cjs");require("./components-ui-toggle-toggle.styles.cjs");require("./components-ui-toggle-group-toggle-group.cjs");require("./components-ui-table-table.cjs");require("./components-ui-tabs-tabs.cjs");require("./components-ui-tooltip-tooltip.cjs");const t=require("./components-ui-typography-typography.cjs");require("./components-ui-typography-typography.styles.cjs");require("phosphor-strokes-icons/icons/CaretLeft");require("phosphor-strokes-icons/icons/CaretRight");require("./components-app-pagination-app-pagination.styles.cjs");require("phosphor-strokes-icons/icons/CaretUpDown");require("./components-app-sidebar-app-sidebar.styles.cjs");require("./components-data-table-data-table.styles.cjs");require("./components-ui-dropdown-menu-dropdown-menu.styles.cjs");require("phosphor-strokes-icons/icons/Eye");require("phosphor-strokes-icons/icons/EyeSlash");require("./components-select-field-select-field.cjs");require("./lodash-kqhtUJfz.cjs");require("./chart-9H_9wEfR.cjs");const A=require("./components-basic-avatar-basic-avatar.cjs");require("phosphor-strokes-icons/icons/CheckCircle");require("phosphor-strokes-icons/icons/Info");require("phosphor-strokes-icons/icons/SpinnerGap");require("phosphor-strokes-icons/icons/Warning");require("phosphor-strokes-icons/icons/X");require("phosphor-strokes-icons/icons/XCircle");require("./index-DGxwh2Ms.cjs");const l=require("./components-basic-drawer-basic-drawer.cjs");require("phosphor-strokes-icons/icons/Plus");require("phosphor-strokes-icons/icons/CaretUp");require("phosphor-strokes-icons/icons/EnvelopeSimple");require("phosphor-strokes-icons/icons/MaxLogo");require("phosphor-strokes-icons/icons/Phone");require("phosphor-strokes-icons/icons/TelegramLogo");require("phosphor-strokes-icons/icons/WhatsAppLogoFilled");require("./components-input-phone-input-phone.cjs");require("./components-card-info-card-info.styles.cjs");const m="data:image/png;base64,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",n=({data:a,open:q,closePopup:g})=>{const i=Q.useMemo(()=>a.length===0?[]:a.reduce((s,r)=>{const u=s.find(c=>c.date===r.date);return u?(u.histories.push(r),s):(s.push({date:r.date,histories:[r]}),s)},[]),[a]);return e.jsx(l.BasicDrawer,{open:q,onOpenChange:g,drawer:{direction:"right"},content:{className:"bg-primary-bg border-none rounded-0! p-0!"},header:{className:"py-4 px-6 border-b border-[#E5E5E5]"},title:{content:e.jsx(t.Typography,{variant:"body-lg-medium",className:"text-primary-text text-center",children:"История"}),props:{className:"p-0!"}},children:i.length!==0?i.map(s=>e.jsxs("div",{children:[e.jsx("div",{className:"bg-info-new-bg p-2",children:e.jsx(t.Typography,{className:"text-tertiary-text text-center",variant:"body-sm-medium",children:s.date})}),e.jsx("div",{children:s.histories.map(r=>e.jsxs("div",{className:"bg-secondary-bg flex justify-between p-4 py-3",children:[e.jsxs("div",{className:"flex items-center",children:[e.jsxs("div",{className:"w-fit text-center",children:[e.jsx(A.BasicAvatar,{initials:{text:r.userName,className:"text-primary-text"},showDeleteOnHover:!1}),e.jsx(t.Typography,{variant:"body-xxs-medium",className:"text-secondary-text",children:r.dateShort})]}),e.jsxs("div",{className:"flex w-full max-w-50 flex-col gap-2.5",children:[e.jsx(t.Typography,{variant:"body-md-medium",className:"text-primary-text",children:r.title}),e.jsx(t.Typography,{variant:"body-sm-regular",className:"text-primary-text",children:r.message})]})]}),e.jsx(p.Badge,{variant:r.tag,classNames:{className:"h-fit"},children:r.tagLabel})]},r.id))})]},s.date)):e.jsxs("div",{className:`flex h-full flex-col items-center justify-center gap-4 px-4
|
|
2
|
+
text-center`,children:[e.jsx(t.Typography,{variant:"h-xs-medium",className:"text-primary-text",children:"История"}),e.jsx(t.Typography,{variant:"body-sm-regular",className:"text-secondary-text",children:"В истории пока пусто. Изменения статуса, готовности и других нюансов о заявке и проекте будет отображаться именно здесь."}),e.jsx("img",{src:m,alt:"not-found"})]})})};exports.StoryDrawer=n;
|
|
3
|
+
//# sourceMappingURL=components-story-drawer-story-drawer.cjs.map
|