@gov-cy/govcy-frontend-renderer 1.17.2 → 1.18.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -79,6 +79,66 @@ const inputData =
79
79
  {"label": {"en":"Accessibility", "el":"Προσβασιμότητα"}, "href": "#"},
80
80
  {"label": {"en":"Help us improve this service", "el":"Βοηθήστε μας να βελτιώσουμε αυτή την υπηρεσία"}, "href": "#"}
81
81
  ],
82
+ "footerIcons": [
83
+ {
84
+ "src": {
85
+ "en": "https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/seals/ssv-certificate-verification-info.svg",
86
+ "el": "https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/seals/ssv-certificate-verification-info.svg"
87
+ },
88
+ "alt": {
89
+ "en": "Service Standard Verified seal",
90
+ "el": "Σφραγίδα Πιστοποίησης Υπηρεσίας"
91
+ },
92
+ "href": {
93
+ "en": "https://dsf.dmrid.gov.cy/2022/11/15/update-my-details/",
94
+ "el": "https://dsf.dmrid.gov.cy/2022/11/15/update-my-details/"
95
+ },
96
+ "style": {
97
+ "en": "content: url(https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/seals/ssv-certificate-verification-info.svg) !important;aspect-ratio: auto;height: 53px !important;",
98
+ "el": "content: url(https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/seals/ssv-certificate-verification-info.svg) !important;aspect-ratio: auto;height: 53px !important;"
99
+ },
100
+ "target": "_blank",
101
+ "classes": "govcy-mr-3"
102
+ },
103
+ {
104
+ "src": {
105
+ "en": "https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/FundedbyEU_NextGeneration_H53-EN.png",
106
+ "el": "https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/FundedbyEU_NextGeneration_H53-EL.png"
107
+ },
108
+ "alt": {
109
+ "en": "Funded by the EU Next Generation EU",
110
+ "el": "Χρηματοδοτείται από την ΕΕ Next Generation EU"
111
+ },
112
+ "href": {
113
+ "en": "https://europa.eu/",
114
+ "el": "https://europa.eu/"
115
+ },
116
+ "title": {
117
+ "en": "Go to EU website",
118
+ "el": "Μετάβαση στην ιστοσελίδα της ΕΕ"
119
+ },
120
+ "target": "_blank"
121
+ },
122
+ {
123
+ "src": {
124
+ "en": "https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/CYpros%20to%20aurio%20logo%20eng_H53_EN.png",
125
+ "el": "https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/CYpros%20to%20aurio%20logo%20eng_H53_EL.png"
126
+ },
127
+ "alt": {
128
+ "en": "Cyprus tomorrow, recovery and resilience plan",
129
+ "el": "Κύπρος το Αύριο, σχέδιο ανάκαμψης και ανθεντικότητας"
130
+ },
131
+ "href": {
132
+ "en": "http://www.cyprus-tomorrow.gov.cy/",
133
+ "el": "http://www.cyprus-tomorrow.gov.cy/"
134
+ },
135
+ "title": {
136
+ "en": "Go to Cyprus Tomorrow website",
137
+ "el": "Μετάβαση στην ιστοσελίδα Κύπρος το Αύριο"
138
+ },
139
+ "target": "_blank"
140
+ }
141
+ ],
82
142
  "copyrightText" : {"en":"Republic of Cyprus, 2025", "el":"Κυπριακή Δημοκρατία, 2025"},
83
143
  "menu" : {"en":"Menu", "el":"Μενου"},
84
144
  "title" : {"en":"Service title", "el":"Τιτλός υπηρεσίας"},
@@ -174,6 +234,66 @@ const inputData =
174
234
  {"label": {"en":"Accessibility", "el":"Προσβασιμότητα"}, "href": "#"},
175
235
  {"label": {"en":"Help us improve this service", "el":"Βοηθήστε μας να βελτιώσουμε αυτή την υπηρεσία"}, "href": "#"}
176
236
  ],
237
+ "footerIcons": [
238
+ {
239
+ "src": {
240
+ "en": "https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/seals/ssv-certificate-verification-info.svg",
241
+ "el": "https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/seals/ssv-certificate-verification-info.svg"
242
+ },
243
+ "alt": {
244
+ "en": "Service Standard Verified seal",
245
+ "el": "Σφραγίδα Πιστοποίησης Υπηρεσίας"
246
+ },
247
+ "href": {
248
+ "en": "https://dsf.dmrid.gov.cy/2022/11/15/update-my-details/",
249
+ "el": "https://dsf.dmrid.gov.cy/2022/11/15/update-my-details/"
250
+ },
251
+ "style": {
252
+ "en": "content: url(https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/seals/ssv-certificate-verification-info.svg) !important;aspect-ratio: auto;height: 53px !important;",
253
+ "el": "content: url(https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/seals/ssv-certificate-verification-info.svg) !important;aspect-ratio: auto;height: 53px !important;"
254
+ },
255
+ "target": "_blank",
256
+ "classes": "govcy-mr-3"
257
+ },
258
+ {
259
+ "src": {
260
+ "en": "https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/FundedbyEU_NextGeneration_H53-EN.png",
261
+ "el": "https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/FundedbyEU_NextGeneration_H53-EL.png"
262
+ },
263
+ "alt": {
264
+ "en": "Funded by the EU Next Generation EU",
265
+ "el": "Χρηματοδοτείται από την ΕΕ Next Generation EU"
266
+ },
267
+ "href": {
268
+ "en": "https://europa.eu/",
269
+ "el": "https://europa.eu/"
270
+ },
271
+ "title": {
272
+ "en": "Go to EU website",
273
+ "el": "Μετάβαση στην ιστοσελίδα της ΕΕ"
274
+ },
275
+ "target": "_blank"
276
+ },
277
+ {
278
+ "src": {
279
+ "en": "https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/CYpros%20to%20aurio%20logo%20eng_H53_EN.png",
280
+ "el": "https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/CYpros%20to%20aurio%20logo%20eng_H53_EL.png"
281
+ },
282
+ "alt": {
283
+ "en": "Cyprus tomorrow, recovery and resilience plan",
284
+ "el": "Κύπρος το Αύριο, σχέδιο ανάκαμψης και ανθεντικότητας"
285
+ },
286
+ "href": {
287
+ "en": "http://www.cyprus-tomorrow.gov.cy/",
288
+ "el": "http://www.cyprus-tomorrow.gov.cy/"
289
+ },
290
+ "title": {
291
+ "en": "Go to Cyprus Tomorrow website",
292
+ "el": "Μετάβαση στην ιστοσελίδα Κύπρος το Αύριο"
293
+ },
294
+ "target": "_blank"
295
+ }
296
+ ],
177
297
  "copyrightText" : {"en":"Republic of Cyprus, 2025", "el":"Κυπριακή Δημοκρατία, 2025"},
178
298
  "menu" : {"en":"Menu", "el":"Μενου"},
179
299
  "title" : {"en":"Service title", "el":"Τιτλός υπηρεσίας"},
@@ -317,6 +437,7 @@ The `inputData` object has the following structure:
317
437
  - **site.lang**: the language of the site. It is used both in the `<html lang` attribute and to define the default language to be used by the individual design elements defined in the template.
318
438
  - **site.languages**: the languages in the language menu.
319
439
  - **site.footerLinks**: the links of the footer.
440
+ - **site.footerIcons**: the icons with links of the footer.
320
441
  - **site.copyrightText**: the text of the copyright in the footer, including the year.
321
442
  - **site.menu**: the menu label.
322
443
  - **site.title**: the title of the site. It is used in the `<title>`, `<meta property="og:title"` and `<meta property="twitter:title"` tags of the head.
@@ -2503,7 +2503,16 @@ context.setVariable("errorId", t_27);
2503
2503
  if(frame.topLevel) {
2504
2504
  context.addExport("errorId", t_27);
2505
2505
  }
2506
- t_2 += runtime.suppressValue((lineno = 27, colno = 23, runtime.callWrap(t_11, "formControl", context, [{"isError": (runtime.memberLookup((l_params),"hideFormControlError")?false:runtime.memberLookup((l_params),"error")),"classes": runtime.memberLookup((l_params),"classe"),"lang": runtime.memberLookup((l_params),"langs")},runtime.makeKeywordArgs({"caller": (function (){var macro_t_28 = runtime.makeMacro(
2506
+ var t_28;
2507
+ t_28 = env.getFilter("join").call(context, [runtime.memberLookup((l_params),"id"),"-input-control"]);
2508
+ frame.set("controlId", t_28, true);
2509
+ if(frame.topLevel) {
2510
+ context.setVariable("controlId", t_28);
2511
+ }
2512
+ if(frame.topLevel) {
2513
+ context.addExport("controlId", t_28);
2514
+ }
2515
+ t_2 += runtime.suppressValue((lineno = 28, colno = 23, runtime.callWrap(t_11, "formControl", context, [{"id": runtime.contextOrFrameLookup(context, frame, "controlId"),"isError": (runtime.memberLookup((l_params),"hideFormControlError")?false:runtime.memberLookup((l_params),"error")),"classes": runtime.memberLookup((l_params),"classe"),"lang": runtime.memberLookup((l_params),"langs")},runtime.makeKeywordArgs({"caller": (function (){var macro_t_29 = runtime.makeMacro(
2507
2516
  [],
2508
2517
  [],
2509
2518
  function (kwargs) {
@@ -2512,7 +2521,7 @@ frame = frame.push(true);
2512
2521
  kwargs = kwargs || {};
2513
2522
  if (Object.prototype.hasOwnProperty.call(kwargs, "caller")) {
2514
2523
  frame.set("caller", kwargs.caller); }
2515
- var t_29 = "";t_29 += runtime.suppressValue((lineno = 29, colno = 21, runtime.callWrap(t_19, "label", context, [{"label": runtime.memberLookup((l_params),"label"),"id": runtime.contextOrFrameLookup(context, frame, "labelId"),"for": runtime.memberLookup((l_params),"id"),"isPageHeading": runtime.contextOrFrameLookup(context, frame, "isPageHeading"),"lang": runtime.memberLookup((l_params),"lang")},runtime.makeKeywordArgs({"caller": (function (){var macro_t_30 = runtime.makeMacro(
2524
+ var t_30 = "";t_30 += runtime.suppressValue((lineno = 30, colno = 21, runtime.callWrap(t_19, "label", context, [{"label": runtime.memberLookup((l_params),"label"),"id": runtime.contextOrFrameLookup(context, frame, "labelId"),"for": runtime.memberLookup((l_params),"id"),"isPageHeading": runtime.contextOrFrameLookup(context, frame, "isPageHeading"),"lang": runtime.memberLookup((l_params),"lang")},runtime.makeKeywordArgs({"caller": (function (){var macro_t_31 = runtime.makeMacro(
2516
2525
  [],
2517
2526
  [],
2518
2527
  function (kwargs) {
@@ -2521,12 +2530,12 @@ frame = frame.push(true);
2521
2530
  kwargs = kwargs || {};
2522
2531
  if (Object.prototype.hasOwnProperty.call(kwargs, "caller")) {
2523
2532
  frame.set("caller", kwargs.caller); }
2524
- var t_31 = "";;
2533
+ var t_32 = "";;
2525
2534
  frame = frame.pop();
2526
- return new runtime.SafeString(t_31);
2535
+ return new runtime.SafeString(t_32);
2527
2536
  });
2528
- return macro_t_30;})()})])), env.opts.autoescape);
2529
- t_29 += runtime.suppressValue((lineno = 31, colno = 20, runtime.callWrap(t_15, "hint", context, [{"hint": runtime.memberLookup((l_params),"hint"),"id": runtime.contextOrFrameLookup(context, frame, "hintId"),"lang": runtime.memberLookup((l_params),"lang")},runtime.makeKeywordArgs({"caller": (function (){var macro_t_32 = runtime.makeMacro(
2537
+ return macro_t_31;})()})])), env.opts.autoescape);
2538
+ t_30 += runtime.suppressValue((lineno = 32, colno = 20, runtime.callWrap(t_15, "hint", context, [{"hint": runtime.memberLookup((l_params),"hint"),"id": runtime.contextOrFrameLookup(context, frame, "hintId"),"lang": runtime.memberLookup((l_params),"lang")},runtime.makeKeywordArgs({"caller": (function (){var macro_t_33 = runtime.makeMacro(
2530
2539
  [],
2531
2540
  [],
2532
2541
  function (kwargs) {
@@ -2535,12 +2544,12 @@ frame = frame.push(true);
2535
2544
  kwargs = kwargs || {};
2536
2545
  if (Object.prototype.hasOwnProperty.call(kwargs, "caller")) {
2537
2546
  frame.set("caller", kwargs.caller); }
2538
- var t_33 = "";;
2547
+ var t_34 = "";;
2539
2548
  frame = frame.pop();
2540
- return new runtime.SafeString(t_33);
2549
+ return new runtime.SafeString(t_34);
2541
2550
  });
2542
- return macro_t_32;})()})])), env.opts.autoescape);
2543
- t_29 += runtime.suppressValue((lineno = 33, colno = 28, runtime.callWrap(t_23, "errorMessage", context, [{"message": runtime.memberLookup((l_params),"error"),"id": runtime.contextOrFrameLookup(context, frame, "errorId"),"lang": runtime.memberLookup((l_params),"lang")},runtime.makeKeywordArgs({"caller": (function (){var macro_t_34 = runtime.makeMacro(
2551
+ return macro_t_33;})()})])), env.opts.autoescape);
2552
+ t_30 += runtime.suppressValue((lineno = 34, colno = 28, runtime.callWrap(t_23, "errorMessage", context, [{"message": runtime.memberLookup((l_params),"error"),"id": runtime.contextOrFrameLookup(context, frame, "errorId"),"lang": runtime.memberLookup((l_params),"lang")},runtime.makeKeywordArgs({"caller": (function (){var macro_t_35 = runtime.makeMacro(
2544
2553
  [],
2545
2554
  [],
2546
2555
  function (kwargs) {
@@ -2549,42 +2558,42 @@ frame = frame.push(true);
2549
2558
  kwargs = kwargs || {};
2550
2559
  if (Object.prototype.hasOwnProperty.call(kwargs, "caller")) {
2551
2560
  frame.set("caller", kwargs.caller); }
2552
- var t_35 = "";;
2561
+ var t_36 = "";;
2553
2562
  frame = frame.pop();
2554
- return new runtime.SafeString(t_35);
2563
+ return new runtime.SafeString(t_36);
2555
2564
  });
2556
- return macro_t_34;})()})])), env.opts.autoescape);
2557
- t_29 += "<input id=\"";
2558
- t_29 += runtime.suppressValue(runtime.memberLookup((l_params),"id"), env.opts.autoescape);
2559
- t_29 += "\"";
2565
+ return macro_t_35;})()})])), env.opts.autoescape);
2566
+ t_30 += "<input id=\"";
2567
+ t_30 += runtime.suppressValue(runtime.memberLookup((l_params),"id"), env.opts.autoescape);
2568
+ t_30 += "\"";
2560
2569
  if(runtime.memberLookup((l_params),"name")) {
2561
- t_29 += " name=\"";
2562
- t_29 += runtime.suppressValue(runtime.memberLookup((l_params),"name"), env.opts.autoescape);
2563
- t_29 += "\"";
2570
+ t_30 += " name=\"";
2571
+ t_30 += runtime.suppressValue(runtime.memberLookup((l_params),"name"), env.opts.autoescape);
2572
+ t_30 += "\"";
2564
2573
  ;
2565
2574
  }
2566
- t_29 += " type=\"file\" class=\"govcy-file-upload\"";
2575
+ t_30 += " type=\"file\" class=\"govcy-file-upload\"";
2567
2576
  if(runtime.memberLookup((l_params),"hint") || runtime.memberLookup((l_params),"error")) {
2568
- t_29 += " aria-describedby=\"";
2577
+ t_30 += " aria-describedby=\"";
2569
2578
  if(runtime.memberLookup((l_params),"hint")) {
2570
- t_29 += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, "hintId"), env.opts.autoescape);
2571
- t_29 += " ";
2579
+ t_30 += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, "hintId"), env.opts.autoescape);
2580
+ t_30 += " ";
2572
2581
  ;
2573
2582
  }
2574
2583
  if(runtime.memberLookup((l_params),"error")) {
2575
- t_29 += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, "errorId"), env.opts.autoescape);
2576
- t_29 += " ";
2584
+ t_30 += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, "errorId"), env.opts.autoescape);
2585
+ t_30 += " ";
2577
2586
  ;
2578
2587
  }
2579
- t_29 += "\"";
2588
+ t_30 += "\"";
2580
2589
  ;
2581
2590
  }
2582
- t_29 += ">\n ";
2591
+ t_30 += ">\n ";
2583
2592
  ;
2584
2593
  frame = frame.pop();
2585
- return new runtime.SafeString(t_29);
2594
+ return new runtime.SafeString(t_30);
2586
2595
  });
2587
- return macro_t_28;})()})])), env.opts.autoescape);
2596
+ return macro_t_29;})()})])), env.opts.autoescape);
2588
2597
  ;
2589
2598
  }
2590
2599
  })})})})})})})})})});
@@ -2673,7 +2682,7 @@ context.setVariable("hint", t_16);
2673
2682
  var t_17;
2674
2683
  t_17 = (function() {
2675
2684
  var output = "";
2676
- output += runtime.suppressValue((lineno = 17, colno = 41, runtime.callWrap(t_8, "govcyGetContent", context, ["fileView_view",runtime.memberLookup((l_params),"lang")])), env.opts.autoescape);
2685
+ output += runtime.suppressValue((lineno = 18, colno = 41, runtime.callWrap(t_8, "govcyGetContent", context, ["fileView_view",runtime.memberLookup((l_params),"lang")])), env.opts.autoescape);
2677
2686
  ;
2678
2687
  return output;
2679
2688
  })()
@@ -2688,7 +2697,7 @@ context.addExport("viewLabel", t_17);
2688
2697
  var t_18;
2689
2698
  t_18 = (function() {
2690
2699
  var output = "";
2691
- output += runtime.suppressValue((lineno = 18, colno = 43, runtime.callWrap(t_8, "govcyGetContent", context, ["fileView_delete",runtime.memberLookup((l_params),"lang")])), env.opts.autoescape);
2700
+ output += runtime.suppressValue((lineno = 19, colno = 43, runtime.callWrap(t_8, "govcyGetContent", context, ["fileView_delete",runtime.memberLookup((l_params),"lang")])), env.opts.autoescape);
2692
2701
  ;
2693
2702
  return output;
2694
2703
  })()
@@ -2701,8 +2710,15 @@ if(frame.topLevel) {
2701
2710
  context.addExport("deleteLabel", t_18);
2702
2711
  }
2703
2712
  if(runtime.memberLookup((l_params),"label") && runtime.memberLookup((l_params),"viewHref") && runtime.memberLookup((l_params),"deleteHref")) {
2704
- t_2 += "<div class=\"govcy-form\">\n ";
2705
- t_2 += runtime.suppressValue((lineno = 22, colno = 23, runtime.callWrap(t_12, "formControl", context, [{"classes": runtime.memberLookup((l_params),"classes"),"lang": runtime.memberLookup((l_params),"lang")},runtime.makeKeywordArgs({"caller": (function (){var macro_t_19 = runtime.makeMacro(
2713
+ t_2 += "<div ";
2714
+ if(runtime.memberLookup((l_params),"id")) {
2715
+ t_2 += "id=\"";
2716
+ t_2 += runtime.suppressValue(runtime.memberLookup((l_params),"id"), env.opts.autoescape);
2717
+ t_2 += "-view-control\" ";
2718
+ ;
2719
+ }
2720
+ t_2 += "class=\"govcy-form\">\n ";
2721
+ t_2 += runtime.suppressValue((lineno = 23, colno = 23, runtime.callWrap(t_12, "formControl", context, [{"classes": runtime.memberLookup((l_params),"classes"),"lang": runtime.memberLookup((l_params),"lang")},runtime.makeKeywordArgs({"caller": (function (){var macro_t_19 = runtime.makeMacro(
2706
2722
  [],
2707
2723
  [],
2708
2724
  function (kwargs) {
@@ -2719,7 +2735,7 @@ else {
2719
2735
  t_20 += "<p class=\"govcy-label govcy-label-primary\">";
2720
2736
  ;
2721
2737
  }
2722
- t_20 += runtime.suppressValue((lineno = 23, colno = 135, runtime.callWrap(t_6, "govcyLocalizeContent", context, [runtime.memberLookup((l_params),"label"),runtime.memberLookup((l_params),"lang")])), env.opts.autoescape);
2738
+ t_20 += runtime.suppressValue((lineno = 24, colno = 135, runtime.callWrap(t_6, "govcyLocalizeContent", context, [runtime.memberLookup((l_params),"label"),runtime.memberLookup((l_params),"lang")])), env.opts.autoescape);
2723
2739
  if(runtime.memberLookup((l_params),"isPageHeading")) {
2724
2740
  t_20 += "</h1>";
2725
2741
  ;
@@ -2728,7 +2744,7 @@ else {
2728
2744
  t_20 += "</p>";
2729
2745
  ;
2730
2746
  }
2731
- t_20 += runtime.suppressValue((lineno = 25, colno = 20, runtime.callWrap(t_16, "hint", context, [{"hint": runtime.memberLookup((l_params),"hint"),"lang": runtime.memberLookup((l_params),"lang")},runtime.makeKeywordArgs({"caller": (function (){var macro_t_21 = runtime.makeMacro(
2747
+ t_20 += runtime.suppressValue((lineno = 26, colno = 20, runtime.callWrap(t_16, "hint", context, [{"hint": runtime.memberLookup((l_params),"hint"),"lang": runtime.memberLookup((l_params),"lang")},runtime.makeKeywordArgs({"caller": (function (){var macro_t_21 = runtime.makeMacro(
2732
2748
  [],
2733
2749
  [],
2734
2750
  function (kwargs) {
@@ -2748,7 +2764,7 @@ t_20 += "\">";
2748
2764
  t_20 += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, "viewLabel"), env.opts.autoescape);
2749
2765
  if(runtime.memberLookup((l_params),"visuallyHiddenText")) {
2750
2766
  t_20 += "<span class=\"govcy-visually-hidden\">";
2751
- t_20 += runtime.suppressValue((lineno = 27, colno = 146, runtime.callWrap(t_6, "govcyLocalizeContent", context, [runtime.memberLookup((l_params),"visuallyHiddenText"),runtime.memberLookup((l_params),"lang")])), env.opts.autoescape);
2767
+ t_20 += runtime.suppressValue((lineno = 28, colno = 146, runtime.callWrap(t_6, "govcyLocalizeContent", context, [runtime.memberLookup((l_params),"visuallyHiddenText"),runtime.memberLookup((l_params),"lang")])), env.opts.autoescape);
2752
2768
  t_20 += "</span>";
2753
2769
  ;
2754
2770
  }
@@ -2759,7 +2775,7 @@ t_20 += "\">";
2759
2775
  t_20 += runtime.suppressValue(runtime.contextOrFrameLookup(context, frame, "deleteLabel"), env.opts.autoescape);
2760
2776
  if(runtime.memberLookup((l_params),"visuallyHiddenText")) {
2761
2777
  t_20 += "<span class=\"govcy-visually-hidden\">";
2762
- t_20 += runtime.suppressValue((lineno = 29, colno = 169, runtime.callWrap(t_6, "govcyLocalizeContent", context, [runtime.memberLookup((l_params),"visuallyHiddenText"),runtime.memberLookup((l_params),"lang")])), env.opts.autoescape);
2778
+ t_20 += runtime.suppressValue((lineno = 30, colno = 169, runtime.callWrap(t_6, "govcyLocalizeContent", context, [runtime.memberLookup((l_params),"visuallyHiddenText"),runtime.memberLookup((l_params),"lang")])), env.opts.autoescape);
2763
2779
  t_20 += "</span>";
2764
2780
  ;
2765
2781
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gov-cy/govcy-frontend-renderer",
3
- "version": "1.17.2",
3
+ "version": "1.18.1",
4
4
  "description": "Render html for design elements of the Unified design system using njk or json template.",
5
5
  "author": "DMRID - DSF Team",
6
6
  "license": "MIT",
@@ -25,7 +25,8 @@
25
25
  {%- set hintId = [params.id, "-hint"] | join -%}
26
26
  {%- set labelId = [params.id, "-label"] | join -%}
27
27
  {%- set errorId = [params.id, "-error"] | join -%}
28
- {% call formControl({isError: false if params.hideFormControlError else params.error,classes:params.classe, lang:params.langs}) %}
28
+ {%- set controlId = [params.id, "-input-control"] | join -%}
29
+ {% call formControl({id:controlId,isError: false if params.hideFormControlError else params.error,classes:params.classe, lang:params.langs}) %}
29
30
  {#- render label -#}
30
31
  {% call label({label:params.label, id:labelId, for:params.id, isPageHeading:isPageHeading, lang:params.lang}) %}{% endcall %}
31
32
  {#- render hint -#}
@@ -1,5 +1,6 @@
1
1
  {# file view and delete
2
2
  @param {object} label The label text. Will escape text. `{en:"Content",el:"Περιεχομένο"}`
3
+ @param {string} id The input id. Will append '-view-control', for example 'id-card-proof-view-control'. Optional
3
4
  @param {string} viewHref The view link's href. Will escape text
4
5
  @param {string} deleteHref The delete link's href. Will escape text
5
6
  @param {object} visuallyHiddenText The visuallyHiddenText text. Optional. Will escape text. `{en:"Content",el:"Περιεχομένο"}`
@@ -19,7 +20,7 @@
19
20
  {%- set deleteLabel -%} {{- govcyGetContent('fileView_delete', params.lang) -}}{%- endset -%}
20
21
  {#- label, viewHref and deleteHref are mandatory -#}
21
22
  {%- if params.label and params.viewHref and params.deleteHref -%}
22
- <div class="govcy-form">
23
+ <div {% if params.id %}id="{{ params.id }}-view-control" {% endif %}class="govcy-form">
23
24
  {% call formControl({classes:params.classes, lang:params.lang}) %}
24
25
  {%- if params.isPageHeading -%}<h1>{%- else -%}<p class="govcy-label govcy-label-primary">{%- endif -%}{{- govcyLocalizeContent(params.label, params.lang) -}}{%- if params.isPageHeading -%}</h1>{%- else -%}</p>{%- endif -%}
25
26
  {#- render hint -#}
@@ -15,7 +15,67 @@ To use this template you need to pass the following data:
15
15
  {"label": {"en":"Cookies", "el":"Cookies"}, "href": "#"},
16
16
  {"label": {"en":"Accessibility", "el":"Προσβασιμότητα"}, "href": "#"},
17
17
  {"label": {"en":"Help us improve this service", "el":"Βοηθήστε μας να βελτιώσουμε αυτή την υπηρεσία"}, "href": "#"},
18
- ],
18
+ ],
19
+ "footerIcons": [
20
+ {
21
+ "src": {
22
+ "en": "https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/seals/ssv-certificate-verification-info.svg",
23
+ "el": "https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/seals/ssv-certificate-verification-info.svg"
24
+ },
25
+ "alt": {
26
+ "en": "Service Standard Verified seal",
27
+ "el": "Σφραγίδα Πιστοποίησης Υπηρεσίας"
28
+ },
29
+ "href": {
30
+ "en": "https://dsf.dmrid.gov.cy/2022/11/15/update-my-details/",
31
+ "el": "https://dsf.dmrid.gov.cy/2022/11/15/update-my-details/"
32
+ },
33
+ "style": {
34
+ "en": "content: url(https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/seals/ssv-certificate-verification-info.svg) !important;aspect-ratio: auto;height: 53px !important;",
35
+ "el": "content: url(https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/seals/ssv-certificate-verification-info.svg) !important;aspect-ratio: auto;height: 53px !important;"
36
+ },
37
+ "target": "_blank",
38
+ "classes": "govcy-mr-3"
39
+ },
40
+ {
41
+ "src": {
42
+ "en": "https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/FundedbyEU_NextGeneration_H53-EN.png",
43
+ "el": "https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/FundedbyEU_NextGeneration_H53-EL.png"
44
+ },
45
+ "alt": {
46
+ "en": "Funded by the EU Next Generation EU",
47
+ "el": "Χρηματοδοτείται από την ΕΕ Next Generation EU"
48
+ },
49
+ "href": {
50
+ "en": "https://europa.eu/",
51
+ "el": "https://europa.eu/"
52
+ },
53
+ "title": {
54
+ "en": "Go to EU website",
55
+ "el": "Μετάβαση στην ιστοσελίδα της ΕΕ"
56
+ },
57
+ "target": "_blank"
58
+ },
59
+ {
60
+ "src": {
61
+ "en": "https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/CYpros%20to%20aurio%20logo%20eng_H53_EN.png",
62
+ "el": "https://cdn.jsdelivr.net/gh/gov-cy/govdesign@main/CYpros%20to%20aurio%20logo%20eng_H53_EL.png"
63
+ },
64
+ "alt": {
65
+ "en": "Cyprus tomorrow, recovery and resilience plan",
66
+ "el": "Κύπρος το Αύριο, σχέδιο ανάκαμψης και ανθεντικότητας"
67
+ },
68
+ "href": {
69
+ "en": "http://www.cyprus-tomorrow.gov.cy/",
70
+ "el": "http://www.cyprus-tomorrow.gov.cy/"
71
+ },
72
+ "title": {
73
+ "en": "Go to Cyprus Tomorrow website",
74
+ "el": "Μετάβαση στην ιστοσελίδα Κύπρος το Αύριο"
75
+ },
76
+ "target": "_blank"
77
+ }
78
+ ],
19
79
  "copyrightText" : {"en":"Republic of Cyprus, 2025", "el":"Κυπριακή Δημοκρατία, 2025"},
20
80
  "menu" : {"en":"Menu", "el":"Μενου"},
21
81
  "title" : {"en":"Service title", "el":"Τιτλός υπηρεσίας"},
@@ -185,7 +245,17 @@ To use this template you need to pass the following data:
185
245
  {%- endif %}
186
246
  <div class="govcy-d-flex govcy-align-items-center govcy-flex-wrap">
187
247
  <span class="govcy-fs-2 govcy-fw-bold govcy-mr-6">gov.cy</span>
188
- <span class="govcy-mr-6 govcy-mt-2 govcy-mb-2">&copy; {{ govcyLocalizeContent(site.copyrightText, site.lang) }}</span>
248
+ <span class="govcy-mr-6 govcy-mt-2">&copy; {{ govcyLocalizeContent(site.copyrightText, site.lang) }}</span>
249
+ {%- if site.footerIcons %}
250
+ {% for footerIcon in site.footerIcons %}
251
+ {#- src, alt and href are mandatory -#}
252
+ {%- if footerIcon.src and footerIcon.alt and footerIcon.href -%}
253
+ <a href="{{ govcyLocalizeContent(footerIcon.href, site.lang, true) }}"{% if footerIcon.target %} target="{{ footerIcon.target }}"{% endif %}{% if footerIcon.title %} title="{{ govcyLocalizeContent(footerIcon.title, site.lang) }}"{% endif %}>
254
+ <img class="govcy-eu-logo govcy-mb-2{% if footerIcon.classes %} {{ footerIcon.classes }}{% endif %}" src="{{ govcyLocalizeContent(footerIcon.src, site.lang, true) }}" alt="{{ govcyLocalizeContent(footerIcon.alt, site.lang, true) }}"{% if footerIcon.style %} style="{{ govcyLocalizeContent(footerIcon.style, site.lang, true) }}"{% endif %}>
255
+ </a>
256
+ {%- endif %}
257
+ {% endfor %}
258
+ {%- endif %}
189
259
  </div>
190
260
  </div>
191
261
  <div class="govcy-my-4">