@akanjs/ui 0.0.151 → 0.0.153
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/Button.d.ts +1 -1
- package/ClientSide.d.ts +1 -1
- package/Copy.d.ts +1 -1
- package/CsrImage.d.ts +1 -1
- package/Data/CardList.d.ts +1 -1
- package/Data/Dashboard.d.ts +1 -1
- package/Data/Insight.d.ts +1 -1
- package/Data/Item.d.ts +6 -6
- package/Data/ListContainer.d.ts +2 -2
- package/Data/Pagination.d.ts +1 -1
- package/Data/QueryMaker.d.ts +1 -1
- package/Data/TableList.d.ts +2 -2
- package/DatePicker.d.ts +3 -4
- package/Dialog/Close.d.ts +1 -1
- package/Dialog/Content.d.ts +1 -1
- package/Dialog/Modal.d.ts +1 -1
- package/Dialog/Provider.d.ts +1 -1
- package/Dialog/Trigger.d.ts +1 -1
- package/Dialog/index.d.ts +4 -4
- package/DragAction.d.ts +4 -4
- package/DraggableList.d.ts +2 -2
- package/Dropdown.d.ts +1 -1
- package/Empty.d.ts +2 -2
- package/Field.d.ts +22 -22
- package/Image.d.ts +1 -1
- package/InfiniteScroll.d.ts +1 -1
- package/Input.d.ts +6 -6
- package/KeyboardAvoiding.d.ts +1 -1
- package/Layout/BottomAction.d.ts +1 -1
- package/Layout/BottomInset.d.ts +1 -1
- package/Layout/BottomTab.d.ts +1 -1
- package/Layout/Header.d.ts +1 -1
- package/Layout/LeftSider.d.ts +1 -1
- package/Layout/Navbar.d.ts +2 -2
- package/Layout/RightSider.d.ts +1 -1
- package/Layout/Sider.d.ts +1 -1
- package/Layout/Template.d.ts +1 -1
- package/Layout/TopLeftAction.d.ts +1 -1
- package/Layout/Unit.d.ts +1 -1
- package/Layout/View.d.ts +1 -1
- package/Layout/Zone.d.ts +1 -1
- package/Layout/index.d.ts +12 -12
- package/Link/Back.d.ts +1 -1
- package/Link/Close.d.ts +1 -1
- package/Link/CsrLink.d.ts +1 -1
- package/Link/NextLink.d.ts +1 -1
- package/Link/index.d.ts +1 -1
- package/Load/Edit.d.ts +1 -1
- package/Load/Edit_Client.d.ts +1 -1
- package/Load/Page.d.ts +1 -1
- package/Load/PageCSR.d.ts +1 -1
- package/Load/Pagination.d.ts +1 -1
- package/Load/Units.d.ts +1 -1
- package/Load/View.d.ts +1 -1
- package/Load/index.d.ts +1 -1
- package/Loading/Area.d.ts +1 -1
- package/Loading/Button.d.ts +1 -1
- package/Loading/Input.d.ts +1 -1
- package/Loading/ProgressBar.d.ts +1 -1
- package/Loading/Skeleton.d.ts +1 -1
- package/Loading/Spin.d.ts +1 -1
- package/Loading/index.d.ts +6 -6
- package/Menu.d.ts +1 -1
- package/Modal.d.ts +3 -3
- package/Model/Edit.d.ts +1 -1
- package/Model/EditModal.d.ts +2 -2
- package/Model/EditWrapper.d.ts +1 -1
- package/Model/LoadInit.d.ts +1 -1
- package/Model/New.d.ts +1 -1
- package/Model/NewWrapper.d.ts +1 -1
- package/Model/NewWrapper_Client.d.ts +1 -1
- package/Model/Remove.d.ts +1 -1
- package/Model/RemoveWrapper.d.ts +1 -1
- package/Model/SureToRemove.d.ts +1 -1
- package/Model/View.d.ts +1 -1
- package/Model/ViewEditModal.d.ts +1 -1
- package/Model/ViewModal.d.ts +1 -1
- package/Model/ViewWrapper.d.ts +1 -1
- package/More.d.ts +1 -1
- package/ObjectId.d.ts +1 -1
- package/Popconfirm.d.ts +2 -2
- package/Radio.d.ts +2 -2
- package/RecentTime.d.ts +1 -1
- package/Refresh.d.ts +1 -1
- package/ScreenNavigator.d.ts +3 -3
- package/Select.d.ts +1 -1
- package/Signal/Arg.d.ts +13 -13
- package/Signal/Doc.d.ts +6 -6
- package/Signal/GraphQL.d.ts +5 -6
- package/Signal/Listener.d.ts +2 -2
- package/Signal/Message.d.ts +4 -5
- package/Signal/Object.d.ts +4 -4
- package/Signal/PubSub.d.ts +4 -4
- package/Signal/Request.d.ts +2 -2
- package/Signal/Response.d.ts +3 -3
- package/Signal/RestApi.d.ts +5 -6
- package/Signal/WebSocket.d.ts +2 -2
- package/System/CSR.d.ts +5 -5
- package/System/Client.d.ts +8 -8
- package/System/Common.d.ts +2 -2
- package/System/DevModeToggle.d.ts +1 -1
- package/System/Gtag.d.ts +1 -1
- package/System/HealthCheck.d.ts +1 -1
- package/System/Messages.d.ts +1 -1
- package/System/Reconnect.d.ts +1 -1
- package/System/Root.d.ts +1 -1
- package/System/SSR.d.ts +4 -4
- package/System/SelectLanguage.d.ts +1 -1
- package/System/ThemeToggle.d.ts +1 -1
- package/System/index.d.ts +7 -7
- package/Tab/Menu.d.ts +1 -1
- package/Tab/Menus.d.ts +1 -1
- package/Tab/Panel.d.ts +1 -1
- package/Tab/Provider.d.ts +1 -1
- package/Tab/index.d.ts +4 -4
- package/Table.d.ts +1 -1
- package/ToggleSelect.d.ts +2 -2
- package/Unauthorized.d.ts +2 -2
- package/cjs/BottomSheet.js +38 -42
- package/cjs/Button.js +36 -34
- package/cjs/ClientSide.js +2 -1
- package/cjs/Copy.js +5 -4
- package/cjs/CsrImage.js +2 -1
- package/cjs/Data/CardList.js +41 -33
- package/cjs/Data/Dashboard.js +22 -12
- package/cjs/Data/Insight.js +7 -3
- package/cjs/Data/Item.js +54 -39
- package/cjs/Data/ListContainer.js +104 -70
- package/cjs/Data/Pagination.js +3 -2
- package/cjs/Data/QueryMaker.js +104 -82
- package/cjs/Data/TableList.js +45 -34
- package/cjs/DatePicker.js +38 -33
- package/cjs/Dialog/Close.js +5 -4
- package/cjs/Dialog/Content.js +2 -1
- package/cjs/Dialog/Modal.js +60 -49
- package/cjs/Dialog/Provider.js +2 -1
- package/cjs/Dialog/Trigger.js +5 -4
- package/cjs/Dialog/index.js +2 -1
- package/cjs/DragAction.js +11 -10
- package/cjs/DraggableList.js +10 -9
- package/cjs/Dropdown.js +32 -29
- package/cjs/Empty.js +17 -22
- package/cjs/Field.js +695 -573
- package/cjs/Image.js +2 -1
- package/cjs/InfiniteScroll.js +6 -1
- package/cjs/Input.js +171 -154
- package/cjs/KeyboardAvoiding.js +2 -1
- package/cjs/Layout/BottomAction.js +2 -1
- package/cjs/Layout/BottomInset.js +6 -5
- package/cjs/Layout/BottomTab.js +23 -17
- package/cjs/Layout/Header.js +14 -10
- package/cjs/Layout/LeftSider.js +17 -14
- package/cjs/Layout/Navbar.js +6 -12
- package/cjs/Layout/RightSider.js +24 -18
- package/cjs/Layout/Sider.js +24 -11
- package/cjs/Layout/Template.js +2 -1
- package/cjs/Layout/TopLeftAction.js +2 -1
- package/cjs/Layout/Unit.js +2 -1
- package/cjs/Layout/View.js +2 -1
- package/cjs/Layout/Zone.js +2 -1
- package/cjs/Link/Back.js +2 -1
- package/cjs/Link/Close.js +5 -4
- package/cjs/Link/CsrLink.js +5 -4
- package/cjs/Link/NextLink.js +5 -4
- package/cjs/Link/index.js +4 -3
- package/cjs/Load/Edit.js +2 -1
- package/cjs/Load/Edit_Client.js +6 -5
- package/cjs/Load/PageCSR.js +2 -1
- package/cjs/Load/Pagination.js +4 -3
- package/cjs/Load/Units.js +34 -27
- package/cjs/Load/View.js +3 -2
- package/cjs/Loading/Area.js +5 -1
- package/cjs/Loading/Button.js +2 -1
- package/cjs/Loading/Input.js +2 -1
- package/cjs/Loading/ProgressBar.js +2 -1
- package/cjs/Loading/Skeleton.js +7 -1
- package/cjs/Loading/Spin.js +2 -1
- package/cjs/Menu.js +105 -89
- package/cjs/Modal.js +33 -20
- package/cjs/Model/Edit.js +18 -12
- package/cjs/Model/EditModal.js +43 -45
- package/cjs/Model/EditWrapper.js +5 -4
- package/cjs/Model/LoadInit.js +2 -1
- package/cjs/Model/New.js +18 -12
- package/cjs/Model/NewWrapper.js +2 -1
- package/cjs/Model/NewWrapper_Client.js +5 -4
- package/cjs/Model/Remove.js +45 -39
- package/cjs/Model/RemoveWrapper.js +6 -5
- package/cjs/Model/SureToRemove.js +70 -54
- package/cjs/Model/View.js +13 -3
- package/cjs/Model/ViewEditModal.js +30 -19
- package/cjs/Model/ViewModal.js +9 -8
- package/cjs/Model/ViewWrapper.js +5 -4
- package/cjs/More.js +10 -6
- package/cjs/ObjectId.js +5 -1
- package/cjs/Pagination.js +45 -40
- package/cjs/Popconfirm.js +53 -45
- package/cjs/Radio.js +26 -22
- package/cjs/RecentTime.js +16 -15
- package/cjs/Refresh.js +5 -4
- package/cjs/ScreenNavigator.js +7 -6
- package/cjs/Select.js +156 -135
- package/cjs/Signal/Arg.js +94 -54
- package/cjs/Signal/Doc.js +175 -98
- package/cjs/Signal/GraphQL.js +143 -59
- package/cjs/Signal/Listener.js +28 -21
- package/cjs/Signal/Message.js +166 -80
- package/cjs/Signal/Object.js +75 -39
- package/cjs/Signal/PubSub.js +161 -79
- package/cjs/Signal/Request.js +16 -9
- package/cjs/Signal/Response.js +30 -17
- package/cjs/Signal/RestApi.js +186 -84
- package/cjs/Signal/WebSocket.js +6 -5
- package/cjs/System/CSR.js +184 -165
- package/cjs/System/Client.js +24 -20
- package/cjs/System/Common.js +29 -25
- package/cjs/System/DevModeToggle.js +14 -10
- package/cjs/System/Gtag.js +11 -7
- package/cjs/System/HealthCheck.js +2 -1
- package/cjs/System/Messages.js +39 -36
- package/cjs/System/Reconnect.js +25 -3
- package/cjs/System/Root.js +2 -1
- package/cjs/System/SSR.js +72 -54
- package/cjs/System/SelectLanguage.js +25 -21
- package/cjs/System/ThemeToggle.js +5 -1
- package/cjs/System/index.js +3 -2
- package/cjs/Tab/Menu.js +5 -4
- package/cjs/Tab/Menus.js +2 -1
- package/cjs/Tab/Panel.js +3 -2
- package/cjs/Tab/Provider.js +2 -1
- package/cjs/Tab/index.js +2 -1
- package/cjs/Table.js +25 -26
- package/cjs/ToggleSelect.js +59 -54
- package/cjs/Unauthorized.js +17 -22
- package/esm/BottomSheet.js +38 -32
- package/esm/Button.js +36 -24
- package/esm/ClientSide.js +2 -1
- package/esm/Copy.js +5 -4
- package/esm/CsrImage.js +2 -1
- package/esm/Data/CardList.js +41 -33
- package/esm/Data/Dashboard.js +22 -12
- package/esm/Data/Insight.js +7 -3
- package/esm/Data/Item.js +54 -29
- package/esm/Data/ListContainer.js +104 -70
- package/esm/Data/Pagination.js +3 -2
- package/esm/Data/QueryMaker.js +104 -82
- package/esm/Data/TableList.js +45 -34
- package/esm/DatePicker.js +38 -33
- package/esm/Dialog/Close.js +5 -4
- package/esm/Dialog/Content.js +2 -1
- package/esm/Dialog/Modal.js +60 -49
- package/esm/Dialog/Provider.js +2 -1
- package/esm/Dialog/Trigger.js +5 -4
- package/esm/Dialog/index.js +2 -1
- package/esm/DragAction.js +11 -10
- package/esm/DraggableList.js +10 -9
- package/esm/Dropdown.js +32 -29
- package/esm/Empty.js +17 -12
- package/esm/Field.js +695 -573
- package/esm/Image.js +2 -1
- package/esm/InfiniteScroll.js +6 -1
- package/esm/Input.js +171 -144
- package/esm/KeyboardAvoiding.js +2 -1
- package/esm/Layout/BottomAction.js +2 -1
- package/esm/Layout/BottomInset.js +6 -5
- package/esm/Layout/BottomTab.js +23 -17
- package/esm/Layout/Header.js +14 -10
- package/esm/Layout/LeftSider.js +17 -14
- package/esm/Layout/Navbar.js +6 -2
- package/esm/Layout/RightSider.js +24 -18
- package/esm/Layout/Sider.js +24 -11
- package/esm/Layout/Template.js +2 -1
- package/esm/Layout/TopLeftAction.js +2 -1
- package/esm/Layout/Unit.js +2 -1
- package/esm/Layout/View.js +2 -1
- package/esm/Layout/Zone.js +2 -1
- package/esm/Link/Back.js +2 -1
- package/esm/Link/Close.js +5 -4
- package/esm/Link/CsrLink.js +5 -4
- package/esm/Link/NextLink.js +5 -4
- package/esm/Link/index.js +4 -3
- package/esm/Load/Edit.js +2 -1
- package/esm/Load/Edit_Client.js +6 -5
- package/esm/Load/PageCSR.js +2 -1
- package/esm/Load/Pagination.js +4 -3
- package/esm/Load/Units.js +34 -27
- package/esm/Load/View.js +3 -2
- package/esm/Loading/Area.js +5 -1
- package/esm/Loading/Button.js +2 -1
- package/esm/Loading/Input.js +2 -1
- package/esm/Loading/ProgressBar.js +2 -1
- package/esm/Loading/Skeleton.js +7 -1
- package/esm/Loading/Spin.js +2 -1
- package/esm/Menu.js +105 -89
- package/esm/Modal.js +33 -20
- package/esm/Model/Edit.js +18 -12
- package/esm/Model/EditModal.js +43 -35
- package/esm/Model/EditWrapper.js +5 -4
- package/esm/Model/LoadInit.js +2 -1
- package/esm/Model/New.js +18 -12
- package/esm/Model/NewWrapper.js +2 -1
- package/esm/Model/NewWrapper_Client.js +5 -4
- package/esm/Model/Remove.js +45 -39
- package/esm/Model/RemoveWrapper.js +6 -5
- package/esm/Model/SureToRemove.js +70 -54
- package/esm/Model/View.js +13 -3
- package/esm/Model/ViewEditModal.js +30 -19
- package/esm/Model/ViewModal.js +9 -8
- package/esm/Model/ViewWrapper.js +5 -4
- package/esm/More.js +10 -6
- package/esm/ObjectId.js +5 -1
- package/esm/Pagination.js +45 -40
- package/esm/Popconfirm.js +53 -35
- package/esm/Radio.js +26 -22
- package/esm/RecentTime.js +16 -15
- package/esm/Refresh.js +5 -4
- package/esm/ScreenNavigator.js +7 -6
- package/esm/Select.js +156 -135
- package/esm/Signal/Arg.js +94 -54
- package/esm/Signal/Doc.js +175 -98
- package/esm/Signal/GraphQL.js +143 -59
- package/esm/Signal/Listener.js +28 -21
- package/esm/Signal/Message.js +166 -80
- package/esm/Signal/Object.js +75 -39
- package/esm/Signal/PubSub.js +161 -79
- package/esm/Signal/Request.js +16 -9
- package/esm/Signal/Response.js +30 -17
- package/esm/Signal/RestApi.js +186 -84
- package/esm/Signal/WebSocket.js +6 -5
- package/esm/System/CSR.js +184 -165
- package/esm/System/Client.js +24 -20
- package/esm/System/Common.js +29 -25
- package/esm/System/DevModeToggle.js +14 -10
- package/esm/System/Gtag.js +11 -7
- package/esm/System/HealthCheck.js +2 -1
- package/esm/System/Messages.js +39 -36
- package/esm/System/Reconnect.js +25 -3
- package/esm/System/Root.js +2 -1
- package/esm/System/SSR.js +72 -54
- package/esm/System/SelectLanguage.js +25 -21
- package/esm/System/ThemeToggle.js +5 -1
- package/esm/System/index.js +3 -2
- package/esm/Tab/Menu.js +5 -4
- package/esm/Tab/Menus.js +2 -1
- package/esm/Tab/Panel.js +3 -2
- package/esm/Tab/Provider.js +2 -1
- package/esm/Tab/index.js +2 -1
- package/esm/Table.js +25 -16
- package/esm/ToggleSelect.js +59 -54
- package/esm/Unauthorized.js +17 -12
- package/package.json +4 -1
- package/styles.css +624 -0
package/esm/System/Messages.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { clsx } from "@akanjs/client";
|
|
3
4
|
import { msg } from "@akanjs/dictionary";
|
|
4
5
|
import { usePage } from "@akanjs/next";
|
|
@@ -49,39 +50,41 @@ const Message = ({ content, type = "info", duration, keyForMessage }) => {
|
|
|
49
50
|
const iconClassName = type === "loading" ? "text-info" : `text-${type}`;
|
|
50
51
|
const getIcon = (type2) => {
|
|
51
52
|
const icons = {
|
|
52
|
-
info: /* @__PURE__ */
|
|
53
|
-
success: /* @__PURE__ */
|
|
54
|
-
error: /* @__PURE__ */
|
|
55
|
-
warning: /* @__PURE__ */
|
|
56
|
-
loading: /* @__PURE__ */
|
|
53
|
+
info: /* @__PURE__ */ jsx(AiOutlineInfoCircle, { className: clsx("text-2xl", iconClassName) }),
|
|
54
|
+
success: /* @__PURE__ */ jsx(AiOutlineCheckCircle, { className: clsx("text-2xl", iconClassName) }),
|
|
55
|
+
error: /* @__PURE__ */ jsx(BsExclamationCircleFill, { className: clsx("text-2xl", iconClassName) }),
|
|
56
|
+
warning: /* @__PURE__ */ jsx(AiOutlineQuestionCircle, { className: clsx("text-2xl", iconClassName) }),
|
|
57
|
+
loading: /* @__PURE__ */ jsx(AiOutlineLoading3Quarters, { className: clsx("animate-spin text-2xl", iconClassName) })
|
|
57
58
|
};
|
|
58
59
|
return icons[type2];
|
|
59
60
|
};
|
|
60
|
-
return /* @__PURE__ */
|
|
61
|
+
return /* @__PURE__ */ jsx(
|
|
61
62
|
"div",
|
|
62
63
|
{
|
|
63
64
|
"data-state": preBlind,
|
|
64
65
|
className: "animate-zoomIn data-[state=true]:animate-smaller group w-screen px-6 duration-300 md:max-w-[60%]",
|
|
65
66
|
style: {
|
|
66
67
|
paddingTop: pageState.topSafeArea
|
|
67
|
-
}
|
|
68
|
-
},
|
|
69
|
-
/* @__PURE__ */ React.createElement(
|
|
70
|
-
"div",
|
|
71
|
-
{
|
|
72
|
-
className: clsx(
|
|
73
|
-
"typo-body1 text-base-content flex w-full items-center gap-2 rounded-[4px] border px-4 py-2 drop-shadow-lg",
|
|
74
|
-
{
|
|
75
|
-
"stroke-base-content bg-primary-content border-[#EEEEEE]": type === "loading" || type === "info",
|
|
76
|
-
"stroke-success bg-success/80 border-success-border": type === "success",
|
|
77
|
-
"stroke-error bg-error/80 border-error-border": type === "error",
|
|
78
|
-
"stroke-warning bg-warning/80 border-warning-border": type === "warning"
|
|
79
|
-
}
|
|
80
|
-
)
|
|
81
68
|
},
|
|
82
|
-
/* @__PURE__ */
|
|
83
|
-
|
|
84
|
-
|
|
69
|
+
children: /* @__PURE__ */ jsxs(
|
|
70
|
+
"div",
|
|
71
|
+
{
|
|
72
|
+
className: clsx(
|
|
73
|
+
"typo-body1 text-base-content flex w-full items-center gap-2 rounded-[4px] border px-4 py-2 drop-shadow-lg",
|
|
74
|
+
{
|
|
75
|
+
"stroke-base-content bg-primary-content border-[#EEEEEE]": type === "loading" || type === "info",
|
|
76
|
+
"stroke-success bg-success/80 border-success-border": type === "success",
|
|
77
|
+
"stroke-error bg-error/80 border-error-border": type === "error",
|
|
78
|
+
"stroke-warning bg-warning/80 border-warning-border": type === "warning"
|
|
79
|
+
}
|
|
80
|
+
),
|
|
81
|
+
children: [
|
|
82
|
+
/* @__PURE__ */ jsx("div", { className: "bg-base-100 flex size-6 items-center justify-center rounded-full", children: getIcon(type) }),
|
|
83
|
+
/* @__PURE__ */ jsx("span", { className: "text-base-100 truncate whitespace-nowrap", children: content })
|
|
84
|
+
]
|
|
85
|
+
}
|
|
86
|
+
)
|
|
87
|
+
}
|
|
85
88
|
);
|
|
86
89
|
};
|
|
87
90
|
const Messages = () => {
|
|
@@ -133,22 +136,22 @@ const Messages = () => {
|
|
|
133
136
|
}, []);
|
|
134
137
|
if (!messages.length)
|
|
135
138
|
return null;
|
|
136
|
-
return /* @__PURE__ */
|
|
139
|
+
return /* @__PURE__ */ jsx(
|
|
137
140
|
"div",
|
|
138
141
|
{
|
|
139
142
|
id: "toast",
|
|
140
|
-
className: "fixed top-0 left-0 z-[100] mt-[var(--safe-area-top)] flex h-fit w-screen flex-col items-center justify-start gap-2 pt-2"
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
143
|
+
className: "fixed top-0 left-0 z-[100] mt-[var(--safe-area-top)] flex h-fit w-screen flex-col items-center justify-start gap-2 pt-2",
|
|
144
|
+
children: messages.map((message) => /* @__PURE__ */ jsx(
|
|
145
|
+
Message,
|
|
146
|
+
{
|
|
147
|
+
content: message.content,
|
|
148
|
+
type: message.type,
|
|
149
|
+
duration: message.duration,
|
|
150
|
+
keyForMessage: message.key
|
|
151
|
+
},
|
|
152
|
+
message.key
|
|
153
|
+
))
|
|
154
|
+
}
|
|
152
155
|
);
|
|
153
156
|
};
|
|
154
157
|
export {
|
package/esm/System/Reconnect.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { router } from "@akanjs/client";
|
|
3
4
|
import { useInterval } from "@akanjs/next";
|
|
4
5
|
import { fetch } from "@akanjs/signal";
|
|
@@ -36,9 +37,30 @@ const Reconnect = ({
|
|
|
36
37
|
return;
|
|
37
38
|
await reconnect();
|
|
38
39
|
}, 5e3);
|
|
39
|
-
return /* @__PURE__ */
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
return /* @__PURE__ */ jsx(Fragment, { children: dev ? /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", { className: "flex h-screen flex-col items-center justify-center", children: [
|
|
41
|
+
/* @__PURE__ */ jsxs("div", { className: "bg-base-300 flex w-4/5 flex-col items-center justify-center rounded-md p-5 md:w-1/3", children: [
|
|
42
|
+
/* @__PURE__ */ jsx("div", { className: "text-3xl font-bold", children: "Something's wrong!" }),
|
|
43
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center justify-center pt-5", children: [
|
|
44
|
+
/* @__PURE__ */ jsx("div", { className: "py-5", children: connectStatus === "disconnected" ? /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx("div", { className: "text-[100px] text-gray-500", children: /* @__PURE__ */ jsx(TbPlugConnectedX, {}) }) }) : connectStatus === "connecting" ? /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx("div", { className: "animate-pulse text-[100px] text-gray-500", children: /* @__PURE__ */ jsx(TbPlugConnectedX, {}) }) }) : /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx("div", { className: "animate-pop text-[100px] text-white", children: /* @__PURE__ */ jsx(TbPlugConnected, {}) }) }) }),
|
|
45
|
+
connectStatus === "connected" ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
46
|
+
/* @__PURE__ */ jsx("div", { children: "Connected!" }),
|
|
47
|
+
/* @__PURE__ */ jsx("div", { className: "animate-pop" }),
|
|
48
|
+
/* @__PURE__ */ jsx("span", { children: /* @__PURE__ */ jsx("span", { className: "text-sm text-gray-500", children: "Redirecting to the previous page in some seconds." }) })
|
|
49
|
+
] }) : connectStatus === "connecting" ? /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-center", children: [
|
|
50
|
+
/* @__PURE__ */ jsx("div", { children: "Try reconnecting to the server" }),
|
|
51
|
+
/* @__PURE__ */ jsx("div", { className: "flex items-center", children: Array.from({ length: DOTS_LENGTH }).map(
|
|
52
|
+
(_, index) => dots >= index ? /* @__PURE__ */ jsx("div", { className: "visible", children: "." }, index) : /* @__PURE__ */ jsx("div", { className: "invisible", children: "." }, index)
|
|
53
|
+
) })
|
|
54
|
+
] }) : /* @__PURE__ */ jsx("div", { children: "Server disconnected." })
|
|
55
|
+
] })
|
|
56
|
+
] }),
|
|
57
|
+
/* @__PURE__ */ jsx("span", { className: "text-center text-sm text-gray-500", children: "*Please check your server status." })
|
|
58
|
+
] }) }) : /* @__PURE__ */ jsx("div", { className: "flex h-screen items-center justify-center", children: /* @__PURE__ */ jsxs("div", { className: "bg-base-300 flex w-4/5 flex-col items-center justify-center rounded-md py-5 md:w-1/3", children: [
|
|
59
|
+
/* @__PURE__ */ jsx("div", { className: "text-3xl font-bold", children: "\uBB38\uC81C\uAC00 \uBC1C\uC0DD\uD588\uC5B4\uC694!" }),
|
|
60
|
+
/* @__PURE__ */ jsx(Image, { className: "mt-5", src: "/deadBot.svg", alt: "deadBot", color: "gray", width: 120, height: 120 }),
|
|
61
|
+
/* @__PURE__ */ jsx("div", { className: "text-lg", children: "\uC11C\uBC84\uC5D0 \uBB38\uC81C\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4." }),
|
|
62
|
+
/* @__PURE__ */ jsx("div", { className: "text-lg", children: "\uC11C\uBC84\uC5D0 \uC5F0\uACB0\uC744 \uC7AC\uC2DC\uB3C4\uD558\uACE0 \uC788\uC5B4\uC694..." })
|
|
63
|
+
] }) }) });
|
|
42
64
|
};
|
|
43
65
|
export {
|
|
44
66
|
Reconnect
|
package/esm/System/Root.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
2
3
|
import { baseEnv } from "@akanjs/base";
|
|
3
4
|
import { checkDictCoverage } from "@akanjs/dictionary";
|
|
4
5
|
const Root = ({ children, st }) => {
|
|
5
6
|
if (baseEnv.operationMode === "local")
|
|
6
7
|
checkDictCoverage();
|
|
7
|
-
return /* @__PURE__ */
|
|
8
|
+
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
8
9
|
};
|
|
9
10
|
export {
|
|
10
11
|
Root
|
package/esm/System/SSR.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
1
2
|
import { clsx, router } from "@akanjs/client";
|
|
2
3
|
import { Suspense } from "react";
|
|
3
4
|
import { Load } from "../Load";
|
|
4
5
|
import { ClientBridge, ClientInner, ClientNextBridge, ClientPathWrapper, ClientWrapper } from "./Client";
|
|
5
6
|
import { Common } from "./Common";
|
|
6
7
|
const SSR = () => {
|
|
7
|
-
return /* @__PURE__ */
|
|
8
|
+
return /* @__PURE__ */ jsx(Fragment, {});
|
|
8
9
|
};
|
|
9
10
|
const SSRProvider = ({
|
|
10
11
|
className,
|
|
@@ -24,7 +25,7 @@ const SSRProvider = ({
|
|
|
24
25
|
fetchMe,
|
|
25
26
|
fetchSelf
|
|
26
27
|
}) => {
|
|
27
|
-
return /* @__PURE__ */
|
|
28
|
+
return /* @__PURE__ */ jsx(
|
|
28
29
|
Load.Page,
|
|
29
30
|
{
|
|
30
31
|
of,
|
|
@@ -34,7 +35,7 @@ const SSRProvider = ({
|
|
|
34
35
|
router.init({ type: "next", side: "server", lang, prefix });
|
|
35
36
|
return { lang };
|
|
36
37
|
},
|
|
37
|
-
render: ({ lang }) => /* @__PURE__ */
|
|
38
|
+
render: ({ lang }) => /* @__PURE__ */ jsx(
|
|
38
39
|
Common.Wrapper,
|
|
39
40
|
{
|
|
40
41
|
fetch,
|
|
@@ -42,7 +43,7 @@ const SSRProvider = ({
|
|
|
42
43
|
fetchPing,
|
|
43
44
|
fetchMe,
|
|
44
45
|
fetchSelf,
|
|
45
|
-
render: ({ mePromise, selfPromise }) => /* @__PURE__ */
|
|
46
|
+
render: ({ mePromise, selfPromise }) => /* @__PURE__ */ jsx(
|
|
46
47
|
SSRWrapper,
|
|
47
48
|
{
|
|
48
49
|
className,
|
|
@@ -51,19 +52,26 @@ const SSRProvider = ({
|
|
|
51
52
|
head,
|
|
52
53
|
fonts,
|
|
53
54
|
prefix,
|
|
54
|
-
layoutStyle
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
55
|
+
layoutStyle,
|
|
56
|
+
children: /* @__PURE__ */ jsxs(ClientWrapper, { theme, children: [
|
|
57
|
+
children,
|
|
58
|
+
/* @__PURE__ */ jsx(Suspense, { fallback: null, children: /* @__PURE__ */ jsx(ClientInner, {}) }),
|
|
59
|
+
/* @__PURE__ */ jsxs(Suspense, { fallback: null, children: [
|
|
60
|
+
/* @__PURE__ */ jsx(
|
|
61
|
+
ClientBridge,
|
|
62
|
+
{
|
|
63
|
+
env,
|
|
64
|
+
mePromise,
|
|
65
|
+
selfPromise,
|
|
66
|
+
theme,
|
|
67
|
+
prefix,
|
|
68
|
+
gaTrackingId
|
|
69
|
+
}
|
|
70
|
+
),
|
|
71
|
+
/* @__PURE__ */ jsx(ClientNextBridge, { lang, prefix })
|
|
72
|
+
] })
|
|
73
|
+
] })
|
|
74
|
+
}
|
|
67
75
|
)
|
|
68
76
|
}
|
|
69
77
|
)
|
|
@@ -80,43 +88,53 @@ const SSRWrapper = ({
|
|
|
80
88
|
className,
|
|
81
89
|
prefix,
|
|
82
90
|
layoutStyle = "web"
|
|
83
|
-
}) => /* @__PURE__ */
|
|
84
|
-
"
|
|
85
|
-
{
|
|
86
|
-
id: "
|
|
87
|
-
className: clsx("
|
|
88
|
-
"
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
"
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
91
|
+
}) => /* @__PURE__ */ jsxs("html", { lang, className: `${fonts.map((font) => font.variable).join(" ")} ${className}`, suppressHydrationWarning: true, children: [
|
|
92
|
+
/* @__PURE__ */ jsx("head", { children: head }),
|
|
93
|
+
/* @__PURE__ */ jsx("body", { className: "app", children: /* @__PURE__ */ jsx("div", { id: "frameRoot", className, children: /* @__PURE__ */ jsxs(ClientPathWrapper, { layoutStyle, prefix, children: [
|
|
94
|
+
/* @__PURE__ */ jsx("div", { id: "topSafeArea", className: clsx("bg-base-100 fixed inset-x-0 top-0") }),
|
|
95
|
+
/* @__PURE__ */ jsx("div", { id: "pageContainers", className: clsx("isolate"), children: /* @__PURE__ */ jsx("div", { id: "pageContainer", children: /* @__PURE__ */ jsx(
|
|
96
|
+
"div",
|
|
97
|
+
{
|
|
98
|
+
id: "pageContent",
|
|
99
|
+
className: clsx("bg-base-100 relative isolate", {
|
|
100
|
+
"w-screen": layoutStyle === "web",
|
|
101
|
+
"left-1/2 h-screen w-[600px] -translate-x-1/2": layoutStyle === "mobile"
|
|
102
|
+
}),
|
|
103
|
+
children
|
|
104
|
+
}
|
|
105
|
+
) }) }),
|
|
106
|
+
/* @__PURE__ */ jsx(
|
|
107
|
+
"div",
|
|
108
|
+
{
|
|
109
|
+
id: "topInsetContainer",
|
|
110
|
+
className: clsx("bg-base-100 fixed inset-x-0 top-0 isolate", {
|
|
111
|
+
"left-1/2 w-[600px] -translate-x-1/2": layoutStyle === "mobile",
|
|
112
|
+
"w-screen": layoutStyle === "web"
|
|
113
|
+
}),
|
|
114
|
+
children: /* @__PURE__ */ jsx("div", { id: "topInsetContent", className: clsx("relative isolate size-full") })
|
|
115
|
+
}
|
|
116
|
+
),
|
|
117
|
+
/* @__PURE__ */ jsx(
|
|
118
|
+
"div",
|
|
119
|
+
{
|
|
120
|
+
id: "topLeftActionContainer",
|
|
121
|
+
className: "aspect-1 absolute top-0 left-0 isolate flex items-center justify-center"
|
|
122
|
+
}
|
|
123
|
+
),
|
|
124
|
+
/* @__PURE__ */ jsx(
|
|
125
|
+
"div",
|
|
126
|
+
{
|
|
127
|
+
id: "bottomInsetContainer",
|
|
128
|
+
className: clsx("fixed inset-x-0 bottom-0 isolate", {
|
|
129
|
+
"left-1/2 w-[600px] -translate-x-1/2": layoutStyle === "mobile",
|
|
130
|
+
"w-screen": layoutStyle === "web"
|
|
131
|
+
}),
|
|
132
|
+
children: /* @__PURE__ */ jsx("div", { id: "bottomInsetContent", className: "isolate size-full" })
|
|
133
|
+
}
|
|
134
|
+
),
|
|
135
|
+
/* @__PURE__ */ jsx("div", { id: "bottomSafeArea", className: "bg-base-100 fixed inset-x-0" })
|
|
136
|
+
] }) }) })
|
|
137
|
+
] });
|
|
120
138
|
SSR.Wrapper = SSRWrapper;
|
|
121
139
|
var SSR_default = SSRProvider;
|
|
122
140
|
export {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { router } from "@akanjs/client";
|
|
3
4
|
import { usePage } from "@akanjs/next";
|
|
4
5
|
import { useState } from "react";
|
|
@@ -11,28 +12,31 @@ const languageNames = {
|
|
|
11
12
|
const SelectLanguage = ({ className, languages = ["en", "ko"] }) => {
|
|
12
13
|
const { l, lang } = usePage();
|
|
13
14
|
const [open, setOpen] = useState(false);
|
|
14
|
-
return /* @__PURE__ */
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
return /* @__PURE__ */ jsxs("div", { className: "relative", children: [
|
|
16
|
+
/* @__PURE__ */ jsx(
|
|
17
|
+
"div",
|
|
18
|
+
{
|
|
19
|
+
id: "select-language",
|
|
20
|
+
onClick: () => {
|
|
21
|
+
setOpen(!open);
|
|
22
|
+
},
|
|
23
|
+
className: "mx-2 my-auto cursor-pointer rounded-3xl border bg-black/50 px-3 text-xs font-light text-white md:mx-4",
|
|
24
|
+
children: languageNames[lang]
|
|
25
|
+
}
|
|
26
|
+
),
|
|
27
|
+
open ? /* @__PURE__ */ jsx("div", { className: "absolute top-6 -left-4 w-28 rounded-xl border bg-slate-900/90 py-2 text-center text-white", children: languages.filter((lang2) => !!languageNames[lang2]).map((lang2) => /* @__PURE__ */ jsx(
|
|
28
|
+
"div",
|
|
29
|
+
{
|
|
30
|
+
onClick: () => {
|
|
31
|
+
router.setLang(lang2);
|
|
32
|
+
setOpen(false);
|
|
33
|
+
},
|
|
34
|
+
className: "cursor-pointer py-1 hover:bg-white/20",
|
|
35
|
+
children: languageNames[lang2]
|
|
20
36
|
},
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
), open ? /* @__PURE__ */ React.createElement("div", { className: "absolute top-6 -left-4 w-28 rounded-xl border bg-slate-900/90 py-2 text-center text-white" }, languages.filter((lang2) => !!languageNames[lang2]).map((lang2) => /* @__PURE__ */ React.createElement(
|
|
25
|
-
"div",
|
|
26
|
-
{
|
|
27
|
-
key: lang2,
|
|
28
|
-
onClick: () => {
|
|
29
|
-
router.setLang(lang2);
|
|
30
|
-
setOpen(false);
|
|
31
|
-
},
|
|
32
|
-
className: "cursor-pointer py-1 hover:bg-white/20"
|
|
33
|
-
},
|
|
34
|
-
languageNames[lang2]
|
|
35
|
-
))) : null);
|
|
37
|
+
lang2
|
|
38
|
+
)) }) : null
|
|
39
|
+
] });
|
|
36
40
|
};
|
|
37
41
|
export {
|
|
38
42
|
SelectLanguage
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { capitalize } from "@akanjs/common";
|
|
3
4
|
import { useTheme } from "next-themes";
|
|
4
5
|
import { useEffect, useState } from "react";
|
|
@@ -14,7 +15,10 @@ const ThemeToggle = () => {
|
|
|
14
15
|
if (!mounted) {
|
|
15
16
|
return null;
|
|
16
17
|
}
|
|
17
|
-
return /* @__PURE__ */
|
|
18
|
+
return /* @__PURE__ */ jsx("div", { className: "form-control", children: /* @__PURE__ */ jsxs("label", { className: "label cursor-pointer", children: [
|
|
19
|
+
/* @__PURE__ */ jsx("span", { className: "label-text mr-2 text-sm whitespace-nowrap", children: capitalize(theme ?? "") }),
|
|
20
|
+
/* @__PURE__ */ jsx("input", { type: "checkbox", className: "toggle toggle-sm", checked: theme === "dark", onChange: handleTheme })
|
|
21
|
+
] }) });
|
|
18
22
|
};
|
|
19
23
|
export {
|
|
20
24
|
ThemeToggle
|
package/esm/System/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
1
2
|
import { baseClientEnv } from "@akanjs/base";
|
|
2
3
|
import { default as CSR } from "./CSR";
|
|
3
4
|
import { DevModeToggle } from "./DevModeToggle";
|
|
@@ -8,9 +9,9 @@ import { default as SSR } from "./SSR";
|
|
|
8
9
|
import { ThemeToggle } from "./ThemeToggle";
|
|
9
10
|
const Provider = (props) => {
|
|
10
11
|
if (baseClientEnv.renderMode === "csr")
|
|
11
|
-
return /* @__PURE__ */
|
|
12
|
+
return /* @__PURE__ */ jsx(CSR, { ...props });
|
|
12
13
|
else
|
|
13
|
-
return /* @__PURE__ */
|
|
14
|
+
return /* @__PURE__ */ jsx(SSR, { ...props });
|
|
14
15
|
};
|
|
15
16
|
const System = {
|
|
16
17
|
Provider,
|
package/esm/Tab/Menu.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
3
|
import { clsx } from "@akanjs/client";
|
|
3
4
|
import { useContext, useEffect } from "react";
|
|
4
5
|
import { TabContext } from "./context";
|
|
@@ -24,7 +25,7 @@ const Menu = ({
|
|
|
24
25
|
if (currentMenu === menu)
|
|
25
26
|
setMenu([...menuSet.current.values()].find((m) => m !== menu) ?? null);
|
|
26
27
|
}, [disabled]);
|
|
27
|
-
return /* @__PURE__ */
|
|
28
|
+
return /* @__PURE__ */ jsx(
|
|
28
29
|
"div",
|
|
29
30
|
{
|
|
30
31
|
"data-tip": tooltip,
|
|
@@ -41,9 +42,9 @@ const Menu = ({
|
|
|
41
42
|
setMenu(menu);
|
|
42
43
|
if (scrollToTop)
|
|
43
44
|
window.scrollTo({ top: 0, behavior: "smooth" });
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
},
|
|
46
|
+
children
|
|
47
|
+
}
|
|
47
48
|
);
|
|
48
49
|
};
|
|
49
50
|
export {
|
package/esm/Tab/Menus.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
3
|
const Menus = ({ className, children }) => {
|
|
3
|
-
return /* @__PURE__ */
|
|
4
|
+
return /* @__PURE__ */ jsx("div", { className, children });
|
|
4
5
|
};
|
|
5
6
|
export {
|
|
6
7
|
Menus
|
package/esm/Tab/Panel.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
3
|
import { clsx } from "@akanjs/client";
|
|
3
4
|
import { useContext, useEffect, useState } from "react";
|
|
4
5
|
import { TabContext } from "./context";
|
|
@@ -14,9 +15,9 @@ const Panel = ({ className, menu, children, loading = "eager" }) => {
|
|
|
14
15
|
setLoaded(currentMenu === menu);
|
|
15
16
|
}, [currentMenu]);
|
|
16
17
|
if (loading === "eager")
|
|
17
|
-
return /* @__PURE__ */
|
|
18
|
+
return /* @__PURE__ */ jsx("div", { className: clsx(className, { hidden: currentMenu !== menu }), children });
|
|
18
19
|
else
|
|
19
|
-
return loaded ? /* @__PURE__ */
|
|
20
|
+
return loaded ? /* @__PURE__ */ jsx("div", { className: clsx(className, { hidden: currentMenu !== menu }), children }) : null;
|
|
20
21
|
};
|
|
21
22
|
export {
|
|
22
23
|
Panel
|
package/esm/Tab/Provider.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
3
|
import { clsx } from "@akanjs/client";
|
|
3
4
|
import { useRef, useState } from "react";
|
|
4
5
|
import { TabContext } from "./context";
|
|
5
6
|
const Provider = ({ className, defaultMenu = null, children }) => {
|
|
6
7
|
const menuSet = useRef(/* @__PURE__ */ new Set());
|
|
7
8
|
const [menu, setMenu] = useState(defaultMenu);
|
|
8
|
-
return /* @__PURE__ */
|
|
9
|
+
return /* @__PURE__ */ jsx(TabContext.Provider, { value: { defaultMenu, menu, setMenu, menuSet }, children: /* @__PURE__ */ jsx("div", { "data-menu": menu, className: clsx(className, "group/tab"), children }) });
|
|
9
10
|
};
|
|
10
11
|
export {
|
|
11
12
|
Provider
|
package/esm/Tab/index.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
1
2
|
import { Menu } from "./Menu";
|
|
2
3
|
import { Menus } from "./Menus";
|
|
3
4
|
import { Panel } from "./Panel";
|
|
4
5
|
import { Provider } from "./Provider";
|
|
5
6
|
const Tab = (props) => {
|
|
6
|
-
return /* @__PURE__ */
|
|
7
|
+
return /* @__PURE__ */ jsx(Provider, { ...props });
|
|
7
8
|
};
|
|
8
9
|
Tab.Menu = Menu;
|
|
9
10
|
Tab.Menus = Menus;
|
package/esm/Table.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { clsx } from "@akanjs/client";
|
|
3
4
|
import { st } from "@akanjs/store";
|
|
4
|
-
import
|
|
5
|
+
import { useMemo } from "react";
|
|
5
6
|
import { AiOutlineLoading3Quarters } from "react-icons/ai";
|
|
6
7
|
import { Empty } from "./Empty";
|
|
7
8
|
import { Pagination } from "./Pagination";
|
|
@@ -22,34 +23,42 @@ const Table = ({
|
|
|
22
23
|
const borderedClassName = bordered ? "border border-gray-200 rounded-xl" : "";
|
|
23
24
|
const responsive = st.use.responsive();
|
|
24
25
|
const renderedColumns = useMemo(() => {
|
|
25
|
-
return columns.filter((c) => !c.responsive || c.responsive.includes(responsive)).map((column, idx) => /* @__PURE__ */
|
|
26
|
+
return columns.filter((c) => !c.responsive || c.responsive.includes(responsive)).map((column, idx) => /* @__PURE__ */ jsx("th", { className: "whitespace-nowrap", children: column.title }, idx));
|
|
26
27
|
}, [columns, responsive]);
|
|
27
28
|
const renderedRows = useMemo(() => {
|
|
28
29
|
return dataSource.map((rowData, rowIndex) => {
|
|
29
|
-
const renderedCells = columns.filter((c) => !c.responsive || c.responsive.includes(responsive)).map((column, idx) => /* @__PURE__ */
|
|
30
|
+
const renderedCells = columns.filter((c) => !c.responsive || c.responsive.includes(responsive)).map((column, idx) => /* @__PURE__ */ jsx(
|
|
30
31
|
"td",
|
|
31
32
|
{
|
|
32
|
-
key: idx,
|
|
33
33
|
className: clsx(
|
|
34
34
|
"whitespace-nowrap",
|
|
35
35
|
rowClassName ? typeof rowClassName === "string" ? rowClassName : rowClassName(rowData, rowIndex) : ""
|
|
36
36
|
),
|
|
37
|
-
...onRow?.(rowData, rowIndex)
|
|
37
|
+
...onRow?.(rowData, rowIndex),
|
|
38
|
+
children: column.render ? column.render(rowData[column.dataIndex], rowData, rowIndex) : column.dataIndex ? rowData[column.dataIndex] : null
|
|
38
39
|
},
|
|
39
|
-
|
|
40
|
+
idx
|
|
40
41
|
));
|
|
41
|
-
return /* @__PURE__ */
|
|
42
|
+
return /* @__PURE__ */ jsx("tr", { children: renderedCells }, rowIndex);
|
|
42
43
|
});
|
|
43
44
|
}, [columns, dataSource, responsive]);
|
|
44
|
-
return /* @__PURE__ */
|
|
45
|
-
|
|
46
|
-
{
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
return /* @__PURE__ */ jsxs("div", { className: clsx("relative w-full", loadingClassName, borderedClassName), children: [
|
|
46
|
+
loading && /* @__PURE__ */ jsx("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2", children: /* @__PURE__ */ jsx(AiOutlineLoading3Quarters, { className: "animate-spin text-3xl" }) }),
|
|
47
|
+
/* @__PURE__ */ jsxs("table", { className: clsx("table w-full", sizeClassName), children: [
|
|
48
|
+
showHeader === true || Array.isArray(showHeader) && showHeader.includes(responsive) ? /* @__PURE__ */ jsx("thead", { className: "normal-case", children: /* @__PURE__ */ jsx("tr", { children: renderedColumns }) }) : null,
|
|
49
|
+
!!dataSource.length && /* @__PURE__ */ jsx("tbody", { children: renderedRows })
|
|
50
|
+
] }),
|
|
51
|
+
!dataSource.length && /* @__PURE__ */ jsx("div", { className: "w-full", children: /* @__PURE__ */ jsx(Empty, {}) }),
|
|
52
|
+
pagination && /* @__PURE__ */ jsx("div", { className: "mt-3 flex justify-center", children: /* @__PURE__ */ jsx(
|
|
53
|
+
Pagination,
|
|
54
|
+
{
|
|
55
|
+
currentPage: pagination.currentPage,
|
|
56
|
+
total: pagination.total,
|
|
57
|
+
onPageSelect: pagination.onPageSelect,
|
|
58
|
+
itemsPerPage: pagination.itemsPerPage
|
|
59
|
+
}
|
|
60
|
+
) })
|
|
61
|
+
] });
|
|
53
62
|
};
|
|
54
63
|
export {
|
|
55
64
|
Table
|