@nubisco/ui 4.1.1 → 4.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Breadcrumbs-DoLgQpBy.cjs → Breadcrumbs-BQ61cxAo.cjs} +1 -1
- package/dist/{Breadcrumbs-B-nZ8ABp.js → Breadcrumbs-CbN5yrrZ.js} +1 -1
- package/dist/InfoHint-DesESwdO.cjs +1 -0
- package/dist/InfoHint-JwhhBFZP.js +165 -0
- package/dist/NotificationCenter-D51ty3Lq.cjs +1 -0
- package/dist/{NotificationCenter-CrwDwpt6.js → NotificationCenter-DL_Tshyb.js} +193 -192
- package/dist/all.cjs +1 -1
- package/dist/all.mjs +3 -3
- package/dist/components/Breadcrumbs.cjs +1 -1
- package/dist/components/Breadcrumbs.mjs +1 -1
- package/dist/components/Breadcrumbs.vue.d.ts.map +1 -1
- package/dist/components/InfoHint.cjs +1 -1
- package/dist/components/InfoHint.mjs +1 -1
- package/dist/components/InfoHint.vue.d.ts.map +1 -1
- package/dist/components/NotificationCenter.cjs +1 -1
- package/dist/components/NotificationCenter.mjs +1 -1
- package/dist/components/NotificationCenter.vue.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +3 -3
- package/dist/plugins/vite/imports.d.ts +51 -0
- package/dist/plugins/vite/imports.d.ts.map +1 -0
- package/dist/plugins/vite/imports.js +125 -0
- package/dist/plugins/vite/index.d.ts +4 -0
- package/dist/plugins/vite/index.d.ts.map +1 -1
- package/dist/plugins/vite/index.js +35 -0
- package/dist/styles/Breadcrumbs.css +1 -1
- package/dist/styles/InfoHint.css +1 -1
- package/dist/ui.css +2 -2
- package/package.json +4 -3
- package/src/plugins/vite/imports.ts +192 -0
- package/src/plugins/vite/index.ts +44 -0
- package/dist/InfoHint-BH3UEadb.cjs +0 -1
- package/dist/InfoHint-Cj0Us0mD.js +0 -164
- package/dist/NotificationCenter-CrCoVe8p.cjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./chunk-D-qHiVGv.cjs`);const e=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),t=require(`./Icon-C8R_r_In.cjs`);let n=require(`vue`),r=require(`@nubisco/ui/icons/caret-right`);var i={class:`nb-breadcrumbs`,"aria-label":`breadcrumb`},a={key:0,class:`nb-breadcrumbs__brand`},o={key:0,class:`nb-breadcrumbs__title`},s={key:1,class:`nb-breadcrumbs__subtitle`},c={key:2,class:`nb-breadcrumbs__crumbs`},l=(0,n.defineComponent)({__name:`Breadcrumbs`,props:{title:{},subtitle:{}},setup(e){let l=(0,n.useSlots)();function u(e){return e.some(e=>e.type===n.Comment?!1:e.type===n.Text?String(e.children??``).trim()!==``:e.type===n.Fragment?u(e.children??[]):!0)}let d=(0,n.computed)(()=>u(l.default?.()??[]));return(l,u)=>((0,n.openBlock)(),(0,n.createElementBlock)(`nav`,i,[e.title||e.subtitle?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,a,[e.title?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,o,(0,n.toDisplayString)(e.title),1)):(0,n.createCommentVNode)(``,!0),e.subtitle?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,s,(0,n.toDisplayString)(e.subtitle),1)):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0),(e.title||e.subtitle)&&d.value?((0,n.openBlock)(),(0,n.createBlock)(t.t,{key:1,name:(0,n.unref)(r.regular),size:`sm`,class:`nb-breadcrumbs__sep`},null,8,[`name`])):(0,n.createCommentVNode)(``,!0),d.value?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,c,[(0,n.renderSlot)(l.$slots,`default`,{},void 0,!0)])):(0,n.createCommentVNode)(``,!0)]))}}),u=e.t(l,[[`__scopeId`,`data-v-
|
|
1
|
+
require(`./chunk-D-qHiVGv.cjs`);const e=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),t=require(`./Icon-C8R_r_In.cjs`);let n=require(`vue`),r=require(`@nubisco/ui/icons/caret-right`);var i={class:`nb-breadcrumbs`,"aria-label":`breadcrumb`},a={key:0,class:`nb-breadcrumbs__brand`},o={key:0,class:`nb-breadcrumbs__title`},s={key:1,class:`nb-breadcrumbs__subtitle`},c={key:2,class:`nb-breadcrumbs__crumbs`},l=(0,n.defineComponent)({__name:`Breadcrumbs`,props:{title:{},subtitle:{}},setup(e){let l=(0,n.useSlots)();function u(e){return e.some(e=>e.type===n.Comment?!1:e.type===n.Text?String(e.children??``).trim()!==``:e.type===n.Fragment?u(e.children??[]):!0)}let d=(0,n.computed)(()=>u(l.default?.()??[]));return(l,u)=>((0,n.openBlock)(),(0,n.createElementBlock)(`nav`,i,[e.title||e.subtitle?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,a,[e.title?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,o,(0,n.toDisplayString)(e.title),1)):(0,n.createCommentVNode)(``,!0),e.subtitle?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,s,(0,n.toDisplayString)(e.subtitle),1)):(0,n.createCommentVNode)(``,!0)])):(0,n.createCommentVNode)(``,!0),(e.title||e.subtitle)&&d.value?((0,n.openBlock)(),(0,n.createBlock)(t.t,{key:1,name:(0,n.unref)(r.regular),size:`sm`,class:`nb-breadcrumbs__sep`},null,8,[`name`])):(0,n.createCommentVNode)(``,!0),d.value?((0,n.openBlock)(),(0,n.createElementBlock)(`span`,c,[(0,n.renderSlot)(l.$slots,`default`,{},void 0,!0)])):(0,n.createCommentVNode)(``,!0)]))}}),u=e.t(l,[[`__scopeId`,`data-v-064c6984`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return u}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./chunk-D-qHiVGv.cjs`),t=require(`./_plugin-vue_export-helper-tagjRzOz.cjs`),n=require(`./Icon-C8R_r_In.cjs`),r=require(`./composables/useStableId.composable.cjs`),i=require(`./composables/useSurfaceLayer.composable.cjs`),a=require(`./utils/anchorPosition.helper.cjs`);let o=require(`vue`),s=require(`@nubisco/ui/icons/info`);s=e.n(s);var c=[`data-term`],l=[`aria-label`,`aria-expanded`,`aria-describedby`,`disabled`],u={key:0,class:`nb-info-hint--title`},d={class:`nb-info-hint--body`},f=(0,o.defineComponent)({__name:`InfoHint`,props:{text:{default:void 0},title:{default:void 0},term:{default:void 0},placement:{default:`top`},size:{default:14},icon:{default:void 0},label:{default:void 0},openDelay:{default:120},closeDelay:{default:140},teleportTo:{default:`body`},disabled:{type:Boolean,default:!1}},emits:[`open`,`close`,`activate`],setup(e,{expose:t,emit:f}){let p=e,m=(0,o.computed)(()=>p.icon??s),h=f,g=`${r.useStableId({})}-popover`,{layerProps:_}=i.useSurfaceLayer({overlay:!0}),v=(0,o.ref)(null),y=(0,o.ref)(null),b=(0,o.ref)(!1),x=(0,o.ref)(!1),S=(0,o.ref)(p.placement),C=(0,o.ref)({top:0,left:0,arrowOffset:50}),w,T,E=(0,o.computed)(()=>({top:`${C.value.top}px`,left:`${C.value.left}px`,"--nb-info-hint-arrow-offset":`${C.value.arrowOffset}%`}));function D(){clearTimeout(w),clearTimeout(T),w=void 0,T=void 0}function O(){let e=v.value,t=y.value;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=a.placeAnchored(n,{width:r.width,height:r.height},{side:p.placement,viewport:a.viewportSize()});S.value=i.side,C.value={top:i.top,left:i.left,arrowOffset:i.arrowOffset}}function k(){p.disabled||b.value||(D(),b.value=!0,h(`open`),(0,o.nextTick)(()=>{O(),requestAnimationFrame(O)}))}function A(){b.value&&(D(),b.value=!1,x.value=!1,h(`close`))}function j(){p.disabled||(clearTimeout(T),T=void 0,!b.value&&(w=setTimeout(k,p.openDelay)))}function M(){clearTimeout(w),w=void 0,!x.value&&(T=setTimeout(A,p.closeDelay))}function N(){if(!p.disabled){if(x.value){A();return}x.value=!0,k(),h(`activate`,p.term)}}function P(e){if(e.key===`Escape`){b.value&&(e.preventDefault(),A());return}}function F(){p.disabled||(clearTimeout(T),T=void 0,k())}function I(e){if(x.value)return;let t=e.relatedTarget;t&&y.value?.contains(t)||A()}function L(e){let t=e.target;t&&(v.value?.contains(t)||y.value?.contains(t)||A())}function R(e){e.key===`Escape`&&A()}return(0,o.watch)(b,e=>{typeof document>`u`||(e?(document.addEventListener(`pointerdown`,L,!0),document.addEventListener(`keydown`,R),window.addEventListener(`resize`,O),window.addEventListener(`scroll`,O,!0)):(document.removeEventListener(`pointerdown`,L,!0),document.removeEventListener(`keydown`,R),window.removeEventListener(`resize`,O),window.removeEventListener(`scroll`,O,!0)))}),(0,o.watch)(()=>p.disabled,e=>{e&&A()}),(0,o.onBeforeUnmount)(()=>{D(),!(typeof document>`u`)&&(document.removeEventListener(`pointerdown`,L,!0),document.removeEventListener(`keydown`,R),window.removeEventListener(`resize`,O),window.removeEventListener(`scroll`,O,!0))}),t({open:k,close:A,isOpen:b}),(t,r)=>((0,o.openBlock)(),(0,o.createElementBlock)(`span`,{class:`nb-info-hint`,"data-term":e.term||void 0},[(0,o.createElementVNode)(`button`,{ref_key:`triggerRef`,ref:v,type:`button`,class:(0,o.normalizeClass)([`nb-info-hint--trigger`,{"nb-info-hint--trigger-open":b.value}]),"aria-label":e.label??`More information`,"aria-expanded":b.value,"aria-describedby":b.value?g:void 0,disabled:e.disabled,onClick:(0,o.withModifiers)(N,[`stop`]),onMousedown:r[0]||=(0,o.withModifiers)(()=>{},[`stop`]),onPointerdown:r[1]||=(0,o.withModifiers)(()=>{},[`stop`]),onKeydown:(0,o.withModifiers)(P,[`stop`]),onMouseenter:j,onMouseleave:M,onFocus:F,onBlur:I},[(0,o.createVNode)(n.t,{name:m.value,size:e.size,weight:`regular`},null,8,[`name`,`size`])],42,l),((0,o.openBlock)(),(0,o.createBlock)(o.Teleport,{to:e.teleportTo},[b.value?((0,o.openBlock)(),(0,o.createElementBlock)(`div`,(0,o.mergeProps)({key:0,id:g,ref_key:`popoverRef`,ref:y,class:[`nb-info-hint--popover`,`nb-info-hint--popover-${S.value}`]},(0,o.unref)(_),{role:`tooltip`,style:E.value,onClick:r[2]||=(0,o.withModifiers)(()=>{},[`stop`]),onMousedown:r[3]||=(0,o.withModifiers)(()=>{},[`stop`]),onPointerdown:r[4]||=(0,o.withModifiers)(()=>{},[`stop`]),onMouseenter:j,onMouseleave:M}),[e.title?((0,o.openBlock)(),(0,o.createElementBlock)(`p`,u,(0,o.toDisplayString)(e.title),1)):(0,o.createCommentVNode)(``,!0),(0,o.createElementVNode)(`div`,d,[(0,o.renderSlot)(t.$slots,`default`,{},()=>[(0,o.createTextVNode)((0,o.toDisplayString)(e.text),1)],!0)])],16)):(0,o.createCommentVNode)(``,!0)],8,[`to`]))],8,c))}}),p=t.t(f,[[`__scopeId`,`data-v-e7ec3f8e`]]);Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { t as e } from "./_plugin-vue_export-helper-O4QQSku4.js";
|
|
2
|
+
import { t } from "./Icon-rREAqsu0.js";
|
|
3
|
+
import { useStableId as n } from "./composables/useStableId.composable.mjs";
|
|
4
|
+
import { useSurfaceLayer as r } from "./composables/useSurfaceLayer.composable.mjs";
|
|
5
|
+
import { placeAnchored as i, viewportSize as a } from "./utils/anchorPosition.helper.mjs";
|
|
6
|
+
import { Teleport as o, computed as s, createBlock as ee, createCommentVNode as c, createElementBlock as l, createElementVNode as u, createTextVNode as d, createVNode as f, defineComponent as p, mergeProps as m, nextTick as h, normalizeClass as g, onBeforeUnmount as _, openBlock as v, ref as y, renderSlot as b, toDisplayString as x, unref as S, watch as C, withModifiers as w } from "vue";
|
|
7
|
+
import * as te from "@nubisco/ui/icons/info";
|
|
8
|
+
//#region src/components/InfoHint.vue?vue&type=script&setup=true&lang.ts
|
|
9
|
+
var T = ["data-term"], E = [
|
|
10
|
+
"aria-label",
|
|
11
|
+
"aria-expanded",
|
|
12
|
+
"aria-describedby",
|
|
13
|
+
"disabled"
|
|
14
|
+
], D = {
|
|
15
|
+
key: 0,
|
|
16
|
+
class: "nb-info-hint--title"
|
|
17
|
+
}, O = { class: "nb-info-hint--body" }, k = /* @__PURE__ */ e(/* @__PURE__ */ p({
|
|
18
|
+
__name: "InfoHint",
|
|
19
|
+
props: {
|
|
20
|
+
text: { default: void 0 },
|
|
21
|
+
title: { default: void 0 },
|
|
22
|
+
term: { default: void 0 },
|
|
23
|
+
placement: { default: "top" },
|
|
24
|
+
size: { default: 14 },
|
|
25
|
+
icon: { default: void 0 },
|
|
26
|
+
label: { default: void 0 },
|
|
27
|
+
openDelay: { default: 120 },
|
|
28
|
+
closeDelay: { default: 140 },
|
|
29
|
+
teleportTo: { default: "body" },
|
|
30
|
+
disabled: {
|
|
31
|
+
type: Boolean,
|
|
32
|
+
default: !1
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
emits: [
|
|
36
|
+
"open",
|
|
37
|
+
"close",
|
|
38
|
+
"activate"
|
|
39
|
+
],
|
|
40
|
+
setup(e, { expose: p, emit: k }) {
|
|
41
|
+
let A = e, j = s(() => A.icon ?? te), M = k, N = `${n({})}-popover`, { layerProps: P } = r({ overlay: !0 }), F = y(null), I = y(null), L = y(!1), R = y(!1), z = y(A.placement), B = y({
|
|
42
|
+
top: 0,
|
|
43
|
+
left: 0,
|
|
44
|
+
arrowOffset: 50
|
|
45
|
+
}), V, H, U = s(() => ({
|
|
46
|
+
top: `${B.value.top}px`,
|
|
47
|
+
left: `${B.value.left}px`,
|
|
48
|
+
"--nb-info-hint-arrow-offset": `${B.value.arrowOffset}%`
|
|
49
|
+
}));
|
|
50
|
+
function W() {
|
|
51
|
+
clearTimeout(V), clearTimeout(H), V = void 0, H = void 0;
|
|
52
|
+
}
|
|
53
|
+
function G() {
|
|
54
|
+
let e = F.value, t = I.value;
|
|
55
|
+
if (!e || !t) return;
|
|
56
|
+
let n = e.getBoundingClientRect(), r = t.getBoundingClientRect(), o = i(n, {
|
|
57
|
+
width: r.width,
|
|
58
|
+
height: r.height
|
|
59
|
+
}, {
|
|
60
|
+
side: A.placement,
|
|
61
|
+
viewport: a()
|
|
62
|
+
});
|
|
63
|
+
z.value = o.side, B.value = {
|
|
64
|
+
top: o.top,
|
|
65
|
+
left: o.left,
|
|
66
|
+
arrowOffset: o.arrowOffset
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function K() {
|
|
70
|
+
A.disabled || L.value || (W(), L.value = !0, M("open"), h(() => {
|
|
71
|
+
G(), requestAnimationFrame(G);
|
|
72
|
+
}));
|
|
73
|
+
}
|
|
74
|
+
function q() {
|
|
75
|
+
L.value && (W(), L.value = !1, R.value = !1, M("close"));
|
|
76
|
+
}
|
|
77
|
+
function J() {
|
|
78
|
+
A.disabled || (clearTimeout(H), H = void 0, !L.value && (V = setTimeout(K, A.openDelay)));
|
|
79
|
+
}
|
|
80
|
+
function Y() {
|
|
81
|
+
clearTimeout(V), V = void 0, !R.value && (H = setTimeout(q, A.closeDelay));
|
|
82
|
+
}
|
|
83
|
+
function X() {
|
|
84
|
+
if (!A.disabled) {
|
|
85
|
+
if (R.value) {
|
|
86
|
+
q();
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
R.value = !0, K(), M("activate", A.term);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function Z(e) {
|
|
93
|
+
if (e.key === "Escape") {
|
|
94
|
+
L.value && (e.preventDefault(), q());
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
function ne() {
|
|
99
|
+
A.disabled || (clearTimeout(H), H = void 0, K());
|
|
100
|
+
}
|
|
101
|
+
function re(e) {
|
|
102
|
+
if (R.value) return;
|
|
103
|
+
let t = e.relatedTarget;
|
|
104
|
+
t && I.value?.contains(t) || q();
|
|
105
|
+
}
|
|
106
|
+
function Q(e) {
|
|
107
|
+
let t = e.target;
|
|
108
|
+
t && (F.value?.contains(t) || I.value?.contains(t) || q());
|
|
109
|
+
}
|
|
110
|
+
function $(e) {
|
|
111
|
+
e.key === "Escape" && q();
|
|
112
|
+
}
|
|
113
|
+
return C(L, (e) => {
|
|
114
|
+
typeof document > "u" || (e ? (document.addEventListener("pointerdown", Q, !0), document.addEventListener("keydown", $), window.addEventListener("resize", G), window.addEventListener("scroll", G, !0)) : (document.removeEventListener("pointerdown", Q, !0), document.removeEventListener("keydown", $), window.removeEventListener("resize", G), window.removeEventListener("scroll", G, !0)));
|
|
115
|
+
}), C(() => A.disabled, (e) => {
|
|
116
|
+
e && q();
|
|
117
|
+
}), _(() => {
|
|
118
|
+
W(), !(typeof document > "u") && (document.removeEventListener("pointerdown", Q, !0), document.removeEventListener("keydown", $), window.removeEventListener("resize", G), window.removeEventListener("scroll", G, !0));
|
|
119
|
+
}), p({
|
|
120
|
+
open: K,
|
|
121
|
+
close: q,
|
|
122
|
+
isOpen: L
|
|
123
|
+
}), (n, r) => (v(), l("span", {
|
|
124
|
+
class: "nb-info-hint",
|
|
125
|
+
"data-term": e.term || void 0
|
|
126
|
+
}, [u("button", {
|
|
127
|
+
ref_key: "triggerRef",
|
|
128
|
+
ref: F,
|
|
129
|
+
type: "button",
|
|
130
|
+
class: g(["nb-info-hint--trigger", { "nb-info-hint--trigger-open": L.value }]),
|
|
131
|
+
"aria-label": e.label ?? "More information",
|
|
132
|
+
"aria-expanded": L.value,
|
|
133
|
+
"aria-describedby": L.value ? N : void 0,
|
|
134
|
+
disabled: e.disabled,
|
|
135
|
+
onClick: w(X, ["stop"]),
|
|
136
|
+
onMousedown: r[0] ||= w(() => {}, ["stop"]),
|
|
137
|
+
onPointerdown: r[1] ||= w(() => {}, ["stop"]),
|
|
138
|
+
onKeydown: w(Z, ["stop"]),
|
|
139
|
+
onMouseenter: J,
|
|
140
|
+
onMouseleave: Y,
|
|
141
|
+
onFocus: ne,
|
|
142
|
+
onBlur: re
|
|
143
|
+
}, [f(t, {
|
|
144
|
+
name: j.value,
|
|
145
|
+
size: e.size,
|
|
146
|
+
weight: "regular"
|
|
147
|
+
}, null, 8, ["name", "size"])], 42, E), (v(), ee(o, { to: e.teleportTo }, [L.value ? (v(), l("div", m({
|
|
148
|
+
key: 0,
|
|
149
|
+
id: N,
|
|
150
|
+
ref_key: "popoverRef",
|
|
151
|
+
ref: I,
|
|
152
|
+
class: ["nb-info-hint--popover", `nb-info-hint--popover-${z.value}`]
|
|
153
|
+
}, S(P), {
|
|
154
|
+
role: "tooltip",
|
|
155
|
+
style: U.value,
|
|
156
|
+
onClick: r[2] ||= w(() => {}, ["stop"]),
|
|
157
|
+
onMousedown: r[3] ||= w(() => {}, ["stop"]),
|
|
158
|
+
onPointerdown: r[4] ||= w(() => {}, ["stop"]),
|
|
159
|
+
onMouseenter: J,
|
|
160
|
+
onMouseleave: Y
|
|
161
|
+
}), [e.title ? (v(), l("p", D, x(e.title), 1)) : c("", !0), u("div", O, [b(n.$slots, "default", {}, () => [d(x(e.text), 1)], !0)])], 16)) : c("", !0)], 8, ["to"]))], 8, T));
|
|
162
|
+
}
|
|
163
|
+
}), [["__scopeId", "data-v-e7ec3f8e"]]);
|
|
164
|
+
//#endregion
|
|
165
|
+
export { k as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`./chunk-D-qHiVGv.cjs`),t=require(`./Icon-C8R_r_In.cjs`),n=require(`./EmptyState-henL7JH6.cjs`),r=require(`./Button-Dqtcr4i0.cjs`),i=require(`./Spinner-CqSN2vaR.cjs`),a=require(`./Skeleton-D8CHd_4p.cjs`),o=require(`./NotificationCenterItem-Clhhma6H.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`},ee={class:`nb-notification-center__stale-text`},te={class:`nb-notification-center__sr`},ne=[`tabindex`],re={key:4,class:`nb-notification-center__empty`},ie={key:5,class:`nb-notification-center__footer`},m=new Set,h=8,g=8,_=96,v=88,y=200;function ae(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,g),Math.max(g,i.width-n-g)),s=e.top+e.height,c=i.height-s-h-g,l=e.top-h-g,u=c<y&&l>c?`top`:`bottom`,d=Math.max(v,u===`top`?l:c),f=Math.max(v,Math.min(r,d-_)),p=Math.min(r+_,d);return{top:u===`top`?Math.max(g,e.top-h-p):s+h,left:o,side:u,maxListHeight:f}}function oe(e,t){return e.left<=t.width&&e.left+e.width>=0&&e.top<=t.height&&e.top+e.height>=0}var b=(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`},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:h,emit:g}){let _=e,v=(0,s.computed)(()=>_.icon??l),y=g,b=(0,s.useSlots)(),x=`nb-notification-center-${(0,s.useId)()}`,S=`${x}-title`,se=`${x}-trigger`,C=`${x}-error`,w=(0,s.ref)(null),ce=(0,s.ref)(null),T=(0,s.ref)(null),E=(0,s.ref)(null),le=(0,s.ref)(!1),D=(0,s.computed)(()=>_.open===void 0?le.value:_.open),O=(0,s.computed)(()=>typeof _.unreadCount==`number`?Math.max(0,_.unreadCount):_.items.filter(e=>!e.read).length),ue=(0,s.computed)(()=>O.value>_.maxCount?`${_.maxCount}+`:String(O.value)),de=(0,s.computed)(()=>O.value>0?`${_.label}, ${_.formatUnread(O.value)}`:_.label),fe=(0,s.computed)(()=>{if(typeof _.itemCount==`number`)return Math.max(0,_.itemCount);if(!b.default)return _.items.length}),pe=(0,s.computed)(()=>(fe.value??0)>0),k=(0,s.computed)(()=>{if(_.loading)return`loading`;let e=fe.value;return _.error&&(e===void 0||e===0)?`error`:e===void 0||e>0?`list`:`empty`}),A=(0,s.computed)(()=>_.error&&!_.loading&&k.value===`list`&&pe.value);(0,s.ref)(!1),(0,s.watch)(()=>[D.value,!!b.default,_.itemCount],([e,t,n])=>{},{immediate:!0});function j(){y(`retry`)}let M=(0,s.computed)(()=>({id:se,"aria-haspopup":`dialog`,"aria-expanded":D.value?`true`:`false`,"aria-controls":D.value?x:void 0,"aria-label":de.value,disabled:_.disabled||void 0})),N=(0,s.computed)(()=>({type:`button`,disabled:O.value===0&&!_.markAllPending,"aria-disabled":_.markAllPending?`true`:void 0,"aria-busy":_.markAllPending?`true`:void 0,onClick:Oe})),me=(0,s.computed)(()=>A.value||k.value===`error`?C:void 0);function P(e){if(!e){T.value=null;return}let t=e instanceof HTMLElement?e:e.$el;T.value=t instanceof HTMLElement?t:null}let F=(0,s.ref)({top:0,left:0,side:`bottom`,maxListHeight:_.maxHeight});function I(){return{width:window.innerWidth,height:window.innerHeight}}function L(){let e=w.value?.getBoundingClientRect();e&&(F.value=ae(e,{align:_.align,width:_.width,maxHeight:_.maxHeight,viewport:I()}))}let he=(0,s.computed)(()=>({top:`${Math.round(F.value.top)}px`,left:`${Math.round(F.value.left)}px`,width:`${_.width}px`})),R=(0,s.computed)(()=>({maxHeight:`${Math.round(F.value.maxListHeight)}px`})),ge=(0,s.computed)(()=>({"nb-notification-center__panel--start":_.align===`start`,"nb-notification-center__panel--above":F.value.side===`top`}));function z(e){_.open===void 0&&(le.value=e),y(`update:open`,e)}function B(){_.disabled||D.value||(L(),z(!0),y(`open`))}function V(e={}){if(!D.value)return;let t=E.value?.contains(document.activeElement);z(!1),y(`close`),(e.restoreFocus??t)&&(0,s.nextTick)(H)}function H(){let e=T.value;if(e?.isConnected){e.focus();return}(w.value?.querySelector(J))?.focus()}function U(){D.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 E.value?Array.from(E.value.querySelectorAll(`[data-nb-notification-item]`)).filter(e=>!!ve(e)):[]}let ye=(0,s.ref)(void 0);function be(e){let t=ce.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!==E.value)}function Te(e){let t=E.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?T.value:Ee();V({restoreFocus:!1}),(0,s.nextTick)(()=>{l?.isConnected?l.focus():H()})}function Ee(){let e=T.value;if(!e)return null;let t=Array.from(document.querySelectorAll(J)).filter(e=>!E.value?.contains(e)).filter(e=>e.tabIndex>=0),n=t.indexOf(e);return n<0?null:t[n+1]??null}function De(e,t){y(`select`,e,t),_.closeOnSelect&&V({restoreFocus:!1})}function Y(e){if(!b.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()}y(`select`,null,e),_.closeOnSelect&&V({restoreFocus:!1})}}function Oe(){_.markAllPending||y(`mark-all-read`)}function ke(e){let t=e.target;w.value?.contains(t)||E.value?.contains(t)||V({restoreFocus:!1})}function Ae(e){e.key===`Escape`&&(E.value?.contains(document.activeElement)||we(e)&&V({restoreFocus:w.value?.contains(document.activeElement)??!1}))}let X=0;function Z(){!D.value||X||(X=requestAnimationFrame(()=>{X=0,Me()}))}function je(){X&&=(cancelAnimationFrame(X),0)}function Me(){if(!D.value)return;let e=w.value?.getBoundingClientRect();if(e&&!oe(e,I())){V({restoreFocus:!1});return}L()}function Q(){_.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)(D,e=>{if(e){for(let e of[...m])e!==$&&e();m.add($),Pe(),(0,s.nextTick)(()=>{L(),K(0),q(0)||E.value?.focus()})}else m.delete($),Fe(),W.value=0}),(0,s.watch)(()=>[_.items.length,k.value],()=>{D.value&&(0,s.nextTick)(()=>K(W.value))}),(0,s.onBeforeUnmount)(()=>{Fe(),m.delete($);let e=E.value;e?.isConnected&&e.remove()}),h({show:B,close:V,toggle:U,isOpen:D,unreadCount:O}),(l,m)=>((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{ref_key:`rootRef`,ref:w,class:`nb-notification-center`},[(0,s.renderSlot)(l.$slots,`trigger`,{open:D.value,toggle:U,show:B,close:V,unreadCount:O.value,badge:ue.value,panelId:x,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":D.value}]},M.value,{onClick:U}),[(0,s.createVNode)(t.t,{name:v.value,size:18},null,8,[`name`]),O.value>0?((0,s.openBlock)(),(0,s.createElementBlock)(`span`,u,(0,s.toDisplayString)(ue.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)(()=>[D.value?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,{key:0,id:x,ref_key:`panelRef`,ref:E,class:(0,s.normalizeClass)([`nb-notification-center__panel`,ge.value]),style:(0,s.normalizeStyle)(he.value),role:`dialog`,tabindex:`-1`,"aria-labelledby":S,"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:S,class:`nb-notification-center__title`},(0,s.toDisplayString)(e.label),1),(0,s.renderSlot)(l.$slots,`header-start`,{close:V,unreadCount:O.value}),(0,s.renderSlot)(l.$slots,`header-actions`,{close:V,unreadCount:O.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),A.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`,ee,(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),k.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`,te,(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)):k.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`])])])):k.value===`list`?((0,s.openBlock)(),(0,s.createElementBlock)(`ul`,{key:3,ref_key:`listRef`,ref:ce,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,ne)):k.value===`empty`?((0,s.openBlock)(),(0,s.createElementBlock)(`div`,re,[(0,s.renderSlot)(l.$slots,`empty`,{},()=>[(0,s.createVNode)(n.t,{size:`sm`,icon:v.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`,ie,[(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 b}});
|