hr-design-system-handlebars 1.14.0 → 1.16.0

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.
Files changed (80) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/assets/brand/_default/conf/locatags.json +1 -0
  3. package/dist/assets/brand/hessenschau/conf/locatags.json +2 -1
  4. package/dist/assets/index.css +3 -3
  5. package/dist/views/components/base/link.hbs +5 -10
  6. package/dist/views/components/button/link_button.hbs +2 -2
  7. package/dist/views/components/content_nav/content_nav_item.hbs +17 -21
  8. package/dist/views/components/event/calendar/event_calendar_event_teaser.hbs +4 -4
  9. package/dist/views/components/event/calendar/event_calendar_footer.hbs +2 -3
  10. package/dist/views/components/event/event_ticket_button.hbs +2 -2
  11. package/dist/views/components/site_header/navigation_flyout/navigation_flyout_item.hbs +9 -4
  12. package/dist/views/components/site_header/section_navigation/section_navigation_top_topics.hbs +2 -2
  13. package/dist/views/components/teaser/cluster/teaser_cluster.hbs +1 -1
  14. package/dist/views/components/teaser/cluster/teaser_cluster_item.hbs +7 -7
  15. package/dist/views/components/teaser/components/teaser_body.hbs +26 -19
  16. package/dist/views/components/teaser/components/teaser_comments.hbs +2 -2
  17. package/dist/views/components/teaser/components/teaser_text.hbs +2 -2
  18. package/dist/views/components/teaser/components/teaser_ticker_body.hbs +3 -4
  19. package/dist/views/components/teaser/podcast/podcast_item_title.hbs +5 -7
  20. package/dist/views/components/teaser/podcast/podcast_player_ui.hbs +1 -2
  21. package/dist/views/components/teaser/podcast/podcast_playlist_player.hbs +3 -5
  22. package/dist/views/components/teaser/podcast/podcast_title.hbs +3 -3
  23. package/dist/views/components/teaser/stage/stage_text.hbs +2 -2
  24. package/dist/views/components/teaser/tabbox/group_tabbox.hbs +1 -1
  25. package/dist/views/components/teaser/teaser_poster.hbs +3 -3
  26. package/dist/views/components/tracking/download_tracking.hbs +2 -0
  27. package/dist/views/components/tracking/navigation_tracking.hbs +4 -0
  28. package/package.json +1 -1
  29. package/src/assets/brand/_default/conf/locatags.json +1 -0
  30. package/src/assets/brand/hessenschau/conf/locatags.json +2 -1
  31. package/src/assets/brand/hessenschau/conf/locatags.merged.json +1 -0
  32. package/src/assets/brand/hr/conf/locatags.merged.json +1 -0
  33. package/src/assets/brand/hr-bigband/conf/locatags.merged.json +1 -0
  34. package/src/assets/brand/hr-fernsehen/conf/locatags.merged.json +1 -0
  35. package/src/assets/brand/hr-inforadio/conf/locatags.merged.json +1 -0
  36. package/src/assets/brand/hr-rundfunkrat/conf/locatags.merged.json +1 -0
  37. package/src/assets/brand/hr-sinfonieorchester/conf/locatags.merged.json +1 -0
  38. package/src/assets/brand/hr-werbung/conf/locatags.merged.json +1 -0
  39. package/src/assets/brand/hr1/conf/locatags.merged.json +1 -0
  40. package/src/assets/brand/hr2/conf/locatags.merged.json +1 -0
  41. package/src/assets/brand/hr3/conf/locatags.merged.json +1 -0
  42. package/src/assets/brand/hr4/conf/locatags.merged.json +1 -0
  43. package/src/assets/brand/you-fm/conf/locatags.merged.json +1 -0
  44. package/src/assets/fixtures/teaser/teasers.inc.json +4 -0
  45. package/src/stories/views/components/base/link.hbs +5 -10
  46. package/src/stories/views/components/base/link.mdx +57 -0
  47. package/src/stories/views/components/base/link.stories.js +61 -0
  48. package/src/stories/views/components/button/button.mdx +2 -2
  49. package/src/stories/views/components/button/link_button.hbs +2 -2
  50. package/src/stories/views/components/button/link_button.stories.js +10 -0
  51. package/src/stories/views/components/content_nav/content_nav_item.hbs +17 -21
  52. package/src/stories/views/components/event/calendar/event_calendar_event_teaser.hbs +4 -4
  53. package/src/stories/views/components/event/calendar/event_calendar_footer.hbs +2 -3
  54. package/src/stories/views/components/event/event_ticket_button.hbs +2 -2
  55. package/src/stories/views/components/page/fixtures/page_pagination.json +1 -1
  56. package/src/stories/views/components/site_header/navigation_flyout/navigation_flyout_item.hbs +9 -4
  57. package/src/stories/views/components/site_header/section_navigation/section_navigation_top_topics.hbs +2 -2
  58. package/src/stories/views/components/teaser/cluster/teaser_cluster.hbs +1 -1
  59. package/src/stories/views/components/teaser/cluster/teaser_cluster_item.hbs +7 -7
  60. package/src/stories/views/components/teaser/components/teaser_body.hbs +26 -19
  61. package/src/stories/views/components/teaser/components/teaser_comments.hbs +2 -2
  62. package/src/stories/views/components/teaser/components/teaser_text.hbs +2 -2
  63. package/src/stories/views/components/teaser/components/teaser_ticker_body.hbs +3 -4
  64. package/src/stories/views/components/teaser/fixtures/teaser_alternative_100_serif_download.json +1 -1
  65. package/src/stories/views/components/teaser/fixtures/teaser_alternative_50_serif_download.json +1 -1
  66. package/src/stories/views/components/teaser/fixtures/teaser_standard_100_serif_download.json +1 -1
  67. package/src/stories/views/components/teaser/fixtures/teaser_standard_50_serif_download.json +1 -1
  68. package/src/stories/views/components/teaser/podcast/podcast_item_title.hbs +5 -7
  69. package/src/stories/views/components/teaser/podcast/podcast_player_ui.hbs +1 -2
  70. package/src/stories/views/components/teaser/podcast/podcast_playlist_player.hbs +3 -5
  71. package/src/stories/views/components/teaser/podcast/podcast_title.hbs +3 -3
  72. package/src/stories/views/components/teaser/stage/stage_text.hbs +2 -2
  73. package/src/stories/views/components/teaser/tabbox/group_tabbox.hbs +1 -1
  74. package/src/stories/views/components/teaser/teaser_poster.hbs +3 -3
  75. package/src/stories/views/components/tracking/download_tracking.hbs +2 -0
  76. package/src/stories/views/components/tracking/navigation_tracking.hbs +4 -0
  77. package/dist/views/components/base/link_open.hbs +0 -12
  78. package/dist/views/components/base/link_v2.hbs +0 -14
  79. package/src/stories/views/components/base/link_open.hbs +0 -12
  80. package/src/stories/views/components/base/link_v2.hbs +0 -14
@@ -86,6 +86,7 @@
86
86
  "label_small-art": "Kleinkunst",
87
87
  "label_sports": "Sport",
88
88
  "label_talk": "Talk",
89
+ "label_top_thema": "Top-Thema",
89
90
  "livestream_has_played": "Beendet",
90
91
  "livestream_plays": "Jetzt live",
91
92
  "livestream_will_play": "Startet am {0}",
@@ -86,6 +86,7 @@
86
86
  "label_small-art": "Kleinkunst",
87
87
  "label_sports": "Sport",
88
88
  "label_talk": "Talk",
89
+ "label_top_thema": "Top-Thema",
89
90
  "livestream_has_played": "Beendet",
90
91
  "livestream_plays": "Jetzt live",
91
92
  "livestream_will_play": "Startet am {0}",
@@ -86,6 +86,7 @@
86
86
  "label_small-art": "Kleinkunst",
87
87
  "label_sports": "Sport",
88
88
  "label_talk": "Talk",
89
+ "label_top_thema": "Top-Thema",
89
90
  "livestream_has_played": "Beendet",
90
91
  "livestream_plays": "Jetzt live",
91
92
  "livestream_will_play": "Startet am {0}",
@@ -86,6 +86,7 @@
86
86
  "label_small-art": "Kleinkunst",
87
87
  "label_sports": "Sport",
88
88
  "label_talk": "Talk",
89
+ "label_top_thema": "Top-Thema",
89
90
  "livestream_has_played": "Beendet",
90
91
  "livestream_plays": "Jetzt live",
91
92
  "livestream_will_play": "Startet am {0}",
@@ -86,6 +86,7 @@
86
86
  "label_small-art": "Kleinkunst",
87
87
  "label_sports": "Sport",
88
88
  "label_talk": "Talk",
89
+ "label_top_thema": "Top-Thema",
89
90
  "livestream_has_played": "Beendet",
90
91
  "livestream_plays": "Jetzt live",
91
92
  "livestream_will_play": "Startet am {0}",
@@ -86,6 +86,7 @@
86
86
  "label_small-art": "Kleinkunst",
87
87
  "label_sports": "Sport",
88
88
  "label_talk": "Talk",
89
+ "label_top_thema": "Top-Thema",
89
90
  "livestream_has_played": "Beendet",
90
91
  "livestream_plays": "Jetzt live",
91
92
  "livestream_will_play": "Startet am {0}",
@@ -1123,6 +1123,10 @@
1123
1123
  "hideGeotag": false,
1124
1124
  "hideEditableByline": true,
1125
1125
  "doTracking": true,
1126
+ "trackingData": {
1127
+ "secondLevelId": "2",
1128
+ "pageName": "download"
1129
+ },
1126
1130
  "trackingForArdMediatheksLink": false,
1127
1131
  "showMediatheksLink": false,
1128
1132
  "showAirdate": false,
@@ -1,13 +1,8 @@
1
- <a {{#with this.link.webviewUrl}}data-webviewurl="{{this}}"{{/with}} href="{{this.link.url}}{{#if this.hasComments}}#commentList{{/if}}"
2
- class="sb-link ds-link js-load{{#if _css}} {{_css}}{{/if}} {{#if _isSelected}} {{defaultIfEmpty _selectedCssClass "-current"}}{{/if}}"
3
- {{#if _doNavigationTracking}}
4
- data-hr-click-tracking='{"settings": [{"type":"uxAction","secondLevelId": "1","clickLabel":"{{_clickLabelType}}{{#if _clickLabelPrefix1}}::{{_clickLabelPrefix1}}{{/if}}::{{_clickLabelPrefix2}}-Link geklickt"}]}'
5
- {{/if}}
6
- {{#if this.isFileDownload}}
7
- {{#with this.trackingData}}data-hr-click-tracking='{"settings": [{"type":"download","secondLevelId": "{{this.link.secondLevelId}}","clickLabel": "{{this.link.pageName}}"}]}'{{/with}}
8
- {{/if}}
9
- {{#if this.link.isTargetBlank}} target="_blank" rel="noopener{{#if this.link.hasNoReferrerFlag}} noreferrer{{/if}}"{{/if}}
1
+ <a {{#with _link.webviewUrl}}data-webviewurl="{{this}}"{{/with}} href="{{_link.url}}{{#if this.hasComments}}#commentList{{/if}}"
2
+ class="sb-link ds-link js-load {{#if _isSelected}} {{defaultIfEmpty _selectedCssClass "-current"}}{{/if}}{{#if _css}} {{_css}}{{/if}} {{#> css}}{{/css}}"
3
+ {{#if _link.isTargetBlank}} target="_blank" rel="noopener{{#if _link.hasNoReferrerFlag}} noreferrer{{/if}}"{{/if}}
10
4
  {{#if _isAriaHidden}} aria-hidden="true" tabindex="-1"{{/if}}
5
+ {{#> htmlProperties}}{{/htmlProperties}}
11
6
  >
12
- {{~ decorator_body ~}}
7
+ {{> @partial-block }}
13
8
  </a>
@@ -0,0 +1,57 @@
1
+ import { ArgsTable, Meta, Story, Canvas } from '@storybook/blocks'
2
+ import * as LinkStories from './link.stories'
3
+
4
+ <Meta of={LinkStories} />
5
+
6
+ # Link
7
+
8
+ Die Komponente ist überall da einzusetzen, wo ein Link benötigt wird. Sie erzeugt lediglich ein öffnendes und schließendes
9
+ `<a>`-Tag. Der Inhalt des Links muss durch Subkomponenten hinzugefügt werden. Da es nicht den "einen" Link gibt und die Komponente
10
+ in den unterschiedlichsten Szenarien genutzt wird, bringt sie, zumindest derzeit, kein eigenes Styling mit.
11
+ Es werden lediglich die Klassen `js-load` als Vorbereitung für die Nutzung mit unserem Featureloader
12
+ und `ds-link` für die Bereitstellung der Focus-Zustände gesetzt. Bei der Einbindung können dem Link über den
13
+ Parameter `_css` CSS-Klassen übergeben werden oder, wenn [Style-Komponenten](?path=/docs/grundlegendes-konventionen-und-datenstrukturen--docs#setzen-kontextabhängiger-css-klassen-mit-style-komponenten)
14
+ genutzt werden sollen, diese innerhalb des Inline-Partials `css` aufgerufen werden.
15
+ Soll der Klick auf den Link getracked werden, kann das Link-Tracking innerhalb des Inline-Partials
16
+ `htmlProperties` gesetzt werden. Zum Tracking eines Downloads in einem Standard- oder Alternativ-Teaser
17
+ oder zum Klick-Tracking innerhalb der Navigation gibt es schon entsprechende Komponenten (`navigation_tracking.hbs` und `download_tracking.hbs`),
18
+ die genutzt werden können.
19
+
20
+ Sobald es einen standardisierten Text-Link oder etwas ähnliches gibt kann und sollte dieser hier als eigene Story ergänzt werden.
21
+
22
+ ## Eigenschaften
23
+
24
+ <ArgsTable story="Spielplatz" />
25
+
26
+ ## Verwendung
27
+
28
+ Die Komponente wird wie in folgendem Codebeispiel gezeigt in einem Handlebar Template eingebunden.
29
+
30
+ ```handlebars
31
+ {{#> components/base/link _link=this.link _css='CSS Klassen'}}
32
+ Hier kommt der Inhalt des Links hin.
33
+ {{/components/base/link}}
34
+ ```
35
+
36
+ Sollen statt einfachen CSS-Klassen Style-Komponenten an den Link übergeben werden, muss er wie in folgendem Beispiel genutzt werden:
37
+
38
+ ```handlebars
39
+ {{#> components/base/link _link=this.link}}
40
+ Hier kommt der Inhalt des Links hin.
41
+ {{/components/base/link}}
42
+ {{#*inline "css"}}
43
+ Hier kann eine oder mehrere Style-Komponente/n eingebunden werden
44
+ {{/inline}}
45
+ ```
46
+
47
+ Schließlich kann dem Link auch eine Konfiguration für das Link-Tracking übergeben werden:
48
+
49
+ ```handlebars
50
+ {{#> components/base/link _link=this.link}}
51
+ Hier kommt der Inhalt des Links hin.
52
+ {{/components/base/link}}
53
+ {{#*inline "htmlProperties"}}
54
+ {{!-- Das ist jetzt nur eine Beispielhafte Einbindung des Klick-Trackings --}}
55
+ {{> components/tracking/navigation_tracking _clickLabelType=_fromNav-adjust_context _clickLabelPrefix1=_parent-adjust_context clickLabelPrefix2=this.link.content.text}}
56
+ {{/inline}}
57
+ ```
@@ -0,0 +1,61 @@
1
+ const handlebars = require('hrHandlebars')
2
+
3
+ const linkTemplate = (args) => {
4
+ let hbsTemplate = handlebars.compile(`
5
+ {{#> components/base/link}}
6
+ Link
7
+ {{/components/base/link}}
8
+ `)
9
+ return hbsTemplate({ ...args })
10
+ }
11
+
12
+ export default {
13
+ title: 'Komponenten/Navigation/Link',
14
+
15
+ argTypes: {
16
+ _link: {
17
+ description:
18
+ 'Das Objekt, welches, den Link beschreibt. Es muss mindestens das Feld `url` beinhalten. Weitere mögliche Felder sind `webviewUrl`, `isTargetBlank`, `hasIcon`, `iconName`, `readMoreText`, `hasNoReferrerFlag`',
19
+ control: 'object',
20
+ },
21
+
22
+ _isAriaHidden: {
23
+ description:
24
+ 'Wenn ausgewählt, wird die Eigenschaft "aria-hidden" auf true und die Eigenschaft "tab-index" auf -1 gesetzt.',
25
+ control: 'boolean',
26
+
27
+ table: {
28
+ defaultValue: {
29
+ summary: false,
30
+ },
31
+ },
32
+ },
33
+ _css: {
34
+ description: 'Erlaubt die Angabe zusätzlicher CSS Klassen für den Link',
35
+ control: 'text',
36
+ },
37
+ },
38
+
39
+ parameters: {
40
+ controls: {
41
+ sort: 'alpha',
42
+ },
43
+ },
44
+ }
45
+
46
+ export const playground = {
47
+ render: linkTemplate.bind({}),
48
+ name: 'Spielplatz',
49
+
50
+ args: {
51
+ _link: {
52
+ url: '/test.html',
53
+ webviewUrl: '/webview.html',
54
+ readMoreText: 'mehr lesen',
55
+ isTargetBlank: false,
56
+ hasIcon: false,
57
+ iconName: '',
58
+ hasNoReferrerFlag: false,
59
+ },
60
+ },
61
+ }
@@ -134,9 +134,9 @@ Soll ein Button auf einem farbigen Hintergrund (bietet sich vor allem bei dunkle
134
134
  </Canvas>
135
135
 
136
136
  ```handlebars
137
- {{#> components/button/link_button _size="lg" _onBackground=true}}
137
+ {{#> components/button/button _size="lg" _onBackground=true}}
138
138
  {{> components/button/components/button_label _label="Primary"}}
139
- {{/components/button/link_button}}
139
+ {{/components/button/button}}
140
140
  ```
141
141
 
142
142
  ### Besonderheiten
@@ -1,6 +1,6 @@
1
- {{#> components/base/link_v2 _css=_css _isAriaHidden=_isAriaHidden}}
1
+ {{#> components/base/link _link=_link _css=_css _isAriaHidden=_isAriaHidden}}
2
2
  {{> @partial-block }}
3
- {{/components/base/link_v2}}
3
+ {{/components/base/link}}
4
4
  {{#*inline "css"~}}
5
5
  {{> components/button/utilities/button_base_classes}} {{> components/button/utilities/button_variation_classes _variant=_variant-adjust_context _onBackground=_onBackground-adjust_context}} {{> components/button/utilities/button_dimension_classes _size=_size-adjust_context~}}
6
6
  {{~/inline}}
@@ -62,6 +62,16 @@ export default {
62
62
  },
63
63
  },
64
64
 
65
+ _link: {
66
+ description:
67
+ 'Link des Buttons. Dies muss ein Objekt in der Form {"url":"","isTargetBlank"=true|false, "webviewUrl"=""}',
68
+ control: 'object',
69
+
70
+ table: {
71
+ category: 'Button',
72
+ },
73
+ },
74
+
65
75
  _icon: {
66
76
  description: 'Der Name des Icons in der Iconmap',
67
77
  control: 'text',
@@ -6,25 +6,21 @@
6
6
  {{~#if _isflow}} content-nav-item-flow{{/if~}}
7
7
  {{~#if this.isSelected}} font-bold -current{{/if~}}
8
8
  ">
9
- {{#decorator 'components/base/link'
10
- _doNavigationTracking="true"
11
- _clickLabelType="Contentnavigation"
12
- _clickLabelPrefix1=this.title
13
- _css="flex items-center pt-2.5 px-2 whitespace-nowrap overflow-hidden"
14
- _isSelected=this.isSelected
15
- _selectedCssClass="is-selected"
16
- }}
17
-
18
- <span class="block text-base leading-4 grow font-copy js-title truncate ... ">
19
- {{~this.title~}}
20
- {{~#if this.link.hasIcon~}}
21
- {{> components/base/image/icon _icon=this.link.iconName _addClass="ml-2 -mt-0.5 h-4 w-4 inline" _iconmap="icons"}}
22
- {{~/if~}}
23
- </span>
24
-
25
- <span>
26
- {{>components/base/image/icon _icon="arrow-right" _addClass="fill-current pb-0.5 h-4 w-4 ml-2 inline" }}
27
- </span>
28
-
29
- {{/decorator}}
9
+ {{#with this}}
10
+ {{#> components/base/link _link=this.link _isSelected=this.isSelected _css="flex items-center pt-2.5 px-2 whitespace-nowrap overflow-hidden" _selectedCssClass="is-selected"}}
11
+ <span class="block text-base leading-4 grow font-copy js-title truncate">
12
+ {{~this.title~}}
13
+ {{~#if this.link.hasIcon~}}
14
+ {{> components/base/image/icon _icon=this.link.iconName _addClass="ml-2 -mt-0.5 h-4 w-4 inline" _iconmap="icons"}}
15
+ {{~/if~}}
16
+ </span>
17
+
18
+ <span>
19
+ {{>components/base/image/icon _icon="arrow-right" _addClass="fill-current pb-0.5 h-4 w-4 ml-2 inline" }}
20
+ </span>
21
+ {{/components/base/link}}
22
+ {{#*inline "htmlProperties"}}
23
+ {{> components/tracking/navigation_tracking _clickLabelType="Contentnavigation" _clickLabelPrefix1=this.title}}
24
+ {{/inline}}
25
+ {{/with}}
30
26
  </li>
@@ -13,8 +13,8 @@
13
13
  <div class="flex flex-col items-start basis-10/12 w-10/12">
14
14
  <div class="absolute top-0 left-0 w-full sm:static">
15
15
  <div class="ar-4-3 sm:ar-auto">
16
- {{#> components/teaser/components/teaser_header _css="absolute bottom-0 left-0 p-4 w-full sm:pt-3 sm:pb-2 bg-white opacity-80 sm:static sm:bg-transparent"}}
17
- {{#decorator 'components/base/link' _css="ds-teaser-focus hover:text-toplineColor" }}
16
+ {{#> components/teaser/components/teaser_header _link=this.link _css="absolute bottom-0 left-0 p-4 w-full sm:pt-3 sm:pb-2 bg-white opacity-80 sm:static sm:bg-transparent"}}
17
+ {{#> components/base/link _css="ds-teaser-focus hover:text-toplineColor" }}
18
18
  {{#with this.label}}
19
19
  {{#> components/label/label_group}}
20
20
  {{> components/label/label _type=this.type _text=(loca this.loca) _css="mr-2"}}
@@ -23,14 +23,14 @@
23
23
  {{/if}}
24
24
  {{/components/label/label_group}}
25
25
  {{/with~}}
26
- {{#> components/teaser/components/teaser_headline _headlineTag="h3"}}
26
+ {{#> components/teaser/components/teaser_headline _css="" _headlineTag="h3"}}
27
27
  {{#if this.topline}}
28
28
  {{> components/teaser/components/teaser_topline _text=this.topline}}
29
29
  {{/if}}
30
30
  {{> components/teaser/components/teaser_title _text=this.title _css="text-2xl"}}
31
31
  {{> components/event/event_tags this.eventtags}}
32
32
  {{/components/teaser/components/teaser_headline}}
33
- {{/decorator}}
33
+ {{/components/base/link }}
34
34
  {{/components/teaser/components/teaser_header}}
35
35
  </div>
36
36
  </div>
@@ -1,8 +1,7 @@
1
1
  <footer class='bg-event-calendar-primary text-center'>
2
- {{#decorator
3
- 'components/base/link'
2
+ {{#> components/base/link _link=this.link
4
3
  _css='block p-2 text-white text-sm font-serif hover:underline underline-offset-3'
5
4
  }}
6
5
  {{loca 'event_calendar_monthly_overview_link'}}
7
- {{/decorator}}
6
+ {{/components/base/link}}
8
7
  </footer>
@@ -13,7 +13,7 @@
13
13
  {{#> components/button/button _size="lg" _variant="tertiary" _value="cancel" _css="mr-4 mt-4"}}
14
14
  {{>components/button/components/button_label _label="Abbrechen" _css=""}}
15
15
  {{/components/button/button}}
16
- {{#> components/button/link_button _size="lg" _css="js-ticket-ok-button js-modal-close mt-4"}}
16
+ {{#> components/button/link_button _link=this.link _size="lg" _css="js-ticket-ok-button js-modal-close mt-4"}}
17
17
  {{>components/button/components/button_label _label="Zum Ticketshop" _css=""}}
18
18
  {{/components/button/link_button}}
19
19
  </div>
@@ -24,7 +24,7 @@
24
24
  display:none;
25
25
  }
26
26
  </style>
27
- {{#> components/button/link_button _size="lg"}}
27
+ {{#> components/button/link_button _link=this.link _size="lg"}}
28
28
  {{> components/button/components/button_icon _icon="ticket" _iconmap="icons"}}
29
29
  {{>components/button/components/button_label _label="Tickets"}}
30
30
  {{/components/button/link_button}}