master-components-react-ts 2.1.2 → 2.1.3
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/_virtual/_commonjsHelpers.js +8 -0
- package/dist/_virtual/customParseFormat.js +4 -0
- package/dist/_virtual/jsx-runtime.js +4 -0
- package/dist/_virtual/react-jsx-runtime.production.js +4 -0
- package/dist/assets/Icons/IconArrowUp.js +13 -0
- package/dist/assets/Icons/IconCalendar.js +32 -0
- package/dist/assets/Icons/IconCheck.js +15 -0
- package/dist/assets/Icons/IconCheckCircle.js +16 -0
- package/dist/assets/Icons/IconCheckmark.js +15 -0
- package/dist/assets/Icons/IconCircularLoading.js +36 -0
- package/dist/assets/Icons/IconClose.js +31 -0
- package/dist/assets/Icons/IconCloseBackground.js +15 -0
- package/dist/assets/Icons/IconCloseCircle.js +15 -0
- package/dist/assets/Icons/IconErrorDash.js +15 -0
- package/dist/assets/Icons/IconExclamation.js +15 -0
- package/dist/assets/Icons/IconLeft.js +13 -0
- package/dist/assets/Icons/IconLoading.js +22 -0
- package/dist/assets/Icons/IconMinus.js +7 -0
- package/dist/assets/Icons/IconRadioChecked.js +19 -0
- package/dist/assets/Icons/IconRadioCheckedDisabled.js +19 -0
- package/dist/assets/Icons/IconRadioUnchecked.js +16 -0
- package/dist/assets/Icons/IconRadioUncheckedDisabled.js +16 -0
- package/dist/assets/Icons/IconRight.js +13 -0
- package/dist/assets/Icons/IconSave.js +16 -0
- package/dist/assets/Icons/IconSearch.js +26 -0
- package/dist/assets/Icons/IconSuccess.js +15 -0
- package/dist/assets/Icons/IconTrash.js +16 -0
- package/dist/assets/components/ActionDropdown/ActionDropdown.module-CJpBa8kB.css +85 -0
- package/dist/assets/components/Checkbox/Checkbox.module-_XqqEodq.css +82 -0
- package/dist/assets/components/DatePicker/Calendar.module-D3fcZWFD.css +316 -0
- package/dist/assets/components/DatePicker/Datepicker.module-BxWRyQpP.css +39 -0
- package/dist/assets/components/Dropdown/Dropdown.module-DgjqziBo.css +242 -0
- package/dist/assets/components/FormInput/FormInput.module-DvfUbgbC.css +240 -0
- package/dist/assets/components/InlineLoading/InlineLoading.module-iVTVTMU0.css +40 -0
- package/dist/assets/components/MainButton/MainButton.module-8Us8t8Lb.css +306 -0
- package/dist/assets/components/NotificationToast/NotificationToast.module-mSanXElM.css +179 -0
- package/dist/assets/components/Popup/Popup.module-C1XFPW6u.css +152 -0
- package/dist/assets/components/Radio/Radio.module-BvqKw6WX.css +21 -0
- package/dist/assets/components/Skeleton/Skeleton.module-BxbVrXDg.css +57 -0
- package/dist/assets/components/Textarea/Textarea.module-BxaBUjlU.css +167 -0
- package/dist/assets/components/TimePicker/TimePicker.module-DfRiUaeb.css +150 -0
- package/dist/assets/components/Toggle/Toggle.module-DBfTR8Br.css +75 -0
- package/dist/assets/components/Tooltip/Tooltip.module-DEYqvQtd.css +113 -0
- package/dist/components/ActionDropdown/ActionDropdown.js +74 -0
- package/dist/components/ActionDropdown/ActionDropdown.module.scss.js +29 -0
- package/dist/components/Checkbox/Checkbox.js +54 -0
- package/dist/components/Checkbox/Checkbox.module.scss.js +26 -0
- package/dist/components/DatePicker/Calendar.js +437 -0
- package/dist/components/DatePicker/Calendar.module.scss.js +83 -0
- package/dist/components/DatePicker/DatePicker.js +211 -0
- package/dist/components/DatePicker/Datepicker.module.scss.js +17 -0
- package/dist/components/Dropdown/Dropdown.js +337 -0
- package/dist/components/Dropdown/Dropdown.module.scss.js +74 -0
- package/dist/components/FormInput/FormInput.js +151 -0
- package/dist/components/FormInput/FormInput.module.scss.js +62 -0
- package/dist/components/InlineLoading/InlineLoading.js +24 -0
- package/dist/components/InlineLoading/InlineLoading.module.scss.js +11 -0
- package/dist/components/MainButton/MainButton.js +72 -0
- package/dist/components/MainButton/MainButton.module.scss.js +56 -0
- package/dist/components/NotificationToast/NotificationContext.js +57 -0
- package/dist/components/NotificationToast/NotificationToast.js +66 -0
- package/dist/components/NotificationToast/NotificationToast.module.scss.js +59 -0
- package/dist/components/NotificationToast/createNotificationToast.js +10 -0
- package/dist/components/Popup/Popup.js +116 -0
- package/dist/components/Popup/Popup.module.scss.js +41 -0
- package/dist/components/Radio/Radio.js +46 -0
- package/dist/components/Radio/Radio.module.scss.js +8 -0
- package/dist/components/Skeleton/Skeleton.js +8 -0
- package/dist/components/Skeleton/Skeleton.module.scss.js +20 -0
- package/dist/components/Textarea/Textarea.js +149 -0
- package/dist/components/Textarea/Textarea.module.scss.js +41 -0
- package/dist/components/TimePicker/TimePicker.js +172 -0
- package/dist/components/TimePicker/TimePicker.module.scss.js +50 -0
- package/dist/components/Toggle/Toggle.js +20 -0
- package/dist/components/Toggle/Toggle.module.scss.js +29 -0
- package/dist/components/Tooltip/Tooltip.js +153 -0
- package/dist/components/Tooltip/Tooltip.module.scss.js +35 -0
- package/dist/context/NamespaceContext.js +7 -0
- package/dist/index.js +32 -5154
- package/dist/node_modules/dayjs/plugin/customParseFormat.js +129 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.js +35 -0
- package/dist/node_modules/react/jsx-runtime.js +10 -0
- package/dist/utils/Helpers.js +15 -0
- package/package.json +10 -15
- package/dist/types/css-modules.d.ts +0 -9
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const toggleWrapper = "Toggle-module__toggleWrapper";
|
|
2
|
+
const checked = "Toggle-module__checked";
|
|
3
|
+
const error = "Toggle-module__error";
|
|
4
|
+
const disabled = "Toggle-module__disabled";
|
|
5
|
+
const sm = "Toggle-module__sm";
|
|
6
|
+
const toggleState = "Toggle-module__toggleState";
|
|
7
|
+
const md = "Toggle-module__md";
|
|
8
|
+
const lg = "Toggle-module__lg";
|
|
9
|
+
const style = {
|
|
10
|
+
toggleWrapper,
|
|
11
|
+
checked,
|
|
12
|
+
error,
|
|
13
|
+
disabled,
|
|
14
|
+
sm,
|
|
15
|
+
toggleState,
|
|
16
|
+
md,
|
|
17
|
+
lg
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
checked,
|
|
21
|
+
style as default,
|
|
22
|
+
disabled,
|
|
23
|
+
error,
|
|
24
|
+
lg,
|
|
25
|
+
md,
|
|
26
|
+
sm,
|
|
27
|
+
toggleState,
|
|
28
|
+
toggleWrapper
|
|
29
|
+
};
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { j as jsxRuntimeExports } from "../../node_modules/react/jsx-runtime.js";
|
|
2
|
+
import { useRef, useState, useEffect } from "react";
|
|
3
|
+
import style from "./Tooltip.module.scss.js";
|
|
4
|
+
const Tooltip = ({
|
|
5
|
+
children,
|
|
6
|
+
tooltipSlot,
|
|
7
|
+
delay = 400,
|
|
8
|
+
placement = "top",
|
|
9
|
+
trigger = "hover",
|
|
10
|
+
title,
|
|
11
|
+
text,
|
|
12
|
+
customText,
|
|
13
|
+
tooltipContentStyle,
|
|
14
|
+
tooltipTitlestyle,
|
|
15
|
+
tooltipTextStyle,
|
|
16
|
+
tooltipContainerStyle,
|
|
17
|
+
pointerPosition = "10%",
|
|
18
|
+
withPointer = false,
|
|
19
|
+
theme,
|
|
20
|
+
topCustomOffset = 0,
|
|
21
|
+
bottomCustomOffset = 0,
|
|
22
|
+
leftCustomOffset = 0,
|
|
23
|
+
rightCustomOffset = 0,
|
|
24
|
+
forceClose = false,
|
|
25
|
+
onClick
|
|
26
|
+
}) => {
|
|
27
|
+
const ComponentRef = useRef(null);
|
|
28
|
+
const TooltipRef = useRef(null);
|
|
29
|
+
let timeout;
|
|
30
|
+
const [Active, setActive] = useState(false);
|
|
31
|
+
const hasContent = tooltipSlot || title || text || customText;
|
|
32
|
+
const ShowTip = () => {
|
|
33
|
+
if (trigger === "hover" && hasContent) {
|
|
34
|
+
timeout = setTimeout(() => {
|
|
35
|
+
setActive(true);
|
|
36
|
+
}, delay);
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const HideTip = () => {
|
|
40
|
+
if (trigger === "hover") {
|
|
41
|
+
clearTimeout(timeout);
|
|
42
|
+
setTimeout(() => {
|
|
43
|
+
setActive(false);
|
|
44
|
+
}, delay);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const HandleActive = () => {
|
|
48
|
+
if (trigger === "click") {
|
|
49
|
+
onClick?.();
|
|
50
|
+
setActive((state) => !state);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
const CalculatePos = () => {
|
|
54
|
+
const componentEl = ComponentRef.current;
|
|
55
|
+
const tooltipEl = TooltipRef.current;
|
|
56
|
+
if (!tooltipEl || !componentEl) return;
|
|
57
|
+
const componentRect = componentEl.getBoundingClientRect();
|
|
58
|
+
tooltipEl.style.position = "fixed";
|
|
59
|
+
switch (placement) {
|
|
60
|
+
case "top":
|
|
61
|
+
tooltipEl.style.top = `${componentRect.top - tooltipEl.offsetHeight - 8}px`;
|
|
62
|
+
tooltipEl.style.left = `${componentRect.left + topCustomOffset}px`;
|
|
63
|
+
break;
|
|
64
|
+
case "bottom":
|
|
65
|
+
tooltipEl.style.top = `${componentRect.bottom + 8}px`;
|
|
66
|
+
tooltipEl.style.left = `${componentRect.left + bottomCustomOffset}px`;
|
|
67
|
+
break;
|
|
68
|
+
case "left":
|
|
69
|
+
tooltipEl.style.top = `${componentRect.top + componentRect.height / 2 - tooltipEl.offsetHeight / 2}px`;
|
|
70
|
+
tooltipEl.style.left = `${componentRect.left - tooltipEl.offsetWidth - 8 + leftCustomOffset}px`;
|
|
71
|
+
break;
|
|
72
|
+
case "right":
|
|
73
|
+
tooltipEl.style.top = `${componentRect.top + componentRect.height / 2 - tooltipEl.offsetHeight / 2}px`;
|
|
74
|
+
tooltipEl.style.left = `${componentRect.right + 8 + rightCustomOffset}px`;
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
useEffect(() => {
|
|
79
|
+
CalculatePos();
|
|
80
|
+
}, [ComponentRef, Active, children, placement, tooltipSlot, customText, title, text]);
|
|
81
|
+
useEffect(() => {
|
|
82
|
+
const handleScroll = (e) => {
|
|
83
|
+
const isInsideTooltip = ComponentRef.current?.contains(e.target);
|
|
84
|
+
if (!isInsideTooltip) {
|
|
85
|
+
setActive(false);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
const ClickHandler = (event) => {
|
|
89
|
+
if (event.composedPath().includes(ComponentRef.current)) return;
|
|
90
|
+
setActive(false);
|
|
91
|
+
};
|
|
92
|
+
document.addEventListener("click", ClickHandler);
|
|
93
|
+
document.addEventListener("scroll", handleScroll, true);
|
|
94
|
+
return () => {
|
|
95
|
+
document.removeEventListener("scroll", handleScroll, true);
|
|
96
|
+
document.removeEventListener("click", ClickHandler);
|
|
97
|
+
};
|
|
98
|
+
}, []);
|
|
99
|
+
useEffect(() => {
|
|
100
|
+
if (forceClose) {
|
|
101
|
+
setActive(false);
|
|
102
|
+
}
|
|
103
|
+
}, [forceClose]);
|
|
104
|
+
useEffect(() => {
|
|
105
|
+
const element = TooltipRef.current;
|
|
106
|
+
if (element) {
|
|
107
|
+
element.style.setProperty("--pointer-position", `${pointerPosition}`);
|
|
108
|
+
if (!withPointer) {
|
|
109
|
+
element.classList.add(style.withoutPointer);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}, [Active]);
|
|
113
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
114
|
+
"div",
|
|
115
|
+
{
|
|
116
|
+
ref: ComponentRef,
|
|
117
|
+
className: `${theme === "dark" ? style.dark : ""} ${style.tooltipContainer}`,
|
|
118
|
+
onClick: HandleActive,
|
|
119
|
+
onMouseEnter: ShowTip,
|
|
120
|
+
onMouseLeave: HideTip,
|
|
121
|
+
style: tooltipContainerStyle ?? {},
|
|
122
|
+
children: [
|
|
123
|
+
children,
|
|
124
|
+
Active && tooltipSlot ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
125
|
+
"div",
|
|
126
|
+
{
|
|
127
|
+
style: tooltipContentStyle ?? {},
|
|
128
|
+
onClick: (e) => e.stopPropagation(),
|
|
129
|
+
ref: TooltipRef,
|
|
130
|
+
className: `${style.tooltipContent} ${placement ? style[placement] : style.bottom}`,
|
|
131
|
+
children: tooltipSlot
|
|
132
|
+
}
|
|
133
|
+
) : Active && /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
134
|
+
"div",
|
|
135
|
+
{
|
|
136
|
+
style: tooltipContentStyle ?? {},
|
|
137
|
+
onClick: (e) => e.stopPropagation(),
|
|
138
|
+
ref: TooltipRef,
|
|
139
|
+
className: `${style.tooltipContent} ${placement ? style[placement] : style.bottom}`,
|
|
140
|
+
children: [
|
|
141
|
+
customText && typeof customText === "string" && customText,
|
|
142
|
+
title && title.length > 0 && typeof title === "string" && /* @__PURE__ */ jsxRuntimeExports.jsx("h2", { className: style.tooltipTitle, style: tooltipTitlestyle ?? {}, children: title }),
|
|
143
|
+
text && text.length > 0 && typeof text === "string" && /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: style.tooltipText, style: tooltipTextStyle ?? {}, children: text })
|
|
144
|
+
]
|
|
145
|
+
}
|
|
146
|
+
)
|
|
147
|
+
]
|
|
148
|
+
}
|
|
149
|
+
);
|
|
150
|
+
};
|
|
151
|
+
export {
|
|
152
|
+
Tooltip as default
|
|
153
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
const tooltipContainer = "Tooltip-module__tooltipContainer";
|
|
2
|
+
const tooltipContent = "Tooltip-module__tooltipContent";
|
|
3
|
+
const withoutPointer = "Tooltip-module__withoutPointer";
|
|
4
|
+
const top = "Tooltip-module__top";
|
|
5
|
+
const right = "Tooltip-module__right";
|
|
6
|
+
const bottom = "Tooltip-module__bottom";
|
|
7
|
+
const left = "Tooltip-module__left";
|
|
8
|
+
const tooltipTitle = "Tooltip-module__tooltipTitle";
|
|
9
|
+
const tooltipText = "Tooltip-module__tooltipText";
|
|
10
|
+
const dark = "Tooltip-module__dark";
|
|
11
|
+
const style = {
|
|
12
|
+
tooltipContainer,
|
|
13
|
+
tooltipContent,
|
|
14
|
+
withoutPointer,
|
|
15
|
+
top,
|
|
16
|
+
right,
|
|
17
|
+
bottom,
|
|
18
|
+
left,
|
|
19
|
+
tooltipTitle,
|
|
20
|
+
tooltipText,
|
|
21
|
+
dark
|
|
22
|
+
};
|
|
23
|
+
export {
|
|
24
|
+
bottom,
|
|
25
|
+
dark,
|
|
26
|
+
style as default,
|
|
27
|
+
left,
|
|
28
|
+
right,
|
|
29
|
+
tooltipContainer,
|
|
30
|
+
tooltipContent,
|
|
31
|
+
tooltipText,
|
|
32
|
+
tooltipTitle,
|
|
33
|
+
top,
|
|
34
|
+
withoutPointer
|
|
35
|
+
};
|