@skdx/vue-blocks 0.39.0 → 0.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dashboard-layout/DashboardLayout.vue.d.cts +6 -0
- package/dist/dashboard-layout/DashboardLayout.vue.d.ts +6 -0
- package/dist/dashboard-layout/DashboardLayout.vue_vue_type_script_setup_true_lang.cjs +1 -1
- package/dist/dashboard-layout/DashboardLayout.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/workspace-switcher/WorkspaceSwitcher.vue.d.cts +0 -2
- package/dist/workspace-switcher/WorkspaceSwitcher.vue.d.ts +0 -2
- package/dist/workspace-switcher/WorkspaceSwitcher.vue_vue_type_script_setup_true_lang.cjs +1 -1
- package/dist/workspace-switcher/WorkspaceSwitcher.vue_vue_type_script_setup_true_lang.js +1 -1
- package/package.json +3 -3
|
@@ -21,6 +21,11 @@ type __VLS_Props = {
|
|
|
21
21
|
title?: string | undefined;
|
|
22
22
|
/** The side navigation, one entry per item, in render order. */
|
|
23
23
|
navigation: readonly DashboardNavigationItem[];
|
|
24
|
+
/**
|
|
25
|
+
* Content element: use `div` when embedding inside an existing page main landmark.
|
|
26
|
+
* @default 'main'
|
|
27
|
+
*/
|
|
28
|
+
contentAs?: 'main' | 'div';
|
|
24
29
|
/**
|
|
25
30
|
* Whether the side navigation is shown, for controlled usage. Pair with `v-model:nav-open` or `@nav-open-change`.
|
|
26
31
|
* @default undefined — uncontrolled, seeded from `defaultNavOpen`.
|
|
@@ -58,6 +63,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
|
|
|
58
63
|
"onNav-open-change"?: (navOpen: boolean) => any;
|
|
59
64
|
}>, {
|
|
60
65
|
title: string | undefined;
|
|
66
|
+
contentAs: "main" | "div";
|
|
61
67
|
navOpen: boolean | undefined;
|
|
62
68
|
defaultNavOpen: boolean;
|
|
63
69
|
navLabel: string;
|
|
@@ -21,6 +21,11 @@ type __VLS_Props = {
|
|
|
21
21
|
title?: string | undefined;
|
|
22
22
|
/** The side navigation, one entry per item, in render order. */
|
|
23
23
|
navigation: readonly DashboardNavigationItem[];
|
|
24
|
+
/**
|
|
25
|
+
* Content element: use `div` when embedding inside an existing page main landmark.
|
|
26
|
+
* @default 'main'
|
|
27
|
+
*/
|
|
28
|
+
contentAs?: 'main' | 'div';
|
|
24
29
|
/**
|
|
25
30
|
* Whether the side navigation is shown, for controlled usage. Pair with `v-model:nav-open` or `@nav-open-change`.
|
|
26
31
|
* @default undefined — uncontrolled, seeded from `defaultNavOpen`.
|
|
@@ -58,6 +63,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
|
|
|
58
63
|
"onNav-open-change"?: (navOpen: boolean) => any;
|
|
59
64
|
}>, {
|
|
60
65
|
title: string | undefined;
|
|
66
|
+
contentAs: "main" | "div";
|
|
61
67
|
navOpen: boolean | undefined;
|
|
62
68
|
defaultNavOpen: boolean;
|
|
63
69
|
navLabel: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a=require("../internal/part.cjs"),
|
|
1
|
+
const a=require("../internal/part.cjs"),c=require("./DashboardNavList.vue.cjs");let e=require("vue"),p=require("@skdx/vue");var m=["data-nav-open"],f=["id","aria-label","hidden"],g=(0,e.defineComponent)({__name:"DashboardLayout",props:{title:{default:void 0},navigation:{},contentAs:{default:"main"},navOpen:{type:Boolean,default:void 0},defaultNavOpen:{type:Boolean,default:!0},navLabel:{default:"Main navigation"},navToggleLabel:{default:"Toggle navigation"}},emits:["update:navOpen","nav-open-change"],setup(t,{emit:s}){const r=t,d=s,l=(0,e.useId)(),i=(0,e.ref)(r.defaultNavOpen),o=(0,e.computed)(()=>r.navOpen??i.value);function v(){const n=!o.value;r.navOpen===void 0&&(i.value=n),d("update:navOpen",n),d("nav-open-change",n)}return(n,u)=>((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.mergeProps)((0,e.unref)(a.skdxPart)("dashboard-layout","root"),{"data-nav-open":o.value?"":void 0}),[(0,e.createElementVNode)("header",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(a.skdxPart)("dashboard-layout","app-bar"))),[(0,e.createVNode)((0,e.unref)(p.SkdxButton),(0,e.mergeProps)((0,e.unref)(a.skdxPart)("dashboard-layout","nav-toggle"),{"icon-only":"","aria-expanded":o.value,"aria-controls":(0,e.unref)(l),"aria-label":t.navToggleLabel,onClick:v}),{default:(0,e.withCtx)(()=>[...u[0]||(u[0]=[(0,e.createTextVNode)("☰",-1)])]),_:1},16,["aria-expanded","aria-controls","aria-label"]),(0,e.createElementVNode)("div",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(a.skdxPart)("dashboard-layout","branding"))),[(0,e.renderSlot)(n.$slots,"branding")],16),t.title?((0,e.openBlock)(),(0,e.createElementBlock)("span",(0,e.normalizeProps)((0,e.mergeProps)({key:0},(0,e.unref)(a.skdxPart)("dashboard-layout","title"))),(0,e.toDisplayString)(t.title),17)):(0,e.createCommentVNode)("",!0),(0,e.createElementVNode)("div",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(a.skdxPart)("dashboard-layout","actions"))),[(0,e.renderSlot)(n.$slots,"actions")],16)],16),(0,e.createElementVNode)("div",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(a.skdxPart)("dashboard-layout","body"))),[(0,e.createElementVNode)("nav",(0,e.mergeProps)({id:(0,e.unref)(l)},(0,e.unref)(a.skdxPart)("dashboard-layout","nav"),{"aria-label":t.navLabel,hidden:!o.value}),[(0,e.createVNode)(c.default,{items:t.navigation},null,8,["items"])],16,f),((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(t.contentAs==="div"?"div":"main"),(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(a.skdxPart)("dashboard-layout","content"))),{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(n.$slots,"default")]),_:3},16))],16)],16,m))}});exports.default=g;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{skdxPart as a}from"../internal/part.js";import e from"./DashboardNavList.vue.js";import{computed as o,
|
|
1
|
+
import{skdxPart as a}from"../internal/part.js";import e from"./DashboardNavList.vue.js";import{computed as o,createBlock as t,createCommentVNode as n,createElementBlock as d,createElementVNode as l,createTextVNode as s,createVNode as i,defineComponent as r,guardReactiveProps as v,mergeProps as u,normalizeProps as p,openBlock as c,ref as m,renderSlot as b,resolveDynamicComponent as f,toDisplayString as g,unref as h,useId as y,withCtx as k}from"vue";import{SkdxButton as x}from"@skdx/vue";var N=["data-nav-open"],O=["id","aria-label","hidden"],B=/* @__PURE__ */r({__name:"DashboardLayout",props:{title:{default:void 0},navigation:{},contentAs:{default:"main"},navOpen:{type:Boolean,default:void 0},defaultNavOpen:{type:Boolean,default:!0},navLabel:{default:"Main navigation"},navToggleLabel:{default:"Toggle navigation"}},emits:["update:navOpen","nav-open-change"],setup(r,{emit:B}){const L=r,C=B,D=y(),P=m(L.defaultNavOpen),T=o(()=>L.navOpen??P.value);function V(){const a=!T.value;void 0===L.navOpen&&(P.value=a),C("update:navOpen",a),C("nav-open-change",a)}return(o,m)=>(c(),d("div",u(h(a)("dashboard-layout","root"),{"data-nav-open":T.value?"":void 0}),[l("header",p(v(h(a)("dashboard-layout","app-bar"))),[i(h(x),u(h(a)("dashboard-layout","nav-toggle"),{"icon-only":"","aria-expanded":T.value,"aria-controls":h(D),"aria-label":r.navToggleLabel,onClick:V}),{default:k(()=>[...m[0]||(m[0]=[s("☰",-1)])]),_:1},16,["aria-expanded","aria-controls","aria-label"]),l("div",p(v(h(a)("dashboard-layout","branding"))),[b(o.$slots,"branding")],16),r.title?(c(),d("span",p(u({key:0},h(a)("dashboard-layout","title"))),g(r.title),17)):n("",!0),l("div",p(v(h(a)("dashboard-layout","actions"))),[b(o.$slots,"actions")],16)],16),l("div",p(v(h(a)("dashboard-layout","body"))),[l("nav",u({id:h(D)},h(a)("dashboard-layout","nav"),{"aria-label":r.navLabel,hidden:!T.value}),[i(e,{items:r.navigation},null,8,["items"])],16,O),(c(),t(f("div"===r.contentAs?"div":"main"),p(v(h(a)("dashboard-layout","content"))),{default:k(()=>[b(o.$slots,"default")]),_:3},16))],16)],16,N))}});export{B as default};
|
|
@@ -99,7 +99,6 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
|
|
|
99
99
|
"focus-outside": (event: Event) => any;
|
|
100
100
|
"interact-outside": (event: Event) => any;
|
|
101
101
|
"close-auto-focus": (event: Event) => any;
|
|
102
|
-
"open-auto-focus": (event: Event) => any;
|
|
103
102
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
104
103
|
"onUpdate:value"?: (value: string) => any;
|
|
105
104
|
"onValue-change"?: (value: string) => any;
|
|
@@ -111,7 +110,6 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
|
|
|
111
110
|
"onFocus-outside"?: (event: Event) => any;
|
|
112
111
|
"onInteract-outside"?: (event: Event) => any;
|
|
113
112
|
"onClose-auto-focus"?: (event: Event) => any;
|
|
114
|
-
"onOpen-auto-focus"?: (event: Event) => any;
|
|
115
113
|
}>, {
|
|
116
114
|
label: string | undefined;
|
|
117
115
|
placeholder: string;
|
|
@@ -99,7 +99,6 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
|
|
|
99
99
|
"focus-outside": (event: Event) => any;
|
|
100
100
|
"interact-outside": (event: Event) => any;
|
|
101
101
|
"close-auto-focus": (event: Event) => any;
|
|
102
|
-
"open-auto-focus": (event: Event) => any;
|
|
103
102
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
104
103
|
"onUpdate:value"?: (value: string) => any;
|
|
105
104
|
"onValue-change"?: (value: string) => any;
|
|
@@ -111,7 +110,6 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}
|
|
|
111
110
|
"onFocus-outside"?: (event: Event) => any;
|
|
112
111
|
"onInteract-outside"?: (event: Event) => any;
|
|
113
112
|
"onClose-auto-focus"?: (event: Event) => any;
|
|
114
|
-
"onOpen-auto-focus"?: (event: Event) => any;
|
|
115
113
|
}>, {
|
|
116
114
|
label: string | undefined;
|
|
117
115
|
placeholder: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const n=require("../internal/part.cjs");let e=require("vue"),O=require("@skdx/vue"),i=require("@skdx/vue/primitives/command"),k=require("@skdx/vue/primitives/popover");var D=(0,e.defineComponent)({inheritAttrs:!1,__name:"WorkspaceSwitcher",props:{items:{},value:{default:void 0},defaultValue:{default:""},placeholder:{default:"Select"},label:{default:void 0},searchLabel:{default:"Search"},searchPlaceholder:{default:void 0},emptyMessage:{default:"No results"},loadingMessage:{default:"Loading"},loading:{type:Boolean,default:!1},selectedLabel:{default:"Current"},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1}},emits:["update:value","value-change","update:open","open-change","open-change-complete","escape-key-down","pointer-down-outside","focus-outside","interact-outside","
|
|
1
|
+
const n=require("../internal/part.cjs");let e=require("vue"),O=require("@skdx/vue"),i=require("@skdx/vue/primitives/command"),k=require("@skdx/vue/primitives/popover");var D=(0,e.defineComponent)({inheritAttrs:!1,__name:"WorkspaceSwitcher",props:{items:{},value:{default:void 0},defaultValue:{default:""},placeholder:{default:"Select"},label:{default:void 0},searchLabel:{default:"Search"},searchPlaceholder:{default:void 0},emptyMessage:{default:"No results"},loadingMessage:{default:"Loading"},loading:{type:Boolean,default:!1},selectedLabel:{default:"Current"},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1}},emits:["update:value","value-change","update:open","open-change","open-change-complete","escape-key-down","pointer-down-outside","focus-outside","interact-outside","close-auto-focus"],setup(l,{emit:y}){const u=l,s=y;function S(t,o){const r=o.toLowerCase(),a=new Map([[void 0,[]]]);for(const d of t){const p=a.get(d.group);p?p.push(d):a.set(d.group,[d])}const C=d=>r===""||d.id.toLowerCase().includes(r)||d.label.toLowerCase().includes(r)||(d.description?.toLowerCase().includes(r)??!1),x=[];for(const[d,p]of a)p.some(C)&&x.push({heading:d,items:p});return x}const b=(0,e.useAttrs)(),f=(0,e.ref)(""),g=(0,e.ref)(u.defaultValue),v=(0,e.ref)(u.defaultOpen),m=(0,e.computed)(()=>u.value??g.value),h=(0,e.computed)(()=>u.open??v.value),w=(0,e.ref)(null);(0,e.watch)(h,t=>{t&&w.value?.focus()},{flush:"post"});const c=(0,e.computed)(()=>u.items.find(t=>t.id===m.value)),B=(0,e.computed)(()=>S(u.items,f.value)),V=(0,e.computed)(()=>(0,e.mergeProps)({"aria-label":u.label},b,{...n.skdxPart("workspace-switcher","root")}));function P(t){t||(f.value=""),u.open===void 0&&(v.value=t),s("update:open",t),s("open-change",t)}function N(t){u.value===void 0&&(g.value=t),s("update:value",t),s("value-change",t),P(!1)}function L(t){return t.description?[t.label,t.description]:[t.label]}function E(t){return t.heading===void 0?{}:{heading:t.heading}}return(t,o)=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(k.SkdxPopoverRoot),{open:h.value,modal:"none",onOpenChange:P,onOpenChangeComplete:o[6]||(o[6]=r=>s("open-change-complete",r))},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(k.SkdxPopoverTrigger),(0,e.normalizeProps)((0,e.guardReactiveProps)(V.value)),{default:(0,e.withCtx)(()=>[(0,e.renderSlot)(t.$slots,"trigger",{},()=>[t.$slots.leading&&c.value?((0,e.openBlock)(),(0,e.createElementBlock)("span",(0,e.mergeProps)({key:0,"aria-hidden":"true"},(0,e.unref)(n.skdxPart)("workspace-switcher","leading")),[(0,e.renderSlot)(t.$slots,"leading",{item:c.value})],16)):(0,e.createCommentVNode)("",!0),(0,e.createElementVNode)("span",(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(n.skdxPart)("workspace-switcher","current"))),(0,e.toDisplayString)(c.value?.label??l.placeholder),17),c.value?.description?((0,e.openBlock)(),(0,e.createElementBlock)("span",(0,e.normalizeProps)((0,e.mergeProps)({key:1},(0,e.unref)(n.skdxPart)("workspace-switcher","description"))),(0,e.toDisplayString)(c.value.description),17)):(0,e.createCommentVNode)("",!0)])]),_:3},16),(0,e.createVNode)((0,e.unref)(k.SkdxPopoverPortal),null,{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(k.SkdxPopoverContent),(0,e.mergeProps)((0,e.unref)(n.skdxPart)("workspace-switcher","content"),{align:"start","aria-label":l.label??l.placeholder,onEscapeKeyDown:o[1]||(o[1]=r=>s("escape-key-down",r)),onPointerDownOutside:o[2]||(o[2]=r=>s("pointer-down-outside",r)),onFocusOutside:o[3]||(o[3]=r=>s("focus-outside",r)),onInteractOutside:o[4]||(o[4]=r=>s("interact-outside",r)),onCloseAutoFocus:o[5]||(o[5]=r=>s("close-auto-focus",r))}),{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(i.SkdxCommand),{loading:l.loading??!1,search:f.value,onSearchChange:o[0]||(o[0]=r=>f.value=r)},{default:(0,e.withCtx)(()=>[(0,e.createVNode)((0,e.unref)(i.SkdxCommandInput),(0,e.mergeProps)({ref_key:"searchInput",ref:w},(0,e.unref)(n.skdxPart)("workspace-switcher","search"),{"aria-label":l.searchLabel,placeholder:l.searchPlaceholder}),null,16,["aria-label","placeholder"]),(0,e.createVNode)((0,e.unref)(i.SkdxCommandList),(0,e.mergeProps)((0,e.unref)(n.skdxPart)("workspace-switcher","list"),{"aria-label":l.label??l.placeholder}),{default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(B.value,r=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(i.SkdxCommandGroup),(0,e.mergeProps)({key:r.heading??""},{ref_for:!0},{...(0,e.unref)(n.skdxPart)("workspace-switcher","group"),...E(r)}),{default:(0,e.withCtx)(()=>[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)(r.items,a=>((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(i.SkdxCommandItem),(0,e.mergeProps)({key:a.id},{ref_for:!0},(0,e.unref)(n.skdxPart)("workspace-switcher","item"),{value:a.id,keywords:L(a),disabled:a.disabled,"data-selected":a.id===m.value?"":void 0,onSelect:C=>N(a.id)}),{default:(0,e.withCtx)(()=>[t.$slots.leading?((0,e.openBlock)(),(0,e.createElementBlock)("span",(0,e.mergeProps)({key:0,"aria-hidden":"true"},{ref_for:!0},(0,e.unref)(n.skdxPart)("workspace-switcher","item-leading")),[(0,e.renderSlot)(t.$slots,"leading",{item:a})],16)):(0,e.createCommentVNode)("",!0),(0,e.createElementVNode)("span",(0,e.mergeProps)({ref_for:!0},(0,e.unref)(n.skdxPart)("workspace-switcher","item-label")),(0,e.toDisplayString)(a.label),17),a.description?((0,e.openBlock)(),(0,e.createElementBlock)("span",(0,e.mergeProps)({key:1,ref_for:!0},(0,e.unref)(n.skdxPart)("workspace-switcher","item-description")),(0,e.toDisplayString)(a.description),17)):(0,e.createCommentVNode)("",!0),a.id===m.value?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(O.SkdxVisuallyHidden),{key:2},{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(l.selectedLabel),1)]),_:1})):(0,e.createCommentVNode)("",!0)]),_:2},1040,["value","keywords","disabled","data-selected","onSelect"]))),128))]),_:2},1040))),128))]),_:3},16,["aria-label"]),(0,e.createVNode)((0,e.unref)(i.SkdxCommandLoading),(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(n.skdxPart)("workspace-switcher","loading"))),{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(l.loadingMessage),1)]),_:1},16),(0,e.createVNode)((0,e.unref)(i.SkdxCommandEmpty),(0,e.normalizeProps)((0,e.guardReactiveProps)((0,e.unref)(n.skdxPart)("workspace-switcher","empty"))),{default:(0,e.withCtx)(()=>[(0,e.createTextVNode)((0,e.toDisplayString)(l.emptyMessage),1)]),_:1},16)]),_:3},8,["loading","search"]),t.$slots.actions?((0,e.openBlock)(),(0,e.createElementBlock)("div",(0,e.normalizeProps)((0,e.mergeProps)({key:0},(0,e.unref)(n.skdxPart)("workspace-switcher","footer"))),[(0,e.renderSlot)(t.$slots,"actions")],16)):(0,e.createCommentVNode)("",!0)]),_:3},16,["aria-label"])]),_:3})]),_:3},8,["open"]))}});exports.default=D;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{skdxPart as e}from"../internal/part.js";import{Fragment as a,computed as o,createBlock as t,createCommentVNode as s,createElementBlock as l,createElementVNode as r,createTextVNode as
|
|
1
|
+
import{skdxPart as e}from"../internal/part.js";import{Fragment as a,computed as o,createBlock as t,createCommentVNode as s,createElementBlock as l,createElementVNode as r,createTextVNode as d,createVNode as n,defineComponent as i,guardReactiveProps as u,mergeProps as c,normalizeProps as p,openBlock as f,ref as m,renderList as h,renderSlot as v,toDisplayString as k,unref as g,useAttrs as w,watch as b,withCtx as y}from"vue";import{SkdxVisuallyHidden as C}from"@skdx/vue";import{SkdxCommand as S,SkdxCommandEmpty as x,SkdxCommandGroup as _,SkdxCommandInput as L,SkdxCommandItem as P,SkdxCommandList as O,SkdxCommandLoading as V}from"@skdx/vue/primitives/command";import{SkdxPopoverContent as $,SkdxPopoverPortal as B,SkdxPopoverRoot as M,SkdxPopoverTrigger as N}from"@skdx/vue/primitives/popover";var E=/* @__PURE__ */i({inheritAttrs:!1,__name:"WorkspaceSwitcher",props:{items:{},value:{default:void 0},defaultValue:{default:""},placeholder:{default:"Select"},label:{default:void 0},searchLabel:{default:"Search"},searchPlaceholder:{default:void 0},emptyMessage:{default:"No results"},loadingMessage:{default:"Loading"},loading:{type:Boolean,default:!1},selectedLabel:{default:"Current"},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:!1}},emits:["update:value","value-change","update:open","open-change","open-change-complete","escape-key-down","pointer-down-outside","focus-outside","interact-outside","close-auto-focus"],setup(i,{emit:E}){const I=i,A=E,D=w(),F=m(""),R=m(I.defaultValue),T=m(I.defaultOpen),j=o(()=>I.value??R.value),z=o(()=>I.open??T.value),G=m(null);b(z,e=>{e&&G.value?.focus()},{flush:"post"});const H=o(()=>I.items.find(e=>e.id===j.value)),K=o(()=>function(e,a){const o=a.toLowerCase(),t=/* @__PURE__ */new Map([[void 0,[]]]);for(const a of e){const e=t.get(a.group);e?e.push(a):t.set(a.group,[a])}const s=e=>""===o||e.id.toLowerCase().includes(o)||e.label.toLowerCase().includes(o)||(e.description?.toLowerCase().includes(o)??!1),l=[];for(const[e,a]of t)a.some(s)&&l.push({heading:e,items:a});return l}(I.items,F.value)),W=o(()=>c({"aria-label":I.label},D,{...e("workspace-switcher","root")}));function q(e){e||(F.value=""),void 0===I.open&&(T.value=e),A("update:open",e),A("open-change",e)}function J(e){return e.description?[e.label,e.description]:[e.label]}function Q(e){return void 0===e.heading?{}:{heading:e.heading}}return(o,m)=>(f(),t(g(M),{open:z.value,modal:"none",onOpenChange:q,onOpenChangeComplete:m[6]||(m[6]=e=>A("open-change-complete",e))},{default:y(()=>[n(g(N),p(u(W.value)),{default:y(()=>[v(o.$slots,"trigger",{},()=>[o.$slots.leading&&H.value?(f(),l("span",c({key:0,"aria-hidden":"true"},g(e)("workspace-switcher","leading")),[v(o.$slots,"leading",{item:H.value})],16)):s("",!0),r("span",p(u(g(e)("workspace-switcher","current"))),k(H.value?.label??i.placeholder),17),H.value?.description?(f(),l("span",p(c({key:1},g(e)("workspace-switcher","description"))),k(H.value.description),17)):s("",!0)])]),_:3},16),n(g(B),null,{default:y(()=>[n(g($),c(g(e)("workspace-switcher","content"),{align:"start","aria-label":i.label??i.placeholder,onEscapeKeyDown:m[1]||(m[1]=e=>A("escape-key-down",e)),onPointerDownOutside:m[2]||(m[2]=e=>A("pointer-down-outside",e)),onFocusOutside:m[3]||(m[3]=e=>A("focus-outside",e)),onInteractOutside:m[4]||(m[4]=e=>A("interact-outside",e)),onCloseAutoFocus:m[5]||(m[5]=e=>A("close-auto-focus",e))}),{default:y(()=>[n(g(S),{loading:i.loading??!1,search:F.value,onSearchChange:m[0]||(m[0]=e=>F.value=e)},{default:y(()=>[n(g(L),c({ref_key:"searchInput",ref:G},g(e)("workspace-switcher","search"),{"aria-label":i.searchLabel,placeholder:i.searchPlaceholder}),null,16,["aria-label","placeholder"]),n(g(O),c(g(e)("workspace-switcher","list"),{"aria-label":i.label??i.placeholder}),{default:y(()=>[(f(!0),l(a,null,h(K.value,n=>(f(),t(g(_),c({key:n.heading??""},{ref_for:!0},{...g(e)("workspace-switcher","group"),...Q(n)}),{default:y(()=>[(f(!0),l(a,null,h(n.items,a=>(f(),t(g(P),c({key:a.id},{ref_for:!0},g(e)("workspace-switcher","item"),{value:a.id,keywords:J(a),disabled:a.disabled,"data-selected":a.id===j.value?"":void 0,onSelect:e=>function(e){void 0===I.value&&(R.value=e),A("update:value",e),A("value-change",e),q(!1)}(a.id)}),{default:y(()=>[o.$slots.leading?(f(),l("span",c({key:0,"aria-hidden":"true"},{ref_for:!0},g(e)("workspace-switcher","item-leading")),[v(o.$slots,"leading",{item:a})],16)):s("",!0),r("span",c({ref_for:!0},g(e)("workspace-switcher","item-label")),k(a.label),17),a.description?(f(),l("span",c({key:1,ref_for:!0},g(e)("workspace-switcher","item-description")),k(a.description),17)):s("",!0),a.id===j.value?(f(),t(g(C),{key:2},{default:y(()=>[d(k(i.selectedLabel),1)]),_:1})):s("",!0)]),_:2},1040,["value","keywords","disabled","data-selected","onSelect"]))),128))]),_:2},1040))),128))]),_:3},16,["aria-label"]),n(g(V),p(u(g(e)("workspace-switcher","loading"))),{default:y(()=>[d(k(i.loadingMessage),1)]),_:1},16),n(g(x),p(u(g(e)("workspace-switcher","empty"))),{default:y(()=>[d(k(i.emptyMessage),1)]),_:1},16)]),_:3},8,["loading","search"]),o.$slots.actions?(f(),l("div",p(c({key:0},g(e)("workspace-switcher","footer"))),[v(o.$slots,"actions")],16)):s("",!0)]),_:3},16,["aria-label"])]),_:3})]),_:3},8,["open"]))}});export{E as default};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skdx/vue-blocks",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.40.0",
|
|
4
4
|
"description": "Vue blocks for the SkandaDX design system — page-level compositions of @skdx/vue styled by @skdx/skins",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
@@ -254,7 +254,7 @@
|
|
|
254
254
|
"sideEffects": false,
|
|
255
255
|
"peerDependencies": {
|
|
256
256
|
"vue": "^3.5.0",
|
|
257
|
-
"@skdx/vue": "^0.
|
|
257
|
+
"@skdx/vue": "^0.40.0"
|
|
258
258
|
},
|
|
259
259
|
"devDependencies": {
|
|
260
260
|
"@vitejs/plugin-vue": "^5.0.0",
|
|
@@ -266,7 +266,7 @@
|
|
|
266
266
|
"vitest": "^4.1.10",
|
|
267
267
|
"vue": "^3.5.39",
|
|
268
268
|
"vue-tsc": "^2.0.0",
|
|
269
|
-
"@skdx/vue": "0.
|
|
269
|
+
"@skdx/vue": "0.40.0"
|
|
270
270
|
},
|
|
271
271
|
"scripts": {
|
|
272
272
|
"lint": "eslint . --cache --cache-location node_modules/.cache/eslint/",
|