@sikka/hawa 0.36.0-next → 0.36.2-next
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/README.md +1 -5
- package/dist/appLayout/index.d.mts +0 -6
- package/dist/appLayout/index.d.ts +0 -6
- package/dist/appLayout/index.js +44 -15
- package/dist/appLayout/index.js.map +1 -1
- package/dist/appLayout/index.mjs +44 -15
- package/dist/appLayout/index.mjs.map +1 -1
- package/dist/combobox/index.js +1 -1
- package/dist/combobox/index.js.map +1 -1
- package/dist/combobox/index.mjs +1 -1
- package/dist/combobox/index.mjs.map +1 -1
- package/dist/command/index.js +1 -1
- package/dist/command/index.js.map +1 -1
- package/dist/command/index.mjs +1 -1
- package/dist/command/index.mjs.map +1 -1
- package/dist/dataTable/index.js +1 -1
- package/dist/dataTable/index.js.map +1 -1
- package/dist/dataTable/index.mjs +1 -1
- package/dist/dataTable/index.mjs.map +1 -1
- package/dist/dialog/index.js +1 -1
- package/dist/dialog/index.js.map +1 -1
- package/dist/dialog/index.mjs +1 -1
- package/dist/dialog/index.mjs.map +1 -1
- package/dist/elements/index.js +2 -2
- package/dist/elements/index.mjs +2 -2
- package/dist/index.css +6 -0
- package/dist/index.d.mts +0 -6
- package/dist/index.d.ts +0 -6
- package/dist/index.js +44 -17
- package/dist/index.mjs +44 -17
- package/dist/layout/index.d.mts +0 -6
- package/dist/layout/index.d.ts +0 -6
- package/dist/layout/index.js +44 -15
- package/dist/layout/index.mjs +42 -15
- package/package.json +1 -1
package/dist/appLayout/index.mjs
CHANGED
@@ -33,6 +33,9 @@ function useClickOutside(handler, events, nodes) {
|
|
33
33
|
return ref;
|
34
34
|
}
|
35
35
|
|
36
|
+
// layout/appLayout/AppLayout.tsx
|
37
|
+
import * as Dialog from "@radix-ui/react-dialog";
|
38
|
+
|
36
39
|
// util/index.ts
|
37
40
|
import { clsx } from "clsx";
|
38
41
|
import { twMerge } from "tailwind-merge";
|
@@ -1168,6 +1171,7 @@ var SidebarItem = ({
|
|
1168
1171
|
};
|
1169
1172
|
|
1170
1173
|
// layout/appLayout/AppLayout.tsx
|
1174
|
+
var LOCAL_STORAGE_KEY = "@sikka/hawa/keep-drawer-open";
|
1171
1175
|
var AppLayout = ({
|
1172
1176
|
profileMenuWidth = "default",
|
1173
1177
|
DrawerFooterActions,
|
@@ -1178,14 +1182,18 @@ var AppLayout = ({
|
|
1178
1182
|
drawerSize = "md",
|
1179
1183
|
currentPage,
|
1180
1184
|
clickedItem,
|
1181
|
-
setKeepOpen,
|
1182
|
-
keepOpen,
|
1183
1185
|
DrawerLinkComponent,
|
1184
1186
|
MenuLinkComponent,
|
1185
1187
|
onAvatarClick,
|
1186
1188
|
...props
|
1187
1189
|
}) => {
|
1188
1190
|
var _a, _b;
|
1191
|
+
useEffect2(() => {
|
1192
|
+
let isDrawerOpen = localStorage.getItem(LOCAL_STORAGE_KEY);
|
1193
|
+
if (isDrawerOpen === null) {
|
1194
|
+
localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(false));
|
1195
|
+
}
|
1196
|
+
}, []);
|
1189
1197
|
let closeDrawerWidth = 56;
|
1190
1198
|
let openDrawerWidth = 200;
|
1191
1199
|
let drawerSizeStyle = {
|
@@ -1201,8 +1209,15 @@ var AppLayout = ({
|
|
1201
1209
|
const [size, setSize] = useState2(
|
1202
1210
|
typeof window !== "undefined" && window.innerWidth || 1200
|
1203
1211
|
);
|
1204
|
-
const [openSideMenu, setOpenSideMenu] = useState2(
|
1205
|
-
|
1212
|
+
const [openSideMenu, setOpenSideMenu] = useState2(() => {
|
1213
|
+
const savedState = localStorage.getItem(LOCAL_STORAGE_KEY);
|
1214
|
+
return savedState ? JSON.parse(savedState) : false;
|
1215
|
+
});
|
1216
|
+
const [container, setContainer] = React12.useState(null);
|
1217
|
+
const [keepDrawerOpen, setKeepDrawerOpen] = useState2(() => {
|
1218
|
+
const savedState = localStorage.getItem(LOCAL_STORAGE_KEY);
|
1219
|
+
return savedState ? JSON.parse(savedState) : false;
|
1220
|
+
});
|
1206
1221
|
const handleClickOutside = () => {
|
1207
1222
|
if (typeof window !== "undefined") {
|
1208
1223
|
if (window.innerWidth < 600) {
|
@@ -1218,6 +1233,8 @@ var AppLayout = ({
|
|
1218
1233
|
setSize(window.innerWidth);
|
1219
1234
|
if (window.innerWidth > 600) {
|
1220
1235
|
setKeepDrawerOpen(false);
|
1236
|
+
} else {
|
1237
|
+
localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(false));
|
1221
1238
|
}
|
1222
1239
|
};
|
1223
1240
|
resize();
|
@@ -1228,12 +1245,16 @@ var AppLayout = ({
|
|
1228
1245
|
}
|
1229
1246
|
}, []);
|
1230
1247
|
useEffect2(() => {
|
1231
|
-
setKeepDrawerOpen(
|
1232
|
-
|
1248
|
+
setKeepDrawerOpen(() => {
|
1249
|
+
const savedState = localStorage.getItem(LOCAL_STORAGE_KEY);
|
1250
|
+
return savedState ? JSON.parse(savedState) : true;
|
1251
|
+
});
|
1252
|
+
}, [setKeepDrawerOpen]);
|
1233
1253
|
useEffect2(() => {
|
1234
1254
|
if (size > 600) {
|
1235
1255
|
setOpenSideMenu(keepDrawerOpen);
|
1236
1256
|
} else {
|
1257
|
+
setKeepDrawerOpen(false);
|
1237
1258
|
setOpenSideMenu(false);
|
1238
1259
|
}
|
1239
1260
|
}, [size, keepDrawerOpen]);
|
@@ -1243,7 +1264,7 @@ var AppLayout = ({
|
|
1243
1264
|
{
|
1244
1265
|
dir: direction,
|
1245
1266
|
className: cn(
|
1246
|
-
"hawa-fixed hawa-end-0 hawa-start-0 hawa-top-0 hawa-z-
|
1267
|
+
"hawa-fixed hawa-end-0 hawa-start-0 hawa-top-0 hawa-z-10 hawa-flex hawa-h-14 hawa-w-full hawa-items-center hawa-justify-between hawa-bg-primary-foreground hawa-p-2",
|
1247
1268
|
bordered && "hawa-border-b-[1px]"
|
1248
1269
|
)
|
1249
1270
|
},
|
@@ -1271,7 +1292,7 @@ var AppLayout = ({
|
|
1271
1292
|
"div",
|
1272
1293
|
{
|
1273
1294
|
onClick: () => setOpenSideMenu(true),
|
1274
|
-
className: "hawa-z-40 hawa-mx-1 hawa-cursor-pointer
|
1295
|
+
className: "hawa-z-40 hawa-mx-1 hawa-cursor-pointer hawa-rounded hawa-p-2 hawa-transition-all "
|
1275
1296
|
},
|
1276
1297
|
/* @__PURE__ */ React12.createElement(MenuIcon, null)
|
1277
1298
|
),
|
@@ -1316,13 +1337,13 @@ var AppLayout = ({
|
|
1316
1337
|
)
|
1317
1338
|
}
|
1318
1339
|
))
|
1319
|
-
), /* @__PURE__ */ React12.createElement(
|
1340
|
+
), /* @__PURE__ */ React12.createElement("div", { ref: setContainer }, /* @__PURE__ */ React12.createElement(
|
1320
1341
|
"div",
|
1321
1342
|
{
|
1322
1343
|
className: cn(
|
1323
|
-
"hawa-fixed hawa-z-
|
1344
|
+
"hawa-fixed hawa-z-40 hawa-flex hawa-flex-col hawa-justify-between hawa-overflow-x-clip hawa-transition-all hawa-top-0 hawa-h-[calc(100dvh)] hawa-bg-primary-foreground",
|
1324
1345
|
isRTL ? "hawa-right-0" : "hawa-left-0",
|
1325
|
-
bordered ? direction === "rtl" ? "hawa-border-s-[1px]" : "hawa-border-e-[1px]" : ""
|
1346
|
+
bordered ? size > 600 ? direction === "rtl" ? "hawa-border-s-[1px]" : "hawa-border-e-[1px]" : "" : ""
|
1326
1347
|
),
|
1327
1348
|
style: {
|
1328
1349
|
width: size > 600 ? openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : `${drawerSizeStyle["closed"][drawerSize]}px` : openSideMenu ? `${drawerSizeStyle["opened"][drawerSize]}px` : "0px"
|
@@ -1433,9 +1454,10 @@ var AppLayout = ({
|
|
1433
1454
|
size: "smallIcon",
|
1434
1455
|
onClick: () => {
|
1435
1456
|
const newKeepOpenState = !keepDrawerOpen;
|
1436
|
-
|
1437
|
-
|
1438
|
-
|
1457
|
+
localStorage.setItem(
|
1458
|
+
LOCAL_STORAGE_KEY,
|
1459
|
+
JSON.stringify(newKeepOpenState)
|
1460
|
+
);
|
1439
1461
|
setKeepDrawerOpen(newKeepOpenState);
|
1440
1462
|
}
|
1441
1463
|
},
|
@@ -1461,10 +1483,17 @@ var AppLayout = ({
|
|
1461
1483
|
)
|
1462
1484
|
) : null
|
1463
1485
|
)
|
1486
|
+
)), /* @__PURE__ */ React12.createElement(
|
1487
|
+
Dialog.Root,
|
1488
|
+
{
|
1489
|
+
open: size < 600 && openSideMenu,
|
1490
|
+
onOpenChange: setOpenSideMenu
|
1491
|
+
},
|
1492
|
+
/* @__PURE__ */ React12.createElement(Dialog.Portal, { container }, /* @__PURE__ */ React12.createElement(Dialog.Overlay, { className: "hawa-fixed hawa-inset-0 hawa-bg-foreground/80 hawa-backdrop-blur-sm data-[state=open]:hawa-animate-in data-[state=closed]:hawa-animate-out hawa-z-10 data-[state=closed]:hawa-fade-out-0 data-[state=open]:hawa-fade-in-0" }))
|
1464
1493
|
), /* @__PURE__ */ React12.createElement(
|
1465
1494
|
"div",
|
1466
1495
|
{
|
1467
|
-
className: "hawa-fixed
|
1496
|
+
className: "hawa-fixed hawa-overflow-y-auto hawa-transition-all hawa-z-0",
|
1468
1497
|
style: isRTL ? {
|
1469
1498
|
left: "0px",
|
1470
1499
|
top: props.topBar ? "56px" : "0px",
|