@nubisco/ui 5.5.0 → 5.7.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/Avatar-672086EP.js +57 -0
- package/dist/Avatar-DqHh71ha.cjs +1 -0
- package/dist/{Pagination-Dz24gpb7.cjs → Pagination-CcZB4Lp_.cjs} +1 -1
- package/dist/{Pagination-BInZQpJS.js → Pagination-DDIc4vUH.js} +1 -1
- package/dist/Select-BMamCNcN.cjs +1 -0
- package/dist/Select-CB4BSCaj.js +405 -0
- package/dist/{Tree-DI_ouWnv.cjs → Tree-CMXvRX6y.cjs} +1 -1
- package/dist/{Tree-DHdPsRXV.js → Tree-Clpnh7Mh.js} +1 -1
- package/dist/TreeContext-51-0WkVM.cjs +1 -0
- package/dist/TreeContext-C77g-WGF.js +4 -0
- package/dist/TreeNode-DsOOkac_.js +171 -0
- package/dist/TreeNode-n65SoYln.cjs +1 -0
- package/dist/all.cjs +1 -1
- package/dist/all.mjs +19 -18
- package/dist/components/Avatar.cjs +1 -1
- package/dist/components/Avatar.d.ts +19 -2
- package/dist/components/Avatar.mjs +1 -1
- package/dist/components/Avatar.vue.d.ts +3 -1
- package/dist/components/Avatar.vue.d.ts.map +1 -1
- package/dist/components/Pagination.cjs +1 -1
- package/dist/components/Pagination.mjs +1 -1
- package/dist/components/Select.cjs +1 -1
- package/dist/components/Select.d.ts +10 -0
- package/dist/components/Select.mjs +1 -1
- package/dist/components/Select.vue.d.ts +7 -7
- package/dist/components/Select.vue.d.ts.map +1 -1
- package/dist/components/Tree.cjs +1 -1
- package/dist/components/Tree.d.ts +2 -3
- package/dist/components/Tree.mjs +1 -1
- package/dist/components/TreeContext.d.ts +5 -0
- package/dist/components/TreeContext.d.ts.map +1 -1
- package/dist/components/TreeNode.cjs +1 -1
- package/dist/components/TreeNode.mjs +1 -1
- package/dist/components/TreeNode.vue.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +14 -13
- package/dist/main.d.ts +2 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/styles/Select.css +1 -1
- package/dist/styles/TreeNode.css +1 -1
- package/dist/ui.css +2 -2
- package/dist/utils/treeMove.helper.cjs +1 -0
- package/dist/utils/treeMove.helper.d.ts +87 -0
- package/dist/utils/treeMove.helper.d.ts.map +1 -0
- package/dist/utils/treeMove.helper.mjs +86 -0
- package/package.json +1 -1
- package/src/utils/treeMove.helper.ts +223 -0
- package/dist/Avatar-C6pCz1lv.cjs +0 -1
- package/dist/Avatar-DdI07lRT.js +0 -47
- package/dist/Select-BbsEiJ4j.cjs +0 -1
- package/dist/Select-Ep1fFBFj.js +0 -378
- package/dist/TreeContext-BH2qpPud.cjs +0 -1
- package/dist/TreeContext-DMADOfuO.js +0 -4
- package/dist/TreeNode-CME77z98.js +0 -165
- package/dist/TreeNode-CpV3GOzv.cjs +0 -1
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { initialsOf as e } from "./utils/initials.helper.mjs";
|
|
2
|
+
import { computed as t, createElementBlock as n, defineComponent as r, normalizeClass as i, normalizeStyle as a, openBlock as o, ref as s, toDisplayString as c, watch as l } from "vue";
|
|
3
|
+
//#region src/components/Avatar.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var u = [
|
|
5
|
+
"role",
|
|
6
|
+
"aria-label",
|
|
7
|
+
"aria-hidden",
|
|
8
|
+
"title"
|
|
9
|
+
], d = ["src"], f = {
|
|
10
|
+
key: 1,
|
|
11
|
+
class: "nb-avatar__initials",
|
|
12
|
+
"aria-hidden": "true"
|
|
13
|
+
}, p = /* @__PURE__ */ r({
|
|
14
|
+
__name: "Avatar",
|
|
15
|
+
props: {
|
|
16
|
+
name: { default: void 0 },
|
|
17
|
+
email: { default: void 0 },
|
|
18
|
+
picture: { default: void 0 },
|
|
19
|
+
size: { default: "md" },
|
|
20
|
+
background: { default: void 0 },
|
|
21
|
+
color: { default: void 0 },
|
|
22
|
+
decorative: {
|
|
23
|
+
type: Boolean,
|
|
24
|
+
default: !1
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
setup(r) {
|
|
28
|
+
let p = r, m = s(!1);
|
|
29
|
+
l(() => p.picture, () => {
|
|
30
|
+
m.value = !1;
|
|
31
|
+
});
|
|
32
|
+
let h = t(() => {
|
|
33
|
+
let e = {};
|
|
34
|
+
if (typeof p.size == "number") {
|
|
35
|
+
let t = Math.max(1, p.size), n = Math.min(.42, Math.max(.3, .4 - (t - 20) * .0025));
|
|
36
|
+
e.width = `${t}px`, e.height = `${t}px`, e.fontSize = `${Math.round(t * n * 100) / 100}px`;
|
|
37
|
+
}
|
|
38
|
+
return p.background && (e.background = p.background), p.color && (e.color = p.color), e;
|
|
39
|
+
}), g = t(() => !!p.picture && !m.value), _ = t(() => e(p)), v = t(() => p.name?.trim() || p.email?.trim() || "");
|
|
40
|
+
return (e, t) => (o(), n("span", {
|
|
41
|
+
class: i(["nb-avatar", [typeof r.size == "number" ? null : `nb-avatar--${r.size}`]]),
|
|
42
|
+
style: a(h.value),
|
|
43
|
+
role: r.decorative ? void 0 : "img",
|
|
44
|
+
"aria-label": r.decorative ? void 0 : v.value || void 0,
|
|
45
|
+
"aria-hidden": r.decorative ? "true" : void 0,
|
|
46
|
+
title: r.decorative ? void 0 : v.value || void 0
|
|
47
|
+
}, [g.value ? (o(), n("img", {
|
|
48
|
+
key: 0,
|
|
49
|
+
class: "nb-avatar__picture",
|
|
50
|
+
src: r.picture ?? void 0,
|
|
51
|
+
alt: "",
|
|
52
|
+
onError: t[0] ||= (e) => m.value = !0
|
|
53
|
+
}, null, 40, d)) : (o(), n("span", f, c(_.value), 1))], 14, u));
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
//#endregion
|
|
57
|
+
export { p as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`./chunk-D-qHiVGv.cjs`);const e=require(`./utils/initials.helper.cjs`);let t=require(`vue`);var n=[`role`,`aria-label`,`aria-hidden`,`title`],r=[`src`],i={key:1,class:`nb-avatar__initials`,"aria-hidden":`true`},a=(0,t.defineComponent)({__name:`Avatar`,props:{name:{default:void 0},email:{default:void 0},picture:{default:void 0},size:{default:`md`},background:{default:void 0},color:{default:void 0},decorative:{type:Boolean,default:!1}},setup(a){let o=a,s=(0,t.ref)(!1);(0,t.watch)(()=>o.picture,()=>{s.value=!1});let c=(0,t.computed)(()=>{let e={};if(typeof o.size==`number`){let t=Math.max(1,o.size),n=Math.min(.42,Math.max(.3,.4-(t-20)*.0025));e.width=`${t}px`,e.height=`${t}px`,e.fontSize=`${Math.round(t*n*100)/100}px`}return o.background&&(e.background=o.background),o.color&&(e.color=o.color),e}),l=(0,t.computed)(()=>!!o.picture&&!s.value),u=(0,t.computed)(()=>e.initialsOf(o)),d=(0,t.computed)(()=>o.name?.trim()||o.email?.trim()||``);return(e,o)=>((0,t.openBlock)(),(0,t.createElementBlock)(`span`,{class:(0,t.normalizeClass)([`nb-avatar`,[typeof a.size==`number`?null:`nb-avatar--${a.size}`]]),style:(0,t.normalizeStyle)(c.value),role:a.decorative?void 0:`img`,"aria-label":a.decorative?void 0:d.value||void 0,"aria-hidden":a.decorative?`true`:void 0,title:a.decorative?void 0:d.value||void 0},[l.value?((0,t.openBlock)(),(0,t.createElementBlock)(`img`,{key:0,class:`nb-avatar__picture`,src:a.picture??void 0,alt:``,onError:o[0]||=e=>s.value=!0},null,40,r)):((0,t.openBlock)(),(0,t.createElementBlock)(`span`,i,(0,t.toDisplayString)(u.value),1))],14,n))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return a}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./chunk-D-qHiVGv.cjs`),t=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),n=require(`./Size.d-GBIblj2D.cjs`),r=require(`./Button-D-XSNjSL.cjs`),i=require(`./Select-
|
|
1
|
+
const e=require(`./chunk-D-qHiVGv.cjs`),t=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),n=require(`./Size.d-GBIblj2D.cjs`),r=require(`./Button-D-XSNjSL.cjs`),i=require(`./Select-BMamCNcN.cjs`);let a=require(`vue`),o=require(`@nubisco/ui/icons/caret-right`);o=e.n(o);let s=require(`@nubisco/ui/icons/caret-left`);s=e.n(s);var c={class:`nb-pagination__left`},l={class:`nb-pagination__page-size`},u={class:`nb-pagination__label`},d={class:`nb-pagination__range`,"aria-live":`polite`},f={class:`nb-pagination__right`},p={class:`nb-pagination__page-of`},m=(0,a.defineComponent)({__name:`Pagination`,props:{page:{},pageSize:{},total:{},pageSizeOptions:{default:()=>[10,20,30,40,50]},size:{default:n.r.Medium},disabled:{type:Boolean,default:!1},pageSizeLabel:{default:`Items per page:`},itemLabel:{default:`items`}},emits:[`update:page`,`update:pageSize`],setup(e,{emit:t}){let n=e,m=t,h=(0,a.computed)(()=>n.size),g=(0,a.computed)(()=>n.pageSizeOptions.includes(n.pageSize)?n.pageSizeOptions:[...n.pageSizeOptions,n.pageSize].sort((e,t)=>e-t)),_=(0,a.computed)(()=>g.value.map(e=>({label:String(e),value:e}))),v=(0,a.computed)(()=>Math.max(1,Math.ceil(n.total/Math.max(1,n.pageSize)))),y=(0,a.computed)(()=>Math.min(Math.max(1,n.page),v.value)),b=(0,a.computed)(()=>n.total===0?0:(y.value-1)*n.pageSize+1),x=(0,a.computed)(()=>Math.min(y.value*n.pageSize,n.total));function S(e){let t=Math.min(Math.max(1,e),v.value);t!==n.page&&m(`update:page`,t)}function C(e){let t=Number(e);!Number.isFinite(t)||t===n.pageSize||(m(`update:pageSize`,t),n.page!==1&&m(`update:page`,1))}return(t,n)=>((0,a.openBlock)(),(0,a.createElementBlock)(`nav`,{class:(0,a.normalizeClass)([`nb-pagination`,`nb-pagination--${e.size}`]),"aria-label":`Pagination`},[(0,a.createElementVNode)(`div`,c,[(0,a.createElementVNode)(`label`,l,[(0,a.createElementVNode)(`span`,u,(0,a.toDisplayString)(e.pageSizeLabel),1),(0,a.createVNode)(i.t,{size:`xs`,"model-value":e.pageSize,options:_.value,disabled:e.disabled,"onUpdate:modelValue":C},null,8,[`model-value`,`options`,`disabled`])]),(0,a.createElementVNode)(`span`,d,(0,a.toDisplayString)(b.value)+`–`+(0,a.toDisplayString)(x.value)+` of `+(0,a.toDisplayString)(e.total)+` `+(0,a.toDisplayString)(e.itemLabel),1)]),(0,a.createElementVNode)(`div`,f,[(0,a.createElementVNode)(`span`,p,` Page `+(0,a.toDisplayString)(y.value)+` of `+(0,a.toDisplayString)(v.value),1),(0,a.createVNode)(r.t,{class:`nb-pagination__nav`,variant:`ghost`,size:h.value,icon:s,disabled:e.disabled||y.value<=1,"aria-label":`Previous page`,onClick:n[0]||=e=>S(y.value-1)},null,8,[`size`,`disabled`]),(0,a.createVNode)(r.t,{class:`nb-pagination__nav`,variant:`ghost`,size:h.value,icon:o,disabled:e.disabled||y.value>=v.value,"aria-label":`Next page`,onClick:n[1]||=e=>S(y.value+1)},null,8,[`size`,`disabled`])])],2))}}),h=t.t(m,[[`__scopeId`,`data-v-884e19f9`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return h}});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as e } from "./_plugin-vue_export-helper-O4QQSku4.js";
|
|
2
2
|
import { r as t } from "./Size.d-Bah6vMl3.js";
|
|
3
3
|
import { t as n } from "./Button-Cw4D6w9K.js";
|
|
4
|
-
import { t as r } from "./Select-
|
|
4
|
+
import { t as r } from "./Select-CB4BSCaj.js";
|
|
5
5
|
import { computed as i, createElementBlock as a, createElementVNode as o, createVNode as s, defineComponent as c, normalizeClass as l, openBlock as u, toDisplayString as d } from "vue";
|
|
6
6
|
import * as f from "@nubisco/ui/icons/caret-right";
|
|
7
7
|
import * as p from "@nubisco/ui/icons/caret-left";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require(`./chunk-D-qHiVGv.cjs`);const e=require(`./Icon-C8R_r_In.cjs`),t=require(`./Label-DtXh4XR5.cjs`),n=require(`./Message-D8ZE4uGZ.cjs`),r=require(`./Grid-DTZTlxd_.cjs`);let i=require(`vue`),a=require(`@nubisco/ui/icons/caret-down`),o=require(`@nubisco/ui/icons/caret-up`);var s=[`id`,`aria-expanded`,`aria-disabled`,`aria-required`,`disabled`],c=[`id`,`aria-expanded`,`aria-disabled`,`aria-required`,`disabled`],l={key:1,class:`nb-select__inner-label`},u={key:0,class:`nb-select__asterisk`,"aria-hidden":`true`},d=[`aria-multiselectable`],f=[`aria-selected`,`aria-disabled`,`onMouseenter`,`onClick`],p={key:0,class:`nb-select__option-check`,"aria-hidden":`true`},m={key:0,viewBox:`0 0 10 8`,fill:`none`,width:`10`,height:`8`},h={class:`nb-select__option-label`},g={key:0,class:`nb-select__empty`},_=[`placeholder`,`onKeydown`],v=(0,i.defineComponent)({__name:`Select`,props:{modelValue:{default:null},options:{default:()=>[]},multiple:{type:Boolean,default:!1},creatable:{type:Boolean,default:!1},createPlaceholder:{default:``},placeholder:{default:`Select…`},name:{default:``},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},id:{default:void 0},label:{default:``},error:{default:``},warning:{default:``},helper:{default:``},variant:{default:`default`},size:{default:`md`}},emits:[`update:modelValue`,`change`,`create`],setup(v,{expose:y,emit:b}){let x=v,S=b,C=(0,i.ref)(``);function w(){let e=C.value.trim();e&&(S(`create`,e),C.value=``)}let T=(0,i.ref)(!1),E=(0,i.ref)(!1),D=(0,i.ref)(-1),O=(0,i.ref)(null),k=(0,i.ref)(null),A=(0,i.ref)(null),j=(0,i.ref)({position:`fixed`,top:`0px`,left:`0px`,width:`0px`,zIndex:`9999`}),M=`nb-select-${(0,i.useId)()}`,N=(0,i.computed)(()=>x.id??M),P=(0,i.computed)(()=>x.modelValue==null?[]:Array.isArray(x.modelValue)?x.modelValue:[x.modelValue]),F=(0,i.computed)(()=>{if(!(x.multiple||P.value.length!==1))return(x.options??[]).find(e=>e.value===P.value[0])?.icon}),I=(0,i.computed)(()=>{if(P.value.length===0)return``;let e=x.options??[];return x.multiple?P.value.length===1?e.find(e=>e.value===P.value[0])?.label??String(P.value[0]):P.value.length===2?P.value.map(t=>e.find(e=>e.value===t)?.label??String(t)).join(`, `):`${P.value.length} selected`:e.find(e=>e.value===P.value[0])?.label??String(P.value[0])});function L(e){return P.value.includes(e)}function R(e){if(e.disabled)return;let t;if(x.multiple){let n=[...P.value],r=n.indexOf(e.value);r>=0?n.splice(r,1):n.push(e.value),t=n}else t=e.value,V();S(`update:modelValue`,t),S(`change`,t)}function z(){if(!k.value)return;let e=k.value.getBoundingClientRect(),t=A.value?.offsetHeight??0,n=window.innerHeight-e.bottom,r=e.top;j.value={position:`fixed`,top:t>0&&n<t&&r>n?`${e.top-t}px`:`${e.bottom}px`,left:`${e.left}px`,width:`${e.width}px`,zIndex:`9999`}}function B(){if(x.disabled)return;T.value=!0,z();let e=x.options??[];D.value=P.value.length>0?Math.max(0,e.findIndex(e=>e.value===P.value[0])):-1,(0,i.nextTick)(()=>{z(),K()})}function V(){T.value=!1,D.value=-1}function H(){T.value?V():B()}function U(e){let t=e.target,n=O.value?.contains(t)??!1,r=A.value?.contains(t)??!1;!n&&!r&&V()}function W(){T.value&&z()}(0,i.watch)(T,e=>{e?(document.addEventListener(`mousedown`,U),window.addEventListener(`scroll`,W,!0),window.addEventListener(`resize`,W)):(document.removeEventListener(`mousedown`,U),window.removeEventListener(`scroll`,W,!0),window.removeEventListener(`resize`,W))}),(0,i.onBeforeUnmount)(()=>{document.removeEventListener(`mousedown`,U),window.removeEventListener(`scroll`,W,!0),window.removeEventListener(`resize`,W)});function G(e){let t=x.options??[];if(!T.value){(e.key===`Enter`||e.key===` `||e.key===`ArrowDown`)&&(e.preventDefault(),B());return}e.key===`Escape`?(V(),e.preventDefault()):e.key===`Tab`?V():e.key===`ArrowDown`?(e.preventDefault(),D.value=Math.min(D.value+1,t.length-1),K()):e.key===`ArrowUp`?(e.preventDefault(),D.value=Math.max(D.value-1,0),K()):(e.key===`Enter`||e.key===` `)&&D.value>=0&&(e.preventDefault(),R(t[D.value]))}function K(){(0,i.nextTick)(()=>{!A.value||D.value<0||A.value.querySelectorAll(`.nb-select__option`)[D.value]?.scrollIntoView({block:`nearest`})})}let q=(0,i.computed)(()=>[`nb-select`,`nb-select--${x.variant}`,`nb-select--${x.size}`,{"nb-select--open":T.value,"nb-select--focused":E.value&&!T.value,"nb-select--error":!!x.error,"nb-select--warning":!x.error&&!!x.warning,"nb-select--multiple":x.multiple}]);return y({open:B,close:V}),(y,b)=>((0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,null,[(0,i.createElementVNode)(`div`,{ref_key:`rootRef`,ref:O,class:(0,i.normalizeClass)(q.value),onKeydown:G},[v.variant===`default`?((0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,{key:0},[y.$slots.label?(0,i.renderSlot)(y.$slots,`label`,{key:0}):v.label?((0,i.openBlock)(),(0,i.createBlock)(t.t,{key:1,for:N.value,required:v.required,disabled:v.disabled},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(v.label),1)]),_:1},8,[`for`,`required`,`disabled`])):(0,i.createCommentVNode)(``,!0),(0,i.createElementVNode)(`button`,{id:N.value,ref_key:`triggerRef`,ref:k,type:`button`,class:`nb-select__trigger`,role:`combobox`,"aria-expanded":T.value,"aria-haspopup":`listbox`,"aria-disabled":v.disabled||void 0,"aria-required":v.required||void 0,disabled:v.disabled||void 0,onClick:H,onFocus:b[0]||=e=>E.value=!0,onBlur:b[1]||=e=>E.value=!1},[(0,i.createElementVNode)(`span`,{class:(0,i.normalizeClass)([`nb-select__value`,{"nb-select__value--placeholder":!I.value,"nb-select__value--with-icon":!!F.value}])},[F.value?((0,i.openBlock)(),(0,i.createBlock)(e.t,{key:0,class:`nb-select__value-icon`,name:F.value,size:16},null,8,[`name`])):(0,i.createCommentVNode)(``,!0),I.value?(0,i.renderSlot)(y.$slots,`value`,{key:1,values:P.value},()=>[(0,i.createTextVNode)((0,i.toDisplayString)(I.value),1)]):((0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,{key:2},[(0,i.createTextVNode)((0,i.toDisplayString)(v.placeholder),1)],64))],2),v.error?((0,i.openBlock)(),(0,i.createBlock)(n.t,{key:0,variant:`error`,"icon-only":!0,class:`nb-select__status-icon`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(v.error),1)]),_:1})):v.warning?((0,i.openBlock)(),(0,i.createBlock)(n.t,{key:1,variant:`warning`,"icon-only":!0,class:`nb-select__status-icon`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(v.warning),1)]),_:1})):(0,i.createCommentVNode)(``,!0),(0,i.createVNode)(r.t,{align:`center`,justify:`center`,class:`nb-select__caret`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)(e.t,{name:T.value?(0,i.unref)(o.regular):(0,i.unref)(a.regular),size:16},null,8,[`name`])]),_:1})],40,s),v.error?((0,i.openBlock)(),(0,i.createBlock)(n.t,{key:2,variant:`error`,class:`nb-select__message`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(v.error),1)]),_:1})):v.warning?((0,i.openBlock)(),(0,i.createBlock)(n.t,{key:3,variant:`warning`,class:`nb-select__message`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(v.warning),1)]),_:1})):v.helper?((0,i.openBlock)(),(0,i.createBlock)(n.t,{key:4,variant:`helper`,class:`nb-select__message`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(v.helper),1)]),_:1})):(0,i.createCommentVNode)(``,!0)],64)):v.variant===`fluid`?((0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,{key:1},[(0,i.createElementVNode)(`button`,{id:N.value,ref_key:`triggerRef`,ref:k,type:`button`,class:`nb-select__trigger`,role:`combobox`,"aria-expanded":T.value,"aria-haspopup":`listbox`,"aria-disabled":v.disabled||void 0,"aria-required":v.required||void 0,disabled:v.disabled||void 0,onClick:H,onFocus:b[2]||=e=>E.value=!0,onBlur:b[3]||=e=>E.value=!1},[v.label||y.$slots.label?((0,i.openBlock)(),(0,i.createBlock)(r.t,{key:0,dir:`row`,align:`center`,gap:`xs`,class:`nb-select__inner-header`},{default:(0,i.withCtx)(()=>[y.$slots.label?(0,i.renderSlot)(y.$slots,`label`,{key:0}):((0,i.openBlock)(),(0,i.createElementBlock)(`label`,l,[(0,i.createTextVNode)((0,i.toDisplayString)(v.label)+` `,1),v.required?((0,i.openBlock)(),(0,i.createElementBlock)(`span`,u,`*`)):(0,i.createCommentVNode)(``,!0)])),v.helper&&!v.error&&!v.warning?((0,i.openBlock)(),(0,i.createBlock)(n.t,{key:2,variant:`helper`,"icon-only":!0,class:`nb-select__inner-message`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(v.helper),1)]),_:1})):(0,i.createCommentVNode)(``,!0)]),_:3})):(0,i.createCommentVNode)(``,!0),(0,i.createVNode)(r.t,{dir:`row`,align:`end`,flex:``,class:`nb-select__value-row`},{default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`span`,{class:(0,i.normalizeClass)([`nb-select__value`,{"nb-select__value--placeholder":!I.value,"nb-select__value--with-icon":!!F.value}])},[F.value?((0,i.openBlock)(),(0,i.createBlock)(e.t,{key:0,class:`nb-select__value-icon`,name:F.value,size:16},null,8,[`name`])):(0,i.createCommentVNode)(``,!0),I.value?(0,i.renderSlot)(y.$slots,`value`,{key:1,values:P.value},()=>[(0,i.createTextVNode)((0,i.toDisplayString)(I.value),1)]):((0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,{key:2},[(0,i.createTextVNode)((0,i.toDisplayString)(v.placeholder),1)],64))],2),(0,i.createVNode)(r.t,{align:`center`,justify:`center`,class:`nb-select__caret`},{default:(0,i.withCtx)(()=>[(0,i.createVNode)(e.t,{name:T.value?(0,i.unref)(o.regular):(0,i.unref)(a.regular),size:16},null,8,[`name`])]),_:1})]),_:3})],40,c),v.error?((0,i.openBlock)(),(0,i.createBlock)(n.t,{key:0,variant:`error`,class:`nb-select__fluid-message`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(v.error),1)]),_:1})):v.warning?((0,i.openBlock)(),(0,i.createBlock)(n.t,{key:1,variant:`warning`,class:`nb-select__fluid-message`},{default:(0,i.withCtx)(()=>[(0,i.createTextVNode)((0,i.toDisplayString)(v.warning),1)]),_:1})):(0,i.createCommentVNode)(``,!0)],64)):(0,i.createCommentVNode)(``,!0)],34),((0,i.openBlock)(),(0,i.createBlock)(i.Teleport,{to:`body`},[T.value?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{key:0,ref_key:`dropdownRef`,ref:A,class:`nb-select__dropdown`,style:(0,i.normalizeStyle)(j.value),role:`listbox`,"aria-multiselectable":v.multiple||void 0},[((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(v.options,(t,n)=>((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{key:t.value,class:(0,i.normalizeClass)([`nb-select__option`,{"nb-select__option--selected":L(t.value),"nb-select__option--highlighted":D.value===n,"nb-select__option--disabled":t.disabled}]),role:`option`,"aria-selected":L(t.value),"aria-disabled":t.disabled||void 0,onMouseenter:e=>D.value=n,onClick:e=>R(t)},[v.multiple?((0,i.openBlock)(),(0,i.createElementBlock)(`span`,p,[L(t.value)?((0,i.openBlock)(),(0,i.createElementBlock)(`svg`,m,[...b[7]||=[(0,i.createElementVNode)(`path`,{d:`M1 4l3 3 5-6`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):(0,i.createCommentVNode)(``,!0)])):(0,i.createCommentVNode)(``,!0),t.icon?((0,i.openBlock)(),(0,i.createBlock)(e.t,{key:1,class:`nb-select__option-icon`,name:t.icon,size:16},null,8,[`name`])):(0,i.createCommentVNode)(``,!0),(0,i.createElementVNode)(`span`,h,[(0,i.renderSlot)(y.$slots,`option`,{option:t},()=>[(0,i.createTextVNode)((0,i.toDisplayString)(t.label),1)])])],42,f))),128)),!v.options||v.options.length===0?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,g,` No options `)):(0,i.createCommentVNode)(``,!0),v.creatable?((0,i.openBlock)(),(0,i.createElementBlock)(`div`,{key:1,class:`nb-select__create`,onMousedown:b[6]||=(0,i.withModifiers)(()=>{},[`prevent`])},[(0,i.withDirectives)((0,i.createElementVNode)(`input`,{"onUpdate:modelValue":b[4]||=e=>C.value=e,type:`text`,class:`nb-select__create-input`,placeholder:v.createPlaceholder||`Add new…`,onKeydown:[(0,i.withKeys)((0,i.withModifiers)(w,[`prevent`]),[`enter`]),b[5]||=(0,i.withModifiers)(()=>{},[`stop`])]},null,40,_),[[i.vModelText,C.value]])],32)):(0,i.createCommentVNode)(``,!0)],12,d)):(0,i.createCommentVNode)(``,!0)]))],64))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return v}});
|
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
import { t as e } from "./Icon-rREAqsu0.js";
|
|
2
|
+
import { t } from "./Label-glcQoGCr.js";
|
|
3
|
+
import { t as n } from "./Message-Ciyc2nN6.js";
|
|
4
|
+
import { t as r } from "./Grid-CgUyhsw4.js";
|
|
5
|
+
import { Fragment as i, Teleport as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createTextVNode as d, createVNode as f, defineComponent as p, nextTick as m, normalizeClass as h, normalizeStyle as g, onBeforeUnmount as ee, openBlock as _, ref as v, renderList as te, renderSlot as y, toDisplayString as b, unref as x, useId as S, vModelText as ne, watch as re, withCtx as C, withDirectives as ie, withKeys as ae, withModifiers as w } from "vue";
|
|
6
|
+
import { regular as T } from "@nubisco/ui/icons/caret-down";
|
|
7
|
+
import { regular as E } from "@nubisco/ui/icons/caret-up";
|
|
8
|
+
//#region src/components/Select.vue?vue&type=script&setup=true&lang.ts
|
|
9
|
+
var oe = [
|
|
10
|
+
"id",
|
|
11
|
+
"aria-expanded",
|
|
12
|
+
"aria-disabled",
|
|
13
|
+
"aria-required",
|
|
14
|
+
"disabled"
|
|
15
|
+
], se = [
|
|
16
|
+
"id",
|
|
17
|
+
"aria-expanded",
|
|
18
|
+
"aria-disabled",
|
|
19
|
+
"aria-required",
|
|
20
|
+
"disabled"
|
|
21
|
+
], ce = {
|
|
22
|
+
key: 1,
|
|
23
|
+
class: "nb-select__inner-label"
|
|
24
|
+
}, le = {
|
|
25
|
+
key: 0,
|
|
26
|
+
class: "nb-select__asterisk",
|
|
27
|
+
"aria-hidden": "true"
|
|
28
|
+
}, ue = ["aria-multiselectable"], de = [
|
|
29
|
+
"aria-selected",
|
|
30
|
+
"aria-disabled",
|
|
31
|
+
"onMouseenter",
|
|
32
|
+
"onClick"
|
|
33
|
+
], fe = {
|
|
34
|
+
key: 0,
|
|
35
|
+
class: "nb-select__option-check",
|
|
36
|
+
"aria-hidden": "true"
|
|
37
|
+
}, pe = {
|
|
38
|
+
key: 0,
|
|
39
|
+
viewBox: "0 0 10 8",
|
|
40
|
+
fill: "none",
|
|
41
|
+
width: "10",
|
|
42
|
+
height: "8"
|
|
43
|
+
}, me = { class: "nb-select__option-label" }, D = {
|
|
44
|
+
key: 0,
|
|
45
|
+
class: "nb-select__empty"
|
|
46
|
+
}, O = ["placeholder", "onKeydown"], k = /* @__PURE__ */ p({
|
|
47
|
+
__name: "Select",
|
|
48
|
+
props: {
|
|
49
|
+
modelValue: { default: null },
|
|
50
|
+
options: { default: () => [] },
|
|
51
|
+
multiple: {
|
|
52
|
+
type: Boolean,
|
|
53
|
+
default: !1
|
|
54
|
+
},
|
|
55
|
+
creatable: {
|
|
56
|
+
type: Boolean,
|
|
57
|
+
default: !1
|
|
58
|
+
},
|
|
59
|
+
createPlaceholder: { default: "" },
|
|
60
|
+
placeholder: { default: "Select…" },
|
|
61
|
+
name: { default: "" },
|
|
62
|
+
disabled: {
|
|
63
|
+
type: Boolean,
|
|
64
|
+
default: !1
|
|
65
|
+
},
|
|
66
|
+
required: {
|
|
67
|
+
type: Boolean,
|
|
68
|
+
default: !1
|
|
69
|
+
},
|
|
70
|
+
id: { default: void 0 },
|
|
71
|
+
label: { default: "" },
|
|
72
|
+
error: { default: "" },
|
|
73
|
+
warning: { default: "" },
|
|
74
|
+
helper: { default: "" },
|
|
75
|
+
variant: { default: "default" },
|
|
76
|
+
size: { default: "md" }
|
|
77
|
+
},
|
|
78
|
+
emits: [
|
|
79
|
+
"update:modelValue",
|
|
80
|
+
"change",
|
|
81
|
+
"create"
|
|
82
|
+
],
|
|
83
|
+
setup(p, { expose: k, emit: A }) {
|
|
84
|
+
let j = p, M = A, N = v("");
|
|
85
|
+
function he() {
|
|
86
|
+
let e = N.value.trim();
|
|
87
|
+
e && (M("create", e), N.value = "");
|
|
88
|
+
}
|
|
89
|
+
let P = v(!1), F = v(!1), I = v(-1), L = v(null), R = v(null), z = v(null), B = v({
|
|
90
|
+
position: "fixed",
|
|
91
|
+
top: "0px",
|
|
92
|
+
left: "0px",
|
|
93
|
+
width: "0px",
|
|
94
|
+
zIndex: "9999"
|
|
95
|
+
}), ge = `nb-select-${S()}`, V = o(() => j.id ?? ge), H = o(() => j.modelValue == null ? [] : Array.isArray(j.modelValue) ? j.modelValue : [j.modelValue]), U = o(() => {
|
|
96
|
+
if (!(j.multiple || H.value.length !== 1)) return (j.options ?? []).find((e) => e.value === H.value[0])?.icon;
|
|
97
|
+
}), W = o(() => {
|
|
98
|
+
if (H.value.length === 0) return "";
|
|
99
|
+
let e = j.options ?? [];
|
|
100
|
+
return j.multiple ? H.value.length === 1 ? e.find((e) => e.value === H.value[0])?.label ?? String(H.value[0]) : H.value.length === 2 ? H.value.map((t) => e.find((e) => e.value === t)?.label ?? String(t)).join(", ") : `${H.value.length} selected` : e.find((e) => e.value === H.value[0])?.label ?? String(H.value[0]);
|
|
101
|
+
});
|
|
102
|
+
function G(e) {
|
|
103
|
+
return H.value.includes(e);
|
|
104
|
+
}
|
|
105
|
+
function K(e) {
|
|
106
|
+
if (e.disabled) return;
|
|
107
|
+
let t;
|
|
108
|
+
if (j.multiple) {
|
|
109
|
+
let n = [...H.value], r = n.indexOf(e.value);
|
|
110
|
+
r >= 0 ? n.splice(r, 1) : n.push(e.value), t = n;
|
|
111
|
+
} else t = e.value, Y();
|
|
112
|
+
M("update:modelValue", t), M("change", t);
|
|
113
|
+
}
|
|
114
|
+
function q() {
|
|
115
|
+
if (!R.value) return;
|
|
116
|
+
let e = R.value.getBoundingClientRect(), t = z.value?.offsetHeight ?? 0, n = window.innerHeight - e.bottom, r = e.top;
|
|
117
|
+
B.value = {
|
|
118
|
+
position: "fixed",
|
|
119
|
+
top: t > 0 && n < t && r > n ? `${e.top - t}px` : `${e.bottom}px`,
|
|
120
|
+
left: `${e.left}px`,
|
|
121
|
+
width: `${e.width}px`,
|
|
122
|
+
zIndex: "9999"
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
function J() {
|
|
126
|
+
if (j.disabled) return;
|
|
127
|
+
P.value = !0, q();
|
|
128
|
+
let e = j.options ?? [];
|
|
129
|
+
I.value = H.value.length > 0 ? Math.max(0, e.findIndex((e) => e.value === H.value[0])) : -1, m(() => {
|
|
130
|
+
q(), $();
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
function Y() {
|
|
134
|
+
P.value = !1, I.value = -1;
|
|
135
|
+
}
|
|
136
|
+
function X() {
|
|
137
|
+
P.value ? Y() : J();
|
|
138
|
+
}
|
|
139
|
+
function Z(e) {
|
|
140
|
+
let t = e.target, n = L.value?.contains(t) ?? !1, r = z.value?.contains(t) ?? !1;
|
|
141
|
+
!n && !r && Y();
|
|
142
|
+
}
|
|
143
|
+
function Q() {
|
|
144
|
+
P.value && q();
|
|
145
|
+
}
|
|
146
|
+
re(P, (e) => {
|
|
147
|
+
e ? (document.addEventListener("mousedown", Z), window.addEventListener("scroll", Q, !0), window.addEventListener("resize", Q)) : (document.removeEventListener("mousedown", Z), window.removeEventListener("scroll", Q, !0), window.removeEventListener("resize", Q));
|
|
148
|
+
}), ee(() => {
|
|
149
|
+
document.removeEventListener("mousedown", Z), window.removeEventListener("scroll", Q, !0), window.removeEventListener("resize", Q);
|
|
150
|
+
});
|
|
151
|
+
function _e(e) {
|
|
152
|
+
let t = j.options ?? [];
|
|
153
|
+
if (!P.value) {
|
|
154
|
+
(e.key === "Enter" || e.key === " " || e.key === "ArrowDown") && (e.preventDefault(), J());
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
e.key === "Escape" ? (Y(), e.preventDefault()) : e.key === "Tab" ? Y() : e.key === "ArrowDown" ? (e.preventDefault(), I.value = Math.min(I.value + 1, t.length - 1), $()) : e.key === "ArrowUp" ? (e.preventDefault(), I.value = Math.max(I.value - 1, 0), $()) : (e.key === "Enter" || e.key === " ") && I.value >= 0 && (e.preventDefault(), K(t[I.value]));
|
|
158
|
+
}
|
|
159
|
+
function $() {
|
|
160
|
+
m(() => {
|
|
161
|
+
!z.value || I.value < 0 || z.value.querySelectorAll(".nb-select__option")[I.value]?.scrollIntoView({ block: "nearest" });
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
let ve = o(() => [
|
|
165
|
+
"nb-select",
|
|
166
|
+
`nb-select--${j.variant}`,
|
|
167
|
+
`nb-select--${j.size}`,
|
|
168
|
+
{
|
|
169
|
+
"nb-select--open": P.value,
|
|
170
|
+
"nb-select--focused": F.value && !P.value,
|
|
171
|
+
"nb-select--error": !!j.error,
|
|
172
|
+
"nb-select--warning": !j.error && !!j.warning,
|
|
173
|
+
"nb-select--multiple": j.multiple
|
|
174
|
+
}
|
|
175
|
+
]);
|
|
176
|
+
return k({
|
|
177
|
+
open: J,
|
|
178
|
+
close: Y
|
|
179
|
+
}), (o, m) => (_(), l(i, null, [u("div", {
|
|
180
|
+
ref_key: "rootRef",
|
|
181
|
+
ref: L,
|
|
182
|
+
class: h(ve.value),
|
|
183
|
+
onKeydown: _e
|
|
184
|
+
}, [p.variant === "default" ? (_(), l(i, { key: 0 }, [
|
|
185
|
+
o.$slots.label ? y(o.$slots, "label", { key: 0 }) : p.label ? (_(), s(t, {
|
|
186
|
+
key: 1,
|
|
187
|
+
for: V.value,
|
|
188
|
+
required: p.required,
|
|
189
|
+
disabled: p.disabled
|
|
190
|
+
}, {
|
|
191
|
+
default: C(() => [d(b(p.label), 1)]),
|
|
192
|
+
_: 1
|
|
193
|
+
}, 8, [
|
|
194
|
+
"for",
|
|
195
|
+
"required",
|
|
196
|
+
"disabled"
|
|
197
|
+
])) : c("", !0),
|
|
198
|
+
u("button", {
|
|
199
|
+
id: V.value,
|
|
200
|
+
ref_key: "triggerRef",
|
|
201
|
+
ref: R,
|
|
202
|
+
type: "button",
|
|
203
|
+
class: "nb-select__trigger",
|
|
204
|
+
role: "combobox",
|
|
205
|
+
"aria-expanded": P.value,
|
|
206
|
+
"aria-haspopup": "listbox",
|
|
207
|
+
"aria-disabled": p.disabled || void 0,
|
|
208
|
+
"aria-required": p.required || void 0,
|
|
209
|
+
disabled: p.disabled || void 0,
|
|
210
|
+
onClick: X,
|
|
211
|
+
onFocus: m[0] ||= (e) => F.value = !0,
|
|
212
|
+
onBlur: m[1] ||= (e) => F.value = !1
|
|
213
|
+
}, [
|
|
214
|
+
u("span", { class: h(["nb-select__value", {
|
|
215
|
+
"nb-select__value--placeholder": !W.value,
|
|
216
|
+
"nb-select__value--with-icon": !!U.value
|
|
217
|
+
}]) }, [U.value ? (_(), s(e, {
|
|
218
|
+
key: 0,
|
|
219
|
+
class: "nb-select__value-icon",
|
|
220
|
+
name: U.value,
|
|
221
|
+
size: 16
|
|
222
|
+
}, null, 8, ["name"])) : c("", !0), W.value ? y(o.$slots, "value", {
|
|
223
|
+
key: 1,
|
|
224
|
+
values: H.value
|
|
225
|
+
}, () => [d(b(W.value), 1)]) : (_(), l(i, { key: 2 }, [d(b(p.placeholder), 1)], 64))], 2),
|
|
226
|
+
p.error ? (_(), s(n, {
|
|
227
|
+
key: 0,
|
|
228
|
+
variant: "error",
|
|
229
|
+
"icon-only": !0,
|
|
230
|
+
class: "nb-select__status-icon"
|
|
231
|
+
}, {
|
|
232
|
+
default: C(() => [d(b(p.error), 1)]),
|
|
233
|
+
_: 1
|
|
234
|
+
})) : p.warning ? (_(), s(n, {
|
|
235
|
+
key: 1,
|
|
236
|
+
variant: "warning",
|
|
237
|
+
"icon-only": !0,
|
|
238
|
+
class: "nb-select__status-icon"
|
|
239
|
+
}, {
|
|
240
|
+
default: C(() => [d(b(p.warning), 1)]),
|
|
241
|
+
_: 1
|
|
242
|
+
})) : c("", !0),
|
|
243
|
+
f(r, {
|
|
244
|
+
align: "center",
|
|
245
|
+
justify: "center",
|
|
246
|
+
class: "nb-select__caret"
|
|
247
|
+
}, {
|
|
248
|
+
default: C(() => [f(e, {
|
|
249
|
+
name: P.value ? x(E) : x(T),
|
|
250
|
+
size: 16
|
|
251
|
+
}, null, 8, ["name"])]),
|
|
252
|
+
_: 1
|
|
253
|
+
})
|
|
254
|
+
], 40, oe),
|
|
255
|
+
p.error ? (_(), s(n, {
|
|
256
|
+
key: 2,
|
|
257
|
+
variant: "error",
|
|
258
|
+
class: "nb-select__message"
|
|
259
|
+
}, {
|
|
260
|
+
default: C(() => [d(b(p.error), 1)]),
|
|
261
|
+
_: 1
|
|
262
|
+
})) : p.warning ? (_(), s(n, {
|
|
263
|
+
key: 3,
|
|
264
|
+
variant: "warning",
|
|
265
|
+
class: "nb-select__message"
|
|
266
|
+
}, {
|
|
267
|
+
default: C(() => [d(b(p.warning), 1)]),
|
|
268
|
+
_: 1
|
|
269
|
+
})) : p.helper ? (_(), s(n, {
|
|
270
|
+
key: 4,
|
|
271
|
+
variant: "helper",
|
|
272
|
+
class: "nb-select__message"
|
|
273
|
+
}, {
|
|
274
|
+
default: C(() => [d(b(p.helper), 1)]),
|
|
275
|
+
_: 1
|
|
276
|
+
})) : c("", !0)
|
|
277
|
+
], 64)) : p.variant === "fluid" ? (_(), l(i, { key: 1 }, [u("button", {
|
|
278
|
+
id: V.value,
|
|
279
|
+
ref_key: "triggerRef",
|
|
280
|
+
ref: R,
|
|
281
|
+
type: "button",
|
|
282
|
+
class: "nb-select__trigger",
|
|
283
|
+
role: "combobox",
|
|
284
|
+
"aria-expanded": P.value,
|
|
285
|
+
"aria-haspopup": "listbox",
|
|
286
|
+
"aria-disabled": p.disabled || void 0,
|
|
287
|
+
"aria-required": p.required || void 0,
|
|
288
|
+
disabled: p.disabled || void 0,
|
|
289
|
+
onClick: X,
|
|
290
|
+
onFocus: m[2] ||= (e) => F.value = !0,
|
|
291
|
+
onBlur: m[3] ||= (e) => F.value = !1
|
|
292
|
+
}, [p.label || o.$slots.label ? (_(), s(r, {
|
|
293
|
+
key: 0,
|
|
294
|
+
dir: "row",
|
|
295
|
+
align: "center",
|
|
296
|
+
gap: "xs",
|
|
297
|
+
class: "nb-select__inner-header"
|
|
298
|
+
}, {
|
|
299
|
+
default: C(() => [o.$slots.label ? y(o.$slots, "label", { key: 0 }) : (_(), l("label", ce, [d(b(p.label) + " ", 1), p.required ? (_(), l("span", le, "*")) : c("", !0)])), p.helper && !p.error && !p.warning ? (_(), s(n, {
|
|
300
|
+
key: 2,
|
|
301
|
+
variant: "helper",
|
|
302
|
+
"icon-only": !0,
|
|
303
|
+
class: "nb-select__inner-message"
|
|
304
|
+
}, {
|
|
305
|
+
default: C(() => [d(b(p.helper), 1)]),
|
|
306
|
+
_: 1
|
|
307
|
+
})) : c("", !0)]),
|
|
308
|
+
_: 3
|
|
309
|
+
})) : c("", !0), f(r, {
|
|
310
|
+
dir: "row",
|
|
311
|
+
align: "end",
|
|
312
|
+
flex: "",
|
|
313
|
+
class: "nb-select__value-row"
|
|
314
|
+
}, {
|
|
315
|
+
default: C(() => [u("span", { class: h(["nb-select__value", {
|
|
316
|
+
"nb-select__value--placeholder": !W.value,
|
|
317
|
+
"nb-select__value--with-icon": !!U.value
|
|
318
|
+
}]) }, [U.value ? (_(), s(e, {
|
|
319
|
+
key: 0,
|
|
320
|
+
class: "nb-select__value-icon",
|
|
321
|
+
name: U.value,
|
|
322
|
+
size: 16
|
|
323
|
+
}, null, 8, ["name"])) : c("", !0), W.value ? y(o.$slots, "value", {
|
|
324
|
+
key: 1,
|
|
325
|
+
values: H.value
|
|
326
|
+
}, () => [d(b(W.value), 1)]) : (_(), l(i, { key: 2 }, [d(b(p.placeholder), 1)], 64))], 2), f(r, {
|
|
327
|
+
align: "center",
|
|
328
|
+
justify: "center",
|
|
329
|
+
class: "nb-select__caret"
|
|
330
|
+
}, {
|
|
331
|
+
default: C(() => [f(e, {
|
|
332
|
+
name: P.value ? x(E) : x(T),
|
|
333
|
+
size: 16
|
|
334
|
+
}, null, 8, ["name"])]),
|
|
335
|
+
_: 1
|
|
336
|
+
})]),
|
|
337
|
+
_: 3
|
|
338
|
+
})], 40, se), p.error ? (_(), s(n, {
|
|
339
|
+
key: 0,
|
|
340
|
+
variant: "error",
|
|
341
|
+
class: "nb-select__fluid-message"
|
|
342
|
+
}, {
|
|
343
|
+
default: C(() => [d(b(p.error), 1)]),
|
|
344
|
+
_: 1
|
|
345
|
+
})) : p.warning ? (_(), s(n, {
|
|
346
|
+
key: 1,
|
|
347
|
+
variant: "warning",
|
|
348
|
+
class: "nb-select__fluid-message"
|
|
349
|
+
}, {
|
|
350
|
+
default: C(() => [d(b(p.warning), 1)]),
|
|
351
|
+
_: 1
|
|
352
|
+
})) : c("", !0)], 64)) : c("", !0)], 34), (_(), s(a, { to: "body" }, [P.value ? (_(), l("div", {
|
|
353
|
+
key: 0,
|
|
354
|
+
ref_key: "dropdownRef",
|
|
355
|
+
ref: z,
|
|
356
|
+
class: "nb-select__dropdown",
|
|
357
|
+
style: g(B.value),
|
|
358
|
+
role: "listbox",
|
|
359
|
+
"aria-multiselectable": p.multiple || void 0
|
|
360
|
+
}, [
|
|
361
|
+
(_(!0), l(i, null, te(p.options, (t, n) => (_(), l("div", {
|
|
362
|
+
key: t.value,
|
|
363
|
+
class: h(["nb-select__option", {
|
|
364
|
+
"nb-select__option--selected": G(t.value),
|
|
365
|
+
"nb-select__option--highlighted": I.value === n,
|
|
366
|
+
"nb-select__option--disabled": t.disabled
|
|
367
|
+
}]),
|
|
368
|
+
role: "option",
|
|
369
|
+
"aria-selected": G(t.value),
|
|
370
|
+
"aria-disabled": t.disabled || void 0,
|
|
371
|
+
onMouseenter: (e) => I.value = n,
|
|
372
|
+
onClick: (e) => K(t)
|
|
373
|
+
}, [
|
|
374
|
+
p.multiple ? (_(), l("span", fe, [G(t.value) ? (_(), l("svg", pe, [...m[7] ||= [u("path", {
|
|
375
|
+
d: "M1 4l3 3 5-6",
|
|
376
|
+
stroke: "currentColor",
|
|
377
|
+
"stroke-width": "1.5",
|
|
378
|
+
"stroke-linecap": "round",
|
|
379
|
+
"stroke-linejoin": "round"
|
|
380
|
+
}, null, -1)]])) : c("", !0)])) : c("", !0),
|
|
381
|
+
t.icon ? (_(), s(e, {
|
|
382
|
+
key: 1,
|
|
383
|
+
class: "nb-select__option-icon",
|
|
384
|
+
name: t.icon,
|
|
385
|
+
size: 16
|
|
386
|
+
}, null, 8, ["name"])) : c("", !0),
|
|
387
|
+
u("span", me, [y(o.$slots, "option", { option: t }, () => [d(b(t.label), 1)])])
|
|
388
|
+
], 42, de))), 128)),
|
|
389
|
+
!p.options || p.options.length === 0 ? (_(), l("div", D, " No options ")) : c("", !0),
|
|
390
|
+
p.creatable ? (_(), l("div", {
|
|
391
|
+
key: 1,
|
|
392
|
+
class: "nb-select__create",
|
|
393
|
+
onMousedown: m[6] ||= w(() => {}, ["prevent"])
|
|
394
|
+
}, [ie(u("input", {
|
|
395
|
+
"onUpdate:modelValue": m[4] ||= (e) => N.value = e,
|
|
396
|
+
type: "text",
|
|
397
|
+
class: "nb-select__create-input",
|
|
398
|
+
placeholder: p.createPlaceholder || "Add new…",
|
|
399
|
+
onKeydown: [ae(w(he, ["prevent"]), ["enter"]), m[5] ||= w(() => {}, ["stop"])]
|
|
400
|
+
}, null, 40, O), [[ne, N.value]])], 32)) : c("", !0)
|
|
401
|
+
], 12, ue)) : c("", !0)]))], 64));
|
|
402
|
+
}
|
|
403
|
+
});
|
|
404
|
+
//#endregion
|
|
405
|
+
export { k as t };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./chunk-D-qHiVGv.cjs`);const e=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),t=require(`./TreeContext-
|
|
1
|
+
require(`./chunk-D-qHiVGv.cjs`);const e=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),t=require(`./TreeContext-51-0WkVM.cjs`);let n=require(`vue`);var r=(0,n.defineComponent)({__name:`Tree`,props:{modelValue:{default:null},compact:{type:Boolean,default:!1},size:{default:`md`},draggable:{type:Boolean,default:!1}},emits:[`update:modelValue`,`select`,`toggle`,`drop`],setup(e,{expose:r,emit:i}){let a=e,o=i,s=(0,n.reactive)(new Set),c=(0,n.ref)(),l=(0,n.reactive)({dragId:null,dropTargetId:null,dropPosition:null});function u(e){o(`update:modelValue`,e),o(`select`,e)}function d(e){s.has(e)?(s.delete(e),o(`toggle`,e,!1)):(s.add(e),o(`toggle`,e,!0))}function f(e,t){}function p(e){}function m(e){l.dragId=e}function h(e,t){e!==l.dragId&&(l.dropTargetId=e,l.dropPosition=t)}function g(e){l.dropTargetId===e&&(l.dropTargetId=null,l.dropPosition=null)}function _(){l.dragId&&l.dropTargetId&&l.dropPosition&&o(`drop`,{sourceId:l.dragId,targetId:l.dropTargetId,position:l.dropPosition}),y()}function v(){y()}function y(){l.dragId=null,l.dropTargetId=null,l.dropPosition=null}function b(e){for(let t of e)s.add(t)}function x(){s.clear()}(0,n.provide)(t.r,(0,n.reactive)({get selectedId(){return a.modelValue??null},select:u,toggle:d,expandedIds:s,get compact(){return a.compact||a.size===`sm`},get draggable(){return a.draggable},drag:l,onDragStart:m,onDragOver:h,onDragLeave:g,onDrop:_,onDragEnd:v,registerNode:f,unregisterNode:p}));function S(){return c.value?Array.from(c.value.querySelectorAll(`[role="treeitem"]`)):[]}function C(e){let t=S();if(t.length===0)return;let n=document.activeElement,r=t.indexOf(n);switch(e.key){case`ArrowDown`:e.preventDefault(),r<t.length-1?t[r+1].focus():r===-1&&t[0].focus();break;case`ArrowUp`:e.preventDefault(),r>0&&t[r-1].focus();break;case`Home`:e.preventDefault(),t[0]?.focus();break;case`End`:e.preventDefault(),t[t.length-1]?.focus();break}}return r({expandIds:b,collapseAll:x}),(t,r)=>((0,n.openBlock)(),(0,n.createElementBlock)(`ul`,{ref_key:`treeRef`,ref:c,role:`tree`,class:(0,n.normalizeClass)([`nb-tree`,{"nb-tree--compact":e.compact||e.size===`sm`}]),onKeydown:C},[(0,n.renderSlot)(t.$slots,`default`,{},void 0,!0)],34))}}),i=e.t(r,[[`__scopeId`,`data-v-f91fb593`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as e } from "./_plugin-vue_export-helper-O4QQSku4.js";
|
|
2
|
-
import {
|
|
2
|
+
import { r as t } from "./TreeContext-C77g-WGF.js";
|
|
3
3
|
import { createElementBlock as n, defineComponent as r, normalizeClass as i, openBlock as a, provide as o, reactive as s, ref as c, renderSlot as l } from "vue";
|
|
4
4
|
//#endregion
|
|
5
5
|
//#region src/components/Tree.vue
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e=Symbol(`nb-tree`),t=Symbol(`nb-tree-depth`),n=Symbol(`nb-tree-ancestors`);Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
|