@paroicms/platform-video-plugin 0.37.20 → 0.37.22

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.
@@ -1 +1,2 @@
1
- .VPDialog-button{padding:.75rem;font-size:1rem;color:#fff;cursor:pointer;outline:none;background:#475569;border:1px solid #64748b;border-radius:6px}.BPVideoInput-inputGroup{display:flex;flex-direction:column}.BPVideoInput-input{padding:10px;font-size:1rem;color:#4b5563;background:#fff;border:1px solid #d1d5db;border-radius:6px;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}.BPVideoInput-input:focus{outline:0 none;outline-offset:0;box-shadow:0 0 0 .2rem #a5f3fc}.BPVideoInput-input.invalid{border-color:#e24c4c}.BPVideoInput-iframe{border:none}.BPVideoInput-errorMessage{margin-top:5px;color:#e24c4c}
1
+ .VPDialog-button{color:#fff;cursor:pointer;background:#475569;border:1px solid #64748b;border-radius:6px;outline:none;padding:.75rem;font-size:1rem}.BPVideoInput-inputGroup{flex-direction:column;display:flex}.BPVideoInput-input{color:#4b5563;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:10px;font-size:1rem;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s}.BPVideoInput-input:focus{outline-offset:0;outline:0;box-shadow:0 0 0 .2rem #a5f3fc}.BPVideoInput-input.invalid{border-color:#e24c4c}.BPVideoInput-iframe{border:none}.BPVideoInput-errorMessage{color:#e24c4c;margin-top:5px}
2
+ /*$vite$:1*/
@@ -1 +1 @@
1
- import{delegateEvents as D,insert as s,createComponent as g,effect as h,setAttribute as $,memo as U,className as E,template as p}from"https://cdn.jsdelivr.net/npm/solid-js@1.9.11/web/+esm";import{createMemo as T,createSignal as m,createEffect as I,Show as b,createRoot as _}from"https://cdn.jsdelivr.net/npm/solid-js@1.9.11/+esm";function k(e){return typeof e=="object"&&e!==null&&"j"in e}const S=/^(?:https?:\/\/)?(?:(?:www|m)\.)?(?:youtube\.com\/(?:[^/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)?([a-zA-Z0-9_-]{11})$/;function L(e){return`https://i.ytimg.com/vi/${e}/default.jpg`}function R(e){const t=e.match(S);if(t?.[1])return t[1]}const j=e=>e!=null&&(e=Object.getPrototypeOf(e),e===Array.prototype||e===Object.prototype);function w(e,t,i){for(const[o,n]of Object.entries(t)){const d=`${i}.${o}`;e[d]=n,j(n)&&w(e,n,d)}}function B(e){const t={...e};for(const[i,o]of Object.entries(e))j(o)&&w(t,o,i);return t}const O=e=>e;function Y(e,t=O){return(i,...o)=>{i[0]==="."&&(i=i.slice(1));const n=e()?.[i];switch(typeof n){case"function":return n(...o);case"string":return t(n,o[0]);default:return n}}}const x={placeholder:"Fügen Sie hier die Video-URL oder -ID ein…",identifier:"Bezeichner:",invalid:"Ungültige YouTube-Video-URL"},M={title:"Ein Video auswählen",done:"Fertig"},A={VideoInput:x,VideoDialog:M},F={placeholder:"Paste the video URL or ID here…",identifier:"Identifier:",invalid:"Invalid youtube video URL"},H={title:"Choose a video",done:"Done"},z={VideoInput:F,VideoDialog:H},q={placeholder:"Pegue aquí la URL o ID del video…",identifier:"Identificador:",invalid:"URL de video de YouTube inválida"},G={title:"Elegir un video",done:"Hecho"},J={VideoInput:q,VideoDialog:G},N={placeholder:"Collez ici l'URL ou l'identifiant de la vidéo…",identifier:"Identifiant :",invalid:"L'URL de la video Youtube est invalide"},Z={title:"Choisir une vidéo",done:"Terminé"},K={VideoInput:N,VideoDialog:Z},Q={placeholder:"Incolla qui l'URL o l'ID del video…",identifier:"Identificatore:",invalid:"URL del video YouTube non valido"},W={title:"Scegli un video",done:"Fatto"},X={VideoInput:Q,VideoDialog:W},ee={placeholder:"Cole aqui a URL ou ID do vídeo…",identifier:"Identificador:",invalid:"URL de vídeo do YouTube inválida"},te={title:"Escolher um vídeo",done:"Concluído"},ie={VideoInput:ee,VideoDialog:te},y={en:z,fr:K,es:J,de:A,it:X,pt:ie};function C(e){const t=T(()=>{const o=e()in y?e():"en";return B(y[o])});return{t:Y(t)}}var oe=p("<small class=BPVideoInput-errorMessage>"),ne=p("<p> <strong>"),re=p('<iframe class=BPVideoInput-iframe width=420 height=315 title="youtube video">'),de=p("<div class=BPVideoInput><label class=BPVideoInput-inputGroup><input type=text>");function P({value:e,language:t,setValue:i}){const{t:o}=C(t),[n,d]=m(),[u,a]=m();return I(()=>{d(e()?.videoId??"")}),I(()=>{a(void 0);const l=n()?.trim();if(!l){i(void 0);return}const f=R(l);if(!f){a(o("VideoInput.invalid"));return}i({videoId:f,platform:"youtube"})}),(()=>{var l=de(),f=l.firstChild,c=f.firstChild;return c.$$input=r=>d(r.currentTarget.value),s(f,g(b,{get when(){return u()},get children(){var r=oe();return s(r,u),r}}),null),s(l,g(b,{get when(){return U(()=>!!e()?.videoId)()&&n()},get children(){return[(()=>{var r=ne(),v=r.firstChild,V=v.nextSibling;return s(r,()=>o("VideoInput.identifier"),v),s(V,()=>e()?.videoId),r})(),(()=>{var r=re();return h(()=>$(r,"src",`https://www.youtube-nocookie.com/embed/${encodeURIComponent(e()?.videoId)}`)),r})()]}}),null),h(r=>{var v=`BPVideoInput-input ${u()?"invalid":""}`,V=o("VideoInput.placeholder");return v!==r.e&&E(c,r.e=v),V!==r.t&&$(c,"placeholder",r.t=V),r},{e:void 0,t:void 0}),h(()=>c.value=n()),l})()}D(["input"]);var le=p("<div><button class=VPDialog-button type=button>"),ue=p("<button class=VPDialog-button type=button>"),ae=p("<img width=100% alt>"),ce=p("<span>");function se({service:e,setValue:t,value:i,language:o}){const{t:n}=C(o),d=e.createModalDialog({content:g(P,{language:o,value:i,setValue:t}),footer:(()=>{var u=le(),a=u.firstChild;return a.$$click=()=>{d.hide()},s(a,()=>n("VideoDialog.done")),u})(),header:n("VideoDialog.title")});return(()=>{var u=ue();return u.$$click=()=>d.show(),s(u,(()=>{var a=U(()=>!!i()?.videoId);return()=>a()?(()=>{var l=ae();return h(()=>$(l,"src",L(i()?.videoId))),l})():(()=>{var l=ce();return s(l,()=>n("VideoDialog.title")),l})()})()),u})()}D(["click"]);const he={create:ge,init:ve};function pe(e){e.executeHook("htmlEditorServiceProvider").forEach(i=>{i.registerVideoPlugin(fe())})}function fe(){return{getThumbnailUrl(e){return L(e.videoId)},recognizeUrl(e){const t=R(e);if(t)return{videoId:t,platform:"youtube"}},createComponent(e,t){const[i,o]=m(e);return _(n=>({dispose:n,element:g(P,{get language(){return t.getLanguage},value:i,setValue:d=>{d!==void 0&&(t.onChange(d??null),o(d))}})}))}}}function ve(e){const t=`${e.pluginBaseUrl}/admin-ui-plugin.css`,i=document.createElement("link");i.rel="stylesheet",i.href=t,document.head.appendChild(i),e.addAfterInitListener(pe)}function ge(e){const{fieldType:t,setModifiedValue:i,initialValue:o}=e;if(t.dataType!=="json")throw new Error(`field type '${t.name}' is incompatible with video plugin, needs data type 'json'`);if(o!==void 0&&!k(o))throw new Error(`field type '${t.name}' is incompatible, should be a json, got '${typeof o}'`);return _(n=>{const d=o?o.j:void 0,[u,a]=m(d),[l,f]=m(e.language);return{element:g(se,{language:l,value:u,setValue:c=>{a(c),i(c?{j:c}:null)},service:e}),setLanguage:f,setValue(c){a(c===void 0?void 0:c.j)},getValue(){return{j:u()}},dispose:n}})}export{he as default};
1
+ import{className as e,createComponent as t,delegateEvents as n,effect as r,insert as i,memo as a,setAttribute as o,template as s}from"https://cdn.jsdelivr.net/npm/solid-js@1.9.12/web/+esm";import{Show as c,createEffect as l,createMemo as u,createRoot as d,createSignal as f}from"https://cdn.jsdelivr.net/npm/solid-js@1.9.12/+esm";function p(e){return typeof e=="object"&&!!e&&"j"in e}var m=/^(?:https?:\/\/)?(?:(?:www|m)\.)?(?:youtube\.com\/(?:[^/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=)|youtu\.be\/)?([a-zA-Z0-9_-]{11})$/;function h(e){return`https://i.ytimg.com/vi/${e}/default.jpg`}function g(e){let t=e.match(m);if(t?.[1])return t[1]}var _=e=>e!=null&&(e=Object.getPrototypeOf(e),e===Array.prototype||e===Object.prototype);function v(e,t,n){for(let[r,i]of Object.entries(t)){let t=`${n}.${r}`;e[t]=i,_(i)&&v(e,i,t)}}function y(e){let t={...e};for(let[n,r]of Object.entries(e))_(r)&&v(t,r,n);return t}var b=e=>e;function x(e,t=b){return(n,...r)=>{n[0]==="."&&(n=n.slice(1));let i=e()?.[n];switch(typeof i){case"function":return i(...r);case"string":return t(i,r[0]);default:return i}}}var S={en:{VideoInput:{placeholder:"Paste the video URL or ID here…",identifier:"Identifier:",invalid:"Invalid youtube video URL"},VideoDialog:{title:"Choose a video",done:"Done"}},fr:{VideoInput:{placeholder:"Collez ici l'URL ou l'identifiant de la vidéo…",identifier:"Identifiant :",invalid:"L'URL de la video Youtube est invalide"},VideoDialog:{title:"Choisir une vidéo",done:"Terminé"}},es:{VideoInput:{placeholder:"Pegue aquí la URL o ID del video…",identifier:"Identificador:",invalid:"URL de video de YouTube inválida"},VideoDialog:{title:"Elegir un video",done:"Hecho"}},de:{VideoInput:{placeholder:"Fügen Sie hier die Video-URL oder -ID ein…",identifier:"Bezeichner:",invalid:"Ungültige YouTube-Video-URL"},VideoDialog:{title:"Ein Video auswählen",done:"Fertig"}},it:{VideoInput:{placeholder:"Incolla qui l'URL o l'ID del video…",identifier:"Identificatore:",invalid:"URL del video YouTube non valido"},VideoDialog:{title:"Scegli un video",done:"Fatto"}},pt:{VideoInput:{placeholder:"Cole aqui a URL ou ID do vídeo…",identifier:"Identificador:",invalid:"URL de vídeo do YouTube inválida"},VideoDialog:{title:"Escolher um vídeo",done:"Concluído"}}};function C(e){return{t:x(u(()=>y(S[e()in S?e():"en"])))}}var w=s("<small class=BPVideoInput-errorMessage>"),T=s("<p> <strong>"),E=s('<iframe class=BPVideoInput-iframe width=420 height=315 title="youtube video">'),D=s("<div class=BPVideoInput><label class=BPVideoInput-inputGroup><input type=text>");function O({value:n,language:s,setValue:u}){let{t:d}=C(s),[p,m]=f(),[h,_]=f();return l(()=>{m(n()?.videoId??"")}),l(()=>{_(void 0);let e=p()?.trim();if(!e){u(void 0);return}let t=g(e);if(!t){_(d("VideoInput.invalid"));return}u({videoId:t,platform:"youtube"})}),(()=>{var s=D(),l=s.firstChild,u=l.firstChild;return u.$$input=e=>m(e.currentTarget.value),i(l,t(c,{get when(){return h()},get children(){var e=w();return i(e,h),e}}),null),i(s,t(c,{get when(){return a(()=>!!n()?.videoId)()&&p()},get children(){return[(()=>{var e=T(),t=e.firstChild,r=t.nextSibling;return i(e,()=>d("VideoInput.identifier"),t),i(r,()=>n()?.videoId),e})(),(()=>{var e=E();return r(()=>o(e,"src",`https://www.youtube-nocookie.com/embed/${encodeURIComponent(n()?.videoId)}`)),e})()]}}),null),r(t=>{var n=`BPVideoInput-input ${h()?"invalid":""}`,r=d("VideoInput.placeholder");return n!==t.e&&e(u,t.e=n),r!==t.t&&o(u,"placeholder",t.t=r),t},{e:void 0,t:void 0}),r(()=>u.value=p()),s})()}n(["input"]);var k=s("<div><button class=VPDialog-button type=button>"),A=s("<button class=VPDialog-button type=button>"),j=s("<img width=100% alt>"),M=s("<span>");function N({service:e,setValue:n,value:s,language:c}){let{t:l}=C(c),u=e.createModalDialog({content:t(O,{language:c,value:s,setValue:n}),footer:(()=>{var e=k(),t=e.firstChild;return t.$$click=()=>{u.hide()},i(t,()=>l("VideoDialog.done")),e})(),header:l("VideoDialog.title")});return(()=>{var e=A();return e.$$click=()=>u.show(),i(e,(()=>{var e=a(()=>!!s()?.videoId);return()=>e()?(()=>{var e=j();return r(()=>o(e,"src",h(s()?.videoId))),e})():(()=>{var e=M();return i(e,()=>l("VideoDialog.title")),e})()})()),e})()}n(["click"]);var P={create:R,init:L};function F(e){e.executeHook("htmlEditorServiceProvider").forEach(e=>{e.registerVideoPlugin(I())})}function I(){return{getThumbnailUrl(e){return h(e.videoId)},recognizeUrl(e){let t=g(e);if(t)return{videoId:t,platform:"youtube"}},createComponent(e,n){let[r,i]=f(e);return d(e=>({dispose:e,element:t(O,{get language(){return n.getLanguage},value:r,setValue:e=>{e!==void 0&&(n.onChange(e??null),i(e))}})}))}}}function L(e){let t=`${e.pluginBaseUrl}/admin-ui-plugin.css`,n=document.createElement("link");n.rel="stylesheet",n.href=t,document.head.appendChild(n),e.addAfterInitListener(F)}function R(e){let{fieldType:n,setModifiedValue:r,initialValue:i}=e;if(n.dataType!=="json")throw Error(`field type '${n.name}' is incompatible with video plugin, needs data type 'json'`);if(i!==void 0&&!p(i))throw Error(`field type '${n.name}' is incompatible, should be a json, got '${typeof i}'`);return d(n=>{let[a,o]=f(i?i.j:void 0),[s,c]=f(e.language);return{element:t(N,{language:s,value:a,setValue:e=>{o(e),r(e?{j:e}:null)},service:e}),setLanguage:c,setValue(e){o(e===void 0?void 0:e.j)},getValue(){return{j:a()}},dispose:n}})}export{P as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paroicms/platform-video-plugin",
3
- "version": "0.37.20",
3
+ "version": "0.37.22",
4
4
  "description": "Platform video plugin (Youtube) for ParoiCMS",
5
5
  "keywords": [
6
6
  "paroicms",
@@ -17,6 +17,7 @@
17
17
  "scripts": {
18
18
  "dev:admin-ui": "(cd admin-ui-plugin && vite)",
19
19
  "build": "npm run build:backend && npm run build:admin-ui",
20
+ "build:ci": "npm run build",
20
21
  "build:backend": "(cd backend && tsc)",
21
22
  "build:backend:watch": "(cd backend && tsc --watch --preserveWatchOutput)",
22
23
  "build:admin-ui": "(cd admin-ui-plugin && npm run build)",
@@ -24,7 +25,7 @@
24
25
  "clear": "rimraf backend/dist/* admin-ui-plugin/dist/*"
25
26
  },
26
27
  "dependencies": {
27
- "@paroicms/script-lib": "0.3.21",
28
+ "@paroicms/script-lib": "0.3.23",
28
29
  "arktype": "~2.2.0"
29
30
  },
30
31
  "peerDependencies": {
@@ -32,10 +33,10 @@
32
33
  "@paroicms/public-server-lib": "0"
33
34
  },
34
35
  "devDependencies": {
35
- "@paroicms/public-anywhere-lib": "0.43.0",
36
- "@paroicms/public-server-lib": "0.56.1",
36
+ "@paroicms/public-anywhere-lib": "0.43.2",
37
+ "@paroicms/public-server-lib": "0.56.3",
37
38
  "rimraf": "~6.1.3",
38
- "typescript": "~5.9.3"
39
+ "typescript": "~6.0.2"
39
40
  },
40
41
  "type": "module",
41
42
  "main": "backend/dist/index.js",