@nubisco/ui 4.0.1 → 4.1.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 (82) hide show
  1. package/dist/BarChart-Ce1FARbr.cjs +1 -0
  2. package/dist/BarChart-DTu-Md40.js +290 -0
  3. package/dist/{BlueprintControls-Bo8iODBv.js → BlueprintControls-CJAKrQ6U.js} +1 -1
  4. package/dist/{BlueprintControls-BSFwzxjG.cjs → BlueprintControls-aF11uokn.cjs} +1 -1
  5. package/dist/{Button-C6VXnkFB.js → Button-Cegx6vaT.js} +16 -17
  6. package/dist/Button-Dqtcr4i0.cjs +1 -0
  7. package/dist/{Confirm-B2fEiMQw.cjs → Confirm-CW160zEF.cjs} +1 -1
  8. package/dist/{Confirm-BmI_VsqK.js → Confirm-pgn2HajX.js} +1 -1
  9. package/dist/{DataTable-DcQGGdbB.cjs → DataTable-BbiDmA1X.cjs} +1 -1
  10. package/dist/{DataTable-BRCaCVAA.js → DataTable-c0ltF6wT.js} +1 -1
  11. package/dist/{FileUploader-DsY6Agi1.js → FileUploader-BLwR6H3f.js} +1 -1
  12. package/dist/{FileUploader-Bn_iCgXm.cjs → FileUploader-Lzy4bFn7.cjs} +1 -1
  13. package/dist/{NotificationCenter-CiewkoQ-.cjs → NotificationCenter-CrCoVe8p.cjs} +1 -1
  14. package/dist/{NotificationCenter-CuwEhh08.js → NotificationCenter-CrwDwpt6.js} +1 -1
  15. package/dist/{Pagination-DDYLKW17.js → Pagination-B6a62qvI.js} +1 -1
  16. package/dist/{Pagination-P0P1-0ca.cjs → Pagination-CkBe9Naz.cjs} +1 -1
  17. package/dist/PieChart-D_POVa0d.cjs +1 -0
  18. package/dist/PieChart-Drnh7d1y.js +181 -0
  19. package/dist/SidebarLink-CngTvuB6.cjs +1 -0
  20. package/dist/{SidebarLink-BlQ50jgX.js → SidebarLink-y2If8dtl.js} +10 -11
  21. package/dist/SidebarMenuItem-DBINoxeA.js +170 -0
  22. package/dist/SidebarMenuItem-DoyuIs3w.cjs +1 -0
  23. package/dist/{Walkthrough-H1vr3r1p.cjs → Walkthrough-DHtLDsOk.cjs} +1 -1
  24. package/dist/{Walkthrough-CV6HLOnv.js → Walkthrough-l7HOZths.js} +1 -1
  25. package/dist/all.cjs +1 -1
  26. package/dist/all.mjs +12 -12
  27. package/dist/components/BlueprintCard.vue.d.ts +1 -1
  28. package/dist/components/BlueprintControls.cjs +1 -1
  29. package/dist/components/BlueprintControls.mjs +1 -1
  30. package/dist/components/Button.cjs +1 -1
  31. package/dist/components/Button.mjs +1 -1
  32. package/dist/components/Button.vue.d.ts +1 -1
  33. package/dist/components/Button.vue.d.ts.map +1 -1
  34. package/dist/components/Charts/BarChart.cjs +1 -1
  35. package/dist/components/Charts/BarChart.d.ts +2 -0
  36. package/dist/components/Charts/BarChart.mjs +1 -1
  37. package/dist/components/Charts/BarChart.vue.d.ts +7 -2
  38. package/dist/components/Charts/BarChart.vue.d.ts.map +1 -1
  39. package/dist/components/Charts/PieChart.cjs +1 -1
  40. package/dist/components/Charts/PieChart.mjs +1 -1
  41. package/dist/components/Charts/PieChart.vue.d.ts +7 -2
  42. package/dist/components/Charts/PieChart.vue.d.ts.map +1 -1
  43. package/dist/components/Charts/shared/types.d.ts +39 -0
  44. package/dist/components/Confirm.cjs +1 -1
  45. package/dist/components/Confirm.mjs +1 -1
  46. package/dist/components/DataTable.cjs +1 -1
  47. package/dist/components/DataTable.mjs +1 -1
  48. package/dist/components/FileUploader.cjs +1 -1
  49. package/dist/components/FileUploader.mjs +1 -1
  50. package/dist/components/NotificationCenter.cjs +1 -1
  51. package/dist/components/NotificationCenter.mjs +1 -1
  52. package/dist/components/Pagination.cjs +1 -1
  53. package/dist/components/Pagination.mjs +1 -1
  54. package/dist/components/SidebarLink.cjs +1 -1
  55. package/dist/components/SidebarLink.mjs +1 -1
  56. package/dist/components/SidebarLink.vue.d.ts.map +1 -1
  57. package/dist/components/SidebarMenuItem.cjs +1 -1
  58. package/dist/components/SidebarMenuItem.mjs +1 -1
  59. package/dist/components/SidebarMenuItem.vue.d.ts.map +1 -1
  60. package/dist/components/Walkthrough.cjs +1 -1
  61. package/dist/components/Walkthrough.mjs +1 -1
  62. package/dist/composables/useConfirm.composable.cjs +1 -1
  63. package/dist/composables/useConfirm.composable.mjs +1 -1
  64. package/dist/index.cjs +1 -1
  65. package/dist/index.mjs +12 -12
  66. package/dist/main.d.ts +2 -0
  67. package/dist/main.d.ts.map +1 -1
  68. package/dist/styles/BarChart.css +1 -1
  69. package/dist/styles/Button.css +1 -1
  70. package/dist/styles/PieChart.css +1 -1
  71. package/dist/styles/SidebarLink.css +1 -1
  72. package/dist/styles/SidebarMenuItem.css +1 -1
  73. package/dist/ui.css +5 -5
  74. package/package.json +2 -1
  75. package/dist/BarChart-B3WKey-r.cjs +0 -1
  76. package/dist/BarChart-DYgJdP0G.js +0 -185
  77. package/dist/Button-6GNkKckU.cjs +0 -1
  78. package/dist/PieChart-Ddw9Ixu2.cjs +0 -1
  79. package/dist/PieChart-E0Q6WOuT.js +0 -157
  80. package/dist/SidebarLink-B857d6tr.cjs +0 -1
  81. package/dist/SidebarMenuItem-BUqF3qLa.js +0 -171
  82. package/dist/SidebarMenuItem-DRtFtvJK.cjs +0 -1
@@ -1 +1 @@
1
- require(`./chunk-D-qHiVGv.cjs`);const e=require(`./Icon-C8R_r_In.cjs`),t=require(`./EmptyState-henL7JH6.cjs`),n=require(`./Button-6GNkKckU.cjs`),r=require(`./Spinner-CqSN2vaR.cjs`),i=require(`./Skeleton-D8CHd_4p.cjs`),a=require(`./NotificationCenterItem-Clhhma6H.cjs`);let o=require(`vue`),s=require(`@nubisco/ui/icons/warning-circle`);var c={key:0,class:`nb-notification-center__badge`,"aria-hidden":`true`},l=[`aria-describedby`,`aria-busy`],u={class:`nb-notification-center__header`},d={class:`nb-notification-center__sr`,role:`status`},f={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`},p=new Set,m=8,h=8,g=96,_=88,v=200;function ie(e,{align:t,width:n,maxHeight:r,viewport:i}){let a=t===`start`?e.left:e.left+e.width-n,o=Math.min(Math.max(a,h),Math.max(h,i.width-n-h)),s=e.top+e.height,c=i.height-s-m-h,l=e.top-m-h,u=c<v&&l>c?`top`:`bottom`,d=Math.max(_,u===`top`?l:c),f=Math.max(_,Math.min(r,d-g)),ee=Math.min(r+g,d);return{top:u===`top`?Math.max(h,e.top-m-ee):s+m,left:o,side:u,maxListHeight:f}}function ae(e,t){return e.left<=t.width&&e.left+e.width>=0&&e.top<=t.height&&e.top+e.height>=0}var y=(0,o.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`},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:`bell`},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(m,{expose:h,emit:g}){let _=m,v=g,y=(0,o.useSlots)(),b=`nb-notification-center-${(0,o.useId)()}`,oe=`${b}-title`,se=`${b}-trigger`,x=`${b}-error`,S=(0,o.ref)(null),C=(0,o.ref)(null),w=(0,o.ref)(null),T=(0,o.ref)(null),E=(0,o.ref)(!1),D=(0,o.computed)(()=>_.open===void 0?E.value:_.open),O=(0,o.computed)(()=>typeof _.unreadCount==`number`?Math.max(0,_.unreadCount):_.items.filter(e=>!e.read).length),ce=(0,o.computed)(()=>O.value>_.maxCount?`${_.maxCount}+`:String(O.value)),le=(0,o.computed)(()=>O.value>0?`${_.label}, ${_.formatUnread(O.value)}`:_.label),ue=(0,o.computed)(()=>{if(typeof _.itemCount==`number`)return Math.max(0,_.itemCount);if(!y.default)return _.items.length}),de=(0,o.computed)(()=>(ue.value??0)>0),k=(0,o.computed)(()=>{if(_.loading)return`loading`;let e=ue.value;return _.error&&(e===void 0||e===0)?`error`:e===void 0||e>0?`list`:`empty`}),fe=(0,o.computed)(()=>_.error&&!_.loading&&k.value===`list`&&de.value);(0,o.ref)(!1),(0,o.watch)(()=>[D.value,!!y.default,_.itemCount],([e,t,n])=>{},{immediate:!0});function A(){v(`retry`)}let j=(0,o.computed)(()=>({id:se,"aria-haspopup":`dialog`,"aria-expanded":D.value?`true`:`false`,"aria-controls":D.value?b:void 0,"aria-label":le.value,disabled:_.disabled||void 0})),M=(0,o.computed)(()=>({type:`button`,disabled:O.value===0&&!_.markAllPending,"aria-disabled":_.markAllPending?`true`:void 0,"aria-busy":_.markAllPending?`true`:void 0,onClick:De})),pe=(0,o.computed)(()=>fe.value||k.value===`error`?x:void 0);function N(e){if(!e){w.value=null;return}let t=e instanceof HTMLElement?e:e.$el;w.value=t instanceof HTMLElement?t:null}let P=(0,o.ref)({top:0,left:0,side:`bottom`,maxListHeight:_.maxHeight});function F(){return{width:window.innerWidth,height:window.innerHeight}}function I(){let e=S.value?.getBoundingClientRect();e&&(P.value=ie(e,{align:_.align,width:_.width,maxHeight:_.maxHeight,viewport:F()}))}let me=(0,o.computed)(()=>({top:`${Math.round(P.value.top)}px`,left:`${Math.round(P.value.left)}px`,width:`${_.width}px`})),L=(0,o.computed)(()=>({maxHeight:`${Math.round(P.value.maxListHeight)}px`})),he=(0,o.computed)(()=>({"nb-notification-center__panel--start":_.align===`start`,"nb-notification-center__panel--above":P.value.side===`top`}));function R(e){_.open===void 0&&(E.value=e),v(`update:open`,e)}function z(){_.disabled||D.value||(I(),R(!0),v(`open`))}function B(e={}){if(!D.value)return;let t=T.value?.contains(document.activeElement);R(!1),v(`close`),(e.restoreFocus??t)&&(0,o.nextTick)(V)}function V(){let e=w.value;if(e?.isConnected){e.focus();return}(S.value?.querySelector(J))?.focus()}function H(){D.value?B({restoreFocus:!0}):z()}let U=(0,o.ref)(0),ge=new Set([`button`,`link`,`menuitem`,`option`]);function W(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&&ge.has(t)}function G(){return T.value?Array.from(T.value.querySelectorAll(`[data-nb-notification-item]`)).filter(e=>!!W(e)):[]}let _e=(0,o.ref)(void 0);function ve(e){let t=C.value;_e.value=t&&t.childElementCount>0&&e.length===0?0:void 0}function K(e){let t=G();ve(t),t.length&&(U.value=Math.min(Math.max(e,0),t.length-1),t.forEach((e,t)=>{e.setAttribute(`tabindex`,t===U.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 ye(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 be(e){return!!e?.closest?.(`input, textarea, select, [contenteditable=""], [contenteditable="true"]`)}function xe(e){let t=G(),n=e.target?.closest(`[data-nb-notification-item]`),r=n?t.indexOf(n):-1;if(e.key===`Escape`){if(!Se(e))return;e.preventDefault(),e.stopPropagation(),B({restoreFocus:!0});return}if(e.key===`Tab`){Ce(e);return}if(!be(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 Se(e){if(e.defaultPrevented)return!1;let t=(e.target??document.activeElement)?.closest?.(`[aria-modal="true"]`);return!(t&&t!==T.value)}function Ce(e){let t=T.value;if(!t)return;let n=Array.from(t.querySelectorAll(J)),r=document.activeElement,i=n[0],a=n[n.length-1],s=!n.length||r===i||!t.contains(r),c=!n.length||r===a;if(e.shiftKey?!s:!c)return;e.preventDefault();let l=e.shiftKey?w.value:we();B({restoreFocus:!1}),(0,o.nextTick)(()=>{l?.isConnected?l.focus():V()})}function we(){let e=w.value;if(!e)return null;let t=Array.from(document.querySelectorAll(J)).filter(e=>!T.value?.contains(e)).filter(e=>e.tabIndex>=0),n=t.indexOf(e);return n<0?null:t[n+1]??null}function Te(e,t){v(`select`,e,t),_.closeOnSelect&&B({restoreFocus:!1})}function Ee(e){if(!y.default)return;let t=e.target?.closest(`[data-nb-notification-item]`);if(t&&W(t)){if(e.type===`keydown`){let n=e.key;if(n!==`Enter`&&n!==` `||t.tagName===`BUTTON`||t.tagName===`A`)return;e.preventDefault()}v(`select`,null,e),_.closeOnSelect&&B({restoreFocus:!1})}}function De(){_.markAllPending||v(`mark-all-read`)}function Y(e){let t=e.target;S.value?.contains(t)||T.value?.contains(t)||B({restoreFocus:!1})}function Oe(e){e.key===`Escape`&&(T.value?.contains(document.activeElement)||Se(e)&&B({restoreFocus:S.value?.contains(document.activeElement)??!1}))}let X=0;function Z(){!D.value||X||(X=requestAnimationFrame(()=>{X=0,Ae()}))}function ke(){X&&=(cancelAnimationFrame(X),0)}function Ae(){if(!D.value)return;let e=S.value?.getBoundingClientRect();if(e&&!ae(e,F())){B({restoreFocus:!1});return}I()}function Q(){_.closeOnNavigate&&B({restoreFocus:!1})}function je(){return window.navigation}function Me(){document.addEventListener(`mousedown`,Y),document.addEventListener(`keydown`,Oe),window.addEventListener(`resize`,Z),window.addEventListener(`scroll`,Z,!0),window.addEventListener(`popstate`,Q),window.addEventListener(`hashchange`,Q),je()?.addEventListener(`navigate`,Q)}function Ne(){ke(),document.removeEventListener(`mousedown`,Y),document.removeEventListener(`keydown`,Oe),window.removeEventListener(`resize`,Z),window.removeEventListener(`scroll`,Z,!0),window.removeEventListener(`popstate`,Q),window.removeEventListener(`hashchange`,Q),je()?.removeEventListener(`navigate`,Q)}let $=()=>B({restoreFocus:!1});return(0,o.watch)(D,e=>{if(e){for(let e of[...p])e!==$&&e();p.add($),Me(),(0,o.nextTick)(()=>{I(),K(0),q(0)||T.value?.focus()})}else p.delete($),Ne(),U.value=0}),(0,o.watch)(()=>[_.items.length,k.value],()=>{D.value&&(0,o.nextTick)(()=>K(U.value))}),(0,o.onBeforeUnmount)(()=>{Ne(),p.delete($);let e=T.value;e?.isConnected&&e.remove()}),h({show:z,close:B,toggle:H,isOpen:D,unreadCount:O}),(p,h)=>((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{ref_key:`rootRef`,ref:S,class:`nb-notification-center`},[(0,o.renderSlot)(p.$slots,`trigger`,{open:D.value,toggle:H,show:z,close:B,unreadCount:O.value,badge:ce.value,panelId:b,triggerProps:j.value,setTriggerRef:N},()=>[(0,o.createElementVNode)(`button`,(0,o.mergeProps)({ref:N,type:`button`,class:[`nb-notification-center__trigger`,{"nb-notification-center__trigger--active":D.value}]},j.value,{onClick:H}),[(0,o.createVNode)(e.t,{name:m.icon,size:18},null,8,[`name`]),O.value>0?((0,o.openBlock)(),(0,o.createElementBlock)(`span`,c,(0,o.toDisplayString)(ce.value),1)):(0,o.createCommentVNode)(``,!0)],16)]),((0,o.openBlock)(),(0,o.createBlock)(o.Teleport,{to:`body`},[(0,o.createVNode)(o.Transition,{name:`nb-notification-center-pop`},{default:(0,o.withCtx)(()=>[D.value?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{key:0,id:b,ref_key:`panelRef`,ref:T,class:(0,o.normalizeClass)([`nb-notification-center__panel`,he.value]),style:(0,o.normalizeStyle)(me.value),role:`dialog`,tabindex:`-1`,"aria-labelledby":oe,"aria-describedby":pe.value,"aria-busy":m.loading?`true`:void 0,onKeydown:xe,onFocusin:ye},[(0,o.createElementVNode)(`div`,u,[(0,o.createElementVNode)(`h2`,{id:oe,class:`nb-notification-center__title`},(0,o.toDisplayString)(m.label),1),(0,o.renderSlot)(p.$slots,`header-start`,{close:B,unreadCount:O.value}),(0,o.renderSlot)(p.$slots,`header-actions`,{close:B,unreadCount:O.value,markAllRead:De,markAllPending:m.markAllPending,markAllProps:M.value,markAllText:m.markAllPending?m.markAllPendingLabel:m.markAllLabel},()=>[m.showMarkAll?((0,o.openBlock)(),(0,o.createElementBlock)(`button`,(0,o.mergeProps)({key:0,class:`nb-notification-center__mark-all`},M.value),[m.markAllPending?((0,o.openBlock)(),(0,o.createBlock)(r.t,{key:0,size:`xs`,tone:`inherit`,decorative:``})):(0,o.createCommentVNode)(``,!0),(0,o.createTextVNode)(` `+(0,o.toDisplayString)(m.markAllPending?m.markAllPendingLabel:m.markAllLabel),1)],16)):(0,o.createCommentVNode)(``,!0)])]),(0,o.createElementVNode)(`span`,d,(0,o.toDisplayString)(m.markAllPending?m.markAllPendingLabel:``),1),fe.value?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{key:0,id:x,class:`nb-notification-center__stale`,role:`status`},[(0,o.createVNode)(e.t,{name:(0,o.unref)(s.regular),size:14,"aria-hidden":`true`},null,8,[`name`]),(0,o.createElementVNode)(`span`,f,(0,o.toDisplayString)(m.errorStaleLabel),1),m.showRetry?((0,o.openBlock)(),(0,o.createElementBlock)(`button`,{key:0,type:`button`,class:`nb-notification-center__retry`,onClick:A},(0,o.toDisplayString)(m.retryLabel),1)):(0,o.createCommentVNode)(``,!0)])):(0,o.createCommentVNode)(``,!0),k.value===`loading`?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{key:1,class:`nb-notification-center__loading`,role:`status`,style:(0,o.normalizeStyle)(L.value)},[(0,o.createElementVNode)(`span`,ee,(0,o.toDisplayString)(m.loadingLabel),1),((0,o.openBlock)(),(0,o.createElementBlock)(o.Fragment,null,(0,o.renderList)(3,e=>(0,o.createVNode)(i.t,{key:e,variant:`text`,type:`body-sm`,lines:2,"last-line-width":`60%`})),64))],4)):k.value===`error`?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{key:2,id:x,class:`nb-notification-center__error`,role:`alert`},[(0,o.renderSlot)(p.$slots,`error`,{retry:A},()=>[(0,o.createVNode)(t.t,{size:`sm`,kind:`error`,title:m.errorTitle,description:m.errorDescription},(0,o.createSlots)({_:2},[m.showRetry?{name:`actions`,fn:(0,o.withCtx)(()=>[(0,o.createVNode)(n.t,{size:`sm`,variant:`secondary`,onClick:A},{default:(0,o.withCtx)(()=>[(0,o.createTextVNode)((0,o.toDisplayString)(m.retryLabel),1)]),_:1})]),key:`0`}:void 0]),1032,[`title`,`description`])])])):k.value===`list`?((0,o.openBlock)(),(0,o.createElementBlock)(`ul`,{key:3,ref_key:`listRef`,ref:C,class:`nb-notification-center__list`,role:`list`,tabindex:_e.value,style:(0,o.normalizeStyle)(L.value),onClick:Ee,onKeydown:Ee},[(0,o.renderSlot)(p.$slots,`default`,{close:B,items:m.items},()=>[((0,o.openBlock)(!0),(0,o.createElementBlock)(o.Fragment,null,(0,o.renderList)(m.items,e=>((0,o.openBlock)(),(0,o.createBlock)(a.t,{key:e.id,title:e.title,body:e.body,time:e.time,"time-label":e.timeLabel,read:e.read,variant:e.variant??`neutral`,icon:e.icon,href:e.href,interactive:e.interactive??m.interactive,locale:m.locale,"unread-label":m.unreadLabel,"read-label":m.readLabel,onSelect:t=>Te(e,t)},null,8,[`title`,`body`,`time`,`time-label`,`read`,`variant`,`icon`,`href`,`interactive`,`locale`,`unread-label`,`read-label`,`onSelect`]))),128))])],44,te)):k.value===`empty`?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,ne,[(0,o.renderSlot)(p.$slots,`empty`,{},()=>[(0,o.createVNode)(t.t,{size:`sm`,icon:m.icon,title:m.emptyTitle,description:m.emptyDescription},null,8,[`icon`,`title`,`description`])])])):(0,o.createCommentVNode)(``,!0),p.$slots.footer?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,re,[(0,o.renderSlot)(p.$slots,`footer`,{close:B})])):(0,o.createCommentVNode)(``,!0)],46,l)):(0,o.createCommentVNode)(``,!0)]),_:3})]))],512))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return y}});
1
+ require(`./chunk-D-qHiVGv.cjs`);const e=require(`./Icon-C8R_r_In.cjs`),t=require(`./EmptyState-henL7JH6.cjs`),n=require(`./Button-Dqtcr4i0.cjs`),r=require(`./Spinner-CqSN2vaR.cjs`),i=require(`./Skeleton-D8CHd_4p.cjs`),a=require(`./NotificationCenterItem-Clhhma6H.cjs`);let o=require(`vue`),s=require(`@nubisco/ui/icons/warning-circle`);var c={key:0,class:`nb-notification-center__badge`,"aria-hidden":`true`},l=[`aria-describedby`,`aria-busy`],u={class:`nb-notification-center__header`},d={class:`nb-notification-center__sr`,role:`status`},f={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`},p=new Set,m=8,h=8,g=96,_=88,v=200;function ie(e,{align:t,width:n,maxHeight:r,viewport:i}){let a=t===`start`?e.left:e.left+e.width-n,o=Math.min(Math.max(a,h),Math.max(h,i.width-n-h)),s=e.top+e.height,c=i.height-s-m-h,l=e.top-m-h,u=c<v&&l>c?`top`:`bottom`,d=Math.max(_,u===`top`?l:c),f=Math.max(_,Math.min(r,d-g)),ee=Math.min(r+g,d);return{top:u===`top`?Math.max(h,e.top-m-ee):s+m,left:o,side:u,maxListHeight:f}}function ae(e,t){return e.left<=t.width&&e.left+e.width>=0&&e.top<=t.height&&e.top+e.height>=0}var y=(0,o.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`},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:`bell`},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(m,{expose:h,emit:g}){let _=m,v=g,y=(0,o.useSlots)(),b=`nb-notification-center-${(0,o.useId)()}`,oe=`${b}-title`,se=`${b}-trigger`,x=`${b}-error`,S=(0,o.ref)(null),C=(0,o.ref)(null),w=(0,o.ref)(null),T=(0,o.ref)(null),E=(0,o.ref)(!1),D=(0,o.computed)(()=>_.open===void 0?E.value:_.open),O=(0,o.computed)(()=>typeof _.unreadCount==`number`?Math.max(0,_.unreadCount):_.items.filter(e=>!e.read).length),ce=(0,o.computed)(()=>O.value>_.maxCount?`${_.maxCount}+`:String(O.value)),le=(0,o.computed)(()=>O.value>0?`${_.label}, ${_.formatUnread(O.value)}`:_.label),ue=(0,o.computed)(()=>{if(typeof _.itemCount==`number`)return Math.max(0,_.itemCount);if(!y.default)return _.items.length}),de=(0,o.computed)(()=>(ue.value??0)>0),k=(0,o.computed)(()=>{if(_.loading)return`loading`;let e=ue.value;return _.error&&(e===void 0||e===0)?`error`:e===void 0||e>0?`list`:`empty`}),fe=(0,o.computed)(()=>_.error&&!_.loading&&k.value===`list`&&de.value);(0,o.ref)(!1),(0,o.watch)(()=>[D.value,!!y.default,_.itemCount],([e,t,n])=>{},{immediate:!0});function A(){v(`retry`)}let j=(0,o.computed)(()=>({id:se,"aria-haspopup":`dialog`,"aria-expanded":D.value?`true`:`false`,"aria-controls":D.value?b:void 0,"aria-label":le.value,disabled:_.disabled||void 0})),M=(0,o.computed)(()=>({type:`button`,disabled:O.value===0&&!_.markAllPending,"aria-disabled":_.markAllPending?`true`:void 0,"aria-busy":_.markAllPending?`true`:void 0,onClick:De})),pe=(0,o.computed)(()=>fe.value||k.value===`error`?x:void 0);function N(e){if(!e){w.value=null;return}let t=e instanceof HTMLElement?e:e.$el;w.value=t instanceof HTMLElement?t:null}let P=(0,o.ref)({top:0,left:0,side:`bottom`,maxListHeight:_.maxHeight});function F(){return{width:window.innerWidth,height:window.innerHeight}}function I(){let e=S.value?.getBoundingClientRect();e&&(P.value=ie(e,{align:_.align,width:_.width,maxHeight:_.maxHeight,viewport:F()}))}let me=(0,o.computed)(()=>({top:`${Math.round(P.value.top)}px`,left:`${Math.round(P.value.left)}px`,width:`${_.width}px`})),L=(0,o.computed)(()=>({maxHeight:`${Math.round(P.value.maxListHeight)}px`})),he=(0,o.computed)(()=>({"nb-notification-center__panel--start":_.align===`start`,"nb-notification-center__panel--above":P.value.side===`top`}));function R(e){_.open===void 0&&(E.value=e),v(`update:open`,e)}function z(){_.disabled||D.value||(I(),R(!0),v(`open`))}function B(e={}){if(!D.value)return;let t=T.value?.contains(document.activeElement);R(!1),v(`close`),(e.restoreFocus??t)&&(0,o.nextTick)(V)}function V(){let e=w.value;if(e?.isConnected){e.focus();return}(S.value?.querySelector(J))?.focus()}function H(){D.value?B({restoreFocus:!0}):z()}let U=(0,o.ref)(0),ge=new Set([`button`,`link`,`menuitem`,`option`]);function W(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&&ge.has(t)}function G(){return T.value?Array.from(T.value.querySelectorAll(`[data-nb-notification-item]`)).filter(e=>!!W(e)):[]}let _e=(0,o.ref)(void 0);function ve(e){let t=C.value;_e.value=t&&t.childElementCount>0&&e.length===0?0:void 0}function K(e){let t=G();ve(t),t.length&&(U.value=Math.min(Math.max(e,0),t.length-1),t.forEach((e,t)=>{e.setAttribute(`tabindex`,t===U.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 ye(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 be(e){return!!e?.closest?.(`input, textarea, select, [contenteditable=""], [contenteditable="true"]`)}function xe(e){let t=G(),n=e.target?.closest(`[data-nb-notification-item]`),r=n?t.indexOf(n):-1;if(e.key===`Escape`){if(!Se(e))return;e.preventDefault(),e.stopPropagation(),B({restoreFocus:!0});return}if(e.key===`Tab`){Ce(e);return}if(!be(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 Se(e){if(e.defaultPrevented)return!1;let t=(e.target??document.activeElement)?.closest?.(`[aria-modal="true"]`);return!(t&&t!==T.value)}function Ce(e){let t=T.value;if(!t)return;let n=Array.from(t.querySelectorAll(J)),r=document.activeElement,i=n[0],a=n[n.length-1],s=!n.length||r===i||!t.contains(r),c=!n.length||r===a;if(e.shiftKey?!s:!c)return;e.preventDefault();let l=e.shiftKey?w.value:we();B({restoreFocus:!1}),(0,o.nextTick)(()=>{l?.isConnected?l.focus():V()})}function we(){let e=w.value;if(!e)return null;let t=Array.from(document.querySelectorAll(J)).filter(e=>!T.value?.contains(e)).filter(e=>e.tabIndex>=0),n=t.indexOf(e);return n<0?null:t[n+1]??null}function Te(e,t){v(`select`,e,t),_.closeOnSelect&&B({restoreFocus:!1})}function Ee(e){if(!y.default)return;let t=e.target?.closest(`[data-nb-notification-item]`);if(t&&W(t)){if(e.type===`keydown`){let n=e.key;if(n!==`Enter`&&n!==` `||t.tagName===`BUTTON`||t.tagName===`A`)return;e.preventDefault()}v(`select`,null,e),_.closeOnSelect&&B({restoreFocus:!1})}}function De(){_.markAllPending||v(`mark-all-read`)}function Y(e){let t=e.target;S.value?.contains(t)||T.value?.contains(t)||B({restoreFocus:!1})}function Oe(e){e.key===`Escape`&&(T.value?.contains(document.activeElement)||Se(e)&&B({restoreFocus:S.value?.contains(document.activeElement)??!1}))}let X=0;function Z(){!D.value||X||(X=requestAnimationFrame(()=>{X=0,Ae()}))}function ke(){X&&=(cancelAnimationFrame(X),0)}function Ae(){if(!D.value)return;let e=S.value?.getBoundingClientRect();if(e&&!ae(e,F())){B({restoreFocus:!1});return}I()}function Q(){_.closeOnNavigate&&B({restoreFocus:!1})}function je(){return window.navigation}function Me(){document.addEventListener(`mousedown`,Y),document.addEventListener(`keydown`,Oe),window.addEventListener(`resize`,Z),window.addEventListener(`scroll`,Z,!0),window.addEventListener(`popstate`,Q),window.addEventListener(`hashchange`,Q),je()?.addEventListener(`navigate`,Q)}function Ne(){ke(),document.removeEventListener(`mousedown`,Y),document.removeEventListener(`keydown`,Oe),window.removeEventListener(`resize`,Z),window.removeEventListener(`scroll`,Z,!0),window.removeEventListener(`popstate`,Q),window.removeEventListener(`hashchange`,Q),je()?.removeEventListener(`navigate`,Q)}let $=()=>B({restoreFocus:!1});return(0,o.watch)(D,e=>{if(e){for(let e of[...p])e!==$&&e();p.add($),Me(),(0,o.nextTick)(()=>{I(),K(0),q(0)||T.value?.focus()})}else p.delete($),Ne(),U.value=0}),(0,o.watch)(()=>[_.items.length,k.value],()=>{D.value&&(0,o.nextTick)(()=>K(U.value))}),(0,o.onBeforeUnmount)(()=>{Ne(),p.delete($);let e=T.value;e?.isConnected&&e.remove()}),h({show:z,close:B,toggle:H,isOpen:D,unreadCount:O}),(p,h)=>((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{ref_key:`rootRef`,ref:S,class:`nb-notification-center`},[(0,o.renderSlot)(p.$slots,`trigger`,{open:D.value,toggle:H,show:z,close:B,unreadCount:O.value,badge:ce.value,panelId:b,triggerProps:j.value,setTriggerRef:N},()=>[(0,o.createElementVNode)(`button`,(0,o.mergeProps)({ref:N,type:`button`,class:[`nb-notification-center__trigger`,{"nb-notification-center__trigger--active":D.value}]},j.value,{onClick:H}),[(0,o.createVNode)(e.t,{name:m.icon,size:18},null,8,[`name`]),O.value>0?((0,o.openBlock)(),(0,o.createElementBlock)(`span`,c,(0,o.toDisplayString)(ce.value),1)):(0,o.createCommentVNode)(``,!0)],16)]),((0,o.openBlock)(),(0,o.createBlock)(o.Teleport,{to:`body`},[(0,o.createVNode)(o.Transition,{name:`nb-notification-center-pop`},{default:(0,o.withCtx)(()=>[D.value?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{key:0,id:b,ref_key:`panelRef`,ref:T,class:(0,o.normalizeClass)([`nb-notification-center__panel`,he.value]),style:(0,o.normalizeStyle)(me.value),role:`dialog`,tabindex:`-1`,"aria-labelledby":oe,"aria-describedby":pe.value,"aria-busy":m.loading?`true`:void 0,onKeydown:xe,onFocusin:ye},[(0,o.createElementVNode)(`div`,u,[(0,o.createElementVNode)(`h2`,{id:oe,class:`nb-notification-center__title`},(0,o.toDisplayString)(m.label),1),(0,o.renderSlot)(p.$slots,`header-start`,{close:B,unreadCount:O.value}),(0,o.renderSlot)(p.$slots,`header-actions`,{close:B,unreadCount:O.value,markAllRead:De,markAllPending:m.markAllPending,markAllProps:M.value,markAllText:m.markAllPending?m.markAllPendingLabel:m.markAllLabel},()=>[m.showMarkAll?((0,o.openBlock)(),(0,o.createElementBlock)(`button`,(0,o.mergeProps)({key:0,class:`nb-notification-center__mark-all`},M.value),[m.markAllPending?((0,o.openBlock)(),(0,o.createBlock)(r.t,{key:0,size:`xs`,tone:`inherit`,decorative:``})):(0,o.createCommentVNode)(``,!0),(0,o.createTextVNode)(` `+(0,o.toDisplayString)(m.markAllPending?m.markAllPendingLabel:m.markAllLabel),1)],16)):(0,o.createCommentVNode)(``,!0)])]),(0,o.createElementVNode)(`span`,d,(0,o.toDisplayString)(m.markAllPending?m.markAllPendingLabel:``),1),fe.value?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{key:0,id:x,class:`nb-notification-center__stale`,role:`status`},[(0,o.createVNode)(e.t,{name:(0,o.unref)(s.regular),size:14,"aria-hidden":`true`},null,8,[`name`]),(0,o.createElementVNode)(`span`,f,(0,o.toDisplayString)(m.errorStaleLabel),1),m.showRetry?((0,o.openBlock)(),(0,o.createElementBlock)(`button`,{key:0,type:`button`,class:`nb-notification-center__retry`,onClick:A},(0,o.toDisplayString)(m.retryLabel),1)):(0,o.createCommentVNode)(``,!0)])):(0,o.createCommentVNode)(``,!0),k.value===`loading`?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{key:1,class:`nb-notification-center__loading`,role:`status`,style:(0,o.normalizeStyle)(L.value)},[(0,o.createElementVNode)(`span`,ee,(0,o.toDisplayString)(m.loadingLabel),1),((0,o.openBlock)(),(0,o.createElementBlock)(o.Fragment,null,(0,o.renderList)(3,e=>(0,o.createVNode)(i.t,{key:e,variant:`text`,type:`body-sm`,lines:2,"last-line-width":`60%`})),64))],4)):k.value===`error`?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,{key:2,id:x,class:`nb-notification-center__error`,role:`alert`},[(0,o.renderSlot)(p.$slots,`error`,{retry:A},()=>[(0,o.createVNode)(t.t,{size:`sm`,kind:`error`,title:m.errorTitle,description:m.errorDescription},(0,o.createSlots)({_:2},[m.showRetry?{name:`actions`,fn:(0,o.withCtx)(()=>[(0,o.createVNode)(n.t,{size:`sm`,variant:`secondary`,onClick:A},{default:(0,o.withCtx)(()=>[(0,o.createTextVNode)((0,o.toDisplayString)(m.retryLabel),1)]),_:1})]),key:`0`}:void 0]),1032,[`title`,`description`])])])):k.value===`list`?((0,o.openBlock)(),(0,o.createElementBlock)(`ul`,{key:3,ref_key:`listRef`,ref:C,class:`nb-notification-center__list`,role:`list`,tabindex:_e.value,style:(0,o.normalizeStyle)(L.value),onClick:Ee,onKeydown:Ee},[(0,o.renderSlot)(p.$slots,`default`,{close:B,items:m.items},()=>[((0,o.openBlock)(!0),(0,o.createElementBlock)(o.Fragment,null,(0,o.renderList)(m.items,e=>((0,o.openBlock)(),(0,o.createBlock)(a.t,{key:e.id,title:e.title,body:e.body,time:e.time,"time-label":e.timeLabel,read:e.read,variant:e.variant??`neutral`,icon:e.icon,href:e.href,interactive:e.interactive??m.interactive,locale:m.locale,"unread-label":m.unreadLabel,"read-label":m.readLabel,onSelect:t=>Te(e,t)},null,8,[`title`,`body`,`time`,`time-label`,`read`,`variant`,`icon`,`href`,`interactive`,`locale`,`unread-label`,`read-label`,`onSelect`]))),128))])],44,te)):k.value===`empty`?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,ne,[(0,o.renderSlot)(p.$slots,`empty`,{},()=>[(0,o.createVNode)(t.t,{size:`sm`,icon:m.icon,title:m.emptyTitle,description:m.emptyDescription},null,8,[`icon`,`title`,`description`])])])):(0,o.createCommentVNode)(``,!0),p.$slots.footer?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,re,[(0,o.renderSlot)(p.$slots,`footer`,{close:B})])):(0,o.createCommentVNode)(``,!0)],46,l)):(0,o.createCommentVNode)(``,!0)]),_:3})]))],512))}});Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return y}});
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./Icon-rREAqsu0.js";
2
2
  import { t } from "./EmptyState-DVg8l-bl.js";
3
- import { t as n } from "./Button-C6VXnkFB.js";
3
+ import { t as n } from "./Button-Cegx6vaT.js";
4
4
  import { t as r } from "./Spinner-BEYUpJdP.js";
5
5
  import { t as i } from "./Skeleton-CC7LVdxd.js";
6
6
  import { t as a } from "./NotificationCenterItem-ZkLsiQIV.js";
@@ -1,6 +1,6 @@
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
- import { t as n } from "./Button-C6VXnkFB.js";
3
+ import { t as n } from "./Button-Cegx6vaT.js";
4
4
  import { t as r } from "./Select-swFFQIMN.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";
@@ -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-6GNkKckU.cjs`),i=require(`./Select-ClCyOqQI.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-395550e6`]]);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-Dqtcr4i0.cjs`),i=require(`./Select-ClCyOqQI.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-395550e6`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return h}});
@@ -0,0 +1 @@
1
+ require(`./chunk-D-qHiVGv.cjs`);const e=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),t=require(`./palette-73dy8s3C.cjs`),n=require(`./ChartLegend-CkL6V-U_.cjs`),r=require(`./useChartSize-xKPzLmex.cjs`);let i=require(`vue`);var a=[`width`,`height`,`role`,`aria-label`],o=[`transform`],s=[`d`,`fill`,`tabindex`,`role`,`aria-label`,`onMouseenter`,`onClick`,`onKeydown`],c=[`x`,`y`],l=(0,i.defineComponent)({__name:`PieChart`,props:{data:{default:()=>[]},innerRadius:{default:0},labels:{default:`percent`},title:{default:void 0},subtitle:{default:void 0},height:{default:280},showLegend:{type:Boolean,default:!0},showTooltip:{type:Boolean,default:!0},colors:{default:()=>t.n}},emits:[`select`],setup(e,{emit:l}){let u=e,d=l,f=(0,i.getCurrentInstance)(),p=()=>!!f?.vnode.props?.onSelect,m=e=>{if(!p())return;let t=u.data[e];t&&d(`select`,{kind:`categorical`,label:t.label,value:t.value,index:e,datum:t})},h=(e,t)=>{p()&&(e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),m(t)))},g=(0,i.ref)(null),_=r.t(g,{width:280,height:240}),v=(0,i.computed)(()=>u.data.map((e,n)=>({label:e.label,value:e.value,color:e.color??t.i(n,u.colors)}))),y=(0,i.computed)(()=>v.value.reduce((e,t)=>e+Math.max(0,t.value),0)),b=(0,i.computed)(()=>_.value.width/2),x=(0,i.computed)(()=>_.value.height/2),S=(0,i.computed)(()=>Math.max(0,Math.min(_.value.width,_.value.height)/2-8)),C=(0,i.computed)(()=>Math.max(0,Math.min(.95,u.innerRadius))*S.value),w=(0,i.computed)(()=>{if(!y.value)return[];let e=-Math.PI/2,t=[];for(let n=0;n<v.value.length;n++){let r=v.value[n],i=Math.max(0,r.value)/y.value,a=e,o=e+i*Math.PI*2;e=o;let s=T(a,o,C.value,S.value),c=(a+o)/2,l=C.value>0?(C.value+S.value)/2:S.value*.65,d=Math.cos(c)*l,f=Math.sin(c)*l,p=u.labels===`percent`?`${Math.round(i*100)}%`:u.labels===`value`?String(r.value):``;t.push({path:s,color:r.color,labelX:d,labelY:f,labelText:p,labelColor:`var(--nb-c-white)`,startAngle:a,endAngle:o,value:r.value,label:r.label})}return t}),T=(e,t,n,r)=>{if(Math.abs(t-e)>=Math.PI*2-1e-6){let e=`M ${r} 0 A ${r} ${r} 0 1 1 ${-r} 0 A ${r} ${r} 0 1 1 ${r} 0 Z`;return n<=0?e:`${e} ${`M ${n} 0 A ${n} ${n} 0 1 0 ${-n} 0 A ${n} ${n} 0 1 0 ${n} 0 Z`}`}let i=Math.cos(e)*r,a=Math.sin(e)*r,o=Math.cos(t)*r,s=Math.sin(t)*r,c=t-e>Math.PI?1:0;if(n<=0)return`M 0 0 L ${i} ${a} A ${r} ${r} 0 ${c} 1 ${o} ${s} Z`;let l=Math.cos(t)*n,u=Math.sin(t)*n,d=Math.cos(e)*n,f=Math.sin(e)*n;return[`M ${i} ${a}`,`A ${r} ${r} 0 ${c} 1 ${o} ${s}`,`L ${l} ${u}`,`A ${n} ${n} 0 ${c} 0 ${d} ${f}`,`Z`].join(` `)},E=(0,i.ref)(null),D=(0,i.ref)({x:0,y:0}),O=e=>{let t=e.currentTarget.ownerSVGElement;if(!t)return;let n=t.getBoundingClientRect();D.value={x:e.clientX-n.left+12,y:e.clientY-n.top+12}},k=(0,i.computed)(()=>{if(E.value===null)return[];let e=w.value[E.value];if(!e)return[];let t=y.value?Math.round(e.value/y.value*100):0;return[{label:e.label,value:`${e.value} (${t}%)`,color:e.color}]});return(r,l)=>((0,i.openBlock)(),(0,i.createBlock)(t.u,{title:e.title,subtitle:e.subtitle,height:e.height,"show-legend":e.showLegend&&v.value.length>0},{legend:(0,i.withCtx)(()=>[(0,i.createVNode)(n.t,{items:v.value.map(e=>({label:e.label,color:e.color}))},null,8,[`items`])]),default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`div`,{ref_key:`root`,ref:g,class:`nb-pie-chart`},[((0,i.openBlock)(),(0,i.createElementBlock)(`svg`,{width:(0,i.unref)(_).width,height:(0,i.unref)(_).height,class:(0,i.normalizeClass)([`nb-chart__svg`,{"nb-chart__svg--selectable":p()}]),role:p()?`group`:`img`,"aria-label":e.title||`Pie chart`,onMouseleave:l[1]||=e=>E.value=null},[(0,i.createElementVNode)(`g`,{transform:`translate(${b.value}, ${x.value})`},[((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,null,(0,i.renderList)(w.value,(e,t)=>((0,i.openBlock)(),(0,i.createElementBlock)(`path`,{key:`slice-${t}`,class:(0,i.normalizeClass)([`nb-chart__slice`,{"is-dim":E.value!==null&&E.value!==t}]),d:e.path,fill:e.color,tabindex:p()?0:void 0,role:p()?`button`:void 0,"aria-label":p()?`${e.label}: ${e.value}`:void 0,onMouseenter:e=>E.value=t,onMousemove:l[0]||=e=>O(e),onClick:e=>m(t),onKeydown:e=>h(e,t)},null,42,s))),128)),e.labels===`none`?(0,i.createCommentVNode)(``,!0):((0,i.openBlock)(!0),(0,i.createElementBlock)(i.Fragment,{key:0},(0,i.renderList)(w.value,(e,t)=>((0,i.openBlock)(),(0,i.createElementBlock)(`text`,{key:`lab-${t}`,class:`nb-chart__slice-label`,x:e.labelX,y:e.labelY,"text-anchor":`middle`,"dominant-baseline":`middle`,style:(0,i.normalizeStyle)({fill:e.labelColor})},(0,i.toDisplayString)(e.labelText),13,c))),128))],8,o)],42,a)),(0,i.createVNode)(t.l,{visible:e.showTooltip&&E.value!==null,x:D.value.x,y:D.value.y,rows:k.value},null,8,[`visible`,`x`,`y`,`rows`])],512)]),_:1},8,[`title`,`subtitle`,`height`,`show-legend`]))}}),u=e.t(l,[[`__scopeId`,`data-v-f68902ef`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return u}});
@@ -0,0 +1,181 @@
1
+ import { t as e } from "./_plugin-vue_export-helper-O4QQSku4.js";
2
+ import { i as t, l as n, n as r, u as i } from "./palette-DpTb1uUD.js";
3
+ import { t as a } from "./ChartLegend-DvjSe_3l.js";
4
+ import { t as o } from "./useChartSize-B6TdJSnI.js";
5
+ import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createVNode as p, defineComponent as m, getCurrentInstance as h, normalizeClass as g, normalizeStyle as _, openBlock as v, ref as y, renderList as b, toDisplayString as x, unref as S, withCtx as C } from "vue";
6
+ //#region src/components/Charts/PieChart.vue?vue&type=script&setup=true&lang.ts
7
+ var w = [
8
+ "width",
9
+ "height",
10
+ "role",
11
+ "aria-label"
12
+ ], T = ["transform"], E = [
13
+ "d",
14
+ "fill",
15
+ "tabindex",
16
+ "role",
17
+ "aria-label",
18
+ "onMouseenter",
19
+ "onClick",
20
+ "onKeydown"
21
+ ], D = ["x", "y"], O = /* @__PURE__ */ e(/* @__PURE__ */ m({
22
+ __name: "PieChart",
23
+ props: {
24
+ data: { default: () => [] },
25
+ innerRadius: { default: 0 },
26
+ labels: { default: "percent" },
27
+ title: { default: void 0 },
28
+ subtitle: { default: void 0 },
29
+ height: { default: 280 },
30
+ showLegend: {
31
+ type: Boolean,
32
+ default: !0
33
+ },
34
+ showTooltip: {
35
+ type: Boolean,
36
+ default: !0
37
+ },
38
+ colors: { default: () => r }
39
+ },
40
+ emits: ["select"],
41
+ setup(e, { emit: r }) {
42
+ let m = e, O = r, k = h(), A = () => !!k?.vnode.props?.onSelect, j = (e) => {
43
+ if (!A()) return;
44
+ let t = m.data[e];
45
+ t && O("select", {
46
+ kind: "categorical",
47
+ label: t.label,
48
+ value: t.value,
49
+ index: e,
50
+ datum: t
51
+ });
52
+ }, M = (e, t) => {
53
+ A() && (e.key !== "Enter" && e.key !== " " || (e.preventDefault(), j(t)));
54
+ }, N = y(null), P = o(N, {
55
+ width: 280,
56
+ height: 240
57
+ }), F = c(() => m.data.map((e, n) => ({
58
+ label: e.label,
59
+ value: e.value,
60
+ color: e.color ?? t(n, m.colors)
61
+ }))), I = c(() => F.value.reduce((e, t) => e + Math.max(0, t.value), 0)), L = c(() => P.value.width / 2), R = c(() => P.value.height / 2), z = c(() => Math.max(0, Math.min(P.value.width, P.value.height) / 2 - 8)), B = c(() => Math.max(0, Math.min(.95, m.innerRadius)) * z.value), V = c(() => {
62
+ if (!I.value) return [];
63
+ let e = -Math.PI / 2, t = [];
64
+ for (let n = 0; n < F.value.length; n++) {
65
+ let r = F.value[n], i = Math.max(0, r.value) / I.value, a = e, o = e + i * Math.PI * 2;
66
+ e = o;
67
+ let s = H(a, o, B.value, z.value), c = (a + o) / 2, l = B.value > 0 ? (B.value + z.value) / 2 : z.value * .65, u = Math.cos(c) * l, d = Math.sin(c) * l, f = m.labels === "percent" ? `${Math.round(i * 100)}%` : m.labels === "value" ? String(r.value) : "";
68
+ t.push({
69
+ path: s,
70
+ color: r.color,
71
+ labelX: u,
72
+ labelY: d,
73
+ labelText: f,
74
+ labelColor: "var(--nb-c-white)",
75
+ startAngle: a,
76
+ endAngle: o,
77
+ value: r.value,
78
+ label: r.label
79
+ });
80
+ }
81
+ return t;
82
+ }), H = (e, t, n, r) => {
83
+ if (Math.abs(t - e) >= Math.PI * 2 - 1e-6) {
84
+ let e = `M ${r} 0 A ${r} ${r} 0 1 1 ${-r} 0 A ${r} ${r} 0 1 1 ${r} 0 Z`;
85
+ return n <= 0 ? e : `${e} ${`M ${n} 0 A ${n} ${n} 0 1 0 ${-n} 0 A ${n} ${n} 0 1 0 ${n} 0 Z`}`;
86
+ }
87
+ let i = Math.cos(e) * r, a = Math.sin(e) * r, o = Math.cos(t) * r, s = Math.sin(t) * r, c = t - e > Math.PI ? 1 : 0;
88
+ if (n <= 0) return `M 0 0 L ${i} ${a} A ${r} ${r} 0 ${c} 1 ${o} ${s} Z`;
89
+ let l = Math.cos(t) * n, u = Math.sin(t) * n, d = Math.cos(e) * n, f = Math.sin(e) * n;
90
+ return [
91
+ `M ${i} ${a}`,
92
+ `A ${r} ${r} 0 ${c} 1 ${o} ${s}`,
93
+ `L ${l} ${u}`,
94
+ `A ${n} ${n} 0 ${c} 0 ${d} ${f}`,
95
+ "Z"
96
+ ].join(" ");
97
+ }, U = y(null), W = y({
98
+ x: 0,
99
+ y: 0
100
+ }), G = (e) => {
101
+ let t = e.currentTarget.ownerSVGElement;
102
+ if (!t) return;
103
+ let n = t.getBoundingClientRect();
104
+ W.value = {
105
+ x: e.clientX - n.left + 12,
106
+ y: e.clientY - n.top + 12
107
+ };
108
+ }, K = c(() => {
109
+ if (U.value === null) return [];
110
+ let e = V.value[U.value];
111
+ if (!e) return [];
112
+ let t = I.value ? Math.round(e.value / I.value * 100) : 0;
113
+ return [{
114
+ label: e.label,
115
+ value: `${e.value} (${t}%)`,
116
+ color: e.color
117
+ }];
118
+ });
119
+ return (t, r) => (v(), l(i, {
120
+ title: e.title,
121
+ subtitle: e.subtitle,
122
+ height: e.height,
123
+ "show-legend": e.showLegend && F.value.length > 0
124
+ }, {
125
+ legend: C(() => [p(a, { items: F.value.map((e) => ({
126
+ label: e.label,
127
+ color: e.color
128
+ })) }, null, 8, ["items"])]),
129
+ default: C(() => [f("div", {
130
+ ref_key: "root",
131
+ ref: N,
132
+ class: "nb-pie-chart"
133
+ }, [(v(), d("svg", {
134
+ width: S(P).width,
135
+ height: S(P).height,
136
+ class: g(["nb-chart__svg", { "nb-chart__svg--selectable": A() }]),
137
+ role: A() ? "group" : "img",
138
+ "aria-label": e.title || "Pie chart",
139
+ onMouseleave: r[1] ||= (e) => U.value = null
140
+ }, [f("g", { transform: `translate(${L.value}, ${R.value})` }, [(v(!0), d(s, null, b(V.value, (e, t) => (v(), d("path", {
141
+ key: `slice-${t}`,
142
+ class: g(["nb-chart__slice", { "is-dim": U.value !== null && U.value !== t }]),
143
+ d: e.path,
144
+ fill: e.color,
145
+ tabindex: A() ? 0 : void 0,
146
+ role: A() ? "button" : void 0,
147
+ "aria-label": A() ? `${e.label}: ${e.value}` : void 0,
148
+ onMouseenter: (e) => U.value = t,
149
+ onMousemove: r[0] ||= (e) => G(e),
150
+ onClick: (e) => j(t),
151
+ onKeydown: (e) => M(e, t)
152
+ }, null, 42, E))), 128)), e.labels === "none" ? u("", !0) : (v(!0), d(s, { key: 0 }, b(V.value, (e, t) => (v(), d("text", {
153
+ key: `lab-${t}`,
154
+ class: "nb-chart__slice-label",
155
+ x: e.labelX,
156
+ y: e.labelY,
157
+ "text-anchor": "middle",
158
+ "dominant-baseline": "middle",
159
+ style: _({ fill: e.labelColor })
160
+ }, x(e.labelText), 13, D))), 128))], 8, T)], 42, w)), p(n, {
161
+ visible: e.showTooltip && U.value !== null,
162
+ x: W.value.x,
163
+ y: W.value.y,
164
+ rows: K.value
165
+ }, null, 8, [
166
+ "visible",
167
+ "x",
168
+ "y",
169
+ "rows"
170
+ ])], 512)]),
171
+ _: 1
172
+ }, 8, [
173
+ "title",
174
+ "subtitle",
175
+ "height",
176
+ "show-legend"
177
+ ]));
178
+ }
179
+ }), [["__scopeId", "data-v-f68902ef"]]);
180
+ //#endregion
181
+ export { O as t };
@@ -0,0 +1 @@
1
+ require(`./chunk-D-qHiVGv.cjs`);const e=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),t=require(`./composables/useRouterLink.composable.cjs`);let n=require(`vue`);var r=(0,n.defineComponent)({__name:`SidebarLink`,props:{to:{default:void 0},href:{default:void 0},tooltip:{default:void 0},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},danger:{type:Boolean,default:!1}},emits:[`click`],setup(e){let r=e,i=t.useRouterLink(),a=(0,n.computed)(()=>r.to!=null&&!!i.value),o=(0,n.computed)(()=>{if(typeof r.to==`string`)return r.to;if(r.href)return r.href}),s=(0,n.computed)(()=>a.value?i.value:o.value?`a`:`button`),c=(0,n.computed)(()=>s.value===`a`?{href:o.value}:{});return(t,r)=>((0,n.openBlock)(),(0,n.createBlock)((0,n.resolveDynamicComponent)(s.value),(0,n.mergeProps)({class:[`nb-sidebar-link`,{"nb-sidebar-link--active":e.active,"nb-sidebar-link--danger":e.danger,"nb-sidebar-link--disabled":e.disabled}],to:a.value?e.to:void 0},c.value,{disabled:s.value===`button`&&e.disabled||void 0,"aria-disabled":s.value!==`button`&&e.disabled?!0:void 0,"data-tooltip":e.tooltip||void 0,onClick:r[0]||=n=>e.disabled?void 0:t.$emit(`click`,n)}),{default:(0,n.withCtx)(()=>[(0,n.renderSlot)(t.$slots,`default`,{},void 0,!0)]),_:3},16,[`class`,`to`,`disabled`,`aria-disabled`,`data-tooltip`]))}}),i=e.t(r,[[`__scopeId`,`data-v-b72aaa0e`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
@@ -1,6 +1,6 @@
1
1
  import { t as e } from "./_plugin-vue_export-helper-O4QQSku4.js";
2
2
  import { useRouterLink as t } from "./composables/useRouterLink.composable.mjs";
3
- import { computed as n, createBlock as r, defineComponent as i, normalizeClass as a, openBlock as o, renderSlot as s, resolveDynamicComponent as c, withCtx as l } from "vue";
3
+ import { computed as n, createBlock as r, defineComponent as i, mergeProps as a, openBlock as o, renderSlot as s, resolveDynamicComponent as c, withCtx as l } from "vue";
4
4
  //#endregion
5
5
  //#region src/components/SidebarLink.vue
6
6
  var u = /* @__PURE__ */ e(/* @__PURE__ */ i({
@@ -27,31 +27,30 @@ var u = /* @__PURE__ */ e(/* @__PURE__ */ i({
27
27
  let i = e, u = t(), d = n(() => i.to != null && !!u.value), f = n(() => {
28
28
  if (typeof i.to == "string") return i.to;
29
29
  if (i.href) return i.href;
30
- }), p = n(() => d.value ? u.value : f.value ? "a" : "button");
31
- return (t, n) => (o(), r(c(p.value), {
32
- class: a(["nb-sidebar-link", {
30
+ }), p = n(() => d.value ? u.value : f.value ? "a" : "button"), m = n(() => p.value === "a" ? { href: f.value } : {});
31
+ return (t, n) => (o(), r(c(p.value), a({
32
+ class: ["nb-sidebar-link", {
33
33
  "nb-sidebar-link--active": e.active,
34
34
  "nb-sidebar-link--danger": e.danger,
35
35
  "nb-sidebar-link--disabled": e.disabled
36
- }]),
37
- to: d.value ? e.to : void 0,
38
- href: p.value === "a" ? f.value : void 0,
36
+ }],
37
+ to: d.value ? e.to : void 0
38
+ }, m.value, {
39
39
  disabled: p.value === "button" && e.disabled || void 0,
40
40
  "aria-disabled": p.value !== "button" && e.disabled ? !0 : void 0,
41
41
  "data-tooltip": e.tooltip || void 0,
42
42
  onClick: n[0] ||= (n) => e.disabled ? void 0 : t.$emit("click", n)
43
- }, {
43
+ }), {
44
44
  default: l(() => [s(t.$slots, "default", {}, void 0, !0)]),
45
45
  _: 3
46
- }, 8, [
46
+ }, 16, [
47
47
  "class",
48
48
  "to",
49
- "href",
50
49
  "disabled",
51
50
  "aria-disabled",
52
51
  "data-tooltip"
53
52
  ]));
54
53
  }
55
- }), [["__scopeId", "data-v-584769b4"]]);
54
+ }), [["__scopeId", "data-v-b72aaa0e"]]);
56
55
  //#endregion
57
56
  export { u as t };
@@ -0,0 +1,170 @@
1
+ import { t as e } from "./_plugin-vue_export-helper-O4QQSku4.js";
2
+ import { t } from "./Icon-rREAqsu0.js";
3
+ import { useRouterLink as n } from "./composables/useRouterLink.composable.mjs";
4
+ import { hasRenderableContent as r } from "./utils/slotContent.helper.mjs";
5
+ import { Fragment as i, Teleport as a, computed as o, createBlock as s, createCommentVNode as c, createElementBlock as l, createElementVNode as u, defineComponent as d, inject as f, mergeProps as p, normalizeClass as m, normalizeStyle as h, openBlock as g, provide as _, ref as v, renderSlot as y, resolveDynamicComponent as b, toDisplayString as x, toRef as S, unref as C, useSlots as w, vShow as T, withCtx as E, withDirectives as D } from "vue";
6
+ import { regular as O } from "@nubisco/ui/icons/caret-right";
7
+ //#endregion
8
+ //#region src/components/SidebarVariantScope.vue
9
+ var k = /* @__PURE__ */ d({
10
+ __name: "SidebarVariantScope",
11
+ props: { variant: {} },
12
+ setup(e) {
13
+ return _("nb-shell-sidebar-variant", S(e, "variant")), (e, t) => y(e.$slots, "default");
14
+ }
15
+ }), A = { class: "nb-sidebar-menu-item__label" }, j = ["title"], M = {
16
+ key: 0,
17
+ class: "nb-sidebar-menu-item__children",
18
+ role: "group"
19
+ }, N = { class: "nb-sidebar-menu-item__flyout-header" }, P = { class: "nb-sidebar-menu-item__flyout-label" }, F = { class: "nb-sidebar-menu-item__flyout-children" }, I = /* @__PURE__ */ e(/* @__PURE__ */ d({
20
+ __name: "SidebarMenuItem",
21
+ props: {
22
+ label: {},
23
+ icon: { default: void 0 },
24
+ to: { default: void 0 },
25
+ href: { default: void 0 },
26
+ active: {
27
+ type: Boolean,
28
+ default: !1
29
+ },
30
+ disabled: {
31
+ type: Boolean,
32
+ default: !1
33
+ },
34
+ defaultExpanded: {
35
+ type: Boolean,
36
+ default: !1
37
+ },
38
+ badge: { default: void 0 },
39
+ badgeVariant: { default: "neutral" }
40
+ },
41
+ emits: ["click"],
42
+ setup(e, { emit: d }) {
43
+ let _ = e, S = d, I = f("nb-shell-sidebar-variant", v("verbose")), L = o(() => I.value), R = w(), z = o(() => {
44
+ let e = R.default?.();
45
+ return e ? r(e) : !1;
46
+ }), B = v(_.defaultExpanded || _.active), V = n(), H = o(() => {
47
+ if (typeof _.to == "string") return _.to;
48
+ if (_.href) return _.href;
49
+ }), U = o(() => z.value), W = o(() => _.to != null && !U.value && !!V.value), G = o(() => U.value ? "button" : W.value ? V.value : H.value ? "a" : "button"), K = o(() => G.value === "a" ? { href: H.value } : {});
50
+ function q(e) {
51
+ if (_.disabled) {
52
+ e.preventDefault();
53
+ return;
54
+ }
55
+ if (U.value && L.value === "verbose") {
56
+ B.value = !B.value;
57
+ return;
58
+ }
59
+ S("click", e);
60
+ }
61
+ let J = v(null), Y = v(!1), X = v({}), Z = null;
62
+ function Q() {
63
+ if (L.value !== "compact") return;
64
+ Z &&= (clearTimeout(Z), null);
65
+ let e = J.value;
66
+ if (!e) return;
67
+ let t = e.getBoundingClientRect();
68
+ X.value = {
69
+ top: `${t.top}px`,
70
+ left: `${t.right + 8}px`
71
+ }, Y.value = !0;
72
+ }
73
+ function $() {
74
+ Z && clearTimeout(Z), Z = setTimeout(() => {
75
+ Y.value = !1, Z = null;
76
+ }, 120);
77
+ }
78
+ function ee() {
79
+ Q();
80
+ }
81
+ function te() {
82
+ $();
83
+ }
84
+ function ne() {
85
+ Z &&= (clearTimeout(Z), null);
86
+ }
87
+ function re() {
88
+ $();
89
+ }
90
+ return (n, r) => (g(), l("li", {
91
+ class: m(["nb-sidebar-menu-item", [`nb-sidebar-menu-item--${L.value}`]]),
92
+ role: "none",
93
+ onMouseenter: ee,
94
+ onMouseleave: te
95
+ }, [
96
+ (g(), s(b(G.value), p({
97
+ ref_key: "rowRef",
98
+ ref: J,
99
+ class: ["nb-sidebar-menu-item__row", {
100
+ "nb-sidebar-menu-item__row--active": e.active,
101
+ "nb-sidebar-menu-item__row--disabled": e.disabled,
102
+ "nb-sidebar-menu-item__row--expandable": z.value && L.value === "verbose",
103
+ "nb-sidebar-menu-item__row--compact": L.value === "compact"
104
+ }],
105
+ type: G.value === "button" ? "button" : void 0,
106
+ to: W.value ? e.to : void 0
107
+ }, K.value, {
108
+ disabled: G.value === "button" && !z.value && e.disabled || void 0,
109
+ "aria-disabled": e.disabled || void 0,
110
+ "aria-expanded": z.value && L.value === "verbose" ? B.value : void 0,
111
+ "aria-label": L.value === "compact" ? e.label : void 0,
112
+ role: "menuitem",
113
+ onClick: q
114
+ }), {
115
+ default: E(() => [e.icon ? (g(), s(t, {
116
+ key: 0,
117
+ class: "nb-sidebar-menu-item__icon",
118
+ name: e.icon,
119
+ size: L.value === "compact" ? 18 : 16
120
+ }, null, 8, ["name", "size"])) : c("", !0), L.value === "verbose" ? (g(), l(i, { key: 1 }, [
121
+ u("span", A, x(e.label), 1),
122
+ e.badge === void 0 ? c("", !0) : (g(), l("span", {
123
+ key: 0,
124
+ class: m(["nb-sidebar-menu-item__badge", [`nb-sidebar-menu-item__badge--${e.badgeVariant}`]])
125
+ }, x(e.badge), 3)),
126
+ z.value ? (g(), s(t, {
127
+ key: 1,
128
+ class: m(["nb-sidebar-menu-item__caret", { "nb-sidebar-menu-item__caret--expanded": B.value }]),
129
+ name: C(O),
130
+ size: 12
131
+ }, null, 8, ["class", "name"])) : c("", !0)
132
+ ], 64)) : e.badge === void 0 ? c("", !0) : (g(), l("span", {
133
+ key: 2,
134
+ class: m(["nb-sidebar-menu-item__badge-dot", [`nb-sidebar-menu-item__badge-dot--${e.badgeVariant}`]]),
135
+ title: String(e.badge)
136
+ }, null, 10, j))]),
137
+ _: 1
138
+ }, 16, [
139
+ "class",
140
+ "type",
141
+ "to",
142
+ "disabled",
143
+ "aria-disabled",
144
+ "aria-expanded",
145
+ "aria-label"
146
+ ])),
147
+ z.value && L.value === "verbose" ? D((g(), l("ul", M, [y(n.$slots, "default", {}, void 0, !0)], 512)), [[T, B.value]]) : c("", !0),
148
+ L.value === "compact" && Y.value ? (g(), s(a, {
149
+ key: 1,
150
+ to: "body"
151
+ }, [u("div", {
152
+ class: "nb-sidebar-menu-item__flyout",
153
+ style: h(X.value),
154
+ onMouseenter: ne,
155
+ onMouseleave: re
156
+ }, [u("div", N, [u("span", P, x(e.label), 1), e.badge === void 0 ? c("", !0) : (g(), l("span", {
157
+ key: 0,
158
+ class: m(["nb-sidebar-menu-item__badge", [`nb-sidebar-menu-item__badge--${e.badgeVariant}`]])
159
+ }, x(e.badge), 3))]), z.value ? (g(), s(k, {
160
+ key: 0,
161
+ variant: "verbose"
162
+ }, {
163
+ default: E(() => [u("ul", F, [y(n.$slots, "default", {}, void 0, !0)])]),
164
+ _: 3
165
+ })) : c("", !0)], 36)])) : c("", !0)
166
+ ], 34));
167
+ }
168
+ }), [["__scopeId", "data-v-81f2be54"]]);
169
+ //#endregion
170
+ export { I as t };
@@ -0,0 +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/useRouterLink.composable.cjs`),r=require(`./utils/slotContent.helper.cjs`);let i=require(`vue`),a=require(`@nubisco/ui/icons/caret-right`);var o=(0,i.defineComponent)({__name:`SidebarVariantScope`,props:{variant:{}},setup(e){return(0,i.provide)(`nb-shell-sidebar-variant`,(0,i.toRef)(e,`variant`)),(e,t)=>(0,i.renderSlot)(e.$slots,`default`)}}),s={class:`nb-sidebar-menu-item__label`},c=[`title`],l={key:0,class:`nb-sidebar-menu-item__children`,role:`group`},u={class:`nb-sidebar-menu-item__flyout-header`},d={class:`nb-sidebar-menu-item__flyout-label`},f={class:`nb-sidebar-menu-item__flyout-children`},p=(0,i.defineComponent)({__name:`SidebarMenuItem`,props:{label:{},icon:{default:void 0},to:{default:void 0},href:{default:void 0},active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},defaultExpanded:{type:Boolean,default:!1},badge:{default:void 0},badgeVariant:{default:`neutral`}},emits:[`click`],setup(e,{emit:p}){let m=e,h=p,g=(0,i.inject)(`nb-shell-sidebar-variant`,(0,i.ref)(`verbose`)),_=(0,i.computed)(()=>g.value),v=(0,i.useSlots)(),y=(0,i.computed)(()=>{let e=v.default?.();return e?r.hasRenderableContent(e):!1}),b=(0,i.ref)(m.defaultExpanded||m.active),x=n.useRouterLink(),S=(0,i.computed)(()=>{if(typeof m.to==`string`)return m.to;if(m.href)return m.href}),C=(0,i.computed)(()=>y.value),w=(0,i.computed)(()=>m.to!=null&&!C.value&&!!x.value),T=(0,i.computed)(()=>C.value?`button`:w.value?x.value:S.value?`a`:`button`),E=(0,i.computed)(()=>T.value===`a`?{href:S.value}:{});function D(e){if(m.disabled){e.preventDefault();return}if(C.value&&_.value===`verbose`){b.value=!b.value;return}h(`click`,e)}let O=(0,i.ref)(null),k=(0,i.ref)(!1),A=(0,i.ref)({}),j=null;function M(){if(_.value!==`compact`)return;j&&=(clearTimeout(j),null);let e=O.value;if(!e)return;let t=e.getBoundingClientRect();A.value={top:`${t.top}px`,left:`${t.right+8}px`},k.value=!0}function N(){j&&clearTimeout(j),j=setTimeout(()=>{k.value=!1,j=null},120)}function P(){M()}function F(){N()}function I(){j&&=(clearTimeout(j),null)}function L(){N()}return(n,r)=>((0,i.openBlock)(),(0,i.createElementBlock)(`li`,{class:(0,i.normalizeClass)([`nb-sidebar-menu-item`,[`nb-sidebar-menu-item--${_.value}`]]),role:`none`,onMouseenter:P,onMouseleave:F},[((0,i.openBlock)(),(0,i.createBlock)((0,i.resolveDynamicComponent)(T.value),(0,i.mergeProps)({ref_key:`rowRef`,ref:O,class:[`nb-sidebar-menu-item__row`,{"nb-sidebar-menu-item__row--active":e.active,"nb-sidebar-menu-item__row--disabled":e.disabled,"nb-sidebar-menu-item__row--expandable":y.value&&_.value===`verbose`,"nb-sidebar-menu-item__row--compact":_.value===`compact`}],type:T.value===`button`?`button`:void 0,to:w.value?e.to:void 0},E.value,{disabled:T.value===`button`&&!y.value&&e.disabled||void 0,"aria-disabled":e.disabled||void 0,"aria-expanded":y.value&&_.value===`verbose`?b.value:void 0,"aria-label":_.value===`compact`?e.label:void 0,role:`menuitem`,onClick:D}),{default:(0,i.withCtx)(()=>[e.icon?((0,i.openBlock)(),(0,i.createBlock)(t.t,{key:0,class:`nb-sidebar-menu-item__icon`,name:e.icon,size:_.value===`compact`?18:16},null,8,[`name`,`size`])):(0,i.createCommentVNode)(``,!0),_.value===`verbose`?((0,i.openBlock)(),(0,i.createElementBlock)(i.Fragment,{key:1},[(0,i.createElementVNode)(`span`,s,(0,i.toDisplayString)(e.label),1),e.badge===void 0?(0,i.createCommentVNode)(``,!0):((0,i.openBlock)(),(0,i.createElementBlock)(`span`,{key:0,class:(0,i.normalizeClass)([`nb-sidebar-menu-item__badge`,[`nb-sidebar-menu-item__badge--${e.badgeVariant}`]])},(0,i.toDisplayString)(e.badge),3)),y.value?((0,i.openBlock)(),(0,i.createBlock)(t.t,{key:1,class:(0,i.normalizeClass)([`nb-sidebar-menu-item__caret`,{"nb-sidebar-menu-item__caret--expanded":b.value}]),name:(0,i.unref)(a.regular),size:12},null,8,[`class`,`name`])):(0,i.createCommentVNode)(``,!0)],64)):e.badge===void 0?(0,i.createCommentVNode)(``,!0):((0,i.openBlock)(),(0,i.createElementBlock)(`span`,{key:2,class:(0,i.normalizeClass)([`nb-sidebar-menu-item__badge-dot`,[`nb-sidebar-menu-item__badge-dot--${e.badgeVariant}`]]),title:String(e.badge)},null,10,c))]),_:1},16,[`class`,`type`,`to`,`disabled`,`aria-disabled`,`aria-expanded`,`aria-label`])),y.value&&_.value===`verbose`?(0,i.withDirectives)(((0,i.openBlock)(),(0,i.createElementBlock)(`ul`,l,[(0,i.renderSlot)(n.$slots,`default`,{},void 0,!0)],512)),[[i.vShow,b.value]]):(0,i.createCommentVNode)(``,!0),_.value===`compact`&&k.value?((0,i.openBlock)(),(0,i.createBlock)(i.Teleport,{key:1,to:`body`},[(0,i.createElementVNode)(`div`,{class:`nb-sidebar-menu-item__flyout`,style:(0,i.normalizeStyle)(A.value),onMouseenter:I,onMouseleave:L},[(0,i.createElementVNode)(`div`,u,[(0,i.createElementVNode)(`span`,d,(0,i.toDisplayString)(e.label),1),e.badge===void 0?(0,i.createCommentVNode)(``,!0):((0,i.openBlock)(),(0,i.createElementBlock)(`span`,{key:0,class:(0,i.normalizeClass)([`nb-sidebar-menu-item__badge`,[`nb-sidebar-menu-item__badge--${e.badgeVariant}`]])},(0,i.toDisplayString)(e.badge),3))]),y.value?((0,i.openBlock)(),(0,i.createBlock)(o,{key:0,variant:`verbose`},{default:(0,i.withCtx)(()=>[(0,i.createElementVNode)(`ul`,f,[(0,i.renderSlot)(n.$slots,`default`,{},void 0,!0)])]),_:3})):(0,i.createCommentVNode)(``,!0)],36)])):(0,i.createCommentVNode)(``,!0)],34))}}),m=e.t(p,[[`__scopeId`,`data-v-81f2be54`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return m}});
@@ -1 +1 @@
1
- require(`./chunk-D-qHiVGv.cjs`);const e=require(`./composables/useReducedMotion.composable.cjs`),t=require(`./utils/tourTarget.helper.cjs`),n=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),r=require(`./composables/useStableId.composable.cjs`),i=require(`./composables/useSurfaceLayer.composable.cjs`),a=require(`./Button-6GNkKckU.cjs`),o=require(`./utils/anchorPosition.helper.cjs`),ee=require(`./composables/useWalkthrough.composable.cjs`);let s=require(`vue`);var te=[`viewBox`],c=[`width`,`height`],ne=[`x`,`y`,`width`,`height`,`rx`],l=[`width`,`height`,`mask`],re=[`x`,`y`,`width`,`height`,`rx`],ie=[`aria-label`,`aria-labelledby`],ae={class:`nb-walkthrough--footer`},oe={class:`nb-walkthrough--progress`,"aria-live":`polite`},u={class:`nb-walkthrough--actions`},d=(0,s.defineComponent)({__name:`Walkthrough`,props:{walkthrough:{default:void 0},controller:{default:void 0},autoStart:{type:Boolean,default:!1},storage:{default:void 0},labels:{default:void 0},teleportTo:{default:`body`},closeOnScrim:{type:Boolean,default:!1},padding:{default:8}},emits:[`step-change`,`finish`,`skip`],setup(n,{expose:d,emit:f}){let p=n,m=f,h={id:``,version:1,steps:[]},g={back:`Back`,next:`Next`,skip:`Skip`,done:`Done`,progress:(e,t)=>`Step ${e} of ${t}`,dialog:`Product walkthrough`},_=p.controller??ee.useWalkthrough(()=>p.walkthrough??h,{storage:p.storage}),v=r.useStableId({}),y=`${v}-mask`,b=`${v}-title`,x=`${v}-body`,S=e.useReducedMotion(),{layerProps:C}=i.useSurfaceLayer({overlay:!0}),w=(0,s.ref)(null),T=(0,s.ref)(null),E=(0,s.ref)(null),D=(0,s.ref)(o.viewportSize()),O=(0,s.ref)(`bottom`),k=(0,s.ref)({top:0,left:0}),A=1,j=null,M=null,N=-1,P=(0,s.computed)(()=>_.step.value),F=(0,s.computed)(()=>_.stepIndex.value),I=(0,s.computed)(()=>_.stepCount.value),L=(0,s.computed)(()=>({...g,...p.labels??{}})),R=(0,s.computed)(()=>P.value?.padding??p.padding),z=(0,s.computed)(()=>{let e=E.value;if(!e)return null;let t=R.value,n=Math.max(0,e.left-t),r=Math.max(0,e.top-t);return{left:n,top:r,width:Math.min(D.value.width-n,e.width+t*2),height:Math.min(D.value.height-r,e.height+t*2)}}),B=(0,s.computed)(()=>Math.min(8,R.value+4)),V=(0,s.computed)(()=>{if(z.value)return{top:`${k.value.top}px`,left:`${k.value.left}px`}});function H(){let e=P.value;!e||N===F.value||(N=F.value,m(`step-change`,e,F.value))}function U(){D.value=o.viewportSize();let e=T.value;E.value=e&&e.isConnected?e.getBoundingClientRect():null,W()}function W(){let e=z.value,t=w.value;if(!e||!t)return;let n=t.getBoundingClientRect(),r=P.value?.placement??`auto`,i=r===`auto`?`bottom`:r,a=o.placeAnchored(e,{width:n.width,height:n.height},{side:i,gap:12,inset:16,viewport:D.value});O.value=a.side,k.value={top:a.top,left:a.left}}function G(e){M?.disconnect(),M=null,!(!e||typeof ResizeObserver>`u`)&&(M=new ResizeObserver(()=>U()),M.observe(e))}function K(e){e.scrollIntoView({block:`center`,inline:`center`,behavior:S.value?`auto`:`smooth`})}let q=0;async function J(e=!0){if(!_.active.value)return;let n=P.value;if(!n)return;if(!n.target){q=0,T.value=null,G(null),U();return}let r=t.resolveTourTarget(n.target);if(!t.isTargetVisible(r)&&e){if(await(0,s.nextTick)(),await new Promise(e=>requestAnimationFrame(e)),!_.active.value||P.value!==n)return;r=t.resolveTourTarget(n.target)}if(t.isTargetVisible(r)){q=0,T.value=r,G(r),K(r),U();return}let i=F.value+A;if(++q>I.value||i<0||i>=I.value){q=0,await Z();return}_.goTo(i)}function se(){let e=w.value;return e?Array.from(e.querySelectorAll(`button:not([disabled]), a[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`)):[]}function ce(e){if(e.key===`Escape`){e.preventDefault(),Q();return}if(e.key!==`Tab`)return;let t=se();if(t.length===0){e.preventDefault(),w.value?.focus();return}let n=t[0],r=t[t.length-1],i=document.activeElement;e.shiftKey&&(i===n||i===w.value)?(e.preventDefault(),r.focus()):!e.shiftKey&&i===r&&(e.preventDefault(),n.focus())}function le(){p.closeOnScrim&&Q()}function Y(){if(A=1,_.isLast.value){Z();return}_.next()}function X(){A=-1,_.back()}async function Z(){let e=_.walkthrough.value;await _.finish(),m(`finish`,e)}async function Q(){let e=_.walkthrough.value,t=F.value;await _.skip(),m(`skip`,e,t)}function ue(){window.addEventListener(`resize`,U),window.addEventListener(`scroll`,U,!0)}function $(){window.removeEventListener(`resize`,U),window.removeEventListener(`scroll`,U,!0)}return(0,s.watch)(()=>_.active.value,async e=>{e?(A=1,q=0,N=-1,j=document.activeElement??null,ue(),await(0,s.nextTick)(),await J(),w.value?.focus(),H()):($(),G(null),T.value=null,E.value=null,j?.focus?.(),j=null,N=-1)}),(0,s.watch)(()=>_.stepIndex.value,async()=>{_.active.value&&(H(),await J())}),p.autoStart&&!p.controller&&(0,s.nextTick)(()=>_.maybeAutoStart()),(0,s.onBeforeUnmount)(()=>{$(),G(null)}),d({start:_.start,restart:_.restart,next:_.next,back:_.back,skip:Q,finish:Z,goTo:_.goTo,active:_.active,stepIndex:_.stepIndex,controller:_}),(e,t)=>((0,s.openBlock)(),(0,s.createBlock)(s.Teleport,{to:n.teleportTo},[(0,s.unref)(_).active.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:(0,s.normalizeClass)([`nb-walkthrough`,{"nb-walkthrough--no-motion":(0,s.unref)(S)}])},[((0,s.openBlock)(),(0,s.createElementBlock)(`svg`,{class:`nb-walkthrough--scrim`,"aria-hidden":`true`,viewBox:`0 0 ${D.value.width} ${D.value.height}`,preserveAspectRatio:`none`,onClick:le},[(0,s.createElementVNode)(`defs`,null,[(0,s.createElementVNode)(`mask`,{id:y},[(0,s.createElementVNode)(`rect`,{x:`0`,y:`0`,width:D.value.width,height:D.value.height,fill:`white`},null,8,c),z.value?((0,s.openBlock)(),(0,s.createElementBlock)(`rect`,{key:0,x:z.value.left,y:z.value.top,width:z.value.width,height:z.value.height,rx:B.value,fill:`black`},null,8,ne)):(0,s.createCommentVNode)(``,!0)])]),(0,s.createElementVNode)(`rect`,{class:`nb-walkthrough--scrim-fill`,x:`0`,y:`0`,width:D.value.width,height:D.value.height,mask:`url(#${y})`},null,8,l),z.value?((0,s.openBlock)(),(0,s.createElementBlock)(`rect`,{key:0,class:`nb-walkthrough--ring`,x:z.value.left,y:z.value.top,width:z.value.width,height:z.value.height,rx:B.value},null,8,re)):(0,s.createCommentVNode)(``,!0)],8,te)),(0,s.createElementVNode)(`div`,(0,s.mergeProps)({ref_key:`popoverRef`,ref:w,class:[`nb-walkthrough--popover`,`nb-walkthrough--popover-${O.value}`,{"nb-walkthrough--popover-centered":!z.value}]},(0,s.unref)(C),{role:`dialog`,"aria-modal":`true`,"aria-label":L.value.dialog,"aria-labelledby":P.value?.title?b:void 0,"aria-describedby":x,style:V.value,tabindex:`-1`,onKeydown:ce}),[(0,s.renderSlot)(e.$slots,`header`,{step:P.value,index:F.value,total:I.value},()=>[P.value?.title?((0,s.openBlock)(),(0,s.createElementBlock)(`p`,{key:0,id:b,class:`nb-walkthrough--title`},(0,s.toDisplayString)(P.value.title),1)):(0,s.createCommentVNode)(``,!0)],!0),(0,s.createElementVNode)(`div`,{id:x,class:`nb-walkthrough--body`},[(0,s.renderSlot)(e.$slots,`step`,{step:P.value,index:F.value,total:I.value},()=>[(0,s.createTextVNode)((0,s.toDisplayString)(P.value?.body),1)],!0)]),(0,s.createElementVNode)(`div`,ae,[(0,s.createElementVNode)(`p`,oe,(0,s.toDisplayString)(L.value.progress(F.value+1,I.value)),1),(0,s.renderSlot)(e.$slots,`actions`,{step:P.value,index:F.value,total:I.value,back:X,next:Y,skip:Q},()=>[(0,s.createElementVNode)(`div`,u,[(0,s.unref)(_).isLast.value?(0,s.createCommentVNode)(``,!0):((0,s.openBlock)(),(0,s.createBlock)(a.t,{key:0,variant:`ghost`,size:`sm`,onClick:Q},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)(L.value.skip),1)]),_:1})),(0,s.unref)(_).isFirst.value?(0,s.createCommentVNode)(``,!0):((0,s.openBlock)(),(0,s.createBlock)(a.t,{key:1,variant:`secondary`,outlined:``,size:`sm`,onClick:X},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)(L.value.back),1)]),_:1})),(0,s.createVNode)(a.t,{variant:`primary`,size:`sm`,onClick:Y},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)((0,s.unref)(_).isLast.value?L.value.done:L.value.next),1)]),_:1})])],!0)])],16,ie)],2)):(0,s.createCommentVNode)(``,!0)],8,[`to`]))}}),f=n.t(d,[[`__scopeId`,`data-v-902c67c9`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
1
+ require(`./chunk-D-qHiVGv.cjs`);const e=require(`./composables/useReducedMotion.composable.cjs`),t=require(`./utils/tourTarget.helper.cjs`),n=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),r=require(`./composables/useStableId.composable.cjs`),i=require(`./composables/useSurfaceLayer.composable.cjs`),a=require(`./Button-Dqtcr4i0.cjs`),o=require(`./utils/anchorPosition.helper.cjs`),ee=require(`./composables/useWalkthrough.composable.cjs`);let s=require(`vue`);var te=[`viewBox`],c=[`width`,`height`],ne=[`x`,`y`,`width`,`height`,`rx`],l=[`width`,`height`,`mask`],re=[`x`,`y`,`width`,`height`,`rx`],ie=[`aria-label`,`aria-labelledby`],ae={class:`nb-walkthrough--footer`},oe={class:`nb-walkthrough--progress`,"aria-live":`polite`},u={class:`nb-walkthrough--actions`},d=(0,s.defineComponent)({__name:`Walkthrough`,props:{walkthrough:{default:void 0},controller:{default:void 0},autoStart:{type:Boolean,default:!1},storage:{default:void 0},labels:{default:void 0},teleportTo:{default:`body`},closeOnScrim:{type:Boolean,default:!1},padding:{default:8}},emits:[`step-change`,`finish`,`skip`],setup(n,{expose:d,emit:f}){let p=n,m=f,h={id:``,version:1,steps:[]},g={back:`Back`,next:`Next`,skip:`Skip`,done:`Done`,progress:(e,t)=>`Step ${e} of ${t}`,dialog:`Product walkthrough`},_=p.controller??ee.useWalkthrough(()=>p.walkthrough??h,{storage:p.storage}),v=r.useStableId({}),y=`${v}-mask`,b=`${v}-title`,x=`${v}-body`,S=e.useReducedMotion(),{layerProps:C}=i.useSurfaceLayer({overlay:!0}),w=(0,s.ref)(null),T=(0,s.ref)(null),E=(0,s.ref)(null),D=(0,s.ref)(o.viewportSize()),O=(0,s.ref)(`bottom`),k=(0,s.ref)({top:0,left:0}),A=1,j=null,M=null,N=-1,P=(0,s.computed)(()=>_.step.value),F=(0,s.computed)(()=>_.stepIndex.value),I=(0,s.computed)(()=>_.stepCount.value),L=(0,s.computed)(()=>({...g,...p.labels??{}})),R=(0,s.computed)(()=>P.value?.padding??p.padding),z=(0,s.computed)(()=>{let e=E.value;if(!e)return null;let t=R.value,n=Math.max(0,e.left-t),r=Math.max(0,e.top-t);return{left:n,top:r,width:Math.min(D.value.width-n,e.width+t*2),height:Math.min(D.value.height-r,e.height+t*2)}}),B=(0,s.computed)(()=>Math.min(8,R.value+4)),V=(0,s.computed)(()=>{if(z.value)return{top:`${k.value.top}px`,left:`${k.value.left}px`}});function H(){let e=P.value;!e||N===F.value||(N=F.value,m(`step-change`,e,F.value))}function U(){D.value=o.viewportSize();let e=T.value;E.value=e&&e.isConnected?e.getBoundingClientRect():null,W()}function W(){let e=z.value,t=w.value;if(!e||!t)return;let n=t.getBoundingClientRect(),r=P.value?.placement??`auto`,i=r===`auto`?`bottom`:r,a=o.placeAnchored(e,{width:n.width,height:n.height},{side:i,gap:12,inset:16,viewport:D.value});O.value=a.side,k.value={top:a.top,left:a.left}}function G(e){M?.disconnect(),M=null,!(!e||typeof ResizeObserver>`u`)&&(M=new ResizeObserver(()=>U()),M.observe(e))}function K(e){e.scrollIntoView({block:`center`,inline:`center`,behavior:S.value?`auto`:`smooth`})}let q=0;async function J(e=!0){if(!_.active.value)return;let n=P.value;if(!n)return;if(!n.target){q=0,T.value=null,G(null),U();return}let r=t.resolveTourTarget(n.target);if(!t.isTargetVisible(r)&&e){if(await(0,s.nextTick)(),await new Promise(e=>requestAnimationFrame(e)),!_.active.value||P.value!==n)return;r=t.resolveTourTarget(n.target)}if(t.isTargetVisible(r)){q=0,T.value=r,G(r),K(r),U();return}let i=F.value+A;if(++q>I.value||i<0||i>=I.value){q=0,await Z();return}_.goTo(i)}function se(){let e=w.value;return e?Array.from(e.querySelectorAll(`button:not([disabled]), a[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`)):[]}function ce(e){if(e.key===`Escape`){e.preventDefault(),Q();return}if(e.key!==`Tab`)return;let t=se();if(t.length===0){e.preventDefault(),w.value?.focus();return}let n=t[0],r=t[t.length-1],i=document.activeElement;e.shiftKey&&(i===n||i===w.value)?(e.preventDefault(),r.focus()):!e.shiftKey&&i===r&&(e.preventDefault(),n.focus())}function le(){p.closeOnScrim&&Q()}function Y(){if(A=1,_.isLast.value){Z();return}_.next()}function X(){A=-1,_.back()}async function Z(){let e=_.walkthrough.value;await _.finish(),m(`finish`,e)}async function Q(){let e=_.walkthrough.value,t=F.value;await _.skip(),m(`skip`,e,t)}function ue(){window.addEventListener(`resize`,U),window.addEventListener(`scroll`,U,!0)}function $(){window.removeEventListener(`resize`,U),window.removeEventListener(`scroll`,U,!0)}return(0,s.watch)(()=>_.active.value,async e=>{e?(A=1,q=0,N=-1,j=document.activeElement??null,ue(),await(0,s.nextTick)(),await J(),w.value?.focus(),H()):($(),G(null),T.value=null,E.value=null,j?.focus?.(),j=null,N=-1)}),(0,s.watch)(()=>_.stepIndex.value,async()=>{_.active.value&&(H(),await J())}),p.autoStart&&!p.controller&&(0,s.nextTick)(()=>_.maybeAutoStart()),(0,s.onBeforeUnmount)(()=>{$(),G(null)}),d({start:_.start,restart:_.restart,next:_.next,back:_.back,skip:Q,finish:Z,goTo:_.goTo,active:_.active,stepIndex:_.stepIndex,controller:_}),(e,t)=>((0,s.openBlock)(),(0,s.createBlock)(s.Teleport,{to:n.teleportTo},[(0,s.unref)(_).active.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,class:(0,s.normalizeClass)([`nb-walkthrough`,{"nb-walkthrough--no-motion":(0,s.unref)(S)}])},[((0,s.openBlock)(),(0,s.createElementBlock)(`svg`,{class:`nb-walkthrough--scrim`,"aria-hidden":`true`,viewBox:`0 0 ${D.value.width} ${D.value.height}`,preserveAspectRatio:`none`,onClick:le},[(0,s.createElementVNode)(`defs`,null,[(0,s.createElementVNode)(`mask`,{id:y},[(0,s.createElementVNode)(`rect`,{x:`0`,y:`0`,width:D.value.width,height:D.value.height,fill:`white`},null,8,c),z.value?((0,s.openBlock)(),(0,s.createElementBlock)(`rect`,{key:0,x:z.value.left,y:z.value.top,width:z.value.width,height:z.value.height,rx:B.value,fill:`black`},null,8,ne)):(0,s.createCommentVNode)(``,!0)])]),(0,s.createElementVNode)(`rect`,{class:`nb-walkthrough--scrim-fill`,x:`0`,y:`0`,width:D.value.width,height:D.value.height,mask:`url(#${y})`},null,8,l),z.value?((0,s.openBlock)(),(0,s.createElementBlock)(`rect`,{key:0,class:`nb-walkthrough--ring`,x:z.value.left,y:z.value.top,width:z.value.width,height:z.value.height,rx:B.value},null,8,re)):(0,s.createCommentVNode)(``,!0)],8,te)),(0,s.createElementVNode)(`div`,(0,s.mergeProps)({ref_key:`popoverRef`,ref:w,class:[`nb-walkthrough--popover`,`nb-walkthrough--popover-${O.value}`,{"nb-walkthrough--popover-centered":!z.value}]},(0,s.unref)(C),{role:`dialog`,"aria-modal":`true`,"aria-label":L.value.dialog,"aria-labelledby":P.value?.title?b:void 0,"aria-describedby":x,style:V.value,tabindex:`-1`,onKeydown:ce}),[(0,s.renderSlot)(e.$slots,`header`,{step:P.value,index:F.value,total:I.value},()=>[P.value?.title?((0,s.openBlock)(),(0,s.createElementBlock)(`p`,{key:0,id:b,class:`nb-walkthrough--title`},(0,s.toDisplayString)(P.value.title),1)):(0,s.createCommentVNode)(``,!0)],!0),(0,s.createElementVNode)(`div`,{id:x,class:`nb-walkthrough--body`},[(0,s.renderSlot)(e.$slots,`step`,{step:P.value,index:F.value,total:I.value},()=>[(0,s.createTextVNode)((0,s.toDisplayString)(P.value?.body),1)],!0)]),(0,s.createElementVNode)(`div`,ae,[(0,s.createElementVNode)(`p`,oe,(0,s.toDisplayString)(L.value.progress(F.value+1,I.value)),1),(0,s.renderSlot)(e.$slots,`actions`,{step:P.value,index:F.value,total:I.value,back:X,next:Y,skip:Q},()=>[(0,s.createElementVNode)(`div`,u,[(0,s.unref)(_).isLast.value?(0,s.createCommentVNode)(``,!0):((0,s.openBlock)(),(0,s.createBlock)(a.t,{key:0,variant:`ghost`,size:`sm`,onClick:Q},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)(L.value.skip),1)]),_:1})),(0,s.unref)(_).isFirst.value?(0,s.createCommentVNode)(``,!0):((0,s.openBlock)(),(0,s.createBlock)(a.t,{key:1,variant:`secondary`,outlined:``,size:`sm`,onClick:X},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)(L.value.back),1)]),_:1})),(0,s.createVNode)(a.t,{variant:`primary`,size:`sm`,onClick:Y},{default:(0,s.withCtx)(()=>[(0,s.createTextVNode)((0,s.toDisplayString)((0,s.unref)(_).isLast.value?L.value.done:L.value.next),1)]),_:1})])],!0)])],16,ie)],2)):(0,s.createCommentVNode)(``,!0)],8,[`to`]))}}),f=n.t(d,[[`__scopeId`,`data-v-902c67c9`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
@@ -3,7 +3,7 @@ import { isTargetVisible as t, resolveTourTarget as n } from "./utils/tourTarget
3
3
  import { t as r } from "./_plugin-vue_export-helper-O4QQSku4.js";
4
4
  import { useStableId as i } from "./composables/useStableId.composable.mjs";
5
5
  import { useSurfaceLayer as a } from "./composables/useSurfaceLayer.composable.mjs";
6
- import { t as o } from "./Button-C6VXnkFB.js";
6
+ import { t as o } from "./Button-Cegx6vaT.js";
7
7
  import { placeAnchored as ee, viewportSize as s } from "./utils/anchorPosition.helper.mjs";
8
8
  import { useWalkthrough as te } from "./composables/useWalkthrough.composable.mjs";
9
9
  import { Teleport as ne, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createTextVNode as p, createVNode as re, defineComponent as m, mergeProps as ie, nextTick as h, normalizeClass as ae, onBeforeUnmount as oe, openBlock as g, ref as _, renderSlot as v, toDisplayString as y, unref as b, watch as se, withCtx as x } from "vue";