music-assistant-frontend 2.17.23__py3-none-any.whl → 2.17.41__py3-none-any.whl
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.
- music_assistant_frontend/assets/About-BlM2bNNU.css +1 -0
- music_assistant_frontend/assets/About-DjEKMtWh.js +1 -0
- music_assistant_frontend/assets/AddManualLink.vue_vue_type_script_setup_true_lang-DlAmWTWI.js +1 -0
- music_assistant_frontend/assets/AddPlayerGroup-BVzL6A8r.js +1 -0
- music_assistant_frontend/assets/AddProviderDetails-B06Ia24W.css +1 -0
- music_assistant_frontend/assets/AddProviderDetails-D30Mw-Nl.js +1 -0
- music_assistant_frontend/assets/AlbumDetails-DIiD1wiL.js +1 -0
- music_assistant_frontend/assets/ArtistDetails-BLoaXpH9.js +1 -0
- music_assistant_frontend/assets/AudiobookDetails-D1UciFr4.js +1 -0
- music_assistant_frontend/assets/BrowseView-BUEuIHkS.js +1 -0
- music_assistant_frontend/assets/BrowseView-D3jhZGn3.css +1 -0
- music_assistant_frontend/assets/{Button-CsTMTfds.js → Button-CrfR8Gdt.js} +1 -1
- music_assistant_frontend/assets/Container-C7yRkeCv.js +1 -0
- music_assistant_frontend/assets/CreateTokenDialog.vue_vue_type_script_setup_true_lang-474EAUdT.js +1 -0
- music_assistant_frontend/assets/Default-BIlZyn6h.js +23 -0
- music_assistant_frontend/assets/Default-DUBdqrKF.css +1 -0
- music_assistant_frontend/assets/{EditConfig-CcxrPgWJ.css → EditConfig-C41erRjv.css} +1 -1
- music_assistant_frontend/assets/EditConfig-DwDuuRhd.js +2 -0
- music_assistant_frontend/assets/EditCoreConfig-Aw02E0ut.css +1 -0
- music_assistant_frontend/assets/EditCoreConfig-CLb_2BVu.js +1 -0
- music_assistant_frontend/assets/EditPlayer-BZh7oINx.js +1 -0
- music_assistant_frontend/assets/EditPlayer-Bo0nzovm.css +1 -0
- music_assistant_frontend/assets/EditPlayerDsp-DQaIOevS.js +9 -0
- music_assistant_frontend/assets/EditProvider-CmRug90M.css +1 -0
- music_assistant_frontend/assets/EditProvider-o3q0C5wF.js +1 -0
- music_assistant_frontend/assets/FrontendConfig-CC26HR3b.css +1 -0
- music_assistant_frontend/assets/FrontendConfig-CQl8w4ld.js +1 -0
- music_assistant_frontend/assets/HomeView-nyWFBpLX.js +1 -0
- music_assistant_frontend/assets/ItemsListing-Cnfrbqt8.js +1 -0
- music_assistant_frontend/assets/ItemsListing-Cv7Ad2QK.css +1 -0
- music_assistant_frontend/assets/LibraryAlbums-COuzy_s-.js +1 -0
- music_assistant_frontend/assets/LibraryArtists-DCgII6_w.js +1 -0
- music_assistant_frontend/assets/LibraryAudiobooks-CfZi3ns9.js +1 -0
- music_assistant_frontend/assets/LibraryPlaylists-BuwJSWCa.js +1 -0
- music_assistant_frontend/assets/LibraryPodcasts-oFS6kYXN.js +1 -0
- music_assistant_frontend/assets/LibraryRadios-Cx4xxpyx.js +1 -0
- music_assistant_frontend/assets/LibraryTracks-CXxPkKdA.js +1 -0
- music_assistant_frontend/assets/ListItem-By9ygptX.css +1 -0
- music_assistant_frontend/assets/{ListItem-Emhe-KUj.js → ListItem-CU9QYmiw.js} +1 -1
- music_assistant_frontend/assets/MediaItemImages-DD5b9P4k.js +1 -0
- music_assistant_frontend/assets/MediaItemThumb-A-03axGx.js +1 -0
- music_assistant_frontend/assets/NowPlayingBadge-DlzVWxxU.css +1 -0
- music_assistant_frontend/assets/NowPlayingBadge.vue_vue_type_style_index_0_lang-cf4_7ViH.js +1 -0
- music_assistant_frontend/assets/PanelviewItemCompact-BWonx8dk.js +1 -0
- music_assistant_frontend/assets/PlayerCard-BuYb5sHK.js +1 -0
- music_assistant_frontend/assets/PlayerCard-CvqvdlaR.css +1 -0
- music_assistant_frontend/assets/Players-CaAKKMjV.css +1 -0
- music_assistant_frontend/assets/Players-XoTdClyI.js +1 -0
- music_assistant_frontend/assets/PlaylistDetails-DVLuG9eO.js +1 -0
- music_assistant_frontend/assets/PodcastDetails-D3X5hbMO.js +1 -0
- music_assistant_frontend/assets/{ProviderDetails-sWAPBlBe.css → ProviderDetails-DK0UG-xQ.css} +1 -1
- music_assistant_frontend/assets/ProviderDetails.vue_vue_type_style_index_0_lang-B173j0nZ.js +8 -0
- music_assistant_frontend/assets/Providers-DyXDj3We.css +1 -0
- music_assistant_frontend/assets/Providers-jK6IN_CB.js +1 -0
- music_assistant_frontend/assets/RadioDetails-Cp9sBWtL.js +1 -0
- music_assistant_frontend/assets/RemoteAccessSettings-BzYfkBdB.css +1 -0
- music_assistant_frontend/assets/RemoteAccessSettings-DlFcnYsi.js +8 -0
- music_assistant_frontend/assets/Search-BzxWW1E8.js +1 -0
- music_assistant_frontend/assets/ServerLogs-BpNO59ZQ.js +4 -0
- music_assistant_frontend/assets/Settings-D3hGnPIi.js +1 -0
- music_assistant_frontend/assets/{Settings-C1mth5_q.css → Settings-DJG4OcV0.css} +1 -1
- music_assistant_frontend/assets/SystemConfig-qR6YwzO_.js +1 -0
- music_assistant_frontend/assets/Toolbar-C66D0zTJ.js +1 -0
- music_assistant_frontend/assets/{Toolbar-CVFN8H4Z.css → Toolbar-Du9HN1PS.css} +1 -1
- music_assistant_frontend/assets/TrackDetails-BkWIihtm.js +1 -0
- music_assistant_frontend/assets/UserManagement-C4NBrehd.js +1 -0
- music_assistant_frontend/assets/UserProfile-BLSOU7kW.js +1 -0
- music_assistant_frontend/assets/VCheckbox-CvH8ekHL.css +1 -0
- music_assistant_frontend/assets/VCheckbox-DccbdgFZ.js +1 -0
- music_assistant_frontend/assets/{VCheckboxBtn-lg4Bkg3S.js → VCheckboxBtn-Dik76WyM.js} +1 -1
- music_assistant_frontend/assets/{VExpansionPanels-Hd3nRlf_.js → VExpansionPanels-BYnWit6K.js} +1 -1
- music_assistant_frontend/assets/{VForm-DkfI6S-G.js → VForm-BPHMcC1Q.js} +1 -1
- music_assistant_frontend/assets/{VInfiniteScroll-C4zaTPzz.js → VInfiniteScroll-CfzetGUD.js} +1 -1
- music_assistant_frontend/assets/{VSelect-CMxVGu2h.js → VSelect-Cz5ACGBh.js} +1 -1
- music_assistant_frontend/assets/{VSelectionControl-CuEKzbGp.js → VSelectionControl-BHjDOTFl.js} +1 -1
- music_assistant_frontend/assets/{VSlider-D1oP09L0.js → VSlider-N-Vl7wpy.js} +1 -1
- music_assistant_frontend/assets/VSwitch-DnBzHYGj.js +1 -0
- music_assistant_frontend/assets/VToolbar-Db4qfa2C.js +1 -0
- music_assistant_frontend/assets/VVirtualScroll-CG155sfU.js +1 -0
- music_assistant_frontend/assets/WidgetRow-BRke-iAc.js +1 -0
- music_assistant_frontend/assets/book-audio-C6G39POC.js +1 -0
- music_assistant_frontend/assets/createLucideIcon-Bb8oGlVw.js +1 -0
- music_assistant_frontend/assets/disc-3-Cgy2B2Vr.js +1 -0
- music_assistant_frontend/assets/folder-BWSuatVc.js +1 -0
- music_assistant_frontend/assets/index-D2rF_80D.js +1041 -0
- music_assistant_frontend/assets/index-DzOBqp_F.css +1 -0
- music_assistant_frontend/assets/libopus-decoder-c8_y7RJK.js +1 -0
- music_assistant_frontend/assets/list-music-BxVnxbpG.js +1 -0
- music_assistant_frontend/assets/{marquee_text_sync-D_iJsxcD.js → marquee_text_sync-Bj0t3siK.js} +1 -1
- music_assistant_frontend/assets/music-2-DQ83ewHN.js +1 -0
- music_assistant_frontend/assets/oggOpusDecoder-CbfFfr_v.js +1 -0
- music_assistant_frontend/assets/podcast-0C3hw7Sn.js +1 -0
- music_assistant_frontend/assets/radio-C5JwViug.js +1 -0
- music_assistant_frontend/assets/search-Dxc3u4CV.js +1 -0
- music_assistant_frontend/assets/settings-Cw59R2QP.js +1 -0
- music_assistant_frontend/assets/user-round-C7trb2Kq.js +1 -0
- music_assistant_frontend/assets/userPreferences-DWdlmlmR.js +1 -0
- music_assistant_frontend/index.html +2 -2
- music_assistant_frontend/sw.js +1 -1
- {music_assistant_frontend-2.17.23.dist-info → music_assistant_frontend-2.17.41.dist-info}/METADATA +1 -1
- music_assistant_frontend-2.17.41.dist-info/RECORD +165 -0
- music_assistant_frontend/assets/About-Ba3VLBU-.css +0 -1
- music_assistant_frontend/assets/About-RUoOAv4X.js +0 -1
- music_assistant_frontend/assets/AddManualLink.vue_vue_type_script_setup_true_lang-BPxtYoQW.js +0 -1
- music_assistant_frontend/assets/AddPlayerGroup-D1w33Hxp.js +0 -1
- music_assistant_frontend/assets/AddProviderDetails-CelupE7u.js +0 -1
- music_assistant_frontend/assets/AlbumDetails-DAiKOl2b.js +0 -1
- music_assistant_frontend/assets/ArtistDetails-CB1LbwJB.js +0 -1
- music_assistant_frontend/assets/AudiobookDetails-Bu9SszK7.js +0 -1
- music_assistant_frontend/assets/BrowseView-DsuxryYQ.css +0 -1
- music_assistant_frontend/assets/BrowseView-mL-Ro3la.js +0 -1
- music_assistant_frontend/assets/Container-DVyrkl2H.js +0 -1
- music_assistant_frontend/assets/CreateTokenDialog.vue_vue_type_script_setup_true_lang-CDOcvzeY.js +0 -1
- music_assistant_frontend/assets/Default-BGKNhhwh.css +0 -1
- music_assistant_frontend/assets/Default-CbXEYQ2G.js +0 -21
- music_assistant_frontend/assets/EditConfig-DgPHHjUH.js +0 -2
- music_assistant_frontend/assets/EditCoreConfig-CbqG7Gbn.js +0 -1
- music_assistant_frontend/assets/EditPlayer-K5ooPIlK.js +0 -1
- music_assistant_frontend/assets/EditPlayerDsp-B-LTM5mJ.js +0 -9
- music_assistant_frontend/assets/EditProvider-LhZSA23p.js +0 -1
- music_assistant_frontend/assets/FrontendConfig-DK_MHxLP.js +0 -1
- music_assistant_frontend/assets/HomeView-CgBzF01O.js +0 -1
- music_assistant_frontend/assets/ItemsListing-BZL9sVtN.css +0 -1
- music_assistant_frontend/assets/ItemsListing-Bao8c9rP.js +0 -1
- music_assistant_frontend/assets/LibraryAlbums-DFEsqYSE.js +0 -1
- music_assistant_frontend/assets/LibraryArtists-zSFwRyIw.js +0 -1
- music_assistant_frontend/assets/LibraryAudiobooks-CWiohRcm.js +0 -1
- music_assistant_frontend/assets/LibraryPlaylists-BwcUK8IR.js +0 -1
- music_assistant_frontend/assets/LibraryPodcasts-CuYH_JUt.js +0 -1
- music_assistant_frontend/assets/LibraryRadios-C41h1ZhN.js +0 -1
- music_assistant_frontend/assets/LibraryTracks-wXT86JHG.js +0 -1
- music_assistant_frontend/assets/ListItem-CZjh-Z2L.css +0 -1
- music_assistant_frontend/assets/MediaItemImages-Df7nKM8C.js +0 -1
- music_assistant_frontend/assets/MediaItemThumb-DT_RR5hr.js +0 -1
- music_assistant_frontend/assets/PanelviewItemCompact-pmyYhZHE.js +0 -1
- music_assistant_frontend/assets/PlayerCard-BtmAlIKh.css +0 -1
- music_assistant_frontend/assets/PlayerCard-CEVvwv95.js +0 -1
- music_assistant_frontend/assets/Players-EhQqcnhl.css +0 -1
- music_assistant_frontend/assets/Players-tRk-aPmf.js +0 -1
- music_assistant_frontend/assets/PlaylistDetails-CLa5Z3w1.js +0 -1
- music_assistant_frontend/assets/PodcastDetails-CLsR7Tn5.js +0 -1
- music_assistant_frontend/assets/ProviderDetails.vue_vue_type_script_setup_true_lang-DHz8rGQ5.js +0 -8
- music_assistant_frontend/assets/Providers-B-Yv3fiH.js +0 -1
- music_assistant_frontend/assets/Providers-Dn02HurB.css +0 -1
- music_assistant_frontend/assets/RadioDetails-CLCgG3cC.js +0 -1
- music_assistant_frontend/assets/RemoteAccessSettings-BAwrICX9.js +0 -1
- music_assistant_frontend/assets/RemoteAccessSettings-C5-vEsHF.css +0 -1
- music_assistant_frontend/assets/Search-BTfWUjPY.js +0 -1
- music_assistant_frontend/assets/ServerLogs-D72XN62w.js +0 -4
- music_assistant_frontend/assets/Settings-BRF4vH9U.js +0 -1
- music_assistant_frontend/assets/SystemConfig-B_pajhS9.js +0 -1
- music_assistant_frontend/assets/Toolbar-DNqs9OXR.js +0 -1
- music_assistant_frontend/assets/TrackDetails-Dae-KK6X.js +0 -1
- music_assistant_frontend/assets/UserManagement-DbFQsYHK.js +0 -1
- music_assistant_frontend/assets/UserProfile--j1jhm_i.js +0 -1
- music_assistant_frontend/assets/VAlert-BDbtqfCV.css +0 -1
- music_assistant_frontend/assets/VAlert-Kj2m6TCt.js +0 -1
- music_assistant_frontend/assets/VDialog-DofGN8Yd.js +0 -1
- music_assistant_frontend/assets/VDialog-DwTSAOeg.css +0 -1
- music_assistant_frontend/assets/VSnackbar-B4pe7Cfy.css +0 -1
- music_assistant_frontend/assets/VSnackbar-DsamuEmf.js +0 -1
- music_assistant_frontend/assets/VSwitch-jlMLuij2.js +0 -1
- music_assistant_frontend/assets/VToolbar-CTLIwz5x.js +0 -1
- music_assistant_frontend/assets/VVirtualScroll-RawLIXgS.js +0 -1
- music_assistant_frontend/assets/WidgetRow-CkOdk0Z6.js +0 -1
- music_assistant_frontend/assets/index-BMi8F_Xw.css +0 -1
- music_assistant_frontend/assets/index-Ci6ypq6O.js +0 -1046
- music_assistant_frontend/assets/userPreferences-Cm6AcKY5.css +0 -1
- music_assistant_frontend/assets/userPreferences-D-oqBjc0.js +0 -1
- music_assistant_frontend-2.17.23.dist-info/RECORD +0 -150
- {music_assistant_frontend-2.17.23.dist-info → music_assistant_frontend-2.17.41.dist-info}/WHEEL +0 -0
- {music_assistant_frontend-2.17.23.dist-info → music_assistant_frontend-2.17.41.dist-info}/licenses/LICENSE +0 -0
- {music_assistant_frontend-2.17.23.dist-info → music_assistant_frontend-2.17.41.dist-info}/top_level.txt +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{I as u}from"./ItemsListing-Bao8c9rP.js";import{I as c,_ as f}from"./ProviderDetails.vue_vue_type_script_setup_true_lang-DHz8rGQ5.js";import{ay as y,J as k,L as b,az as w,aA as o,o as h,aI as s,aB as m,E as n,aD as I,aP as l}from"./index-Ci6ypq6O.js";import"./Container-DVyrkl2H.js";import"./index-kQIztB-E.js";import"./Toolbar-DNqs9OXR.js";import"./VToolbar-CTLIwz5x.js";import"./Button-CsTMTfds.js";import"./ListItem-Emhe-KUj.js";import"./userPreferences-D-oqBjc0.js";import"./VCheckboxBtn-lg4Bkg3S.js";import"./VSelectionControl-CuEKzbGp.js";import"./MediaItemThumb-DT_RR5hr.js";import"./PanelviewItemCompact-pmyYhZHE.js";import"./VInfiniteScroll-C4zaTPzz.js";import"./VVirtualScroll-RawLIXgS.js";import"./VAlert-Kj2m6TCt.js";import"./VSnackbar-DsamuEmf.js";import"./marquee_text_sync-D_iJsxcD.js";import"./VDialog-DofGN8Yd.js";const F=y({__name:"TrackDetails",props:{itemId:{},provider:{},album:{}},setup(r){const a=r,e=k(),p=async function(){e.value=await l.getTrack(a.itemId,a.provider,a.album)};b(()=>a.itemId,t=>{t&&p()},{immediate:!0});const d=async function(t){return await l.getTrackVersions(e.value.item_id,e.value.provider)},v=async function(t){return await l.getTrackAlbums(a.itemId,a.provider,t.libraryOnly)};return(t,i)=>(o(),w("section",null,[h(c,{item:e.value,"active-provider":r.provider},null,8,["item","active-provider"]),e.value?(o(),s(u,{key:0,itemtype:"trackalbums","parent-item":e.value,"show-provider":!0,"show-favorites-only-filter":!1,"show-library-only-filter":e.value.provider=="library"&&I(l).hasStreamingProviders.value,"show-track-number":!1,"show-refresh-button":!1,"load-items":v,"sort-keys":["name","sort_name","year","year_desc"],title:t.$t("appears_on"),path:r.provider+r.itemId,"allow-collapse":!0},null,8,["parent-item","show-library-only-filter","title","path"])):m("",!0),i[0]||(i[0]=n("br",null,null,-1)),e.value?(o(),s(u,{key:1,itemtype:"trackversions","parent-item":e.value,"show-provider":!0,"show-favorites-only-filter":!1,"show-track-number":!1,"load-items":d,"show-refresh-button":!1,"sort-keys":["name","sort_name","duration"],title:t.$t("other_versions"),"hide-on-empty":!0,path:r.provider+r.itemId,"allow-collapse":!0},null,8,["parent-item","title","path"])):m("",!0),i[1]||(i[1]=n("br",null,null,-1)),e.value?(o(),s(f,{key:2,"item-details":e.value},null,8,["item-details"])):m("",!0),i[2]||(i[2]=n("br",null,null,-1))]))}});export{F as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as pe}from"./Container-DVyrkl2H.js";import{L as ae}from"./ListItem-Emhe-KUj.js";import{ay as S,bN as B,J as U,i as I,aP as P,ce as re,L as le,aI as N,aA as i,aG as t,o as l,aS as E,bg as j,bh as g,aN as s,c3 as J,bH as O,aB as C,az as $,bK as Q,bV as H,bW as W,M as z,aW as w,cI as ue,E as V,_ as Z,ax as ee,aU as ve,bE as G,aL as K,ah as te,aH as se,bd as oe,a3 as ce,am as fe,aO as _e}from"./index-Ci6ypq6O.js";import{V as A}from"./VSelect-CMxVGu2h.js";import{V as X}from"./VDialog-DofGN8Yd.js";import{_ as he}from"./CreateTokenDialog.vue_vue_type_script_setup_true_lang-CDOcvzeY.js";import"./index-kQIztB-E.js";import"./Button-CsTMTfds.js";import"./VVirtualScroll-RawLIXgS.js";import"./VCheckboxBtn-lg4Bkg3S.js";import"./VSelectionControl-CuEKzbGp.js";const ye={key:1,class:"text-grey text-caption align-self-center"},be={key:1,class:"text-grey text-caption align-self-center"},ke=S({__name:"CreateUserDialog",props:{modelValue:{type:Boolean}},emits:["update:modelValue","created"],setup(c,{emit:F}){const{t:u}=B(),n=c,p=F,b=U(!1),a=U({username:"",displayName:"",password:"",confirmPassword:"",role:"user",playerFilter:[],providerFilter:[]}),m=[{title:u("auth.admin_role"),value:"admin"},{title:u("auth.user_role"),value:"user"}],h=I(()=>Object.values(P.players).map(e=>({title:e.name,value:e.player_id})).sort((e,o)=>e.title.localeCompare(o.title))),d=I(()=>Object.values(P.providers).filter(e=>e.type===re.MUSIC).map(e=>({title:e.name,value:e.instance_id})).sort((e,o)=>e.title.localeCompare(o.title))),k=e=>{a.value.playerFilter=a.value.playerFilter.filter(o=>o!==e)},y=e=>{a.value.providerFilter=a.value.providerFilter.filter(o=>o!==e)},D={required:e=>!!e||u("auth.field_required"),usernameLength:e=>e.length>=3||u("auth.username_min_length"),passwordLength:e=>e.length>=8||u("auth.password_min_length"),passwordMatch:e=>e===a.value.password||u("auth.passwords_must_match")},R=I(()=>a.value.username.length>=3&&a.value.password.length>=8&&a.value.password===a.value.confirmPassword&&a.value.role),L=()=>{a.value={username:"",displayName:"",password:"",confirmPassword:"",role:ue.USER,playerFilter:[],providerFilter:[]}},M=()=>{L(),p("update:modelValue",!1)},q=async()=>{b.value=!0;try{await P.createUser(a.value.username,a.value.password,a.value.role,a.value.displayName||void 0,a.value.playerFilter.length>0?a.value.playerFilter:void 0,a.value.providerFilter.length>0?a.value.providerFilter:void 0)?(w.success(u("auth.user_created")),L(),p("created"),p("update:modelValue",!1)):w.error(u("auth.user_create_failed"))}catch{w.error(u("auth.user_create_failed"))}finally{b.value=!1}};return le(()=>n.modelValue,e=>{e||L()}),(e,o)=>(i(),N(X,{"model-value":c.modelValue,"max-width":"500","onUpdate:modelValue":o[7]||(o[7]=r=>p("update:modelValue",r))},{default:t(()=>[l(E,null,{default:t(()=>[l(j,{class:"text-h6 pa-6 pb-4"},{default:t(()=>[g(s(e.$t("auth.create_user")),1)]),_:1}),l(J,{class:"px-6 pb-2"},{default:t(()=>[l(O,{modelValue:a.value.username,"onUpdate:modelValue":o[0]||(o[0]=r=>a.value.username=r),label:e.$t("auth.username"),variant:"outlined",density:"comfortable",class:"mb-2",rules:[D.required,D.usernameLength],autofocus:""},null,8,["modelValue","label","rules"]),l(O,{modelValue:a.value.displayName,"onUpdate:modelValue":o[1]||(o[1]=r=>a.value.displayName=r),label:e.$t("auth.display_name"),variant:"outlined",density:"comfortable",class:"mb-2",hint:e.$t("optional"),"persistent-hint":""},null,8,["modelValue","label","hint"]),l(O,{modelValue:a.value.password,"onUpdate:modelValue":o[2]||(o[2]=r=>a.value.password=r),label:e.$t("auth.password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-2",rules:[D.required,D.passwordLength]},null,8,["modelValue","label","rules"]),l(O,{modelValue:a.value.confirmPassword,"onUpdate:modelValue":o[3]||(o[3]=r=>a.value.confirmPassword=r),label:e.$t("auth.confirm_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-2",rules:[D.required,D.passwordMatch]},null,8,["modelValue","label","rules"]),l(A,{modelValue:a.value.role,"onUpdate:modelValue":o[4]||(o[4]=r=>a.value.role=r),label:e.$t("auth.role"),items:m,variant:"outlined",density:"comfortable",class:"mb-2"},null,8,["modelValue","label"]),l(A,{modelValue:a.value.playerFilter,"onUpdate:modelValue":o[5]||(o[5]=r=>a.value.playerFilter=r),label:e.$t("auth.player_filter"),items:h.value,variant:"outlined",density:"comfortable",multiple:"",chips:"","closable-chips":"",class:"mb-2",hint:e.$t("auth.player_filter_hint"),"persistent-hint":""},{selection:t(({item:r,index:T})=>[T<2?(i(),N(Q,{key:0,size:"small",closable:"","onClick:close":Y=>k(r.value)},{default:t(()=>[g(s(r.title),1)]),_:2},1032,["onClick:close"])):C("",!0),T===2?(i(),$("span",ye," (+"+s(a.value.playerFilter.length-2)+" "+s(e.$t("actions"))+") ",1)):C("",!0)]),_:1},8,["modelValue","label","items","hint"]),l(A,{modelValue:a.value.providerFilter,"onUpdate:modelValue":o[6]||(o[6]=r=>a.value.providerFilter=r),label:e.$t("auth.provider_filter"),items:d.value,variant:"outlined",density:"comfortable",multiple:"",chips:"","closable-chips":"",class:"mb-2",hint:e.$t("auth.provider_filter_hint"),"persistent-hint":""},{selection:t(({item:r,index:T})=>[T<2?(i(),N(Q,{key:0,size:"small",closable:"","onClick:close":Y=>y(r.value)},{default:t(()=>[g(s(r.title),1)]),_:2},1032,["onClick:close"])):C("",!0),T===2?(i(),$("span",be," (+"+s(a.value.providerFilter.length-2)+" "+s(e.$t("actions"))+") ",1)):C("",!0)]),_:1},8,["modelValue","label","items","hint"])]),_:1}),l(H,{class:"pa-6 pt-4"},{default:t(()=>[l(W),l(z,{variant:"text",onClick:M},{default:t(()=>[g(s(e.$t("cancel")),1)]),_:1}),l(z,{color:"primary",variant:"flat",loading:b.value,disabled:!R.value,onClick:q},{default:t(()=>[g(s(e.$t("create")),1)]),_:1},8,["loading","disabled"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),Ve={class:"text-body-1 mb-4"},ge={key:0,class:"user-name-box"},$e=S({__name:"DeleteUserDialog",props:{modelValue:{type:Boolean},user:{}},emits:["update:modelValue","deleted"],setup(c,{emit:F}){const{t:u}=B(),n=c,p=F,b=U(!1),a=async()=>{if(n.user){b.value=!0;try{await P.deleteUser(n.user.user_id)?(w.success(u("auth.user_deleted")),p("deleted"),p("update:modelValue",!1)):w.error(u("auth.user_delete_failed"))}catch{w.error(u("auth.user_delete_failed"))}finally{b.value=!1}}};return(m,h)=>(i(),N(X,{"model-value":c.modelValue,"max-width":"480","onUpdate:modelValue":h[1]||(h[1]=d=>p("update:modelValue",d))},{default:t(()=>[l(E,null,{default:t(()=>[l(j,{class:"text-h6 pl-6 pb-0"},{default:t(()=>[g(s(m.$t("auth.delete_user")),1)]),_:1}),l(J,{class:"px-6 pb-2"},{default:t(()=>[V("p",Ve,s(m.$t("auth.confirm_delete_user")),1),c.user?(i(),$("div",ge,s(c.user.display_name||c.user.username),1)):C("",!0)]),_:1}),l(H,{class:"pa-6 pt-4"},{default:t(()=>[l(W),l(z,{variant:"text",onClick:h[0]||(h[0]=d=>p("update:modelValue",!1))},{default:t(()=>[g(s(m.$t("cancel")),1)]),_:1}),l(z,{color:"error",variant:"flat",loading:b.value,onClick:a},{default:t(()=>[g(s(m.$t("auth.delete_user")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),we=Z($e,[["__scopeId","data-v-8cbf5f8f"]]),Ue={class:"text-body-1 mb-4"},Ce={key:0,class:"user-name-box"},Fe=S({__name:"DisableUserDialog",props:{modelValue:{type:Boolean},user:{}},emits:["update:modelValue","disabled"],setup(c,{emit:F}){const{t:u}=B(),n=c,p=F,b=U(!1),a=async()=>{if(n.user){b.value=!0;try{await P.disableUser(n.user.user_id)?(w.success(u("auth.user_disabled")),p("disabled"),p("update:modelValue",!1)):w.error(u("auth.user_disable_failed"))}catch{w.error(u("auth.user_disable_failed"))}finally{b.value=!1}}};return(m,h)=>(i(),N(X,{"model-value":c.modelValue,"max-width":"480","onUpdate:modelValue":h[1]||(h[1]=d=>p("update:modelValue",d))},{default:t(()=>[l(E,null,{default:t(()=>[l(j,{class:"text-h6 pl-6 pb-0"},{default:t(()=>[g(s(m.$t("auth.disable_user")),1)]),_:1}),l(J,{class:"px-6 pb-2"},{default:t(()=>[V("p",Ue,s(m.$t("auth.confirm_disable_user")),1),c.user?(i(),$("div",Ce,s(c.user.display_name||c.user.username),1)):C("",!0)]),_:1}),l(H,{class:"pa-6 pt-4"},{default:t(()=>[l(W),l(z,{variant:"text",onClick:h[0]||(h[0]=d=>p("update:modelValue",!1))},{default:t(()=>[g(s(m.$t("cancel")),1)]),_:1}),l(z,{color:"error",variant:"flat",loading:b.value,onClick:a},{default:t(()=>[g(s(m.$t("auth.disable_user")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),De=Z(Fe,[["__scopeId","data-v-9638370d"]]),Ne={key:1,class:"text-grey text-caption align-self-center"},Te={key:1,class:"text-grey text-caption align-self-center"},ze=S({__name:"EditUserDialog",props:{modelValue:{type:Boolean},user:{}},emits:["update:modelValue","updated"],setup(c,{emit:F}){const{t:u}=B(),n=c,p=F,b=U(!1),a=U({username:"",displayName:"",avatarUrl:"",role:"user",password:"",confirmPassword:"",playerFilter:[],providerFilter:[]}),m=[{title:u("auth.admin_role"),value:"admin"},{title:u("auth.user_role"),value:"user"}],h=I(()=>Object.values(P.players).map(e=>({title:e.name,value:e.player_id})).sort((e,o)=>e.title.localeCompare(o.title))),d=I(()=>Object.values(P.providers).filter(e=>e.type===re.MUSIC).map(e=>({title:e.name,value:e.instance_id})).sort((e,o)=>e.title.localeCompare(o.title))),k=e=>{a.value.playerFilter=a.value.playerFilter.filter(o=>o!==e)},y=e=>{a.value.providerFilter=a.value.providerFilter.filter(o=>o!==e)},D={required:e=>!!e||u("auth.field_required"),usernameLength:e=>e.length>=3||u("auth.username_min_length"),passwordLength:e=>e.length>=8||u("auth.password_min_length"),passwordMatch:e=>e===a.value.password||u("auth.passwords_must_match")},R=I(()=>!n.user||!ee.currentUser?!1:n.user.user_id===ee.currentUser.user_id),L=()=>{n.user?a.value={username:n.user.username,displayName:n.user.display_name||"",avatarUrl:n.user.avatar_url||"",role:n.user.role,password:"",confirmPassword:"",playerFilter:n.user.player_filter||[],providerFilter:n.user.provider_filter||[]}:a.value={username:"",displayName:"",avatarUrl:"",role:ue.USER,password:"",confirmPassword:"",playerFilter:[],providerFilter:[]}},M=()=>{L(),p("update:modelValue",!1)},q=async()=>{if(n.user){if(a.value.password&&a.value.password!==a.value.confirmPassword){w.error(u("auth.passwords_must_match"));return}b.value=!0;try{const e={};a.value.username!==n.user.username&&(e.username=a.value.username),a.value.displayName!==(n.user.display_name||"")&&(e.displayName=a.value.displayName),a.value.avatarUrl!==(n.user.avatar_url||"")&&(e.avatarUrl=a.value.avatarUrl),a.value.role!==n.user.role&&!R.value&&(e.role=a.value.role),a.value.password&&(e.password=a.value.password);const o=n.user.player_filter||[];JSON.stringify([...a.value.playerFilter].sort())!==JSON.stringify([...o].sort())&&(e.player_filter=a.value.playerFilter);const r=n.user.provider_filter||[];JSON.stringify([...a.value.providerFilter].sort())!==JSON.stringify([...r].sort())&&(e.provider_filter=a.value.providerFilter),await P.updateUser(n.user.user_id,e),w.success(u("auth.user_updated")),L(),p("updated"),p("update:modelValue",!1)}catch{w.error(u("auth.user_update_failed"))}finally{b.value=!1}}};return le(()=>n.user,L,{immediate:!0}),le(()=>n.modelValue,e=>{e&&L()}),(e,o)=>(i(),N(X,{"model-value":c.modelValue,"max-width":"500","onUpdate:modelValue":o[8]||(o[8]=r=>p("update:modelValue",r))},{default:t(()=>[l(E,null,{default:t(()=>[l(j,{class:"text-h6 pa-6 pb-4"},{default:t(()=>[g(s(e.$t("auth.edit_user")),1)]),_:1}),l(J,{class:"px-6 pb-2"},{default:t(()=>[l(O,{modelValue:a.value.username,"onUpdate:modelValue":o[0]||(o[0]=r=>a.value.username=r),label:e.$t("auth.username"),variant:"outlined",density:"comfortable",class:"mb-2",rules:[D.required,D.usernameLength]},null,8,["modelValue","label","rules"]),l(O,{modelValue:a.value.displayName,"onUpdate:modelValue":o[1]||(o[1]=r=>a.value.displayName=r),label:e.$t("auth.display_name"),variant:"outlined",density:"comfortable",class:"mb-6",hint:e.$t("optional"),"persistent-hint":""},null,8,["modelValue","label","hint"]),l(O,{modelValue:a.value.avatarUrl,"onUpdate:modelValue":o[2]||(o[2]=r=>a.value.avatarUrl=r),label:e.$t("auth.avatar_url"),variant:"outlined",density:"comfortable",class:"mb-6",hint:e.$t("auth.avatar_url_hint"),"persistent-hint":""},null,8,["modelValue","label","hint"]),l(A,{modelValue:a.value.role,"onUpdate:modelValue":o[3]||(o[3]=r=>a.value.role=r),label:e.$t("auth.role"),items:m,variant:"outlined",density:"comfortable",disabled:R.value,class:"mb-2"},null,8,["modelValue","label","disabled"]),l(O,{modelValue:a.value.password,"onUpdate:modelValue":o[4]||(o[4]=r=>a.value.password=r),label:e.$t("auth.new_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-2",hint:e.$t("auth.password_optional_hint"),"persistent-hint":"",rules:a.value.password?[D.passwordLength]:[]},null,8,["modelValue","label","hint","rules"]),a.value.password?(i(),N(O,{key:0,modelValue:a.value.confirmPassword,"onUpdate:modelValue":o[5]||(o[5]=r=>a.value.confirmPassword=r),label:e.$t("auth.confirm_password"),type:"password",variant:"outlined",density:"comfortable",rules:[D.passwordMatch]},null,8,["modelValue","label","rules"])):C("",!0),l(A,{modelValue:a.value.playerFilter,"onUpdate:modelValue":o[6]||(o[6]=r=>a.value.playerFilter=r),label:e.$t("auth.player_filter"),items:h.value,variant:"outlined",density:"comfortable",multiple:"",chips:"","closable-chips":"",class:"mb-2",hint:e.$t("auth.player_filter_hint"),"persistent-hint":""},{selection:t(({item:r,index:T})=>[T<2?(i(),N(Q,{key:0,size:"small",closable:"","onClick:close":Y=>k(r.value)},{default:t(()=>[g(s(r.title),1)]),_:2},1032,["onClick:close"])):C("",!0),T===2?(i(),$("span",Ne," (+"+s(a.value.playerFilter.length-2)+" "+s(e.$t("actions"))+") ",1)):C("",!0)]),_:1},8,["modelValue","label","items","hint"]),l(A,{modelValue:a.value.providerFilter,"onUpdate:modelValue":o[7]||(o[7]=r=>a.value.providerFilter=r),label:e.$t("auth.provider_filter"),items:d.value,variant:"outlined",density:"comfortable",multiple:"",chips:"","closable-chips":"",class:"mb-2",hint:e.$t("auth.provider_filter_hint"),"persistent-hint":""},{selection:t(({item:r,index:T})=>[T<2?(i(),N(Q,{key:0,size:"small",closable:"","onClick:close":Y=>y(r.value)},{default:t(()=>[g(s(r.title),1)]),_:2},1032,["onClick:close"])):C("",!0),T===2?(i(),$("span",Te," (+"+s(a.value.providerFilter.length-2)+" "+s(e.$t("actions"))+") ",1)):C("",!0)]),_:1},8,["modelValue","label","items","hint"])]),_:1}),l(H,{class:"pa-6 pt-4"},{default:t(()=>[l(W),l(z,{variant:"text",onClick:M},{default:t(()=>[g(s(e.$t("cancel")),1)]),_:1}),l(z,{color:"primary",variant:"flat",loading:b.value,onClick:q},{default:t(()=>[g(s(e.$t("save")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),Pe={class:"pa-4"},Le={class:"mb-2"},Me={class:"section-subtitle mb-6"},Oe={key:0,class:"empty-state"},Ie={class:"text-medium-emphasis"},Se={key:1,class:"tokens-list"},Be={class:"line-clamp-1"},Re={class:"token-meta"},qe={key:0,class:"token-divider"},Ae={key:1},Ee={class:"pa-4"},je={class:"section-header-with-action"},Je={class:"w-100"},He={class:"d-flex justify-space-between align-center gap-2"},We={class:"mb-2"},Xe={class:"section-subtitle"},Ye={key:0,class:"empty-state"},Ge={class:"text-medium-emphasis"},Ke={key:1,class:"tokens-list"},Qe={class:"line-clamp-1"},Ze={class:"token-meta"},xe={key:0,class:"token-divider"},ea={key:1},aa=S({__name:"ManageTokensDialog",props:{modelValue:{type:Boolean},user:{},tokens:{}},emits:["update:modelValue","revoke","token-created"],setup(c,{emit:F}){const{t:u}=B(),n=c,p=F,b=U(!1),a=I(()=>n.tokens.filter(d=>!d.is_long_lived)),m=I(()=>n.tokens.filter(d=>d.is_long_lived)),h=d=>new Date(d).toLocaleString();return(d,k)=>(i(),N(X,{"model-value":c.modelValue,"max-width":"900",scrollable:"","onUpdate:modelValue":k[4]||(k[4]=y=>p("update:modelValue",y))},{default:t(()=>[l(E,null,{default:t(()=>[l(j,{class:"text-h6 pa-6 pb-4"},{default:t(()=>[g(s(d.$t("auth.tokens"))+" - "+s(c.user?.display_name||c.user?.username),1)]),_:1}),l(ve),l(J,{class:"pa-0"},{default:t(()=>[V("div",Pe,[V("h3",Le,s(d.$t("auth.active_sessions")),1),V("p",Me,s(d.$t("auth.active_sessions_description")),1),a.value.length===0?(i(),$("div",Oe,[l(G,{color:"blue-grey-darken-2",size:"64",class:"mb-3"},{default:t(()=>[l(K,{icon:"mdi-devices",size:"32"})]),_:1}),V("p",Ie,s(d.$t("auth.no_active_sessions")),1)])):(i(),$("div",Se,[(i(!0),$(te,null,se(a.value,y=>(i(),N(ae,{key:y.token_id},{prepend:t(()=>[l(G,{color:"blue-grey-darken-2",size:"40"},{default:t(()=>[l(K,{icon:"mdi-devices",size:"20"})]),_:1})]),title:t(()=>[V("div",Be,s(y.name),1)]),subtitle:t(()=>[V("div",Re,[V("span",null,s(d.$t("created"))+": "+s(h(y.created_at)),1),y.last_used_at?(i(),$("span",qe,"•")):C("",!0),y.last_used_at?(i(),$("span",Ae,s(d.$t("last_used"))+": "+s(h(y.last_used_at)),1)):C("",!0)])]),append:t(()=>[l(z,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:oe(D=>p("revoke",y),["stop"])},null,8,["onClick"])]),_:2},1024))),128))]))]),V("div",Ee,[V("div",je,[V("div",Je,[V("div",He,[V("h3",We,s(d.$t("auth.long_lived_tokens")),1),l(z,{color:"primary",variant:"flat","prepend-icon":"mdi-plus",size:"small",onClick:k[0]||(k[0]=y=>b.value=!0)},{default:t(()=>[g(s(d.$t("auth.create_token")),1)]),_:1})]),V("p",Xe,s(d.$t("auth.long_lived_tokens_description")),1)])]),m.value.length===0?(i(),$("div",Ye,[l(G,{color:"deep-purple-darken-2",size:"64",class:"mb-3"},{default:t(()=>[l(K,{icon:"mdi-key-variant",size:"32"})]),_:1}),V("p",Ge,s(d.$t("auth.no_long_lived_tokens")),1)])):(i(),$("div",Ke,[(i(!0),$(te,null,se(m.value,y=>(i(),N(ae,{key:y.token_id},{prepend:t(()=>[l(G,{color:"deep-purple-darken-2",size:"40"},{default:t(()=>[l(K,{icon:"mdi-key-variant",size:"20"})]),_:1})]),title:t(()=>[V("div",Qe,s(y.name),1)]),subtitle:t(()=>[V("div",Ze,[V("span",null,s(d.$t("created"))+": "+s(h(y.created_at)),1),y.last_used_at?(i(),$("span",xe,"•")):C("",!0),y.last_used_at?(i(),$("span",ea,s(d.$t("last_used"))+": "+s(h(y.last_used_at)),1)):C("",!0)])]),append:t(()=>[l(z,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:oe(D=>p("revoke",y),["stop"])},null,8,["onClick"])]),_:2},1024))),128))]))])]),_:1}),l(H,{class:"pa-6"},{default:t(()=>[l(W),l(z,{variant:"tonal",onClick:k[1]||(k[1]=y=>p("update:modelValue",!1))},{default:t(()=>[g(s(d.$t("close")),1)]),_:1})]),_:1})]),_:1}),l(he,{modelValue:b.value,"onUpdate:modelValue":k[2]||(k[2]=y=>b.value=y),"user-id":c.user?.user_id,onCreated:k[3]||(k[3]=y=>p("token-created"))},null,8,["modelValue","user-id"])]),_:1},8,["model-value"]))}}),la=Z(aa,[["__scopeId","data-v-19f1861f"]]),ta={class:"text-body-1 mb-4"},sa={key:0,class:"token-name-box"},oa=S({__name:"RevokeTokenDialog",props:{modelValue:{type:Boolean},token:{}},emits:["update:modelValue","revoked"],setup(c,{emit:F}){const{t:u}=B(),n=c,p=F,b=U(!1),a=async()=>{if(!n.token)return;b.value=!0;const m=!n.token.is_long_lived;try{await P.revokeToken(n.token.token_id)?(w.success(u(m?"auth.session_revoked":"auth.token_revoked")),p("revoked"),p("update:modelValue",!1)):w.error(u(m?"auth.session_revoke_failed":"auth.token_revoke_failed"))}catch{w.error(u(m?"auth.session_revoke_failed":"auth.token_revoke_failed"))}finally{b.value=!1}};return(m,h)=>(i(),N(X,{"model-value":c.modelValue,"max-width":"480","onUpdate:modelValue":h[1]||(h[1]=d=>p("update:modelValue",d))},{default:t(()=>[l(E,null,{default:t(()=>[l(j,{class:"text-h6 pa-6 pb-4"},{default:t(()=>[g(s(c.token?.is_long_lived?m.$t("auth.revoke_token"):m.$t("auth.revoke_session")),1)]),_:1}),l(J,{class:"px-6 pb-2"},{default:t(()=>[V("p",ta,s(c.token?.is_long_lived?m.$t("auth.revoke_token_confirm"):m.$t("auth.revoke_session_confirm")),1),c.token?(i(),$("div",sa,s(c.token.name),1)):C("",!0)]),_:1}),l(H,{class:"pa-6 pt-4"},{default:t(()=>[l(W),l(z,{variant:"text",onClick:h[0]||(h[0]=d=>p("update:modelValue",!1))},{default:t(()=>[g(s(m.$t("cancel")),1)]),_:1}),l(z,{color:"error",variant:"flat",loading:b.value,onClick:a},{default:t(()=>[g(s(m.$t("auth.revoke")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}}),ra=Z(oa,[["__scopeId","data-v-026d0253"]]),ua={class:"users-header w-100"},na={class:"user-avatar-wrapper"},ia={class:"line-clamp-1"},da={class:"line-clamp-1"},ma={key:0,class:"text-center pa-8 text-medium-emphasis"},pa=S({__name:"UserManagement",setup(c){const{t:F}=B(),u=U([]),n=U(""),p=U(!1),b=U(!1),a=U(!1),m=U(!1),h=U(!1),d=U(!1),k=U(null),y=U([]),D=U(null),R=I(()=>{if(!n.value)return u.value;const f=n.value.toLowerCase();return u.value.filter(v=>{const _=(v.display_name||v.username).toLowerCase(),x=v.username.toLowerCase();return _.includes(f)||x.includes(f)})}),L=f=>!f||!ee.currentUser?!1:f.user_id===ee.currentUser.user_id,M=async()=>{try{u.value=await P.getAllUsers()}catch{w.error(F("auth.users_load_failed"))}},q=f=>{k.value=f,b.value=!0},e=f=>{k.value=f,a.value=!0},o=f=>{k.value=f,m.value=!0},r=async f=>{k.value=f,await T(f.user_id),h.value=!0},T=async f=>{try{y.value=await P.getUserTokens(f)}catch{w.error(F("auth.tokens_load_failed"))}},Y=async()=>{k.value&&await T(k.value.user_id)},ne=f=>{D.value=f,d.value=!0},ie=async()=>{k.value&&await T(k.value.user_id),D.value=null},de=async f=>{try{await P.enableUser(f.user_id)?(await M(),w.success(F("auth.user_enabled"))):w.error(F("auth.user_enable_failed"))}catch{w.error(F("auth.user_enable_failed"))}},me=(f,v)=>{const _=[{label:"auth.edit_user",labelArgs:[],action:()=>{q(v)},icon:"mdi-pencil"},{label:"auth.manage_tokens",labelArgs:[],action:()=>{r(v)},icon:"mdi-key-variant"},{label:v.enabled?"auth.disable_user":"auth.enable_user",labelArgs:[],action:()=>{v.enabled?e(v):de(v)},icon:v.enabled?"mdi-account-off":"mdi-account-check",hide:L(v)},{label:"auth.delete_user",labelArgs:[],action:()=>{o(v)},icon:"mdi-delete",color:"error",hide:L(v)}];_e.emit("contextmenu",{items:_,posX:f.clientX,posY:f.clientY})};return ce(()=>{M()}),(f,v)=>(i(),$("div",null,[V("div",ua,[l(O,{modelValue:n.value,"onUpdate:modelValue":v[0]||(v[0]=_=>n.value=_),placeholder:f.$t("search"),"prepend-inner-icon":"mdi-magnify",variant:"outlined",density:"compact","hide-details":"",clearable:"",style:{"max-width":"400px"}},null,8,["modelValue","placeholder"]),l(z,{color:"primary",variant:"flat",height:"40",class:"add-user-btn","prepend-icon":"mdi-plus",onClick:v[1]||(v[1]=_=>p.value=!0)},{default:t(()=>[g(s(f.$t("auth.create_user")),1)]),_:1})]),l(pe,null,{default:t(()=>[(i(!0),$(te,null,se(R.value,_=>(i(),N(ae,{key:_.user_id,"show-menu-btn":"",link:"",onMenu:x=>me(x,_),onClick:x=>q(_)},{prepend:t(()=>[V("div",na,[l(G,{size:"40",color:_.avatar_url?void 0:"grey-darken-2"},{default:t(()=>[_.avatar_url?(i(),N(fe,{key:0,src:_.avatar_url},null,8,["src"])):(i(),N(K,{key:1,icon:"mdi-account",size:"20",color:"grey-lighten-1"}))]),_:2},1032,["color"])])]),title:t(()=>[V("div",ia,s(_.display_name||_.username),1)]),subtitle:t(()=>[V("div",da,s(_.username)+" • "+s(f.$t(`auth.${_.role}_role`)),1)]),append:t(()=>[_.enabled?C("",!0):(i(),N(Q,{key:0,size:"small",color:"error"},{default:t(()=>[g(s(f.$t("auth.disabled")),1)]),_:1}))]),_:2},1032,["onMenu","onClick"]))),128)),u.value.length===0?(i(),$("div",ma,s(f.$t("no_content")),1)):C("",!0)]),_:1}),l(ke,{modelValue:p.value,"onUpdate:modelValue":v[2]||(v[2]=_=>p.value=_),onCreated:M},null,8,["modelValue"]),l(ze,{modelValue:b.value,"onUpdate:modelValue":v[3]||(v[3]=_=>b.value=_),user:k.value,onUpdated:M},null,8,["modelValue","user"]),l(De,{modelValue:a.value,"onUpdate:modelValue":v[4]||(v[4]=_=>a.value=_),user:k.value,onDisabled:M},null,8,["modelValue","user"]),l(we,{modelValue:m.value,"onUpdate:modelValue":v[5]||(v[5]=_=>m.value=_),user:k.value,onDeleted:M},null,8,["modelValue","user"]),l(la,{modelValue:h.value,"onUpdate:modelValue":v[6]||(v[6]=_=>h.value=_),user:k.value,tokens:y.value,onRevoke:ne,onTokenCreated:Y},null,8,["modelValue","user","tokens"]),l(ra,{modelValue:d.value,"onUpdate:modelValue":v[7]||(v[7]=_=>d.value=_),token:D.value,onRevoked:ie},null,8,["modelValue","token"])]))}}),wa=Z(pa,[["__scopeId","data-v-4952d4ff"]]);export{wa as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{C as Z}from"./Container-DVyrkl2H.js";import{ay as P,bN as F,J as h,az as k,aA as d,E as o,o as e,aN as s,M as $,aG as a,bh as y,bE as T,aL as z,ah as M,aH as H,aI as C,bd as B,aB as S,_ as I,i as D,aD as x,ax as R,bH as L,aP as N,aW as U,R as ee,L as ae,am as E,aS as W,bg as G,c3 as J,bV as j,bW as K,a3 as se,aU as q}from"./index-Ci6ypq6O.js";import{L as O}from"./ListItem-Emhe-KUj.js";import{_ as te}from"./CreateTokenDialog.vue_vue_type_script_setup_true_lang-CDOcvzeY.js";import{V as le}from"./VAlert-Kj2m6TCt.js";import{V as oe}from"./VForm-DkfI6S-G.js";import{V as Q}from"./VDialog-DofGN8Yd.js";import"./index-kQIztB-E.js";import"./Button-CsTMTfds.js";const ne={class:"long-lived-tokens"},re={class:"section-header-with-action"},ie={class:"section-header"},ue={class:"section-subtitle"},de={key:0,class:"empty-state"},ce={class:"text-medium-emphasis"},ve={class:"text-caption text-medium-emphasis mt-1"},_e={key:1,class:"tokens-list"},me={class:"line-clamp-1"},pe={class:"token-meta"},fe={key:0,class:"token-divider"},he={key:1},ke=P({__name:"LongLivedTokensList",props:{tokens:{}},emits:["revoke","created"],setup(V,{emit:c}){const{t:n}=F(),u=c,l=h(!1),_=v=>new Date(v).toLocaleString(),m=()=>{u("created")};return(v,p)=>(d(),k("div",ne,[o("div",re,[o("div",ie,[o("h3",null,s(v.$t("auth.long_lived_tokens")),1),o("p",ue,s(v.$t("auth.api_tokens_description")),1)]),e($,{color:"primary",variant:"flat","prepend-icon":"mdi-plus",onClick:p[0]||(p[0]=t=>l.value=!0)},{default:a(()=>[y(s(v.$t("auth.create_token")),1)]),_:1})]),V.tokens.length===0?(d(),k("div",de,[e(T,{color:"deep-purple-darken-2",size:"64",class:"mb-3"},{default:a(()=>[e(z,{icon:"mdi-key-variant",size:"32"})]),_:1}),o("p",ce,s(v.$t("auth.no_tokens")),1),o("p",ve,s(v.$t("auth.create_token_hint")),1)])):(d(),k("div",_e,[(d(!0),k(M,null,H(V.tokens,t=>(d(),C(O,{key:t.token_id},{prepend:a(()=>[e(T,{color:"deep-purple-darken-2",size:"40"},{default:a(()=>[e(z,{icon:"mdi-key-variant",size:"20"})]),_:1})]),title:a(()=>[o("div",me,s(t.name),1)]),subtitle:a(()=>[o("div",pe,[o("span",null,s(v.$t("created"))+": "+s(_(t.created_at)),1),t.last_used_at?(d(),k("span",fe,"•")):S("",!0),t.last_used_at?(d(),k("span",he,s(v.$t("last_used"))+": "+s(_(t.last_used_at)),1)):S("",!0)])]),append:a(()=>[e($,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:B(w=>u("revoke",t),["stop"])},null,8,["onClick"])]),_:2},1024))),128))])),e(te,{modelValue:l.value,"onUpdate:modelValue":p[1]||(p[1]=t=>l.value=t),onCreated:m},null,8,["modelValue"])]))}}),ge=I(ke,[["__scopeId","data-v-511373f4"]]),$e={class:"password-settings"},ye={class:"section-header"},be={class:"section-subtitle"},we=P({__name:"PasswordSettings",setup(V){const{t:c}=F(),n=h(""),u=h(""),l=h(!1),_=h(null),m={required:t=>!!t||c("auth.field_required"),passwordLength:t=>t.length>=8||c("auth.password_min_length"),passwordMatch:t=>t===n.value||c("auth.passwords_must_match")},v=D(()=>n.value.length>=8&&n.value===u.value),p=async()=>{l.value=!0;try{await N.changePassword(n.value)?(U.success(c("auth.password_changed")),n.value="",u.value="",await ee(),_.value?.resetValidation()):U.error(c("auth.password_change_failed"))}catch(t){U.error(t.message||c("auth.password_change_failed"))}finally{l.value=!1}};return(t,w)=>(d(),k("div",$e,[o("div",ye,[o("h3",null,s(t.$t("auth.change_password")),1),o("p",be,s(t.$t("auth.update_your_password")),1)]),x(R).isIngressSession?(d(),C(le,{key:0,type:"info",variant:"tonal",density:"compact",class:"mb-4"},{default:a(()=>[y(s(t.$t("auth.ingress_password_note")),1)]),_:1})):S("",!0),e(oe,{ref_key:"passwordForm",ref:_,onSubmit:B(p,["prevent"])},{default:a(()=>[e(L,{modelValue:n.value,"onUpdate:modelValue":w[0]||(w[0]=i=>n.value=i),label:t.$t("auth.new_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-2",rules:[m.required,m.passwordLength]},null,8,["modelValue","label","rules"]),e(L,{modelValue:u.value,"onUpdate:modelValue":w[1]||(w[1]=i=>u.value=i),label:t.$t("auth.confirm_password"),type:"password",variant:"outlined",density:"comfortable",class:"mb-4",rules:[m.required,m.passwordMatch]},null,8,["modelValue","label","rules"]),e($,{type:"submit",color:"primary",variant:"flat",loading:l.value,disabled:!v.value},{default:a(()=>[y(s(t.$t("auth.change_password")),1)]),_:1},8,["loading","disabled"])]),_:1},512)]))}}),Ve=I(we,[["__scopeId","data-v-36fba185"]]),Ce={class:"profile-settings"},Ue={class:"section-header"},Le={class:"section-subtitle"},Te={class:"avatar-section"},ze={class:"avatar-container"},Se={class:"avatar-wrapper"},De={class:"avatar-text mt-2"},Pe={class:"profile-fields"},Ie={class:"actions"},Ae={class:"d-flex flex-column align-center mb-4"},Ne=P({__name:"ProfileSettings",setup(V){const{t:c}=F(),n=D(()=>R.currentUser),u=h(""),l=h(""),_=h(""),m=h(!1),v=h(!1),p=h(""),t=h(!1),w={required:r=>!!r||c("auth.field_required"),usernameLength:r=>r.length>=3||c("auth.username_min_length")},i=D(()=>n.value?u.value!==n.value.username||l.value!==(n.value.display_name||"")||_.value!==(n.value.avatar_url||""):!1),g=()=>{n.value&&(u.value=n.value.username,l.value=n.value.display_name||"",_.value=n.value.avatar_url||"",p.value=n.value.avatar_url||"")},A=async()=>{if(!(!n.value||!i.value)){m.value=!0;try{const r={};u.value!==n.value.username&&(r.username=u.value),l.value!==(n.value.display_name||"")&&(r.displayName=l.value),_.value!==(n.value.avatar_url||"")&&(r.avatarUrl=_.value);const f=await N.updateUser(n.value.user_id,r);f&&(R.currentUser=f,g(),U.success(c("auth.profile_updated")))}catch(r){U.error(r.message||c("error_generic"))}finally{m.value=!1}}},X=()=>{v.value=!1,p.value=_.value,t.value=!1},Y=()=>{_.value=p.value,v.value=!1,t.value=!1};return ae(n,g,{immediate:!0}),(r,f)=>(d(),k("div",Ce,[o("div",Ue,[o("h3",null,s(r.$t("auth.account_settings")),1),o("p",Le,s(r.$t("auth.manage_your_profile_info")),1)]),o("div",Te,[o("div",ze,[o("div",Se,[e(T,{size:"120",class:"profile-avatar",color:_.value?void 0:"grey-darken-2"},{default:a(()=>[_.value?(d(),C(E,{key:0,src:_.value,onError:f[0]||(f[0]=b=>t.value=!0)},null,8,["src"])):(d(),C(z,{key:1,icon:"mdi-account",size:"64",color:"grey-lighten-1"}))]),_:1},8,["color"]),e($,{icon:"mdi-camera",size:"small",variant:"elevated",class:"avatar-edit-btn",color:"surface",onClick:f[1]||(f[1]=b=>v.value=!0)})]),o("div",De,[e($,{variant:"text",size:"small",class:"text-capitalize",onClick:f[2]||(f[2]=b=>v.value=!0)},{default:a(()=>[y(s(r.$t("auth.change_avatar")),1)]),_:1})])]),o("div",Pe,[e(L,{modelValue:u.value,"onUpdate:modelValue":f[3]||(f[3]=b=>u.value=b),label:r.$t("auth.username"),variant:"outlined",density:"comfortable",rules:[w.required,w.usernameLength],class:"mb-2"},null,8,["modelValue","label","rules"]),e(L,{modelValue:l.value,"onUpdate:modelValue":f[4]||(f[4]=b=>l.value=b),label:r.$t("auth.display_name"),variant:"outlined",density:"comfortable",hint:r.$t("optional"),"persistent-hint":"",class:"mb-2"},null,8,["modelValue","label","hint"]),e(L,{"model-value":r.$t(`auth.${n.value?.role}_role`),label:r.$t("auth.role"),variant:"outlined",density:"comfortable",readonly:"",disabled:""},null,8,["model-value","label"])])]),o("div",Ie,[i.value?(d(),C($,{key:0,variant:"text",color:"grey",onClick:g},{default:a(()=>[y(s(r.$t("cancel")),1)]),_:1})):S("",!0),e($,{color:"primary",variant:"flat",loading:m.value,disabled:!i.value,onClick:A},{default:a(()=>[y(s(r.$t("save")),1)]),_:1},8,["loading","disabled"])]),e(Q,{modelValue:v.value,"onUpdate:modelValue":f[7]||(f[7]=b=>v.value=b),"max-width":"500"},{default:a(()=>[e(W,null,{default:a(()=>[e(G,{class:"text-h5"},{default:a(()=>[y(s(r.$t("auth.change_avatar")),1)]),_:1}),e(J,null,{default:a(()=>[o("div",Ae,[e(T,{size:"140",color:p.value?void 0:"grey-darken-2"},{default:a(()=>[p.value?(d(),C(E,{key:0,src:p.value,onError:f[5]||(f[5]=b=>t.value=!0)},null,8,["src"])):(d(),C(z,{key:1,icon:"mdi-account",size:"72",color:"grey-lighten-1"}))]),_:1},8,["color"])]),e(L,{modelValue:p.value,"onUpdate:modelValue":f[6]||(f[6]=b=>p.value=b),label:r.$t("auth.avatar_url"),variant:"outlined",hint:r.$t("auth.avatar_url_hint"),"persistent-hint":"",clearable:""},null,8,["modelValue","label","hint"])]),_:1}),e(j,null,{default:a(()=>[e(K),e($,{variant:"text",onClick:X},{default:a(()=>[y(s(r.$t("cancel")),1)]),_:1}),e($,{color:"primary",variant:"flat",onClick:Y},{default:a(()=>[y(s(r.$t("save")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]))}}),Fe=I(Ne,[["__scopeId","data-v-e98d7828"]]),qe={class:"session-tokens"},Re={class:"section-header"},Be={class:"section-subtitle"},Ee={key:0,class:"empty-state"},Me={class:"text-medium-emphasis"},He={key:1,class:"tokens-list"},We={class:"line-clamp-1"},Ge={class:"token-meta"},Je={key:0,class:"token-divider"},je={key:1},Ke=P({__name:"SessionTokensList",props:{tokens:{}},emits:["revoke"],setup(V,{emit:c}){const n=c,u=l=>new Date(l).toLocaleString();return(l,_)=>(d(),k("div",qe,[o("div",Re,[o("h3",null,s(l.$t("auth.active_sessions")),1),o("p",Be,s(l.$t("auth.manage_active_sessions")),1)]),V.tokens.length===0?(d(),k("div",Ee,[e(T,{color:"blue-grey-darken-2",size:"64",class:"mb-3"},{default:a(()=>[e(z,{icon:"mdi-devices-off",size:"32"})]),_:1}),o("p",Me,s(l.$t("no_content")),1)])):(d(),k("div",He,[(d(!0),k(M,null,H(V.tokens,m=>(d(),C(O,{key:m.token_id},{prepend:a(()=>[e(T,{color:"blue-grey-darken-2",size:"40"},{default:a(()=>[e(z,{icon:"mdi-devices",size:"20"})]),_:1})]),title:a(()=>[o("div",We,s(m.name),1)]),subtitle:a(()=>[o("div",Ge,[o("span",null,s(l.$t("created"))+": "+s(u(m.created_at)),1),m.last_used_at?(d(),k("span",Je,"•")):S("",!0),m.last_used_at?(d(),k("span",je,s(l.$t("last_used"))+": "+s(u(m.last_used_at)),1)):S("",!0)])]),append:a(()=>[e($,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:B(v=>n("revoke",m),["stop"])},null,8,["onClick"])]),_:2},1024))),128))]))]))}}),Oe=I(Ke,[["__scopeId","data-v-984369e1"]]),Qe={class:"user-profile"},Xe={class:"profile-content"},Ye={class:"text-body-1 mb-4"},Ze={class:"token-name-box"},xe=P({__name:"UserProfile",setup(V){const{t:c}=F(),n=h([]),u=h(!1),l=h(null),_=h(!1),m=D(()=>n.value.filter(i=>!i.is_long_lived)),v=D(()=>n.value.filter(i=>i.is_long_lived)),p=async()=>{try{n.value=await N.getUserTokens()}catch(i){console.error("Failed to load tokens:",i)}},t=i=>{l.value=i,u.value=!0},w=async()=>{if(l.value){_.value=!0;try{if(await N.revokeToken(l.value.token_id)){await p();const g=!l.value.is_long_lived;U.success(c(g?"auth.session_revoked":"auth.token_revoked"))}else{const g=!l.value.is_long_lived;U.error(c(g?"auth.session_revoke_failed":"auth.token_revoke_failed"))}}catch(i){console.error("Failed to revoke token:",i);const g=!l.value?.is_long_lived;U.error(c(g?"auth.session_revoke_failed":"auth.token_revoke_failed"))}finally{u.value=!1,l.value=null,_.value=!1}}};return se(()=>{p()}),(i,g)=>(d(),k("div",Qe,[e(Z,{variant:"comfortable",class:"profile-container"},{default:a(()=>[o("div",Xe,[e(Fe),e(q,{class:"my-6"}),e(Ve),e(q,{class:"my-6"}),e(Oe,{tokens:m.value,onRevoke:t},null,8,["tokens"]),e(q,{class:"my-6"}),e(ge,{tokens:v.value,onRevoke:t,onCreated:p},null,8,["tokens"])])]),_:1}),e(Q,{modelValue:u.value,"onUpdate:modelValue":g[1]||(g[1]=A=>u.value=A),"max-width":"480"},{default:a(()=>[e(W,null,{default:a(()=>[e(G,{class:"text-h6 pl-6 pb-0 mt-3"},{default:a(()=>[y(s(l.value?.is_long_lived?i.$t("auth.revoke_token"):i.$t("auth.revoke_session")),1)]),_:1}),e(J,{class:"px-6 pb-2"},{default:a(()=>[o("p",Ye,s(l.value?.is_long_lived?i.$t("auth.revoke_token_confirm"):i.$t("auth.revoke_session_confirm")),1),o("div",Ze,s(l.value?.name),1)]),_:1}),e(j,{class:"pa-6 pt-4"},{default:a(()=>[e(K),e($,{variant:"text",onClick:g[0]||(g[0]=A=>u.value=!1)},{default:a(()=>[y(s(i.$t("cancel")),1)]),_:1}),e($,{color:"error",variant:"flat",loading:_.value,onClick:w},{default:a(()=>[y(s(i.$t("auth.revoke")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]))}}),ua=I(xe,[["__scopeId","data-v-4961f1fb"]]);export{ua as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.v-alert{display:grid;flex:1 1;grid-template-areas:"prepend content append close" ". content . .";grid-template-columns:max-content auto max-content max-content;position:relative;padding:16px;overflow:hidden;--v-border-color: currentColor}.v-alert--absolute{position:absolute}.v-alert--fixed{position:fixed}.v-alert--sticky{position:sticky}.v-alert{border-radius:4px}.v-alert--variant-plain,.v-alert--variant-outlined,.v-alert--variant-text,.v-alert--variant-tonal{background:transparent;color:inherit}.v-alert--variant-plain{opacity:.62}.v-alert--variant-plain:focus,.v-alert--variant-plain:hover{opacity:1}.v-alert--variant-plain .v-alert__overlay{display:none}.v-alert--variant-elevated,.v-alert--variant-flat{background:rgb(var(--v-theme-surface-light));color:rgba(var(--v-theme-on-surface-light),var(--v-high-emphasis-opacity))}.v-alert--variant-elevated{box-shadow:0 2px 1px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 1px 1px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 3px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-alert--variant-flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-alert--variant-outlined{border:thin solid currentColor}.v-alert--variant-text .v-alert__overlay{background:currentColor}.v-alert--variant-tonal .v-alert__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;inset:0;pointer-events:none}.v-alert .v-alert__underlay{position:absolute}.v-alert--prominent{grid-template-areas:"prepend content append close" "prepend content . ."}.v-alert.v-alert--border{--v-border-opacity: .38}.v-alert.v-alert--border.v-alert--border-start{padding-inline-start:24px}.v-alert.v-alert--border.v-alert--border-end{padding-inline-end:24px}.v-alert--variant-plain{transition:.2s opacity cubic-bezier(.4,0,.2,1)}.v-alert--density-default{padding-bottom:16px;padding-top:16px}.v-alert--density-default.v-alert--border-top{padding-top:24px}.v-alert--density-default.v-alert--border-bottom{padding-bottom:24px}.v-alert--density-comfortable{padding-bottom:12px;padding-top:12px}.v-alert--density-comfortable.v-alert--border-top{padding-top:20px}.v-alert--density-comfortable.v-alert--border-bottom{padding-bottom:20px}.v-alert--density-compact{padding-bottom:8px;padding-top:8px}.v-alert--density-compact.v-alert--border-top{padding-top:16px}.v-alert--density-compact.v-alert--border-bottom{padding-bottom:16px}.v-alert:not(:has(.v-alert-title)) .v-alert__content{padding-block:.125rem}.v-alert__border{border-radius:inherit;inset:0;opacity:var(--v-border-opacity);position:absolute;pointer-events:none;width:100%}.v-alert__border{border-color:currentColor;border-style:solid;border-width:0}.v-alert__border--border{border-width:8px;box-shadow:none}.v-alert--border-start .v-alert__border{border-inline-start-width:8px}.v-alert--border-end .v-alert__border{border-inline-end-width:8px}.v-alert--border-top .v-alert__border{border-top-width:8px}.v-alert--border-bottom .v-alert__border{border-bottom-width:8px}.v-alert__close{flex:0 1 auto;grid-area:close}.v-alert__close>.v-btn{margin-block:calc(-1 * (var(--v-btn-height) + 12px - 1.75rem) / 2)}.v-alert__content{align-self:center;grid-area:content;overflow:hidden}.v-alert__append,.v-alert__close{margin-inline-start:16px}.v-alert__append{align-self:flex-start;grid-area:append}.v-alert__append+.v-alert__close{margin-inline-start:16px}.v-alert__prepend{align-self:flex-start;display:flex;align-items:center;grid-area:prepend;margin-inline-end:16px;min-height:1.75rem}.v-alert__prepend>.v-icon{font-size:1.75rem;height:1.75rem;width:1.75rem}.v-alert--prominent .v-alert__prepend{align-self:center}.v-alert__underlay{grid-area:none;position:absolute}.v-alert--border-start .v-alert__underlay{border-top-left-radius:0;border-bottom-left-radius:0}.v-alert--border-end .v-alert__underlay{border-top-right-radius:0;border-bottom-right-radius:0}.v-alert--border-top .v-alert__underlay{border-top-left-radius:0;border-top-right-radius:0}.v-alert--border-bottom .v-alert__underlay{border-bottom-left-radius:0;border-bottom-right-radius:0}.v-alert-title{align-items:center;align-self:center;display:flex;font-size:1.25rem;font-weight:500;-webkit-hyphens:auto;hyphens:auto;letter-spacing:.0125em;line-height:1.75rem;overflow-wrap:normal;text-transform:none;word-break:normal;word-wrap:break-word}@media (forced-colors: active){.v-alert:not(.v-alert--variant-text,.v-alert--variant-plain){border-style:solid}.v-alert--variant-outlined,.v-alert--variant-tonal{border-width:medium}.v-alert--variant-elevated,.v-alert--variant-flat{border-width:thick}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{c_ as D,p as S,i as F,g as M,j as w,t as d,G as E,cy as N,d as R,bZ as j,e as q,cs as O,cx as G,f as Z,ao as p,I as H,o as l,q as v,r as m,cA as J,v as K,x as Q,z as U,cB as W,cv as X,A as Y,b$ as ee,B as ae,C as te,cq as le,cF as se,E as s,aL as ne,ae as y,an as f,M as oe}from"./index-Ci6ypq6O.js";const ie=D("v-alert-title"),ce=S({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[["x-small",10],["small",16],["default",24],["large",28],["x-large",32]]}},"iconSize");function re(e,n){return{iconSize:F(()=>{const a=new Map(e.iconSizes),t=e.iconSize??n()??"default";return a.has(t)?a.get(t):t})}}const ue=["success","info","warning","error"],de=S({border:{type:[Boolean,String],validator:e=>typeof e=="boolean"||["top","end","bottom","start"].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:le,default:"$close"},closeLabel:{type:String,default:"$vuetify.close"},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>ue.includes(e)},...te(),...ae(),...ee(),...Y(),...ce(),...X(),...W(),...U(),...Q(),...K(),...J({variant:"flat"})},"VAlert"),me=M()({name:"VAlert",props:de(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,n){let{emit:c,slots:a}=n;const t=w(e,"modelValue"),o=d(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:b}=re(e,()=>e.prominent?44:void 0),{themeClasses:k}=E(e),{colorClasses:P,colorStyles:z,variantClasses:C}=N(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:V}=R(e),{dimensionStyles:g}=j(e),{elevationClasses:x}=q(e),{locationStyles:_}=O(e),{positionClasses:B}=G(e),{roundedClasses:A}=Z(e),{textColorClasses:I,textColorStyles:h}=p(()=>e.borderColor),{t:T}=H(),r=d(()=>({"aria-label":T(e.closeLabel),onClick(i){t.value=!1,c("click:close",i)}}));return()=>{const i=!!(a.prepend||o.value),L=!!(a.title||e.title),$=!!(a.close||e.closable),u={density:e.density,icon:o.value,size:e.iconSize||e.prominent?b.value:void 0};return t.value&&l(e.tag,{class:m(["v-alert",e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?"start":e.border}`]:!0},{"v-alert--prominent":e.prominent},k.value,P.value,V.value,x.value,B.value,A.value,C.value,e.class]),style:v([z.value,g.value,_.value,e.style]),role:"alert"},{default:()=>[se(!1,"v-alert"),e.border&&s("div",{key:"border",class:m(["v-alert__border",I.value]),style:v(h.value)},null),i&&s("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?l(f,{key:"prepend-defaults",disabled:!o.value,defaults:{VIcon:{...u}}},a.prepend):l(ne,y({key:"prepend-icon"},u),null)]),s("div",{class:"v-alert__content"},[L&&l(ie,{key:"title"},{default:()=>[a.title?.()??e.title]}),a.text?.()??e.text,a.default?.()]),a.append&&s("div",{key:"append",class:"v-alert__append"},[a.append()]),$&&s("div",{key:"close",class:"v-alert__close"},[a.close?l(f,{key:"close-defaults",defaults:{VBtn:{icon:e.closeIcon,size:"x-small",variant:"text"}}},{default:()=>[a.close?.({props:r.value})]}):l(oe,y({key:"close-btn",icon:e.closeIcon,size:"x-small",variant:"text"},r.value),null)])]})}}});export{me as V,ie as a};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as P,p as x,j as E,aa as b,J as y,L as D,n as w,bx as u,ae as r,o as d,ap as A,ai as F,cC as L,cM as I,R as S,an as R}from"./index-Ci6ypq6O.js";const B=x({fullscreen:Boolean,scrollable:Boolean,...F(L({captureFocus:!0,origin:"center center",scrollStrategy:"block",transition:{component:I},zIndex:2400,retainFocus:!0}),["disableInitialFocus"])},"VDialog"),H=P()({name:"VDialog",props:B(),emits:{"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,f){let{emit:c,slots:i}=f;const o=E(e,"modelValue"),{scopeId:v}=b(),a=y();function m(){c("afterEnter"),(e.scrim||e.retainFocus)&&a.value?.contentEl&&!a.value.contentEl.contains(document.activeElement)&&a.value.contentEl.focus({preventScroll:!0})}function g(){c("afterLeave")}return D(o,async l=>{l||(await S(),a.value.activatorEl?.focus({preventScroll:!0}))}),w(()=>{const l=u.filterProps(e),V=r({"aria-haspopup":"dialog"},e.activatorProps),h=r({tabindex:-1},e.contentProps);return d(u,r({ref:a,class:["v-dialog",{"v-dialog--fullscreen":e.fullscreen,"v-dialog--scrollable":e.scrollable},e.class],style:e.style},l,{modelValue:o.value,"onUpdate:modelValue":t=>o.value=t,"aria-modal":"true",activatorProps:V,contentProps:h,height:e.fullscreen?void 0:e.height,width:e.fullscreen?void 0:e.width,maxHeight:e.fullscreen?void 0:e.maxHeight,maxWidth:e.fullscreen?void 0:e.maxWidth,role:"dialog",onAfterEnter:m,onAfterLeave:g},v),{activator:i.activator,default:function(){for(var t=arguments.length,s=new Array(t),n=0;n<t;n++)s[n]=arguments[n];return d(R,{root:"VDialog"},{default:()=>[i.default?.(...s)]})}})}),A({},a)}});export{H as V};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.v-dialog{align-items:center;justify-content:center;margin:auto}.v-dialog>.v-overlay__content{max-height:calc(100% - 48px);width:calc(100% - 48px);max-width:calc(100% - 48px);margin:24px}.v-dialog>.v-overlay__content,.v-dialog>.v-overlay__content>form{display:flex;flex-direction:column;min-height:0}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>.v-sheet,.v-dialog>.v-overlay__content>form>.v-card,.v-dialog>.v-overlay__content>form>.v-sheet{--v-scrollbar-offset: 0px;border-radius:4px;overflow-y:auto;flex:1 1 100%}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>.v-sheet,.v-dialog>.v-overlay__content>form>.v-card,.v-dialog>.v-overlay__content>form>.v-sheet{box-shadow:0 11px 15px -7px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 24px 38px 3px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 9px 46px 8px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-dialog>.v-overlay__content>.v-card,.v-dialog>.v-overlay__content>form>.v-card{display:flex;flex-direction:column}.v-dialog>.v-overlay__content>.v-card>.v-card-item,.v-dialog>.v-overlay__content>form>.v-card>.v-card-item{padding:16px 24px}.v-dialog>.v-overlay__content>.v-card>.v-card-item+.v-card-text,.v-dialog>.v-overlay__content>form>.v-card>.v-card-item+.v-card-text{padding-top:0}.v-dialog>.v-overlay__content>.v-card>.v-card-text,.v-dialog>.v-overlay__content>form>.v-card>.v-card-text{font-size:inherit;letter-spacing:.03125em;line-height:inherit;padding:16px 24px 24px}.v-dialog>.v-overlay__content>.v-card>.v-card-actions,.v-dialog>.v-overlay__content>form>.v-card>.v-card-actions{justify-content:flex-end}.v-dialog--fullscreen{--v-scrollbar-offset: 0px}.v-dialog--fullscreen>.v-overlay__content{border-radius:0;margin:0;padding:0;width:100%;height:100%;max-width:100%;max-height:100%;overflow-y:auto;top:0;left:0}.v-dialog--fullscreen>.v-overlay__content>.v-card,.v-dialog--fullscreen>.v-overlay__content>.v-sheet,.v-dialog--fullscreen>.v-overlay__content>form>.v-card,.v-dialog--fullscreen>.v-overlay__content>form>.v-sheet{min-height:100%;min-width:100%;border-radius:0}.v-dialog--scrollable>.v-overlay__content>form,.v-dialog--scrollable>.v-overlay__content>form>.v-card{max-height:100%;max-width:100%}.v-dialog--scrollable>.v-overlay__content,.v-dialog--scrollable>.v-overlay__content>.v-card,.v-dialog--scrollable>.v-overlay__content>form,.v-dialog--scrollable>.v-overlay__content>form>.v-card{display:flex;flex:1 1 100%;flex-direction:column}.v-dialog--scrollable>.v-overlay__content>.v-card>.v-card-text,.v-dialog--scrollable>.v-overlay__content>form>.v-card>.v-card-text{backface-visibility:hidden;overflow-y:auto}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.v-snackbar{justify-content:center;z-index:10000;margin:8px;margin-inline-end:calc(8px + var(--v-scrollbar-offset));padding:var(--v-layout-top) var(--v-layout-right) var(--v-layout-bottom) var(--v-layout-left)}.v-snackbar:not(.v-snackbar--center):not(.v-snackbar--top){align-items:flex-end}.v-snackbar__wrapper{align-items:center;display:flex;max-width:672px;min-height:48px;min-width:344px;overflow:hidden;padding:0}.v-snackbar__wrapper{border-radius:4px}.v-snackbar--variant-plain,.v-snackbar--variant-outlined,.v-snackbar--variant-text,.v-snackbar--variant-tonal{background:transparent;color:inherit}.v-snackbar--variant-plain{opacity:.62}.v-snackbar--variant-plain:focus,.v-snackbar--variant-plain:hover{opacity:1}.v-snackbar--variant-plain .v-snackbar__overlay{display:none}.v-snackbar--variant-elevated,.v-snackbar--variant-flat{background:rgb(var(--v-theme-surface-variant));color:rgb(var(--v-theme-on-surface-variant))}.v-snackbar--variant-elevated{box-shadow:0 3px 5px -1px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 6px 10px 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 1px 18px 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-snackbar--variant-flat{box-shadow:0 0 0 0 var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, .2)),0 0 0 0 var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, .14)),0 0 0 0 var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, .12))}.v-snackbar--variant-outlined{border:thin solid currentColor}.v-snackbar--variant-text .v-snackbar__overlay{background:currentColor}.v-snackbar--variant-tonal .v-snackbar__underlay{background:currentColor;opacity:var(--v-activated-opacity);border-radius:inherit;inset:0;pointer-events:none}.v-snackbar .v-snackbar__underlay{position:absolute}@media (forced-colors: active){.v-snackbar__wrapper{border:thick solid}}.v-snackbar__content{flex-grow:1;font-size:.875rem;font-weight:400;letter-spacing:.0178571429em;line-height:1.425;margin-right:auto;padding:14px 16px;text-align:initial}.v-snackbar__actions{align-items:center;align-self:center;display:flex;margin-inline-end:8px}.v-snackbar__actions>.v-btn{padding:0 8px;min-width:auto}.v-snackbar__timer{width:100%;position:absolute;top:0}.v-snackbar__timer .v-progress-linear{transition:.2s linear}.v-snackbar--absolute{position:absolute;z-index:1}.v-snackbar--multi-line .v-snackbar__wrapper{min-height:68px}.v-snackbar--vertical .v-snackbar__wrapper{flex-direction:column}.v-snackbar--vertical .v-snackbar__wrapper .v-snackbar__actions{align-self:flex-end;margin-bottom:8px}.v-snackbar--center{align-items:center;justify-content:center}.v-snackbar--top{align-items:flex-start}.v-snackbar--bottom{align-items:flex-end}.v-snackbar--left,.v-snackbar--start{justify-content:flex-start}.v-snackbar--right,.v-snackbar--end{justify-content:flex-end}.v-snackbar-transition-enter-active,.v-snackbar-transition-leave-active{transition-duration:.15s;transition-timing-function:cubic-bezier(0,0,.2,1)}.v-snackbar-transition-enter-active{transition-property:opacity,transform}@media (prefers-reduced-motion: reduce){.v-snackbar-transition-enter-active{transition-property:opacity}}.v-snackbar-transition-enter-from{opacity:0;transform:scale(.8)}.v-snackbar-transition-leave-active{transition-property:opacity}.v-snackbar-transition-leave-to{opacity:0}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as N,p as E,j as O,cx as Y,aa as j,G as z,cy as G,f as J,J as b,K as T,T as K,a1 as H,L as C,a3 as U,cz as $,i as q,n as Q,bx as L,o as P,ae as _,ap as W,ai as X,v as Z,cA as ee,z as te,cB as ae,cv as ne,cC as se,a7 as oe,R as ie,cD as re,cE as le,a2 as ce,cF as ue,E as V,bJ as ve,an as me}from"./index-Ci6ypq6O.js";function fe(e){const s=T(e());let n=-1;function t(){clearInterval(n)}function v(){t(),ie(()=>s.value=e())}function m(i){const f=i?getComputedStyle(i):{transitionDuration:.2},r=parseFloat(f.transitionDuration)*1e3||200;if(t(),s.value<=0)return;const d=performance.now();n=window.setInterval(()=>{const k=performance.now()-d+r;s.value=Math.max(e()-k,0),s.value<=0&&t()},r)}return oe(t),{clear:t,time:s,start:m,reset:v}}const de=E({multiLine:Boolean,text:String,timer:[Boolean,String],timeout:{type:[Number,String],default:5e3},vertical:Boolean,...ne({location:"bottom"}),...ae(),...te(),...ee(),...Z(),...X(se({transition:"v-snackbar-transition"}),["persistent","noClickAnimation","retainFocus","captureFocus","disableInitialFocus","scrim","scrollStrategy","stickToTarget","viewportMargin"])},"VSnackbar"),ye=N()({name:"VSnackbar",props:de(),emits:{"update:modelValue":e=>!0},setup(e,s){let{slots:n}=s;const t=O(e,"modelValue"),{positionClasses:v}=Y(e),{scopeId:m}=j(),{themeClasses:i}=z(e),{colorClasses:f,colorStyles:r,variantClasses:d}=G(e),{roundedClasses:k}=J(e),l=fe(()=>Number(e.timeout)),g=b(),w=b(),c=T(!1),h=T(0),S=b(),p=K(re,void 0);H(()=>!!p,()=>{const a=le();ce(()=>{S.value=a.mainStyles.value})}),C(t,u),C(()=>e.timeout,u),U(()=>{t.value&&u()});let y=-1;function u(){l.reset(),window.clearTimeout(y);const a=Number(e.timeout);if(!t.value||a===-1)return;const o=$(w.value);l.start(o),y=window.setTimeout(()=>{t.value=!1},a)}function R(){l.reset(),window.clearTimeout(y)}function A(){c.value=!0,R()}function x(){c.value=!1,u()}function B(a){h.value=a.touches[0].clientY}function F(a){Math.abs(h.value-a.changedTouches[0].clientY)>50&&(t.value=!1)}function D(){c.value&&x()}const I=q(()=>e.location.split(" ").reduce((a,o)=>(a[`v-snackbar--${o}`]=!0,a),{}));return Q(()=>{const a=L.filterProps(e),o=!!(n.default||n.text||e.text);return P(L,_({ref:g,class:["v-snackbar",{"v-snackbar--active":t.value,"v-snackbar--multi-line":e.multiLine&&!e.vertical,"v-snackbar--timer":!!e.timer,"v-snackbar--vertical":e.vertical},I.value,v.value,e.class],style:[S.value,e.style]},a,{modelValue:t.value,"onUpdate:modelValue":M=>t.value=M,contentProps:_({class:["v-snackbar__wrapper",i.value,f.value,k.value,d.value],style:[r.value],onPointerenter:A,onPointerleave:x},a.contentProps),persistent:!0,noClickAnimation:!0,scrim:!1,scrollStrategy:"none",_disableGlobalStack:!0,onTouchstartPassive:B,onTouchend:F,onAfterLeave:D},m),{default:()=>[ue(!1,"v-snackbar"),e.timer&&!c.value&&V("div",{key:"timer",class:"v-snackbar__timer"},[P(ve,{ref:w,color:typeof e.timer=="string"?e.timer:"info",max:e.timeout,modelValue:l.time.value},null)]),o&&V("div",{key:"content",class:"v-snackbar__content",role:"status","aria-live":"polite"},[n.text?.()??e.text,n.default?.()]),n.actions&&P(me,{defaults:{VBtn:{variant:"text",ripple:!1,slim:!0}}},{default:()=>[V("div",{class:"v-snackbar__actions"},[n.actions({isActive:t})])]})],activator:n.activator})}),W({},g)}});export{ye as V};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as O,p as $,j as V,d1 as G,ci as K,J as g,d2 as Q,t as w,cj as W,n as X,ck as Y,cl as C,o as l,ae as y,ap as Z,cm as ee,E as n,q as b,r as S,an as ae,cR as te,aL as le,d3 as se,b8 as oe,ah as ne}from"./index-Ci6ypq6O.js";import{V as P,m as ie}from"./VSelectionControl-CuEKzbGp.js";const re=$({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...ee(),...ie()},"VSwitch"),de=O()({name:"VSwitch",inheritAttrs:!1,props:re(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,_){let{attrs:A,slots:a}=_;const i=V(e,"indeterminate"),s=V(e,"modelValue"),{loaderClasses:I}=G(e),{isFocused:R,focus:x,blur:B}=K(e),v=g(),m=g(),h=Q&&window.matchMedia("(forced-colors: active)").matches,F=w(()=>typeof e.loading=="string"&&e.loading!==""?e.loading:e.color),p=W(),z=w(()=>e.id||`switch-${p}`);function M(){i.value&&(i.value=!1)}function D(r){r.stopPropagation(),r.preventDefault(),v.value?.input?.click()}return X(()=>{const[r,T]=Y(A),L=C.filterProps(e),N=P.filterProps(e);return l(C,y({ref:m,class:["v-switch",{"v-switch--flat":e.flat},{"v-switch--inset":e.inset},{"v-switch--indeterminate":i.value},I.value,e.class]},r,L,{modelValue:s.value,"onUpdate:modelValue":c=>s.value=c,id:z.value,focused:R.value,style:e.style}),{...a,default:c=>{let{id:U,messagesId:j,isDisabled:E,isReadonly:q,isValid:k}=c;const u={model:s,isValid:k};return l(P,y({ref:v},N,{modelValue:s.value,"onUpdate:modelValue":[o=>s.value=o,M],id:U.value,"aria-describedby":j.value,type:"checkbox","aria-checked":i.value?"mixed":void 0,disabled:E.value,readonly:q.value,onFocus:x,onBlur:B},T),{...a,default:o=>{let{backgroundColorClasses:d,backgroundColorStyles:t}=o;return n("div",{class:S(["v-switch__track",h?void 0:d.value]),style:b(t.value),onClick:D},[a["track-true"]&&n("div",{key:"prepend",class:"v-switch__track-true"},[a["track-true"](u)]),a["track-false"]&&n("div",{key:"append",class:"v-switch__track-false"},[a["track-false"](u)])])},input:o=>{let{inputNode:d,icon:t,backgroundColorClasses:H,backgroundColorStyles:J}=o;return n(ne,null,[d,n("div",{class:S(["v-switch__thumb",{"v-switch__thumb--filled":t||e.loading},e.inset||h?void 0:H.value]),style:b(e.inset?void 0:J.value)},[a.thumb?l(ae,{defaults:{VIcon:{icon:t,size:"x-small"}}},{default:()=>[a.thumb({...u,icon:t})]}):l(te,null,{default:()=>[e.loading?l(se,{name:"v-switch",active:!0,color:k.value===!1?void 0:F.value},{default:f=>a.loader?a.loader(f):l(oe,{active:f.isActive,color:f.color,indeterminate:!0,size:"16",width:"2"},null)}):t&&l(le,{key:String(t),icon:t,size:"x-small"},null)]})])])}})}})}),Z({},m)}});export{de as V};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g,p as v,n as b,o as a,q as f,r as h,x,C as y,E as l,c as N,b as H,e as E,f as I,G as R,H as D,K as z,i as m,m as w,v as K,z as $,A as q,D as A,am as F,an as u,s as o,cK as G}from"./index-Ci6ypq6O.js";const U=v({text:String,...y(),...x()},"VToolbarTitle"),j=g()({name:"VToolbarTitle",props:U(),setup(e,s){let{slots:t}=s;return b(()=>{const n=!!(t.default||t.text||e.text);return a(e.tag,{class:h(["v-toolbar-title",e.class]),style:f(e.style)},{default:()=>[n&&l("div",{class:"v-toolbar-title__placeholder"},[t.text?t.text():e.text,t.default?.()])]})}),{}}}),J=[null,"prominent","default","comfortable","compact"],L=v({absolute:Boolean,collapse:Boolean,collapsePosition:{type:String,default:"start"},color:String,density:{type:String,default:"default",validator:e=>J.includes(e)},extended:{type:Boolean,default:null},extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...A(),...y(),...q(),...$(),...x({tag:"header"}),...K()},"VToolbar"),O=g()({name:"VToolbar",props:L(),setup(e,s){let{slots:t}=s;const{backgroundColorClasses:n,backgroundColorStyles:T}=N(()=>e.color),{borderClasses:V}=H(e),{elevationClasses:k}=E(e),{roundedClasses:C}=I(e),{themeClasses:_}=R(e),{rtlClasses:P}=D(),i=z(e.extended===null?!!t.extension?.():e.extended),d=m(()=>parseInt(Number(e.height)+(e.density==="prominent"?Number(e.height):0)-(e.density==="comfortable"?8:0)-(e.density==="compact"?16:0),10)),r=m(()=>i.value?parseInt(Number(e.extensionHeight)+(e.density==="prominent"?Number(e.extensionHeight):0)-(e.density==="comfortable"?4:0)-(e.density==="compact"?8:0),10):0);return w({VBtn:{variant:"text"}}),b(()=>{const B=!!(e.title||t.title),S=!!(t.image||e.image),c=t.extension?.();return i.value=e.extended===null?!!c:e.extended,a(e.tag,{class:h(["v-toolbar",`v-toolbar--collapse-${e.collapsePosition}`,{"v-toolbar--absolute":e.absolute,"v-toolbar--collapse":e.collapse,"v-toolbar--flat":e.flat,"v-toolbar--floating":e.floating,[`v-toolbar--density-${e.density}`]:!0},n.value,V.value,k.value,C.value,_.value,P.value,e.class]),style:f([T.value,e.style])},{default:()=>[S&&l("div",{key:"image",class:"v-toolbar__image"},[t.image?a(u,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},t.image):a(F,{key:"image-img",cover:!0,src:e.image},null)]),a(u,{defaults:{VTabs:{height:o(d.value)}}},{default:()=>[l("div",{class:"v-toolbar__content",style:{height:o(d.value)}},[t.prepend&&l("div",{class:"v-toolbar__prepend"},[t.prepend?.()]),B&&a(j,{key:"title",text:e.title},{text:t.title}),t.default?.(),t.append&&l("div",{class:"v-toolbar__append"},[t.append?.()])])]}),a(u,{defaults:{VTabs:{height:o(r.value)}}},{default:()=>[a(G,null,{default:()=>[i.value&&l("div",{class:"v-toolbar__extension",style:{height:o(r.value)}},[c])]})]})]})}),{contentHeight:d,extensionHeight:r}}});export{O as V,j as a};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as J,p as H,a0 as Q,L as A,n as X,E as w,ah as Z,ae as oe,C as $,a8 as re,K as T,a2 as K,J as W,i as E,a7 as j,cU as ue,cV as ce,a6 as D,R as ie,O as ve,cW as fe,bZ as de,t as me,a1 as he,o as ge,s as _,q as pe,r as ye,b$ as Se,a3 as Ve,Q as we}from"./index-Ci6ypq6O.js";const Te=H({renderless:Boolean,...$()},"VVirtualScrollItem"),Ie=J()({name:"VVirtualScrollItem",inheritAttrs:!1,props:Te(),emits:{"update:height":l=>!0},setup(l,a){let{attrs:v,emit:s,slots:n}=a;const{resizeRef:o,contentRect:c}=Q(void 0,"border");A(()=>c.value?.height,g=>{g!=null&&s("update:height",g)}),X(()=>l.renderless?w(Z,null,[n.default?.({itemRef:o})]):w("div",oe({ref:o,class:["v-virtual-scroll__item",l.class],style:l.style},v),[n.default?.()]))}}),Re=-1,be=1,C=100,Oe=H({itemHeight:{type:[Number,String],default:null},itemKey:{type:[String,Array,Function],default:null},height:[Number,String]},"virtual");function Pe(l,a){const v=re(),s=T(0);K(()=>{s.value=parseFloat(l.itemHeight||0)});const n=T(0),o=T(Math.ceil((parseInt(l.height)||v.height.value)/(s.value||16))||1),c=T(0),g=T(0),u=W(),m=W();let I=0;const{resizeRef:F,contentRect:O}=Q();K(()=>{F.value=u.value});const y=E(()=>u.value===document.documentElement?v.height.value:O.value?.height||parseInt(l.height)||0),M=E(()=>!!(u.value&&m.value&&y.value&&s.value));let h=Array.from({length:a.value.length}),i=Array.from({length:a.value.length});const f=T(0);let P=-1;function G(e){return h[e]||s.value}const k=ue(()=>{const e=performance.now();i[0]=0;const t=a.value.length;for(let r=1;r<=t;r++)i[r]=(i[r-1]||0)+G(r-1);f.value=Math.max(f.value,performance.now()-e)},f),Y=A(M,e=>{e&&(Y(),I=m.value.offsetTop,k.immediate(),S(),~P&&ie(()=>{ve&&window.requestAnimationFrame(()=>{L(P),P=-1})}))});j(()=>{k.clear()});function ee(e,t){const r=h[e],d=s.value;s.value=d?Math.min(s.value,t):t,(r!==t||d!==s.value)&&(h[e]=t,k())}function p(e){e=D(e,0,a.value.length);const t=Math.floor(e),r=e%1,d=t+1,b=i[t]||0,V=i[d]||b;return b+(V-b)*r}function N(e){return ke(i,e)}let x=0,R=0,z=0;A(y,(e,t)=>{t&&(S(),e<t&&requestAnimationFrame(()=>{R=0,S()}))});let B=-1;function te(){if(!u.value||!m.value)return;const e=u.value.scrollTop,t=performance.now();t-z>500?(R=Math.sign(e-x),I=m.value.offsetTop):R=e-x,x=e,z=t,window.clearTimeout(B),B=window.setTimeout(U,500),S()}function U(){!u.value||!m.value||(R=0,z=0,window.clearTimeout(B),S())}let q=-1;function S(){cancelAnimationFrame(q),q=requestAnimationFrame(le)}function le(){if(!u.value||!y.value||!s.value)return;const e=x-I,t=Math.sign(R),r=Math.max(0,e-C),d=D(N(r),0,a.value.length),b=e+y.value+C,V=D(N(b)+1,d+1,a.value.length);if((t!==Re||d<n.value)&&(t!==be||V>o.value)){const ne=p(n.value)-p(d),se=p(V)-p(o.value);Math.max(ne,se)>C?(n.value=d,o.value=V):(d<=0&&(n.value=d),V>=a.value.length&&(o.value=V))}c.value=p(n.value),g.value=p(a.value.length)-p(o.value)}function L(e){const t=p(e);!u.value||e&&!t?P=e:u.value.scrollTop=t}const ae=E(()=>a.value.slice(n.value,o.value).map((e,t)=>{const r=t+n.value;return{raw:e,index:r,key:ce(e,l.itemKey,r)}}));return A(a,()=>{h=Array.from({length:a.value.length}),i=Array.from({length:a.value.length}),k.immediate(),S()},{deep:1}),{calculateVisibleItems:S,containerRef:u,markerRef:m,computedItems:ae,paddingTop:c,paddingBottom:g,scrollToIndex:L,handleScroll:te,handleScrollend:U,handleItemResize:ee}}function ke(l,a){let v=l.length-1,s=0,n=0,o=null,c=-1;if(l[v]<a)return v;for(;s<=v;)if(n=s+v>>1,o=l[n],o>a)v=n-1;else if(o<a)c=n,s=n+1;else return o===a?n:s;return c}const xe=H({items:{type:Array,default:()=>[]},renderless:Boolean,...Oe(),...$(),...Se()},"VVirtualScroll"),Fe=J()({name:"VVirtualScroll",props:xe(),setup(l,a){let{slots:v}=a;const s=fe("VVirtualScroll"),{dimensionStyles:n}=de(l),{calculateVisibleItems:o,containerRef:c,markerRef:g,handleScroll:u,handleScrollend:m,handleItemResize:I,scrollToIndex:F,paddingTop:O,paddingBottom:y,computedItems:M}=Pe(l,me(()=>l.items));return he(()=>l.renderless,()=>{function h(){const f=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1)?"addEventListener":"removeEventListener";c.value===document.documentElement?(document[f]("scroll",u,{passive:!0}),document[f]("scrollend",m)):(c.value?.[f]("scroll",u,{passive:!0}),c.value?.[f]("scrollend",m))}Ve(()=>{c.value=we(s.vnode.el,!0),h(!0)}),j(h)}),X(()=>{const h=M.value.map(i=>ge(Ie,{key:i.key,renderless:l.renderless,"onUpdate:height":f=>I(i.index,f)},{default:f=>v.default?.({item:i.raw,index:i.index,...f})}));return l.renderless?w(Z,null,[w("div",{ref:g,class:"v-virtual-scroll__spacer",style:{paddingTop:_(O.value)}},null),h,w("div",{class:"v-virtual-scroll__spacer",style:{paddingBottom:_(y.value)}},null)]):w("div",{ref:c,class:ye(["v-virtual-scroll",l.class]),onScrollPassive:u,onScrollend:m,style:pe([n.value,l.style])},[w("div",{ref:g,class:"v-virtual-scroll__container",style:{paddingTop:_(O.value),paddingBottom:_(y.value)}},[h])])}),{calculateVisibleItems:o,scrollToIndex:F}}});export{Fe as V};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ay as b,a3 as f,aI as s,aA as t,aY as p,aD as a,bL as k,aG as n,a$ as h,az as m,r as C,o as r,E as v,aB as c,M as g,aV as V,aN as R,b5 as B,bK as $,ah as x,aH as M,bh as A,bM as I,aQ as u,_ as N}from"./index-Ci6ypq6O.js";import{P}from"./PanelviewItemCompact-pmyYhZHE.js";import{V as T}from"./VToolbar-CTLIwz5x.js";import{V as z}from"./VAlert-Kj2m6TCt.js";const E=b({__name:"Carousel",setup(e){return f(()=>{document.documentElement.style.setProperty("--swiper-navigation-color","primary")}),(d,l)=>{const w=p("swiper");return t(),s(w,{"slides-per-view":a(k)(d.$vuetify.display.width)+.5,"free-mode":!0,navigation:!1,mousewheel:{forceToAxis:!0,releaseOnEdges:!0}},{default:n(()=>[h(d.$slots,"default")]),_:3},8,["slides-per-view"])}}}),O={class:"mr-3"},D={key:0},L={class:"carousel-wrapper"},W=b({__name:"WidgetRow",props:{widgetRow:{},editMode:{type:Boolean},showProviderOnCover:{type:Boolean}},emits:["update:settings"],setup(e,{emit:d}){const l=d;return(w,o)=>{const y=p("swiper-slide");return t(),m("div",{class:C(`widget-row ${e.widgetRow.settings&&!e.widgetRow.settings.enabled?"disabled":""}`)},[r(T,{class:"header",color:"transparent"},{title:n(()=>[v("span",O,R(e.widgetRow.title),1),e.widgetRow.subtitle&&a(B)("bp6")?(t(),s($,{key:0,inline:"",outlined:"",text:e.widgetRow.subtitle,density:"compact",size:"small"},null,8,["text"])):c("",!0)]),append:n(()=>[e.editMode&&e.widgetRow.settings?(t(),m("div",D,[e.widgetRow.settings.position!==0?(t(),s(g,{key:0,icon:"mdi-chevron-up",class:"enabled",onClick:o[0]||(o[0]=i=>l("update:settings",{...e.widgetRow.settings,position:e.widgetRow.settings.position-1}))})):c("",!0),r(g,{icon:"mdi-chevron-down",onClick:o[1]||(o[1]=i=>l("update:settings",{...e.widgetRow.settings,position:e.widgetRow.settings.position+1}))}),r(g,{icon:e.widgetRow.settings.enabled?"mdi-checkbox-marked":"mdi-checkbox-blank-outline",onClick:o[2]||(o[2]=i=>l("update:settings",{...e.widgetRow.settings,enabled:!e.widgetRow.settings.enabled}))},null,8,["icon"])])):e.widgetRow.provider?(t(),s(V,{key:1,domain:e.widgetRow.provider,size:24},null,8,["domain"])):c("",!0)]),_:1}),v("div",L,[e.widgetRow.items.length>0?(t(),s(E,{key:0},{default:n(()=>[(t(!0),m(x,null,M(e.widgetRow.items,i=>(t(),s(y,{key:i.uri},{default:n(()=>[r(P,{item:i,"show-provider-on-cover":e.showProviderOnCover,"permanent-overlay":![a(u).ALBUM,a(u).TRACK,a(u).RADIO].includes(i.media_type),"is-available":a(I)(i),disabled:e.editMode},null,8,["item","show-provider-on-cover","permanent-overlay","is-available","disabled"])]),_:2},1024))),128))]),_:1})):(t(),s(z,{key:1},{default:n(()=>[A(R(w.$t("no_content")),1)]),_:1}))])],2)}}}),H=N(W,[["__scopeId","data-v-a88771f6"]]);export{H as W};
|