adminizer 4.1.0-build.3 → 4.1.0-build.30

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 (249) hide show
  1. package/Readme.md +11 -1
  2. package/assets/{VanillaJSONEditor-FUe77pIA.js → VanillaJSONEditor-DKF_Ft1S.js} +96 -96
  3. package/assets/add-BA0ZgbVP.js +1 -0
  4. package/assets/add-form-D5PNdz6X.js +1 -0
  5. package/assets/add-group-BqvmQRDY.js +1 -0
  6. package/assets/{add-group-form-dzadPSfL.js → add-group-form-D1P6v9Fm.js} +1 -1
  7. package/assets/add-user-C31g3pXW.js +1 -0
  8. package/assets/add-user-form-DyczuE4l.js +1 -0
  9. package/assets/{app-DMmad2-f.css → app-ClS67l37.css} +1 -1
  10. package/assets/app-layout-CQTlWDgg.js +1 -0
  11. package/assets/{app-shell-BWMRMkHM.js → app-shell-B4pzTbiN.js} +1 -1
  12. package/assets/app-sidebar-DX9Shcd3.js +1 -0
  13. package/assets/{app-sidebar-header-DLAFi13E.js → app-sidebar-header-BcZ0JSSJ.js} +1 -1
  14. package/assets/app.js +9 -9
  15. package/assets/{breadcrumbs-CQNon4Vl.js → breadcrumbs-DIhfOCvh.js} +1 -1
  16. package/assets/{button-CQ9t1kLz.js → button-DleSKY4-.js} +1 -1
  17. package/assets/catalog-BHbLV-zr.js +12 -0
  18. package/assets/catalog-CZUI8zho.css +1 -0
  19. package/assets/{checkbox-W0nGAXIj.js → checkbox-DgmLwxEt.js} +1 -1
  20. package/assets/{compiler-runtime-tM4jBQ-T.js → compiler-runtime-CMDe02AS.js} +1 -1
  21. package/assets/dashboard-BOltB2Hq.css +1 -0
  22. package/assets/dashboard-BiycZ-vC.js +3 -0
  23. package/assets/{date-picker-B__dVVqj.js → date-picker-Cb6A4Zx_.js} +1 -1
  24. package/assets/dialog-stack-DU4Ow4Oa.js +1 -0
  25. package/assets/{dropdown-menu-SEBnEIiL.js → dropdown-menu-D3vlxbLx.js} +1 -1
  26. package/assets/{field-renderer-CapylJU9.js → field-renderer-CW8TLtlI.js} +3 -3
  27. package/assets/form-CLP53RtV.js +1 -0
  28. package/assets/form-CwSId-Cu.js +1 -0
  29. package/assets/{geo-json-CwteYDGB.js → geo-json-BNgLxoVs.js} +1 -1
  30. package/assets/group-add-Brshb-tH.js +1 -0
  31. package/assets/{handsontable-BCnjOpBr.js → handsontable-BI4C0OBe.js} +1 -1
  32. package/assets/home-BRJ6eKVn.js +2 -0
  33. package/assets/{icon-Bz9BMaD0.js → icon-DLHMhF_-.js} +1 -1
  34. package/assets/{index-BcE9FUM6.js → index-BRQOFOzQ.js} +1 -1
  35. package/assets/{index-C0SL3SHw.js → index-BZZx7KCI.js} +1 -1
  36. package/assets/{index-DTRTjOmh.js → index-BpVWRzP4.js} +2 -2
  37. package/assets/{index-BbXEMx9n.js → index-Bz0y23v2.js} +1 -1
  38. package/assets/index-C148XJoK.js +1 -0
  39. package/assets/index-C8anOJBB.js +1 -0
  40. package/assets/{index-DEk3sC8d.js → index-CS5ssiKu.js} +1 -1
  41. package/assets/index-CsMwA9pu.js +1 -0
  42. package/assets/{index-DrWfGwtf.js → index-HZzILD42.js} +1 -1
  43. package/assets/{index-BC0yfOHo.js → index-kzaPFHKt.js} +1 -1
  44. package/assets/{init-user-D9mW-g14.js → init-user-VMPNdivw.js} +1 -1
  45. package/assets/{input-DF7Ue23C.js → input-CZTX-THl.js} +1 -1
  46. package/assets/{input-error-BBygona6.js → input-error-DpUrcJaR.js} +1 -1
  47. package/assets/item-add-1duKvWXz.js +1 -0
  48. package/assets/{label-Z506NKsW.js → label-B1wVTLjK.js} +1 -1
  49. package/assets/list-C07llS61.js +1 -0
  50. package/assets/{list-table-DB1sEQLF.js → list-table-Bh8E-zkN.js} +11 -16
  51. package/assets/{login-DrGaTWhY.js → login-Dl59_ycU.js} +1 -1
  52. package/assets/manifest.json +735 -564
  53. package/assets/{material-icon-CItZiB53.js → material-icon-C9IuCi5R.js} +1 -1
  54. package/assets/module-DwX7rlQ2.js +1 -0
  55. package/assets/{monaco-editor-DqAqwxw4.js → monaco-editor-DjLNSn-O.js} +1 -1
  56. package/assets/{multi-select-oabtVhUP.js → multi-select-CvcWwfki.js} +2 -2
  57. package/assets/{nav-footer-CM-yHiRs.js → nav-footer-C7_pEHmX.js} +1 -1
  58. package/assets/{nav-main-Q3xofGRT.js → nav-main-CwwCPIYf.js} +1 -1
  59. package/assets/{nav-user-Ds8i0Pa2.js → nav-user-K0xXPEmb.js} +1 -1
  60. package/assets/{pagination-render-B57pOpFy.js → pagination-render-BYBw11L4.js} +1 -1
  61. package/assets/pencil-CewBKDRo.js +6 -0
  62. package/assets/{popover-I249Gg2O.js → popover-vHKm7zkm.js} +1 -1
  63. package/assets/{register-C9FQIDtS.js → register-CRsK6KgL.js} +1 -1
  64. package/assets/{select-D1N8zRPY.js → select-Bs9mijkr.js} +2 -2
  65. package/assets/{sidebar-4D-sX2l4.js → sidebar-DflSp1X1.js} +2 -2
  66. package/assets/skeleton-C6UluiCK.js +1 -0
  67. package/assets/{sonner-Dzckw3U3.js → sonner-Cn7ueXZc.js} +1 -1
  68. package/assets/{toast-editor-FbrFd1ft.js → toast-editor-FNxkBiFw.js} +1 -1
  69. package/assets/{tooltip-D2ehgLlB.js → tooltip-BlR1mf2V.js} +1 -1
  70. package/assets/{use-appearance-Co6mO0dV.js → use-appearance-CL1-5ZfQ.js} +1 -1
  71. package/assets/{use-window-size-B8l6Bpkf.js → use-window-size-ciZdUHrJ.js} +1 -1
  72. package/assets/{user-info-DBYoAJYJ.js → user-info-qduQAMOl.js} +2 -2
  73. package/assets/{user-menu-content-qkvdkUVd.js → user-menu-content-Cjq658jE.js} +2 -2
  74. package/assets/welcome-CbHEVD33.js +1 -0
  75. package/controllers/add.js +9 -10
  76. package/controllers/addGroup.js +2 -4
  77. package/controllers/addUser.js +4 -6
  78. package/controllers/catalog/Catalog.d.ts +1 -1
  79. package/controllers/catalog/Catalog.js +42 -34
  80. package/controllers/catalog/FrontentCatalogAdapter.d.ts +43 -21
  81. package/controllers/catalog/FrontentCatalogAdapter.js +49 -30
  82. package/controllers/ckeditorUpload.js +2 -3
  83. package/controllers/dashboard.js +16 -2
  84. package/controllers/edit.js +4 -5
  85. package/controllers/editGroup.js +2 -4
  86. package/controllers/editUser.js +3 -5
  87. package/controllers/form.js +2 -3
  88. package/controllers/getAllWidgets.js +3 -3
  89. package/controllers/initUser.js +1 -2
  90. package/controllers/list.js +6 -6
  91. package/controllers/login.js +31 -15
  92. package/controllers/media-manager/mediaManagerAdapter.js +1 -2
  93. package/controllers/media-manager/mediaManagerApi.js +2 -2
  94. package/controllers/navigation/edit.js +2 -2
  95. package/controllers/register.js +1 -4
  96. package/controllers/remove.js +3 -3
  97. package/controllers/timezones.js +1 -1
  98. package/controllers/view.js +3 -3
  99. package/controllers/welcome.js +1 -1
  100. package/controllers/widgets/Action.js +2 -2
  101. package/controllers/widgets/Custom.js +2 -2
  102. package/controllers/widgets/Info.js +2 -2
  103. package/controllers/widgets/switch.js +2 -2
  104. package/controllers/widgetsDB.js +5 -5
  105. package/helpers/JsUtils.d.ts +1 -0
  106. package/helpers/JsUtils.js +3 -0
  107. package/helpers/accessRightsHelper.d.ts +6 -2
  108. package/helpers/accessRightsHelper.js +26 -3
  109. package/helpers/configHelper.js +2 -1
  110. package/helpers/controllerHelper.js +1 -1
  111. package/helpers/fieldsHelper.d.ts +4 -3
  112. package/helpers/fieldsHelper.js +5 -1
  113. package/helpers/inertiaActionsHelper.js +1 -1
  114. package/helpers/inertiaAddHelper.d.ts +3 -4
  115. package/helpers/inertiaAddHelper.js +27 -7
  116. package/helpers/inertiaFromHelper.js +2 -0
  117. package/helpers/inertiaGroupHelper.d.ts +4 -2
  118. package/helpers/inertiaGroupHelper.js +1 -1
  119. package/helpers/inertiaListHelper.js +5 -5
  120. package/helpers/inertiaMenuHelper.d.ts +1 -1
  121. package/helpers/inertiaMenuHelper.js +2 -2
  122. package/helpers/inertiaUserHelper.d.ts +7 -1
  123. package/helpers/inertiaUserHelper.js +5 -1
  124. package/helpers/menuHelper.d.ts +4 -3
  125. package/helpers/menuHelper.js +22 -15
  126. package/index.d.ts +5 -3
  127. package/index.js +8 -3
  128. package/interfaces/adminpanelConfig.d.ts +28 -31
  129. package/interfaces/global.d.ts +10 -28
  130. package/interfaces/types.d.ts +1 -1
  131. package/lib/Adminizer.d.ts +4 -2
  132. package/lib/Adminizer.js +32 -10
  133. package/lib/media-manager/AbstractMediaManager.d.ts +2 -2
  134. package/lib/media-manager/AbstractMediaManager.js +1 -1
  135. package/lib/media-manager/Items.js +0 -3
  136. package/lib/requestProcessor.js +10 -3
  137. package/lib/v4/DataAccessor.d.ts +5 -2
  138. package/lib/v4/DataAccessor.js +44 -19
  139. package/lib/v4/I18n.js +2 -0
  140. package/lib/v4/POWCaptcha.js +0 -1
  141. package/lib/v4/PolicyManager.js +0 -1
  142. package/lib/{catalog → v4/catalog}/AbstractCatalog.d.ts +87 -31
  143. package/lib/{catalog → v4/catalog}/AbstractCatalog.js +38 -34
  144. package/lib/v4/catalog/Navigation.d.ts +43 -0
  145. package/lib/v4/catalog/Navigation.js +462 -0
  146. package/lib/{controls → v4/controls}/AbstractControls.d.ts +1 -1
  147. package/lib/{controls → v4/controls}/codeEditor/MonacoEditor.d.ts +1 -1
  148. package/lib/{controls → v4/controls}/geojsoneditor/GeoEditor.d.ts +1 -1
  149. package/lib/{controls → v4/controls}/jsoneditor/JsonEditor.d.ts +1 -1
  150. package/lib/{controls → v4/controls}/markdown/ToastUiEditor.d.ts +1 -1
  151. package/lib/{controls → v4/controls}/table/Handsontable.d.ts +1 -1
  152. package/lib/{controls → v4/controls}/wysiwyg/CKeditor.d.ts +1 -1
  153. package/lib/{datatable → v4/datatable}/NodeTable.d.ts +3 -3
  154. package/lib/{datatable → v4/datatable}/NodeTable.js +8 -8
  155. package/lib/v4/helper/jwt.d.ts +10 -0
  156. package/lib/v4/helper/jwt.js +18 -0
  157. package/lib/{inertia → v4/inertia}/inertiaAdapter.js +0 -1
  158. package/lib/v4/model/AbstractModel.d.ts +5 -1
  159. package/lib/v4/model/AbstractModel.js +2 -3
  160. package/lib/v4/model/ModelHandler.js +1 -1
  161. package/lib/v4/model/adapter/sequelize.d.ts +11 -2
  162. package/lib/v4/model/adapter/sequelize.js +451 -118
  163. package/lib/v4/model/adapter/waterline.js +5 -3
  164. package/lib/{widgets → v4/widgets}/abstractAction.d.ts +1 -1
  165. package/lib/v4/widgets/abstractCustom.d.ts +28 -0
  166. package/lib/v4/widgets/abstractCustom.js +9 -0
  167. package/lib/{widgets → v4/widgets}/abstractInfo.d.ts +1 -1
  168. package/lib/{widgets → v4/widgets}/abstractInfo.js +1 -1
  169. package/lib/{widgets → v4/widgets}/abstractLink.d.ts +2 -1
  170. package/lib/{widgets → v4/widgets}/abstractSwitch.d.ts +1 -1
  171. package/lib/{widgets → v4/widgets}/abstractWidgetBase.d.ts +2 -2
  172. package/lib/{widgets → v4/widgets}/widgetHandler.d.ts +29 -5
  173. package/lib/{widgets → v4/widgets}/widgetHandler.js +25 -25
  174. package/models/GroupAP.d.ts +8 -0
  175. package/models/NavigationAP.d.ts +7 -3
  176. package/models/NavigationAP.js +5 -6
  177. package/models/UserAP.d.ts +24 -2
  178. package/models/UserAP.js +2 -2
  179. package/package.json +25 -13
  180. package/policies/checkAuth.js +4 -3
  181. package/policies/setLocale.js +2 -2
  182. package/system/Router.js +8 -16
  183. package/system/bindAccessRights.js +0 -4
  184. package/system/bindAuthorization.js +4 -5
  185. package/system/bindControls.js +6 -6
  186. package/system/bindDev.js +1 -0
  187. package/system/bindInertia.js +12 -11
  188. package/system/bindMediaManager.js +0 -1
  189. package/system/bindModels.js +7 -2
  190. package/system/bindNavigation.d.ts +2 -0
  191. package/system/bindNavigation.js +42 -42
  192. package/system/bindReqFunctions.js +15 -0
  193. package/translations/ru.json +17 -8
  194. package/assets/add-ZITr43GJ.js +0 -1
  195. package/assets/add-form-CYOfr0Ef.js +0 -1
  196. package/assets/add-group-B332wN8K.js +0 -1
  197. package/assets/add-user-TC-mYdsB.js +0 -1
  198. package/assets/add-user-form-y2f_1_lM.js +0 -1
  199. package/assets/app-layout-D1m9Kvxq.js +0 -1
  200. package/assets/app-sidebar-BCtaEFGb.js +0 -1
  201. package/assets/dashboard-BR602KhL.js +0 -1
  202. package/assets/form-DOUNk3o2.js +0 -1
  203. package/assets/form-lOKv4Qbw.js +0 -1
  204. package/assets/home-Ch6QfTIt.js +0 -2
  205. package/assets/index-Cdb9ACvz.js +0 -1
  206. package/assets/index-K81GbF6O.js +0 -1
  207. package/assets/list-Qyd7ecQH.js +0 -1
  208. package/assets/module-DBaykv8l.js +0 -1
  209. package/assets/welcome-D2adQ8EU.js +0 -1
  210. package/controllers/processInstallFinalize.d.ts +0 -1
  211. package/controllers/processInstallFinalize.js +0 -16
  212. package/controllers/processInstallStep.d.ts +0 -1
  213. package/controllers/processInstallStep.js +0 -132
  214. package/lib/catalog/Navigation.d.ts +0 -0
  215. package/lib/catalog/Navigation.js +0 -532
  216. package/lib/installStepper/InstallStepAbstract.d.ts +0 -52
  217. package/lib/installStepper/InstallStepAbstract.js +0 -69
  218. package/lib/installStepper/finalizeStep.d.ts +0 -21
  219. package/lib/installStepper/finalizeStep.js +0 -48
  220. package/lib/installStepper/installStepper.d.ts +0 -40
  221. package/lib/installStepper/installStepper.js +0 -195
  222. package/lib/widgets/abstractCustom.d.ts +0 -13
  223. package/lib/widgets/abstractCustom.js +0 -3
  224. package/models/MediaManagerAP.d.ts +0 -46
  225. package/models/MediaManagerAP.js +0 -45
  226. package/models/MediaManagerAssociationsAP.d.ts +0 -28
  227. package/models/MediaManagerAssociationsAP.js +0 -27
  228. package/models/MediaManagerMetaAP.d.ts +0 -22
  229. package/models/MediaManagerMetaAP.js +0 -21
  230. package/system/bindInstallStepper.d.ts +0 -2
  231. package/system/bindInstallStepper.js +0 -23
  232. /package/lib/{catalog → v4/catalog}/CatalogHandler.d.ts +0 -0
  233. /package/lib/{catalog → v4/catalog}/CatalogHandler.js +0 -0
  234. /package/lib/{controls → v4/controls}/AbstractControls.js +0 -0
  235. /package/lib/{controls → v4/controls}/ControlsHandler.d.ts +0 -0
  236. /package/lib/{controls → v4/controls}/ControlsHandler.js +0 -0
  237. /package/lib/{controls → v4/controls}/codeEditor/MonacoEditor.js +0 -0
  238. /package/lib/{controls → v4/controls}/geojsoneditor/GeoEditor.js +0 -0
  239. /package/lib/{controls → v4/controls}/jsoneditor/JsonEditor.js +0 -0
  240. /package/lib/{controls → v4/controls}/markdown/ToastUiEditor.js +0 -0
  241. /package/lib/{controls → v4/controls}/table/Handsontable.js +0 -0
  242. /package/lib/{controls → v4/controls}/wysiwyg/CKeditor.js +0 -0
  243. /package/lib/{inertia → v4/inertia}/flash.d.ts +0 -0
  244. /package/lib/{inertia → v4/inertia}/flash.js +0 -0
  245. /package/lib/{inertia → v4/inertia}/inertiaAdapter.d.ts +0 -0
  246. /package/lib/{widgets → v4/widgets}/abstractAction.js +0 -0
  247. /package/lib/{widgets → v4/widgets}/abstractLink.js +0 -0
  248. /package/lib/{widgets → v4/widgets}/abstractSwitch.js +0 -0
  249. /package/lib/{widgets → v4/widgets}/abstractWidgetBase.js +0 -0
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
  * */
@@ -74,8 +66,8 @@ export default class Router {
74
66
  /**
75
67
  * Catalog
76
68
  */
77
- adminizer.app.all(`/catalog/:slug/:id`, adminizer.policyManager.bindPolicies(policies, catalogController));
78
- adminizer.app.all(`/catalog/:slug`, adminizer.policyManager.bindPolicies(policies, catalogController));
69
+ adminizer.app.all(`${adminizer.config.routePrefix}/catalog/:slug/:id`, adminizer.policyManager.bindPolicies(policies, catalogController));
70
+ adminizer.app.all(`${adminizer.config.routePrefix}/catalog/:slug`, adminizer.policyManager.bindPolicies(policies, catalogController));
79
71
  /**
80
72
  * Media Manager
81
73
  */
@@ -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",
@@ -25,8 +25,7 @@ export default async function bindAuthorization(adminizer) {
25
25
  for (let admin of admins) {
26
26
  adminsCredentials.push({
27
27
  fullName: admin.fullName,
28
- login: admin.login,
29
- password: admin.password
28
+ login: admin.login
30
29
  });
31
30
  }
32
31
  Adminizer.log.debug(`Has Administrators with login [${adminsCredentials[0].login}]`);
@@ -44,11 +43,11 @@ export default async function bindAuthorization(adminizer) {
44
43
  };
45
44
  }
46
45
  try {
47
- let passwordHashed = generate(adminData.login + adminData.password);
46
+ let passwordHashed = generate(adminData.login + adminData.password + process.env.AP_PASSWORD_SALT);
48
47
  let password = 'masked';
49
48
  // TODO refactor CRUD functions for DataAccessor usage
50
49
  await adminizer.modelHandler.model.get("UserAP")?.["_create"]({
51
- login: adminData.login, password: password, passwordHashed: passwordHashed, fullName: "Administrator",
50
+ login: adminData.login, passwordHashed: passwordHashed, fullName: "Administrator",
52
51
  isActive: true, isAdministrator: true
53
52
  });
54
53
  }
@@ -62,7 +61,7 @@ export default async function bindAuthorization(adminizer) {
62
61
  }
63
62
  else if (process.env.ADMINPANEL_DEMO_ADMIN_ENABLE !== undefined) {
64
63
  try {
65
- let passwordHashed = generate("demodemo");
64
+ let passwordHashed = generate("demodemo" + process.env.AP_PASSWORD_SALT);
66
65
  let password = 'masked';
67
66
  // TODO refactor CRUD functions for DataAccessor usage
68
67
  await adminizer.modelHandler.model.get("UserAP")?.["_create"]({
@@ -1,9 +1,9 @@
1
- import { CKeditor } from "../lib/controls/wysiwyg/CKeditor";
2
- import { ToastUiEditor } from "../lib/controls/markdown/ToastUiEditor";
3
- import { Handsontable } from "../lib/controls/table/Handsontable";
4
- import { JsonEditor } from "../lib/controls/jsoneditor/JsonEditor";
5
- import { MonacoEditor } from "../lib/controls/codeEditor/MonacoEditor";
6
- import { GeoEditor } from "../lib/controls/geojsoneditor/GeoEditor";
1
+ import { CKeditor } from "../lib/v4/controls/wysiwyg/CKeditor";
2
+ import { ToastUiEditor } from "../lib/v4/controls/markdown/ToastUiEditor";
3
+ import { Handsontable } from "../lib/v4/controls/table/Handsontable";
4
+ import { JsonEditor } from "../lib/v4/controls/jsoneditor/JsonEditor";
5
+ import { MonacoEditor } from "../lib/v4/controls/codeEditor/MonacoEditor";
6
+ import { GeoEditor } from "../lib/v4/controls/geojsoneditor/GeoEditor";
7
7
  export function bindControls(adminizer) {
8
8
  // bind wysiwyg
9
9
  adminizer.controlsHandler.add(new CKeditor(adminizer));
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}`] = {
@@ -1,5 +1,5 @@
1
- import flash from "../lib/inertia/flash";
2
- import inertia from "../lib/inertia/inertiaAdapter";
1
+ import flash from "../lib/v4/inertia/flash";
2
+ import inertia from "../lib/v4/inertia/inertiaAdapter";
3
3
  import fs from "fs";
4
4
  import path from "node:path";
5
5
  import { InertiaMenuHelper } from "../helpers/inertiaMenuHelper";
@@ -22,7 +22,7 @@ export function bindInertia(adminizer) {
22
22
  else {
23
23
  const manifestPath = path.resolve(import.meta.dirname, '../assets/manifest.json');
24
24
  if (!fs.existsSync(manifestPath)) {
25
- console.log('[vite]: Warning: manifest.json not found in dist folder! Please run "npm run build:assets" first.');
25
+ console.warn('[vite]: Warning: manifest.json not found in dist folder! Please run "npm run build:assets" first.');
26
26
  return '';
27
27
  }
28
28
  const manifest = JSON.parse(fs.readFileSync(manifestPath, 'utf-8'));
@@ -102,18 +102,19 @@ export function bindInertia(adminizer) {
102
102
  adminizer.app.use((req, _, next) => {
103
103
  checkAuth(req, adminizer);
104
104
  req.Inertia.setViewData({
105
- lang: req.session.UserAP?.locale || 'en',
105
+ lang: req.user?.locale || 'en',
106
106
  });
107
107
  const menuHelper = new InertiaMenuHelper(adminizer);
108
108
  req.Inertia.shareProps({
109
109
  auth: {
110
- user: req.session.UserAP
110
+ user: req.session.userPretended ?? req.user
111
111
  },
112
- menu: req.session.UserAP ? menuHelper.getMenuItems(req) : null,
112
+ menu: req.user ? menuHelper.getMenuItems(req) : null,
113
+ title: menuHelper.getBrandTitle(),
113
114
  brand: menuHelper.getBrandTitle(),
114
115
  logout: menuHelper.getLogoutUrl(),
115
- logoutBtn: req.session.UserAP?.locale == 'ru' ? 'Выход' : "Log out",
116
- section: req.session.UserAP ? [
116
+ logoutBtn: req.user?.locale == 'ru' ? 'Выход' : "Log out",
117
+ section: req.user ? [
117
118
  {
118
119
  title: req.i18n.__("Adminpanel"),
119
120
  id: "adminpanel-0",
@@ -133,11 +134,11 @@ function checkAuth(req, adminizer) {
133
134
  locale = adminizer.config.translation.defaultLocale;
134
135
  }
135
136
  if (!adminizer.config.auth.enable) {
136
- if (req.session.UserAP) {
137
- req.session.UserAP.isAdministrator = true;
137
+ if (req.user) {
138
+ req.user.isAdministrator = true;
138
139
  }
139
140
  else {
140
- req.session.UserAP = {
141
+ req.user = {
141
142
  id: 0,
142
143
  isAdministrator: true,
143
144
  locale: locale,
@@ -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
  }
@@ -0,0 +1,2 @@
1
+ import { Adminizer } from "../lib/Adminizer";
2
+ export default function bindNavigation(adminizer: Adminizer): void;
@@ -1,42 +1,42 @@
1
- "use strict";
2
- // import {Navigation} from "../lib/catalog/Navigation";
3
- // import {CatalogHandler} from "../lib/catalog/CatalogHandler";
4
- // import {Adminizer} from "../lib/Adminizer";
5
- //
6
- // export default function bindNavigation(adminizer: Adminizer) {
7
- // adminizer.emitter.on("orm:loaded", async () => {
8
- // if (adminizer.config.navigation) {
9
- // try {
10
- // adminizer.config.navigation.model = adminizer.config.navigation.model ? adminizer.config.navigation.model : 'navigationap'
11
- // let navigation = new Navigation(adminizer, adminizer.config.navigation)
12
- // CatalogHandler.add(navigation)
13
- // adminizer.config.models[adminizer.config.navigation.model.toLowerCase()] = {
14
- // add: false,
15
- // edit: {
16
- // controller: '../controllers/navigation/edit',
17
- // },
18
- // fields: {
19
- // createdAt: false,
20
- // updatedAt: false
21
- // },
22
- // hide: false,
23
- // icon: 'storage',
24
- // identifierField: "",
25
- // list: {
26
- // fields: {
27
- // tree: false,
28
- // id: false,
29
- // },
30
- // },
31
- // model: adminizer.config.navigation.model.toLowerCase(),
32
- // remove: false,
33
- // title: adminizer.config.navigation.model,
34
- // tools: [],
35
- // view: false
36
- // }
37
- // } catch (e) {
38
- // console.log('bindNavigation Error: ', e)
39
- // }
40
- // }
41
- // })
42
- // }
1
+ import { Navigation } from "../lib/v4/catalog/Navigation";
2
+ import { CatalogHandler } from "../lib/v4/catalog/CatalogHandler";
3
+ export default function bindNavigation(adminizer) {
4
+ adminizer.emitter.on("adminizer:loaded", async () => {
5
+ if (adminizer.config.navigation) {
6
+ try {
7
+ adminizer.config.navigation.model = adminizer.config.navigation.model ? adminizer.config.navigation.model : 'navigationap';
8
+ let navigation = new Navigation(adminizer, adminizer.config.navigation);
9
+ CatalogHandler.add(navigation);
10
+ adminizer.config.models[adminizer.config.navigation.model.toLowerCase()] = {
11
+ add: false,
12
+ edit: {
13
+ controller: '../controllers/navigation/edit',
14
+ },
15
+ fields: {
16
+ createdAt: false,
17
+ updatedAt: false
18
+ },
19
+ navbar: {
20
+ visible: true
21
+ },
22
+ icon: 'storage',
23
+ identifierField: "",
24
+ list: {
25
+ fields: {
26
+ tree: false,
27
+ id: false,
28
+ },
29
+ },
30
+ model: adminizer.config.navigation.model.toLowerCase(),
31
+ remove: false,
32
+ title: adminizer.config.navigation.model,
33
+ tools: [],
34
+ view: false
35
+ };
36
+ }
37
+ catch (e) {
38
+ console.log('bindNavigation Error: ', e);
39
+ }
40
+ }
41
+ });
42
+ }
@@ -1,6 +1,8 @@
1
1
  import { Adminizer } from "../lib/Adminizer";
2
2
  import multer from "multer";
3
3
  import { I18n } from "../lib/v4/I18n";
4
+ import { parse } from "cookie";
5
+ import { verifyUser } from "../lib/v4/helper/jwt";
4
6
  export default function bindReqFunctions(adminizer) {
5
7
  let bindReqFunctions = function (req, res, next) {
6
8
  /**
@@ -31,6 +33,19 @@ export default function bindReqFunctions(adminizer) {
31
33
  if (res.locals) {
32
34
  req.i18n.registerMethods(res.locals, req);
33
35
  }
36
+ // NOTE: This is here because inertia should receive data to routes
37
+ // JWT token
38
+ const cookies = parse(req.headers.cookie || '');
39
+ const token = cookies.adminizer_jwt;
40
+ if (token) {
41
+ const user = verifyUser(token, req.adminizer.jwtSecret);
42
+ if (user) {
43
+ req.user = user;
44
+ }
45
+ }
46
+ if (req.session.userPretended) {
47
+ req.user = req.session.userPretended;
48
+ }
34
49
  next();
35
50
  };
36
51
  adminizer.app.use('/', bindReqFunctions);
@@ -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-D1m9Kvxq.js";import p from"./add-form-CYOfr0Ef.js";import"./sidebar-4D-sX2l4.js";import"./index-DrWfGwtf.js";import"./button-CQ9t1kLz.js";import"./utils-DjqsqOe8.js";import"./index-DTRTjOmh.js";import"./createLucideIcon-BFG25zNo.js";import"./index-Cdb9ACvz.js";import"./index-D5ir9iUV.js";import"./index-K81GbF6O.js";import"./index-C0SL3SHw.js";import"./index-BC0yfOHo.js";import"./tooltip-D2ehgLlB.js";import"./index-BcE9FUM6.js";import"./app-shell-BWMRMkHM.js";import"./app-sidebar-BCtaEFGb.js";import"./nav-main-Q3xofGRT.js";import"./material-icon-CItZiB53.js";import"./chevron-right-D5q8rF7h.js";import"./index-BbXEMx9n.js";import"./index-DEk3sC8d.js";import"./chevrons-up-down-kALltqHV.js";import"./app-sidebar-header-DLAFi13E.js";import"./breadcrumbs-CQNon4Vl.js";import"./nav-user-Ds8i0Pa2.js";import"./dropdown-menu-SEBnEIiL.js";import"./user-info-DBYoAJYJ.js";import"./user-menu-content-qkvdkUVd.js";import"./icon-Bz9BMaD0.js";import"./use-appearance-Co6mO0dV.js";import"./label-Z506NKsW.js";import"./field-renderer-CapylJU9.js";import"./checkbox-W0nGAXIj.js";import"./index-DwctwfU0.js";import"./check-LAUWAnlX.js";import"./select-D1N8zRPY.js";import"./chevron-down-B5XuAFRu.js";import"./dynamic-controls-CSVVCONh.js";import"./input-DF7Ue23C.js";import"./multi-select-oabtVhUP.js";import"./popover-I249Gg2O.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-CQ9t1kLz.js";import{Icon as A}from"./icon-Bz9BMaD0.js";import{L as D}from"./label-Z506NKsW.js";import{T as J,a as U,b as q,c as P}from"./tooltip-D2ehgLlB.js";import B from"./field-renderer-CapylJU9.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-DrWfGwtf.js";import"./index-K81GbF6O.js";import"./index-Cdb9ACvz.js";import"./index-D5ir9iUV.js";import"./index-BC0yfOHo.js";import"./index-BcE9FUM6.js";import"./checkbox-W0nGAXIj.js";import"./index-DwctwfU0.js";import"./check-LAUWAnlX.js";import"./createLucideIcon-BFG25zNo.js";import"./select-D1N8zRPY.js";import"./index-BbXEMx9n.js";import"./index-C0SL3SHw.js";import"./chevron-down-B5XuAFRu.js";import"./dynamic-controls-CSVVCONh.js";import"./input-DF7Ue23C.js";import"./multi-select-oabtVhUP.js";import"./popover-I249Gg2O.js";import"./index-DTRTjOmh.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-D1m9Kvxq.js";import i from"./add-group-form-dzadPSfL.js";import"./sidebar-4D-sX2l4.js";import"./index-DrWfGwtf.js";import"./button-CQ9t1kLz.js";import"./utils-DjqsqOe8.js";import"./index-DTRTjOmh.js";import"./createLucideIcon-BFG25zNo.js";import"./index-Cdb9ACvz.js";import"./index-D5ir9iUV.js";import"./index-K81GbF6O.js";import"./index-C0SL3SHw.js";import"./index-BC0yfOHo.js";import"./tooltip-D2ehgLlB.js";import"./index-BcE9FUM6.js";import"./app-shell-BWMRMkHM.js";import"./app-sidebar-BCtaEFGb.js";import"./nav-main-Q3xofGRT.js";import"./material-icon-CItZiB53.js";import"./chevron-right-D5q8rF7h.js";import"./index-BbXEMx9n.js";import"./index-DEk3sC8d.js";import"./chevrons-up-down-kALltqHV.js";import"./app-sidebar-header-DLAFi13E.js";import"./breadcrumbs-CQNon4Vl.js";import"./nav-user-Ds8i0Pa2.js";import"./dropdown-menu-SEBnEIiL.js";import"./user-info-DBYoAJYJ.js";import"./user-menu-content-qkvdkUVd.js";import"./icon-Bz9BMaD0.js";import"./use-appearance-Co6mO0dV.js";import"./label-Z506NKsW.js";import"./input-DF7Ue23C.js";import"./checkbox-W0nGAXIj.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-D1m9Kvxq.js";import p from"./add-user-form-y2f_1_lM.js";import"./sidebar-4D-sX2l4.js";import"./index-DrWfGwtf.js";import"./button-CQ9t1kLz.js";import"./utils-DjqsqOe8.js";import"./index-DTRTjOmh.js";import"./createLucideIcon-BFG25zNo.js";import"./index-Cdb9ACvz.js";import"./index-D5ir9iUV.js";import"./index-K81GbF6O.js";import"./index-C0SL3SHw.js";import"./index-BC0yfOHo.js";import"./tooltip-D2ehgLlB.js";import"./index-BcE9FUM6.js";import"./app-shell-BWMRMkHM.js";import"./app-sidebar-BCtaEFGb.js";import"./nav-main-Q3xofGRT.js";import"./material-icon-CItZiB53.js";import"./chevron-right-D5q8rF7h.js";import"./index-BbXEMx9n.js";import"./index-DEk3sC8d.js";import"./chevrons-up-down-kALltqHV.js";import"./app-sidebar-header-DLAFi13E.js";import"./breadcrumbs-CQNon4Vl.js";import"./nav-user-Ds8i0Pa2.js";import"./dropdown-menu-SEBnEIiL.js";import"./user-info-DBYoAJYJ.js";import"./user-menu-content-qkvdkUVd.js";import"./icon-Bz9BMaD0.js";import"./use-appearance-Co6mO0dV.js";import"./label-Z506NKsW.js";import"./input-DF7Ue23C.js";import"./select-D1N8zRPY.js";import"./index-DwctwfU0.js";import"./chevron-down-B5XuAFRu.js";import"./check-LAUWAnlX.js";import"./checkbox-W0nGAXIj.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 vs=Object.defineProperty;var Rs=(e,t,r)=>t in e?vs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var b=(e,t,r)=>Rs(e,typeof t!="symbol"?t+"":t,r);import{q as Ts,r as ns,S as Cs,j as i,J as Ns}from"./app.js";import{c as ks}from"./compiler-runtime-tM4jBQ-T.js";import{Icon as ls}from"./icon-Bz9BMaD0.js";import{B as cs}from"./button-CQ9t1kLz.js";import{L as m}from"./label-Z506NKsW.js";import{I as ze}from"./input-DF7Ue23C.js";import{c as ps,S as ds,a as fs,b as us,d as gs}from"./select-D1N8zRPY.js";import{C as xt}from"./checkbox-W0nGAXIj.js";import{b as Ss,T as qs,a as Ps,c as Es}from"./tooltip-D2ehgLlB.js";import Us from"./input-error-BBygona6.js";import{M as As,I as Is}from"./move-left-BhKZRPb4.js";import{L as Ls}from"./loader-circle-Utah5tGx.js";import"./utils-DjqsqOe8.js";import"./index-DrWfGwtf.js";import"./index-K81GbF6O.js";import"./index-Cdb9ACvz.js";import"./index-D5ir9iUV.js";import"./index-BbXEMx9n.js";import"./index-C0SL3SHw.js";import"./index-DwctwfU0.js";import"./index-BcE9FUM6.js";import"./chevron-down-B5XuAFRu.js";import"./createLucideIcon-BFG25zNo.js";import"./check-LAUWAnlX.js";import"./index-BC0yfOHo.js";class hs extends Error{constructor(r,o,a){const p=r.status||r.status===0?r.status:"",d=r.statusText||"",f=`${p} ${d}`.trim(),h=f?`status code ${f}`:"an unknown error";super(`Request failed with ${h}: ${o.method} ${o.url}`);b(this,"response");b(this,"request");b(this,"options");this.name="HTTPError",this.response=r,this.request=o,this.options=a}}class ws extends Error{constructor(r){super(`Request timed out: ${r.method} ${r.url}`);b(this,"request");this.name="TimeoutError",this.request=r}}const ms=(()=>{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})(),Bs=typeof globalThis.AbortController=="function",Fs=typeof globalThis.ReadableStream=="function",zs=typeof globalThis.FormData=="function",ys=["get","post","put","patch","head","delete"],Os={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},_t=2147483647,Hs=new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length,xs=Symbol("stop"),Ds={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0},$s={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},Ms=e=>{if(!e)return 0;if(e instanceof FormData){let t=0;for(const[r,o]of e)t+=Hs,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},Js=(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 p=e.body.getReader();t&&t({percent:0,transferredBytes:0,totalBytes:r},new Uint8Array);async function d(){const{done:f,value:h}=await p.read();if(f){a.close();return}if(t){o+=h.byteLength;const n=r===0?0:o/r;t({percent:n,transferredBytes:o,totalBytes:r},h)}a.enqueue(h),await d()}await d()}}),{status:e.status,statusText:e.statusText,headers:e.headers})},Vs=(e,t)=>{const r=Ms(e.body);let o=0;return new Request(e,{duplex:"half",body:new ReadableStream({async start(a){const p=e.body instanceof ReadableStream?e.body.getReader():new Response("").body.getReader();async function d(){const{done:f,value:h}=await p.read();if(f){t&&t({percent:1,transferredBytes:o,totalBytes:Math.max(r,o)},new Uint8Array),a.close();return}o+=h.byteLength;let n=r===0?0:o/r;(r<o||n===1)&&(n=.99),t&&t({percent:Number(n.toFixed(2)),transferredBytes:o,totalBytes:r},h),a.enqueue(h),await d()}await d()}})})},Oe=e=>e!==null&&typeof e=="object",Ge=(...e)=>{for(const t of e)if((!Oe(t)||Array.isArray(t))&&t!==void 0)throw new TypeError("The `options` argument must be an object");return vt({},...e)},_s=(e={},t={})=>{const r=new globalThis.Headers(e),o=t instanceof globalThis.Headers,a=new globalThis.Headers(t);for(const[p,d]of a.entries())o&&d==="undefined"||d===void 0?r.delete(p):r.set(p,d);return r};function Qe(e,t,r){return Object.hasOwn(t,r)&&t[r]===void 0?[]:vt(e[r]??[],t[r]??[])}const js=(e={},t={})=>({beforeRequest:Qe(e,t,"beforeRequest"),beforeRetry:Qe(e,t,"beforeRetry"),afterResponse:Qe(e,t,"afterResponse"),beforeError:Qe(e,t,"beforeError")}),vt=(...e)=>{let t={},r={},o={};for(const a of e)if(Array.isArray(a))Array.isArray(t)||(t=[]),t=[...t,...a];else if(Oe(a)){for(let[p,d]of Object.entries(a))Oe(d)&&p in t&&(d=vt(t[p],d)),t={...t,[p]:d};Oe(a.hooks)&&(o=js(o,a.hooks),t.hooks=o),Oe(a.headers)&&(r=_s(r,a.headers),t.headers=r)}return t},Ws=e=>ys.includes(e)?e.toUpperCase():e,Ks=["get","put","head","delete","options","trace"],Xs=[408,413,429,500,502,503,504],Ys=[413,429,503],bs={limit:2,methods:Ks,statusCodes:Xs,afterStatusCodes:Ys,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:e=>.3*2**(e-1)*1e3},Gs=(e={})=>{if(typeof e=="number")return{...bs,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{...bs,...e}};async function Qs(e,t,r,o){return new Promise((a,p)=>{const d=setTimeout(()=>{r&&r.abort(),p(new ws(e))},o.timeout);o.fetch(e,t).then(a).catch(p).then(()=>{clearTimeout(d)})})}async function Zs(e,{signal:t}){return new Promise((r,o)=>{t&&(t.throwIfAborted(),t.addEventListener("abort",a,{once:!0}));function a(){clearTimeout(p),o(t.reason)}const p=setTimeout(()=>{t==null||t.removeEventListener("abort",a),r()},e)})}const er=(e,t)=>{const r={};for(const o in t)!(o in $s)&&!(o in Ds)&&!(o in e)&&(r[o]=t[o]);return r};class Ze{constructor(t,r={}){b(this,"request");b(this,"abortController");b(this,"_retryCount",0);b(this,"_input");b(this,"_options");var o,a;if(this._input=t,this._options={...r,headers:_s(this._input.headers,r.headers),hooks:js({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},r.hooks),method:Ws(r.method??this._input.method??"GET"),prefixUrl:String(r.prefixUrl||""),retry:Gs(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(Bs){const p=this._options.signal??this._input.signal;this.abortController=new globalThis.AbortController,this._options.signal=p?AbortSignal.any([p,this.abortController.signal]):this.abortController.signal}if(ms&&(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 d="?"+(typeof this._options.searchParams=="string"?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString()),f=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,d);(zs&&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(f,{...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(!ms)throw new Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");this.request.body&&(this.request=Vs(this.request,this._options.onUploadProgress))}}static create(t,r){const o=new Ze(t,r),a=async()=>{if(typeof o._options.timeout=="number"&&o._options.timeout>_t)throw new RangeError(`The \`timeout\` option cannot be greater than ${_t}`);await Promise.resolve();let f=await o._fetch();for(const h of o._options.hooks.afterResponse){const n=await h(o.request,o._options,o._decorateResponse(f.clone()));n instanceof globalThis.Response&&(f=n)}if(o._decorateResponse(f),!f.ok&&o._options.throwHttpErrors){let h=new hs(f,o.request,o._options);for(const n of o._options.hooks.beforeError)h=await n(h);throw h}if(o._options.onDownloadProgress){if(typeof o._options.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!Fs)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return Js(f.clone(),o._options.onDownloadProgress)}return f},d=(o._options.retry.methods.includes(o.request.method.toLowerCase())?o._retry(a):a()).finally(async()=>{var f;o.request.bodyUsed||await((f=o.request.body)==null?void 0:f.cancel())});for(const[f,h]of Object.entries(Os))d[f]=async()=>{o.request.headers.set("accept",o.request.headers.get("accept")||h);const n=await d;if(f==="json"){if(n.status===204||(await n.clone().arrayBuffer()).byteLength===0)return"";if(r.parseJson)return r.parseJson(await n.text())}return n[f]()};return d}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount>this._options.retry.limit||t instanceof ws)throw t;if(t instanceof hs){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 p=this._options.retry.maxRetryAfter??a;return a<p?a:p}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),_t);if(this._retryCount<1)throw r;await Zs(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})===xs)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=er(this.request,this._options),r=this.request;return this.request=r.clone(),this._options.timeout===!1?this._options.fetch(r,t):Qs(r,t,this.abortController,this._options)}}/*! MIT License © Sindre Sorhus */const jt=e=>{const t=(r,o)=>Ze.create(r,Ge(e,o));for(const r of ys)t[r]=(o,a)=>Ze.create(o,Ge(e,a,{method:r}));return t.create=r=>jt(Ge(r)),t.extend=r=>(typeof r=="function"&&(r=r(e??{})),jt(Ge(e,r))),t.stop=xs,t},tr=jt();function Ur(){var Rt,Tt,Ct,Nt,kt,St,qt,Pt,Et,Ut,At,It,Lt,Bt,Ft,zt,Ot,Ht,Dt,$t,Mt,Jt,Vt,Wt,Kt,Xt,Yt,Gt,Qt,Zt,es,ts,ss,rs,os,is,as;const e=ks.c(255),t=Ts(),[r,o]=ns.useState(),{fields:a,groups:p}=t.props;let d;e[0]!==a?(d=Object.fromEntries(a.map(ar)),e[0]=a,e[1]=d):d=e[1];let f;e[2]!==p?(f=Object.fromEntries(p.map(ir)),e[2]=p,e[3]=f):f=e[3];let h;e[4]!==d||e[5]!==f?(h={...d,...f},e[4]=d,e[5]=f,e[6]=h):h=e[6];const{data:n,setData:He,errors:De,setError:et,clearErrors:tt,post:st,processing:u}=Cs(h);let $e,Me;e[7]===Symbol.for("react.memo_cache_sentinel")?($e=()=>{(async()=>{const g=await tr.get(`${window.routePrefix}/get-timezones`).json();o(g.timezones)})()},Me=[],e[7]=$e,e[8]=Me):($e=e[7],Me=e[8]),ns.useEffect($e,Me);let Je;e[9]!==t.props.fields?(Je=c=>t.props.fields.find(g=>g.name===c),e[9]=t.props.fields,e[10]=Je):Je=e[10];const s=Je;let Ve;e[11]!==n.repeatUserPassword||e[12]!==n.userPassword||e[13]!==t.props.passwordError||e[14]!==t.props.postLink||e[15]!==st||e[16]!==et?(Ve=c=>{if(c.preventDefault(),n.userPassword!==n.repeatUserPassword){et("repeatUserPassword",t.props.passwordError);return}st(t.props.postLink)},e[11]=n.repeatUserPassword,e[12]=n.userPassword,e[13]=t.props.passwordError,e[14]=t.props.postLink,e[15]=st,e[16]=et,e[17]=Ve):Ve=e[17];const rt=Ve;let We;e[18]!==tt||e[19]!==He?(We=(c,g)=>{tt(),He(c,g)},e[18]=tt,e[19]=He,e[20]=We):We=e[20];const l=We;let Ke;e[21]===Symbol.for("react.memo_cache_sentinel")?(Ke=i.jsx(ls,{iconNode:As}),e[21]=Ke):Ke=e[21];let w;e[22]!==t.props.btnBack.link||e[23]!==t.props.btnBack.title?(w=i.jsx(cs,{className:"mb-3 w-fit",asChild:!0,children:i.jsxs(Ns,{href:t.props.btnBack.link,children:[Ke,t.props.btnBack.title]})}),e[22]=t.props.btnBack.link,e[23]=t.props.btnBack.title,e[24]=w):w=e[24];const ot=u||t.props.view;let y;e[25]!==u?(y=u&&i.jsx(Ls,{className:"h-4 w-4 animate-spin"}),e[25]=u,e[26]=y):y=e[26];let x;e[27]!==t.props.btnSave.title||e[28]!==ot||e[29]!==y?(x=i.jsxs(cs,{variant:"green",type:"submit",className:"w-fit cursor-pointer",form:"addUserForm",disabled:ot,children:[y,t.props.btnSave.title]}),e[27]=t.props.btnSave.title,e[28]=ot,e[29]=y,e[30]=x):x=e[30];let _;e[31]!==x||e[32]!==w?(_=i.jsxs("div",{className:"w-full sticky z-[1001] py-4 pb-8 top-0 h-fit bg-background flex gap-4",children:[w,x]}),e[31]=x,e[32]=w,e[33]=_):_=e[33];const it=t.props.view?"cursor-not-allowed":"";let j;e[34]!==t.props.head?(j=i.jsx("h2",{className:"font-bold text-xl",children:t.props.head}),e[34]=t.props.head,e[35]=j):j=e[35];let v;e[36]!==s?(v=(Rt=s("login"))==null?void 0:Rt.name,e[36]=s,e[37]=v):v=e[37];let R;e[38]!==s?(R=(Tt=s("login"))==null?void 0:Tt.label,e[38]=s,e[39]=R):R=e[39];let T;e[40]!==v||e[41]!==R?(T=i.jsx(m,{htmlFor:v,children:R}),e[40]=v,e[41]=R,e[42]=T):T=e[42];let C;e[43]!==s?(C=(Ct=s("login"))==null?void 0:Ct.name,e[43]=s,e[44]=C):C=e[44];const at=n.login;let N;e[45]!==l?(N=c=>l("login",c.target.value),e[45]=l,e[46]=N):N=e[46];const nt=u||t.props.view;let k;e[47]!==s?(k=(Nt=s("login"))==null?void 0:Nt.label,e[47]=s,e[48]=k):k=e[48];let S;e[49]!==C||e[50]!==at||e[51]!==N||e[52]!==nt||e[53]!==k?(S=i.jsx(ze,{id:C,type:"text",required:!0,tabIndex:1,autoComplete:"username",value:at,onChange:N,disabled:nt,placeholder:k}),e[49]=C,e[50]=at,e[51]=N,e[52]=nt,e[53]=k,e[54]=S):S=e[54];let q;e[55]!==T||e[56]!==S?(q=i.jsxs("div",{className:"grid gap-4",children:[T,S]}),e[55]=T,e[56]=S,e[57]=q):q=e[57];let P;e[58]!==s?(P=(kt=s("fullName"))==null?void 0:kt.name,e[58]=s,e[59]=P):P=e[59];let E;e[60]!==s?(E=(St=s("fullName"))==null?void 0:St.label,e[60]=s,e[61]=E):E=e[61];let U;e[62]!==P||e[63]!==E?(U=i.jsx(m,{htmlFor:P,children:E}),e[62]=P,e[63]=E,e[64]=U):U=e[64];let A;e[65]!==s?(A=(qt=s("fullName"))==null?void 0:qt.name,e[65]=s,e[66]=A):A=e[66];const lt=n.fullName;let I;e[67]!==l?(I=c=>l("fullName",c.target.value),e[67]=l,e[68]=I):I=e[68];const ct=u||t.props.view;let L;e[69]!==s?(L=(Pt=s("fullName"))==null?void 0:Pt.label,e[69]=s,e[70]=L):L=e[70];let B;e[71]!==A||e[72]!==lt||e[73]!==I||e[74]!==ct||e[75]!==L?(B=i.jsx(ze,{id:A,type:"text",required:!0,tabIndex:1,autoComplete:"additional-name",value:lt,onChange:I,disabled:ct,placeholder:L}),e[71]=A,e[72]=lt,e[73]=I,e[74]=ct,e[75]=L,e[76]=B):B=e[76];let F;e[77]!==U||e[78]!==B?(F=i.jsxs("div",{className:"grid gap-4",children:[U,B]}),e[77]=U,e[78]=B,e[79]=F):F=e[79];let z;e[80]!==s?(z=(Et=s("email"))==null?void 0:Et.name,e[80]=s,e[81]=z):z=e[81];let O;e[82]!==s?(O=(Ut=s("email"))==null?void 0:Ut.label,e[82]=s,e[83]=O):O=e[83];let H;e[84]!==z||e[85]!==O?(H=i.jsx(m,{htmlFor:z,children:O}),e[84]=z,e[85]=O,e[86]=H):H=e[86];let D;e[87]!==s?(D=(At=s("email"))==null?void 0:At.name,e[87]=s,e[88]=D):D=e[88];const pt=n.email;let $;e[89]!==l?($=c=>l("email",c.target.value),e[89]=l,e[90]=$):$=e[90];const dt=u||t.props.view;let M;e[91]!==s?(M=(It=s("email"))==null?void 0:It.label,e[91]=s,e[92]=M):M=e[92];let J;e[93]!==D||e[94]!==pt||e[95]!==$||e[96]!==dt||e[97]!==M?(J=i.jsx(ze,{id:D,type:"email",required:!0,tabIndex:1,autoComplete:"email",value:pt,onChange:$,disabled:dt,placeholder:M}),e[93]=D,e[94]=pt,e[95]=$,e[96]=dt,e[97]=M,e[98]=J):J=e[98];let V;e[99]!==H||e[100]!==J?(V=i.jsxs("div",{className:"grid gap-4",children:[H,J]}),e[99]=H,e[100]=J,e[101]=V):V=e[101];let W;e[102]!==q||e[103]!==F||e[104]!==V?(W=i.jsxs("div",{className:"basis-1/2 flex flex-col gap-6",children:[q,F,V]}),e[102]=q,e[103]=F,e[104]=V,e[105]=W):W=e[105];let K;e[106]!==s?(K=(Lt=s("timezone"))==null?void 0:Lt.name,e[106]=s,e[107]=K):K=e[107];let X;e[108]!==s?(X=(Bt=s("timezone"))==null?void 0:Bt.label,e[108]=s,e[109]=X):X=e[109];let Y;e[110]!==K||e[111]!==X?(Y=i.jsx(m,{htmlFor:K,children:X}),e[110]=K,e[111]=X,e[112]=Y):Y=e[112];let G;e[113]!==l?(G=c=>l("timezone",c),e[113]=l,e[114]=G):G=e[114];const ft=n.timezone,ut=u||t.props.view;let Q;e[115]!==s?(Q=(Ft=s("timezone"))==null?void 0:Ft.name,e[115]=s,e[116]=Q):Q=e[116];let Z;e[117]!==Q?(Z=i.jsx(ds,{className:"w-full cursor-pointer",children:i.jsx(fs,{placeholder:Q})}),e[117]=Q,e[118]=Z):Z=e[118];let ee;e[119]!==r?(ee=r??[],e[119]=r,e[120]=ee):ee=e[120];let te;e[121]!==ee?(te=ee.map(or),e[121]=ee,e[122]=te):te=e[122];let se;e[123]!==te?(se=i.jsx(us,{children:te}),e[123]=te,e[124]=se):se=e[124];let re;e[125]!==G||e[126]!==ft||e[127]!==ut||e[128]!==Z||e[129]!==se?(re=i.jsxs(ps,{onValueChange:G,defaultValue:ft,disabled:ut,children:[Z,se]}),e[125]=G,e[126]=ft,e[127]=ut,e[128]=Z,e[129]=se,e[130]=re):re=e[130];let oe;e[131]!==Y||e[132]!==re?(oe=i.jsxs("div",{className:"grid gap-4",children:[Y,re]}),e[131]=Y,e[132]=re,e[133]=oe):oe=e[133];let ie;e[134]!==n.date||e[135]!==s||e[136]!==l||e[137]!==u?(ie=s("date")&&i.jsxs("div",{className:"grid gap-4",children:[i.jsx(m,{htmlFor:(zt=s("date"))==null?void 0:zt.name,children:(Ot=s("date"))==null?void 0:Ot.label}),i.jsx(ze,{id:(Ht=s("date"))==null?void 0:Ht.name,type:"date",className:"max-w-fit",tabIndex:1,value:n.date,onChange:c=>l("date",c.target.value),disabled:u})]}),e[134]=n.date,e[135]=s,e[136]=l,e[137]=u,e[138]=ie):ie=e[138];let ae;e[139]!==n.isAdmin||e[140]!==s||e[141]!==l||e[142]!==t.props.view||e[143]!==u?(ae=s("isAdmin")&&i.jsxs("div",{className:"grid gap-4",children:[i.jsx(m,{className:"cursor-pointer",htmlFor:(Dt=s("isAdmin"))==null?void 0:Dt.name,children:($t=s("isAdmin"))==null?void 0:$t.label}),i.jsx(xt,{id:(Mt=s("isAdmin"))==null?void 0:Mt.name,className:"cursor-pointer size-5",disabled:u||t.props.view,checked:n.isAdmin,onCheckedChange:c=>l("isAdmin",c)})]}),e[139]=n.isAdmin,e[140]=s,e[141]=l,e[142]=t.props.view,e[143]=u,e[144]=ae):ae=e[144];let ne;e[145]!==n.isConfirmed||e[146]!==s||e[147]!==l||e[148]!==t.props.view||e[149]!==u?(ne=s("isConfirmed")&&i.jsxs("div",{className:"grid gap-4",children:[i.jsx(m,{className:"cursor-pointer",htmlFor:(Jt=s("isConfirmed"))==null?void 0:Jt.name,children:(Vt=s("isConfirmed"))==null?void 0:Vt.label}),i.jsx(xt,{id:(Wt=s("isConfirmed"))==null?void 0:Wt.name,className:"cursor-pointer size-5",disabled:u||t.props.view,checked:n.isConfirmed,onCheckedChange:c=>l("isConfirmed",c)})]}),e[145]=n.isConfirmed,e[146]=s,e[147]=l,e[148]=t.props.view,e[149]=u,e[150]=ne):ne=e[150];let le;e[151]!==ae||e[152]!==ne?(le=i.jsxs("div",{className:"flex gap-6",children:[ae,ne]}),e[151]=ae,e[152]=ne,e[153]=le):le=e[153];let ce;e[154]!==ie||e[155]!==le?(ce=i.jsxs("div",{className:"flex flex-col md:flex-row justify-start gap-4 xl:justify-between items-start md:items-center",children:[ie,le]}),e[154]=ie,e[155]=le,e[156]=ce):ce=e[156];let pe;e[157]!==n.locale||e[158]!==s||e[159]!==l||e[160]!==t.props.locales||e[161]!==t.props.view||e[162]!==u?(pe=s("locale")&&i.jsxs("div",{className:"grid gap-4",children:[i.jsx(m,{htmlFor:(Kt=s("locale"))==null?void 0:Kt.name,children:(Xt=s("locale"))==null?void 0:Xt.label}),i.jsxs(ps,{onValueChange:c=>l("locale",c),defaultValue:n.locale,disabled:u||t.props.view,children:[i.jsx(ds,{className:"w-full cursor-pointer",children:i.jsx(fs,{placeholder:(Yt=s("locale"))==null?void 0:Yt.name})}),i.jsx(us,{children:(t.props.locales??[]).map(rr)})]})]}),e[157]=n.locale,e[158]=s,e[159]=l,e[160]=t.props.locales,e[161]=t.props.view,e[162]=u,e[163]=pe):pe=e[163];let de;e[164]!==oe||e[165]!==ce||e[166]!==pe?(de=i.jsxs("div",{className:"basis-1/2 flex flex-col gap-6",children:[oe,ce,pe]}),e[164]=oe,e[165]=ce,e[166]=pe,e[167]=de):de=e[167];let fe;e[168]!==W||e[169]!==de?(fe=i.jsxs("div",{className:"flex-col xl:flex-row flex gap-16",children:[W,de]}),e[168]=W,e[169]=de,e[170]=fe):fe=e[170];let ue;e[171]!==s?(ue=(Gt=s("userPassword"))==null?void 0:Gt.label,e[171]=s,e[172]=ue):ue=e[172];let he;e[173]!==ue?(he=i.jsx("label",{className:"font-bold text-xl",children:ue}),e[173]=ue,e[174]=he):he=e[174];let Xe;e[175]===Symbol.for("react.memo_cache_sentinel")?(Xe=i.jsx(Ss,{onClick:sr,children:i.jsx(ls,{iconNode:Is,className:"text-primary w-5 h-5 cursor-pointer"})}),e[175]=Xe):Xe=e[175];let me;e[176]!==s?(me=(Qt=s("userPassword"))==null?void 0:Qt.tooltip,e[176]=s,e[177]=me):me=e[177];let be;e[178]!==me?(be=i.jsx(qs,{children:i.jsxs(Ps,{children:[Xe,i.jsx(Es,{align:"center",side:"top",children:i.jsx("p",{children:me})})]})}),e[178]=me,e[179]=be):be=e[179];let ge;e[180]!==he||e[181]!==be?(ge=i.jsxs("div",{className:"flex gap-3",children:[he,be]}),e[180]=he,e[181]=be,e[182]=ge):ge=e[182];let we;e[183]!==s?(we=(Zt=s("userPassword"))==null?void 0:Zt.name,e[183]=s,e[184]=we):we=e[184];let ye;e[185]!==s?(ye=(es=s("userPassword"))==null?void 0:es.label,e[185]=s,e[186]=ye):ye=e[186];let xe;e[187]!==we||e[188]!==ye?(xe=i.jsx(m,{htmlFor:we,children:ye}),e[187]=we,e[188]=ye,e[189]=xe):xe=e[189];let _e;e[190]!==s?(_e=(ts=s("userPassword"))==null?void 0:ts.name,e[190]=s,e[191]=_e):_e=e[191];const ht=!t.props.edit,mt=n.password;let je;e[192]!==l?(je=c=>l("userPassword",c.target.value),e[192]=l,e[193]=je):je=e[193];const bt=u||t.props.view;let ve;e[194]!==s?(ve=(ss=s("userPassword"))==null?void 0:ss.label,e[194]=s,e[195]=ve):ve=e[195];let Re;e[196]!==_e||e[197]!==ht||e[198]!==mt||e[199]!==je||e[200]!==bt||e[201]!==ve?(Re=i.jsx(ze,{id:_e,type:"password",required:ht,tabIndex:1,autoComplete:"new-password",value:mt,onChange:je,disabled:bt,placeholder:ve}),e[196]=_e,e[197]=ht,e[198]=mt,e[199]=je,e[200]=bt,e[201]=ve,e[202]=Re):Re=e[202];let Te;e[203]!==xe||e[204]!==Re?(Te=i.jsxs("div",{className:"grid gap-4 col-span-1",children:[xe,Re]}),e[203]=xe,e[204]=Re,e[205]=Te):Te=e[205];let Ce;e[206]!==s?(Ce=(rs=s("repeatUserPassword"))==null?void 0:rs.name,e[206]=s,e[207]=Ce):Ce=e[207];let Ne;e[208]!==s?(Ne=(os=s("repeatUserPassword"))==null?void 0:os.label,e[208]=s,e[209]=Ne):Ne=e[209];let ke;e[210]!==Ce||e[211]!==Ne?(ke=i.jsx(m,{htmlFor:Ce,children:Ne}),e[210]=Ce,e[211]=Ne,e[212]=ke):ke=e[212];let Se;e[213]!==s?(Se=(is=s("repeatUserPassword"))==null?void 0:is.name,e[213]=s,e[214]=Se):Se=e[214];const gt=!t.props.edit,wt=n.repeatUserPassword;let qe;e[215]!==l?(qe=c=>l("repeatUserPassword",c.target.value),e[215]=l,e[216]=qe):qe=e[216];const yt=u||t.props.view;let Pe;e[217]!==s?(Pe=(as=s("repeatUserPassword"))==null?void 0:as.label,e[217]=s,e[218]=Pe):Pe=e[218];let Ee;e[219]!==Se||e[220]!==gt||e[221]!==wt||e[222]!==qe||e[223]!==yt||e[224]!==Pe?(Ee=i.jsx(ze,{id:Se,type:"password",required:gt,tabIndex:1,autoComplete:"new-password",value:wt,onChange:qe,disabled:yt,placeholder:Pe}),e[219]=Se,e[220]=gt,e[221]=wt,e[222]=qe,e[223]=yt,e[224]=Pe,e[225]=Ee):Ee=e[225];let Ue;e[226]!==De.repeatUserPassword?(Ue=i.jsx(Us,{message:De.repeatUserPassword}),e[226]=De.repeatUserPassword,e[227]=Ue):Ue=e[227];let Ae;e[228]!==ke||e[229]!==Ee||e[230]!==Ue?(Ae=i.jsxs("div",{className:"grid gap-4 col-span-1 col-start-1",children:[ke,Ee,Ue]}),e[228]=ke,e[229]=Ee,e[230]=Ue,e[231]=Ae):Ae=e[231];let Ie;e[232]!==Te||e[233]!==Ae?(Ie=i.jsxs("div",{className:"grid grid-col-1 lg:grid-cols-2 grid-rows-2 gap-x-16 gap-y-6",children:[Te,Ae]}),e[232]=Te,e[233]=Ae,e[234]=Ie):Ie=e[234];let Le;e[235]!==n||e[236]!==l||e[237]!==t.props.groupHead||e[238]!==t.props.groups||e[239]!==t.props.view||e[240]!==u?(Le=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(c=>i.jsxs("div",{className:"grid gap-4",children:[i.jsx(m,{className:"cursor-pointer",htmlFor:c.name,children:c.label}),i.jsx(xt,{id:c.name,disabled:u||t.props.view,className:"cursor-pointer size-5",checked:n[c.name],onCheckedChange:g=>l(c.name,g)})]},c.name))})]}),e[235]=n,e[236]=l,e[237]=t.props.groupHead,e[238]=t.props.groups,e[239]=t.props.view,e[240]=u,e[241]=Le):Le=e[241];let Be;e[242]!==j||e[243]!==fe||e[244]!==ge||e[245]!==Ie||e[246]!==Le?(Be=i.jsxs("div",{className:"flex flex-col gap-10 max-w-[1144px]",children:[j,fe,ge,Ie,Le]}),e[242]=j,e[243]=fe,e[244]=ge,e[245]=Ie,e[246]=Le,e[247]=Be):Be=e[247];let Fe;e[248]!==rt||e[249]!==it||e[250]!==Be?(Fe=i.jsx("form",{id:"addUserForm",onSubmit:rt,className:it,children:Be}),e[248]=rt,e[249]=it,e[250]=Be,e[251]=Fe):Fe=e[251];let Ye;return e[252]!==Fe||e[253]!==_?(Ye=i.jsxs("div",{className:"flex h-full flex-1 flex-col gap-4 rounded-xl p-4",children:[_,Fe]}),e[252]=Fe,e[253]=_,e[254]=Ye):Ye=e[254],Ye}function sr(e){return e.preventDefault()}function rr(e){return i.jsx(gs,{value:e.value,children:e.label},e.value)}function or(e){return i.jsx(gs,{value:e.value,children:e.label},e.value)}function ir(e){return[e.name,e.value]}function ar(e){return[e.name,e.value]}export{Ur as default};
@@ -1 +0,0 @@
1
- import{r as n,j as a}from"./app.js";import{c as d}from"./compiler-runtime-tM4jBQ-T.js";import{S as f}from"./sidebar-4D-sX2l4.js";import b from"./app-shell-BWMRMkHM.js";import{AppSidebar as x}from"./app-sidebar-BCtaEFGb.js";import{AppSidebarHeader as u}from"./app-sidebar-header-DLAFi13E.js";const j=n.memo(l=>{const e=d.c(9),{children:s,breadcrumbs:r,className:o}=l;let t;e[0]!==r?(t=r===void 0?[]:r,e[0]=r,e[1]=t):t=e[1];const i=t;let c;e[2]===Symbol.for("react.memo_cache_sentinel")?(c=a.jsx(x,{}),e[2]=c):c=e[2];let m;e[3]!==i?(m=a.jsx(u,{breadcrumbs:i}),e[3]=i,e[4]=m):m=e[4];let p;return e[5]!==s||e[6]!==o||e[7]!==m?(p=a.jsxs(b,{variant:"sidebar",children:[c,a.jsxs(f,{className:o,children:[m,s]})]}),e[5]=s,e[6]=o,e[7]=m,e[8]=p):p=e[8],p}),L=n.memo(l=>{const e=d.c(10);let s,r,o,t;e[0]!==l?({children:r,className:o,breadcrumbs:s,...t}=l,e[0]=l,e[1]=s,e[2]=r,e[3]=o,e[4]=t):(s=e[1],r=e[2],o=e[3],t=e[4]);let i;return e[5]!==s||e[6]!==r||e[7]!==o||e[8]!==t?(i=a.jsx(j,{breadcrumbs:s,className:o,...t,children:r}),e[5]=s,e[6]=r,e[7]=o,e[8]=t,e[9]=i):i=e[9],i});export{L as A};
@@ -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-Q3xofGRT.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-4D-sX2l4.js";import v from"./material-icon-CItZiB53.js";import{B as he}from"./button-CQ9t1kLz.js";import{c as ge,u as ve}from"./index-BbXEMx9n.js";import{u as J,c as _,a as P}from"./index-Cdb9ACvz.js";import{u as Me}from"./index-DrWfGwtf.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-DEk3sC8d.js";import{P as W}from"./index-K81GbF6O.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-BC0yfOHo.js";import"./index-DTRTjOmh.js";import"./createLucideIcon-BFG25zNo.js";import"./index-C0SL3SHw.js";import"./tooltip-D2ehgLlB.js";import"./index-BcE9FUM6.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{j as t}from"./app.js";import{c as m}from"./compiler-runtime-tM4jBQ-T.js";import{A as i}from"./app-layout-D1m9Kvxq.js";import"./sidebar-4D-sX2l4.js";import"./index-DrWfGwtf.js";import"./button-CQ9t1kLz.js";import"./utils-DjqsqOe8.js";import"./index-DTRTjOmh.js";import"./createLucideIcon-BFG25zNo.js";import"./index-Cdb9ACvz.js";import"./index-D5ir9iUV.js";import"./index-K81GbF6O.js";import"./index-C0SL3SHw.js";import"./index-BC0yfOHo.js";import"./tooltip-D2ehgLlB.js";import"./index-BcE9FUM6.js";import"./app-shell-BWMRMkHM.js";import"./app-sidebar-BCtaEFGb.js";import"./nav-main-Q3xofGRT.js";import"./material-icon-CItZiB53.js";import"./chevron-right-D5q8rF7h.js";import"./index-BbXEMx9n.js";import"./index-DEk3sC8d.js";import"./chevrons-up-down-kALltqHV.js";import"./app-sidebar-header-DLAFi13E.js";import"./breadcrumbs-CQNon4Vl.js";import"./nav-user-Ds8i0Pa2.js";import"./dropdown-menu-SEBnEIiL.js";import"./user-info-DBYoAJYJ.js";import"./user-menu-content-qkvdkUVd.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-D1m9Kvxq.js";import i from"./form-lOKv4Qbw.js";import"./sidebar-4D-sX2l4.js";import"./index-DrWfGwtf.js";import"./button-CQ9t1kLz.js";import"./utils-DjqsqOe8.js";import"./index-DTRTjOmh.js";import"./createLucideIcon-BFG25zNo.js";import"./index-Cdb9ACvz.js";import"./index-D5ir9iUV.js";import"./index-K81GbF6O.js";import"./index-C0SL3SHw.js";import"./index-BC0yfOHo.js";import"./tooltip-D2ehgLlB.js";import"./index-BcE9FUM6.js";import"./app-shell-BWMRMkHM.js";import"./app-sidebar-BCtaEFGb.js";import"./nav-main-Q3xofGRT.js";import"./material-icon-CItZiB53.js";import"./chevron-right-D5q8rF7h.js";import"./index-BbXEMx9n.js";import"./index-DEk3sC8d.js";import"./chevrons-up-down-kALltqHV.js";import"./app-sidebar-header-DLAFi13E.js";import"./breadcrumbs-CQNon4Vl.js";import"./nav-user-Ds8i0Pa2.js";import"./dropdown-menu-SEBnEIiL.js";import"./user-info-DBYoAJYJ.js";import"./user-menu-content-qkvdkUVd.js";import"./icon-Bz9BMaD0.js";import"./use-appearance-Co6mO0dV.js";import"./form-state-702tb_BV.js";import"./add-form-CYOfr0Ef.js";import"./label-Z506NKsW.js";import"./field-renderer-CapylJU9.js";import"./checkbox-W0nGAXIj.js";import"./index-DwctwfU0.js";import"./check-LAUWAnlX.js";import"./select-D1N8zRPY.js";import"./chevron-down-B5XuAFRu.js";import"./dynamic-controls-CSVVCONh.js";import"./input-DF7Ue23C.js";import"./multi-select-oabtVhUP.js";import"./popover-I249Gg2O.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-CYOfr0Ef.js";import d from"./input-error-BBygona6.js";import F from"./field-renderer-CapylJU9.js";import{B as x}from"./button-CQ9t1kLz.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-Z506NKsW.js";import"./index-K81GbF6O.js";import"./index-DrWfGwtf.js";import"./tooltip-D2ehgLlB.js";import"./index-Cdb9ACvz.js";import"./index-D5ir9iUV.js";import"./index-BC0yfOHo.js";import"./index-BcE9FUM6.js";import"./move-left-BhKZRPb4.js";import"./createLucideIcon-BFG25zNo.js";import"./checkbox-W0nGAXIj.js";import"./index-DwctwfU0.js";import"./check-LAUWAnlX.js";import"./select-D1N8zRPY.js";import"./index-BbXEMx9n.js";import"./index-C0SL3SHw.js";import"./chevron-down-B5XuAFRu.js";import"./dynamic-controls-CSVVCONh.js";import"./input-DF7Ue23C.js";import"./multi-select-oabtVhUP.js";import"./popover-I249Gg2O.js";import"./index-DTRTjOmh.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};