@sikka/hawa 0.36.0-next → 0.36.1-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.
@@ -112,10 +112,6 @@ type AppLayoutTypes = {
112
112
  profileMenuWidth?: "default" | "sm" | "lg" | "parent";
113
113
  /** Event handler for drawer expansion. */
114
114
  onDrawerExpand?: (e: any) => void;
115
- /** Specifies whether to keep the drawer open. */
116
- keepOpen: boolean;
117
- /** The method used to control whether the drawer is expanded or not. */
118
- setKeepOpen: (value: boolean) => void;
119
115
  /** Specifies additional actions for the drawer footer. */
120
116
  DrawerFooterActions?: any;
121
117
  /** Specifies the item that was clicked. */
@@ -112,10 +112,6 @@ type AppLayoutTypes = {
112
112
  profileMenuWidth?: "default" | "sm" | "lg" | "parent";
113
113
  /** Event handler for drawer expansion. */
114
114
  onDrawerExpand?: (e: any) => void;
115
- /** Specifies whether to keep the drawer open. */
116
- keepOpen: boolean;
117
- /** The method used to control whether the drawer is expanded or not. */
118
- setKeepOpen: (value: boolean) => void;
119
115
  /** Specifies additional actions for the drawer footer. */
120
116
  DrawerFooterActions?: any;
121
117
  /** Specifies the item that was clicked. */
@@ -1203,6 +1203,7 @@ var SidebarItem = ({
1203
1203
  };
1204
1204
 
1205
1205
  // layout/appLayout/AppLayout.tsx
1206
+ var LOCAL_STORAGE_KEY = "@sikka/hawa/keep-drawer-open";
1206
1207
  var AppLayout = ({
1207
1208
  profileMenuWidth = "default",
1208
1209
  DrawerFooterActions,
@@ -1213,14 +1214,18 @@ var AppLayout = ({
1213
1214
  drawerSize = "md",
1214
1215
  currentPage,
1215
1216
  clickedItem,
1216
- setKeepOpen,
1217
- keepOpen,
1218
1217
  DrawerLinkComponent,
1219
1218
  MenuLinkComponent,
1220
1219
  onAvatarClick,
1221
1220
  ...props
1222
1221
  }) => {
1223
1222
  var _a, _b;
1223
+ (0, import_react10.useLayoutEffect)(() => {
1224
+ let isDrawerOpen = localStorage.getItem(LOCAL_STORAGE_KEY);
1225
+ if (isDrawerOpen === null) {
1226
+ localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(false));
1227
+ }
1228
+ }, []);
1224
1229
  let closeDrawerWidth = 56;
1225
1230
  let openDrawerWidth = 200;
1226
1231
  let drawerSizeStyle = {
@@ -1236,8 +1241,14 @@ var AppLayout = ({
1236
1241
  const [size, setSize] = (0, import_react10.useState)(
1237
1242
  typeof window !== "undefined" && window.innerWidth || 1200
1238
1243
  );
1239
- const [openSideMenu, setOpenSideMenu] = (0, import_react10.useState)(true);
1240
- const [keepDrawerOpen, setKeepDrawerOpen] = (0, import_react10.useState)(keepOpen);
1244
+ const [openSideMenu, setOpenSideMenu] = (0, import_react10.useState)(() => {
1245
+ const savedState = localStorage.getItem(LOCAL_STORAGE_KEY);
1246
+ return savedState ? JSON.parse(savedState) : false;
1247
+ });
1248
+ const [keepDrawerOpen, setKeepDrawerOpen] = (0, import_react10.useState)(() => {
1249
+ const savedState = localStorage.getItem(LOCAL_STORAGE_KEY);
1250
+ return savedState ? JSON.parse(savedState) : false;
1251
+ });
1241
1252
  const handleClickOutside = () => {
1242
1253
  if (typeof window !== "undefined") {
1243
1254
  if (window.innerWidth < 600) {
@@ -1263,12 +1274,16 @@ var AppLayout = ({
1263
1274
  }
1264
1275
  }, []);
1265
1276
  (0, import_react10.useEffect)(() => {
1266
- setKeepDrawerOpen(keepOpen);
1267
- }, [setKeepOpen]);
1277
+ setKeepDrawerOpen(() => {
1278
+ const savedState = localStorage.getItem(LOCAL_STORAGE_KEY);
1279
+ return savedState ? JSON.parse(savedState) : true;
1280
+ });
1281
+ }, [setKeepDrawerOpen]);
1268
1282
  (0, import_react10.useEffect)(() => {
1269
1283
  if (size > 600) {
1270
1284
  setOpenSideMenu(keepDrawerOpen);
1271
1285
  } else {
1286
+ setKeepDrawerOpen(false);
1272
1287
  setOpenSideMenu(false);
1273
1288
  }
1274
1289
  }, [size, keepDrawerOpen]);
@@ -1468,9 +1483,10 @@ var AppLayout = ({
1468
1483
  size: "smallIcon",
1469
1484
  onClick: () => {
1470
1485
  const newKeepOpenState = !keepDrawerOpen;
1471
- if (props.onDrawerExpand) {
1472
- props.onDrawerExpand(newKeepOpenState);
1473
- }
1486
+ localStorage.setItem(
1487
+ LOCAL_STORAGE_KEY,
1488
+ JSON.stringify(newKeepOpenState)
1489
+ );
1474
1490
  setKeepDrawerOpen(newKeepOpenState);
1475
1491
  }
1476
1492
  },