react-toolkits 0.0.3 → 0.0.5

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/dist/index.esm.js CHANGED
@@ -1,14 +1,14 @@
1
1
  import { AliyunOutlined, UserAddOutlined, UsergroupAddOutlined, PlusOutlined } from '@ant-design/icons';
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';
3
- import { lazy, useState, useRef, useCallback, useMemo, useEffect, forwardRef, useId, useImperativeHandle } from 'react';
2
+ import { Spin, Row, Col, Card, Alert, Divider, Space, Button, Result, theme, Layout as Layout$1, App, Tag, Form, Input, Breadcrumb, Skeleton, Descriptions, Typography, Modal, Tooltip, Table, Select, Menu, Collapse, Checkbox } from 'antd';
3
+ import { lazy, useState, useRef, useCallback, useMemo, useEffect, Suspense, forwardRef, useId, useImperativeHandle } from 'react';
4
4
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
5
5
  import { createPortal, flushSync } from 'react-dom';
6
6
  import { createRoot } from 'react-dom/client';
7
7
  import { create } from 'zustand';
8
8
  import { persist } from 'zustand/middleware';
9
9
  import axios from 'axios';
10
- import { useNavigate, useSearchParams, Navigate, Link, useParams, useLocation } from 'react-router-dom';
11
10
  import useSWRImmutable from 'swr/immutable';
11
+ import { useNavigate, useSearchParams, Navigate, Link, useParams, useLocation } from 'react-router-dom';
12
12
  import useSWRMutation2 from 'swr/mutation';
13
13
  import useSWR from 'swr';
14
14
  import logo from './512_orange_nobackground-L6MFCL6M.png';
@@ -353,7 +353,7 @@ function useFormModal(props) {
353
353
  setOpen(false);
354
354
  }, []);
355
355
  const Modal2 = useMemo(() => {
356
- return /* @__PURE__ */ jsx(FormModal_default, __spreadProps(__spreadValues({}, restProps), { open, closeFn: closeModal, title, onConfirm, children: content }));
356
+ return /* @__PURE__ */ jsx(FormModal_default, __spreadProps(__spreadValues({ ref: formRef }, restProps), { open, closeFn: closeModal, title, onConfirm, children: content }));
357
357
  }, [title, content, restProps, open, closeModal, onConfirm]);
358
358
  return {
359
359
  Modal: createPortal(Modal2, document.body),
@@ -481,10 +481,7 @@ var init_stores = __esm({
481
481
  init_queryTrigger();
482
482
  }
483
483
  });
484
- function useFetcher() {
485
- const { notification } = App.useApp();
486
- const clearToken = useTokenStore((state) => state.clearToken);
487
- const navigate = useNavigate();
484
+ function useHttpClient() {
488
485
  const token = useTokenStore((state) => state.token);
489
486
  const defaultOptions = {
490
487
  withCredentials: true
@@ -500,52 +497,34 @@ function useFetcher() {
500
497
  if (response.data.code === 0 || response.data.status === 0) {
501
498
  return response.data.data;
502
499
  }
503
- throw new FetcherError(response.data.msg, 0);
500
+ throw new HttpClientError(response.data.msg, 0);
504
501
  },
505
502
  (error) => {
506
503
  var _a;
507
504
  if (error.response) {
508
505
  if (error.response.status === 401) {
509
- throw new FetcherError("\u672A\u767B\u5F55\u6216\u767B\u5F55\u5DF2\u8FC7\u671F", error.response.status);
506
+ throw new HttpClientError("\u672A\u767B\u5F55\u6216\u767B\u5F55\u5DF2\u8FC7\u671F", error.response.status);
510
507
  } else if (error.response.status === 403) {
511
- throw new FetcherError("\u65E0\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u8FDB\u884C\u6388\u6743", error.response.status);
508
+ throw new HttpClientError("\u65E0\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u8FDB\u884C\u6388\u6743", error.response.status);
512
509
  } else if ([404, 405].includes(error.response.status)) {
513
- throw new FetcherError("Not Found or Method not Allowed", error.response.status, true);
510
+ throw new HttpClientError("Not Found or Method not Allowed", error.response.status, true);
514
511
  } else if (error.response.status === 412) {
515
- throw new FetcherError("\u672A\u6CE8\u518C\u7528\u6237", error.response.status);
512
+ throw new HttpClientError("\u672A\u6CE8\u518C\u7528\u6237", error.response.status);
516
513
  } else {
517
- throw new FetcherError((_a = error.response.data) == null ? void 0 : _a.msg, error.response.status);
514
+ throw new HttpClientError((_a = error.response.data) == null ? void 0 : _a.msg, error.response.status);
518
515
  }
519
- } else if (error.request) {
520
- console.log(error.request);
521
516
  }
522
- return Promise.reject(error);
517
+ throw new HttpClientError("\u65E0\u54CD\u5E94");
523
518
  }
524
519
  );
525
- return (config) => instance.request(config).catch((err) => {
526
- switch (err.code) {
527
- case 401:
528
- case 412:
529
- clearToken();
530
- navigate(err.code === 401 ? "/login" : "/login?not_registered=1", { replace: true });
531
- break;
532
- default:
533
- if (!err.skip) {
534
- notification.error({
535
- message: "\u8BF7\u6C42\u51FA\u9519",
536
- description: err.message
537
- });
538
- }
539
- }
540
- throw err;
541
- });
520
+ return instance;
542
521
  }
543
- var FetcherError;
544
- var init_use_fetcher = __esm({
545
- "src/hooks/use-fetcher.tsx"() {
522
+ var HttpClientError;
523
+ var init_use_http_client = __esm({
524
+ "src/hooks/use-http-client.tsx"() {
546
525
  init_esm_shims();
547
526
  init_stores();
548
- FetcherError = class extends Error {
527
+ HttpClientError = class extends Error {
549
528
  constructor(message, code, skip = false) {
550
529
  super(message);
551
530
  this.code = code;
@@ -555,14 +534,15 @@ var init_use_fetcher = __esm({
555
534
  }
556
535
  });
557
536
  function usePermissions(codes) {
558
- const fetcher = useFetcher();
537
+ const httpClient = useHttpClient();
538
+ const navigate = useNavigate();
559
539
  const { data, isLoading } = useSWRImmutable(
560
540
  codes.length > 0 ? {
561
541
  method: "POST",
562
542
  url: "/api/usystem/user/check",
563
543
  data: { permissions: codes }
564
544
  } : null,
565
- (config) => fetcher(config).then((res) => {
545
+ (config) => httpClient.request(config).then((res) => {
566
546
  if (res.has_all) {
567
547
  return codes.reduce(
568
548
  (acc, curr) => {
@@ -579,7 +559,14 @@ function usePermissions(codes) {
579
559
  },
580
560
  {}
581
561
  );
582
- })
562
+ }),
563
+ {
564
+ suspense: true,
565
+ shouldRetryOnError: false,
566
+ onError() {
567
+ navigate("/login");
568
+ }
569
+ }
583
570
  );
584
571
  return { data, isLoading };
585
572
  }
@@ -600,7 +587,7 @@ function usePermission(code) {
600
587
  var init_use_permission = __esm({
601
588
  "src/hooks/use-permission.tsx"() {
602
589
  init_esm_shims();
603
- init_use_fetcher();
590
+ init_use_http_client();
604
591
  }
605
592
  });
606
593
 
@@ -608,7 +595,7 @@ var init_use_permission = __esm({
608
595
  var init_hooks2 = __esm({
609
596
  "src/hooks/index.ts"() {
610
597
  init_esm_shims();
611
- init_use_fetcher();
598
+ init_use_http_client();
612
599
  init_use_permission();
613
600
  }
614
601
  });
@@ -640,14 +627,14 @@ var init_QueryList = __esm({
640
627
  init_FilterForm();
641
628
  QueryList = (props) => {
642
629
  const _a = props, { code, confirmText, labelCol, swrKey: swrKey3, renderForm, transformArg, initialValues } = _a, tableProps = __objRest(_a, ["code", "confirmText", "labelCol", "swrKey", "renderForm", "transformArg", "initialValues"]);
643
- const { accessible, isValidating } = usePermission(code);
630
+ const { accessible } = usePermission(code != null ? code : "");
644
631
  const [form] = Form.useForm();
645
632
  const setTrigger = useQueryTriggerStore((state) => state.setTrigger);
646
633
  const [paginationData, setPaginationData] = useState({
647
634
  page: 1,
648
635
  perPage: 10
649
636
  });
650
- const fetcher = useFetcher();
637
+ const httpClient = useHttpClient();
651
638
  const { data, isMutating, trigger } = useSWRMutation2(
652
639
  swrKey3,
653
640
  (_0, _1) => __async(void 0, [_0, _1], function* (key, {
@@ -661,9 +648,8 @@ var init_QueryList = __esm({
661
648
  setPaginationData(newPaginationData);
662
649
  const values = form.getFieldsValue();
663
650
  const fetcherArg = __spreadValues(__spreadValues({}, values), newPaginationData);
664
- return fetcher(__spreadProps(__spreadValues({}, key), {
665
- // TODO: 兼容 params data
666
- params: typeof transformArg === "function" ? transformArg(fetcherArg) : fetcherArg
651
+ return httpClient.request(__spreadProps(__spreadValues({}, key), {
652
+ [key.method === "POST" ? "data" : "params"]: typeof transformArg === "function" ? transformArg(fetcherArg) : fetcherArg
667
653
  }));
668
654
  })
669
655
  );
@@ -690,7 +676,7 @@ var init_QueryList = __esm({
690
676
  );
691
677
  useEffect(() => {
692
678
  setTrigger(swrKey3, trigger);
693
- }, [swrKey3, setTrigger, trigger]);
679
+ }, [swrKey3, trigger, setTrigger]);
694
680
  useEffect(() => {
695
681
  (() => __async(void 0, null, function* () {
696
682
  try {
@@ -701,19 +687,6 @@ var init_QueryList = __esm({
701
687
  }
702
688
  }))();
703
689
  }, [form, trigger]);
704
- if (isValidating) {
705
- return /* @__PURE__ */ jsx(
706
- Spin,
707
- {
708
- style: {
709
- display: "flex",
710
- justifyContent: "center",
711
- alignItems: "center",
712
- height: 200
713
- }
714
- }
715
- );
716
- }
717
690
  if (!accessible) {
718
691
  return /* @__PURE__ */ jsx(Result, { status: 403, subTitle: "\u65E0\u6743\u9650\uFF0C\u8BF7\u8054\u7CFB\u7BA1\u7406\u5458\u8FDB\u884C\u6388\u6743" });
719
692
  }
@@ -784,69 +757,57 @@ function useRole(name) {
784
757
  });
785
758
  }
786
759
  function useCreateRole() {
787
- const fetcher = useFetcher();
760
+ const httpClient = useHttpClient();
788
761
  return useSWRMutation2(
789
762
  "/api/usystem/role/create",
790
763
  (url, {
791
764
  arg
792
- }) => fetcher({ method: "POST", url, data: arg })
765
+ }) => httpClient.post(url, arg)
793
766
  );
794
767
  }
795
768
  function useUpdateRole() {
796
- const fetcher = useFetcher();
769
+ const httpClient = useHttpClient();
797
770
  return useSWRMutation2(
798
771
  "/api/usystem/role/update",
799
772
  (url, {
800
773
  arg
801
- }) => fetcher({ method: "POST", url, data: arg })
774
+ }) => httpClient.post(url, arg)
802
775
  );
803
776
  }
804
777
  function useRemoveRole() {
805
- const fetcher = useFetcher();
778
+ const httpClient = useHttpClient();
806
779
  return useSWRMutation2(
807
780
  "/api/usystem/role/delete",
808
781
  (url, {
809
782
  arg
810
- }) => fetcher({ method: "POST", url, data: arg })
783
+ }) => httpClient.post(url, arg)
811
784
  );
812
785
  }
813
786
  function useCreateUser() {
814
- const fetcher = useFetcher();
787
+ const httpClient = useHttpClient();
815
788
  return useSWRMutation2(
816
789
  "/api/usystem/user/create",
817
790
  (url, {
818
791
  arg
819
- }) => fetcher({
820
- method: "POST",
821
- url,
822
- data: arg
823
- })
792
+ }) => httpClient.post(url, arg)
824
793
  );
825
794
  }
826
795
  function useUpdateUser() {
827
- const fetcher = useFetcher();
796
+ const httpClient = useHttpClient();
828
797
  return useSWRMutation2(
829
798
  "/api/usystem/user/update",
830
799
  (url, {
831
800
  arg
832
- }) => fetcher({
833
- method: "POST",
834
- url,
835
- data: arg
836
- })
801
+ }) => httpClient.post(url, arg)
837
802
  );
838
803
  }
839
804
  function useRemoveUser() {
840
- const fetcher = useFetcher();
805
+ const httpClient = useHttpClient();
841
806
  return useSWRMutation2(
842
807
  "/api/usystem/user/delete",
843
808
  (url, {
844
809
  arg
845
- }) => fetcher({
846
- method: "POST",
847
- url,
848
- data: arg
849
- })
810
+ }) => httpClient.post(url, arg)
850
811
  );
851
812
  }
852
813
  var init_hooks3 = __esm({
@@ -1207,7 +1168,7 @@ var init_RoleList = __esm({
1207
1168
  RoleList = () => {
1208
1169
  const { accessible: viewable } = usePermission("200005");
1209
1170
  const { modal, message } = App.useApp();
1210
- const fetcher = useFetcher();
1171
+ const httpClient = useHttpClient();
1211
1172
  const create4 = useCreateRole();
1212
1173
  const remove = useRemoveRole();
1213
1174
  const update = useUpdateRole();
@@ -1304,9 +1265,7 @@ var init_RoleList = __esm({
1304
1265
  size: "small",
1305
1266
  type: "link",
1306
1267
  onClick: () => __async(void 0, null, function* () {
1307
- const role = yield fetcher({
1308
- method: "GET",
1309
- url: "/api/usystem/role/info",
1268
+ const role = yield httpClient.get("/api/usystem/role/info", {
1310
1269
  params: { name: value.name }
1311
1270
  });
1312
1271
  showUpdateModal({
@@ -1362,7 +1321,7 @@ var init_RoleList = __esm({
1362
1321
  }
1363
1322
  }
1364
1323
  ],
1365
- [trigger, viewable, fetcher, modal, message, remove, showUpdateModal]
1324
+ [trigger, viewable, httpClient, modal, message, remove, showUpdateModal]
1366
1325
  );
1367
1326
  return /* @__PURE__ */ jsxs(Fragment, { children: [
1368
1327
  /* @__PURE__ */ jsx(
@@ -1464,7 +1423,6 @@ init_esm_shims();
1464
1423
  // src/constants/index.ts
1465
1424
  init_esm_shims();
1466
1425
  var SSO_URL = "https://idaas.ifunplus.cn/enduser/api/application/plugin_FunPlus/sso/v1";
1467
- new TextEncoder().encode("cc7e0d44fd473002f1c42167459001140ec6389b7353f8088f4d9a95f2f596f2");
1468
1426
 
1469
1427
  // src/pages/Login/index.tsx
1470
1428
  init_stores();
@@ -2869,6 +2827,9 @@ var Default = () => {
2869
2827
  ] });
2870
2828
  };
2871
2829
  var default_default = Default;
2830
+
2831
+ // src/pages/Login/index.tsx
2832
+ init_hooks2();
2872
2833
  var { Title } = Typography;
2873
2834
  var Login = (props) => {
2874
2835
  const { children } = props;
@@ -2876,6 +2837,7 @@ var Login = (props) => {
2876
2837
  const token = useTokenStore((state) => state.token);
2877
2838
  const setToken = useTokenStore((state) => state.setToken);
2878
2839
  const [showAlert, setShowAlert] = useState(false);
2840
+ const httpClient = useHttpClient();
2879
2841
  const { isLoading } = useSWRImmutable(
2880
2842
  searchParams.has("ticket") ? {
2881
2843
  url: "/api/usystem/user/login",
@@ -2883,6 +2845,7 @@ var Login = (props) => {
2883
2845
  ticket: searchParams.get("ticket")
2884
2846
  }
2885
2847
  } : null,
2848
+ (config) => httpClient.request(config),
2886
2849
  {
2887
2850
  onSuccess: (data) => {
2888
2851
  setToken(data.token);
@@ -2950,6 +2913,31 @@ var Login = (props) => {
2950
2913
  };
2951
2914
  var Login_default = Login;
2952
2915
 
2916
+ // src/pages/NoMatch/index.tsx
2917
+ init_esm_shims();
2918
+ var NoMatch = () => {
2919
+ const navigate = useNavigate();
2920
+ return /* @__PURE__ */ jsx("div", { className: "h-screen flex justify-center items-center", children: /* @__PURE__ */ jsx(
2921
+ Result,
2922
+ {
2923
+ status: "404",
2924
+ title: "404",
2925
+ subTitle: "Sorry, the page you visited does not exist.",
2926
+ extra: /* @__PURE__ */ jsx(
2927
+ Button,
2928
+ {
2929
+ type: "primary",
2930
+ onClick: () => {
2931
+ navigate("/");
2932
+ },
2933
+ children: "Back Home"
2934
+ }
2935
+ )
2936
+ }
2937
+ ) });
2938
+ };
2939
+ var NoMatch_default = NoMatch;
2940
+
2953
2941
  // src/pages/permission/index.tsx
2954
2942
  init_esm_shims();
2955
2943
  var UserList2 = lazy(() => Promise.resolve().then(() => (init_UserList(), UserList_exports)));
@@ -3038,7 +3026,7 @@ var NavBar = (props) => {
3038
3026
  const location = useLocation();
3039
3027
  const flattenItems = useMemo(() => flatItems(items != null ? items : []), [items]);
3040
3028
  const codes = flattenItems.map((item) => item.code).filter(Boolean);
3041
- const { data: permissions, isLoading } = usePermissions(codes);
3029
+ const { data: permissions } = usePermissions(codes);
3042
3030
  const internalItems = useMemo(() => transformItems(items != null ? items : [], permissions), [items, permissions]);
3043
3031
  const openKeys = useMenuStore((state) => state.openKeys);
3044
3032
  const selectedKeys = useMenuStore((state) => state.selectedKeys);
@@ -3063,19 +3051,6 @@ var NavBar = (props) => {
3063
3051
  setOpenKeys(keypath);
3064
3052
  }
3065
3053
  }, [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
- }
3079
3054
  return /* @__PURE__ */ jsx(
3080
3055
  Menu,
3081
3056
  {
@@ -3089,58 +3064,96 @@ var NavBar = (props) => {
3089
3064
  );
3090
3065
  };
3091
3066
  var NavBar_default = NavBar;
3067
+
3068
+ // src/layouts/Layout.tsx
3069
+ init_hooks2();
3092
3070
  var { Header, Sider, Content } = Layout$1;
3071
+ var { ErrorBoundary } = Alert;
3093
3072
  var Layout = (props) => {
3094
3073
  const { title, items, header, children } = props;
3095
3074
  const {
3096
3075
  token: { colorBgContainer, colorBorder }
3097
3076
  } = theme.useToken();
3098
- return /* @__PURE__ */ jsxs(Layout$1, { hasSider: true, className: "h-screen", children: [
3099
- /* @__PURE__ */ jsxs(
3100
- Sider,
3101
- {
3102
- width: 256,
3103
- style: {
3104
- overflow: "auto",
3105
- height: "100vh",
3106
- position: "fixed",
3107
- left: 0,
3108
- top: 0,
3109
- bottom: 0,
3110
- borderRightWidth: 1,
3111
- borderRightStyle: "solid",
3112
- borderRightColor: colorBorder
3113
- },
3114
- theme: "light",
3115
- children: [
3116
- /* @__PURE__ */ jsxs("div", { className: "flex items-end px-6 py-4", children: [
3117
- /* @__PURE__ */ jsx("img", { src: logo, alt: "logo", className: "w-8 h-8" }),
3118
- /* @__PURE__ */ jsx(Link, { className: "font-bold text-lg ml-2", to: "/", children: title })
3119
- ] }),
3120
- /* @__PURE__ */ jsx(NavBar_default, { items })
3121
- ]
3122
- }
3123
- ),
3124
- /* @__PURE__ */ jsxs(Layout$1, { className: "ml-64", children: [
3125
- /* @__PURE__ */ jsx(
3126
- Header,
3077
+ usePermission("100001");
3078
+ return /* @__PURE__ */ jsx(Layout$1, { hasSider: true, className: "h-screen", children: /* @__PURE__ */ jsx(ErrorBoundary, { children: /* @__PURE__ */ jsxs(
3079
+ Suspense,
3080
+ {
3081
+ fallback: /* @__PURE__ */ jsx(
3082
+ Spin,
3127
3083
  {
3128
3084
  style: {
3129
- padding: "0 24px",
3130
- background: colorBgContainer,
3131
- borderBottomWidth: 1,
3132
- borderBottomStyle: "solid",
3133
- borderBottomColor: colorBorder
3134
- },
3135
- children: header
3085
+ display: "flex",
3086
+ justifyContent: "center",
3087
+ alignItems: "center",
3088
+ width: "100vw",
3089
+ height: "100vh"
3090
+ }
3136
3091
  }
3137
3092
  ),
3138
- /* @__PURE__ */ jsx(Content, { className: "p-6 overflow-auto bg-gray-50", children })
3139
- ] })
3140
- ] });
3093
+ children: [
3094
+ /* @__PURE__ */ jsxs(
3095
+ Sider,
3096
+ {
3097
+ width: 256,
3098
+ style: {
3099
+ overflow: "auto",
3100
+ height: "100vh",
3101
+ position: "fixed",
3102
+ left: 0,
3103
+ top: 0,
3104
+ bottom: 0,
3105
+ borderRightWidth: 1,
3106
+ borderRightStyle: "solid",
3107
+ borderRightColor: colorBorder
3108
+ },
3109
+ theme: "light",
3110
+ children: [
3111
+ /* @__PURE__ */ jsxs("div", { className: "flex items-end px-6 py-4", children: [
3112
+ /* @__PURE__ */ jsx("img", { src: logo, alt: "logo", className: "w-8 h-8" }),
3113
+ /* @__PURE__ */ jsx(Link, { className: "font-bold text-lg ml-2", to: "/", children: title })
3114
+ ] }),
3115
+ /* @__PURE__ */ jsx(NavBar_default, { items })
3116
+ ]
3117
+ }
3118
+ ),
3119
+ /* @__PURE__ */ jsxs(Layout$1, { className: "ml-64", children: [
3120
+ /* @__PURE__ */ jsx(
3121
+ Header,
3122
+ {
3123
+ style: {
3124
+ padding: "0 24px",
3125
+ background: colorBgContainer,
3126
+ borderBottomWidth: 1,
3127
+ borderBottomStyle: "solid",
3128
+ borderBottomColor: colorBorder
3129
+ },
3130
+ children: header
3131
+ }
3132
+ ),
3133
+ /* @__PURE__ */ jsx(Content, { className: "p-6 overflow-auto bg-gray-50", children: /* @__PURE__ */ jsx(
3134
+ Suspense,
3135
+ {
3136
+ fallback: /* @__PURE__ */ jsx(
3137
+ Spin,
3138
+ {
3139
+ style: {
3140
+ display: "flex",
3141
+ justifyContent: "center",
3142
+ alignItems: "center",
3143
+ height: "50vh"
3144
+ }
3145
+ }
3146
+ ),
3147
+ children
3148
+ }
3149
+ ) })
3150
+ ] })
3151
+ ]
3152
+ }
3153
+ ) }) });
3141
3154
  };
3142
3155
  var Layout_default = Layout;
3143
3156
 
3144
- export { DynamicTags_default as DynamicTags, FetcherError, FilterForm_default as FilterForm, FormModal_default as FormModal, Highlight_default as Highlight, Layout_default as Layout, Login_default as Login, PermissionButton_default as PermissionButton, QueryList_default as QueryList, permission_default as permission, useFetcher, useFormModal, useMenuStore, usePermission, usePermissions, useQueryTriggerStore, useTokenStore };
3157
+ export { DynamicTags_default as DynamicTags, FilterForm_default as FilterForm, FormModal_default as FormModal, Highlight_default as Highlight, HttpClientError, Layout_default as Layout, Login_default as Login, NoMatch_default as NoMatch, PermissionButton_default as PermissionButton, QueryList_default as QueryList, SSO_URL, permission_default as permission, useFormModal, useHttpClient, useMenuStore, usePermission, usePermissions, useQueryTriggerStore, useTokenStore };
3145
3158
  //# sourceMappingURL=out.js.map
3146
3159
  //# sourceMappingURL=index.esm.js.map