@cundi/refine-xaf 1.0.3 → 1.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.js CHANGED
@@ -39,6 +39,7 @@ __export(index_exports, {
39
39
  Base64Upload: () => Base64Upload,
40
40
  ColorModeContext: () => ColorModeContext,
41
41
  ColorModeContextProvider: () => ColorModeContextProvider,
42
+ DrawioEditor: () => DrawioEditor,
42
43
  Header: () => Header,
43
44
  HttpError: () => HttpError,
44
45
  KeycloakLoginPage: () => KeycloakLoginPage,
@@ -60,6 +61,7 @@ __export(index_exports, {
60
61
  httpClient: () => httpClient,
61
62
  keycloakService: () => keycloakService,
62
63
  parseJwt: () => parseJwt,
64
+ refineXafTranslations: () => refineXafTranslations,
63
65
  useColorMode: () => useColorMode,
64
66
  useModelTypes: () => useModelTypes,
65
67
  validatePasswordStrength: () => validatePasswordStrength
@@ -785,6 +787,210 @@ var validatePasswordStrength = (password) => {
785
787
  return { isValid: true, message: "Password is strong" };
786
788
  };
787
789
 
790
+ // src/i18n/index.ts
791
+ var en = {
792
+ pages: {
793
+ login: {
794
+ title: "Sign in to your account",
795
+ buttons: {
796
+ submit: "Sign in"
797
+ }
798
+ }
799
+ },
800
+ buttons: {
801
+ create: "Create",
802
+ edit: "Edit",
803
+ delete: "Delete",
804
+ save: "Save",
805
+ cancel: "Cancel",
806
+ refresh: "Refresh",
807
+ list: "List",
808
+ logout: "Logout"
809
+ },
810
+ actions: {
811
+ create: "Create",
812
+ edit: "Edit",
813
+ show: "Show",
814
+ list: "List",
815
+ delete: "Delete"
816
+ },
817
+ components: {
818
+ header: {
819
+ theme: {
820
+ light: "Light Mode",
821
+ dark: "Dark Mode"
822
+ },
823
+ language: {
824
+ en: "English",
825
+ "zh-TW": "Traditional Chinese"
826
+ },
827
+ menu: {
828
+ changePhoto: "Change Photo",
829
+ manageAccount: "Manage Account in Keycloak",
830
+ changePassword: "Change Password",
831
+ logout: "Logout"
832
+ }
833
+ },
834
+ base64Upload: {
835
+ upload: "Upload"
836
+ },
837
+ relatedList: {
838
+ addDetail: "Add Detail",
839
+ actions: "Actions",
840
+ manageDetail: "Manage Detail",
841
+ deleteConfirm: "Are you sure you want to delete this detail?"
842
+ },
843
+ smartList: {
844
+ search: "Search...",
845
+ refresh: "Refresh",
846
+ columns: "Columns",
847
+ selectColumns: "Select Columns",
848
+ reset: "Reset"
849
+ },
850
+ tiptapEditor: {
851
+ placeholder: "Write something...",
852
+ textColor: "Text Color",
853
+ highlight: "Highlight",
854
+ insertTable: "Insert Table",
855
+ deleteTable: "Delete Table",
856
+ emoji: "Emoji",
857
+ addRowBefore: "Add Row Before",
858
+ addRowAfter: "Add Row After",
859
+ deleteRow: "Delete Row",
860
+ addColumnBefore: "Add Column Before",
861
+ addColumnAfter: "Add Column After",
862
+ deleteColumn: "Delete Column",
863
+ math: "Math (LaTeX)",
864
+ youtube: "YouTube",
865
+ enterYoutubeUrl: "Enter YouTube URL"
866
+ },
867
+ drawioEditor: {
868
+ loading: "Loading diagram editor..."
869
+ }
870
+ },
871
+ common: {
872
+ actions: {
873
+ create: "Create",
874
+ edit: "Edit",
875
+ delete: "Delete",
876
+ save: "Save",
877
+ cancel: "Cancel"
878
+ }
879
+ },
880
+ sider: {
881
+ dashboard: "Dashboard",
882
+ dataTypeExamples: "Data Type Examples",
883
+ tiptapExamples: "Tiptap Examples",
884
+ drawioExamples: "Drawio Examples",
885
+ users: "Users",
886
+ roles: "Roles",
887
+ settings: "Settings"
888
+ }
889
+ };
890
+ var zhTW = {
891
+ pages: {
892
+ login: {
893
+ title: "\u767B\u5165\u60A8\u7684\u5E33\u6236",
894
+ buttons: {
895
+ submit: "\u767B\u5165"
896
+ }
897
+ }
898
+ },
899
+ buttons: {
900
+ create: "\u65B0\u589E",
901
+ edit: "\u7DE8\u8F2F",
902
+ delete: "\u522A\u9664",
903
+ save: "\u5132\u5B58",
904
+ cancel: "\u53D6\u6D88",
905
+ refresh: "\u91CD\u65B0\u6574\u7406",
906
+ list: "\u5217\u8868",
907
+ logout: "\u767B\u51FA"
908
+ },
909
+ actions: {
910
+ create: "\u65B0\u589E",
911
+ edit: "\u7DE8\u8F2F",
912
+ show: "\u986F\u793A",
913
+ list: "\u5217\u8868",
914
+ delete: "\u522A\u9664"
915
+ },
916
+ components: {
917
+ header: {
918
+ theme: {
919
+ light: "\u5207\u63DB\u70BA\u4EAE\u8272\u6A21\u5F0F",
920
+ dark: "\u5207\u63DB\u70BA\u6697\u8272\u6A21\u5F0F"
921
+ },
922
+ language: {
923
+ en: "English",
924
+ "zh-TW": "\u7E41\u9AD4\u4E2D\u6587"
925
+ },
926
+ menu: {
927
+ changePhoto: "\u66F4\u63DB\u982D\u50CF",
928
+ manageAccount: "\u5728 Keycloak \u7BA1\u7406\u5E33\u865F",
929
+ changePassword: "\u8B8A\u66F4\u5BC6\u78BC",
930
+ logout: "\u767B\u51FA"
931
+ }
932
+ },
933
+ base64Upload: {
934
+ upload: "\u4E0A\u50B3"
935
+ },
936
+ relatedList: {
937
+ addDetail: "\u65B0\u589E\u660E\u7D30",
938
+ actions: "\u64CD\u4F5C",
939
+ manageDetail: "\u7BA1\u7406\u660E\u7D30",
940
+ deleteConfirm: "\u60A8\u78BA\u5B9A\u8981\u522A\u9664\u6B64\u9805\u76EE\u55CE\uFF1F"
941
+ },
942
+ smartList: {
943
+ search: "\u641C\u5C0B...",
944
+ refresh: "\u91CD\u65B0\u6574\u7406",
945
+ columns: "\u6B04\u4F4D",
946
+ selectColumns: "\u9078\u64C7\u6B04\u4F4D",
947
+ reset: "\u91CD\u7F6E"
948
+ },
949
+ tiptapEditor: {
950
+ placeholder: "\u8F38\u5165\u5167\u5BB9...",
951
+ textColor: "\u6587\u5B57\u984F\u8272",
952
+ highlight: "\u87A2\u5149\u7B46",
953
+ insertTable: "\u63D2\u5165\u8868\u683C",
954
+ deleteTable: "\u522A\u9664\u8868\u683C",
955
+ emoji: "\u8868\u60C5\u7B26\u865F",
956
+ addRowBefore: "\u5728\u4E0A\u65B9\u63D2\u5165\u5217",
957
+ addRowAfter: "\u5728\u4E0B\u65B9\u63D2\u5165\u5217",
958
+ deleteRow: "\u522A\u9664\u5217",
959
+ addColumnBefore: "\u5728\u5DE6\u65B9\u63D2\u5165\u6B04",
960
+ addColumnAfter: "\u5728\u53F3\u65B9\u63D2\u5165\u6B04",
961
+ deleteColumn: "\u522A\u9664\u6B04",
962
+ math: "\u6578\u5B78\u516C\u5F0F (LaTeX)",
963
+ youtube: "YouTube \u5F71\u7247",
964
+ enterYoutubeUrl: "\u8F38\u5165 YouTube \u7DB2\u5740"
965
+ },
966
+ drawioEditor: {
967
+ loading: "\u8F09\u5165\u5716\u8868\u7DE8\u8F2F\u5668\u4E2D..."
968
+ }
969
+ },
970
+ common: {
971
+ actions: {
972
+ create: "\u65B0\u589E",
973
+ edit: "\u7DE8\u8F2F",
974
+ delete: "\u522A\u9664",
975
+ save: "\u5132\u5B58",
976
+ cancel: "\u53D6\u6D88"
977
+ }
978
+ },
979
+ sider: {
980
+ dashboard: "\u5100\u8868\u677F",
981
+ dataTypeExamples: "\u8CC7\u6599\u985E\u578B\u7BC4\u4F8B",
982
+ tiptapExamples: "Tiptap \u7BC4\u4F8B",
983
+ drawioExamples: "Drawio \u7BC4\u4F8B",
984
+ users: "\u4F7F\u7528\u8005",
985
+ roles: "\u89D2\u8272",
986
+ settings: "\u8A2D\u5B9A"
987
+ }
988
+ };
989
+ var refineXafTranslations = {
990
+ en,
991
+ "zh-TW": zhTW
992
+ };
993
+
788
994
  // src/components/Header.tsx
789
995
  var import_react3 = __toESM(require("react"));
790
996
  var import_core = require("@refinedev/core");
@@ -851,7 +1057,9 @@ var useColorMode = () => {
851
1057
  // src/components/Base64Upload.tsx
852
1058
  var import_react2 = __toESM(require("react"));
853
1059
  var import_lib2 = require("antd/lib");
1060
+ var import_react_i18next = require("react-i18next");
854
1061
  var Base64Upload = ({ value, onChange }) => {
1062
+ const { t } = (0, import_react_i18next.useTranslation)();
855
1063
  return /* @__PURE__ */ import_react2.default.createElement(
856
1064
  import_lib2.Upload,
857
1065
  {
@@ -869,11 +1077,12 @@ var Base64Upload = ({ value, onChange }) => {
869
1077
  return false;
870
1078
  }
871
1079
  },
872
- value ? /* @__PURE__ */ import_react2.default.createElement("img", { src: `data:image/png;base64,${value}`, alt: "avatar", style: { width: "100%" } }) : /* @__PURE__ */ import_react2.default.createElement("div", null, /* @__PURE__ */ import_react2.default.createElement("div", { style: { marginTop: 8 } }, "Upload"))
1080
+ value ? /* @__PURE__ */ import_react2.default.createElement("img", { src: `data:image/png;base64,${value}`, alt: "avatar", style: { width: "100%" } }) : /* @__PURE__ */ import_react2.default.createElement("div", null, /* @__PURE__ */ import_react2.default.createElement("div", { style: { marginTop: 8 } }, t("components.base64Upload.upload", "Upload")))
873
1081
  );
874
1082
  };
875
1083
 
876
1084
  // src/components/Header.tsx
1085
+ var import_react_i18next2 = require("react-i18next");
877
1086
  var import_meta3 = {};
878
1087
  var { Text } = import_lib3.Typography;
879
1088
  var { useToken } = import_lib3.theme;
@@ -884,6 +1093,11 @@ var Header = () => {
884
1093
  const { mode, setMode } = useColorMode();
885
1094
  const { token } = useToken();
886
1095
  const invalidate = (0, import_core.useInvalidate)();
1096
+ const { t: translate, i18n } = (0, import_react_i18next2.useTranslation)();
1097
+ const currentLocale = i18n.language;
1098
+ const handleLanguageChange = (lang) => {
1099
+ i18n.changeLanguage(lang);
1100
+ };
887
1101
  const [authProvider2, setAuthProvider] = (0, import_react3.useState)(null);
888
1102
  (0, import_react3.useEffect)(() => {
889
1103
  if (user) {
@@ -954,7 +1168,7 @@ var Header = () => {
954
1168
  },
955
1169
  {
956
1170
  key: "change-photo",
957
- label: "Change Photo",
1171
+ label: translate("components.header.menu.changePhoto", "Change Photo"),
958
1172
  icon: /* @__PURE__ */ import_react3.default.createElement(import_icons.CameraOutlined, null),
959
1173
  onClick: () => {
960
1174
  photoForm.setFieldsValue({ Photo: user?.avatar?.replace("data:image/png;base64,", "") });
@@ -963,7 +1177,7 @@ var Header = () => {
963
1177
  },
964
1178
  {
965
1179
  key: "change-password",
966
- label: authProvider2 === "keycloak" ? "Manage Account in Keycloak" : "Change Password",
1180
+ label: authProvider2 === "keycloak" ? translate("components.header.menu.manageAccount", "Manage Account in Keycloak") : translate("components.header.menu.changePassword", "Change Password"),
967
1181
  icon: /* @__PURE__ */ import_react3.default.createElement(import_icons.LockOutlined, null),
968
1182
  onClick: () => {
969
1183
  if (authProvider2 === "keycloak") {
@@ -982,13 +1196,13 @@ var Header = () => {
982
1196
  },
983
1197
  {
984
1198
  key: "theme",
985
- label: mode === "light" ? "Dark Theme" : "Light Theme",
1199
+ label: mode === "light" ? translate("components.header.theme.dark", "Dark Theme") : translate("components.header.theme.light", "Light Theme"),
986
1200
  icon: mode === "light" ? /* @__PURE__ */ import_react3.default.createElement(import_icons.MoonOutlined, null) : /* @__PURE__ */ import_react3.default.createElement(import_icons.SunOutlined, null),
987
1201
  onClick: () => setMode(mode === "light" ? "dark" : "light")
988
1202
  },
989
1203
  {
990
1204
  key: "logout",
991
- label: "Logout",
1205
+ label: translate("components.header.menu.logout", "Logout"),
992
1206
  icon: /* @__PURE__ */ import_react3.default.createElement(import_icons.LogoutOutlined, null),
993
1207
  onClick: () => logout()
994
1208
  }
@@ -1008,7 +1222,29 @@ var Header = () => {
1008
1222
  zIndex: 1
1009
1223
  }
1010
1224
  },
1011
- /* @__PURE__ */ import_react3.default.createElement(import_lib3.Space, null, /* @__PURE__ */ import_react3.default.createElement(import_lib3.Dropdown, { menu: { items: menuItems }, trigger: ["click"] }, /* @__PURE__ */ import_react3.default.createElement(import_lib3.Button, { type: "text", style: { height: 48 } }, /* @__PURE__ */ import_react3.default.createElement(import_lib3.Space, null, /* @__PURE__ */ import_react3.default.createElement(import_lib3.Avatar, { src: user?.avatar, alt: user?.name, icon: /* @__PURE__ */ import_react3.default.createElement(import_icons.UserOutlined, null) }), /* @__PURE__ */ import_react3.default.createElement(Text, null, user?.name), /* @__PURE__ */ import_react3.default.createElement(import_icons.DownOutlined, { style: { fontSize: 12 } }))))),
1225
+ /* @__PURE__ */ import_react3.default.createElement(import_lib3.Space, null, /* @__PURE__ */ import_react3.default.createElement(
1226
+ import_lib3.Dropdown,
1227
+ {
1228
+ menu: {
1229
+ items: [
1230
+ {
1231
+ key: "en",
1232
+ label: translate("components.header.language.en", "English"),
1233
+ onClick: () => handleLanguageChange("en"),
1234
+ disabled: currentLocale === "en"
1235
+ },
1236
+ {
1237
+ key: "zh-TW",
1238
+ label: translate("components.header.language.zh-TW", "\u7E41\u9AD4\u4E2D\u6587"),
1239
+ onClick: () => handleLanguageChange("zh-TW"),
1240
+ disabled: currentLocale === "zh-TW"
1241
+ }
1242
+ ]
1243
+ },
1244
+ trigger: ["click"]
1245
+ },
1246
+ /* @__PURE__ */ import_react3.default.createElement(import_lib3.Button, { type: "text", icon: /* @__PURE__ */ import_react3.default.createElement(import_icons.GlobalOutlined, null) }, currentLocale === "zh-TW" ? "\u7E41\u9AD4\u4E2D\u6587" : "English", " ", /* @__PURE__ */ import_react3.default.createElement(import_icons.DownOutlined, null))
1247
+ ), /* @__PURE__ */ import_react3.default.createElement(import_lib3.Dropdown, { menu: { items: menuItems }, trigger: ["click"] }, /* @__PURE__ */ import_react3.default.createElement(import_lib3.Button, { type: "text", style: { height: 48 } }, /* @__PURE__ */ import_react3.default.createElement(import_lib3.Space, null, /* @__PURE__ */ import_react3.default.createElement(import_lib3.Avatar, { src: user?.avatar, alt: user?.name, icon: /* @__PURE__ */ import_react3.default.createElement(import_icons.UserOutlined, null) }), /* @__PURE__ */ import_react3.default.createElement(Text, null, user?.name), /* @__PURE__ */ import_react3.default.createElement(import_icons.DownOutlined, { style: { fontSize: 12 } }))))),
1012
1248
  /* @__PURE__ */ import_react3.default.createElement(
1013
1249
  import_lib3.Modal,
1014
1250
  {
@@ -1048,11 +1284,13 @@ var import_react4 = __toESM(require("react"));
1048
1284
  var import_antd2 = require("@refinedev/antd");
1049
1285
  var import_lib4 = require("antd/lib");
1050
1286
  var import_icons2 = require("@ant-design/icons");
1287
+ var import_react_i18next3 = require("react-i18next");
1051
1288
  var SmartList = ({
1052
1289
  children,
1053
1290
  resource,
1054
1291
  searchFields
1055
1292
  }) => {
1293
+ const { t } = (0, import_react_i18next3.useTranslation)();
1056
1294
  const { tableProps, searchFormProps, tableQuery, setFilters } = (0, import_antd2.useTable)({
1057
1295
  resource,
1058
1296
  syncWithLocation: true,
@@ -1123,7 +1361,7 @@ var SmartList = ({
1123
1361
  setVisibleColumns(defaultVisible);
1124
1362
  localStorage.removeItem(`table-columns-${resource}`);
1125
1363
  };
1126
- const content = /* @__PURE__ */ import_react4.default.createElement("div", { style: { display: "flex", flexDirection: "column", gap: "8px" } }, /* @__PURE__ */ import_react4.default.createElement("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", marginBottom: "4px" } }, /* @__PURE__ */ import_react4.default.createElement("span", { style: { fontWeight: 500 } }, "Select Columns"), /* @__PURE__ */ import_react4.default.createElement(import_lib4.Button, { size: "small", type: "link", onClick: handleResetColumns, style: { padding: 0 } }, "Reset")), columns.filter((col) => col.dataIndex !== "actions").map((col) => /* @__PURE__ */ import_react4.default.createElement(
1364
+ const content = /* @__PURE__ */ import_react4.default.createElement("div", { style: { display: "flex", flexDirection: "column", gap: "8px" } }, /* @__PURE__ */ import_react4.default.createElement("div", { style: { display: "flex", justifyContent: "space-between", alignItems: "center", marginBottom: "4px" } }, /* @__PURE__ */ import_react4.default.createElement("span", { style: { fontWeight: 500 } }, t("components.smartList.selectColumns", "Select Columns")), /* @__PURE__ */ import_react4.default.createElement(import_lib4.Button, { size: "small", type: "link", onClick: handleResetColumns, style: { padding: 0 } }, t("components.smartList.reset", "Reset"))), columns.filter((col) => col.dataIndex !== "actions").map((col) => /* @__PURE__ */ import_react4.default.createElement(
1127
1365
  import_lib4.Checkbox,
1128
1366
  {
1129
1367
  key: col.key,
@@ -1144,7 +1382,7 @@ var SmartList = ({
1144
1382
  return /* @__PURE__ */ import_react4.default.createElement(import_antd2.List, null, /* @__PURE__ */ import_react4.default.createElement("div", { style: { display: "flex", justifyContent: "space-between", marginBottom: 20 } }, /* @__PURE__ */ import_react4.default.createElement(import_lib4.Form, { ...searchFormProps, layout: "inline" }, /* @__PURE__ */ import_react4.default.createElement(import_lib4.Form.Item, { name: "search" }, /* @__PURE__ */ import_react4.default.createElement(
1145
1383
  import_lib4.Input,
1146
1384
  {
1147
- placeholder: "Search...",
1385
+ placeholder: t("components.smartList.search", "Search..."),
1148
1386
  style: { width: 300 },
1149
1387
  allowClear: true,
1150
1388
  suffix: /* @__PURE__ */ import_react4.default.createElement(
@@ -1173,7 +1411,7 @@ var SmartList = ({
1173
1411
  }
1174
1412
  }
1175
1413
  }
1176
- ))), /* @__PURE__ */ import_react4.default.createElement(import_lib4.Space, null, /* @__PURE__ */ import_react4.default.createElement(import_lib4.Button, { icon: /* @__PURE__ */ import_react4.default.createElement(import_icons2.ReloadOutlined, null), onClick: () => tableQuery?.refetch() }, "Refresh"), /* @__PURE__ */ import_react4.default.createElement(import_lib4.Popover, { content, title: "Columns", trigger: "click", placement: "bottomRight" }, /* @__PURE__ */ import_react4.default.createElement(import_lib4.Button, { icon: /* @__PURE__ */ import_react4.default.createElement(import_icons2.SettingOutlined, null) }, "Columns")))), /* @__PURE__ */ import_react4.default.createElement(import_lib4.Table, { ...tableProps, rowKey: "Oid" }, filteredChildren));
1414
+ ))), /* @__PURE__ */ import_react4.default.createElement(import_lib4.Space, null, /* @__PURE__ */ import_react4.default.createElement(import_lib4.Button, { icon: /* @__PURE__ */ import_react4.default.createElement(import_icons2.ReloadOutlined, null), onClick: () => tableQuery?.refetch() }, t("components.smartList.refresh", "Refresh")), /* @__PURE__ */ import_react4.default.createElement(import_lib4.Popover, { content, title: t("components.smartList.columns", "Columns"), trigger: "click", placement: "bottomRight" }, /* @__PURE__ */ import_react4.default.createElement(import_lib4.Button, { icon: /* @__PURE__ */ import_react4.default.createElement(import_icons2.SettingOutlined, null) }, t("components.smartList.columns", "Columns"))))), /* @__PURE__ */ import_react4.default.createElement(import_lib4.Table, { ...tableProps, rowKey: "Oid" }, filteredChildren));
1177
1415
  };
1178
1416
 
1179
1417
  // src/components/RelatedList.tsx
@@ -1182,6 +1420,7 @@ var import_lib5 = require("antd/lib");
1182
1420
  var import_icons3 = require("@ant-design/icons");
1183
1421
  var import_antd3 = require("@refinedev/antd");
1184
1422
  var import_core2 = require("@refinedev/core");
1423
+ var import_react_i18next4 = require("react-i18next");
1185
1424
  var DetailModal = ({
1186
1425
  modalForm,
1187
1426
  mode,
@@ -1227,9 +1466,12 @@ var RelatedList = ({
1227
1466
  dataSource,
1228
1467
  onMutationSuccess,
1229
1468
  FormFields,
1230
- modalTitle = "Manage Detail",
1469
+ modalTitle,
1231
1470
  children
1232
1471
  }) => {
1472
+ const { t } = (0, import_react_i18next4.useTranslation)();
1473
+ const defaultTitle = t("components.relatedList.manageDetail", "Manage Detail");
1474
+ const finalModalTitle = modalTitle || defaultTitle;
1233
1475
  const createModalForm = (0, import_antd3.useModalForm)({
1234
1476
  resource,
1235
1477
  action: "create",
@@ -1244,7 +1486,7 @@ var RelatedList = ({
1244
1486
  });
1245
1487
  const { mutate: deleteMutate } = (0, import_core2.useDelete)();
1246
1488
  const handleDelete = (id) => {
1247
- if (confirm("Are you sure you want to delete this detail?")) {
1489
+ if (confirm(t("components.relatedList.deleteConfirm", "Are you sure you want to delete this detail?"))) {
1248
1490
  deleteMutate({
1249
1491
  resource,
1250
1492
  id,
@@ -1263,7 +1505,7 @@ var RelatedList = ({
1263
1505
  disabled: !masterId,
1264
1506
  "data-testid": "add-detail-btn"
1265
1507
  },
1266
- "Add Detail"
1508
+ t("components.relatedList.addDetail", "Add Detail")
1267
1509
  )), /* @__PURE__ */ import_react5.default.createElement(
1268
1510
  import_lib5.Table,
1269
1511
  {
@@ -1277,7 +1519,7 @@ var RelatedList = ({
1277
1519
  /* @__PURE__ */ import_react5.default.createElement(
1278
1520
  import_lib5.Table.Column,
1279
1521
  {
1280
- title: "Actions",
1522
+ title: t("components.relatedList.actions", "Actions"),
1281
1523
  key: "actions",
1282
1524
  width: 120,
1283
1525
  render: (_, record) => /* @__PURE__ */ import_react5.default.createElement(import_lib5.Space, null, /* @__PURE__ */ import_react5.default.createElement(
@@ -1303,7 +1545,7 @@ var RelatedList = ({
1303
1545
  {
1304
1546
  modalForm: createModalForm,
1305
1547
  mode: "create",
1306
- modalTitle,
1548
+ modalTitle: finalModalTitle,
1307
1549
  FormFields,
1308
1550
  masterField,
1309
1551
  masterId
@@ -1313,7 +1555,7 @@ var RelatedList = ({
1313
1555
  {
1314
1556
  modalForm: editModalForm,
1315
1557
  mode: "edit",
1316
- modalTitle,
1558
+ modalTitle: finalModalTitle,
1317
1559
  FormFields,
1318
1560
  masterField,
1319
1561
  masterId
@@ -1323,6 +1565,7 @@ var RelatedList = ({
1323
1565
 
1324
1566
  // src/components/TiptapEditor.tsx
1325
1567
  var import_react6 = __toESM(require("react"));
1568
+ var import_react_i18next5 = require("react-i18next");
1326
1569
  var import_react7 = require("@tiptap/react");
1327
1570
  var import_starter_kit = __toESM(require("@tiptap/starter-kit"));
1328
1571
  var import_extension_image = __toESM(require("@tiptap/extension-image"));
@@ -18547,6 +18790,7 @@ var import_lib6 = require("antd/lib");
18547
18790
  var import_icons4 = require("@ant-design/icons");
18548
18791
  var TiptapEditor = ({ value, onChange, disabled }) => {
18549
18792
  const { token } = import_lib6.theme.useToken();
18793
+ const { t } = (0, import_react_i18next5.useTranslation)();
18550
18794
  const editor = (0, import_react7.useEditor)({
18551
18795
  extensions: [
18552
18796
  import_starter_kit.default,
@@ -18577,7 +18821,7 @@ var TiptapEditor = ({ value, onChange, disabled }) => {
18577
18821
  TextStyle,
18578
18822
  Color,
18579
18823
  index_default.configure({
18580
- placeholder: "Write something..."
18824
+ placeholder: t("components.tiptapEditor.placeholder", "Write something...")
18581
18825
  })
18582
18826
  ],
18583
18827
  content: value,
@@ -18662,7 +18906,7 @@ var TiptapEditor = ({ value, onChange, disabled }) => {
18662
18906
  onClick: () => editor.chain().focus().toggleHighlight().run(),
18663
18907
  disabled,
18664
18908
  size: "small",
18665
- title: "Highlight"
18909
+ title: t("components.tiptapEditor.highlight", "Highlight")
18666
18910
  }
18667
18911
  ), /* @__PURE__ */ import_react6.default.createElement(
18668
18912
  import_lib6.ColorPicker,
@@ -18680,7 +18924,7 @@ var TiptapEditor = ({ value, onChange, disabled }) => {
18680
18924
  icon: /* @__PURE__ */ import_react6.default.createElement(import_icons4.FontColorsOutlined, { style: { color: editor.getAttributes("textStyle").color } }),
18681
18925
  disabled,
18682
18926
  size: "small",
18683
- title: "Text Color"
18927
+ title: t("components.tiptapEditor.textColor", "Text Color")
18684
18928
  }
18685
18929
  )
18686
18930
  ), /* @__PURE__ */ import_react6.default.createElement(
@@ -18745,7 +18989,7 @@ var TiptapEditor = ({ value, onChange, disabled }) => {
18745
18989
  onClick: () => editor.chain().focus().toggleMath().run(),
18746
18990
  disabled,
18747
18991
  size: "small",
18748
- title: "Math (LaTeX)"
18992
+ title: t("components.tiptapEditor.math", "Math (LaTeX)")
18749
18993
  }
18750
18994
  ), /* @__PURE__ */ import_react6.default.createElement(
18751
18995
  import_lib6.Button,
@@ -18753,14 +18997,14 @@ var TiptapEditor = ({ value, onChange, disabled }) => {
18753
18997
  type: editor.isActive("youtube") ? "primary" : "text",
18754
18998
  icon: /* @__PURE__ */ import_react6.default.createElement(import_icons4.YoutubeOutlined, null),
18755
18999
  onClick: () => {
18756
- const url = window.prompt("Enter YouTube URL");
19000
+ const url = window.prompt(t("components.tiptapEditor.enterYoutubeUrl", "Enter YouTube URL"));
18757
19001
  if (url) {
18758
19002
  editor.commands.setYoutubeVideo({ src: url });
18759
19003
  }
18760
19004
  },
18761
19005
  disabled,
18762
19006
  size: "small",
18763
- title: "YouTube"
19007
+ title: t("components.tiptapEditor.youtube", "YouTube")
18764
19008
  }
18765
19009
  ), /* @__PURE__ */ import_react6.default.createElement(
18766
19010
  import_lib6.Button,
@@ -18770,7 +19014,7 @@ var TiptapEditor = ({ value, onChange, disabled }) => {
18770
19014
  onClick: () => editor.chain().focus().insertTable({ rows: 3, cols: 3, withHeaderRow: true }).run(),
18771
19015
  disabled,
18772
19016
  size: "small",
18773
- title: "Insert Table"
19017
+ title: t("components.tiptapEditor.insertTable", "Insert Table")
18774
19018
  }
18775
19019
  ), /* @__PURE__ */ import_react6.default.createElement(
18776
19020
  import_lib6.Button,
@@ -18780,7 +19024,7 @@ var TiptapEditor = ({ value, onChange, disabled }) => {
18780
19024
  onClick: () => editor.chain().focus().deleteTable().run(),
18781
19025
  disabled: !editor.can().deleteTable() || disabled,
18782
19026
  size: "small",
18783
- title: "Delete Table"
19027
+ title: t("components.tiptapEditor.deleteTable", "Delete Table")
18784
19028
  }
18785
19029
  ), /* @__PURE__ */ import_react6.default.createElement(
18786
19030
  import_lib6.Popover,
@@ -18805,7 +19049,7 @@ var TiptapEditor = ({ value, onChange, disabled }) => {
18805
19049
  icon: /* @__PURE__ */ import_react6.default.createElement(import_icons4.SmileOutlined, null),
18806
19050
  disabled,
18807
19051
  size: "small",
18808
- title: "Emoji"
19052
+ title: t("components.tiptapEditor.emoji", "Emoji")
18809
19053
  }
18810
19054
  )
18811
19055
  ), editor.isActive("table") && /* @__PURE__ */ import_react6.default.createElement(import_react6.default.Fragment, null, /* @__PURE__ */ import_react6.default.createElement(
@@ -18816,7 +19060,7 @@ var TiptapEditor = ({ value, onChange, disabled }) => {
18816
19060
  onClick: () => editor.chain().focus().addRowBefore().run(),
18817
19061
  disabled,
18818
19062
  size: "small",
18819
- title: "Add Row Before"
19063
+ title: t("components.tiptapEditor.addRowBefore", "Add Row Before")
18820
19064
  }
18821
19065
  ), /* @__PURE__ */ import_react6.default.createElement(
18822
19066
  import_lib6.Button,
@@ -18826,7 +19070,7 @@ var TiptapEditor = ({ value, onChange, disabled }) => {
18826
19070
  onClick: () => editor.chain().focus().addRowAfter().run(),
18827
19071
  disabled,
18828
19072
  size: "small",
18829
- title: "Add Row After"
19073
+ title: t("components.tiptapEditor.addRowAfter", "Add Row After")
18830
19074
  }
18831
19075
  ), /* @__PURE__ */ import_react6.default.createElement(
18832
19076
  import_lib6.Button,
@@ -18836,7 +19080,7 @@ var TiptapEditor = ({ value, onChange, disabled }) => {
18836
19080
  onClick: () => editor.chain().focus().deleteRow().run(),
18837
19081
  disabled: !editor.can().deleteRow() || disabled,
18838
19082
  size: "small",
18839
- title: "Delete Row"
19083
+ title: t("components.tiptapEditor.deleteRow", "Delete Row")
18840
19084
  }
18841
19085
  ), /* @__PURE__ */ import_react6.default.createElement(
18842
19086
  import_lib6.Button,
@@ -18846,7 +19090,7 @@ var TiptapEditor = ({ value, onChange, disabled }) => {
18846
19090
  onClick: () => editor.chain().focus().addColumnBefore().run(),
18847
19091
  disabled,
18848
19092
  size: "small",
18849
- title: "Add Column Before"
19093
+ title: t("components.tiptapEditor.addColumnBefore", "Add Column Before")
18850
19094
  }
18851
19095
  ), /* @__PURE__ */ import_react6.default.createElement(
18852
19096
  import_lib6.Button,
@@ -18856,7 +19100,7 @@ var TiptapEditor = ({ value, onChange, disabled }) => {
18856
19100
  onClick: () => editor.chain().focus().addColumnAfter().run(),
18857
19101
  disabled,
18858
19102
  size: "small",
18859
- title: "Add Column After"
19103
+ title: t("components.tiptapEditor.addColumnAfter", "Add Column After")
18860
19104
  }
18861
19105
  ), /* @__PURE__ */ import_react6.default.createElement(
18862
19106
  import_lib6.Button,
@@ -18866,7 +19110,7 @@ var TiptapEditor = ({ value, onChange, disabled }) => {
18866
19110
  onClick: () => editor.chain().focus().deleteColumn().run(),
18867
19111
  disabled: !editor.can().deleteColumn() || disabled,
18868
19112
  size: "small",
18869
- title: "Delete Column"
19113
+ title: t("components.tiptapEditor.deleteColumn", "Delete Column")
18870
19114
  }
18871
19115
  ))), /* @__PURE__ */ import_react6.default.createElement(import_lib6.Space, { style: { marginLeft: "auto" } }, /* @__PURE__ */ import_react6.default.createElement(
18872
19116
  import_lib6.Button,
@@ -18905,25 +19149,124 @@ var TiptapEditor = ({ value, onChange, disabled }) => {
18905
19149
  );
18906
19150
  };
18907
19151
 
18908
- // src/pages/login/index.tsx
19152
+ // src/components/DrawioEditor.tsx
18909
19153
  var import_react8 = __toESM(require("react"));
18910
- var import_core18 = require("@refinedev/core");
19154
+ var import_react_i18next6 = require("react-i18next");
19155
+ var import_react_drawio = require("react-drawio");
18911
19156
  var import_lib7 = require("antd/lib");
19157
+ var mapLanguageToDrawio = (lang) => {
19158
+ const langMap = {
19159
+ "zh-TW": "zh-tw",
19160
+ "zh-CN": "zh",
19161
+ "zh": "zh",
19162
+ "en": "en",
19163
+ "ja": "ja",
19164
+ "ko": "ko",
19165
+ "de": "de",
19166
+ "fr": "fr",
19167
+ "es": "es",
19168
+ "pt": "pt",
19169
+ "ru": "ru"
19170
+ };
19171
+ return langMap[lang] || lang.toLowerCase();
19172
+ };
19173
+ var DrawioEditor = ({
19174
+ value,
19175
+ onChange,
19176
+ disabled = false,
19177
+ height = 500,
19178
+ autosave = true
19179
+ }) => {
19180
+ const { token } = import_lib7.theme.useToken();
19181
+ const { t, i18n } = (0, import_react_i18next6.useTranslation)();
19182
+ const drawioRef = (0, import_react8.useRef)(null);
19183
+ const [isLoading, setIsLoading] = (0, import_react8.useState)(true);
19184
+ const drawioLang = (0, import_react8.useMemo)(() => mapLanguageToDrawio(i18n.language), [i18n.language]);
19185
+ const handleSave = (data) => {
19186
+ if (onChange && data.xml) {
19187
+ onChange(data.xml);
19188
+ }
19189
+ };
19190
+ const handleAutoSave = (data) => {
19191
+ if (onChange && data.xml) {
19192
+ onChange(data.xml);
19193
+ }
19194
+ };
19195
+ const handleLoad = () => {
19196
+ setIsLoading(false);
19197
+ };
19198
+ return /* @__PURE__ */ import_react8.default.createElement(
19199
+ "div",
19200
+ {
19201
+ style: {
19202
+ border: `1px solid ${token.colorBorder}`,
19203
+ borderRadius: token.borderRadiusLG,
19204
+ overflow: "hidden",
19205
+ backgroundColor: token.colorBgContainer,
19206
+ position: "relative",
19207
+ height: typeof height === "number" ? `${height}px` : height
19208
+ }
19209
+ },
19210
+ isLoading && /* @__PURE__ */ import_react8.default.createElement(
19211
+ "div",
19212
+ {
19213
+ style: {
19214
+ position: "absolute",
19215
+ top: 0,
19216
+ left: 0,
19217
+ right: 0,
19218
+ bottom: 0,
19219
+ display: "flex",
19220
+ alignItems: "center",
19221
+ justifyContent: "center",
19222
+ backgroundColor: token.colorBgContainer,
19223
+ zIndex: 10
19224
+ }
19225
+ },
19226
+ /* @__PURE__ */ import_react8.default.createElement(import_lib7.Spin, { tip: t("components.drawioEditor.loading", "Loading diagram editor...") })
19227
+ ),
19228
+ /* @__PURE__ */ import_react8.default.createElement(
19229
+ import_react_drawio.DrawIoEmbed,
19230
+ {
19231
+ ref: drawioRef,
19232
+ xml: value,
19233
+ autosave: autosave && !disabled,
19234
+ urlParameters: {
19235
+ ui: "kennedy",
19236
+ spin: true,
19237
+ libraries: true,
19238
+ saveAndExit: false,
19239
+ noSaveBtn: disabled,
19240
+ noExitBtn: true,
19241
+ lang: drawioLang
19242
+ },
19243
+ onLoad: handleLoad,
19244
+ onSave: handleSave,
19245
+ onAutoSave: handleAutoSave
19246
+ }
19247
+ )
19248
+ );
19249
+ };
19250
+
19251
+ // src/pages/login/index.tsx
19252
+ var import_react9 = __toESM(require("react"));
19253
+ var import_core18 = require("@refinedev/core");
19254
+ var import_lib8 = require("antd/lib");
18912
19255
  var import_antd4 = require("@refinedev/antd");
18913
19256
  var import_react_router = require("react-router");
18914
- var { Title, Link } = import_lib7.Typography;
19257
+ var { Title, Link } = import_lib8.Typography;
18915
19258
  var LoginPage = () => {
18916
- const [form] = import_lib7.Form.useForm();
19259
+ const [form] = import_lib8.Form.useForm();
18917
19260
  const { mutate: login, isPending } = (0, import_core18.useLogin)();
18918
19261
  const isLoading = isPending;
18919
19262
  const translate = (0, import_core18.useTranslate)();
18920
- const { token } = import_lib7.theme.useToken();
19263
+ const { token } = import_lib8.theme.useToken();
18921
19264
  const navigate = (0, import_react_router.useNavigate)();
18922
19265
  const onFinish = async (values) => {
18923
19266
  login(values);
18924
19267
  };
18925
- return /* @__PURE__ */ import_react8.default.createElement(
18926
- import_lib7.Layout,
19268
+ return /* @__PURE__ */ import_react9.default.createElement(
19269
+ import_lib8.Layout,
18927
19270
  {
18928
19271
  style: {
18929
19272
  height: "100vh",
@@ -18932,15 +19275,15 @@ var LoginPage = () => {
18932
19275
  backgroundColor: token.colorBgContainer
18933
19276
  }
18934
19277
  },
18935
- /* @__PURE__ */ import_react8.default.createElement("div", { style: { marginBottom: "24px" } }, /* @__PURE__ */ import_react8.default.createElement(
19278
+ /* @__PURE__ */ import_react9.default.createElement("div", { style: { marginBottom: "24px" } }, /* @__PURE__ */ import_react9.default.createElement(
18936
19279
  import_antd4.ThemedTitle,
18937
19280
  {
18938
19281
  collapsed: false,
18939
19282
  wrapperStyles: { fontSize: "22px", justifyContent: "center" }
18940
19283
  }
18941
19284
  )),
18942
- /* @__PURE__ */ import_react8.default.createElement(
18943
- import_lib7.Card,
19285
+ /* @__PURE__ */ import_react9.default.createElement(
19286
+ import_lib8.Card,
18944
19287
  {
18945
19288
  style: {
18946
19289
  width: "100%",
@@ -18949,9 +19292,9 @@ var LoginPage = () => {
18949
19292
  boxShadow: "0 4px 24px -4px rgba(0, 0, 0, 0.1)"
18950
19293
  }
18951
19294
  },
18952
- /* @__PURE__ */ import_react8.default.createElement("div", { style: { textAlign: "center", marginBottom: "32px" } }, /* @__PURE__ */ import_react8.default.createElement(Title, { level: 3, style: { color: token.colorPrimary, margin: 0 } }, translate("pages.login.title", "Sign in to your account")), /* @__PURE__ */ import_react8.default.createElement(import_lib7.Typography.Text, { type: "secondary", style: { fontSize: "14px", marginTop: "8px", display: "block" } }, "Log in using a local account")),
18953
- /* @__PURE__ */ import_react8.default.createElement(
18954
- import_lib7.Form,
19295
+ /* @__PURE__ */ import_react9.default.createElement("div", { style: { textAlign: "center", marginBottom: "32px" } }, /* @__PURE__ */ import_react9.default.createElement(Title, { level: 3, style: { color: token.colorPrimary, margin: 0 } }, translate("pages.login.title", "Sign in to your account")), /* @__PURE__ */ import_react9.default.createElement(import_lib8.Typography.Text, { type: "secondary", style: { fontSize: "14px", marginTop: "8px", display: "block" } }, "Log in using a local account")),
19296
+ /* @__PURE__ */ import_react9.default.createElement(
19297
+ import_lib8.Form,
18955
19298
  {
18956
19299
  layout: "vertical",
18957
19300
  form,
@@ -18960,8 +19303,8 @@ var LoginPage = () => {
18960
19303
  remember: false
18961
19304
  }
18962
19305
  },
18963
- /* @__PURE__ */ import_react8.default.createElement(
18964
- import_lib7.Form.Item,
19306
+ /* @__PURE__ */ import_react9.default.createElement(
19307
+ import_lib8.Form.Item,
18965
19308
  {
18966
19309
  label: translate("pages.login.fields.username", "Username"),
18967
19310
  name: "username",
@@ -18975,10 +19318,10 @@ var LoginPage = () => {
18975
19318
  }
18976
19319
  ]
18977
19320
  },
18978
- /* @__PURE__ */ import_react8.default.createElement(import_lib7.Input, { size: "large", placeholder: "Username" })
19321
+ /* @__PURE__ */ import_react9.default.createElement(import_lib8.Input, { size: "large", placeholder: "Username" })
18979
19322
  ),
18980
- /* @__PURE__ */ import_react8.default.createElement(
18981
- import_lib7.Form.Item,
19323
+ /* @__PURE__ */ import_react9.default.createElement(
19324
+ import_lib8.Form.Item,
18982
19325
  {
18983
19326
  label: translate("pages.login.fields.password", "Password"),
18984
19327
  name: "password",
@@ -18992,9 +19335,9 @@ var LoginPage = () => {
18992
19335
  }
18993
19336
  ]
18994
19337
  },
18995
- /* @__PURE__ */ import_react8.default.createElement(import_lib7.Input.Password, { size: "large", placeholder: "Password" })
19338
+ /* @__PURE__ */ import_react9.default.createElement(import_lib8.Input.Password, { size: "large", placeholder: "Password" })
18996
19339
  ),
18997
- /* @__PURE__ */ import_react8.default.createElement(
19340
+ /* @__PURE__ */ import_react9.default.createElement(
18998
19341
  "div",
18999
19342
  {
19000
19343
  style: {
@@ -19003,8 +19346,8 @@ var LoginPage = () => {
19003
19346
  marginBottom: "24px"
19004
19347
  }
19005
19348
  },
19006
- /* @__PURE__ */ import_react8.default.createElement(import_lib7.Form.Item, { name: "remember", valuePropName: "checked", noStyle: true }, /* @__PURE__ */ import_react8.default.createElement(import_lib7.Checkbox, null, translate("pages.login.buttons.rememberMe", "Remember me"))),
19007
- /* @__PURE__ */ import_react8.default.createElement(
19349
+ /* @__PURE__ */ import_react9.default.createElement(import_lib8.Form.Item, { name: "remember", valuePropName: "checked", noStyle: true }, /* @__PURE__ */ import_react9.default.createElement(import_lib8.Checkbox, null, translate("pages.login.buttons.rememberMe", "Remember me"))),
19350
+ /* @__PURE__ */ import_react9.default.createElement(
19008
19351
  Link,
19009
19352
  {
19010
19353
  onClick: () => {
@@ -19014,8 +19357,8 @@ var LoginPage = () => {
19014
19357
  translate("pages.login.buttons.forgotPassword", "Forgot password?")
19015
19358
  )
19016
19359
  ),
19017
- /* @__PURE__ */ import_react8.default.createElement(import_lib7.Form.Item, null, /* @__PURE__ */ import_react8.default.createElement(
19018
- import_lib7.Button,
19360
+ /* @__PURE__ */ import_react9.default.createElement(import_lib8.Form.Item, null, /* @__PURE__ */ import_react9.default.createElement(
19361
+ import_lib8.Button,
19019
19362
  {
19020
19363
  type: "primary",
19021
19364
  htmlType: "submit",
@@ -19025,9 +19368,9 @@ var LoginPage = () => {
19025
19368
  },
19026
19369
  translate("pages.login.signin", "Sign in")
19027
19370
  )),
19028
- /* @__PURE__ */ import_react8.default.createElement(import_lib7.Divider, { plain: true }, "or"),
19029
- /* @__PURE__ */ import_react8.default.createElement(
19030
- import_lib7.Button,
19371
+ /* @__PURE__ */ import_react9.default.createElement(import_lib8.Divider, { plain: true }, "or"),
19372
+ /* @__PURE__ */ import_react9.default.createElement(
19373
+ import_lib8.Button,
19031
19374
  {
19032
19375
  block: true,
19033
19376
  size: "large",
@@ -19041,23 +19384,23 @@ var LoginPage = () => {
19041
19384
  };
19042
19385
 
19043
19386
  // src/pages/login/keycloak.tsx
19044
- var import_react9 = __toESM(require("react"));
19387
+ var import_react10 = __toESM(require("react"));
19045
19388
  var import_core19 = require("@refinedev/core");
19046
- var import_lib8 = require("antd/lib");
19389
+ var import_lib9 = require("antd/lib");
19047
19390
  var import_antd5 = require("@refinedev/antd");
19048
19391
  var import_react_router2 = require("react-router");
19049
- var { Title: Title2 } = import_lib8.Typography;
19392
+ var { Title: Title2 } = import_lib9.Typography;
19050
19393
  var KeycloakLoginPage = () => {
19051
19394
  const { mutate: login, isPending } = (0, import_core19.useLogin)();
19052
19395
  const isLoading = isPending;
19053
19396
  const translate = (0, import_core19.useTranslate)();
19054
- const { token } = import_lib8.theme.useToken();
19397
+ const { token } = import_lib9.theme.useToken();
19055
19398
  const navigate = (0, import_react_router2.useNavigate)();
19056
19399
  const handleKeycloakLogin = () => {
19057
19400
  login({ provider: "keycloak" });
19058
19401
  };
19059
- return /* @__PURE__ */ import_react9.default.createElement(
19060
- import_lib8.Layout,
19402
+ return /* @__PURE__ */ import_react10.default.createElement(
19403
+ import_lib9.Layout,
19061
19404
  {
19062
19405
  style: {
19063
19406
  height: "100vh",
@@ -19066,15 +19409,15 @@ var KeycloakLoginPage = () => {
19066
19409
  backgroundColor: token.colorBgContainer
19067
19410
  }
19068
19411
  },
19069
- /* @__PURE__ */ import_react9.default.createElement("div", { style: { marginBottom: "24px" } }, /* @__PURE__ */ import_react9.default.createElement(
19412
+ /* @__PURE__ */ import_react10.default.createElement("div", { style: { marginBottom: "24px" } }, /* @__PURE__ */ import_react10.default.createElement(
19070
19413
  import_antd5.ThemedTitle,
19071
19414
  {
19072
19415
  collapsed: false,
19073
19416
  wrapperStyles: { fontSize: "22px", justifyContent: "center" }
19074
19417
  }
19075
19418
  )),
19076
- /* @__PURE__ */ import_react9.default.createElement(
19077
- import_lib8.Card,
19419
+ /* @__PURE__ */ import_react10.default.createElement(
19420
+ import_lib9.Card,
19078
19421
  {
19079
19422
  style: {
19080
19423
  width: "100%",
@@ -19083,9 +19426,9 @@ var KeycloakLoginPage = () => {
19083
19426
  boxShadow: "0 4px 24px -4px rgba(0, 0, 0, 0.1)"
19084
19427
  }
19085
19428
  },
19086
- /* @__PURE__ */ import_react9.default.createElement("div", { style: { textAlign: "center", marginBottom: "32px" } }, /* @__PURE__ */ import_react9.default.createElement(Title2, { level: 3, style: { color: token.colorPrimary, margin: 0 } }, translate("pages.login.title", "Sign in to your account")), /* @__PURE__ */ import_react9.default.createElement(import_lib8.Typography.Text, { type: "secondary", style: { fontSize: "14px", marginTop: "8px", display: "block" } }, "Choose your authentication method")),
19087
- /* @__PURE__ */ import_react9.default.createElement(
19088
- import_lib8.Button,
19429
+ /* @__PURE__ */ import_react10.default.createElement("div", { style: { textAlign: "center", marginBottom: "32px" } }, /* @__PURE__ */ import_react10.default.createElement(Title2, { level: 3, style: { color: token.colorPrimary, margin: 0 } }, translate("pages.login.title", "Sign in to your account")), /* @__PURE__ */ import_react10.default.createElement(import_lib9.Typography.Text, { type: "secondary", style: { fontSize: "14px", marginTop: "8px", display: "block" } }, "Choose your authentication method")),
19430
+ /* @__PURE__ */ import_react10.default.createElement(
19431
+ import_lib9.Button,
19089
19432
  {
19090
19433
  type: "primary",
19091
19434
  block: true,
@@ -19096,9 +19439,9 @@ var KeycloakLoginPage = () => {
19096
19439
  },
19097
19440
  "Sign in with Keycloak"
19098
19441
  ),
19099
- /* @__PURE__ */ import_react9.default.createElement(import_lib8.Divider, { plain: true }, "or"),
19100
- /* @__PURE__ */ import_react9.default.createElement(
19101
- import_lib8.Button,
19442
+ /* @__PURE__ */ import_react10.default.createElement(import_lib9.Divider, { plain: true }, "or"),
19443
+ /* @__PURE__ */ import_react10.default.createElement(
19444
+ import_lib9.Button,
19102
19445
  {
19103
19446
  block: true,
19104
19447
  size: "large",
@@ -19111,15 +19454,15 @@ var KeycloakLoginPage = () => {
19111
19454
  };
19112
19455
 
19113
19456
  // src/pages/auth/AuthCallback.tsx
19114
- var import_react10 = __toESM(require("react"));
19457
+ var import_react11 = __toESM(require("react"));
19115
19458
  var import_core20 = require("@refinedev/core");
19116
19459
  var import_antd6 = require("antd");
19117
19460
  var AuthCallback = () => {
19118
19461
  const { mutate: login } = (0, import_core20.useLogin)();
19119
- const [error, setError] = (0, import_react10.useState)(null);
19120
- const [processing, setProcessing] = (0, import_react10.useState)(false);
19121
- const hasProcessed = (0, import_react10.useRef)(false);
19122
- (0, import_react10.useEffect)(() => {
19462
+ const [error, setError] = (0, import_react11.useState)(null);
19463
+ const [processing, setProcessing] = (0, import_react11.useState)(false);
19464
+ const hasProcessed = (0, import_react11.useRef)(false);
19465
+ (0, import_react11.useEffect)(() => {
19123
19466
  if (hasProcessed.current || processing) {
19124
19467
  return;
19125
19468
  }
@@ -19162,13 +19505,13 @@ var AuthCallback = () => {
19162
19505
  handleCallback();
19163
19506
  }, [login, processing]);
19164
19507
  if (error) {
19165
- return /* @__PURE__ */ import_react10.default.createElement(
19508
+ return /* @__PURE__ */ import_react11.default.createElement(
19166
19509
  import_antd6.Result,
19167
19510
  {
19168
19511
  status: "error",
19169
19512
  title: "Authentication Failed",
19170
19513
  subTitle: error,
19171
- extra: /* @__PURE__ */ import_react10.default.createElement(
19514
+ extra: /* @__PURE__ */ import_react11.default.createElement(
19172
19515
  "button",
19173
19516
  {
19174
19517
  onClick: () => window.location.href = "/login",
@@ -19186,7 +19529,7 @@ var AuthCallback = () => {
19186
19529
  }
19187
19530
  );
19188
19531
  }
19189
- return /* @__PURE__ */ import_react10.default.createElement(
19532
+ return /* @__PURE__ */ import_react11.default.createElement(
19190
19533
  "div",
19191
19534
  {
19192
19535
  style: {
@@ -19198,23 +19541,23 @@ var AuthCallback = () => {
19198
19541
  gap: "16px"
19199
19542
  }
19200
19543
  },
19201
- /* @__PURE__ */ import_react10.default.createElement(import_antd6.Spin, { size: "large" }),
19202
- /* @__PURE__ */ import_react10.default.createElement("p", null, "Completing authentication...")
19544
+ /* @__PURE__ */ import_react11.default.createElement(import_antd6.Spin, { size: "large" }),
19545
+ /* @__PURE__ */ import_react11.default.createElement("p", null, "Completing authentication...")
19203
19546
  );
19204
19547
  };
19205
19548
 
19206
19549
  // src/pages/application-users/list.tsx
19207
- var import_react11 = __toESM(require("react"));
19550
+ var import_react12 = __toESM(require("react"));
19208
19551
  var import_core21 = require("@refinedev/core");
19209
19552
  var import_antd7 = require("@refinedev/antd");
19210
- var import_lib9 = require("antd/lib");
19553
+ var import_lib10 = require("antd/lib");
19211
19554
  var import_icons5 = require("@ant-design/icons");
19212
19555
  var ApplicationUserList = () => {
19213
- const [isModalOpen, setIsModalOpen] = (0, import_react11.useState)(false);
19214
- const [selectedUser, setSelectedUser] = (0, import_react11.useState)(null);
19215
- const [form] = import_lib9.Form.useForm();
19556
+ const [isModalOpen, setIsModalOpen] = (0, import_react12.useState)(false);
19557
+ const [selectedUser, setSelectedUser] = (0, import_react12.useState)(null);
19558
+ const [form] = import_lib10.Form.useForm();
19216
19559
  const { open } = (0, import_core21.useNotification)();
19217
- const [isLoading, setIsLoading] = (0, import_react11.useState)(false);
19560
+ const [isLoading, setIsLoading] = (0, import_react12.useState)(false);
19218
19561
  const handleResetPasswordClick = (user) => {
19219
19562
  setSelectedUser(user);
19220
19563
  setIsModalOpen(true);
@@ -19244,21 +19587,21 @@ var ApplicationUserList = () => {
19244
19587
  setIsLoading(false);
19245
19588
  }
19246
19589
  };
19247
- return /* @__PURE__ */ import_react11.default.createElement(import_react11.default.Fragment, null, /* @__PURE__ */ import_react11.default.createElement(
19590
+ return /* @__PURE__ */ import_react12.default.createElement(import_react12.default.Fragment, null, /* @__PURE__ */ import_react12.default.createElement(
19248
19591
  SmartList,
19249
19592
  {
19250
19593
  searchFields: ["UserName", "DisplayName", "Email"]
19251
19594
  },
19252
- /* @__PURE__ */ import_react11.default.createElement(
19253
- import_lib9.Table.Column,
19595
+ /* @__PURE__ */ import_react12.default.createElement(
19596
+ import_lib10.Table.Column,
19254
19597
  {
19255
19598
  dataIndex: "Photo",
19256
19599
  title: "Photo",
19257
- render: (value) => value ? /* @__PURE__ */ import_react11.default.createElement("img", { src: `data:image/png;base64,${value}`, alt: "User", style: { height: 40, width: 40, objectFit: "cover", borderRadius: "50%" } }) : "-"
19600
+ render: (value) => value ? /* @__PURE__ */ import_react12.default.createElement("img", { src: `data:image/png;base64,${value}`, alt: "User", style: { height: 40, width: 40, objectFit: "cover", borderRadius: "50%" } }) : "-"
19258
19601
  }
19259
19602
  ),
19260
- /* @__PURE__ */ import_react11.default.createElement(
19261
- import_lib9.Table.Column,
19603
+ /* @__PURE__ */ import_react12.default.createElement(
19604
+ import_lib10.Table.Column,
19262
19605
  {
19263
19606
  dataIndex: "DisplayName",
19264
19607
  title: "Display Name",
@@ -19267,8 +19610,8 @@ var ApplicationUserList = () => {
19267
19610
  defaultVisible: true
19268
19611
  }
19269
19612
  ),
19270
- /* @__PURE__ */ import_react11.default.createElement(
19271
- import_lib9.Table.Column,
19613
+ /* @__PURE__ */ import_react12.default.createElement(
19614
+ import_lib10.Table.Column,
19272
19615
  {
19273
19616
  dataIndex: "UserName",
19274
19617
  title: "User Name",
@@ -19276,47 +19619,47 @@ var ApplicationUserList = () => {
19276
19619
  defaultVisible: true
19277
19620
  }
19278
19621
  ),
19279
- /* @__PURE__ */ import_react11.default.createElement(
19280
- import_lib9.Table.Column,
19622
+ /* @__PURE__ */ import_react12.default.createElement(
19623
+ import_lib10.Table.Column,
19281
19624
  {
19282
19625
  dataIndex: "Email",
19283
19626
  title: "Email",
19284
19627
  sorter: true
19285
19628
  }
19286
19629
  ),
19287
- /* @__PURE__ */ import_react11.default.createElement(
19288
- import_lib9.Table.Column,
19630
+ /* @__PURE__ */ import_react12.default.createElement(
19631
+ import_lib10.Table.Column,
19289
19632
  {
19290
19633
  dataIndex: "IsActive",
19291
19634
  title: "Active",
19292
- render: (value) => /* @__PURE__ */ import_react11.default.createElement(import_lib9.Checkbox, { checked: value, disabled: true }),
19635
+ render: (value) => /* @__PURE__ */ import_react12.default.createElement(import_lib10.Checkbox, { checked: value, disabled: true }),
19293
19636
  sorter: true
19294
19637
  }
19295
19638
  ),
19296
- /* @__PURE__ */ import_react11.default.createElement(
19297
- import_lib9.Table.Column,
19639
+ /* @__PURE__ */ import_react12.default.createElement(
19640
+ import_lib10.Table.Column,
19298
19641
  {
19299
19642
  dataIndex: "AccessFailedCount",
19300
19643
  title: "Access Failed Count"
19301
19644
  }
19302
19645
  ),
19303
- /* @__PURE__ */ import_react11.default.createElement(
19304
- import_lib9.Table.Column,
19646
+ /* @__PURE__ */ import_react12.default.createElement(
19647
+ import_lib10.Table.Column,
19305
19648
  {
19306
19649
  title: "Actions",
19307
19650
  dataIndex: "actions",
19308
- render: (_, record) => /* @__PURE__ */ import_react11.default.createElement(import_lib9.Space, null, /* @__PURE__ */ import_react11.default.createElement(import_lib9.Tooltip, { title: "Reset Password" }, /* @__PURE__ */ import_react11.default.createElement(
19309
- import_lib9.Button,
19651
+ render: (_, record) => /* @__PURE__ */ import_react12.default.createElement(import_lib10.Space, null, /* @__PURE__ */ import_react12.default.createElement(import_lib10.Tooltip, { title: "Reset Password" }, /* @__PURE__ */ import_react12.default.createElement(
19652
+ import_lib10.Button,
19310
19653
  {
19311
19654
  size: "small",
19312
- icon: /* @__PURE__ */ import_react11.default.createElement(import_icons5.KeyOutlined, null),
19655
+ icon: /* @__PURE__ */ import_react12.default.createElement(import_icons5.KeyOutlined, null),
19313
19656
  onClick: () => handleResetPasswordClick(record)
19314
19657
  }
19315
- )), /* @__PURE__ */ import_react11.default.createElement(import_antd7.EditButton, { hideText: true, size: "small", recordItemId: record.Oid }), /* @__PURE__ */ import_react11.default.createElement(import_antd7.DeleteButton, { hideText: true, size: "small", recordItemId: record.Oid }))
19658
+ )), /* @__PURE__ */ import_react12.default.createElement(import_antd7.EditButton, { hideText: true, size: "small", recordItemId: record.Oid }), /* @__PURE__ */ import_react12.default.createElement(import_antd7.DeleteButton, { hideText: true, size: "small", recordItemId: record.Oid }))
19316
19659
  }
19317
19660
  )
19318
- ), /* @__PURE__ */ import_react11.default.createElement(
19319
- import_lib9.Modal,
19661
+ ), /* @__PURE__ */ import_react12.default.createElement(
19662
+ import_lib10.Modal,
19320
19663
  {
19321
19664
  title: `Reset Password for ${selectedUser?.DisplayName || selectedUser?.UserName}`,
19322
19665
  open: isModalOpen,
@@ -19324,27 +19667,27 @@ var ApplicationUserList = () => {
19324
19667
  onOk: () => form.submit(),
19325
19668
  confirmLoading: isLoading
19326
19669
  },
19327
- /* @__PURE__ */ import_react11.default.createElement(import_lib9.Form, { form, onFinish: handleResetPasswordSubmit, layout: "vertical" }, /* @__PURE__ */ import_react11.default.createElement("div", { style: { display: "flex", gap: 8, alignItems: "flex-end" } }, /* @__PURE__ */ import_react11.default.createElement(
19328
- import_lib9.Form.Item,
19670
+ /* @__PURE__ */ import_react12.default.createElement(import_lib10.Form, { form, onFinish: handleResetPasswordSubmit, layout: "vertical" }, /* @__PURE__ */ import_react12.default.createElement("div", { style: { display: "flex", gap: 8, alignItems: "flex-end" } }, /* @__PURE__ */ import_react12.default.createElement(
19671
+ import_lib10.Form.Item,
19329
19672
  {
19330
19673
  name: "password",
19331
19674
  label: "New Password",
19332
19675
  style: { flex: 1, marginBottom: 0 },
19333
19676
  rules: [{ required: true, message: "Please input the new password!" }]
19334
19677
  },
19335
- /* @__PURE__ */ import_react11.default.createElement(import_lib9.Input.Password, { placeholder: "Enter new password" })
19336
- ), /* @__PURE__ */ import_react11.default.createElement(import_lib9.Tooltip, { title: "Generate Complex Password" }, /* @__PURE__ */ import_react11.default.createElement(import_lib9.Button, { icon: /* @__PURE__ */ import_react11.default.createElement(import_icons5.ThunderboltOutlined, null), onClick: handleGeneratePassword }))))
19678
+ /* @__PURE__ */ import_react12.default.createElement(import_lib10.Input.Password, { placeholder: "Enter new password" })
19679
+ ), /* @__PURE__ */ import_react12.default.createElement(import_lib10.Tooltip, { title: "Generate Complex Password" }, /* @__PURE__ */ import_react12.default.createElement(import_lib10.Button, { icon: /* @__PURE__ */ import_react12.default.createElement(import_icons5.ThunderboltOutlined, null), onClick: handleGeneratePassword }))))
19337
19680
  ));
19338
19681
  };
19339
19682
 
19340
19683
  // src/pages/application-users/create.tsx
19341
- var import_react12 = __toESM(require("react"));
19684
+ var import_react13 = __toESM(require("react"));
19342
19685
  var import_antd8 = require("@refinedev/antd");
19343
- var import_lib10 = require("antd/lib");
19686
+ var import_lib11 = require("antd/lib");
19344
19687
  var ApplicationUserCreate = () => {
19345
19688
  const { formProps, saveButtonProps } = (0, import_antd8.useForm)();
19346
- return /* @__PURE__ */ import_react12.default.createElement(import_antd8.Create, { saveButtonProps }, /* @__PURE__ */ import_react12.default.createElement(import_lib10.Form, { ...formProps, layout: "vertical" }, /* @__PURE__ */ import_react12.default.createElement(
19347
- import_lib10.Form.Item,
19689
+ return /* @__PURE__ */ import_react13.default.createElement(import_antd8.Create, { saveButtonProps }, /* @__PURE__ */ import_react13.default.createElement(import_lib11.Form, { ...formProps, layout: "vertical" }, /* @__PURE__ */ import_react13.default.createElement(
19690
+ import_lib11.Form.Item,
19348
19691
  {
19349
19692
  label: "User Name",
19350
19693
  name: "UserName",
@@ -19354,16 +19697,16 @@ var ApplicationUserCreate = () => {
19354
19697
  }
19355
19698
  ]
19356
19699
  },
19357
- /* @__PURE__ */ import_react12.default.createElement(import_lib10.Input, null)
19358
- ), /* @__PURE__ */ import_react12.default.createElement(
19359
- import_lib10.Form.Item,
19700
+ /* @__PURE__ */ import_react13.default.createElement(import_lib11.Input, null)
19701
+ ), /* @__PURE__ */ import_react13.default.createElement(
19702
+ import_lib11.Form.Item,
19360
19703
  {
19361
19704
  label: "Display Name",
19362
19705
  name: "DisplayName"
19363
19706
  },
19364
- /* @__PURE__ */ import_react12.default.createElement(import_lib10.Input, null)
19365
- ), /* @__PURE__ */ import_react12.default.createElement(
19366
- import_lib10.Form.Item,
19707
+ /* @__PURE__ */ import_react13.default.createElement(import_lib11.Input, null)
19708
+ ), /* @__PURE__ */ import_react13.default.createElement(
19709
+ import_lib11.Form.Item,
19367
19710
  {
19368
19711
  label: "Email",
19369
19712
  name: "Email",
@@ -19373,32 +19716,32 @@ var ApplicationUserCreate = () => {
19373
19716
  }
19374
19717
  ]
19375
19718
  },
19376
- /* @__PURE__ */ import_react12.default.createElement(import_lib10.Input, null)
19377
- ), /* @__PURE__ */ import_react12.default.createElement(
19378
- import_lib10.Form.Item,
19719
+ /* @__PURE__ */ import_react13.default.createElement(import_lib11.Input, null)
19720
+ ), /* @__PURE__ */ import_react13.default.createElement(
19721
+ import_lib11.Form.Item,
19379
19722
  {
19380
19723
  label: "Is Active",
19381
19724
  name: "IsActive",
19382
19725
  valuePropName: "checked",
19383
19726
  initialValue: true
19384
19727
  },
19385
- /* @__PURE__ */ import_react12.default.createElement(import_lib10.Checkbox, null, "Active")
19386
- ), /* @__PURE__ */ import_react12.default.createElement(
19387
- import_lib10.Form.Item,
19728
+ /* @__PURE__ */ import_react13.default.createElement(import_lib11.Checkbox, null, "Active")
19729
+ ), /* @__PURE__ */ import_react13.default.createElement(
19730
+ import_lib11.Form.Item,
19388
19731
  {
19389
19732
  label: "Photo",
19390
19733
  name: "Photo"
19391
19734
  },
19392
- /* @__PURE__ */ import_react12.default.createElement(Base64Upload, null)
19735
+ /* @__PURE__ */ import_react13.default.createElement(Base64Upload, null)
19393
19736
  )));
19394
19737
  };
19395
19738
 
19396
19739
  // src/pages/application-users/edit.tsx
19397
- var import_react13 = __toESM(require("react"));
19740
+ var import_react14 = __toESM(require("react"));
19398
19741
  var import_antd9 = require("@refinedev/antd");
19399
- var import_lib11 = require("antd/lib");
19742
+ var import_lib12 = require("antd/lib");
19400
19743
  var ApplicationUserEdit = () => {
19401
- const { message: message2 } = import_lib11.App.useApp();
19744
+ const { message: message2 } = import_lib12.App.useApp();
19402
19745
  const { formProps, saveButtonProps, id, form } = (0, import_antd9.useForm)({
19403
19746
  meta: {
19404
19747
  expand: ["Roles"]
@@ -19437,8 +19780,8 @@ var ApplicationUserEdit = () => {
19437
19780
  const { Roles, ...userValues } = values;
19438
19781
  formProps.onFinish?.(userValues);
19439
19782
  };
19440
- return /* @__PURE__ */ import_react13.default.createElement(import_antd9.Edit, { saveButtonProps }, /* @__PURE__ */ import_react13.default.createElement(import_lib11.Form, { ...formProps, layout: "vertical", onFinish: handleOnFinish }, /* @__PURE__ */ import_react13.default.createElement(
19441
- import_lib11.Form.Item,
19783
+ return /* @__PURE__ */ import_react14.default.createElement(import_antd9.Edit, { saveButtonProps }, /* @__PURE__ */ import_react14.default.createElement(import_lib12.Form, { ...formProps, layout: "vertical", onFinish: handleOnFinish }, /* @__PURE__ */ import_react14.default.createElement(
19784
+ import_lib12.Form.Item,
19442
19785
  {
19443
19786
  label: "User Name",
19444
19787
  name: "UserName",
@@ -19448,16 +19791,16 @@ var ApplicationUserEdit = () => {
19448
19791
  }
19449
19792
  ]
19450
19793
  },
19451
- /* @__PURE__ */ import_react13.default.createElement(import_lib11.Input, null)
19452
- ), /* @__PURE__ */ import_react13.default.createElement(
19453
- import_lib11.Form.Item,
19794
+ /* @__PURE__ */ import_react14.default.createElement(import_lib12.Input, null)
19795
+ ), /* @__PURE__ */ import_react14.default.createElement(
19796
+ import_lib12.Form.Item,
19454
19797
  {
19455
19798
  label: "Display Name",
19456
19799
  name: "DisplayName"
19457
19800
  },
19458
- /* @__PURE__ */ import_react13.default.createElement(import_lib11.Input, null)
19459
- ), /* @__PURE__ */ import_react13.default.createElement(
19460
- import_lib11.Form.Item,
19801
+ /* @__PURE__ */ import_react14.default.createElement(import_lib12.Input, null)
19802
+ ), /* @__PURE__ */ import_react14.default.createElement(
19803
+ import_lib12.Form.Item,
19461
19804
  {
19462
19805
  label: "Email",
19463
19806
  name: "Email",
@@ -19467,17 +19810,17 @@ var ApplicationUserEdit = () => {
19467
19810
  }
19468
19811
  ]
19469
19812
  },
19470
- /* @__PURE__ */ import_react13.default.createElement(import_lib11.Input, null)
19471
- ), /* @__PURE__ */ import_react13.default.createElement(
19472
- import_lib11.Form.Item,
19813
+ /* @__PURE__ */ import_react14.default.createElement(import_lib12.Input, null)
19814
+ ), /* @__PURE__ */ import_react14.default.createElement(
19815
+ import_lib12.Form.Item,
19473
19816
  {
19474
19817
  label: "Is Active",
19475
19818
  name: "IsActive",
19476
19819
  valuePropName: "checked"
19477
19820
  },
19478
- /* @__PURE__ */ import_react13.default.createElement(import_lib11.Checkbox, null, "Active")
19479
- ), /* @__PURE__ */ import_react13.default.createElement(
19480
- import_lib11.Form.Item,
19821
+ /* @__PURE__ */ import_react14.default.createElement(import_lib12.Checkbox, null, "Active")
19822
+ ), /* @__PURE__ */ import_react14.default.createElement(
19823
+ import_lib12.Form.Item,
19481
19824
  {
19482
19825
  label: "Roles",
19483
19826
  name: "Roles",
@@ -19495,50 +19838,50 @@ var ApplicationUserEdit = () => {
19495
19838
  return { value: [] };
19496
19839
  }
19497
19840
  },
19498
- /* @__PURE__ */ import_react13.default.createElement(import_lib11.Select, { ...roleSelectProps, mode: "multiple" })
19499
- ), /* @__PURE__ */ import_react13.default.createElement(
19500
- import_lib11.Form.Item,
19841
+ /* @__PURE__ */ import_react14.default.createElement(import_lib12.Select, { ...roleSelectProps, mode: "multiple" })
19842
+ ), /* @__PURE__ */ import_react14.default.createElement(
19843
+ import_lib12.Form.Item,
19501
19844
  {
19502
19845
  label: "Photo",
19503
19846
  name: "Photo"
19504
19847
  },
19505
- /* @__PURE__ */ import_react13.default.createElement(Base64Upload, null)
19848
+ /* @__PURE__ */ import_react14.default.createElement(Base64Upload, null)
19506
19849
  )));
19507
19850
  };
19508
19851
 
19509
19852
  // src/pages/roles/list.tsx
19510
- var import_react14 = __toESM(require("react"));
19853
+ var import_react15 = __toESM(require("react"));
19511
19854
  var import_antd10 = require("@refinedev/antd");
19512
- var import_lib12 = require("antd/lib");
19855
+ var import_lib13 = require("antd/lib");
19513
19856
  var RoleList = () => {
19514
19857
  const { tableProps } = (0, import_antd10.useTable)({
19515
19858
  syncWithLocation: true
19516
19859
  });
19517
- return /* @__PURE__ */ import_react14.default.createElement(import_antd10.List, null, /* @__PURE__ */ import_react14.default.createElement(import_lib12.Table, { ...tableProps, rowKey: "Oid" }, /* @__PURE__ */ import_react14.default.createElement(import_lib12.Table.Column, { dataIndex: "Name", title: "Name" }), /* @__PURE__ */ import_react14.default.createElement(
19518
- import_lib12.Table.Column,
19860
+ return /* @__PURE__ */ import_react15.default.createElement(import_antd10.List, null, /* @__PURE__ */ import_react15.default.createElement(import_lib13.Table, { ...tableProps, rowKey: "Oid" }, /* @__PURE__ */ import_react15.default.createElement(import_lib13.Table.Column, { dataIndex: "Name", title: "Name" }), /* @__PURE__ */ import_react15.default.createElement(
19861
+ import_lib13.Table.Column,
19519
19862
  {
19520
19863
  dataIndex: "IsAdministrative",
19521
19864
  title: "Is Administrative",
19522
- render: (value) => /* @__PURE__ */ import_react14.default.createElement(import_lib12.Checkbox, { checked: value, disabled: true })
19865
+ render: (value) => /* @__PURE__ */ import_react15.default.createElement(import_lib13.Checkbox, { checked: value, disabled: true })
19523
19866
  }
19524
- ), /* @__PURE__ */ import_react14.default.createElement(import_lib12.Table.Column, { dataIndex: "PermissionPolicy", title: "Permission Policy" }), /* @__PURE__ */ import_react14.default.createElement(
19525
- import_lib12.Table.Column,
19867
+ ), /* @__PURE__ */ import_react15.default.createElement(import_lib13.Table.Column, { dataIndex: "PermissionPolicy", title: "Permission Policy" }), /* @__PURE__ */ import_react15.default.createElement(
19868
+ import_lib13.Table.Column,
19526
19869
  {
19527
19870
  title: "Actions",
19528
19871
  dataIndex: "actions",
19529
- render: (_, record) => /* @__PURE__ */ import_react14.default.createElement(import_lib12.Space, null, /* @__PURE__ */ import_react14.default.createElement(import_antd10.EditButton, { hideText: true, size: "small", recordItemId: record.Oid }), /* @__PURE__ */ import_react14.default.createElement(import_antd10.DeleteButton, { hideText: true, size: "small", recordItemId: record.Oid }))
19872
+ render: (_, record) => /* @__PURE__ */ import_react15.default.createElement(import_lib13.Space, null, /* @__PURE__ */ import_react15.default.createElement(import_antd10.EditButton, { hideText: true, size: "small", recordItemId: record.Oid }), /* @__PURE__ */ import_react15.default.createElement(import_antd10.DeleteButton, { hideText: true, size: "small", recordItemId: record.Oid }))
19530
19873
  }
19531
19874
  )));
19532
19875
  };
19533
19876
 
19534
19877
  // src/pages/roles/create.tsx
19535
- var import_react16 = __toESM(require("react"));
19878
+ var import_react17 = __toESM(require("react"));
19536
19879
  var import_antd12 = require("@refinedev/antd");
19537
- var import_lib14 = require("antd/lib");
19880
+ var import_lib15 = require("antd/lib");
19538
19881
 
19539
19882
  // src/pages/roles/TypePermissionList.tsx
19540
- var import_react15 = __toESM(require("react"));
19541
- var import_lib13 = require("antd/lib");
19883
+ var import_react16 = __toESM(require("react"));
19884
+ var import_lib14 = require("antd/lib");
19542
19885
  var import_antd11 = require("@refinedev/antd");
19543
19886
 
19544
19887
  // src/hooks/useModelTypes.ts
@@ -19566,8 +19909,8 @@ var useModelTypes = () => {
19566
19909
  };
19567
19910
 
19568
19911
  // src/pages/roles/TypePermissionList.tsx
19569
- var PermissionSelect = (props) => /* @__PURE__ */ import_react15.default.createElement(
19570
- import_lib13.Select,
19912
+ var PermissionSelect = (props) => /* @__PURE__ */ import_react16.default.createElement(
19913
+ import_lib14.Select,
19571
19914
  {
19572
19915
  ...props,
19573
19916
  allowClear: true,
@@ -19578,22 +19921,22 @@ var PermissionSelect = (props) => /* @__PURE__ */ import_react15.default.createE
19578
19921
  }
19579
19922
  );
19580
19923
  var TypePermissionFormFields = ({ typeOptions }) => {
19581
- return /* @__PURE__ */ import_react15.default.createElement(import_react15.default.Fragment, null, /* @__PURE__ */ import_react15.default.createElement(
19582
- import_lib13.Form.Item,
19924
+ return /* @__PURE__ */ import_react16.default.createElement(import_react16.default.Fragment, null, /* @__PURE__ */ import_react16.default.createElement(
19925
+ import_lib14.Form.Item,
19583
19926
  {
19584
19927
  label: "Target Type",
19585
19928
  name: "TargetTypeFullName",
19586
19929
  rules: [{ required: true }]
19587
19930
  },
19588
- /* @__PURE__ */ import_react15.default.createElement(
19589
- import_lib13.Select,
19931
+ /* @__PURE__ */ import_react16.default.createElement(
19932
+ import_lib14.Select,
19590
19933
  {
19591
19934
  showSearch: true,
19592
19935
  options: typeOptions,
19593
19936
  filterOption: (input, option) => (option?.label ?? "").toLowerCase().includes(input.toLowerCase())
19594
19937
  }
19595
19938
  )
19596
- ), /* @__PURE__ */ import_react15.default.createElement(import_lib13.Form.Item, { label: "Read State", name: "ReadState" }, /* @__PURE__ */ import_react15.default.createElement(PermissionSelect, null)), /* @__PURE__ */ import_react15.default.createElement(import_lib13.Form.Item, { label: "Write State", name: "WriteState" }, /* @__PURE__ */ import_react15.default.createElement(PermissionSelect, null)), /* @__PURE__ */ import_react15.default.createElement(import_lib13.Form.Item, { label: "Create State", name: "CreateState" }, /* @__PURE__ */ import_react15.default.createElement(PermissionSelect, null)), /* @__PURE__ */ import_react15.default.createElement(import_lib13.Form.Item, { label: "Delete State", name: "DeleteState" }, /* @__PURE__ */ import_react15.default.createElement(PermissionSelect, null)));
19939
+ ), /* @__PURE__ */ import_react16.default.createElement(import_lib14.Form.Item, { label: "Read State", name: "ReadState" }, /* @__PURE__ */ import_react16.default.createElement(PermissionSelect, null)), /* @__PURE__ */ import_react16.default.createElement(import_lib14.Form.Item, { label: "Write State", name: "WriteState" }, /* @__PURE__ */ import_react16.default.createElement(PermissionSelect, null)), /* @__PURE__ */ import_react16.default.createElement(import_lib14.Form.Item, { label: "Create State", name: "CreateState" }, /* @__PURE__ */ import_react16.default.createElement(PermissionSelect, null)), /* @__PURE__ */ import_react16.default.createElement(import_lib14.Form.Item, { label: "Delete State", name: "DeleteState" }, /* @__PURE__ */ import_react16.default.createElement(PermissionSelect, null)));
19597
19940
  };
19598
19941
  var TypePermissionList = ({ masterId }) => {
19599
19942
  const { data: modelTypes } = useModelTypes();
@@ -19613,17 +19956,17 @@ var TypePermissionList = ({ masterId }) => {
19613
19956
  mode: "off"
19614
19957
  }
19615
19958
  });
19616
- const typeOptions = import_react15.default.useMemo(() => modelTypes?.filter((t) => t.IsCreatable && !t.IsDeprecated).map((t) => ({ label: t.Caption, value: t.Name })) || [], [modelTypes]);
19617
- const FormFieldsWrapper = import_react15.default.useMemo(() => {
19618
- return ({ mode }) => /* @__PURE__ */ import_react15.default.createElement(TypePermissionFormFields, { typeOptions });
19959
+ const typeOptions = import_react16.default.useMemo(() => modelTypes?.filter((t) => t.IsCreatable && !t.IsDeprecated).map((t) => ({ label: t.Caption, value: t.Name })) || [], [modelTypes]);
19960
+ const FormFieldsWrapper = import_react16.default.useMemo(() => {
19961
+ return ({ mode }) => /* @__PURE__ */ import_react16.default.createElement(TypePermissionFormFields, { typeOptions });
19619
19962
  }, [typeOptions]);
19620
- const dataSource = import_react15.default.useMemo(() => {
19963
+ const dataSource = import_react16.default.useMemo(() => {
19621
19964
  return (tableProps.dataSource || []).map((p) => ({
19622
19965
  ...p,
19623
19966
  TargetType: p.TargetType || p.TargetTypeFullName || ""
19624
19967
  }));
19625
19968
  }, [tableProps.dataSource]);
19626
- return /* @__PURE__ */ import_react15.default.createElement(
19969
+ return /* @__PURE__ */ import_react16.default.createElement(
19627
19970
  RelatedList,
19628
19971
  {
19629
19972
  resource: "PermissionPolicyTypePermissionObject",
@@ -19634,30 +19977,30 @@ var TypePermissionList = ({ masterId }) => {
19634
19977
  modalTitle: "Type Permission",
19635
19978
  FormFields: FormFieldsWrapper
19636
19979
  },
19637
- /* @__PURE__ */ import_react15.default.createElement(
19638
- import_lib13.Table.Column,
19980
+ /* @__PURE__ */ import_react16.default.createElement(
19981
+ import_lib14.Table.Column,
19639
19982
  {
19640
19983
  dataIndex: "TargetType",
19641
19984
  title: "Target Type",
19642
19985
  render: (value) => typeOptions.find((t) => t.value === value)?.label || value
19643
19986
  }
19644
19987
  ),
19645
- /* @__PURE__ */ import_react15.default.createElement(import_lib13.Table.Column, { dataIndex: "ReadState", title: "Read" }),
19646
- /* @__PURE__ */ import_react15.default.createElement(import_lib13.Table.Column, { dataIndex: "WriteState", title: "Write" }),
19647
- /* @__PURE__ */ import_react15.default.createElement(import_lib13.Table.Column, { dataIndex: "CreateState", title: "Create" }),
19648
- /* @__PURE__ */ import_react15.default.createElement(import_lib13.Table.Column, { dataIndex: "DeleteState", title: "Delete" })
19988
+ /* @__PURE__ */ import_react16.default.createElement(import_lib14.Table.Column, { dataIndex: "ReadState", title: "Read" }),
19989
+ /* @__PURE__ */ import_react16.default.createElement(import_lib14.Table.Column, { dataIndex: "WriteState", title: "Write" }),
19990
+ /* @__PURE__ */ import_react16.default.createElement(import_lib14.Table.Column, { dataIndex: "CreateState", title: "Create" }),
19991
+ /* @__PURE__ */ import_react16.default.createElement(import_lib14.Table.Column, { dataIndex: "DeleteState", title: "Delete" })
19649
19992
  );
19650
19993
  };
19651
19994
 
19652
19995
  // src/pages/roles/create.tsx
19653
19996
  var RoleCreate = () => {
19654
- const [form] = import_lib14.Form.useForm();
19997
+ const [form] = import_lib15.Form.useForm();
19655
19998
  const { formProps, saveButtonProps } = (0, import_antd12.useForm)();
19656
19999
  const handleSave = () => {
19657
20000
  form.submit();
19658
20001
  };
19659
- return /* @__PURE__ */ import_react16.default.createElement(import_antd12.Create, { saveButtonProps: { ...saveButtonProps, onClick: handleSave } }, /* @__PURE__ */ import_react16.default.createElement(
19660
- import_lib14.Form,
20002
+ return /* @__PURE__ */ import_react17.default.createElement(import_antd12.Create, { saveButtonProps: { ...saveButtonProps, onClick: handleSave } }, /* @__PURE__ */ import_react17.default.createElement(
20003
+ import_lib15.Form,
19661
20004
  {
19662
20005
  ...formProps,
19663
20006
  form,
@@ -19666,34 +20009,34 @@ var RoleCreate = () => {
19666
20009
  return formProps.onFinish && formProps.onFinish(values);
19667
20010
  }
19668
20011
  },
19669
- /* @__PURE__ */ import_react16.default.createElement(
19670
- import_lib14.Form.Item,
20012
+ /* @__PURE__ */ import_react17.default.createElement(
20013
+ import_lib15.Form.Item,
19671
20014
  {
19672
20015
  label: "Name",
19673
20016
  name: "Name",
19674
20017
  rules: [{ required: true }]
19675
20018
  },
19676
- /* @__PURE__ */ import_react16.default.createElement(import_lib14.Input, null)
20019
+ /* @__PURE__ */ import_react17.default.createElement(import_lib15.Input, null)
19677
20020
  ),
19678
- /* @__PURE__ */ import_react16.default.createElement(
19679
- import_lib14.Form.Item,
20021
+ /* @__PURE__ */ import_react17.default.createElement(
20022
+ import_lib15.Form.Item,
19680
20023
  {
19681
20024
  label: "Is Administrative",
19682
20025
  name: "IsAdministrative",
19683
20026
  valuePropName: "checked"
19684
20027
  },
19685
- /* @__PURE__ */ import_react16.default.createElement(import_lib14.Checkbox, null, "Is Administrative")
20028
+ /* @__PURE__ */ import_react17.default.createElement(import_lib15.Checkbox, null, "Is Administrative")
19686
20029
  ),
19687
- /* @__PURE__ */ import_react16.default.createElement(
19688
- import_lib14.Form.Item,
20030
+ /* @__PURE__ */ import_react17.default.createElement(
20031
+ import_lib15.Form.Item,
19689
20032
  {
19690
20033
  label: "Permission Policy",
19691
20034
  name: "PermissionPolicy",
19692
20035
  initialValue: "DenyAllByDefault" /* DenyAllByDefault */,
19693
20036
  rules: [{ required: true }]
19694
20037
  },
19695
- /* @__PURE__ */ import_react16.default.createElement(
19696
- import_lib14.Select,
20038
+ /* @__PURE__ */ import_react17.default.createElement(
20039
+ import_lib15.Select,
19697
20040
  {
19698
20041
  options: [
19699
20042
  { label: "Deny All By Default", value: "DenyAllByDefault" /* DenyAllByDefault */ },
@@ -19703,21 +20046,21 @@ var RoleCreate = () => {
19703
20046
  }
19704
20047
  )
19705
20048
  ),
19706
- /* @__PURE__ */ import_react16.default.createElement(TypePermissionList, null)
20049
+ /* @__PURE__ */ import_react17.default.createElement(TypePermissionList, null)
19707
20050
  ));
19708
20051
  };
19709
20052
 
19710
20053
  // src/pages/roles/edit.tsx
19711
- var import_react17 = __toESM(require("react"));
20054
+ var import_react18 = __toESM(require("react"));
19712
20055
  var import_antd13 = require("@refinedev/antd");
19713
- var import_lib15 = require("antd/lib");
20056
+ var import_lib16 = require("antd/lib");
19714
20057
  var RoleEdit = () => {
19715
20058
  const { formProps, saveButtonProps, id } = (0, import_antd13.useForm)();
19716
20059
  const handleSave = () => {
19717
20060
  formProps.form?.submit();
19718
20061
  };
19719
- return /* @__PURE__ */ import_react17.default.createElement(import_antd13.Edit, { saveButtonProps: { ...saveButtonProps, onClick: handleSave } }, /* @__PURE__ */ import_react17.default.createElement(
19720
- import_lib15.Form,
20062
+ return /* @__PURE__ */ import_react18.default.createElement(import_antd13.Edit, { saveButtonProps: { ...saveButtonProps, onClick: handleSave } }, /* @__PURE__ */ import_react18.default.createElement(
20063
+ import_lib16.Form,
19721
20064
  {
19722
20065
  ...formProps,
19723
20066
  layout: "vertical",
@@ -19726,33 +20069,33 @@ var RoleEdit = () => {
19726
20069
  return formProps.onFinish && formProps.onFinish(rest);
19727
20070
  }
19728
20071
  },
19729
- /* @__PURE__ */ import_react17.default.createElement(
19730
- import_lib15.Form.Item,
20072
+ /* @__PURE__ */ import_react18.default.createElement(
20073
+ import_lib16.Form.Item,
19731
20074
  {
19732
20075
  label: "Name",
19733
20076
  name: "Name",
19734
20077
  rules: [{ required: true }]
19735
20078
  },
19736
- /* @__PURE__ */ import_react17.default.createElement(import_lib15.Input, null)
20079
+ /* @__PURE__ */ import_react18.default.createElement(import_lib16.Input, null)
19737
20080
  ),
19738
- /* @__PURE__ */ import_react17.default.createElement(
19739
- import_lib15.Form.Item,
20081
+ /* @__PURE__ */ import_react18.default.createElement(
20082
+ import_lib16.Form.Item,
19740
20083
  {
19741
20084
  label: "Is Administrative",
19742
20085
  name: "IsAdministrative",
19743
20086
  valuePropName: "checked"
19744
20087
  },
19745
- /* @__PURE__ */ import_react17.default.createElement(import_lib15.Checkbox, null, "Is Administrative")
20088
+ /* @__PURE__ */ import_react18.default.createElement(import_lib16.Checkbox, null, "Is Administrative")
19746
20089
  ),
19747
- /* @__PURE__ */ import_react17.default.createElement(
19748
- import_lib15.Form.Item,
20090
+ /* @__PURE__ */ import_react18.default.createElement(
20091
+ import_lib16.Form.Item,
19749
20092
  {
19750
20093
  label: "Permission Policy",
19751
20094
  name: "PermissionPolicy",
19752
20095
  rules: [{ required: true }]
19753
20096
  },
19754
- /* @__PURE__ */ import_react17.default.createElement(
19755
- import_lib15.Select,
20097
+ /* @__PURE__ */ import_react18.default.createElement(
20098
+ import_lib16.Select,
19756
20099
  {
19757
20100
  options: [
19758
20101
  { label: "Deny All By Default", value: "DenyAllByDefault" /* DenyAllByDefault */ },
@@ -19762,7 +20105,7 @@ var RoleEdit = () => {
19762
20105
  }
19763
20106
  )
19764
20107
  ),
19765
- /* @__PURE__ */ import_react17.default.createElement(
20108
+ /* @__PURE__ */ import_react18.default.createElement(
19766
20109
  TypePermissionList,
19767
20110
  {
19768
20111
  masterId: id?.toString()
@@ -19779,6 +20122,7 @@ var RoleEdit = () => {
19779
20122
  Base64Upload,
19780
20123
  ColorModeContext,
19781
20124
  ColorModeContextProvider,
20125
+ DrawioEditor,
19782
20126
  Header,
19783
20127
  HttpError,
19784
20128
  KeycloakLoginPage,
@@ -19800,6 +20144,7 @@ var RoleEdit = () => {
19800
20144
  httpClient,
19801
20145
  keycloakService,
19802
20146
  parseJwt,
20147
+ refineXafTranslations,
19803
20148
  useColorMode,
19804
20149
  useModelTypes,
19805
20150
  validatePasswordStrength