react-toolkits 0.0.1 → 0.0.3

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/.eslintrc.js CHANGED
@@ -1,4 +1,4 @@
1
1
  module.exports = {
2
2
  root: true,
3
- extends: [require.resolve('@everythingflow/eslint-config-mono/react')],
3
+ extends: [require.resolve('@flow97/eslint-config-mono/react')],
4
4
  }
@@ -1,5 +1,5 @@
1
1
 
2
- > react-toolkits@0.0.1 build /home/runner/work/everythingflow/everythingflow/packages/react-toolkits
2
+ > react-toolkits@0.0.3 build /home/runner/work/everythingflow/everythingflow/packages/react-toolkits
3
3
  > tsup
4
4
 
5
5
  CLI Building entry: src/index.ts
@@ -11,10 +11,10 @@
11
11
  ESM Build start
12
12
  DTS Build start
13
13
  ESM dist/512_orange_nobackground-L6MFCL6M.png 9.49 KB
14
- ESM dist/index.css 4.48 KB
15
- ESM dist/index.css.map 7.60 KB
16
- ESM dist/index.esm.js 116.12 KB
17
- ESM dist/index.esm.js.map 161.86 KB
18
- ESM ⚡️ Build success in 1818ms
19
- DTS ⚡️ Build success in 8437ms
20
- DTS dist/index.d.mts 7.49 KB
14
+ ESM dist/index.css 4.51 KB
15
+ ESM dist/index.css.map 7.65 KB
16
+ ESM dist/index.esm.js 115.82 KB
17
+ ESM dist/index.esm.js.map 160.66 KB
18
+ ESM ⚡️ Build success in 1423ms
19
+ DTS ⚡️ Build success in 7010ms
20
+ DTS dist/index.d.mts 7.43 KB
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # react-toolkits
2
2
 
3
+ ## 0.0.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 1d40a67: filter nav items by permission
8
+
9
+ ## 0.0.2
10
+
11
+ ### Patch Changes
12
+
13
+ - 732b9bd: use org flow97
14
+
3
15
  ## 0.0.1
4
16
 
5
17
  ### Patch Changes
package/dist/index.css CHANGED
@@ -168,6 +168,9 @@
168
168
  .hidden {
169
169
  display: none;
170
170
  }
171
+ .h-8 {
172
+ height: 2rem;
173
+ }
171
174
  .h-screen {
172
175
  height: 100vh;
173
176
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/styles/index.css"],"sourcesContent":["@import \"antd/dist/reset.css\";\n\n*, ::before, ::after{\n\n --tw-border-spacing-x: 0;\n\n --tw-border-spacing-y: 0;\n\n --tw-translate-x: 0;\n\n --tw-translate-y: 0;\n\n --tw-rotate: 0;\n\n --tw-skew-x: 0;\n\n --tw-skew-y: 0;\n\n --tw-scale-x: 1;\n\n --tw-scale-y: 1;\n\n --tw-pan-x: ;\n\n --tw-pan-y: ;\n\n --tw-pinch-zoom: ;\n\n --tw-scroll-snap-strictness: proximity;\n\n --tw-gradient-from-position: ;\n\n --tw-gradient-via-position: ;\n\n --tw-gradient-to-position: ;\n\n --tw-ordinal: ;\n\n --tw-slashed-zero: ;\n\n --tw-numeric-figure: ;\n\n --tw-numeric-spacing: ;\n\n --tw-numeric-fraction: ;\n\n --tw-ring-inset: ;\n\n --tw-ring-offset-width: 0px;\n\n --tw-ring-offset-color: #fff;\n\n --tw-ring-color: rgb(59 130 246 / 0.5);\n\n --tw-ring-offset-shadow: 0 0 #0000;\n\n --tw-ring-shadow: 0 0 #0000;\n\n --tw-shadow: 0 0 #0000;\n\n --tw-shadow-colored: 0 0 #0000;\n\n --tw-blur: ;\n\n --tw-brightness: ;\n\n --tw-contrast: ;\n\n --tw-grayscale: ;\n\n --tw-hue-rotate: ;\n\n --tw-invert: ;\n\n --tw-saturate: ;\n\n --tw-sepia: ;\n\n --tw-drop-shadow: ;\n\n --tw-backdrop-blur: ;\n\n --tw-backdrop-brightness: ;\n\n --tw-backdrop-contrast: ;\n\n --tw-backdrop-grayscale: ;\n\n --tw-backdrop-hue-rotate: ;\n\n --tw-backdrop-invert: ;\n\n --tw-backdrop-opacity: ;\n\n --tw-backdrop-saturate: ;\n\n --tw-backdrop-sepia: \n}\n\n::backdrop{\n\n --tw-border-spacing-x: 0;\n\n --tw-border-spacing-y: 0;\n\n --tw-translate-x: 0;\n\n --tw-translate-y: 0;\n\n --tw-rotate: 0;\n\n --tw-skew-x: 0;\n\n --tw-skew-y: 0;\n\n --tw-scale-x: 1;\n\n --tw-scale-y: 1;\n\n --tw-pan-x: ;\n\n --tw-pan-y: ;\n\n --tw-pinch-zoom: ;\n\n --tw-scroll-snap-strictness: proximity;\n\n --tw-gradient-from-position: ;\n\n --tw-gradient-via-position: ;\n\n --tw-gradient-to-position: ;\n\n --tw-ordinal: ;\n\n --tw-slashed-zero: ;\n\n --tw-numeric-figure: ;\n\n --tw-numeric-spacing: ;\n\n --tw-numeric-fraction: ;\n\n --tw-ring-inset: ;\n\n --tw-ring-offset-width: 0px;\n\n --tw-ring-offset-color: #fff;\n\n --tw-ring-color: rgb(59 130 246 / 0.5);\n\n --tw-ring-offset-shadow: 0 0 #0000;\n\n --tw-ring-shadow: 0 0 #0000;\n\n --tw-shadow: 0 0 #0000;\n\n --tw-shadow-colored: 0 0 #0000;\n\n --tw-blur: ;\n\n --tw-brightness: ;\n\n --tw-contrast: ;\n\n --tw-grayscale: ;\n\n --tw-hue-rotate: ;\n\n --tw-invert: ;\n\n --tw-saturate: ;\n\n --tw-sepia: ;\n\n --tw-drop-shadow: ;\n\n --tw-backdrop-blur: ;\n\n --tw-backdrop-brightness: ;\n\n --tw-backdrop-contrast: ;\n\n --tw-backdrop-grayscale: ;\n\n --tw-backdrop-hue-rotate: ;\n\n --tw-backdrop-invert: ;\n\n --tw-backdrop-opacity: ;\n\n --tw-backdrop-saturate: ;\n\n --tw-backdrop-sepia: \n}\n.container{\n\n width: 100%\n}\n@media (min-width: 640px){\n\n .container{\n\n max-width: 640px\n }\n}\n@media (min-width: 768px){\n\n .container{\n\n max-width: 768px\n }\n}\n@media (min-width: 1024px){\n\n .container{\n\n max-width: 1024px\n }\n}\n@media (min-width: 1280px){\n\n .container{\n\n max-width: 1280px\n }\n}\n@media (min-width: 1536px){\n\n .container{\n\n max-width: 1536px\n }\n}\n.fixed{\n\n position: fixed\n}\n.absolute{\n\n position: absolute\n}\n.relative{\n\n position: relative\n}\n.-top-12{\n\n top: -3rem\n}\n.left-0{\n\n left: 0px\n}\n.right-0{\n\n right: 0px\n}\n.top-1\\/2{\n\n top: 50%\n}\n.mb-6{\n\n margin-bottom: 1.5rem\n}\n.ml-2{\n\n margin-left: 0.5rem\n}\n.ml-64{\n\n margin-left: 16rem\n}\n.inline{\n\n display: inline\n}\n.flex{\n\n display: flex\n}\n.hidden{\n\n display: none\n}\n.h-screen{\n\n height: 100vh\n}\n.w-8{\n\n width: 2rem\n}\n.w-full{\n\n width: 100%\n}\n.-translate-y-1\\/2{\n\n --tw-translate-y: -50%;\n\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))\n}\n.transform{\n\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))\n}\n.items-end{\n\n align-items: flex-end\n}\n.items-center{\n\n align-items: center\n}\n.justify-end{\n\n justify-content: flex-end\n}\n.justify-center{\n\n justify-content: center\n}\n.overflow-auto{\n\n overflow: auto\n}\n.bg-gray-50{\n\n --tw-bg-opacity: 1;\n\n background-color: rgb(249 250 251 / var(--tw-bg-opacity))\n}\n.p-6{\n\n padding: 1.5rem\n}\n.px-6{\n\n padding-left: 1.5rem;\n\n padding-right: 1.5rem\n}\n.py-4{\n\n padding-top: 1rem;\n\n padding-bottom: 1rem\n}\n.text-center{\n\n text-align: center\n}\n.text-lg{\n\n font-size: 1.125rem;\n\n line-height: 1.75rem\n}\n.font-bold{\n\n font-weight: 700\n}\n.filter{\n\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/styles/index.css"],"sourcesContent":["@import \"antd/dist/reset.css\";\n\n*, ::before, ::after{\n\n --tw-border-spacing-x: 0;\n\n --tw-border-spacing-y: 0;\n\n --tw-translate-x: 0;\n\n --tw-translate-y: 0;\n\n --tw-rotate: 0;\n\n --tw-skew-x: 0;\n\n --tw-skew-y: 0;\n\n --tw-scale-x: 1;\n\n --tw-scale-y: 1;\n\n --tw-pan-x: ;\n\n --tw-pan-y: ;\n\n --tw-pinch-zoom: ;\n\n --tw-scroll-snap-strictness: proximity;\n\n --tw-gradient-from-position: ;\n\n --tw-gradient-via-position: ;\n\n --tw-gradient-to-position: ;\n\n --tw-ordinal: ;\n\n --tw-slashed-zero: ;\n\n --tw-numeric-figure: ;\n\n --tw-numeric-spacing: ;\n\n --tw-numeric-fraction: ;\n\n --tw-ring-inset: ;\n\n --tw-ring-offset-width: 0px;\n\n --tw-ring-offset-color: #fff;\n\n --tw-ring-color: rgb(59 130 246 / 0.5);\n\n --tw-ring-offset-shadow: 0 0 #0000;\n\n --tw-ring-shadow: 0 0 #0000;\n\n --tw-shadow: 0 0 #0000;\n\n --tw-shadow-colored: 0 0 #0000;\n\n --tw-blur: ;\n\n --tw-brightness: ;\n\n --tw-contrast: ;\n\n --tw-grayscale: ;\n\n --tw-hue-rotate: ;\n\n --tw-invert: ;\n\n --tw-saturate: ;\n\n --tw-sepia: ;\n\n --tw-drop-shadow: ;\n\n --tw-backdrop-blur: ;\n\n --tw-backdrop-brightness: ;\n\n --tw-backdrop-contrast: ;\n\n --tw-backdrop-grayscale: ;\n\n --tw-backdrop-hue-rotate: ;\n\n --tw-backdrop-invert: ;\n\n --tw-backdrop-opacity: ;\n\n --tw-backdrop-saturate: ;\n\n --tw-backdrop-sepia: \n}\n\n::backdrop{\n\n --tw-border-spacing-x: 0;\n\n --tw-border-spacing-y: 0;\n\n --tw-translate-x: 0;\n\n --tw-translate-y: 0;\n\n --tw-rotate: 0;\n\n --tw-skew-x: 0;\n\n --tw-skew-y: 0;\n\n --tw-scale-x: 1;\n\n --tw-scale-y: 1;\n\n --tw-pan-x: ;\n\n --tw-pan-y: ;\n\n --tw-pinch-zoom: ;\n\n --tw-scroll-snap-strictness: proximity;\n\n --tw-gradient-from-position: ;\n\n --tw-gradient-via-position: ;\n\n --tw-gradient-to-position: ;\n\n --tw-ordinal: ;\n\n --tw-slashed-zero: ;\n\n --tw-numeric-figure: ;\n\n --tw-numeric-spacing: ;\n\n --tw-numeric-fraction: ;\n\n --tw-ring-inset: ;\n\n --tw-ring-offset-width: 0px;\n\n --tw-ring-offset-color: #fff;\n\n --tw-ring-color: rgb(59 130 246 / 0.5);\n\n --tw-ring-offset-shadow: 0 0 #0000;\n\n --tw-ring-shadow: 0 0 #0000;\n\n --tw-shadow: 0 0 #0000;\n\n --tw-shadow-colored: 0 0 #0000;\n\n --tw-blur: ;\n\n --tw-brightness: ;\n\n --tw-contrast: ;\n\n --tw-grayscale: ;\n\n --tw-hue-rotate: ;\n\n --tw-invert: ;\n\n --tw-saturate: ;\n\n --tw-sepia: ;\n\n --tw-drop-shadow: ;\n\n --tw-backdrop-blur: ;\n\n --tw-backdrop-brightness: ;\n\n --tw-backdrop-contrast: ;\n\n --tw-backdrop-grayscale: ;\n\n --tw-backdrop-hue-rotate: ;\n\n --tw-backdrop-invert: ;\n\n --tw-backdrop-opacity: ;\n\n --tw-backdrop-saturate: ;\n\n --tw-backdrop-sepia: \n}\n.container{\n\n width: 100%\n}\n@media (min-width: 640px){\n\n .container{\n\n max-width: 640px\n }\n}\n@media (min-width: 768px){\n\n .container{\n\n max-width: 768px\n }\n}\n@media (min-width: 1024px){\n\n .container{\n\n max-width: 1024px\n }\n}\n@media (min-width: 1280px){\n\n .container{\n\n max-width: 1280px\n }\n}\n@media (min-width: 1536px){\n\n .container{\n\n max-width: 1536px\n }\n}\n.fixed{\n\n position: fixed\n}\n.absolute{\n\n position: absolute\n}\n.relative{\n\n position: relative\n}\n.-top-12{\n\n top: -3rem\n}\n.left-0{\n\n left: 0px\n}\n.right-0{\n\n right: 0px\n}\n.top-1\\/2{\n\n top: 50%\n}\n.mb-6{\n\n margin-bottom: 1.5rem\n}\n.ml-2{\n\n margin-left: 0.5rem\n}\n.ml-64{\n\n margin-left: 16rem\n}\n.inline{\n\n display: inline\n}\n.flex{\n\n display: flex\n}\n.hidden{\n\n display: none\n}\n.h-8{\n\n height: 2rem\n}\n.h-screen{\n\n height: 100vh\n}\n.w-8{\n\n width: 2rem\n}\n.w-full{\n\n width: 100%\n}\n.-translate-y-1\\/2{\n\n --tw-translate-y: -50%;\n\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))\n}\n.transform{\n\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))\n}\n.items-end{\n\n align-items: flex-end\n}\n.items-center{\n\n align-items: center\n}\n.justify-end{\n\n justify-content: flex-end\n}\n.justify-center{\n\n justify-content: center\n}\n.overflow-auto{\n\n overflow: auto\n}\n.bg-gray-50{\n\n --tw-bg-opacity: 1;\n\n background-color: rgb(249 250 251 / var(--tw-bg-opacity))\n}\n.p-6{\n\n padding: 1.5rem\n}\n.px-6{\n\n padding-left: 1.5rem;\n\n padding-right: 1.5rem\n}\n.py-4{\n\n padding-top: 1rem;\n\n padding-bottom: 1rem\n}\n.text-center{\n\n text-align: center\n}\n.text-lg{\n\n font-size: 1.125rem;\n\n line-height: 1.75rem\n}\n.font-bold{\n\n font-weight: 700\n}\n.filter{\n\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)\n}\n"],"mappings":";;;AAEA;AAAG;AAAU;AAET,yBAAuB;AAEvB,yBAAuB;AAEvB,oBAAkB;AAElB,oBAAkB;AAElB,eAAa;AAEb,eAAa;AAEb,eAAa;AAEb,gBAAc;AAEd,gBAAc;AAEd;AAEA;AAEA;AAEA,+BAA6B;AAE7B;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA,0BAAwB;AAExB,0BAAwB;AAExB,mBAAiB,IAAI,GAAG,IAAI,IAAI,EAAE;AAElC,2BAAyB,EAAE,EAAE;AAE7B,oBAAkB,EAAE,EAAE;AAEtB,eAAa,EAAE,EAAE;AAEjB,uBAAqB,EAAE,EAAE;AAEzB;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AACJ;AAEA;AAEI,yBAAuB;AAEvB,yBAAuB;AAEvB,oBAAkB;AAElB,oBAAkB;AAElB,eAAa;AAEb,eAAa;AAEb,eAAa;AAEb,gBAAc;AAEd,gBAAc;AAEd;AAEA;AAEA;AAEA,+BAA6B;AAE7B;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA,0BAAwB;AAExB,0BAAwB;AAExB,mBAAiB,IAAI,GAAG,IAAI,IAAI,EAAE;AAElC,2BAAyB,EAAE,EAAE;AAE7B,oBAAkB,EAAE,EAAE;AAEtB,eAAa,EAAE,EAAE;AAEjB,uBAAqB,EAAE,EAAE;AAEzB;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AACJ;AACA,CAAC;AAEG,SAAO;AACX;AACA,OAAO,CAAC,SAAS,EAAE;AAEf,GAAC;AAEG,eAAW;AACf;AACJ;AACA,OAAO,CAAC,SAAS,EAAE;AAEf,GAAC;AAEG,eAAW;AACf;AACJ;AACA,OAAO,CAAC,SAAS,EAAE;AAEf,GAAC;AAEG,eAAW;AACf;AACJ;AACA,OAAO,CAAC,SAAS,EAAE;AAEf,GAAC;AAEG,eAAW;AACf;AACJ;AACA,OAAO,CAAC,SAAS,EAAE;AAEf,GAAC;AAEG,eAAW;AACf;AACJ;AACA,CAAC;AAEG,YAAU;AACd;AACA,CAAC;AAEG,YAAU;AACd;AACA,CAAC;AAEG,YAAU;AACd;AACA,CAAC;AAEG,OAAK;AACT;AACA,CAAC;AAEG,QAAM;AACV;AACA,CAAC;AAEG,SAAO;AACX;AACA,CAAC;AAEG,OAAK;AACT;AACA,CAAC;AAEG,iBAAe;AACnB;AACA,CAAC;AAEG,eAAa;AACjB;AACA,CAAC;AAEG,eAAa;AACjB;AACA,CAAC;AAEG,WAAS;AACb;AACA,CAAC;AAEG,WAAS;AACb;AACA,CAAC;AAEG,WAAS;AACb;AACA,CAAC;AAEG,UAAQ;AACZ;AACA,CAAC;AAEG,UAAQ;AACZ;AACA,CAAC;AAEG,SAAO;AACX;AACA,CAAC;AAEG,SAAO;AACX;AACA,CAAC;AAEG,oBAAkB;AAElB,aAAW,UAAU,IAAI,iBAAiB,EAAE,IAAI,mBAAmB,OAAO,IAAI,cAAc,MAAM,IAAI,cAAc,MAAM,IAAI,cAAc,OAAO,IAAI,eAAe,OAAO,IAAI;AACrL;AACA,CAAC;AAEG,aAAW,UAAU,IAAI,iBAAiB,EAAE,IAAI,mBAAmB,OAAO,IAAI,cAAc,MAAM,IAAI,cAAc,MAAM,IAAI,cAAc,OAAO,IAAI,eAAe,OAAO,IAAI;AACrL;AACA,CAAC;AAEG,eAAa;AACjB;AACA,CAAC;AAEG,eAAa;AACjB;AACA,CAAC;AAEG,mBAAiB;AACrB;AACA,CAAC;AAEG,mBAAiB;AACrB;AACA,CAAC;AAEG,YAAU;AACd;AACA,CAAC;AAEG,mBAAiB;AAEjB,oBAAkB,IAAI,IAAI,IAAI,IAAI,EAAE,IAAI;AAC5C;AACA,CAAC;AAEG,WAAS;AACb;AACA,CAAC;AAEG,gBAAc;AAEd,iBAAe;AACnB;AACA,CAAC;AAEG,eAAa;AAEb,kBAAgB;AACpB;AACA,CAAC;AAEG,cAAY;AAChB;AACA,CAAC;AAEG,aAAW;AAEX,eAAa;AACjB;AACA,CAAC;AAEG,eAAa;AACjB;AACA,CAAC;AAEG,UAAQ,IAAI,WAAW,IAAI,iBAAiB,IAAI,eAAe,IAAI,gBAAgB,IAAI,iBAAiB,IAAI,aAAa,IAAI,eAAe,IAAI,YAAY,IAAI;AACpK;","names":[]}
package/dist/index.d.mts CHANGED
@@ -73,14 +73,12 @@ interface PermissionButtonProps extends Omit<ButtonProps, 'disabled'> {
73
73
  }
74
74
  declare const PermissionButton: FC<PropsWithChildren<PermissionButtonProps>>;
75
75
 
76
- type MenuItemType2 = Merge<Omit<MenuItemType, 'icon'>, {
76
+ type MenuItemType2 = Merge<MenuItemType, {
77
77
  code /** 权限编号 **/?: string;
78
78
  route /** 前端路由地址 **/?: string;
79
- icon?: string;
80
79
  }>;
81
- type SubMenuType2 = Merge<Omit<SubMenuType, 'icon'>, {
80
+ type SubMenuType2 = Merge<SubMenuType, {
82
81
  children?: ItemType2[];
83
- icon?: string;
84
82
  }>;
85
83
  type MenuItemGroupType2 = Merge<MenuItemGroupType, {
86
84
  children?: ItemType2[];
@@ -115,7 +113,7 @@ declare function useFetcher(): <T = unknown>(config: AxiosRequestConfig) => Prom
115
113
  interface PermissionCheckResult {
116
114
  [k: string]: boolean;
117
115
  }
118
- declare function usePermissions(codes: Record<string, string>): {
116
+ declare function usePermissions(codes: string[]): {
119
117
  data: Record<string, boolean> | undefined;
120
118
  isLoading: boolean;
121
119
  };
@@ -186,6 +184,6 @@ interface LayoutProps {
186
184
  items: ItemType2[];
187
185
  header?: ReactNode;
188
186
  }
189
- declare const Layout: FC<LayoutProps>;
187
+ declare const Layout: FC<PropsWithChildren<LayoutProps>>;
190
188
 
191
189
  export { DynamicTags, DynamicTagsProps, FetcherError, FilterForm, FilterFormProps, FormModal, FormModalProps, FormModalRef, Highlight, HighlightTextsProps, ItemType2, Layout, LayoutProps, Login, MenuState, NavBarProps, PermissionButton, PermissionButtonProps, PermissionCheckResult, QueryList, QueryListKey, QueryListProps, QueryTriggerState, TokenState, UseFormModalProps, routes as permission, useFetcher, useFormModal, useMenuStore, usePermission, usePermissions, useQueryTriggerStore, useTokenStore };
package/dist/index.esm.js CHANGED
@@ -1,14 +1,13 @@
1
- import * as Icon from '@ant-design/icons';
2
- import Icon__default, { AliyunOutlined, UserAddOutlined, UsergroupAddOutlined, PlusOutlined } from '@ant-design/icons';
1
+ import { AliyunOutlined, UserAddOutlined, UsergroupAddOutlined, PlusOutlined } from '@ant-design/icons';
3
2
  import { App, Spin, Row, Col, Card, Alert, Divider, Space, Button, theme, Layout as Layout$1, Tag, Form, Input, Breadcrumb, Skeleton, Descriptions, Typography, Modal, Tooltip, Result, Table, Select, Menu, Collapse, Checkbox } from 'antd';
4
- import { lazy, useState, useRef, useCallback, useMemo, useEffect, Suspense, forwardRef, useId, useImperativeHandle } from 'react';
3
+ import { lazy, useState, useRef, useCallback, useMemo, useEffect, forwardRef, useId, useImperativeHandle } from 'react';
5
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
6
5
  import { createPortal, flushSync } from 'react-dom';
7
6
  import { createRoot } from 'react-dom/client';
8
7
  import { create } from 'zustand';
9
8
  import { persist } from 'zustand/middleware';
10
9
  import axios from 'axios';
11
- import { useNavigate, useSearchParams, Navigate, Link, Outlet, useParams, useLocation } from 'react-router-dom';
10
+ import { useNavigate, useSearchParams, Navigate, Link, useParams, useLocation } from 'react-router-dom';
12
11
  import useSWRImmutable from 'swr/immutable';
13
12
  import useSWRMutation2 from 'swr/mutation';
14
13
  import useSWR from 'swr';
@@ -558,14 +557,14 @@ var init_use_fetcher = __esm({
558
557
  function usePermissions(codes) {
559
558
  const fetcher = useFetcher();
560
559
  const { data, isLoading } = useSWRImmutable(
561
- Object.keys(codes).length > 0 ? {
560
+ codes.length > 0 ? {
562
561
  method: "POST",
563
562
  url: "/api/usystem/user/check",
564
- data: { permissions: Object.values(codes) }
563
+ data: { permissions: codes }
565
564
  } : null,
566
565
  (config) => fetcher(config).then((res) => {
567
566
  if (res.has_all) {
568
- return Object.keys(codes).reduce(
567
+ return codes.reduce(
569
568
  (acc, curr) => {
570
569
  acc[curr] = true;
571
570
  return acc;
@@ -573,9 +572,9 @@ function usePermissions(codes) {
573
572
  {}
574
573
  );
575
574
  }
576
- return Object.entries(codes).reduce(
575
+ return codes.reduce(
577
576
  (acc, curr) => {
578
- acc[curr[0]] = res[curr[1]];
577
+ acc[curr] = res[curr];
579
578
  return acc;
580
579
  },
581
580
  {}
@@ -586,7 +585,7 @@ function usePermissions(codes) {
586
585
  }
587
586
  function usePermission(code) {
588
587
  var _a;
589
- const { data, isLoading } = usePermissions(code ? { [code]: code } : {});
588
+ const { data, isLoading } = usePermissions(code ? [code] : []);
590
589
  if (!code) {
591
590
  return {
592
591
  accessible: true,
@@ -2987,6 +2986,7 @@ init_esm_shims();
2987
2986
 
2988
2987
  // src/layouts/NavBar.tsx
2989
2988
  init_esm_shims();
2989
+ init_hooks2();
2990
2990
  init_stores();
2991
2991
  var withLink = (label, route) => {
2992
2992
  if (!label) {
@@ -2997,7 +2997,7 @@ var withLink = (label, route) => {
2997
2997
  }
2998
2998
  return label;
2999
2999
  };
3000
- function transformItems(items) {
3000
+ function transformItems(items, permissions) {
3001
3001
  const result = [];
3002
3002
  for (let i = 0; i < items.length; i++) {
3003
3003
  if (items[i] === null) {
@@ -3005,19 +3005,17 @@ function transformItems(items) {
3005
3005
  } else if (items[i].type === "divider") {
3006
3006
  result[i] = __spreadValues({}, items[i]);
3007
3007
  } else {
3008
- const iconName = items[i].icon;
3009
3008
  if (items[i].children) {
3010
3009
  const _a = items[i], { children } = _a, restProps = __objRest(_a, ["children"]);
3011
3010
  result[i] = __spreadProps(__spreadValues({}, restProps), {
3012
- children: transformItems(children != null ? children : []),
3013
- icon: iconName ? /* @__PURE__ */ jsx(Icon__default, { component: Icon[iconName] }) : null
3011
+ children: transformItems(children != null ? children : [], permissions)
3014
3012
  });
3015
3013
  } else {
3016
3014
  const _b = items[i], { route, label, code } = _b, restProps = __objRest(_b, ["route", "label", "code"]);
3017
- result[i] = __spreadProps(__spreadValues({}, restProps), {
3018
- label: withLink(label, route),
3019
- icon: iconName ? /* @__PURE__ */ jsx(Icon__default, { component: Icon[iconName] }) : null
3020
- }) ;
3015
+ const isPass = !code || !permissions || permissions[code];
3016
+ result[i] = isPass ? __spreadProps(__spreadValues({}, restProps), {
3017
+ label: withLink(label, route)
3018
+ }) : null;
3021
3019
  }
3022
3020
  }
3023
3021
  }
@@ -3039,10 +3037,9 @@ var NavBar = (props) => {
3039
3037
  const { items } = props;
3040
3038
  const location = useLocation();
3041
3039
  const flattenItems = useMemo(() => flatItems(items != null ? items : []), [items]);
3042
- const [internalItems, setInternalItems] = useState([]);
3043
- useEffect(() => {
3044
- setInternalItems(transformItems(items != null ? items : []));
3045
- }, [items]);
3040
+ const codes = flattenItems.map((item) => item.code).filter(Boolean);
3041
+ const { data: permissions, isLoading } = usePermissions(codes);
3042
+ const internalItems = useMemo(() => transformItems(items != null ? items : [], permissions), [items, permissions]);
3046
3043
  const openKeys = useMenuStore((state) => state.openKeys);
3047
3044
  const selectedKeys = useMenuStore((state) => state.selectedKeys);
3048
3045
  const setOpenKeys = useMenuStore((state) => state.setOpenKeys);
@@ -3066,6 +3063,19 @@ var NavBar = (props) => {
3066
3063
  setOpenKeys(keypath);
3067
3064
  }
3068
3065
  }, [flattenItems, location, setOpenKeys, setSelectedKeys]);
3066
+ if (isLoading) {
3067
+ return /* @__PURE__ */ jsx(
3068
+ Spin,
3069
+ {
3070
+ style: {
3071
+ display: "flex",
3072
+ justifyContent: "center",
3073
+ alignItems: "center",
3074
+ height: "calc(100vh - 64px)"
3075
+ }
3076
+ }
3077
+ );
3078
+ }
3069
3079
  return /* @__PURE__ */ jsx(
3070
3080
  Menu,
3071
3081
  {
@@ -3081,7 +3091,7 @@ var NavBar = (props) => {
3081
3091
  var NavBar_default = NavBar;
3082
3092
  var { Header, Sider, Content } = Layout$1;
3083
3093
  var Layout = (props) => {
3084
- const { title, items, header } = props;
3094
+ const { title, items, header, children } = props;
3085
3095
  const {
3086
3096
  token: { colorBgContainer, colorBorder }
3087
3097
  } = theme.useToken();
@@ -3104,7 +3114,7 @@ var Layout = (props) => {
3104
3114
  theme: "light",
3105
3115
  children: [
3106
3116
  /* @__PURE__ */ jsxs("div", { className: "flex items-end px-6 py-4", children: [
3107
- /* @__PURE__ */ jsx("img", { src: logo, alt: "logo", className: "w-8" }),
3117
+ /* @__PURE__ */ jsx("img", { src: logo, alt: "logo", className: "w-8 h-8" }),
3108
3118
  /* @__PURE__ */ jsx(Link, { className: "font-bold text-lg ml-2", to: "/", children: title })
3109
3119
  ] }),
3110
3120
  /* @__PURE__ */ jsx(NavBar_default, { items })
@@ -3125,23 +3135,7 @@ var Layout = (props) => {
3125
3135
  children: header
3126
3136
  }
3127
3137
  ),
3128
- /* @__PURE__ */ jsx(Content, { className: "p-6 overflow-auto bg-gray-50", children: /* @__PURE__ */ jsx(
3129
- Suspense,
3130
- {
3131
- fallback: /* @__PURE__ */ jsx(
3132
- Spin,
3133
- {
3134
- style: {
3135
- display: "flex",
3136
- justifyContent: "center",
3137
- alignItems: "center",
3138
- height: "50vh"
3139
- }
3140
- }
3141
- ),
3142
- children: /* @__PURE__ */ jsx(Outlet, {})
3143
- }
3144
- ) })
3138
+ /* @__PURE__ */ jsx(Content, { className: "p-6 overflow-auto bg-gray-50", children })
3145
3139
  ] })
3146
3140
  ] });
3147
3141
  };