adminizer 4.1.0-build.13 → 4.1.0-build.14

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.
Files changed (131) hide show
  1. package/assets/{VanillaJSONEditor-BGC0iJ01.js → VanillaJSONEditor-D-Lx670g.js} +2 -2
  2. package/assets/add-BP_u3Tjl.js +1 -0
  3. package/assets/add-form-nffmiYTh.js +1 -0
  4. package/assets/add-group-D4vcHlm-.js +1 -0
  5. package/assets/{add-group-form-BUM07NJS.js → add-group-form-gNJW11-q.js} +1 -1
  6. package/assets/add-user-DWh3Nas0.js +1 -0
  7. package/assets/add-user-form-BJ0FsZYJ.js +1 -0
  8. package/assets/{app-BYldMVaW.css → app-C3OdwOHy.css} +1 -1
  9. package/assets/{app-layout-YPlKN2l5.js → app-layout-DYsRFUuP.js} +1 -1
  10. package/assets/{app-shell-D6Uf68EA.js → app-shell-Dd9Eknik.js} +1 -1
  11. package/assets/app-sidebar-BOmu6-Sl.js +1 -0
  12. package/assets/{app-sidebar-header-BTKq0Dr0.js → app-sidebar-header-CoXSzWxk.js} +1 -1
  13. package/assets/app.js +14 -14
  14. package/assets/{breadcrumbs-B4LOvzuL.js → breadcrumbs-BmAq4fHT.js} +1 -1
  15. package/assets/{button-CTOOfwvn.js → button-C9B_5Jf_.js} +1 -1
  16. package/assets/checkbox-Fg27sL_1.js +1 -0
  17. package/assets/{compiler-runtime-tM4jBQ-T.js → compiler-runtime-hB6dAw2d.js} +1 -1
  18. package/assets/dashboard-BOltB2Hq.css +1 -0
  19. package/assets/dashboard-Ddh74NBQ.js +3 -0
  20. package/assets/{date-picker-DdGpxs8q.js → date-picker-DI1cCO7K.js} +1 -1
  21. package/assets/{dropdown-menu-CsGmdVIn.js → dropdown-menu-Bhj17ENm.js} +1 -1
  22. package/assets/{field-renderer-Q3ajtfjk.js → field-renderer-DVHZF6HS.js} +3 -3
  23. package/assets/form-BgWdwvz1.js +1 -0
  24. package/assets/form-DgtErfln.js +1 -0
  25. package/assets/{geo-json-CFYMCghL.js → geo-json-BjiyTtMu.js} +1 -1
  26. package/assets/{handsontable-BCnjOpBr.js → handsontable-4mjU_b0n.js} +1 -1
  27. package/assets/home-CHntBHJa.js +2 -0
  28. package/assets/{icon-Bz9BMaD0.js → icon-Dt0vBgDO.js} +1 -1
  29. package/assets/index-B8BS9wMC.js +1 -0
  30. package/assets/{index-Mx04mBJl.js → index-BC0yfOHo.js} +1 -1
  31. package/assets/{index-m5itSoCR.js → index-BKCgnGj_.js} +1 -1
  32. package/assets/{index-C5OL14ES.js → index-BbXEMx9n.js} +1 -1
  33. package/assets/{index-DnbQEoxZ.js → index-BykbU6Ee.js} +1 -1
  34. package/assets/index-CaJgc5EZ.js +1 -0
  35. package/assets/{index-Cb_qrizV.js → index-Cgp8OfuI.js} +1 -1
  36. package/assets/{index-CGjCQBqR.js → index-Cw5o84pO.js} +1 -1
  37. package/assets/index-DrWfGwtf.js +1 -0
  38. package/assets/{init-user-CotD_o5_.js → init-user-JfCKJ5Ce.js} +1 -1
  39. package/assets/{input-DF7Ue23C.js → input-CvRbIbk4.js} +1 -1
  40. package/assets/{input-error-BBygona6.js → input-error-DMK7cAt7.js} +1 -1
  41. package/assets/{label-C2tlefOv.js → label-CSLFe9Bz.js} +1 -1
  42. package/assets/list-B2Oa5O_Q.js +1 -0
  43. package/assets/{list-table-Cz8Wgfsa.js → list-table-DA9MhywL.js} +2 -2
  44. package/assets/{login-B7br6gt5.js → login-DQwGtdis.js} +1 -1
  45. package/assets/manifest.json +588 -568
  46. package/assets/{material-icon-CItZiB53.js → material-icon-BJg8o_fs.js} +1 -1
  47. package/assets/module-DWXp59Vg.js +1 -0
  48. package/assets/{monaco-editor-DqAqwxw4.js → monaco-editor-CJs0_GlD.js} +1 -1
  49. package/assets/{multi-select-CDlcaNFy.js → multi-select-BvRpAW8r.js} +1 -1
  50. package/assets/{nav-footer-CXKG3O4K.js → nav-footer-Bs4dmN1d.js} +1 -1
  51. package/assets/{nav-main-ByHRr3yf.js → nav-main-Bq3IMk4C.js} +1 -1
  52. package/assets/{nav-user-BVRKiqm-.js → nav-user-CbB22J5O.js} +1 -1
  53. package/assets/{pagination-render-CihJ7J2u.js → pagination-render-DuXDDbC_.js} +1 -1
  54. package/assets/{popover-_WN_Lj46.js → popover-DtoGI2b1.js} +1 -1
  55. package/assets/{register-CpRFo88B.js → register-BSogVF0h.js} +1 -1
  56. package/assets/{select-DYffGc49.js → select-BWepUw-9.js} +1 -1
  57. package/assets/{sidebar-B9HagQ6H.js → sidebar-CAHsHdjM.js} +2 -2
  58. package/assets/skeleton-COOcAA8f.js +1 -0
  59. package/assets/{sonner-Dzckw3U3.js → sonner-BI0IFOQN.js} +1 -1
  60. package/assets/{toast-editor-ZLOtXFu5.js → toast-editor-CMK7QtF1.js} +82 -82
  61. package/assets/{tooltip-CWVAD5oF.js → tooltip-DHwpLKOI.js} +1 -1
  62. package/assets/{use-appearance-Co6mO0dV.js → use-appearance-DRfIqTgw.js} +1 -1
  63. package/assets/{use-window-size-B8l6Bpkf.js → use-window-size-h0Sh_NvX.js} +1 -1
  64. package/assets/{user-info-DA4KTAOF.js → user-info-DFrmpJ4y.js} +1 -1
  65. package/assets/{user-menu-content-Biwi4u9j.js → user-menu-content-DPXQdERj.js} +1 -1
  66. package/assets/welcome-B4WCIXKf.js +1 -0
  67. package/controllers/dashboard.js +15 -1
  68. package/controllers/getAllWidgets.js +1 -1
  69. package/controllers/widgetsDB.js +2 -2
  70. package/helpers/accessRightsHelper.js +2 -2
  71. package/helpers/controllerHelper.js +1 -1
  72. package/helpers/inertiaAddHelper.js +1 -1
  73. package/index.d.ts +0 -1
  74. package/index.js +0 -1
  75. package/interfaces/adminpanelConfig.d.ts +0 -17
  76. package/interfaces/global.d.ts +3 -0
  77. package/interfaces/types.d.ts +1 -1
  78. package/lib/Adminizer.js +9 -5
  79. package/lib/catalog/Navigation.js +0 -1
  80. package/lib/media-manager/Items.js +0 -3
  81. package/lib/v4/DataAccessor.js +4 -3
  82. package/lib/v4/model/adapter/sequelize.js +8 -1
  83. package/lib/v4/model/adapter/waterline.js +5 -2
  84. package/lib/widgets/abstractAction.d.ts +1 -1
  85. package/lib/widgets/abstractCustom.d.ts +27 -12
  86. package/lib/widgets/abstractCustom.js +8 -2
  87. package/lib/widgets/abstractInfo.d.ts +1 -1
  88. package/lib/widgets/abstractInfo.js +1 -1
  89. package/lib/widgets/abstractLink.d.ts +1 -0
  90. package/lib/widgets/abstractSwitch.d.ts +1 -1
  91. package/lib/widgets/abstractWidgetBase.d.ts +1 -1
  92. package/lib/widgets/widgetHandler.d.ts +26 -3
  93. package/lib/widgets/widgetHandler.js +25 -25
  94. package/models/UserAP.d.ts +5 -2
  95. package/package.json +14 -8
  96. package/system/Router.js +6 -14
  97. package/system/bindAccessRights.js +0 -4
  98. package/system/bindDev.js +1 -0
  99. package/system/bindMediaManager.js +0 -1
  100. package/system/bindModels.js +7 -2
  101. package/system/bindNavigation.js +0 -1
  102. package/translations/ru.json +17 -8
  103. package/assets/add-EOP63mij.js +0 -1
  104. package/assets/add-form-DofA75xF.js +0 -1
  105. package/assets/add-group-CbKcu8bN.js +0 -1
  106. package/assets/add-user-FQ_0_L3C.js +0 -1
  107. package/assets/add-user-form-D1f_2noB.js +0 -1
  108. package/assets/app-sidebar-mh83eSsH.js +0 -1
  109. package/assets/checkbox-D9ub-v0l.js +0 -1
  110. package/assets/dashboard-BiLSHuF2.js +0 -1
  111. package/assets/form-D2gvtdQt.js +0 -1
  112. package/assets/form-EPWwr8yD.js +0 -1
  113. package/assets/home-Co9WBSjN.js +0 -2
  114. package/assets/index-DEzdKGnS.js +0 -1
  115. package/assets/index-DUXJYtOc.js +0 -1
  116. package/assets/index-Dllsp4Rk.js +0 -1
  117. package/assets/list-BrJBbAVm.js +0 -1
  118. package/assets/module-BA_EenoK.js +0 -1
  119. package/assets/welcome-C1kRbbWq.js +0 -1
  120. package/controllers/processInstallFinalize.d.ts +0 -1
  121. package/controllers/processInstallFinalize.js +0 -16
  122. package/controllers/processInstallStep.d.ts +0 -0
  123. package/controllers/processInstallStep.js +0 -122
  124. package/lib/installStepper/InstallStepAbstract.d.ts +0 -52
  125. package/lib/installStepper/InstallStepAbstract.js +0 -69
  126. package/lib/installStepper/finalizeStep.d.ts +0 -21
  127. package/lib/installStepper/finalizeStep.js +0 -48
  128. package/lib/installStepper/installStepper.d.ts +0 -40
  129. package/lib/installStepper/installStepper.js +0 -195
  130. package/system/bindInstallStepper.d.ts +0 -2
  131. package/system/bindInstallStepper.js +0 -23
@@ -3,6 +3,7 @@ import InfoBase from "./abstractInfo";
3
3
  import ActionBase from "./abstractAction";
4
4
  import LinkBase from "./abstractLink";
5
5
  import CustomBase from "./abstractCustom";
6
+ import * as process from "node:process";
6
7
  export class WidgetHandler {
7
8
  widgets = [];
8
9
  adminizer;
@@ -34,7 +35,7 @@ export class WidgetHandler {
34
35
  }
35
36
  }
36
37
  }
37
- getAll(user) {
38
+ getAll(user, i18n) {
38
39
  let widgets = [];
39
40
  if (this.widgets.length) {
40
41
  let id_key = 0;
@@ -45,9 +46,9 @@ export class WidgetHandler {
45
46
  id: `${widget.id}__${id_key}`,
46
47
  type: widget.widgetType,
47
48
  api: `${this.adminizer.config.routePrefix}/widgets-switch/${widget.id}`,
48
- description: widget.description,
49
+ description: i18n.__(widget.description),
49
50
  icon: widget.icon,
50
- name: widget.name,
51
+ name: i18n.__(widget.name),
51
52
  backgroundCSS: widget.backgroundCSS ?? null,
52
53
  size: widget.size ?? null
53
54
  });
@@ -59,9 +60,9 @@ export class WidgetHandler {
59
60
  id: `${widget.id}__${id_key}`,
60
61
  type: widget.widgetType,
61
62
  api: `${this.adminizer.config.routePrefix}/widgets-info/${widget.id}`,
62
- description: widget.description,
63
+ description: i18n.__(widget.description),
63
64
  icon: widget.icon,
64
- name: widget.name,
65
+ name: i18n.__(widget.name),
65
66
  backgroundCSS: widget.backgroundCSS ?? null,
66
67
  size: widget.size ?? null
67
68
  });
@@ -73,9 +74,9 @@ export class WidgetHandler {
73
74
  id: `${widget.id}__${id_key}`,
74
75
  type: widget.widgetType,
75
76
  api: `${this.adminizer.config.routePrefix}/widgets-action/${widget.id}`,
76
- description: widget.description,
77
+ description: i18n.__(widget.description),
77
78
  icon: widget.icon,
78
- name: widget.name,
79
+ name: i18n.__(widget.name),
79
80
  backgroundCSS: widget.backgroundCSS ?? null,
80
81
  size: widget.size ?? null
81
82
  });
@@ -86,10 +87,11 @@ export class WidgetHandler {
86
87
  let links_id_key = 0;
87
88
  for (const link of widget.links) {
88
89
  widgets.push({
89
- name: link.name,
90
+ name: i18n.__(link.name),
90
91
  id: `${widget.id}__${links_id_key}`,
91
92
  type: 'link',
92
- description: link.description,
93
+ linkType: link.linkType,
94
+ description: i18n.__(link.description),
93
95
  link: link.link,
94
96
  icon: link.icon,
95
97
  backgroundCSS: link.backgroundCSS
@@ -104,15 +106,12 @@ export class WidgetHandler {
104
106
  id: `${widget.id}_${id_key}`,
105
107
  type: widget.widgetType,
106
108
  api: `${this.adminizer.config.routePrefix}/widgets-custom/${widget.id}`,
107
- description: widget.description,
109
+ description: i18n.__(widget.description),
108
110
  icon: widget.icon,
109
- name: widget.name,
111
+ name: i18n.__(widget.name),
110
112
  backgroundCSS: widget.backgroundCSS ?? null,
111
113
  size: widget.size ?? null,
112
- scriptUrl: widget.scriptUrl,
113
- constructorName: widget.constructorName,
114
- constructorOption: widget.constructorOption,
115
- hideAdminPanelUI: widget.hideAdminPanelUI
114
+ scriptUrl: process.env.VITE_ENV === 'dev' ? widget.jsPath.dev : widget.jsPath.production,
116
115
  });
117
116
  }
118
117
  }
@@ -123,9 +122,9 @@ export class WidgetHandler {
123
122
  }
124
123
  return Promise.resolve(widgets);
125
124
  }
126
- async getWidgetsDB(id, auth) {
125
+ async getWidgetsDB(id, auth, i18n) {
127
126
  let user;
128
- let widgets;
127
+ let result = { widgets: [], layout: { lg: [], md: [], sm: [], xs: [], xxs: [] } };
129
128
  if (!auth) {
130
129
  // TODO refactor CRUD functions for DataAccessor usage
131
130
  user = await this.adminizer.modelHandler.model.get("UserAP")?.["_findOne"]({ login: this.adminizer.config.administrator?.login ?? 'admin' });
@@ -134,11 +133,11 @@ export class WidgetHandler {
134
133
  // TODO refactor CRUD functions for DataAccessor usage
135
134
  user = await this.adminizer.modelHandler.model.get("UserAP")?.["_findOne"]({ id: id });
136
135
  }
137
- if (!user || !user.widgets || user.widgets.length === 0) {
136
+ if (!user || !user.widgets || user.widgets.widgets.length === 0) {
138
137
  if (this.adminizer.config.dashboard && typeof this.adminizer.config.dashboard !== "boolean" && this.adminizer.config.dashboard.defaultWidgets) {
139
138
  let defaultWidgets = this.adminizer.config.dashboard.defaultWidgets;
140
- widgets = await this.getAll(user);
141
- widgets.forEach(widget => {
139
+ result.widgets = await this.getAll(user, i18n);
140
+ result.widgets.forEach(widget => {
142
141
  if (defaultWidgets.includes(widget.id.split("__")[0])) {
143
142
  widget.added = true;
144
143
  }
@@ -146,19 +145,20 @@ export class WidgetHandler {
146
145
  }
147
146
  }
148
147
  else {
149
- widgets = user.widgets;
148
+ result.widgets = user.widgets.widgets;
149
+ result.layout = user.widgets.layout;
150
150
  }
151
- return widgets;
151
+ return result;
152
152
  }
153
- async setWidgetsDB(id, widgets, auth) {
153
+ async setWidgetsDB(id, body, auth) {
154
154
  if (!auth) {
155
155
  // TODO refactor CRUD functions for DataAccessor usage
156
- let updatedUser = await this.adminizer.modelHandler.model.get("UserAP")?.["_updateOne"]({ login: this.adminizer.config.administrator?.login ?? 'admin' }, { widgets: widgets });
156
+ let updatedUser = await this.adminizer.modelHandler.model.get("UserAP")?.["_updateOne"]({ login: this.adminizer.config.administrator?.login ?? 'admin' }, { widgets: body });
157
157
  return updatedUser.id;
158
158
  }
159
159
  else {
160
160
  // TODO refactor CRUD functions for DataAccessor usage
161
- let updatedUser = await this.adminizer.modelHandler.model.get("UserAP")?.["_updateOne"]({ id: id }, { widgets: widgets });
161
+ let updatedUser = await this.adminizer.modelHandler.model.get("UserAP")?.["_updateOne"]({ id: id }, { widgets: body });
162
162
  return updatedUser.id;
163
163
  }
164
164
  }
@@ -1,4 +1,4 @@
1
- import { WidgetConfig } from "lib/widgets/widgetHandler";
1
+ import { WidgetConfig, WidgetsLayouts } from "lib/widgets/widgetHandler";
2
2
  import { GroupAP } from "./GroupAP";
3
3
  declare const _default: {
4
4
  id: {
@@ -68,6 +68,9 @@ export interface UserAP {
68
68
  isActive?: boolean;
69
69
  isAdministrator?: boolean;
70
70
  groups?: GroupAP[];
71
- widgets?: WidgetConfig[];
71
+ widgets?: {
72
+ widgets: WidgetConfig[];
73
+ layout: WidgetsLayouts;
74
+ };
72
75
  isConfirmed?: boolean;
73
76
  }
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "adminizer",
3
3
  "type": "module",
4
- "version": "4.1.0-build.13",
4
+ "version": "4.1.0-build.14",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1",
8
- "start": "tsx --tsconfig ./fixture/tsconfig.json ./fixture/index.ts",
7
+ "test": "vitest --reporter verbose",
8
+ "start": "cross-env NO_SEED_DATA=true ORM=sequelize tsx --tsconfig ./fixture/tsconfig.json ./fixture/index.ts",
9
9
  "dev": "cross-env VITE_ENV=dev tsx watch --tsconfig ./fixture/tsconfig.json ./fixture/index.ts",
10
+ "dev:sequelize": "cross-env VITE_ENV=dev NO_SEED_DATA=true ORM=sequelize tsx watch --tsconfig ./fixture/tsconfig.json ./fixture/index.ts",
10
11
  "build:assets": "vite build",
11
12
  "compile:backend": "tsc -p src/tsconfig.json",
12
13
  "watch:backend": "tsc -w -p src/tsconfig.json",
@@ -17,16 +18,15 @@
17
18
  "build:react-quill": "vite build --config modules/controls/wysiwyg/vite.config.react-quill.ts",
18
19
  "copy:modules": "node copy-modules.js",
19
20
  "build:assets:modules": "npm run build:assets && npm run copy:modules",
20
- "start:seed": "cross-env SEED_DATA=true tsx --tsconfig ./fixture/tsconfig.json ./fixture/index.ts",
21
+ "start:seed": "cross-env ORM=sequelize tsx --tsconfig ./fixture/tsconfig.json ./fixture/index.ts",
21
22
  "demo:build": "npm run copy:backend && npm run compile:backend && npm run build:assets && npm run copy:modules",
22
- "demo": "cross-env SEED_DATA=true DEMO=true tsx --tsconfig ./fixture/tsconfig.json ./fixture/index.ts"
23
+ "demo": "cross-env ORM=sequelize tsx --tsconfig ./fixture/tsconfig.json ./fixture/index.ts"
23
24
  },
24
25
  "keywords": [],
25
26
  "author": "",
26
27
  "license": "MIT",
27
28
  "description": "",
28
29
  "dependencies": {
29
- "@radix-ui/react-menubar": "^1.1.12",
30
30
  "body-parser": "^1.20.3",
31
31
  "chalk": "^5.4.1",
32
32
  "cmdk": "^1.1.1",
@@ -39,7 +39,6 @@
39
39
  "express": "^4.21.2",
40
40
  "express-session": "^1.18.1",
41
41
  "jsonwebtoken": "^9.0.2",
42
- "ky": "^1.8.0",
43
42
  "multer": "^1.4.5-lts.1",
44
43
  "next-themes": "^0.4.6",
45
44
  "password-hash": "^1.2.2",
@@ -50,6 +49,7 @@
50
49
  "winston": "^3.17.0"
51
50
  },
52
51
  "devDependencies": {
52
+ "@babel/plugin-proposal-decorators": "^7.27.1",
53
53
  "@ckeditor/ckeditor5-react": "^9.5.0",
54
54
  "@faker-js/faker": "^9.7.0",
55
55
  "@handsontable/react": "^15.2.0",
@@ -62,6 +62,9 @@
62
62
  "@radix-ui/react-dropdown-menu": "^2.1.6",
63
63
  "@radix-ui/react-label": "^2.1.2",
64
64
  "@radix-ui/react-popover": "^1.1.7",
65
+ "@radix-ui/react-menubar": "^1.1.12",
66
+ "@radix-ui/react-portal": "^1.1.6",
67
+ "@radix-ui/react-switch": "^1.2.4",
65
68
  "@radix-ui/react-select": "^2.1.6",
66
69
  "@radix-ui/react-separator": "^1.1.3",
67
70
  "@radix-ui/react-slider": "^1.2.3",
@@ -84,6 +87,7 @@
84
87
  "@types/password-hash": "^1.2.24",
85
88
  "@types/react": "^19.0.3",
86
89
  "@types/react-dom": "^19.0.2",
90
+ "@types/react-grid-layout": "^1.3.5",
87
91
  "@types/sprintf-js": "^1.1.4",
88
92
  "@types/uuid": "^10.0.0",
89
93
  "@types/waterline": "^0.13.9",
@@ -103,6 +107,7 @@
103
107
  "react": "^19.0.0",
104
108
  "react-day-picker": "^8.10.1",
105
109
  "react-dom": "^19.0.0",
110
+ "react-grid-layout": "^1.5.1",
106
111
  "react-intersection-observer": "^9.16.0",
107
112
  "react-leaflet": "^5.0.0",
108
113
  "react-quill-new": "^3.4.6",
@@ -123,6 +128,7 @@
123
128
  "vanilla-jsoneditor": "^3.1.1",
124
129
  "vite": "^6.1.0",
125
130
  "vite-plugin-externals": "^0.6.2",
126
- "vite-plugin-full-reload": "^1.2.0"
131
+ "vite-plugin-full-reload": "^1.2.0",
132
+ "vitest": "^3.0.7"
127
133
  }
128
134
  }
package/system/Router.js CHANGED
@@ -1,5 +1,3 @@
1
- // import _processInstallStep from "../controllers/processInstallStep";
2
- // import _processInstallFinalize from "../controllers/processInstallFinalize";
3
1
  import _dashboard from "../controllers/dashboard";
4
2
  import _welcome from "../controllers/welcome";
5
3
  import _list from "../controllers/list";
@@ -38,33 +36,27 @@ export default class Router {
38
36
  /**
39
37
  * Widgets All
40
38
  */
41
- adminizer.app.all(`/widgets-get-all`, adminizer.policyManager.bindPolicies(policies, _getAllWidgets));
39
+ adminizer.app.all(`${adminizer.config.routePrefix}/widgets-get-all`, adminizer.policyManager.bindPolicies(policies, _getAllWidgets));
42
40
  /**
43
41
  * Widgets All from DB
44
42
  */
45
- adminizer.app.all(`/widgets-get-all-db`, adminizer.policyManager.bindPolicies(policies, _widgetsDB));
43
+ adminizer.app.all(`${adminizer.config.routePrefix}/widgets-get-all-db`, adminizer.policyManager.bindPolicies(policies, _widgetsDB));
46
44
  /**
47
45
  * Widgets Switch
48
46
  */
49
- adminizer.app.all(`/widgets-switch/:widgetId`, adminizer.policyManager.bindPolicies(policies, widgetSwitchController));
47
+ adminizer.app.all(`${adminizer.config.routePrefix}/widgets-switch/:widgetId`, adminizer.policyManager.bindPolicies(policies, widgetSwitchController));
50
48
  /**
51
49
  * Widgets Info
52
50
  */
53
- adminizer.app.all(`/widgets-info/:widgetId`, adminizer.policyManager.bindPolicies(policies, widgetInfoController));
51
+ adminizer.app.all(`${adminizer.config.routePrefix}/widgets-info/:widgetId`, adminizer.policyManager.bindPolicies(policies, widgetInfoController));
54
52
  /**
55
53
  * Widgets Action
56
54
  */
57
- adminizer.app.all(`/widgets-action/:widgetId`, adminizer.policyManager.bindPolicies(policies, widgetActionController));
55
+ adminizer.app.all(`${adminizer.config.routePrefix}/widgets-action/:widgetId`, adminizer.policyManager.bindPolicies(policies, widgetActionController));
58
56
  /**
59
57
  * Widgets Custom
60
58
  */
61
- adminizer.app.all(`/widgets-action/:widgetId`, adminizer.policyManager.bindPolicies(policies, widgetCustomController));
62
- // /**
63
- // * Module Install Stepper
64
- // * @deprecated
65
- // * */
66
- // adminizer.app.all(`/install/:id`, adminizer.policyManager.bindPolicies(policies, _processInstallStep));
67
- // adminizer.app.all(`/install/:id/finalize`, adminizer.policyManager.bindPolicies(policies, _processInstallFinalize));
59
+ adminizer.app.all(`${adminizer.config.routePrefix}/widgets-action/:widgetId`, adminizer.policyManager.bindPolicies(policies, widgetCustomController));
68
60
  /**
69
61
  * Edit form
70
62
  * */
@@ -55,10 +55,6 @@ export default async function bindAccessRights(adminizer) {
55
55
  });
56
56
  }
57
57
  }
58
- adminizer.accessRightsHelper.registerToken({
59
- id: `process-install-step`, name: "Process install step",
60
- description: "Access to '/processInstallStep' route", department: "Routes"
61
- });
62
58
  // Widgets
63
59
  adminizer.accessRightsHelper.registerToken({
64
60
  id: `widgets`, name: "Widgets",
package/system/bindDev.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export default function bindDev(adminizer) {
2
2
  if (adminizer.config.models) {
3
3
  Object.keys(adminizer.config.models).forEach((modelname) => {
4
+ // if(["userap", "groupap"].includes(modelname)) return;
4
5
  if (typeof adminizer.config.models[modelname] !== "boolean") {
5
6
  let modelName = adminizer.config.models[modelname].model;
6
7
  adminizer.config.models[`dev-${modelName}`] = {
@@ -15,7 +15,6 @@
15
15
  //
16
16
  // MediaManagerHandler.add(mediaManager)
17
17
  // } catch (e) {
18
- // console.log('bindMediaManager Error: ', e)
19
18
  // }
20
19
  // })
21
20
  // }
@@ -11,10 +11,11 @@ export default async function bindModels(adminizer) {
11
11
  throw new Error("Default ORM adapter was not provided");
12
12
  }
13
13
  const systemModelsDir = path.resolve(import.meta.dirname, "../models");
14
- const systemModelsFiles = fs.readdirSync(systemModelsDir).filter(file => file.endsWith(".js"));
14
+ // Фильтруем только .js и .ts файлы, исключая .d.ts
15
+ const systemModelsFiles = fs.readdirSync(systemModelsDir).filter(file => (file.endsWith(".js") || (file.endsWith(".ts") && !file.endsWith(".d.ts"))));
15
16
  // Bind system models reading them from ../models and get the whole list of them for further checks
16
17
  const systemModels = systemModelsFiles.map((file) => {
17
- const modelName = path.basename(file, ".js");
18
+ const modelName = path.basename(file, path.extname(file)); // убираем .js/.ts
18
19
  const ormAdapter = adminizer.getOrmAdapter(defaultOrmAdapter);
19
20
  // Create model adapter instance and add it to model handler
20
21
  const registeredModel = ormAdapter.getModel(modelName.toLowerCase());
@@ -25,6 +26,7 @@ export default async function bindModels(adminizer) {
25
26
  const modelsFromConfig = Object.values(adminizer.config.models)
26
27
  .filter((item) => typeof item !== "boolean" && item?.model !== undefined)
27
28
  .map(item => item.model.toLowerCase());
29
+ Adminizer.log.debug(`Bind models > Models from config: ${modelsFromConfig}`);
28
30
  // Bind project models using config
29
31
  modelsFromConfig.forEach((modelName) => {
30
32
  const modelConfig = Object.entries(adminizer.config.models)
@@ -37,6 +39,9 @@ export default async function bindModels(adminizer) {
37
39
  }
38
40
  // Create model adapter instance and add it to model handler
39
41
  const registeredModel = ormAdapter.getModel(modelName);
42
+ if (!registeredModel) {
43
+ throw `Bind models > Model not found: ${modelName}`;
44
+ }
40
45
  const model = new ormAdapter.Model(modelName, registeredModel);
41
46
  adminizer.modelHandler.add(modelName, model);
42
47
  }
@@ -35,7 +35,6 @@
35
35
  // view: false
36
36
  // }
37
37
  // } catch (e) {
38
- // console.log('bindNavigation Error: ', e)
39
38
  // }
40
39
  // }
41
40
  // })
@@ -59,12 +59,12 @@
59
59
  "Yes": "Да",
60
60
  "No": "Нет",
61
61
  "Full Name": "Полное имя",
62
- "password": "password",
62
+ "password": "пароль",
63
63
  "expires": "Истекает",
64
64
  "is administrator": "Администратор",
65
65
  "widgets": "Виджеты",
66
66
  "isConfirmed": "Подтверждено",
67
- "isAdministrator": "isAdministrator",
67
+ "isAdministrator": "Администратор",
68
68
  "id": "id",
69
69
  "Title": "Title",
70
70
  "name": "Имя",
@@ -72,7 +72,6 @@
72
72
  "tokens": "Токены",
73
73
  "users": "Пользователи",
74
74
  "data": "data",
75
- "data2": "data2",
76
75
  "Google": "Google",
77
76
  "Google1": "Google1",
78
77
  "Google2": "Google2",
@@ -80,10 +79,10 @@
80
79
  "Textarea": "Textarea",
81
80
  "Disabled": "Disabled",
82
81
  "Boolean": "Boolean",
83
- "time": "time",
84
- "Number": "Number",
85
- "Editor": "Editor",
86
- "Date and time": "Date and time",
82
+ "time": "Время",
83
+ "Number": "Номер",
84
+ "Editor": "Редактор",
85
+ "Date and time": "Дата и время",
87
86
  "Values in \"password\" and \"repeatPassword\" fields should be the same": "Значения в полях \"password\" и \"repeatPassword\" должны быть одинаковыми.",
88
87
  "Is Administrator": "Администратор",
89
88
  "Is confirmed": "Подтверждено",
@@ -91,5 +90,15 @@
91
90
  "New record was created": "Новая запись создана",
92
91
  "Record was updated": "Запись обновлена",
93
92
  "Record was not removed": "Запись не удалена",
94
- "Record was removed successfully !": "Запись удалена успешно!"
93
+ "Record was removed successfully !": "Запись удалена успешно!",
94
+ "Quick actions": "Быстрые действия",
95
+ "Toggle to change the grid. To save the grid, turn it off.": "Переключите для изменения сетки. Чтобы сохранить сетку, отключите.",
96
+ "You don't have any widgets selected yet. You can add them by clicking on the plus sign at the top right.": "У вас пока нет выбранных виджетов. Вы можете добавить их, нажав на значок плюса в правом верхнем углу.",
97
+ "No widgets found": "Виджеты не найдены",
98
+ "Global Settings": "Глобальные настройки",
99
+ "All": "Все",
100
+ "Custom": "Пользовательский виджет",
101
+ "Fast links": "Быстрые ссылки",
102
+ "Info": "Информация",
103
+ "Switcher": "Переключатель"
95
104
  }
@@ -1 +0,0 @@
1
- import{j as t}from"./app.js";import{c as m}from"./compiler-runtime-tM4jBQ-T.js";import{A as i}from"./app-layout-YPlKN2l5.js";import p from"./add-form-DofA75xF.js";import"./sidebar-B9HagQ6H.js";import"./index-DUXJYtOc.js";import"./button-CTOOfwvn.js";import"./utils-DjqsqOe8.js";import"./index-CGjCQBqR.js";import"./createLucideIcon-BFG25zNo.js";import"./index-Dllsp4Rk.js";import"./index-D5ir9iUV.js";import"./index-DEzdKGnS.js";import"./index-DnbQEoxZ.js";import"./index-Mx04mBJl.js";import"./tooltip-CWVAD5oF.js";import"./index-Cb_qrizV.js";import"./app-shell-D6Uf68EA.js";import"./app-sidebar-mh83eSsH.js";import"./nav-main-ByHRr3yf.js";import"./material-icon-CItZiB53.js";import"./chevron-right-D5q8rF7h.js";import"./index-C5OL14ES.js";import"./index-m5itSoCR.js";import"./chevrons-up-down-kALltqHV.js";import"./app-sidebar-header-BTKq0Dr0.js";import"./breadcrumbs-B4LOvzuL.js";import"./nav-user-BVRKiqm-.js";import"./dropdown-menu-CsGmdVIn.js";import"./user-info-DA4KTAOF.js";import"./user-menu-content-Biwi4u9j.js";import"./icon-Bz9BMaD0.js";import"./use-appearance-Co6mO0dV.js";import"./label-C2tlefOv.js";import"./field-renderer-Q3ajtfjk.js";import"./checkbox-D9ub-v0l.js";import"./index-DwctwfU0.js";import"./check-LAUWAnlX.js";import"./select-DYffGc49.js";import"./chevron-down-B5XuAFRu.js";import"./dynamic-controls-CSVVCONh.js";import"./input-DF7Ue23C.js";import"./multi-select-CDlcaNFy.js";import"./popover-_WN_Lj46.js";import"./search-BspystAk.js";import"./form-state-702tb_BV.js";import"./input-error-BBygona6.js";import"./move-left-BhKZRPb4.js";import"./loader-circle-Utah5tGx.js";const e=[];function to(){const r=m.c(1);let o;return r[0]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsx(i,{breadcrumbs:e,children:t.jsx(p,{})}),r[0]=o):o=r[0],o}export{to as default};
@@ -1 +0,0 @@
1
- import{j as r,r as u,q as O,S as V,J as z}from"./app.js";import{c as E}from"./compiler-runtime-tM4jBQ-T.js";import{B as y}from"./button-CTOOfwvn.js";import{Icon as A}from"./icon-Bz9BMaD0.js";import{L as D}from"./label-C2tlefOv.js";import{T as J,a as U,b as q,c as P}from"./tooltip-CWVAD5oF.js";import B from"./field-renderer-Q3ajtfjk.js";import{c as W}from"./utils-DjqsqOe8.js";import{r as $,h as C,g as I}from"./form-state-702tb_BV.js";import T from"./input-error-BBygona6.js";import{I as G,M as H}from"./move-left-BhKZRPb4.js";import{L}from"./loader-circle-Utah5tGx.js";import"./index-DUXJYtOc.js";import"./index-DEzdKGnS.js";import"./index-Dllsp4Rk.js";import"./index-D5ir9iUV.js";import"./index-Mx04mBJl.js";import"./index-Cb_qrizV.js";import"./checkbox-D9ub-v0l.js";import"./index-DwctwfU0.js";import"./check-LAUWAnlX.js";import"./createLucideIcon-BFG25zNo.js";import"./select-DYffGc49.js";import"./index-C5OL14ES.js";import"./index-DnbQEoxZ.js";import"./chevron-down-B5XuAFRu.js";import"./dynamic-controls-CSVVCONh.js";import"./input-DF7Ue23C.js";import"./multi-select-CDlcaNFy.js";import"./popover-_WN_Lj46.js";import"./index-CGjCQBqR.js";import"./search-BspystAk.js";function K(t){const e=E.c(8);let s,n;e[0]!==t?({className:s,...n}=t,e[0]=t,e[1]=s,e[2]=n):(s=e[1],n=e[2]);let a;e[3]!==s?(a=W("bg-accent animate-pulse rounded-md",s),e[3]=s,e[4]=a):a=e[4];let i;return e[5]!==n||e[6]!==a?(i=r.jsx("div",{"data-slot":"skeleton",className:a,...n}),e[5]=n,e[6]=a,e[7]=i):i=e[7],i}var N=new Map,v=new WeakMap,k=0,Q=void 0;function X(t){return t?(v.has(t)||(k+=1,v.set(t,k.toString())),v.get(t)):"0"}function Y(t){return Object.keys(t).sort().filter(e=>t[e]!==void 0).map(e=>`${e}_${e==="root"?X(t.root):t[e]}`).toString()}function Z(t){const e=Y(t);let s=N.get(e);if(!s){const n=new Map;let a;const i=new IntersectionObserver(c=>{c.forEach(p=>{var l;const m=p.isIntersecting&&a.some(d=>p.intersectionRatio>=d);t.trackVisibility&&typeof p.isVisible>"u"&&(p.isVisible=m),(l=n.get(p.target))==null||l.forEach(d=>{d(m,p)})})},t);a=i.thresholds||(Array.isArray(t.threshold)?t.threshold:[t.threshold||0]),s={id:e,observer:i,elements:n},N.set(e,s)}return s}function _(t,e,s={},n=Q){if(typeof window.IntersectionObserver>"u"&&n!==void 0){const l=t.getBoundingClientRect();return e(n,{isIntersecting:n,target:t,intersectionRatio:typeof s.threshold=="number"?s.threshold:0,time:0,boundingClientRect:l,intersectionRect:l,rootBounds:l}),()=>{}}const{id:a,observer:i,elements:c}=Z(s),p=c.get(t)||[];return c.has(t)||c.set(t,p),p.push(e),i.observe(t),function(){p.splice(p.indexOf(e),1),p.length===0&&(c.delete(t),i.unobserve(t)),c.size===0&&(i.disconnect(),N.delete(a))}}function ee({threshold:t,delay:e,trackVisibility:s,rootMargin:n,root:a,triggerOnce:i,skip:c,initialInView:p,fallbackInView:l,onChange:m}={}){var d;const[o,f]=u.useState(null),x=u.useRef(m),[b,F]=u.useState({inView:!!p,entry:void 0});x.current=m,u.useEffect(()=>{if(c||!o)return;let g;return g=_(o,(S,w)=>{F({inView:S,entry:w}),x.current&&x.current(S,w),w.isIntersecting&&i&&g&&(g(),g=void 0)},{root:a,rootMargin:n,threshold:t,trackVisibility:s,delay:e},l),()=>{g&&g()}},[Array.isArray(t)?t.toString():t,o,a,n,i,c,s,l,e]);const j=(d=b.entry)==null?void 0:d.target,R=u.useRef(void 0);!o&&j&&!i&&!c&&R.current!==j&&(R.current=j,F({inView:!!p,entry:void 0}));const h=[f,b.inView,b.entry];return h.ref=h[0],h.inView=h[1],h.entry=h[2],h}const M=u.memo(t=>{const e=E.c(8),{field:s}=t,n=`${s.type}-${s.name}`;let a;e[0]!==s.label||e[1]!==n?(a=r.jsx(D,{htmlFor:n,children:s.label}),e[0]=s.label,e[1]=n,e[2]=a):a=e[2];let i;e[3]!==s.tooltip?(i=s.tooltip&&r.jsx(J,{children:r.jsxs(U,{children:[r.jsx(q,{onClick:re,children:r.jsx(A,{iconNode:G,className:"text-primary w-5 h-5 cursor-pointer"})}),r.jsx(P,{align:"center",side:"top",className:"z-[1002]",children:r.jsx("p",{children:s.tooltip})})]})}),e[3]=s.tooltip,e[4]=i):i=e[4];let c;return e[5]!==a||e[6]!==i?(c=r.jsxs("div",{className:"flex gap-3",children:[a,i]}),e[5]=a,e[6]=i,e[7]=c):c=e[7],c}),te=u.memo(t=>{const e=E.c(12),{field:s,value:n,onChange:a,processing:i,notFound:c,search:p}=t;let l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l={triggerOnce:!0,rootMargin:"100px 0px"},e[0]=l):l=e[0];const[m,d]=ee(l);let o;e[1]!==s||e[2]!==d||e[3]!==c||e[4]!==a||e[5]!==i||e[6]!==p||e[7]!==n?(o=d?r.jsx(B,{field:s,value:n,onChange:a,notFound:c,search:p,processing:i}):r.jsx(K,{className:"w-full h-[250px] rounded-sm"}),e[1]=s,e[2]=d,e[3]=c,e[4]=a,e[5]=i,e[6]=p,e[7]=n,e[8]=o):o=e[8];let f;return e[9]!==m||e[10]!==o?(f=r.jsx("div",{ref:m,className:"grid gap-4 w-full",children:o}),e[9]=m,e[10]=o,e[11]=f):f=e[11],f}),Ae=()=>{const t=O(),{fields:e,btnBack:s,view:n,notFound:a}=t.props,{data:i,setData:c,post:p,processing:l}=V(Object.fromEntries(e.map(o=>[o.name,o.value??void 0])));u.useEffect(()=>($(),()=>{$()}),[]);const m=u.useCallback((o,f)=>{c(o,f)},[]),d=o=>{o.preventDefault(),p(t.props.postLink)};return r.jsxs("div",{className:"p-4 w-full",children:[r.jsxs("div",{className:"w-full sticky z-[1001] py-4 pb-8 top-0 h-fit bg-background flex gap-4",children:[r.jsx(y,{className:"w-fit",asChild:!0,children:r.jsxs(z,{href:s.link,preserveScroll:!0,children:[r.jsx(A,{iconNode:H}),s.title]})}),r.jsxs(y,{variant:"green",type:"submit",className:"w-fit cursor-pointer lg:hidden",form:"addUserForm",disabled:l||t.props.view||C(),children:[l&&r.jsx(L,{className:"h-4 w-4 animate-spin"}),t.props.btnSave.title]})]}),r.jsx("form",{id:"addUserForm",onSubmit:d,className:n?"cursor-not-allowed":"",children:r.jsxs("div",{className:"grid lg:grid-cols-[1fr_150px] gap-4 max-w-[1144px] pb-8",children:[r.jsx("div",{className:"flex flex-col gap-10",children:e.map(o=>r.jsx("div",{className:`grid gap-4 w-full ${n?"pointer-events-none":""}`,children:o.type==="markdown"||o.type==="table"||o.type==="jsonEditor"||o.type==="codeEditor"||o.type==="geoJson"?r.jsxs(r.Fragment,{children:[r.jsx(M,{field:o}),r.jsx(T,{message:I(`${o.type}-${o.name}`)}),r.jsx(te,{field:o,value:i[o.name],onChange:m,processing:l||n,notFound:a,search:t.props.search})]}):r.jsxs(r.Fragment,{children:[r.jsx(M,{field:o}),r.jsx(T,{message:I(`${o.type}-${o.name}`)}),r.jsx(B,{field:o,value:i[o.name],onChange:m,processing:l||n,notFound:a,search:t.props.search})]})},o.name))}),r.jsx("div",{className:"p-4 rounded-md h-fit sticky top-[84px] shadow hidden lg:block",children:r.jsxs(y,{variant:"green",type:"submit",className:"w-fit cursor-pointer",disabled:l||t.props.view||C(),children:[l&&r.jsx(L,{className:"h-4 w-4 animate-spin"}),t.props.btnSave.title]})})]})})]})};function re(t){return t.preventDefault()}export{M as LabelRenderer,te as LazyField,Ae as default};
@@ -1 +0,0 @@
1
- import{j as t}from"./app.js";import{c as m}from"./compiler-runtime-tM4jBQ-T.js";import{A as p}from"./app-layout-YPlKN2l5.js";import i from"./add-group-form-BUM07NJS.js";import"./sidebar-B9HagQ6H.js";import"./index-DUXJYtOc.js";import"./button-CTOOfwvn.js";import"./utils-DjqsqOe8.js";import"./index-CGjCQBqR.js";import"./createLucideIcon-BFG25zNo.js";import"./index-Dllsp4Rk.js";import"./index-D5ir9iUV.js";import"./index-DEzdKGnS.js";import"./index-DnbQEoxZ.js";import"./index-Mx04mBJl.js";import"./tooltip-CWVAD5oF.js";import"./index-Cb_qrizV.js";import"./app-shell-D6Uf68EA.js";import"./app-sidebar-mh83eSsH.js";import"./nav-main-ByHRr3yf.js";import"./material-icon-CItZiB53.js";import"./chevron-right-D5q8rF7h.js";import"./index-C5OL14ES.js";import"./index-m5itSoCR.js";import"./chevrons-up-down-kALltqHV.js";import"./app-sidebar-header-BTKq0Dr0.js";import"./breadcrumbs-B4LOvzuL.js";import"./nav-user-BVRKiqm-.js";import"./dropdown-menu-CsGmdVIn.js";import"./user-info-DA4KTAOF.js";import"./user-menu-content-Biwi4u9j.js";import"./icon-Bz9BMaD0.js";import"./use-appearance-Co6mO0dV.js";import"./label-C2tlefOv.js";import"./input-DF7Ue23C.js";import"./checkbox-D9ub-v0l.js";import"./index-DwctwfU0.js";import"./check-LAUWAnlX.js";import"./move-left-BhKZRPb4.js";import"./loader-circle-Utah5tGx.js";const e=[];function T(){const r=m.c(1);let o;return r[0]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsx(p,{breadcrumbs:e,children:t.jsx(i,{})}),r[0]=o):o=r[0],o}export{T as default};
@@ -1 +0,0 @@
1
- import{j as t}from"./app.js";import{c as m}from"./compiler-runtime-tM4jBQ-T.js";import{A as i}from"./app-layout-YPlKN2l5.js";import p from"./add-user-form-D1f_2noB.js";import"./sidebar-B9HagQ6H.js";import"./index-DUXJYtOc.js";import"./button-CTOOfwvn.js";import"./utils-DjqsqOe8.js";import"./index-CGjCQBqR.js";import"./createLucideIcon-BFG25zNo.js";import"./index-Dllsp4Rk.js";import"./index-D5ir9iUV.js";import"./index-DEzdKGnS.js";import"./index-DnbQEoxZ.js";import"./index-Mx04mBJl.js";import"./tooltip-CWVAD5oF.js";import"./index-Cb_qrizV.js";import"./app-shell-D6Uf68EA.js";import"./app-sidebar-mh83eSsH.js";import"./nav-main-ByHRr3yf.js";import"./material-icon-CItZiB53.js";import"./chevron-right-D5q8rF7h.js";import"./index-C5OL14ES.js";import"./index-m5itSoCR.js";import"./chevrons-up-down-kALltqHV.js";import"./app-sidebar-header-BTKq0Dr0.js";import"./breadcrumbs-B4LOvzuL.js";import"./nav-user-BVRKiqm-.js";import"./dropdown-menu-CsGmdVIn.js";import"./user-info-DA4KTAOF.js";import"./user-menu-content-Biwi4u9j.js";import"./icon-Bz9BMaD0.js";import"./use-appearance-Co6mO0dV.js";import"./label-C2tlefOv.js";import"./input-DF7Ue23C.js";import"./select-DYffGc49.js";import"./index-DwctwfU0.js";import"./chevron-down-B5XuAFRu.js";import"./check-LAUWAnlX.js";import"./checkbox-D9ub-v0l.js";import"./input-error-BBygona6.js";import"./move-left-BhKZRPb4.js";import"./loader-circle-Utah5tGx.js";const e=[];function W(){const o=m.c(1);let r;return o[0]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx(i,{breadcrumbs:e,children:t.jsx(p,{})}),o[0]=r):r=o[0],r}export{W as default};
@@ -1 +0,0 @@
1
- var Cs=Object.defineProperty;var Ns=(e,t,r)=>t in e?Cs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var g=(e,t,r)=>Ns(e,typeof t!="symbol"?t+"":t,r);import{q as ks,r as ps,S as Ps,j as i,J as ds}from"./app.js";import{c as Ss}from"./compiler-runtime-tM4jBQ-T.js";import{Icon as us}from"./icon-Bz9BMaD0.js";import{B as jt}from"./button-CTOOfwvn.js";import{L as b}from"./label-C2tlefOv.js";import{I as He}from"./input-DF7Ue23C.js";import{c as fs,S as hs,a as ms,b as bs,d as ys}from"./select-DYffGc49.js";import{C as vt}from"./checkbox-D9ub-v0l.js";import{b as qs,T as Es,a as As,c as Us}from"./tooltip-CWVAD5oF.js";import Is from"./input-error-BBygona6.js";import Ls from"./material-icon-CItZiB53.js";import{M as Bs,I as Fs}from"./move-left-BhKZRPb4.js";import{L as zs}from"./loader-circle-Utah5tGx.js";import"./utils-DjqsqOe8.js";import"./index-DUXJYtOc.js";import"./index-DEzdKGnS.js";import"./index-Dllsp4Rk.js";import"./index-D5ir9iUV.js";import"./index-C5OL14ES.js";import"./index-DnbQEoxZ.js";import"./index-DwctwfU0.js";import"./index-Cb_qrizV.js";import"./chevron-down-B5XuAFRu.js";import"./createLucideIcon-BFG25zNo.js";import"./check-LAUWAnlX.js";import"./index-Mx04mBJl.js";class gs extends Error{constructor(r,o,a){const c=r.status||r.status===0?r.status:"",u=r.statusText||"",d=`${c} ${u}`.trim(),h=d?`status code ${d}`:"an unknown error";super(`Request failed with ${h}: ${o.method} ${o.url}`);g(this,"response");g(this,"request");g(this,"options");this.name="HTTPError",this.response=r,this.request=o,this.options=a}}class _s extends Error{constructor(r){super(`Request timed out: ${r.method} ${r.url}`);g(this,"request");this.name="TimeoutError",this.request=r}}const xs=(()=>{let e=!1,t=!1;const r=typeof globalThis.ReadableStream=="function",o=typeof globalThis.Request=="function";if(r&&o)try{t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type")}catch(a){if(a instanceof Error&&a.message==="unsupported BodyInit type")return!1;throw a}return e&&!t})(),Os=typeof globalThis.AbortController=="function",Hs=typeof globalThis.ReadableStream=="function",Ds=typeof globalThis.FormData=="function",js=["get","post","put","patch","head","delete"],Ms={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},Rt=2147483647,$s=new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length,vs=Symbol("stop"),Js={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0},Vs={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0},Ws=e=>{if(!e)return 0;if(e instanceof FormData){let t=0;for(const[r,o]of e)t+=$s,t+=new TextEncoder().encode(`Content-Disposition: form-data; name="${r}"`).length,t+=typeof o=="string"?new TextEncoder().encode(o).length:o.size;return t}if(e instanceof Blob)return e.size;if(e instanceof ArrayBuffer)return e.byteLength;if(typeof e=="string")return new TextEncoder().encode(e).length;if(e instanceof URLSearchParams)return new TextEncoder().encode(e.toString()).length;if("byteLength"in e)return e.byteLength;if(typeof e=="object"&&e!==null)try{const t=JSON.stringify(e);return new TextEncoder().encode(t).length}catch{return 0}return 0},Ks=(e,t)=>{const r=Number(e.headers.get("content-length"))||0;let o=0;return e.status===204?(t&&t({percent:1,totalBytes:r,transferredBytes:o},new Uint8Array),new Response(null,{status:e.status,statusText:e.statusText,headers:e.headers})):new Response(new ReadableStream({async start(a){const c=e.body.getReader();t&&t({percent:0,transferredBytes:0,totalBytes:r},new Uint8Array);async function u(){const{done:d,value:h}=await c.read();if(d){a.close();return}if(t){o+=h.byteLength;const m=r===0?0:o/r;t({percent:m,transferredBytes:o,totalBytes:r},h)}a.enqueue(h),await u()}await u()}}),{status:e.status,statusText:e.statusText,headers:e.headers})},Xs=(e,t)=>{const r=Ws(e.body);let o=0;return new Request(e,{duplex:"half",body:new ReadableStream({async start(a){const c=e.body instanceof ReadableStream?e.body.getReader():new Response("").body.getReader();async function u(){const{done:d,value:h}=await c.read();if(d){t&&t({percent:1,transferredBytes:o,totalBytes:Math.max(r,o)},new Uint8Array),a.close();return}o+=h.byteLength;let m=r===0?0:o/r;(r<o||m===1)&&(m=.99),t&&t({percent:Number(m.toFixed(2)),transferredBytes:o,totalBytes:r},h),a.enqueue(h),await u()}await u()}})})},De=e=>e!==null&&typeof e=="object",Qe=(...e)=>{for(const t of e)if((!De(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return Ct({},...e)},Rs=(e={},t={})=>{const r=new globalThis.Headers(e),o=t instanceof globalThis.Headers,a=new globalThis.Headers(t);for(const[c,u]of a.entries())o&&u==="undefined"||u===void 0?r.delete(c):r.set(c,u);return r};function Ze(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:Ct(e[r]??[],t[r]??[])}const Ts=(e={},t={})=>({beforeRequest:Ze(e,t,"beforeRequest"),beforeRetry:Ze(e,t,"beforeRetry"),afterResponse:Ze(e,t,"afterResponse"),beforeError:Ze(e,t,"beforeError")}),Ct=(...e)=>{let t={},r={},o={};for(const a of e)if(Array.isArray(a))Array.isArray(t)||(t=[]),t=[...t,...a];else if(De(a)){for(let[c,u]of Object.entries(a))De(u)&&c in t&&(u=Ct(t[c],u)),t={...t,[c]:u};De(a.hooks)&&(o=Ts(o,a.hooks),t.hooks=o),De(a.headers)&&(r=Rs(r,a.headers),t.headers=r)}return t},Ys=e=>js.includes(e)?e.toUpperCase():e,Gs=["get","put","head","delete","options","trace"],Qs=[408,413,429,500,502,503,504],Zs=[413,429,503],ws={limit:2,methods:Gs,statusCodes:Qs,afterStatusCodes:Zs,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},er=(e={})=>{if(typeof e=="number")return{...ws,limit:e};if(e.methods&&!Array.isArray(e.methods))throw new Error("retry.methods must be an array");if(e.statusCodes&&!Array.isArray(e.statusCodes))throw new Error("retry.statusCodes must be an array");return{...ws,...e}};async function tr(e,t,r,o){return new Promise((a,c)=>{const u=setTimeout(()=>{r&&r.abort(),c(new _s(e))},o.timeout);o.fetch(e,t).then(a).catch(c).then(()=>{clearTimeout(u)})})}async function sr(e,{signal:t}){return new Promise((r,o)=>{t&&(t.throwIfAborted(),t.addEventListener("abort",a,{once:!0}));function a(){clearTimeout(c),o(t.reason)}const c=setTimeout(()=>{t==null||t.removeEventListener("abort",a),r()},e)})}const rr=(e,t)=>{const r={};for(const o in t)!(o in Vs)&&!(o in Js)&&!(o in e)&&(r[o]=t[o]);return r};class et{constructor(t,r={}){g(this,"request");g(this,"abortController");g(this,"_retryCount",0);g(this,"_input");g(this,"_options");var o,a;if(this._input=t,this._options={...r,headers:Rs(this._input.headers,r.headers),hooks:Ts({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:Ys(r.method??this._input.method??"GET"),prefixUrl:String(r.prefixUrl||""),retry:er(r.retry),throwHttpErrors:r.throwHttpErrors!==!1,timeout:r.timeout??1e4,fetch:r.fetch??globalThis.fetch.bind(globalThis)},typeof this._input!="string"&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&typeof this._input=="string"){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(Os){const c=this._options.signal??this._input.signal;this.abortController=new globalThis.AbortController,this._options.signal=c?AbortSignal.any([c,this.abortController.signal]):this.abortController.signal}if(xs&&(this._options.duplex="half"),this._options.json!==void 0&&(this._options.body=((a=(o=this._options).stringifyJson)==null?void 0:a.call(o,this._options.json))??JSON.stringify(this._options.json),this._options.headers.set("content-type",this._options.headers.get("content-type")??"application/json")),this.request=new globalThis.Request(this._input,this._options),this._options.searchParams){const u="?"+(typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString()),d=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,u);(Ds&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)&&!(this._options.headers&&this._options.headers["content-type"])&&this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(d,{...this.request}),this._options)}if(this._options.onUploadProgress){if(typeof this._options.onUploadProgress!="function")throw new TypeError("The `onUploadProgress` option must be a function");if(!xs)throw new Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");this.request.body&&(this.request=Xs(this.request,this._options.onUploadProgress))}}static create(t,r){const o=new et(t,r),a=async()=>{if(typeof o._options.timeout=="number"&&o._options.timeout>Rt)throw new RangeError(`The \`timeout\` option cannot be greater than ${Rt}`);await Promise.resolve();let d=await o._fetch();for(const h of o._options.hooks.afterResponse){const m=await h(o.request,o._options,o._decorateResponse(d.clone()));m instanceof globalThis.Response&&(d=m)}if(o._decorateResponse(d),!d.ok&&o._options.throwHttpErrors){let h=new gs(d,o.request,o._options);for(const m of o._options.hooks.beforeError)h=await m(h);throw h}if(o._options.onDownloadProgress){if(typeof o._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!Hs)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return Ks(d.clone(),o._options.onDownloadProgress)}return d},u=(o._options.retry.methods.includes(o.request.method.toLowerCase())?o._retry(a):a()).finally(async()=>{var d;o.request.bodyUsed||await((d=o.request.body)==null?void 0:d.cancel())});for(const[d,h]of Object.entries(Ms))u[d]=async()=>{o.request.headers.set("accept",o.request.headers.get("accept")||h);const m=await u;if(d==="json"){if(m.status===204||(await m.clone().arrayBuffer()).byteLength===0)return"";if(r.parseJson)return r.parseJson(await m.text())}return m[d]()};return u}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount>this._options.retry.limit||t instanceof _s)throw t;if(t instanceof gs){if(!this._options.retry.statusCodes.includes(t.response.status))throw t;const o=t.response.headers.get("Retry-After")??t.response.headers.get("RateLimit-Reset")??t.response.headers.get("X-RateLimit-Reset")??t.response.headers.get("X-Rate-Limit-Reset");if(o&&this._options.retry.afterStatusCodes.includes(t.response.status)){let a=Number(o)*1e3;Number.isNaN(a)?a=Date.parse(o)-Date.now():a>=Date.parse("2024-01-01")&&(a-=Date.now());const c=this._options.retry.maxRetryAfter??a;return a<c?a:c}if(t.response.status===413)throw t}const r=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,r)}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(r){const o=Math.min(this._calculateRetryDelay(r),Rt);if(this._retryCount<1)throw r;await sr(o,{signal:this._options.signal});for(const a of this._options.hooks.beforeRetry)if(await a({request:this.request,options:this._options,error:r,retryCount:this._retryCount})===vs)return;return this._retry(t)}}async _fetch(){for(const o of this._options.hooks.beforeRequest){const a=await o(this.request,this._options);if(a instanceof Request){this.request=a;break}if(a instanceof Response)return a}const t=rr(this.request,this._options),r=this.request;return this.request=r.clone(),this._options.timeout===!1?this._options.fetch(r,t):tr(r,t,this.abortController,this._options)}}/*! MIT License © Sindre Sorhus */const Tt=e=>{const t=(r,o)=>et.create(r,Qe(e,o));for(const r of js)t[r]=(o,a)=>et.create(o,Qe(e,a,{method:r}));return t.create=r=>Tt(Qe(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),Tt(Qe(e,r))),t.stop=vs,t},or=Tt();function Br(){var Nt,kt,Pt,St,qt,Et,At,Ut,It,Lt,Bt,Ft,zt,Ot,Ht,Dt,Mt,$t,Jt,Vt,Wt,Kt,Xt,Yt,Gt,Qt,Zt,es,ts,ss,rs,os,is,as,ns,ls,cs;const e=Ss.c(260),t=ks(),[r,o]=ps.useState(),{fields:a,groups:c,auth:u}=t.props;let d;e[0]!==a?(d=Object.fromEntries(a.map(cr)),e[0]=a,e[1]=d):d=e[1];let h;e[2]!==c?(h=Object.fromEntries(c.map(lr)),e[2]=c,e[3]=h):h=e[3];let m;e[4]!==d||e[5]!==h?(m={...d,...h},e[4]=d,e[5]=h,e[6]=m):m=e[6];const{data:p,setData:Me,errors:tt,setError:st,clearErrors:rt,post:ot,processing:f}=Ps(m);let $e,Je;e[7]===Symbol.for("react.memo_cache_sentinel")?($e=()=>{(async()=>{const x=await or.get(`${window.routePrefix}/get-timezones`).json();o(x.timezones)})()},Je=[],e[7]=$e,e[8]=Je):($e=e[7],Je=e[8]),ps.useEffect($e,Je);let Ve;e[9]!==t.props.fields?(Ve=l=>t.props.fields.find(x=>x.name===l),e[9]=t.props.fields,e[10]=Ve):Ve=e[10];const s=Ve;let We;e[11]!==p.repeatUserPassword||e[12]!==p.userPassword||e[13]!==t.props.passwordError||e[14]!==t.props.postLink||e[15]!==ot||e[16]!==st?(We=l=>{if(l.preventDefault(),p.userPassword!==p.repeatUserPassword){st("repeatUserPassword",t.props.passwordError);return}ot(t.props.postLink)},e[11]=p.repeatUserPassword,e[12]=p.userPassword,e[13]=t.props.passwordError,e[14]=t.props.postLink,e[15]=ot,e[16]=st,e[17]=We):We=e[17];const it=We;let Ke;e[18]!==rt||e[19]!==Me?(Ke=(l,x)=>{rt(),Me(l,x)},e[18]=rt,e[19]=Me,e[20]=Ke):Ke=e[20];const n=Ke;let Xe;e[21]===Symbol.for("react.memo_cache_sentinel")?(Xe=i.jsx(us,{iconNode:Bs}),e[21]=Xe):Xe=e[21];let w;e[22]!==t.props.btnBack.link||e[23]!==t.props.btnBack.title?(w=i.jsx(jt,{className:"mb-3 w-fit",asChild:!0,children:i.jsxs(ds,{href:t.props.btnBack.link,children:[Xe,t.props.btnBack.title]})}),e[22]=t.props.btnBack.link,e[23]=t.props.btnBack.title,e[24]=w):w=e[24];const at=f||t.props.view;let y;e[25]!==f?(y=f&&i.jsx(zs,{className:"h-4 w-4 animate-spin"}),e[25]=f,e[26]=y):y=e[26];let _;e[27]!==t.props.btnSave.title||e[28]!==at||e[29]!==y?(_=i.jsxs(jt,{variant:"green",type:"submit",className:"w-fit cursor-pointer",form:"addUserForm",disabled:at,children:[y,t.props.btnSave.title]}),e[27]=t.props.btnSave.title,e[28]=at,e[29]=y,e[30]=_):_=e[30];let j;e[31]!==_||e[32]!==w?(j=i.jsxs("div",{className:"w-full sticky z-[1001] py-4 pb-8 top-0 h-fit bg-background flex gap-4",children:[w,_]}),e[31]=_,e[32]=w,e[33]=j):j=e[33];const nt=t.props.view?"cursor-not-allowed":"";let v;e[34]!==t.props.head?(v=i.jsx("h2",{className:"font-bold text-xl",children:t.props.head}),e[34]=t.props.head,e[35]=v):v=e[35];let R;e[36]!==s?(R=(Nt=s("login"))==null?void 0:Nt.name,e[36]=s,e[37]=R):R=e[37];let T;e[38]!==s?(T=(kt=s("login"))==null?void 0:kt.label,e[38]=s,e[39]=T):T=e[39];let C;e[40]!==R||e[41]!==T?(C=i.jsx(b,{htmlFor:R,children:T}),e[40]=R,e[41]=T,e[42]=C):C=e[42];let N;e[43]!==s?(N=(Pt=s("login"))==null?void 0:Pt.name,e[43]=s,e[44]=N):N=e[44];const lt=p.login;let k;e[45]!==n?(k=l=>n("login",l.target.value),e[45]=n,e[46]=k):k=e[46];const ct=f||t.props.view;let P;e[47]!==s?(P=(St=s("login"))==null?void 0:St.label,e[47]=s,e[48]=P):P=e[48];let S;e[49]!==N||e[50]!==lt||e[51]!==k||e[52]!==ct||e[53]!==P?(S=i.jsx(He,{id:N,type:"text",required:!0,tabIndex:1,autoComplete:"username",value:lt,onChange:k,disabled:ct,placeholder:P}),e[49]=N,e[50]=lt,e[51]=k,e[52]=ct,e[53]=P,e[54]=S):S=e[54];let q;e[55]!==C||e[56]!==S?(q=i.jsxs("div",{className:"grid gap-4",children:[C,S]}),e[55]=C,e[56]=S,e[57]=q):q=e[57];let E;e[58]!==s?(E=(qt=s("fullName"))==null?void 0:qt.name,e[58]=s,e[59]=E):E=e[59];let A;e[60]!==s?(A=(Et=s("fullName"))==null?void 0:Et.label,e[60]=s,e[61]=A):A=e[61];let U;e[62]!==E||e[63]!==A?(U=i.jsx(b,{htmlFor:E,children:A}),e[62]=E,e[63]=A,e[64]=U):U=e[64];let I;e[65]!==s?(I=(At=s("fullName"))==null?void 0:At.name,e[65]=s,e[66]=I):I=e[66];const pt=p.fullName;let L;e[67]!==n?(L=l=>n("fullName",l.target.value),e[67]=n,e[68]=L):L=e[68];const dt=f||t.props.view;let B;e[69]!==s?(B=(Ut=s("fullName"))==null?void 0:Ut.label,e[69]=s,e[70]=B):B=e[70];let F;e[71]!==I||e[72]!==pt||e[73]!==L||e[74]!==dt||e[75]!==B?(F=i.jsx(He,{id:I,type:"text",required:!0,tabIndex:1,autoComplete:"additional-name",value:pt,onChange:L,disabled:dt,placeholder:B}),e[71]=I,e[72]=pt,e[73]=L,e[74]=dt,e[75]=B,e[76]=F):F=e[76];let z;e[77]!==U||e[78]!==F?(z=i.jsxs("div",{className:"grid gap-4",children:[U,F]}),e[77]=U,e[78]=F,e[79]=z):z=e[79];let O;e[80]!==s?(O=(It=s("email"))==null?void 0:It.name,e[80]=s,e[81]=O):O=e[81];let H;e[82]!==s?(H=(Lt=s("email"))==null?void 0:Lt.label,e[82]=s,e[83]=H):H=e[83];let D;e[84]!==O||e[85]!==H?(D=i.jsx(b,{htmlFor:O,children:H}),e[84]=O,e[85]=H,e[86]=D):D=e[86];let M;e[87]!==s?(M=(Bt=s("email"))==null?void 0:Bt.name,e[87]=s,e[88]=M):M=e[88];const ut=p.email;let $;e[89]!==n?($=l=>n("email",l.target.value),e[89]=n,e[90]=$):$=e[90];const ft=f||t.props.view;let J;e[91]!==s?(J=(Ft=s("email"))==null?void 0:Ft.label,e[91]=s,e[92]=J):J=e[92];let V;e[93]!==M||e[94]!==ut||e[95]!==$||e[96]!==ft||e[97]!==J?(V=i.jsx(He,{id:M,type:"email",required:!0,tabIndex:1,autoComplete:"email",value:ut,onChange:$,disabled:ft,placeholder:J}),e[93]=M,e[94]=ut,e[95]=$,e[96]=ft,e[97]=J,e[98]=V):V=e[98];let W;e[99]!==D||e[100]!==V?(W=i.jsxs("div",{className:"grid gap-4",children:[D,V]}),e[99]=D,e[100]=V,e[101]=W):W=e[101];let K;e[102]!==q||e[103]!==z||e[104]!==W?(K=i.jsxs("div",{className:"basis-1/2 flex flex-col gap-6",children:[q,z,W]}),e[102]=q,e[103]=z,e[104]=W,e[105]=K):K=e[105];let X;e[106]!==s?(X=(zt=s("timezone"))==null?void 0:zt.name,e[106]=s,e[107]=X):X=e[107];let Y;e[108]!==s?(Y=(Ot=s("timezone"))==null?void 0:Ot.label,e[108]=s,e[109]=Y):Y=e[109];let G;e[110]!==X||e[111]!==Y?(G=i.jsx(b,{htmlFor:X,children:Y}),e[110]=X,e[111]=Y,e[112]=G):G=e[112];let Q;e[113]!==n?(Q=l=>n("timezone",l),e[113]=n,e[114]=Q):Q=e[114];const ht=p.timezone,mt=f||t.props.view;let Z;e[115]!==s?(Z=(Ht=s("timezone"))==null?void 0:Ht.name,e[115]=s,e[116]=Z):Z=e[116];let ee;e[117]!==Z?(ee=i.jsx(hs,{className:"w-full cursor-pointer",children:i.jsx(ms,{placeholder:Z})}),e[117]=Z,e[118]=ee):ee=e[118];let te;e[119]!==r?(te=r??[],e[119]=r,e[120]=te):te=e[120];let se;e[121]!==te?(se=te.map(nr),e[121]=te,e[122]=se):se=e[122];let re;e[123]!==se?(re=i.jsx(bs,{children:se}),e[123]=se,e[124]=re):re=e[124];let oe;e[125]!==Q||e[126]!==ht||e[127]!==mt||e[128]!==ee||e[129]!==re?(oe=i.jsxs(fs,{onValueChange:Q,defaultValue:ht,disabled:mt,children:[ee,re]}),e[125]=Q,e[126]=ht,e[127]=mt,e[128]=ee,e[129]=re,e[130]=oe):oe=e[130];let ie;e[131]!==G||e[132]!==oe?(ie=i.jsxs("div",{className:"grid gap-4",children:[G,oe]}),e[131]=G,e[132]=oe,e[133]=ie):ie=e[133];let ae;e[134]!==p.date||e[135]!==s||e[136]!==n||e[137]!==f?(ae=s("date")&&i.jsxs("div",{className:"grid gap-4",children:[i.jsx(b,{htmlFor:(Dt=s("date"))==null?void 0:Dt.name,children:(Mt=s("date"))==null?void 0:Mt.label}),i.jsx(He,{id:($t=s("date"))==null?void 0:$t.name,type:"date",className:"max-w-fit",tabIndex:1,value:p.date,onChange:l=>n("date",l.target.value),disabled:f})]}),e[134]=p.date,e[135]=s,e[136]=n,e[137]=f,e[138]=ae):ae=e[138];let ne;e[139]!==p.isAdmin||e[140]!==s||e[141]!==n||e[142]!==t.props.view||e[143]!==f?(ne=s("isAdmin")&&i.jsxs("div",{className:"grid gap-4",children:[i.jsx(b,{className:"cursor-pointer",htmlFor:(Jt=s("isAdmin"))==null?void 0:Jt.name,children:(Vt=s("isAdmin"))==null?void 0:Vt.label}),i.jsx(vt,{id:(Wt=s("isAdmin"))==null?void 0:Wt.name,className:"cursor-pointer size-5",disabled:f||t.props.view,checked:p.isAdmin,onCheckedChange:l=>n("isAdmin",l)})]}),e[139]=p.isAdmin,e[140]=s,e[141]=n,e[142]=t.props.view,e[143]=f,e[144]=ne):ne=e[144];let le;e[145]!==p.isConfirmed||e[146]!==s||e[147]!==n||e[148]!==t.props.view||e[149]!==f?(le=s("isConfirmed")&&i.jsxs("div",{className:"grid gap-4",children:[i.jsx(b,{className:"cursor-pointer",htmlFor:(Kt=s("isConfirmed"))==null?void 0:Kt.name,children:(Xt=s("isConfirmed"))==null?void 0:Xt.label}),i.jsx(vt,{id:(Yt=s("isConfirmed"))==null?void 0:Yt.name,className:"cursor-pointer size-5",disabled:f||t.props.view,checked:p.isConfirmed,onCheckedChange:l=>n("isConfirmed",l)})]}),e[145]=p.isConfirmed,e[146]=s,e[147]=n,e[148]=t.props.view,e[149]=f,e[150]=le):le=e[150];let ce;e[151]!==ne||e[152]!==le?(ce=i.jsxs("div",{className:"flex gap-6",children:[ne,le]}),e[151]=ne,e[152]=le,e[153]=ce):ce=e[153];let pe;e[154]!==ae||e[155]!==ce?(pe=i.jsxs("div",{className:"flex flex-col md:flex-row justify-start gap-4 xl:justify-between items-start md:items-center",children:[ae,ce]}),e[154]=ae,e[155]=ce,e[156]=pe):pe=e[156];let de;e[157]!==p.locale||e[158]!==s||e[159]!==n||e[160]!==t.props.locales||e[161]!==t.props.view||e[162]!==f?(de=s("locale")&&i.jsxs("div",{className:"grid gap-4",children:[i.jsx(b,{htmlFor:(Gt=s("locale"))==null?void 0:Gt.name,children:(Qt=s("locale"))==null?void 0:Qt.label}),i.jsxs(fs,{onValueChange:l=>n("locale",l),defaultValue:p.locale,disabled:f||t.props.view,children:[i.jsx(hs,{className:"w-full cursor-pointer",children:i.jsx(ms,{placeholder:(Zt=s("locale"))==null?void 0:Zt.name})}),i.jsx(bs,{children:(t.props.locales??[]).map(ar)})]})]}),e[157]=p.locale,e[158]=s,e[159]=n,e[160]=t.props.locales,e[161]=t.props.view,e[162]=f,e[163]=de):de=e[163];let ue;e[164]!==ie||e[165]!==pe||e[166]!==de?(ue=i.jsxs("div",{className:"basis-1/2 flex flex-col gap-6",children:[ie,pe,de]}),e[164]=ie,e[165]=pe,e[166]=de,e[167]=ue):ue=e[167];let fe;e[168]!==K||e[169]!==ue?(fe=i.jsxs("div",{className:"flex-col xl:flex-row flex gap-16",children:[K,ue]}),e[168]=K,e[169]=ue,e[170]=fe):fe=e[170];let he;e[171]!==u.user.isAdministrator||e[172]!==p.login||e[173]!==t.props.userPretend?(he=u.user.isAdministrator&&i.jsx(jt,{className:"w-fit",asChild:!0,variant:"outline",children:i.jsxs(ds,{href:t.props.userPretend.postLink,method:"post",data:{login:p.login,pretend:!0},children:[i.jsx(Ls,{name:"masks",className:"!text-[18px]"}),t.props.userPretend.label]})}),e[171]=u.user.isAdministrator,e[172]=p.login,e[173]=t.props.userPretend,e[174]=he):he=e[174];let me;e[175]!==s?(me=(es=s("userPassword"))==null?void 0:es.label,e[175]=s,e[176]=me):me=e[176];let be;e[177]!==me?(be=i.jsx("label",{className:"font-bold text-xl",children:me}),e[177]=me,e[178]=be):be=e[178];let Ye;e[179]===Symbol.for("react.memo_cache_sentinel")?(Ye=i.jsx(qs,{onClick:ir,children:i.jsx(us,{iconNode:Fs,className:"text-primary w-5 h-5 cursor-pointer"})}),e[179]=Ye):Ye=e[179];let ge;e[180]!==s?(ge=(ts=s("userPassword"))==null?void 0:ts.tooltip,e[180]=s,e[181]=ge):ge=e[181];let xe;e[182]!==ge?(xe=i.jsx(Es,{children:i.jsxs(As,{children:[Ye,i.jsx(Us,{align:"center",side:"top",children:i.jsx("p",{children:ge})})]})}),e[182]=ge,e[183]=xe):xe=e[183];let we;e[184]!==be||e[185]!==xe?(we=i.jsxs("div",{className:"flex gap-3",children:[be,xe]}),e[184]=be,e[185]=xe,e[186]=we):we=e[186];let ye;e[187]!==s?(ye=(ss=s("userPassword"))==null?void 0:ss.name,e[187]=s,e[188]=ye):ye=e[188];let _e;e[189]!==s?(_e=(rs=s("userPassword"))==null?void 0:rs.label,e[189]=s,e[190]=_e):_e=e[190];let je;e[191]!==ye||e[192]!==_e?(je=i.jsx(b,{htmlFor:ye,children:_e}),e[191]=ye,e[192]=_e,e[193]=je):je=e[193];let ve;e[194]!==s?(ve=(os=s("userPassword"))==null?void 0:os.name,e[194]=s,e[195]=ve):ve=e[195];const bt=!t.props.edit,gt=p.password;let Re;e[196]!==n?(Re=l=>n("userPassword",l.target.value),e[196]=n,e[197]=Re):Re=e[197];const xt=f||t.props.view;let Te;e[198]!==s?(Te=(is=s("userPassword"))==null?void 0:is.label,e[198]=s,e[199]=Te):Te=e[199];let Ce;e[200]!==ve||e[201]!==bt||e[202]!==gt||e[203]!==Re||e[204]!==xt||e[205]!==Te?(Ce=i.jsx(He,{id:ve,type:"password",required:bt,tabIndex:1,autoComplete:"new-password",value:gt,onChange:Re,disabled:xt,placeholder:Te}),e[200]=ve,e[201]=bt,e[202]=gt,e[203]=Re,e[204]=xt,e[205]=Te,e[206]=Ce):Ce=e[206];let Ne;e[207]!==je||e[208]!==Ce?(Ne=i.jsxs("div",{className:"grid gap-4 col-span-1",children:[je,Ce]}),e[207]=je,e[208]=Ce,e[209]=Ne):Ne=e[209];let ke;e[210]!==s?(ke=(as=s("repeatUserPassword"))==null?void 0:as.name,e[210]=s,e[211]=ke):ke=e[211];let Pe;e[212]!==s?(Pe=(ns=s("repeatUserPassword"))==null?void 0:ns.label,e[212]=s,e[213]=Pe):Pe=e[213];let Se;e[214]!==ke||e[215]!==Pe?(Se=i.jsx(b,{htmlFor:ke,children:Pe}),e[214]=ke,e[215]=Pe,e[216]=Se):Se=e[216];let qe;e[217]!==s?(qe=(ls=s("repeatUserPassword"))==null?void 0:ls.name,e[217]=s,e[218]=qe):qe=e[218];const wt=!t.props.edit,yt=p.repeatUserPassword;let Ee;e[219]!==n?(Ee=l=>n("repeatUserPassword",l.target.value),e[219]=n,e[220]=Ee):Ee=e[220];const _t=f||t.props.view;let Ae;e[221]!==s?(Ae=(cs=s("repeatUserPassword"))==null?void 0:cs.label,e[221]=s,e[222]=Ae):Ae=e[222];let Ue;e[223]!==qe||e[224]!==wt||e[225]!==yt||e[226]!==Ee||e[227]!==_t||e[228]!==Ae?(Ue=i.jsx(He,{id:qe,type:"password",required:wt,tabIndex:1,autoComplete:"new-password",value:yt,onChange:Ee,disabled:_t,placeholder:Ae}),e[223]=qe,e[224]=wt,e[225]=yt,e[226]=Ee,e[227]=_t,e[228]=Ae,e[229]=Ue):Ue=e[229];let Ie;e[230]!==tt.repeatUserPassword?(Ie=i.jsx(Is,{message:tt.repeatUserPassword}),e[230]=tt.repeatUserPassword,e[231]=Ie):Ie=e[231];let Le;e[232]!==Se||e[233]!==Ue||e[234]!==Ie?(Le=i.jsxs("div",{className:"grid gap-4 col-span-1 col-start-1",children:[Se,Ue,Ie]}),e[232]=Se,e[233]=Ue,e[234]=Ie,e[235]=Le):Le=e[235];let Be;e[236]!==Ne||e[237]!==Le?(Be=i.jsxs("div",{className:"grid grid-col-1 lg:grid-cols-2 grid-rows-2 gap-x-16 gap-y-6",children:[Ne,Le]}),e[236]=Ne,e[237]=Le,e[238]=Be):Be=e[238];let Fe;e[239]!==p||e[240]!==n||e[241]!==t.props.groupHead||e[242]!==t.props.groups||e[243]!==t.props.view||e[244]!==f?(Fe=t.props.groups.length>0&&i.jsxs(i.Fragment,{children:[i.jsx("h2",{className:"font-bold text-xl",children:t.props.groupHead}),i.jsx("div",{className:"grid grid-cols-1 md:grid-cols-5 xl:grid-cols-6 gap-4",children:t.props.groups.map(l=>i.jsxs("div",{className:"grid gap-4",children:[i.jsx(b,{className:"cursor-pointer",htmlFor:l.name,children:l.label}),i.jsx(vt,{id:l.name,disabled:f||t.props.view,className:"cursor-pointer size-5",checked:p[l.name],onCheckedChange:x=>n(l.name,x)})]},l.name))})]}),e[239]=p,e[240]=n,e[241]=t.props.groupHead,e[242]=t.props.groups,e[243]=t.props.view,e[244]=f,e[245]=Fe):Fe=e[245];let ze;e[246]!==v||e[247]!==fe||e[248]!==he||e[249]!==we||e[250]!==Be||e[251]!==Fe?(ze=i.jsxs("div",{className:"flex flex-col gap-10 max-w-[1144px]",children:[v,fe,he,we,Be,Fe]}),e[246]=v,e[247]=fe,e[248]=he,e[249]=we,e[250]=Be,e[251]=Fe,e[252]=ze):ze=e[252];let Oe;e[253]!==it||e[254]!==ze||e[255]!==nt?(Oe=i.jsx("form",{id:"addUserForm",onSubmit:it,className:nt,children:ze}),e[253]=it,e[254]=ze,e[255]=nt,e[256]=Oe):Oe=e[256];let Ge;return e[257]!==Oe||e[258]!==j?(Ge=i.jsxs("div",{className:"flex h-full flex-1 flex-col gap-4 rounded-xl p-4",children:[j,Oe]}),e[257]=Oe,e[258]=j,e[259]=Ge):Ge=e[259],Ge}function ir(e){return e.preventDefault()}function ar(e){return i.jsx(ys,{value:e.value,children:e.label},e.value)}function nr(e){return i.jsx(ys,{value:e.value,children:e.label},e.value)}function lr(e){return[e.name,e.value]}function cr(e){return[e.name,e.value]}export{Br as default};
@@ -1 +0,0 @@
1
- import{r as p,j as t,q as de,J as A}from"./app.js";import{c as j}from"./compiler-runtime-tM4jBQ-T.js";import{N as ue,C as B,a as L,b as z}from"./nav-main-ByHRr3yf.js";import{c as pe,d as O,e as k,f as me,g as I,h as U,i as V,j as H,k as fe,l as xe,m as be}from"./sidebar-B9HagQ6H.js";import v from"./material-icon-CItZiB53.js";import{B as he}from"./button-CTOOfwvn.js";import{c as ge,u as ve}from"./index-C5OL14ES.js";import{u as J,c as _,a as P}from"./index-Dllsp4Rk.js";import{u as Me}from"./index-DUXJYtOc.js";import{c as je}from"./index-D5ir9iUV.js";import{c as Ne,S as Ce,a as _e,b as we,I as Re,d as q,R as ye,e as Se,A as Ae,C as Ee,G as Pe,L as Oe,f as ke,g as Ie,h as Te,i as $e,j as De,k as Ge,l as Fe,P as Ke}from"./index-m5itSoCR.js";import{P as W}from"./index-DEzdKGnS.js";import{c as y}from"./utils-DjqsqOe8.js";import{C as G}from"./chevron-right-D5q8rF7h.js";import{C as Be}from"./chevrons-up-down-kALltqHV.js";import"./index-Mx04mBJl.js";import"./index-CGjCQBqR.js";import"./createLucideIcon-BFG25zNo.js";import"./index-DnbQEoxZ.js";import"./tooltip-CWVAD5oF.js";import"./index-Cb_qrizV.js";var S="Menubar",[T,Le,ze]=ge(S),[X,ra]=je(S,[ze,q]),g=Ne(),Y=q(),[Ue,F]=X(S),Q=p.forwardRef((e,r)=>{const{__scopeMenubar:a,value:n,onValueChange:s,defaultValue:o,loop:c=!0,dir:i,...l}=e,f=ve(i),d=Y(a),[x,m]=J({prop:n,onChange:s,defaultProp:o??"",caller:S}),[h,u]=p.useState(null);return t.jsx(Ue,{scope:a,value:x,onMenuOpen:p.useCallback(b=>{m(b),u(b)},[m]),onMenuClose:p.useCallback(()=>m(""),[m]),onMenuToggle:p.useCallback(b=>{m(N=>N?"":b),u(b)},[m]),dir:f,loop:c,children:t.jsx(T.Provider,{scope:a,children:t.jsx(T.Slot,{scope:a,children:t.jsx(ye,{asChild:!0,...d,orientation:"horizontal",loop:c,dir:f,currentTabStopId:h,onCurrentTabStopIdChange:u,children:t.jsx(W.div,{role:"menubar",...l,ref:r})})})})})});Q.displayName=S;var K="MenubarMenu",[Ve,Z]=X(K),ee=e=>{const{__scopeMenubar:r,value:a,...n}=e,s=P(),o=a||s||"LEGACY_REACT_AUTO_VALUE",c=F(K,r),i=g(r),l=p.useRef(null),f=p.useRef(!1),d=c.value===o;return p.useEffect(()=>{d||(f.current=!1)},[d]),t.jsx(Ve,{scope:r,value:o,triggerId:P(),triggerRef:l,contentId:P(),wasKeyboardTriggerOpenRef:f,children:t.jsx(Fe,{...i,open:d,onOpenChange:x=>{x||c.onMenuClose()},modal:!1,dir:c.dir,...n})})};ee.displayName=K;var $="MenubarTrigger",re=p.forwardRef((e,r)=>{const{__scopeMenubar:a,disabled:n=!1,...s}=e,o=Y(a),c=g(a),i=F($,a),l=Z($,a),f=p.useRef(null),d=Me(r,f,l.triggerRef),[x,m]=p.useState(!1),h=i.value===l.value;return t.jsx(T.ItemSlot,{scope:a,value:l.value,disabled:n,children:t.jsx(Se,{asChild:!0,...o,focusable:!n,tabStopId:l.value,children:t.jsx(Ae,{asChild:!0,...c,children:t.jsx(W.button,{type:"button",role:"menuitem",id:l.triggerId,"aria-haspopup":"menu","aria-expanded":h,"aria-controls":h?l.contentId:void 0,"data-highlighted":x?"":void 0,"data-state":h?"open":"closed","data-disabled":n?"":void 0,disabled:n,...s,ref:d,onPointerDown:_(e.onPointerDown,u=>{!n&&u.button===0&&u.ctrlKey===!1&&(i.onMenuOpen(l.value),h||u.preventDefault())}),onPointerEnter:_(e.onPointerEnter,()=>{var b;!!i.value&&!h&&(i.onMenuOpen(l.value),(b=f.current)==null||b.focus())}),onKeyDown:_(e.onKeyDown,u=>{n||(["Enter"," "].includes(u.key)&&i.onMenuToggle(l.value),u.key==="ArrowDown"&&i.onMenuOpen(l.value),["Enter"," ","ArrowDown"].includes(u.key)&&(l.wasKeyboardTriggerOpenRef.current=!0,u.preventDefault()))}),onFocus:_(e.onFocus,()=>m(!0)),onBlur:_(e.onBlur,()=>m(!1))})})})})});re.displayName=$;var He="MenubarPortal",ae=e=>{const{__scopeMenubar:r,...a}=e,n=g(r);return t.jsx(Ke,{...n,...a})};ae.displayName=He;var D="MenubarContent",te=p.forwardRef((e,r)=>{const{__scopeMenubar:a,align:n="start",...s}=e,o=g(a),c=F(D,a),i=Z(D,a),l=Le(a),f=p.useRef(!1);return t.jsx(Ee,{id:i.contentId,"aria-labelledby":i.triggerId,"data-radix-menubar-content":"",...o,...s,ref:r,align:n,onCloseAutoFocus:_(e.onCloseAutoFocus,d=>{var m;!!!c.value&&!f.current&&((m=i.triggerRef.current)==null||m.focus()),f.current=!1,d.preventDefault()}),onFocusOutside:_(e.onFocusOutside,d=>{const x=d.target;l().some(h=>{var u;return(u=h.ref.current)==null?void 0:u.contains(x)})&&d.preventDefault()}),onInteractOutside:_(e.onInteractOutside,()=>{f.current=!0}),onEntryFocus:d=>{i.wasKeyboardTriggerOpenRef.current||d.preventDefault()},onKeyDown:_(e.onKeyDown,d=>{if(["ArrowRight","ArrowLeft"].includes(d.key)){const x=d.target,m=x.hasAttribute("data-radix-menubar-subtrigger"),h=x.closest("[data-radix-menubar-content]")!==d.currentTarget,b=(c.dir==="rtl"?"ArrowRight":"ArrowLeft")===d.key;if(!b&&m||h&&b)return;let M=l().filter(E=>!E.disabled).map(E=>E.value);b&&M.reverse();const C=M.indexOf(i.value);M=c.loop?pr(M,C+1):M.slice(C+1);const[R]=M;R&&c.onMenuOpen(R)}},{checkForDefaultPrevented:!1}),style:{...e.style,"--radix-menubar-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-menubar-content-available-width":"var(--radix-popper-available-width)","--radix-menubar-content-available-height":"var(--radix-popper-available-height)","--radix-menubar-trigger-width":"var(--radix-popper-anchor-width)","--radix-menubar-trigger-height":"var(--radix-popper-anchor-height)"}})});te.displayName=D;var Je="MenubarGroup",qe=p.forwardRef((e,r)=>{const{__scopeMenubar:a,...n}=e,s=g(a);return t.jsx(Pe,{...s,...n,ref:r})});qe.displayName=Je;var We="MenubarLabel",Xe=p.forwardRef((e,r)=>{const{__scopeMenubar:a,...n}=e,s=g(a);return t.jsx(Oe,{...s,...n,ref:r})});Xe.displayName=We;var Ye="MenubarItem",ne=p.forwardRef((e,r)=>{const{__scopeMenubar:a,...n}=e,s=g(a);return t.jsx(Re,{...s,...n,ref:r})});ne.displayName=Ye;var Qe="MenubarCheckboxItem",Ze=p.forwardRef((e,r)=>{const{__scopeMenubar:a,...n}=e,s=g(a);return t.jsx(ke,{...s,...n,ref:r})});Ze.displayName=Qe;var er="MenubarRadioGroup",rr=p.forwardRef((e,r)=>{const{__scopeMenubar:a,...n}=e,s=g(a);return t.jsx(Ie,{...s,...n,ref:r})});rr.displayName=er;var ar="MenubarRadioItem",tr=p.forwardRef((e,r)=>{const{__scopeMenubar:a,...n}=e,s=g(a);return t.jsx(Te,{...s,...n,ref:r})});tr.displayName=ar;var nr="MenubarItemIndicator",sr=p.forwardRef((e,r)=>{const{__scopeMenubar:a,...n}=e,s=g(a);return t.jsx($e,{...s,...n,ref:r})});sr.displayName=nr;var or="MenubarSeparator",ir=p.forwardRef((e,r)=>{const{__scopeMenubar:a,...n}=e,s=g(a);return t.jsx(De,{...s,...n,ref:r})});ir.displayName=or;var lr="MenubarArrow",cr=p.forwardRef((e,r)=>{const{__scopeMenubar:a,...n}=e,s=g(a);return t.jsx(Ge,{...s,...n,ref:r})});cr.displayName=lr;var se="MenubarSub",oe=e=>{const{__scopeMenubar:r,children:a,open:n,onOpenChange:s,defaultOpen:o}=e,c=g(r),[i,l]=J({prop:n,defaultProp:o??!1,onChange:s,caller:se});return t.jsx(Ce,{...c,open:i,onOpenChange:l,children:a})};oe.displayName=se;var dr="MenubarSubTrigger",ie=p.forwardRef((e,r)=>{const{__scopeMenubar:a,...n}=e,s=g(a);return t.jsx(_e,{"data-radix-menubar-subtrigger":"",...s,...n,ref:r})});ie.displayName=dr;var ur="MenubarSubContent",le=p.forwardRef((e,r)=>{const{__scopeMenubar:a,...n}=e,s=g(a);return t.jsx(we,{...s,"data-radix-menubar-content":"",...n,ref:r,style:{...e.style,"--radix-menubar-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-menubar-content-available-width":"var(--radix-popper-available-width)","--radix-menubar-content-available-height":"var(--radix-popper-available-height)","--radix-menubar-trigger-width":"var(--radix-popper-anchor-width)","--radix-menubar-trigger-height":"var(--radix-popper-anchor-height)"}})});le.displayName=ur;function pr(e,r){return e.map((a,n)=>e[(r+n)%e.length])}var mr=Q,fr=ee,xr=re,br=ae,hr=te,gr=ne,vr=oe,Mr=ie,jr=le;function Nr(e){const r=j.c(8);let a,n;r[0]!==e?({className:a,...n}=e,r[0]=e,r[1]=a,r[2]=n):(a=r[1],n=r[2]);let s;r[3]!==a?(s=y("bg-background flex h-9 items-center gap-1 rounded-md border p-1 shadow-xs",a),r[3]=a,r[4]=s):s=r[4];let o;return r[5]!==n||r[6]!==s?(o=t.jsx(mr,{"data-slot":"menubar",className:s,...n}),r[5]=n,r[6]=s,r[7]=o):o=r[7],o}function Cr(e){const r=j.c(4);let a;r[0]!==e?({...a}=e,r[0]=e,r[1]=a):a=r[1];let n;return r[2]!==a?(n=t.jsx(fr,{"data-slot":"menubar-menu",...a}),r[2]=a,r[3]=n):n=r[3],n}function _r(e){const r=j.c(4);let a;r[0]!==e?({...a}=e,r[0]=e,r[1]=a):a=r[1];let n;return r[2]!==a?(n=t.jsx(br,{"data-slot":"menubar-portal",...a}),r[2]=a,r[3]=n):n=r[3],n}function wr(e){const r=j.c(8);let a,n;r[0]!==e?({className:a,...n}=e,r[0]=e,r[1]=a,r[2]=n):(a=r[1],n=r[2]);let s;r[3]!==a?(s=y("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex items-center rounded-sm px-2 py-1 text-sm font-medium outline-hidden select-none",a),r[3]=a,r[4]=s):s=r[4];let o;return r[5]!==n||r[6]!==s?(o=t.jsx(xr,{"data-slot":"menubar-trigger",className:s,...n}),r[5]=n,r[6]=s,r[7]=o):o=r[7],o}function Rr(e){const r=j.c(14);let a,n,s,o,c;r[0]!==e?({className:a,align:s,alignOffset:o,sideOffset:c,...n}=e,r[0]=e,r[1]=a,r[2]=n,r[3]=s,r[4]=o,r[5]=c):(a=r[1],n=r[2],s=r[3],o=r[4],c=r[5]);const i=s===void 0?"start":s,l=o===void 0?-4:o,f=c===void 0?8:c;let d;r[6]!==a?(d=y("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[12rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-md",a),r[6]=a,r[7]=d):d=r[7];let x;return r[8]!==i||r[9]!==l||r[10]!==n||r[11]!==f||r[12]!==d?(x=t.jsx(_r,{children:t.jsx(hr,{"data-slot":"menubar-content",align:i,alignOffset:l,sideOffset:f,className:d,...n})}),r[8]=i,r[9]=l,r[10]=n,r[11]=f,r[12]=d,r[13]=x):x=r[13],x}function ce(e){const r=j.c(12);let a,n,s,o;r[0]!==e?({className:a,inset:n,variant:o,...s}=e,r[0]=e,r[1]=a,r[2]=n,r[3]=s,r[4]=o):(a=r[1],n=r[2],s=r[3],o=r[4]);const c=o===void 0?"default":o;let i;r[5]!==a?(i=y("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",a),r[5]=a,r[6]=i):i=r[6];let l;return r[7]!==n||r[8]!==s||r[9]!==i||r[10]!==c?(l=t.jsx(gr,{"data-slot":"menubar-item","data-inset":n,"data-variant":c,className:i,...s}),r[7]=n,r[8]=s,r[9]=i,r[10]=c,r[11]=l):l=r[11],l}function yr(e){const r=j.c(4);let a;r[0]!==e?({...a}=e,r[0]=e,r[1]=a):a=r[1];let n;return r[2]!==a?(n=t.jsx(vr,{"data-slot":"menubar-sub",...a}),r[2]=a,r[3]=n):n=r[3],n}function Sr(e){const r=j.c(13);let a,n,s,o;r[0]!==e?({className:n,inset:s,children:a,...o}=e,r[0]=e,r[1]=a,r[2]=n,r[3]=s,r[4]=o):(a=r[1],n=r[2],s=r[3],o=r[4]);let c;r[5]!==n?(c=y("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-none select-none data-[inset]:pl-8",n),r[5]=n,r[6]=c):c=r[6];let i;r[7]===Symbol.for("react.memo_cache_sentinel")?(i=t.jsx(G,{className:"ml-auto h-4 w-4"}),r[7]=i):i=r[7];let l;return r[8]!==a||r[9]!==s||r[10]!==o||r[11]!==c?(l=t.jsxs(Mr,{"data-slot":"menubar-sub-trigger","data-inset":s,className:c,...o,children:[a,i]}),r[8]=a,r[9]=s,r[10]=o,r[11]=c,r[12]=l):l=r[12],l}function Ar(e){const r=j.c(8);let a,n;r[0]!==e?({className:a,...n}=e,r[0]=e,r[1]=a,r[2]=n):(a=r[1],n=r[2]);let s;r[3]!==a?(s=y("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-menubar-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg",a),r[3]=a,r[4]=s):s=r[4];let o;return r[5]!==n||r[6]!==s?(o=t.jsx(jr,{"data-slot":"menubar-sub-content",className:s,...n}),r[5]=n,r[6]=s,r[7]=o):o=r[7],o}function aa(){const e=j.c(38),r=de();let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=t.jsx(v,{name:"rocket_launch",className:"!text-[18px]"}),e[0]=a):a=e[0];let n;e[1]!==r.props.brand?(n=t.jsx("span",{className:"group-data-[state=collapsed]:hidden",children:r.props.brand}),e[1]=r.props.brand,e[2]=n):n=e[2];let s;e[3]===Symbol.for("react.memo_cache_sentinel")?(s=t.jsx(Be,{className:"ml-auto group-data-[state=collapsed]:hidden"}),e[3]=s):s=e[3];let o;e[4]!==n?(o=t.jsx(wr,{asChild:!0,className:"text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground rounded-md",children:t.jsx(I,{asChild:!0,children:t.jsx(he,{variant:"ghost",asChild:!0,className:"cursor-pointer w-full",children:t.jsxs("div",{children:[a,n,s]})})})}),e[4]=n,e[5]=o):o=e[5];let c;e[6]!==r.props.section?(c=r.props.section&&r.props.section.map(Or),e[6]=r.props.section,e[7]=c):c=e[7];let i;e[8]!==c?(i=t.jsx(Rr,{side:"right",className:"z-[1003]",children:c}),e[8]=c,e[9]=i):i=e[9];let l;e[10]!==o||e[11]!==i?(l=t.jsx(Nr,{className:"p-0 shadow-none border-none bg-transparent hidden md:block",children:t.jsxs(Cr,{children:[o,i]})}),e[10]=o,e[11]=i,e[12]=l):l=e[12];let f;e[13]===Symbol.for("react.memo_cache_sentinel")?(f=t.jsx(v,{name:"rocket_launch",className:"!text-[18px]"}),e[13]=f):f=e[13];let d;e[14]!==r.props.brand?(d=t.jsx("span",{className:"overflow-hidden text-ellipsis whitespace-nowrap",children:r.props.brand}),e[14]=r.props.brand,e[15]=d):d=e[15];let x;e[16]===Symbol.for("react.memo_cache_sentinel")?(x=t.jsx(G,{className:"ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90"}),e[16]=x):x=e[16];let m;e[17]!==d?(m=t.jsx(L,{asChild:!0,children:t.jsxs(I,{children:[f,d,x]})}),e[17]=d,e[18]=m):m=e[18];let h;e[19]!==r.props.section?(h=r.props.section&&r.props.section.map(Er),e[19]=r.props.section,e[20]=h):h=e[20];let u;e[21]!==h?(u=t.jsx(z,{children:t.jsx(U,{children:h})}),e[21]=h,e[22]=u):u=e[22];let b;e[23]!==m||e[24]!==u?(b=t.jsx(fe,{className:"px-2 py-0 block md:hidden",children:t.jsx(O,{children:t.jsx(B,{asChild:!0,className:"group/collapsible",children:t.jsxs(k,{children:[m,u]})})})}),e[23]=m,e[24]=u,e[25]=b):b=e[25];let N;e[26]!==r.props.brand||e[27]!==b||e[28]!==l?(N=t.jsx(pe,{children:t.jsx(O,{children:t.jsxs(k,{children:[l,b]},r.props.brand)})}),e[26]=r.props.brand,e[27]=b,e[28]=l,e[29]=N):N=e[29];let w;e[30]!==r.props.menu?(w=t.jsx(me,{children:t.jsx(ue,{items:r.props.menu})}),e[30]=r.props.menu,e[31]=w):w=e[31];const M=r.props.showVersion&&"v.4.1.0";let C;e[32]!==M?(C=t.jsx(xe,{children:t.jsx("div",{className:"text-center opacity-70",children:M})}),e[32]=M,e[33]=C):C=e[33];let R;return e[34]!==N||e[35]!==w||e[36]!==C?(R=t.jsxs(be,{collapsible:"icon",variant:"inset",children:[N,w,C]}),e[34]=N,e[35]=w,e[36]=C,e[37]=R):R=e[37],R}function Er(e){return e.subItems?t.jsx(O,{children:t.jsx(B,{asChild:!0,className:"group/collapsible-sub",children:t.jsxs(k,{children:[t.jsx(L,{asChild:!0,children:t.jsxs(I,{children:[t.jsx(v,{name:e.icon,className:"!text-[18px]"}),t.jsx("span",{className:"overflow-hidden text-ellipsis whitespace-nowrap",children:e.title}),t.jsx(G,{className:"ml-auto transition-transform duration-200 group-data-[state=open]/collapsible-sub:rotate-90"})]})}),t.jsx(z,{children:t.jsx(U,{children:e.subItems.map(Pr)})})]})})},e.id):t.jsx(V,{children:t.jsx(H,{asChild:!0,children:e.type==="blank"?t.jsxs("a",{href:e.link,target:"_blank",className:"flex gap-2 items-center",children:[e.icon&&t.jsx(v,{name:e.icon,className:"!text-[18px]"}),t.jsx("span",{className:"hover:underline",children:e.title})]}):t.jsxs(A,{href:e.link,className:"flex gap-2 items-center",children:[e.icon&&t.jsx(v,{name:e.icon,className:"!text-[18px]"}),t.jsx("span",{className:"hover:underline",children:e.title})]})})},e.id)}function Pr(e){return t.jsx(V,{children:t.jsx(H,{asChild:!0,children:e.type==="blank"?t.jsxs("a",{href:e.link,target:"_blank",className:"flex gap-2 items-center",children:[e.icon&&t.jsx(v,{name:e.icon,className:"!text-[18px]"}),t.jsx("span",{className:"hover:underline",children:e.title})]}):t.jsxs(A,{href:e.link,className:"flex gap-2 items-center",children:[e.icon&&t.jsx(v,{name:e.icon,className:"!text-[18px]"}),t.jsx("span",{className:"hover:underline",children:e.title})]})})},e.id)}function Or(e){return t.jsx("div",{children:e.subItems?t.jsxs(yr,{children:[t.jsxs(Sr,{className:"flex gap-2 items-center cursor-pointer",children:[t.jsx(v,{name:e.icon,className:"!text-[18px]"}),t.jsx("span",{className:"hover:underline",children:e.title})]}),t.jsx(Ar,{children:e.subItems.map(kr)})]}):t.jsx(ce,{children:e.type==="blank"?t.jsxs("a",{href:e.link,target:"_blank",className:"flex gap-2 items-center",children:[e.icon&&t.jsx(v,{name:e.icon,className:"!text-[18px]"}),t.jsx("span",{className:"hover:underline",children:e.title})]}):t.jsxs(A,{href:e.link,className:"flex gap-2 items-center",children:[e.icon&&t.jsx(v,{name:e.icon,className:"!text-[18px]"}),t.jsx("span",{className:"hover:underline",children:e.title})]})})},e.id)}function kr(e){return t.jsx(ce,{children:e.type==="blank"?t.jsxs("a",{href:e.link,target:"_blank",className:"flex gap-2 items-center",children:[e.icon&&t.jsx(v,{name:e.icon,className:"!text-[18px]"}),t.jsx("span",{className:"hover:underline",children:e.title})]},e.id):t.jsxs(A,{href:e.link,className:"flex gap-2 items-center",children:[e.icon&&t.jsx(v,{name:e.icon,className:"!text-[18px]"}),t.jsx("span",{className:"hover:underline",children:e.title})]},e.id)},e.id)}export{aa as AppSidebar};
@@ -1 +0,0 @@
1
- import{r as u,j as i}from"./app.js";import{c as L}from"./compiler-runtime-tM4jBQ-T.js";import{u as N}from"./index-DUXJYtOc.js";import{c as O}from"./index-D5ir9iUV.js";import{u as H,c as j,b as G}from"./index-Dllsp4Rk.js";import{u as K}from"./index-DwctwfU0.js";import{P as U}from"./index-Mx04mBJl.js";import{P as R}from"./index-DEzdKGnS.js";import{c as X}from"./utils-DjqsqOe8.js";import{C as $}from"./check-LAUWAnlX.js";var y="Checkbox",[J,ie]=O(y),[Q,P]=J(y);function V(r){const{__scopeCheckbox:e,checked:n,children:s,defaultChecked:o,disabled:t,form:a,name:b,onCheckedChange:l,required:m,value:k="on",internal_do_not_use_render:p}=r,[f,v]=H({prop:n,defaultProp:o??!1,onChange:l,caller:y}),[x,C]=u.useState(null),[g,c]=u.useState(null),d=u.useRef(!1),E=x?!!a||!!x.closest("form"):!0,_={checked:f,disabled:t,setChecked:v,control:x,setControl:C,name:b,form:a,value:k,hasConsumerStoppedPropagationRef:d,required:m,defaultChecked:h(o)?!1:o,isFormControl:E,bubbleInput:g,setBubbleInput:c};return i.jsx(Q,{scope:e,..._,children:W(p)?p(_):s})}var S="CheckboxTrigger",w=u.forwardRef(({__scopeCheckbox:r,onKeyDown:e,onClick:n,...s},o)=>{const{control:t,value:a,disabled:b,checked:l,required:m,setControl:k,setChecked:p,hasConsumerStoppedPropagationRef:f,isFormControl:v,bubbleInput:x}=P(S,r),C=N(o,k),g=u.useRef(l);return u.useEffect(()=>{const c=t==null?void 0:t.form;if(c){const d=()=>p(g.current);return c.addEventListener("reset",d),()=>c.removeEventListener("reset",d)}},[t,p]),i.jsx(R.button,{type:"button",role:"checkbox","aria-checked":h(l)?"mixed":l,"aria-required":m,"data-state":z(l),"data-disabled":b?"":void 0,disabled:b,value:a,...s,ref:C,onKeyDown:j(e,c=>{c.key==="Enter"&&c.preventDefault()}),onClick:j(n,c=>{p(d=>h(d)?!0:!d),x&&v&&(f.current=c.isPropagationStopped(),f.current||c.stopPropagation())})})});w.displayName=S;var B=u.forwardRef((r,e)=>{const{__scopeCheckbox:n,name:s,checked:o,defaultChecked:t,required:a,disabled:b,value:l,onCheckedChange:m,form:k,...p}=r;return i.jsx(V,{__scopeCheckbox:n,checked:o,defaultChecked:t,disabled:b,required:a,onCheckedChange:m,name:s,form:k,value:l,internal_do_not_use_render:({isFormControl:f})=>i.jsxs(i.Fragment,{children:[i.jsx(w,{...p,ref:e,__scopeCheckbox:n}),f&&i.jsx(A,{__scopeCheckbox:n})]})})});B.displayName=y;var M="CheckboxIndicator",T=u.forwardRef((r,e)=>{const{__scopeCheckbox:n,forceMount:s,...o}=r,t=P(M,n);return i.jsx(U,{present:s||h(t.checked)||t.checked===!0,children:i.jsx(R.span,{"data-state":z(t.checked),"data-disabled":t.disabled?"":void 0,...o,ref:e,style:{pointerEvents:"none",...r.style}})})});T.displayName=M;var q="CheckboxBubbleInput",A=u.forwardRef(({__scopeCheckbox:r,...e},n)=>{const{control:s,hasConsumerStoppedPropagationRef:o,checked:t,defaultChecked:a,required:b,disabled:l,name:m,value:k,form:p,bubbleInput:f,setBubbleInput:v}=P(q,r),x=N(n,v),C=K(t),g=G(s);u.useEffect(()=>{const d=f;if(!d)return;const E=window.HTMLInputElement.prototype,I=Object.getOwnPropertyDescriptor(E,"checked").set,D=!o.current;if(C!==t&&I){const F=new Event("click",{bubbles:D});d.indeterminate=h(t),I.call(d,h(t)?!1:t),d.dispatchEvent(F)}},[f,C,t,o]);const c=u.useRef(h(t)?!1:t);return i.jsx(R.input,{type:"checkbox","aria-hidden":!0,defaultChecked:a??c.current,required:b,disabled:l,name:m,value:k,form:p,...e,tabIndex:-1,ref:x,style:{...e.style,...g,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});A.displayName=q;function W(r){return typeof r=="function"}function h(r){return r==="indeterminate"}function z(r){return h(r)?"indeterminate":r?"checked":"unchecked"}function de(r){const e=L.c(9);let n,s;e[0]!==r?({className:n,...s}=r,e[0]=r,e[1]=n,e[2]=s):(n=e[1],s=e[2]);let o;e[3]!==n?(o=X("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",n),e[3]=n,e[4]=o):o=e[4];let t;e[5]===Symbol.for("react.memo_cache_sentinel")?(t=i.jsx(T,{"data-slot":"checkbox-indicator",className:"flex items-center justify-center text-current transition-none",children:i.jsx($,{className:"size-3.5"})}),e[5]=t):t=e[5];let a;return e[6]!==s||e[7]!==o?(a=i.jsx(B,{"data-slot":"checkbox",className:o,...s,children:t}),e[6]=s,e[7]=o,e[8]=a):a=e[8],a}export{de as C};
@@ -1 +0,0 @@
1
- import{j as t}from"./app.js";import{c as m}from"./compiler-runtime-tM4jBQ-T.js";import{A as i}from"./app-layout-YPlKN2l5.js";import"./sidebar-B9HagQ6H.js";import"./index-DUXJYtOc.js";import"./button-CTOOfwvn.js";import"./utils-DjqsqOe8.js";import"./index-CGjCQBqR.js";import"./createLucideIcon-BFG25zNo.js";import"./index-Dllsp4Rk.js";import"./index-D5ir9iUV.js";import"./index-DEzdKGnS.js";import"./index-DnbQEoxZ.js";import"./index-Mx04mBJl.js";import"./tooltip-CWVAD5oF.js";import"./index-Cb_qrizV.js";import"./app-shell-D6Uf68EA.js";import"./app-sidebar-mh83eSsH.js";import"./nav-main-ByHRr3yf.js";import"./material-icon-CItZiB53.js";import"./chevron-right-D5q8rF7h.js";import"./index-C5OL14ES.js";import"./index-m5itSoCR.js";import"./chevrons-up-down-kALltqHV.js";import"./app-sidebar-header-BTKq0Dr0.js";import"./breadcrumbs-B4LOvzuL.js";import"./nav-user-BVRKiqm-.js";import"./dropdown-menu-CsGmdVIn.js";import"./user-info-DA4KTAOF.js";import"./user-menu-content-Biwi4u9j.js";import"./icon-Bz9BMaD0.js";import"./use-appearance-Co6mO0dV.js";const p=[];function G(){const r=m.c(1);let o;return r[0]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsx(i,{breadcrumbs:p,children:t.jsx("div",{className:"flex h-full flex-1 flex-col gap-4 rounded-xl p-4",children:"Dashboard"})}),r[0]=o):o=r[0],o}export{G as default};
@@ -1 +0,0 @@
1
- import{j as t}from"./app.js";import{c as m}from"./compiler-runtime-tM4jBQ-T.js";import{A as p}from"./app-layout-YPlKN2l5.js";import i from"./form-EPWwr8yD.js";import"./sidebar-B9HagQ6H.js";import"./index-DUXJYtOc.js";import"./button-CTOOfwvn.js";import"./utils-DjqsqOe8.js";import"./index-CGjCQBqR.js";import"./createLucideIcon-BFG25zNo.js";import"./index-Dllsp4Rk.js";import"./index-D5ir9iUV.js";import"./index-DEzdKGnS.js";import"./index-DnbQEoxZ.js";import"./index-Mx04mBJl.js";import"./tooltip-CWVAD5oF.js";import"./index-Cb_qrizV.js";import"./app-shell-D6Uf68EA.js";import"./app-sidebar-mh83eSsH.js";import"./nav-main-ByHRr3yf.js";import"./material-icon-CItZiB53.js";import"./chevron-right-D5q8rF7h.js";import"./index-C5OL14ES.js";import"./index-m5itSoCR.js";import"./chevrons-up-down-kALltqHV.js";import"./app-sidebar-header-BTKq0Dr0.js";import"./breadcrumbs-B4LOvzuL.js";import"./nav-user-BVRKiqm-.js";import"./dropdown-menu-CsGmdVIn.js";import"./user-info-DA4KTAOF.js";import"./user-menu-content-Biwi4u9j.js";import"./icon-Bz9BMaD0.js";import"./use-appearance-Co6mO0dV.js";import"./form-state-702tb_BV.js";import"./add-form-DofA75xF.js";import"./label-C2tlefOv.js";import"./field-renderer-Q3ajtfjk.js";import"./checkbox-D9ub-v0l.js";import"./index-DwctwfU0.js";import"./check-LAUWAnlX.js";import"./select-DYffGc49.js";import"./chevron-down-B5XuAFRu.js";import"./dynamic-controls-CSVVCONh.js";import"./input-DF7Ue23C.js";import"./multi-select-CDlcaNFy.js";import"./popover-_WN_Lj46.js";import"./search-BspystAk.js";import"./input-error-BBygona6.js";import"./move-left-BhKZRPb4.js";import"./loader-circle-Utah5tGx.js";const e=[];function mr(){const o=m.c(1);let r;return o[0]===Symbol.for("react.memo_cache_sentinel")?(r=t.jsx(p,{breadcrumbs:e,children:t.jsx(i,{})}),o[0]=r):r=o[0],r}export{mr as default};
@@ -1 +0,0 @@
1
- import{q as v,S as f,r as i,j as s}from"./app.js";import{r as p,h as n,g as l}from"./form-state-702tb_BV.js";import{LabelRenderer as c,LazyField as y}from"./add-form-DofA75xF.js";import d from"./input-error-BBygona6.js";import F from"./field-renderer-Q3ajtfjk.js";import{B as x}from"./button-CTOOfwvn.js";import{L as g}from"./loader-circle-Utah5tGx.js";import"./compiler-runtime-tM4jBQ-T.js";import"./icon-Bz9BMaD0.js";import"./utils-DjqsqOe8.js";import"./label-C2tlefOv.js";import"./index-DEzdKGnS.js";import"./index-DUXJYtOc.js";import"./tooltip-CWVAD5oF.js";import"./index-Dllsp4Rk.js";import"./index-D5ir9iUV.js";import"./index-Mx04mBJl.js";import"./index-Cb_qrizV.js";import"./move-left-BhKZRPb4.js";import"./createLucideIcon-BFG25zNo.js";import"./checkbox-D9ub-v0l.js";import"./index-DwctwfU0.js";import"./check-LAUWAnlX.js";import"./select-DYffGc49.js";import"./index-C5OL14ES.js";import"./index-DnbQEoxZ.js";import"./chevron-down-B5XuAFRu.js";import"./dynamic-controls-CSVVCONh.js";import"./input-DF7Ue23C.js";import"./multi-select-CDlcaNFy.js";import"./popover-_WN_Lj46.js";import"./index-CGjCQBqR.js";import"./search-BspystAk.js";const tr=()=>{const e=v(),{fields:o}=e.props,{data:a,setData:h,post:j,processing:t}=f(Object.fromEntries(o.map(r=>[r.name,r.value??void 0])));i.useEffect(()=>(p(),()=>{p()}),[]);const m=i.useCallback((r,b)=>{h(r,b)},[]),u=r=>{r.preventDefault(),j(e.props.postLink)};return s.jsxs("div",{className:"p-4 w-full",children:[s.jsx("div",{className:"w-full sticky z-[1001] py-4 pb-8 top-0 h-fit bg-background flex gap-4 lg:hidden",children:s.jsxs(x,{variant:"green",type:"submit",className:"w-fit cursor-pointer",form:"addUserForm",disabled:t||n(),children:[t&&s.jsx(g,{className:"h-4 w-4 animate-spin"}),e.props.btnSave.title]})}),s.jsx("form",{className:"mt-8",id:"addUserForm",onSubmit:u,children:s.jsxs("div",{className:"grid lg:grid-cols-[1fr_150px] gap-4 max-w-[1144px] pb-8",children:[s.jsx("div",{className:"flex flex-col gap-10",children:o.map(r=>s.jsx("div",{className:"grid gap-4 w-full",children:r.type==="markdown"||r.type==="table"||r.type==="jsonEditor"||r.type==="codeEditor"||r.type==="geoJson"?s.jsxs(s.Fragment,{children:[s.jsx(c,{field:r}),s.jsx(d,{message:l(`${r.type}-${r.name}`)}),s.jsx(y,{field:r,value:a[r.name],onChange:m,processing:t})]}):s.jsxs(s.Fragment,{children:[s.jsx(c,{field:r}),s.jsx(d,{message:l(`${r.type}-${r.name}`)}),s.jsx(F,{field:r,value:a[r.name],onChange:m,processing:t})]})},r.name))}),s.jsx("div",{className:"p-4 rounded-md h-fit sticky top-[84px] shadow hidden lg:block",children:s.jsxs(x,{variant:"green",type:"submit",className:"w-fit cursor-pointer",disabled:t||n(),children:[t&&s.jsx(g,{className:"h-4 w-4 animate-spin"}),e.props.btnSave.title]})})]})})]})};export{tr as default};