@blinkk/root-cms 3.0.5 → 3.1.1

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 (155) hide show
  1. package/README.md +77 -0
  2. package/dist/app.js +7 -4
  3. package/dist/browser-client/browser-client.d.ts +148 -0
  4. package/dist/browser-client/embed-window.d.ts +66 -0
  5. package/dist/browser-client/emitter.d.ts +11 -0
  6. package/dist/browser-client.js +377 -0
  7. package/dist/{chunk-RXWDB3K4.js → chunk-4VZTYUQ7.js} +1 -1
  8. package/dist/{chunk-N4K6ICFR.js → chunk-AFBSITEO.js} +4 -6
  9. package/dist/{chunk-PNLLZXVY.js → chunk-AJDMNTZQ.js} +2 -2
  10. package/dist/{chunk-VSPPZPMP.js → chunk-GXV4UQ6Z.js} +15 -11
  11. package/dist/chunk-J72JK4KR.js +8 -0
  12. package/dist/cli.js +2 -1
  13. package/dist/client.js +2 -1
  14. package/dist/core/client.d.ts +5 -0
  15. package/dist/core/plugin.d.ts +17 -0
  16. package/dist/core.js +4 -2
  17. package/dist/functions.js +4 -3
  18. package/dist/plugin.js +16 -4
  19. package/dist/shared/embed-protocol.d.ts +72 -0
  20. package/dist/ui/AIPage-EL6DQYII.js +1 -0
  21. package/dist/ui/AssetsPage-5S6PNMF6.js +1 -0
  22. package/dist/ui/CollectionPage-CU3VDEXA.js +1 -0
  23. package/dist/ui/ComparePage-FTZLYO2O.js +1 -0
  24. package/dist/ui/DataPage-XIXFKXDN.js +1 -0
  25. package/dist/ui/DataSourcePage-ORIEQH3Y.js +1 -0
  26. package/dist/ui/DocTranslationsPage-4OVBIPSG.js +1 -0
  27. package/dist/ui/DocumentPage-3JPFJF3E.js +1 -0
  28. package/dist/ui/EditDataSourcePage-HIGZZQJC.js +1 -0
  29. package/dist/ui/EditReleasePage-KUHBU2HQ.js +1 -0
  30. package/dist/ui/EmbeddedAIPage-CJWZE5FC.js +1 -0
  31. package/dist/ui/EmbeddedDocumentPage-6XQHYIAO.js +1 -0
  32. package/dist/ui/{ImageEditorDialog-4H665KK2.js → ImageEditorDialog-GGS4VFEA.js} +2 -2
  33. package/dist/ui/LogsPage-4DVGYXZY.js +1 -0
  34. package/dist/ui/NewDataSourcePage-7TUUE6ZL.js +1 -0
  35. package/dist/ui/NewReleasePage-6UT36HDW.js +1 -0
  36. package/dist/ui/NotFoundPage-AW6UC6II.js +1 -0
  37. package/dist/ui/ProjectPage-US5FJGFK.js +1 -0
  38. package/dist/ui/ReleasePage-W2R3DIFX.js +1 -0
  39. package/dist/ui/ReleasesPage-HBBUGE7D.js +1 -0
  40. package/dist/ui/SettingsPage-7JQQILUV.js +1 -0
  41. package/dist/ui/SidebarToolsPage-MIYXKHF2.js +1 -0
  42. package/dist/ui/TaskPage-JYUQEGRB.js +1 -0
  43. package/dist/ui/TasksPage-4VFQF243.js +1 -0
  44. package/dist/ui/TranslationsArbPage-AJLM5VSD.js +2 -0
  45. package/dist/ui/TranslationsEditPage-RTTGTIGI.js +1 -0
  46. package/dist/ui/{TranslationsPage-WIDVSTYF.js → TranslationsPage-HPYAJQ4Q.js} +31 -31
  47. package/dist/ui/{ai-tools-5E5ELLZX.js → ai-tools-4DWMFQS6.js} +1 -1
  48. package/dist/ui/{chunk-JYFLU7DM.js → chunk-2KSMCQ6H.js} +2 -2
  49. package/dist/ui/{chunk-HKINZLMW.js → chunk-344GZOGG.js} +45 -45
  50. package/dist/ui/{chunk-CGCKJFL4.js → chunk-3E6CASIN.js} +1 -1
  51. package/dist/ui/chunk-3T4ZWQR4.js +7 -0
  52. package/dist/ui/chunk-4ISFTE2G.js +5 -0
  53. package/dist/ui/chunk-5AVRMJVW.js +1 -0
  54. package/dist/ui/chunk-764W6634.js +1 -0
  55. package/dist/ui/chunk-76ZGLKLT.js +1 -0
  56. package/dist/ui/{chunk-SKEP5WYH.js → chunk-7SK47HHZ.js} +3 -3
  57. package/dist/ui/chunk-AZCGXQTL.js +1 -0
  58. package/dist/ui/{chunk-W3BJ2EZX.js → chunk-B6M55OFE.js} +1 -1
  59. package/dist/ui/{chunk-KYDOSLTO.js → chunk-CAY5NM4Z.js} +1 -1
  60. package/dist/ui/{chunk-4KE2SZKH.js → chunk-D3UIZHRK.js} +1 -1
  61. package/dist/ui/chunk-E76ECIOX.js +81 -0
  62. package/dist/ui/chunk-FBSBL476.js +1 -0
  63. package/dist/ui/chunk-FFHV5S6A.js +1 -0
  64. package/dist/ui/{chunk-X2WHBGTP.js → chunk-FJLNXXE3.js} +1 -1
  65. package/dist/ui/chunk-FSVNOZ6F.js +1 -0
  66. package/dist/ui/{chunk-BZIRGB4W.js → chunk-GDXNSFLE.js} +1 -1
  67. package/dist/ui/{chunk-C5NH23G4.js → chunk-GQ5IRK43.js} +1 -1
  68. package/dist/ui/{chunk-DEGMKEHP.js → chunk-GU24U5RM.js} +1 -1
  69. package/dist/ui/{chunk-HRGYNHZ3.js → chunk-HARRKJFZ.js} +1 -1
  70. package/dist/ui/{chunk-PHBMVORG.js → chunk-HO3W4RVG.js} +1 -1
  71. package/dist/ui/{chunk-62UWGWON.js → chunk-J5E457OI.js} +1 -1
  72. package/dist/ui/{chunk-W3HIZQ4Z.js → chunk-JS6TK4OP.js} +1 -1
  73. package/dist/ui/{chunk-54DVDYU6.js → chunk-JTIQBW33.js} +1 -1
  74. package/dist/ui/{chunk-ORXEMIQC.js → chunk-KRNQ6L35.js} +1 -1
  75. package/dist/ui/chunk-LROR6N3B.js +7 -0
  76. package/dist/ui/{chunk-NZHF733K.js.LEGAL.txt → chunk-LROR6N3B.js.LEGAL.txt} +6 -1
  77. package/dist/ui/{chunk-E2RCCK2T.js → chunk-M3T56ZRP.js} +1 -1
  78. package/dist/ui/chunk-MXGHX55S.js +141 -0
  79. package/dist/ui/{chunk-KFAZBEPV.js → chunk-MZTOPPWQ.js} +1 -1
  80. package/dist/ui/{chunk-JHBAMPGB.js → chunk-N3JSLTMV.js} +1 -1
  81. package/dist/ui/{chunk-L4RHGQUG.js → chunk-NSOTG64N.js} +1 -1
  82. package/dist/ui/{chunk-HLMBCVRX.js → chunk-O5P3CPJ4.js} +1 -1
  83. package/dist/ui/chunk-OWQL5DVE.js +1 -0
  84. package/dist/ui/{chunk-P3NETZZP.js → chunk-OXVYTSIZ.js} +1 -1
  85. package/dist/ui/chunk-P2Z66DHV.js +1 -0
  86. package/dist/ui/chunk-QEE7XS6O.js +1 -0
  87. package/dist/ui/chunk-QHJOTXYB.js +1 -0
  88. package/dist/ui/{chunk-3IYZCUPI.js → chunk-R6B3W5AJ.js} +1 -1
  89. package/dist/ui/{chunk-QGBR3J2Y.js → chunk-RAXWL656.js} +1 -1
  90. package/dist/ui/chunk-SRX7EWL4.js +1 -0
  91. package/dist/ui/chunk-TDUBSLEC.js +1 -0
  92. package/dist/ui/chunk-TFB3VGWP.js +1 -0
  93. package/dist/ui/{chunk-767BAQ53.js → chunk-U7PWJV6F.js} +1 -1
  94. package/dist/ui/{chunk-PWKJDYE2.js → chunk-UUVAD4U4.js} +1 -1
  95. package/dist/ui/chunk-V4CTOC6E.js +1 -0
  96. package/dist/ui/{chunk-EGEB6N4J.js → chunk-VD6G5NV4.js} +11 -11
  97. package/dist/ui/chunk-W5DOO6ID.js +1 -0
  98. package/dist/ui/{chunk-HHMG665Z.js → chunk-WFQU7V3W.js} +1 -1
  99. package/dist/ui/{chunk-SQRKKWRG.js → chunk-WKF7CSWS.js} +1 -1
  100. package/dist/ui/{chunk-4W73RW5I.js → chunk-WXT7LTQM.js} +1 -1
  101. package/dist/ui/{chunk-VMT7JFAM.js → chunk-XT5FNJCX.js} +1 -1
  102. package/dist/ui/chunk-YLSRRNSE.js +1 -0
  103. package/dist/ui/chunk-ZN2Y5OUF.js +3 -0
  104. package/dist/ui/gcs-ECSDFCIU.js +1 -0
  105. package/dist/ui/ui.css +1 -1
  106. package/dist/ui/ui.js +1 -1
  107. package/package.json +14 -10
  108. package/dist/ui/AIPage-F3NNYM5E.js +0 -1
  109. package/dist/ui/AssetsPage-DZQHAENZ.js +0 -1
  110. package/dist/ui/CollectionPage-WVVG62NR.js +0 -1
  111. package/dist/ui/ComparePage-CRDHP45W.js +0 -1
  112. package/dist/ui/DataPage-WMLBCPGF.js +0 -1
  113. package/dist/ui/DataSourcePage-POZAQFPU.js +0 -1
  114. package/dist/ui/DocTranslationsPage-UR5D2RF2.js +0 -1
  115. package/dist/ui/DocumentPage-SQ7ROBMC.js +0 -1
  116. package/dist/ui/EditDataSourcePage-PUA2AJ4C.js +0 -1
  117. package/dist/ui/EditReleasePage-CENP46EO.js +0 -1
  118. package/dist/ui/LogsPage-FZRN6MBJ.js +0 -1
  119. package/dist/ui/NewDataSourcePage-FTILYFJY.js +0 -1
  120. package/dist/ui/NewReleasePage-MHJC66KK.js +0 -1
  121. package/dist/ui/NotFoundPage-EP2OE4JV.js +0 -1
  122. package/dist/ui/ProjectPage-6J7QCG75.js +0 -1
  123. package/dist/ui/ReleasePage-IZ3DNGT4.js +0 -1
  124. package/dist/ui/ReleasesPage-RWFOJ5VG.js +0 -1
  125. package/dist/ui/SettingsPage-M4SIDBTI.js +0 -1
  126. package/dist/ui/SidebarToolsPage-GAX3XJ7W.js +0 -1
  127. package/dist/ui/TaskPage-UCATTNZ5.js +0 -1
  128. package/dist/ui/TasksPage-4AQLQ4IT.js +0 -1
  129. package/dist/ui/TranslationsArbPage-JGQGATCS.js +0 -2
  130. package/dist/ui/TranslationsEditPage-7AGZGHKS.js +0 -1
  131. package/dist/ui/chunk-7MTDTPYB.js +0 -1
  132. package/dist/ui/chunk-7UIUAHC4.js +0 -1
  133. package/dist/ui/chunk-AEWL2RWR.js +0 -141
  134. package/dist/ui/chunk-AFWBSIPL.js +0 -1
  135. package/dist/ui/chunk-AL3TN2KI.js +0 -1
  136. package/dist/ui/chunk-DUJYIOLE.js +0 -5
  137. package/dist/ui/chunk-I6ICVKEC.js +0 -1
  138. package/dist/ui/chunk-JKCZGT6B.js +0 -1
  139. package/dist/ui/chunk-JZFTZ4X4.js +0 -87
  140. package/dist/ui/chunk-KKEWCXVV.js +0 -1
  141. package/dist/ui/chunk-NZHF733K.js +0 -7
  142. package/dist/ui/chunk-ONTGW2VA.js +0 -1
  143. package/dist/ui/chunk-P4U2LUTF.js +0 -1
  144. package/dist/ui/chunk-PJA7YP4A.js +0 -1
  145. package/dist/ui/chunk-RSVO46S3.js +0 -1
  146. package/dist/ui/chunk-TJBVMFNQ.js +0 -1
  147. package/dist/ui/chunk-XOQ3KDSR.js +0 -3
  148. package/dist/ui/chunk-YFA6U2CV.js +0 -1
  149. package/dist/ui/gcs-L33FIRZU.js +0 -1
  150. /package/dist/ui/{ImageEditorDialog-4H665KK2.js.LEGAL.txt → ImageEditorDialog-GGS4VFEA.js.LEGAL.txt} +0 -0
  151. /package/dist/ui/{chunk-SKEP5WYH.js.LEGAL.txt → chunk-7SK47HHZ.js.LEGAL.txt} +0 -0
  152. /package/dist/ui/{chunk-JZFTZ4X4.js.LEGAL.txt → chunk-E76ECIOX.js.LEGAL.txt} +0 -0
  153. /package/dist/ui/{chunk-AEWL2RWR.js.LEGAL.txt → chunk-MXGHX55S.js.LEGAL.txt} +0 -0
  154. /package/dist/ui/{chunk-EGEB6N4J.js.LEGAL.txt → chunk-VD6G5NV4.js.LEGAL.txt} +0 -0
  155. /package/dist/ui/{prerender-Q4YSDCPB.js → prerender-M47IWV5Q.js} +0 -0
@@ -22,7 +22,6 @@ react-is/cjs/react-is.production.min.js:
22
22
  @tabler/icons-preact/dist/esm/icons/IconCheck.mjs:
23
23
  @tabler/icons-preact/dist/esm/icons/IconCirclePlus.mjs:
24
24
  @tabler/icons-preact/dist/esm/icons/IconCloudOff.mjs:
25
- @tabler/icons-preact/dist/esm/icons/IconCopy.mjs:
26
25
  @tabler/icons-preact/dist/esm/icons/IconCornerDownRight.mjs:
27
26
  @tabler/icons-preact/dist/esm/icons/IconDeviceFloppy.mjs:
28
27
  @tabler/icons-preact/dist/esm/icons/IconExternalLink.mjs:
@@ -66,6 +65,7 @@ react-is/cjs/react-is.production.min.js:
66
65
  @tabler/icons-preact/dist/esm/icons/IconClock.mjs:
67
66
  @tabler/icons-preact/dist/esm/icons/IconCode.mjs:
68
67
  @tabler/icons-preact/dist/esm/icons/IconColumns3.mjs:
68
+ @tabler/icons-preact/dist/esm/icons/IconCopy.mjs:
69
69
  @tabler/icons-preact/dist/esm/icons/IconCrop.mjs:
70
70
  @tabler/icons-preact/dist/esm/icons/IconDatabase.mjs:
71
71
  @tabler/icons-preact/dist/esm/icons/IconDeviceDesktop.mjs:
@@ -77,6 +77,8 @@ react-is/cjs/react-is.production.min.js:
77
77
  @tabler/icons-preact/dist/esm/icons/IconFileDiff.mjs:
78
78
  @tabler/icons-preact/dist/esm/icons/IconFile.mjs:
79
79
  @tabler/icons-preact/dist/esm/icons/IconFilter.mjs:
80
+ @tabler/icons-preact/dist/esm/icons/IconFolderPlus.mjs:
81
+ @tabler/icons-preact/dist/esm/icons/IconFolderSymlink.mjs:
80
82
  @tabler/icons-preact/dist/esm/icons/IconFolder.mjs:
81
83
  @tabler/icons-preact/dist/esm/icons/IconGitCompare.mjs:
82
84
  @tabler/icons-preact/dist/esm/icons/IconGripVertical.mjs:
@@ -94,6 +96,7 @@ react-is/cjs/react-is.production.min.js:
94
96
  @tabler/icons-preact/dist/esm/icons/IconLanguage.mjs:
95
97
  @tabler/icons-preact/dist/esm/icons/IconLayoutGrid.mjs:
96
98
  @tabler/icons-preact/dist/esm/icons/IconLayoutList.mjs:
99
+ @tabler/icons-preact/dist/esm/icons/IconLibraryPhoto.mjs:
97
100
  @tabler/icons-preact/dist/esm/icons/IconLink.mjs:
98
101
  @tabler/icons-preact/dist/esm/icons/IconListCheck.mjs:
99
102
  @tabler/icons-preact/dist/esm/icons/IconListNumbers.mjs:
@@ -132,6 +135,8 @@ react-is/cjs/react-is.production.min.js:
132
135
  @tabler/icons-preact/dist/esm/icons/IconTagPlus.mjs:
133
136
  @tabler/icons-preact/dist/esm/icons/IconTag.mjs:
134
137
  @tabler/icons-preact/dist/esm/icons/IconUnderline.mjs:
138
+ @tabler/icons-preact/dist/esm/icons/IconUnlink.mjs:
139
+ @tabler/icons-preact/dist/esm/icons/IconUpload.mjs:
135
140
  @tabler/icons-preact/dist/esm/icons/IconUserPlus.mjs:
136
141
  @tabler/icons-preact/dist/esm/icons/IconWorld.mjs:
137
142
  @tabler/icons-preact/dist/esm/icons/IconCircleCheckFilled.mjs:
@@ -1 +1 @@
1
- import{a as k}from"./chunk-KFAZBEPV.js";import{b as B}from"./chunk-W3HIZQ4Z.js";import{a as H}from"./chunk-PJA7YP4A.js";import{g as D}from"./chunk-ORXEMIQC.js";import{a as b}from"./chunk-EGEB6N4J.js";import{f as C}from"./chunk-AL3TN2KI.js";import{Aa as E,Ac as U,Ea as F,F as M,Ga as L,Ha as t,U as w,V as N,a as d,c as v,ea as p,g as A,j as Y,ta as I,va as j,xa as O}from"./chunk-NZHF733K.js";import{d as z}from"./chunk-KUCVLANF.js";Y();var S=50,tt=[{value:"all",label:"All time"},{value:"1h",label:"Last hour"},{value:"24h",label:"Last 24 hours"},{value:"7d",label:"Last 7 days"},{value:"30d",label:"Last 30 days"}];function Q(e){let[a,o]=d(!0),[n,i]=d([]);return v(()=>{D(e?{limit:e}:void 0).then(r=>{i(r),o(!1)})},[e]),{loading:a,actions:n}}function xt(e){if(e.compact)return t(ot,{...e});let[a,o]=d(""),[n]=M(a,300),[i,r]=d([]),[m,q]=d([]),[g,G]=d("all"),[h,T]=d(1),{actions:l,loading:R}=Q(),X=A(()=>{let s=new Set;return l.forEach(c=>s.add(c.action)),Array.from(s).sort()},[l]),Z=A(()=>{let s=new Set;return l.forEach(c=>{c.by&&s.add(c.by)}),Array.from(s).sort()},[l]),u=A(()=>{let s=Date.now();return l.filter(c=>{if(n){let f=n.toLowerCase(),x=c.action.toLowerCase().includes(f),_=c.by?.toLowerCase().includes(f),K=ct(c.metadata).toLowerCase().includes(f);if(!x&&!_&&!K)return!1}if(i.length>0&&!i.includes(c.action)||m.length>0&&(!c.by||!m.includes(c.by)))return!1;if(g&&g!=="all"){let f=J(c.timestamp);if(!f)return!1;let x=f.toMillis(),_=0;switch(g){case"1h":_=s-3600*1e3;break;case"24h":_=s-1440*60*1e3;break;case"7d":_=s-10080*60*1e3;break;case"30d":_=s-720*60*60*1e3;break}if(x<_)return!1}return!0})},[l,n,i,m,g]),$=e.compact?1:Math.ceil(u.length/S),y=A(()=>{if(e.compact)return u;let s=(h-1)*S;return u.slice(s,s+S)},[u,h,e.compact]);return v(()=>{T(1)},[n,i,m,g]),R?t("div",{className:`ActionsLog ActionsLog--loading ${e.className||""}`,children:t(N,{color:"gray",size:"xl"})}):t("div",{className:`ActionsLog ${e.className||""}`,children:[!e.compact&&t("div",{className:"ActionsLog__tableHeader",children:[t("div",{className:"ActionsLog__filters",children:[t(j,{className:"ActionsLog__filters__search",placeholder:"Search actions...",icon:t(U,{size:16}),value:a,onChange:s=>o(s.target.value)}),t(I,{className:"ActionsLog__filters__select",placeholder:"Filter by action",clearable:!0,searchable:!0,data:X,value:i,onChange:r}),t(I,{className:"ActionsLog__filters__select",placeholder:"Filter by user",clearable:!0,searchable:!0,data:Z,value:m,onChange:q}),t(E,{className:"ActionsLog__filters__select",placeholder:"Filter by time",data:tt,value:g,onChange:G})]}),t("div",{className:"ActionsLog__summary",children:["Showing ",y.length," of ",u.length," ","actions",u.length!==l.length&&` (filtered from ${l.length} total)`]})]}),t(H,{className:"ActionsLog__tableSurface",children:t(F,{className:"ActionsLog__table",children:[t("thead",{children:t("tr",{className:"ActionsLogs__table__row ActionsLogs__table__row--header",children:[t("th",{className:"ActionsLogs__table__header",children:"Timestamp"}),t("th",{className:"ActionsLogs__table__header",children:"User"}),t("th",{className:"ActionsLogs__table__header",children:"Action"}),t("th",{className:"ActionsLogs__table__header",children:"Details"}),t("th",{className:"ActionsLogs__table__header",children:"Links"})]})}),t("tbody",{children:[y.map((s,c)=>t("tr",{className:"ActionsLogs__table__row",children:[t("td",{className:"ActionsLogs__table__col ActionsLogs__table__col--nowrap",children:V(s.timestamp)}),t("td",{className:"ActionsLogs__table__col ActionsLogs__table__col--nowrap",children:t("span",{className:"ActionsLogs__user",children:s.by?t(z,{children:[t(k,{email:s.by,size:20}),t("span",{className:"ActionsLogs__user__email",children:s.by})]}):"\u2014"})}),t("td",{className:"ActionsLogs__table__col ActionsLogs__table__col--action",children:t("span",{className:"ActionsLogs__action",children:s.action})}),t("td",{className:"ActionsLogs__table__col ActionsLogs__table__col--metadata",children:t(W,{metadata:s.metadata})}),t("td",{className:"ActionsLogs__table__col ActionsLogs__table__col--links",children:t(P,{action:s})})]},c)),y.length===0&&t("tr",{children:t("td",{colSpan:5,className:"ActionsLogs__table__col ActionsLogs__table__col--empty",children:"No actions found matching your filters."})})]})]})}),!e.compact&&$>1&&t("div",{className:"ActionsLog__pagination",children:t(O,{total:$,value:h,onChange:T,size:"sm"})})]})}function W(e){let{metadata:a}=e;if(!a||Object.keys(a).length===0)return t("span",{className:"ActionsLogs__metadata--empty",children:"\u2014"});let o=Object.entries(a);return t("div",{className:"ActionsLogs__metadata",children:o.map(([n,i])=>t("div",{className:"ActionsLogs__metadata__item",children:[t("span",{className:"ActionsLogs__metadata__key",children:[n,":"]})," ",t("span",{className:"ActionsLogs__metadata__value",children:et(i)})]},n))})}function et(e){if(e==null)return"\u2014";if(Array.isArray(e))return e.length===0?"[]":e.length<=3?e.join(", "):`${e.slice(0,3).join(", ")} (+${e.length-3} more)`;if(typeof e=="object"){let a=at(e);try{return JSON.stringify(a)}catch(o){console.error(o),console.error("failed to stringify json:",a)}}return String(e)}function at(e){let a={};return Object.entries(e).forEach(([o,n])=>{o.startsWith("_")||(a[o]=n)}),a}function P(e){let{action:a}=e,o=[];function n(i){return e.label||i}return a.action!=="doc.delete"&&a.metadata?.docId&&o.push(t(L,{transition:"pop",label:a.metadata.docId,children:t(p,{component:"a",variant:"default",size:"xs",compact:!0,href:`/cms/content/${a.metadata.docId}`,children:n("Open doc")})},"doc")),a.action!=="datasource.delete"&&a.metadata?.datasourceId&&o.push(t(L,{transition:"pop",label:a.metadata.datasourceId,children:t(p,{component:"a",variant:"default",size:"xs",compact:!0,href:`/cms/data/${a.metadata.datasourceId}`,children:n("Open data source")})},"datasource")),a.action!=="release.delete"&&a.metadata?.releaseId&&o.push(t(L,{transition:"pop",label:a.metadata.releaseId,children:t(p,{component:"a",variant:"default",size:"xs",compact:!0,href:`/cms/releases/${a.metadata.releaseId}`,children:n("Open release")})},"release")),a.metadata?.sheetId&&o.push(t(p,{component:"a",variant:"default",size:"xs",compact:!0,href:B(a.metadata.sheetId),target:"_blank",children:n("Open sheet")},"sheet")),a.action.startsWith("acls.")&&o.push(t(p,{component:"a",variant:"default",size:"xs",compact:!0,href:"/cms/settings",children:n("Open settings")},"settings")),a.links&&a.links.forEach((i,r)=>{o.push(t(p,{component:"a",variant:"default",size:"xs",compact:!0,href:i.url,target:i.target,children:i.label},`link-${r}`))}),o.length===0?t("span",{className:"ActionsLogs__links--empty"}):(e.limit&&(o=o.slice(0,e.limit)),t("div",{className:"ActionsLogs__table__buttons",children:o}))}function ot(e){let{actions:a,loading:o}=Q(e.limit||10);return o?t("div",{className:C(e.className,"ActionLogsCompact","ActionLogsCompact--loading"),children:t(N,{color:"gray",size:"xl"})}):t("div",{className:C(e.className,"ActionLogsCompact"),children:t(w,{className:"ActionLogsCompact__table",multiple:!0,children:a.map((n,i)=>t(w.Item,{label:t(nt,{action:n}),children:t(st,{action:n})},i))})})}function nt(e){let a=e.action,o=it(a),n=e.action.by||"";return t("div",{className:"ActionLogsCompactItemPreview",children:[t("div",{className:"ActionLogsCompactItemPreview__user",children:t(k,{email:n,size:20})}),t("div",{className:"ActionLogsCompactItemPreview__timestamp",children:V(a.timestamp)}),t("div",{className:"ActionLogsCompactItemPreview__action",children:a.action}),t("div",{className:"ActionLogsCompactItemPreview__actionMetaId",children:o}),t("div",{className:"ActionLogsCompactItemPreview__buttons",children:t(P,{action:a,label:"Open",limit:1})})]})}function st(e){let a=e.action,o={user:a.by,...a.metadata};return t("div",{className:"ActionLogsCompactItemDetails",children:[t(W,{metadata:o}),t(P,{action:a})]})}function it(e){for(let a of Object.keys(e.metadata||{}))if(a.toLowerCase().endsWith("id"))return e.metadata[a];return""}function J(e){return e?e instanceof b?e:typeof e=="object"&&typeof e._seconds=="number"?new b(e._seconds,e._nanoseconds||0):typeof e=="object"&&typeof e.seconds=="number"?new b(e.seconds,e.nanoseconds||0):typeof e=="number"?b.fromMillis(e):null:null}function V(e){let a=J(e);if(!a)return"Invalid date";let o=a.toDate(),n=String(o.getMonth()+1).padStart(2,"0"),i=String(o.getDate()).padStart(2,"0"),r=String(o.getHours()).padStart(2,"0"),m=String(o.getMinutes()).padStart(2,"0");return`${n}/${i} ${r}:${m}`}function ct(e){function a(o){return o===null?"null":typeof o>"u"?"undefined":typeof o=="string"?`"${o.replaceAll('"','\\"')}"`:typeof o!="object"?String(o):Array.isArray(o)?`[${o.map(a).join(", ")}]`:`{${Object.entries(o).map(([i,r])=>`${i}: ${a(r)}`).join(", ")}}`}return a(e)}export{xt as a};
1
+ import{a as k}from"./chunk-MZTOPPWQ.js";import{a as H}from"./chunk-SRX7EWL4.js";import{b as B}from"./chunk-JS6TK4OP.js";import{g as D}from"./chunk-KRNQ6L35.js";import{a as b}from"./chunk-VD6G5NV4.js";import{f as C}from"./chunk-YLSRRNSE.js";import{Cc as U,Da as F,F as M,Fa as L,Ga as t,U as w,V as N,a as d,c as v,da as p,g as A,j as Y,sa as I,ua as j,wa as O,za as E}from"./chunk-LROR6N3B.js";import{d as z}from"./chunk-KUCVLANF.js";Y();var S=50,tt=[{value:"all",label:"All time"},{value:"1h",label:"Last hour"},{value:"24h",label:"Last 24 hours"},{value:"7d",label:"Last 7 days"},{value:"30d",label:"Last 30 days"}];function Q(e){let[a,o]=d(!0),[n,i]=d([]);return v(()=>{D(e?{limit:e}:void 0).then(r=>{i(r),o(!1)})},[e]),{loading:a,actions:n}}function xt(e){if(e.compact)return t(ot,{...e});let[a,o]=d(""),[n]=M(a,300),[i,r]=d([]),[m,q]=d([]),[g,G]=d("all"),[h,T]=d(1),{actions:l,loading:R}=Q(),X=A(()=>{let s=new Set;return l.forEach(c=>s.add(c.action)),Array.from(s).sort()},[l]),Z=A(()=>{let s=new Set;return l.forEach(c=>{c.by&&s.add(c.by)}),Array.from(s).sort()},[l]),u=A(()=>{let s=Date.now();return l.filter(c=>{if(n){let f=n.toLowerCase(),x=c.action.toLowerCase().includes(f),_=c.by?.toLowerCase().includes(f),K=ct(c.metadata).toLowerCase().includes(f);if(!x&&!_&&!K)return!1}if(i.length>0&&!i.includes(c.action)||m.length>0&&(!c.by||!m.includes(c.by)))return!1;if(g&&g!=="all"){let f=J(c.timestamp);if(!f)return!1;let x=f.toMillis(),_=0;switch(g){case"1h":_=s-3600*1e3;break;case"24h":_=s-1440*60*1e3;break;case"7d":_=s-10080*60*1e3;break;case"30d":_=s-720*60*60*1e3;break}if(x<_)return!1}return!0})},[l,n,i,m,g]),$=e.compact?1:Math.ceil(u.length/S),y=A(()=>{if(e.compact)return u;let s=(h-1)*S;return u.slice(s,s+S)},[u,h,e.compact]);return v(()=>{T(1)},[n,i,m,g]),R?t("div",{className:`ActionsLog ActionsLog--loading ${e.className||""}`,children:t(N,{color:"gray",size:"xl"})}):t("div",{className:`ActionsLog ${e.className||""}`,children:[!e.compact&&t("div",{className:"ActionsLog__tableHeader",children:[t("div",{className:"ActionsLog__filters",children:[t(j,{className:"ActionsLog__filters__search",placeholder:"Search actions...",icon:t(U,{size:16}),value:a,onChange:s=>o(s.target.value)}),t(I,{className:"ActionsLog__filters__select",placeholder:"Filter by action",clearable:!0,searchable:!0,data:X,value:i,onChange:r}),t(I,{className:"ActionsLog__filters__select",placeholder:"Filter by user",clearable:!0,searchable:!0,data:Z,value:m,onChange:q}),t(E,{className:"ActionsLog__filters__select",placeholder:"Filter by time",data:tt,value:g,onChange:G})]}),t("div",{className:"ActionsLog__summary",children:["Showing ",y.length," of ",u.length," ","actions",u.length!==l.length&&` (filtered from ${l.length} total)`]})]}),t(H,{className:"ActionsLog__tableSurface",children:t(F,{className:"ActionsLog__table",children:[t("thead",{children:t("tr",{className:"ActionsLogs__table__row ActionsLogs__table__row--header",children:[t("th",{className:"ActionsLogs__table__header",children:"Timestamp"}),t("th",{className:"ActionsLogs__table__header",children:"User"}),t("th",{className:"ActionsLogs__table__header",children:"Action"}),t("th",{className:"ActionsLogs__table__header",children:"Details"}),t("th",{className:"ActionsLogs__table__header",children:"Links"})]})}),t("tbody",{children:[y.map((s,c)=>t("tr",{className:"ActionsLogs__table__row",children:[t("td",{className:"ActionsLogs__table__col ActionsLogs__table__col--nowrap",children:V(s.timestamp)}),t("td",{className:"ActionsLogs__table__col ActionsLogs__table__col--nowrap",children:t("span",{className:"ActionsLogs__user",children:s.by?t(z,{children:[t(k,{email:s.by,size:20}),t("span",{className:"ActionsLogs__user__email",children:s.by})]}):"\u2014"})}),t("td",{className:"ActionsLogs__table__col ActionsLogs__table__col--action",children:t("span",{className:"ActionsLogs__action",children:s.action})}),t("td",{className:"ActionsLogs__table__col ActionsLogs__table__col--metadata",children:t(W,{metadata:s.metadata})}),t("td",{className:"ActionsLogs__table__col ActionsLogs__table__col--links",children:t(P,{action:s})})]},c)),y.length===0&&t("tr",{children:t("td",{colSpan:5,className:"ActionsLogs__table__col ActionsLogs__table__col--empty",children:"No actions found matching your filters."})})]})]})}),!e.compact&&$>1&&t("div",{className:"ActionsLog__pagination",children:t(O,{total:$,value:h,onChange:T,size:"sm"})})]})}function W(e){let{metadata:a}=e;if(!a||Object.keys(a).length===0)return t("span",{className:"ActionsLogs__metadata--empty",children:"\u2014"});let o=Object.entries(a);return t("div",{className:"ActionsLogs__metadata",children:o.map(([n,i])=>t("div",{className:"ActionsLogs__metadata__item",children:[t("span",{className:"ActionsLogs__metadata__key",children:[n,":"]})," ",t("span",{className:"ActionsLogs__metadata__value",children:et(i)})]},n))})}function et(e){if(e==null)return"\u2014";if(Array.isArray(e))return e.length===0?"[]":e.length<=3?e.join(", "):`${e.slice(0,3).join(", ")} (+${e.length-3} more)`;if(typeof e=="object"){let a=at(e);try{return JSON.stringify(a)}catch(o){console.error(o),console.error("failed to stringify json:",a)}}return String(e)}function at(e){let a={};return Object.entries(e).forEach(([o,n])=>{o.startsWith("_")||(a[o]=n)}),a}function P(e){let{action:a}=e,o=[];function n(i){return e.label||i}return a.action!=="doc.delete"&&a.metadata?.docId&&o.push(t(L,{transition:"pop",label:a.metadata.docId,children:t(p,{component:"a",variant:"default",size:"xs",compact:!0,href:`/cms/content/${a.metadata.docId}`,children:n("Open doc")})},"doc")),a.action!=="datasource.delete"&&a.metadata?.datasourceId&&o.push(t(L,{transition:"pop",label:a.metadata.datasourceId,children:t(p,{component:"a",variant:"default",size:"xs",compact:!0,href:`/cms/data/${a.metadata.datasourceId}`,children:n("Open data source")})},"datasource")),a.action!=="release.delete"&&a.metadata?.releaseId&&o.push(t(L,{transition:"pop",label:a.metadata.releaseId,children:t(p,{component:"a",variant:"default",size:"xs",compact:!0,href:`/cms/releases/${a.metadata.releaseId}`,children:n("Open release")})},"release")),a.metadata?.sheetId&&o.push(t(p,{component:"a",variant:"default",size:"xs",compact:!0,href:B(a.metadata.sheetId),target:"_blank",children:n("Open sheet")},"sheet")),a.action.startsWith("acls.")&&o.push(t(p,{component:"a",variant:"default",size:"xs",compact:!0,href:"/cms/settings",children:n("Open settings")},"settings")),a.links&&a.links.forEach((i,r)=>{o.push(t(p,{component:"a",variant:"default",size:"xs",compact:!0,href:i.url,target:i.target,children:i.label},`link-${r}`))}),o.length===0?t("span",{className:"ActionsLogs__links--empty"}):(e.limit&&(o=o.slice(0,e.limit)),t("div",{className:"ActionsLogs__table__buttons",children:o}))}function ot(e){let{actions:a,loading:o}=Q(e.limit||10);return o?t("div",{className:C(e.className,"ActionLogsCompact","ActionLogsCompact--loading"),children:t(N,{color:"gray",size:"xl"})}):t("div",{className:C(e.className,"ActionLogsCompact"),children:t(w,{className:"ActionLogsCompact__table",multiple:!0,children:a.map((n,i)=>t(w.Item,{label:t(nt,{action:n}),children:t(st,{action:n})},i))})})}function nt(e){let a=e.action,o=it(a),n=e.action.by||"";return t("div",{className:"ActionLogsCompactItemPreview",children:[t("div",{className:"ActionLogsCompactItemPreview__user",children:t(k,{email:n,size:20})}),t("div",{className:"ActionLogsCompactItemPreview__timestamp",children:V(a.timestamp)}),t("div",{className:"ActionLogsCompactItemPreview__action",children:a.action}),t("div",{className:"ActionLogsCompactItemPreview__actionMetaId",children:o}),t("div",{className:"ActionLogsCompactItemPreview__buttons",children:t(P,{action:a,label:"Open",limit:1})})]})}function st(e){let a=e.action,o={user:a.by,...a.metadata};return t("div",{className:"ActionLogsCompactItemDetails",children:[t(W,{metadata:o}),t(P,{action:a})]})}function it(e){for(let a of Object.keys(e.metadata||{}))if(a.toLowerCase().endsWith("id"))return e.metadata[a];return""}function J(e){return e?e instanceof b?e:typeof e=="object"&&typeof e._seconds=="number"?new b(e._seconds,e._nanoseconds||0):typeof e=="object"&&typeof e.seconds=="number"?new b(e.seconds,e.nanoseconds||0):typeof e=="number"?b.fromMillis(e):null:null}function V(e){let a=J(e);if(!a)return"Invalid date";let o=a.toDate(),n=String(o.getMonth()+1).padStart(2,"0"),i=String(o.getDate()).padStart(2,"0"),r=String(o.getHours()).padStart(2,"0"),m=String(o.getMinutes()).padStart(2,"0");return`${n}/${i} ${r}:${m}`}function ct(e){function a(o){return o===null?"null":typeof o>"u"?"undefined":typeof o=="string"?`"${o.replaceAll('"','\\"')}"`:typeof o!="object"?String(o):Array.isArray(o)?`[${o.map(a).join(", ")}]`:`{${Object.entries(o).map(([i,r])=>`${i}: ${a(r)}`).join(", ")}}`}return a(e)}export{xt as a};