@sockethub/examples 1.0.0-beta.0 → 1.0.0-beta.2
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/build/_app/immutable/assets/0.DcfK0tAS.css +1 -0
- package/build/_app/immutable/chunks/BJctjvPM.js +1 -0
- package/build/_app/immutable/chunks/BbNltU0J.js +1 -0
- package/build/_app/immutable/chunks/{1CEAjNji.js → BoJm-rJp.js} +2 -2
- package/build/_app/immutable/chunks/BrzeKAzG.js +2 -0
- package/build/_app/immutable/chunks/CDWD0DpS.js +1 -0
- package/build/_app/immutable/chunks/CT5jku5V.js +1 -0
- package/build/_app/immutable/chunks/{BgSSi_nq.js → CUkP7wPG.js} +1 -1
- package/build/_app/immutable/chunks/Cdx-st7a.js +1 -0
- package/build/_app/immutable/chunks/Cl-XOB7Z.js +1 -0
- package/build/_app/immutable/chunks/Cy27bMkS.js +1 -0
- package/build/_app/immutable/chunks/DbhdhNIA.js +37 -0
- package/build/_app/immutable/chunks/DmYLKglP.js +3 -0
- package/build/_app/immutable/chunks/Dn5i8FcP.js +1 -0
- package/build/_app/immutable/chunks/{OZH1Z0a6.js → k-cRz8DS.js} +1 -1
- package/build/_app/immutable/entry/app.9VcJfFEV.js +2 -0
- package/build/_app/immutable/entry/start.CjxPNHHO.js +1 -0
- package/build/_app/immutable/nodes/0.CxDeLLNM.js +39 -0
- package/build/_app/immutable/nodes/1.vrN-G10-.js +1 -0
- package/build/_app/immutable/nodes/10.CkEG6ShK.js +1 -0
- package/build/_app/immutable/nodes/11.Dr5oRP_F.js +1 -0
- package/build/_app/immutable/nodes/12.Dhj1Bcc5.js +1 -0
- package/build/_app/immutable/nodes/2.CtT9BzdB.js +5 -0
- package/build/_app/immutable/nodes/3.DvLQTmd4.js +1 -0
- package/build/_app/immutable/nodes/4.Cy-sRRDt.js +1 -0
- package/build/_app/immutable/nodes/5.CC9kaqH_.js +2 -0
- package/build/_app/immutable/nodes/6.ChLUpcIN.js +1 -0
- package/build/_app/immutable/nodes/{5.BHW8yhED.js → 7.Dp-S3Ioq.js} +1 -1
- package/build/_app/immutable/nodes/8.f8bTdAen.js +1 -0
- package/build/_app/immutable/nodes/{4.2xkip1qG.js → 9.BfkSU2iC.js} +1 -1
- package/build/_app/version.json +1 -1
- package/build/caldav.html +10 -10
- package/build/carddav.html +10 -10
- package/build/dummy.html +10 -10
- package/build/email.html +40 -0
- package/build/feeds.html +10 -10
- package/build/index.html +10 -10
- package/build/instagram.html +40 -0
- package/build/irc.html +10 -10
- package/build/messenger.html +40 -0
- package/build/metadata.html +10 -10
- package/build/xmpp.html +10 -10
- package/package.json +4 -4
- package/build/_app/immutable/assets/0.D81t2HYN.css +0 -1
- package/build/_app/immutable/chunks/C8dk2-j7.js +0 -1
- package/build/_app/immutable/chunks/CQSki_LV.js +0 -1
- package/build/_app/immutable/chunks/CdjPbSmN.js +0 -1
- package/build/_app/immutable/chunks/ChAAmblw.js +0 -1
- package/build/_app/immutable/chunks/D6O50hAO.js +0 -1
- package/build/_app/immutable/chunks/DQqZ5wJX.js +0 -37
- package/build/_app/immutable/chunks/DmF1jPXz.js +0 -1
- package/build/_app/immutable/chunks/Fuku2EMA.js +0 -1
- package/build/_app/immutable/chunks/YlCvXWJE.js +0 -2
- package/build/_app/immutable/chunks/mJhlxSRc.js +0 -1
- package/build/_app/immutable/entry/app.B5l5H9Jr.js +0 -2
- package/build/_app/immutable/entry/start.DvXUWyvA.js +0 -1
- package/build/_app/immutable/nodes/0.CsTQ1Eeu.js +0 -39
- package/build/_app/immutable/nodes/1.C0f2sebm.js +0 -1
- package/build/_app/immutable/nodes/2.UFZ_HUkg.js +0 -5
- package/build/_app/immutable/nodes/3.QCGY1WED.js +0 -1
- package/build/_app/immutable/nodes/6.BM3C0ZGx.js +0 -1
- package/build/_app/immutable/nodes/7.isUySRo5.js +0 -1
- package/build/_app/immutable/nodes/8.DYw6a0EN.js +0 -1
- package/build/_app/immutable/nodes/9.DyF8lTV5.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var re=Object.defineProperty;var M=t=>{throw TypeError(t)};var se=(t,e,r)=>e in t?re(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var Y=(t,e,r)=>se(t,typeof e!="symbol"?e+"":e,r),F=(t,e,r)=>e.has(t)||M("Cannot "+r);var i=(t,e,r)=>(F(t,e,"read from private field"),r?r.call(t):e.get(t)),P=(t,e,r)=>e.has(t)?M("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),K=(t,e,r,s)=>(F(t,e,"write to private field"),s?s.call(t,r):e.set(t,r),r);import{B as q,J as ne,K as L,L as ie,M as H,N as W,D as B,O as ae,P as fe,Q as ue,R as oe,S as ce,T as le,U as de,V as he,W as _e,X as pe,Y as Z,H as ve,Z as be,j as z,_ as me,$ as Se,b as V,a0 as Pe,g as O,a1 as $,a2 as ge,a3 as N,a4 as we,a5 as X,h as ye,a6 as Ee,i as Re,a7 as G,a8 as J,x as Oe,e as Ae,a9 as Te,aa as xe,ab as De,ac as Ie,ad as Le,ae as Be,af as k,ag as ee,ah as E}from"./OZH1Z0a6.js";var b,m,d,g,A,T,D;class Ne{constructor(e,r=!0){Y(this,"anchor");P(this,b,new Map);P(this,m,new Map);P(this,d,new Map);P(this,g,new Set);P(this,A,!0);P(this,T,()=>{var e=q;if(i(this,b).has(e)){var r=i(this,b).get(e),s=i(this,m).get(r);if(s)ne(s),i(this,g).delete(r);else{var n=i(this,d).get(r);n&&(i(this,m).set(r,n.effect),i(this,d).delete(r),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),s=n.effect)}for(const[a,u]of i(this,b)){if(i(this,b).delete(a),a===e)break;const f=i(this,d).get(u);f&&(L(f.effect),i(this,d).delete(u))}for(const[a,u]of i(this,m)){if(a===r||i(this,g).has(a))continue;const f=()=>{if(Array.from(i(this,b).values()).includes(a)){var _=document.createDocumentFragment();fe(u,_),_.append(H()),i(this,d).set(a,{effect:u,fragment:_})}else L(u);i(this,g).delete(a),i(this,m).delete(a)};i(this,A)||!s?(i(this,g).add(a),ie(u,f,!1)):f()}}});P(this,D,e=>{i(this,b).delete(e);const r=Array.from(i(this,b).values());for(const[s,n]of i(this,d))r.includes(s)||(L(n.effect),i(this,d).delete(s))});this.anchor=e,K(this,A,r)}ensure(e,r){var s=q,n=ue();if(r&&!i(this,m).has(e)&&!i(this,d).has(e))if(n){var a=document.createDocumentFragment(),u=H();a.append(u),i(this,d).set(e,{effect:W(()=>r(u)),fragment:a})}else i(this,m).set(e,W(()=>r(this.anchor)));if(i(this,b).set(s,e),n){for(const[f,o]of i(this,m))f===e?s.skipped_effects.delete(o):s.skipped_effects.add(o);for(const[f,o]of i(this,d))f===e?s.skipped_effects.delete(o.effect):s.skipped_effects.add(o.effect);s.oncommit(i(this,T)),s.ondiscard(i(this,D))}else B&&(this.anchor=ae),i(this,T).call(this)}}b=new WeakMap,m=new WeakMap,d=new WeakMap,g=new WeakMap,A=new WeakMap,T=new WeakMap,D=new WeakMap;function qe(t,e,r=!1){B&&ce();var s=new Ne(t),n=r?le:0;function a(u,f){if(B){const _=de(t)===he;if(u===_){var o=_e();pe(o),s.anchor=o,Z(!1),s.ensure(u,f),Z(!0);return}}s.ensure(u,f)}oe(()=>{var u=!1;e((f,o=!0)=>{u=!0,a(o,f)}),u||a(!1,null)},n)}let R=!1,U=Symbol();function He(t,e,r){const s=r[e]??(r[e]={store:null,source:me(void 0),unsubscribe:z});if(s.store!==t&&!(U in r))if(s.unsubscribe(),s.store=t??null,t==null)s.source.v=void 0,s.unsubscribe=z;else{var n=!0;s.unsubscribe=Se(t,a=>{n?s.source.v=a:V(s.source,a)}),n=!1}return t&&U in r?Pe(t):O(s.source)}function We(t,e){return t.set(e),e}function Ze(){const t={};function e(){ve(()=>{for(var r in t)t[r].unsubscribe();be(t,U,{enumerable:!1,value:!0})})}return[t,e]}function ze(t,e,r){return t.set(r),e}function Ge(){R=!0}function Ue(t){var e=R;try{return R=!1,[t(),R]}finally{R=e}}const $e={get(t,e){if(!t.exclude.includes(e))return O(t.version),e in t.special?t.special[e]():t.props[e]},set(t,e,r){if(!(e in t.special)){var s=$;try{J(t.parent_effect),t.special[e]=Ce({get[e](){return t.props[e]}},e,X)}finally{J(s)}}return t.special[e](r),G(t.version),!0},getOwnPropertyDescriptor(t,e){if(!t.exclude.includes(e)&&e in t.props)return{enumerable:!0,configurable:!0,value:t.props[e]}},deleteProperty(t,e){return t.exclude.includes(e)||(t.exclude.push(e),G(t.version)),!0},has(t,e){return t.exclude.includes(e)?!1:e in t.props},ownKeys(t){return Reflect.ownKeys(t.props).filter(e=>!t.exclude.includes(e))}};function Je(t,e){return new Proxy({props:t,exclude:e,special:{},version:ge(0),parent_effect:$},$e)}const je={get(t,e){let r=t.props.length;for(;r--;){let s=t.props[r];if(E(s)&&(s=s()),typeof s=="object"&&s!==null&&e in s)return s[e]}},set(t,e,r){let s=t.props.length;for(;s--;){let n=t.props[s];E(n)&&(n=n());const a=N(n,e);if(a&&a.set)return a.set(r),!0}return!1},getOwnPropertyDescriptor(t,e){let r=t.props.length;for(;r--;){let s=t.props[r];if(E(s)&&(s=s()),typeof s=="object"&&s!==null&&e in s){const n=N(s,e);return n&&!n.configurable&&(n.configurable=!0),n}}},has(t,e){if(e===k||e===ee)return!1;for(let r of t.props)if(E(r)&&(r=r()),r!=null&&e in r)return!0;return!1},ownKeys(t){const e=[];for(let r of t.props)if(E(r)&&(r=r()),!!r){for(const s in r)e.includes(s)||e.push(s);for(const s of Object.getOwnPropertySymbols(r))e.includes(s)||e.push(s)}return e}};function Qe(...t){return new Proxy({props:t},je)}function Ce(t,e,r,s){var j;var n=!Te||(r&xe)!==0,a=(r&De)!==0,u=(r&Le)!==0,f=s,o=!0,_=()=>(o&&(o=!1,f=u?Ae(s):s),f),c;if(a){var S=k in t||ee in t;c=((j=N(t,e))==null?void 0:j.set)??(S&&e in t?l=>t[e]=l:void 0)}var p,v=!1;a?[p,v]=Ue(()=>t[e]):p=t[e],p===void 0&&s!==void 0&&(p=_(),c&&(n&&we(),c(p)));var h;if(n?h=()=>{var l=t[e];return l===void 0?_():(o=!0,l)}:h=()=>{var l=t[e];return l!==void 0&&(f=void 0),l===void 0?f:l},n&&(r&X)===0)return h;if(c){var w=t.$$legacy;return function(l,x){return arguments.length>0?((!n||!x||w||v)&&c(x?h():l),l):h()}}var I=!1,y=((r&Ie)!==0?Oe:Re)(()=>(I=!1,h()));a&&O(y);var te=$;return function(l,x){if(arguments.length>0){const C=x?O(y):n&&a?ye(l):l;return V(y,C),I=!0,f!==void 0&&(f=C),l}return Be&&I||(te.f&Ee)!==0?y.v:O(y)}}const Me="modulepreload",Ye=function(t,e){return new URL(t,e).href},Q={},Ve=function(e,r,s){let n=Promise.resolve();if(r&&r.length>0){let u=function(c){return Promise.all(c.map(S=>Promise.resolve(S).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};const f=document.getElementsByTagName("link"),o=document.querySelector("meta[property=csp-nonce]"),_=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));n=u(r.map(c=>{if(c=Ye(c,s),c in Q)return;Q[c]=!0;const S=c.endsWith(".css"),p=S?'[rel="stylesheet"]':"";if(s)for(let h=f.length-1;h>=0;h--){const w=f[h];if(w.href===c&&(!S||w.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${p}`))return;const v=document.createElement("link");if(v.rel=S?"stylesheet":Me,S||(v.as="script"),v.crossOrigin="",v.href=c,_&&v.setAttribute("nonce",_),document.head.appendChild(v),S)return new Promise((h,w)=>{v.addEventListener("load",h),v.addEventListener("error",()=>w(Error(`Unable to preload CSS for ${c}`)))})}))}function a(u){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=u,window.dispatchEvent(f),!f.defaultPrevented)throw u}return n.then(u=>{for(const f of u||[])f.status==="rejected"&&a(f.reason);return e().catch(a)})};export{Ne as B,Ve as _,He as a,We as b,ze as c,Qe as d,qe as i,Je as l,Ge as m,Ce as p,Ze as s};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as j,B as m,C as W,D,e as H,E as I,F as J,G as K,H as Q,I as M,c as f,g,u as R,r as u,t as C,f as E,j as L,s as y}from"./OZH1Z0a6.js";import{d as T,f as _,a as h,c as U,s as P}from"./YlCvXWJE.js";import{h as X,g as Y,n as Z,m as V,L as $}from"./DQqZ5wJX.js";import{i as q,a as p,s as ee}from"./DmF1jPXz.js";import{I as ae}from"./mJhlxSRc.js";function fe(e,s,a=s){var c=new WeakSet;j(e,"input",async l=>{var o=l?e.defaultValue:e.value;if(o=A(e)?B(o):o,a(o),m!==null&&c.add(m),await W(),o!==(o=s())){var r=e.selectionStart,v=e.selectionEnd,n=e.value.length;if(e.value=o??"",v!==null){var t=e.value.length;r===v&&v===n&&t>n?(e.selectionStart=t,e.selectionEnd=t):(e.selectionStart=r,e.selectionEnd=Math.min(v,t))}}}),(D&&e.defaultValue!==e.value||H(s)==null&&e.value)&&(a(A(e)?B(e.value):e.value),m!==null&&c.add(m)),I(()=>{var l=s();if(e===document.activeElement){var o=J??m;if(c.has(o))return}A(e)&&l===B(e.value)||e.type==="date"&&!l&&!e.value||l!==e.value&&(e.value=l??"")})}const S=new Set;function ue(e,s,a,c,l=c){var o=a.getAttribute("type")==="checkbox",r=e;let v=!1;if(s!==null)for(var n of s)r=r[n]??(r[n]=[]);r.push(a),j(a,"change",()=>{var t=a.__value;o&&(t=z(r,t,a.checked)),l(t)},()=>l(o?[]:null)),I(()=>{var t=c();if(D&&a.defaultChecked!==a.checked){v=!0;return}o?(t=t||[],a.checked=t.includes(a.__value)):a.checked=K(a.__value,t)}),Q(()=>{var t=r.indexOf(a);t!==-1&&r.splice(t,1)}),S.has(r)||(S.add(r),M(()=>{r.sort((t,d)=>t.compareDocumentPosition(d)===4?-1:1),S.delete(r)})),M(()=>{if(v){var t;if(o)t=z(r,t,a.checked);else{var d=r.find(i=>i.checked);t=d==null?void 0:d.__value}l(t)}})}function he(e,s,a=s){j(e,"change",c=>{var l=c?e.defaultChecked:e.checked;a(l)}),(D&&e.defaultChecked!==e.checked||H(s)==null)&&a(e.checked),I(()=>{var c=s();e.checked=!!c})}function z(e,s,a){for(var c=new Set,l=0;l<e.length;l+=1)e[l].checked&&c.add(e[l].__value);return a||c.delete(s),Array.from(c)}function A(e){var s=e.type;return s==="number"||s==="range"}function B(e){return e===""?null:+e}var re=_('<div class="flex items-center space-x-2"><svg class="h-4 w-4" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m0-10.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.75c0 5.592 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.57-.598-3.75A11.959 11.959 0 0112 2.704z"></path><path stroke-linecap="round" stroke-linejoin="round" d="M12 15.75h.007v.008H12v-.008z"></path></svg> <span class="text-xs">Not Connected</span></div>'),te=_("<button><!></button>");function me(e,s){const a=()=>p(Z,"$connected",c),[c,l]=ee(),o=R(()=>a()?!!s.disabled:!0);var r=te();r.__click=function(...d){var i;(i=s.buttonAction)==null||i.apply(this,d)};var v=f(r);{var n=d=>{var i=re();h(d,i)},t=d=>{var i=U(),b=E(i);V(b,()=>s.children??L),h(d,i)};q(v,d=>{!a()&&g(o)?d(n):d(t,!1)})}u(r),C(()=>{X(r,1,`inline-flex items-center justify-center px-6 py-3 text-sm font-semibold border border-transparent rounded-lg shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 disabled:cursor-not-allowed transition-all duration-200 ${g(o)&&!a()?"bg-red-100 text-red-700 border-red-200 hover:bg-red-100":g(o)?"bg-gray-100 text-gray-500 border-gray-200 hover:bg-gray-100":"text-white bg-blue-600 hover:bg-blue-700 focus:ring-blue-500"}`),r.disabled=g(o),Y(r,"title",a()?"":"Please connect to Sockethub first")}),h(e,r),l()}T(["click"]);var se=_('<p class="text-lg text-gray-600 leading-relaxed"> </p>'),le=_("<title> </title> <!>",1),oe=_('<!> <div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 space-y-8"><div class="bg-white shadow-sm border border-gray-200 rounded-xl p-8"><div class="space-y-8"><!></div></div></div> <div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 mt-8"><!></div>',1);function _e(e,s){var a=oe(),c=E(a);ae(c,{get title(){return s.title},children:(d,i)=>{var b=le(),k=E(b),F=f(k,!0);u(k);var G=y(k,2);{var N=x=>{var w=se(),O=f(w,!0);u(w),C(()=>P(O,s.description)),h(x,w)};q(G,x=>{s.description&&x(N)})}C(()=>P(F,s.title)),h(d,b)}});var l=y(c,2),o=f(l),r=f(o),v=f(r);V(v,()=>s.children??L),u(r),u(o),u(l);var n=y(l,2),t=f(n);$(t,{}),u(n),h(e,a)}export{_e as B,me as S,ue as a,fe as b,he as c};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var Ie=Object.defineProperty;var pe=t=>{throw TypeError(t)};var Le=(t,e,r)=>e in t?Ie(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var ee=(t,e,r)=>Le(t,typeof e!="symbol"?e+"":e,r),te=(t,e,r)=>e.has(t)||pe("Cannot "+r);var s=(t,e,r)=>(te(t,e,"read from private field"),r?r.call(t):e.get(t)),f=(t,e,r)=>e.has(t)?pe("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),a=(t,e,r,n)=>(te(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),p=(t,e,r)=>(te(t,e,"access private method"),r);import{am as Me,g as we,a2 as Ne,E as Fe,e as Pe,an as ge,I as de,O as v,D as E,a1 as P,R as Ce,S as Re,ao as he,V as Ve,N as I,ap as z,L as re,M as U,aq as Be,a8 as J,ar as B,as as ve,at as Ye,au as ie,k as Se,P as xe,av as me,aw as We,ax as ye,ay as He,az as Ue,K as se,X as j,n as je,W as qe,aA as Ee,aB as Ge,T as ze,aC as Ke,aD as Xe,aE as $e,Z as Je,aF as Qe,aG as ne,aH as Ze,aI as et,aJ as tt,aK as rt,aL as st,aM as ae,aN as it,aO as nt,aP as oe,Y as K,aQ as at,aR as ot,aS as ut,aT as lt,p as ft,aU as ct,aV as dt,a as ht}from"./OZH1Z0a6.js";function _t(t){let e=0,r=Ne(0),n;return()=>{Me()&&(we(r),Fe(()=>(e===0&&(n=Pe(()=>t(()=>ge(r)))),e+=1,()=>{de(()=>{e-=1,e===0&&(n==null||n(),n=void 0,ge(r))})})))}}var pt=ze|Ke|Xe;function gt(t,e,r){new vt(t,e,r)}var g,q,b,L,T,y,h,w,S,k,M,A,F,Y,x,D,Q,l,Ae,ke,ue,X,$,le;class vt{constructor(e,r,n){f(this,l);ee(this,"parent");ee(this,"is_pending",!1);f(this,g);f(this,q,E?v:null);f(this,b);f(this,L);f(this,T);f(this,y,null);f(this,h,null);f(this,w,null);f(this,S,null);f(this,k,null);f(this,M,0);f(this,A,0);f(this,F,!1);f(this,Y,new Set);f(this,x,new Set);f(this,D,null);f(this,Q,_t(()=>(a(this,D,Ne(s(this,M))),()=>{a(this,D,null)})));a(this,g,e),a(this,b,r),a(this,L,n),this.parent=P.b,this.is_pending=!!s(this,b).pending,a(this,T,Ce(()=>{if(P.b=this,E){const i=s(this,q);Re(),i.nodeType===he&&i.data===Ve?p(this,l,ke).call(this):(p(this,l,Ae).call(this),s(this,A)===0&&(this.is_pending=!1))}else{var o=p(this,l,ue).call(this);try{a(this,y,I(()=>n(o)))}catch(i){this.error(i)}s(this,A)>0?p(this,l,$).call(this):this.is_pending=!1}return()=>{var i;(i=s(this,k))==null||i.remove()}},pt)),E&&a(this,g,v)}defer_effect(e){Be(e,s(this,Y),s(this,x))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!s(this,b).pending}update_pending_count(e){p(this,l,le).call(this,e),a(this,M,s(this,M)+e),s(this,D)&&Ue(s(this,D),s(this,M))}get_effect_pending(){return s(this,Q).call(this),we(s(this,D))}error(e){var r=s(this,b).onerror;let n=s(this,b).failed;if(s(this,F)||!r&&!n)throw e;s(this,y)&&(se(s(this,y)),a(this,y,null)),s(this,h)&&(se(s(this,h)),a(this,h,null)),s(this,w)&&(se(s(this,w)),a(this,w,null)),E&&(j(s(this,q)),je(),j(qe()));var o=!1,i=!1;const u=()=>{if(o){$e();return}o=!0,i&&Ge(),z.ensure(),a(this,M,0),s(this,w)!==null&&re(s(this,w),()=>{a(this,w,null)}),this.is_pending=this.has_pending_snippet(),a(this,y,p(this,l,X).call(this,()=>(a(this,F,!1),I(()=>s(this,L).call(this,s(this,g)))))),s(this,A)>0?p(this,l,$).call(this):this.is_pending=!1};var m=ie;try{B(null),i=!0,r==null||r(e,u),i=!1}catch(_){Ee(_,s(this,T)&&s(this,T).parent)}finally{B(m)}n&&de(()=>{a(this,w,p(this,l,X).call(this,()=>{z.ensure(),a(this,F,!0);try{return I(()=>{n(s(this,g),()=>e,()=>u)})}catch(_){return Ee(_,s(this,T).parent),null}finally{a(this,F,!1)}}))})}}g=new WeakMap,q=new WeakMap,b=new WeakMap,L=new WeakMap,T=new WeakMap,y=new WeakMap,h=new WeakMap,w=new WeakMap,S=new WeakMap,k=new WeakMap,M=new WeakMap,A=new WeakMap,F=new WeakMap,Y=new WeakMap,x=new WeakMap,D=new WeakMap,Q=new WeakMap,l=new WeakSet,Ae=function(){try{a(this,y,I(()=>s(this,L).call(this,s(this,g))))}catch(e){this.error(e)}},ke=function(){const e=s(this,b).pending;e&&(a(this,h,I(()=>e(s(this,g)))),z.enqueue(()=>{var r=p(this,l,ue).call(this);a(this,y,p(this,l,X).call(this,()=>(z.ensure(),I(()=>s(this,L).call(this,r))))),s(this,A)>0?p(this,l,$).call(this):(re(s(this,h),()=>{a(this,h,null)}),this.is_pending=!1)}))},ue=function(){var e=s(this,g);return this.is_pending&&(a(this,k,U()),s(this,g).before(s(this,k)),e=s(this,k)),e},X=function(e){var r=P,n=ie,o=Se;J(s(this,T)),B(s(this,T)),ve(s(this,T).ctx);try{return e()}catch(i){return Ye(i),null}finally{J(r),B(n),ve(o)}},$=function(){const e=s(this,b).pending;s(this,y)!==null&&(a(this,S,document.createDocumentFragment()),s(this,S).append(s(this,k)),xe(s(this,y),s(this,S))),s(this,h)===null&&a(this,h,I(()=>e(s(this,g))))},le=function(e){var r;if(!this.has_pending_snippet()){this.parent&&p(r=this.parent,l,le).call(r,e);return}if(a(this,A,s(this,A)+e),s(this,A)===0){this.is_pending=!1;for(const n of s(this,Y))me(n,We),ye(n);for(const n of s(this,x))me(n,He),ye(n);s(this,Y).clear(),s(this,x).clear(),s(this,h)&&re(s(this,h),()=>{a(this,h,null)}),s(this,S)&&(s(this,g).before(s(this,S)),a(this,S,null))}};function At(t){return t.endsWith("capture")&&t!=="gotpointercapture"&&t!=="lostpointercapture"}const mt=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function kt(t){return mt.includes(t)}const yt={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function Dt(t){return t=t.toLowerCase(),yt[t]??t}const Et=["touchstart","touchmove"];function bt(t){return Et.includes(t)}const De=new Set,fe=new Set;function Ot(t,e,r,n={}){function o(i){if(n.capture||H.call(e,i),!i.cancelBubble)return Qe(()=>r==null?void 0:r.call(this,i))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?de(()=>{e.addEventListener(t,o,n)}):e.addEventListener(t,o,n),o}function It(t){for(var e=0;e<t.length;e++)De.add(t[e]);for(var r of fe)r(t)}let be=null;function H(t){var _e;var e=this,r=e.ownerDocument,n=t.type,o=((_e=t.composedPath)==null?void 0:_e.call(t))||[],i=o[0]||t.target;be=t;var u=0,m=be===t&&t.__root;if(m){var _=o.indexOf(m);if(_!==-1&&(e===document||e===window)){t.__root=e;return}var C=o.indexOf(e);if(C===-1)return;_<=C&&(u=_)}if(i=o[u]||t.target,i!==e){Je(t,"currentTarget",{configurable:!0,get(){return i||r}});var Z=ie,N=P;B(null),J(null);try{for(var c,d=[];i!==null;){var R=i.assignedSlot||i.parentNode||i.host||null;try{var W=i["__"+n];W!=null&&(!i.disabled||t.target===i)&&W.call(i,t)}catch(G){c?d.push(G):c=G}if(t.cancelBubble||R===e||R===null)break;i=R}if(c){for(let G of d)queueMicrotask(()=>{throw G});throw c}}finally{t.__root=e,delete t.currentTarget,B(Z),J(N)}}}function Tt(t){var e=document.createElement("template");return e.innerHTML=t.replaceAll("<!>","<!---->"),e.content}function O(t,e){var r=P;r.nodes===null&&(r.nodes={start:t,end:e,a:null,t:null})}function Lt(t,e){var r=(e&et)!==0,n=(e&tt)!==0,o,i=!t.startsWith("<!>");return()=>{if(E)return O(v,null),v;o===void 0&&(o=Tt(i?t:"<!>"+t),r||(o=ne(o)));var u=n||Ze?document.importNode(o,!0):o.cloneNode(!0);if(r){var m=ne(u),_=u.lastChild;O(m,_)}else O(u,u);return u}}function Mt(t=""){if(!E){var e=U(t+"");return O(e,e),e}var r=v;return r.nodeType!==st&&(r.before(r=U()),j(r)),O(r,r),r}function Ft(){if(E)return O(v,null),v;var t=document.createDocumentFragment(),e=document.createComment(""),r=U();return t.append(e,r),O(e,r),t}function Pt(t,e){if(E){var r=P;((r.f&rt)===0||r.nodes.end===null)&&(r.nodes.end=v),Re();return}t!==null&&t.before(e)}function Ct(t,e){var r=e==null?"":typeof e=="object"?e+"":e;r!==(t.__t??(t.__t=t.nodeValue))&&(t.__t=r,t.nodeValue=r+"")}function wt(t,e){return Oe(t,e)}function Vt(t,e){ae(),e.intro=e.intro??!1;const r=e.target,n=E,o=v;try{for(var i=ne(r);i&&(i.nodeType!==he||i.data!==it);)i=nt(i);if(!i)throw oe;K(!0),j(i);const u=Oe(t,{...e,anchor:i});return K(!1),u}catch(u){if(u instanceof Error&&u.message.split(`
|
|
2
|
-
`).some(m=>m.startsWith("https://svelte.dev/e/")))throw u;return u!==oe&&console.warn("Failed to hydrate: ",u),e.recover===!1&&at(),ae(),ot(r),K(!1),wt(t,e)}finally{K(n),j(o)}}const V=new Map;function Oe(t,{target:e,anchor:r,props:n={},events:o,context:i,intro:u=!0}){ae();var m=new Set,_=N=>{for(var c=0;c<N.length;c++){var d=N[c];if(!m.has(d)){m.add(d);var R=bt(d);e.addEventListener(d,H,{passive:R});var W=V.get(d);W===void 0?(document.addEventListener(d,H,{passive:R}),V.set(d,1)):V.set(d,W+1)}}};_(ut(De)),fe.add(_);var C=void 0,Z=lt(()=>{var N=r??e.appendChild(U());return gt(N,{pending:()=>{}},c=>{if(i){ft({});var d=Se;d.c=i}if(o&&(n.$$events=o),E&&O(c,null),C=t(c,n)||{},E&&(P.nodes.end=v,v===null||v.nodeType!==he||v.data!==ct))throw dt(),oe;i&&ht()}),()=>{var R;for(var c of m){e.removeEventListener(c,H);var d=V.get(c);--d===0?(document.removeEventListener(c,H),V.delete(c)):V.set(c,d)}fe.delete(_),N!==r&&((R=N.parentNode)==null||R.removeChild(N))}});return ce.set(C,Z),C}let ce=new WeakMap;function Bt(t,e){const r=ce.get(t);return r?(ce.delete(t),r(e)):Promise.resolve()}const Nt="5";var Te;typeof window<"u"&&((Te=window.__svelte??(window.__svelte={})).v??(Te.v=new Set)).add(Nt);export{Pt as a,O as b,Ft as c,It as d,Tt as e,Lt as f,Ot as g,Vt as h,At as i,kt as j,wt as m,Dt as n,Ct as s,Mt as t,Bt as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as l,a as p,s as h}from"./YlCvXWJE.js";import{c as t,j as m,r as a,s as g,t as b}from"./OZH1Z0a6.js";import{m as x}from"./DQqZ5wJX.js";var u=l('<div class="max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-8"><!></div>');function y(e,o){var r=u(),s=t(r);x(s,()=>o.children??m),a(r),p(e,r)}var _=l('<div class="bg-white shadow-sm border border-gray-200 rounded-xl overflow-hidden"><div class="bg-gradient-to-r from-blue-50 to-indigo-50 px-8 py-6 border-b border-gray-200"><h1 class="text-3xl font-bold text-gray-900 tracking-tight"> </h1></div> <div class="px-8 py-6"><!></div></div>');function k(e,o){y(e,{children:(r,s)=>{var i=_(),d=t(i),v=t(d),c=t(v,!0);a(v),a(d);var n=g(d,2),f=t(n);x(f,()=>o.children??m),a(n),a(i),b(()=>h(c,o.title)),p(r,i)}})}export{k as I};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.CsTQ1Eeu.js","../chunks/YlCvXWJE.js","../chunks/OZH1Z0a6.js","../chunks/DQqZ5wJX.js","../chunks/DmF1jPXz.js","../chunks/CQSki_LV.js","../assets/sockethub.Bpv0Wt6b.css","../chunks/ChAAmblw.js","../chunks/CdjPbSmN.js","../assets/0.D81t2HYN.css","../nodes/1.C0f2sebm.js","../nodes/2.UFZ_HUkg.js","../chunks/mJhlxSRc.js","../nodes/3.QCGY1WED.js","../chunks/1CEAjNji.js","../chunks/Fuku2EMA.js","../chunks/D6O50hAO.js","../nodes/4.2xkip1qG.js","../chunks/BgSSi_nq.js","../nodes/5.BHW8yhED.js","../nodes/6.BM3C0ZGx.js","../nodes/7.isUySRo5.js","../nodes/8.DYw6a0EN.js","../nodes/9.DyF8lTV5.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var M=e=>{throw TypeError(e)};var B=(e,t,r)=>t.has(e)||M("Cannot "+r);var c=(e,t,r)=>(B(e,t,"read from private field"),r?r.call(e):t.get(e)),A=(e,t,r)=>t.has(e)?M("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),x=(e,t,r,i)=>(B(e,t,"write to private field"),i?i.call(e,r):t.set(e,r),r);import{B as Q,p as L,i as D,_ as d}from"../chunks/DmF1jPXz.js";import{D as U,S as W,R as X,T as $,ai as tt,E as et,e as rt,I as at,af as st,b as T,ag as nt,g as f,aj as it,Z as ot,_ as ct,p as ut,l as _t,m as mt,ak as dt,d as I,C as ft,f as b,s as lt,a as ht,c as vt,r as gt,u as p,t as Et}from"../chunks/OZH1Z0a6.js";import{h as yt,m as Pt,u as Rt,f as N,a as P,c as V,t as Ot,s as bt}from"../chunks/YlCvXWJE.js";function k(e,t,r){U&&W();var i=new Q(e);X(()=>{var n=t()??null;i.ensure(n,n&&(o=>r(o,n)))},$)}function F(e,t){return e===t||(e==null?void 0:e[st])===t}function j(e={},t,r,i){return tt(()=>{var n,o;return et(()=>{n=o,o=[],rt(()=>{e!==r(...o)&&(t(e,...o),n&&F(r(...n),e)&&t(null,...n))})}),()=>{at(()=>{o&&F(r(...o),e)&&t(null,...o)})}}),e}function Tt(e){return class extends At{constructor(t){super({component:e,...t})}}}var l,_;class At{constructor(t){A(this,l);A(this,_);var o;var r=new Map,i=(a,s)=>{var h=ct(s,!1,!1);return r.set(a,h),h};const n=new Proxy({...t.props||{},$$events:{}},{get(a,s){return f(r.get(s)??i(s,Reflect.get(a,s)))},has(a,s){return s===nt?!0:(f(r.get(s)??i(s,Reflect.get(a,s))),Reflect.has(a,s))},set(a,s,h){return T(r.get(s)??i(s,h),h),Reflect.set(a,s,h)}});x(this,_,(t.hydrate?yt:Pt)(t.component,{target:t.target,anchor:t.anchor,props:n,context:t.context,intro:t.intro??!1,recover:t.recover})),(!((o=t==null?void 0:t.props)!=null&&o.$$host)||t.sync===!1)&&it(),x(this,l,n.$$events);for(const a of Object.keys(c(this,_)))a==="$set"||a==="$destroy"||a==="$on"||ot(this,a,{get(){return c(this,_)[a]},set(s){c(this,_)[a]=s},enumerable:!0});c(this,_).$set=a=>{Object.assign(n,a)},c(this,_).$destroy=()=>{Rt(c(this,_))}}$set(t){c(this,_).$set(t)}$on(t,r){c(this,l)[t]=c(this,l)[t]||[];const i=(...n)=>r.call(this,...n);return c(this,l)[t].push(i),()=>{c(this,l)[t]=c(this,l)[t].filter(n=>n!==i)}}$destroy(){c(this,_).$destroy()}}l=new WeakMap,_=new WeakMap;const St={};var xt=N('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),Lt=N("<!> <!>",1);function Dt(e,t){ut(t,!0);let r=L(t,"components",23,()=>[]),i=L(t,"data_0",3,null),n=L(t,"data_1",3,null);_t(()=>t.stores.page.set(t.page)),mt(()=>{t.stores,t.page,t.constructors,r(),t.form,i(),n(),t.stores.page.notify()});let o=I(!1),a=I(!1),s=I(null);dt(()=>{const u=t.stores.page.subscribe(()=>{f(o)&&(T(a,!0),ft().then(()=>{T(s,document.title||"untitled page",!0)}))});return T(o,!0),u});const h=p(()=>t.constructors[1]);var w=Lt(),S=b(w);{var q=u=>{const v=p(()=>t.constructors[0]);var g=V(),R=b(g);k(R,()=>f(v),(E,y)=>{j(y(E,{get data(){return i()},get form(){return t.form},get params(){return t.page.params},children:(m,pt)=>{var C=V(),H=b(C);k(H,()=>f(h),(J,K)=>{j(K(J,{get data(){return n()},get form(){return t.form},get params(){return t.page.params}}),O=>r()[1]=O,()=>{var O;return(O=r())==null?void 0:O[1]})}),P(m,C)},$$slots:{default:!0}}),m=>r()[0]=m,()=>{var m;return(m=r())==null?void 0:m[0]})}),P(u,g)},G=u=>{const v=p(()=>t.constructors[0]);var g=V(),R=b(g);k(R,()=>f(v),(E,y)=>{j(y(E,{get data(){return i()},get form(){return t.form},get params(){return t.page.params}}),m=>r()[0]=m,()=>{var m;return(m=r())==null?void 0:m[0]})}),P(u,g)};D(S,u=>{t.constructors[1]?u(q):u(G,!1)})}var Z=lt(S,2);{var z=u=>{var v=xt(),g=vt(v);{var R=E=>{var y=Ot();Et(()=>bt(y,f(s))),P(E,y)};D(g,E=>{f(a)&&E(R)})}gt(v),P(u,v)};D(Z,u=>{f(o)&&u(z)})}P(e,w),ht()}const Ct=Tt(Dt),Mt=[()=>d(()=>import("../nodes/0.CsTQ1Eeu.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]),import.meta.url),()=>d(()=>import("../nodes/1.C0f2sebm.js"),__vite__mapDeps([10,1,2,5,8,7]),import.meta.url),()=>d(()=>import("../nodes/2.UFZ_HUkg.js"),__vite__mapDeps([11,1,2,5,3,4,6,7,12]),import.meta.url),()=>d(()=>import("../nodes/3.QCGY1WED.js"),__vite__mapDeps([13,1,2,4,14,3,5,6,15,12,16]),import.meta.url),()=>d(()=>import("../nodes/4.2xkip1qG.js"),__vite__mapDeps([17,1,2,4,14,3,5,6,15,12,18,16]),import.meta.url),()=>d(()=>import("../nodes/5.BHW8yhED.js"),__vite__mapDeps([19,1,2,4,3,5,6,15,12,14,18]),import.meta.url),()=>d(()=>import("../nodes/6.BM3C0ZGx.js"),__vite__mapDeps([20,1,2,4,3,5,6,15,12,16]),import.meta.url),()=>d(()=>import("../nodes/7.isUySRo5.js"),__vite__mapDeps([21,1,2,4,3,5,6,15,12,16]),import.meta.url),()=>d(()=>import("../nodes/8.DYw6a0EN.js"),__vite__mapDeps([22,1,2,4,14,3,5,6,15,12,16]),import.meta.url),()=>d(()=>import("../nodes/9.DyF8lTV5.js"),__vite__mapDeps([23,1,2,3,4,5,6,15,12,16]),import.meta.url)],Bt=[],Ft={"/":[2],"/caldav":[6],"/carddav":[7],"/dummy":[9],"/feeds":[8],"/irc":[4],"/metadata":[3],"/xmpp":[5]},Y={handleError:({error:e})=>{console.error(e)},reroute:()=>{},transport:{}},It=Object.fromEntries(Object.entries(Y.transport).map(([e,t])=>[e,t.decode])),Nt=Object.fromEntries(Object.entries(Y.transport).map(([e,t])=>[e,t.encode])),Yt=!1,qt=(e,t)=>It[e](t);export{qt as decode,It as decoders,Ft as dictionary,Nt as encoders,Yt as hash,Y as hooks,St as matchers,Mt as nodes,Ct as root,Bt as server_loads};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as o,a as r}from"../chunks/CdjPbSmN.js";export{o as load_css,r as start};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import{f as _,a as h,s as k,c as z}from"../chunks/YlCvXWJE.js";import{t as I,c as a,n as K,r as e,s as b,p as Q,a as U,f as B,g as r,u as S,al as Y,j as Z}from"../chunks/OZH1Z0a6.js";import{h as C,n as ee,e as se,i as ae,o as W,g as P,j as te,p as re,m as oe,q as le}from"../chunks/DQqZ5wJX.js";import"../chunks/CQSki_LV.js";import{i as F,s as H,a as T}from"../chunks/DmF1jPXz.js";import{b as ne}from"../chunks/ChAAmblw.js";import{s as ie}from"../chunks/CdjPbSmN.js";const ce=!0,de=!1,De=Object.freeze(Object.defineProperty({__proto__:null,prerender:ce,ssr:de},Symbol.toStringTag,{value:"Module"})),pe=`<style>/*!
|
|
2
|
-
Theme: Edge Light
|
|
3
|
-
Author: cjayross (https://github.com/cjayross)
|
|
4
|
-
License: ~ MIT (or more permissive) [via base16-schemes-source]
|
|
5
|
-
Maintainer: @highlightjs/core-team
|
|
6
|
-
Version: 2021.09.0
|
|
7
|
-
*/pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#5e646f;background:#fafafa}.hljs::selection,
|
|
8
|
-
.hljs ::selection{background-color:#d69822;color:#5e646f}.hljs-comment{color:#5e646f}.hljs-tag{color:#6587bf}.hljs-subst,
|
|
9
|
-
.hljs-punctuation,
|
|
10
|
-
.hljs-operator{color:#5e646f}.hljs-operator{opacity:0.7}.hljs-bullet,
|
|
11
|
-
.hljs-variable,
|
|
12
|
-
.hljs-template-variable,
|
|
13
|
-
.hljs-selector-tag,
|
|
14
|
-
.hljs-name,
|
|
15
|
-
.hljs-deletion,.hljs-symbol,
|
|
16
|
-
.hljs-number,
|
|
17
|
-
.hljs-link,
|
|
18
|
-
.hljs-attr,
|
|
19
|
-
.hljs-variable.constant_,
|
|
20
|
-
.hljs-literal{color:#db7070}.hljs-title,
|
|
21
|
-
.hljs-class .hljs-title,
|
|
22
|
-
.hljs-title.class_,.hljs-strong{color:#d69822}.hljs-strong{font-weight:bold}.hljs-code,
|
|
23
|
-
.hljs-addition,
|
|
24
|
-
.hljs-title.class_.inherited__,
|
|
25
|
-
.hljs-string{color:#7c9f4b}.hljs-built_in,
|
|
26
|
-
.hljs-doctag,
|
|
27
|
-
.hljs-quote,
|
|
28
|
-
.hljs-keyword.hljs-atrule,
|
|
29
|
-
.hljs-regexp{color:#509c93}.hljs-function .hljs-title,
|
|
30
|
-
.hljs-attribute,
|
|
31
|
-
.ruby .hljs-property,
|
|
32
|
-
.hljs-title.function_,
|
|
33
|
-
.hljs-section{color:#6587bf}.hljs-type,
|
|
34
|
-
.hljs-template-tag,
|
|
35
|
-
.diff .hljs-meta,
|
|
36
|
-
.hljs-keyword,.hljs-emphasis{color:#b870ce}.hljs-emphasis{font-style:italic}.hljs-meta,
|
|
37
|
-
.hljs-meta .hljs-keyword,
|
|
38
|
-
.hljs-meta .hljs-string{color:#509c93}.hljs-meta .hljs-keyword,
|
|
39
|
-
.hljs-meta-keyword{font-weight:bold}</style>`;var he=_('<p class="text-xs text-gray-500 text-center mt-2">Make sure Sockethub server is running</p>'),ve=_('<div class="bg-white border border-gray-200 rounded-lg p-4 shadow-sm"><div class="flex items-center justify-center space-x-3"><div class="flex items-center space-x-2"><div></div> <span class="text-sm font-medium text-gray-700">Sockethub Connection</span></div> <span> </span></div> <!></div>');function me(l){const i=()=>T(ee,"$connected",c),[c,v]=H();var n=ve(),m=a(n),d=a(m),y=a(d);K(2),e(d);var p=b(d,2),f=a(p,!0);e(p),e(m);var u=b(m,2);{var s=t=>{var g=he();h(t,g)};F(u,t=>{i()||t(s)})}e(n),I(()=>{C(y,1,`w-3 h-3 rounded-full ${i()?"bg-green-400 animate-pulse":"bg-gray-300"}`),C(p,1,`px-3 py-1 rounded-full text-xs font-bold uppercase tracking-wide ${i()?"bg-green-100 text-green-800":"bg-gray-100 text-gray-600"}`),k(f,i()?"Connected":"Disconnected")}),h(l,n),v()}const ue=()=>{const l=ie;return{page:{subscribe:l.page.subscribe},navigating:{subscribe:l.navigating.subscribe},updated:l.updated}},ge={subscribe(l){return ue().page.subscribe(l)}};var je=_('<a><span class="text-sm"> </span> <span class="ml-1"> </span></a>'),be=_('<span aria-disabled="true"><span class="text-sm grayscale"> </span> <span class="ml-1"> </span></span>'),fe=_('<nav class="flex justify-center flex-wrap gap-2 p-2"></nav>');function xe(l,i){Q(i,!0);const c=()=>T(te,"$apiDiscovery",n),v=()=>T(ge,"$page",n),[n,m]=H(),d=[["🏠","Home","/","Start here to understand Sockethub",void 0],["🔧","Dummy","/dummy","Basic examples • Start here","dummy"],["📅","CalDAV","/caldav","Calendars and tasks","caldav"],["👤","CardDAV","/carddav","Address books and contacts","carddav"],["📰","Feeds","/feeds","RSS/ATOM feed parsing","feeds"],["💬","IRC","/irc","Internet Relay Chat • Advanced","irc"],["🔍","Metadata","/metadata","Web page metadata extraction","metadata"],["📨","XMPP","/xmpp","Extensible messaging • Advanced","xmpp"]],y=S(()=>{var s;return((s=c())==null?void 0:s.state)==="available"?new Set(c().descriptor.platforms.map(t=>t.id)):c()?new Set:void 0});function p(s){var t;return!s||(((t=r(y))==null?void 0:t.has(s))??!1)}function f(s,t){return t?s:`${s} • Platform not enabled`}var u=fe();se(u,21,()=>d,ae,(s,t)=>{var g=S(()=>Y(r(t),5));let q=()=>r(g)[0],E=()=>r(g)[1],L=()=>r(g)[2],O=()=>r(g)[3],N=()=>r(g)[4];const w=S(()=>p(N())),R=S(()=>`group relative rounded-lg px-3 py-2 font-medium transition-all duration-200 no-underline ${r(w)?v().url.pathname.endsWith(L())?"bg-orange-600 text-blue-50 shadow-md":"text-slate-700 hover:bg-slate-200 hover:shadow-sm":"cursor-not-allowed text-slate-400"}`);var V=z(),X=B(V);{var G=x=>{var o=je(),j=a(o),A=a(j,!0);e(j);var $=b(j,2),D=a($,!0);e($),e(o),I(M=>{C(o,1,W(r(R))),P(o,"href",`${ne??""}${L()??""}`),P(o,"title",M),k(A,q()),k(D,E())},[()=>f(O(),r(w))]),h(x,o)},J=x=>{var o=be(),j=a(o),A=a(j,!0);e(j);var $=b(j,2),D=a($,!0);e($),e(o),I(M=>{C(o,1,W(r(R))),P(o,"title",M),k(A,q()),k(D,E())},[()=>f(O(),r(w))]),h(x,o)};F(X,x=>{r(w)?x(G):x(J,!1)})}h(s,V)}),e(u),h(l,u),U(),m()}var _e=_('<main><div><div><img class="m-auto" src="/sockethub-logo.svg" alt="Sockethub"/></div> <div class="col-span-2 md:mt-3"><!></div> <div class="w-full text-center"><!></div></div> <div class="pt-5"><!></div></main>');function Me(l,i){var c=_e();re("12qhfyh",u=>{var s=z(),t=B(s);le(t,()=>pe),h(u,s)});var v=a(c),n=b(a(v),2),m=a(n);xe(m,{}),e(n);var d=b(n,2),y=a(d);me(y),e(d),e(v);var p=b(v,2),f=a(p);oe(f,()=>i.children??Z),e(p),e(c),h(l,c)}export{Me as component,De as universal};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as h,a as g,s as e}from"../chunks/YlCvXWJE.js";import{i as l}from"../chunks/CQSki_LV.js";import{p as v,f as d,t as _,a as x,c as o,r as p,s as $}from"../chunks/OZH1Z0a6.js";import{s as k,p as m}from"../chunks/CdjPbSmN.js";const b={get error(){return m.error},get status(){return m.status}};k.updated.check;const f=b;var E=h("<h1> </h1> <p> </p>",1);function z(i,c){v(c,!1),l();var t=E(),r=d(t),n=o(r,!0);p(r);var s=$(r,2),u=o(s,!0);p(s),_(()=>{var a;e(n,f.status),e(u,(a=f.error)==null?void 0:a.message)}),g(i,t),x()}export{z as component};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{f as c,a as d,c as U,s as u}from"../chunks/YlCvXWJE.js";import{i as B}from"../chunks/CQSki_LV.js";import{p as G,s,c as t,r as e,a as Q,f as J,g as i,i as Z,t as x,n as ee}from"../chunks/OZH1Z0a6.js";import{j as te,e as se,k as ae,l as re,g}from"../chunks/DQqZ5wJX.js";import{b as f}from"../chunks/ChAAmblw.js";import{i as D,a as oe,s as ie}from"../chunks/DmF1jPXz.js";import{I as de}from"../chunks/mJhlxSRc.js";var le=c('<p class="text-gray-600 text-sm">Discovering server endpoints…</p>'),ne=c('<div><dt class="font-semibold inline">Socket.IO endpoint:</dt> <dd class="inline"><code data-testid="api-info-socket"> </code></dd></div>'),ce=c('<code data-testid="api-info-endpoint"> </code>'),pe=c('<span data-testid="api-info-endpoint-off">not enabled on this server</span>'),ve=c('<li class="bg-white border rounded px-2 py-1"> <span class="text-gray-500"> </span></li>'),be=c('<dl class="text-sm text-gray-700 space-y-2"><!> <div><dt class="font-semibold inline">HTTP actions endpoint:</dt> <dd class="inline"><!></dd></div> <div><dt class="font-semibold inline">Sockethub API version:</dt> <dd class="inline" data-testid="api-info-version"> </dd></div> <div><dt class="font-semibold">Enabled platforms:</dt> <dd><ul class="mt-1 flex flex-wrap gap-2" data-testid="api-info-platforms"></ul></dd></div></dl>'),me=c('<div class="bg-yellow-50 border border-yellow-300 text-yellow-800 rounded p-2" data-testid="api-info-unavailable"><strong>Server discovery failed.</strong> </div>'),ge=c('<div class="bg-gray-50 border-l-4 border-gray-400 p-4 rounded-r-lg" data-testid="api-info"><h2 class="text-xl font-semibold text-gray-800 mb-2">This Server</h2> <!></div>');function fe(O,M){G(M,!1);const y=()=>oe(te,"$apiDiscovery",k),[k,S]=ie();B();var v=ge(),P=s(t(v),2);{var A=l=>{var h=le();d(l,h)},_=l=>{var h=U(),w=J(h);{var I=n=>{const o=Z(()=>{const{descriptor:r,serverOrigin:a}=y();return{descriptor:r,serverOrigin:a}});var b=be(),$=t(b);{var N=r=>{var a=ne(),p=s(t(a),2),m=t(p),C=t(m);e(m),e(p),e(a),x((j,K)=>u(C,`io(${j??""}, { path: ${K??""} })`),[()=>JSON.stringify(i(o).serverOrigin),()=>JSON.stringify(i(o).descriptor.endpoints.socketIO)]),d(r,a)};D($,r=>{i(o).descriptor.endpoints&&r(N)})}var E=s($,2),X=s(t(E),2),Y=t(X);{var z=r=>{var a=ce(),p=t(a,!0);e(a),x(m=>u(p,m),[()=>re(i(o).serverOrigin,i(o).descriptor.endpoints.httpActions)]),d(r,a)},L=r=>{var a=pe();d(r,a)};D(Y,r=>{var a;(a=i(o).descriptor.endpoints)!=null&&a.httpActions?r(z):r(L,!1)})}e(X),e(E);var T=s(E,2),V=s(t(T),2),q=t(V,!0);e(V),e(T);var W=s(T,2),F=s(t(W),2),H=t(F);se(H,5,()=>ae(i(o).descriptor.platforms),r=>r.id,(r,a)=>{var p=ve(),m=t(p),C=s(m),j=t(C);e(C),e(p),x(()=>{u(m,`${i(a).id??""} `),u(j,`API v${i(a).apiVersion??""}`)}),d(r,p)}),e(H),e(F),e(W),e(b),x(()=>u(q,i(o).descriptor.apiVersion)),d(n,b)},R=n=>{var o=me(),b=s(t(o));e(o),x(()=>u(b,` ${y().reason??""}`)),d(n,o)};D(w,n=>{y().state==="available"?n(I):n(R,!1)},!0)}d(l,h)};D(P,l=>{y()?l(_,!1):l(A)})}e(v),d(O,v),Q(),S()}var he=c(`<title>Sockethub Examples</title> <div class="space-y-6"><div class="bg-blue-50 border-l-4 border-blue-400 p-4 rounded-r-lg"><h2 class="text-xl font-semibold text-blue-800 mb-2">What is Sockethub?</h2> <p class="text-blue-700 mb-3">Sockethub is a <strong>protocol gateway</strong> that bridges web applications with various internet protocols
|
|
2
|
-
like IRC, XMPP, RSS/ATOM feeds, and more. Instead of implementing each protocol directly in your web app,
|
|
3
|
-
you send standardized <strong>ActivityStreams</strong> messages to Sockethub, which handles the protocol-specific details.</p> <p class="text-blue-700">Think of it as a universal translator that lets your web application communicate with
|
|
4
|
-
chat servers, feed readers, and other internet services using a single, consistent API.</p></div> <div class="bg-green-50 border-l-4 border-green-400 p-4 rounded-r-lg"><h2 class="text-xl font-semibold text-green-800 mb-2">Key Concepts</h2> <div class="space-y-3"><div><h3 class="font-semibold text-green-700">🎭 Actor</h3> <p class="text-green-600 text-sm">Your identity on a platform (e.g., IRC nickname, XMPP username, feed URL)</p></div> <div><h3 class="font-semibold text-green-700">🔧 Platform</h3> <p class="text-green-600 text-sm">A protocol handler (IRC, XMPP, Feeds, etc.) that runs as a separate process</p></div> <div><h3 class="font-semibold text-green-700">📝 ActivityStreams</h3> <p class="text-green-600 text-sm">Standardized JSON format for describing activities like "send message", "connect", "fetch"</p></div> <div><h3 class="font-semibold text-green-700">🔐 Credentials</h3> <p class="text-green-600 text-sm">Connection details securely stored per session (servers, passwords, API keys)</p></div></div></div> <div class="bg-yellow-50 border-l-4 border-yellow-400 p-4 rounded-r-lg"><h2 class="text-xl font-semibold text-yellow-800 mb-2">How It Works</h2> <ol class="text-yellow-700 space-y-2 text-sm"><li><span class="font-semibold">1.</span> Your web app connects to Sockethub via WebSocket</li> <li><span class="font-semibold">2.</span> You define an actor and send ActivityStreams messages (<code>credentials</code>, <code>connect</code>, <code>join</code>, …) with full actor objects</li> <li><span class="font-semibold">3.</span> Sockethub routes messages to the appropriate platform</li> <li><span class="font-semibold">4.</span> Platform handles protocol-specific communication</li> <li><span class="font-semibold">5.</span> Results are sent back to your web app as ActivityStreams</li></ol></div> <div class="bg-purple-50 border-l-4 border-purple-400 p-4 rounded-r-lg"><h2 class="text-xl font-semibold text-purple-800 mb-2">Explore the Examples</h2> <p class="text-purple-700 mb-3">Each example demonstrates a different platform. Start with <strong>Dummy</strong> to understand
|
|
5
|
-
the basic flow, then explore real-world protocols:</p> <div class="grid gap-3 text-sm"><a class="block p-3 bg-white rounded border hover:bg-purple-50 transition-colors border-l-4 border-l-green-400"><div class="flex items-center justify-between"><div><div class="font-semibold text-purple-800">🔧 Dummy Platform</div> <div class="text-purple-600">Learn the basics with simple echo/fail examples</div></div> <span class="text-xs bg-green-100 text-green-700 px-2 py-1 rounded">Start Here</span></div></a> <div class="grid md:grid-cols-2 gap-3"><a class="block p-3 bg-white rounded border hover:bg-purple-50 transition-colors"><div class="font-semibold text-purple-800">📅 CalDAV Calendars</div> <div class="text-purple-600">Discover calendars and create events or tasks</div></a> <a class="block p-3 bg-white rounded border hover:bg-purple-50 transition-colors"><div class="font-semibold text-purple-800">👤 CardDAV Contacts</div> <div class="text-purple-600">Discover address books, then search, add, edit, and delete contacts</div></a></div> <div class="grid md:grid-cols-2 gap-3"><a class="block p-3 bg-white rounded border hover:bg-purple-50 transition-colors"><div class="font-semibold text-purple-800">📰 RSS/ATOM Feeds</div> <div class="text-purple-600">Fetch and parse web feeds</div></a> <a class="block p-3 bg-white rounded border hover:bg-purple-50 transition-colors border-l-4 border-l-orange-400"><div class="flex items-center justify-between"><div><div class="font-semibold text-purple-800">💬 IRC Chat</div> <div class="text-purple-600">Connect to IRC servers and channels</div></div> <span class="text-xs bg-orange-100 text-orange-700 px-2 py-1 rounded">Advanced</span></div></a></div> <div class="grid md:grid-cols-2 gap-3"><a class="block p-3 bg-white rounded border hover:bg-purple-50 transition-colors"><div class="font-semibold text-purple-800">🔍 Metadata</div> <div class="text-purple-600">Extract metadata from web pages</div></a> <a class="block p-3 bg-white rounded border hover:bg-purple-50 transition-colors border-l-4 border-l-orange-400"><div class="flex items-center justify-between"><div><div class="font-semibold text-purple-800">📨 XMPP Messaging</div> <div class="text-purple-600">Send and receive XMPP messages</div></div> <span class="text-xs bg-orange-100 text-orange-700 px-2 py-1 rounded">Advanced</span></div></a></div></div></div> <!> <div class="text-center text-gray-600 text-sm bg-gray-50 p-4 rounded-lg">💡 <strong>Tip:</strong> Watch the connection status at the top and the activity log at the bottom of each example to understand what's happening behind the scenes.</div></div>`,1);function Pe(O){de(O,{title:"Sockethub Examples",children:(M,y)=>{var k=he(),S=s(J(k),2),v=s(t(S),6),P=s(t(v),4),A=t(P),_=s(A,2),l=t(_),h=s(l,2);e(_);var w=s(_,2),I=t(w),R=s(I,2);e(w);var n=s(w,2),o=t(n),b=s(o,2);e(n),e(P),e(v);var $=s(v,2);fe($,{}),ee(2),e(S),x(()=>{g(A,"href",`${f??""}/dummy`),g(l,"href",`${f??""}/caldav`),g(h,"href",`${f??""}/carddav`),g(I,"href",`${f??""}/feeds`),g(R,"href",`${f??""}/irc`),g(o,"href",`${f??""}/metadata`),g(b,"href",`${f??""}/xmpp`)}),d(M,k)}})}export{Pe as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as _,a as l,t as F}from"../chunks/YlCvXWJE.js";import{p as L,a as R,s,f as A,c as u,b as E,d as P,g as t,w as U,u as h,r as m,n as B}from"../chunks/OZH1Z0a6.js";import{s as M,a as O}from"../chunks/DmF1jPXz.js";import{A as T}from"../chunks/1CEAjNji.js";import{B as W,S as j}from"../chunks/Fuku2EMA.js";import{F as C}from"../chunks/D6O50hAO.js";import{s as D,a as G,c as H}from"../chunks/DQqZ5wJX.js";var J=_('<div class="bg-purple-50 border-l-4 border-purple-400 p-4 rounded-r-lg mb-6"><h3 class="text-lg font-semibold text-purple-800 mb-2">🔍 How Metadata Extraction Works</h3> <p class="text-purple-700 text-sm mb-3">This example shows how Sockethub can extract structured metadata from any web page.</p> <div class="text-purple-700 text-sm space-y-1"><div><strong>🌐 Fetching:</strong> Sockethub downloads the web page content</div> <div><strong>🔍 Scanning:</strong> Searches for Open Graph, Twitter Cards, JSON-LD, and meta tags</div> <div><strong>📊 Extracting:</strong> Pulls out titles, descriptions, images, and other metadata</div> <div><strong>📋 Returning:</strong> Provides structured data about the page</div></div></div> <div class="space-y-4"><!> <p class="text-gray-600 text-sm">The page URL is the actor <code>id</code> with <code>type: "website"</code>.</p> <!> <div class="bg-blue-50 border border-blue-200 p-3 rounded-lg"><p class="text-blue-700 text-sm"><strong>💡 What happens when you click Fetch:</strong><br/> Sockethub sends a <code>fetch</code> activity with the page URL as the actor and returns extracted metadata.</p></div> <div class="w-full text-right"><!></div></div>',1);function Z(g,b){L(b,!0);const v=()=>O(r,"$sockethubState",x),[x,f]=M(),r=U({actorSet:!1});let e=P("https://sockethub.org");const o=h(()=>({id:t(e),type:"website",name:t(e)}));async function w(){await D({"@context":await H("metadata"),type:"fetch",actor:G(t(o))})}W(g,{title:"Metadata Platform Example",description:"Sockethub's metadata platform takes a URL, fetches and parses it for any metadata.",children:(S,N)=>{var c=J(),d=s(A(c),2),i=u(d);C(i,{label:"Website URL",id:"URL",placeholder:"https://example.com",get value(){return t(e)},set value(a){E(e,a,!0)}});var n=s(i,4);T(n,{get actor(){return t(o)},get sockethubState(){return r}});var p=s(n,4),k=u(p);{let a=h(()=>!v().actorSet);j(k,{buttonAction:w,get disabled(){return t(a)},children:(y,q)=>{B();var $=F("Extract Metadata");l(y,$)}})}m(p),m(d),l(S,c)}}),R(),f()}export{Z as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as m,t as j,s as p,a as u}from"../chunks/YlCvXWJE.js";import{p as ft,d,h as Re,a as gt,f as ae,s as n,c as i,b as a,g as e,n as I,t as f,u as U,r as o}from"../chunks/OZH1Z0a6.js";import{i as x}from"../chunks/DmF1jPXz.js";import{r as fe,e as Oe,b as mt,d as _t,c as re,f as bt,s as ge}from"../chunks/DQqZ5wJX.js";import{B as yt,S as le,a as Le,c as xt}from"../chunks/Fuku2EMA.js";import{F as S}from"../chunks/D6O50hAO.js";var ht=m('<div class="rounded-lg border border-red-200 bg-red-50 p-4 text-sm text-red-800" role="alert"> </div>'),wt=m('<div class="rounded-lg border border-green-200 bg-green-50 p-4 text-sm text-green-800" role="status"> </div>'),St=m("<option> </option>"),$t=m('<label for="caldav-calendar" class="block text-sm font-semibold text-gray-700">Calendar</label> <select id="caldav-calendar" class="w-full rounded-lg border border-gray-300 bg-white px-4 py-3"></select>',1),Ct=m("<!> <!>",1),kt=m('<div class="rounded-lg border border-red-200 bg-red-50 p-4 text-sm text-red-800" role="alert"> </div>'),Et=m('<div class="rounded-lg border border-green-200 bg-green-50 p-4 text-sm text-green-800" role="status"> </div>'),It=m('<div class="rounded-lg border border-red-200 bg-red-50 p-4 text-sm text-red-800" role="alert"> </div>'),Tt=m('<li class="flex flex-col gap-1 px-4 py-3 text-sm"><span class="font-medium text-gray-900"> </span> <span class="text-gray-600"> <!> <!></span></li>'),At=m('<h3 class="text-sm font-semibold text-gray-700"> </h3> <ul class="divide-y divide-gray-200 rounded-lg border border-gray-200 bg-white"></ul>',1),Dt=m('<section class="space-y-4"><h2 class="text-xl font-semibold text-gray-900">1. Set credentials</h2> <p class="text-sm text-gray-600">Use an app password when your calendar provider supports one. Credentials stay in this Sockethub session.</p> <!> <!> <!> <!> <div class="flex justify-end"><!></div> <!> <!></section> <section class="space-y-4 border-t border-gray-200 pt-6"><h2 class="text-xl font-semibold text-gray-900">2. Choose a calendar</h2> <div class="flex justify-end"><!></div> <!></section> <section class="space-y-4 border-t border-gray-200 pt-6"><h2 class="text-xl font-semibold text-gray-900">3. Add an item</h2> <div class="flex gap-6"><label class="flex items-center gap-2"><input type="radio"/> Event</label> <label class="flex items-center gap-2"><input type="radio"/> To-do</label></div> <!> <!> <div class="flex justify-end"><!></div></section> <!> <!> <section class="space-y-4 border-t border-gray-200 pt-6"><h2 class="text-xl font-semibold text-gray-900">Read a published iCalendar feed</h2> <p class="text-sm text-gray-600">Public .ics and webcal:// links need no credentials. Sockethub fetches the feed and lists its items.</p> <!> <label class="flex items-center gap-2 text-sm text-gray-700"><input type="checkbox"/> Upcoming items only</label> <div class="flex justify-end"><!></div> <!> <!></section>',1);function Ot(Ve,Ne){ft(Ne,!0);const me=[];let B=d("caldav:alice"),K=d(""),M=d(""),Q=d(""),T=d(!1),$=d(Re([])),R=d(""),_=d("event"),A=d(""),O=d(""),L=d(""),V=d(""),b=d(!1),D=d(null),F=d(null),N=d(null),W=d(null),X=d(""),ne=d(!0),_e=d(""),q=d(Re([])),Y=d(!1),Z=d(null);const k=U(()=>e($).find(l=>l.id===e(R))),We=U(()=>{var l;return((l=e(k))==null?void 0:l.components.includes(e(_)))??!1});function ee(){return{id:e(B),type:"person"}}function te(){e(T)&&(a(T,!1),a($,[],!0),a(R,""),a(N,null),a(W,null))}async function qe(){a(N,null),a(W,null),a(b,!0);try{await _t();const l={"@context":await re("caldav"),type:"credentials",actor:ee(),object:{type:"credentials",url:e(K),username:e(M),password:e(Q)}};await new Promise((v,h)=>{bt.socket.emit("credentials",l,C=>{if(C!=null&&C.error){h(new Error(C.error));return}v()})}),a(T,!0),a(W,"Credentials set for this Sockethub session.")}catch(l){a(N,l instanceof Error?l.message:String(l),!0)}finally{a(b,!1)}}async function ze(){var l;a(D,null),a(F,null),a(b,!0);try{const v=await ge({"@context":await re("caldav"),type:"fetch",actor:ee()});a($,(v.items??[]).filter(h=>h.type==="calendar"&&typeof h.id=="string"&&typeof h.name=="string"&&Array.isArray(h.components)),!0),a(R,((l=e($)[0])==null?void 0:l.id)??"",!0),a(F,`Found ${e($).length} calendar${e($).length===1?"":"s"}.`)}catch(v){a(D,v instanceof Error?v.message:String(v),!0)}finally{a(b,!1)}}async function Ge(){a(Z,null),a(Y,!0);try{const l=await ge({"@context":await re("caldav"),type:"read",actor:ee(),target:{id:e(X),type:"feed"},...e(ne)?{object:{startTime:new Date().toISOString()}}:{}});a(_e,typeof l.summary=="string"?l.summary:"",!0),a(q,(l.items??[]).filter(v=>(v.type==="event"||v.type==="task")&&typeof v.name=="string"),!0)}catch(l){a(q,[],!0),a(Z,l instanceof Error?l.message:String(l),!0)}finally{a(Y,!1)}}function be(l){const v=l.startTime??l.due;return v?l.allDay||!v.includes("T")?v:new Date(v).toLocaleString():""}async function He(){if(e(k)){a(D,null),a(F,null),a(b,!0);try{const l=e(_)==="event"?{type:"event",name:e(A),startTime:new Date(e(O)).toISOString(),...e(L)?{endTime:new Date(e(L)).toISOString()}:{}}:{type:"task",name:e(A),...e(V)?{due:new Date(e(V)).toISOString()}:{}};await ge({"@context":await re("caldav"),type:"create",actor:ee(),target:{id:e(k).id,type:"calendar"},object:l}),a(F,`${e(_)==="event"?"Event":"To-do"} created.`),a(A,""),a(O,""),a(L,""),a(V,"")}catch(l){a(D,l instanceof Error?l.message:String(l),!0)}finally{a(b,!1)}}}yt(Ve,{title:"CalDAV Platform Example",description:"Discover the calendars in a CalDAV account and add an event or to-do, or list the events in a published .ics feed.",children:(l,v)=>{var h=Dt(),C=ae(h),ye=n(i(C),4);S(ye,{label:"Actor ID",id:"caldav-actor",placeholder:"caldav:alice",onInput:te,get value(){return e(B)},set value(t){a(B,t,!0)}});var xe=n(ye,2);S(xe,{label:"CalDAV URL",id:"caldav-url",type:"url",placeholder:"https://calendar.example/dav/",onInput:te,get value(){return e(K)},set value(t){a(K,t,!0)}});var he=n(xe,2);S(he,{label:"Username",id:"caldav-username",onInput:te,get value(){return e(M)},set value(t){a(M,t,!0)}});var we=n(he,2);S(we,{label:"Password",id:"caldav-password",type:"password",onInput:te,get value(){return e(Q)},set value(t){a(Q,t,!0)}});var se=n(we,2),Je=i(se);{let t=U(()=>e(T)||e(b)||!e(B)||!e(K)||!e(M)||!e(Q));le(Je,{buttonAction:qe,get disabled(){return e(t)},children:(r,s)=>{I();var c=j();f(()=>p(c,e(T)?"Credentials Set":e(b)?"Setting Credentials…":"Set Credentials")),u(r,c)}})}o(se);var Se=n(se,2);{var Ke=t=>{var r=ht(),s=i(r,!0);o(r),f(()=>p(s,e(N))),u(t,r)};x(Se,t=>{e(N)&&t(Ke)})}var Me=n(Se,2);{var Qe=t=>{var r=wt(),s=i(r,!0);o(r),f(()=>p(s,e(W))),u(t,r)};x(Me,t=>{e(W)&&t(Qe)})}o(C);var oe=n(C,2),de=n(i(oe),2),Xe=i(de);{let t=U(()=>e(b)||!e(T));le(Xe,{buttonAction:ze,get disabled(){return e(t)},children:(r,s)=>{I();var c=j("Fetch Calendars");u(r,c)}})}o(de);var Ye=n(de,2);{var Ze=t=>{var r=$t(),s=n(ae(r),2);Oe(s,21,()=>e($),c=>c.id,(c,g)=>{var w=St(),y=i(w);o(w);var P={};f(H=>{p(y,`${e(g).name??""} (${H??""})`),P!==(P=e(g).id)&&(w.value=(w.__value=e(g).id)??"")},[()=>e(g).components.join(", ")]),u(c,w)}),o(s),mt(s,()=>e(R),c=>a(R,c)),u(t,r)};x(Ye,t=>{e($).length>0&&t(Ze)})}o(oe);var ie=n(oe,2),ce=n(i(ie),2),ve=i(ce),z=i(ve);fe(z),z.value=z.__value="event",I(),o(ve);var $e=n(ve,2),G=i($e);fe(G),G.value=G.__value="task",I(),o($e),o(ce);var Ce=n(ce,2);S(Ce,{label:"Name",id:"caldav-item-name",get value(){return e(A)},set value(t){a(A,t,!0)}});var ke=n(Ce,2);{var et=t=>{var r=Ct(),s=ae(r);S(s,{label:"Starts",id:"caldav-start",type:"datetime-local",get value(){return e(O)},set value(g){a(O,g,!0)}});var c=n(s,2);S(c,{label:"Ends (optional)",id:"caldav-end",type:"datetime-local",get value(){return e(L)},set value(g){a(L,g,!0)}}),u(t,r)},tt=t=>{S(t,{label:"Due (optional)",id:"caldav-due",type:"datetime-local",get value(){return e(V)},set value(r){a(V,r,!0)}})};x(ke,t=>{e(_)==="event"?t(et):t(tt,!1)})}var Ee=n(ke,2),at=i(Ee);{let t=U(()=>e(b)||!e(We)||!e(A)||e(_)==="event"&&!e(O));le(at,{buttonAction:He,get disabled(){return e(t)},children:(r,s)=>{I();var c=j();f(()=>p(c,`Add ${e(_)==="event"?"Event":"To-do"}`)),u(r,c)}})}o(Ee),o(ie);var Ie=n(ie,2);{var rt=t=>{var r=kt(),s=i(r,!0);o(r),f(()=>p(s,e(D))),u(t,r)};x(Ie,t=>{e(D)&&t(rt)})}var Te=n(Ie,2);{var lt=t=>{var r=Et(),s=i(r,!0);o(r),f(()=>p(s,e(F))),u(t,r)};x(Te,t=>{e(F)&&t(lt)})}var Ae=n(Te,2),De=n(i(Ae),4);S(De,{label:"Feed URL",id:"caldav-feed-url",type:"url",placeholder:"https://example.org/holidays.ics",get value(){return e(X)},set value(t){a(X,t,!0)}});var ue=n(De,2),Fe=i(ue);fe(Fe),I(),o(ue);var pe=n(ue,2),nt=i(pe);{let t=U(()=>e(Y)||!e(B)||!e(X));le(nt,{buttonAction:Ge,get disabled(){return e(t)},children:(r,s)=>{I();var c=j();f(()=>p(c,e(Y)?"Reading…":"Read Feed")),u(r,c)}})}o(pe);var Pe=n(pe,2);{var st=t=>{var r=It(),s=i(r,!0);o(r),f(()=>p(s,e(Z))),u(t,r)};x(Pe,t=>{e(Z)&&t(st)})}var ot=n(Pe,2);{var dt=t=>{var r=At(),s=ae(r),c=i(s);o(s);var g=n(s,2);Oe(g,23,()=>e(q),(w,y)=>`${y}:${w.id}`,(w,y)=>{var P=Tt(),H=i(P),it=i(H,!0);o(H);var je=n(H,2),Ue=i(je),Be=n(Ue);{var ct=E=>{var J=j();f(pt=>p(J,`· ${pt??""}`),[()=>be(e(y))]),u(E,J)};x(Be,E=>{be(e(y))&&E(ct)})}var vt=n(Be,2);{var ut=E=>{var J=j();f(()=>p(J,`· ${e(y).location??""}`)),u(E,J)};x(vt,E=>{e(y).location&&E(ut)})}o(je),o(P),f(()=>{p(it,e(y).name),p(Ue,`${e(y).type==="task"?"To-do":"Event"} `)}),u(w,P)}),o(g),f(()=>p(c,`${e(_e)||"Feed"} (${e(q).length??""})`)),u(t,r)};x(ot,t=>{e(q).length>0&&t(dt)})}o(Ae),f((t,r)=>{z.disabled=t,G.disabled=r},[()=>!!(e(k)&&!e(k).components.includes("event")),()=>!!(e(k)&&!e(k).components.includes("task"))]),Le(me,[],z,()=>e(_),t=>a(_,t)),Le(me,[],G,()=>e(_),t=>a(_,t)),xt(Fe,()=>e(ne),t=>a(ne,t)),u(l,h)}}),gt()}export{Ot as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as Zt,f as y,t as _e,s as h,a as m,c as er}from"../chunks/YlCvXWJE.js";import{p as tr,d as g,h as ft,a as rr,s as o,f as Ue,c as d,b as t,g as e,n as he,t as b,u as K,r as i}from"../chunks/OZH1Z0a6.js";import{i as w}from"../chunks/DmF1jPXz.js";import{b as gt,e as Ve,d as ar,c as oe,f as or,s as se,i as sr,g as Oe}from"../chunks/DQqZ5wJX.js";import{B as nr,S as ye}from"../chunks/Fuku2EMA.js";import{F}from"../chunks/D6O50hAO.js";var lr=y('<div class="rounded-lg border border-red-200 bg-red-50 p-4 text-sm text-red-800" role="alert"> </div>'),ir=y('<div class="rounded-lg border border-green-200 bg-green-50 p-4 text-sm text-green-800" role="status"> </div>'),dr=y("<option> </option>"),cr=y('<p class="text-sm text-gray-600"> </p>'),vr=y('<label for="carddav-address-book" class="block text-sm font-semibold text-gray-700">Address book</label> <select id="carddav-address-book" class="w-full rounded-lg border border-gray-300 bg-white px-4 py-3"></select> <!>',1),ur=y('<span class="font-normal text-gray-500"> </span>'),pr=y('<p class="text-sm text-gray-600"> </p>'),mr=y('<p class="text-sm text-gray-600"> </p>'),fr=y('<p class="text-sm text-gray-600"> </p>'),gr=y('<p class="text-sm text-gray-600"> </p>'),_r=y('<p class="text-sm text-gray-600 break-all"> </p>'),hr=y('<p class="text-sm text-gray-600"> </p>'),yr=y('<p class="text-sm text-gray-600 whitespace-pre-wrap"> </p>'),br=y('<li class="flex flex-col gap-3 p-4 md:flex-row md:items-start md:justify-between"><div class="min-w-0 space-y-1"><h3 class="font-semibold text-gray-900"> <!></h3> <!> <!> <!> <!> <!> <!> <!> <p class="truncate text-xs text-gray-400"> </p></div> <div class="flex shrink-0 gap-2"><button type="button" class="rounded-lg border border-gray-300 px-3 py-2 text-sm font-semibold text-gray-700 hover:bg-gray-50 disabled:cursor-not-allowed disabled:opacity-50">Edit</button> <button type="button" class="rounded-lg border border-red-200 px-3 py-2 text-sm font-semibold text-red-700 hover:bg-red-50 disabled:cursor-not-allowed disabled:opacity-50">Delete</button></div></li>'),xr=y('<ul class="divide-y divide-gray-200 rounded-lg border border-gray-200"></ul>'),wr=y('<p class="text-sm text-gray-600">The update sends the full contact back with its stored <code>etag</code>. Fields not shown here are kept as they are.</p>'),$r=y('<button type="button" class="rounded-lg border border-gray-300 px-6 py-3 text-sm font-semibold text-gray-700 hover:bg-gray-50">Cancel</button>'),kr=y('<div class="rounded-lg border border-red-200 bg-red-50 p-4 text-sm text-red-800" role="alert"> </div>'),Cr=y('<div class="rounded-lg border border-green-200 bg-green-50 p-4 text-sm text-green-800" role="status"> </div>'),Ar=y(`<div class="bg-teal-50 border-l-4 border-teal-400 p-4 rounded-r-lg mb-6"><h3 class="text-lg font-semibold text-teal-800 mb-2">👤 How the CardDAV Platform Works</h3> <p class="text-teal-700 text-sm mb-3">Sockethub talks WebDAV and vCard to your contacts server so your app only has to send ActivityStreams.</p> <div class="text-teal-700 text-sm space-y-1"><div><strong>1. 🔐 Credentials:</strong> Sent once per session over the <code>credentials</code> event, never in an activity</div> <div><strong>2. 📚 fetch:</strong> Discovers the account's address books from the service URL</div> <div><strong>3. 🔍 query:</strong> Lists every contact, or runs a server-side search across name, email, telephone, or organization</div> <div><strong>4. ✏️ create / update / delete:</strong> Each contact carries an <code>etag</code>; updates and deletes are refused with <code>carddav:conflict</code> if another client changed the card first</div></div></div> <section class="space-y-4"><h2 class="text-xl font-semibold text-gray-900">1. Set credentials</h2> <p class="text-sm text-gray-600">Use an app password when your contacts provider supports one. Credentials stay in this Sockethub session.</p> <!> <!> <!> <!> <div class="flex justify-end"><!></div> <!> <!></section> <section class="space-y-4 border-t border-gray-200 pt-6"><h2 class="text-xl font-semibold text-gray-900">2. Choose an address book</h2> <div class="flex justify-end"><!></div> <!></section> <section class="space-y-4 border-t border-gray-200 pt-6"><h2 class="text-xl font-semibold text-gray-900">3. Browse contacts</h2> <p class="text-sm text-gray-600">Leave the search empty to list every contact, or type text to search on the server.</p> <div class="grid gap-4 md:grid-cols-[1fr_auto]"><!> <div class="w-full space-y-2 md:w-48"><label for="carddav-search-field" class="block text-sm font-semibold text-gray-700">Search in</label> <select id="carddav-search-field" class="w-full rounded-lg border border-gray-300 bg-white px-4 py-3"><option>All fields</option><option>Name</option><option>Email</option><option>Telephone</option><option>Organization</option></select></div></div> <div class="flex justify-end"><!></div> <!></section> <section class="space-y-4 border-t border-gray-200 pt-6"><h2 class="text-xl font-semibold text-gray-900"> </h2> <!> <!> <div class="grid gap-4 md:grid-cols-2"><!> <!></div> <div class="grid gap-4 md:grid-cols-2"><!> <!></div> <!> <!> <div class="flex justify-end gap-2"><!> <!></div></section> <!> <!>`,1);function zr(_t,ht){tr(ht,!0);const be=100;let ne=g("carddav:alice"),le=g(""),ie=g(""),de=g(""),C=g(!1),q=g(ft([])),O=g(""),ce=g(""),ve=g("all"),E=g(ft([])),A=g(null),L=g(""),G=g(""),Q=g(""),X=g(""),Z=g(""),W=g(""),H=g(""),x=g(!1),j=g(null),N=g(null),ee=g(null),te=g(null),$=0,z=0;const D=K(()=>e(q).find(a=>a.id===e(O))),yt=K(()=>!!(e(C)&&e(D)&&e(L).trim()));function M(){return{id:e(ne),type:"person"}}function ue(a){return{id:a,type:"addressBook"}}function re(a){const c=a instanceof Error?a.message:String(a);return c==="carddav:conflict"?"carddav:conflict — another client changed this contact. Refresh the list and try again with the current version.":c}function U(){t(A,null),t(L,""),t(G,""),t(Q,""),t(X,""),t(Z,""),t(W,""),t(H,"")}function pe(){$+=1,z+=1,t(C,!1),t(q,[],!0),t(O,""),t(E,[],!0),U(),t(ee,null),t(te,null)}function bt(){z+=1,t(E,[],!0),U(),t(j,null),t(N,null)}function xt(a){var c,u,p,f;t(A,a,!0),t(L,a.name,!0),t(G,a.givenName??"",!0),t(Q,a.familyName??"",!0),t(X,((u=(c=a.emails)==null?void 0:c[0])==null?void 0:u.value)??"",!0),t(Z,((f=(p=a.telephones)==null?void 0:p[0])==null?void 0:f.value)??"",!0),t(W,a.organization??"",!0),t(H,a.note??"",!0),t(j,null),t(N,null)}async function wt(){const a=$;t(ee,null),t(te,null),t(x,!0);try{await ar();const c={"@context":await oe("carddav"),type:"credentials",actor:M(),object:{type:"credentials",url:e(le),username:e(ie),password:e(de)}};await new Promise((u,p)=>{or.socket.emit("credentials",c,f=>{if(f!=null&&f.error){p(new Error(f.error));return}u()})}),a===$&&(t(C,!0),t(te,"Credentials set for this Sockethub session."))}catch(c){a===$&&t(ee,re(c),!0)}finally{t(x,!1)}}async function $t(){var c;if(!e(C))return;const a=$;t(j,null),t(N,null),t(E,[],!0),U(),t(x,!0);try{const u=await se({"@context":await oe("carddav"),type:"fetch",actor:M()});if(a!==$||!e(C))return;t(q,(u.items??[]).filter(p=>p.type==="addressBook"&&typeof p.id=="string"&&typeof p.name=="string"),!0),t(O,((c=e(q)[0])==null?void 0:c.id)??"",!0),t(N,`Found ${e(q).length} address book${e(q).length===1?"":"s"}.`)}catch(u){a===$&&t(j,re(u),!0)}finally{t(x,!1)}}async function Ge(a=""){if(!e(C)||!e(D))return;const c=$,u=++z,p=e(D).id,f=e(ce).trim();t(j,null),t(N,null),t(x,!0);try{const I=await se({"@context":await oe("carddav"),type:"query",actor:M(),target:ue(p),object:{type:"contactQuery",...f?{text:f}:{},...f&&e(ve)!=="all"?{fields:[e(ve)]}:{},limit:be}});if(c!==$||u!==z||e(O)!==p||!e(C))return;if(t(E,(I.items??[]).filter(R=>R.type==="person"&&typeof R.id=="string"&&typeof R.name=="string"),!0),e(A)){const R=e(E).find(me=>{var J;return me.id===((J=e(A))==null?void 0:J.id)});R?t(A,R,!0):U()}const Y=`${e(E).length} contact${e(E).length===1?"":"s"}`,ae=e(E).length>=be?` Only the first ${be} are shown; narrow the search to see the rest.`:"";t(N,a+(f?`Found ${Y} matching “${f}”.`:`Listed ${Y}.`)+ae)}catch(I){c===$&&u===z&&t(j,re(I),!0)}finally{t(x,!1)}}function Qe(a,c){const u=(a==null?void 0:a.slice(1))??[],p=c?[{...(a==null?void 0:a[0])??{},value:c},...u]:u;return p.length?p:void 0}function We(a){const c=Qe(a==null?void 0:a.emails,e(X).trim()),u=Qe(a==null?void 0:a.telephones,e(Z).trim());return{name:e(L).trim(),...e(G).trim()?{givenName:e(G).trim()}:{},...e(Q).trim()?{familyName:e(Q).trim()}:{},...c?{emails:c}:{},...u?{telephones:u}:{},...e(W).trim()?{organization:e(W).trim()}:{},...e(H).trim()?{note:e(H).trim()}:{}}}async function kt(){if(!e(C)||!e(D)||!e(L).trim()||e(A)&&!e(A).etag)return;const a=$,c=z,u=e(D).id,p=e(A);t(j,null),t(N,null),t(x,!0);try{const f=await oe("carddav");if(p){const{emails:I,telephones:Y,givenName:ae,familyName:R,organization:me,note:J,...xe}=p;await se({"@context":f,type:"update",actor:M(),target:ue(u),object:{...xe,...We(p)}})}else await se({"@context":f,type:"create",actor:M(),target:ue(u),object:{type:"person",...We()}});if(a!==$||c!==z||!e(C))return;U(),await Ge(p?"Contact updated. ":"Contact created. ")}catch(f){a===$&&c===z&&t(j,re(f),!0)}finally{t(x,!1)}}async function Ct(a){var f;if(!e(C)||!e(D)||!a.etag)return;const c=$,u=z,p=e(D).id;t(j,null),t(N,null),t(x,!0);try{if(await se({"@context":await oe("carddav"),type:"delete",actor:M(),target:ue(p),object:{id:a.id,type:"person",etag:a.etag}}),c!==$||u!==z||!e(C))return;((f=e(A))==null?void 0:f.id)===a.id&&U(),t(E,e(E).filter(I=>I.id!==a.id),!0),t(N,`Deleted ${a.name}.`)}catch(I){c===$&&u===z&&t(j,re(I),!0)}finally{t(x,!1)}}function He(a){return[a.street,a.locality,a.region,a.postalCode,a.country].filter(Boolean).join(", ")}function Me(a){const c=[...a.preferred?["preferred"]:[],...a.types??[]];return c.length?`${a.value} (${c.join(", ")})`:a.value}nr(_t,{title:"CardDAV Platform Example",description:"Discover the address books in a CardDAV account, then list, search, add, edit, and delete contacts.",children:(a,c)=>{var u=Ar(),p=o(Ue(u),2),f=o(d(p),4);F(f,{label:"Actor ID",id:"carddav-actor",placeholder:"carddav:alice",onInput:pe,get value(){return e(ne)},set value(r){t(ne,r,!0)}});var I=o(f,2);F(I,{label:"CardDAV URL",id:"carddav-url",type:"url",placeholder:"https://contacts.example/dav/",onInput:pe,get value(){return e(le)},set value(r){t(le,r,!0)}});var Y=o(I,2);F(Y,{label:"Username",id:"carddav-username",onInput:pe,get value(){return e(ie)},set value(r){t(ie,r,!0)}});var ae=o(Y,2);F(ae,{label:"Password",id:"carddav-password",type:"password",onInput:pe,get value(){return e(de)},set value(r){t(de,r,!0)}});var R=o(ae,2),me=d(R);{let r=K(()=>e(C)||e(x)||!e(ne)||!e(le)||!e(ie)||!e(de));ye(me,{buttonAction:wt,get disabled(){return e(r)},children:(l,_)=>{he();var s=_e();b(()=>h(s,e(C)?"Credentials Set":e(x)?"Setting Credentials…":"Set Credentials")),m(l,s)}})}i(R);var J=o(R,2);{var xe=r=>{var l=lr(),_=d(l,!0);i(l),b(()=>h(_,e(ee))),m(r,l)};w(J,r=>{e(ee)&&r(xe)})}var At=o(J,2);{var Bt=r=>{var l=ir(),_=d(l,!0);i(l),b(()=>h(_,e(te))),m(r,l)};w(At,r=>{e(te)&&r(Bt)})}i(p);var we=o(p,2),$e=o(d(we),2),St=d($e);{let r=K(()=>e(x)||!e(C));ye(St,{buttonAction:$t,get disabled(){return e(r)},children:(l,_)=>{he();var s=_e("Fetch Address Books");m(l,s)}})}i($e);var Et=o($e,2);{var jt=r=>{var l=vr(),_=o(Ue(l),2);_.__change=bt,Ve(_,21,()=>e(q),S=>S.id,(S,B)=>{var P=dr(),Te=d(P,!0);i(P);var fe={};b(()=>{h(Te,e(B).name),fe!==(fe=e(B).id)&&(P.value=(P.__value=e(B).id)??"")}),m(S,P)}),i(_);var s=o(_,2);{var V=S=>{var B=cr(),P=d(B,!0);i(B),b(()=>h(P,e(D).description)),m(S,B)};w(s,S=>{var B;(B=e(D))!=null&&B.description&&S(V)})}gt(_,()=>e(O),S=>t(O,S)),m(r,l)};w(Et,r=>{e(q).length>0&&r(jt)})}i(we);var ke=o(we,2),Ce=o(d(ke),4),Ye=d(Ce);F(Ye,{label:"Search text (optional)",id:"carddav-search-text",placeholder:"Bob",get value(){return e(ce)},set value(r){t(ce,r,!0)}});var Je=o(Ye,2),Ae=o(d(Je),2),Be=d(Ae);Be.value=Be.__value="all";var Se=o(Be);Se.value=Se.__value="name";var Ee=o(Se);Ee.value=Ee.__value="email";var je=o(Ee);je.value=je.__value="telephone";var Ke=o(je);Ke.value=Ke.__value="organization",i(Ae),i(Je),i(Ce);var Fe=o(Ce,2),Ft=d(Fe);{let r=K(()=>e(x)||!e(C)||!e(D));ye(Ft,{buttonAction:Ge,get disabled(){return e(r)},children:(l,_)=>{he();var s=_e();b(V=>h(s,V),[()=>e(ce).trim()?"Search Contacts":"List Contacts"]),m(l,s)}})}i(Fe);var Nt=o(Fe,2);{var zt=r=>{var l=xr();Ve(l,21,()=>e(E),_=>_.id,(_,s)=>{var V=br(),S=d(V),B=d(S),P=d(B),Te=o(P);{var fe=v=>{var n=ur(),k=d(n);i(n),b(()=>h(k,`“${e(s).nickname??""}”`)),m(v,n)};w(Te,v=>{e(s).nickname&&v(fe)})}i(B);var lt=o(B,2);{var Ot=v=>{var n=pr(),k=d(n,!0);i(n),b(T=>h(k,T),[()=>[e(s).title,e(s).organization].filter(Boolean).join(" · ")]),m(v,n)};w(lt,v=>{(e(s).title||e(s).organization)&&v(Ot)})}var it=o(lt,2);{var Gt=v=>{var n=mr(),k=d(n);i(n),b(T=>h(k,`✉️ ${T??""}`),[()=>e(s).emails.map(Me).join(", ")]),m(v,n)};w(it,v=>{var n;(n=e(s).emails)!=null&&n.length&&v(Gt)})}var dt=o(it,2);{var Qt=v=>{var n=fr(),k=d(n);i(n),b(T=>h(k,`📞 ${T??""}`),[()=>e(s).telephones.map(Me).join(", ")]),m(v,n)};w(dt,v=>{var n;(n=e(s).telephones)!=null&&n.length&&v(Qt)})}var ct=o(dt,2);Ve(ct,17,()=>e(s).addresses??[],sr,(v,n)=>{var k=er(),T=Ue(k);{var Jt=qe=>{var Le=gr(),Kt=d(Le);i(Le),b(Xt=>h(Kt,`📍 ${Xt??""}`),[()=>He(e(n))]),m(qe,Le)};w(T,qe=>{He(e(n))&&qe(Jt)})}m(v,k)});var vt=o(ct,2);{var Wt=v=>{var n=_r(),k=d(n);i(n),b(T=>h(k,`🔗 ${T??""}`),[()=>e(s).urls.map(T=>T.value).join(", ")]),m(v,n)};w(vt,v=>{var n;(n=e(s).urls)!=null&&n.length&&v(Wt)})}var ut=o(vt,2);{var Ht=v=>{var n=hr(),k=d(n);i(n),b(()=>h(k,`🎂 ${e(s).birthday??""}`)),m(v,n)};w(ut,v=>{e(s).birthday&&v(Ht)})}var pt=o(ut,2);{var Mt=v=>{var n=yr(),k=d(n,!0);i(n),b(()=>h(k,e(s).note)),m(v,n)};w(pt,v=>{e(s).note&&v(Mt)})}var De=o(pt,2),Yt=d(De);i(De),i(S);var mt=o(S,2),ge=d(mt);ge.__click=()=>xt(e(s));var Pe=o(ge,2);Pe.__click=()=>Ct(e(s)),i(mt),i(V),b(()=>{h(P,`${e(s).name??""} `),Oe(De,"title",e(s).id),h(Yt,`uid ${e(s).uid??""}${e(s).etag?` · etag ${e(s).etag}`:""}`),ge.disabled=e(x)||!e(s).etag,Oe(ge,"title",e(s).etag?"":"This contact has no ETag, so it cannot be updated safely"),Pe.disabled=e(x)||!e(s).etag,Oe(Pe,"title",e(s).etag?"":"This contact has no ETag, so it cannot be deleted safely")}),m(_,V)}),i(l),m(r,l)};w(Nt,r=>{e(E).length>0&&r(zt)})}i(ke);var Ne=o(ke,2),ze=d(Ne),It=d(ze);i(ze);var Xe=o(ze,2);{var Rt=r=>{var l=wr();m(r,l)};w(Xe,r=>{e(A)&&r(Rt)})}var Ze=o(Xe,2);F(Ze,{label:"Full name",id:"carddav-contact-name",placeholder:"Bob Example",get value(){return e(L)},set value(r){t(L,r,!0)}});var Ie=o(Ze,2),et=d(Ie);F(et,{label:"Given name",id:"carddav-contact-given",placeholder:"Bob",get value(){return e(G)},set value(r){t(G,r,!0)}});var Tt=o(et,2);F(Tt,{label:"Family name",id:"carddav-contact-family",placeholder:"Example",get value(){return e(Q)},set value(r){t(Q,r,!0)}}),i(Ie);var Re=o(Ie,2),tt=d(Re);F(tt,{label:"Email",id:"carddav-contact-email",type:"email",placeholder:"bob@example.com",get value(){return e(X)},set value(r){t(X,r,!0)}});var Dt=o(tt,2);F(Dt,{label:"Telephone",id:"carddav-contact-telephone",type:"tel",placeholder:"+1 555 0100",get value(){return e(Z)},set value(r){t(Z,r,!0)}}),i(Re);var rt=o(Re,2);F(rt,{label:"Organization",id:"carddav-contact-organization",get value(){return e(W)},set value(r){t(W,r,!0)}});var at=o(rt,2);F(at,{label:"Note",id:"carddav-contact-note",get value(){return e(H)},set value(r){t(H,r,!0)}});var ot=o(at,2),st=d(ot);{var Pt=r=>{var l=$r();l.__click=U,m(r,l)};w(st,r=>{e(A)&&r(Pt)})}var qt=o(st,2);{let r=K(()=>e(x)||!e(yt));ye(qt,{buttonAction:kt,get disabled(){return e(r)},children:(l,_)=>{he();var s=_e();b(()=>h(s,e(A)?"Save Changes":"Add Contact")),m(l,s)}})}i(ot),i(Ne);var nt=o(Ne,2);{var Lt=r=>{var l=kr(),_=d(l,!0);i(l),b(()=>h(_,e(j))),m(r,l)};w(nt,r=>{e(j)&&r(Lt)})}var Ut=o(nt,2);{var Vt=r=>{var l=Cr(),_=d(l,!0);i(l),b(()=>h(_,e(N))),m(r,l)};w(Ut,r=>{e(N)&&r(Vt)})}b(()=>h(It,`4. ${e(A)?`Edit ${e(A).name}`:"Add a contact"}`)),gt(Ae,()=>e(ve),r=>t(ve,r)),m(a,u)}}),rr()}Zt(["change","click"]);export{zr as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as w,t as E,a as p,s as O}from"../chunks/YlCvXWJE.js";import{p as P,a as j,s as a,f as B,c,b as f,d as y,g as e,w as M,u as _,n as C,r as n,t as W}from"../chunks/OZH1Z0a6.js";import{s as H,i as Y,a as q}from"../chunks/DmF1jPXz.js";import{A as z}from"../chunks/1CEAjNji.js";import{B as D,S as G}from"../chunks/Fuku2EMA.js";import{F as I}from"../chunks/D6O50hAO.js";import{s as J,a as K,c as N}from"../chunks/DQqZ5wJX.js";var Q=w('<div class="bg-red-50 border border-red-200 text-red-800 rounded-lg p-4 text-sm" role="alert"><p class="font-semibold mb-1">Fetch failed</p> <p class="font-mono text-xs whitespace-pre-wrap break-words"> </p></div>'),V=w('<div class="bg-green-50 border-l-4 border-green-400 p-4 rounded-r-lg mb-6"><h3 class="text-lg font-semibold text-green-800 mb-2">📰 How Feed Processing Works</h3> <p class="text-green-700 text-sm mb-3">This example shows how Sockethub can fetch and parse RSS/ATOM feeds from any website.</p> <div class="text-green-700 text-sm space-y-1"><div><strong>🌐 Fetching:</strong> Sockethub downloads the feed content from the URL</div> <div><strong>🔍 Parsing:</strong> Content is parsed from RSS/ATOM format</div> <div><strong>📝 Converting:</strong> Each feed entry becomes an ActivityStreams object</div> <div><strong>📊 Results:</strong> You receive an array of structured feed entries</div></div></div> <div class="space-y-4"><!> <p class="text-gray-600 text-sm">The feed URL is the actor <code>id</code> with <code>type: "feed"</code>.</p> <!> <div class="bg-blue-50 border border-blue-200 p-3 rounded-lg"><p class="text-blue-700 text-sm"><strong>💡 What happens when you click Fetch:</strong><br/> Sockethub sends a <code>fetch</code> activity with the feed URL as the actor and returns a collection of entries.</p></div> <!> <div class="w-full text-right"><!></div></div>',1);function de(k,F){P(F,!0);const $=()=>q(h,"$sockethubState",A),[A,R]=H(),h=M({actorSet:!1});let o=y("https://sockethub.org/feed.xml"),d=y(null);const m=_(()=>({id:e(o),type:"feed",name:e(o)}));async function L(){f(d,null);try{await J({"@context":await N("feeds"),type:"fetch",actor:K(e(m))})}catch(r){f(d,r instanceof Error?r.message:String(r),!0)}}D(k,{title:"Feeds Platform Example",description:"The feeds platform takes an RSS/ATOM feed URL, fetches and parses it, and returns an array of Activity Objects for each entry.",children:(r,X)=>{var v=V(),u=a(B(v),2),b=c(u);I(b,{label:"Feed URL",id:"URL",placeholder:"https://example.com/feed.xml",get value(){return e(o)},set value(t){f(o,t,!0)}});var g=a(b,4);z(g,{get actor(){return e(m)},get sockethubState(){return h}});var x=a(g,4);{var T=t=>{var s=Q(),i=a(c(s),2),l=c(i,!0);n(i),n(s),W(()=>O(l,e(d))),p(t,s)};Y(x,t=>{e(d)&&t(T)})}var S=a(x,2),U=c(S);{let t=_(()=>!$().actorSet);G(U,{buttonAction:L,get disabled(){return e(t)},children:(s,i)=>{C();var l=E("Fetch Feed");p(s,l)}})}n(S),n(u),p(r,v)}}),j(),R()}export{de as component};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as be,t as a,a as d}from"../chunks/YlCvXWJE.js";import{p as xe,a as pe,s,f as fe,c as e,b as he,d as ue,g as N,n as o,r as t}from"../chunks/OZH1Z0a6.js";import{s as b,c as ge}from"../chunks/DQqZ5wJX.js";import{B as we,S as l}from"../chunks/Fuku2EMA.js";import{F as ye}from"../chunks/D6O50hAO.js";var _e=be(`<div class="bg-gradient-to-r from-blue-50 to-blue-100 border border-blue-200 rounded-xl p-6 shadow-sm"><h3 class="text-xl font-bold text-blue-900 mb-3 flex items-center"><span class="mr-2">💡</span> What You'll Learn</h3> <p class="text-blue-800 mb-4 leading-relaxed">This example demonstrates the core Sockethub workflow with a test platform that doesn't require external connections.</p> <div class="grid md:grid-cols-2 gap-3 text-blue-800"><div class="flex items-start space-x-2"><span class="text-lg">📤</span> <div><div class="font-semibold">Sending</div> <div class="text-sm text-blue-700">How to create and send ActivityStreams messages</div></div></div> <div class="flex items-start space-x-2"><span class="text-lg">📥</span> <div><div class="font-semibold">Receiving</div> <div class="text-sm text-blue-700">How Sockethub responds with results or errors</div></div></div> <div class="flex items-start space-x-2"><span class="text-lg">🎯</span> <div><div class="font-semibold">Actor</div> <div class="text-sm text-blue-700">How your identity is represented</div></div></div> <div class="flex items-start space-x-2"><span class="text-lg">🔄</span> <div><div class="font-semibold">Types</div> <div class="text-sm text-blue-700">Different activity types (echo, greet, fail, throw, exit0, exit1, sigterm, sigkill, throwTypeError, throwReferenceError, hang)</div></div></div></div></div> <div class="space-y-4"><!> <p class="text-gray-600 text-sm">⬆️ This text will be included in the <code>object.content</code> field of your ActivityStreams message.</p> <div class="bg-gradient-to-r from-amber-50 to-yellow-50 border border-amber-200 rounded-xl p-6 shadow-sm"><h4 class="text-lg font-bold text-amber-900 mb-3 flex items-center"><span class="mr-2">🚀</span> Try Different Activity Types</h4> <p class="text-amber-800 mb-4 leading-relaxed">Each button sends the same basic message structure but with a different <code class="bg-amber-100 px-1 rounded text-sm">type</code> field:</p> <div class="grid md:grid-cols-2 gap-4"><div class="space-y-4"><div class="bg-white rounded-lg p-4 border border-amber-200"><div class="flex items-center justify-between"><div class="flex-1"><div class="font-semibold text-amber-900 mb-1">Echo</div> <p class="text-amber-700 text-sm">Returns your message back unchanged</p></div> <!></div></div> <div class="bg-white rounded-lg p-4 border border-amber-200"><div class="flex items-center justify-between"><div class="flex-1"><div class="font-semibold text-amber-900 mb-1">Greet</div> <p class="text-amber-700 text-sm">Returns a friendly greeting</p></div> <!></div></div></div> <div class="space-y-4"><div class="bg-white rounded-lg p-4 border border-amber-200"><div class="flex items-center justify-between"><div class="flex-1"><div class="font-semibold text-amber-900 mb-1">Fail</div> <p class="text-amber-700 text-sm">Returns an error message (for testing error handling)</p></div> <!></div></div> <div class="bg-white rounded-lg p-4 border border-amber-200"><div class="flex items-center justify-between"><div class="flex-1"><div class="font-semibold text-amber-900 mb-1">Throw</div> <p class="text-amber-700 text-sm">Throws an exception (for testing exception handling)</p></div> <!></div></div></div></div></div> <div class="bg-gradient-to-r from-red-50 to-rose-50 border border-red-200 rounded-xl p-6 shadow-sm"><h4 class="text-lg font-bold text-red-900 mb-3 flex items-center"><span class="mr-2">⚠️</span> Crash/Recovery Tests</h4> <p class="text-red-800 mb-4 leading-relaxed">These types intentionally terminate or hang the dummy platform process. Use them to validate crash handling and recovery.</p> <div class="grid md:grid-cols-2 gap-4"><div class="space-y-4"><div class="bg-white rounded-lg p-4 border border-red-200"><div class="flex items-center justify-between"><div class="flex-1"><div class="font-semibold text-red-900 mb-1">Exit 0</div> <p class="text-red-700 text-sm">Graceful exit (process.exit(0))</p></div> <!></div></div> <div class="bg-white rounded-lg p-4 border border-red-200"><div class="flex items-center justify-between"><div class="flex-1"><div class="font-semibold text-red-900 mb-1">Exit 1</div> <p class="text-red-700 text-sm">Crash exit (process.exit(1))</p></div> <!></div></div> <div class="bg-white rounded-lg p-4 border border-red-200"><div class="flex items-center justify-between"><div class="flex-1"><div class="font-semibold text-red-900 mb-1">SIGTERM</div> <p class="text-red-700 text-sm">Self-terminate with SIGTERM</p></div> <!></div></div> <div class="bg-white rounded-lg p-4 border border-red-200"><div class="flex items-center justify-between"><div class="flex-1"><div class="font-semibold text-red-900 mb-1">SIGKILL</div> <p class="text-red-700 text-sm">Self-terminate with SIGKILL</p></div> <!></div></div></div> <div class="space-y-4"><div class="bg-white rounded-lg p-4 border border-red-200"><div class="flex items-center justify-between"><div class="flex-1"><div class="font-semibold text-red-900 mb-1">TypeError</div> <p class="text-red-700 text-sm">Throw a TypeError on next tick</p></div> <!></div></div> <div class="bg-white rounded-lg p-4 border border-red-200"><div class="flex items-center justify-between"><div class="flex-1"><div class="font-semibold text-red-900 mb-1">ReferenceError</div> <p class="text-red-700 text-sm">Throw a ReferenceError on next tick</p></div> <!></div></div> <div class="bg-white rounded-lg p-4 border border-red-200"><div class="flex items-center justify-between"><div class="flex-1"><div class="font-semibold text-red-900 mb-1">Hang</div> <p class="text-red-700 text-sm">Block the event loop (heartbeat timeout)</p></div> <!></div></div></div></div></div></div>`,1);function ke(Q,V){xe(V,!0);const T="https://sockethub.org/examples/dummy";let x=ue("");async function c(m){return{"@context":await ge("dummy"),type:m,actor:{type:"person",id:T,name:T},object:{type:"message",content:N(x)}}}async function v(m){await b(await c(m))}async function X(){await b(await c("echo"))}async function Z(){await b(await c("fail"))}async function ee(){await b(await c("throw"))}async function te(){await b(await c("greet"))}we(Q,{title:"Dummy Platform Example",description:"The dummy platform is the most basic test to communicate via Sockethub to a platform, and receive a response back. You can use either the echo or fail types on your Activity Stream object.",children:(m,$e)=>{var S=_e(),A=s(fe(S),2),j=e(A);ye(j,{label:"Message Content",id:"objectContent",placeholder:"Hello from Sockethub",get value(){return N(x)},set value(r){he(x,r,!0)}});var p=s(j,4),k=s(e(p),4),f=e(k),h=e(f),P=e(h),se=s(e(P),2);l(se,{buttonAction:X,children:(r,n)=>{o();var i=a("Echo");d(r,i)}}),t(P),t(h);var R=s(h,2),G=e(R),re=s(e(G),2);l(re,{buttonAction:te,children:(r,n)=>{o();var i=a("Greet");d(r,i)}}),t(G),t(R),t(f);var I=s(f,2),u=e(I),F=e(u),ie=s(e(F),2);l(ie,{buttonAction:Z,children:(r,n)=>{o();var i=a("Fail");d(r,i)}}),t(F),t(u);var L=s(u,2),H=e(L),de=s(e(H),2);l(de,{buttonAction:ee,children:(r,n)=>{o();var i=a("Throw");d(r,i)}}),t(H),t(L),t(I),t(k),t(p);var B=s(p,2),C=s(e(B),4),g=e(C),w=e(g),M=e(w),ae=s(e(M),2);l(ae,{buttonAction:()=>v("exit0"),children:(r,n)=>{o();var i=a("Exit 0");d(r,i)}}),t(M),t(w);var y=s(w,2),D=e(y),oe=s(e(D),2);l(oe,{buttonAction:()=>v("exit1"),children:(r,n)=>{o();var i=a("Exit 1");d(r,i)}}),t(D),t(y);var _=s(y,2),K=e(_),le=s(e(K),2);l(le,{buttonAction:()=>v("sigterm"),children:(r,n)=>{o();var i=a("SIGTERM");d(r,i)}}),t(K),t(_);var Y=s(_,2),q=e(Y),ne=s(e(q),2);l(ne,{buttonAction:()=>v("sigkill"),children:(r,n)=>{o();var i=a("SIGKILL");d(r,i)}}),t(q),t(Y),t(g);var O=s(g,2),$=e(O),U=e($),ve=s(e(U),2);l(ve,{buttonAction:()=>v("throwTypeError"),children:(r,n)=>{o();var i=a("TypeError");d(r,i)}}),t(U),t($);var E=s($,2),W=e(E),ce=s(e(W),2);l(ce,{buttonAction:()=>v("throwReferenceError"),children:(r,n)=>{o();var i=a("ReferenceError");d(r,i)}}),t(W),t(E);var z=s(E,2),J=e(z),me=s(e(J),2);l(me,{buttonAction:()=>v("hang"),children:(r,n)=>{o();var i=a("Hang");d(r,i)}}),t(J),t(z),t(O),t(C),t(B),t(A),d(m,S)}}),pe()}export{ke as component};
|