@semapps/activitypub-components 0.5.3 → 0.6.0-alpha.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.
- package/dist/index.cjs.js +960 -3
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +942 -3
- package/dist/index.es.js.map +1 -1
- package/package.json +13 -18
package/dist/index.cjs.js
CHANGED
|
@@ -1,4 +1,961 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
ke=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function l(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,r){return e[t]=r}}function u(e,t,r,n){var o=t&&t.prototype instanceof d?t:d,i=Object.create(o.prototype),a=new T(n||[]);return i._invoke=function(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return k()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var l=E(a,r);if(l){if(l===s)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=c(e,t,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===s)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}(e,r,a),i}function c(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var s={};function d(){}function f(){}function p(){}var m={};l(m,o,(function(){return this}));var h=Object.getPrototypeOf,v=h&&h(h(O([])));v&&v!==t&&r.call(v,o)&&(m=v);var g=p.prototype=d.prototype=Object.create(m);function b(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){var n;this._invoke=function(o,i){function a(){return new t((function(n,a){!function n(o,i,a,l){var u=c(e[o],e,i);if("throw"!==u.type){var s=u.arg,d=s.value;return d&&"object"==typeof d&&r.call(d,"__await")?t.resolve(d.__await).then((function(e){n("next",e,a,l)}),(function(e){n("throw",e,a,l)})):t.resolve(d).then((function(e){s.value=e,a(s)}),(function(e){return n("throw",e,a,l)}))}l(u.arg)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}}function E(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,E(e,t),"throw"===t.method))return s;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var n=c(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,s;var o=n.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,s):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,s)}function w(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function x(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(w,this),this.reset(!0)}function O(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:k}}function k(){return{value:void 0,done:!0}}return f.prototype=p,l(g,"constructor",p),l(p,"constructor",f),f.displayName=l(p,a,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===f||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,p):(e.__proto__=p,l(e,a,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},b(y.prototype),l(y.prototype,i,(function(){return this})),e.AsyncIterator=y,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new y(u(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},b(g),l(g,a,"Generator"),l(g,o,(function(){return this})),l(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=O,T.prototype={constructor:T,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var l=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(l&&u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,s):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),s},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),x(r),s}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;x(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:O(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),s}},e}function Ce(e,t,r,n,o,i,a){try{var l=e[i](a),u=l.value}catch(e){return void r(e)}l.done?t(u):Promise.resolve(u).then(n,o)}function Le(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){Ce(i,n,o,a,l,"next",e)}function l(e){Ce(i,n,o,a,l,"throw",e)}a(void 0)}))}}function Se(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function Ie(){return(Ie=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function Ae(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function Re(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null==r)return;var n,o,i=[],a=!0,l=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){l=!0,o=e}finally{try{a||null==r.return||r.return()}finally{if(l)throw o}}return i}(e,t)||Pe(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function je(e){return function(e){if(Array.isArray(e))return Ne(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||Pe(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Pe(e,t){if(e){if("string"==typeof e)return Ne(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Ne(e,t):void 0}}function Ne(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function Be(e){var t,r,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(r=Be(e[t]))&&(n&&(n+=" "),n+=r);else for(t in e)e[t]&&(n&&(n+=" "),n+=t);return n}function _e(){for(var e,t,r=0,n="";r<arguments.length;)(e=arguments[r++])&&(t=Be(e))&&(n&&(n+=" "),n+=t);return n}var Fe,qe=e.createContext(void 0),ze=function(e){var t=e.children,r=e.value;return V.createElement(qe.Provider,{value:r},t)},De=function(){var t=e.useState(!1),r=t[0],n=t[1],o=e.useContext(qe);return e.useEffect((function(){var e=function(){n(!0)};return null!=o&&(n(o.isEditable),o.on("create",e)),function(){null!=o&&o.off("create",e)}}),[o]),r?o:null},Ue=function(){return(Ue=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},Me=function(t){var r=De(),o=E.useTranslate(),i=e.useState([]),a=i[0],l=i[1],u=o("ra.tiptap.bold",{_:"Bold"}),c=o("ra.tiptap.italic",{_:"Italic"}),s=o("ra.tiptap.underline",{_:"Underline"}),d=o("ra.tiptap.strike",{_:"Strikethrough"}),f=o("ra.tiptap.code",{_:"Code"});e.useEffect((function(){var e=function(){l((function(){return He.reduce((function(e,t){return r&&r.isActive(t)&&e.push(t),e}),[])}))};return r&&(r.on("update",e),r.on("selectionUpdate",e)),function(){r&&(r.off("update",e),r.off("selectionUpdate",e))}}),[r]);return V.createElement(n.ToggleButtonGroup,Ue({},t,{disabled:!(null==r?void 0:r.isEditable),onChange:function(e,t){He.forEach((function(e){var n=r&&r.isActive(e)&&!t.includes(e),o=r&&!r.isActive(e)&&t.includes(e);(n||o)&&Ge[e](r)}))},value:a}),V.createElement(n.ToggleButton,{value:"bold","aria-label":u,title:u},V.createElement(ie.default,{fontSize:"inherit"})),V.createElement(n.ToggleButton,{value:"italic","aria-label":c,title:c},V.createElement(ae.default,{fontSize:"inherit"})),V.createElement(n.ToggleButton,{value:"underline","aria-label":s,title:s},V.createElement(le.default,{fontSize:"inherit"})),V.createElement(n.ToggleButton,{value:"strike","aria-label":d,title:d},V.createElement(ue.default,{fontSize:"inherit"})),V.createElement(n.ToggleButton,{value:"code","aria-label":f,title:f},V.createElement(ce.default,{fontSize:"inherit"})))},He=["bold","italic","underline","strike","code"],Ge={bold:function(e){return e.chain().focus().toggleBold().run()},italic:function(e){return e.chain().focus().toggleItalic().run()},underline:function(e){return e.chain().focus().toggleUnderline().run()},strike:function(e){return e.chain().focus().toggleStrike().run()},code:function(e){return e.chain().focus().toggleCode().run()}},Ve=function(){return(Ve=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},We=function(t){var r=De(),o=E.useTranslate(),i=o("ra.tiptap.list_bulleted",{_:"Bulleted list"}),a=o("ra.tiptap.list_numbered",{_:"Numbered list"}),l=e.useState(),u=l[0],c=l[1];return e.useEffect((function(){var e=function(){c((function(){return Je.reduce((function(e,t){return r&&r.isActive(t)?t:e}),void 0)}))};return r&&(r.on("update",e),r.on("selectionUpdate",e)),function(){r&&(r.off("update",e),r.off("selectionUpdate",e))}}),[r]),V.createElement(n.ToggleButtonGroup,Ve({},t,{disabled:!(null==r?void 0:r.isEditable),exclusive:!0,onChange:function(e,t){Je.forEach((function(e){var n=r&&r.isActive(e)&&t!==e,o=r&&!r.isActive(e)&&t===e;(n||o)&&Ke[e](r)}))},value:u}),V.createElement(n.ToggleButton,{value:"bulletList","aria-label":i,title:i},V.createElement(ve.default,{fontSize:"inherit"})),V.createElement(n.ToggleButton,{value:"orderedList","aria-label":a,title:a},V.createElement(ge.default,{fontSize:"inherit"})))},Je=["bulletList","orderedList"],Ke={bulletList:function(e){return e.chain().focus().toggleBulletList().run()},orderedList:function(e){return e.chain().focus().toggleOrderedList().run()}},Ye=function(){return(Ye=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},Qe=function(t){var r=De(),o=E.useTranslate(),i=e.useState("left"),a=i[0],l=i[1],u=o("ra.tiptap.align_left",{_:"Align left"}),c=o("ra.tiptap.align_right",{_:"Align right"}),s=o("ra.tiptap.align_center",{_:"Center"}),d=o("ra.tiptap.align_justify",{_:"Justify"});e.useEffect((function(){var e=function(){l((function(e){return Xe.reduce((function(e,t){return r&&r.isActive({textAlign:t})?t:e}),e)}))};return r&&(r.on("update",e),r.on("selectionUpdate",e)),function(){r&&(r.off("update",e),r.off("selectionUpdate",e))}}),[r]);return V.createElement(n.ToggleButtonGroup,Ye({},t,{disabled:!(null==r?void 0:r.isEditable),exclusive:!0,onChange:function(e,t){Ze[t]&&Ze[t](r)},value:a}),V.createElement(n.ToggleButton,{value:"left","aria-label":u,title:u},V.createElement(pe.default,{fontSize:"inherit"})),V.createElement(n.ToggleButton,{value:"center","aria-label":s,title:s},V.createElement(fe.default,{fontSize:"inherit"})),V.createElement(n.ToggleButton,{value:"right","aria-label":c,title:c},V.createElement(me.default,{fontSize:"inherit"})),V.createElement(n.ToggleButton,{value:"justify","aria-label":d,title:d},V.createElement(he.default,{fontSize:"inherit"})))},Xe=["left","center","right","justify","code"],Ze={left:function(e){return e.chain().focus().setTextAlign("left").run()},center:function(e){return e.chain().focus().setTextAlign("center").run()},right:function(e){return e.chain().focus().setTextAlign("right").run()},justify:function(e){return e.chain().focus().setTextAlign("justify").run()}},$e=function(){return($e=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},et=function(t){var r=De(),o=E.useTranslate(),i=function(){var t=De(),r=e.useState(t?t.state.doc.textBetween(t.state.selection.from,t.state.selection.to):null),n=r[0],o=r[1];return e.useEffect((function(){var e=function(){o(t?t.state.doc.textBetween(t.state.selection.from,t.state.selection.to):null)};return t&&t.on("selectionUpdate",e),function(){t&&t.off("selectionUpdate",e)}}),[t]),n}(),a=o("ra.tiptap.link",{_:"Add a link"});return V.createElement(n.ToggleButton,$e({"aria-label":a,title:a},t,{disabled:!(null==r?void 0:r.isEditable)||!i,value:"link",onClick:function(){if(r.can().setLink({href:""})){var e=window.prompt("URL");r.chain().focus().extendMarkRange("link").setLink({href:e}).run()}},selected:r&&r.isActive("link")}),V.createElement(be.default,{fontSize:"inherit"}))},tt=function(){return(tt=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},rt=function(t){var r=De(),o=E.useTranslate(),i=e.useState(!1),a=i[0],l=i[1],u=o("ra.tiptap.blockquote",{_:"Blockquote"});return e.useEffect((function(){var e=function(){l(r&&r.isActive("blockquote"))};return r&&(r.on("update",e),r.on("selectionUpdate",e)),function(){r&&(r.off("update",e),r.off("selectionUpdate",e))}}),[r]),V.createElement(n.ToggleButton,tt({"aria-label":u,title:u},t,{disabled:!(null==r?void 0:r.isEditable),onClick:function(){return r.chain().focus().toggleBlockquote().run()},selected:a,value:"quote"}),V.createElement(Ee.default,{fontSize:"inherit"}))},nt=function(){return(nt=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},ot=function(e){var t=De(),r=E.useTranslate()("ra.tiptap.clear_format",{_:"Clear format"});return V.createElement(n.ToggleButton,nt({"aria-label":r,title:r},e,{disabled:!(null==t?void 0:t.isEditable),value:"clear",onClick:function(){return t.chain().focus().unsetAllMarks().run()}}),V.createElement(we.default,{fontSize:"inherit"}))},it=function(t){var r,o=E.useTranslate(),i=De(),a=e.useState(null),l=a[0],u=a[1],c=t.size,s=e.useState(at[0]),d=s[0],f=s[1];return e.useEffect((function(){var e=function(){f((function(e){return at.reduce((function(e,t){if(i){if("paragraph"===t.value&&i.isActive("paragraph"))return t;if(i.isActive("heading",{level:t.level}))return t}return e}),e)}))};return i&&(i.on("update",e),i.on("selectionUpdate",e)),function(){i&&(i.off("update",e),i.off("selectionUpdate",e))}}),[i]),V.createElement(ct,null,V.createElement(n.List,{component:"nav","aria-label":o("ra.tiptap.select_level",{_:"Select the level"}),dense:!0,disablePadding:!0,className:ut.list},V.createElement(n.ListItem,{button:!0,"aria-haspopup":"true","aria-controls":"level-menu","aria-label":o("ra.tiptap.current_level",{_:"Current level"}),disabled:!(null==i?void 0:i.isEditable),onClick:function(e){u(e.currentTarget)},className:_e((r={},r[ut.sizeSmall]="small"===c,r[ut.sizeLarge]="large"===c,r))},V.createElement(n.ListItemText,{primary:o(d.label,{_:d.defaultLabel})}),V.createElement(oe.default,null))),V.createElement(n.Menu,{anchorEl:l,open:Boolean(l),id:"level-menu",onClose:function(e){u(null)}},at.map((function(e,t){return V.createElement(n.MenuItem,{key:e.label,selected:e===d,onClick:function(e){!function(e,t){u(null);var r=at[t];"paragraph"===r.value?i.chain().focus().setParagraph().run():"heading"===r.value&&i.chain().focus().setHeading({level:r.level}).run()}(0,t)}},o(e.label,{_:e.defaultLabel}))}))))},at=[{label:"ra.tiptap.paragraph",defaultLabel:"Normal",value:"paragraph"},{label:"ra.tiptap.heading1",defaultLabel:"Heading 1",value:"heading",level:1},{label:"ra.tiptap.heading2",defaultLabel:"Heading 2",value:"heading",level:2},{label:"ra.tiptap.heading3",defaultLabel:"Heading 3",value:"heading",level:3},{label:"ra.tiptap.heading4",defaultLabel:"Heading 4",value:"heading",level:4},{label:"ra.tiptap.heading5",defaultLabel:"Heading 5",value:"heading",level:5},{label:"ra.tiptap.heading6",defaultLabel:"Heading 6",value:"heading",level:6}],lt="RaRichTextInputLevelSelect",ut={list:"".concat(lt,"-list"),sizeSmall:"".concat(lt,"-sizeSmall"),sizeLarge:"".concat(lt,"-sizeLarge")},ct=y.styled("div")((function(e){var t,r=e.theme;return(t={})["&.".concat(ut.list)]={borderRadius:r.shape.borderRadius,border:"1px solid ".concat(y.alpha(r.palette.action.active,.12))},t["& .".concat(ut.sizeSmall)]={paddingTop:1,paddingBottom:1,"& .MuiTypography-root":{fontSize:r.typography.pxToRem(13)}},t["& .".concat(ut.sizeLarge)]={paddingTop:8,paddingBottom:8,"& .MuiTypography-root":{fontSize:r.typography.pxToRem(15)}},t})),st=function(){return(st=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},dt=function(e){var t=E.useTranslate(),r=De(),o=t("ra.tiptap.image",{_:"Image"}),i=V.useCallback((function(){var e=window.prompt(t("ra.tiptap.image_dialog",{_:"Image URL"}));e&&r.chain().focus().setImage({src:e}).run()}),[r,t]);return r?V.createElement(n.ToggleButton,st({"aria-label":o,title:o},e,{disabled:!(null==r?void 0:r.isEditable),value:"image",onClick:i}),V.createElement(ye.default,{fontSize:"inherit"})):null},ft=function(){return(ft=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};!function(e){e.FONT="font",e.BACKGROUND="background"}(Fe||(Fe={}));var pt=function(e){var t=E.useTranslate(),r=De(),o=V.useState(!1),i=o[0],a=o[1],l=V.useState(Fe.FONT),u=l[0],c=l[1],s=t("ra.tiptap.color",{_:"Color"}),d=t("ra.tiptap.highlight",{_:"Highlight"}),f=function(e){a(!0),c(e)};return r?V.createElement(n.Box,{sx:{position:"relative"}},V.createElement(ht,{onClick:function(){return a(!1)}},V.createElement(n.ToggleButtonGroup,null,V.createElement(n.ToggleButton,ft({"aria-label":s,title:s},e,{disabled:!(null==r?void 0:r.isEditable),value:"color",onClick:function(){return f(Fe.FONT)}}),V.createElement(se.default,{fontSize:"inherit"})),V.createElement(n.ToggleButton,ft({"aria-label":d,title:d},e,{disabled:!(null==r?void 0:r.isEditable),value:"highlight",onClick:function(){return f(Fe.BACKGROUND)}}),V.createElement(de.default,{fontSize:"inherit"}))),i&&V.createElement(mt,{editor:r,close:function(){return a(!1)},colorType:u}))):null},mt=function(e){var t,r,o=e.editor,i=e.close,a=e.colorType,l=n.useTheme(),u=[A.grey,A.red,A.orange,A.yellow,A.green,A.blue,A.purple];return V.createElement(n.Card,{sx:{position:"absolute",top:38,left:a===Fe.FONT?0:"50%",p:1,border:"1px solid ".concat(null===(r=null===(t=null==l?void 0:l.palette)||void 0===t?void 0:t.background)||void 0===r?void 0:r.default),display:"flex",flexDirection:"column",gap:1,zIndex:1}},[900,700,500,300,100].map((function(e,t){return V.createElement(n.Box,{key:"shade-".concat(e),sx:{display:"flex",flexDirection:"row",gap:1}},u.map((function(r,l){return V.createElement(n.Box,{key:"color-".concat(t*u.length+l+1),sx:{width:16,height:16,cursor:"pointer",backgroundColor:r[e]},onClick:function(){return function(e){a===Fe.FONT?o.chain().focus().setColor(e).run():o.chain().focus().toggleHighlight({color:e}).run(),i()}(r[e])}})})))})))},ht=function(e){var t=e.className,r=e.onClick,n=e.children,o=V.useRef(null);return vt(o,r),V.createElement("div",{className:t,ref:o},n)},vt=function(e,t){V.useEffect((function(){var r=function(r){e.current&&!e.current.contains(r.target)&&t()};return document.addEventListener("mousedown",r),function(){document.removeEventListener("mousedown",r)}}),[e,t])},gt=function(){return(gt=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},bt=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r},yt=function(e){var t=e.size,r=void 0===t?"medium":t,n=e.children,o=void 0===n?V.createElement(V.Fragment,null,V.createElement(it,{size:r}),V.createElement(Me,{size:r}),V.createElement(pt,{size:r}),V.createElement(Qe,{size:r}),V.createElement(We,{size:r}),V.createElement(et,{size:r}),V.createElement(dt,{size:r}),V.createElement(rt,{size:r}),V.createElement(ot,{size:r})):n,i=bt(e,["size","children"]);return V.createElement(wt,gt({className:Et.root},i),o)},Et={root:"".concat("RaRichTextInputToolbar","-root")},wt=y.styled("div")((function(e){var t,r=e.theme;return(t={})["&.".concat(Et.root)]={display:"flex",flexWrap:"wrap",alignItems:"center","& > *":{marginRight:r.spacing(1),marginBottom:r.spacing(1)},"& > *:last-child":{marginRight:0}},t})),xt=function(){return(xt=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},Tt=function(t){var r,n,o=t.className,i=t.defaultValue,a=void 0===i?"":i,l=t.disabled,u=void 0!==l&&l,c=t.editorOptions,d=void 0===c?kt:c,f=t.fullWidth,p=t.helperText,m=t.label,h=t.readOnly,v=void 0!==h&&h,g=t.source,b=t.toolbar,y=E.useResourceContext(t),x=E.useInput(xt(xt({},t),{source:g,defaultValue:a})),T=x.id,O=x.field,k=x.isRequired,C=x.fieldState,L=x.formState.isSubmitted,S=s.useEditor(xt(xt({},d),{editable:!u&&!v,content:O.value,editorProps:xt(xt({},null==d?void 0:d.editorProps),{attributes:xt(xt({},null===(r=null==d?void 0:d.editorProps)||void 0===r?void 0:r.attributes),{id:T})})})),I=C.error,A=C.invalid,R=C.isTouched;return e.useEffect((function(){if(S){var e=S.state.selection,t=e.from,r=e.to;S.commands.setContent(O.value,!1,{preserveWhitespace:!0}),S.commands.setTextSelection({from:t,to:r})}}),[S,O.value]),e.useEffect((function(){var e;S&&S.setOptions({editable:!u&&!v,editorProps:xt(xt({},null==d?void 0:d.editorProps),{attributes:xt(xt({},null===(e=null==d?void 0:d.editorProps)||void 0===e?void 0:e.attributes),{id:T})})})}),[u,S,v,T,null==d?void 0:d.editorProps,null===(n=null==d?void 0:d.editorProps)||void 0===n?void 0:n.attributes]),e.useEffect((function(){if(S){var e=function(){if(S.isEmpty)return O.onChange(""),void O.onBlur();var e=S.getHTML();O.onChange(e),O.onBlur()};return S.on("update",e),function(){S.off("update",e)}}}),[S,O]),V.createElement(w.Labeled,{isRequired:k,label:m,id:"".concat(T,"-label"),color:(null==C?void 0:C.invalid)?"error":void 0,source:g,resource:y,fullWidth:f},V.createElement(Ot,{className:_e("ra-input","ra-input-".concat(g),o),editor:S,error:I,helperText:p,id:T,isTouched:R,isSubmitted:L,invalid:A,toolbar:b||V.createElement(yt,null)}))},Ot=function(e){var t=e.className,r=e.editor,o=e.error;e.fullWidth;var i=e.helperText,a=e.id,l=e.isTouched,u=e.isSubmitted,c=e.invalid,d=e.toolbar;return V.createElement(Lt,{className:t},V.createElement(ze,{value:r},d,V.createElement(s.EditorContent,{"aria-labelledby":"".concat(a,"-label"),className:Ct.editorContent,editor:r})),V.createElement(n.FormHelperText,{className:(l||u)&&c?"ra-rich-text-input-error":"",error:(l||u)&&c},V.createElement(w.InputHelperText,{touched:l||u,error:null==o?void 0:o.message,helperText:i})))},kt={extensions:[X.default,Z.default,$.default,ee.default.configure({types:["heading","paragraph"]}),te.default.configure({inline:!0}),re.default,g.Color,ne.default.configure({multicolor:!0})]},Ct={editorContent:"".concat("RaRichTextInput","-editorContent")},Lt=y.styled("div",{name:"RaRichTextInput",overridesResolver:function(e,t){return t.root}})((function(e){var t,r=e.theme;return(t={display:"flex",flexDirection:"column",alignItems:"center"})["& .".concat(Ct.editorContent)]={width:"100%","& .ProseMirror":{backgroundColor:r.palette.background.default,borderColor:"light"===r.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)",borderRadius:r.shape.borderRadius,borderStyle:"solid",borderWidth:"1px",padding:r.spacing(1),'&[contenteditable="false"], &[contenteditable="false"]:hover, &[contenteditable="false"]:focus':{backgroundColor:r.palette.action.disabledBackground},"&:hover":{backgroundColor:r.palette.action.hover},"&:focus":{backgroundColor:r.palette.background.default},"& p":{margin:"0 0 1em 0","&:last-child":{marginBottom:0}}}},t})),St={ARTICLE:"Article",AUDIO:"Audio",DOCUMENT:"Document",EVENT:"Event",IMAGE:"Image",NOTE:"Note",PAGE:"Page",PLACE:"Place",PROFILE:"Profile",RELATIONSHIP:"Relationship",TOMBSTONE:"Tombstone",VIDEO:"Video"},It="https://www.w3.org/ns/activitystreams#Public",At=function(){var r=t.useGetIdentity().identity,n=e.useMemo((function(){var e;if(null!=r&&r.webIdData)return null==r||null===(e=r.webIdData)||void 0===e?void 0:e.outbox}),[r]),o=e.useMemo((function(){var e,t;if(null!=r&&r.webIdData)return(null==r||null===(e=r.webIdData)||void 0===e||null===(t=e.endpoints)||void 0===t?void 0:t["void:sparqlEndpoint"])||(null==r?void 0:r.id)+"/sparql"}),[r]);return{post:e.useCallback(function(){var e=Le(ke().mark((function e(r){var o,i,a;return ke().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n){e.next=2;break}throw new Error("Cannot post to outbox before user identity is loaded. Please use the loaded argument of useOutbox");case 2:return o=localStorage.getItem("token"),e.next=5,t.fetchUtils.fetchJson(n,{method:"POST",body:JSON.stringify(Oe({"@context":"https://www.w3.org/ns/activitystreams"},r)),headers:new Headers({"Content-Type":"application/ld+json",Authorization:"Bearer ".concat(o)})});case 5:return i=e.sent,a=i.headers,e.abrupt("return",a.get("Location"));case 8:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[n]),fetch:e.useCallback(Le(ke().mark((function e(){var r,i,l,u,c;return ke().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o&&n){e.next=2;break}return e.abrupt("return");case 2:return r=localStorage.getItem("token"),i=a.buildBlankNodesQuery(["as:object"]),l="\n PREFIX as: <https://www.w3.org/ns/activitystreams#>\n CONSTRUCT {\n ?s1 ?p1 ?o1 .\n ".concat(i.construct,"\n }\n WHERE {\n <").concat(n,"> as:items ?s1 .\n ?s1 ?p1 ?o1 .\n ").concat(i.where,"\n }\n "),e.next=7,t.fetchUtils.fetchJson(o,{method:"POST",body:l,headers:new Headers({Accept:"application/ld+json",Authorization:r?"Bearer ".concat(r):void 0})});case 7:if(u=e.sent,!(c=u.json)["@graph"]){e.next=13;break}return e.abrupt("return",c["@graph"]);case 13:return e.abrupt("return",null);case 14:case"end":return e.stop()}}),e)}))),[o,n]),url:n,loaded:!!n,owner:null==r?void 0:r.id}},Rt=Q.default.extend({renderHTML:function(e){var t=e.node,r=e.HTMLAttributes;return["span",u.mergeAttributes(this.options.HTMLAttributes,r),"@".concat(t.attrs.id.label)]},addAttributes:function(){return{label:{default:null,parseHTML:function(e){return{label:e.getAttribute("data-mention-label")}},renderHTML:function(e){return e.id.label?{"data-mention-label":e.id.label}:{}}},id:{default:null,parseHTML:function(e){return{id:e.getAttribute("data-mention-id")}},renderHTML:function(e){return e.id.id?{"data-mention-id":e.id.id}:{}}}}}}),jt=K.default((function(e){return{form:{marginTop:-12},container:{paddingLeft:80,position:"relative"},avatar:{position:"absolute",top:16,left:0,bottom:0,width:64,height:64},editorContent:{"& > div":{backgroundColor:"rgba(0, 0, 0, 0.09)",padding:"2px 12px",borderWidth:"0px !important",borderRadius:0,borderBottom:"1px solid #FFF",minHeight:60,outline:"unset !important"},"& > div > p":{marginTop:12,marginBottom:12,fontFamily:e.typography.body1.fontFamily,marginBlockStart:"0.5em",marginBlockEnd:"0.5em"},"& > div > p.is-editor-empty:first-child::before":{color:"grey",content:"attr(data-placeholder)",float:"left",height:0,pointerEvents:"none"}},button:{marginTop:-10,marginBottom:15}}})),Pt=function(){return null},Nt=function(r){var o,i,u,c,s=r.context,d=r.placeholder,f=r.helperText,p=r.mentions,m=r.userResource,h=r.addItem,v=r.removeItem,g=t.useRecordContext(),b=t.useGetIdentity(),y=b.identity,E=b.isLoading,w=a.useDataModel(m),x=jt(),T=t.useNotify(),O=At(),k=Re(e.useState(!1),2),C=k[0],L=k[1],S=Re(e.useState(!1),2),I=S[0],A=S[1],R=e.useCallback(function(){var e=Le(ke().mark((function e(t){var r,n,o,i,a;return ke().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=(new DOMParser).parseFromString(t.comment,"text/html"),n=Array.from(r.body.getElementsByClassName("mention")),o=[],n.forEach((function(e){var t=e.attributes["data-mention-id"].value,n=e.attributes["data-mention-label"].value,i=r.createElement("a");i.setAttribute("href",new URL(window.location.href).origin+"/"+m+"/"+encodeURIComponent(t)+"/show"),i.textContent="@"+n,e.parentNode.replaceChild(i,e),o.push(t)})),"undefined"!==r.body.innerHTML){e.next=8;break}T("Votre commentaire est vide",{type:"error"}),e.next=23;break;case 8:return i=Date.now(),a={type:St.NOTE,attributedTo:O.owner,content:r.body.innerHTML,inReplyTo:g[s],published:(new Date).toISOString()},e.prev=10,h(Oe({id:i},a)),L(!1),e.next=15,O.post(Oe(Oe({},a),{},{to:[].concat(o,[It])}));case 15:T("Commentaire posté avec succès",{type:"success"}),e.next=23;break;case 18:e.prev=18,e.t0=e.catch(10),console.error(e.t0),v(i),T(e.t0.message,{type:"error"});case 23:case"end":return e.stop()}}),e,null,[[10,18]])})));return function(t){return e.apply(this,arguments)}}(),[O,T,L,h,v]),j=e.useCallback((function(){null!=y&&y.id||A(!0)}),[y,A]);return p&&!p.items||E?null:W.default.createElement(W.default.Fragment,null,W.default.createElement(t.Form,{onSubmit:R,className:x.form},W.default.createElement(n.Box,{className:x.container,onClick:j},W.default.createElement(n.Avatar,{src:(null==y||null===(o=y.webIdData)||void 0===o?void 0:o[null==w||null===(i=w.fieldsMapping)||void 0===i?void 0:i.image])||(null==y||null===(u=y.profileData)||void 0===u?void 0:u[null==w||null===(c=w.fieldsMapping)||void 0===c?void 0:c.image]),className:x.avatar}),W.default.createElement(Tt,{source:"comment",label:" ",toolbar:W.default.createElement(Pt,null),fullWidth:!0,classes:{editorContent:x.editorContent},editorOptions:Oe(Oe({},kt),{},{onFocus:function(){L(!0)},extensions:[].concat(je(kt.extensions),[d?J.default.configure({placeholder:d}):null,p?Rt.configure({HTMLAttributes:{class:"mention"},suggestion:p}):null]),editable:!(null==y||!y.id)}),helperText:f}),C&&W.default.createElement(n.Button,{type:"submit",size:"small",variant:"contained",color:"primary",endIcon:W.default.createElement(Y.default,null),className:x.button},"Envoyer"))),W.default.createElement(l.AuthDialog,{open:I,onClose:function(){return A(!1)},message:"Pour poster un commentaire, vous devez être connecté."}))},Bt=K.default((function(){return{container:{paddingLeft:80,marginTop:8,minHeight:80,position:"relative"},avatar:{position:"absolute",top:0,left:0,bottom:0,width:64,height:64},text:{paddingTop:2,paddingBottom:8},label:{fontWeight:"bold"},content:{"& p":{marginBlockStart:"0.5em",marginBlockEnd:"0.5em"}},loading:{zIndex:1e3,backgroundColor:"white",opacity:.5,position:"absolute",top:0,left:0,right:0,bottom:0,display:"flex",alignItems:"center",justifyContent:"center",minHeight:200,marginTop:5}}})),_t=function(e){var r=e.comments,o=e.userResource,i=e.loading,l=Bt(),u=a.useDataModel(o);return W.default.createElement(n.Box,{position:"relative"},r&&r.sort((function(e,t){return new Date(t.published)-new Date(e.published)})).map((function(e){var r,i;return W.default.createElement(n.Box,{className:l.container,key:e.id},W.default.createElement(n.Box,{className:l.avatar},W.default.createElement(U.ReferenceField,{record:e,reference:o,source:"attributedTo",linkType:"show"},W.default.createElement(U.AvatarWithLabelField,{image:null==u||null===(r=u.fieldsMapping)||void 0===r?void 0:r.image}))),W.default.createElement(n.Box,{className:l.text},W.default.createElement(n.Typography,{variant:"body2"},W.default.createElement(U.ReferenceField,{record:e,reference:o,source:"attributedTo",linkType:"show"},W.default.createElement(t.TextField,{variant:"body2",source:null==u||null===(i=u.fieldsMapping)||void 0===i?void 0:i.title,className:l.label}))," • ",W.default.createElement(t.DateField,{record:e,variant:"body2",source:"published",showTime:!0})),W.default.createElement(t.RichTextField,{record:e,variant:"body1",source:"content",className:l.content})))})),i&&W.default.createElement(n.Box,{minHeight:200},W.default.createElement(n.Box,{alignItems:"center",className:l.loading},W.default.createElement(n.CircularProgress,{size:60,thickness:6}))))},Ft=function(r){var n=t.useGetIdentity(),o=n.identity,i=n.loaded,a=Re(e.useState([]),2),l=a[0],u=a[1],c=Re(e.useState(!1),2),s=c[0],d=c[1],f=Re(e.useState(!1),2),p=f[0],m=f[1],h=Re(e.useState(!1),2),v=h[0],g=h[1],b=e.useMemo((function(){if(r){if(r.startsWith("http"))return r;var e;if(null!=o&&o.webIdData)return null==o||null===(e=o.webIdData)||void 0===e?void 0:e[r]}}),[o,r]),y=e.useCallback(Le(ke().mark((function e(){var r,n,i,a;return ke().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(b){e.next=2;break}return e.abrupt("return");case 2:d(!0),r=new Headers({Accept:"application/ld+json"}),n=o.id&&new URL(o.id).origin,i=new URL(b).origin,a=localStorage.getItem("token"),n===i&&a&&r.set("Authorization","Bearer ".concat(a)),t.fetchUtils.fetchJson(b,{headers:r}).then((function(e){var t=e.json;t&&t.items?u(t.items):t&&t.orderedItems?u(t.orderedItems):u([]),g(!1),m(!0),d(!1)})).catch((function(){g(!0),m(!0),d(!1)}));case 9:case"end":return e.stop()}}),e)}))),[u,m,d,g,b,o]);e.useEffect((function(){!i||s||p||v||y()}),[y,i,s,p,v]);var E=e.useCallback((function(e){u((function(t){return[].concat(je(t),[e])}))}),[u]),w=e.useCallback((function(e){u((function(t){return t.filter((function(t){return"string"==typeof t?t!==e:t.id!==e}))}))}),[u]);return{items:l,loading:s,loaded:p,error:v,refetch:y,addItem:E,removeItem:w,url:b}},qt=function(e){e.source;var r=e.context,n=e.helperText,o=e.placeholder,i=e.userResource,a=e.mentions,l=t.useRecordContext(),u=Ft(l.replies),c=u.items,s=u.loading,d=u.addItem,f=u.removeItem;if(!i)throw new Error("No userResource defined for CommentsField");return W.default.createElement(W.default.Fragment,null,W.default.createElement(Nt,{context:r,helperText:n,userResource:i,placeholder:o,mentions:a,addItem:d,removeItem:f}),W.default.createElement(_t,{comments:c,loading:s,userResource:i}))};qt.defaultProps={label:"Commentaires",placeholder:"Commencez à taper votre commentaire...",source:"id",context:"id"};var zt=["collectionUrl","resource","children"],Dt=function(e){var r=e.collectionUrl,n=e.resource,o=e.children,i=Ae(e,zt);if(1!==W.default.Children.count(o))throw new Error("<CollectionList> only accepts a single child");var a=t.useGetOne(n,r,{enabled:!!r}),l=a.data;return a.isLoading?W.default.createElement("div",{style:{marginTop:8}},W.default.createElement(t.LinearProgress,null)):l?W.default.createElement(U.ReferenceArrayField,Ie({reference:n,record:l,source:"items"},i),o):null},Ut=["source","record","reference","children"],Mt=K.default((function(e){return{items:{background:"#fff",borderRadius:"0.5rem",boxShadow:"0 0 0 1px rgba(0, 0, 0, 0.05), 0px 10px 20px rgba(0, 0, 0, 0.1)",color:"rgba(0, 0, 0, 0.8)",fontSize:"0.9rem",overflow:"hidden",padding:"0.2rem",position:"relative"},item:{background:"transparent",border:"1px solid transparent",borderRadius:"0.4rem",display:"block",margin:0,padding:"0.2rem 0.4rem",textAlign:"left",width:"100%","&.selected":{borderColor:"#000"}}}})),Ht=e.forwardRef((function(t,r){var n=Re(e.useState(0),2),o=n[0],i=n[1],a=Mt(),l=function(e){var r=t.items[e];r&&t.command({id:r})};return e.useEffect((function(){return i(0)}),[t.items]),e.useImperativeHandle(r,(function(){return{onKeyDown:function(e){var r=e.event;return"ArrowUp"===r.key?(i((o+t.items.length-1)%t.items.length),!0):"ArrowDown"===r.key?(i((o+1)%t.items.length),!0):"Enter"===r.key&&(l(o),!0)}}})),W.default.createElement("div",{className:a.items},t.items.length?t.items.map((function(e,t){return W.default.createElement("button",{className:a.item+(t===o?" selected":""),key:t,onClick:function(){return l(t)}},e.label)})):W.default.createElement("div",{className:a.item},"Aucun résultat"))})),Gt=function(){var e,t;return{onStart:function(r){e=new s.ReactRenderer(Ht,{props:r,editor:r.editor}),t=xe.default("body",{getReferenceClientRect:r.clientRect,appendTo:function(){return document.body},content:e.element,showOnCreate:!0,interactive:!0,trigger:"manual",placement:"bottom-start"})},onUpdate:function(r){e.updateProps(r),t[0].setProps({getReferenceClientRect:r.clientRect})},onKeyDown:function(r){var n;return"Escape"===r.event.key?(t[0].hide(),!0):null===(n=e.ref)||void 0===n?void 0:n.onKeyDown(r)},onExit:function(){t[0].destroy(),e.destroy()}}};exports.ACTIVITY_TYPES={ACCEPT:"Accept",ADD:"Add",ANNOUNCE:"Announce",ARRIVE:"Arrive",BLOCK:"Block",CREATE:"Create",DELETE:"Delete",DISLIKE:"Dislike",FLAG:"Flag",FOLLOW:"Follow",IGNORE:"Ignore",INVITE:"Invite",JOIN:"Join",LEAVE:"Leave",LIKE:"Like",LISTEN:"Listen",MOVE:"Move",OFFER:"Offer",QUESTION:"Question",REJECT:"Reject",READ:"Read",REMOVE:"Remove",TENTATIVE_REJECT:"TentativeReject",TENTATIVE_ACCEPT:"TentativeAccept",TRAVAL:"Travel",UNDO:"Undo",UPDATE:"Update",VIEW:"View"},exports.ACTOR_TYPES={APPLICATION:"Application",GROUP:"Group",ORGANIZATION:"Organization",PERSON:"Person",SERVICE:"Service"},exports.CollectionList=Dt,exports.CommentsField=qt,exports.OBJECT_TYPES=St,exports.PUBLIC_URI=It,exports.ReferenceCollectionField=function(e){var t=e.source,r=e.record,n=e.reference,o=e.children,i=Ae(e,Ut);if(1!==W.default.Children.count(o))throw new Error("<ReferenceCollectionField> only accepts a single child");return r&&r[t]?W.default.createElement(Dt,Ie({resource:n,collectionUrl:r[t]},i),o):null},exports.useCollection=Ft,exports.useInbox=function(){var r=t.useGetIdentity().identity,n=e.useMemo((function(){var e;if(null!=r&&r.webIdData)return null==r||null===(e=r.webIdData)||void 0===e?void 0:e.inbox}),[r]),o=e.useMemo((function(){var e,t;if(null!=r&&r.webIdData)return(null==r||null===(e=r.webIdData)||void 0===e||null===(t=e.endpoints)||void 0===t?void 0:t["void:sparqlEndpoint"])||(null==r?void 0:r.id)+"/sparql"}),[r]);return{fetch:e.useCallback(function(){var e=Le(ke().mark((function e(r){var i,l,u,c,s,d,f;return ke().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=r.filters,o&&n){e.next=3;break}return e.abrupt("return");case 3:return l=localStorage.getItem("token"),u=a.buildBlankNodesQuery(["as:object"]),c="",i&&Object.keys(i).forEach((function(e){if(i[e]){var t=i[e].startsWith("http")?"<".concat(i[e],">"):i[e];c+="?s1 ".concat(e," ").concat(t," .")}})),s="\n PREFIX as: <https://www.w3.org/ns/activitystreams#>\n CONSTRUCT {\n ?s1 ?p1 ?o1 .\n ".concat(u.construct,"\n }\n WHERE {\n <").concat(n,"> as:items ?s1 .\n ?s1 ?p1 ?o1 .\n FILTER( (isIRI(?s1)) ) .\n ").concat(c,"\n ").concat(u.where,"\n }\n "),e.next=10,t.fetchUtils.fetchJson(o,{method:"POST",body:s,headers:new Headers({Accept:"application/ld+json",Authorization:l?"Bearer ".concat(l):void 0})});case 10:if(d=e.sent,!(f=d.json)["@graph"]){e.next=16;break}return e.abrupt("return",f["@graph"]);case 16:return e.abrupt("return",null);case 17:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),[o,n]),url:n,owner:null==r?void 0:r.id}},exports.useMentions=function(r){var n,o,i=a.useDataModel(r),l=t.useGetList(r,{filter:{_predicates:[null==i||null===(n=i.fieldsMapping)||void 0===n?void 0:n.title],blankNodes:[]}},{enabled:!(null==i||null===(o=i.fieldsMapping)||void 0===o||!o.title)}).data,u=e.useMemo((function(){if(l)return l.map((function(e){var t;return{id:e.id,label:e[null==i||null===(t=i.fieldsMapping)||void 0===t?void 0:t.title]}}))}),[l]);return{items:e.useMemo((function(){if(u)return function(e){var t=e.query;return u.filter((function(e){return e.label.toLowerCase().startsWith(t.toLowerCase())})).slice(0,5)}}),[u]),render:Gt}},exports.useOutbox=At,exports.useWebfinger=function(){return{fetch:e.useCallback(function(){var e=Le(ke().mark((function e(r){var n,o,i,a,l,u,c,s,d;return ke().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.split("@"),(o=Re(n,3))[0],i=o[1],!(a=o[2])){e.next=18;break}return l=a.includes(":")?"http":"https",u="".concat(l,"://").concat(a,"/.well-known/webfinger?resource=acct:").concat(i,"@").concat(a),e.prev=4,e.next=7,t.fetchUtils.fetchJson(u);case 7:return c=e.sent,s=c.json,d=s.links.find((function(e){return"application/activity+json"===e.type})),e.abrupt("return",d?d.href:null);case 13:return e.prev=13,e.t0=e.catch(4),e.abrupt("return",null);case 16:e.next=19;break;case 18:return e.abrupt("return",null);case 19:case"end":return e.stop()}}),e,null,[[4,13]])})));return function(t){return e.apply(this,arguments)}}(),[])}};
|
|
1
|
+
var $jwOeV$reactjsxruntime = require("react/jsx-runtime");
|
|
2
|
+
var $jwOeV$react = require("react");
|
|
3
|
+
var $jwOeV$reactadmin = require("react-admin");
|
|
4
|
+
var $jwOeV$rainputrichtext = require("ra-input-rich-text");
|
|
5
|
+
var $jwOeV$tiptapextensionplaceholder = require("@tiptap/extension-placeholder");
|
|
6
|
+
var $jwOeV$muimaterial = require("@mui/material");
|
|
7
|
+
var $jwOeV$muistylesmakeStyles = require("@mui/styles/makeStyles");
|
|
8
|
+
var $jwOeV$muiiconsmaterialSend = require("@mui/icons-material/Send");
|
|
9
|
+
var $jwOeV$semappssemanticdataprovider = require("@semapps/semantic-data-provider");
|
|
10
|
+
var $jwOeV$semappsauthprovider = require("@semapps/auth-provider");
|
|
11
|
+
var $jwOeV$tiptapcore = require("@tiptap/core");
|
|
12
|
+
var $jwOeV$tiptapextensionmention = require("@tiptap/extension-mention");
|
|
13
|
+
var $jwOeV$semappsfieldcomponents = require("@semapps/field-components");
|
|
14
|
+
var $jwOeV$tiptapreact = require("@tiptap/react");
|
|
15
|
+
var $jwOeV$tippyjs = require("tippy.js");
|
|
16
|
+
|
|
17
|
+
function $parcel$export(e, n, v, s) {
|
|
18
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
19
|
+
}
|
|
20
|
+
function $parcel$interopDefault(a) {
|
|
21
|
+
return a && a.__esModule ? a.default : a;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
$parcel$export(module.exports, "CommentsField", () => $2e5504cc4159ca8d$export$2e2bcd8739ae039);
|
|
25
|
+
$parcel$export(module.exports, "CollectionList", () => $505d598a33288aad$export$2e2bcd8739ae039);
|
|
26
|
+
$parcel$export(module.exports, "ReferenceCollectionField", () => $b0c94a9bdea99da5$export$2e2bcd8739ae039);
|
|
27
|
+
$parcel$export(module.exports, "useCollection", () => $2b75a2f49c9ef165$export$2e2bcd8739ae039);
|
|
28
|
+
$parcel$export(module.exports, "useInbox", () => $97664763db3c0a46$export$2e2bcd8739ae039);
|
|
29
|
+
$parcel$export(module.exports, "useOutbox", () => $decfdd34cc00b80e$export$2e2bcd8739ae039);
|
|
30
|
+
$parcel$export(module.exports, "useWebfinger", () => $5b61553556e35016$export$2e2bcd8739ae039);
|
|
31
|
+
$parcel$export(module.exports, "useMentions", () => $968ea07fb81eda0b$export$2e2bcd8739ae039);
|
|
32
|
+
$parcel$export(module.exports, "ACTIVITY_TYPES", () => $ebea823cebb2f44b$export$1ec8e53e7d982d22);
|
|
33
|
+
$parcel$export(module.exports, "ACTOR_TYPES", () => $ebea823cebb2f44b$export$9649665d7ccb0dc2);
|
|
34
|
+
$parcel$export(module.exports, "OBJECT_TYPES", () => $ebea823cebb2f44b$export$c49cfb2681596b20);
|
|
35
|
+
$parcel$export(module.exports, "PUBLIC_URI", () => $ebea823cebb2f44b$export$4d8d554031975581);
|
|
36
|
+
// Components
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
const $ebea823cebb2f44b$export$1ec8e53e7d982d22 = {
|
|
51
|
+
ACCEPT: "Accept",
|
|
52
|
+
ADD: "Add",
|
|
53
|
+
ANNOUNCE: "Announce",
|
|
54
|
+
ARRIVE: "Arrive",
|
|
55
|
+
BLOCK: "Block",
|
|
56
|
+
CREATE: "Create",
|
|
57
|
+
DELETE: "Delete",
|
|
58
|
+
DISLIKE: "Dislike",
|
|
59
|
+
FLAG: "Flag",
|
|
60
|
+
FOLLOW: "Follow",
|
|
61
|
+
IGNORE: "Ignore",
|
|
62
|
+
INVITE: "Invite",
|
|
63
|
+
JOIN: "Join",
|
|
64
|
+
LEAVE: "Leave",
|
|
65
|
+
LIKE: "Like",
|
|
66
|
+
LISTEN: "Listen",
|
|
67
|
+
MOVE: "Move",
|
|
68
|
+
OFFER: "Offer",
|
|
69
|
+
QUESTION: "Question",
|
|
70
|
+
REJECT: "Reject",
|
|
71
|
+
READ: "Read",
|
|
72
|
+
REMOVE: "Remove",
|
|
73
|
+
TENTATIVE_REJECT: "TentativeReject",
|
|
74
|
+
TENTATIVE_ACCEPT: "TentativeAccept",
|
|
75
|
+
TRAVAL: "Travel",
|
|
76
|
+
UNDO: "Undo",
|
|
77
|
+
UPDATE: "Update",
|
|
78
|
+
VIEW: "View"
|
|
79
|
+
};
|
|
80
|
+
const $ebea823cebb2f44b$export$9649665d7ccb0dc2 = {
|
|
81
|
+
APPLICATION: "Application",
|
|
82
|
+
GROUP: "Group",
|
|
83
|
+
ORGANIZATION: "Organization",
|
|
84
|
+
PERSON: "Person",
|
|
85
|
+
SERVICE: "Service"
|
|
86
|
+
};
|
|
87
|
+
const $ebea823cebb2f44b$export$c49cfb2681596b20 = {
|
|
88
|
+
ARTICLE: "Article",
|
|
89
|
+
AUDIO: "Audio",
|
|
90
|
+
DOCUMENT: "Document",
|
|
91
|
+
EVENT: "Event",
|
|
92
|
+
IMAGE: "Image",
|
|
93
|
+
NOTE: "Note",
|
|
94
|
+
PAGE: "Page",
|
|
95
|
+
PLACE: "Place",
|
|
96
|
+
PROFILE: "Profile",
|
|
97
|
+
RELATIONSHIP: "Relationship",
|
|
98
|
+
TOMBSTONE: "Tombstone",
|
|
99
|
+
VIDEO: "Video"
|
|
100
|
+
};
|
|
101
|
+
const $ebea823cebb2f44b$export$4d8d554031975581 = "https://www.w3.org/ns/activitystreams#Public";
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
const $decfdd34cc00b80e$var$useOutbox = ()=>{
|
|
108
|
+
const { identity: identity } = (0, $jwOeV$reactadmin.useGetIdentity)();
|
|
109
|
+
const outboxUrl = (0, $jwOeV$react.useMemo)(()=>{
|
|
110
|
+
if (identity?.webIdData) return identity?.webIdData?.outbox;
|
|
111
|
+
}, [
|
|
112
|
+
identity
|
|
113
|
+
]);
|
|
114
|
+
const sparqlEndpoint = (0, $jwOeV$react.useMemo)(()=>{
|
|
115
|
+
if (identity?.webIdData) return identity?.webIdData?.endpoints?.["void:sparqlEndpoint"] || `${identity?.id}/sparql`;
|
|
116
|
+
}, [
|
|
117
|
+
identity
|
|
118
|
+
]);
|
|
119
|
+
// Post an activity to the logged user's outbox and return its URI
|
|
120
|
+
const post = (0, $jwOeV$react.useCallback)(async (activity)=>{
|
|
121
|
+
if (!outboxUrl) throw new Error("Cannot post to outbox before user identity is loaded. Please use the loaded argument of useOutbox");
|
|
122
|
+
const token = localStorage.getItem("token");
|
|
123
|
+
const { headers: headers } = await (0, $jwOeV$reactadmin.fetchUtils).fetchJson(outboxUrl, {
|
|
124
|
+
method: "POST",
|
|
125
|
+
body: JSON.stringify({
|
|
126
|
+
"@context": "https://www.w3.org/ns/activitystreams",
|
|
127
|
+
...activity
|
|
128
|
+
}),
|
|
129
|
+
headers: new Headers({
|
|
130
|
+
"Content-Type": "application/ld+json",
|
|
131
|
+
Authorization: `Bearer ${token}`
|
|
132
|
+
})
|
|
133
|
+
});
|
|
134
|
+
return headers.get("Location");
|
|
135
|
+
}, [
|
|
136
|
+
outboxUrl
|
|
137
|
+
]);
|
|
138
|
+
const fetch = (0, $jwOeV$react.useCallback)(async ()=>{
|
|
139
|
+
if (!sparqlEndpoint || !outboxUrl) return;
|
|
140
|
+
const token = localStorage.getItem("token");
|
|
141
|
+
const blankNodesQuery = (0, $jwOeV$semappssemanticdataprovider.buildBlankNodesQuery)([
|
|
142
|
+
"as:object"
|
|
143
|
+
]);
|
|
144
|
+
const query = `
|
|
145
|
+
PREFIX as: <https://www.w3.org/ns/activitystreams#>
|
|
146
|
+
CONSTRUCT {
|
|
147
|
+
?s1 ?p1 ?o1 .
|
|
148
|
+
${blankNodesQuery.construct}
|
|
149
|
+
}
|
|
150
|
+
WHERE {
|
|
151
|
+
<${outboxUrl}> as:items ?s1 .
|
|
152
|
+
?s1 ?p1 ?o1 .
|
|
153
|
+
${blankNodesQuery.where}
|
|
154
|
+
}
|
|
155
|
+
`;
|
|
156
|
+
const { json: json } = await (0, $jwOeV$reactadmin.fetchUtils).fetchJson(sparqlEndpoint, {
|
|
157
|
+
method: "POST",
|
|
158
|
+
body: query,
|
|
159
|
+
headers: new Headers({
|
|
160
|
+
Accept: "application/ld+json",
|
|
161
|
+
Authorization: token ? `Bearer ${token}` : undefined
|
|
162
|
+
})
|
|
163
|
+
});
|
|
164
|
+
if (json["@graph"]) return json["@graph"];
|
|
165
|
+
return null;
|
|
166
|
+
}, [
|
|
167
|
+
sparqlEndpoint,
|
|
168
|
+
outboxUrl
|
|
169
|
+
]);
|
|
170
|
+
return {
|
|
171
|
+
post: post,
|
|
172
|
+
fetch: fetch,
|
|
173
|
+
url: outboxUrl,
|
|
174
|
+
loaded: !!outboxUrl,
|
|
175
|
+
owner: identity?.id
|
|
176
|
+
};
|
|
177
|
+
};
|
|
178
|
+
var $decfdd34cc00b80e$export$2e2bcd8739ae039 = $decfdd34cc00b80e$var$useOutbox;
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
// Fix a bug in the current version of the mention extension
|
|
184
|
+
// (The { id, label } object is located inside the id property)
|
|
185
|
+
// See https://github.com/ueberdosis/tiptap/pull/1322
|
|
186
|
+
const $9b1343b281972d72$var$CustomMention = (0, ($parcel$interopDefault($jwOeV$tiptapextensionmention))).extend({
|
|
187
|
+
renderHTML ({ node: node, HTMLAttributes: HTMLAttributes }) {
|
|
188
|
+
return [
|
|
189
|
+
"span",
|
|
190
|
+
(0, $jwOeV$tiptapcore.mergeAttributes)(this.options.HTMLAttributes, HTMLAttributes),
|
|
191
|
+
`@${node.attrs.id.label}`
|
|
192
|
+
];
|
|
193
|
+
},
|
|
194
|
+
addAttributes () {
|
|
195
|
+
return {
|
|
196
|
+
label: {
|
|
197
|
+
default: null,
|
|
198
|
+
parseHTML: (element)=>{
|
|
199
|
+
return {
|
|
200
|
+
label: element.getAttribute("data-mention-label")
|
|
201
|
+
};
|
|
202
|
+
},
|
|
203
|
+
renderHTML: (attributes)=>{
|
|
204
|
+
if (!attributes.id.label) return {};
|
|
205
|
+
return {
|
|
206
|
+
"data-mention-label": attributes.id.label
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
},
|
|
210
|
+
id: {
|
|
211
|
+
default: null,
|
|
212
|
+
parseHTML: (element)=>{
|
|
213
|
+
return {
|
|
214
|
+
id: element.getAttribute("data-mention-id")
|
|
215
|
+
};
|
|
216
|
+
},
|
|
217
|
+
renderHTML: (attributes)=>{
|
|
218
|
+
if (!attributes.id.id) return {};
|
|
219
|
+
return {
|
|
220
|
+
"data-mention-id": attributes.id.id
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
}
|
|
226
|
+
});
|
|
227
|
+
var $9b1343b281972d72$export$2e2bcd8739ae039 = $9b1343b281972d72$var$CustomMention;
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
const $703eba3e46be7ee5$var$useStyles = (0, ($parcel$interopDefault($jwOeV$muistylesmakeStyles)))((theme)=>({
|
|
231
|
+
form: {
|
|
232
|
+
marginTop: -12 // Negative margin to keep the form close to the label
|
|
233
|
+
},
|
|
234
|
+
container: {
|
|
235
|
+
paddingLeft: 80,
|
|
236
|
+
position: "relative"
|
|
237
|
+
},
|
|
238
|
+
avatar: {
|
|
239
|
+
position: "absolute",
|
|
240
|
+
top: 16,
|
|
241
|
+
left: 0,
|
|
242
|
+
bottom: 0,
|
|
243
|
+
width: 64,
|
|
244
|
+
height: 64
|
|
245
|
+
},
|
|
246
|
+
editorContent: {
|
|
247
|
+
"& > div": {
|
|
248
|
+
backgroundColor: "rgba(0, 0, 0, 0.09)",
|
|
249
|
+
padding: "2px 12px",
|
|
250
|
+
borderWidth: "0px !important",
|
|
251
|
+
borderRadius: 0,
|
|
252
|
+
borderBottom: "1px solid #FFF",
|
|
253
|
+
minHeight: 60,
|
|
254
|
+
outline: "unset !important"
|
|
255
|
+
},
|
|
256
|
+
"& > div > p": {
|
|
257
|
+
marginTop: 12,
|
|
258
|
+
marginBottom: 12,
|
|
259
|
+
fontFamily: theme.typography.body1.fontFamily,
|
|
260
|
+
marginBlockStart: "0.5em",
|
|
261
|
+
marginBlockEnd: "0.5em"
|
|
262
|
+
},
|
|
263
|
+
"& > div > p.is-editor-empty:first-child::before": {
|
|
264
|
+
color: "grey",
|
|
265
|
+
content: "attr(data-placeholder)",
|
|
266
|
+
float: "left",
|
|
267
|
+
height: 0,
|
|
268
|
+
pointerEvents: "none"
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
button: {
|
|
272
|
+
marginTop: -10,
|
|
273
|
+
marginBottom: 15
|
|
274
|
+
}
|
|
275
|
+
}));
|
|
276
|
+
const $703eba3e46be7ee5$var$EmptyToolbar = ()=>null;
|
|
277
|
+
const $703eba3e46be7ee5$var$PostCommentForm = ({ context: context, placeholder: placeholder, helperText: helperText, mentions: mentions, userResource: userResource, addItem: addItem, removeItem: removeItem })=>{
|
|
278
|
+
const record = (0, $jwOeV$reactadmin.useRecordContext)();
|
|
279
|
+
const { identity: identity, isLoading: isLoading } = (0, $jwOeV$reactadmin.useGetIdentity)();
|
|
280
|
+
const userDataModel = (0, $jwOeV$semappssemanticdataprovider.useDataModel)(userResource);
|
|
281
|
+
const classes = $703eba3e46be7ee5$var$useStyles();
|
|
282
|
+
const notify = (0, $jwOeV$reactadmin.useNotify)();
|
|
283
|
+
const outbox = (0, $decfdd34cc00b80e$export$2e2bcd8739ae039)();
|
|
284
|
+
const [expanded, setExpanded] = (0, $jwOeV$react.useState)(false);
|
|
285
|
+
const [openAuth, setOpenAuth] = (0, $jwOeV$react.useState)(false);
|
|
286
|
+
const onSubmit = (0, $jwOeV$react.useCallback)(async (values)=>{
|
|
287
|
+
const document = new DOMParser().parseFromString(values.comment, "text/html");
|
|
288
|
+
const mentions = Array.from(document.body.getElementsByClassName("mention"));
|
|
289
|
+
const mentionedUsersUris = [];
|
|
290
|
+
mentions.forEach((node)=>{
|
|
291
|
+
const userUri = node.attributes["data-mention-id"].value;
|
|
292
|
+
const userLabel = node.attributes["data-mention-label"].value;
|
|
293
|
+
const link = document.createElement("a");
|
|
294
|
+
link.setAttribute("href", `${new URL(window.location.href).origin}/${userResource}/${encodeURIComponent(userUri)}/show`);
|
|
295
|
+
link.textContent = `@${userLabel}`;
|
|
296
|
+
node.parentNode.replaceChild(link, node);
|
|
297
|
+
mentionedUsersUris.push(userUri);
|
|
298
|
+
});
|
|
299
|
+
if (document.body.innerHTML === "undefined") notify("Votre commentaire est vide", {
|
|
300
|
+
type: "error"
|
|
301
|
+
});
|
|
302
|
+
else {
|
|
303
|
+
const tempId = Date.now();
|
|
304
|
+
const note = {
|
|
305
|
+
type: (0, $ebea823cebb2f44b$export$c49cfb2681596b20).NOTE,
|
|
306
|
+
attributedTo: outbox.owner,
|
|
307
|
+
content: document.body.innerHTML,
|
|
308
|
+
inReplyTo: record[context],
|
|
309
|
+
published: new Date().toISOString()
|
|
310
|
+
};
|
|
311
|
+
try {
|
|
312
|
+
addItem({
|
|
313
|
+
id: tempId,
|
|
314
|
+
...note
|
|
315
|
+
});
|
|
316
|
+
// TODO reset the form
|
|
317
|
+
setExpanded(false);
|
|
318
|
+
await outbox.post({
|
|
319
|
+
...note,
|
|
320
|
+
to: [
|
|
321
|
+
...mentionedUsersUris,
|
|
322
|
+
(0, $ebea823cebb2f44b$export$4d8d554031975581)
|
|
323
|
+
]
|
|
324
|
+
});
|
|
325
|
+
notify("Commentaire post\xe9 avec succ\xe8s", {
|
|
326
|
+
type: "success"
|
|
327
|
+
});
|
|
328
|
+
} catch (e) {
|
|
329
|
+
console.error(e);
|
|
330
|
+
removeItem(tempId);
|
|
331
|
+
notify(e.message, {
|
|
332
|
+
type: "error"
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}, [
|
|
337
|
+
outbox,
|
|
338
|
+
notify,
|
|
339
|
+
setExpanded,
|
|
340
|
+
addItem,
|
|
341
|
+
removeItem
|
|
342
|
+
]);
|
|
343
|
+
const openAuthIfDisconnected = (0, $jwOeV$react.useCallback)(()=>{
|
|
344
|
+
if (!identity?.id) setOpenAuth(true);
|
|
345
|
+
}, [
|
|
346
|
+
identity,
|
|
347
|
+
setOpenAuth
|
|
348
|
+
]);
|
|
349
|
+
// Don't init the editor options until mentions and identity are loaded, as they can only be initialized once
|
|
350
|
+
if (mentions && !mentions.items || isLoading) return null;
|
|
351
|
+
return /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsxs)((0, $jwOeV$reactjsxruntime.Fragment), {
|
|
352
|
+
children: [
|
|
353
|
+
/*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $jwOeV$reactadmin.Form), {
|
|
354
|
+
onSubmit: onSubmit,
|
|
355
|
+
className: classes.form,
|
|
356
|
+
children: /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsxs)((0, $jwOeV$muimaterial.Box), {
|
|
357
|
+
className: classes.container,
|
|
358
|
+
onClick: openAuthIfDisconnected,
|
|
359
|
+
children: [
|
|
360
|
+
/*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $jwOeV$muimaterial.Avatar), {
|
|
361
|
+
src: identity?.webIdData?.[userDataModel?.fieldsMapping?.image] || identity?.profileData?.[userDataModel?.fieldsMapping?.image],
|
|
362
|
+
className: classes.avatar
|
|
363
|
+
}),
|
|
364
|
+
/*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $jwOeV$rainputrichtext.RichTextInput), {
|
|
365
|
+
source: "comment",
|
|
366
|
+
label: " ",
|
|
367
|
+
toolbar: /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)($703eba3e46be7ee5$var$EmptyToolbar, {}),
|
|
368
|
+
fullWidth: true,
|
|
369
|
+
classes: {
|
|
370
|
+
editorContent: classes.editorContent
|
|
371
|
+
},
|
|
372
|
+
editorOptions: {
|
|
373
|
+
...(0, $jwOeV$rainputrichtext.DefaultEditorOptions),
|
|
374
|
+
onFocus () {
|
|
375
|
+
setExpanded(true);
|
|
376
|
+
},
|
|
377
|
+
extensions: [
|
|
378
|
+
...(0, $jwOeV$rainputrichtext.DefaultEditorOptions).extensions,
|
|
379
|
+
placeholder ? (0, ($parcel$interopDefault($jwOeV$tiptapextensionplaceholder))).configure({
|
|
380
|
+
placeholder: placeholder
|
|
381
|
+
}) : null,
|
|
382
|
+
mentions ? (0, $9b1343b281972d72$export$2e2bcd8739ae039).configure({
|
|
383
|
+
HTMLAttributes: {
|
|
384
|
+
class: "mention"
|
|
385
|
+
},
|
|
386
|
+
suggestion: mentions
|
|
387
|
+
}) : null
|
|
388
|
+
],
|
|
389
|
+
// Disable editor if user is not connected
|
|
390
|
+
editable: !!identity?.id
|
|
391
|
+
},
|
|
392
|
+
helperText: helperText
|
|
393
|
+
}),
|
|
394
|
+
expanded && /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $jwOeV$muimaterial.Button), {
|
|
395
|
+
type: "submit",
|
|
396
|
+
size: "small",
|
|
397
|
+
variant: "contained",
|
|
398
|
+
color: "primary",
|
|
399
|
+
endIcon: /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, ($parcel$interopDefault($jwOeV$muiiconsmaterialSend))), {}),
|
|
400
|
+
className: classes.button,
|
|
401
|
+
children: "Envoyer"
|
|
402
|
+
})
|
|
403
|
+
]
|
|
404
|
+
})
|
|
405
|
+
}),
|
|
406
|
+
/*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $jwOeV$semappsauthprovider.AuthDialog), {
|
|
407
|
+
open: openAuth,
|
|
408
|
+
onClose: ()=>setOpenAuth(false),
|
|
409
|
+
message: "Pour poster un commentaire, vous devez \xeatre connect\xe9."
|
|
410
|
+
})
|
|
411
|
+
]
|
|
412
|
+
});
|
|
413
|
+
};
|
|
414
|
+
var $703eba3e46be7ee5$export$2e2bcd8739ae039 = $703eba3e46be7ee5$var$PostCommentForm;
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
|
|
423
|
+
|
|
424
|
+
const $d68cd57b2d06b6d5$var$useStyles = (0, ($parcel$interopDefault($jwOeV$muistylesmakeStyles)))(()=>({
|
|
425
|
+
container: {
|
|
426
|
+
paddingLeft: 80,
|
|
427
|
+
marginTop: 8,
|
|
428
|
+
minHeight: 80,
|
|
429
|
+
position: "relative"
|
|
430
|
+
},
|
|
431
|
+
avatar: {
|
|
432
|
+
position: "absolute",
|
|
433
|
+
top: 0,
|
|
434
|
+
left: 0,
|
|
435
|
+
bottom: 0,
|
|
436
|
+
width: 64,
|
|
437
|
+
height: 64
|
|
438
|
+
},
|
|
439
|
+
text: {
|
|
440
|
+
paddingTop: 2,
|
|
441
|
+
paddingBottom: 8
|
|
442
|
+
},
|
|
443
|
+
label: {
|
|
444
|
+
fontWeight: "bold"
|
|
445
|
+
},
|
|
446
|
+
content: {
|
|
447
|
+
"& p": {
|
|
448
|
+
marginBlockStart: "0.5em",
|
|
449
|
+
marginBlockEnd: "0.5em"
|
|
450
|
+
}
|
|
451
|
+
},
|
|
452
|
+
loading: {
|
|
453
|
+
zIndex: 1000,
|
|
454
|
+
backgroundColor: "white",
|
|
455
|
+
opacity: 0.5,
|
|
456
|
+
position: "absolute",
|
|
457
|
+
top: 0,
|
|
458
|
+
left: 0,
|
|
459
|
+
right: 0,
|
|
460
|
+
bottom: 0,
|
|
461
|
+
display: "flex",
|
|
462
|
+
alignItems: "center",
|
|
463
|
+
justifyContent: "center",
|
|
464
|
+
minHeight: 200,
|
|
465
|
+
marginTop: 5
|
|
466
|
+
}
|
|
467
|
+
}));
|
|
468
|
+
const $d68cd57b2d06b6d5$var$CommentsList = ({ comments: comments, userResource: userResource, loading: loading })=>{
|
|
469
|
+
const classes = $d68cd57b2d06b6d5$var$useStyles();
|
|
470
|
+
const userDataModel = (0, $jwOeV$semappssemanticdataprovider.useDataModel)(userResource);
|
|
471
|
+
return /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsxs)((0, $jwOeV$muimaterial.Box), {
|
|
472
|
+
position: "relative",
|
|
473
|
+
children: [
|
|
474
|
+
comments && comments.sort((a, b)=>new Date(b.published) - new Date(a.published)).map((comment)=>/*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsxs)((0, $jwOeV$muimaterial.Box), {
|
|
475
|
+
className: classes.container,
|
|
476
|
+
children: [
|
|
477
|
+
/*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $jwOeV$muimaterial.Box), {
|
|
478
|
+
className: classes.avatar,
|
|
479
|
+
children: /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $jwOeV$semappsfieldcomponents.ReferenceField), {
|
|
480
|
+
record: comment,
|
|
481
|
+
reference: userResource,
|
|
482
|
+
source: "attributedTo",
|
|
483
|
+
linkType: "show",
|
|
484
|
+
children: /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $jwOeV$semappsfieldcomponents.AvatarWithLabelField), {
|
|
485
|
+
image: userDataModel?.fieldsMapping?.image
|
|
486
|
+
})
|
|
487
|
+
})
|
|
488
|
+
}),
|
|
489
|
+
/*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsxs)((0, $jwOeV$muimaterial.Box), {
|
|
490
|
+
className: classes.text,
|
|
491
|
+
children: [
|
|
492
|
+
/*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsxs)((0, $jwOeV$muimaterial.Typography), {
|
|
493
|
+
variant: "body2",
|
|
494
|
+
children: [
|
|
495
|
+
/*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $jwOeV$semappsfieldcomponents.ReferenceField), {
|
|
496
|
+
record: comment,
|
|
497
|
+
reference: userResource,
|
|
498
|
+
source: "attributedTo",
|
|
499
|
+
linkType: "show",
|
|
500
|
+
children: /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $jwOeV$reactadmin.TextField), {
|
|
501
|
+
variant: "body2",
|
|
502
|
+
source: userDataModel?.fieldsMapping?.title,
|
|
503
|
+
className: classes.label
|
|
504
|
+
})
|
|
505
|
+
}),
|
|
506
|
+
"\xa0•\xa0",
|
|
507
|
+
/*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $jwOeV$reactadmin.DateField), {
|
|
508
|
+
record: comment,
|
|
509
|
+
variant: "body2",
|
|
510
|
+
source: "published",
|
|
511
|
+
showTime: true
|
|
512
|
+
})
|
|
513
|
+
]
|
|
514
|
+
}),
|
|
515
|
+
/*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $jwOeV$reactadmin.RichTextField), {
|
|
516
|
+
record: comment,
|
|
517
|
+
variant: "body1",
|
|
518
|
+
source: "content",
|
|
519
|
+
className: classes.content
|
|
520
|
+
})
|
|
521
|
+
]
|
|
522
|
+
})
|
|
523
|
+
]
|
|
524
|
+
}, comment.id)),
|
|
525
|
+
loading && /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $jwOeV$muimaterial.Box), {
|
|
526
|
+
minHeight: 200,
|
|
527
|
+
children: /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $jwOeV$muimaterial.Box), {
|
|
528
|
+
alignItems: "center",
|
|
529
|
+
className: classes.loading,
|
|
530
|
+
children: /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $jwOeV$muimaterial.CircularProgress), {
|
|
531
|
+
size: 60,
|
|
532
|
+
thickness: 6
|
|
533
|
+
})
|
|
534
|
+
})
|
|
535
|
+
})
|
|
536
|
+
]
|
|
537
|
+
});
|
|
538
|
+
};
|
|
539
|
+
var $d68cd57b2d06b6d5$export$2e2bcd8739ae039 = $d68cd57b2d06b6d5$var$CommentsList;
|
|
540
|
+
|
|
541
|
+
|
|
542
|
+
|
|
543
|
+
|
|
544
|
+
const $2b75a2f49c9ef165$var$useCollection = (predicateOrUrl)=>{
|
|
545
|
+
const { identity: identity, isLoading: identityLoading } = (0, $jwOeV$reactadmin.useGetIdentity)();
|
|
546
|
+
const [items, setItems] = (0, $jwOeV$react.useState)([]);
|
|
547
|
+
const [loading, setLoading] = (0, $jwOeV$react.useState)(false);
|
|
548
|
+
const [loaded, setLoaded] = (0, $jwOeV$react.useState)(false);
|
|
549
|
+
const [error, setError] = (0, $jwOeV$react.useState)(false);
|
|
550
|
+
const collectionUrl = (0, $jwOeV$react.useMemo)(()=>{
|
|
551
|
+
if (predicateOrUrl) {
|
|
552
|
+
if (predicateOrUrl.startsWith("http")) return predicateOrUrl;
|
|
553
|
+
if (identity?.webIdData) return identity?.webIdData?.[predicateOrUrl];
|
|
554
|
+
}
|
|
555
|
+
}, [
|
|
556
|
+
identity,
|
|
557
|
+
predicateOrUrl
|
|
558
|
+
]);
|
|
559
|
+
const fetch = (0, $jwOeV$react.useCallback)(async ()=>{
|
|
560
|
+
if (!collectionUrl) return;
|
|
561
|
+
setLoading(true);
|
|
562
|
+
const headers = new Headers({
|
|
563
|
+
Accept: "application/ld+json"
|
|
564
|
+
});
|
|
565
|
+
// Add authorization token if it is set and if the user is on the same server as the collection
|
|
566
|
+
const identityOrigin = identity.id && new URL(identity.id).origin;
|
|
567
|
+
const collectionOrigin = new URL(collectionUrl).origin;
|
|
568
|
+
const token = localStorage.getItem("token");
|
|
569
|
+
if (identityOrigin === collectionOrigin && token) headers.set("Authorization", `Bearer ${token}`);
|
|
570
|
+
(0, $jwOeV$reactadmin.fetchUtils).fetchJson(collectionUrl, {
|
|
571
|
+
headers: headers
|
|
572
|
+
}).then(({ json: json })=>{
|
|
573
|
+
if (json && json.items) setItems(json.items);
|
|
574
|
+
else if (json && json.orderedItems) setItems(json.orderedItems);
|
|
575
|
+
else setItems([]);
|
|
576
|
+
setError(false);
|
|
577
|
+
setLoaded(true);
|
|
578
|
+
setLoading(false);
|
|
579
|
+
}).catch(()=>{
|
|
580
|
+
setError(true);
|
|
581
|
+
setLoaded(true);
|
|
582
|
+
setLoading(false);
|
|
583
|
+
});
|
|
584
|
+
}, [
|
|
585
|
+
setItems,
|
|
586
|
+
setLoaded,
|
|
587
|
+
setLoading,
|
|
588
|
+
setError,
|
|
589
|
+
collectionUrl,
|
|
590
|
+
identity
|
|
591
|
+
]);
|
|
592
|
+
(0, $jwOeV$react.useEffect)(()=>{
|
|
593
|
+
if (!identityLoading && !loading && !loaded && !error) fetch();
|
|
594
|
+
}, [
|
|
595
|
+
fetch,
|
|
596
|
+
identityLoading,
|
|
597
|
+
loading,
|
|
598
|
+
loaded,
|
|
599
|
+
error
|
|
600
|
+
]);
|
|
601
|
+
const addItem = (0, $jwOeV$react.useCallback)((item)=>{
|
|
602
|
+
setItems((oldItems)=>[
|
|
603
|
+
...oldItems,
|
|
604
|
+
item
|
|
605
|
+
]);
|
|
606
|
+
}, [
|
|
607
|
+
setItems
|
|
608
|
+
]);
|
|
609
|
+
const removeItem = (0, $jwOeV$react.useCallback)((itemId)=>{
|
|
610
|
+
setItems((oldItems)=>oldItems.filter((item)=>typeof item === "string" ? item !== itemId : item.id !== itemId));
|
|
611
|
+
}, [
|
|
612
|
+
setItems
|
|
613
|
+
]);
|
|
614
|
+
return {
|
|
615
|
+
items: items,
|
|
616
|
+
loading: loading,
|
|
617
|
+
loaded: loaded,
|
|
618
|
+
error: error,
|
|
619
|
+
refetch: fetch,
|
|
620
|
+
addItem: addItem,
|
|
621
|
+
removeItem: removeItem,
|
|
622
|
+
url: collectionUrl
|
|
623
|
+
};
|
|
624
|
+
};
|
|
625
|
+
var $2b75a2f49c9ef165$export$2e2bcd8739ae039 = $2b75a2f49c9ef165$var$useCollection;
|
|
626
|
+
|
|
627
|
+
|
|
628
|
+
const $2e5504cc4159ca8d$var$CommentsField = ({ source: source, context: context, helperText: helperText, placeholder: placeholder, userResource: userResource, mentions: mentions })=>{
|
|
629
|
+
const record = (0, $jwOeV$reactadmin.useRecordContext)();
|
|
630
|
+
const { items: comments, loading: loading, addItem: addItem, removeItem: removeItem } = (0, $2b75a2f49c9ef165$export$2e2bcd8739ae039)(record.replies);
|
|
631
|
+
if (!userResource) throw new Error("No userResource defined for CommentsField");
|
|
632
|
+
return /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsxs)((0, $jwOeV$reactjsxruntime.Fragment), {
|
|
633
|
+
children: [
|
|
634
|
+
/*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $703eba3e46be7ee5$export$2e2bcd8739ae039), {
|
|
635
|
+
context: context,
|
|
636
|
+
helperText: helperText,
|
|
637
|
+
userResource: userResource,
|
|
638
|
+
placeholder: placeholder,
|
|
639
|
+
mentions: mentions,
|
|
640
|
+
addItem: addItem,
|
|
641
|
+
removeItem: removeItem
|
|
642
|
+
}),
|
|
643
|
+
/*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $d68cd57b2d06b6d5$export$2e2bcd8739ae039), {
|
|
644
|
+
comments: comments,
|
|
645
|
+
loading: loading,
|
|
646
|
+
userResource: userResource
|
|
647
|
+
})
|
|
648
|
+
]
|
|
649
|
+
});
|
|
650
|
+
};
|
|
651
|
+
$2e5504cc4159ca8d$var$CommentsField.defaultProps = {
|
|
652
|
+
label: "Commentaires",
|
|
653
|
+
placeholder: "Commencez \xe0 taper votre commentaire...",
|
|
654
|
+
source: "id",
|
|
655
|
+
context: "id"
|
|
656
|
+
};
|
|
657
|
+
var $2e5504cc4159ca8d$export$2e2bcd8739ae039 = $2e5504cc4159ca8d$var$CommentsField;
|
|
658
|
+
|
|
659
|
+
|
|
660
|
+
|
|
661
|
+
|
|
662
|
+
|
|
663
|
+
|
|
664
|
+
const $505d598a33288aad$var$CollectionList = ({ collectionUrl: collectionUrl, resource: resource, children: children, ...rest })=>{
|
|
665
|
+
if ((0, ($parcel$interopDefault($jwOeV$react))).Children.count(children) !== 1) throw new Error("<CollectionList> only accepts a single child");
|
|
666
|
+
// TODO use a simple fetch call, as the resource is not good and it is useless
|
|
667
|
+
const { data: collection, isLoading: isLoading } = (0, $jwOeV$reactadmin.useGetOne)(resource, collectionUrl, {
|
|
668
|
+
enabled: !!collectionUrl
|
|
669
|
+
});
|
|
670
|
+
if (isLoading) return /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)("div", {
|
|
671
|
+
style: {
|
|
672
|
+
marginTop: 8
|
|
673
|
+
},
|
|
674
|
+
children: /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $jwOeV$reactadmin.LinearProgress), {})
|
|
675
|
+
});
|
|
676
|
+
if (!collection) return null;
|
|
677
|
+
return /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $jwOeV$semappsfieldcomponents.ReferenceArrayField), {
|
|
678
|
+
reference: resource,
|
|
679
|
+
record: collection,
|
|
680
|
+
source: "items",
|
|
681
|
+
...rest,
|
|
682
|
+
children: children
|
|
683
|
+
});
|
|
684
|
+
};
|
|
685
|
+
var $505d598a33288aad$export$2e2bcd8739ae039 = $505d598a33288aad$var$CollectionList;
|
|
686
|
+
|
|
687
|
+
|
|
688
|
+
|
|
689
|
+
|
|
690
|
+
|
|
691
|
+
const $b0c94a9bdea99da5$var$ReferenceCollectionField = ({ source: source, record: record, reference: reference, children: children, ...rest })=>{
|
|
692
|
+
if ((0, ($parcel$interopDefault($jwOeV$react))).Children.count(children) !== 1) throw new Error("<ReferenceCollectionField> only accepts a single child");
|
|
693
|
+
if (!record || !record[source]) return null;
|
|
694
|
+
return /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)((0, $505d598a33288aad$export$2e2bcd8739ae039), {
|
|
695
|
+
resource: reference,
|
|
696
|
+
collectionUrl: record[source],
|
|
697
|
+
...rest,
|
|
698
|
+
children: children
|
|
699
|
+
});
|
|
700
|
+
};
|
|
701
|
+
var $b0c94a9bdea99da5$export$2e2bcd8739ae039 = $b0c94a9bdea99da5$var$ReferenceCollectionField;
|
|
702
|
+
|
|
703
|
+
|
|
704
|
+
|
|
705
|
+
|
|
706
|
+
|
|
707
|
+
|
|
708
|
+
const $97664763db3c0a46$var$useInbox = ()=>{
|
|
709
|
+
const { identity: identity } = (0, $jwOeV$reactadmin.useGetIdentity)();
|
|
710
|
+
const inboxUrl = (0, $jwOeV$react.useMemo)(()=>{
|
|
711
|
+
if (identity?.webIdData) return identity?.webIdData?.inbox;
|
|
712
|
+
}, [
|
|
713
|
+
identity
|
|
714
|
+
]);
|
|
715
|
+
const sparqlEndpoint = (0, $jwOeV$react.useMemo)(()=>{
|
|
716
|
+
if (identity?.webIdData) return identity?.webIdData?.endpoints?.["void:sparqlEndpoint"] || `${identity?.id}/sparql`;
|
|
717
|
+
}, [
|
|
718
|
+
identity
|
|
719
|
+
]);
|
|
720
|
+
const fetch = (0, $jwOeV$react.useCallback)(async ({ filters: filters })=>{
|
|
721
|
+
if (!sparqlEndpoint || !inboxUrl) return;
|
|
722
|
+
const token = localStorage.getItem("token");
|
|
723
|
+
const blankNodesQuery = (0, $jwOeV$semappssemanticdataprovider.buildBlankNodesQuery)([
|
|
724
|
+
"as:object"
|
|
725
|
+
]);
|
|
726
|
+
let filtersWhereQuery = "";
|
|
727
|
+
if (filters) Object.keys(filters).forEach((predicate)=>{
|
|
728
|
+
if (filters[predicate]) {
|
|
729
|
+
const object = filters[predicate].startsWith("http") ? `<${filters[predicate]}>` : filters[predicate];
|
|
730
|
+
filtersWhereQuery += `?s1 ${predicate} ${object} .`;
|
|
731
|
+
}
|
|
732
|
+
});
|
|
733
|
+
const query = `
|
|
734
|
+
PREFIX as: <https://www.w3.org/ns/activitystreams#>
|
|
735
|
+
CONSTRUCT {
|
|
736
|
+
?s1 ?p1 ?o1 .
|
|
737
|
+
${blankNodesQuery.construct}
|
|
738
|
+
}
|
|
739
|
+
WHERE {
|
|
740
|
+
<${inboxUrl}> as:items ?s1 .
|
|
741
|
+
?s1 ?p1 ?o1 .
|
|
742
|
+
FILTER( (isIRI(?s1)) ) .
|
|
743
|
+
${filtersWhereQuery}
|
|
744
|
+
${blankNodesQuery.where}
|
|
745
|
+
}
|
|
746
|
+
`;
|
|
747
|
+
const { json: json } = await (0, $jwOeV$reactadmin.fetchUtils).fetchJson(sparqlEndpoint, {
|
|
748
|
+
method: "POST",
|
|
749
|
+
body: query,
|
|
750
|
+
headers: new Headers({
|
|
751
|
+
Accept: "application/ld+json",
|
|
752
|
+
Authorization: token ? `Bearer ${token}` : undefined
|
|
753
|
+
})
|
|
754
|
+
});
|
|
755
|
+
if (json["@graph"]) return json["@graph"];
|
|
756
|
+
return null;
|
|
757
|
+
}, [
|
|
758
|
+
sparqlEndpoint,
|
|
759
|
+
inboxUrl
|
|
760
|
+
]);
|
|
761
|
+
return {
|
|
762
|
+
fetch: fetch,
|
|
763
|
+
url: inboxUrl,
|
|
764
|
+
owner: identity?.id
|
|
765
|
+
};
|
|
766
|
+
};
|
|
767
|
+
var $97664763db3c0a46$export$2e2bcd8739ae039 = $97664763db3c0a46$var$useInbox;
|
|
768
|
+
|
|
769
|
+
|
|
770
|
+
|
|
771
|
+
|
|
772
|
+
|
|
773
|
+
const $5b61553556e35016$var$useWebfinger = ()=>{
|
|
774
|
+
// Post an activity to the logged user's outbox and return its URI
|
|
775
|
+
const fetch = (0, $jwOeV$react.useCallback)(async (id)=>{
|
|
776
|
+
// eslint-disable-next-line
|
|
777
|
+
const [_, username, host] = id.split("@");
|
|
778
|
+
if (host) {
|
|
779
|
+
const protocol = host.includes(":") ? "http" : "https"; // If the host has a port, we are most likely on localhost
|
|
780
|
+
const webfingerUrl = `${protocol}://${host}/.well-known/webfinger?resource=acct:${username}@${host}`;
|
|
781
|
+
try {
|
|
782
|
+
const { json: json } = await (0, $jwOeV$reactadmin.fetchUtils).fetchJson(webfingerUrl);
|
|
783
|
+
const link = json.links.find((l)=>l.type === "application/activity+json");
|
|
784
|
+
return link ? link.href : null;
|
|
785
|
+
} catch (e) {
|
|
786
|
+
return null;
|
|
787
|
+
}
|
|
788
|
+
} else return null;
|
|
789
|
+
}, []);
|
|
790
|
+
return {
|
|
791
|
+
fetch: fetch
|
|
792
|
+
};
|
|
793
|
+
};
|
|
794
|
+
var $5b61553556e35016$export$2e2bcd8739ae039 = $5b61553556e35016$var$useWebfinger;
|
|
795
|
+
|
|
796
|
+
|
|
797
|
+
|
|
798
|
+
|
|
799
|
+
|
|
800
|
+
|
|
801
|
+
|
|
802
|
+
|
|
803
|
+
|
|
804
|
+
|
|
805
|
+
const $27d3788851661769$var$useStyles = (0, ($parcel$interopDefault($jwOeV$muistylesmakeStyles)))((theme)=>({
|
|
806
|
+
items: {
|
|
807
|
+
background: "#fff",
|
|
808
|
+
borderRadius: "0.5rem",
|
|
809
|
+
boxShadow: "0 0 0 1px rgba(0, 0, 0, 0.05), 0px 10px 20px rgba(0, 0, 0, 0.1)",
|
|
810
|
+
color: "rgba(0, 0, 0, 0.8)",
|
|
811
|
+
fontSize: "0.9rem",
|
|
812
|
+
overflow: "hidden",
|
|
813
|
+
padding: "0.2rem",
|
|
814
|
+
position: "relative"
|
|
815
|
+
},
|
|
816
|
+
item: {
|
|
817
|
+
background: "transparent",
|
|
818
|
+
border: "1px solid transparent",
|
|
819
|
+
borderRadius: "0.4rem",
|
|
820
|
+
display: "block",
|
|
821
|
+
margin: 0,
|
|
822
|
+
padding: "0.2rem 0.4rem",
|
|
823
|
+
textAlign: "left",
|
|
824
|
+
width: "100%",
|
|
825
|
+
"&.selected": {
|
|
826
|
+
borderColor: "#000"
|
|
827
|
+
}
|
|
828
|
+
}
|
|
829
|
+
}));
|
|
830
|
+
var $27d3788851661769$export$2e2bcd8739ae039 = /*#__PURE__*/ (0, $jwOeV$react.forwardRef)((props, ref)=>{
|
|
831
|
+
const [selectedIndex, setSelectedIndex] = (0, $jwOeV$react.useState)(0);
|
|
832
|
+
const classes = $27d3788851661769$var$useStyles();
|
|
833
|
+
const selectItem = (index)=>{
|
|
834
|
+
const item = props.items[index];
|
|
835
|
+
if (item) props.command({
|
|
836
|
+
id: item
|
|
837
|
+
});
|
|
838
|
+
};
|
|
839
|
+
const upHandler = ()=>{
|
|
840
|
+
setSelectedIndex((selectedIndex + props.items.length - 1) % props.items.length);
|
|
841
|
+
};
|
|
842
|
+
const downHandler = ()=>{
|
|
843
|
+
setSelectedIndex((selectedIndex + 1) % props.items.length);
|
|
844
|
+
};
|
|
845
|
+
const enterHandler = ()=>{
|
|
846
|
+
selectItem(selectedIndex);
|
|
847
|
+
};
|
|
848
|
+
(0, $jwOeV$react.useEffect)(()=>setSelectedIndex(0), [
|
|
849
|
+
props.items
|
|
850
|
+
]);
|
|
851
|
+
(0, $jwOeV$react.useImperativeHandle)(ref, ()=>({
|
|
852
|
+
onKeyDown: ({ event: event })=>{
|
|
853
|
+
if (event.key === "ArrowUp") {
|
|
854
|
+
upHandler();
|
|
855
|
+
return true;
|
|
856
|
+
}
|
|
857
|
+
if (event.key === "ArrowDown") {
|
|
858
|
+
downHandler();
|
|
859
|
+
return true;
|
|
860
|
+
}
|
|
861
|
+
if (event.key === "Enter") {
|
|
862
|
+
enterHandler();
|
|
863
|
+
return true;
|
|
864
|
+
}
|
|
865
|
+
return false;
|
|
866
|
+
}
|
|
867
|
+
}));
|
|
868
|
+
return /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)("div", {
|
|
869
|
+
className: classes.items,
|
|
870
|
+
children: props.items.length ? props.items.map((item, index)=>/*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)("button", {
|
|
871
|
+
className: classes.item + (index === selectedIndex ? " selected" : ""),
|
|
872
|
+
onClick: ()=>selectItem(index),
|
|
873
|
+
children: item.label
|
|
874
|
+
}, index)) : /*#__PURE__*/ (0, $jwOeV$reactjsxruntime.jsx)("div", {
|
|
875
|
+
className: classes.item,
|
|
876
|
+
children: "Aucun r\xe9sultat"
|
|
877
|
+
})
|
|
878
|
+
});
|
|
879
|
+
});
|
|
880
|
+
|
|
881
|
+
|
|
882
|
+
const $7b7f4b18327176f8$var$renderMentions = ()=>{
|
|
883
|
+
let component;
|
|
884
|
+
let popup;
|
|
885
|
+
return {
|
|
886
|
+
onStart: (props)=>{
|
|
887
|
+
component = new (0, $jwOeV$tiptapreact.ReactRenderer)((0, $27d3788851661769$export$2e2bcd8739ae039), {
|
|
888
|
+
props: props,
|
|
889
|
+
editor: props.editor
|
|
890
|
+
});
|
|
891
|
+
popup = (0, ($parcel$interopDefault($jwOeV$tippyjs)))("body", {
|
|
892
|
+
getReferenceClientRect: props.clientRect,
|
|
893
|
+
appendTo: ()=>document.body,
|
|
894
|
+
content: component.element,
|
|
895
|
+
showOnCreate: true,
|
|
896
|
+
interactive: true,
|
|
897
|
+
trigger: "manual",
|
|
898
|
+
placement: "bottom-start"
|
|
899
|
+
});
|
|
900
|
+
},
|
|
901
|
+
onUpdate (props) {
|
|
902
|
+
component.updateProps(props);
|
|
903
|
+
popup[0].setProps({
|
|
904
|
+
getReferenceClientRect: props.clientRect
|
|
905
|
+
});
|
|
906
|
+
},
|
|
907
|
+
onKeyDown (props) {
|
|
908
|
+
if (props.event.key === "Escape") {
|
|
909
|
+
popup[0].hide();
|
|
910
|
+
return true;
|
|
911
|
+
}
|
|
912
|
+
return component.ref?.onKeyDown(props);
|
|
913
|
+
},
|
|
914
|
+
onExit () {
|
|
915
|
+
popup[0].destroy();
|
|
916
|
+
component.destroy();
|
|
917
|
+
}
|
|
918
|
+
};
|
|
919
|
+
};
|
|
920
|
+
var $7b7f4b18327176f8$export$2e2bcd8739ae039 = $7b7f4b18327176f8$var$renderMentions;
|
|
921
|
+
|
|
922
|
+
|
|
923
|
+
const $968ea07fb81eda0b$var$useMentions = (userResource)=>{
|
|
924
|
+
const userDataModel = (0, $jwOeV$semappssemanticdataprovider.useDataModel)(userResource);
|
|
925
|
+
const { data: data } = (0, $jwOeV$reactadmin.useGetList)(userResource, {
|
|
926
|
+
filter: {
|
|
927
|
+
_predicates: [
|
|
928
|
+
userDataModel?.fieldsMapping?.title
|
|
929
|
+
],
|
|
930
|
+
blankNodes: []
|
|
931
|
+
}
|
|
932
|
+
}, {
|
|
933
|
+
enabled: !!userDataModel?.fieldsMapping?.title
|
|
934
|
+
});
|
|
935
|
+
const availableMentions = (0, $jwOeV$react.useMemo)(()=>{
|
|
936
|
+
if (data) return data.map((item)=>({
|
|
937
|
+
id: item.id,
|
|
938
|
+
label: item[userDataModel?.fieldsMapping?.title]
|
|
939
|
+
}));
|
|
940
|
+
}, [
|
|
941
|
+
data
|
|
942
|
+
]);
|
|
943
|
+
const items = (0, $jwOeV$react.useMemo)(()=>{
|
|
944
|
+
if (availableMentions) return ({ query: query })=>{
|
|
945
|
+
return availableMentions.filter(({ label: label })=>label.toLowerCase().startsWith(query.toLowerCase())).slice(0, 5);
|
|
946
|
+
};
|
|
947
|
+
}, [
|
|
948
|
+
availableMentions
|
|
949
|
+
]);
|
|
950
|
+
return {
|
|
951
|
+
items: items,
|
|
952
|
+
render: (0, $7b7f4b18327176f8$export$2e2bcd8739ae039)
|
|
953
|
+
};
|
|
954
|
+
};
|
|
955
|
+
var $968ea07fb81eda0b$export$2e2bcd8739ae039 = $968ea07fb81eda0b$var$useMentions;
|
|
956
|
+
|
|
957
|
+
|
|
958
|
+
|
|
959
|
+
|
|
960
|
+
|
|
4
961
|
//# sourceMappingURL=index.cjs.js.map
|