@piveau/piveau-hub-ui-modules 4.7.11 → 4.7.12

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.
@@ -4,7 +4,7 @@ import { isNil as w, has as v } from "lodash-es";
4
4
  import B from "../../widgets/AppLink.vue.mjs";
5
5
  import { mapGetters as V } from "vuex";
6
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
+ import { resolveComponent as P, openBlock as l, createElementBlock as d, createVNode as b, createTextVNode as i, createElementVNode as s, normalizeClass as m, toDisplayString as a, Fragment as D, renderList as M, withKeys as A, withModifiers as L, createBlock as O, withCtx as T, createCommentVNode as g } from "vue";
8
8
  import "./DatasetDetailsPages.vue2.mjs";
9
9
  import N from "../../_virtual/_plugin-vue_export-helper.mjs";
10
10
  const S = {
@@ -166,7 +166,7 @@ const S = {
166
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 = {
167
167
  class: "table-responsive-wrapper d-none d-md-block mt-3",
168
168
  "data-cy": "documentation"
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 = {
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" }, at = { class: "grid-col actions-col" }, lt = ["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 = {
170
170
  key: 0,
171
171
  class: "grid-row empty-state"
172
172
  }, vt = { class: "grid-col-full text-center text-muted" }, ft = {
@@ -184,7 +184,7 @@ const S = {
184
184
  };
185
185
  function Et(e, t, c, f, u, o) {
186
186
  const F = P("dataset-details-feature-header"), I = P("PvBadge"), p = P("app-link");
187
- return a(), d("div", E, [
187
+ return l(), d("div", E, [
188
188
  b(F, {
189
189
  title: `${e.$t("message.metadata.documentations")} (${e.getPages ? e.getPages.length.toLocaleString("fi") : 0})`,
190
190
  arrowDown: !c.pages.isVisible,
@@ -192,7 +192,7 @@ function Et(e, t, c, f, u, o) {
192
192
  onClick: o.togglePage
193
193
  }, null, 8, ["title", "arrowDown", "onClick"]),
194
194
  t[56] || (t[56] = i()),
195
- c.pages.isVisible ? (a(), d("div", G, [
195
+ c.pages.isVisible ? (l(), d("div", G, [
196
196
  s("div", z, [
197
197
  s("button", {
198
198
  class: "sort-button",
@@ -200,10 +200,10 @@ function Et(e, t, c, f, u, o) {
200
200
  "aria-label": e.$t("message.metadata.title") + " sortieren"
201
201
  }, [
202
202
  t[8] || (t[8] = i(`
203
- Sort
203
+ Sort
204
204
  `, -1)),
205
205
  s("div", U, [
206
- (a(), d("svg", {
206
+ (l(), d("svg", {
207
207
  class: m(["sort-arrow sort-arrow-up", { active: u.sortOrder === "asc" }]),
208
208
  width: "10",
209
209
  height: "8",
@@ -215,7 +215,7 @@ function Et(e, t, c, f, u, o) {
215
215
  }, null, -1)
216
216
  ])], 2)),
217
217
  t[7] || (t[7] = i()),
218
- (a(), d("svg", {
218
+ (l(), d("svg", {
219
219
  class: m(["sort-arrow sort-arrow-down", { active: u.sortOrder === "desc" }]),
220
220
  width: "10",
221
221
  height: "8",
@@ -240,9 +240,9 @@ function Et(e, t, c, f, u, o) {
240
240
  onClick: t[1] || (t[1] = (...r) => o.toggleTitleSort && o.toggleTitleSort(...r)),
241
241
  "aria-label": e.$t("message.metadata.title") + " sortieren"
242
242
  }, [
243
- i(l(e.$t("message.metadata.title")) + " ", 1),
243
+ i(a(e.$t("message.metadata.title")) + " ", 1),
244
244
  s("div", J, [
245
- (a(), d("svg", {
245
+ (l(), d("svg", {
246
246
  class: m(["sort-arrow sort-arrow-up", { active: u.sortOrder === "asc" }]),
247
247
  width: "10",
248
248
  height: "8",
@@ -254,7 +254,7 @@ function Et(e, t, c, f, u, o) {
254
254
  }, null, -1)
255
255
  ])], 2)),
256
256
  t[11] || (t[11] = i()),
257
- (a(), d("svg", {
257
+ (l(), d("svg", {
258
258
  class: m(["sort-arrow sort-arrow-down", { active: u.sortOrder === "desc" }]),
259
259
  width: "10",
260
260
  height: "8",
@@ -269,14 +269,14 @@ function Et(e, t, c, f, u, o) {
269
269
  ], 8, X)
270
270
  ]),
271
271
  t[12] || (t[12] = i()),
272
- s("div", Q, l(e.$t("message.metadata.format")), 1),
272
+ s("div", Q, a(e.$t("message.metadata.format")), 1),
273
273
  t[13] || (t[13] = i()),
274
- s("div", R, l(e.$t("message.metadata.updated")), 1),
274
+ s("div", R, a(e.$t("message.metadata.updated")), 1),
275
275
  t[14] || (t[14] = i()),
276
- s("div", Y, l(e.$t("message.dataupload.menu.actions")), 1)
276
+ s("div", Y, a(e.$t("message.dataupload.menu.actions")), 1)
277
277
  ]),
278
278
  t[29] || (t[29] = i()),
279
- (a(!0), d(D, null, M(o.visiblePages, (r, n) => (a(), d("div", {
279
+ (l(!0), d(D, null, M(o.visiblePages, (r, n) => (l(), d("div", {
280
280
  key: n,
281
281
  class: m(["page-item", { "accordion-open": u.expandedItems[n] }])
282
282
  }, [
@@ -295,9 +295,9 @@ function Et(e, t, c, f, u, o) {
295
295
  A(L((k) => o.toggleAccordion(n), ["prevent"]), ["space"])
296
296
  ]
297
297
  }, [
298
- s("h3", st, l(o.getPageTitle(r)), 1),
298
+ s("h3", st, a(o.getPageTitle(r)), 1),
299
299
  t[16] || (t[16] = i()),
300
- (a(), d("svg", {
300
+ (l(), d("svg", {
301
301
  class: m(`accordion-arrow ${u.expandedItems[n] ? "rotated" : ""}`),
302
302
  width: "16",
303
303
  height: "16",
@@ -316,23 +316,23 @@ function Et(e, t, c, f, u, o) {
316
316
  ]),
317
317
  t[17] || (t[17] = i()),
318
318
  s("div", ot, [
319
- r.format ? (a(), O(I, {
319
+ r.format ? (l(), O(I, {
320
320
  key: 0,
321
321
  class: "format-badge",
322
322
  value: r.format,
323
323
  type: r.format.id
324
- }, null, 8, ["value", "type"])) : (a(), d("span", {
324
+ }, null, 8, ["value", "type"])) : (l(), d("span", {
325
325
  key: 1,
326
326
  class: "badge badge-secondary",
327
327
  "data-toggle": o.pageFormatTruncated(r) ? "tooltip" : !1,
328
328
  "data-placement": o.pageFormatTruncated(r) ? "top" : !1,
329
329
  title: o.pageFormatTruncated(r) ? o.getPageFormat(r) : !1
330
- }, l(o.truncate(o.getPageFormat(r), 10, !0)), 9, it))
330
+ }, a(o.truncate(o.getPageFormat(r), 10, !0)), 9, it))
331
331
  ]),
332
332
  t[18] || (t[18] = i()),
333
- s("div", rt, l(o.formatDate(o.getPageModified(r))), 1),
333
+ s("div", rt, a(o.formatDate(o.getPageModified(r))), 1),
334
334
  t[19] || (t[19] = i()),
335
- s("div", lt, [
335
+ s("div", at, [
336
336
  b(p, {
337
337
  class: "action-btns",
338
338
  to: r.resource,
@@ -342,14 +342,14 @@ function Et(e, t, c, f, u, o) {
342
342
  onAfterClick: c.trackGoto
343
343
  }, {
344
344
  default: T(() => [
345
- i(l(e.$t("message.datasetDetails.access")), 1)
345
+ i(a(e.$t("message.datasetDetails.access")), 1)
346
346
  ]),
347
347
  _: 1
348
348
  }, 8, ["to", "onAfterClick"])
349
349
  ])
350
350
  ]),
351
351
  t[28] || (t[28] = i()),
352
- u.expandedItems[n] ? (a(), d("div", {
352
+ u.expandedItems[n] ? (l(), d("div", {
353
353
  key: 0,
354
354
  id: `accordion-content-${n}`,
355
355
  "aria-labelledby": `accordion-button-${n}`,
@@ -358,19 +358,19 @@ function Et(e, t, c, f, u, o) {
358
358
  }, [
359
359
  s("div", dt, [
360
360
  s("dl", nt, [
361
- o.getPageDescription(r) ? (a(), d("dt", gt, l(e.$t("message.metadata.description")), 1)) : g("", !0),
361
+ o.getPageDescription(r) ? (l(), d("dt", gt, a(e.$t("message.metadata.description")), 1)) : g("", !0),
362
362
  t[21] || (t[21] = i()),
363
- o.getPageDescription(r) ? (a(), d("dd", ut, l(o.getPageDescription(r)), 1)) : g("", !0),
363
+ o.getPageDescription(r) ? (l(), d("dd", ut, a(o.getPageDescription(r)), 1)) : g("", !0),
364
364
  t[22] || (t[22] = i()),
365
- s("dt", null, l(e.$t("message.metadata.format")), 1),
365
+ s("dt", null, a(e.$t("message.metadata.format")), 1),
366
366
  t[23] || (t[23] = i()),
367
- s("dd", null, l(o.getPageFormat(r)), 1),
367
+ s("dd", null, a(o.getPageFormat(r)), 1),
368
368
  t[24] || (t[24] = i()),
369
- o.getPageModified(r) ? (a(), d("dt", mt, l(e.$t("message.metadata.updated")), 1)) : g("", !0),
369
+ o.getPageModified(r) ? (l(), d("dt", mt, a(e.$t("message.metadata.updated")), 1)) : g("", !0),
370
370
  t[25] || (t[25] = i()),
371
- o.getPageModified(r) ? (a(), d("dd", ht, l(o.formatDate(o.getPageModified(r))), 1)) : g("", !0),
371
+ o.getPageModified(r) ? (l(), d("dd", ht, a(o.formatDate(o.getPageModified(r))), 1)) : g("", !0),
372
372
  t[26] || (t[26] = i()),
373
- s("dt", null, l(e.$t("message.metadata.accessUrl")), 1),
373
+ s("dt", null, a(e.$t("message.metadata.accessUrl")), 1),
374
374
  t[27] || (t[27] = i()),
375
375
  s("dd", null, [
376
376
  s("a", {
@@ -378,7 +378,7 @@ function Et(e, t, c, f, u, o) {
378
378
  target: "_blank",
379
379
  rel: "noopener"
380
380
  }, [
381
- i(l((r.resource || "").substring(0, 80) + "...") + " ", 1),
381
+ i(a((r.resource || "").substring(0, 80) + "...") + " ", 1),
382
382
  t[20] || (t[20] = s("svg", {
383
383
  class: "outgoing-icon ml-1",
384
384
  width: "12",
@@ -411,20 +411,20 @@ function Et(e, t, c, f, u, o) {
411
411
  ])
412
412
  ])
413
413
  ])
414
- ], 8, at)) : g("", !0)
414
+ ], 8, lt)) : g("", !0)
415
415
  ], 2))), 128)),
416
416
  t[30] || (t[30] = i()),
417
- !e.getPages || e.getPages.length === 0 ? (a(), d("div", wt, [
418
- s("div", vt, l(e.$t("message.metadata.noDocumentationsAvailable")), 1)
417
+ !e.getPages || e.getPages.length === 0 ? (l(), d("div", wt, [
418
+ s("div", vt, a(e.$t("message.metadata.noDocumentationsAvailable")), 1)
419
419
  ])) : g("", !0)
420
420
  ])
421
421
  ]),
422
422
  t[31] || (t[31] = i()),
423
- o.showingAll ? g("", !0) : (a(), d("div", ft))
423
+ o.showingAll ? g("", !0) : (l(), d("div", ft))
424
424
  ]),
425
425
  t[54] || (t[54] = i()),
426
426
  s("div", kt, [
427
- (a(!0), d(D, null, M(o.visiblePages, (r, n) => (a(), d("div", {
427
+ (l(!0), d(D, null, M(o.visiblePages, (r, n) => (l(), d("div", {
428
428
  key: n,
429
429
  class: m(["page-card", { expanded: u.expandedItems[n] }])
430
430
  }, [
@@ -433,16 +433,16 @@ function Et(e, t, c, f, u, o) {
433
433
  onClick: (k) => o.toggleAccordion(n)
434
434
  }, [
435
435
  s("div", bt, [
436
- s("h3", pt, l(o.getPageTitle(r)), 1),
436
+ s("h3", pt, a(o.getPageTitle(r)), 1),
437
437
  t[33] || (t[33] = i()),
438
438
  s("div", yt, [
439
- s("span", Ct, l(o.truncate(o.getPageFormat(r), 10, !0)), 1),
439
+ s("span", Ct, a(o.truncate(o.getPageFormat(r), 10, !0)), 1),
440
440
  t[32] || (t[32] = i()),
441
- s("span", Dt, l(o.formatDate(o.getPageModified(r))), 1)
441
+ s("span", Dt, a(o.formatDate(o.getPageModified(r))), 1)
442
442
  ])
443
443
  ]),
444
444
  t[35] || (t[35] = i()),
445
- (a(), d("svg", {
445
+ (l(), d("svg", {
446
446
  class: m(["accordion-arrow", { rotated: u.expandedItems[n] }]),
447
447
  width: "16",
448
448
  height: "16",
@@ -496,28 +496,28 @@ function Et(e, t, c, f, u, o) {
496
496
  "stroke-width": "2"
497
497
  })
498
498
  ], -1)),
499
- i(" " + l(e.$t("message.datasetDetails.access")), 1)
499
+ i(" " + a(e.$t("message.datasetDetails.access")), 1)
500
500
  ]),
501
501
  _: 1
502
502
  }, 8, ["to", "onAfterClick"])
503
503
  ]),
504
504
  t[46] || (t[46] = i()),
505
- u.expandedItems[n] ? (a(), d("div", At, [
505
+ u.expandedItems[n] ? (l(), d("div", At, [
506
506
  s("div", Tt, [
507
507
  s("dl", Ft, [
508
- o.getPageDescription(r) ? (a(), d("dt", It, l(e.$t("message.metadata.description")), 1)) : g("", !0),
508
+ o.getPageDescription(r) ? (l(), d("dt", It, a(e.$t("message.metadata.description")), 1)) : g("", !0),
509
509
  t[38] || (t[38] = i()),
510
- o.getPageDescription(r) ? (a(), d("dd", Bt, l(o.getPageDescription(r)), 1)) : g("", !0),
510
+ o.getPageDescription(r) ? (l(), d("dd", Bt, a(o.getPageDescription(r)), 1)) : g("", !0),
511
511
  t[39] || (t[39] = i()),
512
- s("dt", null, l(e.$t("message.metadata.format")), 1),
512
+ s("dt", null, a(e.$t("message.metadata.format")), 1),
513
513
  t[40] || (t[40] = i()),
514
- s("dd", null, l(o.getPageFormat(r)), 1),
514
+ s("dd", null, a(o.getPageFormat(r)), 1),
515
515
  t[41] || (t[41] = i()),
516
- o.getPageModified(r) ? (a(), d("dt", Vt, l(e.$t("message.metadata.updated")), 1)) : g("", !0),
516
+ o.getPageModified(r) ? (l(), d("dt", Vt, a(e.$t("message.metadata.updated")), 1)) : g("", !0),
517
517
  t[42] || (t[42] = i()),
518
- o.getPageModified(r) ? (a(), d("dd", xt, l(o.formatDate(o.getPageModified(r))), 1)) : g("", !0),
518
+ o.getPageModified(r) ? (l(), d("dd", xt, a(o.formatDate(o.getPageModified(r))), 1)) : g("", !0),
519
519
  t[43] || (t[43] = i()),
520
- s("dt", null, l(e.$t("message.metadata.accessUrl")), 1),
520
+ s("dt", null, a(e.$t("message.metadata.accessUrl")), 1),
521
521
  t[44] || (t[44] = i()),
522
522
  s("dd", null, [
523
523
  s("a", {
@@ -525,7 +525,7 @@ function Et(e, t, c, f, u, o) {
525
525
  target: "_blank",
526
526
  rel: "noopener"
527
527
  }, [
528
- i(l((r.resource || "").substring(0, 80) + "...") + " ", 1),
528
+ i(a((r.resource || "").substring(0, 80) + "...") + " ", 1),
529
529
  t[37] || (t[37] = s("svg", {
530
530
  class: "outgoing-icon ml-1",
531
531
  width: "12",
@@ -561,13 +561,13 @@ function Et(e, t, c, f, u, o) {
561
561
  ])) : g("", !0)
562
562
  ], 2))), 128)),
563
563
  t[47] || (t[47] = i()),
564
- !e.getPages || e.getPages.length === 0 ? (a(), d("div", Ot, [
565
- s("div", Nt, l(e.$t("message.metadata.noDocumentationsAvailable")), 1)
564
+ !e.getPages || e.getPages.length === 0 ? (l(), d("div", Ot, [
565
+ s("div", Nt, a(e.$t("message.metadata.noDocumentationsAvailable")), 1)
566
566
  ])) : g("", !0)
567
567
  ]),
568
568
  t[55] || (t[55] = i()),
569
- o.hasMorePages || o.showingMoreThanInitial ? (a(), d("div", St, [
570
- !o.showingAll && o.hasMorePages ? (a(), d("button", {
569
+ o.hasMorePages || o.showingMoreThanInitial ? (l(), d("div", St, [
570
+ !o.showingAll && o.hasMorePages ? (l(), d("button", {
571
571
  key: 0,
572
572
  class: "show-more-btn",
573
573
  onClick: t[2] || (t[2] = (...r) => o.showMorePages && o.showMorePages(...r))
@@ -585,10 +585,10 @@ function Et(e, t, c, f, u, o) {
585
585
  fill: "none"
586
586
  })
587
587
  ], -1)),
588
- i(" " + l(e.$t("message.metadata.showXMore", { increment: o.remainingCount })), 1)
588
+ i(" " + a(e.$t("message.metadata.showXMore", { increment: o.remainingCount })), 1)
589
589
  ])) : g("", !0),
590
590
  t[51] || (t[51] = i()),
591
- o.showingAll || o.showingMoreThanInitial ? (a(), d("button", {
591
+ o.showingAll || o.showingMoreThanInitial ? (l(), d("button", {
592
592
  key: 1,
593
593
  class: m(["show-more-btn", { "ml-2": !o.showingAll }]),
594
594
  onClick: t[3] || (t[3] = (...r) => o.resetView && o.resetView(...r))
@@ -606,10 +606,10 @@ function Et(e, t, c, f, u, o) {
606
606
  fill: "none"
607
607
  })
608
608
  ], -1)),
609
- i(" " + l(e.$t("message.metadata.showLess")), 1)
609
+ i(" " + a(e.$t("message.metadata.showLess")), 1)
610
610
  ], 2)) : g("", !0),
611
611
  t[52] || (t[52] = i()),
612
- !o.showingAll && o.hasMorePages ? (a(), d("button", {
612
+ !o.showingAll && o.hasMorePages ? (l(), d("button", {
613
613
  key: 2,
614
614
  class: "show-all-btn ml-2",
615
615
  onClick: t[4] || (t[4] = (...r) => o.showAllPages && o.showAllPages(...r))
@@ -627,13 +627,13 @@ function Et(e, t, c, f, u, o) {
627
627
  fill: "none"
628
628
  })
629
629
  ], -1)),
630
- i(" " + l(e.$t("message.metadata.showAll")), 1)
630
+ i(" " + a(e.$t("message.metadata.showAll")), 1)
631
631
  ])) : g("", !0)
632
632
  ])) : g("", !0)
633
633
  ])) : g("", !0)
634
634
  ]);
635
635
  }
636
- const Xt = /* @__PURE__ */ N(S, [["render", Et], ["__scopeId", "data-v-62de4d25"]]);
636
+ const Xt = /* @__PURE__ */ N(S, [["render", Et], ["__scopeId", "data-v-6a59eb84"]]);
637
637
  export {
638
638
  Xt as default
639
639
  };
@@ -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 <!-- 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 <!-- 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 <!-- 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.pages.isVisible = true;\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":";;;;;;;;;AAwPA,MAAKA,IAAU;AAAA,EACb,MAAM;AAAA,EACN,YAAY;AAAA;AAAA,IAEV,SAAAC;AAAA,IACA,SAAAC;AAAA,EACD;AAAA,EACD,OAAO;AAAA,IACL,OAAO;AAAA,IACP,2BAA2B;AAAA,IAC3B,kCAAkC;AAAA,IAClC,WAAW;AAAA,EACZ;AAAA,EACD,OAAO;AACL,WAAO;AAAA,MACL,0BAA0B,CAAE;AAAA,MAC5B,eAAe,CAAE;AAAA,MACjB,eAAe,CAAE;AAAA,MACjB,cAAc;AAAA,MACd,eAAe;AAAA,MACf,qBAAqB;AAAA,MACrB,WAAW;AAAA;EAEd;AAAA,EACD,UAAU;AAAA,IACR,GAAGC,EAAW,kBAAkB;AAAA,MAC9B;AAAA,IACF,CAAC;AAAA,IACD,yBAAyB;AACvB,UAAI,CAAC,KAAK;AAAU,eAAO;AAE3B,UAAIC,IAAQ,CAAC,GAAG,KAAK,QAAQ;AAE7B,aAAI,KAAK,aACPA,EAAM,KAAK,CAACC,GAAGC,MAAM;AACnB,cAAMC,IAAS,KAAK,aAAaF,CAAC,EAAE,YAAW,GACzCG,IAAS,KAAK,aAAaF,CAAC,EAAE,YAAW;AAE/C,eAAI,KAAK,cAAc,QACdC,EAAO,cAAcC,CAAM,IAE3BA,EAAO,cAAcD,CAAM;AAAA,MAEtC,CAAC,GAGIH;AAAA,IACR;AAAA,IACD,eAAe;AACb,aAAK,KAAK,WACH,KAAK,uBAAuB,MAAM,GAAG,KAAK,YAAY,IADlC;IAE5B;AAAA,IACD,iBAAiB;AACf,aAAO,KAAK;AAAA,IACb;AAAA,IACD,yBAAyB;AACvB,aAAO,KAAK,eAAe,KAAK;AAAA,IACjC;AAAA,IACD,eAAe;AACb,aAAO,KAAK,0BAA0B,KAAK,uBAAuB,SAAS,KAAK;AAAA,IACjF;AAAA,IACD,aAAa;;AACX,aAAO,KAAK,kBAAgBK,IAAA,KAAK,2BAAL,gBAAAA,EAA6B;AAAA,IAC1D;AAAA,IACD,sBAAsB;AACpB,aAAO,KAAK;AAAA,IACb;AAAA,IACD,iBAAiB;AACf,aAAO,KAAK,SAAS,SAAS,KAAK;AAAA,IACpC;AAAA,IACD,iBAAiB;AACf,UAAI,CAAC,KAAK;AAAwB,eAAO;AACzC,YAAMC,IAAY,KAAK,uBAAuB,SAAS,KAAK;AAC5D,aAAO,KAAK,IAAIA,GAAW,KAAK,aAAa;AAAA,IAC/C;AAAA,EACD;AAAA,EACD,SAAS;AAAA,IACP,UAAAC;AAAA,IACA,kBAAkB;AAChB,MAAI,KAAK,cAAc,QACrB,KAAK,YAAY,SAEjB,KAAK,YAAY,OAEnB,KAAK,gBAAgB;IACtB;AAAA,IACD,sBAAsBC,GAAI;AACxB,YAAMC,IAAQ,KAAK,yBAAyB,QAAQD,CAAE;AACtD,MAAIC,IAAQ,KAAI,KAAK,yBAAyB,OAAOA,GAAO,CAAC,IACxD,KAAK,yBAAyB,KAAKD,CAAE;AAAA,IAC3C;AAAA,IACD,aAAa;AACX,WAAK,MAAM,YAAY,CAAC,KAAK,MAAM,WACnC,KAAK,aAAY;AAAA,IAClB;AAAA,IACD,gBAAgBC,GAAO;AACrB,YAAMC,IAAmB,CAAA;AAEzB,MAAK,KAAK,cAAcD,CAAK,MAC3BC,EAAiBD,CAAK,IAAI,KAG5B,KAAK,gBAAgBC,GAErB,KAAK,UAAU,MAAM;AACnB,aAAK,aAAY;AAAA,MACnB,CAAC;AAAA,IACF;AAAA,IACD,0BAA0BF,GAAI;AAC5B,aAAO,KAAK,yBAAyB,SAASA,CAAE;AAAA,IACjD;AAAA,IACD,4BAA4BG,GAAa;AACvC,aAAOC,EAAMD,CAAW,IAAI,KAAQA,EAAY,SAAS,KAAK,MAAM;AAAA,IACrE;AAAA,IACD,eAAeH,GAAI;AACjB,aAAO,KAAK,cAAc,SAASA,CAAE;AAAA,IACtC;AAAA,IACD,cAAcK,GAAM;AAClB,aAAOC,EAAID,GAAM,cAAc,KAAK,CAACD,EAAMC,EAAK,OAAO,KAAK,IAAIA,EAAK,OAAO,QAAQ;AAAA,IACrF;AAAA,IACD,oBAAoBA,GAAM;AACxB,aAAO,KAAK,cAAcA,CAAI,EAAE,SAAS;AAAA,IAC1C;AAAA,IACD,aAAaA,GAAM;AACjB,aAAOA,EAAK,QAAQE,EAAkBF,EAAK,OAAO,KAAK,OAAO,MAAM,QAAQ,KAAK,YAAY,IAAIN,EAASM,EAAK,UAAU,EAAE;AAAA,IAC5H;AAAA,IACD,mBAAmBA,GAAM;AACvB,aAAQC,EAAID,GAAM,aAAa,KAAK,CAACD,EAAMC,EAAK,WAAW,IAAKE,EAAkBF,EAAK,aAAa,KAAK,OAAO,MAAM,QAAQ,KAAK,YAAY,IAAI;AAAA,IACpJ;AAAA,IACD,gBAAgBA,GAAM;AACpB,aAAOC,EAAID,GAAM,UAAU,KAAK,CAACD,EAAMC,EAAK,QAAQ,IAAIA,EAAK,WAAYC,EAAID,GAAM,QAAQ,KAAK,CAACD,EAAMC,EAAK,MAAM,IAAIA,EAAK,SAAS;AAAA,IACrI;AAAA,IACD,WAAWG,GAAY;AACrB,UAAI,CAACA;AAAY,eAAO;AAExB,UAAI;AACF,cAAMC,IAAO,IAAI,KAAKD,CAAU;AAChC,eAAI,MAAMC,EAAK,QAAO,CAAE,IAAUD,IAE3BC,EAAK,mBAAmB,SAAS;AAAA,UACtC,KAAK;AAAA,UACL,OAAO;AAAA,UACP,MAAM;AAAA,QACR,CAAC;AAAA,MACD,SAAOC,GAAO;AACd,uBAAQ,KAAK,0BAA0BF,GAAYE,CAAK,GACjDF;AAAA,MACT;AAAA,IACD;AAAA,IACD,gBAAgB;AACd,WAAK,eAAe,KAAK;AAAA,QACvB,KAAK,eAAe,KAAK;AAAA,QACzB,KAAK,uBAAuB;AAAA;IAE/B;AAAA,IACD,eAAe;AACb,WAAK,eAAe,KAAK,uBAAuB;AAAA,IACjD;AAAA,IACD,YAAY;;AACV,WAAK,eAAe,KAAK,sBACzBX,IAAA,KAAK,IAAI,cAAc,aAAa,MAApC,QAAAA,EAAuC,eAAe;AAAA,QACpD,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACD;AAAA,IACD,eAAe;AACb,MAAI,OAAOc,IAAM,QACfA,EAAE,UAAU,EAAE,UACdA,EAAE,yBAAyB,EAAE,QAAQ,SAAS,GAE9C,KAAK,UAAU,MAAM;AACnB,QAAAA,EAAE,yBAAyB,EAAE,QAAQ;AAAA,UACnC,WAAW;AAAA,UACX,MAAM;AAAA,QACR,CAAC;AAAA,MACH,CAAC;AAAA,IAEL;AAAA,EACD;AAAA,EACD,UAAU;AACR,SAAK,MAAM,YAAY,IACvB,KAAK,aAAY;AAAA,EAClB;AAAA,EACD,UAAU;AACR,SAAK,aAAY;AAAA,EAClB;AAAA,EACD,gBAAgB;AACd,IAAI,OAAOA,IAAM,QACfA,EAAE,UAAU,EAAE,UACdA,EAAE,yBAAyB,EAAE,QAAQ,SAAS;AAAA,EAElD;AACF,GAvbOC,IAAA,EAAA,OAAM,sCAAqC,mBASvCC,IAAA,EAAA,OAAM,sCAAqC,uBAGvCC,IAAA,EAAA,OAAM,cAAa;EAWvB,OAAM;AAAA,EAAkD,WAAQ;GAC9DC,IAAA,EAAA,OAAM,gBAAe,GACnBC,IAAA,EAAA,OAAM,aAAY,GAEhBC,IAAA,EAAA,OAAM,cAAa,GACjBC,IAAA,EAAA,OAAM,qBAAoB,uBAGtBC,IAAA,EAAA,OAAM,cAAa,GAUvBC,IAAA,EAAA,OAAM,sBAAqB,GAC3BC,IAAA,EAAA,OAAM,oBAAmB,GACzBC,IAAA,EAAA,OAAM,uBAAsB,GAI5BC,IAAA,EAAA,OAAM,uBAAsB,GAC1BC,IAAA,EAAA,OAAM,qBAAoB,GACxBC,KAAA,EAAA,OAAM,mBAAkB,0EAUrBC,KAAA,EAAA,OAAM,iBAAgB,GAO3BC,KAAA,EAAA,OAAM,sBAAqB,oDAW3BC,KAAA,EAAA,OAAM,oBAAmB,GAGzBC,KAAA,EAAA,OAAM,uBAAsB,mCAmB5BC,KAAA,EAAA,OAAM,mBAAkB,GACvBC,KAAA,EAAA,OAAM,eAAc;;EA2BiB,OAAM;GAC9CC,KAAA,EAAA,OAAM,uCAAsC;;EAO/B,OAAM;GAI3BC,KAAA,EAAA,OAAM,wBAAuB,qBAKvBC,KAAA,EAAA,OAAM,qBAAoB,GACzBC,KAAA,EAAA,OAAM,aAAY,GACjBC,KAAA,EAAA,OAAM,YAAW,GACdC,KAAA,EAAA,OAAM,wBAAuB,GAC7BC,KAAA,EAAA,OAAM,OAAM,GASnBC,KAAA,EAAA,OAAM,eAAc;;EAkBQ,OAAM;GAChCC,KAAA,EAAA,OAAM,mBAAkB,GACvBC,KAAA,EAAA,OAAM,eAAc;;EA0BiB,OAAM;GAC9CC,KAAA,EAAA,OAAM,yBAAwB;;EAMY,OAAM;;;;AAlN7D,SAAAC,EAAA,GAAAC,EAyOM,OAzONhC,GAyOM;AAAA,IAxOJiC,EAKEC,GAAA;AAAA,MAJC,OAAK,GAAKC,KAA0C,iCAAA,CAAA,KAAAA,EAAA,WAAWA,EAAQ,SAAC,OAAO,eAAc,IAAA,IAAA,CAAA;AAAA,MAC7F,WAAS,CAAGC,EAAK,MAAC;AAAA,MACnB,KAAI;AAAA,MACH,SAASC,EAAU;AAAA;;IAEXD,EAAA,MAAM,kBAAjBJ,EAiOM,OAAAM,GAAA;AAAA,MA/NJC,EAYM,OAZNtC,GAYM;AAAA,QAXJsC,EAUS,UAAA;AAAA,UAVD,OAAM;AAAA,UAAe,mCAAOF,EAAe,mBAAAA,EAAA,gBAAA,GAAAG,CAAA;AAAA,UAAG,cAAYL,EAAE,GAAA,wBAAA,IAAA;AAAA;4BAA2C;AAAA;AAAA,aAE7G,EAAA;AAAA,UAAAI,EAOM,OAPNrC,GAOM;AAAA,kBANJ8B,EAEM,OAAA;AAAA,cAFD,OAAKS,EAAA,CAAC,4BAA0B,EAAA,QAAmBC,EAAS,cAAA,MAAA,CAAA,CAAA;AAAA,cAAc,OAAM;AAAA,cAAK,QAAO;AAAA,cAAI,SAAQ;AAAA;cAC3GH,EAAiD,QAAA;AAAA,gBAA3C,GAAE;AAAA,gBAAmB,MAAK;AAAA;;;kBAElCP,EAEM,OAAA;AAAA,cAFD,OAAKS,EAAA,CAAC,8BAA4B,EAAA,QAAmBC,EAAS,cAAA,OAAA,CAAA,CAAA;AAAA,cAAe,OAAM;AAAA,cAAK,QAAO;AAAA,cAAI,SAAQ;AAAA;cAC9GH,EAAiD,QAAA;AAAA,gBAA3C,GAAE;AAAA,gBAAmB,MAAK;AAAA;;;;;;MAMxCA,EAiHM,OAjHNI,GAiHM;AAAA,QAhHJJ,EA6GM,OA7GNpC,GA6GM;AAAA,UA5GJoC,EA2GM,OA3GNnC,GA2GM;AAAA,YAzGJmC,EAiBM,OAjBNlC,GAiBM;AAAA,cAhBJkC,EAYM,OAZNjC,GAYM;AAAA,gBAXJiC,EAUS,UAAA;AAAA,kBAVD,OAAM;AAAA,kBAAe,mCAAOF,EAAe,mBAAAA,EAAA,gBAAA,GAAAG,CAAA;AAAA,kBAAG,cAAYL,EAAE,GAAA,wBAAA,IAAA;AAAA;kBAC/DS,EAAAC,EAAAV,EAAA,gCAA+B,KAClC,CAAA;AAAA,kBAAAI,EAOM,OAPNhC,GAOM;AAAA,0BANJyB,EAEM,OAAA;AAAA,sBAFD,OAAKS,EAAA,CAAC,4BAA0B,EAAA,QAAmBC,EAAS,cAAA,MAAA,CAAA,CAAA;AAAA,sBAAc,OAAM;AAAA,sBAAK,QAAO;AAAA,sBAAI,SAAQ;AAAA;sBAC3GH,EAAiD,QAAA;AAAA,wBAA3C,GAAE;AAAA,wBAAmB,MAAK;AAAA;;;0BAElCP,EAEM,OAAA;AAAA,sBAFD,OAAKS,EAAA,CAAC,8BAA4B,EAAA,QAAmBC,EAAS,cAAA,OAAA,CAAA,CAAA;AAAA,sBAAe,OAAM;AAAA,sBAAK,QAAO;AAAA,sBAAI,SAAQ;AAAA;sBAC9GH,EAAiD,QAAA;AAAA,wBAA3C,GAAE;AAAA,wBAAmB,MAAK;AAAA;;;;;;cAKxCA,EAA0E,OAA1E/B,GAA0EqC,EAAtCV,EAAE,GAAA,yBAAA,CAAA,GAAA,CAAA;AAAA;cACtCI,EAAyE,OAAzE9B,GAAyEoC,EAAvCV,EAAE,GAAA,0BAAA,CAAA,GAAA,CAAA;AAAA;cACpCI,EAAmF,OAAnF7B,GAAmFmC,EAA9CV,EAAE,GAAA,iCAAA,CAAA,GAAA,CAAA;AAAA;;aAGzCJ,EAAA,EAAA,GAAAC,EA8EMc,GA9EuB,MAAAC,EAAAV,EAAA,cAAhB,CAAA5C,GAAMJ,YAAnB2C,EA8EM,OAAA;AAAA,cA9EsC,KAAK3C;AAAA,cAAO,OAAMoD,EAAA,CAAA,aAAwC,EAAA,kBAAAC,EAAA,cAAcrD,CAAK,EAAA,CAAA,CAAA;AAAA;cACvHkD,EA4CM,OA5CN5B,GA4CM;AAAA,gBA3CJ4B,EAiBM,OAjBN3B,GAiBM;AAAA,kBAhBJ2B,EAeM,OAfN1B,IAeM;AAAA,oBAdJ0B,EAaS,UAAA;AAAA,sBAZN,wBAAwBlD,CAAK;AAAA,sBAC9B,OAAM;AAAA,sBACL,iBAAeqD,EAAa,cAACrD,CAAK,KAAA;AAAA,sBAClC,sCAAoCA,CAAK;AAAA,sBAC1C,MAAK;AAAA,sBACJ,SAAK,CAAA2D,MAAEX,EAAe,gBAAChD,CAAK;AAAA,sBAC5B,WAAO;AAAA,wBAAQ4D,EAAA,CAAAD,MAAAX,EAAA,gBAAgBhD,CAAK,GAAA,CAAA,OAAA,CAAA;AAAA,wBACb4D,EAAAC,EAAA,CAAAF,MAAAX,EAAA,gBAAgBhD,CAAK,GAAA,CAAA,SAAA,CAAA,GAAA,CAAA,OAAA,CAAA;AAAA;;sBAC7CkD,EAAwD,MAAxDzB,IAA8B+B,EAAAR,EAAA,aAAa5C,CAAI,CAAA,GAAA,CAAA;AAAA;4BAC/CuC,EAEM,OAAA;AAAA,wBAFA,OAAKS,EAAA,mBAAqBC,EAAa,cAACrD,CAAK,IAAA,YAAA,EAAA,EAAA;AAAA,wBAAsB,OAAM;AAAA,wBAAK,QAAO;AAAA,wBAAK,SAAQ;AAAA,wBAAY,eAAY;AAAA;wBAC9HkD,EAA4E,QAAA;AAAA,0BAAtE,GAAE;AAAA,0BAAe,QAAO;AAAA,0BAAe,gBAAa;AAAA,0BAAI,MAAK;AAAA;;;;;;gBAK3EA,EAUM,OAVNxB,IAUM;AAAA,kBATYtB,EAAK,eAApB0D,EAEUC,GAAA;AAAA;oBAFkB,OAAM;AAAA,oBAAgB,OAAO3D,EAAK;AAAA,oBAC9D,MAAMA,EAAK,OAAO;AAAA,0DAEnBuC,EAKO,QAAA;AAAA;oBALM,OAAM;AAAA,oBACZ,eAAaK,EAAmB,oBAAC5C,CAAI,IAAA,YAAA;AAAA,oBACrC,kBAAgB4C,EAAmB,oBAAC5C,CAAI,IAAA,QAAA;AAAA,oBACxC,OAAO4C,EAAmB,oBAAC5C,CAAI,IAAI4C,EAAA,cAAc5C,CAAI,IAAA;AAAA,uBACvD4C,EAAQ,SAACA,EAAa,cAAC5C,CAAI,GAAA,IAAA,EAAA,CAAA,GAAA,GAAA4D,EAAA;AAAA;;gBAGlCd,EAEM,OAFNvB,IAEM6B,EADDR,aAAWA,EAAA,gBAAgB5C,CAAI,CAAA,CAAA,GAAA,CAAA;AAAA;gBAEpC8C,EAUM,OAVNtB,IAUM;AAAA,kBATJgB,EAQWqB,GAAA;AAAA,oBAPT,OAAM;AAAA,oBACL,IAAI7D,EAAK;AAAA,oBACV,QAAO;AAAA,oBACP,KAAI;AAAA,oBACJ,yBAAA;AAAA,oBACC,cAAa2C,EAAS;AAAA;+BACvB,MAAyC;AAAA,0BAAtCD,EAAE,GAAA,+BAAA,CAAA,GAAA,CAAA;AAAA;;;;;;cAMAO,EAAA,cAAcrD,CAAK,UAA9B2C,EA6BM,OAAA;AAAA;gBA5BA,yBAAyB3C,CAAK;AAAA,gBAC9B,uCAAqCA,CAAK;AAAA,gBAC3C,OAAM;AAAA,gBACN,MAAK;AAAA;gBACRkD,EAuBM,OAvBNrB,IAuBM;AAAA,kBAtBJqB,EAqBK,MArBLpB,IAqBK;AAAA,oBApBOkB,EAAA,mBAAmB5C,CAAI,KAAjCsC,KAAAC,EAAiF,YAA1CG,EAAE,GAAA,8BAAA,CAAA,GAAA,CAAA;;oBAC/BE,EAAA,mBAAmB5C,CAAI,UAAjCuC,EAAuE,MAAAuB,IAAAV,EAAhCR,EAAkB,mBAAC5C,CAAI,CAAA,GAAA,CAAA;;oBAE9D8C,EAA4C,cAArCJ,EAAE,GAAA,yBAAA,CAAA,GAAA,CAAA;AAAA;oBACTI,EAAkC,MAAA,MAAAM,EAA3BR,EAAa,cAAC5C,CAAI,CAAA,GAAA,CAAA;AAAA;oBAEf4C,EAAA,gBAAgB5C,CAAI,KAA9BsC,KAAAC,EAA0E,YAAtCG,EAAE,GAAA,0BAAA,CAAA,GAAA,CAAA;;oBAC5BE,EAAA,gBAAgB5C,CAAI,KAA9BsC,EAAA,GAAAC,EAA6E,MAAzCwB,IAAAX,EAAAR,EAAA,WAAWA,EAAA,gBAAgB5C,CAAI,CAAA,CAAA,GAAA,CAAA;;oBAEnE8C,EAA+C,cAAxCJ,EAAE,GAAA,4BAAA,CAAA,GAAA,CAAA;AAAA;oBACTI,EASK,MAAA,MAAA;AAAA,sBARHA,EAOI,KAAA;AAAA,wBAPA,MAAM9C,EAAK;AAAA,wBAAU,QAAO;AAAA,wBAAS,KAAI;AAAA;wBACvCmD,EAAAC,GAAApD,EAAK,YAAgB,IAAA,4BAA2B,KACpD,CAAA;AAAA,0CAAA8C,EAIM,OAAA;AAAA,0BAJD,OAAM;AAAA,0BAAqB,OAAM;AAAA,0BAAK,QAAO;AAAA,0BAAK,SAAQ;AAAA,0BAAY,MAAK;AAAA;0BAC9EA,EAA4G,QAAA;AAAA,4BAAtG,GAAE;AAAA,4BAA2D,QAAO;AAAA,4BAAe,gBAAa;AAAA;;0BACtGA,EAA2E,YAAA;AAAA,4BAAjE,QAAO;AAAA,4BAAiB,QAAO;AAAA,4BAAe,gBAAa;AAAA;;0BACrEA,EAA8E,QAAA;AAAA,4BAAxE,IAAG;AAAA,4BAAK,IAAG;AAAA,4BAAK,IAAG;AAAA,4BAAK,IAAG;AAAA,4BAAI,QAAO;AAAA,4BAAe,gBAAa;AAAA;;;;;;;;;aAU1EJ,EAAQ,YAAIA,EAAQ,SAAC,WAAM,KAAvCJ,KAAAC,EAIM,OAJNyB,IAIM;AAAA,cAHJlB,EAEM,OAFNnB,IAEMyB,EADDV,EAAE,GAAA,4CAAA,CAAA,GAAA,CAAA;AAAA;;;;QAMDE,EAAU,0BAAtBN,KAAAC,EAAmD,OAAnD0B,EAAmD;AAAA;;MAIrDnB,EAqEM,OArENlB,IAqEM;AAAA,SApEJU,EAAA,EAAA,GAAAC,EA6DMc,GA7DuB,MAAAC,EAAAV,EAAA,cAAhB,CAAA5C,GAAMJ,YAAnB2C,EA6DM,OAAA;AAAA,UA7DsC,KAAK3C;AAAA,UAAO,OAAMoD,EAAA,CAAA,aAAkC,EAAA,UAAAC,EAAA,cAAcrD,CAAK,EAAA,CAAA,CAAA;AAAA;UAGjHkD,EAWM,OAAA;AAAA,YAXD,OAAM;AAAA,YAAe,SAAK,CAAAS,MAAEX,EAAe,gBAAChD,CAAK;AAAA;YACpDkD,EAMM,OANNjB,IAMM;AAAA,cALJiB,EAAoD,MAApDhB,IAA0BsB,EAAAR,EAAA,aAAa5C,CAAI,CAAA,GAAA,CAAA;AAAA;cAC3C8C,EAGM,OAHNf,IAGM;AAAA,gBAFJe,EAAwF,QAAxFd,IAAwFoB,EAAjDR,WAASA,EAAA,cAAc5C,CAAI,GAAA,IAAA,EAAA,CAAA,GAAA,CAAA;AAAA;gBAClE8C,EAAiE,QAAjEb,IAAiEmB,EAA3CR,aAAWA,EAAA,gBAAgB5C,CAAI,CAAA,CAAA,GAAA,CAAA;AAAA;;;kBAGzDuC,EAEM,OAAA;AAAA,cAFD,OAAMS,EAAA,CAAA,mBAAuC,EAAA,SAAAC,EAAA,cAAcrD,CAAK,EAAA,CAAA,CAAA;AAAA,cAAK,OAAM;AAAA,cAAK,QAAO;AAAA,cAAK,SAAQ;AAAA,cAAY,eAAY;AAAA;cAC/HkD,EAA4E,QAAA;AAAA,gBAAtE,GAAE;AAAA,gBAAe,QAAO;AAAA,gBAAe,gBAAa;AAAA,gBAAI,MAAK;AAAA;;;;UAKvEA,EAeM,OAfNZ,IAeM;AAAA,YAdJM,EAaWqB,GAAA;AAAA,cAZT,OAAM;AAAA,cACL,IAAI7D,EAAK;AAAA,cACV,QAAO;AAAA,cACP,KAAI;AAAA,cACJ,yBAAA;AAAA,cACC,cAAa2C,EAAS;AAAA;yBACvB,MAIM;AAAA,kCAJNG,EAIM,OAAA;AAAA,kBAJD,OAAM;AAAA,kBAAW,OAAM;AAAA,kBAAK,QAAO;AAAA,kBAAK,SAAQ;AAAA,kBAAY,MAAK;AAAA;kBACpEA,EAA4G,QAAA;AAAA,oBAAtG,GAAE;AAAA,oBAA2D,QAAO;AAAA,oBAAe,gBAAa;AAAA;;kBACtGA,EAA2E,YAAA;AAAA,oBAAjE,QAAO;AAAA,oBAAiB,QAAO;AAAA,oBAAe,gBAAa;AAAA;;kBACrEA,EAA8E,QAAA;AAAA,oBAAxE,IAAG;AAAA,oBAAK,IAAG;AAAA,oBAAK,IAAG;AAAA,oBAAK,IAAG;AAAA,oBAAI,QAAO;AAAA,oBAAe,gBAAa;AAAA;;gBACpEK,EAAA,QACHT,EAAE,GAAA,+BAAA,CAAA,GAAA,CAAA;AAAA;;;;;UAKEO,EAAA,cAAcrD,CAAK,KAA9B0C,KAAAC,EAyBM,OAzBN2B,IAyBM;AAAA,YAxBJpB,EAuBM,OAvBNX,IAuBM;AAAA,cAtBJW,EAqBK,MArBLV,IAqBK;AAAA,gBApBOQ,EAAA,mBAAmB5C,CAAI,KAAjCsC,KAAAC,EAAiF,YAA1CG,EAAE,GAAA,8BAAA,CAAA,GAAA,CAAA;;gBAC/BE,EAAA,mBAAmB5C,CAAI,UAAjCuC,EAAuE,MAAA4B,IAAAf,EAAhCR,EAAkB,mBAAC5C,CAAI,CAAA,GAAA,CAAA;;gBAE9D8C,EAA4C,cAArCJ,EAAE,GAAA,yBAAA,CAAA,GAAA,CAAA;AAAA;gBACTI,EAAkC,MAAA,MAAAM,EAA3BR,EAAa,cAAC5C,CAAI,CAAA,GAAA,CAAA;AAAA;gBAEf4C,EAAA,gBAAgB5C,CAAI,KAA9BsC,KAAAC,EAA0E,YAAtCG,EAAE,GAAA,0BAAA,CAAA,GAAA,CAAA;;gBAC5BE,EAAA,gBAAgB5C,CAAI,KAA9BsC,EAAA,GAAAC,EAA6E,MAAzC6B,IAAAhB,EAAAR,EAAA,WAAWA,EAAA,gBAAgB5C,CAAI,CAAA,CAAA,GAAA,CAAA;;gBAEnE8C,EAA+C,cAAxCJ,EAAE,GAAA,4BAAA,CAAA,GAAA,CAAA;AAAA;gBACTI,EASK,MAAA,MAAA;AAAA,kBARHA,EAOI,KAAA;AAAA,oBAPA,MAAM9C,EAAK;AAAA,oBAAU,QAAO;AAAA,oBAAS,KAAI;AAAA;oBACvCmD,EAAAC,GAAApD,EAAK,YAAgB,IAAA,4BAA2B,KACpD,CAAA;AAAA,sCAAA8C,EAIM,OAAA;AAAA,sBAJD,OAAM;AAAA,sBAAqB,OAAM;AAAA,sBAAK,QAAO;AAAA,sBAAK,SAAQ;AAAA,sBAAY,MAAK;AAAA;sBAC9EA,EAA4G,QAAA;AAAA,wBAAtG,GAAE;AAAA,wBAA2D,QAAO;AAAA,wBAAe,gBAAa;AAAA;;sBACtGA,EAA2E,YAAA;AAAA,wBAAjE,QAAO;AAAA,wBAAiB,QAAO;AAAA,wBAAe,gBAAa;AAAA;;sBACrEA,EAA8E,QAAA;AAAA,wBAAxE,IAAG;AAAA,wBAAK,IAAG;AAAA,wBAAK,IAAG;AAAA,wBAAK,IAAG;AAAA,wBAAI,QAAO;AAAA,wBAAe,gBAAa;AAAA;;;;;;;;;SAS1EJ,EAAQ,YAAIA,EAAQ,SAAC,WAAM,KAAvCJ,KAAAC,EAIM,OAJN8B,IAIM;AAAA,UAHJvB,EAEM,OAFNT,IAEMe,EADDV,EAAE,GAAA,4CAAA,CAAA,GAAA,CAAA;AAAA;;;MAKAE,EAAA,gBAAgBA,EAAsB,0BAAjDN,KAAAC,EAqBM,OArBN+B,IAqBM;AAAA,QApBW,CAAA1B,EAAA,cAAcA,EAAY,qBAAzCL,EAKS,UAAA;AAAA;UALkC,OAAM;AAAA,UAAiB,mCAAOK,EAAa,iBAAAA,EAAA,cAAA,GAAAG,CAAA;AAAA;4BACpFD,EAEM,OAAA;AAAA,YAFD,OAAM;AAAA,YAAa,OAAM;AAAA,YAAK,QAAO;AAAA,YAAK,SAAQ;AAAA;YACrDA,EAA4E,QAAA;AAAA,cAAtE,GAAE;AAAA,cAAe,QAAO;AAAA,cAAe,gBAAa;AAAA,cAAI,MAAK;AAAA;;YAC/D,MACNM,EAAGV,EAAE,GAAA,8BAAA,EAAA,WAA4CE,EAAc,gBAAA,CAAA,GAAA,CAAA;AAAA;;QAGnDA,EAAA,cAAcA,EAAsB,+BAAlDL,EAKS,UAAA;AAAA;UAL2C,OAAKS,EAAA,CAAC,iBAAe,EAAA,QAAA,CAAoBJ,EAAU,WAAA,CAAA,CAAA;AAAA,UAAK,mCAAOA,EAAS,aAAAA,EAAA,UAAA,GAAAG,CAAA;AAAA;4BAC1HD,EAEM,OAAA;AAAA,YAFD,OAAM;AAAA,YAAqB,OAAM;AAAA,YAAK,QAAO;AAAA,YAAK,SAAQ;AAAA;YAC7DA,EAA4E,QAAA;AAAA,cAAtE,GAAE;AAAA,cAAe,QAAO;AAAA,cAAe,gBAAa;AAAA,cAAI,MAAK;AAAA;;UAC/DK,EAAA,QACHT,EAAE,GAAA,2BAAA,CAAA,GAAA,CAAA;AAAA;;QAGQ,CAAAE,EAAA,cAAcA,EAAY,qBAAzCL,EAKS,UAAA;AAAA;UALkC,OAAM;AAAA,UAAqB,mCAAOK,EAAY,gBAAAA,EAAA,aAAA,GAAAG,CAAA;AAAA;4BACvFD,EAEM,OAAA;AAAA,YAFD,OAAM;AAAA,YAAa,OAAM;AAAA,YAAK,QAAO;AAAA,YAAK,SAAQ;AAAA;YACrDA,EAA4E,QAAA;AAAA,cAAtE,GAAE;AAAA,cAAe,QAAO;AAAA,cAAe,gBAAa;AAAA,cAAI,MAAK;AAAA;;UAC/DK,EAAA,QACHT,EAAE,GAAA,0BAAA,CAAA,GAAA,CAAA;AAAA;;;;;;"}
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 <!-- 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 <!-- 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 <!-- 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.pages.isVisible = true;\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\n/* Add near the mobile card styles */\n.pages-cards {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: 100%;\n min-width: 0;\n}\n\n.page-card {\n width: 100%;\n min-width: 0;\n max-width: 100%;\n box-sizing: border-box;\n}\n\n/* Important: override the global .page-title nowrap for card titles */\n.page-card .page-title {\n white-space: normal;\n overflow-wrap: anywhere;\n word-break: break-word;\n}\n\n/* Keep header content shrinkable in flex layout */\n.card-header,\n.card-title-section {\n min-width: 0;\n width: 100%;\n}\n\n/* Optional but recommended: prevent button row overflow on tiny screens */\n@media (max-width: 767.98px) {\n .show-all-container {\n flex-wrap: wrap;\n }\n}\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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"}