@pinnacle0/web-ui 0.4.7 → 0.4.8

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.
@@ -1,11 +1,13 @@
1
1
  import React from "react";
2
2
  import { AdminAppContext } from "./context";
3
- import type { AdminNavigatorBase, NavigationGroupItem } from "../../util/AdminNavigatorBase";
4
3
  import type { RouteComponentProps } from "react-router-dom";
5
4
  import "antd/es/menu/style";
6
- interface Props extends RouteComponentProps {
5
+ import type { NavigationGroupItem } from "../../util/AdminNavigationUtil";
6
+ interface Props<Feature, Field> extends RouteComponentProps {
7
7
  siteName: string;
8
- navigationService: AdminNavigatorBase<any, any>;
8
+ permissions: Feature[];
9
+ superAdminPermission: Feature;
10
+ navigationGroups: Array<NavigationGroupItem<Feature, Field>>;
9
11
  menuExpanded: boolean;
10
12
  badges?: {
11
13
  [key: string]: number;
@@ -15,13 +17,13 @@ interface State {
15
17
  currentOpenedMenuKey: string | null;
16
18
  currentSelectedMenuKey: string | null;
17
19
  }
18
- declare class RouterAwareMenu extends React.PureComponent<Props, State> {
20
+ declare class RouterAwareMenu<Feature, Field> extends React.PureComponent<Props<Feature, Field>, State> {
19
21
  static displayName: string;
20
22
  static contextType: React.Context<import("./context").AdminAppContextType>;
21
23
  context: React.ContextType<typeof AdminAppContext>;
22
24
  private readonly soundEnabledKey;
23
- constructor(props: Props);
24
- componentDidUpdate(prevProps: Props): void;
25
+ constructor(props: Props<Feature, Field>);
26
+ componentDidUpdate(prevProps: Props<Feature, Field>): void;
25
27
  /**
26
28
  * Return true if any field of currentBadges > prevBadges.
27
29
  */
@@ -48,5 +50,5 @@ declare class RouterAwareMenu extends React.PureComponent<Props, State> {
48
50
  };
49
51
  render(): JSX.Element;
50
52
  }
51
- export declare const Menu: React.ComponentClass<Pick<Props, "siteName" | "navigationService" | "menuExpanded" | "badges">, any> & import("react-router").WithRouterStatics<typeof RouterAwareMenu>;
53
+ export declare const Menu: React.ComponentClass<Pick<Props<unknown, unknown>, "navigationGroups" | "siteName" | "permissions" | "superAdminPermission" | "menuExpanded" | "badges">, any> & import("react-router").WithRouterStatics<typeof RouterAwareMenu>;
52
54
  export {};
@@ -48,6 +48,7 @@ import { MediaUtil } from "../../util/MediaUtil";
48
48
  import { Badge } from "../../core/Badge";
49
49
  import { AdminAppContext } from "./context";
50
50
  import "antd/es/menu/style";
51
+ import { AdminNavigationUtil } from "../../util/AdminNavigationUtil";
51
52
  var RouterAwareMenu = /** @class */ (function (_super) {
52
53
  __extends(RouterAwareMenu, _super);
53
54
  function RouterAwareMenu(props) {
@@ -76,8 +77,9 @@ var RouterAwareMenu = /** @class */ (function (_super) {
76
77
  return false;
77
78
  };
78
79
  _this.calculateTotalBadge = function (badges) {
80
+ var _a = _this.props, navigationGroups = _a.navigationGroups, permissions = _a.permissions, superAdminPermission = _a.superAdminPermission;
79
81
  var totalCount = 0;
80
- _this.props.navigationService.groups(false).forEach(function (_a) {
82
+ AdminNavigationUtil.groups(navigationGroups, permissions, superAdminPermission, false).forEach(function (_a) {
81
83
  var modules = _a.modules;
82
84
  modules.forEach(function (_) { return (totalCount += badges[_.url] || 0); });
83
85
  });
@@ -85,11 +87,11 @@ var RouterAwareMenu = /** @class */ (function (_super) {
85
87
  };
86
88
  _this.calculateMenuKeyByURL = function (prevBadges) {
87
89
  var _a;
88
- var _b = _this.props, location = _b.location, menuExpanded = _b.menuExpanded, siteName = _b.siteName, badges = _b.badges, navigationService = _b.navigationService;
89
- var allNavigationGroups = navigationService.groups(true);
90
+ var _b = _this.props, location = _b.location, menuExpanded = _b.menuExpanded, siteName = _b.siteName, badges = _b.badges, navigationGroups = _b.navigationGroups, permissions = _b.permissions, superAdminPermission = _b.superAdminPermission;
91
+ var allNavigationGroups = AdminNavigationUtil.groups(navigationGroups, permissions, superAdminPermission, true);
90
92
  var currentOpenedMenuKey = ((_a = allNavigationGroups === null || allNavigationGroups === void 0 ? void 0 : allNavigationGroups[0]) === null || _a === void 0 ? void 0 : _a.title) || null; // Fallback opened key
91
93
  var currentSelectedMenuKey = null;
92
- var currentModule = navigationService.moduleByURL(location.pathname);
94
+ var currentModule = AdminNavigationUtil.moduleByURL(location.pathname, navigationGroups, permissions, superAdminPermission);
93
95
  var totalBadgeCount = badges ? _this.calculateTotalBadge(badges) : 0;
94
96
  var titlePrefix = (totalBadgeCount > 0 ? "(".concat(totalBadgeCount, ") ") : "") + siteName;
95
97
  var soundEnabled = LocalStorageUtil.getBool(_this.soundEnabledKey, true);
@@ -162,9 +164,9 @@ var RouterAwareMenu = /** @class */ (function (_super) {
162
164
  }
163
165
  };
164
166
  RouterAwareMenu.prototype.render = function () {
165
- var navigationService = this.props.navigationService;
166
- var _a = this.state, currentOpenedMenuKey = _a.currentOpenedMenuKey, currentSelectedMenuKey = _a.currentSelectedMenuKey;
167
- return (React.createElement(AntMenu, { theme: "dark", mode: "inline", openKeys: currentOpenedMenuKey ? [currentOpenedMenuKey] : [], selectedKeys: currentSelectedMenuKey ? [currentSelectedMenuKey] : [], onOpenChange: this.onMenuOpenChange, items: navigationService.groups(false).map(this.renderMenuGroup) }));
167
+ var _a = this.props, navigationGroups = _a.navigationGroups, permissions = _a.permissions, superAdminPermission = _a.superAdminPermission;
168
+ var _b = this.state, currentOpenedMenuKey = _b.currentOpenedMenuKey, currentSelectedMenuKey = _b.currentSelectedMenuKey;
169
+ return (React.createElement(AntMenu, { theme: "dark", mode: "inline", openKeys: currentOpenedMenuKey ? [currentOpenedMenuKey] : [], selectedKeys: currentSelectedMenuKey ? [currentSelectedMenuKey] : [], onOpenChange: this.onMenuOpenChange, items: AdminNavigationUtil.groups(navigationGroups, permissions, superAdminPermission, false).map(this.renderMenuGroup) }));
168
170
  };
169
171
  RouterAwareMenu.displayName = "Menu";
170
172
  RouterAwareMenu.contextType = AdminAppContext;
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/Menu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/Menu.tsx"],"names":[],"mappings":"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"}
@@ -1,30 +1,32 @@
1
1
  import React from "react";
2
2
  import type { RouteComponentProps } from "react-router-dom";
3
3
  import { AdminAppContext } from "./context";
4
- import type { AdminNavigatorBase, NavigationModuleItem } from "../../util/AdminNavigatorBase";
4
+ import type { NavigationGroupItem, NavigationModuleItem } from "../../util/AdminNavigationUtil";
5
5
  interface NavigatorTabItem {
6
6
  url: string;
7
7
  module: NavigationModuleItem<any, any>;
8
8
  historyState?: any;
9
9
  customTitle?: string | null;
10
10
  }
11
- interface Props extends RouteComponentProps {
12
- navigationService: AdminNavigatorBase<any, any>;
11
+ interface Props<Feature, Field> extends RouteComponentProps {
12
+ permissions: Feature[];
13
+ superAdminPermission: Feature;
14
+ navigationGroups: Array<NavigationGroupItem<Feature, Field>>;
13
15
  }
14
16
  interface State {
15
17
  tabs: NavigatorTabItem[];
16
18
  }
17
- declare class RouterAwareNavigator extends React.PureComponent<Props, State> {
19
+ declare class RouterAwareNavigator<Feature, Field> extends React.PureComponent<Props<Feature, Field>, State> {
18
20
  static displayName: string;
19
21
  static contextType: React.Context<import("./context").AdminAppContextType>;
20
22
  context: React.ContextType<typeof AdminAppContext>;
21
- constructor(props: Props);
23
+ constructor(props: Props<Feature, Field>);
22
24
  componentDidMount(): void;
23
- componentDidUpdate(prevProps: Props): void;
25
+ componentDidUpdate(prevProps: Props<Feature, Field>): void;
24
26
  computeIndexByURL: (url: string) => number;
25
27
  onTabClose: (key: string | React.MouseEvent | React.KeyboardEvent) => void;
26
28
  onTabChange: (url: string) => void;
27
29
  render(): JSX.Element;
28
30
  }
29
- export declare const Navigator: React.ComponentClass<Pick<Props, "navigationService">, any> & import("react-router").WithRouterStatics<typeof RouterAwareNavigator>;
31
+ export declare const Navigator: React.ComponentClass<Pick<Props<unknown, unknown>, "navigationGroups" | "permissions" | "superAdminPermission">, any> & import("react-router").WithRouterStatics<typeof RouterAwareNavigator>;
30
32
  export {};
@@ -44,15 +44,16 @@ import { withRouter } from "react-router-dom";
44
44
  import { AdminAppContext } from "./context";
45
45
  import { i18n } from "../../internal/i18n/admin";
46
46
  import { Spin } from "../../core/Spin";
47
+ import { AdminNavigationUtil } from "../../util/AdminNavigationUtil";
47
48
  var RouterAwareNavigator = /** @class */ (function (_super) {
48
49
  __extends(RouterAwareNavigator, _super);
49
50
  function RouterAwareNavigator(props) {
50
51
  var _this = _super.call(this, props) || this;
51
52
  _this.computeIndexByURL = function (url) {
52
53
  // If url is null, then use current URL
53
- var navigationService = _this.props.navigationService;
54
+ var _a = _this.props, navigationGroups = _a.navigationGroups, permissions = _a.permissions, superAdminPermission = _a.superAdminPermission;
54
55
  var tabs = _this.state.tabs;
55
- var matchedModule = navigationService.moduleByURL(url);
56
+ var matchedModule = AdminNavigationUtil.moduleByURL(url, navigationGroups, permissions, superAdminPermission);
56
57
  if (matchedModule) {
57
58
  if (matchedModule.separateTab) {
58
59
  return tabs.findIndex(function (_) { return _.url === url; });
@@ -116,9 +117,9 @@ var RouterAwareNavigator = /** @class */ (function (_super) {
116
117
  }
117
118
  });
118
119
  // Create initial tab, unless homepage or 404
119
- var _a = this.props, location = _a.location, navigationService = _a.navigationService;
120
+ var _a = this.props, location = _a.location, navigationGroups = _a.navigationGroups, permissions = _a.permissions, superAdminPermission = _a.superAdminPermission;
120
121
  var url = location.pathname;
121
- var targetModule = navigationService.moduleByURL(url);
122
+ var targetModule = AdminNavigationUtil.moduleByURL(url, navigationGroups, permissions, superAdminPermission);
122
123
  if (targetModule) {
123
124
  this.setState({
124
125
  tabs: [
@@ -144,7 +145,7 @@ var RouterAwareNavigator = /** @class */ (function (_super) {
144
145
  newTabs[prevItemIndex].historyState = prevHistoryState;
145
146
  }
146
147
  // Then determine whether create a new tab, or update the existing tab
147
- var _a = this.props, location_1 = _a.location, navigationService = _a.navigationService;
148
+ var _a = this.props, location_1 = _a.location, navigationGroups = _a.navigationGroups, permissions = _a.permissions, superAdminPermission = _a.superAdminPermission;
148
149
  var newURL = location_1.pathname;
149
150
  var newHistoryState = location_1.state;
150
151
  var newIndex = this.computeIndexByURL(newURL);
@@ -156,7 +157,7 @@ var RouterAwareNavigator = /** @class */ (function (_super) {
156
157
  else {
157
158
  // If module exists, create a new tab
158
159
  // Else, it means, the user goes to the homepage tab, so just do nothing
159
- var targetModule = navigationService.moduleByURL(newURL);
160
+ var targetModule = AdminNavigationUtil.moduleByURL(newURL, navigationGroups, permissions, superAdminPermission);
160
161
  if (targetModule) {
161
162
  newTabs.push({
162
163
  url: newURL,
@@ -1 +1 @@
1
- {"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/Navigator.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAC,IAAI,EAAC,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAiBrC;IAAmC,wCAAiC;IAKhE,8BAAY,KAAY;QAAxB,YACI,kBAAM,KAAK,CAAC,SAEf;QAwED,uBAAiB,GAAG,UAAC,GAAW;YAC5B,uCAAuC;YAChC,IAAA,iBAAiB,GAAI,KAAI,CAAC,KAAK,kBAAd,CAAe;YAChC,IAAA,IAAI,GAAI,KAAI,CAAC,KAAK,KAAd,CAAe;YAC1B,IAAM,aAAa,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACzD,IAAI,aAAa,EAAE;gBACf,IAAI,aAAa,CAAC,WAAW,EAAE;oBAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,GAAG,KAAK,GAAG,EAAb,CAAa,CAAC,CAAC;iBAC7C;qBAAM;oBACH,OAAO,IAAI,CAAC,SAAS,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,MAAM,KAAK,aAAa,EAA1B,CAA0B,CAAC,CAAC;iBAC1D;aACJ;iBAAM;gBACH,OAAO,CAAC,CAAC,CAAC;aACb;QACL,CAAC,CAAC;QAEF,gBAAU,GAAG,UAAC,GAAoD;YACxD,IAAA,KAAsB,KAAI,CAAC,KAAK,EAA/B,OAAO,aAAA,EAAE,QAAQ,cAAc,CAAC;YAChC,IAAA,IAAI,GAAI,KAAI,CAAC,KAAK,KAAd,CAAe;YAE1B,IAAM,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACrC,IAAM,SAAS,GAAG,GAAa,CAAC;YAChC,IAAM,WAAW,GAAG,KAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;YACtD,IAAI,WAAW,IAAI,CAAC,EAAE;gBAClB,IAAM,OAAO,4BAAO,IAAI,SAAC,CAAC;gBAC1B,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAC/B,KAAI,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;gBAE/B,IAAI,UAAU,KAAK,SAAS,EAAE;oBAC1B,qEAAqE;oBACrE,IAAM,aAAa,GAAG,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;oBAC/C,IAAI,aAAa,EAAE;wBACf,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;qBAC/D;yBAAM;wBACH,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBACrB;iBACJ;aACJ;QACL,CAAC,CAAC;QAEF,iBAAW,GAAG,UAAC,GAAW;YACf,IAAA,OAAO,GAAI,KAAI,CAAC,KAAK,QAAd,CAAe;YAC7B,IAAM,KAAK,GAAG,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,KAAK,IAAI,CAAC,EAAE;gBACZ,kEAAkE;gBAClE,IAAM,WAAW,GAAG,KAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC3C,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;aAC3D;iBAAM;gBACH,oBAAoB;gBACpB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACrB;QACL,CAAC,CAAC;QA5HE,KAAI,CAAC,KAAK,GAAG,EAAC,IAAI,EAAE,EAAE,EAAC,CAAC;;IAC5B,CAAC;IAED,gDAAiB,GAAjB;QAAA,iBA2BC;QA1BG,mBAAmB;QACnB,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,UAAA,KAAK;YACnC,IAAM,GAAG,GAAG,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACzC,IAAM,KAAK,GAAG,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,KAAK,IAAI,CAAC,EAAE;gBACZ,IAAM,OAAO,4BAAO,KAAI,CAAC,KAAK,CAAC,IAAI,SAAC,CAAC;gBACrC,OAAO,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC;gBACnC,KAAI,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;aAClC;QACL,CAAC,CAAC,CAAC;QAEH,6CAA6C;QACvC,IAAA,KAAgC,IAAI,CAAC,KAAK,EAAzC,QAAQ,cAAA,EAAE,iBAAiB,uBAAc,CAAC;QACjD,IAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC;QAC9B,IAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACxD,IAAI,YAAY,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC;gBACV,IAAI,EAAE;oBACF;wBACI,GAAG,KAAA;wBACH,MAAM,EAAE,YAAY;wBACpB,YAAY,EAAE,QAAQ,CAAC,KAAK;qBAC/B;iBACJ;aACJ,CAAC,CAAC;SACN;IACL,CAAC;IAED,iDAAkB,GAAlB,UAAmB,SAAgB;QAC/B,IAAI,SAAS,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACrC,IAAA,IAAI,GAAI,IAAI,CAAC,KAAK,KAAd,CAAe;YAC1B,IAAM,OAAO,4BAAO,IAAI,SAAC,CAAC;YAE1B,qDAAqD;YACrD,IAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5C,IAAM,gBAAgB,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;YAClD,IAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,aAAa,IAAI,CAAC,EAAE;gBACpB,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,GAAG,OAAO,CAAC;gBACrC,OAAO,CAAC,aAAa,CAAC,CAAC,YAAY,GAAG,gBAAgB,CAAC;aAC1D;YAED,sEAAsE;YAChE,IAAA,KAAgC,IAAI,CAAC,KAAK,EAAzC,UAAQ,cAAA,EAAE,iBAAiB,uBAAc,CAAC;YACjD,IAAM,MAAM,GAAG,UAAQ,CAAC,QAAQ,CAAC;YACjC,IAAM,eAAe,GAAG,UAAQ,CAAC,KAAK,CAAC;YACvC,IAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,QAAQ,IAAI,CAAC,EAAE;gBACf,0BAA0B;gBAC1B,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC;gBAC/B,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,GAAG,eAAe,CAAC;aACpD;iBAAM;gBACH,qCAAqC;gBACrC,wEAAwE;gBACxE,IAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC3D,IAAI,YAAY,EAAE;oBACd,OAAO,CAAC,IAAI,CAAC;wBACT,GAAG,EAAE,MAAM;wBACX,YAAY,EAAE,eAAe;wBAC7B,MAAM,EAAE,YAAY;qBACvB,CAAC,CAAC;iBACN;aACJ;YAED,+BAA+B;YAC/B,IAAI,CAAC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;SAClC;IACL,CAAC;IAuDD,qCAAM,GAAN;QACW,IAAA,QAAQ,GAAI,IAAI,CAAC,KAAK,SAAd,CAAe;QACvB,IAAA,IAAI,GAAI,IAAI,CAAC,KAAK,KAAd,CAAe;QAC1B,IAAM,CAAC,GAAG,IAAI,EAAE,CAAC;QACjB,OAAO,CACH,oBAAC,IAAI,IAAC,SAAS,EAAC,eAAe,EAAC,OAAO,QAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAC,eAAe,EAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,WAAW;YAC1I,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAE,CAAC,CAAC,aAAa,EAAE,GAAG,EAAC,GAAG,EAAC,QAAQ,EAAE,KAAK,GAAI;YAC9D,IAAI,CAAC,GAAG,CAAC,UAAC,EAA0B;oBAAzB,WAAW,iBAAA,EAAE,GAAG,SAAA,EAAE,MAAM,YAAA;gBAChC,IAAI,GAAgC,CAAC;gBACrC,IAAI,WAAW,EAAE;oBACb,GAAG,GAAG,WAAW,CAAC;iBACrB;qBAAM,IAAI,MAAM,CAAC,WAAW,EAAE;oBAC3B,GAAG,GAAG,CACF,oBAAC,KAAK,CAAC,QAAQ;wBACV,MAAM,CAAC,KAAK;wBACb,oBAAC,IAAI,IAAC,QAAQ,QAAC,IAAI,EAAC,OAAO,GAAG,CACjB,CACpB,CAAC;iBACL;qBAAM;oBACH,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC;iBACtB;gBACD,OAAO,oBAAC,IAAI,CAAC,OAAO,IAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,SAAG,CAAC;YACzD,CAAC,CAAC,CACC,CACV,CAAC;IACN,CAAC;IA7JM,gCAAW,GAAG,WAAW,CAAC;IAC1B,gCAAW,GAAG,eAAe,CAAC;IA6JzC,2BAAC;CAAA,AA/JD,CAAmC,KAAK,CAAC,aAAa,GA+JrD;AAED,MAAM,CAAC,IAAM,SAAS,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/Navigator.tsx"],"names":[],"mappings":"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"}
@@ -1,18 +1,20 @@
1
1
  import React from "react";
2
- import type { AdminNavigatorBase } from "../../util/AdminNavigatorBase";
2
+ import type { NavigationGroupItem } from "../../util/AdminNavigationUtil";
3
3
  import { AdminAppContext } from "./context";
4
- interface Props {
5
- navigationService: AdminNavigatorBase<any, any>;
4
+ interface Props<Feature, Field> {
5
+ permissions: Feature[];
6
+ superAdminPermission: Feature;
7
+ navigationGroups: Array<NavigationGroupItem<Feature, Field>>;
6
8
  WelcomeComponent?: React.ComponentType;
7
9
  onLifecycleError?: (error: unknown, componentStack: string) => void;
8
10
  onNotFound?: (notFoundPath: string) => void;
9
11
  }
10
- export declare class RouteSwitch extends React.PureComponent<Props> {
12
+ export declare class RouteSwitch<Feature, Field> extends React.PureComponent<Props<Feature, Field>> {
11
13
  static displayName: string;
12
14
  static contextType: React.Context<import("./context").AdminAppContextType>;
13
15
  context: React.ContextType<typeof AdminAppContext>;
14
16
  private readonly navigationModules;
15
- constructor(props: Props);
17
+ constructor(props: Props<Feature, Field>);
16
18
  renderWelcome: () => JSX.Element;
17
19
  render(): JSX.Element;
18
20
  }
@@ -25,6 +25,7 @@ var __assign = (this && this.__assign) || function () {
25
25
  return __assign.apply(this, arguments);
26
26
  };
27
27
  import React from "react";
28
+ import { AdminNavigationUtil } from "../../util/AdminNavigationUtil";
28
29
  import { Route, Switch } from "react-router-dom";
29
30
  import { WithErrorBoundary } from "./WithErrorBoundary";
30
31
  import { NotFound } from "./NotFound";
@@ -42,7 +43,7 @@ var RouteSwitch = /** @class */ (function (_super) {
42
43
  return (React.createElement(AdminPage, null,
43
44
  React.createElement(AdminPage.Result, { type: "success", title: TextUtil.interpolate(t.welcome, name), subtitle: t.homePageSubtitle, hideButton: true })));
44
45
  };
45
- _this.navigationModules = props.navigationService.modules();
46
+ _this.navigationModules = AdminNavigationUtil.modules(props.navigationGroups, props.permissions, props.superAdminPermission);
46
47
  return _this;
47
48
  }
48
49
  RouteSwitch.prototype.render = function () {
@@ -1 +1 @@
1
- {"version":3,"file":"RouteSwitch.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/RouteSwitch.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,IAAI,EAAC,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAS1C;IAAiC,+BAA0B;IAOvD,qBAAY,KAAY;QAAxB,YACI,kBAAM,KAAK,CAAC,SAEf;QAED,mBAAa,GAAG;YACL,IAAA,IAAI,GAAI,KAAI,CAAC,OAAO,KAAhB,CAAiB;YAC5B,IAAM,CAAC,GAAG,IAAI,EAAE,CAAC;YACjB,OAAO,CACH,oBAAC,SAAS;gBACN,oBAAC,SAAS,CAAC,MAAM,IAAC,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,gBAAgB,EAAE,UAAU,SAAG,CAClH,CACf,CAAC;QACN,CAAC,CAAC;QAXE,KAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;;IAC/D,CAAC;IAYD,4BAAM,GAAN;QACU,IAAA,KAAmD,IAAI,CAAC,KAAK,EAA5D,gBAAgB,sBAAA,EAAE,gBAAgB,sBAAA,EAAE,UAAU,gBAAc,CAAC;QACpE,OAAO,CACH,oBAAC,MAAM;YACH,oBAAC,KAAK,IAAC,KAAK,QAAC,IAAI,EAAC,GAAG,EAAC,SAAS,EAAE,gBAAgB,IAAI,IAAI,CAAC,aAAa,GAAI;YAC1E,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAC,EAAgD;oBAA/C,GAAG,SAAA,EAAE,UAAU,gBAAA,EAAiB,cAAc,mBAAA;gBAAM,OAAA,CAC9E,oBAAC,KAAK,IACF,KAAK,QACL,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,EACzC,SAAS,EAAE,UAAC,KAAU,IAAK,OAAA,CACvB,oBAAC,iBAAiB,IAAC,gBAAgB,EAAE,gBAAgB;wBACjD,oBAAC,cAAc,eAAK,KAAK,EAAI,CACb,CACvB,EAJ0B,CAI1B,GACH,CACL;YAXiF,CAWjF,CAAC;YACF,oBAAC,KAAK,IAAC,SAAS,EAAE,cAAM,OAAA,oBAAC,QAAQ,IAAC,UAAU,EAAE,UAAU,GAAI,EAApC,CAAoC,GAAI,CAC3D,CACZ,CAAC;IACN,CAAC;IAzCM,uBAAW,GAAG,aAAa,CAAC;IAC5B,uBAAW,GAAG,eAAe,CAAC;IAyCzC,kBAAC;CAAA,AA3CD,CAAiC,KAAK,CAAC,aAAa,GA2CnD;SA3CY,WAAW"}
1
+ {"version":3,"file":"RouteSwitch.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/RouteSwitch.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,IAAI,EAAC,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAW1C;IAAiD,+BAA0C;IAOvF,qBAAY,KAA4B;QAAxC,YACI,kBAAM,KAAK,CAAC,SAEf;QAED,mBAAa,GAAG;YACL,IAAA,IAAI,GAAI,KAAI,CAAC,OAAO,KAAhB,CAAiB;YAC5B,IAAM,CAAC,GAAG,IAAI,EAAE,CAAC;YACjB,OAAO,CACH,oBAAC,SAAS;gBACN,oBAAC,SAAS,CAAC,MAAM,IAAC,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,gBAAgB,EAAE,UAAU,SAAG,CAClH,CACf,CAAC;QACN,CAAC,CAAC;QAXE,KAAI,CAAC,iBAAiB,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;;IAChI,CAAC;IAYD,4BAAM,GAAN;QACU,IAAA,KAAmD,IAAI,CAAC,KAAK,EAA5D,gBAAgB,sBAAA,EAAE,gBAAgB,sBAAA,EAAE,UAAU,gBAAc,CAAC;QACpE,OAAO,CACH,oBAAC,MAAM;YACH,oBAAC,KAAK,IAAC,KAAK,QAAC,IAAI,EAAC,GAAG,EAAC,SAAS,EAAE,gBAAgB,IAAI,IAAI,CAAC,aAAa,GAAI;YAC1E,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAC,EAAgD;oBAA/C,GAAG,SAAA,EAAE,UAAU,gBAAA,EAAiB,cAAc,mBAAA;gBAAM,OAAA,CAC9E,oBAAC,KAAK,IACF,KAAK,QACL,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,EACzC,SAAS,EAAE,UAAC,KAAU,IAAK,OAAA,CACvB,oBAAC,iBAAiB,IAAC,gBAAgB,EAAE,gBAAgB;wBACjD,oBAAC,cAAc,eAAK,KAAK,EAAI,CACb,CACvB,EAJ0B,CAI1B,GACH,CACL;YAXiF,CAWjF,CAAC;YACF,oBAAC,KAAK,IAAC,SAAS,EAAE,cAAM,OAAA,oBAAC,QAAQ,IAAC,UAAU,EAAE,UAAU,GAAI,EAApC,CAAoC,GAAI,CAC3D,CACZ,CAAC;IACN,CAAC;IAzCM,uBAAW,GAAG,aAAa,CAAC;IAC5B,uBAAW,GAAG,eAAe,CAAC;IAyCzC,kBAAC;CAAA,AA3CD,CAAiD,KAAK,CAAC,aAAa,GA2CnE;SA3CY,WAAW"}
@@ -1,14 +1,16 @@
1
1
  import React from "react";
2
- import type { AdminNavigatorBase } from "../../util/AdminNavigatorBase";
2
+ import type { NavigationGroupItem } from "../../util/AdminNavigationUtil";
3
3
  import { SoundSwitch } from "./Default/SoundSwitch";
4
4
  import { SquareLogo } from "./Default/SquareLogo";
5
5
  import type { ExpandableProps } from "./Default/SquareLogo";
6
6
  import { NavigatorSide } from "./Default/NavigatorSide";
7
7
  import "antd/es/layout/style";
8
8
  import "./index.less";
9
- export interface Props {
9
+ export interface Props<Feature, Field> {
10
10
  name: string;
11
- navigationService: AdminNavigatorBase<any, any>;
11
+ permissions: Feature[];
12
+ superAdminPermission: Feature;
13
+ navigationGroups: Array<NavigationGroupItem<Feature, Field>>;
12
14
  LogoComponent?: React.ComponentType<ExpandableProps>;
13
15
  NavigatorSideComponent?: React.ComponentType;
14
16
  WelcomeComponent?: React.ComponentType;
@@ -23,16 +25,15 @@ export interface Props {
23
25
  interface State {
24
26
  menuExpanded: boolean;
25
27
  }
26
- export declare class AdminApp extends React.PureComponent<Props, State> {
28
+ export declare class AdminApp<Feature, Field> extends React.PureComponent<Props<Feature, Field>, State> {
27
29
  static displayName: string;
28
30
  static SquareLogo: typeof SquareLogo;
29
31
  static SoundSwitch: typeof SoundSwitch;
30
32
  static NavigatorSide: typeof NavigatorSide;
31
33
  private readonly menuExpandedKey;
32
- private readonly navigationModules;
33
34
  private readonly adminAppContext;
34
35
  private registeredTitleUpdater;
35
- constructor(props: Props);
36
+ constructor(props: Props<Feature, Field>);
36
37
  toggleMenuExpansion: () => void;
37
38
  render(): JSX.Element;
38
39
  }
@@ -41,7 +41,6 @@ var AdminApp = /** @class */ (function (_super) {
41
41
  _this.state = {
42
42
  menuExpanded: LocalStorageUtil.getBool(_this.menuExpandedKey, true),
43
43
  };
44
- _this.navigationModules = props.navigationService.modules();
45
44
  _this.adminAppContext = {
46
45
  name: props.name,
47
46
  updateTitle: function (title) { var _a; return (_a = _this.registeredTitleUpdater) === null || _a === void 0 ? void 0 : _a.call(_this, title); },
@@ -50,20 +49,20 @@ var AdminApp = /** @class */ (function (_super) {
50
49
  return _this;
51
50
  }
52
51
  AdminApp.prototype.render = function () {
53
- var _a = this.props, name = _a.name, navigationService = _a.navigationService, WelcomeComponent = _a.WelcomeComponent, LogoComponent = _a.LogoComponent, NavigatorSideComponent = _a.NavigatorSideComponent, noBrowserRouter = _a.noBrowserRouter, badges = _a.badges, sideMenuWidth = _a.sideMenuWidth, onNotFound = _a.onNotFound, onLifecycleError = _a.onLifecycleError;
52
+ var _a = this.props, name = _a.name, navigationGroups = _a.navigationGroups, permissions = _a.permissions, superAdminPermission = _a.superAdminPermission, WelcomeComponent = _a.WelcomeComponent, LogoComponent = _a.LogoComponent, NavigatorSideComponent = _a.NavigatorSideComponent, noBrowserRouter = _a.noBrowserRouter, badges = _a.badges, sideMenuWidth = _a.sideMenuWidth, onNotFound = _a.onNotFound, onLifecycleError = _a.onLifecycleError;
54
53
  var menuExpanded = this.state.menuExpanded;
55
54
  var coreContent = (React.createElement(AdminAppContext.Provider, { value: this.adminAppContext },
56
55
  React.createElement(AntLayout, { id: "admin-app" },
57
56
  React.createElement(AntLayout.Sider, { collapsed: !menuExpanded, width: sideMenuWidth },
58
57
  LogoComponent && React.createElement(LogoComponent, { expanded: menuExpanded }),
59
- React.createElement(Menu, { navigationService: navigationService, menuExpanded: menuExpanded, siteName: name, badges: badges }),
58
+ React.createElement(Menu, { navigationGroups: navigationGroups, permissions: permissions, superAdminPermission: superAdminPermission, menuExpanded: menuExpanded, siteName: name, badges: badges }),
60
59
  React.createElement("div", { className: "toggle-menu-icon", onClick: this.toggleMenuExpansion }, menuExpanded ? React.createElement(MenuFoldOutlined, null) : React.createElement(MenuUnfoldOutlined, null))),
61
60
  React.createElement(AntLayout, null,
62
61
  React.createElement(AntLayout.Header, null,
63
- React.createElement(Navigator, { navigationService: navigationService }),
62
+ React.createElement(Navigator, { navigationGroups: navigationGroups, permissions: permissions, superAdminPermission: superAdminPermission }),
64
63
  NavigatorSideComponent && React.createElement(NavigatorSideComponent, null)),
65
64
  React.createElement(AntLayout.Content, null,
66
- React.createElement(RouteSwitch, { navigationService: navigationService, WelcomeComponent: WelcomeComponent, onLifecycleError: onLifecycleError, onNotFound: onNotFound }))))));
65
+ React.createElement(RouteSwitch, { navigationGroups: navigationGroups, permissions: permissions, superAdminPermission: superAdminPermission, WelcomeComponent: WelcomeComponent, onLifecycleError: onLifecycleError, onNotFound: onNotFound }))))));
67
66
  return noBrowserRouter ? coreContent : React.createElement(BrowserRouter, null, coreContent);
68
67
  };
69
68
  AdminApp.displayName = "AdminApp";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/index.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import type { NavigationGroupItem, NavigationModuleItem } from "../util/AdminNavigatorBase";
2
+ import type { NavigationGroupItem, NavigationModuleItem } from "../util/AdminNavigationUtil";
3
3
  export interface Props<Feature, Field = undefined> {
4
4
  navigationGroups: Array<NavigationGroupItem<Feature, Field>>;
5
5
  boundPermissionsCalculator?: (permissions: Feature) => Feature[];
@@ -6,7 +6,6 @@ type Direction = "horizontal" | "vertical";
6
6
  export interface ItemProps<T extends object> {
7
7
  index: number;
8
8
  data: T;
9
- measure: (element: HTMLElement | null) => void;
10
9
  }
11
10
  export interface Props<T extends object> {
12
11
  initialRect?: {
@@ -19,8 +18,8 @@ export interface Props<T extends object> {
19
18
  direction?: Direction;
20
19
  fixedSize?: (index: number) => number;
21
20
  overscan?: number;
22
- observeElementRect?: VirtualizerOptions<HTMLElement | null, HTMLElement>["observeElementRect"];
23
- observeElementOffset?: VirtualizerOptions<HTMLElement | null, HTMLElement>["observeElementOffset"];
21
+ observeElementRect?: VirtualizerOptions<HTMLElement, HTMLElement>["observeElementRect"];
22
+ observeElementOffset?: VirtualizerOptions<HTMLElement, HTMLElement>["observeElementOffset"];
24
23
  }
25
24
  export declare function VirtualList<T extends object>({ data, rowKey, direction, renderData, overscan, initialRect, observeElementOffset, fixedSize, observeElementRect, }: Props<T>): JSX.Element;
26
25
  export {};
@@ -31,12 +31,6 @@ export function VirtualList(_a) {
31
31
  });
32
32
  var virtualizerRef = React.useRef(virtualizer);
33
33
  virtualizerRef.current = virtualizer;
34
- // TODO/Alvis: This is temporary fix of issue: https://github.com/TanStack/virtual/issues/363, please remove the code after update
35
- React.useLayoutEffect(function () {
36
- var v = virtualizerRef.current;
37
- v._didMount()();
38
- v._willUpdate();
39
- }, [data.length]);
40
34
  var getItemKey = function (index) { return (rowKey === "index" ? index : data[index][rowKey]); };
41
35
  return (React.createElement("div", { className: "g-virtual-list", ref: parentRef, style: { width: "100%", height: "100%", overflow: "auto" } },
42
36
  React.createElement("div", { className: "g-virtual-list-inner", style: {
@@ -44,7 +38,7 @@ export function VirtualList(_a) {
44
38
  width: horizontal ? virtualizer.getTotalSize() : "100%",
45
39
  position: "relative",
46
40
  } }, virtualizer.getVirtualItems().map(function (virtualRow) { return (React.createElement("div", { className: "g-virtual-list-item", key: getItemKey(virtualRow.index), style: __assign({ position: "absolute", top: 0, left: 0, transform: horizontal ? "translateX(".concat(virtualRow.start, "px)") : "translateY(".concat(virtualRow.start, "px)") }, sizeStyle) },
47
- React.createElement("div", { className: "g-virtual-list-item-wrapper", ref: virtualRow.measureElement, style: __assign({}, sizeStyle) },
48
- React.createElement(Item, { data: data[virtualRow.index], index: virtualRow.index, measure: virtualRow.measureElement })))); }))));
41
+ React.createElement("div", { className: "g-virtual-list-item-wrapper", "data-index": virtualRow.index, ref: virtualizer.measureElement, style: __assign({}, sizeStyle) },
42
+ React.createElement(Item, { data: data[virtualRow.index], index: virtualRow.index })))); }))));
49
43
  }
50
44
  //# sourceMappingURL=VirtualList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualList.js","sourceRoot":"","sources":["../../src/core/VirtualList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VirtualList.js","sourceRoot":"","sources":["../../src/core/VirtualList.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,qCAAqC,CAAC;AAC7C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,cAAc,EAAE,oBAAoB,IAAI,2BAA2B,EAAE,kBAAkB,IAAI,yBAAyB,EAAC,MAAM,yBAAyB,CAAC;AAK7J,IAAM,iBAAiB,GAAG,GAAG,CAAC;AAqB9B,MAAM,UAAU,WAAW,CAAmB,EAUnC;QATP,IAAI,UAAA,EACJ,cAAgB,EAAhB,MAAM,mBAAG,OAAO,KAAA,EAChB,iBAAsB,EAAtB,SAAS,mBAAG,UAAU,KAAA,EACtB,UAAU,gBAAA,EACV,gBAAY,EAAZ,QAAQ,mBAAG,CAAC,KAAA,EACZ,mBAAmC,EAAnC,WAAW,mBAAG,EAAC,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAC,KAAA,EACnC,oBAAoB,0BAAA,EACpB,SAAS,eAAA,EACT,kBAAkB,wBAAA;IAElB,IAAM,IAAI,GAAG,UAAU,CAAC;IACxB,IAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAwB,IAAI,CAAC,CAAC;IAC5D,IAAM,UAAU,GAAG,SAAS,KAAK,YAAY,CAAC;IAC9C,IAAM,SAAS,GAAwB,UAAU,CAAC,CAAC,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,MAAM,EAAC,CAAC;IACvF,IAAM,WAAW,GAAG,cAAc,CAA2B;QACzD,WAAW,aAAA;QACX,UAAU,YAAA;QACV,KAAK,EAAE,IAAI,CAAC,MAAM;QAClB,gBAAgB,EAAE,cAAM,OAAA,SAAS,CAAC,OAAO,EAAjB,CAAiB;QACzC,YAAY,EAAE,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,CAAC,cAAM,OAAA,iBAAiB,EAAjB,CAAiB,CAAC;QACpD,oBAAoB,EAAE,oBAAoB,aAApB,oBAAoB,cAApB,oBAAoB,GAAI,2BAA2B;QACzE,kBAAkB,EAAE,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,yBAAyB;QACnE,QAAQ,UAAA;KACX,CAAC,CAAC;IAEH,IAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACjD,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IAErC,IAAM,UAAU,GAAG,UAAC,KAAa,IAAK,OAAA,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAlD,CAAkD,CAAC;IAEzF,OAAO,CACH,6BAAK,SAAS,EAAC,gBAAgB,EAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAC;QACpG,6BACI,SAAS,EAAC,sBAAsB,EAChC,KAAK,EAAE;gBACH,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,EAAE;gBACxD,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,MAAM;gBACvD,QAAQ,EAAE,UAAU;aACvB,IAEA,WAAW,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,UAAA,UAAU,IAAI,OAAA,CAC7C,6BACI,SAAS,EAAC,qBAAqB,EAC/B,GAAG,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,CAAoB,EACpD,KAAK,aACD,QAAQ,EAAE,UAAU,EACpB,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,CAAC,EACP,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,qBAAc,UAAU,CAAC,KAAK,QAAK,CAAC,CAAC,CAAC,qBAAc,UAAU,CAAC,KAAK,QAAK,IAC9F,SAAS;YAGhB,6BAAK,SAAS,EAAC,6BAA6B,gBAAa,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,WAAW,CAAC,cAAc,EAAE,KAAK,eAAM,SAAS;gBAC5H,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,GAAI,CAC7D,CACJ,CACT,EAhBgD,CAgBhD,CAAC,CACA,CACJ,CACT,CAAC;AACN,CAAC"}
@@ -4,7 +4,7 @@ import type { VirtualTableColumn, ColumnsStickyPosition } from "./type";
4
4
  interface Props<RowType extends object> {
5
5
  data: RowType;
6
6
  columns: VirtualTableColumn<RowType>[];
7
- virtualItem: VirtualItem<HTMLDivElement>;
7
+ virtualItem: VirtualItem;
8
8
  columnWidths: number[];
9
9
  rowHeight: number;
10
10
  scrollBarSize: number;
@@ -31,14 +31,6 @@ export var VirtualTable = Object.assign(function (_a) {
31
31
  });
32
32
  var _d = useColumns({ columns: transformedColumns }), headerRef = _d.headerRef, columnWidths = _d.columnWidths, getColumnWidths = _d.getColumnWidths, columnsStickyPosition = _d.columnsStickyPosition;
33
33
  var _e = useScroll({ scrollContentRef: scrollContentRef, headerRef: headerRef, isScrollable: isVerticalScrollable }), onScroll = _e.onScroll, scrollBarSize = _e.scrollBarSize, tableBodyRef = _e.tableBodyRef;
34
- // TODO/David: This is temporary fix of issue: https://github.com/TanStack/virtual/issues/363, please remove the code after update
35
- var virtualizerRef = React.useRef(rowVirtualizer);
36
- virtualizerRef.current = rowVirtualizer;
37
- React.useLayoutEffect(function () {
38
- var v = virtualizerRef.current;
39
- v._didMount()();
40
- v._willUpdate();
41
- }, [dataSource.length]);
42
34
  return (React.createElement("div", { className: classNames("g-virtual-table", className), style: { width: scrollX || "100%", height: containerHeight } },
43
35
  loading && (React.createElement("div", { className: "mask" },
44
36
  React.createElement(Spin, { spinning: loading }))),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pinnacle0/web-ui",
3
- "version": "0.4.7",
3
+ "version": "0.4.8",
4
4
  "author": "Pinnacle",
5
5
  "license": "MIT",
6
6
  "sideEffects": [
@@ -19,7 +19,7 @@
19
19
  "dependencies": {
20
20
  "@ant-design/icons": "4.8.0",
21
21
  "@juggle/resize-observer": "3.4.0",
22
- "@tanstack/react-virtual": "3.0.0-beta.18",
22
+ "@tanstack/react-virtual": "3.0.0-beta.30",
23
23
  "antd": "4.24.2",
24
24
  "classnames": "2.3.2",
25
25
  "dayjs": "1.11.7",
@@ -33,24 +33,24 @@
33
33
  "react-router-dom": ">=5.2.0 <6.0.0"
34
34
  },
35
35
  "devDependencies": {
36
- "@babel/core": "7.20.2",
37
- "@babel/runtime": "7.20.1",
36
+ "@babel/core": "7.20.5",
37
+ "@babel/runtime": "7.20.6",
38
38
  "@testing-library/dom": "8.19.0",
39
39
  "@testing-library/jest-dom": "5.16.5",
40
40
  "@testing-library/react": "13.4.0",
41
41
  "@testing-library/user-event": "14.4.3",
42
42
  "@types/fs-extra": "9.0.13",
43
43
  "@types/history": "4.7.11",
44
- "@types/react": "18.0.25",
44
+ "@types/react": "18.0.26",
45
45
  "@types/react-dom": "18.0.9",
46
46
  "@types/react-router": "5.1.19",
47
47
  "@types/react-router-dom": "5.3.3",
48
- "fs-extra": "10.1.0",
48
+ "fs-extra": "11.1.0",
49
49
  "less": "4.1.3",
50
50
  "react": "18.2.0",
51
51
  "react-dom": "18.2.0",
52
52
  "react-router-dom": "5.3.0",
53
- "typescript": "4.9.3",
53
+ "typescript": "4.9.4",
54
54
  "@pinnacle0/webpack-util": "0.3.42",
55
55
  "@pinnacle0/devtool-util": "1.1.5"
56
56
  },
@@ -47,18 +47,9 @@ export interface NavigationGroupItem<Feature, Field = never> {
47
47
  icon: React.ReactElement;
48
48
  modules: Array<NavigationModuleItem<Feature, Field>>;
49
49
  }
50
- export declare abstract class AdminNavigatorBase<Feature extends string, Field extends string = never> {
51
- private superAdminFeaturePermission;
52
- private currentFeaturePermissions?;
53
- private superAdminFieldPermission?;
54
- private currentFieldPermission?;
55
- /**
56
- * If currentPermissions is undefined, it will behave like it owns all permissions.
57
- */
58
- protected constructor(superAdminFeaturePermission: Feature, currentFeaturePermissions?: Feature[] | undefined, superAdminFieldPermission?: Field | undefined, currentFieldPermission?: Field[] | undefined);
59
- groups(showHidden: boolean): Array<NavigationGroupItem<Feature, Field>>;
60
- modules(): Array<NavigationModuleItem<Feature, Field>>;
61
- moduleByURL(url: string): NavigationModuleItem<Feature, Field> | undefined;
62
- private canAccessModule;
63
- protected abstract allGroups(): Array<NavigationGroupItem<Feature, Field>>;
50
+ export declare class AdminNavigationUtil {
51
+ static groups<Feature, Field>(navigationGroupItems: NavigationGroupItem<Feature, Field>[], permissions: Feature[], superAdminPermission: Feature, showHidden: boolean): Array<NavigationGroupItem<Feature, Field>>;
52
+ static modules<Feature, Field>(navigationGroupItems: NavigationGroupItem<Feature, Field>[], permissions: Feature[], superAdminPermission: Feature): Array<NavigationModuleItem<Feature, Field>>;
53
+ static moduleByURL<Feature, Field>(url: string, navigationGroupItems: NavigationGroupItem<Feature, Field>[], permissions: Feature[], superAdminPermission: Feature): NavigationModuleItem<Feature, Field> | undefined;
54
+ private static canAccessModule;
64
55
  }
@@ -0,0 +1,93 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
13
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
14
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
15
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
16
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
17
+ };
18
+ var __metadata = (this && this.__metadata) || function (k, v) {
19
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
20
+ };
21
+ var __read = (this && this.__read) || function (o, n) {
22
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
23
+ if (!m) return o;
24
+ var i = m.call(o), r, ar = [], e;
25
+ try {
26
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
27
+ }
28
+ catch (error) { e = { error: error }; }
29
+ finally {
30
+ try {
31
+ if (r && !r.done && (m = i["return"])) m.call(i);
32
+ }
33
+ finally { if (e) throw e.error; }
34
+ }
35
+ return ar;
36
+ };
37
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
38
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
39
+ if (ar || !(i in from)) {
40
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
41
+ ar[i] = from[i];
42
+ }
43
+ }
44
+ return to.concat(ar || Array.prototype.slice.call(from));
45
+ };
46
+ import { matchPath } from "react-router-dom";
47
+ import { Memo } from "../internal/Memo";
48
+ var AdminNavigationUtil = /** @class */ (function () {
49
+ function AdminNavigationUtil() {
50
+ }
51
+ AdminNavigationUtil.groups = function (navigationGroupItems, permissions, superAdminPermission, showHidden) {
52
+ return navigationGroupItems
53
+ .map(function (_) {
54
+ var availableModules = _.modules.filter(function (module) { return module.display !== "disabled" && (showHidden || module.display !== "hidden") && AdminNavigationUtil.canAccessModule(module, permissions, superAdminPermission); });
55
+ return availableModules.length > 0 ? __assign(__assign({}, _), { modules: availableModules }) : null;
56
+ })
57
+ .filter(function (_) { return _; });
58
+ };
59
+ AdminNavigationUtil.modules = function (navigationGroupItems, permissions, superAdminPermission) {
60
+ var list = [];
61
+ AdminNavigationUtil.groups(navigationGroupItems, permissions, superAdminPermission, true).forEach(function (_) { return list.push.apply(list, __spreadArray([], __read(_.modules), false)); });
62
+ return list;
63
+ };
64
+ AdminNavigationUtil.moduleByURL = function (url, navigationGroupItems, permissions, superAdminPermission) {
65
+ var isMatched = function (item) {
66
+ return matchPath(url, {
67
+ path: item.routeParam ? item.url + item.routeParam : item.url,
68
+ exact: true,
69
+ strict: false,
70
+ }) !== null;
71
+ };
72
+ return AdminNavigationUtil.modules(navigationGroupItems, permissions, superAdminPermission).find(isMatched);
73
+ };
74
+ AdminNavigationUtil.canAccessModule = function (module, permissions, superAdminPermission) {
75
+ return permissions.includes(superAdminPermission) || !module.featurePermissions || module.featurePermissions.some(function (_) { return permissions.includes(_); });
76
+ };
77
+ var _a, _b;
78
+ __decorate([
79
+ Memo(),
80
+ __metadata("design:type", Function),
81
+ __metadata("design:paramtypes", [Array, Array, typeof (_a = typeof Feature !== "undefined" && Feature) === "function" ? _a : Object, Boolean]),
82
+ __metadata("design:returntype", Array)
83
+ ], AdminNavigationUtil, "groups", null);
84
+ __decorate([
85
+ Memo(),
86
+ __metadata("design:type", Function),
87
+ __metadata("design:paramtypes", [Array, Array, typeof (_b = typeof Feature !== "undefined" && Feature) === "function" ? _b : Object]),
88
+ __metadata("design:returntype", Array)
89
+ ], AdminNavigationUtil, "modules", null);
90
+ return AdminNavigationUtil;
91
+ }());
92
+ export { AdminNavigationUtil };
93
+ //# sourceMappingURL=AdminNavigationUtil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminNavigationUtil.js","sourceRoot":"","sources":["../../src/util/AdminNavigationUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAoDtC;IAAA;IA2CA,CAAC;IAzCU,0BAAM,GAAN,UACH,oBAA2D,EAC3D,WAAsB,EACtB,oBAA6B,EAC7B,UAAmB;QAEnB,OAAO,oBAAoB;aACtB,GAAG,CAAC,UAAA,CAAC;YACF,IAAM,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CACrC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,OAAO,KAAK,UAAU,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,mBAAmB,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,oBAAoB,CAAC,EAA9J,CAA8J,CAC3K,CAAC;YACF,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,uBAAK,CAAC,KAAE,OAAO,EAAE,gBAAgB,IAAE,CAAC,CAAC,IAAI,CAAC;QAClF,CAAC,CAAC;aACD,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,EAAD,CAAC,CAA+C,CAAC;IACtE,CAAC;IAGM,2BAAO,GAAP,UAAwB,oBAA2D,EAAE,WAAsB,EAAE,oBAA6B;QAC7I,IAAM,IAAI,GAAgD,EAAE,CAAC;QAC7D,mBAAmB,CAAC,MAAM,CAAC,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,IAAI,CAAC,IAAI,OAAT,IAAI,2BAAS,CAAC,CAAC,OAAO,YAAtB,CAAuB,CAAC,CAAC;QAChI,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,+BAAW,GAAlB,UACI,GAAW,EACX,oBAA2D,EAC3D,WAAsB,EACtB,oBAA6B;QAE7B,IAAM,SAAS,GAAG,UAAC,IAA0C;YACzD,OAAA,SAAS,CAAC,GAAG,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;gBAC7D,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,KAAK;aAChB,CAAC,KAAK,IAAI;QAJX,CAIW,CAAC;QAChB,OAAO,mBAAmB,CAAC,OAAO,CAAC,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChH,CAAC;IAEc,mCAAe,GAA9B,UAA+C,MAA4C,EAAE,WAAsB,EAAE,oBAA6B;QAC9I,OAAO,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAvB,CAAuB,CAAC,CAAC;IACpJ,CAAC;;IAxCM;QADN,IAAI,EAAE;;2EAImB,OAAO,oBAAP,OAAO;wCAE9B,KAAK;2CASP;IAGM;QADN,IAAI,EAAE;;2EACmI,OAAO,oBAAP,OAAO;wCAAG,KAAK;4CAIxJ;IAoBL,0BAAC;CAAA,AA3CD,IA2CC;SA3CY,mBAAmB"}
@@ -1,79 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __read = (this && this.__read) || function (o, n) {
13
- var m = typeof Symbol === "function" && o[Symbol.iterator];
14
- if (!m) return o;
15
- var i = m.call(o), r, ar = [], e;
16
- try {
17
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
18
- }
19
- catch (error) { e = { error: error }; }
20
- finally {
21
- try {
22
- if (r && !r.done && (m = i["return"])) m.call(i);
23
- }
24
- finally { if (e) throw e.error; }
25
- }
26
- return ar;
27
- };
28
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
29
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
30
- if (ar || !(i in from)) {
31
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
32
- ar[i] = from[i];
33
- }
34
- }
35
- return to.concat(ar || Array.prototype.slice.call(from));
36
- };
37
- import { matchPath } from "react-router-dom";
38
- var AdminNavigatorBase = /** @class */ (function () {
39
- /**
40
- * If currentPermissions is undefined, it will behave like it owns all permissions.
41
- */
42
- function AdminNavigatorBase(superAdminFeaturePermission, currentFeaturePermissions, superAdminFieldPermission, currentFieldPermission) {
43
- this.superAdminFeaturePermission = superAdminFeaturePermission;
44
- this.currentFeaturePermissions = currentFeaturePermissions;
45
- this.superAdminFieldPermission = superAdminFieldPermission;
46
- this.currentFieldPermission = currentFieldPermission;
47
- }
48
- AdminNavigatorBase.prototype.groups = function (showHidden) {
49
- var _this = this;
50
- return this.allGroups()
51
- .map(function (_) {
52
- var availableModules = _.modules.filter(function (module) { return module.display !== "disabled" && (showHidden || module.display !== "hidden") && _this.canAccessModule(module); });
53
- return availableModules.length > 0 ? __assign(__assign({}, _), { modules: availableModules }) : null;
54
- })
55
- .filter(function (_) { return _; });
56
- };
57
- AdminNavigatorBase.prototype.modules = function () {
58
- var list = [];
59
- this.groups(true).forEach(function (_) { return list.push.apply(list, __spreadArray([], __read(_.modules), false)); });
60
- return list;
61
- };
62
- AdminNavigatorBase.prototype.moduleByURL = function (url) {
63
- var isMatched = function (item) {
64
- return matchPath(url, {
65
- path: item.routeParam ? item.url + item.routeParam : item.url,
66
- exact: true,
67
- strict: false,
68
- }) !== null;
69
- };
70
- return this.modules().find(isMatched);
71
- };
72
- AdminNavigatorBase.prototype.canAccessModule = function (module) {
73
- var permissions = this.currentFeaturePermissions;
74
- return !permissions || permissions.includes(this.superAdminFeaturePermission) || !module.featurePermissions || module.featurePermissions.some(function (_) { return permissions.includes(_); });
75
- };
76
- return AdminNavigatorBase;
77
- }());
78
- export { AdminNavigatorBase };
79
- //# sourceMappingURL=AdminNavigatorBase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AdminNavigatorBase.js","sourceRoot":"","sources":["../../src/util/AdminNavigatorBase.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAoD3C;IACI;;OAEG;IACH,4BACY,2BAAoC,EACpC,yBAAqC,EACrC,yBAAiC,EACjC,sBAAgC;QAHhC,gCAA2B,GAA3B,2BAA2B,CAAS;QACpC,8BAAyB,GAAzB,yBAAyB,CAAY;QACrC,8BAAyB,GAAzB,yBAAyB,CAAQ;QACjC,2BAAsB,GAAtB,sBAAsB,CAAU;IACzC,CAAC;IAEJ,mCAAM,GAAN,UAAO,UAAmB;QAA1B,iBAOC;QANG,OAAO,IAAI,CAAC,SAAS,EAAE;aAClB,GAAG,CAAC,UAAA,CAAC;YACF,IAAM,gBAAgB,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,OAAO,KAAK,UAAU,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,IAAI,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAA5G,CAA4G,CAAC,CAAC;YAClK,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,uBAAK,CAAC,KAAE,OAAO,EAAE,gBAAgB,IAAE,CAAC,CAAC,IAAI,CAAC;QAClF,CAAC,CAAC;aACD,MAAM,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,EAAD,CAAC,CAA+C,CAAC;IACtE,CAAC;IAED,oCAAO,GAAP;QACI,IAAM,IAAI,GAAgD,EAAE,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,UAAA,CAAC,IAAI,OAAA,IAAI,CAAC,IAAI,OAAT,IAAI,2BAAS,CAAC,CAAC,OAAO,YAAtB,CAAuB,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wCAAW,GAAX,UAAY,GAAW;QACnB,IAAM,SAAS,GAAG,UAAC,IAA0C;YACzD,OAAA,SAAS,CAAC,GAAG,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG;gBAC7D,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,KAAK;aAChB,CAAC,KAAK,IAAI;QAJX,CAIW,CAAC;QAChB,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAEO,4CAAe,GAAvB,UAAwB,MAA4C;QAChE,IAAM,WAAW,GAAG,IAAI,CAAC,yBAAyB,CAAC;QACnD,OAAO,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAvB,CAAuB,CAAC,CAAC;IAChL,CAAC;IAGL,yBAAC;AAAD,CAAC,AA1CD,IA0CC"}