@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{
|
|
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{
|
|
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.
|
|
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.
|
|
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.
|
|
36
|
-
"@paroicms/public-server-lib": "0.56.
|
|
36
|
+
"@paroicms/public-anywhere-lib": "0.43.2",
|
|
37
|
+
"@paroicms/public-server-lib": "0.56.3",
|
|
37
38
|
"rimraf": "~6.1.3",
|
|
38
|
-
"typescript": "~
|
|
39
|
+
"typescript": "~6.0.2"
|
|
39
40
|
},
|
|
40
41
|
"type": "module",
|
|
41
42
|
"main": "backend/dist/index.js",
|