adminizer 4.3.0-build.80 → 4.3.0-build.82

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 (199) hide show
  1. package/assets/add-CZdDpNV2.js +1 -0
  2. package/assets/add-form-BjXOLDij.js +1 -0
  3. package/assets/add-group-form-BNmpvW8K.js +1 -0
  4. package/assets/add-group-urhA47Qf.js +1 -0
  5. package/assets/add-user-CzWUu7wG.js +1 -0
  6. package/assets/{add-user-form-yp020h4r.js → add-user-form-DrclnTOd.js} +1 -1
  7. package/assets/{app-CpGtjhxF.css → app-CSVBI-Lw.css} +1 -1
  8. package/assets/app-layout-CbyH1MDK.js +1 -0
  9. package/assets/{app-shell-xEVbINZV.js → app-shell-CHEYhVco.js} +1 -1
  10. package/assets/{app-sidebar-4lm9f_CG.js → app-sidebar-DeF8WNmW.js} +1 -1
  11. package/assets/app-sidebar-header-8KWnVpkN.js +1 -0
  12. package/assets/app.js +1628 -1628
  13. package/assets/breadcrumbs-C439DWrC.js +1 -0
  14. package/assets/catalog-CCSagWKW.js +6 -0
  15. package/assets/dashboard-DUNXib6b.js +3 -0
  16. package/assets/date-picker-DbJ8nHp5.js +1 -0
  17. package/assets/del-modal-_b3CSNHb.js +1 -0
  18. package/assets/{dynamic-controls-PxBg8yMz.js → dynamic-controls-BOYmRX_z.js} +1 -1
  19. package/assets/{field-renderer-CsBa_tMB.css → field-renderer-CRNLShJD.css} +1 -1
  20. package/assets/field-renderer-D0crIeQS.js +407 -0
  21. package/assets/{form-CSTeMDf5.js → form-B6LFaTgS.js} +1 -1
  22. package/assets/form-C8pRhEOA.js +1 -0
  23. package/assets/geo-json-uSUIgJf5.js +4 -0
  24. package/assets/{handsontable-D6MvFmcM.js → handsontable-PVakPtJV.js} +55 -55
  25. package/assets/home-D--JrFFj.js +2 -0
  26. package/assets/icon-DM49pZW3.js +1 -0
  27. package/assets/{init-user-L-oxFTOv.js → init-user-DNrB8Xt5.js} +1 -1
  28. package/assets/input-error--IOnWghB.js +1 -0
  29. package/assets/jsoneditor-D95dIAP2.js +3878 -0
  30. package/assets/list-CQivvagG.js +1 -0
  31. package/assets/{list-table-vIvydJV2.js → list-table-h_zXp43g.js} +4 -4
  32. package/assets/{login-DLMJ6l_r.js → login-6Xb8bcPq.js} +1 -1
  33. package/assets/manifest.json +259 -260
  34. package/assets/material-icon-BedgD2NE.js +1 -0
  35. package/assets/{media-manager-ASGJ4PcS.js → media-manager-Bms57WSN.js} +2 -2
  36. package/assets/module-DqrIORMW.js +1 -0
  37. package/assets/{monaco-B1uVVM7f.js → monaco-ICtx6xoc.js} +1 -1
  38. package/assets/{nav-footer-DbGCtmmN.js → nav-footer-BwkQkwow.js} +1 -1
  39. package/assets/{nav-main-BcWhl71g.js → nav-main-9Eb_A0rf.js} +1 -1
  40. package/assets/nav-user-CRAfyE-x.js +1 -0
  41. package/assets/notification-db0RD9I6.js +27 -0
  42. package/assets/{pagination-render-BceTnewI.js → pagination-render-D3UyVAlr.js} +1 -1
  43. package/assets/{register-C_W_hOmq.js → register-BIyjCy8M.js} +1 -1
  44. package/assets/tabs-BK_5wdPA.js +1 -0
  45. package/assets/theme-switcher-CKiJbMkh.js +1 -0
  46. package/assets/toast-editor-BZM5RHph.js +845 -0
  47. package/assets/{user-info-BrWerGLc.js → user-info-CcYdmjMZ.js} +1 -1
  48. package/assets/{user-menu-content-D61_auxX.js → user-menu-content-DbUk8ZeY.js} +1 -1
  49. package/assets/vanilla-picker-l5rcX3cq.js +8 -0
  50. package/assets/{vendor-DoC2WAmd.js → vendor-wzZzN_Jv.js} +2 -2
  51. package/assets/welcome-CZlWN4gM.js +1 -0
  52. package/controllers/add.js +1 -1
  53. package/controllers/catalog/FrontentCatalogAdapter.d.ts +4 -4
  54. package/controllers/edit.js +1 -15
  55. package/controllers/list.js +2 -2
  56. package/controllers/login.js +2 -2
  57. package/controllers/navigation/edit.js +1 -1
  58. package/controllers/notifications/NotificationController.d.ts +5 -5
  59. package/controllers/notifications/NotificationController.js +77 -78
  60. package/controllers/remove.js +1 -11
  61. package/controllers/view.js +1 -1
  62. package/helpers/configHelper.d.ts +1 -1
  63. package/helpers/fieldsHelper.d.ts +1 -1
  64. package/helpers/fieldsHelper.js +1 -1
  65. package/helpers/inertiaAddHelper.d.ts +1 -1
  66. package/helpers/translationHelper.d.ts +1 -1
  67. package/helpers/translationHelper.js +1 -1
  68. package/index.d.ts +14 -13
  69. package/index.js +14 -13
  70. package/interfaces/adminpanelConfig.d.ts +1 -1
  71. package/interfaces/global.d.ts +3 -3
  72. package/interfaces/types.d.ts +10 -1
  73. package/lib/Adminizer.d.ts +7 -7
  74. package/lib/Adminizer.js +7 -7
  75. package/lib/{v4/DataAccessor.d.ts → DataAccessor.d.ts} +4 -4
  76. package/lib/{v4/DataAccessor.js → DataAccessor.js} +3 -3
  77. package/lib/{v4/I18n.js → I18n.js} +2 -2
  78. package/lib/{v4/PolicyManager.d.ts → PolicyManager.d.ts} +1 -1
  79. package/lib/{v4/PolicyManager.js → PolicyManager.js} +2 -2
  80. package/lib/{v4/catalog → catalog}/AbstractCatalog.d.ts +1 -1
  81. package/lib/{v4/catalog → catalog}/Navigation.d.ts +2 -2
  82. package/lib/{v4/catalog → catalog}/Navigation.js +1 -1
  83. package/lib/{v4/controls → controls}/AbstractControls.d.ts +1 -1
  84. package/lib/{v4/controls → controls}/codeEditor/MonacoEditor.d.ts +1 -1
  85. package/lib/{v4/controls → controls}/geojsoneditor/GeoEditor.d.ts +1 -1
  86. package/lib/{v4/controls → controls}/jsoneditor/JsonEditor.d.ts +1 -1
  87. package/lib/{v4/controls → controls}/markdown/ToastUiEditor.d.ts +1 -1
  88. package/lib/{v4/controls → controls}/table/Handsontable.d.ts +1 -1
  89. package/lib/{v4/controls → controls}/wysiwyg/CKeditor.d.ts +1 -1
  90. package/lib/{v4/datatable → datatable}/NodeTable.d.ts +1 -1
  91. package/lib/{v4/model → model}/AbstractModel.d.ts +12 -0
  92. package/lib/model/AbstractModel.js +178 -0
  93. package/lib/{v4/model → model}/ModelHandler.js +1 -1
  94. package/lib/{v4/model → model}/adapter/sequelize.d.ts +2 -4
  95. package/lib/{v4/model → model}/adapter/sequelize.js +33 -13
  96. package/lib/{v4/notifications → notifications}/AbstractNotificationService.d.ts +14 -7
  97. package/lib/notifications/AbstractNotificationService.js +233 -0
  98. package/lib/{v4/notifications → notifications}/GeneralNotificationService.d.ts +1 -1
  99. package/lib/{v4/notifications → notifications}/GeneralNotificationService.js +4 -2
  100. package/lib/notifications/NotificationHandler.d.ts +27 -0
  101. package/lib/notifications/NotificationHandler.js +41 -0
  102. package/lib/{v4/notifications → notifications}/SystemNotificationService.d.ts +5 -4
  103. package/lib/notifications/SystemNotificationService.js +173 -0
  104. package/lib/{v4/widgets → widgets}/abstractCustom.d.ts +1 -1
  105. package/lib/{v4/widgets → widgets}/abstractLink.d.ts +1 -1
  106. package/lib/{v4/widgets → widgets}/abstractWidgetBase.d.ts +1 -1
  107. package/lib/{v4/widgets → widgets}/widgetHandler.d.ts +2 -2
  108. package/migrations/index.d.ts +3 -0
  109. package/migrations/index.js +4 -0
  110. package/migrations/umzug/0001.d.ts +7 -0
  111. package/migrations/umzug/0001.js +119 -0
  112. package/migrations/umzug.d.ts +2 -0
  113. package/migrations/umzug.js +8 -0
  114. package/models/NotificationAP.d.ts +8 -0
  115. package/models/NotificationAP.js +8 -0
  116. package/models/UserAP.d.ts +1 -1
  117. package/package.json +5 -4
  118. package/system/Router.js +4 -8
  119. package/system/bindControls.js +6 -6
  120. package/system/bindInertia.js +4 -3
  121. package/system/bindNavigation.js +1 -1
  122. package/system/bindNotifications.js +3 -3
  123. package/system/bindReqFunctions.js +8 -25
  124. package/system/defaults.js +1 -1
  125. package/ui/components/ui/table.d.ts +1 -1
  126. package/ui/components/ui/table.js +2 -2
  127. package/assets/add-DSapOiv0.js +0 -1
  128. package/assets/add-form-C04ZI5LT.js +0 -1
  129. package/assets/add-group-DWR7SBTO.js +0 -1
  130. package/assets/add-group-form-CyRwxTs3.js +0 -1
  131. package/assets/add-user-acATGxUL.js +0 -1
  132. package/assets/app-layout-BmT5KQwc.js +0 -1
  133. package/assets/app-sidebar-header-CxXmzszq.js +0 -1
  134. package/assets/breadcrumbs-livOfa2Z.js +0 -1
  135. package/assets/catalog-CG_EB2kz.js +0 -6
  136. package/assets/dashboard-CsmJfdLb.js +0 -3
  137. package/assets/date-picker-By3kj-Rx.js +0 -1
  138. package/assets/del-modal-DlcbcdR5.js +0 -1
  139. package/assets/field-renderer-Bp1lfm0v.js +0 -407
  140. package/assets/form-CxHRGp7p.js +0 -1
  141. package/assets/geo-json-CCgjEQfu.js +0 -4
  142. package/assets/home-D00XjLjD.js +0 -2
  143. package/assets/icon-ButfCBrt.js +0 -1
  144. package/assets/input-error-CHsDLcK0.js +0 -1
  145. package/assets/jsoneditor-CBqATVR0.js +0 -3833
  146. package/assets/list-4TOTsjqE.js +0 -1
  147. package/assets/material-icon-sXk4BK-N.js +0 -1
  148. package/assets/module-mxngd2cA.js +0 -1
  149. package/assets/nav-user-BN2veV3l.js +0 -1
  150. package/assets/notification-BEfA5sT6.js +0 -1
  151. package/assets/tabs-CgZW_LLn.js +0 -1
  152. package/assets/theme-switcher-D1G6OSMc.js +0 -1
  153. package/assets/toast-editor-CfgZXoQZ.js +0 -845
  154. package/assets/vanilla-picker-B6E6ObS_.js +0 -8
  155. package/assets/welcome-FHRCdke0.js +0 -1
  156. package/lib/v4/model/AbstractModel.js +0 -79
  157. package/lib/v4/notifications/AbstractNotificationService.js +0 -150
  158. package/lib/v4/notifications/NotificationHandler.d.ts +0 -69
  159. package/lib/v4/notifications/NotificationHandler.js +0 -127
  160. package/lib/v4/notifications/SystemNotificationService.js +0 -124
  161. package/migrations/db-migrate/20230303171134-adminpanel-init.js +0 -122
  162. package/migrations/db-migrate/20231223215835-add-widgets.js +0 -32
  163. package/migrations/db-migrate/20240804191001-added-navigationap.js +0 -53
  164. package/migrations/db-migrate/20241121184236-v4-init.js +0 -134
  165. /package/lib/{v4/I18n.d.ts → I18n.d.ts} +0 -0
  166. /package/lib/{v4/POWCaptcha.d.ts → POWCaptcha.d.ts} +0 -0
  167. /package/lib/{v4/POWCaptcha.js → POWCaptcha.js} +0 -0
  168. /package/lib/{v4/catalog → catalog}/AbstractCatalog.js +0 -0
  169. /package/lib/{v4/catalog → catalog}/CatalogHandler.d.ts +0 -0
  170. /package/lib/{v4/catalog → catalog}/CatalogHandler.js +0 -0
  171. /package/lib/{v4/controls → controls}/AbstractControls.js +0 -0
  172. /package/lib/{v4/controls → controls}/ControlsHandler.d.ts +0 -0
  173. /package/lib/{v4/controls → controls}/ControlsHandler.js +0 -0
  174. /package/lib/{v4/controls → controls}/codeEditor/MonacoEditor.js +0 -0
  175. /package/lib/{v4/controls → controls}/geojsoneditor/GeoEditor.js +0 -0
  176. /package/lib/{v4/controls → controls}/jsoneditor/JsonEditor.js +0 -0
  177. /package/lib/{v4/controls → controls}/markdown/ToastUiEditor.js +0 -0
  178. /package/lib/{v4/controls → controls}/table/Handsontable.js +0 -0
  179. /package/lib/{v4/controls → controls}/wysiwyg/CKeditor.js +0 -0
  180. /package/lib/{v4/datatable → datatable}/NodeTable.js +0 -0
  181. /package/lib/{v4/helper → helper}/jwt.d.ts +0 -0
  182. /package/lib/{v4/helper → helper}/jwt.js +0 -0
  183. /package/lib/{v4/inertia → inertia}/flash.d.ts +0 -0
  184. /package/lib/{v4/inertia → inertia}/flash.js +0 -0
  185. /package/lib/{v4/inertia → inertia}/inertiaAdapter.d.ts +0 -0
  186. /package/lib/{v4/inertia → inertia}/inertiaAdapter.js +0 -0
  187. /package/lib/{v4/model → model}/ModelHandler.d.ts +0 -0
  188. /package/lib/{v4/model → model}/adapter/waterline.d.ts +0 -0
  189. /package/lib/{v4/model → model}/adapter/waterline.js +0 -0
  190. /package/lib/{v4/widgets → widgets}/abstractAction.d.ts +0 -0
  191. /package/lib/{v4/widgets → widgets}/abstractAction.js +0 -0
  192. /package/lib/{v4/widgets → widgets}/abstractCustom.js +0 -0
  193. /package/lib/{v4/widgets → widgets}/abstractInfo.d.ts +0 -0
  194. /package/lib/{v4/widgets → widgets}/abstractInfo.js +0 -0
  195. /package/lib/{v4/widgets → widgets}/abstractLink.js +0 -0
  196. /package/lib/{v4/widgets → widgets}/abstractSwitch.d.ts +0 -0
  197. /package/lib/{v4/widgets → widgets}/abstractSwitch.js +0 -0
  198. /package/lib/{v4/widgets → widgets}/abstractWidgetBase.js +0 -0
  199. /package/lib/{v4/widgets → widgets}/widgetHandler.js +0 -0
@@ -1 +0,0 @@
1
- import{j as o}from"./app.js";import{A as r}from"./app-layout-BmT5KQwc.js";import t from"./list-table-vIvydJV2.js";import"./jsoneditor-CBqATVR0.js";import"./vendor-DoC2WAmd.js";import"./monaco-B1uVVM7f.js";import"./handsontable-D6MvFmcM.js";import"./app-shell-xEVbINZV.js";import"./app-sidebar-4lm9f_CG.js";import"./nav-main-BcWhl71g.js";import"./material-icon-sXk4BK-N.js";import"./app-sidebar-header-CxXmzszq.js";import"./breadcrumbs-livOfa2Z.js";import"./nav-user-BN2veV3l.js";import"./user-info-BrWerGLc.js";import"./user-menu-content-D61_auxX.js";import"./theme-switcher-D1G6OSMc.js";import"./icon-ButfCBrt.js";import"./del-modal-DlcbcdR5.js";import"./pagination-render-BceTnewI.js";const m=[],E=()=>o.jsx(r,{breadcrumbs:m,className:"overflow-auto h-[calc(100svh-16px)]",children:o.jsx(t,{})});export{E as default};
@@ -1 +0,0 @@
1
- import{j as i,a3 as o}from"./app.js";import"./jsoneditor-CBqATVR0.js";import"./vendor-DoC2WAmd.js";import"./monaco-B1uVVM7f.js";import"./handsontable-D6MvFmcM.js";function c({name:t,className:r,style:a}){return i.jsx("span",{className:o("material-icons-outlined",r),style:a,children:t})}export{c as default};
@@ -1 +0,0 @@
1
- import{q as l,j as t,L as a}from"./app.js";import{r as s}from"./monaco-B1uVVM7f.js";import{A as c}from"./app-layout-BmT5KQwc.js";import"./jsoneditor-CBqATVR0.js";import"./vendor-DoC2WAmd.js";import"./handsontable-D6MvFmcM.js";import"./app-shell-xEVbINZV.js";import"./app-sidebar-4lm9f_CG.js";import"./nav-main-BcWhl71g.js";import"./material-icon-sXk4BK-N.js";import"./app-sidebar-header-CxXmzszq.js";import"./breadcrumbs-livOfa2Z.js";import"./nav-user-BN2veV3l.js";import"./user-info-BrWerGLc.js";import"./user-menu-content-D61_auxX.js";import"./theme-switcher-D1G6OSMc.js";import"./icon-ButfCBrt.js";const d=[];function v(){const r=l(),[n,m]=s.useState(null);return s.useEffect(()=>{const p=async()=>{const o=(await import(r.props.moduleComponent)).default;m(t.jsx(o,{message:r.props.message}))};(()=>{const e=r.props.moduleComponentCSS;if(!e||[...document.head.querySelectorAll("link[rel='stylesheet']")].some(i=>i.href.includes(e)))return;const o=document.createElement("link");o.rel="stylesheet",o.href=e,o.type="text/css",o.onload=()=>console.log(`CSS loaded: ${e}`),o.onerror=()=>console.error(`Failed to load CSS: ${e}`),document.head.appendChild(o)})(),p()},[]),t.jsx(c,{breadcrumbs:d,children:t.jsx("div",{className:"m-5",children:n||t.jsx(a,{className:"size-10 animate-spin text-neutral-500 mx-auto mt-[15%]"})})})}export{v as default};
@@ -1 +0,0 @@
1
- import{q as a,bl as i,bm as u,j as e,aM as d,aN as l,aF as m,r as c,aR as p,aS as b,u as x}from"./app.js";import{UserInfo as g}from"./user-info-BrWerGLc.js";import{UserMenuContent as j}from"./user-menu-content-D61_auxX.js";import"./jsoneditor-CBqATVR0.js";import"./vendor-DoC2WAmd.js";import"./monaco-B1uVVM7f.js";import"./handsontable-D6MvFmcM.js";function D(){const{auth:s,logout:r,logoutBtn:o}=a().props,{state:t}=i(),n=u();return e.jsx(d,{children:e.jsx(l,{children:e.jsxs(m,{children:[e.jsx(c,{asChild:!0,children:e.jsxs(p,{size:"lg",className:"text-sidebar-accent-foreground data-[state=open]:bg-sidebar-accent group focus-visible:ring-0 cursor-pointer",children:[e.jsx(g,{user:s.user}),e.jsx(b,{className:"ml-auto size-4"})]})}),e.jsx(x,{className:"w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg z-[1002]",align:"end",side:n?"bottom":t==="collapsed"?"left":"bottom",children:e.jsx(j,{user:s.user,logout:r,logoutBtn:o})})]})})})}export{D as NavUser};
@@ -1 +0,0 @@
1
- import{j as e,Y as S,Z as L,_ as j,$ as n,a0 as R,a1 as c,J as z,K as M,B as v,a2 as w,M as E,a3 as f,a4 as A,P,a5 as B,a6 as H,a7 as O,a8 as $,a9 as I,aa as U,ab as q,q as G,m as J,L as F}from"./app.js";import{A as K}from"./app-layout-BmT5KQwc.js";import{e as Y,r as h}from"./monaco-B1uVVM7f.js";import{T as Z,a as _,b as C,c as D}from"./tabs-CgZW_LLn.js";import{u as Q}from"./app-sidebar-header-CxXmzszq.js";import"./jsoneditor-CBqATVR0.js";import"./vendor-DoC2WAmd.js";import"./handsontable-D6MvFmcM.js";import"./app-shell-xEVbINZV.js";import"./app-sidebar-4lm9f_CG.js";import"./nav-main-BcWhl71g.js";import"./material-icon-sXk4BK-N.js";import"./breadcrumbs-livOfa2Z.js";import"./nav-user-BN2veV3l.js";import"./user-info-BrWerGLc.js";import"./user-menu-content-D61_auxX.js";import"./theme-switcher-D1G6OSMc.js";import"./icon-ButfCBrt.js";const W=({notifications:a,onMarkAsRead:o})=>{const m=async(t,p)=>{try{await o(t,p)}catch(r){console.error("Error marking as read:",r)}};return e.jsxs(S,{wrapperHeight:"max-h-[75vh]",children:[e.jsx(L,{className:"sticky top-0 bg-background shadow z-1",children:e.jsxs(j,{children:[e.jsx(n,{className:"p-2 text-left"}),e.jsx(n,{className:"p-2 text-left",children:"Title"}),e.jsx(n,{className:"p-2 text-left",children:"Message"}),e.jsx(n,{className:"p-2 text-left",children:"Date"})]})}),e.jsx(R,{children:a.map(t=>e.jsxs(j,{className:`${t.read?"":"bg-chart-1/20 hover:bg-chart-1/20"}`,children:[e.jsx(c,{className:"p-2 align-top pt-2.5",children:e.jsxs(z,{children:[e.jsx(M,{asChild:!0,children:e.jsx(v,{variant:"ghost",size:"icon",className:`size-4 ${t.read?"opacity-50 pointer-events-none":""}`,onClick:()=>m(t.notificationClass,t.id),children:e.jsx(w,{className:"text-primary"})})}),e.jsx(E,{side:"right",className:"z-[1003]",children:e.jsx("p",{children:"Make read"})})]})}),e.jsx(c,{className:"p-2 align-top font-medium",children:t.title}),e.jsx(c,{className:"p-2 whitespace-break-spaces",children:e.jsx("div",{className:"max-w-[500px] whitespace-break-spaces",children:t.message})}),e.jsx(c,{className:"p-2 align-top",children:new Date(t.createdAt).toLocaleString()})]},t.id))})]})},X=({changes:a,title:o="Changes",className:m=""})=>{if(!a||a.length===0)return e.jsx("div",{className:f("bg-muted border border-border rounded-lg p-4",m),children:e.jsxs("div",{className:"flex items-center text-muted-foreground",children:[e.jsx(w,{className:"w-5 h-5 mr-2"}),e.jsx("span",{children:"Changes not found"})]})});const t=r=>r===null?"null":r===void 0?"—":typeof r=="boolean"?r?"Да":"Нет":typeof r=="object"?JSON.stringify(r):String(r),p=r=>r.oldValue===void 0?"added":r.newValue===void 0?"removed":"modified";return e.jsxs("div",{className:f("bg-card border border-border rounded-lg shadow-sm",m),children:[e.jsx("div",{className:"px-4 py-3 border-b border-border bg-muted",children:e.jsxs("h3",{className:"text-lg font-semibold text-card-foreground flex items-center",children:[e.jsx(A,{className:"w-5 h-5 mr-2"}),o," (",a.length,")"]})}),e.jsx("div",{className:"divide-y divide-border",children:a.map((r,u)=>{const s=p(r),d=s==="added"?P:s==="removed"?B:A,x=f("text-xs px-2 py-1 rounded-full bg-opacity-10",s==="added"&&"text-green-600 bg-green-100",s==="removed"&&"text-destructive bg-destructive/20",s==="modified"&&"text-primary bg-primary/20"),N=s==="added"?"text-green-600":s==="removed"?"text-destructive":"text-primary";return e.jsxs("div",{className:"p-4 hover:bg-muted/50 transition-colors",children:[e.jsxs("div",{className:"flex items-center justify-between mb-2",children:[e.jsxs("div",{className:"flex items-center",children:[Y.createElement(d,{className:f("w-4 h-4 mr-2",N)}),e.jsx("span",{className:"font-medium text-card-foreground",children:r.field})]}),e.jsx("span",{className:x,children:s==="added"?"Added":s==="removed"?"Removed":"Updated"})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3 text-sm",children:[s!=="added"&&e.jsxs("div",{className:"p-2 bg-destructive/10 border border-destructive/20 rounded",children:[e.jsx("div",{className:"text-xs text-destructive font-medium mb-1",children:"Old:"}),e.jsx("div",{className:"text-destructive-foreground font-mono break-words",children:t(r.oldValue)})]}),s!=="removed"&&e.jsxs("div",{className:"p-2 bg-green-50 border border-green-100 rounded",children:[e.jsx("div",{className:"text-xs text-green-600 font-medium mb-1",children:"New:"}),e.jsx("div",{className:"text-green-800 font-mono break-words",children:t(r.newValue)})]})]}),s==="modified"&&e.jsxs("div",{className:"mt-2 flex items-center text-xs text-muted-foreground",children:[e.jsx(H,{className:"w-3 h-3 mr-1"}),"changed type: ",r.type]})]},u)})})]})},ee=({notifications:a,onMarkAsRead:o})=>{const[m,t]=h.useState(!1),[p,r]=h.useState(null),u=async(s,d)=>{try{await o(s,d)}catch(x){console.error("Error marking as read:",x)}};return e.jsxs("div",{children:[e.jsxs(S,{wrapperHeight:"max-h-[75vh]",children:[e.jsx(L,{className:"sticky top-0 bg-background shadow z-1",children:e.jsxs(j,{children:[e.jsx(n,{className:"p-2 text-left"}),e.jsx(n,{className:"p-2 text-left",children:"Title"}),e.jsx(n,{className:"p-2 text-left",children:"Message"}),e.jsx(n,{className:"p-2 text-left",children:"Date"}),e.jsx(n,{className:"p-2 text-left",children:"Diff"})]})}),e.jsx(R,{children:a.map(s=>{var d;return e.jsxs(j,{className:`${s.read?"":"bg-chart-1/20 hover:bg-chart-1/20"}`,children:[e.jsx(c,{className:"p-2 pt-2.5",children:e.jsxs(z,{children:[e.jsx(M,{asChild:!0,children:e.jsx(v,{variant:"ghost",size:"icon",className:`size-4 ${s.read?"opacity-50 pointer-events-none":""}`,onClick:()=>u(s.notificationClass,s.id),children:e.jsx(w,{className:"text-primary"})})}),e.jsx(E,{side:"right",className:"z-[1003]",children:e.jsx("p",{children:"Make read"})})]})}),e.jsx(c,{className:"p-2 font-medium",children:s.title}),e.jsx(c,{className:"p-2 whitespace-break-spaces",children:e.jsx("div",{className:"max-w-[500px] whitespace-break-spaces",children:s.message})}),e.jsx(c,{className:"p-2",children:new Date(s.createdAt).toLocaleString()}),e.jsx(c,{className:"p-2",children:((d=s.metadata)==null?void 0:d.changes)&&e.jsx(v,{variant:"green",size:"sm",onClick:()=>{var x;r((x=s.metadata)==null?void 0:x.changes),t(!0)},children:e.jsx(O,{})})})]},s.id)})})]}),e.jsx($,{open:m,onOpenChange:s=>{t(s),s||setTimeout(()=>{document.body.removeAttribute("style")},300)},children:e.jsxs(I,{className:"z-[1022] sm:max-w-[60vw]",children:[e.jsx(U,{children:e.jsx(q,{children:"Diff"})}),e.jsx(X,{changes:p,className:"max-h-[80vh] overflow-auto sm:max-w-[60vw] w-full"})]})})]})},se=()=>{const a=G(),{allNotifications:o,markAsRead:m,fetchAllNotifications:t,loading:p,refreshBellNotifications:r}=Q(),[u,s]=h.useState(!0),[d,x]=h.useState([]),N=()=>{const l=new URL(a.url,window.location.origin).searchParams.get("type");return l==="system"&&a.props.auth.user.isAdministrator?"system":"general"},[g,b]=h.useState(N());h.useEffect(()=>{const l=new URL(a.url,window.location.origin).searchParams.get("type");if(l&&l!==g){if(l==="system"&&!a.props.auth.user.isAdministrator){b("general");return}b(l)}},[a.url,g,a.props.auth.user.isAdministrator]),h.useEffect(()=>{(async()=>{s(!0),await t(g),s(!1)})()},[g]),h.useEffect(()=>{const i=o.filter(l=>l.notificationClass===g);x(i)},[o,g]);const V=async i=>{i==="system"&&!a.props.auth.user.isAdministrator||(b(i),s(!0),J.get(a.url,{type:i},{preserveState:!0,preserveScroll:!0,replace:!0}),await t(i),s(!1))},y=async(i,l)=>{try{await m(i,l),await r()}catch(k){throw console.error("Error marking as read:",k),k}},T=i=>u||p?e.jsx(F,{className:"mx-auto mt-14 size-8 animate-spin"}):d.length===0?e.jsx("div",{className:"text-center font-medium mt-8",children:"No notifications found"}):i==="general"?e.jsx(W,{notifications:d,onMarkAsRead:y}):e.jsx(ee,{notifications:d,onMarkAsRead:y});return e.jsxs("div",{className:"flex h-auto flex-1 flex-col gap-4 rounded-xl p-4",children:[e.jsx("h1",{className:"font-bold text-xl",children:a.props.title}),e.jsxs(Z,{value:g,className:"w-full",onValueChange:V,children:[e.jsxs(_,{className:"w-full mb-4",children:[e.jsx(C,{value:"general",disabled:u,children:"General"}),a.props.auth.user.isAdministrator&&e.jsx(C,{value:"system",disabled:u,children:"System"})]}),e.jsx(D,{value:"general",children:T("general")}),a.props.auth.user.isAdministrator&&e.jsx(D,{value:"system",children:T("system")})]})]})},re=[],ve=()=>e.jsx(K,{breadcrumbs:re,children:e.jsx(se,{})});export{ve as default};
@@ -1 +0,0 @@
1
- import{j as d,at as de,au as G,av as O,aw as $,ax as R,ay as B,az as U,aA as fe,aB as pe,a3 as P}from"./app.js";import{r as s,e as E}from"./monaco-B1uVVM7f.js";import"./handsontable-D6MvFmcM.js";function L(e){const t=me(e),n=s.forwardRef((o,r)=>{const{children:i,...a}=o,l=s.Children.toArray(i),v=l.find(be);if(v){const p=v.props.children,c=l.map(f=>f===v?s.Children.count(p)>1?s.Children.only(null):s.isValidElement(p)?p.props.children:null:f);return d.jsx(t,{...a,ref:r,children:s.isValidElement(p)?s.cloneElement(p,void 0,c):null})}return d.jsx(t,{...a,ref:r,children:i})});return n.displayName=`${e}.Slot`,n}function me(e){const t=s.forwardRef((n,o)=>{const{children:r,...i}=n;if(s.isValidElement(r)){const a=Ie(r),l=ge(i,r.props);return r.type!==s.Fragment&&(l.ref=o?de(o,a):a),s.cloneElement(r,l)}return s.Children.count(r)>1?s.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var ve=Symbol("radix.slottable");function be(e){return s.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===ve}function ge(e,t){const n={...t};for(const o in t){const r=e[o],i=t[o];/^on[A-Z]/.test(o)?r&&i?n[o]=(...l)=>{const v=i(...l);return r(...l),v}:r&&(n[o]=r):o==="style"?n[o]={...r,...i}:o==="className"&&(n[o]=[r,i].filter(Boolean).join(" "))}return{...e,...n}}function Ie(e){var o,r;let t=(o=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:o.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(r=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function xe(e){const t=e+"CollectionProvider",[n,o]=G(t),[r,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),a=C=>{const{scope:u,children:g}=C,T=E.useRef(null),m=E.useRef(new Map).current;return d.jsx(r,{scope:u,itemMap:m,collectionRef:T,children:g})};a.displayName=t;const l=e+"CollectionSlot",v=L(l),p=E.forwardRef((C,u)=>{const{scope:g,children:T}=C,m=i(l,g),b=O(u,m.collectionRef);return d.jsx(v,{ref:b,children:T})});p.displayName=l;const c=e+"CollectionItemSlot",f="data-radix-collection-item",I=L(c),y=E.forwardRef((C,u)=>{const{scope:g,children:T,...m}=C,b=E.useRef(null),w=O(u,b),F=i(c,g);return E.useEffect(()=>(F.itemMap.set(b,{ref:b,...m}),()=>void F.itemMap.delete(b))),d.jsx(I,{[f]:"",ref:w,children:T})});y.displayName=c;function h(C){const u=i(e+"CollectionConsumer",C);return E.useCallback(()=>{const T=u.collectionRef.current;if(!T)return[];const m=Array.from(T.querySelectorAll(`[${f}]`));return Array.from(u.itemMap.values()).sort((F,N)=>m.indexOf(F.ref.current)-m.indexOf(N.ref.current))},[u.collectionRef,u.itemMap])}return[{Provider:a,Slot:p,ItemSlot:y},h,o]}var Ce=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],_=Ce.reduce((e,t)=>{const n=L(`Primitive.${t}`),o=s.forwardRef((r,i)=>{const{asChild:a,...l}=r,v=a?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(v,{...l,ref:i})});return o.displayName=`Primitive.${t}`,{...e,[t]:o}},{}),D="rovingFocusGroup.onEntryFocus",Te={bubbles:!1,cancelable:!0},A="RovingFocusGroup",[k,z,Re]=xe(A),[ye,W]=G(A,[Re]),[Se,Ee]=ye(A),H=s.forwardRef((e,t)=>d.jsx(k.Provider,{scope:e.__scopeRovingFocusGroup,children:d.jsx(k.Slot,{scope:e.__scopeRovingFocusGroup,children:d.jsx(he,{...e,ref:t})})}));H.displayName=A;var he=s.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:o,loop:r=!1,dir:i,currentTabStopId:a,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:v,onEntryFocus:p,preventScrollOnEntryFocus:c=!1,...f}=e,I=s.useRef(null),y=O(t,I),h=B(i),[C,u]=U({prop:a,defaultProp:l??null,onChange:v,caller:A}),[g,T]=s.useState(!1),m=fe(p),b=z(n),w=s.useRef(!1),[F,N]=s.useState(0);return s.useEffect(()=>{const x=I.current;if(x)return x.addEventListener(D,m),()=>x.removeEventListener(D,m)},[m]),d.jsx(Se,{scope:n,orientation:o,dir:h,loop:r,currentTabStopId:C,onItemFocus:s.useCallback(x=>u(x),[u]),onItemShiftTab:s.useCallback(()=>T(!0),[]),onFocusableItemAdd:s.useCallback(()=>N(x=>x+1),[]),onFocusableItemRemove:s.useCallback(()=>N(x=>x-1),[]),children:d.jsx(_.div,{tabIndex:g||F===0?-1:0,"data-orientation":o,...f,ref:y,style:{outline:"none",...e.style},onMouseDown:R(e.onMouseDown,()=>{w.current=!0}),onFocus:R(e.onFocus,x=>{const ie=!w.current;if(x.target===x.currentTarget&&ie&&!g){const K=new CustomEvent(D,Te);if(x.currentTarget.dispatchEvent(K),!K.defaultPrevented){const M=b().filter(S=>S.focusable),ce=M.find(S=>S.active),le=M.find(S=>S.id===C),ue=[ce,le,...M].filter(Boolean).map(S=>S.ref.current);Z(ue,c)}}w.current=!1}),onBlur:R(e.onBlur,()=>T(!1))})})}),Y="RovingFocusGroupItem",q=s.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:o=!0,active:r=!1,tabStopId:i,children:a,...l}=e,v=$(),p=i||v,c=Ee(Y,n),f=c.currentTabStopId===p,I=z(n),{onFocusableItemAdd:y,onFocusableItemRemove:h,currentTabStopId:C}=c;return s.useEffect(()=>{if(o)return y(),()=>h()},[o,y,h]),d.jsx(k.ItemSlot,{scope:n,id:p,focusable:o,active:r,children:d.jsx(_.span,{tabIndex:f?0:-1,"data-orientation":c.orientation,...l,ref:t,onMouseDown:R(e.onMouseDown,u=>{o?c.onItemFocus(p):u.preventDefault()}),onFocus:R(e.onFocus,()=>c.onItemFocus(p)),onKeyDown:R(e.onKeyDown,u=>{if(u.key==="Tab"&&u.shiftKey){c.onItemShiftTab();return}if(u.target!==u.currentTarget)return;const g=_e(u,c.orientation,c.dir);if(g!==void 0){if(u.metaKey||u.ctrlKey||u.altKey||u.shiftKey)return;u.preventDefault();let m=I().filter(b=>b.focusable).map(b=>b.ref.current);if(g==="last")m.reverse();else if(g==="prev"||g==="next"){g==="prev"&&m.reverse();const b=m.indexOf(u.currentTarget);m=c.loop?Ae(m,b+1):m.slice(b+1)}setTimeout(()=>Z(m))}}),children:typeof a=="function"?a({isCurrentTabStop:f,hasTabStop:C!=null}):a})})});q.displayName=Y;var we={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function Fe(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function _e(e,t,n){const o=Fe(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(o))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(o)))return we[o]}function Z(e,t=!1){const n=document.activeElement;for(const o of e)if(o===n||(o.focus({preventScroll:t}),document.activeElement!==n))return}function Ae(e,t){return e.map((n,o)=>e[(t+o)%e.length])}var Ne=H,Pe=q,j="Tabs",[je,Be]=G(j,[W]),J=W(),[Me,V]=je(j),Q=s.forwardRef((e,t)=>{const{__scopeTabs:n,value:o,onValueChange:r,defaultValue:i,orientation:a="horizontal",dir:l,activationMode:v="automatic",...p}=e,c=B(l),[f,I]=U({prop:o,onChange:r,defaultProp:i??"",caller:j});return d.jsx(Me,{scope:n,baseId:$(),value:f,onValueChange:I,orientation:a,dir:c,activationMode:v,children:d.jsx(_.div,{dir:c,"data-orientation":a,...p,ref:t})})});Q.displayName=j;var X="TabsList",ee=s.forwardRef((e,t)=>{const{__scopeTabs:n,loop:o=!0,...r}=e,i=V(X,n),a=J(n);return d.jsx(Ne,{asChild:!0,...a,orientation:i.orientation,dir:i.dir,loop:o,children:d.jsx(_.div,{role:"tablist","aria-orientation":i.orientation,...r,ref:t})})});ee.displayName=X;var te="TabsTrigger",oe=s.forwardRef((e,t)=>{const{__scopeTabs:n,value:o,disabled:r=!1,...i}=e,a=V(te,n),l=J(n),v=se(a.baseId,o),p=ae(a.baseId,o),c=o===a.value;return d.jsx(Pe,{asChild:!0,...l,focusable:!r,active:c,children:d.jsx(_.button,{type:"button",role:"tab","aria-selected":c,"aria-controls":p,"data-state":c?"active":"inactive","data-disabled":r?"":void 0,disabled:r,id:v,...i,ref:t,onMouseDown:R(e.onMouseDown,f=>{!r&&f.button===0&&f.ctrlKey===!1?a.onValueChange(o):f.preventDefault()}),onKeyDown:R(e.onKeyDown,f=>{[" ","Enter"].includes(f.key)&&a.onValueChange(o)}),onFocus:R(e.onFocus,()=>{const f=a.activationMode!=="manual";!c&&!r&&f&&a.onValueChange(o)})})})});oe.displayName=te;var ne="TabsContent",re=s.forwardRef((e,t)=>{const{__scopeTabs:n,value:o,forceMount:r,children:i,...a}=e,l=V(ne,n),v=se(l.baseId,o),p=ae(l.baseId,o),c=o===l.value,f=s.useRef(c);return s.useEffect(()=>{const I=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(I)},[]),d.jsx(pe,{present:r||c,children:({present:I})=>d.jsx(_.div,{"data-state":c?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":v,hidden:!I,id:p,tabIndex:0,...a,ref:t,style:{...e.style,animationDuration:f.current?"0s":void 0},children:I&&i})})});re.displayName=ne;function se(e,t){return`${e}-trigger-${t}`}function ae(e,t){return`${e}-content-${t}`}var De=Q,Oe=ee,Le=oe,ke=re;function Ue({className:e,...t}){return d.jsx(De,{"data-slot":"tabs",className:P("flex flex-col gap-2",e),...t})}function ze({className:e,...t}){return d.jsx(Oe,{"data-slot":"tabs-list",className:P("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",e),...t})}function We({className:e,...t}){return d.jsx(Le,{"data-slot":"tabs-trigger",className:P("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 cursor-pointer",e),...t})}function He({className:e,...t}){return d.jsx(ke,{"data-slot":"tabs-content",className:P("flex-1 outline-none",e),...t})}export{Ue as T,ze as a,We as b,He as c};
@@ -1 +0,0 @@
1
- import{ae as i,j as t,B as c,bn as p,bo as m,bp as u}from"./app.js";import{Icon as h}from"./icon-ButfCBrt.js";import"./jsoneditor-CBqATVR0.js";import"./vendor-DoC2WAmd.js";import"./monaco-B1uVVM7f.js";import"./handsontable-D6MvFmcM.js";function j(){const{appearance:n,updateAppearance:o}=i(),s={light:"dark",dark:"system",system:"light"},e={light:u,dark:m,system:p},a=()=>o(s[n]),r=e[n];return t.jsx(c,{variant:"ghost",size:"icon",onClick:a,className:"shrink-0",children:t.jsx(h,{iconNode:r})})}export{j as ThemeSwitcher,j as default};