@piveau/piveau-hub-ui-modules 4.6.115 → 4.6.116

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.
@@ -49,5 +49,18 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
49
49
  trackGoto: FunctionConstructor;
50
50
  }>> & Readonly<{}>, {}, {}, {
51
51
  AppLink: any;
52
+ PvBadge: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
53
+ value: {
54
+ type: import('vue').PropType<import('../../types/global').DistributionFormat>;
55
+ default: null;
56
+ };
57
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
58
+ value: {
59
+ type: import('vue').PropType<import('../../types/global').DistributionFormat>;
60
+ default: null;
61
+ };
62
+ }>> & Readonly<{}>, {
63
+ value: import('../../types/global').DistributionFormat;
64
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
52
65
  }, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
53
66
  export default _default;
@@ -1,16 +1,18 @@
1
1
  import h from "jquery";
2
- import { truncate as p, getTranslationFor as C } from "../../utils/helpers.mjs";
2
+ import { truncate as y, getTranslationFor as C } from "../../utils/helpers.mjs";
3
3
  import { isNil as w, has as v } from "lodash-es";
4
- import I from "../../widgets/AppLink.vue.mjs";
4
+ import B from "../../widgets/AppLink.vue.mjs";
5
5
  import { mapGetters as V } from "vuex";
6
- import { resolveComponent as y, openBlock as a, createElementBlock as d, createVNode as P, createTextVNode as i, createElementVNode as s, normalizeClass as m, toDisplayString as l, Fragment as D, renderList as M, withKeys as A, withModifiers as x, withCtx as T, createCommentVNode as g } from "vue";
6
+ import x from "../../PvBadge/PvBadge.vue.mjs";
7
+ import { resolveComponent as P, openBlock as a, createElementBlock as d, createVNode as b, createTextVNode as i, createElementVNode as s, normalizeClass as m, toDisplayString as l, Fragment as D, renderList as M, withKeys as A, withModifiers as L, createBlock as O, withCtx as T, createCommentVNode as g } from "vue";
7
8
  import "./DatasetDetailsPages.vue2.mjs";
8
- import L from "../../_virtual/_plugin-vue_export-helper.mjs";
9
- const B = {
9
+ import N from "../../_virtual/_plugin-vue_export-helper.mjs";
10
+ const S = {
10
11
  name: "DatasetDetailsPages",
11
12
  components: {
12
13
  // DatasetDetailsFeatureHeader,
13
- AppLink: I
14
+ AppLink: B,
15
+ PvBadge: x
14
16
  },
15
17
  props: {
16
18
  pages: Object,
@@ -72,7 +74,7 @@ const B = {
72
74
  }
73
75
  },
74
76
  methods: {
75
- truncate: p,
77
+ truncate: y,
76
78
  toggleTitleSort() {
77
79
  this.sortOrder === "asc" ? this.sortOrder = "desc" : this.sortOrder = "asc", this.expandedItems = [];
78
80
  },
@@ -105,7 +107,7 @@ const B = {
105
107
  return this.getPageFormat(e).length > 10;
106
108
  },
107
109
  getPageTitle(e) {
108
- return e.title ? C(e.title, this.$route.query.locale, this.getLanguages) : p(e.resource, 50);
110
+ return e.title ? C(e.title, this.$route.query.locale, this.getLanguages) : y(e.resource, 50);
109
111
  },
110
112
  getPageDescription(e) {
111
113
  return v(e, "description") && !w(e.description) ? C(e.description, this.$route.query.locale, this.getLanguages) : "";
@@ -161,37 +163,37 @@ const B = {
161
163
  beforeUnmount() {
162
164
  typeof h < "u" && (h(".tooltip").remove(), h('[data-toggle="tooltip"]').tooltip("dispose"));
163
165
  }
164
- }, O = { class: "dsd-feature d-flex flex-column mt-3" }, N = { key: 0 }, S = { class: "mobile-sort-controls d-md-none mb-3" }, E = ["aria-label"], G = { class: "sort-arrows" }, z = {
166
+ }, E = { class: "dsd-feature d-flex flex-column mt-3" }, G = { key: 0 }, z = { class: "mobile-sort-controls d-md-none mb-3" }, K = ["aria-label"], U = { class: "sort-arrows" }, Z = {
165
167
  class: "table-responsive-wrapper d-none d-md-block mt-3",
166
168
  "data-cy": "documentation"
167
- }, K = { class: "pages-wrapper" }, U = { class: "pages-grid" }, Z = { class: "grid-header" }, q = { class: "grid-col title-col" }, H = ["aria-label"], j = { class: "sort-arrows" }, W = { class: "grid-col format-col" }, X = { class: "grid-col date-col" }, J = { class: "grid-col actions-col" }, Q = { class: "grid-row page-header" }, R = { class: "grid-col title-col" }, Y = { class: "title-with-arrow" }, _ = ["id", "aria-expanded", "aria-controls", "onClick", "onKeydown"], $ = { class: "m-0 page-title" }, tt = { class: "grid-col format-col" }, et = ["data-toggle", "data-placement", "title"], st = { class: "grid-col date-col" }, ot = { class: "grid-col actions-col" }, it = ["id", "aria-labelledby"], rt = { class: "expanded-details" }, lt = { class: "details-list" }, at = { key: 0 }, dt = { key: 1 }, nt = { key: 2 }, gt = { key: 3 }, ut = ["href"], mt = {
169
+ }, q = { class: "pages-wrapper" }, H = { class: "pages-grid" }, j = { class: "grid-header" }, W = { class: "grid-col title-col" }, X = ["aria-label"], J = { class: "sort-arrows" }, Q = { class: "grid-col format-col" }, R = { class: "grid-col date-col" }, Y = { class: "grid-col actions-col" }, _ = { class: "grid-row page-header" }, $ = { class: "grid-col title-col" }, tt = { class: "title-with-arrow" }, et = ["id", "aria-expanded", "aria-controls", "onClick", "onKeydown"], st = { class: "m-0 page-title" }, ot = { class: "grid-col format-col" }, it = ["data-toggle", "data-placement", "title"], rt = { class: "grid-col date-col" }, lt = { class: "grid-col actions-col" }, at = ["id", "aria-labelledby"], dt = { class: "expanded-details" }, nt = { class: "details-list" }, gt = { key: 0 }, ut = { key: 1 }, mt = { key: 2 }, ht = { key: 3 }, ct = ["href"], wt = {
168
170
  key: 0,
169
171
  class: "grid-row empty-state"
170
- }, ht = { class: "grid-col-full text-center text-muted" }, ct = {
172
+ }, vt = { class: "grid-col-full text-center text-muted" }, ft = {
171
173
  key: 0,
172
174
  class: "fade-overlay"
173
- }, wt = { class: "pages-cards d-md-none" }, vt = ["onClick"], ft = { class: "card-title-section" }, kt = { class: "page-title" }, Pt = { class: "card-meta" }, bt = { class: "badge badge-secondary" }, pt = { class: "date" }, Ct = { class: "card-actions" }, yt = {
175
+ }, kt = { class: "pages-cards d-md-none" }, Pt = ["onClick"], bt = { class: "card-title-section" }, pt = { class: "page-title" }, yt = { class: "card-meta" }, Ct = { class: "badge badge-secondary" }, Dt = { class: "date" }, Mt = { class: "card-actions" }, At = {
174
176
  key: 0,
175
177
  class: "card-expanded-content"
176
- }, Dt = { class: "expanded-details" }, Mt = { class: "details-list" }, At = { key: 0 }, Tt = { key: 1 }, Ft = { key: 2 }, It = { key: 3 }, Vt = ["href"], xt = {
178
+ }, Tt = { class: "expanded-details" }, Ft = { class: "details-list" }, It = { key: 0 }, Bt = { key: 1 }, Vt = { key: 2 }, xt = { key: 3 }, Lt = ["href"], Ot = {
177
179
  key: 0,
178
180
  class: "empty-state-card"
179
- }, Lt = { class: "text-center text-muted" }, Bt = {
181
+ }, Nt = { class: "text-center text-muted" }, St = {
180
182
  key: 0,
181
183
  class: "show-all-container"
182
184
  };
183
- function Ot(e, t, c, f, u, o) {
184
- const F = y("dataset-details-feature-header"), b = y("app-link");
185
- return a(), d("div", O, [
186
- P(F, {
185
+ function Et(e, t, c, f, u, o) {
186
+ const F = P("dataset-details-feature-header"), I = P("PvBadge"), p = P("app-link");
187
+ return a(), d("div", E, [
188
+ b(F, {
187
189
  title: `${e.$t("message.metadata.documentations")} (${e.getPages ? e.getPages.length.toLocaleString("fi") : 0})`,
188
190
  arrowDown: !c.pages.isVisible,
189
191
  tag: "documentation-toggle",
190
192
  onClick: o.togglePage
191
193
  }, null, 8, ["title", "arrowDown", "onClick"]),
192
194
  t[56] || (t[56] = i()),
193
- c.pages.isVisible ? (a(), d("div", N, [
194
- s("div", S, [
195
+ c.pages.isVisible ? (a(), d("div", G, [
196
+ s("div", z, [
195
197
  s("button", {
196
198
  class: "sort-button",
197
199
  onClick: t[0] || (t[0] = (...r) => o.toggleTitleSort && o.toggleTitleSort(...r)),
@@ -200,7 +202,7 @@ function Ot(e, t, c, f, u, o) {
200
202
  t[8] || (t[8] = i(`
201
203
  Sort
202
204
  `, -1)),
203
- s("div", G, [
205
+ s("div", U, [
204
206
  (a(), d("svg", {
205
207
  class: m(["sort-arrow sort-arrow-up", { active: u.sortOrder === "asc" }]),
206
208
  width: "10",
@@ -225,21 +227,21 @@ function Ot(e, t, c, f, u, o) {
225
227
  }, null, -1)
226
228
  ])], 2))
227
229
  ])
228
- ], 8, E)
230
+ ], 8, K)
229
231
  ]),
230
232
  t[53] || (t[53] = i()),
231
- s("div", z, [
232
- s("div", K, [
233
- s("div", U, [
234
- s("div", Z, [
235
- s("div", q, [
233
+ s("div", Z, [
234
+ s("div", q, [
235
+ s("div", H, [
236
+ s("div", j, [
237
+ s("div", W, [
236
238
  s("button", {
237
239
  class: "sort-button",
238
240
  onClick: t[1] || (t[1] = (...r) => o.toggleTitleSort && o.toggleTitleSort(...r)),
239
241
  "aria-label": e.$t("message.metadata.title") + " sortieren"
240
242
  }, [
241
243
  i(l(e.$t("message.metadata.title")) + " ", 1),
242
- s("div", j, [
244
+ s("div", J, [
243
245
  (a(), d("svg", {
244
246
  class: m(["sort-arrow sort-arrow-up", { active: u.sortOrder === "asc" }]),
245
247
  width: "10",
@@ -264,23 +266,23 @@ function Ot(e, t, c, f, u, o) {
264
266
  }, null, -1)
265
267
  ])], 2))
266
268
  ])
267
- ], 8, H)
269
+ ], 8, X)
268
270
  ]),
269
271
  t[12] || (t[12] = i()),
270
- s("div", W, l(e.$t("message.metadata.format")), 1),
272
+ s("div", Q, l(e.$t("message.metadata.format")), 1),
271
273
  t[13] || (t[13] = i()),
272
- s("div", X, l(e.$t("message.metadata.updated")), 1),
274
+ s("div", R, l(e.$t("message.metadata.updated")), 1),
273
275
  t[14] || (t[14] = i()),
274
- s("div", J, l(e.$t("message.dataupload.menu.actions")), 1)
276
+ s("div", Y, l(e.$t("message.dataupload.menu.actions")), 1)
275
277
  ]),
276
278
  t[29] || (t[29] = i()),
277
279
  (a(!0), d(D, null, M(o.visiblePages, (r, n) => (a(), d("div", {
278
280
  key: n,
279
281
  class: m(["page-item", { "accordion-open": u.expandedItems[n] }])
280
282
  }, [
281
- s("div", Q, [
282
- s("div", R, [
283
- s("div", Y, [
283
+ s("div", _, [
284
+ s("div", $, [
285
+ s("div", tt, [
284
286
  s("button", {
285
287
  id: `accordion-button-${n}`,
286
288
  class: "accordion-title",
@@ -290,10 +292,10 @@ function Ot(e, t, c, f, u, o) {
290
292
  onClick: (k) => o.toggleAccordion(n),
291
293
  onKeydown: [
292
294
  A((k) => o.toggleAccordion(n), ["enter"]),
293
- A(x((k) => o.toggleAccordion(n), ["prevent"]), ["space"])
295
+ A(L((k) => o.toggleAccordion(n), ["prevent"]), ["space"])
294
296
  ]
295
297
  }, [
296
- s("h3", $, l(o.getPageTitle(r)), 1),
298
+ s("h3", st, l(o.getPageTitle(r)), 1),
297
299
  t[16] || (t[16] = i()),
298
300
  (a(), d("svg", {
299
301
  class: m(`accordion-arrow ${u.expandedItems[n] ? "rotated" : ""}`),
@@ -309,23 +311,29 @@ function Ot(e, t, c, f, u, o) {
309
311
  fill: "none"
310
312
  }, null, -1)
311
313
  ])], 2))
312
- ], 40, _)
314
+ ], 40, et)
313
315
  ])
314
316
  ]),
315
317
  t[17] || (t[17] = i()),
316
- s("div", tt, [
317
- s("span", {
318
+ s("div", ot, [
319
+ r.format ? (a(), O(I, {
320
+ key: 0,
321
+ class: "format-badge",
322
+ value: r.format,
323
+ type: r.format.id
324
+ }, null, 8, ["value", "type"])) : (a(), d("span", {
325
+ key: 1,
318
326
  class: "badge badge-secondary",
319
327
  "data-toggle": o.pageFormatTruncated(r) ? "tooltip" : !1,
320
328
  "data-placement": o.pageFormatTruncated(r) ? "top" : !1,
321
329
  title: o.pageFormatTruncated(r) ? o.getPageFormat(r) : !1
322
- }, l(o.truncate(o.getPageFormat(r), 10, !0)), 9, et)
330
+ }, l(o.truncate(o.getPageFormat(r), 10, !0)), 9, it))
323
331
  ]),
324
332
  t[18] || (t[18] = i()),
325
- s("div", st, l(o.formatDate(o.getPageModified(r))), 1),
333
+ s("div", rt, l(o.formatDate(o.getPageModified(r))), 1),
326
334
  t[19] || (t[19] = i()),
327
- s("div", ot, [
328
- P(b, {
335
+ s("div", lt, [
336
+ b(p, {
329
337
  class: "action-btns",
330
338
  to: r.resource,
331
339
  target: "_blank",
@@ -348,19 +356,19 @@ function Ot(e, t, c, f, u, o) {
348
356
  class: "accordion-content",
349
357
  role: "region"
350
358
  }, [
351
- s("div", rt, [
352
- s("dl", lt, [
353
- o.getPageDescription(r) ? (a(), d("dt", at, l(e.$t("message.metadata.description")), 1)) : g("", !0),
359
+ s("div", dt, [
360
+ s("dl", nt, [
361
+ o.getPageDescription(r) ? (a(), d("dt", gt, l(e.$t("message.metadata.description")), 1)) : g("", !0),
354
362
  t[21] || (t[21] = i()),
355
- o.getPageDescription(r) ? (a(), d("dd", dt, l(o.getPageDescription(r)), 1)) : g("", !0),
363
+ o.getPageDescription(r) ? (a(), d("dd", ut, l(o.getPageDescription(r)), 1)) : g("", !0),
356
364
  t[22] || (t[22] = i()),
357
365
  s("dt", null, l(e.$t("message.metadata.format")), 1),
358
366
  t[23] || (t[23] = i()),
359
367
  s("dd", null, l(o.getPageFormat(r)), 1),
360
368
  t[24] || (t[24] = i()),
361
- o.getPageModified(r) ? (a(), d("dt", nt, l(e.$t("message.metadata.updated")), 1)) : g("", !0),
369
+ o.getPageModified(r) ? (a(), d("dt", mt, l(e.$t("message.metadata.updated")), 1)) : g("", !0),
362
370
  t[25] || (t[25] = i()),
363
- o.getPageModified(r) ? (a(), d("dd", gt, l(o.formatDate(o.getPageModified(r))), 1)) : g("", !0),
371
+ o.getPageModified(r) ? (a(), d("dd", ht, l(o.formatDate(o.getPageModified(r))), 1)) : g("", !0),
364
372
  t[26] || (t[26] = i()),
365
373
  s("dt", null, l(e.$t("message.metadata.accessUrl")), 1),
366
374
  t[27] || (t[27] = i()),
@@ -399,23 +407,23 @@ function Ot(e, t, c, f, u, o) {
399
407
  "stroke-width": "2"
400
408
  })
401
409
  ], -1))
402
- ], 8, ut)
410
+ ], 8, ct)
403
411
  ])
404
412
  ])
405
413
  ])
406
- ], 8, it)) : g("", !0)
414
+ ], 8, at)) : g("", !0)
407
415
  ], 2))), 128)),
408
416
  t[30] || (t[30] = i()),
409
- !e.getPages || e.getPages.length === 0 ? (a(), d("div", mt, [
410
- s("div", ht, l(e.$t("message.metadata.noDocumentationsAvailable")), 1)
417
+ !e.getPages || e.getPages.length === 0 ? (a(), d("div", wt, [
418
+ s("div", vt, l(e.$t("message.metadata.noDocumentationsAvailable")), 1)
411
419
  ])) : g("", !0)
412
420
  ])
413
421
  ]),
414
422
  t[31] || (t[31] = i()),
415
- o.showingAll ? g("", !0) : (a(), d("div", ct))
423
+ o.showingAll ? g("", !0) : (a(), d("div", ft))
416
424
  ]),
417
425
  t[54] || (t[54] = i()),
418
- s("div", wt, [
426
+ s("div", kt, [
419
427
  (a(!0), d(D, null, M(o.visiblePages, (r, n) => (a(), d("div", {
420
428
  key: n,
421
429
  class: m(["page-card", { expanded: u.expandedItems[n] }])
@@ -424,13 +432,13 @@ function Ot(e, t, c, f, u, o) {
424
432
  class: "card-header",
425
433
  onClick: (k) => o.toggleAccordion(n)
426
434
  }, [
427
- s("div", ft, [
428
- s("h3", kt, l(o.getPageTitle(r)), 1),
435
+ s("div", bt, [
436
+ s("h3", pt, l(o.getPageTitle(r)), 1),
429
437
  t[33] || (t[33] = i()),
430
- s("div", Pt, [
431
- s("span", bt, l(o.truncate(o.getPageFormat(r), 10, !0)), 1),
438
+ s("div", yt, [
439
+ s("span", Ct, l(o.truncate(o.getPageFormat(r), 10, !0)), 1),
432
440
  t[32] || (t[32] = i()),
433
- s("span", pt, l(o.formatDate(o.getPageModified(r))), 1)
441
+ s("span", Dt, l(o.formatDate(o.getPageModified(r))), 1)
434
442
  ])
435
443
  ]),
436
444
  t[35] || (t[35] = i()),
@@ -448,10 +456,10 @@ function Ot(e, t, c, f, u, o) {
448
456
  fill: "none"
449
457
  }, null, -1)
450
458
  ])], 2))
451
- ], 8, vt),
459
+ ], 8, Pt),
452
460
  t[45] || (t[45] = i()),
453
- s("div", Ct, [
454
- P(b, {
461
+ s("div", Mt, [
462
+ b(p, {
455
463
  class: "card-action-btn access-btn",
456
464
  to: r.resource,
457
465
  target: "_blank",
@@ -494,20 +502,20 @@ function Ot(e, t, c, f, u, o) {
494
502
  }, 8, ["to", "onAfterClick"])
495
503
  ]),
496
504
  t[46] || (t[46] = i()),
497
- u.expandedItems[n] ? (a(), d("div", yt, [
498
- s("div", Dt, [
499
- s("dl", Mt, [
500
- o.getPageDescription(r) ? (a(), d("dt", At, l(e.$t("message.metadata.description")), 1)) : g("", !0),
505
+ u.expandedItems[n] ? (a(), d("div", At, [
506
+ s("div", Tt, [
507
+ s("dl", Ft, [
508
+ o.getPageDescription(r) ? (a(), d("dt", It, l(e.$t("message.metadata.description")), 1)) : g("", !0),
501
509
  t[38] || (t[38] = i()),
502
- o.getPageDescription(r) ? (a(), d("dd", Tt, l(o.getPageDescription(r)), 1)) : g("", !0),
510
+ o.getPageDescription(r) ? (a(), d("dd", Bt, l(o.getPageDescription(r)), 1)) : g("", !0),
503
511
  t[39] || (t[39] = i()),
504
512
  s("dt", null, l(e.$t("message.metadata.format")), 1),
505
513
  t[40] || (t[40] = i()),
506
514
  s("dd", null, l(o.getPageFormat(r)), 1),
507
515
  t[41] || (t[41] = i()),
508
- o.getPageModified(r) ? (a(), d("dt", Ft, l(e.$t("message.metadata.updated")), 1)) : g("", !0),
516
+ o.getPageModified(r) ? (a(), d("dt", Vt, l(e.$t("message.metadata.updated")), 1)) : g("", !0),
509
517
  t[42] || (t[42] = i()),
510
- o.getPageModified(r) ? (a(), d("dd", It, l(o.formatDate(o.getPageModified(r))), 1)) : g("", !0),
518
+ o.getPageModified(r) ? (a(), d("dd", xt, l(o.formatDate(o.getPageModified(r))), 1)) : g("", !0),
511
519
  t[43] || (t[43] = i()),
512
520
  s("dt", null, l(e.$t("message.metadata.accessUrl")), 1),
513
521
  t[44] || (t[44] = i()),
@@ -546,19 +554,19 @@ function Ot(e, t, c, f, u, o) {
546
554
  "stroke-width": "2"
547
555
  })
548
556
  ], -1))
549
- ], 8, Vt)
557
+ ], 8, Lt)
550
558
  ])
551
559
  ])
552
560
  ])
553
561
  ])) : g("", !0)
554
562
  ], 2))), 128)),
555
563
  t[47] || (t[47] = i()),
556
- !e.getPages || e.getPages.length === 0 ? (a(), d("div", xt, [
557
- s("div", Lt, l(e.$t("message.metadata.noDocumentationsAvailable")), 1)
564
+ !e.getPages || e.getPages.length === 0 ? (a(), d("div", Ot, [
565
+ s("div", Nt, l(e.$t("message.metadata.noDocumentationsAvailable")), 1)
558
566
  ])) : g("", !0)
559
567
  ]),
560
568
  t[55] || (t[55] = i()),
561
- o.hasMorePages || o.showingMoreThanInitial ? (a(), d("div", Bt, [
569
+ o.hasMorePages || o.showingMoreThanInitial ? (a(), d("div", St, [
562
570
  !o.showingAll && o.hasMorePages ? (a(), d("button", {
563
571
  key: 0,
564
572
  class: "show-more-btn",
@@ -625,8 +633,8 @@ function Ot(e, t, c, f, u, o) {
625
633
  ])) : g("", !0)
626
634
  ]);
627
635
  }
628
- const qt = /* @__PURE__ */ L(B, [["render", Ot], ["__scopeId", "data-v-4c22ea06"]]);
636
+ const Xt = /* @__PURE__ */ N(S, [["render", Et], ["__scopeId", "data-v-2027fb3e"]]);
629
637
  export {
630
- qt as default
638
+ Xt as default
631
639
  };
632
640
  //# sourceMappingURL=DatasetDetailsPages.vue.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatasetDetailsPages.vue.mjs","sources":["../../../lib/datasetDetails/features/DatasetDetailsPages.vue"],"sourcesContent":["<template>\n <div class=\"dsd-feature d-flex flex-column mt-3\">\n <dataset-details-feature-header\n :title=\"`${$t('message.metadata.documentations')} (${getPages ? getPages.length.toLocaleString('fi') : 0})`\"\n :arrowDown=\"!pages.isVisible\"\n tag=\"documentation-toggle\"\n :onClick=\"togglePage\"\n />\n <div v-if=\"pages.isVisible\">\n <!-- Mobile Sort Controls -->\n <div class=\"mobile-sort-controls d-md-none mb-3\">\n <button class=\"sort-button\" @click=\"toggleTitleSort\" :aria-label=\"$t('message.metadata.title') + ' sortieren'\">\n Sort\n <div class=\"sort-arrows\">\n <svg class=\"sort-arrow sort-arrow-up\" :class=\"{ active: sortOrder === 'asc' }\" width=\"10\" height=\"8\" viewBox=\"0 0 10 8\">\n <path d=\"M5 1 L9 6 L1 6 Z\" fill=\"currentColor\" />\n </svg>\n <svg class=\"sort-arrow sort-arrow-down\" :class=\"{ active: sortOrder === 'desc' }\" width=\"10\" height=\"8\" viewBox=\"0 0 10 8\">\n <path d=\"M5 7 L1 2 L9 2 Z\" fill=\"currentColor\" />\n </svg>\n </div>\n </button>\n </div>\n <!-- Desktop Table View -->\n <div class=\"table-responsive-wrapper d-none d-md-block mt-3\" data-cy=\"documentation\">\n <div class=\"pages-wrapper\">\n <div class=\"pages-grid\">\n <!-- Header -->\n <div class=\"grid-header\">\n <div class=\"grid-col title-col\">\n <button class=\"sort-button\" @click=\"toggleTitleSort\" :aria-label=\"$t('message.metadata.title') + ' sortieren'\">\n {{ $t('message.metadata.title') }}\n <div class=\"sort-arrows\">\n <svg class=\"sort-arrow sort-arrow-up\" :class=\"{ active: sortOrder === 'asc' }\" width=\"10\" height=\"8\" viewBox=\"0 0 10 8\">\n <path d=\"M5 1 L9 6 L1 6 Z\" fill=\"currentColor\" />\n </svg>\n <svg class=\"sort-arrow sort-arrow-down\" :class=\"{ active: sortOrder === 'desc' }\" width=\"10\" height=\"8\" viewBox=\"0 0 10 8\">\n <path d=\"M5 7 L1 2 L9 2 Z\" fill=\"currentColor\" />\n </svg>\n </div>\n </button>\n </div>\n <div class=\"grid-col format-col\">{{ $t('message.metadata.format') }}</div>\n <div class=\"grid-col date-col\">{{ $t('message.metadata.updated') }}</div>\n <div class=\"grid-col actions-col\">{{ $t('message.dataupload.menu.actions') }}</div>\n </div>\n\n <!-- Page rows -->\n <div v-for=\"(page, index) in visiblePages\" :key=\"index\" class=\"page-item\" :class=\"{ 'accordion-open': expandedItems[index] }\">\n <div class=\"grid-row page-header\">\n <div class=\"grid-col title-col\">\n <div class=\"title-with-arrow\">\n <button \n :id=\"`accordion-button-${index}`\" \n class=\"accordion-title\"\n :aria-expanded=\"expandedItems[index] || false\" \n :aria-controls=\"`accordion-content-${index}`\"\n type=\"button\" \n @click=\"toggleAccordion(index)\"\n @keydown.enter=\"toggleAccordion(index)\"\n @keydown.space.prevent=\"toggleAccordion(index)\">\n <h3 class=\"m-0 page-title\">{{ getPageTitle(page) }}</h3>\n <svg :class=\"`accordion-arrow ${expandedItems[index] ? 'rotated' : ''}`\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" aria-hidden=\"true\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n </button>\n </div>\n </div>\n <div class=\"grid-col format-col\">\n <span class=\"badge badge-secondary\" \n :data-toggle=\"pageFormatTruncated(page) ? 'tooltip' : false\"\n :data-placement=\"pageFormatTruncated(page) ? 'top' : false\"\n :title=\"pageFormatTruncated(page) ? getPageFormat(page) : false\">\n {{ truncate(getPageFormat(page), 10, true) }}\n </span>\n </div>\n <div class=\"grid-col date-col\">\n {{ formatDate(getPageModified(page)) }}\n </div>\n <div class=\"grid-col actions-col\">\n <app-link \n class=\"action-btns\" \n :to=\"page.resource\"\n target=\"_blank\"\n rel=\"dcat:distribution noopener\"\n matomo-track-download\n @after-click=\"trackGoto\">\n {{ $t('message.datasetDetails.access') }}\n </app-link>\n </div>\n </div>\n\n <!-- Accordion Content -->\n <div v-if=\"expandedItems[index]\" \n :id=\"`accordion-content-${index}`\"\n :aria-labelledby=\"`accordion-button-${index}`\" \n class=\"accordion-content\" \n role=\"region\">\n <div class=\"expanded-details\">\n <dl class=\"details-list\">\n <dt v-if=\"getPageDescription(page)\">{{ $t('message.metadata.description') }}</dt>\n <dd v-if=\"getPageDescription(page)\">{{ getPageDescription(page) }}</dd>\n \n <dt>{{ $t('message.metadata.format') }}</dt>\n <dd>{{ getPageFormat(page) }}</dd>\n \n <dt v-if=\"getPageModified(page)\">{{ $t('message.metadata.updated') }}</dt>\n <dd v-if=\"getPageModified(page)\">{{ formatDate(getPageModified(page)) }}</dd>\n \n <dt>{{ $t('message.metadata.accessUrl') }}</dt>\n <dd>\n <a :href=\"page.resource\" target=\"_blank\" rel=\"noopener\">\n {{ (page.resource || '').substring(0, 80) + '...' }}\n <svg class=\"outgoing-icon ml-1\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\" stroke=\"currentColor\" stroke-width=\"2\" />\n <polyline points=\"15,3 21,3 21,9\" stroke=\"currentColor\" stroke-width=\"2\" />\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\" stroke=\"currentColor\" stroke-width=\"2\" />\n </svg>\n </a>\n </dd>\n </dl>\n </div>\n </div>\n </div>\n\n <!-- Empty state -->\n <div v-if=\"!getPages || getPages.length === 0\" class=\"grid-row empty-state\">\n <div class=\"grid-col-full text-center text-muted\">\n {{ $t('message.metadata.noDocumentationsAvailable') }}\n </div>\n </div>\n </div>\n </div>\n\n <div v-if=\"!showingAll\" class=\"fade-overlay\"></div>\n </div>\n\n <!-- Mobile Card View -->\n <div class=\"pages-cards d-md-none\">\n <div v-for=\"(page, index) in visiblePages\" :key=\"index\" class=\"page-card\" :class=\"{ 'expanded': expandedItems[index] }\">\n \n <!-- Card Header -->\n <div class=\"card-header\" @click=\"toggleAccordion(index)\">\n <div class=\"card-title-section\">\n <h3 class=\"page-title\">{{ getPageTitle(page) }}</h3>\n <div class=\"card-meta\">\n <span class=\"badge badge-secondary\">{{ truncate(getPageFormat(page), 10, true) }}</span>\n <span class=\"date\">{{ formatDate(getPageModified(page)) }}</span>\n </div>\n </div>\n <svg class=\"accordion-arrow\" :class=\"{ 'rotated': expandedItems[index] }\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" aria-hidden=\"true\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n </div>\n\n <!-- Card Actions -->\n <div class=\"card-actions\">\n <app-link \n class=\"card-action-btn access-btn\" \n :to=\"page.resource\"\n target=\"_blank\"\n rel=\"dcat:distribution noopener\"\n matomo-track-download\n @after-click=\"trackGoto\">\n <svg class=\"btn-icon\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\" stroke=\"currentColor\" stroke-width=\"2\" />\n <polyline points=\"15,3 21,3 21,9\" stroke=\"currentColor\" stroke-width=\"2\" />\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\" stroke=\"currentColor\" stroke-width=\"2\" />\n </svg>\n {{ $t('message.datasetDetails.access') }}\n </app-link>\n </div>\n\n <!-- Expanded Content -->\n <div v-if=\"expandedItems[index]\" class=\"card-expanded-content\">\n <div class=\"expanded-details\">\n <dl class=\"details-list\">\n <dt v-if=\"getPageDescription(page)\">{{ $t('message.metadata.description') }}</dt>\n <dd v-if=\"getPageDescription(page)\">{{ getPageDescription(page) }}</dd>\n \n <dt>{{ $t('message.metadata.format') }}</dt>\n <dd>{{ getPageFormat(page) }}</dd>\n \n <dt v-if=\"getPageModified(page)\">{{ $t('message.metadata.updated') }}</dt>\n <dd v-if=\"getPageModified(page)\">{{ formatDate(getPageModified(page)) }}</dd>\n \n <dt>{{ $t('message.metadata.accessUrl') }}</dt>\n <dd>\n <a :href=\"page.resource\" target=\"_blank\" rel=\"noopener\">\n {{ (page.resource || '').substring(0, 80) + '...' }}\n <svg class=\"outgoing-icon ml-1\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\" stroke=\"currentColor\" stroke-width=\"2\" />\n <polyline points=\"15,3 21,3 21,9\" stroke=\"currentColor\" stroke-width=\"2\" />\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\" stroke=\"currentColor\" stroke-width=\"2\" />\n </svg>\n </a>\n </dd>\n </dl>\n </div>\n </div>\n </div>\n\n <!-- Empty state for mobile -->\n <div v-if=\"!getPages || getPages.length === 0\" class=\"empty-state-card\">\n <div class=\"text-center text-muted\">\n {{ $t('message.metadata.noDocumentationsAvailable') }}\n </div>\n </div>\n </div>\n\n <!-- Show More / Show All / Show Less Buttons -->\n <div v-if=\"hasMorePages || showingMoreThanInitial\" class=\"show-all-container\">\n <button v-if=\"!showingAll && hasMorePages\" class=\"show-more-btn\" @click=\"showMorePages\">\n <svg class=\"arrow-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n {{ $t('message.metadata.showXMore', { increment: remainingCount }) }}\n </button>\n\n <button v-if=\"showingAll || showingMoreThanInitial\" class=\"show-more-btn\" :class=\"{ 'ml-2': !showingAll }\" @click=\"resetView\">\n <svg class=\"arrow-icon rotated\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n {{ $t('message.metadata.showLess') }}\n </button>\n\n <button v-if=\"!showingAll && hasMorePages\" class=\"show-all-btn ml-2\" @click=\"showAllPages\">\n <svg class=\"arrow-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n {{ $t('message.metadata.showAll') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport $ from \"jquery\";\nimport {getTranslationFor, truncate} from \"../../utils/helpers\";\nimport {has, isNil} from \"lodash\";\nimport AppLink from \"../../widgets/AppLink\";\nimport {mapGetters} from \"vuex\";\n// DatasetDetailsFeatureHeader is imported globally\n// import DatasetDetailsFeatureHeader\n// from \"../../datasetDetails/features/DatasetDetailsFeatureHeader\";\n\nexport default {\n name: \"DatasetDetailsPages\",\n components: {\n // DatasetDetailsFeatureHeader,\n AppLink},\n props: {\n pages: Object,\n increaseNumDisplayedPages: Function,\n nonOverflowingIncrementsForPages: Function,\n trackGoto: Function\n },\n data() {\n return {\n expandedPageDescriptions: [],\n expandedPages: [],\n expandedItems: [],\n visibleCount: 8,\n incrementSize: 10,\n initialVisibleCount: 8,\n sortOrder: 'asc'\n };\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getPages'\n ]),\n sortedAndFilteredPages() {\n if (!this.getPages) return [];\n\n let pages = [...this.getPages];\n\n if (this.sortOrder) {\n pages.sort((a, b) => {\n const titleA = this.getPageTitle(a).toLowerCase();\n const titleB = this.getPageTitle(b).toLowerCase();\n\n if (this.sortOrder === 'asc') {\n return titleA.localeCompare(titleB);\n } else {\n return titleB.localeCompare(titleA);\n }\n });\n }\n\n return pages;\n },\n visiblePages() {\n if (!this.getPages) return [];\n return this.sortedAndFilteredPages.slice(0, this.visibleCount);\n },\n displayedPages() {\n return this.visiblePages;\n },\n showingMoreThanInitial() {\n return this.visibleCount > this.initialVisibleCount;\n },\n hasMorePages() {\n return this.sortedAndFilteredPages && this.sortedAndFilteredPages.length > this.initialVisibleCount;\n },\n showingAll() {\n return this.visibleCount >= this.sortedAndFilteredPages?.length;\n },\n isPagesAllDisplayed() {\n return this.showingAll;\n },\n remainingPages() {\n return this.getPages.length - this.visibleCount;\n },\n remainingCount() {\n if (!this.sortedAndFilteredPages) return 0;\n const remaining = this.sortedAndFilteredPages.length - this.visibleCount;\n return Math.min(remaining, this.incrementSize);\n }\n },\n methods: {\n truncate,\n toggleTitleSort() {\n if (this.sortOrder === 'asc') {\n this.sortOrder = 'desc';\n } else {\n this.sortOrder = 'asc';\n }\n this.expandedItems = [];\n },\n togglePageDescription(id) {\n const index = this.expandedPageDescriptions.indexOf(id);\n if (index > -1) this.expandedPageDescriptions.splice(index, 1);\n else this.expandedPageDescriptions.push(id);\n },\n togglePage() {\n this.pages.isVisible = !this.pages.isVisible;\n this.initTooltips();\n },\n toggleAccordion(index) {\n const newExpandedItems = {};\n\n if (!this.expandedItems[index]) {\n newExpandedItems[index] = true;\n }\n\n this.expandedItems = newExpandedItems;\n\n this.$nextTick(() => {\n this.initTooltips();\n });\n },\n pageDescriptionIsExpanded(id) {\n return this.expandedPageDescriptions.includes(id);\n },\n pageDescriptionIsExpandable(description) {\n return isNil(description) ? false : description.length > this.pages.descriptionMaxChars;\n },\n pageIsExpanded(id) {\n return this.expandedPages.includes(id);\n },\n getPageFormat(page) {\n return has(page, 'format.label') && !isNil(page.format.label) ? page.format.label : 'UNKNOWN';\n },\n pageFormatTruncated(page) {\n return this.getPageFormat(page).length > 10;\n },\n getPageTitle(page) {\n return page.title ? getTranslationFor(page.title, this.$route.query.locale, this.getLanguages) : truncate(page.resource, 50);\n },\n getPageDescription(page) {\n return (has(page, 'description') && !isNil(page.description)) ? getTranslationFor(page.description, this.$route.query.locale, this.getLanguages) : '';\n },\n getPageModified(page) {\n return has(page, 'modified') && !isNil(page.modified) ? page.modified : (has(page, 'issued') && !isNil(page.issued) ? page.issued : null);\n },\n formatDate(dateString) {\n if (!dateString) return '-';\n\n try {\n const date = new Date(dateString);\n if (isNaN(date.getTime())) return dateString;\n\n return date.toLocaleDateString('en-GB', {\n day: 'numeric',\n month: 'long',\n year: 'numeric'\n });\n } catch (error) {\n console.warn('Error formatting date:', dateString, error);\n return dateString;\n }\n },\n showMorePages() {\n this.visibleCount = Math.min(\n this.visibleCount + this.incrementSize,\n this.sortedAndFilteredPages.length\n );\n },\n showAllPages() {\n this.visibleCount = this.sortedAndFilteredPages.length;\n },\n resetView() {\n this.visibleCount = this.initialVisibleCount;\n this.$el.querySelector('.pages-grid')?.scrollIntoView({\n behavior: 'smooth',\n block: 'start'\n });\n },\n initTooltips() {\n if (typeof $ !== 'undefined') {\n $('.tooltip').remove();\n $('[data-toggle=\"tooltip\"]').tooltip('dispose');\n\n this.$nextTick(() => {\n $('[data-toggle=\"tooltip\"]').tooltip({\n container: 'body',\n html: true\n });\n });\n }\n }\n },\n mounted() {\n this.initTooltips();\n },\n updated() {\n this.initTooltips();\n },\n beforeUnmount() {\n if (typeof $ !== 'undefined') {\n $('.tooltip').remove();\n $('[data-toggle=\"tooltip\"]').tooltip('dispose');\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.page-title {\n font-size: 16px !important;\n}\n.sort-button {\n background: none;\n border: none;\n display: flex;\n align-items: center;\n gap: 0.2rem;\n font-weight: bold;\n cursor: pointer;\n padding: 0;\n color: inherit;\n font-size: inherit;\n font-family: inherit;\n\n &:hover {\n color: #0E47CB;\n\n .sort-arrows .sort-arrow {\n opacity: 0.7;\n }\n }\n}\n\n\n\n.sort-arrows {\n display: flex;\n flex-direction: column;\n gap: 1px;\n margin-left: 0.25rem;\n}\n\n.sort-arrow {\n color: #3b3b3b;\n opacity: 0.8;\n transition: all 0.2s ease;\n\n &.active {\n color: #0E47CB;\n opacity: 1;\n }\n\n &:not(.active):hover {\n opacity: 0.7;\n }\n}\n\n.sort-arrow-up {\n margin-bottom: -1px;\n}\n\n.sort-arrow-down {\n margin-top: -1px;\n}\n\n.dsd-feature {\n margin-bottom: 0rem;\n}\n\n.pages-wrapper {\n position: relative;\n}\n\n.show-all-container {\n display: flex;\n justify-content: left;\n gap: 0.5rem;\n padding: 1.5rem 0 0rem;\n}\n\n.show-more-btn {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n background-color: #fff;\n border: 2px solid #0e47cb;\n color: #0e47cb;\n border-radius: 4px;\n padding: 0.5rem 1rem;\n font-weight: 400;\n font-size: 16px;\n cursor: pointer;\n transition: all 0.2s ease;\n\n &:hover {\n background-color: #3e6cd5;\n border-color: #3e6cd5;\n color: #fff;\n\n .arrow-icon {\n color: #fff;\n }\n }\n\n .arrow-icon {\n color: #0E47CB;\n transition: transform 0.3s ease;\n\n &.rotated {\n transform: rotate(180deg);\n }\n }\n}\n\n.show-all-btn {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n background-color: #0e47cb;\n border: 1px solid #0e47cb;\n color: #fff;\n border-radius: 4px;\n padding: 0.5rem 1rem;\n font-weight: 400;\n font-size: 16px;\n cursor: pointer;\n transition: all 0.2s ease;\n\n &:hover {\n background-color: #3e6cd5;\n border-color: #3e6cd5;\n\n .arrow-icon {\n color: #fff;\n }\n }\n\n .arrow-icon {\n color: #fff;\n transition: transform 0.3s ease;\n\n &.rotated {\n transform: rotate(180deg);\n }\n }\n}\n\n.fade-overlay {\n position: absolute;\n bottom: 70px;\n left: 0;\n right: 0;\n height: 45px;\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 50%, rgba(255, 255, 255, 1) 100%);\n pointer-events: none;\n z-index: 1;\n}\n\n.accordion-title {\n background: none;\n border: none;\n display: contents;\n cursor: pointer;\n}\n\n.action-btns {\n font-family: Arial;\n font-weight: 400;\n font-size: 16px !important;\n line-height: 24px;\n letter-spacing: 0px;\n color: #0E47CB;\n background: none;\n border: none;\n cursor: pointer;\n text-decoration: none;\n\n &:hover {\n text-decoration: none;\n }\n}\n\n.table-responsive-wrapper {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n width: 100%;\n\n @media (min-width: 992px) {\n overflow-x: visible;\n }\n}\n\n.page-title {\n font-family: Arial;\n font-weight: 700;\n font-size: 16px;\n line-height: 24px;\n letter-spacing: 0px;\n color: #0E47CB;\n white-space: nowrap;\n text-align: left;\n}\n\n.title-with-arrow {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n width: 100%;\n text-align: left;\n}\n\n.accordion-arrow {\n color: #0E47CB;\n transition: transform 0.3s ease;\n flex-shrink: 0;\n\n &.rotated {\n transform: rotate(180deg);\n }\n}\n\n.page-header {\n display: contents;\n background: none;\n border: none;\n font-family: inherit;\n text-align: left;\n width: 100%;\n\n &:hover .grid-col {\n background-color: #f8f9fa !important;\n }\n\n &:focus {\n outline: none;\n\n .grid-col {\n outline: 2px solid #0E47CB;\n outline-offset: -2px;\n }\n }\n}\n\n.page-item {\n display: contents;\n\n &.accordion-open .grid-col {\n border-bottom: none !important;\n }\n}\n\n.accordion-content {\n grid-column: 1 / -1;\n padding: 1rem;\n border-bottom: 1px solid #dee2e6;\n animation: slideDown 0.2s ease-out;\n\n .expanded-details {\n width: 100%;\n\n h4 {\n margin-bottom: 1rem;\n color: #0E47CB;\n font-size: 1.1rem;\n }\n\n .details-list {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 0px 0.8rem;\n margin: 0;\n font-size: 12px;\n\n dt {\n font-weight: 600;\n color: #333;\n }\n\n dd {\n margin: 0;\n word-break: break-all;\n }\n }\n }\n}\n\n@keyframes slideDown {\n from {\n opacity: 0;\n max-height: 0;\n }\n\n to {\n opacity: 1;\n max-height: 200px;\n }\n}\n\n.pages-grid {\n display: grid;\n gap: 0;\n grid-template-columns: minmax(200px, 1fr) 70px 90px minmax(120px, auto);\n min-width: 590px;\n width: max-content;\n\n @media (min-width: 992px) {\n grid-template-columns: 55% 10% 15% 20%;\n min-width: auto;\n width: 100%;\n }\n\n .grid-header {\n display: contents;\n\n .grid-col {\n background-color: #F3F6FC;\n font-weight: bold;\n padding: 0.75rem;\n white-space: nowrap;\n border-bottom: 2px solid #dee2e6;\n display: flex;\n align-items: center;\n\n &:last-child {\n border-right: none;\n }\n }\n }\n\n .grid-row {\n display: contents;\n\n .grid-col {\n padding: 0.75rem;\n border-bottom: 1px solid #dee2e6;\n display: flex;\n align-items: center;\n white-space: nowrap;\n background-color: white;\n\n &:last-child {\n border-right: none;\n }\n\n @media (min-width: 992px) {\n white-space: normal;\n }\n }\n }\n\n .grid-col-full {\n grid-column: 1 / -1;\n padding: 2rem;\n border-bottom: 1px solid #dee2e6;\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n }\n}\n\n@media (min-width: 992px) {\n .page-title {\n white-space: normal;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n.badge {\n font-size: 0.875rem;\n}\n\n.outgoing-icon {\n color: #0E47CB;\n}\n\n/* Mobile Sort Controls */\n.mobile-sort-controls {\n padding: 0.75rem;\n background-color: #F3F6FC;\n border-radius: 4px;\n margin-top: 10px;\n \n .sort-button {\n background: none;\n border: none;\n display: flex;\n align-items: center;\n gap: 0.2rem;\n font-weight: bold;\n cursor: pointer;\n padding: 0;\n color: inherit;\n font-size: inherit;\n font-family: inherit;\n }\n}\n\n/* Mobile Card Styles */\n.pages-cards {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.page-card {\n background: white;\n border: 1px solid #dee2e6;\n border-radius: 8px;\n overflow: hidden;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n transition: box-shadow 0.2s ease;\n margin-bottom: 20px;\n\n &.expanded {\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);\n }\n\n .page-title {\n font-family: Arial;\n font-weight: 700;\n font-size: 16px;\n line-height: 24px;\n color: #0E47CB;\n margin: 0 0 0.5rem 0;\n word-wrap: break-word;\n \n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n.card-header {\n padding: 1rem;\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n cursor: pointer;\n border-bottom: 1px solid #f0f0f0;\n background-color: #F3F6FC;\n\n &:hover {\n background-color: #F3F6FC;\n }\n}\n\n.card-title-section {\n flex: 1;\n min-width: 0;\n}\n\n.card-meta {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n flex-wrap: wrap;\n\n .badge {\n font-size: 12px !important;\n }\n\n .date {\n font-size: 14px;\n color: #6c757d;\n }\n}\n\n.card-actions {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n}\n\n.card-action-btn {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.75rem 1rem;\n border-radius: 4px;\n text-decoration: none;\n font-weight: 500;\n font-size: 14px;\n transition: all 0.2s ease;\n border: 1px solid #0E47CB;\n text-align: center;\n justify-content: center;\n\n .btn-icon {\n flex-shrink: 0;\n color: #0E47CB;\n }\n\n &.access-btn {\n background-color: white;\n color: #0E47CB;\n\n &:hover {\n background-color: #0E47CB;\n color: white;\n text-decoration: none;\n\n .btn-icon {\n color: white;\n }\n }\n }\n}\n\n.card-expanded-content {\n padding: 1rem;\n background-color: #F3F6FC;\n border-top: 1px solid #dee2e6;\n\n .details-list {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 0.5rem 1rem;\n margin: 0;\n font-size: 14px;\n\n dt {\n font-weight: 600;\n color: #333;\n }\n\n dd {\n margin: 0;\n word-break: break-word;\n }\n }\n}\n\n.empty-state-card {\n background: white;\n border: 1px solid #dee2e6;\n border-radius: 8px;\n padding: 2rem;\n text-align: center;\n}\n\n/* Responsive adjustments */\n@media (max-width: 576px) {\n .page-title {\n font-size: 14px;\n line-height: 20px;\n }\n\n .card-header {\n padding: 0.75rem;\n }\n\n .card-actions {\n padding: 0.75rem;\n }\n\n .card-action-btn {\n padding: 0.625rem 0.875rem;\n font-size: 14px;\n }\n}\n</style>\n"],"names":["_sfc_main","AppLink","mapGetters","pages","a","b","titleA","titleB","_a","remaining","truncate","id","index","newExpandedItems","description","isNil","page","has","getTranslationFor","dateString","date","error","$","_hoisted_1","_hoisted_3","_hoisted_5","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_20","_hoisted_21","_hoisted_23","_hoisted_24","_hoisted_26","_hoisted_27","_hoisted_34","_hoisted_36","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_45","_hoisted_46","_hoisted_53","_openBlock","_createElementBlock","_createVNode","_component_dataset_details_feature_header","_ctx","$props","$options","_hoisted_2","_createElementVNode","args","_normalizeClass","$data","_hoisted_6","_createTextVNode","_toDisplayString","_Fragment","_renderList","$event","_withKeys","_withModifiers","_hoisted_22","_component_app_link","_hoisted_29","_hoisted_31","_hoisted_33","_hoisted_35","_hoisted_44","_hoisted_48","_hoisted_50","_hoisted_52","_hoisted_54"],"mappings":"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"}
1
+ {"version":3,"file":"DatasetDetailsPages.vue.mjs","sources":["../../../lib/datasetDetails/features/DatasetDetailsPages.vue"],"sourcesContent":["<template>\n <div class=\"dsd-feature d-flex flex-column mt-3\">\n <dataset-details-feature-header\n :title=\"`${$t('message.metadata.documentations')} (${getPages ? getPages.length.toLocaleString('fi') : 0})`\"\n :arrowDown=\"!pages.isVisible\"\n tag=\"documentation-toggle\"\n :onClick=\"togglePage\"\n />\n <div v-if=\"pages.isVisible\">\n <!-- Mobile Sort Controls -->\n <div class=\"mobile-sort-controls d-md-none mb-3\">\n <button class=\"sort-button\" @click=\"toggleTitleSort\" :aria-label=\"$t('message.metadata.title') + ' sortieren'\">\n Sort\n <div class=\"sort-arrows\">\n <svg class=\"sort-arrow sort-arrow-up\" :class=\"{ active: sortOrder === 'asc' }\" width=\"10\" height=\"8\" viewBox=\"0 0 10 8\">\n <path d=\"M5 1 L9 6 L1 6 Z\" fill=\"currentColor\" />\n </svg>\n <svg class=\"sort-arrow sort-arrow-down\" :class=\"{ active: sortOrder === 'desc' }\" width=\"10\" height=\"8\" viewBox=\"0 0 10 8\">\n <path d=\"M5 7 L1 2 L9 2 Z\" fill=\"currentColor\" />\n </svg>\n </div>\n </button>\n </div>\n <!-- Desktop Table View -->\n <div class=\"table-responsive-wrapper d-none d-md-block mt-3\" data-cy=\"documentation\">\n <div class=\"pages-wrapper\">\n <div class=\"pages-grid\">\n <!-- Header -->\n <div class=\"grid-header\">\n <div class=\"grid-col title-col\">\n <button class=\"sort-button\" @click=\"toggleTitleSort\" :aria-label=\"$t('message.metadata.title') + ' sortieren'\">\n {{ $t('message.metadata.title') }}\n <div class=\"sort-arrows\">\n <svg class=\"sort-arrow sort-arrow-up\" :class=\"{ active: sortOrder === 'asc' }\" width=\"10\" height=\"8\" viewBox=\"0 0 10 8\">\n <path d=\"M5 1 L9 6 L1 6 Z\" fill=\"currentColor\" />\n </svg>\n <svg class=\"sort-arrow sort-arrow-down\" :class=\"{ active: sortOrder === 'desc' }\" width=\"10\" height=\"8\" viewBox=\"0 0 10 8\">\n <path d=\"M5 7 L1 2 L9 2 Z\" fill=\"currentColor\" />\n </svg>\n </div>\n </button>\n </div>\n <div class=\"grid-col format-col\">{{ $t('message.metadata.format') }}</div>\n <div class=\"grid-col date-col\">{{ $t('message.metadata.updated') }}</div>\n <div class=\"grid-col actions-col\">{{ $t('message.dataupload.menu.actions') }}</div>\n </div>\n\n <!-- Page rows -->\n <div v-for=\"(page, index) in visiblePages\" :key=\"index\" class=\"page-item\" :class=\"{ 'accordion-open': expandedItems[index] }\">\n <div class=\"grid-row page-header\">\n <div class=\"grid-col title-col\">\n <div class=\"title-with-arrow\">\n <button \n :id=\"`accordion-button-${index}`\" \n class=\"accordion-title\"\n :aria-expanded=\"expandedItems[index] || false\" \n :aria-controls=\"`accordion-content-${index}`\"\n type=\"button\" \n @click=\"toggleAccordion(index)\"\n @keydown.enter=\"toggleAccordion(index)\"\n @keydown.space.prevent=\"toggleAccordion(index)\">\n <h3 class=\"m-0 page-title\">{{ getPageTitle(page) }}</h3>\n <svg :class=\"`accordion-arrow ${expandedItems[index] ? 'rotated' : ''}`\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" aria-hidden=\"true\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n </button>\n </div>\n </div>\n <div class=\"grid-col format-col\">\n <PvBadge v-if=\"page.format\" class=\"format-badge\" :value=\"page.format\"\n :type=\"page.format.id\">\n </PvBadge>\n <span v-else class=\"badge badge-secondary\" \n :data-toggle=\"pageFormatTruncated(page) ? 'tooltip' : false\"\n :data-placement=\"pageFormatTruncated(page) ? 'top' : false\"\n :title=\"pageFormatTruncated(page) ? getPageFormat(page) : false\">\n {{ truncate(getPageFormat(page), 10, true) }}\n </span>\n </div>\n <div class=\"grid-col date-col\">\n {{ formatDate(getPageModified(page)) }}\n </div>\n <div class=\"grid-col actions-col\">\n <app-link \n class=\"action-btns\" \n :to=\"page.resource\"\n target=\"_blank\"\n rel=\"dcat:distribution noopener\"\n matomo-track-download\n @after-click=\"trackGoto\">\n {{ $t('message.datasetDetails.access') }}\n </app-link>\n </div>\n </div>\n\n <!-- Accordion Content -->\n <div v-if=\"expandedItems[index]\" \n :id=\"`accordion-content-${index}`\"\n :aria-labelledby=\"`accordion-button-${index}`\" \n class=\"accordion-content\" \n role=\"region\">\n <div class=\"expanded-details\">\n <dl class=\"details-list\">\n <dt v-if=\"getPageDescription(page)\">{{ $t('message.metadata.description') }}</dt>\n <dd v-if=\"getPageDescription(page)\">{{ getPageDescription(page) }}</dd>\n \n <dt>{{ $t('message.metadata.format') }}</dt>\n <dd>{{ getPageFormat(page) }}</dd>\n \n <dt v-if=\"getPageModified(page)\">{{ $t('message.metadata.updated') }}</dt>\n <dd v-if=\"getPageModified(page)\">{{ formatDate(getPageModified(page)) }}</dd>\n \n <dt>{{ $t('message.metadata.accessUrl') }}</dt>\n <dd>\n <a :href=\"page.resource\" target=\"_blank\" rel=\"noopener\">\n {{ (page.resource || '').substring(0, 80) + '...' }}\n <svg class=\"outgoing-icon ml-1\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\" stroke=\"currentColor\" stroke-width=\"2\" />\n <polyline points=\"15,3 21,3 21,9\" stroke=\"currentColor\" stroke-width=\"2\" />\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\" stroke=\"currentColor\" stroke-width=\"2\" />\n </svg>\n </a>\n </dd>\n </dl>\n </div>\n </div>\n </div>\n\n <!-- Empty state -->\n <div v-if=\"!getPages || getPages.length === 0\" class=\"grid-row empty-state\">\n <div class=\"grid-col-full text-center text-muted\">\n {{ $t('message.metadata.noDocumentationsAvailable') }}\n </div>\n </div>\n </div>\n </div>\n\n <div v-if=\"!showingAll\" class=\"fade-overlay\"></div>\n </div>\n\n <!-- Mobile Card View -->\n <div class=\"pages-cards d-md-none\">\n <div v-for=\"(page, index) in visiblePages\" :key=\"index\" class=\"page-card\" :class=\"{ 'expanded': expandedItems[index] }\">\n \n <!-- Card Header -->\n <div class=\"card-header\" @click=\"toggleAccordion(index)\">\n <div class=\"card-title-section\">\n <h3 class=\"page-title\">{{ getPageTitle(page) }}</h3>\n <div class=\"card-meta\">\n <span class=\"badge badge-secondary\">{{ truncate(getPageFormat(page), 10, true) }}</span>\n <span class=\"date\">{{ formatDate(getPageModified(page)) }}</span>\n </div>\n </div>\n <svg class=\"accordion-arrow\" :class=\"{ 'rotated': expandedItems[index] }\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" aria-hidden=\"true\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n </div>\n\n <!-- Card Actions -->\n <div class=\"card-actions\">\n <app-link \n class=\"card-action-btn access-btn\" \n :to=\"page.resource\"\n target=\"_blank\"\n rel=\"dcat:distribution noopener\"\n matomo-track-download\n @after-click=\"trackGoto\">\n <svg class=\"btn-icon\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\" stroke=\"currentColor\" stroke-width=\"2\" />\n <polyline points=\"15,3 21,3 21,9\" stroke=\"currentColor\" stroke-width=\"2\" />\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\" stroke=\"currentColor\" stroke-width=\"2\" />\n </svg>\n {{ $t('message.datasetDetails.access') }}\n </app-link>\n </div>\n\n <!-- Expanded Content -->\n <div v-if=\"expandedItems[index]\" class=\"card-expanded-content\">\n <div class=\"expanded-details\">\n <dl class=\"details-list\">\n <dt v-if=\"getPageDescription(page)\">{{ $t('message.metadata.description') }}</dt>\n <dd v-if=\"getPageDescription(page)\">{{ getPageDescription(page) }}</dd>\n \n <dt>{{ $t('message.metadata.format') }}</dt>\n <dd>{{ getPageFormat(page) }}</dd>\n \n <dt v-if=\"getPageModified(page)\">{{ $t('message.metadata.updated') }}</dt>\n <dd v-if=\"getPageModified(page)\">{{ formatDate(getPageModified(page)) }}</dd>\n \n <dt>{{ $t('message.metadata.accessUrl') }}</dt>\n <dd>\n <a :href=\"page.resource\" target=\"_blank\" rel=\"noopener\">\n {{ (page.resource || '').substring(0, 80) + '...' }}\n <svg class=\"outgoing-icon ml-1\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\" stroke=\"currentColor\" stroke-width=\"2\" />\n <polyline points=\"15,3 21,3 21,9\" stroke=\"currentColor\" stroke-width=\"2\" />\n <line x1=\"10\" y1=\"14\" x2=\"21\" y2=\"3\" stroke=\"currentColor\" stroke-width=\"2\" />\n </svg>\n </a>\n </dd>\n </dl>\n </div>\n </div>\n </div>\n\n <!-- Empty state for mobile -->\n <div v-if=\"!getPages || getPages.length === 0\" class=\"empty-state-card\">\n <div class=\"text-center text-muted\">\n {{ $t('message.metadata.noDocumentationsAvailable') }}\n </div>\n </div>\n </div>\n\n <!-- Show More / Show All / Show Less Buttons -->\n <div v-if=\"hasMorePages || showingMoreThanInitial\" class=\"show-all-container\">\n <button v-if=\"!showingAll && hasMorePages\" class=\"show-more-btn\" @click=\"showMorePages\">\n <svg class=\"arrow-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n {{ $t('message.metadata.showXMore', { increment: remainingCount }) }}\n </button>\n\n <button v-if=\"showingAll || showingMoreThanInitial\" class=\"show-more-btn\" :class=\"{ 'ml-2': !showingAll }\" @click=\"resetView\">\n <svg class=\"arrow-icon rotated\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n {{ $t('message.metadata.showLess') }}\n </button>\n\n <button v-if=\"!showingAll && hasMorePages\" class=\"show-all-btn ml-2\" @click=\"showAllPages\">\n <svg class=\"arrow-icon\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"2\" fill=\"none\" />\n </svg>\n {{ $t('message.metadata.showAll') }}\n </button>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport $ from \"jquery\";\nimport {getTranslationFor, truncate} from \"../../utils/helpers\";\nimport {has, isNil} from \"lodash\";\nimport AppLink from \"../../widgets/AppLink\";\nimport {mapGetters} from \"vuex\";\nimport PvBadge from \"../../PvBadge/PvBadge.vue\";\n// DatasetDetailsFeatureHeader is imported globally\n// import DatasetDetailsFeatureHeader\n// from \"../../datasetDetails/features/DatasetDetailsFeatureHeader\";\n\nexport default {\n name: \"DatasetDetailsPages\",\n components: {\n // DatasetDetailsFeatureHeader,\n AppLink,\n PvBadge,\n },\n props: {\n pages: Object,\n increaseNumDisplayedPages: Function,\n nonOverflowingIncrementsForPages: Function,\n trackGoto: Function\n },\n data() {\n return {\n expandedPageDescriptions: [],\n expandedPages: [],\n expandedItems: [],\n visibleCount: 8,\n incrementSize: 10,\n initialVisibleCount: 8,\n sortOrder: 'asc'\n };\n },\n computed: {\n ...mapGetters('datasetDetails', [\n 'getPages'\n ]),\n sortedAndFilteredPages() {\n if (!this.getPages) return [];\n\n let pages = [...this.getPages];\n\n if (this.sortOrder) {\n pages.sort((a, b) => {\n const titleA = this.getPageTitle(a).toLowerCase();\n const titleB = this.getPageTitle(b).toLowerCase();\n\n if (this.sortOrder === 'asc') {\n return titleA.localeCompare(titleB);\n } else {\n return titleB.localeCompare(titleA);\n }\n });\n }\n\n return pages;\n },\n visiblePages() {\n if (!this.getPages) return [];\n return this.sortedAndFilteredPages.slice(0, this.visibleCount);\n },\n displayedPages() {\n return this.visiblePages;\n },\n showingMoreThanInitial() {\n return this.visibleCount > this.initialVisibleCount;\n },\n hasMorePages() {\n return this.sortedAndFilteredPages && this.sortedAndFilteredPages.length > this.initialVisibleCount;\n },\n showingAll() {\n return this.visibleCount >= this.sortedAndFilteredPages?.length;\n },\n isPagesAllDisplayed() {\n return this.showingAll;\n },\n remainingPages() {\n return this.getPages.length - this.visibleCount;\n },\n remainingCount() {\n if (!this.sortedAndFilteredPages) return 0;\n const remaining = this.sortedAndFilteredPages.length - this.visibleCount;\n return Math.min(remaining, this.incrementSize);\n }\n },\n methods: {\n truncate,\n toggleTitleSort() {\n if (this.sortOrder === 'asc') {\n this.sortOrder = 'desc';\n } else {\n this.sortOrder = 'asc';\n }\n this.expandedItems = [];\n },\n togglePageDescription(id) {\n const index = this.expandedPageDescriptions.indexOf(id);\n if (index > -1) this.expandedPageDescriptions.splice(index, 1);\n else this.expandedPageDescriptions.push(id);\n },\n togglePage() {\n this.pages.isVisible = !this.pages.isVisible;\n this.initTooltips();\n },\n toggleAccordion(index) {\n const newExpandedItems = {};\n\n if (!this.expandedItems[index]) {\n newExpandedItems[index] = true;\n }\n\n this.expandedItems = newExpandedItems;\n\n this.$nextTick(() => {\n this.initTooltips();\n });\n },\n pageDescriptionIsExpanded(id) {\n return this.expandedPageDescriptions.includes(id);\n },\n pageDescriptionIsExpandable(description) {\n return isNil(description) ? false : description.length > this.pages.descriptionMaxChars;\n },\n pageIsExpanded(id) {\n return this.expandedPages.includes(id);\n },\n getPageFormat(page) {\n return has(page, 'format.label') && !isNil(page.format.label) ? page.format.label : 'UNKNOWN';\n },\n pageFormatTruncated(page) {\n return this.getPageFormat(page).length > 10;\n },\n getPageTitle(page) {\n return page.title ? getTranslationFor(page.title, this.$route.query.locale, this.getLanguages) : truncate(page.resource, 50);\n },\n getPageDescription(page) {\n return (has(page, 'description') && !isNil(page.description)) ? getTranslationFor(page.description, this.$route.query.locale, this.getLanguages) : '';\n },\n getPageModified(page) {\n return has(page, 'modified') && !isNil(page.modified) ? page.modified : (has(page, 'issued') && !isNil(page.issued) ? page.issued : null);\n },\n formatDate(dateString) {\n if (!dateString) return '-';\n\n try {\n const date = new Date(dateString);\n if (isNaN(date.getTime())) return dateString;\n\n return date.toLocaleDateString('en-GB', {\n day: 'numeric',\n month: 'long',\n year: 'numeric'\n });\n } catch (error) {\n console.warn('Error formatting date:', dateString, error);\n return dateString;\n }\n },\n showMorePages() {\n this.visibleCount = Math.min(\n this.visibleCount + this.incrementSize,\n this.sortedAndFilteredPages.length\n );\n },\n showAllPages() {\n this.visibleCount = this.sortedAndFilteredPages.length;\n },\n resetView() {\n this.visibleCount = this.initialVisibleCount;\n this.$el.querySelector('.pages-grid')?.scrollIntoView({\n behavior: 'smooth',\n block: 'start'\n });\n },\n initTooltips() {\n if (typeof $ !== 'undefined') {\n $('.tooltip').remove();\n $('[data-toggle=\"tooltip\"]').tooltip('dispose');\n\n this.$nextTick(() => {\n $('[data-toggle=\"tooltip\"]').tooltip({\n container: 'body',\n html: true\n });\n });\n }\n }\n },\n mounted() {\n this.initTooltips();\n },\n updated() {\n this.initTooltips();\n },\n beforeUnmount() {\n if (typeof $ !== 'undefined') {\n $('.tooltip').remove();\n $('[data-toggle=\"tooltip\"]').tooltip('dispose');\n }\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n\n.page-title {\n font-size: 16px !important;\n}\n\n.format-badge {\n font-size: 12px !important;\n}\n\n.badge-secondary {\n font-size: 12px !important;\n}\n.sort-button {\n background: none;\n border: none;\n display: flex;\n align-items: center;\n gap: 0.2rem;\n font-weight: bold;\n cursor: pointer;\n padding: 0;\n color: inherit;\n font-size: inherit;\n font-family: inherit;\n\n &:hover {\n color: #0E47CB;\n\n .sort-arrows .sort-arrow {\n opacity: 0.7;\n }\n }\n}\n\n\n\n.sort-arrows {\n display: flex;\n flex-direction: column;\n gap: 1px;\n margin-left: 0.25rem;\n}\n\n.sort-arrow {\n color: #3b3b3b;\n opacity: 0.8;\n transition: all 0.2s ease;\n\n &.active {\n color: #0E47CB;\n opacity: 1;\n }\n\n &:not(.active):hover {\n opacity: 0.7;\n }\n}\n\n.sort-arrow-up {\n margin-bottom: -1px;\n}\n\n.sort-arrow-down {\n margin-top: -1px;\n}\n\n.dsd-feature {\n margin-bottom: 0rem;\n}\n\n.pages-wrapper {\n position: relative;\n}\n\n.show-all-container {\n display: flex;\n justify-content: left;\n gap: 0.5rem;\n padding: 1.5rem 0 0rem;\n}\n\n.show-more-btn {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n background-color: #fff;\n border: 2px solid #0e47cb;\n color: #0e47cb;\n border-radius: 4px;\n padding: 0.5rem 1rem;\n font-weight: 400;\n font-size: 16px;\n cursor: pointer;\n transition: all 0.2s ease;\n\n &:hover {\n background-color: #3e6cd5;\n border-color: #3e6cd5;\n color: #fff;\n\n .arrow-icon {\n color: #fff;\n }\n }\n\n .arrow-icon {\n color: #0E47CB;\n transition: transform 0.3s ease;\n\n &.rotated {\n transform: rotate(180deg);\n }\n }\n}\n\n.show-all-btn {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n background-color: #0e47cb;\n border: 1px solid #0e47cb;\n color: #fff;\n border-radius: 4px;\n padding: 0.5rem 1rem;\n font-weight: 400;\n font-size: 16px;\n cursor: pointer;\n transition: all 0.2s ease;\n\n &:hover {\n background-color: #3e6cd5;\n border-color: #3e6cd5;\n\n .arrow-icon {\n color: #fff;\n }\n }\n\n .arrow-icon {\n color: #fff;\n transition: transform 0.3s ease;\n\n &.rotated {\n transform: rotate(180deg);\n }\n }\n}\n\n.fade-overlay {\n position: absolute;\n bottom: 70px;\n left: 0;\n right: 0;\n height: 45px;\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 50%, rgba(255, 255, 255, 1) 100%);\n pointer-events: none;\n z-index: 1;\n}\n\n.accordion-title {\n background: none;\n border: none;\n display: contents;\n cursor: pointer;\n}\n\n.action-btns {\n font-family: Arial;\n font-weight: 400;\n font-size: 16px !important;\n line-height: 24px;\n letter-spacing: 0px;\n color: #0E47CB;\n background: none;\n border: none;\n cursor: pointer;\n text-decoration: none;\n\n &:hover {\n text-decoration: none;\n }\n}\n\n.table-responsive-wrapper {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n width: 100%;\n\n @media (min-width: 992px) {\n overflow-x: visible;\n }\n}\n\n.page-title {\n font-family: Arial;\n font-weight: 700;\n font-size: 16px;\n line-height: 24px;\n letter-spacing: 0px;\n color: #0E47CB;\n white-space: nowrap;\n text-align: left;\n}\n\n.title-with-arrow {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n width: 100%;\n text-align: left;\n}\n\n.accordion-arrow {\n color: #0E47CB;\n transition: transform 0.3s ease;\n flex-shrink: 0;\n\n &.rotated {\n transform: rotate(180deg);\n }\n}\n\n.page-header {\n display: contents;\n background: none;\n border: none;\n font-family: inherit;\n text-align: left;\n width: 100%;\n\n &:hover .grid-col {\n background-color: #f8f9fa !important;\n }\n\n &:focus {\n outline: none;\n\n .grid-col {\n outline: 2px solid #0E47CB;\n outline-offset: -2px;\n }\n }\n}\n\n.page-item {\n display: contents;\n\n &.accordion-open .grid-col {\n border-bottom: none !important;\n }\n}\n\n.accordion-content {\n grid-column: 1 / -1;\n padding: 1rem;\n border-bottom: 1px solid #dee2e6;\n animation: slideDown 0.2s ease-out;\n\n .expanded-details {\n width: 100%;\n\n h4 {\n margin-bottom: 1rem;\n color: #0E47CB;\n font-size: 1.1rem;\n }\n\n .details-list {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 0px 0.8rem;\n margin: 0;\n font-size: 12px;\n\n dt {\n font-weight: 600;\n color: #333;\n }\n\n dd {\n margin: 0;\n word-break: break-all;\n }\n }\n }\n}\n\n@keyframes slideDown {\n from {\n opacity: 0;\n max-height: 0;\n }\n\n to {\n opacity: 1;\n max-height: 200px;\n }\n}\n\n.pages-grid {\n display: grid;\n gap: 0;\n grid-template-columns: minmax(200px, 1fr) 70px 90px minmax(120px, auto);\n min-width: 590px;\n width: max-content;\n\n @media (min-width: 992px) {\n grid-template-columns: 55% 10% 15% 20%;\n min-width: auto;\n width: 100%;\n }\n\n .grid-header {\n display: contents;\n\n .grid-col {\n background-color: #F3F6FC;\n font-weight: bold;\n padding: 0.75rem;\n white-space: nowrap;\n border-bottom: 2px solid #dee2e6;\n display: flex;\n align-items: center;\n\n &:last-child {\n border-right: none;\n }\n }\n }\n\n .grid-row {\n display: contents;\n\n .grid-col {\n padding: 0.75rem;\n border-bottom: 1px solid #dee2e6;\n display: flex;\n align-items: center;\n white-space: nowrap;\n background-color: white;\n\n &:last-child {\n border-right: none;\n }\n\n @media (min-width: 992px) {\n white-space: normal;\n }\n }\n }\n\n .grid-col-full {\n grid-column: 1 / -1;\n padding: 2rem;\n border-bottom: 1px solid #dee2e6;\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n }\n}\n\n@media (min-width: 992px) {\n .page-title {\n white-space: normal;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n.badge {\n font-size: 0.875rem;\n}\n\n.outgoing-icon {\n color: #0E47CB;\n}\n\n/* Mobile Sort Controls */\n.mobile-sort-controls {\n padding: 0.75rem;\n background-color: #F3F6FC;\n border-radius: 4px;\n margin-top: 10px;\n \n .sort-button {\n background: none;\n border: none;\n display: flex;\n align-items: center;\n gap: 0.2rem;\n font-weight: bold;\n cursor: pointer;\n padding: 0;\n color: inherit;\n font-size: inherit;\n font-family: inherit;\n }\n}\n\n/* Mobile Card Styles */\n.pages-cards {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.page-card {\n background: white;\n border: 1px solid #dee2e6;\n border-radius: 8px;\n overflow: hidden;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n transition: box-shadow 0.2s ease;\n margin-bottom: 20px;\n\n &.expanded {\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);\n }\n\n .page-title {\n font-family: Arial;\n font-weight: 700;\n font-size: 16px;\n line-height: 24px;\n color: #0E47CB;\n margin: 0 0 0.5rem 0;\n word-wrap: break-word;\n \n display: -webkit-box;\n -webkit-line-clamp: 3;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n.card-header {\n padding: 1rem;\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n cursor: pointer;\n border-bottom: 1px solid #f0f0f0;\n background-color: #F3F6FC;\n\n &:hover {\n background-color: #F3F6FC;\n }\n}\n\n.card-title-section {\n flex: 1;\n min-width: 0;\n}\n\n.card-meta {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n flex-wrap: wrap;\n\n .badge {\n font-size: 12px !important;\n }\n\n .date {\n font-size: 14px;\n color: #6c757d;\n }\n}\n\n.card-actions {\n padding: 1rem;\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n}\n\n.card-action-btn {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.75rem 1rem;\n border-radius: 4px;\n text-decoration: none;\n font-weight: 500;\n font-size: 14px;\n transition: all 0.2s ease;\n border: 1px solid #0E47CB;\n text-align: center;\n justify-content: center;\n\n .btn-icon {\n flex-shrink: 0;\n color: #0E47CB;\n }\n\n &.access-btn {\n background-color: white;\n color: #0E47CB;\n\n &:hover {\n background-color: #0E47CB;\n color: white;\n text-decoration: none;\n\n .btn-icon {\n color: white;\n }\n }\n }\n}\n\n.card-expanded-content {\n padding: 1rem;\n background-color: #F3F6FC;\n border-top: 1px solid #dee2e6;\n\n .details-list {\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 0.5rem 1rem;\n margin: 0;\n font-size: 14px;\n\n dt {\n font-weight: 600;\n color: #333;\n }\n\n dd {\n margin: 0;\n word-break: break-word;\n }\n }\n}\n\n.empty-state-card {\n background: white;\n border: 1px solid #dee2e6;\n border-radius: 8px;\n padding: 2rem;\n text-align: center;\n}\n\n/* Responsive adjustments */\n@media (max-width: 576px) {\n .page-title {\n font-size: 14px;\n line-height: 20px;\n }\n\n .card-header {\n padding: 0.75rem;\n }\n\n .card-actions {\n padding: 0.75rem;\n }\n\n .card-action-btn {\n padding: 0.625rem 0.875rem;\n font-size: 14px;\n }\n}\n</style>\n"],"names":["_sfc_main","AppLink","PvBadge","mapGetters","pages","a","b","titleA","titleB","_a","remaining","truncate","id","index","newExpandedItems","description","isNil","page","has","getTranslationFor","dateString","date","error","$","_hoisted_1","_hoisted_3","_hoisted_5","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_18","_hoisted_20","_hoisted_21","_hoisted_23","_hoisted_24","_hoisted_26","_hoisted_27","_hoisted_34","_hoisted_36","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_45","_hoisted_46","_hoisted_53","_openBlock","_createElementBlock","_createVNode","_component_dataset_details_feature_header","_ctx","$props","$options","_hoisted_2","_createElementVNode","args","_normalizeClass","$data","_hoisted_6","_createTextVNode","_toDisplayString","_Fragment","_renderList","$event","_withKeys","_withModifiers","_createBlock","_component_PvBadge","_hoisted_22","_component_app_link","_hoisted_29","_hoisted_31","_hoisted_33","_hoisted_35","_hoisted_44","_hoisted_48","_hoisted_50","_hoisted_52","_hoisted_54"],"mappings":"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"}