adminizer 5.0.0-build.1 → 5.0.0-build.11

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 (158) hide show
  1. package/assets/add-DQE53mIb.js +1 -0
  2. package/assets/add-group-BsizwU4R.js +1 -0
  3. package/assets/add-user-BkSrCzw4.js +1 -0
  4. package/assets/ai-assistant/agent.es.js +27075 -0
  5. package/assets/app-DcWwG3m4.css +1 -0
  6. package/assets/app.js +33 -33
  7. package/assets/catalog-DPbsKvEY.js +6 -0
  8. package/assets/controls/ckeditor.es.js +267 -264
  9. package/assets/controls/jsoneditor.es.js +12973 -12888
  10. package/assets/controls/leaflet.es.js +1023 -1004
  11. package/assets/controls/toast-ui.es.js +1825 -1817
  12. package/assets/dashboard-DDbX6YWf.js +3 -0
  13. package/assets/history-DzHm8RJs.js +1 -0
  14. package/assets/list-CMymFRqO.js +4 -0
  15. package/assets/manifest.json +31 -31
  16. package/assets/module-DkFrKFpO.js +1 -0
  17. package/assets/notification-ChERJE5c.js +20 -0
  18. package/assets/user-filters-list-BytQFcmQ.js +1 -0
  19. package/assets/welcome-Daw8Hukl.js +1 -0
  20. package/assets/with-app-layout-0iXcLqi5.js +1 -0
  21. package/controllers/ai/AiAgentController.d.ts +66 -0
  22. package/controllers/ai/AiAgentController.js +432 -0
  23. package/controllers/ai/AiAssistantController.d.ts +0 -4
  24. package/controllers/ai/AiAssistantController.js +0 -75
  25. package/controllers/catalog/FrontendCatalogAdapter.d.ts +1 -1
  26. package/controllers/catalog/FrontentCatalogAdapter.d.ts +1 -1
  27. package/controllers/feedback/feedbackController.d.ts +1 -1
  28. package/controllers/history-actions/HistoryController.d.ts +1 -1
  29. package/controllers/media-manager/mediaManagerAdapter.d.ts +1 -1
  30. package/helpers/accessRightsHelper.d.ts +3 -3
  31. package/helpers/configHelper.d.ts +3 -3
  32. package/helpers/configHelper.js +8 -1
  33. package/helpers/controllerHelper.d.ts +2 -2
  34. package/helpers/fieldsHelper.d.ts +2 -2
  35. package/helpers/filterDatetimeHelper.d.ts +1 -1
  36. package/helpers/inertiaActionsHelper.d.ts +2 -2
  37. package/helpers/inertiaAddHelper.d.ts +4 -4
  38. package/helpers/inertiaGroupHelper.d.ts +3 -3
  39. package/helpers/inertiaListHelper.d.ts +3 -3
  40. package/helpers/inertiaMenuHelper.d.ts +2 -2
  41. package/helpers/inertiaUserHelper.d.ts +3 -3
  42. package/helpers/menuHelper.d.ts +2 -2
  43. package/helpers/translationHelper.d.ts +2 -2
  44. package/index.d.ts +60 -58
  45. package/index.js +2 -0
  46. package/interfaces/adminpanelConfig.d.ts +4 -4
  47. package/interfaces/global.d.ts +6 -6
  48. package/interfaces/internalModelAccess.d.ts +1 -1
  49. package/interfaces/listQueryBuilder.d.ts +1 -1
  50. package/interfaces/types.d.ts +116 -2
  51. package/lib/Adminizer.d.ts +38 -26
  52. package/lib/Adminizer.js +19 -1
  53. package/lib/DataAccessor.d.ts +6 -6
  54. package/lib/DataAccessor.js +5 -1
  55. package/lib/MiddlewareManager.d.ts +1 -1
  56. package/lib/access-rights/AccessRightsHandler.d.ts +2 -2
  57. package/lib/ai-assistant/AbstractAiConversationHistoryService.d.ts +39 -0
  58. package/lib/ai-assistant/AbstractAiConversationHistoryService.js +98 -0
  59. package/lib/ai-assistant/AbstractAiModelService.d.ts +99 -3
  60. package/lib/ai-assistant/AbstractAiModelService.js +95 -1
  61. package/lib/ai-assistant/AiAgentRunManager.d.ts +35 -0
  62. package/lib/ai-assistant/AiAgentRunManager.js +109 -0
  63. package/lib/ai-assistant/AiAssistantHandler.d.ts +16 -5
  64. package/lib/ai-assistant/AiAssistantHandler.js +35 -1
  65. package/lib/app-manager/AdminizerApp.d.ts +10 -10
  66. package/lib/app-manager/AppManager.d.ts +2 -2
  67. package/lib/app-manager/AppManager.js +11 -8
  68. package/lib/app-manager/AssetHandler.d.ts +2 -2
  69. package/lib/app-manager/ConfigLayerHandler.d.ts +2 -2
  70. package/lib/app-manager/ControllerHandler.d.ts +2 -2
  71. package/lib/catalog/AbstractCatalog.d.ts +1 -1
  72. package/lib/catalog/CatalogHandler.d.ts +1 -1
  73. package/lib/controls/ControlsHandler.d.ts +1 -1
  74. package/lib/controls/codeEditor/MonacoEditor.d.ts +1 -1
  75. package/lib/controls/geojsoneditor/GeoEditor.d.ts +1 -1
  76. package/lib/controls/jsoneditor/JsonEditor.d.ts +1 -1
  77. package/lib/controls/markdown/ToastUiEditor.d.ts +1 -1
  78. package/lib/controls/table/Handsontable.d.ts +1 -1
  79. package/lib/controls/wysiwyg/CKeditor.d.ts +1 -1
  80. package/lib/feedback/FeedbackHandler.d.ts +2 -2
  81. package/lib/filters/ConditionValidator.d.ts +1 -1
  82. package/lib/filters/FilterCustomFieldHandler.d.ts +2 -2
  83. package/lib/filters/FilterService.d.ts +4 -4
  84. package/lib/filters/index.d.ts +6 -6
  85. package/lib/history-actions/AbstractHistoryAdapter.d.ts +6 -6
  86. package/lib/history-actions/DefaultHistoryAdapter.d.ts +4 -4
  87. package/lib/history-actions/HistoryHandler.d.ts +1 -1
  88. package/lib/list-query-builder/ListQueryBuilder.d.ts +7 -7
  89. package/lib/media-manager/AbstractMediaManager.d.ts +2 -2
  90. package/lib/media-manager/MediaManagerHandler.d.ts +1 -1
  91. package/lib/media-manager/Thumb.d.ts +1 -1
  92. package/lib/media-manager/helpers/MediaManagerHelper.d.ts +5 -5
  93. package/lib/model/AbstractModel.d.ts +9 -4
  94. package/lib/model/InternalModelAccessFactory.d.ts +2 -2
  95. package/lib/model/ModelHandler.d.ts +3 -3
  96. package/lib/model/adapter/sequelize.d.ts +7 -5
  97. package/lib/model/adapter/sequelize.js +79 -46
  98. package/lib/model/adapter/typeorm.d.ts +2 -2
  99. package/lib/model/adapter/typeorm.js +1 -1
  100. package/lib/model/internalModelRepository.d.ts +2 -2
  101. package/lib/notifications/AbstractNotificationService.d.ts +4 -4
  102. package/lib/notifications/GeneralNotificationService.d.ts +2 -2
  103. package/lib/notifications/GeneralNotificationService.js +5 -4
  104. package/lib/notifications/NotificationHandler.d.ts +2 -2
  105. package/lib/notifications/SystemNotificationService.d.ts +2 -2
  106. package/lib/requestProcessor.d.ts +1 -1
  107. package/lib/widgets/abstractAction.d.ts +1 -1
  108. package/lib/widgets/abstractCustom.d.ts +2 -2
  109. package/lib/widgets/abstractInfo.d.ts +1 -1
  110. package/lib/widgets/abstractLink.d.ts +2 -2
  111. package/lib/widgets/abstractSwitch.d.ts +1 -1
  112. package/lib/widgets/abstractWidgetBase.d.ts +1 -1
  113. package/lib/widgets/widgetHandler.d.ts +9 -9
  114. package/models/Filter.d.ts +1 -1
  115. package/models/FilterColumn.d.ts +1 -1
  116. package/models/Group.d.ts +1 -1
  117. package/models/HistoryActions.d.ts +1 -1
  118. package/models/MediaManagerAP.d.ts +2 -2
  119. package/models/MediaManagerAssociationsAP.d.ts +1 -1
  120. package/models/MediaManagerMetaAP.d.ts +1 -1
  121. package/models/User.d.ts +2 -2
  122. package/models/UserNotification.d.ts +1 -1
  123. package/package.json +27 -20
  124. package/services/FeedService.d.ts +3 -3
  125. package/system/Router.d.ts +1 -1
  126. package/system/Router.js +24 -1
  127. package/system/bindAccessRights.d.ts +1 -1
  128. package/system/bindAuthorization.d.ts +1 -1
  129. package/system/bindControls.d.ts +1 -1
  130. package/system/bindCors.d.ts +1 -1
  131. package/system/bindCustomFilterHandlers.d.ts +1 -1
  132. package/system/bindDashboardWidgets.d.ts +1 -1
  133. package/system/bindDev.d.ts +1 -1
  134. package/system/bindHistory.d.ts +1 -1
  135. package/system/bindInertia.d.ts +1 -1
  136. package/system/bindMediaManager.d.ts +1 -1
  137. package/system/bindNotifications.d.ts +1 -1
  138. package/system/bindReqFunctions.d.ts +1 -1
  139. package/system/bindTranslations.d.ts +1 -1
  140. package/system/buildInternalModelAccess.d.ts +3 -3
  141. package/system/defaults.d.ts +1 -1
  142. package/system/routePolicies.d.ts +1 -1
  143. package/system/systemModelContracts.d.ts +1 -1
  144. package/system/systemModelContracts.js +11 -7
  145. package/system/validateSystemModels.d.ts +1 -1
  146. package/assets/add-De0wyF0A.js +0 -1
  147. package/assets/add-group-CMWybgIR.js +0 -1
  148. package/assets/add-user-BxP23daH.js +0 -1
  149. package/assets/app-CtWuWD5N.css +0 -1
  150. package/assets/app-layout-GYMU2HO1.js +0 -1
  151. package/assets/catalog-tImW1BnS.js +0 -6
  152. package/assets/dashboard-CQ4atH3N.js +0 -3
  153. package/assets/history-BileQPEi.js +0 -1
  154. package/assets/list-Pz_5mfSq.js +0 -4
  155. package/assets/module-CQiOdgZN.js +0 -1
  156. package/assets/notification-BIyv1smE.js +0 -20
  157. package/assets/user-filters-list-Aq8CvCeh.js +0 -1
  158. package/assets/welcome-DxhWYzUL.js +0 -1
@@ -0,0 +1 @@
1
+ import{u as e,r as a,t,j as r,q as c,A as u}from"./app.js";import{w as p}from"./with-app-layout-0iXcLqi5.js";import"./use-appearance-_EbbjHTh.js";const f=[];function n(){const o=e();return a.useEffect(()=>{const s=o.props.flash;s&&(s.success&&t.success(s.success),s.error&&t.error(s.error))},[o.props.flash]),r.jsxs(r.Fragment,{children:[r.jsx(c,{position:"top-center",richColors:!0,closeButton:!0}),r.jsx(u,{page:o,catalog:!1})]})}const d=p(n,{breadcrumbs:f,className:"overflow-auto h-[calc(100svh-16px)]"});export{d as default};
@@ -0,0 +1 @@
1
+ import{u as N,a as C,r as x,j as e,B as u,L as k,I as b,M as w,b as F,c as h,d as j,C as T,T as y,e as L,f as E,g as I,h as B}from"./app.js";import{w as D}from"./with-app-layout-0iXcLqi5.js";import"./use-appearance-_EbbjHTh.js";const g=x.memo(({field:s,disabled:p,value:c,onCheckedChange:i,tooltip:t})=>{const m=x.useCallback(l=>{i(s.name,l)},[s.name,i]);return e.jsxs("div",{className:"flex gap-3 items-center",children:[e.jsx(T,{id:s.name,className:"cursor-pointer size-5",disabled:p,checked:c,onCheckedChange:m}),e.jsxs("div",{className:"flex gap-3",children:[e.jsx(h,{className:"cursor-pointer",htmlFor:s.name,children:s.label}),t&&e.jsx(y,{children:e.jsxs(L,{children:[e.jsx(E,{onClick:l=>l.preventDefault(),children:e.jsx(b,{iconNode:I,className:"text-primary w-5 h-5 cursor-pointer"})}),e.jsx(B,{align:"center",side:"top",children:e.jsx("p",{children:s.tooltip})})]})})]})]})});function A(){const s=N(),{fields:p,groupedTokens:c,users:i}=s.props,{data:t,setData:m,clearErrors:l,post:v,processing:o}=C({...Object.fromEntries(p.map(a=>[a.name,a.value])),...Object.fromEntries(i.map(a=>[a.name,a.value])),...Object.fromEntries(c.flatMap(a=>a.fields.map(n=>[n.name,n.value])))}),r=a=>s.props.fields.find(n=>n.name===a),d=x.useCallback((a,n)=>{l(),m(a,n)},[]),f=a=>{a.preventDefault(),v(s.props.postLink)};return e.jsxs("div",{className:"flex h-full flex-1 flex-col gap-4 rounded-xl p-4",children:[e.jsxs("div",{className:"w-full sticky z-[1001] py-4 pb-8 top-0 h-fit bg-background flex gap-4",children:[e.jsx(u,{className:"mb-3 w-fit",asChild:!0,children:e.jsxs(k,{href:s.props.btnBack.link,children:[e.jsx(b,{iconNode:w}),s.props.btnBack.title]})}),e.jsxs(u,{variant:"green",type:"submit",className:"w-fit",form:"addUserForm",disabled:o||s.props.view,children:[o&&e.jsx(F,{className:"h-4 w-4 animate-spin"}),s.props.btnSave.title]})]}),e.jsx("form",{id:"addUserForm",onSubmit:f,className:`${s.props.view?"cursor-not-allowed":""}`,children:e.jsxs("div",{className:"flex flex-col gap-6 max-w-[1144px]",children:[e.jsx("h2",{className:"font-bold text-xl",children:s.props.head}),e.jsxs("div",{className:"grid gap-4",children:[e.jsx(h,{htmlFor:r("name")?.name,children:r("name")?.label}),e.jsx(j,{id:r("name")?.name,type:"text",required:!0,tabIndex:1,autoComplete:r("name")?.name,value:t.name,onChange:a=>d("name",a.target.value),disabled:o||s.props.view,placeholder:r("name")?.label})]}),e.jsxs("div",{className:"grid gap-4",children:[e.jsx(h,{htmlFor:r("description")?.name,children:r("description")?.label}),e.jsx(j,{id:r("description")?.name,type:"text",required:!0,tabIndex:1,autoComplete:r("description")?.name,value:t.description,onChange:a=>d("description",a.target.value),disabled:o||s.props.view,placeholder:r("description")?.label})]}),s.props.users.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("h2",{className:"font-bold text-xl",children:s.props.userHead}),s.props.users.map(a=>e.jsx(g,{field:a,disabled:o||s.props.view,value:t[a.name],onCheckedChange:d},a.name))]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-3 xl:grid-cols-4 gap-4",children:s.props.groupedTokens?.length>0&&s.props.groupedTokens.map(a=>e.jsxs("div",{className:"grid gap-4 content-start justify-between",children:[e.jsx("h2",{className:"font-bold text-xl mt-3",children:a.header}),a.fields.map(n=>e.jsx(g,{field:n,disabled:o||s.props.view,value:t[n.name],onCheckedChange:d,tooltip:!0},n.name))]},a.header))})]})})]})}const G=[];function M(){return e.jsx(A,{})}const P=D(M,{breadcrumbs:G});export{P as default};
@@ -0,0 +1 @@
1
+ import{u as B,r as m,a as M,j as e,B as d,L as j,I as f,M as H,b as O,c as n,d as c,S as w,i as b,k as v,l as N,m as y,C as g,T as Y,e as $,f as _,g as G,h as J,n as Q,K as W,o as X,R as Z,p as C,t as h}from"./app.js";import{M as ee,w as se}from"./with-app-layout-0iXcLqi5.js";import"./use-appearance-_EbbjHTh.js";function ae(){const l=B(),[k,P]=m.useState(),{fields:A,groups:F,auth:I}=l.props,[p,U]=m.useState(!1),[x,z]=m.useState(l.props.apiKey),[K,u]=m.useState(!1),{data:r,setData:S,errors:R,setError:T,clearErrors:L,post:E,processing:i}=M({...Object.fromEntries(A.map(s=>[s.name,s.value])),...Object.fromEntries(F.map(s=>[s.name,s.value]))});m.useEffect(()=>{(async()=>{const o=await C.get(`${window.routePrefix}/get-timezones`);P(o.data.timezones)})()},[]);const a=s=>l.props.fields.find(o=>o.name===s),D=s=>{if(s.preventDefault(),r.userPassword!==r.repeatUserPassword){T("repeatUserPassword",l.props.passwordError);return}E(l.props.postLink)},t=(s,o)=>{L(),S(s,o)},q=async()=>{try{const s=await C.post(`${window.routePrefix}/api/user-key/regenerate`);z(s.data.apiKey),h.success("User API key regenerated")}catch(s){console.error("Failed to regenerate user API key:",s),h.error("Failed to regenerate user API key")}u(!1)},V=async()=>{if(x)try{await navigator.clipboard.writeText(x),h.success("API key copied to clipboard")}catch{h.error("Failed to copy")}};return e.jsxs("div",{className:"flex h-full flex-1 flex-col gap-4 rounded-xl p-4",children:[e.jsxs("div",{className:"w-full sticky z-[1001] py-4 pb-8 top-0 h-fit bg-background flex gap-4",children:[e.jsx(d,{className:"mb-3 w-fit",asChild:!0,children:e.jsxs(j,{href:l.props.btnBack.link,children:[e.jsx(f,{iconNode:H}),l.props.btnBack.title]})}),e.jsxs(d,{variant:"green",type:"submit",className:"w-fit",form:"addUserForm",disabled:i||l.props.view,children:[i&&e.jsx(O,{className:"h-4 w-4 animate-spin"}),l.props.btnSave.title]})]}),e.jsx("form",{id:"addUserForm",onSubmit:D,className:l.props.view?"cursor-not-allowed":"",children:e.jsxs("div",{className:"flex flex-col gap-10 max-w-[1144px]",children:[e.jsx("h2",{className:"font-bold text-xl",children:l.props.head}),e.jsxs("div",{className:"flex-col xl:flex-row flex gap-16",children:[e.jsxs("div",{className:"basis-1/2 flex flex-col gap-6",children:[e.jsxs("div",{className:"grid gap-4",children:[e.jsx(n,{htmlFor:a("login")?.name,children:a("login")?.label}),e.jsx(c,{id:a("login")?.name,type:"text",required:!0,tabIndex:1,autoComplete:"username",value:r.login,onChange:s=>t("login",s.target.value),disabled:i||l.props.view,placeholder:a("login")?.label})]}),e.jsxs("div",{className:"grid gap-4",children:[e.jsx(n,{htmlFor:a("fullName")?.name,children:a("fullName")?.label}),e.jsx(c,{id:a("fullName")?.name,type:"text",required:!0,tabIndex:1,autoComplete:"additional-name",value:r.fullName,onChange:s=>t("fullName",s.target.value),disabled:i||l.props.view,placeholder:a("fullName")?.label})]}),e.jsxs("div",{className:"grid gap-4",children:[e.jsx(n,{htmlFor:a("email")?.name,children:a("email")?.label}),e.jsx(c,{id:a("email")?.name,type:"email",required:!0,tabIndex:1,autoComplete:"email",value:r.email,onChange:s=>t("email",s.target.value),disabled:i||l.props.view,placeholder:a("email")?.label})]})]}),e.jsxs("div",{className:"basis-1/2 flex flex-col gap-6",children:[e.jsxs("div",{className:"grid gap-4",children:[e.jsx(n,{htmlFor:a("timezone")?.name,children:a("timezone")?.label}),e.jsxs(w,{onValueChange:s=>t("timezone",s),defaultValue:r.timezone,disabled:i||l.props.view,children:[e.jsx(b,{className:"w-full cursor-pointer",children:e.jsx(v,{placeholder:a("timezone")?.name})}),e.jsx(N,{children:(k??[]).map(s=>e.jsx(y,{value:s.value,children:s.label},s.value))})]})]}),e.jsxs("div",{className:"flex flex-col md:flex-row justify-start gap-4 xl:justify-between items-start md:items-center",children:[a("date")&&e.jsxs("div",{className:"grid gap-4",children:[e.jsx(n,{htmlFor:a("date")?.name,children:a("date")?.label}),e.jsx(c,{id:a("date")?.name,type:"date",className:"max-w-fit",tabIndex:1,value:r.date,onChange:s=>t("date",s.target.value),disabled:i})]}),e.jsxs("div",{className:"flex gap-6",children:[a("isAdmin")&&e.jsxs("div",{className:"grid gap-4",children:[e.jsx(n,{className:"cursor-pointer",htmlFor:a("isAdmin")?.name,children:a("isAdmin")?.label}),e.jsx(g,{id:a("isAdmin")?.name,className:"cursor-pointer size-5",disabled:i||l.props.view,checked:r.isAdmin,onCheckedChange:s=>t("isAdmin",s)})]}),a("isConfirmed")&&e.jsxs("div",{className:"grid gap-4",children:[e.jsx(n,{className:"cursor-pointer",htmlFor:a("isConfirmed")?.name,children:a("isConfirmed")?.label}),e.jsx(g,{id:a("isConfirmed")?.name,className:"cursor-pointer size-5",disabled:i||l.props.view,checked:r.isConfirmed,onCheckedChange:s=>t("isConfirmed",s)})]})]})]}),a("locale")&&e.jsxs("div",{className:"grid gap-4",children:[e.jsx(n,{htmlFor:a("locale")?.name,children:a("locale")?.label}),e.jsxs(w,{onValueChange:s=>t("locale",s),defaultValue:r.locale,disabled:i||l.props.view,children:[e.jsx(b,{className:"w-full cursor-pointer",children:e.jsx(v,{placeholder:a("locale")?.name})}),e.jsx(N,{children:(l.props.locales??[]).map(s=>e.jsx(y,{value:s.value,children:s.label},s.value))})]})]})]})]}),I.user.isAdministrator&&e.jsx(d,{className:"w-fit",asChild:!0,variant:"outline",children:e.jsxs(j,{href:l.props.userPretend.postLink,method:"post",data:{login:r.login,pretend:!0},children:[e.jsx(ee,{name:"masks",className:"!text-[18px]"}),l.props.userPretend.label]})}),e.jsxs("div",{className:"flex gap-3",children:[e.jsx("label",{className:"font-bold text-xl",children:a("userPassword")?.label}),e.jsx(Y,{children:e.jsxs($,{children:[e.jsx(_,{onClick:s=>s.preventDefault(),children:e.jsx(f,{iconNode:G,className:"text-primary w-5 h-5 cursor-pointer"})}),e.jsx(J,{align:"center",side:"top",children:e.jsx("p",{children:a("userPassword")?.tooltip})})]})})]}),e.jsxs("div",{className:"grid grid-col-1 lg:grid-cols-2 grid-rows-2 gap-x-16 gap-y-6",children:[e.jsxs("div",{className:"grid gap-4 col-span-1",children:[e.jsx(n,{htmlFor:a("userPassword")?.name,children:a("userPassword")?.label}),e.jsx(c,{id:a("userPassword")?.name,type:"password",required:!l.props.edit,tabIndex:1,autoComplete:"new-password",value:r.password,onChange:s=>t("userPassword",s.target.value),disabled:i||l.props.view,placeholder:a("userPassword")?.label})]}),e.jsxs("div",{className:"grid gap-4 col-span-1 col-start-1",children:[e.jsx(n,{htmlFor:a("repeatUserPassword")?.name,children:a("repeatUserPassword")?.label}),e.jsx(c,{id:a("repeatUserPassword")?.name,type:"password",required:!l.props.edit,tabIndex:1,autoComplete:"new-password",value:r.repeatUserPassword,onChange:s=>t("repeatUserPassword",s.target.value),disabled:i||l.props.view,placeholder:a("repeatUserPassword")?.label}),e.jsx(Q,{message:R.repeatUserPassword})]})]}),l.props.groups.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("h2",{className:"font-bold text-xl",children:l.props.groupHead}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-5 xl:grid-cols-6 gap-4",children:l.props.groups.map(s=>e.jsxs("div",{className:"grid gap-4",children:[e.jsx(n,{className:"cursor-pointer",htmlFor:s.name,children:s.label}),e.jsx(g,{id:s.name,disabled:i||l.props.view,className:"cursor-pointer size-5",checked:r[s.name],onCheckedChange:o=>t(s.name,o)})]},s.name))})]}),l.props.edit&&!l.props.view&&e.jsxs(e.Fragment,{children:[e.jsxs("h2",{className:"font-bold text-xl flex items-center gap-2",children:[e.jsx(W,{className:"w-5 h-5"}),"User API Key (for feeds)"]}),e.jsxs("div",{className:"flex flex-col gap-4",children:[x&&e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("code",{className:"flex-1 text-sm bg-muted px-3 py-2 rounded font-mono truncate",children:p?x:"••••••••••••••••••••••••"}),e.jsx(d,{variant:"outline",size:"sm",type:"button",onClick:()=>U(!p),children:p?"Hide":"Show"}),p&&e.jsx(d,{variant:"outline",size:"sm",type:"button",onClick:V,children:e.jsx(X,{className:"w-4 h-4"})})]}),e.jsxs(d,{variant:"outline",size:"sm",type:"button",className:"w-fit",onClick:()=>u(!0),children:[e.jsx(Z,{className:"w-4 h-4 mr-2"}),"Regenerate User API Key"]}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Regenerating this key will invalidate all existing feed URLs. You will need to update the ",e.jsx("code",{className:"bg-muted px-1 text-xs",children:"?userKey="})," parameter in all feed links."]})]})]}),K&&e.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",children:e.jsxs("div",{className:"bg-background rounded-lg shadow-lg max-w-md w-full p-6",children:[e.jsx("h3",{className:"text-lg font-semibold mb-2",children:"Regenerate User API Key"}),e.jsx("p",{className:"text-sm text-muted-foreground mb-4",children:"This will invalidate all existing feed URLs. You will need to update them with the new userKey."}),e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx(d,{variant:"outline",type:"button",onClick:()=>u(!1),children:"Cancel"}),e.jsx(d,{variant:"destructive",type:"button",onClick:q,children:"Regenerate"})]})]})})]})})]})}const le=[];function re(){return e.jsx(ae,{})}const de=se(re,{breadcrumbs:le});export{de as default};