@highstate/designer 0.9.21 → 0.9.23

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.
Files changed (72) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{DEkEne1_.js → B0DwtIiW.js} +1 -1
  3. package/.output/public/_nuxt/{CEFQZJTy.js → B189csPj.js} +1 -1
  4. package/.output/public/_nuxt/{BElWqKFK.js → B5Eo-Ujz.js} +1 -1
  5. package/.output/public/_nuxt/{Ccxf70XJ.js → B5LlFtQf.js} +1 -1
  6. package/.output/public/_nuxt/{CmuRgu4O.js → B9mqi9z7.js} +1 -1
  7. package/.output/public/_nuxt/{BwzWClQo.js → B9t6gCA0.js} +1 -1
  8. package/.output/public/_nuxt/{K7mdFSQD.js → BF7lERe4.js} +1 -1
  9. package/.output/public/_nuxt/{DqHZqf4r.js → BIUo-Bxf.js} +1 -1
  10. package/.output/public/_nuxt/{BG77JRvd.js → BIaCZ37Q.js} +1 -1
  11. package/.output/public/_nuxt/{DUPtXNCV.js → BR84xh6o.js} +1 -1
  12. package/.output/public/_nuxt/{un-_PcAo.js → BRz27G3j.js} +1 -1
  13. package/.output/public/_nuxt/{Dvr3wuZa.js → BTHtjCvv.js} +1 -1
  14. package/.output/public/_nuxt/{SAlV5_cT.js → BWTftWoG.js} +1 -1
  15. package/.output/public/_nuxt/{DRzHUuts.js → BdBhgVvK.js} +1 -1
  16. package/.output/public/_nuxt/{D5PsJ332.js → BflOb3zh.js} +1 -1
  17. package/.output/public/_nuxt/{DljtJUzO.js → BjfuCvsP.js} +1 -1
  18. package/.output/public/_nuxt/{pGIbX2RQ.js → BkGCFSTP.js} +1 -1
  19. package/.output/public/_nuxt/{DlgqOs51.js → Bkak_ypl.js} +40 -40
  20. package/.output/public/_nuxt/{DUcPQWXO.js → BoC8E-T9.js} +1 -1
  21. package/.output/public/_nuxt/{CKzYRRNc.js → BpPu1KhW.js} +1 -1
  22. package/.output/public/_nuxt/{DCUYnw8H.js → BuEUFExJ.js} +1 -1
  23. package/.output/public/_nuxt/{rmtV6Y0T.js → Bv2mtDTo.js} +1 -1
  24. package/.output/public/_nuxt/{BVAgVeex.js → BvMxGlog.js} +1 -1
  25. package/.output/public/_nuxt/{CTv1udg1.js → BxRWCLFh.js} +1 -1
  26. package/.output/public/_nuxt/{CwG_vXR4.js → Bzy3U_4D.js} +1 -1
  27. package/.output/public/_nuxt/{CYlq2lca.js → C2OahqVS.js} +1 -1
  28. package/.output/public/_nuxt/{DdEkqLVb.js → C2nQTzN4.js} +1 -1
  29. package/.output/public/_nuxt/{CqQ7SoEc.js → C4_hyZfA.js} +1 -1
  30. package/.output/public/_nuxt/{DRbOBnYP.js → C53Fxxsk.js} +1 -1
  31. package/.output/public/_nuxt/{BhSkG2vO.js → CCWo5rW7.js} +1 -1
  32. package/.output/public/_nuxt/{DIndX_i2.js → CPa4tq4x.js} +1 -1
  33. package/.output/public/_nuxt/{BJKzranL.js → CW46IvFj.js} +1 -1
  34. package/.output/public/_nuxt/{cf-ossUw.js → CWazJ566.js} +1 -1
  35. package/.output/public/_nuxt/{pD_CwtY4.js → CcdbamqU.js} +1 -1
  36. package/.output/public/_nuxt/{DlUEcgLY.js → CdAJz8Zf.js} +1 -1
  37. package/.output/public/_nuxt/{Dp61CxCP.js → CgrnwBjj.js} +1 -1
  38. package/.output/public/_nuxt/{16S73JW8.js → ChL5CFGQ.js} +1 -1
  39. package/.output/public/_nuxt/{DLPcFaxm.js → ChgcJmVR.js} +1 -1
  40. package/.output/public/_nuxt/{4xMt1p0i.js → CxOwNk56.js} +1 -1
  41. package/.output/public/_nuxt/{BZHZ48I0.js → Cz0mhusi.js} +1 -1
  42. package/.output/public/_nuxt/{Ct0zHWLj.js → D8BPl5Ng.js} +1 -1
  43. package/.output/public/_nuxt/{Cl-6nwYp.js → DATYi_ZW.js} +1 -1
  44. package/.output/public/_nuxt/{30BaVrUW.js → DGGZlK_j.js} +1 -1
  45. package/.output/public/_nuxt/{CRUo-mN3.js → DKuR9WtZ.js} +1 -1
  46. package/.output/public/_nuxt/{C6uyQOiX.js → DcuosykK.js} +1 -1
  47. package/.output/public/_nuxt/{CIUVrxWu.js → DeoaNYc1.js} +1 -1
  48. package/.output/public/_nuxt/{D2m36GEB.js → DeupYvpN.js} +1 -1
  49. package/.output/public/_nuxt/{DJF4kszA.js → Dfmtf7xs.js} +1 -1
  50. package/.output/public/_nuxt/{CmFtdvwG.js → DgGsslqu.js} +1 -1
  51. package/.output/public/_nuxt/{CoKQIzln.js → DoW4m9dD.js} +1 -1
  52. package/.output/public/_nuxt/{CFUixvV0.js → DoodpQpa.js} +1 -1
  53. package/.output/public/_nuxt/{DwnIsmZ-.js → DqjoH-x_.js} +1 -1
  54. package/.output/public/_nuxt/{ngiZ_K3q.js → DqrkUst7.js} +1 -1
  55. package/.output/public/_nuxt/{KGX_yR9z.js → DrqQhYAT.js} +1 -1
  56. package/.output/public/_nuxt/{B3nLPexT.js → EPq4mQZK.js} +1 -1
  57. package/.output/public/_nuxt/{DKH4orv1.js → EozEqmut.js} +1 -1
  58. package/.output/public/_nuxt/{asZV6334.js → Jx-0SCro.js} +1 -1
  59. package/.output/public/_nuxt/{DMGzSUEV.js → K9ySVciZ.js} +1 -1
  60. package/.output/public/_nuxt/{DSvoz_Rr.js → LfqdzYdw.js} +1 -1
  61. package/.output/public/_nuxt/{uwIuMFjJ.js → LzkmrMfu.js} +1 -1
  62. package/.output/public/_nuxt/{0vdwhauO.js → TwvQJIWC.js} +1 -1
  63. package/.output/public/_nuxt/{Ca9HO25U.js → V5hR3Nor.js} +1 -1
  64. package/.output/public/_nuxt/{B0nz2Zze.js → b-Mr8ypy.js} +1 -1
  65. package/.output/public/_nuxt/builds/latest.json +1 -1
  66. package/.output/public/_nuxt/builds/meta/59532fa9-bbe6-423e-8fdc-69d5821c94aa.json +1 -0
  67. package/.output/public/_nuxt/{B5zoSt72.js → f9NuEumg.js} +1 -1
  68. package/.output/public/_nuxt/{graph-resolver-r_0JlXH_.js → graph-resolver-3Wc6wUO6.js} +40 -40
  69. package/.output/public/_nuxt/{_4xG4Sg4.js → iZKo0eie.js} +1 -1
  70. package/.output/server/index.mjs +1214 -1214
  71. package/package.json +5 -5
  72. package/.output/public/_nuxt/builds/meta/c2b04ef2-f7ef-48dc-aa48-5d4dfa26c410.json +0 -1
@@ -1 +1 @@
1
- import{C as E,D as I}from"./DlgqOs51.js";import{_ as P,E as U,W as L,g as W,i as q}from"./CFUixvV0.js";import{F as H,r as z,a as A,j as _,w as N,J as $,Q as j,Z as k,W as i,ax as Q,G as s,b as G,a1 as u,_ as c,L as m,aQ as J,X as p,ai as x,a2 as v,a0 as T,az as O,aR as X,aB as C,$ as y,a3 as h,aP as Y,aS as Z,a9 as D,af as K}from"./B9WOzG0F.js";const ee={class:"ml-2"},se={key:0,class:"mt-1"},te={key:1},ae={key:1,class:"mb-4"},oe={class:"d-flex justify-space-between align-center mb-2"},re={class:"text-caption text-medium-emphasis mt-1"},ne={key:0,class:"mt-2"},ie={class:"text-caption text-medium-emphasis ml-4"},me=H({__name:"UnlockMethodForm",props:{showTypeSelector:{type:Boolean,default:!0},showDescription:{type:Boolean,default:!0},showDisplayName:{type:Boolean,default:!0},initialType:{default:"password"},displayNameLabel:{default:"Display Name"},displayNameHint:{default:"A friendly name to identify this unlock method"},passwordHint:{default:"Password must be strong enough to resist offline attacks"},defaultDisplayName:{default:""},defaultDescription:{default:""}},emits:["update:valid","update:form"],setup(r,{expose:l,emit:w}){const d=r,g=w,f=z(!1),t=A({type:d.initialType,title:"",description:"",password:"",confirmPassword:""}),M=_(()=>d.showDisplayName?[e=>!!e||"Display name is required",e=>e&&e.length<=100||"Display name must be less than 100 characters"]:[]),F=[e=>!!e||"Password is required"],R=[e=>!!e||"Confirm password is required",e=>e===t.password||"Passwords do not match"],n=_(()=>{if(!t.password)return null;const e=E.zxcvbn(t.password),a={0:"very-weak",1:"weak",2:"fair",3:"strong",4:"very-strong"},o=Math.max(0,Math.min(4,e.score));return{score:e.score/4*100,level:a[o],estimatedCrackTime:e.crack_times_display.offline_slow_hashing_1e4_per_second||"unknown",recommendations:e.feedback.suggestions||[],warning:e.feedback.warning||void 0}}),V=e=>{switch(e){case"very-weak":return"error";case"weak":return"warning";case"fair":return"info";case"strong":return"success";case"very-strong":return"success";default:return"info"}},b=e=>{switch(e){case"password":return"mdi-key-variant";case"passkey":return"mdi-fingerprint";default:return"mdi-lock"}},S=()=>{t.type=d.initialType,t.title=d.defaultDisplayName,t.description=d.defaultDescription,t.password="",t.confirmPassword=""};return N(f,e=>{g("update:valid",e)}),N(t,e=>{g("update:form",{...e})},{deep:!0}),$(()=>{t.title=d.defaultDisplayName,t.description=d.defaultDescription}),l({resetForm:S,form:j(t)}),(e,a)=>(i(),k(Q,{modelValue:s(f),"onUpdate:modelValue":a[5]||(a[5]=o=>G(f)?f.value=o:null)},{default:u(()=>[e.showTypeSelector?(i(),k(J,{key:0,modelValue:s(t).type,"onUpdate:modelValue":a[0]||(a[0]=o=>s(t).type=o),mandatory:"",variant:"outlined",density:"compact",divided:"",class:"w-100 mb-6"},{default:u(()=>[p(x,{value:"password",class:"flex-grow-1"},{default:u(()=>[p(T,{icon:b("password"),class:"mr-2"},null,8,["icon"]),a[6]||(a[6]=v(" Password "))]),_:1,__:[6]}),p(x,{value:"passkey",class:"flex-grow-1"},{default:u(()=>[p(T,{icon:b("passkey"),class:"mr-2"},null,8,["icon"]),a[7]||(a[7]=v(" Passkey "))]),_:1,__:[7]})]),_:1},8,["modelValue"])):c("",!0),e.showDisplayName?(i(),k(O,{key:1,modelValue:s(t).title,"onUpdate:modelValue":a[1]||(a[1]=o=>s(t).title=o),class:"mb-4",variant:"outlined",density:"compact",label:e.displayNameLabel,rules:s(M),placeholder:"My unlock method",hint:e.displayNameHint,"persistent-hint":""},null,8,["modelValue","label","rules","hint"])):c("",!0),e.showDescription?(i(),k(X,{key:2,modelValue:s(t).description,"onUpdate:modelValue":a[2]||(a[2]=o=>s(t).description=o),class:"mb-4",variant:"outlined",density:"compact",label:"Description",placeholder:"Optional description for this unlock method",rows:"2","auto-grow":"","hide-details":""},null,8,["modelValue"])):c("",!0),s(t).type==="password"?(i(),m(D,{key:3},[p(s(P),{modelValue:s(t).password,"onUpdate:modelValue":a[3]||(a[3]=o=>s(t).password=o),class:"mb-4",label:"Password",rules:F,hint:e.passwordHint,"persistent-hint":""},null,8,["modelValue","hint"]),p(s(P),{modelValue:s(t).confirmPassword,"onUpdate:modelValue":a[4]||(a[4]=o=>s(t).confirmPassword=o),class:"mb-4",label:"Confirm Password",rules:R},null,8,["modelValue"]),s(n)&&s(n).score<40?(i(),k(C,{key:0,type:s(n).score<20?"error":"warning",density:"compact",class:"mb-4"},{default:u(()=>[y("div",ee,[y("strong",null,h(s(n).score<20?"Very Weak":"Weak")+" Password:",1),s(n).warning?(i(),m("div",se,h(s(n).warning),1)):(i(),m("div",te," This password may be vulnerable to offline attacks. Consider using a stronger password. "))])]),_:1},8,["type"])):c("",!0),s(n)?(i(),m("div",ae,[y("div",oe,[a[8]||(a[8]=y("span",{class:"text-caption"},"Password Strength",-1)),p(Y,{color:V(s(n).level),size:"small",variant:"flat"},{default:u(()=>[v(h(s(n).level.replace("-"," ").toUpperCase()),1)]),_:1},8,["color"])]),p(Z,{"model-value":s(n).score,color:V(s(n).level),height:"6",rounded:""},null,8,["model-value","color"]),y("div",re," Estimated crack time: "+h(s(n).estimatedCrackTime),1),s(n).recommendations.length>0?(i(),m("div",ne,[a[9]||(a[9]=y("div",{class:"text-caption font-weight-medium mb-1"},"Suggestions:",-1)),y("ul",ie,[(i(!0),m(D,null,K(s(n).recommendations,o=>(i(),m("li",{key:o},h(o),1))),128))])])):c("",!0)])):c("",!0)],64)):s(t).type==="passkey"?(i(),k(C,{key:4,type:"info",density:"compact",class:"mb-4"},{default:u(()=>a[10]||(a[10]=[v(" You'll be prompted to create a passkey using your device's biometric authentication or security key when you click Create. ")])),_:1,__:[10]})):c("",!0)]),_:1},8,["modelValue"]))}});async function B(r,l,w){const d=await W(),g=await w.encrypt(d),f=I(g),t=await q(d);return{meta:l,type:r,encryptedIdentity:f,recipient:t}}function le(r,l){const w=new U;return w.setPassphrase(r),B("password",l,w)}function de(r){if(!r.title)throw new Error("Display name is required for passkey unlock method");const l=new U;return l.addRecipient(new L),B("passkey",r,l)}function ye(r){const l={title:r.title,description:r.description};if(r.type==="password")return le(r.password,l);if(r.type==="passkey")return de(l);throw new Error(`Unsupported unlock method type: ${r.type}`)}export{me as _,ye as c};
1
+ import{C as E,D as I}from"./Bkak_ypl.js";import{_ as P,E as U,W as L,g as W,i as q}from"./DoodpQpa.js";import{F as H,r as z,a as A,j as _,w as N,J as $,Q as j,Z as k,W as i,ax as Q,G as s,b as G,a1 as u,_ as c,L as m,aQ as J,X as p,ai as x,a2 as v,a0 as T,az as O,aR as X,aB as C,$ as y,a3 as h,aP as Y,aS as Z,a9 as D,af as K}from"./B9WOzG0F.js";const ee={class:"ml-2"},se={key:0,class:"mt-1"},te={key:1},ae={key:1,class:"mb-4"},oe={class:"d-flex justify-space-between align-center mb-2"},re={class:"text-caption text-medium-emphasis mt-1"},ne={key:0,class:"mt-2"},ie={class:"text-caption text-medium-emphasis ml-4"},me=H({__name:"UnlockMethodForm",props:{showTypeSelector:{type:Boolean,default:!0},showDescription:{type:Boolean,default:!0},showDisplayName:{type:Boolean,default:!0},initialType:{default:"password"},displayNameLabel:{default:"Display Name"},displayNameHint:{default:"A friendly name to identify this unlock method"},passwordHint:{default:"Password must be strong enough to resist offline attacks"},defaultDisplayName:{default:""},defaultDescription:{default:""}},emits:["update:valid","update:form"],setup(r,{expose:l,emit:w}){const d=r,g=w,f=z(!1),t=A({type:d.initialType,title:"",description:"",password:"",confirmPassword:""}),M=_(()=>d.showDisplayName?[e=>!!e||"Display name is required",e=>e&&e.length<=100||"Display name must be less than 100 characters"]:[]),F=[e=>!!e||"Password is required"],R=[e=>!!e||"Confirm password is required",e=>e===t.password||"Passwords do not match"],n=_(()=>{if(!t.password)return null;const e=E.zxcvbn(t.password),a={0:"very-weak",1:"weak",2:"fair",3:"strong",4:"very-strong"},o=Math.max(0,Math.min(4,e.score));return{score:e.score/4*100,level:a[o],estimatedCrackTime:e.crack_times_display.offline_slow_hashing_1e4_per_second||"unknown",recommendations:e.feedback.suggestions||[],warning:e.feedback.warning||void 0}}),V=e=>{switch(e){case"very-weak":return"error";case"weak":return"warning";case"fair":return"info";case"strong":return"success";case"very-strong":return"success";default:return"info"}},b=e=>{switch(e){case"password":return"mdi-key-variant";case"passkey":return"mdi-fingerprint";default:return"mdi-lock"}},S=()=>{t.type=d.initialType,t.title=d.defaultDisplayName,t.description=d.defaultDescription,t.password="",t.confirmPassword=""};return N(f,e=>{g("update:valid",e)}),N(t,e=>{g("update:form",{...e})},{deep:!0}),$(()=>{t.title=d.defaultDisplayName,t.description=d.defaultDescription}),l({resetForm:S,form:j(t)}),(e,a)=>(i(),k(Q,{modelValue:s(f),"onUpdate:modelValue":a[5]||(a[5]=o=>G(f)?f.value=o:null)},{default:u(()=>[e.showTypeSelector?(i(),k(J,{key:0,modelValue:s(t).type,"onUpdate:modelValue":a[0]||(a[0]=o=>s(t).type=o),mandatory:"",variant:"outlined",density:"compact",divided:"",class:"w-100 mb-6"},{default:u(()=>[p(x,{value:"password",class:"flex-grow-1"},{default:u(()=>[p(T,{icon:b("password"),class:"mr-2"},null,8,["icon"]),a[6]||(a[6]=v(" Password "))]),_:1,__:[6]}),p(x,{value:"passkey",class:"flex-grow-1"},{default:u(()=>[p(T,{icon:b("passkey"),class:"mr-2"},null,8,["icon"]),a[7]||(a[7]=v(" Passkey "))]),_:1,__:[7]})]),_:1},8,["modelValue"])):c("",!0),e.showDisplayName?(i(),k(O,{key:1,modelValue:s(t).title,"onUpdate:modelValue":a[1]||(a[1]=o=>s(t).title=o),class:"mb-4",variant:"outlined",density:"compact",label:e.displayNameLabel,rules:s(M),placeholder:"My unlock method",hint:e.displayNameHint,"persistent-hint":""},null,8,["modelValue","label","rules","hint"])):c("",!0),e.showDescription?(i(),k(X,{key:2,modelValue:s(t).description,"onUpdate:modelValue":a[2]||(a[2]=o=>s(t).description=o),class:"mb-4",variant:"outlined",density:"compact",label:"Description",placeholder:"Optional description for this unlock method",rows:"2","auto-grow":"","hide-details":""},null,8,["modelValue"])):c("",!0),s(t).type==="password"?(i(),m(D,{key:3},[p(s(P),{modelValue:s(t).password,"onUpdate:modelValue":a[3]||(a[3]=o=>s(t).password=o),class:"mb-4",label:"Password",rules:F,hint:e.passwordHint,"persistent-hint":""},null,8,["modelValue","hint"]),p(s(P),{modelValue:s(t).confirmPassword,"onUpdate:modelValue":a[4]||(a[4]=o=>s(t).confirmPassword=o),class:"mb-4",label:"Confirm Password",rules:R},null,8,["modelValue"]),s(n)&&s(n).score<40?(i(),k(C,{key:0,type:s(n).score<20?"error":"warning",density:"compact",class:"mb-4"},{default:u(()=>[y("div",ee,[y("strong",null,h(s(n).score<20?"Very Weak":"Weak")+" Password:",1),s(n).warning?(i(),m("div",se,h(s(n).warning),1)):(i(),m("div",te," This password may be vulnerable to offline attacks. Consider using a stronger password. "))])]),_:1},8,["type"])):c("",!0),s(n)?(i(),m("div",ae,[y("div",oe,[a[8]||(a[8]=y("span",{class:"text-caption"},"Password Strength",-1)),p(Y,{color:V(s(n).level),size:"small",variant:"flat"},{default:u(()=>[v(h(s(n).level.replace("-"," ").toUpperCase()),1)]),_:1},8,["color"])]),p(Z,{"model-value":s(n).score,color:V(s(n).level),height:"6",rounded:""},null,8,["model-value","color"]),y("div",re," Estimated crack time: "+h(s(n).estimatedCrackTime),1),s(n).recommendations.length>0?(i(),m("div",ne,[a[9]||(a[9]=y("div",{class:"text-caption font-weight-medium mb-1"},"Suggestions:",-1)),y("ul",ie,[(i(!0),m(D,null,K(s(n).recommendations,o=>(i(),m("li",{key:o},h(o),1))),128))])])):c("",!0)])):c("",!0)],64)):s(t).type==="passkey"?(i(),k(C,{key:4,type:"info",density:"compact",class:"mb-4"},{default:u(()=>a[10]||(a[10]=[v(" You'll be prompted to create a passkey using your device's biometric authentication or security key when you click Create. ")])),_:1,__:[10]})):c("",!0)]),_:1},8,["modelValue"]))}});async function B(r,l,w){const d=await W(),g=await w.encrypt(d),f=I(g),t=await q(d);return{meta:l,type:r,encryptedIdentity:f,recipient:t}}function le(r,l){const w=new U;return w.setPassphrase(r),B("password",l,w)}function de(r){if(!r.title)throw new Error("Display name is required for passkey unlock method");const l=new U;return l.addRecipient(new L),B("passkey",r,l)}function ye(r){const l={title:r.title,description:r.description};if(r.type==="password")return le(r.password,l);if(r.type==="passkey")return de(l);throw new Error(`Unsupported unlock method type: ${r.type}`)}export{me as _,ye as c};