brd-ui-kit 0.1.89 → 0.1.90

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.
@@ -1,11 +1,13 @@
1
- import { TransferListItem } from './transfer-list';
2
1
  import { IconTypes } from '../../types/types';
2
+ import { TransferListItem } from './transfer-list';
3
3
  type Props = {
4
4
  items: TransferListItem[];
5
5
  selectedSet: Set<string>;
6
+ allCompleted?: boolean;
6
7
  onSelectItem: (id: string) => void;
7
8
  onMoveItem: (itemId: string) => void;
8
9
  direction: "left" | "right";
10
+ emptyText: string;
9
11
  headerIcon?: {
10
12
  type: IconTypes;
11
13
  className: string;
@@ -18,5 +20,5 @@ type Props = {
18
20
  showHeaderTooltip?: boolean;
19
21
  showFooterIcons?: boolean;
20
22
  };
21
- export declare const TransferListCard: ({ items, selectedSet, onSelectItem, onMoveItem, direction, headerIcon, headerButton, showHeaderTooltip, showFooterIcons, }: Props) => import("react/jsx-runtime").JSX.Element;
23
+ export declare const TransferListCard: ({ items, selectedSet, emptyText, onSelectItem, onMoveItem, direction, allCompleted, headerIcon, headerButton, showHeaderTooltip, showFooterIcons, }: Props) => import("react/jsx-runtime").JSX.Element;
22
24
  export {};
@@ -1,5 +1,5 @@
1
- import { ComponentPropsWithRef } from 'react';
2
1
  import { VariantProps } from 'class-variance-authority';
2
+ import { ComponentPropsWithRef } from 'react';
3
3
  import { inputVariants } from './input.styles';
4
4
  type InputProps = ComponentPropsWithRef<"input"> & VariantProps<typeof inputVariants> & {
5
5
  className?: string;
@@ -1,5 +1,5 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),b=require("./lib-utils.cjs"),f=require("./components-basic-tooltip-basic-tooltip.cjs"),i=require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");const t=require("./components-ui-icon-icon.cjs");require("brd-phosphor-strokes-icons/icons");const o=require("./components-ui-typography-typography.cjs");require("./components-ui-typography-typography.styles.cjs");const N=({items:h,selectedSet:g,onSelectItem:u,onMoveItem:n,direction:x,headerIcon:l,headerButton:s,showHeaderTooltip:j=!1,showFooterIcons:d=!1})=>{const r=x==="right",p=r?"caret-right":"caret-left",y=r?"check-circle":"x-circle",m=r?"text-success-text":"text-error-text";return e.jsxs("div",{className:`bg-secondary-bg border-delicate-border flex h-full min-h-0 w-97.5
2
- flex-col rounded-xl border`,children:[e.jsxs("div",{className:b.cn("bg-primary-bg flex items-center rounded-t-xl px-7.5 py-4",x==="left"?"gap-6":"justify-between"),children:[e.jsxs("div",{className:"w-fit",children:[s&&!r&&e.jsx(i.Button,{variant:"circleGhost",onClick:s.onClick,disabled:s.disabled,children:e.jsx(t.Icon,{type:s.icon,className:"text-placeholder-text"})}),j&&e.jsx(f.BasicTooltip,{place:"left",arrow:!0,text:e.jsx(o.Typography,{variant:"body-xxs-regular",className:"w-fit",children:"Переносите пункты туда или обратно с помощью клика на них"}),children:e.jsx(t.Icon,{type:"info",className:"text-placeholder-text"})}),l&&e.jsx(t.Icon,{type:l.type,className:l.className})]}),e.jsx(o.Typography,{variant:"body-lg-semibold",className:"text-primary-text",children:r?"Нужно для расчета":"Уже есть для расчета"}),s&&r&&e.jsx(i.Button,{variant:"circleGhost",onClick:s.onClick,disabled:s.disabled,children:e.jsx(t.Icon,{type:s.icon,className:"text-placeholder-text"})})]}),e.jsx("div",{className:`border-delicate-border flex min-h-0 flex-1 flex-col gap-2
3
- overflow-y-auto border-t`,children:h.map(c=>e.jsxs("div",{className:b.cn(`bg-primary-bg flex cursor-pointer items-center justify-between gap-4 px-8
4
- py-4`,g.has(c.id)&&"bg-primary-hover-bg"),onClick:()=>u(c.id),children:[e.jsxs("div",{className:"flex items-center gap-4",children:[d?e.jsx(i.Button,{variant:"circleGhost",onClick:a=>{a.stopPropagation(),n(c.id)},children:e.jsx(t.Icon,{type:p,className:"text-placeholder-text"})}):e.jsx(t.Icon,{type:y,size:25,strokeWidth:1.5,className:m}),e.jsx(o.Typography,{variant:"body-md-regular",className:"text-primary-text",children:c.label})]}),d?e.jsx(t.Icon,{type:y,size:25,strokeWidth:1.5,className:m}):e.jsx(i.Button,{variant:"circleGhost",onClick:a=>{a.stopPropagation(),n(c.id)},children:e.jsx(t.Icon,{type:p,className:"text-placeholder-text"})})]},c.id))})]})};exports.TransferListCard=N;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),h=require("./lib-utils.cjs"),v=require("./components-basic-tooltip-basic-tooltip.cjs"),i=require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");const t=require("./components-ui-icon-icon.cjs");require("brd-phosphor-strokes-icons/icons");const l=require("./components-ui-typography-typography.cjs");require("./components-ui-typography-typography.styles.cjs");const _=({items:n,selectedSet:g,emptyText:u,onSelectItem:f,onMoveItem:x,direction:d,allCompleted:j,headerIcon:a,headerButton:s,showHeaderTooltip:N=!1,showFooterIcons:p=!1})=>{const r=d==="right",y=r?"caret-right":"caret-left",b=r?"x-circle":"check-circle",m=r?"text-error-text":"text-success-text";return e.jsxs("div",{className:`bg-secondary-bg border-delicate-border flex h-full min-h-0 w-97.5
2
+ flex-col rounded-xl border`,children:[e.jsxs("div",{className:h.cn("bg-primary-bg flex items-center rounded-t-xl px-7.5 py-4",d==="left"?"gap-6":"justify-between",j&&"bg-confidence-bg"),children:[e.jsxs("div",{className:"w-fit",children:[s&&!r&&e.jsx(i.Button,{variant:"circleGhost",onClick:s.onClick,disabled:s.disabled,children:e.jsx(t.Icon,{type:s.icon,className:"text-placeholder-text"})}),N&&e.jsx(v.BasicTooltip,{place:"left",arrow:!0,text:e.jsx(l.Typography,{variant:"body-xxs-regular",className:"w-fit",children:"Переносите пункты туда или обратно с помощью клика на них"}),children:e.jsx(t.Icon,{type:"info",className:"text-placeholder-text"})}),a&&e.jsx(t.Icon,{type:a.type,className:a.className})]}),e.jsx(l.Typography,{variant:"body-lg-semibold",className:"text-primary-text",children:r?"Нужно для расчета":"Уже есть для расчета"}),s&&r&&e.jsx(i.Button,{variant:"circleGhost",onClick:s.onClick,disabled:s.disabled,children:e.jsx(t.Icon,{type:s.icon,className:"text-placeholder-text"})})]}),e.jsx("div",{className:`border-delicate-border flex min-h-0 flex-1 flex-col gap-2
3
+ overflow-y-auto border-t`,children:n.length>0?n.map(c=>e.jsxs("div",{className:h.cn(`bg-primary-bg flex cursor-pointer items-center justify-between gap-4 px-8
4
+ py-4`,g.has(c.id)&&"bg-primary-hover-bg"),onClick:()=>f(c.id),children:[e.jsxs("div",{className:"flex items-center gap-4",children:[p?e.jsx(i.Button,{variant:"circleGhost",onClick:o=>{o.stopPropagation(),x(c.id)},children:e.jsx(t.Icon,{type:y,className:"text-placeholder-text"})}):e.jsx(t.Icon,{type:b,size:25,strokeWidth:1.5,className:m}),e.jsx(l.Typography,{variant:"body-md-regular",className:"text-primary-text",children:c.label})]}),p?e.jsx(t.Icon,{type:b,size:25,strokeWidth:1.5,className:m}):e.jsx(i.Button,{variant:"circleGhost",onClick:o=>{o.stopPropagation(),x(c.id)},children:e.jsx(t.Icon,{type:y,className:"text-placeholder-text"})})]},c.id)):e.jsx("div",{className:"flex h-full items-center justify-center",children:e.jsx(l.Typography,{variant:"body-lg-medium",className:"text-sub-label-text",children:u})})})]})};exports.TransferListCard=_;
5
5
  //# sourceMappingURL=components-transfer-list-transfer-list-card.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-transfer-list-transfer-list-card.cjs","sources":["../src/components/transfer-list/transfer-list-card.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport { BasicTooltip } from \"../basic-tooltip\";\nimport { Button } from \"../ui/button\";\nimport { Icon } from \"../ui/icon\";\nimport { Typography } from \"../ui/typography\";\nimport type { TransferListItem } from \"./transfer-list\";\nimport type { IconTypes } from \"@/types/types\";\n\ntype Props = {\n items: TransferListItem[];\n selectedSet: Set<string>;\n onSelectItem: (id: string) => void;\n onMoveItem: (itemId: string) => void;\n direction: \"left\" | \"right\";\n headerIcon?: {\n type: IconTypes;\n className: string;\n };\n headerButton?: {\n icon: IconTypes;\n onClick: () => void;\n disabled: boolean;\n };\n showHeaderTooltip?: boolean;\n showFooterIcons?: boolean;\n};\n\nexport const TransferListCard = ({\n items,\n selectedSet,\n onSelectItem,\n onMoveItem,\n direction,\n headerIcon,\n headerButton,\n showHeaderTooltip = false,\n showFooterIcons = false,\n}: Props) => {\n const isMovingToRight = direction === \"right\";\n const moveIcon = isMovingToRight ? \"caret-right\" : \"caret-left\";\n const footerIcon = isMovingToRight ? \"check-circle\" : \"x-circle\";\n const footerIconClassName = isMovingToRight ? \"text-success-text\" : \"text-error-text\";\n\n return (\n <div\n className=\"bg-secondary-bg border-delicate-border flex h-full min-h-0 w-97.5\n flex-col rounded-xl border\"\n >\n <div\n className={cn(\n \"bg-primary-bg flex items-center rounded-t-xl px-7.5 py-4\",\n direction === \"left\" ? \"gap-6\" : \"justify-between\",\n )}\n >\n <div className=\"w-fit\">\n {headerButton && !isMovingToRight && (\n <Button\n variant=\"circleGhost\"\n onClick={headerButton.onClick}\n disabled={headerButton.disabled}\n >\n <Icon\n type={headerButton.icon}\n className=\"text-placeholder-text\"\n />\n </Button>\n )}\n {showHeaderTooltip && (\n <BasicTooltip\n place=\"left\"\n arrow\n text={\n <Typography\n variant=\"body-xxs-regular\"\n className=\"w-fit\"\n >\n Переносите пункты туда или обратно с помощью клика на них\n </Typography>\n }\n >\n <Icon\n type=\"info\"\n className=\"text-placeholder-text\"\n />\n </BasicTooltip>\n )}\n {headerIcon && (\n <Icon\n type={headerIcon.type}\n className={headerIcon.className}\n />\n )}\n </div>\n\n <Typography\n variant=\"body-lg-semibold\"\n className=\"text-primary-text\"\n >\n {isMovingToRight ? \"Нужно для расчета\" : \"Уже есть для расчета\"}\n </Typography>\n\n {headerButton && isMovingToRight && (\n <Button\n variant=\"circleGhost\"\n onClick={headerButton.onClick}\n disabled={headerButton.disabled}\n >\n <Icon\n type={headerButton.icon}\n className=\"text-placeholder-text\"\n />\n </Button>\n )}\n </div>\n\n <div\n className=\"border-delicate-border flex min-h-0 flex-1 flex-col gap-2\n overflow-y-auto border-t\"\n >\n {items.map((item) => (\n <div\n key={item.id}\n className={cn(\n `bg-primary-bg flex cursor-pointer items-center justify-between gap-4 px-8\n py-4`,\n selectedSet.has(item.id) && \"bg-primary-hover-bg\",\n )}\n onClick={() => onSelectItem(item.id)}\n >\n <div className=\"flex items-center gap-4\">\n {showFooterIcons ? (\n <Button\n variant=\"circleGhost\"\n onClick={(e) => {\n e.stopPropagation();\n onMoveItem(item.id);\n }}\n >\n <Icon\n type={moveIcon}\n className=\"text-placeholder-text\"\n />\n </Button>\n ) : (\n <Icon\n type={footerIcon}\n size={25}\n strokeWidth={1.5}\n className={footerIconClassName}\n />\n )}\n\n <Typography\n variant=\"body-md-regular\"\n className=\"text-primary-text\"\n >\n {item.label}\n </Typography>\n </div>\n\n {!showFooterIcons ? (\n <Button\n variant=\"circleGhost\"\n onClick={(e) => {\n e.stopPropagation();\n onMoveItem(item.id);\n }}\n >\n <Icon\n type={moveIcon}\n className=\"text-placeholder-text\"\n />\n </Button>\n ) : (\n <Icon\n type={footerIcon}\n size={25}\n strokeWidth={1.5}\n className={footerIconClassName}\n />\n )}\n </div>\n ))}\n </div>\n </div>\n );\n};\n"],"names":["TransferListCard","items","selectedSet","onSelectItem","onMoveItem","direction","headerIcon","headerButton","showHeaderTooltip","showFooterIcons","isMovingToRight","moveIcon","footerIcon","footerIconClassName","jsxs","cn","jsx","Button","Icon","BasicTooltip","Typography","item","e"],"mappings":"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"}
1
+ {"version":3,"file":"components-transfer-list-transfer-list-card.cjs","sources":["../src/components/transfer-list/transfer-list-card.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport type { IconTypes } from \"@/types/types\";\nimport { BasicTooltip } from \"../basic-tooltip\";\nimport { Button } from \"../ui/button\";\nimport { Icon } from \"../ui/icon\";\nimport { Typography } from \"../ui/typography\";\nimport type { TransferListItem } from \"./transfer-list\";\n\ntype Props = {\n items: TransferListItem[];\n selectedSet: Set<string>;\n allCompleted?: boolean;\n onSelectItem: (id: string) => void;\n onMoveItem: (itemId: string) => void;\n direction: \"left\" | \"right\";\n emptyText: string;\n headerIcon?: {\n type: IconTypes;\n className: string;\n };\n headerButton?: {\n icon: IconTypes;\n onClick: () => void;\n disabled: boolean;\n };\n showHeaderTooltip?: boolean;\n showFooterIcons?: boolean;\n};\n\nexport const TransferListCard = ({\n items,\n selectedSet,\n emptyText,\n onSelectItem,\n onMoveItem,\n direction,\n allCompleted,\n headerIcon,\n headerButton,\n showHeaderTooltip = false,\n showFooterIcons = false,\n}: Props) => {\n const isMovingToRight = direction === \"right\";\n const moveIcon = isMovingToRight ? \"caret-right\" : \"caret-left\";\n const footerIcon = isMovingToRight ? \"x-circle\" : \"check-circle\";\n const footerIconClassName = isMovingToRight ? \"text-error-text\" : \"text-success-text\";\n\n return (\n <div\n className=\"bg-secondary-bg border-delicate-border flex h-full min-h-0 w-97.5\n flex-col rounded-xl border\"\n >\n <div\n className={cn(\n \"bg-primary-bg flex items-center rounded-t-xl px-7.5 py-4\",\n direction === \"left\" ? \"gap-6\" : \"justify-between\",\n allCompleted && \"bg-confidence-bg\",\n )}\n >\n <div className=\"w-fit\">\n {headerButton && !isMovingToRight && (\n <Button\n variant=\"circleGhost\"\n onClick={headerButton.onClick}\n disabled={headerButton.disabled}\n >\n <Icon\n type={headerButton.icon}\n className=\"text-placeholder-text\"\n />\n </Button>\n )}\n {showHeaderTooltip && (\n <BasicTooltip\n place=\"left\"\n arrow\n text={\n <Typography\n variant=\"body-xxs-regular\"\n className=\"w-fit\"\n >\n Переносите пункты туда или обратно с помощью клика на них\n </Typography>\n }\n >\n <Icon\n type=\"info\"\n className=\"text-placeholder-text\"\n />\n </BasicTooltip>\n )}\n {headerIcon && (\n <Icon\n type={headerIcon.type}\n className={headerIcon.className}\n />\n )}\n </div>\n\n <Typography\n variant=\"body-lg-semibold\"\n className=\"text-primary-text\"\n >\n {isMovingToRight ? \"Нужно для расчета\" : \"Уже есть для расчета\"}\n </Typography>\n\n {headerButton && isMovingToRight && (\n <Button\n variant=\"circleGhost\"\n onClick={headerButton.onClick}\n disabled={headerButton.disabled}\n >\n <Icon\n type={headerButton.icon}\n className=\"text-placeholder-text\"\n />\n </Button>\n )}\n </div>\n\n <div\n className=\"border-delicate-border flex min-h-0 flex-1 flex-col gap-2\n overflow-y-auto border-t\"\n >\n {items.length > 0 ? (\n items.map((item) => (\n <div\n key={item.id}\n className={cn(\n `bg-primary-bg flex cursor-pointer items-center justify-between gap-4 px-8\n py-4`,\n selectedSet.has(item.id) && \"bg-primary-hover-bg\",\n )}\n onClick={() => onSelectItem(item.id)}\n >\n <div className=\"flex items-center gap-4\">\n {showFooterIcons ? (\n <Button\n variant=\"circleGhost\"\n onClick={(e) => {\n e.stopPropagation();\n onMoveItem(item.id);\n }}\n >\n <Icon\n type={moveIcon}\n className=\"text-placeholder-text\"\n />\n </Button>\n ) : (\n <Icon\n type={footerIcon}\n size={25}\n strokeWidth={1.5}\n className={footerIconClassName}\n />\n )}\n\n <Typography\n variant=\"body-md-regular\"\n className=\"text-primary-text\"\n >\n {item.label}\n </Typography>\n </div>\n\n {!showFooterIcons ? (\n <Button\n variant=\"circleGhost\"\n onClick={(e) => {\n e.stopPropagation();\n onMoveItem(item.id);\n }}\n >\n <Icon\n type={moveIcon}\n className=\"text-placeholder-text\"\n />\n </Button>\n ) : (\n <Icon\n type={footerIcon}\n size={25}\n strokeWidth={1.5}\n className={footerIconClassName}\n />\n )}\n </div>\n ))\n ) : (\n <div className=\"flex h-full items-center justify-center\">\n <Typography\n variant=\"body-lg-medium\"\n className=\"text-sub-label-text\"\n >\n {emptyText}\n </Typography>\n </div>\n )}\n </div>\n </div>\n );\n};\n"],"names":["TransferListCard","items","selectedSet","emptyText","onSelectItem","onMoveItem","direction","allCompleted","headerIcon","headerButton","showHeaderTooltip","showFooterIcons","isMovingToRight","moveIcon","footerIcon","footerIconClassName","jsxs","cn","jsx","Button","Icon","BasicTooltip","Typography","item","e"],"mappings":"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"}
@@ -1,24 +1,26 @@
1
1
  import { jsxs as a, jsx as e } from "react/jsx-runtime";
2
- import { cn as h } from "./lib-utils.js";
3
- import { BasicTooltip as k } from "./components-basic-tooltip-basic-tooltip.js";
2
+ import { cn as y } from "./lib-utils.js";
3
+ import { BasicTooltip as C } from "./components-basic-tooltip-basic-tooltip.js";
4
4
  import { Button as c } from "./components-ui-button-button.js";
5
5
  import "./components-ui-button-button.styles.js";
6
- import { Icon as t } from "./components-ui-icon-icon.js";
6
+ import { Icon as l } from "./components-ui-icon-icon.js";
7
7
  import "brd-phosphor-strokes-icons/icons";
8
- import { Typography as d } from "./components-ui-typography-typography.js";
8
+ import { Typography as s } from "./components-ui-typography-typography.js";
9
9
  import "./components-ui-typography-typography.styles.js";
10
- const L = ({
11
- items: y,
10
+ const q = ({
11
+ items: d,
12
12
  selectedSet: g,
13
- onSelectItem: N,
14
- onMoveItem: n,
15
- direction: p,
16
- headerIcon: s,
17
- headerButton: r,
18
- showHeaderTooltip: v = !1,
19
- showFooterIcons: m = !1
13
+ emptyText: N,
14
+ onSelectItem: v,
15
+ onMoveItem: p,
16
+ direction: m,
17
+ allCompleted: k,
18
+ headerIcon: o,
19
+ headerButton: t,
20
+ showHeaderTooltip: u = !1,
21
+ showFooterIcons: x = !1
20
22
  }) => {
21
- const l = p === "right", x = l ? "caret-right" : "caret-left", f = l ? "check-circle" : "x-circle", b = l ? "text-success-text" : "text-error-text";
23
+ const r = m === "right", f = r ? "caret-right" : "caret-left", b = r ? "x-circle" : "check-circle", h = r ? "text-error-text" : "text-success-text";
22
24
  return /* @__PURE__ */ a(
23
25
  "div",
24
26
  {
@@ -28,34 +30,35 @@ const L = ({
28
30
  /* @__PURE__ */ a(
29
31
  "div",
30
32
  {
31
- className: h(
33
+ className: y(
32
34
  "bg-primary-bg flex items-center rounded-t-xl px-7.5 py-4",
33
- p === "left" ? "gap-6" : "justify-between"
35
+ m === "left" ? "gap-6" : "justify-between",
36
+ k && "bg-confidence-bg"
34
37
  ),
35
38
  children: [
36
39
  /* @__PURE__ */ a("div", { className: "w-fit", children: [
37
- r && !l && /* @__PURE__ */ e(
40
+ t && !r && /* @__PURE__ */ e(
38
41
  c,
39
42
  {
40
43
  variant: "circleGhost",
41
- onClick: r.onClick,
42
- disabled: r.disabled,
44
+ onClick: t.onClick,
45
+ disabled: t.disabled,
43
46
  children: /* @__PURE__ */ e(
44
- t,
47
+ l,
45
48
  {
46
- type: r.icon,
49
+ type: t.icon,
47
50
  className: "text-placeholder-text"
48
51
  }
49
52
  )
50
53
  }
51
54
  ),
52
- v && /* @__PURE__ */ e(
53
- k,
55
+ u && /* @__PURE__ */ e(
56
+ C,
54
57
  {
55
58
  place: "left",
56
59
  arrow: !0,
57
60
  text: /* @__PURE__ */ e(
58
- d,
61
+ s,
59
62
  {
60
63
  variant: "body-xxs-regular",
61
64
  className: "w-fit",
@@ -63,7 +66,7 @@ const L = ({
63
66
  }
64
67
  ),
65
68
  children: /* @__PURE__ */ e(
66
- t,
69
+ l,
67
70
  {
68
71
  type: "info",
69
72
  className: "text-placeholder-text"
@@ -71,32 +74,32 @@ const L = ({
71
74
  )
72
75
  }
73
76
  ),
74
- s && /* @__PURE__ */ e(
75
- t,
77
+ o && /* @__PURE__ */ e(
78
+ l,
76
79
  {
77
- type: s.type,
78
- className: s.className
80
+ type: o.type,
81
+ className: o.className
79
82
  }
80
83
  )
81
84
  ] }),
82
85
  /* @__PURE__ */ e(
83
- d,
86
+ s,
84
87
  {
85
88
  variant: "body-lg-semibold",
86
89
  className: "text-primary-text",
87
- children: l ? "Нужно для расчета" : "Уже есть для расчета"
90
+ children: r ? "Нужно для расчета" : "Уже есть для расчета"
88
91
  }
89
92
  ),
90
- r && l && /* @__PURE__ */ e(
93
+ t && r && /* @__PURE__ */ e(
91
94
  c,
92
95
  {
93
96
  variant: "circleGhost",
94
- onClick: r.onClick,
95
- disabled: r.disabled,
97
+ onClick: t.onClick,
98
+ disabled: t.disabled,
96
99
  children: /* @__PURE__ */ e(
97
- t,
100
+ l,
98
101
  {
99
- type: r.icon,
102
+ type: t.icon,
100
103
  className: "text-placeholder-text"
101
104
  }
102
105
  )
@@ -110,43 +113,43 @@ const L = ({
110
113
  {
111
114
  className: `border-delicate-border flex min-h-0 flex-1 flex-col gap-2
112
115
  overflow-y-auto border-t`,
113
- children: y.map((i) => /* @__PURE__ */ a(
116
+ children: d.length > 0 ? d.map((i) => /* @__PURE__ */ a(
114
117
  "div",
115
118
  {
116
- className: h(
119
+ className: y(
117
120
  `bg-primary-bg flex cursor-pointer items-center justify-between gap-4 px-8
118
- py-4`,
121
+ py-4`,
119
122
  g.has(i.id) && "bg-primary-hover-bg"
120
123
  ),
121
- onClick: () => N(i.id),
124
+ onClick: () => v(i.id),
122
125
  children: [
123
126
  /* @__PURE__ */ a("div", { className: "flex items-center gap-4", children: [
124
- m ? /* @__PURE__ */ e(
127
+ x ? /* @__PURE__ */ e(
125
128
  c,
126
129
  {
127
130
  variant: "circleGhost",
128
- onClick: (o) => {
129
- o.stopPropagation(), n(i.id);
131
+ onClick: (n) => {
132
+ n.stopPropagation(), p(i.id);
130
133
  },
131
134
  children: /* @__PURE__ */ e(
132
- t,
135
+ l,
133
136
  {
134
- type: x,
137
+ type: f,
135
138
  className: "text-placeholder-text"
136
139
  }
137
140
  )
138
141
  }
139
142
  ) : /* @__PURE__ */ e(
140
- t,
143
+ l,
141
144
  {
142
- type: f,
145
+ type: b,
143
146
  size: 25,
144
147
  strokeWidth: 1.5,
145
- className: b
148
+ className: h
146
149
  }
147
150
  ),
148
151
  /* @__PURE__ */ e(
149
- d,
152
+ s,
150
153
  {
151
154
  variant: "body-md-regular",
152
155
  className: "text-primary-text",
@@ -154,25 +157,25 @@ const L = ({
154
157
  }
155
158
  )
156
159
  ] }),
157
- m ? /* @__PURE__ */ e(
158
- t,
160
+ x ? /* @__PURE__ */ e(
161
+ l,
159
162
  {
160
- type: f,
163
+ type: b,
161
164
  size: 25,
162
165
  strokeWidth: 1.5,
163
- className: b
166
+ className: h
164
167
  }
165
168
  ) : /* @__PURE__ */ e(
166
169
  c,
167
170
  {
168
171
  variant: "circleGhost",
169
- onClick: (o) => {
170
- o.stopPropagation(), n(i.id);
172
+ onClick: (n) => {
173
+ n.stopPropagation(), p(i.id);
171
174
  },
172
175
  children: /* @__PURE__ */ e(
173
- t,
176
+ l,
174
177
  {
175
- type: x,
178
+ type: f,
176
179
  className: "text-placeholder-text"
177
180
  }
178
181
  )
@@ -181,7 +184,14 @@ const L = ({
181
184
  ]
182
185
  },
183
186
  i.id
184
- ))
187
+ )) : /* @__PURE__ */ e("div", { className: "flex h-full items-center justify-center", children: /* @__PURE__ */ e(
188
+ s,
189
+ {
190
+ variant: "body-lg-medium",
191
+ className: "text-sub-label-text",
192
+ children: N
193
+ }
194
+ ) })
185
195
  }
186
196
  )
187
197
  ]
@@ -189,6 +199,6 @@ const L = ({
189
199
  );
190
200
  };
191
201
  export {
192
- L as TransferListCard
202
+ q as TransferListCard
193
203
  };
194
204
  //# sourceMappingURL=components-transfer-list-transfer-list-card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-transfer-list-transfer-list-card.js","sources":["../src/components/transfer-list/transfer-list-card.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport { BasicTooltip } from \"../basic-tooltip\";\nimport { Button } from \"../ui/button\";\nimport { Icon } from \"../ui/icon\";\nimport { Typography } from \"../ui/typography\";\nimport type { TransferListItem } from \"./transfer-list\";\nimport type { IconTypes } from \"@/types/types\";\n\ntype Props = {\n items: TransferListItem[];\n selectedSet: Set<string>;\n onSelectItem: (id: string) => void;\n onMoveItem: (itemId: string) => void;\n direction: \"left\" | \"right\";\n headerIcon?: {\n type: IconTypes;\n className: string;\n };\n headerButton?: {\n icon: IconTypes;\n onClick: () => void;\n disabled: boolean;\n };\n showHeaderTooltip?: boolean;\n showFooterIcons?: boolean;\n};\n\nexport const TransferListCard = ({\n items,\n selectedSet,\n onSelectItem,\n onMoveItem,\n direction,\n headerIcon,\n headerButton,\n showHeaderTooltip = false,\n showFooterIcons = false,\n}: Props) => {\n const isMovingToRight = direction === \"right\";\n const moveIcon = isMovingToRight ? \"caret-right\" : \"caret-left\";\n const footerIcon = isMovingToRight ? \"check-circle\" : \"x-circle\";\n const footerIconClassName = isMovingToRight ? \"text-success-text\" : \"text-error-text\";\n\n return (\n <div\n className=\"bg-secondary-bg border-delicate-border flex h-full min-h-0 w-97.5\n flex-col rounded-xl border\"\n >\n <div\n className={cn(\n \"bg-primary-bg flex items-center rounded-t-xl px-7.5 py-4\",\n direction === \"left\" ? \"gap-6\" : \"justify-between\",\n )}\n >\n <div className=\"w-fit\">\n {headerButton && !isMovingToRight && (\n <Button\n variant=\"circleGhost\"\n onClick={headerButton.onClick}\n disabled={headerButton.disabled}\n >\n <Icon\n type={headerButton.icon}\n className=\"text-placeholder-text\"\n />\n </Button>\n )}\n {showHeaderTooltip && (\n <BasicTooltip\n place=\"left\"\n arrow\n text={\n <Typography\n variant=\"body-xxs-regular\"\n className=\"w-fit\"\n >\n Переносите пункты туда или обратно с помощью клика на них\n </Typography>\n }\n >\n <Icon\n type=\"info\"\n className=\"text-placeholder-text\"\n />\n </BasicTooltip>\n )}\n {headerIcon && (\n <Icon\n type={headerIcon.type}\n className={headerIcon.className}\n />\n )}\n </div>\n\n <Typography\n variant=\"body-lg-semibold\"\n className=\"text-primary-text\"\n >\n {isMovingToRight ? \"Нужно для расчета\" : \"Уже есть для расчета\"}\n </Typography>\n\n {headerButton && isMovingToRight && (\n <Button\n variant=\"circleGhost\"\n onClick={headerButton.onClick}\n disabled={headerButton.disabled}\n >\n <Icon\n type={headerButton.icon}\n className=\"text-placeholder-text\"\n />\n </Button>\n )}\n </div>\n\n <div\n className=\"border-delicate-border flex min-h-0 flex-1 flex-col gap-2\n overflow-y-auto border-t\"\n >\n {items.map((item) => (\n <div\n key={item.id}\n className={cn(\n `bg-primary-bg flex cursor-pointer items-center justify-between gap-4 px-8\n py-4`,\n selectedSet.has(item.id) && \"bg-primary-hover-bg\",\n )}\n onClick={() => onSelectItem(item.id)}\n >\n <div className=\"flex items-center gap-4\">\n {showFooterIcons ? (\n <Button\n variant=\"circleGhost\"\n onClick={(e) => {\n e.stopPropagation();\n onMoveItem(item.id);\n }}\n >\n <Icon\n type={moveIcon}\n className=\"text-placeholder-text\"\n />\n </Button>\n ) : (\n <Icon\n type={footerIcon}\n size={25}\n strokeWidth={1.5}\n className={footerIconClassName}\n />\n )}\n\n <Typography\n variant=\"body-md-regular\"\n className=\"text-primary-text\"\n >\n {item.label}\n </Typography>\n </div>\n\n {!showFooterIcons ? (\n <Button\n variant=\"circleGhost\"\n onClick={(e) => {\n e.stopPropagation();\n onMoveItem(item.id);\n }}\n >\n <Icon\n type={moveIcon}\n className=\"text-placeholder-text\"\n />\n </Button>\n ) : (\n <Icon\n type={footerIcon}\n size={25}\n strokeWidth={1.5}\n className={footerIconClassName}\n />\n )}\n </div>\n ))}\n </div>\n </div>\n );\n};\n"],"names":["TransferListCard","items","selectedSet","onSelectItem","onMoveItem","direction","headerIcon","headerButton","showHeaderTooltip","showFooterIcons","isMovingToRight","moveIcon","footerIcon","footerIconClassName","jsxs","cn","jsx","Button","Icon","BasicTooltip","Typography","item","e"],"mappings":";;;;;;;;;AA2BO,MAAMA,IAAmB,CAAC;AAAA,EAC/B,OAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,YAAAC;AAAA,EACA,cAAAC;AAAA,EACA,mBAAAC,IAAoB;AAAA,EACpB,iBAAAC,IAAkB;AACpB,MAAa;AACX,QAAMC,IAAkBL,MAAc,SAChCM,IAAWD,IAAkB,gBAAgB,cAC7CE,IAAaF,IAAkB,iBAAiB,YAChDG,IAAsBH,IAAkB,sBAAsB;AAEpE,SACE,gBAAAI;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAU;AAAA;AAAA,MAGV,UAAA;AAAA,QAAA,gBAAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWC;AAAA,cACT;AAAA,cACAV,MAAc,SAAS,UAAU;AAAA,YAAA;AAAA,YAGnC,UAAA;AAAA,cAAA,gBAAAS,EAAC,OAAA,EAAI,WAAU,SACZ,UAAA;AAAA,gBAAAP,KAAgB,CAACG,KAChB,gBAAAM;AAAA,kBAACC;AAAA,kBAAA;AAAA,oBACC,SAAQ;AAAA,oBACR,SAASV,EAAa;AAAA,oBACtB,UAAUA,EAAa;AAAA,oBAEvB,UAAA,gBAAAS;AAAA,sBAACE;AAAA,sBAAA;AAAA,wBACC,MAAMX,EAAa;AAAA,wBACnB,WAAU;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBACZ;AAAA,gBAAA;AAAA,gBAGHC,KACC,gBAAAQ;AAAA,kBAACG;AAAA,kBAAA;AAAA,oBACC,OAAM;AAAA,oBACN,OAAK;AAAA,oBACL,MACE,gBAAAH;AAAA,sBAACI;AAAA,sBAAA;AAAA,wBACC,SAAQ;AAAA,wBACR,WAAU;AAAA,wBACX,UAAA;AAAA,sBAAA;AAAA,oBAAA;AAAA,oBAKH,UAAA,gBAAAJ;AAAA,sBAACE;AAAA,sBAAA;AAAA,wBACC,MAAK;AAAA,wBACL,WAAU;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBACZ;AAAA,gBAAA;AAAA,gBAGHZ,KACC,gBAAAU;AAAA,kBAACE;AAAA,kBAAA;AAAA,oBACC,MAAMZ,EAAW;AAAA,oBACjB,WAAWA,EAAW;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACxB,GAEJ;AAAA,cAEA,gBAAAU;AAAA,gBAACI;AAAA,gBAAA;AAAA,kBACC,SAAQ;AAAA,kBACR,WAAU;AAAA,kBAET,cAAkB,sBAAsB;AAAA,gBAAA;AAAA,cAAA;AAAA,cAG1Cb,KAAgBG,KACf,gBAAAM;AAAA,gBAACC;AAAA,gBAAA;AAAA,kBACC,SAAQ;AAAA,kBACR,SAASV,EAAa;AAAA,kBACtB,UAAUA,EAAa;AAAA,kBAEvB,UAAA,gBAAAS;AAAA,oBAACE;AAAA,oBAAA;AAAA,sBACC,MAAMX,EAAa;AAAA,sBACnB,WAAU;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACZ;AAAA,cAAA;AAAA,YACF;AAAA,UAAA;AAAA,QAAA;AAAA,QAIJ,gBAAAS;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAU;AAAA;AAAA,YAGT,UAAAf,EAAM,IAAI,CAACoB,MACV,gBAAAP;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,WAAWC;AAAA,kBACT;AAAA;AAAA,kBAEAb,EAAY,IAAImB,EAAK,EAAE,KAAK;AAAA,gBAAA;AAAA,gBAE9B,SAAS,MAAMlB,EAAakB,EAAK,EAAE;AAAA,gBAEnC,UAAA;AAAA,kBAAA,gBAAAP,EAAC,OAAA,EAAI,WAAU,2BACZ,UAAA;AAAA,oBAAAL,IACC,gBAAAO;AAAA,sBAACC;AAAA,sBAAA;AAAA,wBACC,SAAQ;AAAA,wBACR,SAAS,CAACK,MAAM;AACd,0BAAAA,EAAE,gBAAA,GACFlB,EAAWiB,EAAK,EAAE;AAAA,wBACpB;AAAA,wBAEA,UAAA,gBAAAL;AAAA,0BAACE;AAAA,0BAAA;AAAA,4BACC,MAAMP;AAAA,4BACN,WAAU;AAAA,0BAAA;AAAA,wBAAA;AAAA,sBACZ;AAAA,oBAAA,IAGF,gBAAAK;AAAA,sBAACE;AAAA,sBAAA;AAAA,wBACC,MAAMN;AAAA,wBACN,MAAM;AAAA,wBACN,aAAa;AAAA,wBACb,WAAWC;AAAA,sBAAA;AAAA,oBAAA;AAAA,oBAIf,gBAAAG;AAAA,sBAACI;AAAA,sBAAA;AAAA,wBACC,SAAQ;AAAA,wBACR,WAAU;AAAA,wBAET,UAAAC,EAAK;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBACR,GACF;AAAA,kBAEEZ,IAcA,gBAAAO;AAAA,oBAACE;AAAA,oBAAA;AAAA,sBACC,MAAMN;AAAA,sBACN,MAAM;AAAA,sBACN,aAAa;AAAA,sBACb,WAAWC;AAAA,oBAAA;AAAA,kBAAA,IAjBb,gBAAAG;AAAA,oBAACC;AAAA,oBAAA;AAAA,sBACC,SAAQ;AAAA,sBACR,SAAS,CAACK,MAAM;AACd,wBAAAA,EAAE,gBAAA,GACFlB,EAAWiB,EAAK,EAAE;AAAA,sBACpB;AAAA,sBAEA,UAAA,gBAAAL;AAAA,wBAACE;AAAA,wBAAA;AAAA,0BACC,MAAMP;AAAA,0BACN,WAAU;AAAA,wBAAA;AAAA,sBAAA;AAAA,oBACZ;AAAA,kBAAA;AAAA,gBAQF;AAAA,cAAA;AAAA,cA1DGU,EAAK;AAAA,YAAA,CA6Db;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"components-transfer-list-transfer-list-card.js","sources":["../src/components/transfer-list/transfer-list-card.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport type { IconTypes } from \"@/types/types\";\nimport { BasicTooltip } from \"../basic-tooltip\";\nimport { Button } from \"../ui/button\";\nimport { Icon } from \"../ui/icon\";\nimport { Typography } from \"../ui/typography\";\nimport type { TransferListItem } from \"./transfer-list\";\n\ntype Props = {\n items: TransferListItem[];\n selectedSet: Set<string>;\n allCompleted?: boolean;\n onSelectItem: (id: string) => void;\n onMoveItem: (itemId: string) => void;\n direction: \"left\" | \"right\";\n emptyText: string;\n headerIcon?: {\n type: IconTypes;\n className: string;\n };\n headerButton?: {\n icon: IconTypes;\n onClick: () => void;\n disabled: boolean;\n };\n showHeaderTooltip?: boolean;\n showFooterIcons?: boolean;\n};\n\nexport const TransferListCard = ({\n items,\n selectedSet,\n emptyText,\n onSelectItem,\n onMoveItem,\n direction,\n allCompleted,\n headerIcon,\n headerButton,\n showHeaderTooltip = false,\n showFooterIcons = false,\n}: Props) => {\n const isMovingToRight = direction === \"right\";\n const moveIcon = isMovingToRight ? \"caret-right\" : \"caret-left\";\n const footerIcon = isMovingToRight ? \"x-circle\" : \"check-circle\";\n const footerIconClassName = isMovingToRight ? \"text-error-text\" : \"text-success-text\";\n\n return (\n <div\n className=\"bg-secondary-bg border-delicate-border flex h-full min-h-0 w-97.5\n flex-col rounded-xl border\"\n >\n <div\n className={cn(\n \"bg-primary-bg flex items-center rounded-t-xl px-7.5 py-4\",\n direction === \"left\" ? \"gap-6\" : \"justify-between\",\n allCompleted && \"bg-confidence-bg\",\n )}\n >\n <div className=\"w-fit\">\n {headerButton && !isMovingToRight && (\n <Button\n variant=\"circleGhost\"\n onClick={headerButton.onClick}\n disabled={headerButton.disabled}\n >\n <Icon\n type={headerButton.icon}\n className=\"text-placeholder-text\"\n />\n </Button>\n )}\n {showHeaderTooltip && (\n <BasicTooltip\n place=\"left\"\n arrow\n text={\n <Typography\n variant=\"body-xxs-regular\"\n className=\"w-fit\"\n >\n Переносите пункты туда или обратно с помощью клика на них\n </Typography>\n }\n >\n <Icon\n type=\"info\"\n className=\"text-placeholder-text\"\n />\n </BasicTooltip>\n )}\n {headerIcon && (\n <Icon\n type={headerIcon.type}\n className={headerIcon.className}\n />\n )}\n </div>\n\n <Typography\n variant=\"body-lg-semibold\"\n className=\"text-primary-text\"\n >\n {isMovingToRight ? \"Нужно для расчета\" : \"Уже есть для расчета\"}\n </Typography>\n\n {headerButton && isMovingToRight && (\n <Button\n variant=\"circleGhost\"\n onClick={headerButton.onClick}\n disabled={headerButton.disabled}\n >\n <Icon\n type={headerButton.icon}\n className=\"text-placeholder-text\"\n />\n </Button>\n )}\n </div>\n\n <div\n className=\"border-delicate-border flex min-h-0 flex-1 flex-col gap-2\n overflow-y-auto border-t\"\n >\n {items.length > 0 ? (\n items.map((item) => (\n <div\n key={item.id}\n className={cn(\n `bg-primary-bg flex cursor-pointer items-center justify-between gap-4 px-8\n py-4`,\n selectedSet.has(item.id) && \"bg-primary-hover-bg\",\n )}\n onClick={() => onSelectItem(item.id)}\n >\n <div className=\"flex items-center gap-4\">\n {showFooterIcons ? (\n <Button\n variant=\"circleGhost\"\n onClick={(e) => {\n e.stopPropagation();\n onMoveItem(item.id);\n }}\n >\n <Icon\n type={moveIcon}\n className=\"text-placeholder-text\"\n />\n </Button>\n ) : (\n <Icon\n type={footerIcon}\n size={25}\n strokeWidth={1.5}\n className={footerIconClassName}\n />\n )}\n\n <Typography\n variant=\"body-md-regular\"\n className=\"text-primary-text\"\n >\n {item.label}\n </Typography>\n </div>\n\n {!showFooterIcons ? (\n <Button\n variant=\"circleGhost\"\n onClick={(e) => {\n e.stopPropagation();\n onMoveItem(item.id);\n }}\n >\n <Icon\n type={moveIcon}\n className=\"text-placeholder-text\"\n />\n </Button>\n ) : (\n <Icon\n type={footerIcon}\n size={25}\n strokeWidth={1.5}\n className={footerIconClassName}\n />\n )}\n </div>\n ))\n ) : (\n <div className=\"flex h-full items-center justify-center\">\n <Typography\n variant=\"body-lg-medium\"\n className=\"text-sub-label-text\"\n >\n {emptyText}\n </Typography>\n </div>\n )}\n </div>\n </div>\n );\n};\n"],"names":["TransferListCard","items","selectedSet","emptyText","onSelectItem","onMoveItem","direction","allCompleted","headerIcon","headerButton","showHeaderTooltip","showFooterIcons","isMovingToRight","moveIcon","footerIcon","footerIconClassName","jsxs","cn","jsx","Button","Icon","BasicTooltip","Typography","item","e"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),t=require("react"),M=require("./components-transfer-list-transfer-list-card.cjs"),b=require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");const p=require("./components-ui-icon-icon.cjs");require("brd-phosphor-strokes-icons/icons");const d=!1,f=!0,L=({list:n,onChange:h})=>{const l=t.useMemo(()=>n.filter(e=>!e.inTarget),[n]),a=t.useMemo(()=>n.filter(e=>e.inTarget),[n]),[o,m]=t.useState([]),g=t.useMemo(()=>new Set(o),[o]),T=t.useMemo(()=>new Set(l.map(e=>e.id)),[l]),I=t.useMemo(()=>new Set(a.map(e=>e.id)),[a]),C=t.useMemo(()=>o.filter(e=>T.has(e)).length,[o,T]),_=t.useMemo(()=>o.filter(e=>I.has(e)).length,[o,I]),x=t.useCallback(e=>{m(s=>s.includes(e)?s.filter(i=>i!==e):[...s,e])},[]),r=t.useCallback((e,s)=>{const i=s??o;if(i.length===0)return;const v=new Set(i),w=n.map(u=>!v.has(u.id)||u.inTarget===e?u:{...u,inTarget:e});h(w),m([])},[n,h,o]),S=t.useCallback(e=>{r(e,n.filter(s=>s.inTarget!==e).map(s=>s.id))},[n,r]),j=t.useCallback(e=>{r(f,[e])},[r]),k=t.useCallback(e=>{r(d,[e])},[r]);return c.jsxs("div",{className:"flex h-full min-h-0 w-fit gap-6",children:[c.jsx(M.TransferListCard,{items:l,selectedSet:g,onSelectItem:x,onMoveItem:j,direction:"right",showHeaderTooltip:!0,headerButton:{icon:"caret-right",onClick:()=>S(f),disabled:l.length===0},showFooterIcons:!1}),c.jsxs("div",{className:"flex h-full flex-col justify-center gap-8",children:[c.jsx(b.Button,{variant:"circle",onClick:()=>r(f),disabled:C===0,children:c.jsx(p.Icon,{type:"caret-right",className:"text-placeholder-text"})}),c.jsx(b.Button,{variant:"circle",onClick:()=>r(d),disabled:_===0,children:c.jsx(p.Icon,{type:"caret-left",className:"text-placeholder-text"})})]}),c.jsx(M.TransferListCard,{items:a,selectedSet:g,onSelectItem:x,onMoveItem:k,direction:"left",headerButton:{icon:"caret-left",onClick:()=>S(d),disabled:a.length===0},showFooterIcons:!0})]})};exports.TransferList=L;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),t=require("react"),M=require("./components-ui-button-button.cjs");require("./components-ui-button-button.styles.cjs");const S=require("./components-ui-icon-icon.cjs");require("brd-phosphor-strokes-icons/icons");const C=require("./components-transfer-list-transfer-list-card.cjs"),d=!1,h=!0,q=({list:s,onChange:m})=>{const a=t.useMemo(()=>s.filter(e=>!e.inTarget),[s]),l=t.useMemo(()=>s.filter(e=>e.inTarget),[s]),[o,f]=t.useState([]),g=t.useMemo(()=>new Set(o),[o]),T=t.useMemo(()=>new Set(a.map(e=>e.id)),[a]),x=t.useMemo(()=>new Set(l.map(e=>e.id)),[l]),b=t.useMemo(()=>o.filter(e=>T.has(e)).length,[o,T]),_=t.useMemo(()=>o.filter(e=>x.has(e)).length,[o,x]),j=t.useMemo(()=>s.length===l.length,[s.length,l.length]),I=t.useCallback(e=>{f(n=>n.includes(e)?n.filter(i=>i!==e):[...n,e])},[]),r=t.useCallback((e,n)=>{const i=n??o;if(i.length===0)return;const w=new Set(i),L=s.map(u=>!w.has(u.id)||u.inTarget===e?u:{...u,inTarget:e});m(L),f([])},[s,m,o]),p=t.useCallback(e=>{r(e,s.filter(n=>n.inTarget!==e).map(n=>n.id))},[s,r]),k=t.useCallback(e=>{r(h,[e])},[r]),v=t.useCallback(e=>{r(d,[e])},[r]);return c.jsxs("div",{className:"flex h-full min-h-0 w-fit gap-6",children:[c.jsx(C.TransferListCard,{items:a,selectedSet:g,onSelectItem:I,onMoveItem:k,direction:"right",showHeaderTooltip:!0,headerButton:{icon:"caret-right",onClick:()=>p(h),disabled:a.length===0},showFooterIcons:!1,emptyText:"Все пункты выполнены"}),c.jsxs("div",{className:"flex h-full flex-col justify-center gap-8",children:[c.jsx(M.Button,{variant:"circle",onClick:()=>r(h),disabled:b===0,children:c.jsx(S.Icon,{type:"caret-right",className:"text-placeholder-text"})}),c.jsx(M.Button,{variant:"circle",onClick:()=>r(d),disabled:_===0,children:c.jsx(S.Icon,{type:"caret-left",className:"text-placeholder-text"})})]}),c.jsx(C.TransferListCard,{items:l,selectedSet:g,allCompleted:j,onSelectItem:I,onMoveItem:v,direction:"left",headerButton:{icon:"caret-left",onClick:()=>p(d),disabled:l.length===0},showFooterIcons:!0,emptyText:"В ожидании заполнения"})]})};exports.TransferList=q;
2
2
  //# sourceMappingURL=components-transfer-list-transfer-list.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-transfer-list-transfer-list.cjs","sources":["../src/components/transfer-list/transfer-list.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from \"react\";\nimport { TransferListCard } from \"./transfer-list-card\";\nimport { Button } from \"../ui/button\";\nimport { Icon } from \"../ui/icon\";\n\nexport type TransferListItem = {\n id: string;\n label: string;\n disabled?: boolean;\n inTarget: boolean;\n};\n\ntype Props = {\n list: TransferListItem[];\n onChange: (item: TransferListItem[]) => void;\n};\n\nconst MOVE_TO_LEFT = false;\nconst MOVE_TO_RIGHT = true;\n\nexport const TransferList = ({ list, onChange }: Props) => {\n const leftItems = useMemo(() => list.filter((i) => !i.inTarget), [list]);\n const rightItems = useMemo(() => list.filter((i) => i.inTarget), [list]);\n\n const [selectedIds, setSelectedIds] = useState<string[]>([]);\n\n const selectedSet = useMemo(() => new Set(selectedIds), [selectedIds]);\n const leftIdSet = useMemo(() => new Set(leftItems.map((item) => item.id)), [leftItems]);\n const rightIdSet = useMemo(\n () => new Set(rightItems.map((item) => item.id)),\n [rightItems],\n );\n\n const selectedLeftCount = useMemo(\n () => selectedIds.filter((id) => leftIdSet.has(id)).length,\n [selectedIds, leftIdSet],\n );\n const selectedRightCount = useMemo(\n () => selectedIds.filter((id) => rightIdSet.has(id)).length,\n [selectedIds, rightIdSet],\n );\n\n const onSelectItem = useCallback((id: string) => {\n setSelectedIds((prev) =>\n prev.includes(id) ? prev.filter((itemId) => itemId !== id) : [...prev, id],\n );\n }, []);\n\n const moveSelectedItems = useCallback(\n (move: boolean, ids?: string[]) => {\n const resolvedIds = ids ?? selectedIds;\n if (resolvedIds.length === 0) return;\n\n const idsToMoveSet = new Set(resolvedIds);\n\n const newData = list.map((item) => {\n if (!idsToMoveSet.has(item.id) || item.inTarget === move) {\n return item;\n }\n\n return {\n ...item,\n inTarget: move,\n };\n });\n\n onChange(newData);\n setSelectedIds([]);\n },\n [list, onChange, selectedIds],\n );\n\n const allMoveSelectedItems = useCallback(\n (move: boolean) => {\n moveSelectedItems(\n move,\n list.filter((item) => item.inTarget !== move).map((item) => item.id),\n );\n },\n [list, moveSelectedItems],\n );\n\n const moveToRight = useCallback(\n (itemId: string) => {\n moveSelectedItems(MOVE_TO_RIGHT, [itemId]);\n },\n [moveSelectedItems],\n );\n\n const moveToLeft = useCallback(\n (itemId: string) => {\n moveSelectedItems(MOVE_TO_LEFT, [itemId]);\n },\n [moveSelectedItems],\n );\n\n return (\n <div className=\"flex h-full min-h-0 w-fit gap-6\">\n <TransferListCard\n items={leftItems}\n selectedSet={selectedSet}\n onSelectItem={onSelectItem}\n onMoveItem={moveToRight}\n direction=\"right\"\n showHeaderTooltip={true}\n headerButton={{\n icon: \"caret-right\",\n onClick: () => allMoveSelectedItems(MOVE_TO_RIGHT),\n disabled: leftItems.length === 0,\n }}\n showFooterIcons={false}\n />\n\n <div className=\"flex h-full flex-col justify-center gap-8\">\n <Button\n variant=\"circle\"\n onClick={() => moveSelectedItems(MOVE_TO_RIGHT)}\n disabled={selectedLeftCount === 0}\n >\n <Icon\n type=\"caret-right\"\n className=\"text-placeholder-text\"\n />\n </Button>\n\n <Button\n variant=\"circle\"\n onClick={() => moveSelectedItems(MOVE_TO_LEFT)}\n disabled={selectedRightCount === 0}\n >\n <Icon\n type=\"caret-left\"\n className=\"text-placeholder-text\"\n />\n </Button>\n </div>\n\n <TransferListCard\n items={rightItems}\n selectedSet={selectedSet}\n onSelectItem={onSelectItem}\n onMoveItem={moveToLeft}\n direction=\"left\"\n headerButton={{\n icon: \"caret-left\",\n onClick: () => allMoveSelectedItems(MOVE_TO_LEFT),\n disabled: rightItems.length === 0,\n }}\n showFooterIcons\n />\n </div>\n );\n};\n"],"names":["MOVE_TO_LEFT","MOVE_TO_RIGHT","TransferList","list","onChange","leftItems","useMemo","i","rightItems","selectedIds","setSelectedIds","useState","selectedSet","leftIdSet","item","rightIdSet","selectedLeftCount","id","selectedRightCount","onSelectItem","useCallback","prev","itemId","moveSelectedItems","move","ids","resolvedIds","idsToMoveSet","newData","allMoveSelectedItems","moveToRight","moveToLeft","jsxs","jsx","TransferListCard","Button","Icon"],"mappings":"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"}
1
+ {"version":3,"file":"components-transfer-list-transfer-list.cjs","sources":["../src/components/transfer-list/transfer-list.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from \"react\";\nimport { Button } from \"../ui/button\";\nimport { Icon } from \"../ui/icon\";\nimport { TransferListCard } from \"./transfer-list-card\";\n\nexport type TransferListItem = {\n id: string;\n label: string;\n disabled?: boolean;\n inTarget: boolean;\n};\n\ntype Props = {\n list: TransferListItem[];\n onChange: (item: TransferListItem[]) => void;\n};\n\nconst MOVE_TO_LEFT = false;\nconst MOVE_TO_RIGHT = true;\n\nexport const TransferList = ({ list, onChange }: Props) => {\n const leftItems = useMemo(() => list.filter((i) => !i.inTarget), [list]);\n const rightItems = useMemo(() => list.filter((i) => i.inTarget), [list]);\n\n const [selectedIds, setSelectedIds] = useState<string[]>([]);\n\n const selectedSet = useMemo(() => new Set(selectedIds), [selectedIds]);\n const leftIdSet = useMemo(() => new Set(leftItems.map((item) => item.id)), [leftItems]);\n const rightIdSet = useMemo(\n () => new Set(rightItems.map((item) => item.id)),\n [rightItems],\n );\n\n const selectedLeftCount = useMemo(\n () => selectedIds.filter((id) => leftIdSet.has(id)).length,\n [selectedIds, leftIdSet],\n );\n const selectedRightCount = useMemo(\n () => selectedIds.filter((id) => rightIdSet.has(id)).length,\n [selectedIds, rightIdSet],\n );\n\n const allCompleted = useMemo(\n () => list.length === rightItems.length,\n [list.length, rightItems.length],\n );\n\n const onSelectItem = useCallback((id: string) => {\n setSelectedIds((prev) =>\n prev.includes(id) ? prev.filter((itemId) => itemId !== id) : [...prev, id],\n );\n }, []);\n\n const moveSelectedItems = useCallback(\n (move: boolean, ids?: string[]) => {\n const resolvedIds = ids ?? selectedIds;\n if (resolvedIds.length === 0) return;\n\n const idsToMoveSet = new Set(resolvedIds);\n\n const newData = list.map((item) => {\n if (!idsToMoveSet.has(item.id) || item.inTarget === move) {\n return item;\n }\n\n return {\n ...item,\n inTarget: move,\n };\n });\n\n onChange(newData);\n setSelectedIds([]);\n },\n [list, onChange, selectedIds],\n );\n\n const allMoveSelectedItems = useCallback(\n (move: boolean) => {\n moveSelectedItems(\n move,\n list.filter((item) => item.inTarget !== move).map((item) => item.id),\n );\n },\n [list, moveSelectedItems],\n );\n\n const moveToRight = useCallback(\n (itemId: string) => {\n moveSelectedItems(MOVE_TO_RIGHT, [itemId]);\n },\n [moveSelectedItems],\n );\n\n const moveToLeft = useCallback(\n (itemId: string) => {\n moveSelectedItems(MOVE_TO_LEFT, [itemId]);\n },\n [moveSelectedItems],\n );\n\n return (\n <div className=\"flex h-full min-h-0 w-fit gap-6\">\n <TransferListCard\n items={leftItems}\n selectedSet={selectedSet}\n onSelectItem={onSelectItem}\n onMoveItem={moveToRight}\n direction=\"right\"\n showHeaderTooltip={true}\n headerButton={{\n icon: \"caret-right\",\n onClick: () => allMoveSelectedItems(MOVE_TO_RIGHT),\n disabled: leftItems.length === 0,\n }}\n showFooterIcons={false}\n emptyText=\"Все пункты выполнены\"\n />\n\n <div className=\"flex h-full flex-col justify-center gap-8\">\n <Button\n variant=\"circle\"\n onClick={() => moveSelectedItems(MOVE_TO_RIGHT)}\n disabled={selectedLeftCount === 0}\n >\n <Icon\n type=\"caret-right\"\n className=\"text-placeholder-text\"\n />\n </Button>\n\n <Button\n variant=\"circle\"\n onClick={() => moveSelectedItems(MOVE_TO_LEFT)}\n disabled={selectedRightCount === 0}\n >\n <Icon\n type=\"caret-left\"\n className=\"text-placeholder-text\"\n />\n </Button>\n </div>\n\n <TransferListCard\n items={rightItems}\n selectedSet={selectedSet}\n allCompleted={allCompleted}\n onSelectItem={onSelectItem}\n onMoveItem={moveToLeft}\n direction=\"left\"\n headerButton={{\n icon: \"caret-left\",\n onClick: () => allMoveSelectedItems(MOVE_TO_LEFT),\n disabled: rightItems.length === 0,\n }}\n showFooterIcons\n emptyText=\"В ожидании заполнения\"\n />\n </div>\n );\n};\n"],"names":["MOVE_TO_LEFT","MOVE_TO_RIGHT","TransferList","list","onChange","leftItems","useMemo","i","rightItems","selectedIds","setSelectedIds","useState","selectedSet","leftIdSet","item","rightIdSet","selectedLeftCount","id","selectedRightCount","allCompleted","onSelectItem","useCallback","prev","itemId","moveSelectedItems","move","ids","resolvedIds","idsToMoveSet","newData","allMoveSelectedItems","moveToRight","moveToLeft","jsxs","jsx","TransferListCard","Button","Icon"],"mappings":"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"}
@@ -1,81 +1,85 @@
1
- import { jsxs as w, jsx as c } from "react/jsx-runtime";
2
- import { useMemo as s, useState as j, useCallback as l } from "react";
3
- import { TransferListCard as v } from "./components-transfer-list-transfer-list-card.js";
4
- import { Button as C } from "./components-ui-button-button.js";
1
+ import { jsxs as w, jsx as s } from "react/jsx-runtime";
2
+ import { useMemo as c, useState as j, useCallback as i } from "react";
3
+ import { Button as v } from "./components-ui-button-button.js";
5
4
  import "./components-ui-button-button.styles.js";
6
- import { Icon as M } from "./components-ui-icon-icon.js";
5
+ import { Icon as C } from "./components-ui-icon-icon.js";
7
6
  import "brd-phosphor-strokes-icons/icons";
8
- const m = !1, h = !0, D = ({ list: o, onChange: u }) => {
9
- const i = s(() => o.filter((e) => !e.inTarget), [o]), a = s(() => o.filter((e) => e.inTarget), [o]), [n, g] = j([]), p = s(() => new Set(n), [n]), I = s(() => new Set(i.map((e) => e.id)), [i]), T = s(
10
- () => new Set(a.map((e) => e.id)),
11
- [a]
12
- ), b = s(
13
- () => n.filter((e) => I.has(e)).length,
14
- [n, I]
15
- ), k = s(
7
+ import { TransferListCard as M } from "./components-transfer-list-transfer-list-card.js";
8
+ const m = !1, f = !0, G = ({ list: t, onChange: g }) => {
9
+ const a = c(() => t.filter((e) => !e.inTarget), [t]), l = c(() => t.filter((e) => e.inTarget), [t]), [n, p] = j([]), u = c(() => new Set(n), [n]), T = c(() => new Set(a.map((e) => e.id)), [a]), I = c(
10
+ () => new Set(l.map((e) => e.id)),
11
+ [l]
12
+ ), b = c(
16
13
  () => n.filter((e) => T.has(e)).length,
17
14
  [n, T]
18
- ), S = l((e) => {
19
- g(
20
- (t) => t.includes(e) ? t.filter((d) => d !== e) : [...t, e]
15
+ ), k = c(
16
+ () => n.filter((e) => I.has(e)).length,
17
+ [n, I]
18
+ ), y = c(
19
+ () => t.length === l.length,
20
+ [t.length, l.length]
21
+ ), S = i((e) => {
22
+ p(
23
+ (o) => o.includes(e) ? o.filter((d) => d !== e) : [...o, e]
21
24
  );
22
- }, []), r = l(
23
- (e, t) => {
24
- const d = t ?? n;
25
+ }, []), r = i(
26
+ (e, o) => {
27
+ const d = o ?? n;
25
28
  if (d.length === 0) return;
26
- const O = new Set(d), _ = o.map((f) => !O.has(f.id) || f.inTarget === e ? f : {
27
- ...f,
29
+ const O = new Set(d), _ = t.map((h) => !O.has(h.id) || h.inTarget === e ? h : {
30
+ ...h,
28
31
  inTarget: e
29
32
  });
30
- u(_), g([]);
33
+ g(_), p([]);
31
34
  },
32
- [o, u, n]
33
- ), x = l(
35
+ [t, g, n]
36
+ ), x = i(
34
37
  (e) => {
35
38
  r(
36
39
  e,
37
- o.filter((t) => t.inTarget !== e).map((t) => t.id)
40
+ t.filter((o) => o.inTarget !== e).map((o) => o.id)
38
41
  );
39
42
  },
40
- [o, r]
41
- ), L = l(
43
+ [t, r]
44
+ ), L = i(
42
45
  (e) => {
43
- r(h, [e]);
46
+ r(f, [e]);
44
47
  },
45
48
  [r]
46
- ), N = l(
49
+ ), N = i(
47
50
  (e) => {
48
51
  r(m, [e]);
49
52
  },
50
53
  [r]
51
54
  );
52
55
  return /* @__PURE__ */ w("div", { className: "flex h-full min-h-0 w-fit gap-6", children: [
53
- /* @__PURE__ */ c(
54
- v,
56
+ /* @__PURE__ */ s(
57
+ M,
55
58
  {
56
- items: i,
57
- selectedSet: p,
59
+ items: a,
60
+ selectedSet: u,
58
61
  onSelectItem: S,
59
62
  onMoveItem: L,
60
63
  direction: "right",
61
64
  showHeaderTooltip: !0,
62
65
  headerButton: {
63
66
  icon: "caret-right",
64
- onClick: () => x(h),
65
- disabled: i.length === 0
67
+ onClick: () => x(f),
68
+ disabled: a.length === 0
66
69
  },
67
- showFooterIcons: !1
70
+ showFooterIcons: !1,
71
+ emptyText: "Все пункты выполнены"
68
72
  }
69
73
  ),
70
74
  /* @__PURE__ */ w("div", { className: "flex h-full flex-col justify-center gap-8", children: [
71
- /* @__PURE__ */ c(
72
- C,
75
+ /* @__PURE__ */ s(
76
+ v,
73
77
  {
74
78
  variant: "circle",
75
- onClick: () => r(h),
79
+ onClick: () => r(f),
76
80
  disabled: b === 0,
77
- children: /* @__PURE__ */ c(
78
- M,
81
+ children: /* @__PURE__ */ s(
82
+ C,
79
83
  {
80
84
  type: "caret-right",
81
85
  className: "text-placeholder-text"
@@ -83,14 +87,14 @@ const m = !1, h = !0, D = ({ list: o, onChange: u }) => {
83
87
  )
84
88
  }
85
89
  ),
86
- /* @__PURE__ */ c(
87
- C,
90
+ /* @__PURE__ */ s(
91
+ v,
88
92
  {
89
93
  variant: "circle",
90
94
  onClick: () => r(m),
91
95
  disabled: k === 0,
92
- children: /* @__PURE__ */ c(
93
- M,
96
+ children: /* @__PURE__ */ s(
97
+ C,
94
98
  {
95
99
  type: "caret-left",
96
100
  className: "text-placeholder-text"
@@ -99,25 +103,27 @@ const m = !1, h = !0, D = ({ list: o, onChange: u }) => {
99
103
  }
100
104
  )
101
105
  ] }),
102
- /* @__PURE__ */ c(
103
- v,
106
+ /* @__PURE__ */ s(
107
+ M,
104
108
  {
105
- items: a,
106
- selectedSet: p,
109
+ items: l,
110
+ selectedSet: u,
111
+ allCompleted: y,
107
112
  onSelectItem: S,
108
113
  onMoveItem: N,
109
114
  direction: "left",
110
115
  headerButton: {
111
116
  icon: "caret-left",
112
117
  onClick: () => x(m),
113
- disabled: a.length === 0
118
+ disabled: l.length === 0
114
119
  },
115
- showFooterIcons: !0
120
+ showFooterIcons: !0,
121
+ emptyText: "В ожидании заполнения"
116
122
  }
117
123
  )
118
124
  ] });
119
125
  };
120
126
  export {
121
- D as TransferList
127
+ G as TransferList
122
128
  };
123
129
  //# sourceMappingURL=components-transfer-list-transfer-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components-transfer-list-transfer-list.js","sources":["../src/components/transfer-list/transfer-list.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from \"react\";\nimport { TransferListCard } from \"./transfer-list-card\";\nimport { Button } from \"../ui/button\";\nimport { Icon } from \"../ui/icon\";\n\nexport type TransferListItem = {\n id: string;\n label: string;\n disabled?: boolean;\n inTarget: boolean;\n};\n\ntype Props = {\n list: TransferListItem[];\n onChange: (item: TransferListItem[]) => void;\n};\n\nconst MOVE_TO_LEFT = false;\nconst MOVE_TO_RIGHT = true;\n\nexport const TransferList = ({ list, onChange }: Props) => {\n const leftItems = useMemo(() => list.filter((i) => !i.inTarget), [list]);\n const rightItems = useMemo(() => list.filter((i) => i.inTarget), [list]);\n\n const [selectedIds, setSelectedIds] = useState<string[]>([]);\n\n const selectedSet = useMemo(() => new Set(selectedIds), [selectedIds]);\n const leftIdSet = useMemo(() => new Set(leftItems.map((item) => item.id)), [leftItems]);\n const rightIdSet = useMemo(\n () => new Set(rightItems.map((item) => item.id)),\n [rightItems],\n );\n\n const selectedLeftCount = useMemo(\n () => selectedIds.filter((id) => leftIdSet.has(id)).length,\n [selectedIds, leftIdSet],\n );\n const selectedRightCount = useMemo(\n () => selectedIds.filter((id) => rightIdSet.has(id)).length,\n [selectedIds, rightIdSet],\n );\n\n const onSelectItem = useCallback((id: string) => {\n setSelectedIds((prev) =>\n prev.includes(id) ? prev.filter((itemId) => itemId !== id) : [...prev, id],\n );\n }, []);\n\n const moveSelectedItems = useCallback(\n (move: boolean, ids?: string[]) => {\n const resolvedIds = ids ?? selectedIds;\n if (resolvedIds.length === 0) return;\n\n const idsToMoveSet = new Set(resolvedIds);\n\n const newData = list.map((item) => {\n if (!idsToMoveSet.has(item.id) || item.inTarget === move) {\n return item;\n }\n\n return {\n ...item,\n inTarget: move,\n };\n });\n\n onChange(newData);\n setSelectedIds([]);\n },\n [list, onChange, selectedIds],\n );\n\n const allMoveSelectedItems = useCallback(\n (move: boolean) => {\n moveSelectedItems(\n move,\n list.filter((item) => item.inTarget !== move).map((item) => item.id),\n );\n },\n [list, moveSelectedItems],\n );\n\n const moveToRight = useCallback(\n (itemId: string) => {\n moveSelectedItems(MOVE_TO_RIGHT, [itemId]);\n },\n [moveSelectedItems],\n );\n\n const moveToLeft = useCallback(\n (itemId: string) => {\n moveSelectedItems(MOVE_TO_LEFT, [itemId]);\n },\n [moveSelectedItems],\n );\n\n return (\n <div className=\"flex h-full min-h-0 w-fit gap-6\">\n <TransferListCard\n items={leftItems}\n selectedSet={selectedSet}\n onSelectItem={onSelectItem}\n onMoveItem={moveToRight}\n direction=\"right\"\n showHeaderTooltip={true}\n headerButton={{\n icon: \"caret-right\",\n onClick: () => allMoveSelectedItems(MOVE_TO_RIGHT),\n disabled: leftItems.length === 0,\n }}\n showFooterIcons={false}\n />\n\n <div className=\"flex h-full flex-col justify-center gap-8\">\n <Button\n variant=\"circle\"\n onClick={() => moveSelectedItems(MOVE_TO_RIGHT)}\n disabled={selectedLeftCount === 0}\n >\n <Icon\n type=\"caret-right\"\n className=\"text-placeholder-text\"\n />\n </Button>\n\n <Button\n variant=\"circle\"\n onClick={() => moveSelectedItems(MOVE_TO_LEFT)}\n disabled={selectedRightCount === 0}\n >\n <Icon\n type=\"caret-left\"\n className=\"text-placeholder-text\"\n />\n </Button>\n </div>\n\n <TransferListCard\n items={rightItems}\n selectedSet={selectedSet}\n onSelectItem={onSelectItem}\n onMoveItem={moveToLeft}\n direction=\"left\"\n headerButton={{\n icon: \"caret-left\",\n onClick: () => allMoveSelectedItems(MOVE_TO_LEFT),\n disabled: rightItems.length === 0,\n }}\n showFooterIcons\n />\n </div>\n );\n};\n"],"names":["MOVE_TO_LEFT","MOVE_TO_RIGHT","TransferList","list","onChange","leftItems","useMemo","i","rightItems","selectedIds","setSelectedIds","useState","selectedSet","leftIdSet","item","rightIdSet","selectedLeftCount","id","selectedRightCount","onSelectItem","useCallback","prev","itemId","moveSelectedItems","move","ids","resolvedIds","idsToMoveSet","newData","allMoveSelectedItems","moveToRight","moveToLeft","jsxs","jsx","TransferListCard","Button","Icon"],"mappings":";;;;;;;AAiBA,MAAMA,IAAe,IACfC,IAAgB,IAETC,IAAe,CAAC,EAAE,MAAAC,GAAM,UAAAC,QAAsB;AACzD,QAAMC,IAAYC,EAAQ,MAAMH,EAAK,OAAO,CAACI,MAAM,CAACA,EAAE,QAAQ,GAAG,CAACJ,CAAI,CAAC,GACjEK,IAAaF,EAAQ,MAAMH,EAAK,OAAO,CAACI,MAAMA,EAAE,QAAQ,GAAG,CAACJ,CAAI,CAAC,GAEjE,CAACM,GAAaC,CAAc,IAAIC,EAAmB,CAAA,CAAE,GAErDC,IAAcN,EAAQ,MAAM,IAAI,IAAIG,CAAW,GAAG,CAACA,CAAW,CAAC,GAC/DI,IAAYP,EAAQ,MAAM,IAAI,IAAID,EAAU,IAAI,CAACS,MAASA,EAAK,EAAE,CAAC,GAAG,CAACT,CAAS,CAAC,GAChFU,IAAaT;AAAA,IACjB,MAAM,IAAI,IAAIE,EAAW,IAAI,CAACM,MAASA,EAAK,EAAE,CAAC;AAAA,IAC/C,CAACN,CAAU;AAAA,EAAA,GAGPQ,IAAoBV;AAAA,IACxB,MAAMG,EAAY,OAAO,CAACQ,MAAOJ,EAAU,IAAII,CAAE,CAAC,EAAE;AAAA,IACpD,CAACR,GAAaI,CAAS;AAAA,EAAA,GAEnBK,IAAqBZ;AAAA,IACzB,MAAMG,EAAY,OAAO,CAACQ,MAAOF,EAAW,IAAIE,CAAE,CAAC,EAAE;AAAA,IACrD,CAACR,GAAaM,CAAU;AAAA,EAAA,GAGpBI,IAAeC,EAAY,CAACH,MAAe;AAC/C,IAAAP;AAAA,MAAe,CAACW,MACdA,EAAK,SAASJ,CAAE,IAAII,EAAK,OAAO,CAACC,MAAWA,MAAWL,CAAE,IAAI,CAAC,GAAGI,GAAMJ,CAAE;AAAA,IAAA;AAAA,EAE7E,GAAG,CAAA,CAAE,GAECM,IAAoBH;AAAA,IACxB,CAACI,GAAeC,MAAmB;AACjC,YAAMC,IAAcD,KAAOhB;AAC3B,UAAIiB,EAAY,WAAW,EAAG;AAE9B,YAAMC,IAAe,IAAI,IAAID,CAAW,GAElCE,IAAUzB,EAAK,IAAI,CAACW,MACpB,CAACa,EAAa,IAAIb,EAAK,EAAE,KAAKA,EAAK,aAAaU,IAC3CV,IAGF;AAAA,QACL,GAAGA;AAAA,QACH,UAAUU;AAAA,MAAA,CAEb;AAED,MAAApB,EAASwB,CAAO,GAChBlB,EAAe,CAAA,CAAE;AAAA,IACnB;AAAA,IACA,CAACP,GAAMC,GAAUK,CAAW;AAAA,EAAA,GAGxBoB,IAAuBT;AAAA,IAC3B,CAACI,MAAkB;AACjB,MAAAD;AAAA,QACEC;AAAA,QACArB,EAAK,OAAO,CAACW,MAASA,EAAK,aAAaU,CAAI,EAAE,IAAI,CAACV,MAASA,EAAK,EAAE;AAAA,MAAA;AAAA,IAEvE;AAAA,IACA,CAACX,GAAMoB,CAAiB;AAAA,EAAA,GAGpBO,IAAcV;AAAA,IAClB,CAACE,MAAmB;AAClB,MAAAC,EAAkBtB,GAAe,CAACqB,CAAM,CAAC;AAAA,IAC3C;AAAA,IACA,CAACC,CAAiB;AAAA,EAAA,GAGdQ,IAAaX;AAAA,IACjB,CAACE,MAAmB;AAClB,MAAAC,EAAkBvB,GAAc,CAACsB,CAAM,CAAC;AAAA,IAC1C;AAAA,IACA,CAACC,CAAiB;AAAA,EAAA;AAGpB,SACE,gBAAAS,EAAC,OAAA,EAAI,WAAU,mCACb,UAAA;AAAA,IAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,OAAO7B;AAAA,QACP,aAAAO;AAAA,QACA,cAAAO;AAAA,QACA,YAAYW;AAAA,QACZ,WAAU;AAAA,QACV,mBAAmB;AAAA,QACnB,cAAc;AAAA,UACZ,MAAM;AAAA,UACN,SAAS,MAAMD,EAAqB5B,CAAa;AAAA,UACjD,UAAUI,EAAU,WAAW;AAAA,QAAA;AAAA,QAEjC,iBAAiB;AAAA,MAAA;AAAA,IAAA;AAAA,IAGnB,gBAAA2B,EAAC,OAAA,EAAI,WAAU,6CACb,UAAA;AAAA,MAAA,gBAAAC;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,SAAQ;AAAA,UACR,SAAS,MAAMZ,EAAkBtB,CAAa;AAAA,UAC9C,UAAUe,MAAsB;AAAA,UAEhC,UAAA,gBAAAiB;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QACZ;AAAA,MAAA;AAAA,MAGF,gBAAAH;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,SAAQ;AAAA,UACR,SAAS,MAAMZ,EAAkBvB,CAAY;AAAA,UAC7C,UAAUkB,MAAuB;AAAA,UAEjC,UAAA,gBAAAe;AAAA,YAACG;AAAA,YAAA;AAAA,cACC,MAAK;AAAA,cACL,WAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QACZ;AAAA,MAAA;AAAA,IACF,GACF;AAAA,IAEA,gBAAAH;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,OAAO1B;AAAA,QACP,aAAAI;AAAA,QACA,cAAAO;AAAA,QACA,YAAYY;AAAA,QACZ,WAAU;AAAA,QACV,cAAc;AAAA,UACZ,MAAM;AAAA,UACN,SAAS,MAAMF,EAAqB7B,CAAY;AAAA,UAChD,UAAUQ,EAAW,WAAW;AAAA,QAAA;AAAA,QAElC,iBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EACjB,GACF;AAEJ;"}
1
+ {"version":3,"file":"components-transfer-list-transfer-list.js","sources":["../src/components/transfer-list/transfer-list.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from \"react\";\nimport { Button } from \"../ui/button\";\nimport { Icon } from \"../ui/icon\";\nimport { TransferListCard } from \"./transfer-list-card\";\n\nexport type TransferListItem = {\n id: string;\n label: string;\n disabled?: boolean;\n inTarget: boolean;\n};\n\ntype Props = {\n list: TransferListItem[];\n onChange: (item: TransferListItem[]) => void;\n};\n\nconst MOVE_TO_LEFT = false;\nconst MOVE_TO_RIGHT = true;\n\nexport const TransferList = ({ list, onChange }: Props) => {\n const leftItems = useMemo(() => list.filter((i) => !i.inTarget), [list]);\n const rightItems = useMemo(() => list.filter((i) => i.inTarget), [list]);\n\n const [selectedIds, setSelectedIds] = useState<string[]>([]);\n\n const selectedSet = useMemo(() => new Set(selectedIds), [selectedIds]);\n const leftIdSet = useMemo(() => new Set(leftItems.map((item) => item.id)), [leftItems]);\n const rightIdSet = useMemo(\n () => new Set(rightItems.map((item) => item.id)),\n [rightItems],\n );\n\n const selectedLeftCount = useMemo(\n () => selectedIds.filter((id) => leftIdSet.has(id)).length,\n [selectedIds, leftIdSet],\n );\n const selectedRightCount = useMemo(\n () => selectedIds.filter((id) => rightIdSet.has(id)).length,\n [selectedIds, rightIdSet],\n );\n\n const allCompleted = useMemo(\n () => list.length === rightItems.length,\n [list.length, rightItems.length],\n );\n\n const onSelectItem = useCallback((id: string) => {\n setSelectedIds((prev) =>\n prev.includes(id) ? prev.filter((itemId) => itemId !== id) : [...prev, id],\n );\n }, []);\n\n const moveSelectedItems = useCallback(\n (move: boolean, ids?: string[]) => {\n const resolvedIds = ids ?? selectedIds;\n if (resolvedIds.length === 0) return;\n\n const idsToMoveSet = new Set(resolvedIds);\n\n const newData = list.map((item) => {\n if (!idsToMoveSet.has(item.id) || item.inTarget === move) {\n return item;\n }\n\n return {\n ...item,\n inTarget: move,\n };\n });\n\n onChange(newData);\n setSelectedIds([]);\n },\n [list, onChange, selectedIds],\n );\n\n const allMoveSelectedItems = useCallback(\n (move: boolean) => {\n moveSelectedItems(\n move,\n list.filter((item) => item.inTarget !== move).map((item) => item.id),\n );\n },\n [list, moveSelectedItems],\n );\n\n const moveToRight = useCallback(\n (itemId: string) => {\n moveSelectedItems(MOVE_TO_RIGHT, [itemId]);\n },\n [moveSelectedItems],\n );\n\n const moveToLeft = useCallback(\n (itemId: string) => {\n moveSelectedItems(MOVE_TO_LEFT, [itemId]);\n },\n [moveSelectedItems],\n );\n\n return (\n <div className=\"flex h-full min-h-0 w-fit gap-6\">\n <TransferListCard\n items={leftItems}\n selectedSet={selectedSet}\n onSelectItem={onSelectItem}\n onMoveItem={moveToRight}\n direction=\"right\"\n showHeaderTooltip={true}\n headerButton={{\n icon: \"caret-right\",\n onClick: () => allMoveSelectedItems(MOVE_TO_RIGHT),\n disabled: leftItems.length === 0,\n }}\n showFooterIcons={false}\n emptyText=\"Все пункты выполнены\"\n />\n\n <div className=\"flex h-full flex-col justify-center gap-8\">\n <Button\n variant=\"circle\"\n onClick={() => moveSelectedItems(MOVE_TO_RIGHT)}\n disabled={selectedLeftCount === 0}\n >\n <Icon\n type=\"caret-right\"\n className=\"text-placeholder-text\"\n />\n </Button>\n\n <Button\n variant=\"circle\"\n onClick={() => moveSelectedItems(MOVE_TO_LEFT)}\n disabled={selectedRightCount === 0}\n >\n <Icon\n type=\"caret-left\"\n className=\"text-placeholder-text\"\n />\n </Button>\n </div>\n\n <TransferListCard\n items={rightItems}\n selectedSet={selectedSet}\n allCompleted={allCompleted}\n onSelectItem={onSelectItem}\n onMoveItem={moveToLeft}\n direction=\"left\"\n headerButton={{\n icon: \"caret-left\",\n onClick: () => allMoveSelectedItems(MOVE_TO_LEFT),\n disabled: rightItems.length === 0,\n }}\n showFooterIcons\n emptyText=\"В ожидании заполнения\"\n />\n </div>\n );\n};\n"],"names":["MOVE_TO_LEFT","MOVE_TO_RIGHT","TransferList","list","onChange","leftItems","useMemo","i","rightItems","selectedIds","setSelectedIds","useState","selectedSet","leftIdSet","item","rightIdSet","selectedLeftCount","id","selectedRightCount","allCompleted","onSelectItem","useCallback","prev","itemId","moveSelectedItems","move","ids","resolvedIds","idsToMoveSet","newData","allMoveSelectedItems","moveToRight","moveToLeft","jsxs","jsx","TransferListCard","Button","Icon"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"components-ui-input-input.cjs","sources":["../src/components/ui/input/input.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport { type VariantProps } from \"class-variance-authority\";\n\nimport { inputVariants } from \"./input.styles\";\n\ntype InputProps = ComponentPropsWithRef<\"input\"> &\n VariantProps<typeof inputVariants> & { className?: string };\n\nconst Input = ({ className, sizeInput, type, variant, ...props }: InputProps) => {\n return (\n <input\n data-slot=\"input\"\n type={type || \"text\"}\n className={cn(inputVariants({ variant, sizeInput }), className)}\n {...props}\n />\n );\n};\nexport { Input };\n"],"names":["Input","className","sizeInput","type","variant","props","jsx","cn","inputVariants"],"mappings":"gPASMA,EAAQ,CAAC,CAAE,UAAAC,EAAW,UAAAC,EAAW,KAAAC,EAAM,QAAAC,EAAS,GAAGC,KAErDC,EAAAA,IAAC,QAAA,CACC,YAAU,QACV,KAAMH,GAAQ,OACd,UAAWI,EAAAA,GAAGC,gBAAc,CAAE,QAAAJ,EAAS,UAAAF,CAAA,CAAW,EAAGD,CAAS,EAC7D,GAAGI,CAAA,CAAA"}
1
+ {"version":3,"file":"components-ui-input-input.cjs","sources":["../src/components/ui/input/input.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport { type VariantProps } from \"class-variance-authority\";\nimport type { ComponentPropsWithRef } from \"react\";\n\nimport { inputVariants } from \"./input.styles\";\n\ntype InputProps = ComponentPropsWithRef<\"input\"> &\n VariantProps<typeof inputVariants> & { className?: string };\n\nconst Input = ({ className, sizeInput, type, variant, ...props }: InputProps) => {\n return (\n <input\n data-slot=\"input\"\n type={type || \"text\"}\n className={cn(inputVariants({ variant, sizeInput }), className)}\n {...props}\n />\n );\n};\nexport { Input };\n"],"names":["Input","className","sizeInput","type","variant","props","jsx","cn","inputVariants"],"mappings":"gPASMA,EAAQ,CAAC,CAAE,UAAAC,EAAW,UAAAC,EAAW,KAAAC,EAAM,QAAAC,EAAS,GAAGC,KAErDC,EAAAA,IAAC,QAAA,CACC,YAAU,QACV,KAAMH,GAAQ,OACd,UAAWI,EAAAA,GAAGC,gBAAc,CAAE,QAAAJ,EAAS,UAAAF,CAAA,CAAW,EAAGD,CAAS,EAC7D,GAAGI,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"components-ui-input-input.js","sources":["../src/components/ui/input/input.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from \"react\";\nimport { cn } from \"@/lib/utils\";\nimport { type VariantProps } from \"class-variance-authority\";\n\nimport { inputVariants } from \"./input.styles\";\n\ntype InputProps = ComponentPropsWithRef<\"input\"> &\n VariantProps<typeof inputVariants> & { className?: string };\n\nconst Input = ({ className, sizeInput, type, variant, ...props }: InputProps) => {\n return (\n <input\n data-slot=\"input\"\n type={type || \"text\"}\n className={cn(inputVariants({ variant, sizeInput }), className)}\n {...props}\n />\n );\n};\nexport { Input };\n"],"names":["Input","className","sizeInput","type","variant","props","jsx","cn","inputVariants"],"mappings":";;;;AASA,MAAMA,IAAQ,CAAC,EAAE,WAAAC,GAAW,WAAAC,GAAW,MAAAC,GAAM,SAAAC,GAAS,GAAGC,QAErD,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,aAAU;AAAA,IACV,MAAMH,KAAQ;AAAA,IACd,WAAWI,EAAGC,EAAc,EAAE,SAAAJ,GAAS,WAAAF,EAAA,CAAW,GAAGD,CAAS;AAAA,IAC7D,GAAGI;AAAA,EAAA;AAAA;"}
1
+ {"version":3,"file":"components-ui-input-input.js","sources":["../src/components/ui/input/input.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport { type VariantProps } from \"class-variance-authority\";\nimport type { ComponentPropsWithRef } from \"react\";\n\nimport { inputVariants } from \"./input.styles\";\n\ntype InputProps = ComponentPropsWithRef<\"input\"> &\n VariantProps<typeof inputVariants> & { className?: string };\n\nconst Input = ({ className, sizeInput, type, variant, ...props }: InputProps) => {\n return (\n <input\n data-slot=\"input\"\n type={type || \"text\"}\n className={cn(inputVariants({ variant, sizeInput }), className)}\n {...props}\n />\n );\n};\nexport { Input };\n"],"names":["Input","className","sizeInput","type","variant","props","jsx","cn","inputVariants"],"mappings":";;;;AASA,MAAMA,IAAQ,CAAC,EAAE,WAAAC,GAAW,WAAAC,GAAW,MAAAC,GAAM,SAAAC,GAAS,GAAGC,QAErD,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,aAAU;AAAA,IACV,MAAMH,KAAQ;AAAA,IACd,WAAWI,EAAGC,EAAc,EAAE,SAAAJ,GAAS,WAAAF,EAAA,CAAW,GAAGD,CAAS;AAAA,IAC7D,GAAGI;AAAA,EAAA;AAAA;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brd-ui-kit",
3
- "version": "0.1.89",
3
+ "version": "0.1.90",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "engines": {