@gustavo-valsechi/client 1.3.23 → 1.3.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/index.d.ts +3 -10
- package/dist/components/index.mjs +3082 -11
- package/dist/components/styles.d.ts +2 -0
- package/dist/components/styles.mjs +21 -0
- package/dist/components/types/avatar/index.d.ts +2 -0
- package/dist/components/types/avatar/index.mjs +88 -0
- package/dist/components/types/avatar/styles.d.ts +1 -0
- package/dist/components/types/avatar/styles.mjs +61 -0
- package/dist/components/types/badge/index.d.ts +2 -0
- package/dist/components/types/badge/index.mjs +324 -0
- package/dist/components/types/badge/styles.d.ts +1 -0
- package/dist/components/types/badge/styles.mjs +39 -0
- package/dist/components/types/block/index.d.ts +2 -0
- package/dist/components/types/block/index.mjs +3078 -0
- package/dist/components/types/block/styles.d.ts +2 -0
- package/dist/components/types/block/styles.mjs +32 -0
- package/dist/components/types/chart/index.d.ts +2 -0
- package/dist/components/types/chart/index.mjs +322 -0
- package/dist/components/types/chart/styles.d.ts +1 -0
- package/dist/components/types/chart/styles.mjs +10 -0
- package/dist/components/types/credit-card/assets/index.d.ts +4 -0
- package/dist/components/types/credit-card/assets/index.mjs +23 -0
- package/dist/components/types/credit-card/card/index.d.ts +2 -0
- package/dist/components/types/credit-card/card/index.mjs +732 -0
- package/dist/components/types/credit-card/card/styles.d.ts +1 -0
- package/dist/components/types/credit-card/card/styles.mjs +138 -0
- package/dist/components/types/credit-card/functions/index.d.ts +2 -0
- package/dist/components/types/credit-card/functions/index.mjs +61 -0
- package/dist/components/types/credit-card/functions/styles.d.ts +1 -0
- package/dist/components/types/credit-card/functions/styles.mjs +43 -0
- package/dist/components/types/credit-card/index.d.ts +2 -0
- package/dist/components/types/credit-card/index.mjs +853 -0
- package/dist/components/types/credit-card/styles.d.ts +1 -0
- package/dist/components/types/credit-card/styles.mjs +40 -0
- package/dist/components/types/credit-card/tools/index.d.ts +6 -0
- package/dist/components/types/credit-card/tools/index.mjs +566 -0
- package/dist/components/types/form/index.d.ts +3 -0
- package/dist/components/types/form/index.mjs +711 -0
- package/dist/components/types/form/styles.d.ts +1 -0
- package/dist/components/types/form/styles.mjs +21 -0
- package/dist/components/types/form/types/button/index.d.ts +2 -0
- package/dist/components/types/form/types/button/index.mjs +165 -0
- package/dist/components/types/form/types/button/loading/index.d.ts +1 -0
- package/dist/components/types/form/types/button/loading/index.mjs +104 -0
- package/dist/components/types/form/types/button/loading/styles.d.ts +1 -0
- package/dist/components/types/form/types/button/loading/styles.mjs +94 -0
- package/dist/components/types/form/types/button/styles.d.ts +1 -0
- package/dist/components/types/form/types/button/styles.mjs +47 -0
- package/dist/components/types/form/types/datetime/index.d.ts +2 -0
- package/dist/components/types/form/types/datetime/index.mjs +93 -0
- package/dist/components/types/form/types/datetime/styles.d.ts +1 -0
- package/dist/components/types/form/types/datetime/styles.mjs +46 -0
- package/dist/components/types/form/types/file/index.d.ts +2 -0
- package/dist/components/types/form/types/file/index.mjs +91 -0
- package/dist/components/types/form/types/file/styles.d.ts +1 -0
- package/dist/components/types/form/types/file/styles.mjs +33 -0
- package/dist/components/types/form/types/index.d.ts +7 -0
- package/dist/components/types/form/types/index.mjs +603 -0
- package/dist/components/types/form/types/input/index.d.ts +2 -0
- package/dist/components/types/form/types/input/index.mjs +113 -0
- package/dist/components/types/form/types/input/styles.d.ts +1 -0
- package/dist/components/types/form/types/input/styles.mjs +52 -0
- package/dist/components/types/form/types/label/index.d.ts +2 -0
- package/dist/components/types/form/types/label/index.mjs +19 -0
- package/dist/components/types/form/types/label/styles.d.ts +1 -0
- package/dist/components/types/form/types/label/styles.mjs +13 -0
- package/dist/components/types/form/types/select/index.d.ts +2 -0
- package/dist/components/types/form/types/select/index.mjs +125 -0
- package/dist/components/types/form/types/select/styles.d.ts +1 -0
- package/dist/components/types/form/types/select/styles.mjs +58 -0
- package/dist/components/types/form/types/textarea/index.d.ts +2 -0
- package/dist/components/types/form/types/textarea/index.mjs +92 -0
- package/dist/components/types/form/types/textarea/styles.d.ts +1 -0
- package/dist/components/types/form/types/textarea/styles.mjs +45 -0
- package/dist/components/types/index.d.ts +11 -0
- package/dist/components/types/index.mjs +3094 -0
- package/dist/components/types/loading/app/index.d.ts +2 -0
- package/dist/components/types/loading/app/index.mjs +128 -0
- package/dist/components/types/loading/app/styles.d.ts +1 -0
- package/dist/components/types/loading/app/styles.mjs +93 -0
- package/dist/components/types/loading/bar/index.d.ts +2 -0
- package/dist/components/types/loading/bar/index.mjs +33 -0
- package/dist/components/types/loading/bar/styles.d.ts +1 -0
- package/dist/components/types/loading/bar/styles.mjs +27 -0
- package/dist/components/types/loading/index.d.ts +2 -0
- package/dist/components/types/loading/index.mjs +156 -0
- package/dist/components/types/logo/index.d.ts +2 -0
- package/dist/components/types/logo/index.mjs +34 -0
- package/dist/components/types/logo/styles.d.ts +1 -0
- package/dist/components/types/logo/styles.mjs +25 -0
- package/dist/components/types/lottie/animations/index.d.ts +293 -0
- package/dist/components/types/lottie/animations/index.mjs +10 -0
- package/dist/components/types/lottie/index.d.ts +2 -0
- package/dist/components/types/lottie/index.mjs +69 -0
- package/dist/components/types/lottie/styles.d.ts +1 -0
- package/dist/components/types/lottie/styles.mjs +28 -0
- package/dist/components/types/modal/index.d.ts +2 -0
- package/dist/components/types/modal/index.mjs +2324 -0
- package/dist/components/types/modal/styles.d.ts +1 -0
- package/dist/components/types/modal/styles.mjs +135 -0
- package/dist/components/types/table/index.d.ts +3 -0
- package/dist/components/types/table/index.mjs +3079 -0
- package/dist/components/types/table/modal/actions.d.ts +10 -0
- package/dist/components/types/table/modal/actions.mjs +87 -0
- package/dist/components/types/table/modal/index.d.ts +2 -0
- package/dist/components/types/table/modal/index.mjs +3076 -0
- package/dist/components/types/table/modal/styles.d.ts +1 -0
- package/dist/components/types/table/modal/styles.mjs +58 -0
- package/dist/components/types/table/paginate/index.d.ts +2 -0
- package/dist/components/types/table/paginate/index.mjs +96 -0
- package/dist/components/types/table/paginate/styles.d.ts +1 -0
- package/dist/components/types/table/paginate/styles.mjs +42 -0
- package/dist/components/types/table/styles.d.ts +5 -0
- package/dist/components/types/table/styles.mjs +268 -0
- package/dist/contexts/icon/assets/brands/index.d.ts +2 -0
- package/dist/contexts/icon/assets/brands/index.mjs +19 -0
- package/dist/contexts/icon/assets/index.d.ts +6 -0
- package/dist/contexts/icon/assets/index.mjs +44 -0
- package/dist/contexts/icon/assets/regular/index.d.ts +2 -0
- package/dist/contexts/icon/assets/regular/index.mjs +19 -0
- package/dist/contexts/icon/assets/solid/index.d.ts +2 -0
- package/dist/contexts/icon/assets/solid/index.mjs +19 -0
- package/dist/contexts/icon/index.d.ts +4 -0
- package/dist/contexts/icon/index.mjs +281 -0
- package/dist/contexts/icon/styles.d.ts +1 -0
- package/dist/contexts/icon/styles.mjs +10 -0
- package/dist/contexts/index.d.ts +4 -20
- package/dist/contexts/index.mjs +486 -4
- package/dist/contexts/modal/index.d.ts +4 -0
- package/dist/contexts/modal/index.mjs +66 -0
- package/dist/contexts/modal/styles.d.ts +1 -0
- package/dist/contexts/modal/styles.mjs +10 -0
- package/dist/contexts/theme/content.d.ts +3 -0
- package/dist/contexts/theme/content.mjs +81 -0
- package/dist/contexts/theme/index.d.ts +4 -0
- package/dist/contexts/theme/index.mjs +201 -0
- package/dist/contexts/theme/styles.d.ts +1 -0
- package/dist/contexts/theme/styles.mjs +84 -0
- package/dist/contexts/tooltip/index.d.ts +6 -0
- package/dist/contexts/tooltip/index.mjs +117 -0
- package/dist/contexts/tooltip/styles.d.ts +1 -0
- package/dist/contexts/tooltip/styles.mjs +46 -0
- package/dist/index.d.ts +4 -17
- package/dist/index.mjs +3312 -4
- package/dist/interfaces/components/avatar/index.d.ts +6 -0
- package/dist/interfaces/components/avatar/index.mjs +1 -0
- package/dist/interfaces/components/badge/index.d.ts +3 -0
- package/dist/interfaces/components/badge/index.mjs +1 -0
- package/dist/interfaces/components/block/index.d.ts +16 -0
- package/dist/interfaces/components/block/index.mjs +1 -0
- package/dist/interfaces/components/chart/index.d.ts +9 -0
- package/dist/interfaces/components/chart/index.mjs +1 -0
- package/dist/interfaces/components/credit-card/index.d.ts +16 -0
- package/dist/interfaces/components/credit-card/index.mjs +1 -0
- package/dist/interfaces/components/form/button/index.d.ts +7 -0
- package/dist/interfaces/components/form/button/index.mjs +1 -0
- package/dist/interfaces/components/form/datetime/index.d.ts +15 -0
- package/dist/interfaces/components/form/datetime/index.mjs +1 -0
- package/dist/interfaces/components/form/file/index.d.ts +14 -0
- package/dist/interfaces/components/form/file/index.mjs +1 -0
- package/dist/interfaces/components/form/index.d.ts +16 -0
- package/dist/interfaces/components/form/index.mjs +1 -0
- package/dist/interfaces/components/form/input/index.d.ts +17 -0
- package/dist/interfaces/components/form/input/index.mjs +1 -0
- package/dist/interfaces/components/form/label/index.d.ts +5 -0
- package/dist/interfaces/components/form/label/index.mjs +1 -0
- package/dist/interfaces/components/form/select/index.d.ts +14 -0
- package/dist/interfaces/components/form/select/index.mjs +1 -0
- package/dist/interfaces/components/form/textarea/index.d.ts +16 -0
- package/dist/interfaces/components/form/textarea/index.mjs +1 -0
- package/dist/interfaces/components/index.d.ts +26 -0
- package/dist/interfaces/components/index.mjs +1 -0
- package/dist/interfaces/components/loading/app/index.d.ts +3 -0
- package/dist/interfaces/components/loading/app/index.mjs +1 -0
- package/dist/interfaces/components/loading/bar/index.d.ts +7 -0
- package/dist/interfaces/components/loading/bar/index.mjs +1 -0
- package/dist/interfaces/components/loading/index.d.ts +2 -0
- package/dist/interfaces/components/loading/index.mjs +1 -0
- package/dist/interfaces/components/logo/index.d.ts +6 -0
- package/dist/interfaces/components/logo/index.mjs +1 -0
- package/dist/interfaces/components/lottie/index.d.ts +12 -0
- package/dist/interfaces/components/lottie/index.mjs +1 -0
- package/dist/interfaces/components/modal/index.d.ts +16 -0
- package/dist/interfaces/components/modal/index.mjs +1 -0
- package/dist/interfaces/components/table/index.d.ts +46 -0
- package/dist/interfaces/components/table/index.mjs +1 -0
- package/dist/interfaces/components/table/paginate/index.d.ts +7 -0
- package/dist/interfaces/components/table/paginate/index.mjs +1 -0
- package/dist/interfaces/contexts/icon/index.d.ts +3 -0
- package/dist/interfaces/contexts/icon/index.mjs +1 -0
- package/dist/interfaces/contexts/index.d.ts +8 -0
- package/dist/interfaces/contexts/index.mjs +1 -0
- package/dist/interfaces/contexts/modal/index.d.ts +16 -0
- package/dist/interfaces/contexts/modal/index.mjs +2 -0
- package/dist/interfaces/contexts/theme/index.d.ts +42 -0
- package/dist/interfaces/contexts/theme/index.mjs +1 -0
- package/dist/interfaces/contexts/tooltip/index.d.ts +3 -0
- package/dist/interfaces/contexts/tooltip/index.mjs +1 -0
- package/dist/interfaces/index.d.ts +2 -12
- package/dist/interfaces/index.mjs +0 -2
- package/dist/styled.d.ts +6 -0
- package/dist/tsup.config.d.ts +2 -0
- package/package.json +13 -7
- package/dist/components/index.d.mts +0 -10
- package/dist/components/index.js +0 -63
- package/dist/contexts/index.d.mts +0 -20
- package/dist/contexts/index.js +0 -30
- package/dist/index-BhaGW0O1.d.ts +0 -601
- package/dist/index-BxA8LyyD.d.mts +0 -68
- package/dist/index-DDi0w5pw.d.mts +0 -601
- package/dist/index-DT7VKE7H.d.ts +0 -68
- package/dist/index-Da-DtPS-.d.mts +0 -29
- package/dist/index-Da-DtPS-.d.ts +0 -29
- package/dist/index.d.mts +0 -17
- package/dist/index.js +0 -28
- package/dist/interfaces/index.d.mts +0 -12
- package/dist/interfaces/index.js +0 -25
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use client";
|
|
3
|
+
|
|
4
|
+
// contexts/theme/index.tsx
|
|
5
|
+
import { createContext, useContext, useState } from "react";
|
|
6
|
+
import { ThemeProvider } from "styled-components";
|
|
7
|
+
|
|
8
|
+
// contexts/theme/styles.tsx
|
|
9
|
+
import styled from "styled-components";
|
|
10
|
+
var Switcher = styled.div`
|
|
11
|
+
width: 3rem;
|
|
12
|
+
height: 1.5rem;
|
|
13
|
+
border-radius: 1rem;
|
|
14
|
+
border: 2px solid ${({ theme }) => theme.t05};
|
|
15
|
+
overflow: hidden;
|
|
16
|
+
display: flex;
|
|
17
|
+
align-items: center;
|
|
18
|
+
cursor: pointer;
|
|
19
|
+
position: relative;
|
|
20
|
+
|
|
21
|
+
i {
|
|
22
|
+
color: ${({ theme }) => theme.t6};
|
|
23
|
+
position: absolute;
|
|
24
|
+
transform: translateY(-50%);
|
|
25
|
+
font-size: .9rem;
|
|
26
|
+
z-index: 0;
|
|
27
|
+
transition: ease .8s;
|
|
28
|
+
|
|
29
|
+
&:first-child {
|
|
30
|
+
left: .2rem;
|
|
31
|
+
top: 50%;
|
|
32
|
+
opacity: ${(props) => props["data-theme"] === "light" ? 0 : 1};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&:last-child {
|
|
36
|
+
right: .2rem;
|
|
37
|
+
top: 50%;
|
|
38
|
+
opacity: ${(props) => props["data-theme"] === "light" ? 1 : 0};
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.switcher {
|
|
43
|
+
width: 1rem;
|
|
44
|
+
height: 1rem;
|
|
45
|
+
border-radius: 1rem;
|
|
46
|
+
position: relative;
|
|
47
|
+
transition: ease .3s;
|
|
48
|
+
transform: ${(props) => props["data-theme"] === "light" ? "transform: translateX(.2rem)" : "translateX(1.6rem)"};
|
|
49
|
+
z-index: 1;
|
|
50
|
+
|
|
51
|
+
div {
|
|
52
|
+
width: 100%;
|
|
53
|
+
height: 100%;
|
|
54
|
+
background: ${({ theme }) => theme.primary};
|
|
55
|
+
border-radius: 1rem;
|
|
56
|
+
position: relative;
|
|
57
|
+
z-index: 2;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&:after {
|
|
61
|
+
content: "";
|
|
62
|
+
position: absolute;
|
|
63
|
+
width: 100%;
|
|
64
|
+
height: 100%;
|
|
65
|
+
border-radius: 1rem;
|
|
66
|
+
transform: scale(1.8);
|
|
67
|
+
background: ${({ theme }) => theme.t05};
|
|
68
|
+
top: 0;
|
|
69
|
+
left: 0;
|
|
70
|
+
z-index: 1;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
&:before {
|
|
74
|
+
content: "";
|
|
75
|
+
position: absolute;
|
|
76
|
+
width: 100%;
|
|
77
|
+
height: 100%;
|
|
78
|
+
border-radius: 1rem;
|
|
79
|
+
transform: scale(3);
|
|
80
|
+
background: ${({ theme }) => theme.t05};
|
|
81
|
+
top: 0;
|
|
82
|
+
left: 0;
|
|
83
|
+
z-index: 0;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
`;
|
|
87
|
+
|
|
88
|
+
// contexts/theme/content.tsx
|
|
89
|
+
var CommonTheme = {
|
|
90
|
+
secondary: "#5869da",
|
|
91
|
+
tertiary: "#629dfd33",
|
|
92
|
+
positive: "#65c965",
|
|
93
|
+
negative: "#FF334E",
|
|
94
|
+
mobileMaxWidth: "650px",
|
|
95
|
+
mobileMinWidth: "315px"
|
|
96
|
+
};
|
|
97
|
+
var Themes = {
|
|
98
|
+
light: {
|
|
99
|
+
primary: "#ffffff",
|
|
100
|
+
reverse: "#353535",
|
|
101
|
+
tooltip: "#f2f2f2",
|
|
102
|
+
t8: "#000000cc",
|
|
103
|
+
t7: "#000000b3",
|
|
104
|
+
t6: "#00000099",
|
|
105
|
+
t5: "#00000080",
|
|
106
|
+
t4: "#00000066",
|
|
107
|
+
t3: "#0000004d",
|
|
108
|
+
t2: "#00000033",
|
|
109
|
+
t1: "#0000001a",
|
|
110
|
+
t08: "#00000014",
|
|
111
|
+
t05: "#0000000d",
|
|
112
|
+
t03: "#00000007",
|
|
113
|
+
t02: "#00000005",
|
|
114
|
+
t01: "#00000002",
|
|
115
|
+
lgrad: `linear-gradient(
|
|
116
|
+
to right,
|
|
117
|
+
#dadef7 0%,
|
|
118
|
+
#dee2f8 5%,
|
|
119
|
+
#e2e5f9 10%,
|
|
120
|
+
#e6e9fa 20%,
|
|
121
|
+
#eaedfb 30%,
|
|
122
|
+
#eff0fb 60%,
|
|
123
|
+
#f3f4fc 80%,
|
|
124
|
+
#f7f8fd 90%,
|
|
125
|
+
#fbfbfe 100%
|
|
126
|
+
)`,
|
|
127
|
+
maingrad: "linear-gradient(330deg, #b9c0ff7a 0%, #ffffff 100%)",
|
|
128
|
+
...CommonTheme
|
|
129
|
+
},
|
|
130
|
+
dark: {
|
|
131
|
+
primary: "#333333",
|
|
132
|
+
reverse: "#b45252",
|
|
133
|
+
tooltip: "#3d3d3d",
|
|
134
|
+
t8: "#ffffffcc",
|
|
135
|
+
t7: "#ffffffb3",
|
|
136
|
+
t6: "#ffffff99",
|
|
137
|
+
t5: "#ffffff80",
|
|
138
|
+
t4: "#ffffff66",
|
|
139
|
+
t3: "#ffffff4d",
|
|
140
|
+
t2: "#ffffff33",
|
|
141
|
+
t1: "#ffffff1a",
|
|
142
|
+
t08: "#ffffff14",
|
|
143
|
+
t05: "#ffffff0d",
|
|
144
|
+
t03: "#ffffff07",
|
|
145
|
+
t02: "#ffffff05",
|
|
146
|
+
t01: "#ffffff02",
|
|
147
|
+
lgrad: `linear-gradient(
|
|
148
|
+
to right,
|
|
149
|
+
#3d485c 0%,
|
|
150
|
+
#3c4657 5%,
|
|
151
|
+
#3b4353 10%,
|
|
152
|
+
#3a414e 20%,
|
|
153
|
+
#393f4a 30%,
|
|
154
|
+
#373c45 60%,
|
|
155
|
+
#363a41 80%,
|
|
156
|
+
#35383c 90%,
|
|
157
|
+
#343538 100%
|
|
158
|
+
)`,
|
|
159
|
+
maingrad: "linear-gradient(330deg, #1d1e27 0%, #333333 100%)",
|
|
160
|
+
...CommonTheme
|
|
161
|
+
}
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
// contexts/theme/index.tsx
|
|
165
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
166
|
+
var ThemeContext = createContext({});
|
|
167
|
+
var ThemeProviderContainer = (props) => {
|
|
168
|
+
const [theme, setTheme] = useState("light");
|
|
169
|
+
const [defaultTheme] = useState("light");
|
|
170
|
+
const SwitcherComponent = () => {
|
|
171
|
+
return /* @__PURE__ */ jsxs(
|
|
172
|
+
Switcher,
|
|
173
|
+
{
|
|
174
|
+
onClick: () => setTheme(theme === "light" ? "dark" : "light"),
|
|
175
|
+
"data-theme": theme || defaultTheme,
|
|
176
|
+
children: [
|
|
177
|
+
/* @__PURE__ */ jsx("i", { "aria-hidden": true, className: "fa-solid fa-moon" }),
|
|
178
|
+
/* @__PURE__ */ jsx("div", { className: "switcher", children: /* @__PURE__ */ jsx("div", {}) }),
|
|
179
|
+
/* @__PURE__ */ jsx("i", { "aria-hidden": true, className: "fa-solid fa-sun" })
|
|
180
|
+
]
|
|
181
|
+
}
|
|
182
|
+
);
|
|
183
|
+
};
|
|
184
|
+
return /* @__PURE__ */ jsx(
|
|
185
|
+
ThemeContext.Provider,
|
|
186
|
+
{
|
|
187
|
+
value: {
|
|
188
|
+
theme: props.theme || defaultTheme,
|
|
189
|
+
setTheme,
|
|
190
|
+
content: Themes[props.theme || defaultTheme],
|
|
191
|
+
Switcher: SwitcherComponent
|
|
192
|
+
},
|
|
193
|
+
children: /* @__PURE__ */ jsx(ThemeProvider, { theme: Themes[props.theme || defaultTheme], children: props.children })
|
|
194
|
+
}
|
|
195
|
+
);
|
|
196
|
+
};
|
|
197
|
+
var useTheme = () => useContext(ThemeContext);
|
|
198
|
+
export {
|
|
199
|
+
ThemeProviderContainer as ThemeProvider,
|
|
200
|
+
useTheme
|
|
201
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Switcher: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// contexts/theme/styles.tsx
|
|
4
|
+
import styled from "styled-components";
|
|
5
|
+
var Switcher = styled.div`
|
|
6
|
+
width: 3rem;
|
|
7
|
+
height: 1.5rem;
|
|
8
|
+
border-radius: 1rem;
|
|
9
|
+
border: 2px solid ${({ theme }) => theme.t05};
|
|
10
|
+
overflow: hidden;
|
|
11
|
+
display: flex;
|
|
12
|
+
align-items: center;
|
|
13
|
+
cursor: pointer;
|
|
14
|
+
position: relative;
|
|
15
|
+
|
|
16
|
+
i {
|
|
17
|
+
color: ${({ theme }) => theme.t6};
|
|
18
|
+
position: absolute;
|
|
19
|
+
transform: translateY(-50%);
|
|
20
|
+
font-size: .9rem;
|
|
21
|
+
z-index: 0;
|
|
22
|
+
transition: ease .8s;
|
|
23
|
+
|
|
24
|
+
&:first-child {
|
|
25
|
+
left: .2rem;
|
|
26
|
+
top: 50%;
|
|
27
|
+
opacity: ${(props) => props["data-theme"] === "light" ? 0 : 1};
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&:last-child {
|
|
31
|
+
right: .2rem;
|
|
32
|
+
top: 50%;
|
|
33
|
+
opacity: ${(props) => props["data-theme"] === "light" ? 1 : 0};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.switcher {
|
|
38
|
+
width: 1rem;
|
|
39
|
+
height: 1rem;
|
|
40
|
+
border-radius: 1rem;
|
|
41
|
+
position: relative;
|
|
42
|
+
transition: ease .3s;
|
|
43
|
+
transform: ${(props) => props["data-theme"] === "light" ? "transform: translateX(.2rem)" : "translateX(1.6rem)"};
|
|
44
|
+
z-index: 1;
|
|
45
|
+
|
|
46
|
+
div {
|
|
47
|
+
width: 100%;
|
|
48
|
+
height: 100%;
|
|
49
|
+
background: ${({ theme }) => theme.primary};
|
|
50
|
+
border-radius: 1rem;
|
|
51
|
+
position: relative;
|
|
52
|
+
z-index: 2;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&:after {
|
|
56
|
+
content: "";
|
|
57
|
+
position: absolute;
|
|
58
|
+
width: 100%;
|
|
59
|
+
height: 100%;
|
|
60
|
+
border-radius: 1rem;
|
|
61
|
+
transform: scale(1.8);
|
|
62
|
+
background: ${({ theme }) => theme.t05};
|
|
63
|
+
top: 0;
|
|
64
|
+
left: 0;
|
|
65
|
+
z-index: 1;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
&:before {
|
|
69
|
+
content: "";
|
|
70
|
+
position: absolute;
|
|
71
|
+
width: 100%;
|
|
72
|
+
height: 100%;
|
|
73
|
+
border-radius: 1rem;
|
|
74
|
+
transform: scale(3);
|
|
75
|
+
background: ${({ theme }) => theme.t05};
|
|
76
|
+
top: 0;
|
|
77
|
+
left: 0;
|
|
78
|
+
z-index: 0;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
`;
|
|
82
|
+
export {
|
|
83
|
+
Switcher
|
|
84
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
declare const TooltipProviderContainer: ({ children }: {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare const useTooltip: () => any;
|
|
6
|
+
export { TooltipProviderContainer as TooltipProvider, useTooltip };
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
"use client";
|
|
3
|
+
|
|
4
|
+
// contexts/tooltip/index.tsx
|
|
5
|
+
import { createContext, useContext, useEffect, useState } from "react";
|
|
6
|
+
|
|
7
|
+
// contexts/tooltip/styles.tsx
|
|
8
|
+
import styled from "styled-components";
|
|
9
|
+
var Tooltip = styled.div`
|
|
10
|
+
position: fixed;
|
|
11
|
+
background: ${({ theme }) => theme.tooltip};
|
|
12
|
+
color: ${({ theme }) => theme.t6};
|
|
13
|
+
font-size: .8rem;
|
|
14
|
+
font-weight: 500;
|
|
15
|
+
text-align: center;
|
|
16
|
+
padding: .3rem .8rem;
|
|
17
|
+
border-radius: 5px;
|
|
18
|
+
transform: translateX(-50%);
|
|
19
|
+
z-index: 10;
|
|
20
|
+
border: 1px solid ${({ theme }) => theme.t05};
|
|
21
|
+
|
|
22
|
+
&::before {
|
|
23
|
+
content: "";
|
|
24
|
+
position: absolute;
|
|
25
|
+
bottom: -9px;
|
|
26
|
+
left: 50%;
|
|
27
|
+
transform: translateX(-50%);
|
|
28
|
+
width: 0;
|
|
29
|
+
height: 0;
|
|
30
|
+
border-left: 8px solid transparent;
|
|
31
|
+
border-right: 8px solid transparent;
|
|
32
|
+
border-top: 8px solid ${({ theme }) => theme.t05};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&::after {
|
|
36
|
+
content: "";
|
|
37
|
+
position: absolute;
|
|
38
|
+
bottom: -8px;
|
|
39
|
+
left: 50%;
|
|
40
|
+
transform: translateX(-50%);
|
|
41
|
+
width: 0;
|
|
42
|
+
height: 0;
|
|
43
|
+
border-left: 8px solid transparent;
|
|
44
|
+
border-right: 8px solid transparent;
|
|
45
|
+
border-top: 8px solid ${({ theme }) => theme.tooltip};
|
|
46
|
+
}
|
|
47
|
+
`;
|
|
48
|
+
|
|
49
|
+
// contexts/tooltip/index.tsx
|
|
50
|
+
import _ from "lodash";
|
|
51
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
52
|
+
var TooltipContext = createContext({});
|
|
53
|
+
var TooltipProviderContainer = ({ children }) => {
|
|
54
|
+
const [tooltips, setTooltips] = useState([]);
|
|
55
|
+
const getContent = (target) => {
|
|
56
|
+
var _a;
|
|
57
|
+
const rect = target.getBoundingClientRect();
|
|
58
|
+
return {
|
|
59
|
+
top: rect.top + window.scrollY - (target.offsetHeight + 8),
|
|
60
|
+
left: rect.left + window.scrollX + target.offsetWidth / 2,
|
|
61
|
+
content: ((_a = target.dataset) == null ? void 0 : _a.tooltip) || ""
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
const processElement = (element) => {
|
|
66
|
+
element.addEventListener("mouseenter", (event) => {
|
|
67
|
+
const target = event == null ? void 0 : event.target;
|
|
68
|
+
if (!target) return;
|
|
69
|
+
setTooltips(_.concat(tooltips, [getContent(target)]));
|
|
70
|
+
});
|
|
71
|
+
element.addEventListener("mouseleave", (event) => {
|
|
72
|
+
const target = event == null ? void 0 : event.target;
|
|
73
|
+
if (!target) return;
|
|
74
|
+
setTooltips(_.filter(tooltips, (data) => JSON.stringify(data) === JSON.stringify(getContent(target))));
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
document.querySelectorAll("[data-tooltip]").forEach((el) => processElement(el));
|
|
78
|
+
const observer = new MutationObserver((mutations) => {
|
|
79
|
+
mutations.forEach((mutation) => {
|
|
80
|
+
mutation.addedNodes.forEach((node) => {
|
|
81
|
+
if (node.nodeType === 1) {
|
|
82
|
+
const el = node;
|
|
83
|
+
if (el.getAttribute("data-tooltip")) processElement(el);
|
|
84
|
+
el.querySelectorAll("[data-tooltip]").forEach((child) => processElement(child));
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
observer.observe(document.body, {
|
|
90
|
+
childList: true,
|
|
91
|
+
subtree: true
|
|
92
|
+
});
|
|
93
|
+
return () => observer.disconnect();
|
|
94
|
+
}, []);
|
|
95
|
+
return /* @__PURE__ */ jsxs(TooltipContext.Provider, { value: {}, children: [
|
|
96
|
+
_.map(
|
|
97
|
+
tooltips,
|
|
98
|
+
(data, index) => /* @__PURE__ */ jsx(
|
|
99
|
+
Tooltip,
|
|
100
|
+
{
|
|
101
|
+
style: {
|
|
102
|
+
top: data.top,
|
|
103
|
+
left: data.left
|
|
104
|
+
},
|
|
105
|
+
children: data.content
|
|
106
|
+
},
|
|
107
|
+
index
|
|
108
|
+
)
|
|
109
|
+
),
|
|
110
|
+
children
|
|
111
|
+
] });
|
|
112
|
+
};
|
|
113
|
+
var useTooltip = () => useContext(TooltipContext);
|
|
114
|
+
export {
|
|
115
|
+
TooltipProviderContainer as TooltipProvider,
|
|
116
|
+
useTooltip
|
|
117
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Tooltip: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// contexts/tooltip/styles.tsx
|
|
4
|
+
import styled from "styled-components";
|
|
5
|
+
var Tooltip = styled.div`
|
|
6
|
+
position: fixed;
|
|
7
|
+
background: ${({ theme }) => theme.tooltip};
|
|
8
|
+
color: ${({ theme }) => theme.t6};
|
|
9
|
+
font-size: .8rem;
|
|
10
|
+
font-weight: 500;
|
|
11
|
+
text-align: center;
|
|
12
|
+
padding: .3rem .8rem;
|
|
13
|
+
border-radius: 5px;
|
|
14
|
+
transform: translateX(-50%);
|
|
15
|
+
z-index: 10;
|
|
16
|
+
border: 1px solid ${({ theme }) => theme.t05};
|
|
17
|
+
|
|
18
|
+
&::before {
|
|
19
|
+
content: "";
|
|
20
|
+
position: absolute;
|
|
21
|
+
bottom: -9px;
|
|
22
|
+
left: 50%;
|
|
23
|
+
transform: translateX(-50%);
|
|
24
|
+
width: 0;
|
|
25
|
+
height: 0;
|
|
26
|
+
border-left: 8px solid transparent;
|
|
27
|
+
border-right: 8px solid transparent;
|
|
28
|
+
border-top: 8px solid ${({ theme }) => theme.t05};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&::after {
|
|
32
|
+
content: "";
|
|
33
|
+
position: absolute;
|
|
34
|
+
bottom: -8px;
|
|
35
|
+
left: 50%;
|
|
36
|
+
transform: translateX(-50%);
|
|
37
|
+
width: 0;
|
|
38
|
+
height: 0;
|
|
39
|
+
border-left: 8px solid transparent;
|
|
40
|
+
border-right: 8px solid transparent;
|
|
41
|
+
border-top: 8px solid ${({ theme }) => theme.tooltip};
|
|
42
|
+
}
|
|
43
|
+
`;
|
|
44
|
+
export {
|
|
45
|
+
Tooltip
|
|
46
|
+
};
|
package/dist/index.d.ts
CHANGED
|
@@ -1,17 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export { A as Avatar, B as Badge, k as Block, f as Button, C as Chart, j as CreditCard, F as Form, N as IAvatar, x as IBadge, R as IBlock, M as IChart, p as IComponent, n as IComponentConfig, m as IComponentConfigMap, o as IComponentContent, l as IComponentMap, Q as ICreditCard, z as IForm, J as IInputDateTime, D as IInputFile, E as IInputLabel, H as IInputSelect, G as IInputText, K as IInputTextarea, w as ILoadingApp, v as ILoadingBar, y as ILogo, O as ILottie, u as IPaginate, t as ITable, q as ITableAction, r as ITableColumn, s as ITableRow, g as InputDateTime, I as InputFile, c as InputLabel, e as InputSelect, d as InputText, h as InputTextarea, a as LoadingApp, L as LoadingBar, b as Logo, i as Lottie, P as Paginate, T as Table } from './index-BhaGW0O1.js';
|
|
6
|
-
export { a as IButton, I as IModal, M as Modal } from './index-Da-DtPS-.js';
|
|
7
|
-
export { ITooltipProvider } from './interfaces/index.js';
|
|
8
|
-
import 'react';
|
|
9
|
-
import 'react/jsx-runtime';
|
|
10
|
-
import 'react-hook-form';
|
|
11
|
-
|
|
12
|
-
declare module "styled-components" {
|
|
13
|
-
interface DefaultTheme extends IThemeContent {
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export { IThemeContent };
|
|
1
|
+
import "./styled";
|
|
2
|
+
export * from "./components";
|
|
3
|
+
export * from "./contexts";
|
|
4
|
+
export * from "./interfaces";
|