@kong-ui-public/page-layout 0.2.32 → 0.2.33

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.
@@ -1,194 +1,229 @@
1
- import { getCurrentScope as at, onScopeDispose as ot, watch as M, computed as y, toValue as q, shallowRef as nt, getCurrentInstance as st, onMounted as J, defineComponent as Q, useCssVars as it, unref as b, inject as P, useTemplateRef as G, ref as R, onBeforeUnmount as ut, resolveComponent as $, openBlock as n, createElementBlock as l, createElementVNode as w, normalizeClass as x, Fragment as N, renderList as z, createBlock as S, resolveDynamicComponent as F, mergeProps as X, withKeys as E, withModifiers as I, withCtx as K, createTextVNode as U, toDisplayString as L, createVNode as O, createCommentVNode as p, nextTick as V, provide as lt, onUnmounted as rt, renderSlot as A } from "vue";
2
- import { useRouter as Y, useRoute as ct } from "vue-router";
3
- import { createI18n as dt, i18nTComponent as vt } from "@kong-ui-public/i18n";
4
- import { ArrowTopLeftIcon as bt, StarFillIcon as ft, StarIcon as pt } from "@kong/icons";
5
- const yt = "Go back", gt = {
1
+ import { getCurrentScope as ot, onScopeDispose as nt, toValue as F, watch as M, computed as m, shallowRef as st, getCurrentInstance as it, onMounted as Q, defineComponent as X, useCssVars as rt, unref as y, inject as R, useTemplateRef as j, ref as E, onBeforeUnmount as ut, resolveComponent as $, openBlock as r, createElementBlock as b, createElementVNode as w, normalizeClass as A, Fragment as O, renderList as z, createBlock as S, resolveDynamicComponent as V, mergeProps as Y, withKeys as N, withModifiers as C, withCtx as L, createTextVNode as G, toDisplayString as x, createVNode as W, createCommentVNode as h, nextTick as U, provide as lt, onUnmounted as ct, renderSlot as K } from "vue";
2
+ import { useRouter as tt, useRoute as dt } from "vue-router";
3
+ import { createI18n as vt, i18nTComponent as ft } from "@kong-ui-public/i18n";
4
+ import { ArrowTopLeftIcon as bt, StarFillIcon as pt, StarIcon as yt } from "@kong/icons";
5
+ const gt = "Go back", ht = {
6
6
  save_shortcut: "Save page to shortcuts",
7
7
  remove_shortcut: "Remove page from shortcuts"
8
- }, ht = {
8
+ }, mt = {
9
9
  more_button: {
10
10
  label: "More",
11
11
  aria_label: "More tabs"
12
12
  }
13
- }, mt = {
14
- back_button: yt,
15
- favorite_button: gt,
16
- tabs: ht
13
+ }, kt = {
14
+ back_button: gt,
15
+ favorite_button: ht,
16
+ tabs: mt
17
17
  };
18
- function kt() {
19
- const t = dt("en-us", mt);
18
+ function Tt() {
19
+ const t = vt("en-us", kt);
20
20
  return {
21
21
  i18n: t,
22
- i18nT: vt(t)
22
+ i18nT: ft(t)
23
23
  // Translation component <i18n-t>
24
24
  };
25
25
  }
26
- const tt = {
27
- useI18n: kt
28
- }, j = "16px", wt = "16px";
29
- function Tt(t, o) {
30
- return at() ? (ot(t, o), !0) : !1;
26
+ const et = {
27
+ useI18n: Tt
28
+ }, Z = "16px", wt = "16px";
29
+ function St(t, o) {
30
+ return ot() ? (nt(t, o), !0) : !1;
31
31
  }
32
- const St = typeof window < "u" && typeof document < "u";
32
+ const _t = typeof window < "u" && typeof document < "u";
33
33
  typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
34
- const _t = St ? window : void 0;
35
- function Z(t) {
34
+ const H = () => {
35
+ };
36
+ function Ct(t, o) {
37
+ function e(...n) {
38
+ return new Promise((c, s) => {
39
+ Promise.resolve(t(() => o.apply(this, n), {
40
+ fn: o,
41
+ thisArg: this,
42
+ args: n
43
+ })).then(c).catch(s);
44
+ });
45
+ }
46
+ return e;
47
+ }
48
+ function It(t, o = {}) {
49
+ let e, n, c = H;
50
+ const s = (u) => {
51
+ clearTimeout(u), c(), c = H;
52
+ };
53
+ let p;
54
+ return (u) => {
55
+ const f = F(t), l = F(o.maxWait);
56
+ return e && s(e), f <= 0 || l !== void 0 && l <= 0 ? (n && (s(n), n = void 0), Promise.resolve(u())) : new Promise((d, k) => {
57
+ c = o.rejectOnCancel ? k : d, p = u, l && !n && (n = setTimeout(() => {
58
+ e && s(e), n = void 0, d(p());
59
+ }, l)), e = setTimeout(() => {
60
+ n && s(n), n = void 0, d(u());
61
+ }, f);
62
+ });
63
+ };
64
+ }
65
+ // @__NO_SIDE_EFFECTS__
66
+ function Dt(t, o = 200, e = {}) {
67
+ return Ct(It(o, e), t);
68
+ }
69
+ const $t = _t ? window : void 0;
70
+ function q(t) {
36
71
  var o;
37
- const a = q(t);
38
- return (o = a == null ? void 0 : a.$el) !== null && o !== void 0 ? o : a;
72
+ const e = F(t);
73
+ return (o = e == null ? void 0 : e.$el) !== null && o !== void 0 ? o : e;
39
74
  }
40
75
  // @__NO_SIDE_EFFECTS__
41
- function Ct() {
42
- const t = nt(!1), o = st();
43
- return o && J(() => {
76
+ function Pt() {
77
+ const t = st(!1), o = it();
78
+ return o && Q(() => {
44
79
  t.value = !0;
45
80
  }, o), t;
46
81
  }
47
82
  // @__NO_SIDE_EFFECTS__
48
- function It(t) {
49
- const o = /* @__PURE__ */ Ct();
50
- return y(() => (o.value, !!t()));
83
+ function Bt(t) {
84
+ const o = /* @__PURE__ */ Pt();
85
+ return m(() => (o.value, !!t()));
51
86
  }
52
- function Dt(t, o, a = {}) {
53
- const { window: r = _t, ...g } = a;
54
- let i;
55
- const h = /* @__PURE__ */ It(() => r && "ResizeObserver" in r), m = () => {
56
- i && (i.disconnect(), i = void 0);
57
- }, c = M(y(() => {
58
- const d = q(t);
59
- return Array.isArray(d) ? d.map((v) => Z(v)) : [Z(d)];
60
- }), (d) => {
61
- if (m(), h.value && r) {
62
- i = new ResizeObserver(o);
63
- for (const v of d) v && i.observe(v, g);
87
+ function Kt(t, o, e = {}) {
88
+ const { window: n = $t, ...c } = e;
89
+ let s;
90
+ const p = /* @__PURE__ */ Bt(() => n && "ResizeObserver" in n), g = () => {
91
+ s && (s.disconnect(), s = void 0);
92
+ }, u = M(m(() => {
93
+ const l = F(t);
94
+ return Array.isArray(l) ? l.map((d) => q(d)) : [q(l)];
95
+ }), (l) => {
96
+ if (g(), p.value && n) {
97
+ s = new ResizeObserver(o);
98
+ for (const d of l) d && s.observe(d, c);
64
99
  }
65
100
  }, {
66
101
  immediate: !0,
67
102
  flush: "post"
68
103
  }), f = () => {
69
- m(), c();
104
+ g(), u();
70
105
  };
71
- return Tt(f), {
72
- isSupported: h,
106
+ return St(f), {
107
+ isSupported: p,
73
108
  stop: f
74
109
  };
75
110
  }
76
- const $t = {
111
+ const Rt = {
77
112
  ref: "page-layout-tabs",
78
113
  class: "page-layout-tabs",
79
114
  "data-testid": "page-layout-tabs"
80
- }, Bt = { key: 0 }, Pt = ["aria-label"], Kt = { class: "overflowing-items-count" }, Lt = {
115
+ }, Lt = { key: 0 }, xt = ["aria-label"], Ft = { class: "overflowing-items-count" }, Et = {
81
116
  key: 0,
82
117
  class: "layout-loader-container"
83
- }, Rt = /* @__PURE__ */ Q({
118
+ }, At = /* @__PURE__ */ X({
84
119
  __name: "PageLayoutTabs",
85
120
  props: {
86
121
  tabs: { default: () => [] }
87
122
  },
88
123
  setup(t) {
89
- it((u) => ({
90
- db98251e: b(i)
124
+ rt((v) => ({
125
+ db98251e: y(s)
91
126
  }));
92
- const { i18n: { t: o } } = tt.useI18n(), a = Y(), r = P("app:navigateTo", null), g = (u) => {
93
- if (typeof u.to != "string") {
94
- a.push(u.to);
127
+ const { i18n: { t: o } } = et.useI18n(), e = tt(), n = R("app:navigateTo", null), c = (v) => {
128
+ if (typeof v.to != "string") {
129
+ e.push(v.to);
95
130
  return;
96
131
  }
97
- if (typeof r != "function") {
98
- window.location.href = u.to;
132
+ if (typeof n != "function") {
133
+ window.location.href = v.to;
99
134
  return;
100
135
  }
101
- r(u.to);
102
- }, i = wt, h = G("page-layout-tabs"), m = G("page-layout-tabs-list"), c = R(t.tabs.length), f = R(!1), d = y(() => t.tabs.slice(0, c.value)), v = y(() => t.tabs.slice(c.value)), T = async () => {
103
- var D, C, e;
104
- if (!h.value || !m.value)
136
+ n(v.to);
137
+ }, s = wt, p = j("page-layout-tabs"), g = j("page-layout-tabs-list"), u = E(t.tabs.length), f = E(!1), l = m(() => t.tabs.slice(0, u.value)), d = m(() => t.tabs.slice(u.value)), k = async () => {
138
+ var i, D, a;
139
+ if (!p.value || !g.value)
105
140
  return;
106
- f.value = !1, c.value = t.tabs.length, await V();
107
- const u = ((D = h.value) == null ? void 0 : D.getBoundingClientRect().width) - parseInt(i) * 2;
108
- let _ = (C = m.value) == null ? void 0 : C.getBoundingClientRect().width;
109
- if (!u || !_) {
141
+ f.value = !1, u.value = t.tabs.length, await U();
142
+ const v = ((i = p.value) == null ? void 0 : i.getBoundingClientRect().width) - parseInt(s) * 2;
143
+ let _ = (D = g.value) == null ? void 0 : D.getBoundingClientRect().width;
144
+ if (!v || !_) {
110
145
  f.value = !0;
111
146
  return;
112
147
  }
113
- const s = 50;
114
- for (; _ + s > u && c.value > 1; )
115
- c.value--, await V(), _ = ((e = m.value) == null ? void 0 : e.getBoundingClientRect().width) || 0;
148
+ const I = 50;
149
+ for (; _ + I > v && u.value > 1; )
150
+ u.value--, await U(), _ = ((a = g.value) == null ? void 0 : a.getBoundingClientRect().width) || 0;
116
151
  f.value = !0;
117
152
  };
118
- let k = null;
119
- const B = () => {
120
- k && clearTimeout(k), k = setTimeout(() => {
121
- T();
153
+ let T = null;
154
+ const P = () => {
155
+ T && clearTimeout(T), T = setTimeout(() => {
156
+ k();
122
157
  }, 150);
123
158
  };
124
- return J(() => {
125
- T(), Dt(h, B);
159
+ return Q(() => {
160
+ k(), Kt(p, P);
126
161
  }), ut(() => {
127
- k && clearTimeout(k);
162
+ T && clearTimeout(T);
128
163
  }), M(() => t.tabs, () => {
129
- T();
130
- }, { deep: !0 }), (u, _) => {
131
- const s = $("KDropdownItem"), D = $("KDropdown"), C = $("KSkeletonBox");
132
- return n(), l("nav", $t, [
164
+ k();
165
+ }, { deep: !0 }), (v, _) => {
166
+ const I = $("KDropdownItem"), i = $("KDropdown"), D = $("KSkeletonBox");
167
+ return r(), b("nav", Rt, [
133
168
  w("ul", {
134
169
  ref: "page-layout-tabs-list",
135
- class: x({ "layout-computing": !f.value })
170
+ class: A({ "layout-computing": !f.value })
136
171
  }, [
137
- (n(!0), l(N, null, z(d.value, (e) => (n(), l("li", {
138
- key: `${e.key}-tab`
172
+ (r(!0), b(O, null, z(l.value, (a) => (r(), b("li", {
173
+ key: `${a.key}-tab`
139
174
  }, [
140
- (n(), S(F(typeof e.to == "string" ? "a" : "router-link"), X({ ref_for: !0 }, typeof e.to == "string" ? { href: e.to } : { to: e.to }, {
141
- "aria-current": e.active ? "page" : void 0,
142
- class: ["tab-link", { active: e.active }],
143
- "data-testid": e.dataTestId ? e.dataTestId : `page-layout-tab-${e.key}`,
175
+ (r(), S(V(typeof a.to == "string" ? "a" : "router-link"), Y({ ref_for: !0 }, typeof a.to == "string" ? { href: a.to } : { to: a.to }, {
176
+ "aria-current": a.active ? "page" : void 0,
177
+ class: ["tab-link", { active: a.active }],
178
+ "data-testid": a.dataTestId ? a.dataTestId : `page-layout-tab-${a.key}`,
144
179
  tabindex: "0",
145
- onClick: I((W) => g(e), ["prevent"]),
180
+ onClick: C((B) => c(a), ["prevent"]),
146
181
  onKeydown: [
147
- E(I((W) => g(e), ["prevent"]), ["enter"]),
148
- E(I((W) => g(e), ["prevent"]), ["space"])
182
+ N(C((B) => c(a), ["prevent"]), ["enter"]),
183
+ N(C((B) => c(a), ["prevent"]), ["space"])
149
184
  ]
150
185
  }), {
151
- default: K(() => [
152
- U(L(e.label), 1)
186
+ default: L(() => [
187
+ G(x(a.label), 1)
153
188
  ]),
154
189
  _: 2
155
190
  }, 1040, ["aria-current", "class", "data-testid", "onClick", "onKeydown"]))
156
191
  ]))), 128)),
157
- t.tabs.length > c.value ? (n(), l("li", Bt, [
158
- O(D, { "kpop-attributes": {
192
+ t.tabs.length > u.value ? (r(), b("li", Lt, [
193
+ W(i, { "kpop-attributes": {
159
194
  placement: "bottom-end",
160
195
  popoverElementAttributes: { "data-testid": "tabs-overflow-dropdown-popover" }
161
196
  } }, {
162
- items: K(() => [
163
- (n(!0), l(N, null, z(v.value, (e) => (n(), S(s, {
164
- key: `${e.key}-dropdown-item`,
165
- "aria-current": e.active ? "page" : void 0,
166
- "data-testid": e.dataTestId ? e.dataTestId : `page-layout-tab-${e.key}`,
197
+ items: L(() => [
198
+ (r(!0), b(O, null, z(d.value, (a) => (r(), S(I, {
199
+ key: `${a.key}-dropdown-item`,
200
+ "aria-current": a.active ? "page" : void 0,
201
+ "data-testid": a.dataTestId ? a.dataTestId : `page-layout-tab-${a.key}`,
167
202
  item: {
168
- label: e.label,
169
- value: e.key,
170
- to: e.to
203
+ label: a.label,
204
+ value: a.key,
205
+ to: a.to
171
206
  },
172
- selected: e.active
207
+ selected: a.active
173
208
  }, null, 8, ["aria-current", "data-testid", "item", "selected"]))), 128))
174
209
  ]),
175
- default: K(() => [
210
+ default: L(() => [
176
211
  w("button", {
177
- "aria-label": b(o)("tabs.more_button.aria_label"),
178
- class: x(["tab-link overflow-dropdown-trigger", { active: v.value.find((e) => e.active) }]),
212
+ "aria-label": y(o)("tabs.more_button.aria_label"),
213
+ class: A(["tab-link overflow-dropdown-trigger", { active: d.value.find((a) => a.active) }]),
179
214
  "data-testid": "tabs-overflow-dropdown-button"
180
215
  }, [
181
- U(L(b(o)("tabs.more_button.label")) + " ", 1),
182
- w("span", Kt, L(t.tabs.length - c.value), 1)
183
- ], 10, Pt)
216
+ G(x(y(o)("tabs.more_button.label")) + " ", 1),
217
+ w("span", Ft, x(t.tabs.length - u.value), 1)
218
+ ], 10, xt)
184
219
  ]),
185
220
  _: 1
186
221
  })
187
- ])) : p("", !0)
222
+ ])) : h("", !0)
188
223
  ], 2),
189
- f.value ? p("", !0) : (n(), l("div", Lt, [
190
- (n(), l(N, null, z(3, (e) => O(C, {
191
- key: `layout-loader-${e}`,
224
+ f.value ? h("", !0) : (r(), b("div", Et, [
225
+ (r(), b(O, null, z(3, (a) => W(D, {
226
+ key: `layout-loader-${a}`,
192
227
  height: "1",
193
228
  width: "5"
194
229
  })), 64))
@@ -196,32 +231,34 @@ const $t = {
196
231
  ], 512);
197
232
  };
198
233
  }
199
- }), et = (t, o) => {
200
- const a = t.__vccOpts || t;
201
- for (const [r, g] of o)
202
- a[r] = g;
203
- return a;
204
- }, xt = /* @__PURE__ */ et(Rt, [["__scopeId", "data-v-b3139545"]]), H = Symbol("nested-page-layout-detection"), Et = {
234
+ }), at = (t, o) => {
235
+ const e = t.__vccOpts || t;
236
+ for (const [n, c] of o)
237
+ e[n] = c;
238
+ return e;
239
+ }, Nt = /* @__PURE__ */ at(At, [["__scopeId", "data-v-b3139545"]]), J = Symbol("nested-page-layout-detection"), Ot = {
205
240
  class: "kong-ui-public-page-layout",
206
241
  "data-testid": "kong-ui-public-page-layout"
207
- }, Nt = {
242
+ }, zt = {
208
243
  key: 0,
209
244
  class: "page-layout-header",
210
245
  "data-testid": "page-layout-header"
211
- }, zt = { class: "page-header-container" }, At = { class: "page-header-start" }, Ft = { class: "title-container" }, Ot = {
246
+ }, Vt = { class: "page-header-container" }, Wt = { class: "page-header-start" }, Mt = { class: "title-container" }, jt = {
212
247
  key: 1,
248
+ class: "page-layout-title-wrapper"
249
+ }, Gt = {
213
250
  class: "page-layout-title",
214
251
  "data-testid": "page-layout-title"
215
- }, Vt = {
252
+ }, Ut = {
216
253
  key: 2,
217
254
  class: "favorite-button-container"
218
- }, Mt = ["aria-label"], Wt = {
255
+ }, Zt = ["aria-label"], Ht = {
219
256
  key: 3,
220
257
  class: "title-after-container"
221
- }, Gt = {
258
+ }, qt = {
222
259
  key: 0,
223
260
  class: "page-header-actions-container"
224
- }, Ut = /* @__PURE__ */ Q({
261
+ }, Jt = /* @__PURE__ */ X({
225
262
  __name: "PageLayout",
226
263
  props: {
227
264
  breadcrumbs: { default: () => [] },
@@ -231,10 +268,10 @@ const $t = {
231
268
  pageShortcutData: {}
232
269
  },
233
270
  setup(t) {
234
- const o = P("app:navigateTo", null), a = P("app:pageShortcutsContext", null), { i18n: { t: r } } = tt.useI18n(), g = Y(), i = ct(), h = y(() => !!(t.tabs && t.tabs.length)), m = y(() => typeof t.backTo == "string"), c = y(() => !!t.pageShortcutData && !!t.pageShortcutData.entityType && !!t.pageShortcutData.label), f = y(() => c.value && !!a && "onFavoriteToggle" in a && typeof a.onFavoriteToggle == "function"), d = y(() => !!a && "isFavorite" in a && a.isFavorite === !0), v = async () => {
271
+ const o = R("app:navigateTo", null), e = R("app:pageShortcutsContext", null), { i18n: { t: n } } = et.useI18n(), c = tt(), s = dt(), p = m(() => !!(t.tabs && t.tabs.length)), g = m(() => typeof t.backTo == "string"), u = m(() => !!t.pageShortcutData && !!t.pageShortcutData.entityType && !!t.pageShortcutData.label), f = m(() => u.value && !!e && "onFavoriteToggle" in e && typeof e.onFavoriteToggle == "function"), l = m(() => !!e && "isFavorite" in e && e.isFavorite === !0), d = async () => {
235
272
  if (t.backTo) {
236
273
  if (typeof t.backTo == "object") {
237
- g.push(t.backTo);
274
+ c.push(t.backTo);
238
275
  return;
239
276
  }
240
277
  if (typeof o != "function") {
@@ -243,93 +280,101 @@ const $t = {
243
280
  }
244
281
  await o(t.backTo);
245
282
  }
246
- }, T = R(0), k = y(() => T.value > 0);
247
- lt(H, () => (T.value++, () => {
248
- T.value--;
283
+ }, k = E(0), T = m(() => k.value > 0);
284
+ lt(J, () => (k.value++, () => {
285
+ k.value--;
249
286
  }));
250
- const B = P(H, null), u = R(null);
251
- typeof B == "function" && (u.value = B());
287
+ const P = R(J, null), v = E(null);
288
+ typeof P == "function" && (v.value = P());
252
289
  const _ = () => {
253
- var s;
254
- a.onFavoriteToggle({ ...t.pageShortcutData, path: ((s = t.pageShortcutData) == null ? void 0 : s.path) || i.fullPath });
290
+ var i;
291
+ e.onFavoriteToggle({ ...t.pageShortcutData, path: ((i = t.pageShortcutData) == null ? void 0 : i.path) || s.fullPath });
255
292
  };
256
- return rt(() => {
257
- var s;
258
- (s = u.value) == null || s.call(u);
259
- }), M([() => t.pageShortcutData, () => i == null ? void 0 : i.fullPath], async () => {
260
- var s;
261
- await V(), !k.value && c.value && a && "onEntityPageVisit" in a && typeof a.onEntityPageVisit == "function" && a.onEntityPageVisit({ ...t.pageShortcutData, path: ((s = t.pageShortcutData) == null ? void 0 : s.path) || (i == null ? void 0 : i.fullPath) });
262
- }, { immediate: !0, deep: !0 }), (s, D) => {
263
- const C = $("KBreadcrumbs"), e = $("router-view");
264
- return n(), l("div", Et, [
265
- k.value ? p("", !0) : (n(), l("div", Nt, [
266
- w("div", zt, [
267
- w("div", At, [
268
- t.breadcrumbs && t.breadcrumbs.length ? (n(), S(C, {
293
+ ct(() => {
294
+ var i;
295
+ (i = v.value) == null || i.call(v);
296
+ });
297
+ const I = /* @__PURE__ */ Dt(() => {
298
+ var i;
299
+ !T.value && u.value && e && "onEntityPageVisit" in e && typeof e.onEntityPageVisit == "function" && e.onEntityPageVisit({ ...t.pageShortcutData, path: ((i = t.pageShortcutData) == null ? void 0 : i.path) || (s == null ? void 0 : s.fullPath) });
300
+ }, 500);
301
+ return M([() => t.pageShortcutData, () => s == null ? void 0 : s.fullPath], () => {
302
+ I();
303
+ }, { immediate: !0, deep: !0 }), (i, D) => {
304
+ const a = $("KBreadcrumbs"), B = $("router-view");
305
+ return r(), b("div", Ot, [
306
+ T.value ? h("", !0) : (r(), b("div", zt, [
307
+ w("div", Vt, [
308
+ w("div", Wt, [
309
+ t.breadcrumbs && t.breadcrumbs.length ? (r(), S(a, {
269
310
  key: 0,
270
311
  class: "header-breadcrumbs",
271
312
  "data-testid": "page-layout-breadcrumbs",
272
313
  "item-max-width": "25ch",
273
314
  items: t.breadcrumbs
274
- }, null, 8, ["items"])) : p("", !0),
275
- w("div", Ft, [
276
- t.backTo ? (n(), S(F(m.value ? "a" : "router-link"), X({ key: 0 }, m.value ? { href: t.backTo } : { to: t.backTo }, {
277
- "aria-label": b(r)("back_button"),
315
+ }, null, 8, ["items"])) : h("", !0),
316
+ w("div", Mt, [
317
+ t.backTo ? (r(), S(V(g.value ? "a" : "router-link"), Y({ key: 0 }, g.value ? { href: t.backTo } : { to: t.backTo }, {
318
+ "aria-label": y(n)("back_button"),
278
319
  class: "navigate-back",
279
320
  "data-testid": "page-layout-navigate-back",
280
321
  tabindex: "0",
281
- onClick: I(v, ["prevent"]),
322
+ onClick: C(d, ["prevent"]),
282
323
  onKeydown: [
283
- E(I(v, ["prevent"]), ["enter"]),
284
- E(I(v, ["prevent"]), ["space"])
324
+ N(C(d, ["prevent"]), ["enter"]),
325
+ N(C(d, ["prevent"]), ["space"])
285
326
  ]
286
327
  }), {
287
- default: K(() => [
288
- O(b(bt), {
328
+ default: L(() => [
329
+ W(y(bt), {
289
330
  decorative: "",
290
- size: b(j)
331
+ size: y(Z)
291
332
  }, null, 8, ["size"])
292
333
  ]),
293
334
  _: 1
294
- }, 16, ["aria-label", "onKeydown"])) : p("", !0),
295
- t.title ? (n(), l("h1", Ot, L(t.title), 1)) : p("", !0),
296
- f.value ? (n(), l("div", Vt, [
335
+ }, 16, ["aria-label", "onKeydown"])) : h("", !0),
336
+ t.title || i.$slots.title ? (r(), b("span", jt, [
337
+ K(i.$slots, "title", {}, () => [
338
+ w("h1", Gt, x(t.title), 1)
339
+ ], !0)
340
+ ])) : h("", !0),
341
+ f.value ? (r(), b("div", Ut, [
297
342
  w("button", {
298
- "aria-label": d.value ? b(r)("favorite_button.remove_shortcut") : b(r)("favorite_button.save_shortcut"),
299
- class: x(["favorite-button", { active: d.value }]),
343
+ "aria-label": l.value ? y(n)("favorite_button.remove_shortcut") : y(n)("favorite_button.save_shortcut"),
344
+ class: A(["favorite-button", { active: l.value }]),
300
345
  "data-testid": "page-layout-favorite-button",
301
346
  type: "button",
302
347
  onClick: _
303
348
  }, [
304
- (n(), S(F(d.value ? b(ft) : b(pt)), {
349
+ (r(), S(V(l.value ? y(pt) : y(yt)), {
305
350
  decorative: "",
306
- size: b(j)
351
+ size: y(Z)
307
352
  }, null, 8, ["size"]))
308
- ], 10, Mt)
309
- ])) : p("", !0),
310
- s.$slots["title-after"] ? (n(), l("div", Wt, [
311
- A(s.$slots, "title-after", {}, void 0, !0)
312
- ])) : p("", !0)
353
+ ], 10, Zt)
354
+ ])) : h("", !0),
355
+ i.$slots["title-after"] ? (r(), b("div", Ht, [
356
+ K(i.$slots, "title-after", {}, void 0, !0)
357
+ ])) : h("", !0)
313
358
  ])
314
359
  ]),
315
- s.$slots.actions ? (n(), l("div", Gt, [
316
- A(s.$slots, "actions", {}, void 0, !0)
317
- ])) : p("", !0)
360
+ i.$slots.actions ? (r(), b("div", qt, [
361
+ K(i.$slots, "actions", {}, void 0, !0)
362
+ ])) : h("", !0)
318
363
  ]),
319
- h.value ? (n(), S(xt, {
364
+ p.value ? (r(), S(Nt, {
320
365
  key: 0,
321
366
  tabs: t.tabs
322
- }, null, 8, ["tabs"])) : p("", !0)
367
+ }, null, 8, ["tabs"])) : h("", !0)
323
368
  ])),
324
369
  w("div", {
325
- class: x(["page-layout-content", { "has-nested-page-layout": k.value }])
370
+ class: A(["page-layout-content", { "has-nested-page-layout": T.value }])
326
371
  }, [
327
- h.value ? (n(), S(e, { key: 0 })) : A(s.$slots, "default", { key: 1 }, void 0, !0)
372
+ p.value ? (r(), S(B, { key: 0 })) : K(i.$slots, "default", { key: 1 }, void 0, !0)
328
373
  ], 2)
329
374
  ]);
330
375
  };
331
376
  }
332
- }), Jt = /* @__PURE__ */ et(Ut, [["__scopeId", "data-v-ecbcd9eb"]]);
377
+ }), ee = /* @__PURE__ */ at(Jt, [["__scopeId", "data-v-9e526e3f"]]);
333
378
  export {
334
- Jt as PageLayout
379
+ ee as PageLayout
335
380
  };
@@ -1 +1 @@
1
- (function(p,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("vue-router"),require("@kong-ui-public/i18n"),require("@kong/icons")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router","@kong-ui-public/i18n","@kong/icons"],t):(p=typeof globalThis<"u"?globalThis:p||self,t(p["kong-ui-public-page-layout"]={},p.Vue,p.VueRouter,p["kong-ui-public-i18n"],p.KongIcons))})(this,function(p,t,T,_,S){"use strict";const K={back_button:"Go back",favorite_button:{save_shortcut:"Save page to shortcuts",remove_shortcut:"Remove page from shortcuts"},tabs:{more_button:{label:"More",aria_label:"More tabs"}}};function P(){const e=_.createI18n("en-us",K);return{i18n:e,i18nT:_.i18nTComponent(e)}}const V={useI18n:P},E="16px",x="16px";function L(e,n){return t.getCurrentScope()?(t.onScopeDispose(e,n),!0):!1}const R=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const M=R?window:void 0;function N(e){var n;const a=t.toValue(e);return(n=a==null?void 0:a.$el)!==null&&n!==void 0?n:a}function z(){const e=t.shallowRef(!1),n=t.getCurrentInstance();return n&&t.onMounted(()=>{e.value=!0},n),e}function F(e){const n=z();return t.computed(()=>(n.value,!!e()))}function O(e,n,a={}){const{window:r=M,...f}=a;let i;const b=F(()=>r&&"ResizeObserver"in r),k=()=>{i&&(i.disconnect(),i=void 0)},l=t.watch(t.computed(()=>{const d=t.toValue(e);return Array.isArray(d)?d.map(u=>N(u)):[N(d)]}),d=>{if(k(),b.value&&r){i=new ResizeObserver(n);for(const u of d)u&&i.observe(u,f)}},{immediate:!0,flush:"post"}),m=()=>{k(),l()};return L(m),{isSupported:b,stop:m}}const A={ref:"page-layout-tabs",class:"page-layout-tabs","data-testid":"page-layout-tabs"},j={key:0},W=["aria-label"],G={class:"overflowing-items-count"},q={key:0,class:"layout-loader-container"},U=t.defineComponent({__name:"PageLayoutTabs",props:{tabs:{default:()=>[]}},setup(e){t.useCssVars(s=>({db98251e:t.unref(i)}));const{i18n:{t:n}}=V.useI18n(),a=T.useRouter(),r=t.inject("app:navigateTo",null),f=s=>{if(typeof s.to!="string"){a.push(s.to);return}if(typeof r!="function"){window.location.href=s.to;return}r(s.to)},i=x,b=t.useTemplateRef("page-layout-tabs"),k=t.useTemplateRef("page-layout-tabs-list"),l=t.ref(e.tabs.length),m=t.ref(!1),d=t.computed(()=>e.tabs.slice(0,l.value)),u=t.computed(()=>e.tabs.slice(l.value)),g=async()=>{var w,B,o;if(!b.value||!k.value)return;m.value=!1,l.value=e.tabs.length,await t.nextTick();const s=((w=b.value)==null?void 0:w.getBoundingClientRect().width)-parseInt(i)*2;let h=(B=k.value)==null?void 0:B.getBoundingClientRect().width;if(!s||!h){m.value=!0;return}const c=50;for(;h+c>s&&l.value>1;)l.value--,await t.nextTick(),h=((o=k.value)==null?void 0:o.getBoundingClientRect().width)||0;m.value=!0};let y=null;const C=()=>{y&&clearTimeout(y),y=setTimeout(()=>{g()},150)};return t.onMounted(()=>{g(),O(b,C)}),t.onBeforeUnmount(()=>{y&&clearTimeout(y)}),t.watch(()=>e.tabs,()=>{g()},{deep:!0}),(s,h)=>{const c=t.resolveComponent("KDropdownItem"),w=t.resolveComponent("KDropdown"),B=t.resolveComponent("KSkeletonBox");return t.openBlock(),t.createElementBlock("nav",A,[t.createElementVNode("ul",{ref:"page-layout-tabs-list",class:t.normalizeClass({"layout-computing":!m.value})},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(d.value,o=>(t.openBlock(),t.createElementBlock("li",{key:`${o.key}-tab`},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(typeof o.to=="string"?"a":"router-link"),t.mergeProps({ref_for:!0},typeof o.to=="string"?{href:o.to}:{to:o.to},{"aria-current":o.active?"page":void 0,class:["tab-link",{active:o.active}],"data-testid":o.dataTestId?o.dataTestId:`page-layout-tab-${o.key}`,tabindex:"0",onClick:t.withModifiers($=>f(o),["prevent"]),onKeydown:[t.withKeys(t.withModifiers($=>f(o),["prevent"]),["enter"]),t.withKeys(t.withModifiers($=>f(o),["prevent"]),["space"])]}),{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(o.label),1)]),_:2},1040,["aria-current","class","data-testid","onClick","onKeydown"]))]))),128)),e.tabs.length>l.value?(t.openBlock(),t.createElementBlock("li",j,[t.createVNode(w,{"kpop-attributes":{placement:"bottom-end",popoverElementAttributes:{"data-testid":"tabs-overflow-dropdown-popover"}}},{items:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.value,o=>(t.openBlock(),t.createBlock(c,{key:`${o.key}-dropdown-item`,"aria-current":o.active?"page":void 0,"data-testid":o.dataTestId?o.dataTestId:`page-layout-tab-${o.key}`,item:{label:o.label,value:o.key,to:o.to},selected:o.active},null,8,["aria-current","data-testid","item","selected"]))),128))]),default:t.withCtx(()=>[t.createElementVNode("button",{"aria-label":t.unref(n)("tabs.more_button.aria_label"),class:t.normalizeClass(["tab-link overflow-dropdown-trigger",{active:u.value.find(o=>o.active)}]),"data-testid":"tabs-overflow-dropdown-button"},[t.createTextVNode(t.toDisplayString(t.unref(n)("tabs.more_button.label"))+" ",1),t.createElementVNode("span",G,t.toDisplayString(e.tabs.length-l.value),1)],10,W)]),_:1})])):t.createCommentVNode("",!0)],2),m.value?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",q,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(3,o=>t.createVNode(B,{key:`layout-loader-${o}`,height:"1",width:"5"})),64))]))],512)}}}),D=(e,n)=>{const a=e.__vccOpts||e;for(const[r,f]of n)a[r]=f;return a},Z=D(U,[["__scopeId","data-v-b3139545"]]),I=Symbol("nested-page-layout-detection"),H={class:"kong-ui-public-page-layout","data-testid":"kong-ui-public-page-layout"},J={key:0,class:"page-layout-header","data-testid":"page-layout-header"},Q={class:"page-header-container"},X={class:"page-header-start"},Y={class:"title-container"},v={key:1,class:"page-layout-title","data-testid":"page-layout-title"},tt={key:2,class:"favorite-button-container"},et=["aria-label"],ot={key:3,class:"title-after-container"},at={key:0,class:"page-header-actions-container"},nt=D(t.defineComponent({__name:"PageLayout",props:{breadcrumbs:{default:()=>[]},title:{},backTo:{},tabs:{default:()=>[]},pageShortcutData:{}},setup(e){const n=t.inject("app:navigateTo",null),a=t.inject("app:pageShortcutsContext",null),{i18n:{t:r}}=V.useI18n(),f=T.useRouter(),i=T.useRoute(),b=t.computed(()=>!!(e.tabs&&e.tabs.length)),k=t.computed(()=>typeof e.backTo=="string"),l=t.computed(()=>!!e.pageShortcutData&&!!e.pageShortcutData.entityType&&!!e.pageShortcutData.label),m=t.computed(()=>l.value&&!!a&&"onFavoriteToggle"in a&&typeof a.onFavoriteToggle=="function"),d=t.computed(()=>!!a&&"isFavorite"in a&&a.isFavorite===!0),u=async()=>{if(e.backTo){if(typeof e.backTo=="object"){f.push(e.backTo);return}if(typeof n!="function"){window.location.href=e.backTo;return}await n(e.backTo)}},g=t.ref(0),y=t.computed(()=>g.value>0);t.provide(I,()=>(g.value++,()=>{g.value--}));const C=t.inject(I,null),s=t.ref(null);typeof C=="function"&&(s.value=C());const h=()=>{var c;a.onFavoriteToggle({...e.pageShortcutData,path:((c=e.pageShortcutData)==null?void 0:c.path)||i.fullPath})};return t.onUnmounted(()=>{var c;(c=s.value)==null||c.call(s)}),t.watch([()=>e.pageShortcutData,()=>i==null?void 0:i.fullPath],async()=>{var c;await t.nextTick(),!y.value&&l.value&&a&&"onEntityPageVisit"in a&&typeof a.onEntityPageVisit=="function"&&a.onEntityPageVisit({...e.pageShortcutData,path:((c=e.pageShortcutData)==null?void 0:c.path)||(i==null?void 0:i.fullPath)})},{immediate:!0,deep:!0}),(c,w)=>{const B=t.resolveComponent("KBreadcrumbs"),o=t.resolveComponent("router-view");return t.openBlock(),t.createElementBlock("div",H,[y.value?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",J,[t.createElementVNode("div",Q,[t.createElementVNode("div",X,[e.breadcrumbs&&e.breadcrumbs.length?(t.openBlock(),t.createBlock(B,{key:0,class:"header-breadcrumbs","data-testid":"page-layout-breadcrumbs","item-max-width":"25ch",items:e.breadcrumbs},null,8,["items"])):t.createCommentVNode("",!0),t.createElementVNode("div",Y,[e.backTo?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(k.value?"a":"router-link"),t.mergeProps({key:0},k.value?{href:e.backTo}:{to:e.backTo},{"aria-label":t.unref(r)("back_button"),class:"navigate-back","data-testid":"page-layout-navigate-back",tabindex:"0",onClick:t.withModifiers(u,["prevent"]),onKeydown:[t.withKeys(t.withModifiers(u,["prevent"]),["enter"]),t.withKeys(t.withModifiers(u,["prevent"]),["space"])]}),{default:t.withCtx(()=>[t.createVNode(t.unref(S.ArrowTopLeftIcon),{decorative:"",size:t.unref(E)},null,8,["size"])]),_:1},16,["aria-label","onKeydown"])):t.createCommentVNode("",!0),e.title?(t.openBlock(),t.createElementBlock("h1",v,t.toDisplayString(e.title),1)):t.createCommentVNode("",!0),m.value?(t.openBlock(),t.createElementBlock("div",tt,[t.createElementVNode("button",{"aria-label":d.value?t.unref(r)("favorite_button.remove_shortcut"):t.unref(r)("favorite_button.save_shortcut"),class:t.normalizeClass(["favorite-button",{active:d.value}]),"data-testid":"page-layout-favorite-button",type:"button",onClick:h},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(d.value?t.unref(S.StarFillIcon):t.unref(S.StarIcon)),{decorative:"",size:t.unref(E)},null,8,["size"]))],10,et)])):t.createCommentVNode("",!0),c.$slots["title-after"]?(t.openBlock(),t.createElementBlock("div",ot,[t.renderSlot(c.$slots,"title-after",{},void 0,!0)])):t.createCommentVNode("",!0)])]),c.$slots.actions?(t.openBlock(),t.createElementBlock("div",at,[t.renderSlot(c.$slots,"actions",{},void 0,!0)])):t.createCommentVNode("",!0)]),b.value?(t.openBlock(),t.createBlock(Z,{key:0,tabs:e.tabs},null,8,["tabs"])):t.createCommentVNode("",!0)])),t.createElementVNode("div",{class:t.normalizeClass(["page-layout-content",{"has-nested-page-layout":y.value}])},[b.value?(t.openBlock(),t.createBlock(o,{key:0})):t.renderSlot(c.$slots,"default",{key:1},void 0,!0)],2)])}}}),[["__scopeId","data-v-ecbcd9eb"]]);p.PageLayout=nt,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
1
+ (function(b,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue"),require("vue-router"),require("@kong-ui-public/i18n"),require("@kong/icons")):typeof define=="function"&&define.amd?define(["exports","vue","vue-router","@kong-ui-public/i18n","@kong/icons"],t):(b=typeof globalThis<"u"?globalThis:b||self,t(b["kong-ui-public-page-layout"]={},b.Vue,b.VueRouter,b["kong-ui-public-i18n"],b.KongIcons))})(this,function(b,t,S,_,V){"use strict";const K={back_button:"Go back",favorite_button:{save_shortcut:"Save page to shortcuts",remove_shortcut:"Remove page from shortcuts"},tabs:{more_button:{label:"More",aria_label:"More tabs"}}};function x(){const e=_.createI18n("en-us",K);return{i18n:e,i18nT:_.i18nTComponent(e)}}const E={useI18n:x},N="16px",L="16px";function R(e,a){return t.getCurrentScope()?(t.onScopeDispose(e,a),!0):!1}const F=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const D=()=>{};function M(e,a){function o(...i){return new Promise((d,r)=>{Promise.resolve(e(()=>a.apply(this,i),{fn:a,thisArg:this,args:i})).then(d).catch(r)})}return o}function z(e,a={}){let o,i,d=D;const r=c=>{clearTimeout(c),d(),d=D};let f;return c=>{const p=t.toValue(e),l=t.toValue(a.maxWait);return o&&r(o),p<=0||l!==void 0&&l<=0?(i&&(r(i),i=void 0),Promise.resolve(c())):new Promise((u,y)=>{d=a.rejectOnCancel?y:u,f=c,l&&!i&&(i=setTimeout(()=>{o&&r(o),i=void 0,u(f())},l)),o=setTimeout(()=>{i&&r(i),i=void 0,u(c())},p)})}}function O(e,a=200,o={}){return M(z(a,o),e)}const A=F?window:void 0;function I(e){var a;const o=t.toValue(e);return(a=o==null?void 0:o.$el)!==null&&a!==void 0?a:o}function j(){const e=t.shallowRef(!1),a=t.getCurrentInstance();return a&&t.onMounted(()=>{e.value=!0},a),e}function W(e){const a=j();return t.computed(()=>(a.value,!!e()))}function G(e,a,o={}){const{window:i=A,...d}=o;let r;const f=W(()=>i&&"ResizeObserver"in i),h=()=>{r&&(r.disconnect(),r=void 0)},c=t.watch(t.computed(()=>{const l=t.toValue(e);return Array.isArray(l)?l.map(u=>I(u)):[I(l)]}),l=>{if(h(),f.value&&i){r=new ResizeObserver(a);for(const u of l)u&&r.observe(u,d)}},{immediate:!0,flush:"post"}),p=()=>{h(),c()};return R(p),{isSupported:f,stop:p}}const q={ref:"page-layout-tabs",class:"page-layout-tabs","data-testid":"page-layout-tabs"},U={key:0},Z=["aria-label"],H={class:"overflowing-items-count"},J={key:0,class:"layout-loader-container"},Q=t.defineComponent({__name:"PageLayoutTabs",props:{tabs:{default:()=>[]}},setup(e){t.useCssVars(m=>({db98251e:t.unref(r)}));const{i18n:{t:a}}=E.useI18n(),o=S.useRouter(),i=t.inject("app:navigateTo",null),d=m=>{if(typeof m.to!="string"){o.push(m.to);return}if(typeof i!="function"){window.location.href=m.to;return}i(m.to)},r=L,f=t.useTemplateRef("page-layout-tabs"),h=t.useTemplateRef("page-layout-tabs-list"),c=t.ref(e.tabs.length),p=t.ref(!1),l=t.computed(()=>e.tabs.slice(0,c.value)),u=t.computed(()=>e.tabs.slice(c.value)),y=async()=>{var s,B,n;if(!f.value||!h.value)return;p.value=!1,c.value=e.tabs.length,await t.nextTick();const m=((s=f.value)==null?void 0:s.getBoundingClientRect().width)-parseInt(r)*2;let k=(B=h.value)==null?void 0:B.getBoundingClientRect().width;if(!m||!k){p.value=!0;return}const w=50;for(;k+w>m&&c.value>1;)c.value--,await t.nextTick(),k=((n=h.value)==null?void 0:n.getBoundingClientRect().width)||0;p.value=!0};let g=null;const T=()=>{g&&clearTimeout(g),g=setTimeout(()=>{y()},150)};return t.onMounted(()=>{y(),G(f,T)}),t.onBeforeUnmount(()=>{g&&clearTimeout(g)}),t.watch(()=>e.tabs,()=>{y()},{deep:!0}),(m,k)=>{const w=t.resolveComponent("KDropdownItem"),s=t.resolveComponent("KDropdown"),B=t.resolveComponent("KSkeletonBox");return t.openBlock(),t.createElementBlock("nav",q,[t.createElementVNode("ul",{ref:"page-layout-tabs-list",class:t.normalizeClass({"layout-computing":!p.value})},[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.value,n=>(t.openBlock(),t.createElementBlock("li",{key:`${n.key}-tab`},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(typeof n.to=="string"?"a":"router-link"),t.mergeProps({ref_for:!0},typeof n.to=="string"?{href:n.to}:{to:n.to},{"aria-current":n.active?"page":void 0,class:["tab-link",{active:n.active}],"data-testid":n.dataTestId?n.dataTestId:`page-layout-tab-${n.key}`,tabindex:"0",onClick:t.withModifiers(C=>d(n),["prevent"]),onKeydown:[t.withKeys(t.withModifiers(C=>d(n),["prevent"]),["enter"]),t.withKeys(t.withModifiers(C=>d(n),["prevent"]),["space"])]}),{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(n.label),1)]),_:2},1040,["aria-current","class","data-testid","onClick","onKeydown"]))]))),128)),e.tabs.length>c.value?(t.openBlock(),t.createElementBlock("li",U,[t.createVNode(s,{"kpop-attributes":{placement:"bottom-end",popoverElementAttributes:{"data-testid":"tabs-overflow-dropdown-popover"}}},{items:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(u.value,n=>(t.openBlock(),t.createBlock(w,{key:`${n.key}-dropdown-item`,"aria-current":n.active?"page":void 0,"data-testid":n.dataTestId?n.dataTestId:`page-layout-tab-${n.key}`,item:{label:n.label,value:n.key,to:n.to},selected:n.active},null,8,["aria-current","data-testid","item","selected"]))),128))]),default:t.withCtx(()=>[t.createElementVNode("button",{"aria-label":t.unref(a)("tabs.more_button.aria_label"),class:t.normalizeClass(["tab-link overflow-dropdown-trigger",{active:u.value.find(n=>n.active)}]),"data-testid":"tabs-overflow-dropdown-button"},[t.createTextVNode(t.toDisplayString(t.unref(a)("tabs.more_button.label"))+" ",1),t.createElementVNode("span",H,t.toDisplayString(e.tabs.length-c.value),1)],10,Z)]),_:1})])):t.createCommentVNode("",!0)],2),p.value?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",J,[(t.openBlock(),t.createElementBlock(t.Fragment,null,t.renderList(3,n=>t.createVNode(B,{key:`layout-loader-${n}`,height:"1",width:"5"})),64))]))],512)}}}),P=(e,a)=>{const o=e.__vccOpts||e;for(const[i,d]of a)o[i]=d;return o},X=P(Q,[["__scopeId","data-v-b3139545"]]),$=Symbol("nested-page-layout-detection"),Y={class:"kong-ui-public-page-layout","data-testid":"kong-ui-public-page-layout"},v={key:0,class:"page-layout-header","data-testid":"page-layout-header"},tt={class:"page-header-container"},et={class:"page-header-start"},ot={class:"title-container"},nt={key:1,class:"page-layout-title-wrapper"},at={class:"page-layout-title","data-testid":"page-layout-title"},it={key:2,class:"favorite-button-container"},rt=["aria-label"],st={key:3,class:"title-after-container"},ct={key:0,class:"page-header-actions-container"},lt=P(t.defineComponent({__name:"PageLayout",props:{breadcrumbs:{default:()=>[]},title:{},backTo:{},tabs:{default:()=>[]},pageShortcutData:{}},setup(e){const a=t.inject("app:navigateTo",null),o=t.inject("app:pageShortcutsContext",null),{i18n:{t:i}}=E.useI18n(),d=S.useRouter(),r=S.useRoute(),f=t.computed(()=>!!(e.tabs&&e.tabs.length)),h=t.computed(()=>typeof e.backTo=="string"),c=t.computed(()=>!!e.pageShortcutData&&!!e.pageShortcutData.entityType&&!!e.pageShortcutData.label),p=t.computed(()=>c.value&&!!o&&"onFavoriteToggle"in o&&typeof o.onFavoriteToggle=="function"),l=t.computed(()=>!!o&&"isFavorite"in o&&o.isFavorite===!0),u=async()=>{if(e.backTo){if(typeof e.backTo=="object"){d.push(e.backTo);return}if(typeof a!="function"){window.location.href=e.backTo;return}await a(e.backTo)}},y=t.ref(0),g=t.computed(()=>y.value>0);t.provide($,()=>(y.value++,()=>{y.value--}));const T=t.inject($,null),m=t.ref(null);typeof T=="function"&&(m.value=T());const k=()=>{var s;o.onFavoriteToggle({...e.pageShortcutData,path:((s=e.pageShortcutData)==null?void 0:s.path)||r.fullPath})};t.onUnmounted(()=>{var s;(s=m.value)==null||s.call(m)});const w=O(()=>{var s;!g.value&&c.value&&o&&"onEntityPageVisit"in o&&typeof o.onEntityPageVisit=="function"&&o.onEntityPageVisit({...e.pageShortcutData,path:((s=e.pageShortcutData)==null?void 0:s.path)||(r==null?void 0:r.fullPath)})},500);return t.watch([()=>e.pageShortcutData,()=>r==null?void 0:r.fullPath],()=>{w()},{immediate:!0,deep:!0}),(s,B)=>{const n=t.resolveComponent("KBreadcrumbs"),C=t.resolveComponent("router-view");return t.openBlock(),t.createElementBlock("div",Y,[g.value?t.createCommentVNode("",!0):(t.openBlock(),t.createElementBlock("div",v,[t.createElementVNode("div",tt,[t.createElementVNode("div",et,[e.breadcrumbs&&e.breadcrumbs.length?(t.openBlock(),t.createBlock(n,{key:0,class:"header-breadcrumbs","data-testid":"page-layout-breadcrumbs","item-max-width":"25ch",items:e.breadcrumbs},null,8,["items"])):t.createCommentVNode("",!0),t.createElementVNode("div",ot,[e.backTo?(t.openBlock(),t.createBlock(t.resolveDynamicComponent(h.value?"a":"router-link"),t.mergeProps({key:0},h.value?{href:e.backTo}:{to:e.backTo},{"aria-label":t.unref(i)("back_button"),class:"navigate-back","data-testid":"page-layout-navigate-back",tabindex:"0",onClick:t.withModifiers(u,["prevent"]),onKeydown:[t.withKeys(t.withModifiers(u,["prevent"]),["enter"]),t.withKeys(t.withModifiers(u,["prevent"]),["space"])]}),{default:t.withCtx(()=>[t.createVNode(t.unref(V.ArrowTopLeftIcon),{decorative:"",size:t.unref(N)},null,8,["size"])]),_:1},16,["aria-label","onKeydown"])):t.createCommentVNode("",!0),e.title||s.$slots.title?(t.openBlock(),t.createElementBlock("span",nt,[t.renderSlot(s.$slots,"title",{},()=>[t.createElementVNode("h1",at,t.toDisplayString(e.title),1)],!0)])):t.createCommentVNode("",!0),p.value?(t.openBlock(),t.createElementBlock("div",it,[t.createElementVNode("button",{"aria-label":l.value?t.unref(i)("favorite_button.remove_shortcut"):t.unref(i)("favorite_button.save_shortcut"),class:t.normalizeClass(["favorite-button",{active:l.value}]),"data-testid":"page-layout-favorite-button",type:"button",onClick:k},[(t.openBlock(),t.createBlock(t.resolveDynamicComponent(l.value?t.unref(V.StarFillIcon):t.unref(V.StarIcon)),{decorative:"",size:t.unref(N)},null,8,["size"]))],10,rt)])):t.createCommentVNode("",!0),s.$slots["title-after"]?(t.openBlock(),t.createElementBlock("div",st,[t.renderSlot(s.$slots,"title-after",{},void 0,!0)])):t.createCommentVNode("",!0)])]),s.$slots.actions?(t.openBlock(),t.createElementBlock("div",ct,[t.renderSlot(s.$slots,"actions",{},void 0,!0)])):t.createCommentVNode("",!0)]),f.value?(t.openBlock(),t.createBlock(X,{key:0,tabs:e.tabs},null,8,["tabs"])):t.createCommentVNode("",!0)])),t.createElementVNode("div",{class:t.normalizeClass(["page-layout-content",{"has-nested-page-layout":g.value}])},[f.value?(t.openBlock(),t.createBlock(C,{key:0})):t.renderSlot(s.$slots,"default",{key:1},void 0,!0)],2)])}}}),[["__scopeId","data-v-9e526e3f"]]);b.PageLayout=lt,Object.defineProperty(b,Symbol.toStringTag,{value:"Module"})});
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- .page-layout-tabs[data-v-b3139545]{align-items:flex-end;border-bottom:1px solid #e0e4ea;border-bottom:var(--kui-border-width-10, 1px) solid var(--kui-color-border, #e0e4ea);box-sizing:border-box;display:flex;height:34px;overflow-x:clip;padding:0px var(--db98251e);padding:var(--kui-space-0, 0px) var(--db98251e);position:relative;width:100%}.page-layout-tabs a[data-v-b3139545],.page-layout-tabs button[data-v-b3139545]{background-color:transparent;background-color:var(--kui-color-background-transparent, transparent);border:none;color:inherit;cursor:pointer;outline:none;padding:0;padding:var(--kui-space-0, 0px);text-decoration:none}.page-layout-tabs ul[data-v-b3139545]{display:flex;gap:20px;gap:var(--kui-space-70, 20px);list-style:none;margin:0;margin:var(--kui-space-0, 0px);margin-bottom:-1px;margin-bottom:calc(-1 * var(--kui-border-width-10, 1px));max-width:100%;padding:0;padding:var(--kui-space-0, 0px)}.page-layout-tabs ul.layout-computing[data-v-b3139545]{height:0;visibility:hidden}.page-layout-tabs ul li[data-v-b3139545]{display:flex}.page-layout-tabs ul li .tab-link[data-v-b3139545]{align-items:center;border-bottom:2px solid transparent;border-bottom:var(--kui-border-width-20, 2px) solid var(--kui-color-border-transparent, transparent);border-radius:4px 4px 0 0;border-radius:var(--kui-border-radius-20, 4px) var(--kui-border-radius-20, 4px) var(--kui-border-radius-0, 0px) var(--kui-border-radius-0, 0px);color:#52596e;color:var(--kui-color-text-neutral-strong, #52596e);cursor:pointer;display:flex;font-size:12px;font-size:var(--kui-font-size-20, 12px);font-weight:500;font-weight:var(--kui-font-weight-medium, 500);gap:6px;gap:var(--kui-space-30, 6px);line-height:20px;line-height:var(--kui-line-height-30, 20px);padding:6px 0;padding:var(--kui-space-30, 6px) var(--kui-space-0, 0px);transition:color .2s ease-in,border-color .2s ease-in,font-weight .2s ease-in;white-space:nowrap}.page-layout-tabs ul li .tab-link[data-v-b3139545]:hover{border-bottom:2px solid #afb7c5;border-bottom:var(--kui-border-width-20, 2px) solid var(--kui-color-border-neutral-weak, #afb7c5);color:#000933;color:var(--kui-color-text, #000933)}.page-layout-tabs ul li .tab-link[data-v-b3139545]:focus-visible{box-shadow:0 0 0 4px #0044f433;box-shadow:var(--kui-shadow-focus, 0px 0px 0px 4px rgba(0, 68, 244, .2))}.page-layout-tabs ul li .tab-link.active[data-v-b3139545]{border-bottom:2px solid #0044f4;border-bottom:var(--kui-border-width-20, 2px) solid var(--kui-color-border-primary, #0044f4);color:#0044f4!important;color:var(--kui-color-text-primary, #0044f4)!important;font-weight:600;font-weight:var(--kui-font-weight-semibold, 600)}.page-layout-tabs ul li .tab-link.overflow-dropdown-trigger[data-v-b3139545]{color:#000933;color:var(--kui-color-text, #000933);font-weight:500!important;font-weight:var(--kui-font-weight-medium, 500)!important}.page-layout-tabs ul li .tab-link.overflow-dropdown-trigger .overflowing-items-count[data-v-b3139545]{background-color:#e0e4ea;background-color:var(--kui-color-background-neutral-weaker, #e0e4ea);border-radius:100px;border-radius:var(--kui-border-radius-round, 100px);color:#52596e;color:var(--kui-color-text-neutral-strong, #52596e);font-size:11px;font-weight:600;font-weight:var(--kui-font-weight-semibold, 600);line-height:12px;padding:2px 6px;padding:var(--kui-space-10, 2px) var(--kui-space-30, 6px)}.page-layout-tabs ul li .tab-link.overflow-dropdown-trigger.active .overflowing-items-count[data-v-b3139545]{background-color:#eefaff;background-color:var(--kui-color-background-primary-weakest, #eefaff);color:#0044f4;color:var(--kui-color-text-primary, #0044f4)}.page-layout-tabs .layout-loader-container[data-v-b3139545]{align-items:center;display:flex;gap:20px;gap:var(--kui-space-70, 20px);height:34px;top:0;right:0;bottom:0;left:0;left:var(--db98251e);position:absolute}.kong-ui-public-page-layout[data-v-ecbcd9eb]{box-sizing:border-box;font-family:Inter,Roboto,Helvetica,sans-serif;font-family:var(--kui-font-family-text, "Inter", Roboto, Helvetica, sans-serif)}.kong-ui-public-page-layout .page-layout-header[data-v-ecbcd9eb]{display:flex;flex-direction:column;gap:8px;gap:var(--kui-space-40, 8px)}.kong-ui-public-page-layout .page-layout-header .page-header-container[data-v-ecbcd9eb]{align-items:flex-end;display:flex;gap:6px;gap:var(--kui-space-30, 6px);justify-content:space-between;padding:16px 16px 0;padding:var(--kui-space-60, 16px) var(--kui-space-60, 16px) var(--kui-space-0, 0px) var(--kui-space-60, 16px)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .header-breadcrumbs[data-v-ecbcd9eb] .breadcrumbs-item-container:first-child .breadcrumbs-item{padding-left:0;padding-left:var(--kui-space-0, 0px)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .header-breadcrumbs[data-v-ecbcd9eb] .breadcrumbs-item-container .breadcrumbs-item.active .breadcrumbs-text{color:#6c7489;color:var(--kui-color-text-neutral, #6c7489)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container[data-v-ecbcd9eb]{align-items:flex-end;display:flex;gap:4px;gap:var(--kui-space-20, 4px)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .navigate-back[data-v-ecbcd9eb],.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .favorite-button[data-v-ecbcd9eb]{background-color:transparent;background-color:var(--kui-color-background-transparent, transparent);border:none;border-radius:4px;border-radius:var(--kui-border-radius-20, 4px);color:#6c7489;color:var(--kui-color-text-neutral, #6c7489);cursor:pointer;outline:none;padding:4px;padding:var(--kui-space-20, 4px);transition:background-color .2s ease-in,color .2s ease-in}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .navigate-back[data-v-ecbcd9eb]:hover,.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .favorite-button[data-v-ecbcd9eb]:hover{color:#000933;color:var(--kui-color-text, #000933)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .navigate-back[data-v-ecbcd9eb]:focus-visible,.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .favorite-button[data-v-ecbcd9eb]:focus-visible{box-shadow:0 0 0 4px #0044f433;box-shadow:var(--kui-shadow-focus, 0px 0px 0px 4px rgba(0, 68, 244, .2))}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .page-layout-title[data-v-ecbcd9eb]{color:#000933;color:var(--kui-color-text, #000933);font-size:18px;font-size:var(--kui-font-size-50, 18px);font-weight:600;font-weight:var(--kui-font-weight-semibold, 600);line-height:24px;line-height:var(--kui-line-height-40, 24px);margin:0;margin:var(--kui-space-0, 0px)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .favorite-button-container[data-v-ecbcd9eb]{align-self:center;margin-left:4px;margin-left:var(--kui-space-20, 4px)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .favorite-button-container .favorite-button[data-v-ecbcd9eb]{color:#afb7c5;color:var(--kui-color-text-neutral-weak, #afb7c5);padding:0;padding:var(--kui-space-0, 0px)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .favorite-button-container .favorite-button[data-v-ecbcd9eb]:hover{color:#6c7489;color:var(--kui-color-text-neutral, #6c7489)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .favorite-button-container .favorite-button.active[data-v-ecbcd9eb]{color:#ffc400;color:var(--kui-color-text-warning-weak, #ffc400)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .title-after-container[data-v-ecbcd9eb]{align-items:flex-end;display:flex;gap:6px;gap:var(--kui-space-30, 6px);margin-left:4px;margin-left:var(--kui-space-20, 4px)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-actions-container[data-v-ecbcd9eb]{align-items:center;display:flex;gap:6px;gap:var(--kui-space-30, 6px)}.kong-ui-public-page-layout .page-layout-header:not(:has(.page-layout-tabs)) .page-header-container[data-v-ecbcd9eb]{border-bottom:1px solid #e0e4ea;border-bottom:var(--kui-border-width-10, 1px) solid var(--kui-color-border, #e0e4ea);padding:16px;padding:var(--kui-space-60, 16px)}.kong-ui-public-page-layout .page-layout-content[data-v-ecbcd9eb]{display:flex;flex-direction:column;gap:12px;gap:var(--kui-space-50, 12px);padding:16px;padding:var(--kui-space-60, 16px)}.kong-ui-public-page-layout .page-layout-content.has-nested-page-layout[data-v-ecbcd9eb]{padding:0;padding:var(--kui-space-0, 0px)}
1
+ .page-layout-tabs[data-v-b3139545]{align-items:flex-end;border-bottom:1px solid #e0e4ea;border-bottom:var(--kui-border-width-10, 1px) solid var(--kui-color-border, #e0e4ea);box-sizing:border-box;display:flex;height:34px;overflow-x:clip;padding:0px var(--db98251e);padding:var(--kui-space-0, 0px) var(--db98251e);position:relative;width:100%}.page-layout-tabs a[data-v-b3139545],.page-layout-tabs button[data-v-b3139545]{background-color:transparent;background-color:var(--kui-color-background-transparent, transparent);border:none;color:inherit;cursor:pointer;outline:none;padding:0;padding:var(--kui-space-0, 0px);text-decoration:none}.page-layout-tabs ul[data-v-b3139545]{display:flex;gap:20px;gap:var(--kui-space-70, 20px);list-style:none;margin:0;margin:var(--kui-space-0, 0px);margin-bottom:-1px;margin-bottom:calc(-1 * var(--kui-border-width-10, 1px));max-width:100%;padding:0;padding:var(--kui-space-0, 0px)}.page-layout-tabs ul.layout-computing[data-v-b3139545]{height:0;visibility:hidden}.page-layout-tabs ul li[data-v-b3139545]{display:flex}.page-layout-tabs ul li .tab-link[data-v-b3139545]{align-items:center;border-bottom:2px solid transparent;border-bottom:var(--kui-border-width-20, 2px) solid var(--kui-color-border-transparent, transparent);border-radius:4px 4px 0 0;border-radius:var(--kui-border-radius-20, 4px) var(--kui-border-radius-20, 4px) var(--kui-border-radius-0, 0px) var(--kui-border-radius-0, 0px);color:#52596e;color:var(--kui-color-text-neutral-strong, #52596e);cursor:pointer;display:flex;font-size:12px;font-size:var(--kui-font-size-20, 12px);font-weight:500;font-weight:var(--kui-font-weight-medium, 500);gap:6px;gap:var(--kui-space-30, 6px);line-height:20px;line-height:var(--kui-line-height-30, 20px);padding:6px 0;padding:var(--kui-space-30, 6px) var(--kui-space-0, 0px);transition:color .2s ease-in,border-color .2s ease-in,font-weight .2s ease-in;white-space:nowrap}.page-layout-tabs ul li .tab-link[data-v-b3139545]:hover{border-bottom:2px solid #afb7c5;border-bottom:var(--kui-border-width-20, 2px) solid var(--kui-color-border-neutral-weak, #afb7c5);color:#000933;color:var(--kui-color-text, #000933)}.page-layout-tabs ul li .tab-link[data-v-b3139545]:focus-visible{box-shadow:0 0 0 4px #0044f433;box-shadow:var(--kui-shadow-focus, 0px 0px 0px 4px rgba(0, 68, 244, .2))}.page-layout-tabs ul li .tab-link.active[data-v-b3139545]{border-bottom:2px solid #0044f4;border-bottom:var(--kui-border-width-20, 2px) solid var(--kui-color-border-primary, #0044f4);color:#0044f4!important;color:var(--kui-color-text-primary, #0044f4)!important;font-weight:600;font-weight:var(--kui-font-weight-semibold, 600)}.page-layout-tabs ul li .tab-link.overflow-dropdown-trigger[data-v-b3139545]{color:#000933;color:var(--kui-color-text, #000933);font-weight:500!important;font-weight:var(--kui-font-weight-medium, 500)!important}.page-layout-tabs ul li .tab-link.overflow-dropdown-trigger .overflowing-items-count[data-v-b3139545]{background-color:#e0e4ea;background-color:var(--kui-color-background-neutral-weaker, #e0e4ea);border-radius:100px;border-radius:var(--kui-border-radius-round, 100px);color:#52596e;color:var(--kui-color-text-neutral-strong, #52596e);font-size:11px;font-weight:600;font-weight:var(--kui-font-weight-semibold, 600);line-height:12px;padding:2px 6px;padding:var(--kui-space-10, 2px) var(--kui-space-30, 6px)}.page-layout-tabs ul li .tab-link.overflow-dropdown-trigger.active .overflowing-items-count[data-v-b3139545]{background-color:#eefaff;background-color:var(--kui-color-background-primary-weakest, #eefaff);color:#0044f4;color:var(--kui-color-text-primary, #0044f4)}.page-layout-tabs .layout-loader-container[data-v-b3139545]{align-items:center;display:flex;gap:20px;gap:var(--kui-space-70, 20px);height:34px;top:0;right:0;bottom:0;left:0;left:var(--db98251e);position:absolute}.kong-ui-public-page-layout[data-v-9e526e3f]{box-sizing:border-box;font-family:Inter,Roboto,Helvetica,sans-serif;font-family:var(--kui-font-family-text, "Inter", Roboto, Helvetica, sans-serif)}.kong-ui-public-page-layout .page-layout-header[data-v-9e526e3f]{display:flex;flex-direction:column;gap:8px;gap:var(--kui-space-40, 8px)}.kong-ui-public-page-layout .page-layout-header .page-header-container[data-v-9e526e3f]{align-items:flex-end;display:flex;gap:6px;gap:var(--kui-space-30, 6px);justify-content:space-between;padding:16px 16px 0;padding:var(--kui-space-60, 16px) var(--kui-space-60, 16px) var(--kui-space-0, 0px) var(--kui-space-60, 16px)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .header-breadcrumbs[data-v-9e526e3f] .breadcrumbs-item-container:first-child .breadcrumbs-item{padding-left:0;padding-left:var(--kui-space-0, 0px)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .header-breadcrumbs[data-v-9e526e3f] .breadcrumbs-item-container .breadcrumbs-item.active .breadcrumbs-text{color:#6c7489;color:var(--kui-color-text-neutral, #6c7489)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container[data-v-9e526e3f]{align-items:flex-end;display:flex;gap:4px;gap:var(--kui-space-20, 4px)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .navigate-back[data-v-9e526e3f],.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .favorite-button[data-v-9e526e3f]{background-color:transparent;background-color:var(--kui-color-background-transparent, transparent);border:none;border-radius:4px;border-radius:var(--kui-border-radius-20, 4px);color:#6c7489;color:var(--kui-color-text-neutral, #6c7489);cursor:pointer;outline:none;padding:4px;padding:var(--kui-space-20, 4px);transition:background-color .2s ease-in,color .2s ease-in}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .navigate-back[data-v-9e526e3f]:hover,.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .favorite-button[data-v-9e526e3f]:hover{color:#000933;color:var(--kui-color-text, #000933)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .navigate-back[data-v-9e526e3f]:focus-visible,.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .favorite-button[data-v-9e526e3f]:focus-visible{box-shadow:0 0 0 4px #0044f433;box-shadow:var(--kui-shadow-focus, 0px 0px 0px 4px rgba(0, 68, 244, .2))}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .page-layout-title-wrapper[data-v-9e526e3f]>*{color:#000933;color:var(--kui-color-text, #000933);font-size:18px;font-size:var(--kui-font-size-50, 18px);font-weight:600;font-weight:var(--kui-font-weight-semibold, 600);line-height:24px;line-height:var(--kui-line-height-40, 24px);margin:0;margin:var(--kui-space-0, 0px)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .favorite-button-container[data-v-9e526e3f]{align-self:center;margin-left:4px;margin-left:var(--kui-space-20, 4px)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .favorite-button-container .favorite-button[data-v-9e526e3f]{color:#afb7c5;color:var(--kui-color-text-neutral-weak, #afb7c5);padding:0;padding:var(--kui-space-0, 0px)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .favorite-button-container .favorite-button[data-v-9e526e3f]:hover{color:#6c7489;color:var(--kui-color-text-neutral, #6c7489)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .favorite-button-container .favorite-button.active[data-v-9e526e3f]{color:#ffc400;color:var(--kui-color-text-warning-weak, #ffc400)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-start .title-container .title-after-container[data-v-9e526e3f]{align-items:flex-end;display:flex;gap:6px;gap:var(--kui-space-30, 6px);margin-left:4px;margin-left:var(--kui-space-20, 4px)}.kong-ui-public-page-layout .page-layout-header .page-header-container .page-header-actions-container[data-v-9e526e3f]{align-items:center;display:flex;gap:6px;gap:var(--kui-space-30, 6px)}.kong-ui-public-page-layout .page-layout-header:not(:has(.page-layout-tabs)) .page-header-container[data-v-9e526e3f]{border-bottom:1px solid #e0e4ea;border-bottom:var(--kui-border-width-10, 1px) solid var(--kui-color-border, #e0e4ea);padding:16px;padding:var(--kui-space-60, 16px)}.kong-ui-public-page-layout .page-layout-content[data-v-9e526e3f]{display:flex;flex-direction:column;gap:12px;gap:var(--kui-space-50, 12px);padding:16px;padding:var(--kui-space-60, 16px)}.kong-ui-public-page-layout .page-layout-content.has-nested-page-layout[data-v-9e526e3f]{padding:0;padding:var(--kui-space-0, 0px)}
@@ -1 +1 @@
1
- {"version":3,"file":"PageLayout.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PageLayout.vue"],"names":[],"mappings":"AAiVA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAoB,MAAM,UAAU,CAAA;AAkBlF,KAAK,WAAW,GAAG,eAAe,CAAC;AAoUnC,QAAA,MAAM,UAAU,0SAEd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"PageLayout.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PageLayout.vue"],"names":[],"mappings":"AA6VA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAoB,MAAM,UAAU,CAAA;AAmBlF,KAAK,WAAW,GAAG,eAAe,CAAC;AA6UnC,QAAA,MAAM,UAAU,0SAEd,CAAC;AACH,QAAA,MAAM,YAAY,EAAS,eAAe,CAAC,OAAO,UAAU,EAAE,WAAW,CAAC,CAAC;wBACtD,OAAO,YAAY;AAAxC,wBAAyC;AACzC,KAAK,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IAChC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KACV,CAAA;CACD,CAAC"}
@@ -15,7 +15,7 @@ export interface PageLayoutProps {
15
15
  /** Breadcrumb items */
16
16
  breadcrumbs?: BreadcrumbItem[];
17
17
  /** Page title */
18
- title: string;
18
+ title?: string;
19
19
  /** The URL to navigate back to when the back button is clicked */
20
20
  backTo?: string | RouteLocationRaw;
21
21
  /** Tabs */
@@ -32,6 +32,10 @@ export interface PageLayoutSlots {
32
32
  * Actions slot for page actions
33
33
  */
34
34
  actions?(): any;
35
+ /**
36
+ * Title slot for page title
37
+ */
38
+ title?(): any;
35
39
  /**
36
40
  * Title after slot for page title after content
37
41
  */
@@ -1 +1 @@
1
- {"version":3,"file":"page-layout.d.ts","sourceRoot":"","sources":["../../../src/types/page-layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAA;IAClB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,uBAAuB;IACvB,WAAW,CAAC,EAAE,cAAc,EAAE,CAAA;IAC9B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAA;IAClC,WAAW;IACX,IAAI,CAAC,EAAE,aAAa,EAAE,CAAA;IACtB,4HAA4H;IAC5H,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,CAAC,IAAI,GAAG,CAAA;IACf;;OAEG;IACH,OAAO,CAAC,IAAI,GAAG,CAAA;IACf;;OAEG;IACH,aAAa,IAAI,GAAG,CAAA;CACrB"}
1
+ {"version":3,"file":"page-layout.d.ts","sourceRoot":"","sources":["../../../src/types/page-layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,gFAAgF;IAChF,UAAU,EAAE,MAAM,CAAA;IAClB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,uBAAuB;IACvB,WAAW,CAAC,EAAE,cAAc,EAAE,CAAA;IAC9B,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAA;IAClC,WAAW;IACX,IAAI,CAAC,EAAE,aAAa,EAAE,CAAA;IACtB,4HAA4H;IAC5H,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,CAAC,IAAI,GAAG,CAAA;IACf;;OAEG;IACH,OAAO,CAAC,IAAI,GAAG,CAAA;IACf;;OAEG;IACH,KAAK,CAAC,IAAI,GAAG,CAAA;IACb;;OAEG;IACH,aAAa,IAAI,GAAG,CAAA;CACrB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kong-ui-public/page-layout",
3
- "version": "0.2.32",
3
+ "version": "0.2.33",
4
4
  "type": "module",
5
5
  "main": "./dist/page-layout.umd.js",
6
6
  "module": "./dist/page-layout.es.js",