sea-react-components 1.2.2 → 1.3.0
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/accordion/index.d.ts +1 -0
- package/dist/components/accordion/index.d.ts.map +1 -1
- package/dist/components/accordion/index.js +11 -4
- package/dist/components/auto-complete-Input/index.d.ts +25 -0
- package/dist/components/auto-complete-Input/index.d.ts.map +1 -0
- package/dist/components/auto-complete-Input/index.js +86 -0
- package/dist/components/avatar/index.d.ts +3 -2
- package/dist/components/avatar/index.d.ts.map +1 -1
- package/dist/components/avatar/index.js +18 -5
- package/dist/components/calendar/index.d.ts.map +1 -1
- package/dist/components/calendar/index.js +3 -1
- package/dist/components/cards-list/index.d.ts +20 -0
- package/dist/components/cards-list/index.d.ts.map +1 -0
- package/dist/components/cards-list/index.js +20 -0
- package/dist/components/editable-text/index.d.ts +8 -0
- package/dist/components/editable-text/index.d.ts.map +1 -0
- package/dist/components/editable-text/index.js +20 -0
- package/dist/components/item-not-found/index.d.ts +5 -0
- package/dist/components/item-not-found/index.d.ts.map +1 -0
- package/dist/components/item-not-found/index.js +6 -0
- package/dist/components/list-item/index.d.ts.map +1 -1
- package/dist/components/list-item/index.js +2 -2
- package/dist/components/loader/index.d.ts +1 -2
- package/dist/components/loader/index.d.ts.map +1 -1
- package/dist/components/modal/index.d.ts.map +1 -1
- package/dist/components/modal/index.js +3 -1
- package/dist/components/month-calendar/index.d.ts.map +1 -1
- package/dist/components/month-calendar/index.js +3 -1
- package/dist/components/progress-bar/index.d.ts +5 -5
- package/dist/components/progress-bar/index.d.ts.map +1 -1
- package/dist/components/progress-bar/index.js +26 -13
- package/dist/components/search-input/index.d.ts +7 -0
- package/dist/components/search-input/index.d.ts.map +1 -0
- package/dist/components/search-input/index.js +39 -0
- package/dist/components/select/index.js +2 -2
- package/dist/components/stacked-avatars/index.d.ts +4 -3
- package/dist/components/stacked-avatars/index.d.ts.map +1 -1
- package/dist/components/stacked-avatars/index.js +13 -10
- package/dist/hooks/list-items-hook/usePagination.js +2 -2
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -2
- package/dist/components/file-input-v2/file-input/index.d.ts +0 -14
- package/dist/components/file-input-v2/file-input/index.d.ts.map +0 -1
- package/dist/components/file-input-v2/file-input/index.js +0 -6
- package/dist/components/file-input-v2/file-input-container/index.d.ts +0 -59
- package/dist/components/file-input-v2/file-input-container/index.d.ts.map +0 -1
- package/dist/components/file-input-v2/file-input-container/index.js +0 -99
- package/dist/components/file-input-v2/index.d.ts +0 -3
- package/dist/components/file-input-v2/index.d.ts.map +0 -1
- package/dist/components/file-input-v2/index.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/accordion/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAIZ,SAAS,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/accordion/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAIZ,SAAS,EAIV,MAAM,OAAO,CAAC;AAIf,KAAK,WAAW,GAAG;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC,CAAC;AAIF,KAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAe9C,CAAC;AAEF,eAAO,MAAM,YAAY,mBAMxB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA6CtD,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { createContext, useState, useContext, useId, } from "react";
|
|
3
|
+
import { createContext, useState, useContext, useId, useEffect, useRef, } from "react";
|
|
4
4
|
import Icon from "../icon";
|
|
5
5
|
import clsx from "clsx";
|
|
6
6
|
const AccordionContext = createContext(undefined);
|
|
@@ -18,13 +18,20 @@ export const useAccordion = () => {
|
|
|
18
18
|
}
|
|
19
19
|
return context;
|
|
20
20
|
};
|
|
21
|
-
export const AccordionItem = ({ title, children, id, }) => {
|
|
21
|
+
export const AccordionItem = ({ title, children, id, onOpenChange, }) => {
|
|
22
22
|
const generatedId = useId();
|
|
23
23
|
const itemId = id || generatedId;
|
|
24
24
|
const { openItem, toggleItem } = useAccordion();
|
|
25
25
|
const isOpen = openItem === itemId;
|
|
26
|
-
|
|
26
|
+
const prevIsOpenRef = useRef(null);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (prevIsOpenRef.current !== isOpen) {
|
|
29
|
+
prevIsOpenRef.current = isOpen;
|
|
30
|
+
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(isOpen);
|
|
31
|
+
}
|
|
32
|
+
}, [isOpen, onOpenChange]);
|
|
33
|
+
return (_jsxs("div", { className: "group", children: [_jsxs("div", { onClick: () => toggleItem(itemId), className: "w-full flex justify-between items-center gap-3 px-4 py-3 bg-white hover:bg-primary/10 custom-animation text-left", children: [_jsx("div", { className: "w-full", children: title }), _jsx(Icon, { icon: "weui:arrow-filled", className: clsx("h-5 w-5 cursor-pointer custom-animation", {
|
|
27
34
|
"-rotate-90": isOpen,
|
|
28
35
|
"rotate-90": !isOpen,
|
|
29
|
-
}) })] }), _jsx("div", { className: `px-4 pb-4 overflow-
|
|
36
|
+
}) })] }), _jsx("div", { className: `px-4 pb-4 overflow-auto transition-all duration-300 ease-in-out ${isOpen ? "max-h-screen opacity-100" : "max-h-0 opacity-0"}`, children: isOpen && _jsx("div", { className: "pt-2 text-gray-700", children: children }) })] }));
|
|
30
37
|
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import SearchInput from "../search-input";
|
|
3
|
+
import { SelectOption } from "../select";
|
|
4
|
+
export type Props<T extends string | number | {
|
|
5
|
+
id: string;
|
|
6
|
+
}> = {
|
|
7
|
+
options: SelectOption<T>[];
|
|
8
|
+
selectedOptions?: T[];
|
|
9
|
+
setSelectedOptions?: (opts: T[]) => void;
|
|
10
|
+
onOptionSelect?: (option: SelectOption<T>) => void;
|
|
11
|
+
multiselect?: boolean;
|
|
12
|
+
loading?: boolean;
|
|
13
|
+
renderSelectedOptions?: (selected: T[]) => React.ReactNode;
|
|
14
|
+
renderContainer?: (content: {
|
|
15
|
+
input: React.ReactNode;
|
|
16
|
+
dropdown: React.ReactNode;
|
|
17
|
+
selected: React.ReactNode;
|
|
18
|
+
}) => React.ReactNode;
|
|
19
|
+
} & Omit<React.ComponentProps<typeof SearchInput>, "onDebouncedChange"> & {
|
|
20
|
+
onDebouncedChange?: (val: string) => void;
|
|
21
|
+
};
|
|
22
|
+
export default function AutoCompleteInput<T extends string | number | {
|
|
23
|
+
id: string;
|
|
24
|
+
}>({ name, options, selectedOptions, setSelectedOptions, onOptionSelect, value, onChange, onDebouncedChange, loading, multiselect, renderSelectedOptions, renderContainer, ...rest }: Props<T>): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/auto-complete-input/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,WAAW,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAIzC,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,IAAI;IAC9D,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,CAAC,EAAE,CAAC;IACtB,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAC3D,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE;QAC1B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;QAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;KAC3B,KAAK,KAAK,CAAC,SAAS,CAAC;CACvB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,WAAW,CAAC,EAAE,mBAAmB,CAAC,GAAG;IACtE,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C,CAAC;AAEJ,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAC1C,EACA,IAAI,EACJ,OAAO,EACP,eAAoB,EACpB,kBAAkB,EAClB,cAAc,EACd,KAAK,EACL,QAAQ,EACR,iBAAiB,EACjB,OAAe,EACf,WAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,GAAG,IAAI,EACR,EAAE,KAAK,CAAC,CAAC,CAAC,2CA+HV"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
+
import { useState, useRef, useEffect } from "react";
|
|
15
|
+
import SearchInput from "../search-input";
|
|
16
|
+
import clsx from "clsx";
|
|
17
|
+
import Loader from "../loader";
|
|
18
|
+
export default function AutoCompleteInput(_a) {
|
|
19
|
+
var _b;
|
|
20
|
+
var { name, options, selectedOptions = [], setSelectedOptions, onOptionSelect, value, onChange, onDebouncedChange, loading = false, multiselect = true, renderSelectedOptions, renderContainer } = _a, rest = __rest(_a, ["name", "options", "selectedOptions", "setSelectedOptions", "onOptionSelect", "value", "onChange", "onDebouncedChange", "loading", "multiselect", "renderSelectedOptions", "renderContainer"]);
|
|
21
|
+
const [show, setShow] = useState(false);
|
|
22
|
+
const [inputValue, setInputValue] = useState((_b = value === null || value === void 0 ? void 0 : value.toString()) !== null && _b !== void 0 ? _b : "");
|
|
23
|
+
const containerRef = useRef(null);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
const handler = (e) => {
|
|
26
|
+
var _a;
|
|
27
|
+
if (!((_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target))) {
|
|
28
|
+
setShow(false);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
document.addEventListener("mousedown", handler);
|
|
32
|
+
return () => document.removeEventListener("mousedown", handler);
|
|
33
|
+
}, []);
|
|
34
|
+
const isAlreadySelected = (option) => {
|
|
35
|
+
return selectedOptions.some((selected) => {
|
|
36
|
+
if ((typeof selected === "string" || typeof selected === "number") &&
|
|
37
|
+
(typeof option.value === "string" || typeof option.value === "number")) {
|
|
38
|
+
return selected === option.value;
|
|
39
|
+
}
|
|
40
|
+
if (typeof selected === "object" &&
|
|
41
|
+
typeof option.value === "object" &&
|
|
42
|
+
"id" in selected &&
|
|
43
|
+
"id" in option.value) {
|
|
44
|
+
return selected.id === option.value.id;
|
|
45
|
+
}
|
|
46
|
+
return false;
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
const filteredOptions = multiselect
|
|
50
|
+
? options.filter((o) => !isAlreadySelected(o))
|
|
51
|
+
: options;
|
|
52
|
+
const handleSelect = (option) => {
|
|
53
|
+
setInputValue("");
|
|
54
|
+
onChange === null || onChange === void 0 ? void 0 : onChange({ target: { name, value: "" } });
|
|
55
|
+
if (multiselect) {
|
|
56
|
+
if (!isAlreadySelected(option)) {
|
|
57
|
+
setSelectedOptions === null || setSelectedOptions === void 0 ? void 0 : setSelectedOptions([...selectedOptions, option.value]);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
setSelectedOptions === null || setSelectedOptions === void 0 ? void 0 : setSelectedOptions([option.value]); // Only one selection
|
|
62
|
+
setShow(false); // Hide dropdown immediately
|
|
63
|
+
}
|
|
64
|
+
onOptionSelect === null || onOptionSelect === void 0 ? void 0 : onOptionSelect(option);
|
|
65
|
+
};
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
var _a;
|
|
68
|
+
setInputValue((_a = value === null || value === void 0 ? void 0 : value.toString()) !== null && _a !== void 0 ? _a : "");
|
|
69
|
+
}, [value]);
|
|
70
|
+
const input = (_jsx(SearchInput, Object.assign({ name: name, value: inputValue, onFocus: () => setShow(true), onChange: (e) => {
|
|
71
|
+
setInputValue(e.target.value);
|
|
72
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(e);
|
|
73
|
+
}, onDebouncedChange: (val) => {
|
|
74
|
+
setShow(true);
|
|
75
|
+
onDebouncedChange === null || onDebouncedChange === void 0 ? void 0 : onDebouncedChange(val);
|
|
76
|
+
}, autoComplete: "off" }, rest)));
|
|
77
|
+
const dropdown = show && inputValue.trim() !== "" ? (_jsx("div", { className: "absolute z-10 w-full mt-1 bg-white border rounded shadow max-h-60 overflow-y-auto", children: loading ? (_jsx("div", { className: "p-4 flex justify-center items-center", children: _jsx(Loader, {}) })) : filteredOptions.length > 0 ? (filteredOptions.map((o, i) => (_jsx("div", { className: clsx("px-4 py-2 cursor-pointer custom-animation hover:bg-primary hover:bg-opacity-20"), onClick: () => handleSelect(o), children: o.label }, `${name}-option-${i}`)))) : (_jsx("div", { className: "p-4 text-center text-gray-400", children: "No options found" })) })) : null;
|
|
78
|
+
const selected = selectedOptions.length
|
|
79
|
+
? renderSelectedOptions === null || renderSelectedOptions === void 0 ? void 0 : renderSelectedOptions(selectedOptions)
|
|
80
|
+
: null;
|
|
81
|
+
return (_jsx("div", { ref: containerRef, children: renderContainer ? (_jsx("div", { className: "relative", children: renderContainer({
|
|
82
|
+
input,
|
|
83
|
+
dropdown,
|
|
84
|
+
selected,
|
|
85
|
+
}) })) : (_jsxs("div", { className: "relative", children: [selected, input, dropdown] })) }));
|
|
86
|
+
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export type AvatarSize = "sm" | "md" | "lg" | "xl";
|
|
2
|
+
export type AvatarSize = "xs" | "sm" | "md" | "lg" | "xl";
|
|
3
3
|
export type Props = {
|
|
4
4
|
url?: string | undefined;
|
|
5
5
|
size?: AvatarSize;
|
|
6
6
|
alt: string;
|
|
7
7
|
placeholder?: string;
|
|
8
|
+
placeholderSource?: "image" | "letters";
|
|
8
9
|
} & React.ImgHTMLAttributes<HTMLImageElement>;
|
|
9
|
-
export default function Avatar({ url, alt, size, placeholder, className, ...props }: Props): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export default function Avatar({ url, alt, size, placeholder, className, placeholderSource, ...props }: Props): import("react/jsx-runtime").JSX.Element;
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAkB1D,MAAM,MAAM,KAAK,GAAG;IAClB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACzC,GAAG,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAC9C,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,GAAG,EACH,GAAG,EACH,IAAW,EACX,WAAuC,EACvC,SAAS,EACT,iBAA2B,EAC3B,GAAG,KAAK,EACT,EAAE,KAAK,2CA4BP"}
|
|
@@ -9,18 +9,31 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
9
9
|
}
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
13
13
|
import clsx from "clsx";
|
|
14
14
|
import { PROFILE_PLACEHOLDER_IMAGE } from "../../constants/index";
|
|
15
|
+
import { Utils } from "sea-platform-helpers";
|
|
15
16
|
const sizeValues = {
|
|
16
|
-
|
|
17
|
+
xs: 30,
|
|
18
|
+
sm: 40,
|
|
17
19
|
md: 50,
|
|
18
20
|
lg: 70,
|
|
19
21
|
xl: 90,
|
|
20
22
|
};
|
|
23
|
+
const textSizeClasses = {
|
|
24
|
+
xs: "text-xs",
|
|
25
|
+
sm: "text-xs",
|
|
26
|
+
md: "text-sm",
|
|
27
|
+
lg: "text-base",
|
|
28
|
+
xl: "text-base",
|
|
29
|
+
};
|
|
21
30
|
export default function Avatar(_a) {
|
|
22
|
-
var { url, alt, size = "md", placeholder = PROFILE_PLACEHOLDER_IMAGE, className } = _a, props = __rest(_a, ["url", "alt", "size", "placeholder", "className"]);
|
|
31
|
+
var { url, alt, size = "md", placeholder = PROFILE_PLACEHOLDER_IMAGE, className, placeholderSource = "image" } = _a, props = __rest(_a, ["url", "alt", "size", "placeholder", "className", "placeholderSource"]);
|
|
23
32
|
const sizeValue = sizeValues[size];
|
|
24
|
-
|
|
25
|
-
|
|
33
|
+
const textClass = textSizeClasses[size];
|
|
34
|
+
if (!url && placeholderSource === "letters")
|
|
35
|
+
return (_jsx("div", { style: { width: sizeValue, height: sizeValue }, className: "flex items-center justify-center rounded-full bg-gray-100 border-[1px] border-gray-200", children: _jsxs("p", { className: textClass, children: [" ", Utils.String.getInitials(alt)] }) }));
|
|
36
|
+
if (!url && placeholderSource === "image")
|
|
37
|
+
url = url || placeholder;
|
|
38
|
+
return (_jsx("img", Object.assign({}, props, { src: url, alt: alt, width: sizeValue, height: sizeValue, className: clsx("object-cover rounded-full border-[1px] border-gray-400", className) })));
|
|
26
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/calendar/index.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG;QAAE,KAAK,EAAE,IAAI,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IACtE,aAAa,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;CAC3C,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,KAAK,EACL,QAAQ,EACR,aAAkB,EAClB,YAAY,EACZ,UAAqB,GACtB,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/calendar/index.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG;QAAE,KAAK,EAAE,IAAI,CAAC;QAAC,GAAG,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;IACtE,aAAa,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACjC,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;CAC3C,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAC/B,KAAK,EACL,QAAQ,EACR,aAAkB,EAClB,YAAY,EACZ,UAAqB,GACtB,EAAE,KAAK,2CA6LP"}
|
|
@@ -100,7 +100,9 @@ export default function Calendar({ value, onChange, disabledDates = [], allowedD
|
|
|
100
100
|
setCurrentMonth(start.clone().startOf("month"));
|
|
101
101
|
}
|
|
102
102
|
}, [value, selectMode]);
|
|
103
|
-
return (_jsxs("div", { className: "p-4 max-w-sm mx-auto rounded-xl", children: [_jsxs("div", { className: "flex justify-between items-center mb-4", children: [_jsx("button", { onClick: handlePrevMonth, className: "custom-animation", children: _jsx(Icon, { icon: "weui:arrow-filled", className: "rotate-180 h-6 w-6 hover:text-primary hover:text-opacity-70 hover:-translate-x-1 custom-animation" }) }), _jsx("h2", { className: "text-lg font-semibold text-primary", children: currentMonth.format("MMMM YYYY") }), _jsx("button", { onClick: handleNextMonth, className: "custom-animation", children: _jsx(Icon, { icon: "weui:arrow-filled", className: "h-6 w-6 hover:text-primary hover:text-opacity-70 hover:translate-x-1 custom-animation" }) })] }), _jsx("div", { className: "grid grid-cols-7 text-center text-text text-sm mb-2", children: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"].map((day) => (_jsx("div", { children: day }, day))) }), _jsx("div", { className: "grid grid-cols-7 gap-1 animate-fade-in", children: calendar
|
|
103
|
+
return (_jsxs("div", { className: "p-4 max-w-sm mx-auto rounded-xl", children: [_jsxs("div", { className: "flex justify-between items-center mb-4", children: [_jsx("button", { onClick: handlePrevMonth, className: "custom-animation", children: _jsx(Icon, { icon: "weui:arrow-filled", className: "rotate-180 h-6 w-6 hover:text-primary hover:text-opacity-70 hover:-translate-x-1 custom-animation" }) }), _jsx("h2", { className: "text-lg font-semibold text-primary", children: currentMonth.format("MMMM YYYY") }), _jsx("button", { onClick: handleNextMonth, className: "custom-animation", children: _jsx(Icon, { icon: "weui:arrow-filled", className: "h-6 w-6 hover:text-primary hover:text-opacity-70 hover:translate-x-1 custom-animation" }) })] }), _jsx("div", { className: "grid grid-cols-7 text-center text-text text-sm mb-2", children: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"].map((day) => (_jsx("div", { children: day }, day))) }), _jsx("div", { className: "grid grid-cols-7 gap-1 animate-fade-in", children: calendar
|
|
104
|
+
.reduce((acc, week) => [...acc, ...week], [])
|
|
105
|
+
.map((dayItem, i) => {
|
|
104
106
|
const disabled = isDateDisabled(dayItem);
|
|
105
107
|
const outOfMonth = !isCurrentMonth(dayItem);
|
|
106
108
|
return (_jsx("button", { onClick: () => handleDateClick(dayItem), disabled: disabled, className: clsx("w-8 h-8 rounded-lg text-sm flex items-center justify-center custom-animation", {
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { BulkActionFeature } from "../../hooks/list-items-hook/types";
|
|
3
|
+
export declare const DEFAULT_CARDS_LIST_ROWS_PER_PAGE_OPTIONS: {
|
|
4
|
+
label: string;
|
|
5
|
+
value: number;
|
|
6
|
+
}[];
|
|
7
|
+
export type Props<T> = {
|
|
8
|
+
rows: ({
|
|
9
|
+
id: string;
|
|
10
|
+
} & T)[];
|
|
11
|
+
bulkActionFeature?: BulkActionFeature | undefined;
|
|
12
|
+
loading?: boolean;
|
|
13
|
+
CardComponent?: React.FC<{
|
|
14
|
+
row: {
|
|
15
|
+
id: string;
|
|
16
|
+
} & T;
|
|
17
|
+
}> | undefined;
|
|
18
|
+
};
|
|
19
|
+
export default function CardsList<T>({ CardComponent, rows, bulkActionFeature, loading, }: Props<T>): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/cards-list/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,eAAO,MAAM,wCAAwC;;;GAKpD,CAAC;AAEF,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;IACrB,IAAI,EAAE,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,CAAC,CAAC,EAAE,CAAC;IAC7B,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;QAAE,GAAG,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,GAAG,CAAC,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;CACnE,CAAC;AACF,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,CAAC,EAAE,EACnC,aAAa,EACb,IAAI,EACJ,iBAAiB,EACjB,OAAe,GAChB,EAAE,KAAK,CAAC,CAAC,CAAC,2CAyCV"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import Checkbox from "../checkbox";
|
|
4
|
+
import Loader from "../loader";
|
|
5
|
+
export const DEFAULT_CARDS_LIST_ROWS_PER_PAGE_OPTIONS = [4, 8, 12, 16].map((item) => ({
|
|
6
|
+
label: item.toString(),
|
|
7
|
+
value: item,
|
|
8
|
+
}));
|
|
9
|
+
export default function CardsList({ CardComponent, rows, bulkActionFeature, loading = false, }) {
|
|
10
|
+
return (_jsx("div", { className: "py-1", children: loading ? (_jsx("div", { className: "flex items-center justify-center", children: _jsx(Loader, {}) })) : (_jsx("div", { className: "grid grid-cols-4 gap-4", children: rows.map((row) => (_jsxs("div", { className: "col-span-4 md:col-span-2 lg:col-span-1", children: [bulkActionFeature && (_jsx(Checkbox, { checked: bulkActionFeature.selectedRowIds.length === rows.length, onChange: (checked) => {
|
|
11
|
+
if (checked) {
|
|
12
|
+
bulkActionFeature.setSelectedRowIds(rows.map((r) => r.id));
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
const currentPageIds = rows.map((r) => r.id);
|
|
16
|
+
const result = bulkActionFeature.selectedRowIds.filter((item) => !currentPageIds.includes(item));
|
|
17
|
+
bulkActionFeature.setSelectedRowIds(result);
|
|
18
|
+
}
|
|
19
|
+
} })), CardComponent && _jsx(CardComponent, { row: row })] }, row.id))) })) }));
|
|
20
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
export type Props = {
|
|
3
|
+
DisplayComponent: ReactNode;
|
|
4
|
+
InputComponent: ReactNode;
|
|
5
|
+
onSubmit: () => void;
|
|
6
|
+
};
|
|
7
|
+
export default function EditableText({ DisplayComponent, InputComponent, onSubmit, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/editable-text/index.tsx"],"names":[],"mappings":"AACA,OAAc,EAA+B,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtE,MAAM,MAAM,KAAK,GAAG;IAClB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,cAAc,EAAE,SAAS,CAAC;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,gBAAgB,EAChB,cAAc,EACd,QAAQ,GACT,EAAE,KAAK,2CAmCP"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useRef, useState } from "react";
|
|
4
|
+
export default function EditableText({ DisplayComponent, InputComponent, onSubmit, }) {
|
|
5
|
+
const [isEdit, setIsEdit] = useState(false);
|
|
6
|
+
const formRef = useRef(null);
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
const handleClickOutside = (event) => {
|
|
9
|
+
if (isEdit &&
|
|
10
|
+
formRef.current &&
|
|
11
|
+
!formRef.current.contains(event.target)) {
|
|
12
|
+
onSubmit();
|
|
13
|
+
setIsEdit(false);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
17
|
+
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
18
|
+
}, [isEdit, onSubmit]);
|
|
19
|
+
return (_jsx("div", { ref: formRef, children: isEdit ? (_jsx(_Fragment, { children: InputComponent })) : (_jsx("div", { onClick: () => setIsEdit(true), children: DisplayComponent })) }));
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/item-not-found/index.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AACF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,2CAWnD"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import Icon from "../icon";
|
|
3
|
+
export default function ItemNouFound({ name }) {
|
|
4
|
+
const message = `${name || "Item"} is not found!`;
|
|
5
|
+
return (_jsxs("div", { className: "flex flex-col gap-5 items-center justify-center bg-error bg-opacity-20 p-5 rounded-md", children: [_jsx(Icon, { icon: "streamline-freehand:server-error-404-not-found", className: "text-error h-20 w-20" }), _jsx("h3", { className: "text-3xl text-error", children: message })] }));
|
|
6
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/list-item/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAe,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAKjD,OAAO,EACL,iBAAiB,EACjB,MAAM,EAEP,MAAM,mCAAmC,CAAC;AAM3C,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,kBAAkB,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;IAC3C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvD,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AACF,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,CAAC,EAAE,EAClC,KAAK,EACL,IAAI,EACJ,OAAY,EACZ,UAAU,EACV,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,WAAW,EACX,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,kBAAkB,EAClB,kBAAwB,EACxB,iBAA6B,EAC7B,OAAe,EACf,iBAAwB,EACxB,cAAqB,EACrB,QAAQ,GACT,EAAE,KAAK,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/list-item/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAe,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAKjD,OAAO,EACL,iBAAiB,EACjB,MAAM,EAEP,MAAM,mCAAmC,CAAC;AAM3C,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,kBAAkB,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;IAC3C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACvD,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAClD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AACF,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,CAAC,EAAE,EAClC,KAAK,EACL,IAAI,EACJ,OAAY,EACZ,UAAU,EACV,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,WAAW,EACX,cAAc,EACd,YAAY,EACZ,QAAQ,EACR,kBAAkB,EAClB,kBAAwB,EACxB,iBAA6B,EAC7B,OAAe,EACf,iBAAwB,EACxB,cAAqB,EACrB,QAAQ,GACT,EAAE,KAAK,CAAC,CAAC,CAAC,2CA0GV"}
|
|
@@ -3,7 +3,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
3
3
|
import clsx from "clsx";
|
|
4
4
|
import Select from "../select";
|
|
5
5
|
import Button from "../button";
|
|
6
|
-
import SearchInput from "
|
|
6
|
+
import SearchInput from "../search-input";
|
|
7
7
|
import Pagination from "./components/pagination";
|
|
8
8
|
import { DEFAULT_FILTER_VALUE, } from "../../hooks/list-items-hook/types";
|
|
9
9
|
import { useFilters } from "../..//hooks/list-items-hook/useFilters";
|
|
@@ -19,5 +19,5 @@ export default function ListItem({ title, name, filters = [], totalPages, query,
|
|
|
19
19
|
: "justify-end"), children: [showFiltersRow && (_jsxs("div", { className: "flex items-end gap-2 flex-wrap", children: [_jsx(SearchInput, { placeholder: `search about ${name}`, value: query, onDebouncedChange: setQuery, QueryDebouncedTime: QueryDebouncedTime }), filters.map((f, i) => (_jsxs("div", { className: "flex flex-col gap-1", children: [f.label && (_jsx("p", { className: "text-text font-semibold", children: f.label })), _jsx(Select, { name: `table-${name}-filter-${f.label}-${i}`, values: [f.value], setValues: (newValues) => f.setValue(newValues[0]), options: [
|
|
20
20
|
{ label: "All", value: DEFAULT_FILTER_VALUE },
|
|
21
21
|
...f.options,
|
|
22
|
-
], placeholder: f.label })] }, `table-${name}-filter-${f.label}-${i}`)))] })), bulkActionFeature && (_jsx("div", { className: "flex items-center gap-2 justify-end w-full md:w-fit", children: bulkActionFeature.bulkActions.map((a, i) => (_jsx(Button, Object.assign({}, a, { disabled: bulkActionFeature.selectedRowIds.length === 0 }), `table-${name}-bulk-action-${i}`))) }))] }), _jsx("div", { className: "overflow-x-auto", children: loading ? _jsx(Loader, {}) : _jsx(_Fragment, { children: children }) }), showPaginationRow && (_jsxs("div", { className: "flex items-center justify-end gap-5", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("p", { className: "text-text text-sm", children: "Rows per page" }), _jsx(Select, { name: `${name}-select`, values: [rowsPerPage], setValues: (newValues) => setRowsPerPage(newValues[0]), options: rowsPerPageOptions })] }), totalPages >= 1 && (_jsx(Pagination, { name: name, page: page, setPage: setPage, totalPages: totalPages }))] }))] }));
|
|
22
|
+
], placeholder: f.label })] }, `table-${name}-filter-${f.label}-${i}`)))] })), bulkActionFeature && (_jsx("div", { className: "flex items-center gap-2 justify-end w-full md:w-fit", children: bulkActionFeature.bulkActions.map((a, i) => (_jsx(Button, Object.assign({}, a, { disabled: bulkActionFeature.selectedRowIds.length === 0 }), `table-${name}-bulk-action-${i}`))) }))] }), _jsx("div", { className: "overflow-x-auto", children: loading ? (_jsx("div", { className: "flex items-center justify-center", children: _jsx(Loader, {}) })) : (_jsx(_Fragment, { children: children })) }), showPaginationRow && (_jsxs("div", { className: "flex items-center justify-end gap-5", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("p", { className: "text-text text-sm", children: "Rows per page" }), _jsx(Select, { name: `${name}-select`, values: [rowsPerPage], setValues: (newValues) => setRowsPerPage(newValues[0]), options: rowsPerPageOptions })] }), totalPages >= 1 && (_jsx(Pagination, { name: name, page: page, setPage: setPage, totalPages: totalPages }))] }))] }));
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/loader/index.tsx"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/loader/index.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,KAAK,GAAG;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AACF,MAAM,CAAC,OAAO,UAAU,MAAM,CAAC,EAC7B,SAAoC,GACrC,EAAE,KAAK,2CAEP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/modal/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzC,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,KAAK,GACL,UAAU,GACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,cAAc,GACd,MAAM,GACN,OAAO,CAAC;AAEZ,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAqBlD,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AAEzC,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAC5B,MAAM,EACN,OAAO,EACP,QAAQ,EACR,QAAmB,EACnB,IAAW,EACX,iBAAsB,EACtB,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACT,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/modal/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzC,MAAM,MAAM,aAAa,GACrB,QAAQ,GACR,KAAK,GACL,UAAU,GACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,cAAc,GACd,MAAM,GACN,OAAO,CAAC;AAEZ,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAqBlD,MAAM,MAAM,KAAK,GAAG;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AAEzC,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAC5B,MAAM,EACN,OAAO,EACP,QAAQ,EACR,QAAmB,EACnB,IAAW,EACX,iBAAsB,EACtB,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACT,EAAE,KAAK,2CAqCP"}
|
|
@@ -33,7 +33,9 @@ export default function Modal(_a) {
|
|
|
33
33
|
var { isOpen, onClose, children, position = "center", size = "md", overlayPercentage = 50, className, onClick } = _a, props = __rest(_a, ["isOpen", "onClose", "children", "position", "size", "overlayPercentage", "className", "onClick"]);
|
|
34
34
|
if (!isOpen)
|
|
35
35
|
return null;
|
|
36
|
-
return (_jsx("div", { className: "fixed inset-0 bg-black z-50 overflow-auto
|
|
36
|
+
return (_jsx("div", { className: "fixed inset-0 bg-black z-50 overflow-auto animate-fade-in", style: {
|
|
37
|
+
backgroundColor: `rgba(0,0,0,0.${overlayPercentage})`,
|
|
38
|
+
}, onClick: onClose, children: _jsxs("div", Object.assign({ className: clsx("absolute bg-white rounded-lg shadow-lg p-6 max-h-[90vh] overflow-y-auto ", sizeClasses[size], positionClasses[position], className), onClick: (e) => {
|
|
37
39
|
e.stopPropagation(); // Prevent closing when clicking inside the modal
|
|
38
40
|
if (onClick)
|
|
39
41
|
onClick(e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/month-calendar/index.tsx"],"names":[],"mappings":"AAiBA,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5B,SAAS,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAChD,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,EAAE,EACvC,KAAK,EACL,MAAM,EACN,SAAS,EACT,OAAO,EACP,OAEC,EACD,mBAAmB,GACpB,EAAE,KAAK,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/month-calendar/index.tsx"],"names":[],"mappings":"AAiBA,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5B,SAAS,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,KAAK,GAAG,CAAC,OAAO,CAAC;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAChD,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,EAAE,EACvC,KAAK,EACL,MAAM,EACN,SAAS,EACT,OAAO,EACP,OAEC,EACD,mBAAmB,GACpB,EAAE,KAAK,CAAC,CAAC,CAAC,2CA8GV"}
|
|
@@ -42,7 +42,9 @@ export default function MonthCalendar({ month, events, EventItem, loading, optio
|
|
|
42
42
|
}
|
|
43
43
|
return weeks;
|
|
44
44
|
}, [visibleDays]);
|
|
45
|
-
return (_jsxs("div", { className: "flex flex-col", children: [_jsx("div", { className: "grid grid-cols-7 text-center text-text text-lg font-semibold p-1", children: WeekDays.map((day) => (_jsx("p", { children: day }, day))) }), _jsx("div", { className: "grid grid-cols-7 animate-fade-in", children: calendar
|
|
45
|
+
return (_jsxs("div", { className: "flex flex-col", children: [_jsx("div", { className: "grid grid-cols-7 text-center text-text text-lg font-semibold p-1", children: WeekDays.map((day) => (_jsx("p", { children: day }, day))) }), _jsx("div", { className: "grid grid-cols-7 animate-fade-in", children: calendar
|
|
46
|
+
.reduce((acc, week) => [...acc, ...week], [])
|
|
47
|
+
.map((dayItem, i) => {
|
|
46
48
|
const day = dayItem.format("YYYY-MM-DD");
|
|
47
49
|
const dayEvents = events[day] || [];
|
|
48
50
|
const dayEventsSlice = dayEvents.slice(0, options.eventsInDay);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
export type
|
|
3
|
-
export type
|
|
2
|
+
export type ProgressBarType = "primary" | "secondary" | "success" | "info" | "warning" | "error";
|
|
3
|
+
export type ProgressBarSize = "xs" | "sm" | "md" | "lg" | "xl";
|
|
4
4
|
export type Props = {
|
|
5
5
|
percentage?: number;
|
|
6
6
|
showPercentage?: boolean;
|
|
7
|
-
size?:
|
|
8
|
-
type?:
|
|
7
|
+
size?: ProgressBarSize;
|
|
8
|
+
type?: ProgressBarType;
|
|
9
9
|
} & React.HTMLAttributes<HTMLDivElement>;
|
|
10
|
-
export default function ProgressBar({ percentage,
|
|
10
|
+
export default function ProgressBar({ percentage, showPercentage, size, type, className, ...rest }: Props): import("react/jsx-runtime").JSX.Element;
|
|
11
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/progress-bar/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/progress-bar/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,WAAW,GACX,SAAS,GACT,MAAM,GACN,SAAS,GACT,OAAO,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AA2B/D,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,IAAI,CAAC,EAAE,eAAe,CAAC;CACxB,GAAG,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;AAEzC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,UAAc,EACd,cAAsB,EACtB,IAAW,EACX,IAAgB,EAChB,SAAS,EACT,GAAG,IAAI,EACR,EAAE,KAAK,2CAoCP"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
13
|
import clsx from "clsx";
|
|
3
|
-
const
|
|
14
|
+
const backgroundColors = {
|
|
4
15
|
primary: "bg-primary",
|
|
5
16
|
secondary: "bg-secondary",
|
|
6
17
|
success: "bg-success",
|
|
@@ -8,7 +19,7 @@ const colors = {
|
|
|
8
19
|
warning: "bg-warning",
|
|
9
20
|
error: "bg-error",
|
|
10
21
|
};
|
|
11
|
-
const
|
|
22
|
+
const barHeights = {
|
|
12
23
|
xs: "h-[6px]",
|
|
13
24
|
sm: "h-[10px]",
|
|
14
25
|
md: "h-[14px]",
|
|
@@ -17,16 +28,18 @@ const barHights = {
|
|
|
17
28
|
};
|
|
18
29
|
const textSizes = {
|
|
19
30
|
xs: "text-[6px]",
|
|
20
|
-
sm: "text-[
|
|
21
|
-
md: "text-[
|
|
22
|
-
lg: "text-[
|
|
23
|
-
xl: "text-[
|
|
31
|
+
sm: "text-[7.5px]",
|
|
32
|
+
md: "text-[10px]",
|
|
33
|
+
lg: "text-[14px]",
|
|
34
|
+
xl: "text-[16px]",
|
|
24
35
|
};
|
|
25
|
-
export default function ProgressBar(
|
|
26
|
-
|
|
36
|
+
export default function ProgressBar(_a) {
|
|
37
|
+
var { percentage = 0, showPercentage = false, size = "md", type = "primary", className } = _a, rest = __rest(_a, ["percentage", "showPercentage", "size", "type", "className"]);
|
|
38
|
+
const heightClass = barHeights[size];
|
|
27
39
|
const textClass = textSizes[size];
|
|
28
|
-
const
|
|
29
|
-
return (
|
|
30
|
-
|
|
31
|
-
|
|
40
|
+
const fillColor = backgroundColors[type];
|
|
41
|
+
return (_jsxs("div", Object.assign({ className: clsx("w-full bg-gray-300 rounded-full overflow-hidden relative", heightClass, className) }, rest, { children: [_jsx("div", { className: clsx("rounded-full transition-all duration-300 ease-in-out min-w-[1px]", fillColor), style: {
|
|
42
|
+
width: `${Math.min(Math.max(percentage, 0), 100)}%`,
|
|
43
|
+
height: "100%",
|
|
44
|
+
} }), showPercentage && (_jsxs("div", { className: clsx("absolute inset-0 flex items-center justify-center text-white pointer-events-none", textClass), children: [Math.round(percentage), "%"] }))] })));
|
|
32
45
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Props as InputProps } from "../input";
|
|
2
|
+
export type Props = {
|
|
3
|
+
onDebouncedChange: (newValue: string) => void;
|
|
4
|
+
QueryDebouncedTime?: number;
|
|
5
|
+
} & InputProps;
|
|
6
|
+
export default function SearchInput({ value, onDebouncedChange, QueryDebouncedTime, ...props }: Props): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/search-input/index.tsx"],"names":[],"mappings":"AAGA,OAAc,EAAE,KAAK,IAAI,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtD,MAAM,MAAM,KAAK,GAAG;IAClB,iBAAiB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,GAAG,UAAU,CAAC;AAEf,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,KAAK,EACL,iBAAiB,EACjB,kBAAwB,EACxB,GAAG,KAAK,EACT,EAAE,KAAK,2CAkCP"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
|
+
import { Icon } from "@iconify/react";
|
|
15
|
+
import { useEffect, useRef, useState } from "react";
|
|
16
|
+
import Input from "../input";
|
|
17
|
+
export default function SearchInput(_a) {
|
|
18
|
+
var { value, onDebouncedChange, QueryDebouncedTime = 500 } = _a, props = __rest(_a, ["value", "onDebouncedChange", "QueryDebouncedTime"]);
|
|
19
|
+
const [currentValue, setCurrentValue] = useState(value);
|
|
20
|
+
const [debouncedQuery, setDebouncedQuery] = useState("");
|
|
21
|
+
const isFirstRun = useRef(true);
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
setCurrentValue((value || "").toString());
|
|
24
|
+
}, [value]);
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
const handler = setTimeout(() => {
|
|
27
|
+
setDebouncedQuery(currentValue);
|
|
28
|
+
}, QueryDebouncedTime);
|
|
29
|
+
return () => clearTimeout(handler);
|
|
30
|
+
}, [currentValue, QueryDebouncedTime]);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
if (isFirstRun.current) {
|
|
33
|
+
isFirstRun.current = false;
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
onDebouncedChange(debouncedQuery);
|
|
37
|
+
}, [debouncedQuery]);
|
|
38
|
+
return (_jsx(Input, Object.assign({ value: currentValue, onChange: (e) => setCurrentValue(e.target.value), end: _jsx(Icon, { icon: "material-symbols:search", className: "w-5 h-5 text-primary" }) }, props)));
|
|
39
|
+
}
|
|
@@ -33,14 +33,14 @@ export default function Select({ name, options, values, setValues, errorMessage,
|
|
|
33
33
|
document.addEventListener("mousedown", handleClickOutside);
|
|
34
34
|
return () => document.removeEventListener("mousedown", handleClickOutside);
|
|
35
35
|
}, []);
|
|
36
|
-
return (_jsxs("div", { className: "flex flex-col gap-1", children: [_jsxs("div", { ref: containerRef, className: "relative w-full", children: [_jsxs("div", { onClick: () => setIsOpen((o) => !o), className: clsx("text-text cursor-pointer flex items-center justify-between gap-2 bg-white px-3 py-2 rounded-
|
|
36
|
+
return (_jsxs("div", { className: "flex flex-col gap-1", children: [_jsxs("div", { ref: containerRef, className: "relative w-full", children: [_jsxs("div", { onClick: () => setIsOpen((o) => !o), className: clsx("text-text cursor-pointer flex items-center justify-between gap-2 bg-white px-3 py-2 rounded-md border-0.5", errorMessage
|
|
37
37
|
? "border-error"
|
|
38
38
|
: isOpen
|
|
39
39
|
? "border-primary"
|
|
40
40
|
: "border-gray-200", buttonClassName), children: [multiselect ? (selectedOptions.length ? (_jsx("div", { className: "flex flex-wrap gap-2", children: selectedOptions.map((o, i) => (_jsxs("div", { className: "bg-primary bg-opacity-50 px-2 py-1 rounded-2xl flex items-center gap-1", children: [_jsx("div", { className: "text-black text-sm", children: o.label }), _jsx("button", { type: "button", onClick: (e) => {
|
|
41
41
|
e.stopPropagation();
|
|
42
42
|
removeSelected(o);
|
|
43
|
-
}, children: _jsx(Icon, { icon: "line-md:close-small", className: "w-4 h-4" }) })] }, `${name}-${i}`))) })) : (_jsx("p", { className: "text-gray-500", children: placeholder }))) : selectedOptions[0] ? (_jsx("div", { children: selectedOptions[0].label })) : (_jsx("p", { className: "text-gray-500", children: placeholder })), _jsx(Icon, { icon: "iconamoon:arrow-down-2" })] }), isOpen && (_jsx("div", { className: "absolute left-0 mt-1 w-full z-50 bg-white border border-gray-200 rounded-
|
|
43
|
+
}, children: _jsx(Icon, { icon: "line-md:close-small", className: "w-4 h-4" }) })] }, `${name}-${i}`))) })) : (_jsx("p", { className: "text-gray-500", children: placeholder }))) : selectedOptions[0] ? (_jsx("div", { children: selectedOptions[0].label })) : (_jsx("p", { className: "text-gray-500", children: placeholder })), _jsx(Icon, { icon: "iconamoon:arrow-down-2" })] }), isOpen && (_jsx("div", { className: "absolute left-0 mt-1 w-full z-50 bg-white border border-gray-200 rounded-md shadow-lg max-h-64 overflow-auto animate-fade-in", children: options.map((o, i) => {
|
|
44
44
|
const isSelected = selectedOptions.some((s) => Object.is(s.value, o.value));
|
|
45
45
|
return (_jsx("div", { onClick: () => toggleOption(o), className: clsx("px-4 py-2 cursor-pointer custom-animation", isSelected && "bg-primary text-white", !isSelected && "hover:bg-primary hover:bg-opacity-20"), children: o.label }, `${name}-option-${i}`));
|
|
46
46
|
}) }))] }), errorMessage && (_jsx("p", { className: "pl-1 text-sm text-error", children: errorMessage }))] }));
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { AvatarSize, Props as AvatarProps } from "../avatar";
|
|
2
2
|
export type Props = {
|
|
3
3
|
name: string;
|
|
4
|
+
items: AvatarProps[];
|
|
4
5
|
max?: number;
|
|
5
6
|
size?: AvatarSize;
|
|
6
|
-
className?: string
|
|
7
|
-
|
|
7
|
+
className?: string;
|
|
8
|
+
offsetFactor?: number;
|
|
8
9
|
};
|
|
9
|
-
export default function StackedAvatars({ name, max, size, className,
|
|
10
|
+
export default function StackedAvatars({ name, items, max, size, className, offsetFactor, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/stacked-avatars/index.tsx"],"names":[],"mappings":"AACA,OAAe,EAAE,UAAU,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/stacked-avatars/index.tsx"],"names":[],"mappings":"AACA,OAAe,EAAE,UAAU,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AAarE,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,IAAI,EACJ,KAAK,EACL,GAAiB,EACjB,IAAW,EACX,SAAS,EACT,YAAkB,GACnB,EAAE,KAAK,2CAuCP"}
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import Avatar from "../avatar";
|
|
3
3
|
import clsx from "clsx";
|
|
4
|
-
const offsetFactor = 1.3;
|
|
5
4
|
const sizeValues = {
|
|
6
|
-
|
|
5
|
+
xs: 30,
|
|
6
|
+
sm: 40,
|
|
7
7
|
md: 50,
|
|
8
8
|
lg: 70,
|
|
9
9
|
xl: 90,
|
|
10
10
|
};
|
|
11
11
|
const DEFAULT_MAX = 3;
|
|
12
|
-
export default function StackedAvatars({ name, max = DEFAULT_MAX, size = "md", className,
|
|
13
|
-
if (max <= 0)
|
|
14
|
-
max = DEFAULT_MAX;
|
|
12
|
+
export default function StackedAvatars({ name, items, max = DEFAULT_MAX, size = "md", className, offsetFactor = 1.3, }) {
|
|
15
13
|
const sizeValue = sizeValues[size];
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
const clampedMax = Math.max(1, Math.min(max, items.length));
|
|
15
|
+
const avatarsToDisplay = items.slice(0, clampedMax);
|
|
16
|
+
const remainingCount = items.length - clampedMax;
|
|
17
|
+
return (_jsxs("div", { className: clsx("relative flex", className), style: { height: sizeValue }, children: [avatarsToDisplay.map((item, i) => (_jsx("div", { className: "absolute", style: {
|
|
18
|
+
left: `${(i * sizeValue) / offsetFactor}px`,
|
|
19
|
+
zIndex: avatarsToDisplay.length - i,
|
|
20
|
+
}, children: _jsx(Avatar, Object.assign({}, item, { size: size })) }, `${name}-avatar-${i}`))), remainingCount > 0 && (_jsxs("div", { className: "absolute flex items-center justify-center bg-gray-400 text-white rounded-full text-xs font-medium", style: {
|
|
21
|
+
left: `${(clampedMax * sizeValue) / offsetFactor}px`,
|
|
20
22
|
width: sizeValue,
|
|
21
23
|
height: sizeValue,
|
|
22
|
-
|
|
24
|
+
zIndex: 0,
|
|
25
|
+
}, children: ["+", remainingCount] }))] }));
|
|
23
26
|
}
|
|
@@ -21,8 +21,8 @@ export function usePagination(name, page, setPage, rowsPerPage, setRowsPerPage,
|
|
|
21
21
|
}, [page, rowsPerPage]);
|
|
22
22
|
useEffect(() => {
|
|
23
23
|
if (getParam && !initializedRef.current) {
|
|
24
|
-
const defaultPage = Number(getParam(pageParam)) ||
|
|
25
|
-
const defaultRows = Number(getParam(rowsParam)) ||
|
|
24
|
+
const defaultPage = Number(getParam(pageParam)) || page;
|
|
25
|
+
const defaultRows = Number(getParam(rowsParam)) || rowsPerPage;
|
|
26
26
|
setPage(defaultPage);
|
|
27
27
|
setRowsPerPage(defaultRows);
|
|
28
28
|
initializedRef.current = true;
|
package/dist/index.d.ts
CHANGED
|
@@ -15,6 +15,8 @@ export { default as MenuItem, Props as MenuItemProps, } from "./components/menu/
|
|
|
15
15
|
export { default as Select, Props as SelectProps, SelectOption, } from "./components/select";
|
|
16
16
|
export { default as Paper, Props as PaperProps } from "./components/paper";
|
|
17
17
|
export { default as Input, Props as InputProps } from "./components/input";
|
|
18
|
+
export { default as AutoCompleteInput, Props as AutoCompleteInputProps, } from "./components/auto-complete-input";
|
|
19
|
+
export { default as EditableText, Props as EditableTextProps, } from "./components/editable-text";
|
|
18
20
|
export { default as Textarea, Props as TextareaProps, } from "./components/textarea";
|
|
19
21
|
export { default as Toggle, Props as ToggleProps } from "./components/toggle";
|
|
20
22
|
export { default as Skeleton, Props as SkeletonProps, } from "./components/skeleton";
|
|
@@ -23,6 +25,7 @@ export { default as Tooltip, Props as TooltipProps, } from "./components/tooltip
|
|
|
23
25
|
export { default as CountDown, Props as CountDownProps, } from "./components/count-down";
|
|
24
26
|
export * as ListItemsOptions from "./hooks/list-items-hook/types";
|
|
25
27
|
export { default as ListItem, Props as ListItemProps, } from "./components/list-item";
|
|
28
|
+
export { default as CardsList, Props as CardsListProps, DEFAULT_CARDS_LIST_ROWS_PER_PAGE_OPTIONS, } from "./components/cards-list";
|
|
26
29
|
export { default as Table, Props as TableProps, TableColumn, DEFAULT_TABLE_ROWS_PER_PAGE_OPTIONS, } from "./components/table";
|
|
27
30
|
export { default as Tab, Props as TabProps } from "./components/tab";
|
|
28
31
|
export { default as ProgressBar, Props as ProgressBarProps, } from "./components/progress-bar";
|
|
@@ -42,6 +45,8 @@ export { default as Calendar, Props as CalendarProps, } from "./components/calen
|
|
|
42
45
|
export { default as MonthCalendar, Props as MonthCalendarProps, } from "./components/month-calendar";
|
|
43
46
|
export { default as WeekCalendar, Props as WeekCalendarProps, } from "./components/week-calendar";
|
|
44
47
|
export { default as DayCalendar, Props as DayCalendarProps, } from "./components/day-calendar";
|
|
48
|
+
export { default as Loader, Props as LoaderProps } from "./components/loader";
|
|
49
|
+
export { default as ItemNouFound, Props as ItemNouFoundProps, } from "./components/item-not-found";
|
|
45
50
|
export * from "./components/accordion";
|
|
46
51
|
export { default as WithAuthorization, Props as WithAuthorizationProps, } from "./HOC/with-authorization";
|
|
47
52
|
export { default as CanAccessApplication, Props as CanAccessApplicationProps, } from "./HOC/can-access-application";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -18,6 +18,8 @@ export { default as MenuItem, } from "./components/menu/menu-item";
|
|
|
18
18
|
export { default as Select, } from "./components/select";
|
|
19
19
|
export { default as Paper } from "./components/paper";
|
|
20
20
|
export { default as Input } from "./components/input";
|
|
21
|
+
export { default as AutoCompleteInput, } from "./components/auto-complete-input";
|
|
22
|
+
export { default as EditableText, } from "./components/editable-text";
|
|
21
23
|
export { default as Textarea, } from "./components/textarea";
|
|
22
24
|
export { default as Toggle } from "./components/toggle";
|
|
23
25
|
export { default as Skeleton, } from "./components/skeleton";
|
|
@@ -26,6 +28,7 @@ export { default as Tooltip, } from "./components/tooltip";
|
|
|
26
28
|
export { default as CountDown, } from "./components/count-down";
|
|
27
29
|
export * as ListItemsOptions from "./hooks/list-items-hook/types";
|
|
28
30
|
export { default as ListItem, } from "./components/list-item";
|
|
31
|
+
export { default as CardsList, DEFAULT_CARDS_LIST_ROWS_PER_PAGE_OPTIONS, } from "./components/cards-list";
|
|
29
32
|
export { default as Table, DEFAULT_TABLE_ROWS_PER_PAGE_OPTIONS, } from "./components/table";
|
|
30
33
|
export { default as Tab } from "./components/tab";
|
|
31
34
|
export { default as ProgressBar, } from "./components/progress-bar";
|
|
@@ -45,6 +48,8 @@ export { default as Calendar, } from "./components/calendar";
|
|
|
45
48
|
export { default as MonthCalendar, } from "./components/month-calendar";
|
|
46
49
|
export { default as WeekCalendar, } from "./components/week-calendar";
|
|
47
50
|
export { default as DayCalendar, } from "./components/day-calendar";
|
|
51
|
+
export { default as Loader } from "./components/loader";
|
|
52
|
+
export { default as ItemNouFound, } from "./components/item-not-found";
|
|
48
53
|
export * from "./components/accordion";
|
|
49
54
|
export { default as WithAuthorization, } from "./HOC/with-authorization";
|
|
50
55
|
export { default as CanAccessApplication, } from "./HOC/can-access-application";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/index.ts","../src/hoc/can-access-application/index.tsx","../src/hoc/with-authorization/index.tsx","../src/components/accordion/index.tsx","../src/components/alert/index.tsx","../src/components/avatar/index.tsx","../src/components/badge/index.tsx","../src/components/breadcrumb/index.tsx","../src/components/button/index.tsx","../src/components/calendar/index.tsx","../src/components/carousel/index.tsx","../src/components/checkbox/index.tsx","../src/components/color-picker/index.tsx","../src/components/count-down/index.tsx","../src/components/day-calendar/index.tsx","../src/components/drawer/index.tsx","../src/components/file-input/index.tsx","../src/components/file-input/components/file-item/index.tsx","../src/components/icon/index.tsx","../src/components/input/index.tsx","../src/components/
|
|
1
|
+
{"root":["../src/index.ts","../src/hoc/can-access-application/index.tsx","../src/hoc/with-authorization/index.tsx","../src/components/accordion/index.tsx","../src/components/alert/index.tsx","../src/components/auto-complete-input/index.tsx","../src/components/avatar/index.tsx","../src/components/badge/index.tsx","../src/components/breadcrumb/index.tsx","../src/components/button/index.tsx","../src/components/calendar/index.tsx","../src/components/cards-list/index.tsx","../src/components/carousel/index.tsx","../src/components/checkbox/index.tsx","../src/components/color-picker/index.tsx","../src/components/count-down/index.tsx","../src/components/day-calendar/index.tsx","../src/components/drawer/index.tsx","../src/components/editable-text/index.tsx","../src/components/file-input/index.tsx","../src/components/file-input/components/file-item/index.tsx","../src/components/icon/index.tsx","../src/components/input/index.tsx","../src/components/item-not-found/index.tsx","../src/components/list-item/index.tsx","../src/components/list-item/components/page-button/index.tsx","../src/components/list-item/components/pagination/index.tsx","../src/components/loader/index.tsx","../src/components/menu/index.tsx","../src/components/menu/menu-item/index.tsx","../src/components/modal/index.tsx","../src/components/month-calendar/index.tsx","../src/components/not-authorized/index.tsx","../src/components/otp-input/index.tsx","../src/components/paper/index.tsx","../src/components/progress-bar/index.tsx","../src/components/radio-button/index.tsx","../src/components/search-input/index.tsx","../src/components/select/index.tsx","../src/components/skeleton/index.tsx","../src/components/stacked-avatars/index.tsx","../src/components/tab/index.tsx","../src/components/table/index.tsx","../src/components/text-editor/index.tsx","../src/components/text-editor/components/toolbar/index.tsx","../src/components/text-editor/utils/index.ts","../src/components/textarea/index.tsx","../src/components/toggle/index.tsx","../src/components/tooltip/index.tsx","../src/components/tree-checkbox/index.tsx","../src/components/tree-checkbox/components/tree-checkbox-item/index.tsx","../src/components/tree-checkbox/utils/index.ts","../src/components/week-calendar/index.tsx","../src/constants/index.ts","../src/hooks/list-items-hook/types.ts","../src/hooks/list-items-hook/usebulkactions.ts","../src/hooks/list-items-hook/usefilters.ts","../src/hooks/list-items-hook/usepagination.ts","../src/utils/axios/index.ts","../src/utils/color/index.ts","../src/utils/cookie/index.ts","../src/utils/file/index.ts","../src/utils/jwt/index.ts","../src/utils/validation/index.ts"],"version":"5.6.3"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sea-react-components",
|
|
3
3
|
"description": "SEA react components library",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.3.0",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"build": "tsc --build && npx postcss src/styles.css -o dist/styles.css && npx postcss src/components/text-editor/style.css -o dist/components/text-editor/style.css",
|
|
@@ -45,7 +45,6 @@
|
|
|
45
45
|
"jwt-decode": "^4.0.0",
|
|
46
46
|
"lowlight": "^3.3.0",
|
|
47
47
|
"react-dom": "^18.3.1",
|
|
48
|
-
"sea-backend-helpers": "^1.0.0",
|
|
49
48
|
"sea-platform-helpers": "^1.4.0",
|
|
50
49
|
"sea-react-components": "file:",
|
|
51
50
|
"yup": "^1.5.0"
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export type Props = {
|
|
3
|
-
inputRef: React.RefObject<HTMLInputElement>;
|
|
4
|
-
inputProps: React.InputHTMLAttributes<HTMLInputElement>;
|
|
5
|
-
handleClick: () => void;
|
|
6
|
-
handleDrop: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
7
|
-
handleDragOver: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
8
|
-
handleDragLeave: () => void;
|
|
9
|
-
isDragging: boolean;
|
|
10
|
-
errorMessage?: string | boolean;
|
|
11
|
-
children?: React.ReactNode;
|
|
12
|
-
};
|
|
13
|
-
export default function FileInputV2({ inputRef, inputProps, handleClick, handleDrop, handleDragOver, handleDragLeave, isDragging, errorMessage, children, }: Props): import("react/jsx-runtime").JSX.Element;
|
|
14
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/file-input-v2/file-input/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC5C,UAAU,EAAE,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACxD,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IACzD,cAAc,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC7D,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAClC,QAAQ,EACR,UAAU,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,UAAU,EACV,YAAY,EACZ,QAAQ,GACT,EAAE,KAAK,2CAuBP"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import clsx from "clsx";
|
|
4
|
-
export default function FileInputV2({ inputRef, inputProps, handleClick, handleDrop, handleDragOver, handleDragLeave, isDragging, errorMessage, children, }) {
|
|
5
|
-
return (_jsxs("div", { className: "w-full flex flex-col gap-1", children: [_jsxs("div", { className: clsx("border-0.5 px-3 py-2 rounded-xl text-center", "cursor-pointer transition-all duration-200 ease-in-out", "hover:border-primary", errorMessage ? "border-error" : isDragging && "border-primary"), onClick: handleClick, onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, children: [children || _jsx("p", { className: "text-text-light", children: "Click or drag to upload" }), _jsx("input", Object.assign({ ref: inputRef, className: "hidden" }, inputProps))] }), errorMessage && (_jsx("p", { className: "pl-1 text-sm text-error", children: errorMessage }))] }));
|
|
6
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
export declare enum AcceptedTypes {
|
|
3
|
-
Image = "image/*",
|
|
4
|
-
Audio = "audio/*",
|
|
5
|
-
Video = "video/*",
|
|
6
|
-
PDF = "application/pdf",
|
|
7
|
-
TEXT = "text/plain"
|
|
8
|
-
}
|
|
9
|
-
export type AcceptedValuesArray = (AcceptedTypes | string)[];
|
|
10
|
-
export declare enum UploadStatuses {
|
|
11
|
-
Pending = "Pending",
|
|
12
|
-
Uploading = "Uploading",
|
|
13
|
-
Uploaded = "Uploaded",
|
|
14
|
-
Failed = "Failed"
|
|
15
|
-
}
|
|
16
|
-
export type FileState = {
|
|
17
|
-
id: string;
|
|
18
|
-
serverId?: string;
|
|
19
|
-
file?: File;
|
|
20
|
-
name: string;
|
|
21
|
-
size: number;
|
|
22
|
-
type: string;
|
|
23
|
-
progress: number;
|
|
24
|
-
status: UploadStatuses;
|
|
25
|
-
};
|
|
26
|
-
type UploadResponse<T> = {
|
|
27
|
-
id: string;
|
|
28
|
-
} & T;
|
|
29
|
-
export type Props<T> = {
|
|
30
|
-
name: string;
|
|
31
|
-
multiple?: boolean;
|
|
32
|
-
acceptedTypes?: AcceptedValuesArray;
|
|
33
|
-
onUpload: (file: FileState) => Promise<UploadResponse<T>>;
|
|
34
|
-
onDelete: (file: FileState) => Promise<UploadResponse<T>>;
|
|
35
|
-
onUploadSuccess?: (file: T) => void;
|
|
36
|
-
onDeleteSuccess?: (file: T) => void;
|
|
37
|
-
children: (params: {
|
|
38
|
-
files: FileState[];
|
|
39
|
-
inputRef: React.RefObject<HTMLInputElement>;
|
|
40
|
-
handleClick: () => void;
|
|
41
|
-
handleDeleteFile: (file: FileState) => void;
|
|
42
|
-
handleUploadFile: (file: FileState) => void;
|
|
43
|
-
handleDrop: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
44
|
-
handleDragOver: (e: React.DragEvent<HTMLDivElement>) => void;
|
|
45
|
-
handleDragLeave: () => void;
|
|
46
|
-
isDragging: boolean;
|
|
47
|
-
inputProps: {
|
|
48
|
-
id: string;
|
|
49
|
-
name: string;
|
|
50
|
-
type: string;
|
|
51
|
-
accept: string;
|
|
52
|
-
multiple: boolean;
|
|
53
|
-
onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
54
|
-
};
|
|
55
|
-
}) => React.ReactNode;
|
|
56
|
-
};
|
|
57
|
-
export default function FileInputContainerV2<T>({ name, multiple, acceptedTypes, onUpload, onDelete, onUploadSuccess, onDeleteSuccess, children, }: Props<T>): import("react/jsx-runtime").JSX.Element;
|
|
58
|
-
export {};
|
|
59
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/file-input-v2/file-input-container/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAK7D,oBAAY,aAAa;IACvB,KAAK,YAAY;IACjB,KAAK,YAAY;IACjB,KAAK,YAAY;IACjB,GAAG,oBAAoB;IACvB,IAAI,eAAe;CACpB;AAED,MAAM,MAAM,mBAAmB,GAAG,CAAC,aAAa,GAAG,MAAM,CAAC,EAAE,CAAC;AAE7D,oBAAY,cAAc;IACxB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF,KAAK,cAAc,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC,CAAC;AAE5C,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IACpC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IACpC,QAAQ,EAAE,CAAC,MAAM,EAAE;QACjB,KAAK,EAAE,SAAS,EAAE,CAAC;QACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAC5C,WAAW,EAAE,MAAM,IAAI,CAAC;QACxB,gBAAgB,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;QAC5C,gBAAgB,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;QAC5C,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;QACzD,cAAc,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;QAC7D,eAAe,EAAE,MAAM,IAAI,CAAC;QAC5B,UAAU,EAAE,OAAO,CAAC;QACpB,UAAU,EAAE;YACV,EAAE,EAAE,MAAM,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,OAAO,CAAC;YAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;SAC5D,CAAC;KACH,KAAK,KAAK,CAAC,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,CAAC,EAAE,EAC9C,IAAI,EACJ,QAAgB,EAChB,aAAkB,EAClB,QAAQ,EACR,QAAQ,EACR,eAAe,EACf,eAAe,EACf,QAAQ,GACT,EAAE,KAAK,CAAC,CAAC,CAAC,2CAyGV"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
-
import { useRef, useState, useCallback } from "react";
|
|
13
|
-
const generateTempFileId = (type, size, name) => `(${type})-${size}-${name}`;
|
|
14
|
-
export var AcceptedTypes;
|
|
15
|
-
(function (AcceptedTypes) {
|
|
16
|
-
AcceptedTypes["Image"] = "image/*";
|
|
17
|
-
AcceptedTypes["Audio"] = "audio/*";
|
|
18
|
-
AcceptedTypes["Video"] = "video/*";
|
|
19
|
-
AcceptedTypes["PDF"] = "application/pdf";
|
|
20
|
-
AcceptedTypes["TEXT"] = "text/plain";
|
|
21
|
-
})(AcceptedTypes || (AcceptedTypes = {}));
|
|
22
|
-
export var UploadStatuses;
|
|
23
|
-
(function (UploadStatuses) {
|
|
24
|
-
UploadStatuses["Pending"] = "Pending";
|
|
25
|
-
UploadStatuses["Uploading"] = "Uploading";
|
|
26
|
-
UploadStatuses["Uploaded"] = "Uploaded";
|
|
27
|
-
UploadStatuses["Failed"] = "Failed";
|
|
28
|
-
})(UploadStatuses || (UploadStatuses = {}));
|
|
29
|
-
export default function FileInputContainerV2({ name, multiple = false, acceptedTypes = [], onUpload, onDelete, onUploadSuccess, onDeleteSuccess, children, }) {
|
|
30
|
-
const [files, setFiles] = useState([]);
|
|
31
|
-
const [isDragging, setIsDragging] = useState(false);
|
|
32
|
-
const inputRef = useRef(null);
|
|
33
|
-
const currentFileIds = files.map((file) => generateTempFileId(file.type, file.size, file.name));
|
|
34
|
-
const handleFiles = useCallback((selectedFiles) => {
|
|
35
|
-
if (!selectedFiles)
|
|
36
|
-
return;
|
|
37
|
-
const selectedArray = Array.from(selectedFiles);
|
|
38
|
-
const newFiles = selectedArray
|
|
39
|
-
.filter((f) => !currentFileIds.includes(generateTempFileId(f.type, f.size, f.name)))
|
|
40
|
-
.map((f) => ({
|
|
41
|
-
id: generateTempFileId(f.type, f.size, f.name),
|
|
42
|
-
file: f,
|
|
43
|
-
type: f.type,
|
|
44
|
-
name: f.name,
|
|
45
|
-
size: f.size,
|
|
46
|
-
progress: 0,
|
|
47
|
-
status: UploadStatuses.Pending,
|
|
48
|
-
}));
|
|
49
|
-
setFiles((prev) => [...prev, ...newFiles]);
|
|
50
|
-
newFiles.forEach(handleUploadFile);
|
|
51
|
-
}, [currentFileIds]);
|
|
52
|
-
const handleUploadFile = (file) => __awaiter(this, void 0, void 0, function* () {
|
|
53
|
-
setFiles((prev) => prev.map((f) => f.id === file.id ? Object.assign(Object.assign({}, f), { status: UploadStatuses.Uploading }) : f));
|
|
54
|
-
try {
|
|
55
|
-
const result = yield onUpload(file);
|
|
56
|
-
onUploadSuccess === null || onUploadSuccess === void 0 ? void 0 : onUploadSuccess(result);
|
|
57
|
-
setFiles((prev) => prev.map((f) => f.id === file.id
|
|
58
|
-
? Object.assign(Object.assign({}, f), { serverId: result.id, status: UploadStatuses.Uploaded, progress: 100 }) : f));
|
|
59
|
-
}
|
|
60
|
-
catch (_a) {
|
|
61
|
-
setFiles((prev) => prev.map((f) => f.id === file.id ? Object.assign(Object.assign({}, f), { status: UploadStatuses.Failed }) : f));
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
const handleDeleteFile = (file) => __awaiter(this, void 0, void 0, function* () {
|
|
65
|
-
try {
|
|
66
|
-
const result = yield onDelete(file);
|
|
67
|
-
onDeleteSuccess === null || onDeleteSuccess === void 0 ? void 0 : onDeleteSuccess(result);
|
|
68
|
-
setFiles((prev) => prev.filter((f) => f.serverId !== result.id));
|
|
69
|
-
}
|
|
70
|
-
catch (_a) { }
|
|
71
|
-
});
|
|
72
|
-
return (_jsx(_Fragment, { children: children({
|
|
73
|
-
files,
|
|
74
|
-
inputRef,
|
|
75
|
-
isDragging,
|
|
76
|
-
handleClick: () => { var _a; return (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.click(); },
|
|
77
|
-
handleUploadFile,
|
|
78
|
-
handleDeleteFile,
|
|
79
|
-
handleDrop: (e) => {
|
|
80
|
-
e.preventDefault();
|
|
81
|
-
e.stopPropagation();
|
|
82
|
-
setIsDragging(false);
|
|
83
|
-
handleFiles(e.dataTransfer.files);
|
|
84
|
-
},
|
|
85
|
-
handleDragOver: (e) => {
|
|
86
|
-
e.preventDefault();
|
|
87
|
-
setIsDragging(true);
|
|
88
|
-
},
|
|
89
|
-
handleDragLeave: () => setIsDragging(false),
|
|
90
|
-
inputProps: {
|
|
91
|
-
id: name,
|
|
92
|
-
name,
|
|
93
|
-
type: "file",
|
|
94
|
-
accept: acceptedTypes.join(","),
|
|
95
|
-
multiple,
|
|
96
|
-
onChange: (e) => handleFiles(e.target.files),
|
|
97
|
-
},
|
|
98
|
-
}) }));
|
|
99
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/file-input-v2/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC"}
|