@dgshahr/ui-kit 0.0.1

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.
Files changed (89) hide show
  1. package/dist/Accordion/AccordionGroup.d.ts +8 -0
  2. package/dist/Accordion/AccordionGroup.d.ts.map +1 -0
  3. package/dist/Accordion/AccordionItem.d.ts +10 -0
  4. package/dist/Accordion/AccordionItem.d.ts.map +1 -0
  5. package/dist/Accordion/context.d.ts +8 -0
  6. package/dist/Accordion/context.d.ts.map +1 -0
  7. package/dist/Accordion/index.cjs +11 -0
  8. package/dist/Accordion/index.d.ts +3 -0
  9. package/dist/Accordion/index.d.ts.map +1 -0
  10. package/dist/Accordion/index.js +2 -0
  11. package/dist/AccordionItem-BBbE__nk.js +103 -0
  12. package/dist/AccordionItem-BOXOB5GK.cjs +106 -0
  13. package/dist/Alert/index.cjs +242 -0
  14. package/dist/Alert/index.d.ts +17 -0
  15. package/dist/Alert/index.d.ts.map +1 -0
  16. package/dist/Alert/index.js +240 -0
  17. package/dist/Alert/variants.d.ts +14 -0
  18. package/dist/Alert/variants.d.ts.map +1 -0
  19. package/dist/ArrowLeft2-BURhvXT2.js +22 -0
  20. package/dist/ArrowLeft2-iZ0Au6Fn.cjs +24 -0
  21. package/dist/ArrowRight2-DCxJPvNC.js +25 -0
  22. package/dist/ArrowRight2-DTuru_sP.cjs +27 -0
  23. package/dist/Badge/index.cjs +72 -0
  24. package/dist/Badge/index.d.ts +21 -0
  25. package/dist/Badge/index.d.ts.map +1 -0
  26. package/dist/Badge/index.js +70 -0
  27. package/dist/Breadcrumb/index.cjs +34 -0
  28. package/dist/Breadcrumb/index.d.ts +13 -0
  29. package/dist/Breadcrumb/index.d.ts.map +1 -0
  30. package/dist/Breadcrumb/index.js +32 -0
  31. package/dist/Button/index.cjs +119 -0
  32. package/dist/Button/index.d.ts +13 -0
  33. package/dist/Button/index.d.ts.map +1 -0
  34. package/dist/Button/index.js +117 -0
  35. package/dist/Button/variants.d.ts +5 -0
  36. package/dist/Button/variants.d.ts.map +1 -0
  37. package/dist/Divider/index.cjs +25 -0
  38. package/dist/Divider/index.d.ts +9 -0
  39. package/dist/Divider/index.d.ts.map +1 -0
  40. package/dist/Divider/index.js +23 -0
  41. package/dist/Form/Checkbox/index.cjs +72 -0
  42. package/dist/Form/Checkbox/index.d.ts +8 -0
  43. package/dist/Form/Checkbox/index.d.ts.map +1 -0
  44. package/dist/Form/Checkbox/index.js +70 -0
  45. package/dist/Form/Input/index.cjs +182 -0
  46. package/dist/Form/Input/index.d.ts +12 -0
  47. package/dist/Form/Input/index.d.ts.map +1 -0
  48. package/dist/Form/Input/index.js +180 -0
  49. package/dist/Form/RadioButton/index.cjs +22 -0
  50. package/dist/Form/RadioButton/index.d.ts +6 -0
  51. package/dist/Form/RadioButton/index.d.ts.map +1 -0
  52. package/dist/Form/RadioButton/index.js +20 -0
  53. package/dist/Form/Textarea/index.cjs +27 -0
  54. package/dist/Form/Textarea/index.d.ts +7 -0
  55. package/dist/Form/Textarea/index.d.ts.map +1 -0
  56. package/dist/Form/Textarea/index.js +25 -0
  57. package/dist/Pagination/index.cjs +119 -0
  58. package/dist/Pagination/index.d.ts +13 -0
  59. package/dist/Pagination/index.d.ts.map +1 -0
  60. package/dist/Pagination/index.js +117 -0
  61. package/dist/Pagination/utils.d.ts +8 -0
  62. package/dist/Pagination/utils.d.ts.map +1 -0
  63. package/dist/SelectableInputWrapper-D2aYQb9J.cjs +71 -0
  64. package/dist/SelectableInputWrapper-DAj8v1nv.js +69 -0
  65. package/dist/Slide-6SD8mElS.js +198 -0
  66. package/dist/Slide-BiCQh7AV.cjs +201 -0
  67. package/dist/Slider/NavigationDot.d.ts +11 -0
  68. package/dist/Slider/NavigationDot.d.ts.map +1 -0
  69. package/dist/Slider/Slide.d.ts +7 -0
  70. package/dist/Slider/Slide.d.ts.map +1 -0
  71. package/dist/Slider/Slider.d.ts +25 -0
  72. package/dist/Slider/Slider.d.ts.map +1 -0
  73. package/dist/Slider/context.d.ts +8 -0
  74. package/dist/Slider/context.d.ts.map +1 -0
  75. package/dist/Slider/index.cjs +11 -0
  76. package/dist/Slider/index.d.ts +3 -0
  77. package/dist/Slider/index.d.ts.map +1 -0
  78. package/dist/Slider/index.js +2 -0
  79. package/dist/TextFieldWrapper-C80myx6j.cjs +169 -0
  80. package/dist/TextFieldWrapper-D3oaEPmc.js +167 -0
  81. package/dist/assets/Button.css +1675 -0
  82. package/dist/assets/styles.css +1611 -0
  83. package/dist/clsx-BtxeOLZW.cjs +5 -0
  84. package/dist/clsx-ChV9xqsO.js +3 -0
  85. package/dist/index.cjs +34 -0
  86. package/dist/index.d.ts +13 -0
  87. package/dist/index.d.ts.map +1 -0
  88. package/dist/index.js +13 -0
  89. package/package.json +83 -0
@@ -0,0 +1,8 @@
1
+ import { FC, PropsWithChildren } from 'react';
2
+ interface AccordionGroupProps {
3
+ defaultActiveKey?: string;
4
+ className?: string;
5
+ }
6
+ declare const AccordionGroup: FC<PropsWithChildren<AccordionGroupProps>>;
7
+ export default AccordionGroup;
8
+ //# sourceMappingURL=AccordionGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionGroup.d.ts","sourceRoot":"","sources":["../../src/components/Accordion/AccordionGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAInD,UAAU,mBAAmB;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,cAAc,EAAE,EAAE,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAgB9D,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { FC, PropsWithChildren, ReactNode } from 'react';
2
+ interface AccordionItemProps {
3
+ title: string | ReactNode;
4
+ accordionKey?: string;
5
+ className?: string;
6
+ contentClassName?: string;
7
+ }
8
+ declare const AccordionItem: FC<PropsWithChildren<AccordionItemProps>>;
9
+ export default AccordionItem;
10
+ //# sourceMappingURL=AccordionItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccordionItem.d.ts","sourceRoot":"","sources":["../../src/components/Accordion/AccordionItem.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAK9D,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,QAAA,MAAM,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,CA6C5D,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,8 @@
1
+ interface IAccordionContext {
2
+ activeKey: string | null;
3
+ setActiveKey: (key: IAccordionContext['activeKey']) => void;
4
+ }
5
+ export declare const accordionContext: import('react').Context<IAccordionContext>;
6
+ export declare const useAccordionData: () => IAccordionContext;
7
+ export {};
8
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/components/Accordion/context.ts"],"names":[],"mappings":"AAEA,UAAU,iBAAiB;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;CAC7D;AAED,eAAO,MAAM,gBAAgB,4CAG3B,CAAC;AAEH,eAAO,MAAM,gBAAgB,yBAAqC,CAAC"}
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ require('../assets/styles.css');;/* empty css */
6
+ const AccordionItem = require('../AccordionItem-BOXOB5GK.cjs');
7
+
8
+
9
+
10
+ exports.AccordionGroup = AccordionItem.AccordionGroup;
11
+ exports.AccordionItem = AccordionItem.AccordionItem;
@@ -0,0 +1,3 @@
1
+ export { default as AccordionGroup } from './AccordionGroup';
2
+ export { default as AccordionItem } from './AccordionItem';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/Accordion/index.tsx"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import '../assets/styles.css';/* empty css */
2
+ export { A as AccordionGroup, a as AccordionItem } from '../AccordionItem-BBbE__nk.js';
@@ -0,0 +1,103 @@
1
+ import { jsx, jsxs } from 'react/jsx-runtime';
2
+ import { createContext, useContext, useState, useId } from 'react';
3
+ import { c as clsx } from './clsx-ChV9xqsO.js';
4
+ import Divider from './Divider/index.js';
5
+
6
+ const accordionContext = createContext({
7
+ activeKey: null,
8
+ setActiveKey: () => {
9
+ }
10
+ });
11
+ const useAccordionData = () => useContext(accordionContext);
12
+
13
+ const AccordionGroup = (props) => {
14
+ const { defaultActiveKey = null, className, children } = props;
15
+ const [activeKey, setActiveKey] = useState(defaultActiveKey);
16
+ return /* @__PURE__ */ jsx("div", { className: clsx("flex flex-col", className), children: /* @__PURE__ */ jsx(
17
+ accordionContext.Provider,
18
+ {
19
+ value: {
20
+ activeKey,
21
+ setActiveKey
22
+ },
23
+ children
24
+ }
25
+ ) });
26
+ };
27
+
28
+ const ArrowDown2Icon = (props) => /* @__PURE__ */ jsx(
29
+ "svg",
30
+ {
31
+ xmlns: "http://www.w3.org/2000/svg",
32
+ width: "1em",
33
+ height: "1em",
34
+ fill: "none",
35
+ viewBox: "0 0 24 24",
36
+ ...props,
37
+ children: /* @__PURE__ */ jsx(
38
+ "path",
39
+ {
40
+ fill: "currentColor",
41
+ d: "M4.47 7.97a.75.75 0 0 1 .976-.073l.084.073L12 14.439l6.47-6.47a.75.75 0 0 1 .976-.072l.084.073a.75.75 0 0 1 .073.976l-.073.084-7 7a.75.75 0 0 1-.976.073l-.084-.073-7-7a.75.75 0 0 1 0-1.06"
42
+ }
43
+ )
44
+ }
45
+ );
46
+
47
+ const AccordionItem = (props) => {
48
+ const { children, title, accordionKey, className, contentClassName } = props;
49
+ const { activeKey, setActiveKey } = useAccordionData();
50
+ const reactUseId = useId();
51
+ const accordionItemKey = accordionKey ?? reactUseId;
52
+ const isItemActive = accordionItemKey === activeKey;
53
+ return /* @__PURE__ */ jsxs("div", { className: clsx("bg-white px-4 pt-4", className), children: [
54
+ /* @__PURE__ */ jsxs(
55
+ "button",
56
+ {
57
+ className: clsx(
58
+ "flex justify-between items-center w-full",
59
+ isItemActive ? "text-primary-500" : "text-gray-600"
60
+ ),
61
+ onClick: () => {
62
+ if (isItemActive) setActiveKey(null);
63
+ else setActiveKey(accordionItemKey);
64
+ },
65
+ children: [
66
+ /* @__PURE__ */ jsx("div", { className: isItemActive ? "font-h5-bold" : "font-p1-medium", children: title }),
67
+ /* @__PURE__ */ jsx(
68
+ ArrowDown2Icon,
69
+ {
70
+ className: clsx(
71
+ "transition duration-300 ease-in-out shrink-0 w-auto h-auto",
72
+ isItemActive && "rotate-180"
73
+ ),
74
+ width: 20,
75
+ height: 20
76
+ }
77
+ )
78
+ ]
79
+ }
80
+ ),
81
+ /* @__PURE__ */ jsx(
82
+ "div",
83
+ {
84
+ className: clsx(
85
+ "grid font-p1-regular text-gray-600 overflow-hidden transition-all duration-300 ease-in-out",
86
+ isItemActive ? "grid-rows-[1fr] opacity-100 mt-3" : "grid-rows-[0fr] opacity-0",
87
+ contentClassName
88
+ ),
89
+ children: /* @__PURE__ */ jsx("div", { className: "overflow-hidden", children })
90
+ }
91
+ ),
92
+ /* @__PURE__ */ jsx(
93
+ Divider,
94
+ {
95
+ type: "horizontal",
96
+ color: "white",
97
+ className: "mt-4"
98
+ }
99
+ )
100
+ ] });
101
+ };
102
+
103
+ export { AccordionGroup as A, AccordionItem as a };
@@ -0,0 +1,106 @@
1
+ 'use strict';
2
+
3
+ const jsxRuntime = require('react/jsx-runtime');
4
+ const react = require('react');
5
+ const clsx = require('./clsx-BtxeOLZW.cjs');
6
+ const Divider = require('./Divider/index.cjs');
7
+
8
+ const accordionContext = react.createContext({
9
+ activeKey: null,
10
+ setActiveKey: () => {
11
+ }
12
+ });
13
+ const useAccordionData = () => react.useContext(accordionContext);
14
+
15
+ const AccordionGroup = (props) => {
16
+ const { defaultActiveKey = null, className, children } = props;
17
+ const [activeKey, setActiveKey] = react.useState(defaultActiveKey);
18
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: clsx.clsx("flex flex-col", className), children: /* @__PURE__ */ jsxRuntime.jsx(
19
+ accordionContext.Provider,
20
+ {
21
+ value: {
22
+ activeKey,
23
+ setActiveKey
24
+ },
25
+ children
26
+ }
27
+ ) });
28
+ };
29
+
30
+ const ArrowDown2Icon = (props) => /* @__PURE__ */ jsxRuntime.jsx(
31
+ "svg",
32
+ {
33
+ xmlns: "http://www.w3.org/2000/svg",
34
+ width: "1em",
35
+ height: "1em",
36
+ fill: "none",
37
+ viewBox: "0 0 24 24",
38
+ ...props,
39
+ children: /* @__PURE__ */ jsxRuntime.jsx(
40
+ "path",
41
+ {
42
+ fill: "currentColor",
43
+ d: "M4.47 7.97a.75.75 0 0 1 .976-.073l.084.073L12 14.439l6.47-6.47a.75.75 0 0 1 .976-.072l.084.073a.75.75 0 0 1 .073.976l-.073.084-7 7a.75.75 0 0 1-.976.073l-.084-.073-7-7a.75.75 0 0 1 0-1.06"
44
+ }
45
+ )
46
+ }
47
+ );
48
+
49
+ const AccordionItem = (props) => {
50
+ const { children, title, accordionKey, className, contentClassName } = props;
51
+ const { activeKey, setActiveKey } = useAccordionData();
52
+ const reactUseId = react.useId();
53
+ const accordionItemKey = accordionKey ?? reactUseId;
54
+ const isItemActive = accordionItemKey === activeKey;
55
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx.clsx("bg-white px-4 pt-4", className), children: [
56
+ /* @__PURE__ */ jsxRuntime.jsxs(
57
+ "button",
58
+ {
59
+ className: clsx.clsx(
60
+ "flex justify-between items-center w-full",
61
+ isItemActive ? "text-primary-500" : "text-gray-600"
62
+ ),
63
+ onClick: () => {
64
+ if (isItemActive) setActiveKey(null);
65
+ else setActiveKey(accordionItemKey);
66
+ },
67
+ children: [
68
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: isItemActive ? "font-h5-bold" : "font-p1-medium", children: title }),
69
+ /* @__PURE__ */ jsxRuntime.jsx(
70
+ ArrowDown2Icon,
71
+ {
72
+ className: clsx.clsx(
73
+ "transition duration-300 ease-in-out shrink-0 w-auto h-auto",
74
+ isItemActive && "rotate-180"
75
+ ),
76
+ width: 20,
77
+ height: 20
78
+ }
79
+ )
80
+ ]
81
+ }
82
+ ),
83
+ /* @__PURE__ */ jsxRuntime.jsx(
84
+ "div",
85
+ {
86
+ className: clsx.clsx(
87
+ "grid font-p1-regular text-gray-600 overflow-hidden transition-all duration-300 ease-in-out",
88
+ isItemActive ? "grid-rows-[1fr] opacity-100 mt-3" : "grid-rows-[0fr] opacity-0",
89
+ contentClassName
90
+ ),
91
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-hidden", children })
92
+ }
93
+ ),
94
+ /* @__PURE__ */ jsxRuntime.jsx(
95
+ Divider,
96
+ {
97
+ type: "horizontal",
98
+ color: "white",
99
+ className: "mt-4"
100
+ }
101
+ )
102
+ ] });
103
+ };
104
+
105
+ exports.AccordionGroup = AccordionGroup;
106
+ exports.AccordionItem = AccordionItem;
@@ -0,0 +1,242 @@
1
+ 'use strict';
2
+
3
+ require('../assets/styles.css');const jsxRuntime = require('react/jsx-runtime');
4
+ const clsx = require('../clsx-BtxeOLZW.cjs');
5
+ const Button = require('../Button/index.cjs');
6
+ const react = require('react');
7
+ ;/* empty css */
8
+
9
+ const alertVariantClassNames = {
10
+ container: {
11
+ warning: "bg-warning-50 border-warning-200",
12
+ primary: "bg-primary-50 border-primary-100",
13
+ error: "bg-error-50 border-error-200",
14
+ success: "bg-success-50 border-success-200",
15
+ gray: "bg-gray-50 border-gray-200"
16
+ },
17
+ icon: {
18
+ warning: "text-warning-700",
19
+ primary: "text-primary-400",
20
+ error: "text-error-600",
21
+ success: "text-success-600",
22
+ gray: "text-gray-600"
23
+ },
24
+ title: {
25
+ warning: "text-warning-800",
26
+ primary: "text-primary-700",
27
+ error: "text-error-700",
28
+ success: "text-success-800",
29
+ gray: "text-gray-800"
30
+ },
31
+ close: {
32
+ warning: "text-warning-800",
33
+ primary: "text-primary-600",
34
+ error: "text-error-600",
35
+ success: "text-success-800",
36
+ gray: "text-gray-800"
37
+ },
38
+ text: {
39
+ warning: "text-warning-800",
40
+ primary: "text-primary-600",
41
+ error: "text-error-600",
42
+ success: "text-success-800",
43
+ gray: "text-gray-700"
44
+ }
45
+ };
46
+ const alertSizeClassNames = {
47
+ container: {
48
+ large: "p-4",
49
+ small: "p-3"
50
+ },
51
+ icon: {
52
+ large: 24,
53
+ small: 20
54
+ },
55
+ title: {
56
+ large: "font-h5-bold mb-2",
57
+ small: "font-h6-bold mb-1"
58
+ },
59
+ close: {
60
+ large: 20,
61
+ small: 20
62
+ },
63
+ text: {
64
+ large: "font-p2-regular",
65
+ small: "font-p3-regular"
66
+ }
67
+ };
68
+
69
+ const DangerBoldIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx(
70
+ "svg",
71
+ {
72
+ xmlns: "http://www.w3.org/2000/svg",
73
+ width: "1em",
74
+ height: "1em",
75
+ fill: "none",
76
+ viewBox: "0 0 24 24",
77
+ ...props,
78
+ children: /* @__PURE__ */ jsxRuntime.jsx(
79
+ "path",
80
+ {
81
+ fill: "currentColor",
82
+ d: "M10.628 3.353a2.85 2.85 0 0 1 3.85 1.09l7.268 12.614c.16.377.23.683.25 1.001a2.76 2.76 0 0 1-.73 2.021c-.51.554-1.2.881-1.95.921H4.68c-.31-.019-.62-.09-.91-.198-1.45-.585-2.15-2.23-1.56-3.656L9.53 4.433a2.73 2.73 0 0 1 1.099-1.08m1.37 11.92c-.48 0-.88.396-.88.873 0 .474.4.872.88.872s.87-.398.87-.883a.867.867 0 0 0-.87-.862m0-6.183c-.48 0-.88.386-.88.862v2.804c0 .475.4.873.88.873s.87-.398.87-.873V9.952a.866.866 0 0 0-.87-.862"
83
+ }
84
+ )
85
+ }
86
+ );
87
+
88
+ const InfoCircleBoldIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx(
89
+ "svg",
90
+ {
91
+ xmlns: "http://www.w3.org/2000/svg",
92
+ width: "1em",
93
+ height: "1em",
94
+ fill: "none",
95
+ viewBox: "0 0 24 24",
96
+ ...props,
97
+ children: /* @__PURE__ */ jsxRuntime.jsx(
98
+ "path",
99
+ {
100
+ fill: "currentColor",
101
+ fillRule: "evenodd",
102
+ d: "M12.756 15.693a.75.75 0 0 1-1.5 0v-4.299a.75.75 0 0 1 1.5 0zM11.25 8.291a.75.75 0 0 1 1.5 0c0 .414-.336.782-.75.782s-.75-.305-.75-.719zM12 2.5c-5.238 0-9.5 4.261-9.5 9.5s4.262 9.5 9.5 9.5 9.5-4.262 9.5-9.5-4.262-9.5-9.5-9.5",
103
+ clipRule: "evenodd"
104
+ }
105
+ )
106
+ }
107
+ );
108
+
109
+ const CheckCircleBoldIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx(
110
+ "svg",
111
+ {
112
+ xmlns: "http://www.w3.org/2000/svg",
113
+ width: "1em",
114
+ height: "1em",
115
+ fill: "none",
116
+ viewBox: "0 0 24 24",
117
+ ...props,
118
+ children: /* @__PURE__ */ jsxRuntime.jsx(
119
+ "path",
120
+ {
121
+ fill: "currentColor",
122
+ fillRule: "evenodd",
123
+ d: "m15.993 10.222-4.618 4.618a.746.746 0 0 1-1.061 0l-2.309-2.309a.75.75 0 0 1 1.06-1.061l1.78 1.779 4.087-4.088a.75.75 0 1 1 1.061 1.061M12 2.5c-5.238 0-9.5 4.262-9.5 9.5s4.262 9.5 9.5 9.5 9.5-4.261 9.5-9.5-4.262-9.5-9.5-9.5",
124
+ clipRule: "evenodd"
125
+ }
126
+ )
127
+ }
128
+ );
129
+
130
+ const CloseRemoveIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx(
131
+ "svg",
132
+ {
133
+ xmlns: "http://www.w3.org/2000/svg",
134
+ width: "1em",
135
+ height: "1em",
136
+ fill: "none",
137
+ viewBox: "0 0 24 24",
138
+ ...props,
139
+ children: /* @__PURE__ */ jsxRuntime.jsx(
140
+ "path",
141
+ {
142
+ fill: "currentColor",
143
+ d: "M6.28 5.22a.75.75 0 0 0-1.06 1.06l5.47 5.47-5.47 5.47a.75.75 0 1 0 1.06 1.06l5.47-5.47 5.47 5.47a.75.75 0 1 0 1.06-1.06l-5.47-5.47 5.47-5.47a.75.75 0 0 0-1.06-1.06l-5.47 5.47z"
144
+ }
145
+ )
146
+ }
147
+ );
148
+
149
+ function getAlertIcon(variant, size) {
150
+ let IconComponent = InfoCircleBoldIcon;
151
+ if (variant === "error") IconComponent = DangerBoldIcon;
152
+ else if (variant === "success") IconComponent = CheckCircleBoldIcon;
153
+ return /* @__PURE__ */ jsxRuntime.jsx(
154
+ IconComponent,
155
+ {
156
+ className: clsx.clsx("shrink-0 my-[2px]", alertVariantClassNames.icon[variant]),
157
+ width: alertSizeClassNames.icon[size],
158
+ height: alertSizeClassNames.icon[size]
159
+ }
160
+ );
161
+ }
162
+ const Alert = (props) => {
163
+ const {
164
+ variant = "primary",
165
+ size = "small",
166
+ title,
167
+ text,
168
+ primaryButton,
169
+ outlineButton,
170
+ closable,
171
+ className
172
+ } = props;
173
+ const [show, setShow] = react.useState(true);
174
+ if (show)
175
+ return /* @__PURE__ */ jsxRuntime.jsxs(
176
+ "div",
177
+ {
178
+ className: clsx.clsx(
179
+ "w-full flex gap-x-3 rounded-xl border border-solid",
180
+ alertVariantClassNames.container[variant],
181
+ alertSizeClassNames.container[size],
182
+ className
183
+ ),
184
+ children: [
185
+ getAlertIcon(variant, size),
186
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col flex-1", children: [
187
+ Boolean(title) && /* @__PURE__ */ jsxRuntime.jsx(
188
+ "div",
189
+ {
190
+ className: clsx.clsx(
191
+ alertVariantClassNames.title[variant],
192
+ alertSizeClassNames.title[size]
193
+ ),
194
+ children: title
195
+ }
196
+ ),
197
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: clsx.clsx(alertVariantClassNames.text[variant], alertSizeClassNames.text[size]), children: text }),
198
+ (Boolean(primaryButton?.text) || Boolean(outlineButton?.text)) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: clsx.clsx("flex gap-x-2 items-center", size === "large" ? "mt-4" : "mt-3"), children: [
199
+ Boolean(primaryButton?.text) && /* @__PURE__ */ jsxRuntime.jsx(
200
+ Button,
201
+ {
202
+ variant: "primary",
203
+ color: variant,
204
+ size: "small",
205
+ ...primaryButton,
206
+ children: primaryButton?.text
207
+ }
208
+ ),
209
+ Boolean(outlineButton?.text) && /* @__PURE__ */ jsxRuntime.jsx(
210
+ Button,
211
+ {
212
+ variant: "outline",
213
+ color: variant,
214
+ size: "small",
215
+ ...outlineButton,
216
+ children: outlineButton?.text
217
+ }
218
+ )
219
+ ] })
220
+ ] }),
221
+ closable && /* @__PURE__ */ jsxRuntime.jsx(
222
+ "button",
223
+ {
224
+ className: "shrink-0 my-[2px] h-fit",
225
+ onClick: () => setShow(false),
226
+ children: /* @__PURE__ */ jsxRuntime.jsx(
227
+ CloseRemoveIcon,
228
+ {
229
+ className: clsx.clsx(alertVariantClassNames.close[variant]),
230
+ width: alertSizeClassNames.close[size],
231
+ height: alertSizeClassNames.close[size]
232
+ }
233
+ )
234
+ }
235
+ )
236
+ ]
237
+ }
238
+ );
239
+ return null;
240
+ };
241
+
242
+ module.exports = Alert;
@@ -0,0 +1,17 @@
1
+ import { ButtonProps } from '../Button';
2
+ interface AlertButtonProps extends Omit<ButtonProps, 'variant' | 'color' | 'size' | 'children'> {
3
+ text: string;
4
+ }
5
+ export interface AlertProps {
6
+ variant?: 'warning' | 'primary' | 'error' | 'success' | 'gray';
7
+ size?: 'large' | 'small';
8
+ title?: string;
9
+ text: string;
10
+ primaryButton?: AlertButtonProps;
11
+ outlineButton?: AlertButtonProps;
12
+ closable?: boolean;
13
+ className?: string;
14
+ }
15
+ declare const Alert: (props: AlertProps) => import("react/jsx-runtime").JSX.Element | null;
16
+ export default Alert;
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/Alert/index.tsx"],"names":[],"mappings":"AACA,OAAe,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAQrD,OAAO,kBAAkB,CAAC;AAE1B,UAAU,gBAAiB,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;IAC7F,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IAC/D,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmBD,QAAA,MAAM,KAAK,UAAW,UAAU,mDA+E/B,CAAC;AAEF,eAAe,KAAK,CAAC"}