@nubisco/ui 5.11.2 → 5.13.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.
Files changed (70) hide show
  1. package/dist/Badge-BgCdM21g.cjs +1 -0
  2. package/dist/Badge-CfXOTEnO.js +59 -0
  3. package/dist/DatePicker-B_lnTkqz.cjs +1 -0
  4. package/dist/DatePicker-DcWyOduI.js +704 -0
  5. package/dist/{Menu-Dy1JwMdl.js → Menu-CsA8dtMR.js} +6 -1
  6. package/dist/Menu-Xt1MCf-q.cjs +1 -0
  7. package/dist/{MenuBarItem-Ya88A6xZ.cjs → MenuBarItem-42bSEdWZ.cjs} +1 -1
  8. package/dist/{MenuBarItem-CYofbcgq.js → MenuBarItem-H1sFt0Mx.js} +1 -1
  9. package/dist/NotificationCenter-4oCy75aK.cjs +1 -0
  10. package/dist/{NotificationCenter-CaBgCv1t.js → NotificationCenter-D-9IwSTD.js} +32 -9
  11. package/dist/{Pagination-CcZB4Lp_.cjs → Pagination-BVqdCAar.cjs} +1 -1
  12. package/dist/{Pagination-DDIc4vUH.js → Pagination-DfE_VBmi.js} +1 -1
  13. package/dist/{Select-CB4BSCaj.js → Select-C4kly9iF.js} +77 -74
  14. package/dist/Select-CDaJcun8.cjs +1 -0
  15. package/dist/{Tabs-BPgmRLDi.cjs → Tabs-4-VnGh4i.cjs} +1 -1
  16. package/dist/{Tabs-DseHSwTm.js → Tabs-q8dnIAkO.js} +2 -2
  17. package/dist/all.cjs +1 -1
  18. package/dist/all.mjs +8 -8
  19. package/dist/component-styles.json +2 -1
  20. package/dist/components/Badge.cjs +1 -1
  21. package/dist/components/Badge.d.ts +18 -0
  22. package/dist/components/Badge.mjs +1 -1
  23. package/dist/components/Badge.vue.d.ts +5 -2
  24. package/dist/components/Badge.vue.d.ts.map +1 -1
  25. package/dist/components/DatePicker.cjs +1 -1
  26. package/dist/components/DatePicker.mjs +1 -1
  27. package/dist/components/DatePicker.vue.d.ts +1 -1
  28. package/dist/components/DatePicker.vue.d.ts.map +1 -1
  29. package/dist/components/Menu.cjs +1 -1
  30. package/dist/components/Menu.mjs +1 -1
  31. package/dist/components/Menu.vue.d.ts.map +1 -1
  32. package/dist/components/MenuBarItem.cjs +1 -1
  33. package/dist/components/MenuBarItem.mjs +1 -1
  34. package/dist/components/NotificationCenter.cjs +1 -1
  35. package/dist/components/NotificationCenter.d.ts +22 -2
  36. package/dist/components/NotificationCenter.mjs +1 -1
  37. package/dist/components/NotificationCenter.vue.d.ts +3 -2
  38. package/dist/components/NotificationCenter.vue.d.ts.map +1 -1
  39. package/dist/components/NotificationCenterItem.vue.d.ts +1 -1
  40. package/dist/components/NumberInput.vue.d.ts +1 -1
  41. package/dist/components/NumberInput.vue.d.ts.map +1 -1
  42. package/dist/components/Pagination.cjs +1 -1
  43. package/dist/components/Pagination.mjs +1 -1
  44. package/dist/components/Select.cjs +1 -1
  45. package/dist/components/Select.mjs +1 -1
  46. package/dist/components/Select.vue.d.ts +1 -1
  47. package/dist/components/Select.vue.d.ts.map +1 -1
  48. package/dist/components/Tabs.cjs +1 -1
  49. package/dist/components/Tabs.mjs +1 -1
  50. package/dist/components/Tabs.vue.d.ts.map +1 -1
  51. package/dist/components/TextInput.vue.d.ts +1 -1
  52. package/dist/components/TextInput.vue.d.ts.map +1 -1
  53. package/dist/composables/useMenuSurface.composable.cjs +1 -0
  54. package/dist/composables/useMenuSurface.composable.d.ts +14 -0
  55. package/dist/composables/useMenuSurface.composable.d.ts.map +1 -0
  56. package/dist/composables/useMenuSurface.composable.mjs +12 -0
  57. package/dist/index.cjs +1 -1
  58. package/dist/index.mjs +8 -8
  59. package/dist/styles/Badge.css +1 -1
  60. package/dist/styles/NotificationCenter.css +1 -1
  61. package/dist/styles/Tabs.css +1 -1
  62. package/dist/ui.css +3 -3
  63. package/package.json +1 -1
  64. package/dist/Badge-BOF-mQu9.cjs +0 -1
  65. package/dist/Badge-MPdaJamD.js +0 -30
  66. package/dist/DatePicker-DQJ31TUm.cjs +0 -1
  67. package/dist/DatePicker-htoxxlSw.js +0 -701
  68. package/dist/Menu-BSbPfsiE.cjs +0 -1
  69. package/dist/NotificationCenter-alMJHf3D.cjs +0 -1
  70. package/dist/Select-BMamCNcN.cjs +0 -1
@@ -65,6 +65,11 @@ var y = /* @__PURE__ */ s({
65
65
  e >= 0 && e < t.length && (w.value = e, t[e].focus());
66
66
  }
67
67
  function R(e) {
68
+ if (e.key === "Escape") {
69
+ if (e.defaultPrevented) return;
70
+ e.preventDefault(), e.stopPropagation(), A();
71
+ return;
72
+ }
68
73
  let t = I();
69
74
  if (!t.length) return;
70
75
  let n = t.indexOf(document.activeElement);
@@ -78,7 +83,7 @@ var y = /* @__PURE__ */ s({
78
83
  let n = w.value - 1;
79
84
  for (; n >= 0 && t[n]?.getAttribute("aria-disabled") === "true";) n--;
80
85
  n >= 0 && L(n);
81
- } else e.key === "Escape" ? (e.preventDefault(), e.stopPropagation(), A()) : e.key === "Tab" && A();
86
+ } else e.key === "Tab" && A();
82
87
  }
83
88
  function z(e) {
84
89
  let t = e.target;
@@ -0,0 +1 @@
1
+ require(`./chunk-D-qHiVGv.cjs`);let e=require(`vue`);var t=(0,e.defineComponent)({__name:`Menu`,props:{open:{type:Boolean,default:!1},size:{default:`md`},minWidth:{default:160},maxWidth:{default:288}},emits:[`close`,`update:open`],setup(t,{expose:n,emit:r}){let i=t,a=r,o=(0,e.ref)(null),s=(0,e.ref)(-1),c=(0,e.reactive)([]),l=(0,e.computed)(()=>({position:`fixed`,top:`${u.top}px`,left:`${u.left}px`,minWidth:`${i.minWidth}px`,maxWidth:`${i.maxWidth}px`,zIndex:`var(--nb-zindex-menu)`})),u=(0,e.reactive)({top:0,left:0});function d(e){u.top=e.bottom,u.left=e.left}function f(e,t){u.top=t,u.left=e}function p(){a(`close`),a(`update:open`,!1)}function m(e){return c.includes(e)||c.push(e),c.indexOf(e)}function h(e){let t=c.indexOf(e);t>=0&&c.splice(t,1)}let g=new Set;function _(e){g.add(e)}function v(e){g.delete(e)}(0,e.provide)(`nb-menu`,{size:i.size,close:p,highlightedIndex:s.value,registerItem:m,unregisterItem:h,registerSurface:_,unregisterSurface:v});function y(){return o.value?Array.from(o.value.querySelectorAll(`[role="menuitem"], [role="menuitemcheckbox"], [role="menuitemradio"]`)).filter(e=>!e.closest(`.nb-submenu`)):[]}function b(e){let t=y();e>=0&&e<t.length&&(s.value=e,t[e].focus())}function x(e){if(e.key===`Escape`){if(e.defaultPrevented)return;e.preventDefault(),e.stopPropagation(),p();return}let t=y();if(!t.length)return;let n=t.indexOf(document.activeElement);if(n>=0&&(s.value=n),e.key===`ArrowDown`){e.preventDefault(),e.stopPropagation();let n=s.value+1;for(;n<t.length&&t[n]?.getAttribute(`aria-disabled`)===`true`;)n++;n<t.length&&b(n)}else if(e.key===`ArrowUp`){e.preventDefault(),e.stopPropagation();let n=s.value-1;for(;n>=0&&t[n]?.getAttribute(`aria-disabled`)===`true`;)n--;n>=0&&b(n)}else e.key===`Tab`&&p()}function S(e){let t=e.target;if(!(!o.value||o.value.contains(t))){for(let e of g)if(e.contains(t))return;p()}}function C(){if(!o.value)return;let e=o.value.getBoundingClientRect();e.right>window.innerWidth&&(u.left=Math.max(8,window.innerWidth-e.width-8)),e.bottom>window.innerHeight&&(u.top=Math.max(8,window.innerHeight-e.height-8));let t=window.innerHeight-u.top-8;o.value.style.maxHeight=`${t}px`}return(0,e.watch)(()=>i.open,t=>{t?(s.value=-1,document.addEventListener(`mousedown`,S),(0,e.nextTick)(()=>{C(),y().length>0&&b(0)})):(s.value=-1,document.removeEventListener(`mousedown`,S))}),(0,e.onBeforeUnmount)(()=>{document.removeEventListener(`mousedown`,S)}),n({setPosition:d,setPositionXY:f,close:p,el:o}),(n,r)=>((0,e.openBlock)(),(0,e.createBlock)(e.Teleport,{to:`body`},[(0,e.createVNode)(e.Transition,{name:`nb-menu`},{default:(0,e.withCtx)(()=>[t.open?((0,e.openBlock)(),(0,e.createElementBlock)(`ul`,{key:0,ref_key:`menuRef`,ref:o,role:`menu`,class:(0,e.normalizeClass)([`nb-menu`,`nb-menu--${t.size}`]),style:(0,e.normalizeStyle)(l.value),onKeydown:x},[(0,e.renderSlot)(n.$slots,`default`)],38)):(0,e.createCommentVNode)(``,!0)]),_:3})]))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
@@ -1 +1 @@
1
- require(`./chunk-D-qHiVGv.cjs`);const e=require(`./Menu-BSbPfsiE.cjs`);let t=require(`vue`);var n=[`aria-expanded`],r=(0,t.defineComponent)({__name:`MenuBarItem`,props:{label:{},size:{default:`md`},minWidth:{default:160},maxWidth:{default:288}},setup(r){let i=`nb-menubar-item-${(0,t.useId)()}`,a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.inject)(`nb-menubar`,null),c=(0,t.computed)(()=>s?.activeMenu.value===i);function l(){(0,t.nextTick)(()=>{if(a.value&&o.value){let e=a.value.getBoundingClientRect();o.value.setPosition({top:e.top,left:e.left,bottom:e.bottom,width:e.width})}})}function u(){}function d(e){e.stopPropagation(),e.preventDefault(),c.value?s?.setActiveMenu(null):s?.setActiveMenu(i)}function f(){s?.anyOpen.value&&!c.value&&s.setActiveMenu(i)}function p(){c.value&&s?.setActiveMenu(null)}return(0,t.watch)(c,e=>{e&&l()}),(0,t.onMounted)(()=>{a.value&&s&&s.registerTrigger({id:i,el:a.value,open:l,close:u})}),(0,t.onBeforeUnmount)(()=>{s?.unregisterTrigger(i)}),(i,s)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`button`,{ref_key:`triggerRef`,ref:a,type:`button`,role:`menuitem`,class:(0,t.normalizeClass)([`nb-menubar-item`,{"nb-menubar-item--active":c.value}]),"aria-haspopup":`menu`,"aria-expanded":c.value,onMousedown:d,onMouseenter:f},[(0,t.renderSlot)(i.$slots,`trigger`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(r.label),1)])],42,n),(0,t.createVNode)(e.t,{ref_key:`menuRef`,ref:o,open:c.value,size:r.size,"min-width":r.minWidth,"max-width":r.maxWidth,onClose:p},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(i.$slots,`default`)]),_:3},8,[`open`,`size`,`min-width`,`max-width`])],64))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
1
+ require(`./chunk-D-qHiVGv.cjs`);const e=require(`./Menu-Xt1MCf-q.cjs`);let t=require(`vue`);var n=[`aria-expanded`],r=(0,t.defineComponent)({__name:`MenuBarItem`,props:{label:{},size:{default:`md`},minWidth:{default:160},maxWidth:{default:288}},setup(r){let i=`nb-menubar-item-${(0,t.useId)()}`,a=(0,t.ref)(null),o=(0,t.ref)(null),s=(0,t.inject)(`nb-menubar`,null),c=(0,t.computed)(()=>s?.activeMenu.value===i);function l(){(0,t.nextTick)(()=>{if(a.value&&o.value){let e=a.value.getBoundingClientRect();o.value.setPosition({top:e.top,left:e.left,bottom:e.bottom,width:e.width})}})}function u(){}function d(e){e.stopPropagation(),e.preventDefault(),c.value?s?.setActiveMenu(null):s?.setActiveMenu(i)}function f(){s?.anyOpen.value&&!c.value&&s.setActiveMenu(i)}function p(){c.value&&s?.setActiveMenu(null)}return(0,t.watch)(c,e=>{e&&l()}),(0,t.onMounted)(()=>{a.value&&s&&s.registerTrigger({id:i,el:a.value,open:l,close:u})}),(0,t.onBeforeUnmount)(()=>{s?.unregisterTrigger(i)}),(i,s)=>((0,t.openBlock)(),(0,t.createElementBlock)(t.Fragment,null,[(0,t.createElementVNode)(`button`,{ref_key:`triggerRef`,ref:a,type:`button`,role:`menuitem`,class:(0,t.normalizeClass)([`nb-menubar-item`,{"nb-menubar-item--active":c.value}]),"aria-haspopup":`menu`,"aria-expanded":c.value,onMousedown:d,onMouseenter:f},[(0,t.renderSlot)(i.$slots,`trigger`,{},()=>[(0,t.createTextVNode)((0,t.toDisplayString)(r.label),1)])],42,n),(0,t.createVNode)(e.t,{ref_key:`menuRef`,ref:o,open:c.value,size:r.size,"min-width":r.minWidth,"max-width":r.maxWidth,onClose:p},{default:(0,t.withCtx)(()=>[(0,t.renderSlot)(i.$slots,`default`)]),_:3},8,[`open`,`size`,`min-width`,`max-width`])],64))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return r}});
@@ -1,4 +1,4 @@
1
- import { t as e } from "./Menu-Dy1JwMdl.js";
1
+ import { t as e } from "./Menu-CsA8dtMR.js";
2
2
  import { Fragment as t, computed as n, createElementBlock as r, createElementVNode as i, createTextVNode as a, createVNode as o, defineComponent as s, inject as c, nextTick as l, normalizeClass as u, onBeforeUnmount as d, onMounted as f, openBlock as p, ref as m, renderSlot as h, toDisplayString as g, useId as _, watch as v, withCtx as y } from "vue";
3
3
  //#region src/components/MenuBarItem.vue?vue&type=script&setup=true&lang.ts
4
4
  var b = ["aria-expanded"], x = /* @__PURE__ */ s({
@@ -0,0 +1 @@
1
+ const e=require(`./chunk-D-qHiVGv.cjs`),t=require(`./Icon-C8R_r_In.cjs`),n=require(`./EmptyState-Cz91HAKF.cjs`),r=require(`./Button-D-XSNjSL.cjs`),i=require(`./Spinner-Cwlskvjj.cjs`),a=require(`./Skeleton-DEzKdU7W.cjs`),o=require(`./NotificationCenterItem--dJsS8g2.cjs`);let s=require(`vue`),c=require(`@nubisco/ui/icons/warning-circle`),l=require(`@nubisco/ui/icons/bell`);l=e.n(l);var u={key:0,class:`nb-notification-center__badge`,"aria-hidden":`true`},d=[`aria-describedby`,`aria-busy`],f={class:`nb-notification-center__header`},p={class:`nb-notification-center__sr`,role:`status`},m={class:`nb-notification-center__stale-text`},ee={class:`nb-notification-center__sr`},te=[`tabindex`],ne={key:4,class:`nb-notification-center__empty`},re={key:5,class:`nb-notification-center__footer`},h=new Set,g=8,_=8,v=96,y=88,b=200;function ie(e,{align:t,side:n,width:r,maxHeight:i,viewport:a}){let o=e.left+e.width;if(n===`right`&&a.width-o-g-_>=r){let n=e.top+e.height,r=t===`end`?n-_:a.height-e.top-_,s=Math.max(y+v,r),c=Math.min(i+v,s),l=Math.max(y,Math.min(i,s-v));return t===`end`?{top:Math.max(_,n-c),bottom:Math.max(_,a.height-n),left:o+g,side:`right`,maxListHeight:l}:{top:Math.max(_,Math.min(e.top,a.height-_-c)),left:o+g,side:`right`,maxListHeight:l}}let s=t===`start`?e.left:e.left+e.width-r,c=Math.min(Math.max(s,_),Math.max(_,a.width-r-_)),l=e.top+e.height,u=a.height-l-g-_,d=e.top-g-_,f=u<b&&d>u?`top`:`bottom`,p=Math.max(y,f===`top`?d:u),m=Math.max(y,Math.min(i,p-v)),ee=Math.min(i+v,p);return{top:f===`top`?Math.max(_,e.top-g-ee):l+g,left:c,side:f,maxListHeight:m}}function ae(e,t){return e.left<=t.width&&e.left+e.width>=0&&e.top<=t.height&&e.top+e.height>=0}var x=(0,s.defineComponent)({__name:`NotificationCenter`,props:{items:{default:()=>[]},unreadCount:{default:void 0},itemCount:{default:void 0},open:{type:Boolean,default:void 0},label:{default:`Notifications`},markAllLabel:{default:`Mark all as read`},markAllPendingLabel:{default:`Marking all as read`},markAllPending:{type:Boolean,default:!1},emptyTitle:{default:`No notifications`},emptyDescription:{default:`New activity shows up here.`},loadingLabel:{default:`Loading notifications`},loading:{type:Boolean,default:!1},error:{type:Boolean,default:!1},errorTitle:{default:`Could not load notifications`},errorDescription:{default:`The request failed. Nothing has been lost.`},errorStaleLabel:{default:`These may be out of date.`},retryLabel:{default:`Try again`},showRetry:{type:Boolean,default:!0},maxCount:{default:99},width:{default:360},maxHeight:{default:384},align:{default:`end`},side:{default:`vertical`},showMarkAll:{type:Boolean,default:!0},interactive:{type:Boolean,default:!0},closeOnSelect:{type:Boolean,default:!0},closeOnNavigate:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},icon:{default:void 0},locale:{default:void 0},unreadLabel:{default:`Unread`},readLabel:{default:`Read`},formatUnread:{type:Function,default:e=>e===1?`1 unread`:`${e} unread`}},emits:[`update:open`,`open`,`close`,`select`,`mark-all-read`,`retry`],setup(e,{expose:g,emit:_}){let v=e,y=(0,s.computed)(()=>v.icon??l),b=_,x=(0,s.useSlots)(),S=`nb-notification-center-${(0,s.useId)()}`,oe=`${S}-title`,se=`${S}-trigger`,C=`${S}-error`,w=(0,s.ref)(null),T=(0,s.ref)(null),E=(0,s.ref)(null),D=(0,s.ref)(null),ce=(0,s.ref)(!1),O=(0,s.computed)(()=>v.open===void 0?ce.value:v.open),k=(0,s.computed)(()=>typeof v.unreadCount==`number`?Math.max(0,v.unreadCount):v.items.filter(e=>!e.read).length),le=(0,s.computed)(()=>k.value>v.maxCount?`${v.maxCount}+`:String(k.value)),ue=(0,s.computed)(()=>k.value>0?`${v.label}, ${v.formatUnread(k.value)}`:v.label),de=(0,s.computed)(()=>{if(typeof v.itemCount==`number`)return Math.max(0,v.itemCount);if(!x.default)return v.items.length}),fe=(0,s.computed)(()=>(de.value??0)>0),A=(0,s.computed)(()=>{if(v.loading)return`loading`;let e=de.value;return v.error&&(e===void 0||e===0)?`error`:e===void 0||e>0?`list`:`empty`}),pe=(0,s.computed)(()=>v.error&&!v.loading&&A.value===`list`&&fe.value);(0,s.ref)(!1),(0,s.watch)(()=>[O.value,!!x.default,v.itemCount],([e,t,n])=>{},{immediate:!0});function j(){b(`retry`)}let M=(0,s.computed)(()=>({id:se,"aria-haspopup":`dialog`,"aria-expanded":O.value?`true`:`false`,"aria-controls":O.value?S:void 0,"aria-label":ue.value,disabled:v.disabled||void 0})),N=(0,s.computed)(()=>({type:`button`,disabled:k.value===0&&!v.markAllPending,"aria-disabled":v.markAllPending?`true`:void 0,"aria-busy":v.markAllPending?`true`:void 0,onClick:Oe})),me=(0,s.computed)(()=>pe.value||A.value===`error`?C:void 0);function P(e){if(!e){E.value=null;return}let t=e instanceof HTMLElement?e:e.$el;E.value=t instanceof HTMLElement?t:null}let F=(0,s.ref)({top:0,left:0,side:`bottom`,maxListHeight:v.maxHeight});function I(){return{width:window.innerWidth,height:window.innerHeight}}function L(){let e=w.value?.getBoundingClientRect();e&&(F.value=ie(e,{align:v.align,side:v.side,width:v.width,maxHeight:v.maxHeight,viewport:I()}))}let he=(0,s.computed)(()=>F.value.bottom===void 0?{top:`${Math.round(F.value.top)}px`,left:`${Math.round(F.value.left)}px`,width:`${v.width}px`}:{bottom:`${Math.round(F.value.bottom)}px`,left:`${Math.round(F.value.left)}px`,width:`${v.width}px`}),R=(0,s.computed)(()=>({maxHeight:`${Math.round(F.value.maxListHeight)}px`})),ge=(0,s.computed)(()=>({"nb-notification-center__panel--start":v.align===`start`,"nb-notification-center__panel--above":F.value.side===`top`,"nb-notification-center__panel--beside":F.value.side===`right`}));function z(e){v.open===void 0&&(ce.value=e),b(`update:open`,e)}function B(){v.disabled||O.value||(L(),z(!0),b(`open`))}function V(e={}){if(!O.value)return;let t=D.value?.contains(document.activeElement);z(!1),b(`close`),(e.restoreFocus??t)&&(0,s.nextTick)(H)}function H(){let e=E.value;if(e?.isConnected){e.focus();return}(w.value?.querySelector(J))?.focus()}function U(){O.value?V({restoreFocus:!0}):B()}let W=(0,s.ref)(0),_e=new Set([`button`,`link`,`menuitem`,`option`]);function ve(e){if(e.tagName===`BUTTON`)return!e.hasAttribute(`disabled`);if(e.tagName===`A`)return e.hasAttribute(`href`);let t=e.getAttribute(`role`);return t!==null&&_e.has(t)}function G(){return D.value?Array.from(D.value.querySelectorAll(`[data-nb-notification-item]`)).filter(e=>!!ve(e)):[]}let ye=(0,s.ref)(void 0);function be(e){let t=T.value;ye.value=t&&t.childElementCount>0&&e.length===0?0:void 0}function K(e){let t=G();be(t),t.length&&(W.value=Math.min(Math.max(e,0),t.length-1),t.forEach((e,t)=>{e.setAttribute(`tabindex`,t===W.value?`0`:`-1`)}))}function q(e){let t=G();if(!t.length)return!1;let n=Math.min(Math.max(e,0),t.length-1);return K(n),t[n]?.focus(),!0}function xe(e){let t=e.target?.closest(`[data-nb-notification-item]`);if(!t)return;let n=G().indexOf(t);n>=0&&K(n)}let J=`a[href]:not([tabindex="-1"]), button:not([disabled]):not([tabindex="-1"]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex="0"]`;function Se(e){return!!e?.closest?.(`input, textarea, select, [contenteditable=""], [contenteditable="true"]`)}function Ce(e){let t=G(),n=e.target?.closest(`[data-nb-notification-item]`),r=n?t.indexOf(n):-1;if(e.key===`Escape`){if(!we(e))return;e.preventDefault(),e.stopPropagation(),V({restoreFocus:!0});return}if(e.key===`Tab`){Te(e);return}if(!Se(e.target))switch(e.key){case`ArrowDown`:q(r<0?0:r+1)&&e.preventDefault();break;case`ArrowUp`:q(r<0?t.length-1:r-1)&&e.preventDefault();break;case`Home`:r>=0&&(e.preventDefault(),q(0));break;case`End`:r>=0&&(e.preventDefault(),q(t.length-1));break;default:break}}function we(e){if(e.defaultPrevented)return!1;let t=(e.target??document.activeElement)?.closest?.(`[aria-modal="true"]`);return!(t&&t!==D.value)}function Te(e){let t=D.value;if(!t)return;let n=Array.from(t.querySelectorAll(J)),r=document.activeElement,i=n[0],a=n[n.length-1],o=!n.length||r===i||!t.contains(r),c=!n.length||r===a;if(e.shiftKey?!o:!c)return;e.preventDefault();let l=e.shiftKey?E.value:Ee();V({restoreFocus:!1}),(0,s.nextTick)(()=>{l?.isConnected?l.focus():H()})}function Ee(){let e=E.value;if(!e)return null;let t=Array.from(document.querySelectorAll(J)).filter(e=>!D.value?.contains(e)).filter(e=>e.tabIndex>=0),n=t.indexOf(e);return n<0?null:t[n+1]??null}function De(e,t){b(`select`,e,t),v.closeOnSelect&&V({restoreFocus:!1})}function Y(e){if(!x.default)return;let t=e.target?.closest(`[data-nb-notification-item]`);if(t&&ve(t)){if(e.type===`keydown`){let n=e.key;if(n!==`Enter`&&n!==` `||t.tagName===`BUTTON`||t.tagName===`A`)return;e.preventDefault()}b(`select`,null,e),v.closeOnSelect&&V({restoreFocus:!1})}}function Oe(){v.markAllPending||b(`mark-all-read`)}function ke(e){let t=e.target;w.value?.contains(t)||D.value?.contains(t)||V({restoreFocus:!1})}function Ae(e){e.key===`Escape`&&(D.value?.contains(document.activeElement)||we(e)&&V({restoreFocus:w.value?.contains(document.activeElement)??!1}))}let X=0;function Z(){!O.value||X||(X=requestAnimationFrame(()=>{X=0,Me()}))}function je(){X&&=(cancelAnimationFrame(X),0)}function Me(){if(!O.value)return;let e=w.value?.getBoundingClientRect();if(e&&!ae(e,I())){V({restoreFocus:!1});return}L()}function Q(){v.closeOnNavigate&&V({restoreFocus:!1})}function Ne(){return window.navigation}function Pe(){document.addEventListener(`mousedown`,ke),document.addEventListener(`keydown`,Ae),window.addEventListener(`resize`,Z),window.addEventListener(`scroll`,Z,!0),window.addEventListener(`popstate`,Q),window.addEventListener(`hashchange`,Q),Ne()?.addEventListener(`navigate`,Q)}function Fe(){je(),document.removeEventListener(`mousedown`,ke),document.removeEventListener(`keydown`,Ae),window.removeEventListener(`resize`,Z),window.removeEventListener(`scroll`,Z,!0),window.removeEventListener(`popstate`,Q),window.removeEventListener(`hashchange`,Q),Ne()?.removeEventListener(`navigate`,Q)}let $=()=>V({restoreFocus:!1});return(0,s.watch)(O,e=>{if(e){for(let e of[...h])e!==$&&e();h.add($),Pe(),(0,s.nextTick)(()=>{L(),K(0),q(0)||D.value?.focus()})}else h.delete($),Fe(),W.value=0}),(0,s.watch)(()=>[v.items.length,A.value],()=>{O.value&&(0,s.nextTick)(()=>K(W.value))}),(0,s.onBeforeUnmount)(()=>{Fe(),h.delete($);let e=D.value;e?.isConnected&&e.remove()}),g({show:B,close:V,toggle:U,isOpen:O,unreadCount:k}),(l,h)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{ref_key:`rootRef`,ref:w,class:`nb-notification-center`},[(0,s.renderSlot)(l.$slots,`trigger`,{open:O.value,toggle:U,show:B,close:V,unreadCount:k.value,badge:le.value,panelId:S,triggerProps:M.value,setTriggerRef:P},()=>[(0,s.createElementVNode)(`button`,(0,s.mergeProps)({ref:P,type:`button`,class:[`nb-notification-center__trigger`,{"nb-notification-center__trigger--active":O.value}]},M.value,{onClick:U}),[(0,s.createVNode)(t.t,{name:y.value,size:18},null,8,[`name`]),k.value>0?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,u,(0,s.toDisplayString)(le.value),1)):(0,s.createCommentVNode)(``,!0)],16)]),((0,s.openBlock)(),(0,s.createBlock)(s.Teleport,{to:`body`},[(0,s.createVNode)(s.Transition,{name:`nb-notification-center-pop`},{default:(0,s.withCtx)(()=>[O.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,id:S,ref_key:`panelRef`,ref:D,class:(0,s.normalizeClass)([`nb-notification-center__panel`,ge.value]),style:(0,s.normalizeStyle)(he.value),role:`dialog`,tabindex:`-1`,"aria-labelledby":oe,"aria-describedby":me.value,"aria-busy":e.loading?`true`:void 0,onKeydown:Ce,onFocusin:xe},[(0,s.createElementVNode)(`div`,f,[(0,s.createElementVNode)(`h2`,{id:oe,class:`nb-notification-center__title`},(0,s.toDisplayString)(e.label),1),(0,s.renderSlot)(l.$slots,`header-start`,{close:V,unreadCount:k.value}),(0,s.renderSlot)(l.$slots,`header-actions`,{close:V,unreadCount:k.value,markAllRead:Oe,markAllPending:e.markAllPending,markAllProps:N.value,markAllText:e.markAllPending?e.markAllPendingLabel:e.markAllLabel},()=>[e.showMarkAll?((0,s.openBlock)(),(0,s.createElementBlock)(`button`,(0,s.mergeProps)({key:0,class:`nb-notification-center__mark-all`},N.value),[e.markAllPending?((0,s.openBlock)(),(0,s.createBlock)(i.t,{key:0,size:`xs`,tone:`inherit`,decorative:``})):(0,s.createCommentVNode)(``,!0),(0,s.createTextVNode)(` `+(0,s.toDisplayString)(e.markAllPending?e.markAllPendingLabel:e.markAllLabel),1)],16)):(0,s.createCommentVNode)(``,!0)])]),(0,s.createElementVNode)(`span`,p,(0,s.toDisplayString)(e.markAllPending?e.markAllPendingLabel:``),1),pe.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,id:C,class:`nb-notification-center__stale`,role:`status`},[(0,s.createVNode)(t.t,{name:(0,s.unref)(c.regular),size:14,"aria-hidden":`true`},null,8,[`name`]),(0,s.createElementVNode)(`span`,m,(0,s.toDisplayString)(e.errorStaleLabel),1),e.showRetry?((0,s.openBlock)(),(0,s.createElementBlock)(`button`,{key:0,type:`button`,class:`nb-notification-center__retry`,onClick:j},(0,s.toDisplayString)(e.retryLabel),1)):(0,s.createCommentVNode)(``,!0)])):(0,s.createCommentVNode)(``,!0),A.value===`loading`?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:1,class:`nb-notification-center__loading`,role:`status`,style:(0,s.normalizeStyle)(R.value)},[(0,s.createElementVNode)(`span`,ee,(0,s.toDisplayString)(e.loadingLabel),1),((0,s.openBlock)(),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(3,e=>(0,s.createVNode)(a.t,{key:e,variant:`text`,type:`body-sm`,lines:2,"last-line-width":`60%`})),64))],4)):A.value===`error`?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:2,id:C,class:`nb-notification-center__error`,role:`alert`},[(0,s.renderSlot)(l.$slots,`error`,{retry:j},()=>[(0,s.createVNode)(n.t,{size:`sm`,kind:`error`,title:e.errorTitle,description:e.errorDescription},(0,s.createSlots)({_:2},[e.showRetry?{name:`actions`,fn:(0,s.withCtx)(()=>[(0,s.createVNode)(r.t,{size:`sm`,variant:`secondary`,onClick:j},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)(e.retryLabel),1)]),_:1})]),key:`0`}:void 0]),1032,[`title`,`description`])])])):A.value===`list`?((0,s.openBlock)(),(0,s.createElementBlock)(`ul`,{key:3,ref_key:`listRef`,ref:T,class:`nb-notification-center__list`,role:`list`,tabindex:ye.value,style:(0,s.normalizeStyle)(R.value),onClick:Y,onKeydown:Y},[(0,s.renderSlot)(l.$slots,`default`,{close:V,items:e.items},()=>[((0,s.openBlock)(!0),(0,s.createElementBlock)(s.Fragment,null,(0,s.renderList)(e.items,t=>((0,s.openBlock)(),(0,s.createBlock)(o.t,{key:t.id,title:t.title,body:t.body,time:t.time,"time-label":t.timeLabel,read:t.read,variant:t.variant??`neutral`,icon:t.icon,href:t.href,interactive:t.interactive??e.interactive,locale:e.locale,"unread-label":e.unreadLabel,"read-label":e.readLabel,onSelect:e=>De(t,e)},null,8,[`title`,`body`,`time`,`time-label`,`read`,`variant`,`icon`,`href`,`interactive`,`locale`,`unread-label`,`read-label`,`onSelect`]))),128))])],44,te)):A.value===`empty`?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,ne,[(0,s.renderSlot)(l.$slots,`empty`,{},()=>[(0,s.createVNode)(n.t,{size:`sm`,icon:y.value,title:e.emptyTitle,description:e.emptyDescription},null,8,[`icon`,`title`,`description`])])])):(0,s.createCommentVNode)(``,!0),l.$slots.footer?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,re,[(0,s.renderSlot)(l.$slots,`footer`,{close:V})])):(0,s.createCommentVNode)(``,!0)],46,d)):(0,s.createCommentVNode)(``,!0)]),_:3})]))],512))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return x}});
@@ -22,13 +22,29 @@ var de = {
22
22
  key: 5,
23
23
  class: "nb-notification-center__footer"
24
24
  }, w = /* @__PURE__ */ new Set(), T = 8, E = 8, D = 96, O = 88, k = 200;
25
- function be(e, { align: t, width: n, maxHeight: r, viewport: i }) {
26
- let a = t === "start" ? e.left : e.left + e.width - n, o = Math.min(Math.max(a, E), Math.max(E, i.width - n - E)), s = e.top + e.height, c = i.height - s - T - E, l = e.top - T - E, u = c < k && l > c ? "top" : "bottom", d = Math.max(O, u === "top" ? l : c), f = Math.max(O, Math.min(r, d - D)), p = Math.min(r + D, d);
25
+ function be(e, { align: t, side: n, width: r, maxHeight: i, viewport: a }) {
26
+ let o = e.left + e.width;
27
+ if (n === "right" && a.width - o - T - E >= r) {
28
+ let n = e.top + e.height, r = t === "end" ? n - E : a.height - e.top - E, s = Math.max(O + D, r), c = Math.min(i + D, s), l = Math.max(O, Math.min(i, s - D));
29
+ return t === "end" ? {
30
+ top: Math.max(E, n - c),
31
+ bottom: Math.max(E, a.height - n),
32
+ left: o + T,
33
+ side: "right",
34
+ maxListHeight: l
35
+ } : {
36
+ top: Math.max(E, Math.min(e.top, a.height - E - c)),
37
+ left: o + T,
38
+ side: "right",
39
+ maxListHeight: l
40
+ };
41
+ }
42
+ let s = t === "start" ? e.left : e.left + e.width - r, c = Math.min(Math.max(s, E), Math.max(E, a.width - r - E)), l = e.top + e.height, u = a.height - l - T - E, d = e.top - T - E, f = u < k && d > u ? "top" : "bottom", p = Math.max(O, f === "top" ? d : u), ee = Math.max(O, Math.min(i, p - D)), te = Math.min(i + D, p);
27
43
  return {
28
- top: u === "top" ? Math.max(E, e.top - T - p) : s + T,
29
- left: o,
30
- side: u,
31
- maxListHeight: f
44
+ top: f === "top" ? Math.max(E, e.top - T - te) : l + T,
45
+ left: c,
46
+ side: f,
47
+ maxListHeight: ee
32
48
  };
33
49
  }
34
50
  function xe(e, t) {
@@ -76,6 +92,7 @@ var A = /* @__PURE__ */ h({
76
92
  width: { default: 360 },
77
93
  maxHeight: { default: 384 },
78
94
  align: { default: "end" },
95
+ side: { default: "vertical" },
79
96
  showMarkAll: {
80
97
  type: Boolean,
81
98
  default: !0
@@ -168,18 +185,24 @@ var A = /* @__PURE__ */ h({
168
185
  let e = N.value?.getBoundingClientRect();
169
186
  e && (B.value = be(e, {
170
187
  align: D.align,
188
+ side: D.side,
171
189
  width: D.width,
172
190
  maxHeight: D.maxHeight,
173
191
  viewport: Fe()
174
192
  }));
175
193
  }
176
- let Ie = l(() => ({
194
+ let Ie = l(() => B.value.bottom === void 0 ? {
177
195
  top: `${Math.round(B.value.top)}px`,
178
196
  left: `${Math.round(B.value.left)}px`,
179
197
  width: `${D.width}px`
180
- })), Le = l(() => ({ maxHeight: `${Math.round(B.value.maxListHeight)}px` })), Re = l(() => ({
198
+ } : {
199
+ bottom: `${Math.round(B.value.bottom)}px`,
200
+ left: `${Math.round(B.value.left)}px`,
201
+ width: `${D.width}px`
202
+ }), Le = l(() => ({ maxHeight: `${Math.round(B.value.maxListHeight)}px` })), Re = l(() => ({
181
203
  "nb-notification-center__panel--start": D.align === "start",
182
- "nb-notification-center__panel--above": B.value.side === "top"
204
+ "nb-notification-center__panel--above": B.value.side === "top",
205
+ "nb-notification-center__panel--beside": B.value.side === "right"
183
206
  }));
184
207
  function ze(e) {
185
208
  D.open === void 0 && (Te.value = e), k("update:open", e);
@@ -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-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
+ 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-CDaJcun8.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-CB4BSCaj.js";
4
+ import { t as r } from "./Select-C4kly9iF.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";
@@ -2,45 +2,46 @@ import { t as e } from "./Icon-rREAqsu0.js";
2
2
  import { t } from "./Label-glcQoGCr.js";
3
3
  import { t as n } from "./Message-Ciyc2nN6.js";
4
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";
5
+ import { useMenuSurface as i } from "./composables/useMenuSurface.composable.mjs";
6
+ import { Fragment as a, Teleport as ee, 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 te, onBeforeUnmount as ne, openBlock as g, ref as _, renderList as v, renderSlot as y, toDisplayString as b, unref as x, useId as re, vModelText as ie, watch as ae, withCtx as S, withDirectives as oe, withKeys as se, withModifiers as C } from "vue";
7
+ import { regular as w } from "@nubisco/ui/icons/caret-down";
8
+ import { regular as T } from "@nubisco/ui/icons/caret-up";
8
9
  //#region src/components/Select.vue?vue&type=script&setup=true&lang.ts
9
- var oe = [
10
+ var ce = [
10
11
  "id",
11
12
  "aria-expanded",
12
13
  "aria-disabled",
13
14
  "aria-required",
14
15
  "disabled"
15
- ], se = [
16
+ ], le = [
16
17
  "id",
17
18
  "aria-expanded",
18
19
  "aria-disabled",
19
20
  "aria-required",
20
21
  "disabled"
21
- ], ce = {
22
+ ], ue = {
22
23
  key: 1,
23
24
  class: "nb-select__inner-label"
24
- }, le = {
25
+ }, de = {
25
26
  key: 0,
26
27
  class: "nb-select__asterisk",
27
28
  "aria-hidden": "true"
28
- }, ue = ["aria-multiselectable"], de = [
29
+ }, fe = ["aria-multiselectable"], pe = [
29
30
  "aria-selected",
30
31
  "aria-disabled",
31
32
  "onMouseenter",
32
33
  "onClick"
33
- ], fe = {
34
+ ], me = {
34
35
  key: 0,
35
36
  class: "nb-select__option-check",
36
37
  "aria-hidden": "true"
37
- }, pe = {
38
+ }, he = {
38
39
  key: 0,
39
40
  viewBox: "0 0 10 8",
40
41
  fill: "none",
41
42
  width: "10",
42
43
  height: "8"
43
- }, me = { class: "nb-select__option-label" }, D = {
44
+ }, E = { class: "nb-select__option-label" }, D = {
44
45
  key: 0,
45
46
  class: "nb-select__empty"
46
47
  }, O = ["placeholder", "onKeydown"], k = /* @__PURE__ */ p({
@@ -81,18 +82,20 @@ var oe = [
81
82
  "create"
82
83
  ],
83
84
  setup(p, { expose: k, emit: A }) {
84
- let j = p, M = A, N = v("");
85
- function he() {
85
+ let j = p, M = A, N = _("");
86
+ function ge() {
86
87
  let e = N.value.trim();
87
88
  e && (M("create", e), N.value = "");
88
89
  }
89
- let P = v(!1), F = v(!1), I = v(-1), L = v(null), R = v(null), z = v(null), B = v({
90
+ let P = _(!1), F = _(!1), I = _(-1), L = _(null), R = _(null), z = _(null);
91
+ i(z);
92
+ let B = _({
90
93
  position: "fixed",
91
94
  top: "0px",
92
95
  left: "0px",
93
96
  width: "0px",
94
97
  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(() => {
98
+ }), _e = `nb-select-${re()}`, V = o(() => j.id ?? _e), H = o(() => j.modelValue == null ? [] : Array.isArray(j.modelValue) ? j.modelValue : [j.modelValue]), U = o(() => {
96
99
  if (!(j.multiple || H.value.length !== 1)) return (j.options ?? []).find((e) => e.value === H.value[0])?.icon;
97
100
  }), W = o(() => {
98
101
  if (H.value.length === 0) return "";
@@ -143,12 +146,12 @@ var oe = [
143
146
  function Q() {
144
147
  P.value && q();
145
148
  }
146
- re(P, (e) => {
149
+ ae(P, (e) => {
147
150
  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(() => {
151
+ }), ne(() => {
149
152
  document.removeEventListener("mousedown", Z), window.removeEventListener("scroll", Q, !0), window.removeEventListener("resize", Q);
150
153
  });
151
- function _e(e) {
154
+ function ve(e) {
152
155
  let t = j.options ?? [];
153
156
  if (!P.value) {
154
157
  (e.key === "Enter" || e.key === " " || e.key === "ArrowDown") && (e.preventDefault(), J());
@@ -161,7 +164,7 @@ var oe = [
161
164
  !z.value || I.value < 0 || z.value.querySelectorAll(".nb-select__option")[I.value]?.scrollIntoView({ block: "nearest" });
162
165
  });
163
166
  }
164
- let ve = o(() => [
167
+ let ye = o(() => [
165
168
  "nb-select",
166
169
  `nb-select--${j.variant}`,
167
170
  `nb-select--${j.size}`,
@@ -176,19 +179,19 @@ var oe = [
176
179
  return k({
177
180
  open: J,
178
181
  close: Y
179
- }), (o, m) => (_(), l(i, null, [u("div", {
182
+ }), (i, o) => (g(), l(a, null, [u("div", {
180
183
  ref_key: "rootRef",
181
184
  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, {
185
+ class: h(ye.value),
186
+ onKeydown: ve
187
+ }, [p.variant === "default" ? (g(), l(a, { key: 0 }, [
188
+ i.$slots.label ? y(i.$slots, "label", { key: 0 }) : p.label ? (g(), s(t, {
186
189
  key: 1,
187
190
  for: V.value,
188
191
  required: p.required,
189
192
  disabled: p.disabled
190
193
  }, {
191
- default: C(() => [d(b(p.label), 1)]),
194
+ default: S(() => [d(b(p.label), 1)]),
192
195
  _: 1
193
196
  }, 8, [
194
197
  "for",
@@ -208,36 +211,36 @@ var oe = [
208
211
  "aria-required": p.required || void 0,
209
212
  disabled: p.disabled || void 0,
210
213
  onClick: X,
211
- onFocus: m[0] ||= (e) => F.value = !0,
212
- onBlur: m[1] ||= (e) => F.value = !1
214
+ onFocus: o[0] ||= (e) => F.value = !0,
215
+ onBlur: o[1] ||= (e) => F.value = !1
213
216
  }, [
214
217
  u("span", { class: h(["nb-select__value", {
215
218
  "nb-select__value--placeholder": !W.value,
216
219
  "nb-select__value--with-icon": !!U.value
217
- }]) }, [U.value ? (_(), s(e, {
220
+ }]) }, [U.value ? (g(), s(e, {
218
221
  key: 0,
219
222
  class: "nb-select__value-icon",
220
223
  name: U.value,
221
224
  size: 16
222
- }, null, 8, ["name"])) : c("", !0), W.value ? y(o.$slots, "value", {
225
+ }, null, 8, ["name"])) : c("", !0), W.value ? y(i.$slots, "value", {
223
226
  key: 1,
224
227
  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, {
228
+ }, () => [d(b(W.value), 1)]) : (g(), l(a, { key: 2 }, [d(b(p.placeholder), 1)], 64))], 2),
229
+ p.error ? (g(), s(n, {
227
230
  key: 0,
228
231
  variant: "error",
229
232
  "icon-only": !0,
230
233
  class: "nb-select__status-icon"
231
234
  }, {
232
- default: C(() => [d(b(p.error), 1)]),
235
+ default: S(() => [d(b(p.error), 1)]),
233
236
  _: 1
234
- })) : p.warning ? (_(), s(n, {
237
+ })) : p.warning ? (g(), s(n, {
235
238
  key: 1,
236
239
  variant: "warning",
237
240
  "icon-only": !0,
238
241
  class: "nb-select__status-icon"
239
242
  }, {
240
- default: C(() => [d(b(p.warning), 1)]),
243
+ default: S(() => [d(b(p.warning), 1)]),
241
244
  _: 1
242
245
  })) : c("", !0),
243
246
  f(r, {
@@ -245,36 +248,36 @@ var oe = [
245
248
  justify: "center",
246
249
  class: "nb-select__caret"
247
250
  }, {
248
- default: C(() => [f(e, {
249
- name: P.value ? x(E) : x(T),
251
+ default: S(() => [f(e, {
252
+ name: P.value ? x(T) : x(w),
250
253
  size: 16
251
254
  }, null, 8, ["name"])]),
252
255
  _: 1
253
256
  })
254
- ], 40, oe),
255
- p.error ? (_(), s(n, {
257
+ ], 40, ce),
258
+ p.error ? (g(), s(n, {
256
259
  key: 2,
257
260
  variant: "error",
258
261
  class: "nb-select__message"
259
262
  }, {
260
- default: C(() => [d(b(p.error), 1)]),
263
+ default: S(() => [d(b(p.error), 1)]),
261
264
  _: 1
262
- })) : p.warning ? (_(), s(n, {
265
+ })) : p.warning ? (g(), s(n, {
263
266
  key: 3,
264
267
  variant: "warning",
265
268
  class: "nb-select__message"
266
269
  }, {
267
- default: C(() => [d(b(p.warning), 1)]),
270
+ default: S(() => [d(b(p.warning), 1)]),
268
271
  _: 1
269
- })) : p.helper ? (_(), s(n, {
272
+ })) : p.helper ? (g(), s(n, {
270
273
  key: 4,
271
274
  variant: "helper",
272
275
  class: "nb-select__message"
273
276
  }, {
274
- default: C(() => [d(b(p.helper), 1)]),
277
+ default: S(() => [d(b(p.helper), 1)]),
275
278
  _: 1
276
279
  })) : c("", !0)
277
- ], 64)) : p.variant === "fluid" ? (_(), l(i, { key: 1 }, [u("button", {
280
+ ], 64)) : p.variant === "fluid" ? (g(), l(a, { key: 1 }, [u("button", {
278
281
  id: V.value,
279
282
  ref_key: "triggerRef",
280
283
  ref: R,
@@ -287,22 +290,22 @@ var oe = [
287
290
  "aria-required": p.required || void 0,
288
291
  disabled: p.disabled || void 0,
289
292
  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
+ onFocus: o[2] ||= (e) => F.value = !0,
294
+ onBlur: o[3] ||= (e) => F.value = !1
295
+ }, [p.label || i.$slots.label ? (g(), s(r, {
293
296
  key: 0,
294
297
  dir: "row",
295
298
  align: "center",
296
299
  gap: "xs",
297
300
  class: "nb-select__inner-header"
298
301
  }, {
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, {
302
+ default: S(() => [i.$slots.label ? y(i.$slots, "label", { key: 0 }) : (g(), l("label", ue, [d(b(p.label) + " ", 1), p.required ? (g(), l("span", de, "*")) : c("", !0)])), p.helper && !p.error && !p.warning ? (g(), s(n, {
300
303
  key: 2,
301
304
  variant: "helper",
302
305
  "icon-only": !0,
303
306
  class: "nb-select__inner-message"
304
307
  }, {
305
- default: C(() => [d(b(p.helper), 1)]),
308
+ default: S(() => [d(b(p.helper), 1)]),
306
309
  _: 1
307
310
  })) : c("", !0)]),
308
311
  _: 3
@@ -312,53 +315,53 @@ var oe = [
312
315
  flex: "",
313
316
  class: "nb-select__value-row"
314
317
  }, {
315
- default: C(() => [u("span", { class: h(["nb-select__value", {
318
+ default: S(() => [u("span", { class: h(["nb-select__value", {
316
319
  "nb-select__value--placeholder": !W.value,
317
320
  "nb-select__value--with-icon": !!U.value
318
- }]) }, [U.value ? (_(), s(e, {
321
+ }]) }, [U.value ? (g(), s(e, {
319
322
  key: 0,
320
323
  class: "nb-select__value-icon",
321
324
  name: U.value,
322
325
  size: 16
323
- }, null, 8, ["name"])) : c("", !0), W.value ? y(o.$slots, "value", {
326
+ }, null, 8, ["name"])) : c("", !0), W.value ? y(i.$slots, "value", {
324
327
  key: 1,
325
328
  values: H.value
326
- }, () => [d(b(W.value), 1)]) : (_(), l(i, { key: 2 }, [d(b(p.placeholder), 1)], 64))], 2), f(r, {
329
+ }, () => [d(b(W.value), 1)]) : (g(), l(a, { key: 2 }, [d(b(p.placeholder), 1)], 64))], 2), f(r, {
327
330
  align: "center",
328
331
  justify: "center",
329
332
  class: "nb-select__caret"
330
333
  }, {
331
- default: C(() => [f(e, {
332
- name: P.value ? x(E) : x(T),
334
+ default: S(() => [f(e, {
335
+ name: P.value ? x(T) : x(w),
333
336
  size: 16
334
337
  }, null, 8, ["name"])]),
335
338
  _: 1
336
339
  })]),
337
340
  _: 3
338
- })], 40, se), p.error ? (_(), s(n, {
341
+ })], 40, le), p.error ? (g(), s(n, {
339
342
  key: 0,
340
343
  variant: "error",
341
344
  class: "nb-select__fluid-message"
342
345
  }, {
343
- default: C(() => [d(b(p.error), 1)]),
346
+ default: S(() => [d(b(p.error), 1)]),
344
347
  _: 1
345
- })) : p.warning ? (_(), s(n, {
348
+ })) : p.warning ? (g(), s(n, {
346
349
  key: 1,
347
350
  variant: "warning",
348
351
  class: "nb-select__fluid-message"
349
352
  }, {
350
- default: C(() => [d(b(p.warning), 1)]),
353
+ default: S(() => [d(b(p.warning), 1)]),
351
354
  _: 1
352
- })) : c("", !0)], 64)) : c("", !0)], 34), (_(), s(a, { to: "body" }, [P.value ? (_(), l("div", {
355
+ })) : c("", !0)], 64)) : c("", !0)], 34), (g(), s(ee, { to: "body" }, [P.value ? (g(), l("div", {
353
356
  key: 0,
354
357
  ref_key: "dropdownRef",
355
358
  ref: z,
356
359
  class: "nb-select__dropdown",
357
- style: g(B.value),
360
+ style: te(B.value),
358
361
  role: "listbox",
359
362
  "aria-multiselectable": p.multiple || void 0
360
363
  }, [
361
- (_(!0), l(i, null, te(p.options, (t, n) => (_(), l("div", {
364
+ (g(!0), l(a, null, v(p.options, (t, n) => (g(), l("div", {
362
365
  key: t.value,
363
366
  class: h(["nb-select__option", {
364
367
  "nb-select__option--selected": G(t.value),
@@ -371,34 +374,34 @@ var oe = [
371
374
  onMouseenter: (e) => I.value = n,
372
375
  onClick: (e) => K(t)
373
376
  }, [
374
- p.multiple ? (_(), l("span", fe, [G(t.value) ? (_(), l("svg", pe, [...m[7] ||= [u("path", {
377
+ p.multiple ? (g(), l("span", me, [G(t.value) ? (g(), l("svg", he, [...o[7] ||= [u("path", {
375
378
  d: "M1 4l3 3 5-6",
376
379
  stroke: "currentColor",
377
380
  "stroke-width": "1.5",
378
381
  "stroke-linecap": "round",
379
382
  "stroke-linejoin": "round"
380
383
  }, null, -1)]])) : c("", !0)])) : c("", !0),
381
- t.icon ? (_(), s(e, {
384
+ t.icon ? (g(), s(e, {
382
385
  key: 1,
383
386
  class: "nb-select__option-icon",
384
387
  name: t.icon,
385
388
  size: 16
386
389
  }, 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", {
390
+ u("span", E, [y(i.$slots, "option", { option: t }, () => [d(b(t.label), 1)])])
391
+ ], 42, pe))), 128)),
392
+ !p.options || p.options.length === 0 ? (g(), l("div", D, " No options ")) : c("", !0),
393
+ p.creatable ? (g(), l("div", {
391
394
  key: 1,
392
395
  class: "nb-select__create",
393
- onMousedown: m[6] ||= w(() => {}, ["prevent"])
394
- }, [ie(u("input", {
395
- "onUpdate:modelValue": m[4] ||= (e) => N.value = e,
396
+ onMousedown: o[6] ||= C(() => {}, ["prevent"])
397
+ }, [oe(u("input", {
398
+ "onUpdate:modelValue": o[4] ||= (e) => N.value = e,
396
399
  type: "text",
397
400
  class: "nb-select__create-input",
398
401
  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
+ onKeydown: [se(C(ge, ["prevent"]), ["enter"]), o[5] ||= C(() => {}, ["stop"])]
403
+ }, null, 40, O), [[ie, N.value]])], 32)) : c("", !0)
404
+ ], 12, fe)) : c("", !0)]))], 64));
402
405
  }
403
406
  });
404
407
  //#endregion
@@ -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`),i=require(`./composables/useMenuSurface.composable.cjs`);let a=require(`vue`),o=require(`@nubisco/ui/icons/caret-down`),s=require(`@nubisco/ui/icons/caret-up`);var c=[`id`,`aria-expanded`,`aria-disabled`,`aria-required`,`disabled`],l=[`id`,`aria-expanded`,`aria-disabled`,`aria-required`,`disabled`],u={key:1,class:`nb-select__inner-label`},d={key:0,class:`nb-select__asterisk`,"aria-hidden":`true`},f=[`aria-multiselectable`],p=[`aria-selected`,`aria-disabled`,`onMouseenter`,`onClick`],m={key:0,class:`nb-select__option-check`,"aria-hidden":`true`},h={key:0,viewBox:`0 0 10 8`,fill:`none`,width:`10`,height:`8`},g={class:`nb-select__option-label`},_={key:0,class:`nb-select__empty`},v=[`placeholder`,`onKeydown`],y=(0,a.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(y,{expose:b,emit:x}){let S=y,C=x,w=(0,a.ref)(``);function T(){let e=w.value.trim();e&&(C(`create`,e),w.value=``)}let E=(0,a.ref)(!1),D=(0,a.ref)(!1),O=(0,a.ref)(-1),k=(0,a.ref)(null),A=(0,a.ref)(null),j=(0,a.ref)(null);i.useMenuSurface(j);let M=(0,a.ref)({position:`fixed`,top:`0px`,left:`0px`,width:`0px`,zIndex:`9999`}),N=`nb-select-${(0,a.useId)()}`,P=(0,a.computed)(()=>S.id??N),F=(0,a.computed)(()=>S.modelValue==null?[]:Array.isArray(S.modelValue)?S.modelValue:[S.modelValue]),I=(0,a.computed)(()=>{if(!(S.multiple||F.value.length!==1))return(S.options??[]).find(e=>e.value===F.value[0])?.icon}),L=(0,a.computed)(()=>{if(F.value.length===0)return``;let e=S.options??[];return S.multiple?F.value.length===1?e.find(e=>e.value===F.value[0])?.label??String(F.value[0]):F.value.length===2?F.value.map(t=>e.find(e=>e.value===t)?.label??String(t)).join(`, `):`${F.value.length} selected`:e.find(e=>e.value===F.value[0])?.label??String(F.value[0])});function R(e){return F.value.includes(e)}function z(e){if(e.disabled)return;let t;if(S.multiple){let n=[...F.value],r=n.indexOf(e.value);r>=0?n.splice(r,1):n.push(e.value),t=n}else t=e.value,H();C(`update:modelValue`,t),C(`change`,t)}function B(){if(!A.value)return;let e=A.value.getBoundingClientRect(),t=j.value?.offsetHeight??0,n=window.innerHeight-e.bottom,r=e.top;M.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 V(){if(S.disabled)return;E.value=!0,B();let e=S.options??[];O.value=F.value.length>0?Math.max(0,e.findIndex(e=>e.value===F.value[0])):-1,(0,a.nextTick)(()=>{B(),q()})}function H(){E.value=!1,O.value=-1}function U(){E.value?H():V()}function W(e){let t=e.target,n=k.value?.contains(t)??!1,r=j.value?.contains(t)??!1;!n&&!r&&H()}function G(){E.value&&B()}(0,a.watch)(E,e=>{e?(document.addEventListener(`mousedown`,W),window.addEventListener(`scroll`,G,!0),window.addEventListener(`resize`,G)):(document.removeEventListener(`mousedown`,W),window.removeEventListener(`scroll`,G,!0),window.removeEventListener(`resize`,G))}),(0,a.onBeforeUnmount)(()=>{document.removeEventListener(`mousedown`,W),window.removeEventListener(`scroll`,G,!0),window.removeEventListener(`resize`,G)});function K(e){let t=S.options??[];if(!E.value){(e.key===`Enter`||e.key===` `||e.key===`ArrowDown`)&&(e.preventDefault(),V());return}e.key===`Escape`?(H(),e.preventDefault()):e.key===`Tab`?H():e.key===`ArrowDown`?(e.preventDefault(),O.value=Math.min(O.value+1,t.length-1),q()):e.key===`ArrowUp`?(e.preventDefault(),O.value=Math.max(O.value-1,0),q()):(e.key===`Enter`||e.key===` `)&&O.value>=0&&(e.preventDefault(),z(t[O.value]))}function q(){(0,a.nextTick)(()=>{!j.value||O.value<0||j.value.querySelectorAll(`.nb-select__option`)[O.value]?.scrollIntoView({block:`nearest`})})}let J=(0,a.computed)(()=>[`nb-select`,`nb-select--${S.variant}`,`nb-select--${S.size}`,{"nb-select--open":E.value,"nb-select--focused":D.value&&!E.value,"nb-select--error":!!S.error,"nb-select--warning":!S.error&&!!S.warning,"nb-select--multiple":S.multiple}]);return b({open:V,close:H}),(i,b)=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,null,[(0,a.createElementVNode)(`div`,{ref_key:`rootRef`,ref:k,class:(0,a.normalizeClass)(J.value),onKeydown:K},[y.variant===`default`?((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:0},[i.$slots.label?(0,a.renderSlot)(i.$slots,`label`,{key:0}):y.label?((0,a.openBlock)(),(0,a.createBlock)(t.t,{key:1,for:P.value,required:y.required,disabled:y.disabled},{default:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(y.label),1)]),_:1},8,[`for`,`required`,`disabled`])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`button`,{id:P.value,ref_key:`triggerRef`,ref:A,type:`button`,class:`nb-select__trigger`,role:`combobox`,"aria-expanded":E.value,"aria-haspopup":`listbox`,"aria-disabled":y.disabled||void 0,"aria-required":y.required||void 0,disabled:y.disabled||void 0,onClick:U,onFocus:b[0]||=e=>D.value=!0,onBlur:b[1]||=e=>D.value=!1},[(0,a.createElementVNode)(`span`,{class:(0,a.normalizeClass)([`nb-select__value`,{"nb-select__value--placeholder":!L.value,"nb-select__value--with-icon":!!I.value}])},[I.value?((0,a.openBlock)(),(0,a.createBlock)(e.t,{key:0,class:`nb-select__value-icon`,name:I.value,size:16},null,8,[`name`])):(0,a.createCommentVNode)(``,!0),L.value?(0,a.renderSlot)(i.$slots,`value`,{key:1,values:F.value},()=>[(0,a.createTextVNode)((0,a.toDisplayString)(L.value),1)]):((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:2},[(0,a.createTextVNode)((0,a.toDisplayString)(y.placeholder),1)],64))],2),y.error?((0,a.openBlock)(),(0,a.createBlock)(n.t,{key:0,variant:`error`,"icon-only":!0,class:`nb-select__status-icon`},{default:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(y.error),1)]),_:1})):y.warning?((0,a.openBlock)(),(0,a.createBlock)(n.t,{key:1,variant:`warning`,"icon-only":!0,class:`nb-select__status-icon`},{default:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(y.warning),1)]),_:1})):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)(r.t,{align:`center`,justify:`center`,class:`nb-select__caret`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(e.t,{name:E.value?(0,a.unref)(s.regular):(0,a.unref)(o.regular),size:16},null,8,[`name`])]),_:1})],40,c),y.error?((0,a.openBlock)(),(0,a.createBlock)(n.t,{key:2,variant:`error`,class:`nb-select__message`},{default:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(y.error),1)]),_:1})):y.warning?((0,a.openBlock)(),(0,a.createBlock)(n.t,{key:3,variant:`warning`,class:`nb-select__message`},{default:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(y.warning),1)]),_:1})):y.helper?((0,a.openBlock)(),(0,a.createBlock)(n.t,{key:4,variant:`helper`,class:`nb-select__message`},{default:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(y.helper),1)]),_:1})):(0,a.createCommentVNode)(``,!0)],64)):y.variant===`fluid`?((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:1},[(0,a.createElementVNode)(`button`,{id:P.value,ref_key:`triggerRef`,ref:A,type:`button`,class:`nb-select__trigger`,role:`combobox`,"aria-expanded":E.value,"aria-haspopup":`listbox`,"aria-disabled":y.disabled||void 0,"aria-required":y.required||void 0,disabled:y.disabled||void 0,onClick:U,onFocus:b[2]||=e=>D.value=!0,onBlur:b[3]||=e=>D.value=!1},[y.label||i.$slots.label?((0,a.openBlock)(),(0,a.createBlock)(r.t,{key:0,dir:`row`,align:`center`,gap:`xs`,class:`nb-select__inner-header`},{default:(0,a.withCtx)(()=>[i.$slots.label?(0,a.renderSlot)(i.$slots,`label`,{key:0}):((0,a.openBlock)(),(0,a.createElementBlock)(`label`,u,[(0,a.createTextVNode)((0,a.toDisplayString)(y.label)+` `,1),y.required?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,d,`*`)):(0,a.createCommentVNode)(``,!0)])),y.helper&&!y.error&&!y.warning?((0,a.openBlock)(),(0,a.createBlock)(n.t,{key:2,variant:`helper`,"icon-only":!0,class:`nb-select__inner-message`},{default:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(y.helper),1)]),_:1})):(0,a.createCommentVNode)(``,!0)]),_:3})):(0,a.createCommentVNode)(``,!0),(0,a.createVNode)(r.t,{dir:`row`,align:`end`,flex:``,class:`nb-select__value-row`},{default:(0,a.withCtx)(()=>[(0,a.createElementVNode)(`span`,{class:(0,a.normalizeClass)([`nb-select__value`,{"nb-select__value--placeholder":!L.value,"nb-select__value--with-icon":!!I.value}])},[I.value?((0,a.openBlock)(),(0,a.createBlock)(e.t,{key:0,class:`nb-select__value-icon`,name:I.value,size:16},null,8,[`name`])):(0,a.createCommentVNode)(``,!0),L.value?(0,a.renderSlot)(i.$slots,`value`,{key:1,values:F.value},()=>[(0,a.createTextVNode)((0,a.toDisplayString)(L.value),1)]):((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:2},[(0,a.createTextVNode)((0,a.toDisplayString)(y.placeholder),1)],64))],2),(0,a.createVNode)(r.t,{align:`center`,justify:`center`,class:`nb-select__caret`},{default:(0,a.withCtx)(()=>[(0,a.createVNode)(e.t,{name:E.value?(0,a.unref)(s.regular):(0,a.unref)(o.regular),size:16},null,8,[`name`])]),_:1})]),_:3})],40,l),y.error?((0,a.openBlock)(),(0,a.createBlock)(n.t,{key:0,variant:`error`,class:`nb-select__fluid-message`},{default:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(y.error),1)]),_:1})):y.warning?((0,a.openBlock)(),(0,a.createBlock)(n.t,{key:1,variant:`warning`,class:`nb-select__fluid-message`},{default:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(y.warning),1)]),_:1})):(0,a.createCommentVNode)(``,!0)],64)):(0,a.createCommentVNode)(``,!0)],34),((0,a.openBlock)(),(0,a.createBlock)(a.Teleport,{to:`body`},[E.value?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,ref_key:`dropdownRef`,ref:j,class:`nb-select__dropdown`,style:(0,a.normalizeStyle)(M.value),role:`listbox`,"aria-multiselectable":y.multiple||void 0},[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(y.options,(t,n)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:t.value,class:(0,a.normalizeClass)([`nb-select__option`,{"nb-select__option--selected":R(t.value),"nb-select__option--highlighted":O.value===n,"nb-select__option--disabled":t.disabled}]),role:`option`,"aria-selected":R(t.value),"aria-disabled":t.disabled||void 0,onMouseenter:e=>O.value=n,onClick:e=>z(t)},[y.multiple?((0,a.openBlock)(),(0,a.createElementBlock)(`span`,m,[R(t.value)?((0,a.openBlock)(),(0,a.createElementBlock)(`svg`,h,[...b[7]||=[(0,a.createElementVNode)(`path`,{d:`M1 4l3 3 5-6`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):(0,a.createCommentVNode)(``,!0)])):(0,a.createCommentVNode)(``,!0),t.icon?((0,a.openBlock)(),(0,a.createBlock)(e.t,{key:1,class:`nb-select__option-icon`,name:t.icon,size:16},null,8,[`name`])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`span`,g,[(0,a.renderSlot)(i.$slots,`option`,{option:t},()=>[(0,a.createTextVNode)((0,a.toDisplayString)(t.label),1)])])],42,p))),128)),!y.options||y.options.length===0?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,_,` No options `)):(0,a.createCommentVNode)(``,!0),y.creatable?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:1,class:`nb-select__create`,onMousedown:b[6]||=(0,a.withModifiers)(()=>{},[`prevent`])},[(0,a.withDirectives)((0,a.createElementVNode)(`input`,{"onUpdate:modelValue":b[4]||=e=>w.value=e,type:`text`,class:`nb-select__create-input`,placeholder:y.createPlaceholder||`Add new…`,onKeydown:[(0,a.withKeys)((0,a.withModifiers)(T,[`prevent`]),[`enter`]),b[5]||=(0,a.withModifiers)(()=>{},[`stop`])]},null,40,v),[[a.vModelText,w.value]])],32)):(0,a.createCommentVNode)(``,!0)],12,f)):(0,a.createCommentVNode)(``,!0)]))],64))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return y}});
@@ -1 +1 @@
1
- require(`./chunk-D-qHiVGv.cjs`);const e=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),t=require(`./Icon-C8R_r_In.cjs`),n=require(`./composables/useStableId.composable.cjs`),r=require(`./Badge-BOF-mQu9.cjs`),i=require(`./utils/slotContent.helper.cjs`);let a=require(`vue`);var o=function(e){return e.Line=`line`,e.Contained=`contained`,e}(o||{}),s=function(e){return e.Small=`sm`,e.Medium=`md`,e.Large=`lg`,e}(s||{}),c=[`aria-label`],l=[`id`,`data-tab-id`,`aria-selected`,`aria-controls`,`tabindex`,`disabled`,`onClick`],u={class:`nb-tabs__label`},d=[`id`,`aria-labelledby`],f=(0,a.defineComponent)({__name:`Tabs`,props:{items:{},ariaLabel:{default:void 0},modelValue:{default:void 0},variant:{default:o.Line},size:{default:s.Medium},disabled:{type:Boolean,default:!1},fullWidth:{type:Boolean,default:!1},id:{default:void 0}},emits:[`update:modelValue`,`change`],setup(e,{emit:o}){let f=e,p=o,m=(0,a.useSlots)(),h=n.useStableId(f),g=(0,a.ref)(null),_=(0,a.computed)(()=>f.items.filter(e=>!S(e))),v=(0,a.ref)(f.modelValue??_.value[0]?.id);(0,a.watch)(()=>f.modelValue,e=>{e!=null&&(v.value=e)});let y=(0,a.computed)(()=>{let e=f.modelValue??v.value,t=f.items.find(t=>t.id===e);return t&&!S(t)?t.id:_.value[0]?.id}),b=(0,a.computed)(()=>f.size===s.Large?18:16),x=(0,a.computed)(()=>[`nb-tabs`,`nb-tabs--${f.variant}`,`nb-tabs--${f.size}`,{"nb-tabs--full-width":f.fullWidth,"nb-tabs--disabled":f.disabled}]);function S(e){return f.disabled||!!e.disabled}function C(e){return`${h}-tab-${e}`}function w(e){return`${h}-panel-${e}`}function T(e){return i.hasSlotContent(m,e)}function E(e){S(e)||e.id===y.value||(v.value=e.id,p(`update:modelValue`,e.id),p(`change`,e.id,e))}function D(e){(g.value?.querySelectorAll(`[data-tab-id]`))?.forEach(t=>{t.dataset.tabId===e&&t.focus()})}function O(e){let t=_.value;if(!t.length)return;let n=t[(t.findIndex(e=>e.id===y.value)+e+t.length)%t.length];E(n),D(n.id)}function k(e){e&&(E(e),D(e.id))}function A(e){switch(e.key){case`ArrowRight`:O(1);break;case`ArrowLeft`:O(-1);break;case`Home`:k(_.value[0]);break;case`End`:k(_.value[_.value.length-1]);break;default:return}e.preventDefault()}return(n,i)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{class:(0,a.normalizeClass)(x.value)},[(0,a.createElementVNode)(`div`,{ref_key:`listRef`,ref:g,class:`nb-tabs__list`,role:`tablist`,"aria-label":e.ariaLabel||void 0,onKeydown:A},[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(e.items,e=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{id:C(e.id),key:e.id,"data-tab-id":e.id,type:`button`,role:`tab`,class:(0,a.normalizeClass)([`nb-tabs__tab`,{"nb-tabs__tab--active":e.id===y.value}]),"aria-selected":e.id===y.value,"aria-controls":T(e.id)?w(e.id):void 0,tabindex:e.id===y.value?0:-1,disabled:S(e),onClick:t=>E(e)},[e.icon?((0,a.openBlock)(),(0,a.createBlock)(t.t,{key:0,name:e.icon,size:b.value,class:`nb-tabs__icon`},null,8,[`name`,`size`])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`span`,u,(0,a.toDisplayString)(e.label),1),e.badge==null?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createBlock)(r.t,{key:1,size:`sm`,class:`nb-tabs__badge`},{default:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(e.badge),1)]),_:2},1024))],10,l))),128))],40,c),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(e.items,e=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:`panel-${e.id}`},[e.id===y.value&&T(e.id)?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,id:w(e.id),class:`nb-tabs__panel`,role:`tabpanel`,"aria-labelledby":C(e.id),tabindex:`0`},[(0,a.renderSlot)(n.$slots,e.id,{item:e},void 0,!0)],8,d)):(0,a.createCommentVNode)(``,!0)],64))),128))],2))}}),p=e.t(f,[[`__scopeId`,`data-v-9d551266`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
1
+ require(`./chunk-D-qHiVGv.cjs`);const e=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),t=require(`./Icon-C8R_r_In.cjs`),n=require(`./composables/useStableId.composable.cjs`),r=require(`./Badge-BgCdM21g.cjs`),i=require(`./utils/slotContent.helper.cjs`);let a=require(`vue`);var o=function(e){return e.Line=`line`,e.Contained=`contained`,e}(o||{}),s=function(e){return e.Small=`sm`,e.Medium=`md`,e.Large=`lg`,e}(s||{}),c=[`aria-label`],l=[`id`,`data-tab-id`,`aria-selected`,`aria-controls`,`tabindex`,`disabled`,`onClick`],u={class:`nb-tabs__label`},d=[`id`,`aria-labelledby`],f=(0,a.defineComponent)({__name:`Tabs`,props:{items:{},ariaLabel:{default:void 0},modelValue:{default:void 0},variant:{default:o.Line},size:{default:s.Medium},disabled:{type:Boolean,default:!1},fullWidth:{type:Boolean,default:!1},id:{default:void 0}},emits:[`update:modelValue`,`change`],setup(e,{emit:o}){let f=e,p=o,m=(0,a.useSlots)(),h=n.useStableId(f),g=(0,a.ref)(null),_=(0,a.computed)(()=>f.items.filter(e=>!S(e))),v=(0,a.ref)(f.modelValue??_.value[0]?.id);(0,a.watch)(()=>f.modelValue,e=>{e!=null&&(v.value=e)});let y=(0,a.computed)(()=>{let e=f.modelValue??v.value,t=f.items.find(t=>t.id===e);return t&&!S(t)?t.id:_.value[0]?.id}),b=(0,a.computed)(()=>f.size===s.Large?18:16),x=(0,a.computed)(()=>[`nb-tabs`,`nb-tabs--${f.variant}`,`nb-tabs--${f.size}`,{"nb-tabs--full-width":f.fullWidth,"nb-tabs--disabled":f.disabled}]);function S(e){return f.disabled||!!e.disabled}function C(e){return`${h}-tab-${e}`}function w(e){return`${h}-panel-${e}`}function T(e){return i.hasSlotContent(m,e)}function E(e){S(e)||e.id===y.value||(v.value=e.id,p(`update:modelValue`,e.id),p(`change`,e.id,e))}function D(e){(g.value?.querySelectorAll(`[data-tab-id]`))?.forEach(t=>{t.dataset.tabId===e&&t.focus()})}function O(e){let t=_.value;if(!t.length)return;let n=t[(t.findIndex(e=>e.id===y.value)+e+t.length)%t.length];E(n),D(n.id)}function k(e){e&&(E(e),D(e.id))}function A(e){switch(e.key){case`ArrowRight`:O(1);break;case`ArrowLeft`:O(-1);break;case`Home`:k(_.value[0]);break;case`End`:k(_.value[_.value.length-1]);break;default:return}e.preventDefault()}return(n,i)=>((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{class:(0,a.normalizeClass)(x.value)},[(0,a.createElementVNode)(`div`,{ref_key:`listRef`,ref:g,class:`nb-tabs__list`,role:`tablist`,"aria-label":e.ariaLabel||void 0,onKeydown:A},[((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(e.items,e=>((0,a.openBlock)(),(0,a.createElementBlock)(`button`,{id:C(e.id),key:e.id,"data-tab-id":e.id,type:`button`,role:`tab`,class:(0,a.normalizeClass)([`nb-tabs__tab`,{"nb-tabs__tab--active":e.id===y.value}]),"aria-selected":e.id===y.value,"aria-controls":T(e.id)?w(e.id):void 0,tabindex:e.id===y.value?0:-1,disabled:S(e),onClick:t=>E(e)},[e.icon?((0,a.openBlock)(),(0,a.createBlock)(t.t,{key:0,name:e.icon,size:b.value,class:`nb-tabs__icon`},null,8,[`name`,`size`])):(0,a.createCommentVNode)(``,!0),(0,a.createElementVNode)(`span`,u,(0,a.toDisplayString)(e.label),1),e.badge==null?(0,a.createCommentVNode)(``,!0):((0,a.openBlock)(),(0,a.createBlock)(r.t,{key:1,size:`sm`,class:`nb-tabs__badge`},{default:(0,a.withCtx)(()=>[(0,a.createTextVNode)((0,a.toDisplayString)(e.badge),1)]),_:2},1024))],10,l))),128))],40,c),((0,a.openBlock)(!0),(0,a.createElementBlock)(a.Fragment,null,(0,a.renderList)(e.items,e=>((0,a.openBlock)(),(0,a.createElementBlock)(a.Fragment,{key:`panel-${e.id}`},[e.id===y.value&&T(e.id)?((0,a.openBlock)(),(0,a.createElementBlock)(`div`,{key:0,id:w(e.id),class:`nb-tabs__panel`,role:`tabpanel`,"aria-labelledby":C(e.id),tabindex:`0`},[(0,a.renderSlot)(n.$slots,e.id,{item:e},void 0,!0)],8,d)):(0,a.createCommentVNode)(``,!0)],64))),128))],2))}}),p=e.t(f,[[`__scopeId`,`data-v-84dd1ef0`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
@@ -1,7 +1,7 @@
1
1
  import { t as e } from "./_plugin-vue_export-helper-O4QQSku4.js";
2
2
  import { t } from "./Icon-rREAqsu0.js";
3
3
  import { useStableId as n } from "./composables/useStableId.composable.mjs";
4
- import { t as r } from "./Badge-MPdaJamD.js";
4
+ import { t as r } from "./Badge-CfXOTEnO.js";
5
5
  import { hasSlotContent as i } from "./utils/slotContent.helper.mjs";
6
6
  import { Fragment as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createTextVNode as d, defineComponent as f, normalizeClass as p, openBlock as m, ref as h, renderList as g, renderSlot as _, toDisplayString as v, useSlots as y, watch as b, withCtx as x } from "vue";
7
7
  //#region src/components/Tabs.d.ts
@@ -144,6 +144,6 @@ var S = /* @__PURE__ */ function(e) {
144
144
  tabindex: "0"
145
145
  }, [_(n.$slots, e.id, { item: e }, void 0, !0)], 8, D)) : c("", !0)], 64))), 128))], 2));
146
146
  }
147
- }), [["__scopeId", "data-v-9d551266"]]);
147
+ }), [["__scopeId", "data-v-84dd1ef0"]]);
148
148
  //#endregion
149
149
  export { O as t };