@akanjs/ui 0.0.149 → 0.0.151
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/BottomSheet.d.ts +13 -0
- package/Button.d.ts +9 -0
- package/ClientSide.d.ts +6 -0
- package/Copy.d.ts +6 -0
- package/CsrImage.d.ts +11 -0
- package/Data/CardList.d.ts +36 -0
- package/Data/Dashboard.d.ts +15 -0
- package/Data/Insight.d.ts +8 -0
- package/Data/Item.d.ts +74 -0
- package/Data/ListContainer.d.ts +38 -0
- package/Data/Pagination.d.ts +6 -0
- package/Data/QueryMaker.d.ts +9 -0
- package/Data/TableList.d.ts +26 -0
- package/Data/index.d.ts +10 -0
- package/Data/index_.d.ts +8 -0
- package/DatePicker.d.ts +38 -0
- package/Dialog/Action.d.ts +5 -0
- package/Dialog/Close.d.ts +5 -0
- package/Dialog/Content.d.ts +6 -0
- package/Dialog/Modal.d.ts +8 -0
- package/Dialog/Provider.d.ts +7 -0
- package/Dialog/Title.d.ts +5 -0
- package/Dialog/Trigger.d.ts +5 -0
- package/Dialog/context.d.ts +10 -0
- package/Dialog/index.d.ts +9 -0
- package/DragAction.d.ts +24 -0
- package/DraggableList.d.ts +25 -0
- package/Dropdown.d.ts +10 -0
- package/Empty.d.ts +9 -0
- package/Field.d.ts +404 -0
- package/FontFace.d.ts +6 -0
- package/Image.d.ts +17 -0
- package/InfiniteScroll.d.ts +10 -0
- package/Input.d.ts +85 -0
- package/KeyboardAvoiding.d.ts +7 -0
- package/Layout/BottomAction.d.ts +5 -0
- package/Layout/BottomInset.d.ts +6 -0
- package/Layout/BottomTab.d.ts +14 -0
- package/Layout/Header.d.ts +7 -0
- package/Layout/LeftSider.d.ts +8 -0
- package/Layout/Navbar.d.ts +11 -0
- package/Layout/RightSider.d.ts +9 -0
- package/Layout/Sider.d.ts +6 -0
- package/Layout/Template.d.ts +5 -0
- package/Layout/TopLeftAction.d.ts +5 -0
- package/Layout/Unit.d.ts +6 -0
- package/Layout/View.d.ts +5 -0
- package/Layout/Zone.d.ts +5 -0
- package/Layout/index.d.ts +14 -0
- package/Link/Back.d.ts +6 -0
- package/Link/Close.d.ts +6 -0
- package/Link/CsrLink.d.ts +2 -0
- package/Link/NextLink.d.ts +2 -0
- package/Link/index.d.ts +8 -0
- package/Link/types.d.ts +22 -0
- package/Load/Edit.d.ts +4 -0
- package/Load/Edit_Client.d.ts +25 -0
- package/Load/Page.d.ts +10 -0
- package/Load/PageCSR.d.ts +11 -0
- package/Load/Pagination.d.ts +8 -0
- package/Load/Units.d.ts +34 -0
- package/Load/View.d.ts +17 -0
- package/Load/index.d.ts +8 -0
- package/Load/index_.d.ts +3 -0
- package/Loading/Area.d.ts +1 -0
- package/Loading/Button.d.ts +7 -0
- package/Loading/Input.d.ts +7 -0
- package/Loading/ProgressBar.d.ts +6 -0
- package/Loading/Skeleton.d.ts +7 -0
- package/Loading/Spin.d.ts +7 -0
- package/Loading/index.d.ts +8 -0
- package/Menu.d.ts +26 -0
- package/Modal.d.ts +23 -0
- package/Model/Edit.d.ts +15 -0
- package/Model/EditModal.d.ts +33 -0
- package/Model/EditWrapper.d.ts +11 -0
- package/Model/LoadInit.d.ts +10 -0
- package/Model/New.d.ts +15 -0
- package/Model/NewWrapper.d.ts +12 -0
- package/Model/NewWrapper_Client.d.ts +12 -0
- package/Model/Remove.d.ts +10 -0
- package/Model/RemoveWrapper.d.ts +11 -0
- package/Model/SureToRemove.d.ts +10 -0
- package/Model/View.d.ts +19 -0
- package/Model/ViewEditModal.d.ts +11 -0
- package/Model/ViewModal.d.ts +13 -0
- package/Model/ViewWrapper.d.ts +11 -0
- package/Model/index.d.ts +15 -0
- package/Model/index_.d.ts +13 -0
- package/More.d.ts +12 -0
- package/ObjectId.d.ts +5 -0
- package/Pagination.d.ts +14 -0
- package/Popconfirm.d.ts +18 -0
- package/Portal.d.ts +6 -0
- package/Radio.d.ts +19 -0
- package/RecentTime.d.ts +7 -0
- package/Refresh.d.ts +7 -0
- package/ScreenNavigator.d.ts +18 -0
- package/Select.d.ts +29 -0
- package/Signal/Arg.d.ts +75 -0
- package/Signal/Doc.d.ts +19 -0
- package/Signal/GraphQL.d.ts +32 -0
- package/Signal/Listener.d.ts +9 -0
- package/Signal/Message.d.ts +27 -0
- package/Signal/Object.d.ts +19 -0
- package/Signal/PubSub.d.ts +26 -0
- package/Signal/Request.d.ts +8 -0
- package/Signal/Response.d.ts +16 -0
- package/Signal/RestApi.d.ts +40 -0
- package/Signal/WebSocket.d.ts +9 -0
- package/Signal/index.d.ts +20 -0
- package/System/CSR.d.ts +31 -0
- package/System/Client.d.ts +48 -0
- package/System/Common.d.ts +66 -0
- package/System/DevModeToggle.d.ts +1 -0
- package/System/Gtag.d.ts +3 -0
- package/System/HealthCheck.d.ts +5 -0
- package/System/Messages.d.ts +1 -0
- package/System/Reconnect.d.ts +6 -0
- package/System/Root.d.ts +5 -0
- package/System/SSR.d.ts +26 -0
- package/System/SelectLanguage.d.ts +5 -0
- package/System/ThemeToggle.d.ts +1 -0
- package/System/index.d.ts +11 -0
- package/Tab/Menu.d.ts +11 -0
- package/Tab/Menus.d.ts +5 -0
- package/Tab/Panel.d.ts +7 -0
- package/Tab/Provider.d.ts +6 -0
- package/Tab/context.d.ts +9 -0
- package/Tab/index.d.ts +7 -0
- package/Table.d.ts +26 -0
- package/ToggleSelect.d.ts +31 -0
- package/Unauthorized.d.ts +9 -0
- package/cjs/BottomSheet.js +113 -0
- package/cjs/Button.js +69 -0
- package/cjs/ClientSide.js +26 -0
- package/cjs/Copy.js +37 -0
- package/cjs/CsrImage.js +50 -0
- package/cjs/Data/CardList.js +119 -0
- package/cjs/Data/Dashboard.js +54 -0
- package/cjs/Data/Insight.js +38 -0
- package/cjs/Data/Item.js +204 -0
- package/cjs/Data/ListContainer.js +251 -0
- package/cjs/Data/Pagination.js +64 -0
- package/cjs/Data/QueryMaker.js +304 -0
- package/cjs/Data/TableList.js +139 -0
- package/cjs/Data/index.js +33 -0
- package/cjs/Data/index_.js +49 -0
- package/cjs/DatePicker.js +173 -0
- package/cjs/Dialog/Action.js +32 -0
- package/cjs/Dialog/Close.js +38 -0
- package/cjs/Dialog/Content.js +27 -0
- package/cjs/Dialog/Modal.js +155 -0
- package/cjs/Dialog/Provider.js +46 -0
- package/cjs/Dialog/Title.js +32 -0
- package/cjs/Dialog/Trigger.js +38 -0
- package/cjs/Dialog/context.js +32 -0
- package/cjs/Dialog/index.js +36 -0
- package/cjs/DragAction.js +111 -0
- package/cjs/DraggableList.js +141 -0
- package/cjs/Dropdown.js +64 -0
- package/cjs/Empty.js +50 -0
- package/cjs/Field.js +1109 -0
- package/cjs/FontFace.js +77 -0
- package/cjs/Image.js +61 -0
- package/cjs/InfiniteScroll.js +65 -0
- package/cjs/Input.js +440 -0
- package/cjs/KeyboardAvoiding.js +65 -0
- package/cjs/Layout/BottomAction.js +26 -0
- package/cjs/Layout/BottomInset.js +53 -0
- package/cjs/Layout/BottomTab.js +56 -0
- package/cjs/Layout/Header.js +52 -0
- package/cjs/Layout/LeftSider.js +49 -0
- package/cjs/Layout/Navbar.js +51 -0
- package/cjs/Layout/RightSider.js +52 -0
- package/cjs/Layout/Sider.js +39 -0
- package/cjs/Layout/Template.js +26 -0
- package/cjs/Layout/TopLeftAction.js +39 -0
- package/cjs/Layout/Unit.js +27 -0
- package/cjs/Layout/View.js +26 -0
- package/cjs/Layout/Zone.js +26 -0
- package/cjs/Layout/index.js +48 -0
- package/cjs/Link/Back.js +27 -0
- package/cjs/Link/Close.js +36 -0
- package/cjs/Link/CsrLink.js +49 -0
- package/cjs/Link/NextLink.js +71 -0
- package/cjs/Link/index.js +47 -0
- package/cjs/Link/types.js +15 -0
- package/cjs/Load/Edit.js +42 -0
- package/cjs/Load/Edit_Client.js +93 -0
- package/cjs/Load/Page.js +35 -0
- package/cjs/Load/PageCSR.js +67 -0
- package/cjs/Load/Pagination.js +89 -0
- package/cjs/Load/Units.js +232 -0
- package/cjs/Load/View.js +88 -0
- package/cjs/Load/index.js +42 -0
- package/cjs/Load/index_.js +39 -0
- package/cjs/Loading/Area.js +25 -0
- package/cjs/Loading/Button.js +33 -0
- package/cjs/Loading/Input.js +33 -0
- package/cjs/Loading/ProgressBar.js +29 -0
- package/cjs/Loading/Skeleton.js +27 -0
- package/cjs/Loading/Spin.js +27 -0
- package/cjs/Loading/index.js +29 -0
- package/cjs/Menu.js +215 -0
- package/cjs/Modal.js +75 -0
- package/cjs/Model/Edit.js +61 -0
- package/cjs/Model/EditModal.js +255 -0
- package/cjs/Model/EditWrapper.js +48 -0
- package/cjs/Model/LoadInit.js +27 -0
- package/cjs/Model/New.js +61 -0
- package/cjs/Model/NewWrapper.js +28 -0
- package/cjs/Model/NewWrapper_Client.js +66 -0
- package/cjs/Model/Remove.js +86 -0
- package/cjs/Model/RemoveWrapper.js +48 -0
- package/cjs/Model/SureToRemove.js +109 -0
- package/cjs/Model/View.js +44 -0
- package/cjs/Model/ViewEditModal.js +118 -0
- package/cjs/Model/ViewModal.js +92 -0
- package/cjs/Model/ViewWrapper.js +48 -0
- package/cjs/Model/index.js +38 -0
- package/cjs/Model/index_.js +58 -0
- package/cjs/More.js +67 -0
- package/cjs/ObjectId.js +37 -0
- package/cjs/Pagination.js +110 -0
- package/cjs/Popconfirm.js +116 -0
- package/cjs/Portal.js +27 -0
- package/cjs/Radio.js +53 -0
- package/cjs/RecentTime.js +86 -0
- package/cjs/Refresh.js +45 -0
- package/cjs/ScreenNavigator.js +121 -0
- package/cjs/Select.js +262 -0
- package/cjs/Signal/Arg.js +237 -0
- package/cjs/Signal/Doc.js +181 -0
- package/cjs/Signal/GraphQL.js +177 -0
- package/cjs/Signal/Listener.js +59 -0
- package/cjs/Signal/Message.js +190 -0
- package/cjs/Signal/Object.js +95 -0
- package/cjs/Signal/PubSub.js +191 -0
- package/cjs/Signal/Request.js +38 -0
- package/cjs/Signal/Response.js +53 -0
- package/cjs/Signal/RestApi.js +255 -0
- package/cjs/Signal/WebSocket.js +68 -0
- package/cjs/Signal/index.js +42 -0
- package/cjs/System/CSR.js +376 -0
- package/cjs/System/Client.js +200 -0
- package/cjs/System/Common.js +64 -0
- package/cjs/System/DevModeToggle.js +38 -0
- package/cjs/System/Gtag.js +67 -0
- package/cjs/System/HealthCheck.js +60 -0
- package/cjs/System/Messages.js +170 -0
- package/cjs/System/Reconnect.js +64 -0
- package/cjs/System/Root.js +30 -0
- package/cjs/System/SSR.js +144 -0
- package/cjs/System/SelectLanguage.js +58 -0
- package/cjs/System/ThemeToggle.js +40 -0
- package/cjs/System/index.js +55 -0
- package/cjs/Tab/Menu.js +70 -0
- package/cjs/{src/index.js → Tab/Menus.js} +8 -5
- package/cjs/Tab/Panel.js +42 -0
- package/cjs/Tab/Provider.js +31 -0
- package/cjs/Tab/context.js +30 -0
- package/cjs/Tab/index.js +32 -0
- package/cjs/Table.js +85 -0
- package/cjs/ToggleSelect.js +118 -0
- package/cjs/Unauthorized.js +50 -0
- package/cjs/index.js +88 -2
- package/esm/BottomSheet.js +84 -0
- package/esm/Button.js +40 -0
- package/esm/ClientSide.js +7 -0
- package/esm/Copy.js +18 -0
- package/esm/CsrImage.js +31 -0
- package/esm/Data/CardList.js +90 -0
- package/esm/Data/Dashboard.js +35 -0
- package/esm/Data/Insight.js +19 -0
- package/esm/Data/Item.js +175 -0
- package/esm/Data/ListContainer.js +228 -0
- package/esm/Data/Pagination.js +45 -0
- package/esm/Data/QueryMaker.js +293 -0
- package/esm/Data/TableList.js +110 -0
- package/esm/Data/index.js +14 -0
- package/esm/Data/index_.js +20 -0
- package/esm/DatePicker.js +144 -0
- package/esm/Dialog/Action.js +13 -0
- package/esm/Dialog/Close.js +19 -0
- package/esm/Dialog/Content.js +8 -0
- package/esm/Dialog/Modal.js +126 -0
- package/esm/Dialog/Provider.js +17 -0
- package/esm/Dialog/Title.js +13 -0
- package/esm/Dialog/Trigger.js +19 -0
- package/esm/Dialog/context.js +13 -0
- package/esm/Dialog/index.js +17 -0
- package/esm/DragAction.js +92 -0
- package/esm/DraggableList.js +112 -0
- package/esm/Dropdown.js +45 -0
- package/esm/Empty.js +21 -0
- package/esm/Field.js +1090 -0
- package/esm/FontFace.js +58 -0
- package/esm/Image.js +32 -0
- package/esm/InfiniteScroll.js +46 -0
- package/esm/Input.js +415 -0
- package/esm/KeyboardAvoiding.js +46 -0
- package/esm/Layout/BottomAction.js +7 -0
- package/esm/Layout/BottomInset.js +34 -0
- package/esm/Layout/BottomTab.js +37 -0
- package/esm/Layout/Header.js +33 -0
- package/esm/Layout/LeftSider.js +30 -0
- package/esm/Layout/Navbar.js +22 -0
- package/esm/Layout/RightSider.js +33 -0
- package/esm/Layout/Sider.js +20 -0
- package/esm/Layout/Template.js +7 -0
- package/esm/Layout/TopLeftAction.js +20 -0
- package/esm/Layout/Unit.js +8 -0
- package/esm/Layout/View.js +7 -0
- package/esm/Layout/Zone.js +7 -0
- package/esm/Layout/index.js +29 -0
- package/esm/Link/Back.js +8 -0
- package/esm/Link/Close.js +17 -0
- package/esm/Link/CsrLink.js +30 -0
- package/esm/Link/NextLink.js +42 -0
- package/esm/Link/index.js +18 -0
- package/esm/Link/types.js +0 -0
- package/esm/Load/Edit.js +13 -0
- package/esm/Load/Edit_Client.js +74 -0
- package/esm/Load/Page.js +16 -0
- package/esm/Load/PageCSR.js +48 -0
- package/esm/Load/Pagination.js +70 -0
- package/esm/Load/Units.js +213 -0
- package/esm/Load/View.js +69 -0
- package/esm/Load/index.js +13 -0
- package/esm/Load/index_.js +10 -0
- package/esm/Loading/Area.js +6 -0
- package/esm/Loading/Button.js +14 -0
- package/esm/Loading/Input.js +14 -0
- package/esm/Loading/ProgressBar.js +10 -0
- package/esm/Loading/Skeleton.js +8 -0
- package/esm/Loading/Spin.js +8 -0
- package/esm/Loading/index.js +10 -0
- package/esm/Menu.js +196 -0
- package/esm/Modal.js +46 -0
- package/esm/Model/Edit.js +32 -0
- package/esm/Model/EditModal.js +226 -0
- package/esm/Model/EditWrapper.js +29 -0
- package/esm/Model/LoadInit.js +8 -0
- package/esm/Model/New.js +32 -0
- package/esm/Model/NewWrapper.js +9 -0
- package/esm/Model/NewWrapper_Client.js +47 -0
- package/esm/Model/Remove.js +67 -0
- package/esm/Model/RemoveWrapper.js +29 -0
- package/esm/Model/SureToRemove.js +90 -0
- package/esm/Model/View.js +25 -0
- package/esm/Model/ViewEditModal.js +89 -0
- package/esm/Model/ViewModal.js +63 -0
- package/esm/Model/ViewWrapper.js +29 -0
- package/esm/Model/index.js +33 -0
- package/esm/Model/index_.js +29 -0
- package/esm/More.js +38 -0
- package/esm/ObjectId.js +18 -0
- package/esm/Pagination.js +91 -0
- package/esm/Popconfirm.js +87 -0
- package/esm/Portal.js +8 -0
- package/esm/Radio.js +34 -0
- package/esm/RecentTime.js +57 -0
- package/esm/Refresh.js +16 -0
- package/esm/ScreenNavigator.js +102 -0
- package/esm/Select.js +243 -0
- package/esm/Signal/Arg.js +208 -0
- package/esm/Signal/Doc.js +152 -0
- package/esm/Signal/GraphQL.js +156 -0
- package/esm/Signal/Listener.js +40 -0
- package/esm/Signal/Message.js +161 -0
- package/esm/Signal/Object.js +76 -0
- package/esm/Signal/PubSub.js +162 -0
- package/esm/Signal/Request.js +19 -0
- package/esm/Signal/Response.js +34 -0
- package/esm/Signal/RestApi.js +234 -0
- package/esm/Signal/WebSocket.js +39 -0
- package/esm/Signal/index.js +13 -0
- package/esm/System/CSR.js +357 -0
- package/esm/System/Client.js +191 -0
- package/esm/System/Common.js +45 -0
- package/esm/System/DevModeToggle.js +19 -0
- package/esm/System/Gtag.js +48 -0
- package/esm/System/HealthCheck.js +41 -0
- package/esm/System/Messages.js +156 -0
- package/esm/System/Reconnect.js +45 -0
- package/esm/System/Root.js +11 -0
- package/esm/System/SSR.js +125 -0
- package/esm/System/SelectLanguage.js +39 -0
- package/esm/System/ThemeToggle.js +21 -0
- package/esm/System/index.js +26 -0
- package/esm/Tab/Menu.js +51 -0
- package/esm/Tab/Menus.js +7 -0
- package/esm/Tab/Panel.js +23 -0
- package/esm/Tab/Provider.js +12 -0
- package/esm/Tab/context.js +11 -0
- package/esm/Tab/index.js +13 -0
- package/esm/Table.js +56 -0
- package/esm/ToggleSelect.js +99 -0
- package/esm/Unauthorized.js +21 -0
- package/esm/index.js +84 -1
- package/index.d.ts +41 -1
- package/package.json +23 -2
- package/esm/src/index.js +0 -4
- package/src/index.d.ts +0 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { clsx } from "@akanjs/client";
|
|
3
|
+
import { useEffect, useRef, useState } from "react";
|
|
4
|
+
const Header = ({ className, type, children, height = 40 }) => {
|
|
5
|
+
const [visible, setVisible] = useState(true);
|
|
6
|
+
const position = useRef(0);
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
if (type === "static")
|
|
9
|
+
return;
|
|
10
|
+
const handleScroll = () => {
|
|
11
|
+
const isVisible = window.scrollY < 64 ? true : position.current > window.scrollY;
|
|
12
|
+
position.current = window.scrollY;
|
|
13
|
+
setVisible(isVisible);
|
|
14
|
+
};
|
|
15
|
+
window.addEventListener("scroll", handleScroll);
|
|
16
|
+
return () => {
|
|
17
|
+
window.removeEventListener("scroll", handleScroll);
|
|
18
|
+
};
|
|
19
|
+
}, []);
|
|
20
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", { style: { height } }), /* @__PURE__ */ React.createElement(
|
|
21
|
+
"div",
|
|
22
|
+
{
|
|
23
|
+
className: clsx(
|
|
24
|
+
`fixed top-0 z-[9] flex duration-300 ${!visible && "md:-translate-y-full"} bg-base-100 w-full shadow-sm backdrop-blur-lg`,
|
|
25
|
+
className
|
|
26
|
+
)
|
|
27
|
+
},
|
|
28
|
+
children
|
|
29
|
+
));
|
|
30
|
+
};
|
|
31
|
+
export {
|
|
32
|
+
Header
|
|
33
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { clsx } from "@akanjs/client";
|
|
3
|
+
import { BiX } from "react-icons/bi";
|
|
4
|
+
const LeftSider = ({ className, children, open, width, onCancel }) => {
|
|
5
|
+
return /* @__PURE__ */ React.createElement(
|
|
6
|
+
"div",
|
|
7
|
+
{
|
|
8
|
+
className: clsx(
|
|
9
|
+
"bg-base-100 border-base-200 absolute top-0 border-r transition-all duration-150",
|
|
10
|
+
{ "translate-x-0": open, "translate-x-[-100%]": !open },
|
|
11
|
+
className
|
|
12
|
+
),
|
|
13
|
+
style: { width }
|
|
14
|
+
},
|
|
15
|
+
children,
|
|
16
|
+
/* @__PURE__ */ React.createElement(
|
|
17
|
+
"button",
|
|
18
|
+
{
|
|
19
|
+
className: "btn btn-ghost btn-square absolute top-0 right-0",
|
|
20
|
+
onClick: () => {
|
|
21
|
+
onCancel();
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
/* @__PURE__ */ React.createElement(BiX, null)
|
|
25
|
+
)
|
|
26
|
+
);
|
|
27
|
+
};
|
|
28
|
+
export {
|
|
29
|
+
LeftSider
|
|
30
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { baseClientEnv } from "@akanjs/base";
|
|
3
|
+
import { clsx, usePathCtx } from "@akanjs/client";
|
|
4
|
+
import React, { useEffect, useState } from "react";
|
|
5
|
+
import { BiChevronLeft } from "react-icons/bi";
|
|
6
|
+
import { Link } from "../Link";
|
|
7
|
+
import { Portal } from "../Portal";
|
|
8
|
+
const Navbar = ({ back = false, className, height, children, title, left, right }) => {
|
|
9
|
+
const [render, setRender] = useState(false);
|
|
10
|
+
//! 이거 왜 쓰는지 모르겠음 삭제해도 될듯
|
|
11
|
+
const { location } = usePathCtx();
|
|
12
|
+
const suffix = baseClientEnv.renderMode === "csr" ? `-${location.pathRoute.path}` : "";
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
setRender(true);
|
|
15
|
+
}, []);
|
|
16
|
+
if (!render)
|
|
17
|
+
return null;
|
|
18
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Portal, { id: `topInsetContent${suffix}` }, /* @__PURE__ */ React.createElement("div", { className: clsx("size-full", className) }, children)), back ? /* @__PURE__ */ React.createElement(Portal, { id: `topLeftActionContent${suffix}` }, typeof back === "boolean" ? /* @__PURE__ */ React.createElement(Link.Back, { className: "text-4xl" }, /* @__PURE__ */ React.createElement(BiChevronLeft, null)) : back) : null);
|
|
19
|
+
};
|
|
20
|
+
export {
|
|
21
|
+
Navbar
|
|
22
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { clsx } from "@akanjs/client";
|
|
3
|
+
import { AiOutlineClose } from "react-icons/ai";
|
|
4
|
+
const RightSider = ({ className, children, open, title, width, onCancel }) => {
|
|
5
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
|
|
6
|
+
"div",
|
|
7
|
+
{
|
|
8
|
+
className: clsx(
|
|
9
|
+
"bg-base-100 border-base-200 group absolute top-0 right-0 overflow-y-auto border-l pt-14 transition-all duration-150",
|
|
10
|
+
{ "translate-x-0": open, "translate-x-[100%]": !open },
|
|
11
|
+
className
|
|
12
|
+
),
|
|
13
|
+
style: { width }
|
|
14
|
+
},
|
|
15
|
+
children,
|
|
16
|
+
/* @__PURE__ */ React.createElement("div", { className: "absolute top-2 left-4 flex items-center gap-4 pt-2 text-xl" }, /* @__PURE__ */ React.createElement(
|
|
17
|
+
"div",
|
|
18
|
+
{
|
|
19
|
+
className: clsx("bg-base-100 border-base-200 cursor-pointer transition-all duration-150", {
|
|
20
|
+
"opacity-100": open,
|
|
21
|
+
"opacity-0": !open
|
|
22
|
+
}),
|
|
23
|
+
onClick: () => {
|
|
24
|
+
onCancel();
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
/* @__PURE__ */ React.createElement(AiOutlineClose, null)
|
|
28
|
+
), title ? /* @__PURE__ */ React.createElement("div", { className: "whitespace-nowrap" }, title) : null)
|
|
29
|
+
));
|
|
30
|
+
};
|
|
31
|
+
export {
|
|
32
|
+
RightSider
|
|
33
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { clsx } from "@akanjs/client";
|
|
3
|
+
import { AiOutlineMenu } from "react-icons/ai";
|
|
4
|
+
import { BiX } from "react-icons/bi";
|
|
5
|
+
const Sider = ({ className, bgClassName, children }) => {
|
|
6
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", { className: "drawer-content" }, /* @__PURE__ */ React.createElement("label", { htmlFor: "sider", className: "btn btn-ghost" }, /* @__PURE__ */ React.createElement(AiOutlineMenu, null))), /* @__PURE__ */ React.createElement("div", { className: "drawer drawer-start fixed" }, /* @__PURE__ */ React.createElement("input", { id: "sider", type: "checkbox", className: "drawer-toggle" }), /* @__PURE__ */ React.createElement("div", { className: "drawer-side" }, /* @__PURE__ */ React.createElement("label", { htmlFor: "sider", className: clsx("drawer-overlay", bgClassName) }), /* @__PURE__ */ React.createElement("div", { className: clsx("bg-base-200 text-base-content h-full w-3/4 p-4 md:w-80", className) }, /* @__PURE__ */ React.createElement(
|
|
7
|
+
"button",
|
|
8
|
+
{
|
|
9
|
+
className: "absolute top-4 left-4 text-lg",
|
|
10
|
+
onClick: (e) => {
|
|
11
|
+
e.preventDefault();
|
|
12
|
+
document.getElementById("sider")?.click();
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
/* @__PURE__ */ React.createElement(BiX, null)
|
|
16
|
+
), children))));
|
|
17
|
+
};
|
|
18
|
+
export {
|
|
19
|
+
Sider
|
|
20
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { clsx } from "@akanjs/client";
|
|
2
|
+
const Template = ({ className, children }) => {
|
|
3
|
+
return /* @__PURE__ */ React.createElement("div", { className: clsx("flex w-full max-w-[100vw] flex-col gap-6 p-2 lg:max-w-screen-md", className) }, children);
|
|
4
|
+
};
|
|
5
|
+
export {
|
|
6
|
+
Template
|
|
7
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { baseClientEnv } from "@akanjs/base";
|
|
3
|
+
import { usePathCtx } from "@akanjs/client";
|
|
4
|
+
import { useEffect, useState } from "react";
|
|
5
|
+
import { Portal } from "../Portal";
|
|
6
|
+
const TopLeftAction = ({ className, children }) => {
|
|
7
|
+
const [render, setRender] = useState(false);
|
|
8
|
+
//! 이거 왜 쓰는지 모르겠음 삭제해도 될듯
|
|
9
|
+
const { location } = usePathCtx();
|
|
10
|
+
const suffix = baseClientEnv.renderMode === "csr" ? `-${location.pathRoute.path}` : "";
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
setRender(true);
|
|
13
|
+
}, []);
|
|
14
|
+
if (!render)
|
|
15
|
+
return null;
|
|
16
|
+
return /* @__PURE__ */ React.createElement(Portal, { id: `topLeftActionContent${suffix}` }, /* @__PURE__ */ React.createElement("div", { className }, children));
|
|
17
|
+
};
|
|
18
|
+
export {
|
|
19
|
+
TopLeftAction
|
|
20
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { clsx } from "@akanjs/client";
|
|
2
|
+
import { Link } from "../Link";
|
|
3
|
+
const Unit = ({ className, children, href }) => {
|
|
4
|
+
return /* @__PURE__ */ React.createElement(Link, { href }, /* @__PURE__ */ React.createElement("div", { className: clsx("flex w-full flex-col gap-2 p-4", { "cursor-pointer": !!href }, className) }, children));
|
|
5
|
+
};
|
|
6
|
+
export {
|
|
7
|
+
Unit
|
|
8
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { BottomInset } from "./BottomInset";
|
|
2
|
+
import { BottomTab } from "./BottomTab";
|
|
3
|
+
import { Header } from "./Header";
|
|
4
|
+
import { LeftSider } from "./LeftSider";
|
|
5
|
+
import { Navbar } from "./Navbar";
|
|
6
|
+
import { RightSider } from "./RightSider";
|
|
7
|
+
import { Sider } from "./Sider";
|
|
8
|
+
import { Template } from "./Template";
|
|
9
|
+
import { TopLeftAction } from "./TopLeftAction";
|
|
10
|
+
import { Unit } from "./Unit";
|
|
11
|
+
import { View } from "./View";
|
|
12
|
+
import { Zone } from "./Zone";
|
|
13
|
+
const Layout = {
|
|
14
|
+
Header,
|
|
15
|
+
Sider,
|
|
16
|
+
Navbar,
|
|
17
|
+
BottomTab,
|
|
18
|
+
BottomInset,
|
|
19
|
+
Template,
|
|
20
|
+
Unit,
|
|
21
|
+
View,
|
|
22
|
+
Zone,
|
|
23
|
+
TopLeftAction,
|
|
24
|
+
LeftSider,
|
|
25
|
+
RightSider
|
|
26
|
+
};
|
|
27
|
+
export {
|
|
28
|
+
Layout
|
|
29
|
+
};
|
package/esm/Link/Back.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { clsx, router } from "@akanjs/client";
|
|
3
|
+
function Back({ className, children }) {
|
|
4
|
+
return /* @__PURE__ */ React.createElement("div", { className: clsx("cursor-pointer", className), onClick: () => router.back() }, children);
|
|
5
|
+
}
|
|
6
|
+
export {
|
|
7
|
+
Back as default
|
|
8
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { clsx } from "@akanjs/client";
|
|
3
|
+
function Close({ className, children }) {
|
|
4
|
+
return /* @__PURE__ */ React.createElement(
|
|
5
|
+
"div",
|
|
6
|
+
{
|
|
7
|
+
className: clsx("cursor-pointer", className),
|
|
8
|
+
onClick: () => {
|
|
9
|
+
window.close();
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
children
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
export {
|
|
16
|
+
Close as default
|
|
17
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { clsx, getPathInfo, router } from "@akanjs/client";
|
|
3
|
+
import { usePage } from "@akanjs/next";
|
|
4
|
+
import { st } from "@akanjs/store";
|
|
5
|
+
import { Browser } from "@capacitor/browser";
|
|
6
|
+
function CsrLink({ className, children, href, replace, activeClassName, ...props }) {
|
|
7
|
+
const prefix = st.use.prefix();
|
|
8
|
+
const currentPath = st.use.path();
|
|
9
|
+
const { lang } = usePage();
|
|
10
|
+
const isExternal = href.startsWith("http") || href.startsWith("mailto:") || href.startsWith("tel:");
|
|
11
|
+
const { path } = getPathInfo(href, lang, prefix ?? "");
|
|
12
|
+
return /* @__PURE__ */ React.createElement(
|
|
13
|
+
"a",
|
|
14
|
+
{
|
|
15
|
+
className: clsx("cursor-pointer", className, { [activeClassName ?? ""]: currentPath === path }),
|
|
16
|
+
onClick: () => {
|
|
17
|
+
if (isExternal)
|
|
18
|
+
void Browser.open({ url: href, presentationStyle: "popover" });
|
|
19
|
+
else if (replace)
|
|
20
|
+
router.replace(href);
|
|
21
|
+
else
|
|
22
|
+
router.push(href);
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
children
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
CsrLink as default
|
|
30
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { clsx, getPathInfo } from "@akanjs/client";
|
|
3
|
+
import { Logger } from "@akanjs/common";
|
|
4
|
+
import { usePage } from "@akanjs/next";
|
|
5
|
+
import { st } from "@akanjs/store";
|
|
6
|
+
import NextjsLink from "next/link";
|
|
7
|
+
function NextLink({
|
|
8
|
+
className,
|
|
9
|
+
children,
|
|
10
|
+
disabled,
|
|
11
|
+
href,
|
|
12
|
+
scrollToTop,
|
|
13
|
+
replace,
|
|
14
|
+
activeClassName,
|
|
15
|
+
...props
|
|
16
|
+
}) {
|
|
17
|
+
const prefix = st.use.prefix();
|
|
18
|
+
const { lang } = usePage();
|
|
19
|
+
const isExternal = href.startsWith("http") || href.startsWith("mailto:") || href.startsWith("tel:");
|
|
20
|
+
const { path, pathname } = getPathInfo(href, lang, prefix ?? "");
|
|
21
|
+
const currentPath = st.use.path();
|
|
22
|
+
return /* @__PURE__ */ React.createElement(
|
|
23
|
+
NextjsLink,
|
|
24
|
+
{
|
|
25
|
+
className: clsx(className, { [activeClassName ?? ""]: currentPath === path }),
|
|
26
|
+
href: isExternal ? href : pathname,
|
|
27
|
+
passHref: true,
|
|
28
|
+
replace,
|
|
29
|
+
onClick: () => {
|
|
30
|
+
Logger.log(`pathChange-start:${path}`);
|
|
31
|
+
window.parent.postMessage({ type: "pathChange", path, pathname }, "*");
|
|
32
|
+
if (scrollToTop)
|
|
33
|
+
window.scrollTo(0, 0);
|
|
34
|
+
},
|
|
35
|
+
...props
|
|
36
|
+
},
|
|
37
|
+
children
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
export {
|
|
41
|
+
NextLink as default
|
|
42
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { baseClientEnv } from "@akanjs/base";
|
|
2
|
+
import { lazy } from "@akanjs/next";
|
|
3
|
+
import Back from "./Back";
|
|
4
|
+
import Close from "./Close";
|
|
5
|
+
const CsrLink = lazy(() => import("./CsrLink"));
|
|
6
|
+
const NextLink = lazy(() => import("./NextLink"));
|
|
7
|
+
const Link = ({ className, href, disabled = false, children, ...props }) => {
|
|
8
|
+
if (disabled || !href)
|
|
9
|
+
return /* @__PURE__ */ React.createElement("div", { className, ...props }, children);
|
|
10
|
+
if (baseClientEnv.renderMode === "csr")
|
|
11
|
+
return /* @__PURE__ */ React.createElement(CsrLink, { className, href, ...props }, children);
|
|
12
|
+
return /* @__PURE__ */ React.createElement(NextLink, { className, href, ...props }, children);
|
|
13
|
+
};
|
|
14
|
+
Link.Back = Back;
|
|
15
|
+
Link.Close = Close;
|
|
16
|
+
export {
|
|
17
|
+
Link
|
|
18
|
+
};
|
|
File without changes
|
package/esm/Load/Edit.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { deepObjectify } from "@akanjs/common";
|
|
2
|
+
import Edit_Client from "./Edit_Client";
|
|
3
|
+
function Edit({ edit, ...props }) {
|
|
4
|
+
const getObjEdit = (edit2) => {
|
|
5
|
+
const editType = edit2.refName && edit2[`${edit2.refName}Obj`] ? "edit" : "new";
|
|
6
|
+
return editType === "edit" ? edit2 : deepObjectify(edit2, { serializable: true });
|
|
7
|
+
};
|
|
8
|
+
const objEdit = edit instanceof Promise ? edit.then(getObjEdit) : getObjEdit(edit);
|
|
9
|
+
return /* @__PURE__ */ React.createElement(Edit_Client, { edit: objEdit, ...props });
|
|
10
|
+
}
|
|
11
|
+
export {
|
|
12
|
+
Edit as default
|
|
13
|
+
};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { deepObjectify } from "@akanjs/common";
|
|
3
|
+
import { useFetch } from "@akanjs/next";
|
|
4
|
+
import { Empty } from "../Empty";
|
|
5
|
+
import { Model } from "../Model";
|
|
6
|
+
function Render({
|
|
7
|
+
className,
|
|
8
|
+
checkSubmit,
|
|
9
|
+
modalClassName,
|
|
10
|
+
type,
|
|
11
|
+
edit,
|
|
12
|
+
modal,
|
|
13
|
+
sliceName,
|
|
14
|
+
children,
|
|
15
|
+
onSubmit,
|
|
16
|
+
onCancel,
|
|
17
|
+
submitOption,
|
|
18
|
+
renderSubmit
|
|
19
|
+
}) {
|
|
20
|
+
const editType = edit.refName && edit[`${edit.refName}Obj`] ? "edit" : "new";
|
|
21
|
+
const modelId = editType === "edit" ? edit[`${edit.refName}Obj`].id : void 0;
|
|
22
|
+
return /* @__PURE__ */ React.createElement(
|
|
23
|
+
Model.EditModal,
|
|
24
|
+
{
|
|
25
|
+
type,
|
|
26
|
+
id: modelId,
|
|
27
|
+
checkSubmit,
|
|
28
|
+
className,
|
|
29
|
+
modalClassName,
|
|
30
|
+
sliceName,
|
|
31
|
+
edit: editType === "edit" ? edit : deepObjectify(edit, { serializable: true }),
|
|
32
|
+
modal,
|
|
33
|
+
onSubmit,
|
|
34
|
+
onCancel,
|
|
35
|
+
submitOption,
|
|
36
|
+
renderSubmit
|
|
37
|
+
},
|
|
38
|
+
children
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
function Edit_Client({
|
|
42
|
+
className,
|
|
43
|
+
checkSubmit,
|
|
44
|
+
modalClassName,
|
|
45
|
+
type,
|
|
46
|
+
edit,
|
|
47
|
+
modal,
|
|
48
|
+
sliceName,
|
|
49
|
+
children,
|
|
50
|
+
onSubmit,
|
|
51
|
+
onCancel,
|
|
52
|
+
submitOption,
|
|
53
|
+
renderSubmit
|
|
54
|
+
}) {
|
|
55
|
+
const props = {
|
|
56
|
+
className,
|
|
57
|
+
checkSubmit,
|
|
58
|
+
modalClassName,
|
|
59
|
+
type,
|
|
60
|
+
edit,
|
|
61
|
+
modal,
|
|
62
|
+
sliceName,
|
|
63
|
+
children,
|
|
64
|
+
onSubmit,
|
|
65
|
+
onCancel,
|
|
66
|
+
submitOption,
|
|
67
|
+
renderSubmit
|
|
68
|
+
};
|
|
69
|
+
const { fulfilled, value: promiseEdit } = useFetch(edit);
|
|
70
|
+
return fulfilled ? promiseEdit ? /* @__PURE__ */ React.createElement(Render, { ...props, edit: promiseEdit }) : /* @__PURE__ */ React.createElement(Empty, null) : /* @__PURE__ */ React.createElement(Empty, null);
|
|
71
|
+
}
|
|
72
|
+
export {
|
|
73
|
+
Edit_Client as default
|
|
74
|
+
};
|
package/esm/Load/Page.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { baseClientEnv } from "@akanjs/base";
|
|
2
|
+
import { PageCSR } from "./PageCSR";
|
|
3
|
+
const Page = baseClientEnv.renderMode === "csr" ? PageCSR : ({ loader, render }) => {
|
|
4
|
+
const promise = new Promise((resolve, reject) => {
|
|
5
|
+
loader().then((data) => {
|
|
6
|
+
resolve(render(data));
|
|
7
|
+
}).catch((error) => {
|
|
8
|
+
reject(error);
|
|
9
|
+
});
|
|
10
|
+
});
|
|
11
|
+
return promise;
|
|
12
|
+
};
|
|
13
|
+
var Page_default = Page;
|
|
14
|
+
export {
|
|
15
|
+
Page_default as default
|
|
16
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useEffect, useMemo, useState } from "react";
|
|
3
|
+
const setFetchedData = (target, data) => {
|
|
4
|
+
Reflect.defineMetadata("fetchedData", data, target);
|
|
5
|
+
};
|
|
6
|
+
const getFetchedData = (target) => {
|
|
7
|
+
const data = Reflect.getMetadata("fetchedData", target);
|
|
8
|
+
return data ?? null;
|
|
9
|
+
};
|
|
10
|
+
const PageCSR = ({
|
|
11
|
+
of,
|
|
12
|
+
loader,
|
|
13
|
+
render,
|
|
14
|
+
loading,
|
|
15
|
+
noCache = false,
|
|
16
|
+
header,
|
|
17
|
+
pageContent = true
|
|
18
|
+
}) => {
|
|
19
|
+
const fetchData = useMemo(() => {
|
|
20
|
+
const cachedData = getFetchedData(of);
|
|
21
|
+
if (!noCache && cachedData)
|
|
22
|
+
return cachedData;
|
|
23
|
+
else
|
|
24
|
+
return loader();
|
|
25
|
+
}, []);
|
|
26
|
+
const [fetchState, setFetchState] = useState(
|
|
27
|
+
fetchData instanceof Promise ? { fulfilled: false, value: null } : { fulfilled: true, value: fetchData }
|
|
28
|
+
);
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
if (fetchState.fulfilled || !(fetchData instanceof Promise))
|
|
31
|
+
return;
|
|
32
|
+
void (async () => {
|
|
33
|
+
try {
|
|
34
|
+
const ret = await fetchData;
|
|
35
|
+
setFetchState({ fulfilled: true, value: ret });
|
|
36
|
+
setFetchedData(of, ret);
|
|
37
|
+
} catch (err) {
|
|
38
|
+
}
|
|
39
|
+
})();
|
|
40
|
+
}, []);
|
|
41
|
+
if (!fetchState.fulfilled || !fetchState.value)
|
|
42
|
+
return loading ? loading() : null;
|
|
43
|
+
else
|
|
44
|
+
return /* @__PURE__ */ React.createElement(React.Fragment, null, render(fetchState.value));
|
|
45
|
+
};
|
|
46
|
+
export {
|
|
47
|
+
PageCSR
|
|
48
|
+
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { clsx } from "@akanjs/client";
|
|
3
|
+
import { capitalize, lowerlize } from "@akanjs/common";
|
|
4
|
+
import { useFetch } from "@akanjs/next";
|
|
5
|
+
import { st } from "@akanjs/store";
|
|
6
|
+
import { use, useRef } from "react";
|
|
7
|
+
import { Empty } from "../Empty";
|
|
8
|
+
import { Pagination as Pagn } from "../Pagination";
|
|
9
|
+
function Render({ className, init, scrollToTop }) {
|
|
10
|
+
const storeUse = st.use;
|
|
11
|
+
const storeDo = st.do;
|
|
12
|
+
const storeGet = st.get;
|
|
13
|
+
const modelInit = init.then ? use(init) : init;
|
|
14
|
+
const { refName, sliceName } = modelInit;
|
|
15
|
+
const [modelName, ModelName] = [lowerlize(refName), capitalize(refName)];
|
|
16
|
+
const initModelInitAt = modelInit[`${modelName}InitAt`];
|
|
17
|
+
const loaded = useRef(storeGet()[`${modelInit.refName}InitAt`].getTime() >= initModelInitAt.getTime());
|
|
18
|
+
const names = {
|
|
19
|
+
model: modelName,
|
|
20
|
+
modelInsight: `${modelName}Insight`,
|
|
21
|
+
modelInitAt: `${modelName}InitAt`,
|
|
22
|
+
modelObjInsight: `${modelName}ObjInsight`,
|
|
23
|
+
pageOfModel: `pageOf${ModelName}`,
|
|
24
|
+
lastPageOfModel: `lastPageOf${ModelName}`,
|
|
25
|
+
limitOfModel: `limitOf${ModelName}`,
|
|
26
|
+
setPageOfModel: `setPageOf${ModelName}`,
|
|
27
|
+
addPageOfModel: `addPageOf${ModelName}`
|
|
28
|
+
};
|
|
29
|
+
const namesOfSlice = {
|
|
30
|
+
modelInsight: sliceName.replace(names.model, names.modelInsight),
|
|
31
|
+
limitOfModel: sliceName.replace(names.model, names.limitOfModel),
|
|
32
|
+
lastPageOfModel: sliceName.replace(names.model, names.lastPageOfModel),
|
|
33
|
+
pageOfModel: sliceName.replace(names.model, names.pageOfModel),
|
|
34
|
+
setPageOfModel: sliceName.replace(names.model, names.setPageOfModel),
|
|
35
|
+
addPageOfModel: sliceName.replace(names.model, names.addPageOfModel)
|
|
36
|
+
};
|
|
37
|
+
const modelInsight = storeUse[namesOfSlice.modelInsight]();
|
|
38
|
+
const limitOfModel = storeUse[namesOfSlice.limitOfModel]();
|
|
39
|
+
const pageOfModel = storeUse[namesOfSlice.pageOfModel]();
|
|
40
|
+
const initModelObjInsight = modelInit[names.modelObjInsight];
|
|
41
|
+
const initPageOfModel = modelInit[names.pageOfModel];
|
|
42
|
+
const initLimitOfModel = modelInit[names.limitOfModel];
|
|
43
|
+
const insight = loaded.current ? modelInsight : initModelObjInsight;
|
|
44
|
+
const page = loaded.current ? pageOfModel : initPageOfModel;
|
|
45
|
+
const limit = loaded.current ? limitOfModel : initLimitOfModel;
|
|
46
|
+
if (!loaded.current)
|
|
47
|
+
loaded.current = true;
|
|
48
|
+
return /* @__PURE__ */ React.createElement("div", { className: clsx("mt-4 flex flex-wrap justify-center", className) }, insight.count > limit && /* @__PURE__ */ React.createElement(
|
|
49
|
+
Pagn,
|
|
50
|
+
{
|
|
51
|
+
currentPage: page,
|
|
52
|
+
total: insight.count,
|
|
53
|
+
itemsPerPage: limit || insight.count,
|
|
54
|
+
onPageSelect: (page2) => {
|
|
55
|
+
void storeDo[namesOfSlice.setPageOfModel](page2);
|
|
56
|
+
if (scrollToTop) {
|
|
57
|
+
window.parent.postMessage({ type: "pathChange", page: page2 }, "*");
|
|
58
|
+
window.scrollTo({ top: 0, behavior: "instant" });
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
));
|
|
63
|
+
}
|
|
64
|
+
function Pagination({ className, init, scrollToTop }) {
|
|
65
|
+
const { fulfilled, value: promiseInit } = useFetch(init);
|
|
66
|
+
return fulfilled ? promiseInit ? /* @__PURE__ */ React.createElement(Render, { scrollToTop: true, init: promiseInit }) : /* @__PURE__ */ React.createElement(Empty, null) : /* @__PURE__ */ React.createElement(React.Fragment, null);
|
|
67
|
+
}
|
|
68
|
+
export {
|
|
69
|
+
Pagination as default
|
|
70
|
+
};
|