@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 CHANGED
@@ -1,4 +1,961 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("react-admin"),r=require("@tiptap/extension-placeholder"),n=require("@mui/material"),o=require("@mui/styles/makeStyles"),i=require("@mui/icons-material/Send"),a=require("@semapps/semantic-data-provider"),l=require("@semapps/auth-provider"),u=require("@tiptap/core"),c=require("@tiptap/extension-mention"),s=require("@tiptap/react"),d=require("@tiptap/starter-kit"),f=require("@tiptap/extension-underline"),p=require("@tiptap/extension-link"),m=require("@tiptap/extension-text-align"),h=require("@tiptap/extension-image"),v=require("@tiptap/extension-text-style"),g=require("@tiptap/extension-color"),b=require("@tiptap/extension-highlight"),y=require("@mui/material/styles"),E=require("ra-core"),w=require("ra-ui-materialui"),x=require("@mui/icons-material/ArrowDropDown"),T=require("@mui/icons-material/FormatBold"),O=require("@mui/icons-material/FormatItalic"),k=require("@mui/icons-material/FormatUnderlined"),C=require("@mui/icons-material/FormatStrikethrough"),L=require("@mui/icons-material/Code"),S=require("@mui/icons-material/FormatColorText"),I=require("@mui/icons-material/FontDownload"),A=require("@mui/material/colors"),R=require("@mui/icons-material/FormatAlignCenter"),j=require("@mui/icons-material/FormatAlignLeft"),P=require("@mui/icons-material/FormatAlignRight"),N=require("@mui/icons-material/FormatAlignJustify"),B=require("@mui/icons-material/FormatListBulleted"),_=require("@mui/icons-material/FormatListNumbered"),F=require("@mui/icons-material/InsertLink"),q=require("@mui/icons-material/Image"),z=require("@mui/icons-material/FormatQuote"),D=require("@mui/icons-material/FormatClear"),U=require("@semapps/field-components"),M=require("tippy.js");function H(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function G(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){if("default"!==r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})),t.default=e,Object.freeze(t)}var V=G(e),W=H(e),J=H(r),K=H(o),Y=H(i),Q=H(c),X=H(d),Z=H(f),$=H(p),ee=H(m),te=H(h),re=H(v),ne=H(b),oe=H(x),ie=H(T),ae=H(O),le=H(k),ue=H(C),ce=H(L),se=H(S),de=H(I),fe=H(R),pe=H(j),me=H(P),he=H(N),ve=H(B),ge=H(_),be=H(F),ye=H(q),Ee=H(z),we=H(D),xe=H(M);function Te(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Oe(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?Te(Object(r),!0).forEach((function(t){Se(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Te(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function ke(){
2
- /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
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