@biggive/components 202303201542.0.0 → 202303301223.0.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 (163) hide show
  1. package/dist/biggive/biggive.esm.js +1 -1
  2. package/dist/biggive/{p-5406c558.entry.js → p-044de4a5.entry.js} +1 -1
  3. package/dist/biggive/p-0f955c67.entry.js +1 -0
  4. package/dist/biggive/{p-4402efe9.entry.js → p-12035aa2.entry.js} +1 -1
  5. package/dist/biggive/{p-42649676.entry.js → p-14a9d9a4.entry.js} +1 -1
  6. package/dist/biggive/{p-63abb338.entry.js → p-1e8f981c.entry.js} +1 -1
  7. package/dist/biggive/{p-b73fddaa.entry.js → p-241aed7a.entry.js} +1 -1
  8. package/dist/biggive/{p-f6dedf7d.entry.js → p-2fa6188d.entry.js} +1 -1
  9. package/dist/biggive/p-47d3c810.entry.js +1 -0
  10. package/dist/biggive/{p-87487165.entry.js → p-518fd1c9.entry.js} +1 -1
  11. package/dist/biggive/{p-2c639bd5.entry.js → p-58521290.entry.js} +1 -1
  12. package/dist/biggive/{p-ff8bc382.js → p-740166e9.js} +2 -2
  13. package/dist/biggive/{p-41588003.entry.js → p-76413b3e.entry.js} +1 -1
  14. package/dist/biggive/{p-26c0b6cf.entry.js → p-7be9d211.entry.js} +1 -1
  15. package/dist/biggive/{p-01d03da2.entry.js → p-d8ec56e6.entry.js} +1 -1
  16. package/dist/biggive/{p-f375edb7.entry.js → p-f224b742.entry.js} +1 -1
  17. package/dist/biggive/{p-ead5a5ce.entry.js → p-fe1f033c.entry.js} +1 -1
  18. package/dist/cjs/{biggive-accordion_35.cjs.entry.js → biggive-accordion_43.cjs.entry.js} +469 -50
  19. package/dist/cjs/biggive-basic-card.cjs.entry.js +2 -2
  20. package/dist/cjs/biggive-beneficiary-icon.cjs.entry.js +2 -2
  21. package/dist/cjs/biggive-boxed-content.cjs.entry.js +2 -2
  22. package/dist/cjs/biggive-category-icon.cjs.entry.js +2 -2
  23. package/dist/cjs/biggive-form.cjs.entry.js +1 -1
  24. package/dist/cjs/biggive-header.cjs.entry.js +1 -1
  25. package/dist/cjs/biggive-icon-group.cjs.entry.js +1 -1
  26. package/dist/cjs/biggive-nav-group.cjs.entry.js +1 -1
  27. package/dist/cjs/biggive-nav-item.cjs.entry.js +1 -1
  28. package/dist/cjs/biggive-popup-standalone.cjs.entry.js +1 -1
  29. package/dist/cjs/biggive-search.cjs.entry.js +1 -1
  30. package/dist/cjs/biggive-table.cjs.entry.js +2 -2
  31. package/dist/cjs/biggive-text-input.cjs.entry.js +1 -1
  32. package/dist/cjs/biggive-video.cjs.entry.js +1 -1
  33. package/dist/cjs/biggive.cjs.js +2 -2
  34. package/dist/cjs/{index-8dd1da4d.js → index-8dcaaf94.js} +3 -0
  35. package/dist/cjs/loader.cjs.js +2 -2
  36. package/dist/collection/collection-manifest.json +5 -0
  37. package/dist/collection/components/biggive-accordion/biggive-accordion.css +2 -2
  38. package/dist/collection/components/biggive-accordion/biggive-accordion.stories.js +3 -3
  39. package/dist/collection/components/biggive-article-card/biggive-article-card.css +36 -13
  40. package/dist/collection/components/biggive-article-card/biggive-article-card.js +258 -32
  41. package/dist/collection/components/biggive-basic-card/biggive-basic-card.css +1 -1
  42. package/dist/collection/components/biggive-beneficiary-icon/biggive-beneficiary-icon.css +1 -1
  43. package/dist/collection/components/biggive-biography-card/biggive-biography-card.css +592 -1
  44. package/dist/collection/components/biggive-biography-card/biggive-biography-card.js +218 -8
  45. package/dist/collection/components/biggive-boxed-content/biggive-boxed-content.css +1 -1
  46. package/dist/collection/components/biggive-button/biggive-button.css +110 -0
  47. package/dist/collection/components/biggive-carousel/biggive-carousel.css +18 -5
  48. package/dist/collection/components/biggive-carousel/biggive-carousel.js +18 -11
  49. package/dist/collection/components/biggive-category-icon/biggive-category-icon.css +1 -1
  50. package/dist/collection/components/biggive-filtered-carousel/biggive-filtered-carousel.css +34 -0
  51. package/dist/collection/components/biggive-filtered-carousel/biggive-filtered-carousel.js +166 -0
  52. package/dist/collection/components/biggive-footer/biggive-footer.js +69 -5
  53. package/dist/collection/components/biggive-generic-icon/biggive-generic-icon.css +420 -0
  54. package/dist/collection/components/biggive-generic-icon/biggive-generic-icon.js +144 -0
  55. package/dist/collection/components/biggive-generic-icon/biggive-generic-icon.stories.js +53 -0
  56. package/dist/collection/components/biggive-grid/biggive-grid.css +166 -6
  57. package/dist/collection/components/biggive-grid/biggive-grid.js +28 -4
  58. package/dist/collection/components/biggive-icon-button/biggive-icon-button.css +418 -0
  59. package/dist/collection/components/biggive-icon-button/biggive-icon-button.js +400 -0
  60. package/dist/collection/components/biggive-icon-button/biggive-icon-button.stories.js +116 -0
  61. package/dist/collection/components/biggive-image-button/biggive-image-button.css +369 -0
  62. package/dist/collection/components/biggive-image-button/biggive-image-button.js +401 -0
  63. package/dist/collection/components/biggive-image-button/biggive-image-button.stories.js +115 -0
  64. package/dist/collection/components/biggive-main-menu/biggive-main-menu.js +3 -14
  65. package/dist/collection/components/biggive-misc-icon/biggive-misc-icon.css +1 -1
  66. package/dist/collection/components/biggive-page-section/biggive-page-section.css +33 -1
  67. package/dist/collection/components/biggive-sheet/biggive-sheet.css +379 -0
  68. package/dist/collection/components/biggive-sheet/biggive-sheet.js +111 -0
  69. package/dist/collection/components/biggive-sheet/biggive-sheet.stories.js +34 -0
  70. package/dist/collection/components/biggive-social-icon/biggive-social-icon.css +1 -1
  71. package/dist/collection/components/biggive-tabbed-content/biggive-tabbed-content.css +9 -5
  72. package/dist/collection/components/biggive-tabbed-content/biggive-tabbed-content.js +33 -3
  73. package/dist/collection/components/biggive-table/biggive-table.css +1 -1
  74. package/dist/collection/components/biggive-timeline/biggive-timeline.css +9 -11
  75. package/dist/collection/components/biggive-timeline/biggive-timeline.js +38 -5
  76. package/dist/collection/components/biggive-tipping-slider/biggive-tipping-slider.css +1 -1
  77. package/dist/collection/components/biggive-tipping-slider/biggive-tipping-slider.js +1 -1
  78. package/dist/collection/components/biggive-totalizer/biggive-totalizer.css +1 -1
  79. package/dist/collection/util/helper-methods.js +6 -0
  80. package/dist/components/biggive-accordion.js +1 -1
  81. package/dist/components/biggive-article-card.js +44 -9
  82. package/dist/components/biggive-basic-card.js +1 -1
  83. package/dist/components/biggive-beneficiary-icon.js +1 -1
  84. package/dist/components/biggive-biography-card.js +40 -3
  85. package/dist/components/biggive-boxed-content.js +1 -1
  86. package/dist/components/biggive-button2.js +1 -1
  87. package/dist/components/biggive-carousel.js +1 -83
  88. package/dist/components/biggive-carousel2.js +92 -0
  89. package/dist/components/biggive-category-icon.js +1 -1
  90. package/dist/components/biggive-filtered-carousel.d.ts +11 -0
  91. package/dist/components/biggive-filtered-carousel.js +99 -0
  92. package/dist/components/biggive-footer.js +29 -8
  93. package/dist/components/biggive-generic-icon.d.ts +11 -0
  94. package/dist/components/biggive-generic-icon.js +6 -0
  95. package/dist/components/biggive-generic-icon2.js +59 -0
  96. package/dist/components/biggive-grid.js +5 -3
  97. package/dist/components/biggive-icon-button.d.ts +11 -0
  98. package/dist/components/biggive-icon-button.js +89 -0
  99. package/dist/components/biggive-image-button.d.ts +11 -0
  100. package/dist/components/biggive-image-button.js +83 -0
  101. package/dist/components/biggive-main-menu.js +3 -14
  102. package/dist/components/biggive-misc-icon2.js +1 -1
  103. package/dist/components/biggive-page-section.js +1 -1
  104. package/dist/components/biggive-sheet.d.ts +11 -0
  105. package/dist/components/biggive-sheet.js +60 -0
  106. package/dist/components/biggive-social-icon2.js +1 -1
  107. package/dist/components/biggive-tabbed-content.js +34 -4
  108. package/dist/components/biggive-table.js +1 -1
  109. package/dist/components/biggive-timeline.js +39 -6
  110. package/dist/components/biggive-tipping-slider.js +2 -2
  111. package/dist/components/biggive-totalizer.js +1 -1
  112. package/dist/components/helper-methods.js +8 -0
  113. package/dist/components/index.d.ts +5 -0
  114. package/dist/components/index.js +5 -0
  115. package/dist/esm/{biggive-accordion_35.entry.js → biggive-accordion_43.entry.js} +462 -51
  116. package/dist/esm/biggive-basic-card.entry.js +2 -2
  117. package/dist/esm/biggive-beneficiary-icon.entry.js +2 -2
  118. package/dist/esm/biggive-boxed-content.entry.js +2 -2
  119. package/dist/esm/biggive-category-icon.entry.js +2 -2
  120. package/dist/esm/biggive-form.entry.js +1 -1
  121. package/dist/esm/biggive-header.entry.js +1 -1
  122. package/dist/esm/biggive-icon-group.entry.js +1 -1
  123. package/dist/esm/biggive-nav-group.entry.js +1 -1
  124. package/dist/esm/biggive-nav-item.entry.js +1 -1
  125. package/dist/esm/biggive-popup-standalone.entry.js +1 -1
  126. package/dist/esm/biggive-search.entry.js +1 -1
  127. package/dist/esm/biggive-table.entry.js +2 -2
  128. package/dist/esm/biggive-text-input.entry.js +1 -1
  129. package/dist/esm/biggive-video.entry.js +1 -1
  130. package/dist/esm/biggive.js +2 -2
  131. package/dist/esm/{index-801eebfb.js → index-341903f8.js} +3 -0
  132. package/dist/esm/loader.js +2 -2
  133. package/dist/types/components/biggive-article-card/biggive-article-card.d.ts +17 -42
  134. package/dist/types/components/biggive-biography-card/biggive-biography-card.d.ts +12 -13
  135. package/dist/types/components/biggive-carousel/biggive-carousel.d.ts +2 -1
  136. package/dist/types/components/biggive-filtered-carousel/biggive-filtered-carousel.d.ts +12 -0
  137. package/dist/types/components/biggive-footer/biggive-footer.d.ts +11 -0
  138. package/dist/types/components/biggive-generic-icon/biggive-generic-icon.d.ts +10 -0
  139. package/dist/types/components/biggive-generic-icon/biggive-generic-icon.stories.d.ts +38 -0
  140. package/dist/types/components/biggive-grid/biggive-grid.d.ts +3 -7
  141. package/dist/types/components/biggive-icon-button/biggive-icon-button.d.ts +28 -0
  142. package/dist/types/components/biggive-icon-button/biggive-icon-button.stories.d.ts +81 -0
  143. package/dist/types/components/biggive-image-button/biggive-image-button.d.ts +28 -0
  144. package/dist/types/components/biggive-image-button/biggive-image-button.stories.d.ts +78 -0
  145. package/dist/types/components/biggive-sheet/biggive-sheet.d.ts +15 -0
  146. package/dist/types/components/biggive-sheet/biggive-sheet.stories.d.ts +21 -0
  147. package/dist/types/components/biggive-tabbed-content/biggive-tabbed-content.d.ts +3 -0
  148. package/dist/types/components/biggive-timeline/biggive-timeline.d.ts +3 -0
  149. package/dist/types/components.d.ts +247 -126
  150. package/dist/types/util/helper-methods.d.ts +1 -0
  151. package/hydrate/index.js +545 -70
  152. package/package.json +1 -1
  153. package/dist/biggive/p-28e16ef9.entry.js +0 -1
  154. package/dist/biggive/p-4a1ba0c4.entry.js +0 -1
  155. package/dist/biggive/p-4adb4dce.entry.js +0 -1
  156. package/dist/biggive/p-87edb8c6.entry.js +0 -1
  157. package/dist/biggive/p-8feb91ae.entry.js +0 -1
  158. package/dist/cjs/biggive-article-card.cjs.entry.js +0 -31
  159. package/dist/cjs/biggive-biography-card.cjs.entry.js +0 -23
  160. package/dist/cjs/biggive-formatted-text.cjs.entry.js +0 -22
  161. package/dist/esm/biggive-article-card.entry.js +0 -27
  162. package/dist/esm/biggive-biography-card.entry.js +0 -19
  163. package/dist/esm/biggive-formatted-text.entry.js +0 -18
@@ -0,0 +1,166 @@
1
+ import { h } from '@stencil/core';
2
+ export class BiggiveFilteredCarousel {
3
+ constructor() {
4
+ this.spaceBelow = 4;
5
+ this.columnCount = 3;
6
+ this.buttonBackgroundColour = 'white';
7
+ this.buttonIconColour = 'primary';
8
+ }
9
+ componentDidLoad() {
10
+ var _a, _b;
11
+ const carousel = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('biggive-carousel');
12
+ const filterWrap = (_b = this.host.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.filters');
13
+ this.children = new Array();
14
+ Array.from(this.host.children).forEach(item => {
15
+ this.children.push(item);
16
+ });
17
+ let filters = [];
18
+ this.children.forEach(item => {
19
+ var _a, _b;
20
+ carousel.appendChild(item);
21
+ let itemFilters = [];
22
+ if (item.getAttribute('filters') != null) {
23
+ itemFilters = (_b = (_a = item.getAttribute('filters')) === null || _a === void 0 ? void 0 : _a.split('|')) !== null && _b !== void 0 ? _b : [];
24
+ filters.push(...itemFilters);
25
+ }
26
+ item.dataset['filters'] = JSON.stringify(itemFilters);
27
+ });
28
+ filters = [...new Set(filters)];
29
+ filters.forEach(filter => {
30
+ var button = document.createElement('span');
31
+ button.innerHTML = filter;
32
+ button.classList.add('button');
33
+ button.setAttribute('data-filter', filter);
34
+ button.addEventListener('click', e => {
35
+ var _a;
36
+ const button = e.target;
37
+ button.classList.toggle('active');
38
+ let appliedFilters = [];
39
+ let buttons = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.filters span.button.active');
40
+ buttons === null || buttons === void 0 ? void 0 : buttons.forEach(button => {
41
+ appliedFilters.push(button.getAttribute('data-filter'));
42
+ });
43
+ this.children.forEach(item => {
44
+ let itemFilters = JSON.parse(item.dataset['filters']);
45
+ if (appliedFilters.length == 0 || appliedFilters.filter(x => itemFilters.includes(x)).length > 0) {
46
+ item.classList.remove('hidden');
47
+ }
48
+ else {
49
+ item.classList.add('hidden');
50
+ }
51
+ });
52
+ carousel.setAttribute('space-below', '0');
53
+ carousel.setAttribute('space-below', '1');
54
+ });
55
+ filterWrap.appendChild(button);
56
+ });
57
+ carousel.setAttribute('space-below', '0');
58
+ }
59
+ render() {
60
+ return (h("div", { class: 'container space-below-' + this.spaceBelow }, h("div", { class: "filters" }), h("biggive-carousel", { "space-below": "1", "column-count": this.columnCount, "button-background-colour": this.buttonBackgroundColour, "button-icon-colour": this.buttonIconColour })));
61
+ }
62
+ static get is() { return "biggive-filtered-carousel"; }
63
+ static get encapsulation() { return "shadow"; }
64
+ static get originalStyleUrls() {
65
+ return {
66
+ "$": ["biggive-filtered-carousel.scss"]
67
+ };
68
+ }
69
+ static get styleUrls() {
70
+ return {
71
+ "$": ["biggive-filtered-carousel.css"]
72
+ };
73
+ }
74
+ static get properties() {
75
+ return {
76
+ "spaceBelow": {
77
+ "type": "number",
78
+ "mutable": false,
79
+ "complexType": {
80
+ "original": "spacingOption",
81
+ "resolved": "0 | 1 | 2 | 3 | 4 | 5 | 6",
82
+ "references": {
83
+ "spacingOption": {
84
+ "location": "import",
85
+ "path": "../../globals/spacing-option"
86
+ }
87
+ }
88
+ },
89
+ "required": false,
90
+ "optional": false,
91
+ "docs": {
92
+ "tags": [],
93
+ "text": ""
94
+ },
95
+ "attribute": "space-below",
96
+ "reflect": false,
97
+ "defaultValue": "4"
98
+ },
99
+ "columnCount": {
100
+ "type": "number",
101
+ "mutable": false,
102
+ "complexType": {
103
+ "original": "1 | 2 | 3 | 4 | 5",
104
+ "resolved": "1 | 2 | 3 | 4 | 5",
105
+ "references": {}
106
+ },
107
+ "required": false,
108
+ "optional": false,
109
+ "docs": {
110
+ "tags": [],
111
+ "text": ""
112
+ },
113
+ "attribute": "column-count",
114
+ "reflect": false,
115
+ "defaultValue": "3"
116
+ },
117
+ "buttonBackgroundColour": {
118
+ "type": "string",
119
+ "mutable": false,
120
+ "complexType": {
121
+ "original": "brandColour",
122
+ "resolved": "\"black\" | \"brand-1\" | \"brand-2\" | \"brand-3\" | \"brand-4\" | \"brand-5\" | \"brand-6\" | \"grey-dark\" | \"grey-extra-light\" | \"grey-light\" | \"grey-medium\" | \"primary\" | \"secondary\" | \"tertiary\" | \"white\"",
123
+ "references": {
124
+ "brandColour": {
125
+ "location": "import",
126
+ "path": "../../globals/brand-colour"
127
+ }
128
+ }
129
+ },
130
+ "required": false,
131
+ "optional": false,
132
+ "docs": {
133
+ "tags": [],
134
+ "text": ""
135
+ },
136
+ "attribute": "button-background-colour",
137
+ "reflect": false,
138
+ "defaultValue": "'white'"
139
+ },
140
+ "buttonIconColour": {
141
+ "type": "string",
142
+ "mutable": false,
143
+ "complexType": {
144
+ "original": "brandColour",
145
+ "resolved": "\"black\" | \"brand-1\" | \"brand-2\" | \"brand-3\" | \"brand-4\" | \"brand-5\" | \"brand-6\" | \"grey-dark\" | \"grey-extra-light\" | \"grey-light\" | \"grey-medium\" | \"primary\" | \"secondary\" | \"tertiary\" | \"white\"",
146
+ "references": {
147
+ "brandColour": {
148
+ "location": "import",
149
+ "path": "../../globals/brand-colour"
150
+ }
151
+ }
152
+ },
153
+ "required": false,
154
+ "optional": false,
155
+ "docs": {
156
+ "tags": [],
157
+ "text": ""
158
+ },
159
+ "attribute": "button-icon-colour",
160
+ "reflect": false,
161
+ "defaultValue": "'primary'"
162
+ }
163
+ };
164
+ }
165
+ static get elementRef() { return "host"; }
166
+ }
@@ -1,7 +1,11 @@
1
1
  import { getAssetPath, h } from '@stencil/core';
2
+ import { makeURL } from '../../util/helper-methods';
2
3
  export class BiggiveFooter {
3
4
  constructor() {
4
5
  this.headingLevel = 5;
6
+ this.blogUrlPrefix = undefined;
7
+ this.experienceUrlPrefix = undefined;
8
+ this.usePresetFooter = false;
5
9
  }
6
10
  appendMenu(menuName) {
7
11
  var node = this.host.querySelector(`[slot="${menuName}"]`);
@@ -10,14 +14,22 @@ export class BiggiveFooter {
10
14
  }
11
15
  }
12
16
  componentDidRender() {
13
- this.appendMenu('nav-primary');
14
- this.appendMenu('nav-secondary');
15
- this.appendMenu('nav-tertiary');
16
- this.appendMenu('nav-postscript');
17
+ if (!this.usePresetFooter) {
18
+ this.appendMenu('nav-primary');
19
+ this.appendMenu('nav-secondary');
20
+ this.appendMenu('nav-tertiary');
21
+ this.appendMenu('nav-postscript');
22
+ }
17
23
  }
18
24
  render() {
19
25
  const HeadingTag = `h${this.headingLevel}`;
20
- return (h("footer", { class: "footer" }, h("div", { class: "row row-top" }, h("nav", { class: "nav nav-primary", "aria-labelledby": "footer-primary-heading" }, h(HeadingTag, { class: "heading", id: "footer-primary-heading" }, h("slot", { name: "nav-primary-title" }))), h("nav", { class: "nav nav-secondary", "aria-labelledby": "footer-secondary-heading-heading" }, h(HeadingTag, { class: "heading", id: "footer-secondary-heading" }, h("slot", { name: "nav-secondary-title" }))), h("nav", { class: "nav nav-tertiary", "aria-labelledby": "footer-tertiary-heading" }, h(HeadingTag, { class: "heading", id: "footer-tertiary-heading" }, h("slot", { name: "nav-tertiary-title" }))), h("div", { class: "button-wrap" }, h("biggive-button", { "colour-scheme": "white", url: "https://blog.thebiggive.org.uk/charities", label: "For charities" }), h("biggive-button", { "colour-scheme": "white", url: "https://blog.thebiggive.org.uk/funders", label: "For funders" }))), h("div", { class: "row row-bottom" }, h("div", { class: "postscript-wrap" }, h("img", { class: "fr-logo", src: getAssetPath('../assets/images/fundraising-regulator.png'), alt: "Fundraising Regulator" }), h("nav", { class: "nav nav-postscript", "aria-label": "Legal" })), h("div", { class: "social-icon-wrap" }, h("slot", { name: "social-icons" })), h("p", null, "\u00A9 2007 \u2013 2022 The Big Give Trust (1136547) | Company number 07273065 | Dragon Court, 27-29 Macklin Street, London WC2B 5LX, United Kingdom"))));
26
+ const slotBasedFooter = () => {
27
+ return (h("footer", { class: "footer" }, h("div", { class: "row row-top" }, h("nav", { class: "nav nav-primary", "aria-labelledby": "footer-primary-heading" }, h(HeadingTag, { class: "heading", id: "footer-primary-heading" }, h("slot", { name: "nav-primary-title" }))), h("nav", { class: "nav nav-secondary", "aria-labelledby": "footer-secondary-heading-heading" }, h(HeadingTag, { class: "heading", id: "footer-secondary-heading" }, h("slot", { name: "nav-secondary-title" }))), h("nav", { class: "nav nav-tertiary", "aria-labelledby": "footer-tertiary-heading" }, h(HeadingTag, { class: "heading", id: "footer-tertiary-heading" }, h("slot", { name: "nav-tertiary-title" }))), h("div", { class: "button-wrap" }, h("biggive-button", { "colour-scheme": "white", url: "https://blog.thebiggive.org.uk/charities", label: "For charities" }), h("biggive-button", { "colour-scheme": "white", url: "https://blog.thebiggive.org.uk/funders", label: "For funders" }))), h("div", { class: "row row-bottom" }, h("div", { class: "postscript-wrap" }, h("img", { class: "fr-logo", src: getAssetPath('../assets/images/fundraising-regulator.png'), alt: "Fundraising Regulator" }), h("nav", { class: "nav nav-postscript", "aria-label": "Legal" })), h("div", { class: "social-icon-wrap" }, h("slot", { name: "social-icons" })), h("p", null, "\u00A9 2007 \u2013 2022 The Big Give Trust (1136547) | Company number 07273065 | Dragon Court, 27-29 Macklin Street, London WC2B 5LX, United Kingdom"))));
28
+ };
29
+ const presetFooter = () => {
30
+ return (h("footer", { class: "footer" }, h("div", { class: "row row-top" }, h("nav", { class: "nav nav-primary", "aria-labelledby": "footer-primary-heading" }, h(HeadingTag, { class: "heading", id: "footer-primary-heading" }, h("div", { slot: "nav-primary-title" }, "Match Funding Opportunities")), h("ul", { slot: "nav-primary" }, h("li", null, h("a", { href: makeURL('Blog', this.blogUrlPrefix, 'christmas-challenge'), class: "icon-christmas" }, "Christmas Challenge")), h("li", null, h("a", { href: makeURL('Blog', this.blogUrlPrefix, 'green-match-fund'), class: "icon-green" }, "Green Match Fund")), h("li", null, h("a", { href: makeURL('Blog', this.blogUrlPrefix, 'champions-for-children'), class: "icon-children" }, "Champions for Children")), h("li", null, h("a", { href: makeURL('Blog', this.blogUrlPrefix, 'women-girls-match-fund'), class: "icon-women-girls" }, "Women and Girls Match Fund")), h("li", null, h("a", { href: makeURL('Blog', this.blogUrlPrefix, 'kind2mind/'), class: "icon-mental-health" }, "Kind\u00B2Mind")), h("li", null, h("a", { href: makeURL('Blog', this.blogUrlPrefix, 'emergency-campaigns/'), class: "icon-emergency" }, "Emergency Match Fund")), h("li", null, h("a", { href: makeURL('Blog', this.blogUrlPrefix, 'run-your-own-campaign/)') }, "Run your own campaign")))), h("nav", { class: "nav nav-secondary", "aria-labelledby": "footer-secondary-heading-heading" }, h(HeadingTag, { class: "heading", id: "footer-secondary-heading" }, h("div", { slot: "nav-secondary-title" }, "Resources")), h("ul", { slot: "nav-secondary" }, h("li", null, h("a", { href: makeURL('Blog', this.blogUrlPrefix, 'case-studies') }, "Case Studies")), h("li", null, h("a", { href: makeURL('Blog', this.blogUrlPrefix, 'blog') }, "Blog")), h("li", null, h("a", { href: makeURL('Blog', this.blogUrlPrefix, 'reports-insights') }, "Reports & Insights")), h("li", null, h("a", { href: makeURL('Blog', this.blogUrlPrefix, 'press') }, "Press")))), h("nav", { class: "nav nav-tertiary", "aria-labelledby": "footer-tertiary-heading" }, h(HeadingTag, { class: "heading", id: "footer-tertiary-heading" }, h("div", { slot: "nav-tertiary-title" }, "About")), h("ul", { slot: "nav-tertiary" }, h("li", null, h("a", { href: makeURL('Experience', this.experienceUrlPrefix, 's/contact-us') }, "Contact us")), h("li", null, h("a", { href: makeURL('Blog', this.blogUrlPrefix, 'our-story') }, "Our Story")), h("li", null, h("a", { href: makeURL('Blog', this.blogUrlPrefix, 'our-people') }, "Our People")), h("li", null, h("a", { href: makeURL('Blog', this.blogUrlPrefix, 'our-fees') }, "Our Fees")), h("li", null, h("a", { href: makeURL('Blog', this.blogUrlPrefix, 'careers') }, "Careers")), h("li", null, h("a", { href: makeURL('Blog', this.blogUrlPrefix, 'faqs') }, "FAQs"))), h("ul", { slot: "nav-postscript" }, h("li", null, h("a", { href: makeURL('Blog', this.blogUrlPrefix, 'terms-and-conditions') }, "Terms and Conditions")), h("li", null, h("a", { href: makeURL('Blog', this.blogUrlPrefix, 'privacy') }, "Privacy Policy")))), h("div", { class: "button-wrap" }, h("biggive-button", { "colour-scheme": "white", url: makeURL('Blog', this.blogUrlPrefix, 'charities'), label: "For charities" }), h("biggive-button", { "colour-scheme": "white", url: makeURL('Blog', this.blogUrlPrefix, 'funders'), label: "For funders" }))), h("div", { class: "row row-bottom" }, h("div", { class: "postscript-wrap" }, h("img", { class: "fr-logo", src: getAssetPath('../assets/images/fundraising-regulator.png'), alt: "Fundraising Regulator" }), h("nav", { class: "nav nav-postscript", "aria-label": "Legal" })), h("div", { class: "social-icon-wrap" }, h("div", { slot: "social-icons" }, h("biggive-social-icon", { service: "Facebook", url: "https://www.facebook.com/BigGive.org", "background-colour": "tertiary", "icon-colour": "black", wide: true }), h("biggive-social-icon", { service: "Twitter", url: "https://twitter.com/BigGive", "background-colour": "tertiary", "icon-colour": "black", wide: true }), h("biggive-social-icon", { service: "LinkedIn", url: "https://uk.linkedin.com/company/big-give", "background-colour": "tertiary", "icon-colour": "black", wide: true }), h("biggive-social-icon", { service: "YouTube", url: "https://www.youtube.com/channel/UC9_wH1aaTuZurJ-F9R8GDcA", "background-colour": "tertiary", "icon-colour": "black", wide: true }), h("biggive-social-icon", { service: "Instagram", url: "https://www.instagram.com/biggiveorg", "background-colour": "tertiary", "icon-colour": "black" }))), h("p", null, "\u00A9 2007 \u2013 2022 The Big Give Trust (1136547) | Company number 07273065 | Dragon Court, 27-29 Macklin Street, London WC2B 5LX, United Kingdom"))));
31
+ };
32
+ return this.usePresetFooter ? presetFooter() : slotBasedFooter();
21
33
  }
22
34
  static get is() { return "biggive-footer"; }
23
35
  static get encapsulation() { return "shadow"; }
@@ -50,6 +62,58 @@ export class BiggiveFooter {
50
62
  "attribute": "heading-level",
51
63
  "reflect": false,
52
64
  "defaultValue": "5"
65
+ },
66
+ "blogUrlPrefix": {
67
+ "type": "string",
68
+ "mutable": false,
69
+ "complexType": {
70
+ "original": "string | undefined",
71
+ "resolved": "string | undefined",
72
+ "references": {}
73
+ },
74
+ "required": false,
75
+ "optional": false,
76
+ "docs": {
77
+ "tags": [],
78
+ "text": "URL prefixes vary by environment, and components library is not best placed to know what they are, so we\ntake them as props"
79
+ },
80
+ "attribute": "blog-url-prefix",
81
+ "reflect": false
82
+ },
83
+ "experienceUrlPrefix": {
84
+ "type": "string",
85
+ "mutable": false,
86
+ "complexType": {
87
+ "original": "string | undefined",
88
+ "resolved": "string | undefined",
89
+ "references": {}
90
+ },
91
+ "required": false,
92
+ "optional": false,
93
+ "docs": {
94
+ "tags": [],
95
+ "text": ""
96
+ },
97
+ "attribute": "experience-url-prefix",
98
+ "reflect": false
99
+ },
100
+ "usePresetFooter": {
101
+ "type": "boolean",
102
+ "mutable": false,
103
+ "complexType": {
104
+ "original": "boolean",
105
+ "resolved": "boolean",
106
+ "references": {}
107
+ },
108
+ "required": false,
109
+ "optional": false,
110
+ "docs": {
111
+ "tags": [],
112
+ "text": "Conditionally render footer menu:\nhard-coded (preset) when set to true, dynamic (slot-based) when set to false"
113
+ },
114
+ "attribute": "use-preset-footer",
115
+ "reflect": false,
116
+ "defaultValue": "false"
53
117
  }
54
118
  };
55
119
  }
@@ -0,0 +1,420 @@
1
+ /**
2
+ * @see brandColour in src/globals/brand-colour.ts . This and that should be updated together.
3
+ */
4
+ a {
5
+ color: inherit;
6
+ text-decoration: underline;
7
+ }
8
+ a:hover {
9
+ text-decoration: none;
10
+ }
11
+
12
+ .background-colour-hover-primary:hover,
13
+ .background-colour-primary {
14
+ background-color: #2C089B;
15
+ }
16
+
17
+ .background-colour-hover-secondary:hover,
18
+ .background-colour-secondary {
19
+ background-color: #2AF135;
20
+ }
21
+
22
+ .background-colour-hover-tertiary:hover,
23
+ .background-colour-tertiary {
24
+ background-color: #FF7272;
25
+ }
26
+
27
+ .background-colour-hover-brand-1:hover,
28
+ .background-colour-brand-1 {
29
+ background-color: #B30510;
30
+ }
31
+
32
+ .background-colour-hover-brand-2:hover,
33
+ .background-colour-brand-2 {
34
+ background-color: #6E0887;
35
+ }
36
+
37
+ .background-colour-hover-brand-3:hover,
38
+ .background-colour-brand-3 {
39
+ background-color: #50B400;
40
+ }
41
+
42
+ .background-colour-hover-brand-4:hover,
43
+ .background-colour-brand-4 {
44
+ background-color: #FFE500;
45
+ }
46
+
47
+ .background-colour-hover-brand-5:hover,
48
+ .background-colour-brand-5 {
49
+ background-color: #F07D00;
50
+ }
51
+
52
+ .background-colour-hover-brand-6:hover,
53
+ .background-colour-brand-6 {
54
+ background-color: #62CFC9;
55
+ }
56
+
57
+ .background-colour-hover-white:hover,
58
+ .background-colour-white {
59
+ background-color: #FFFFFF;
60
+ }
61
+
62
+ .background-colour-hover-black:hover,
63
+ .background-colour-black {
64
+ background-color: #000000;
65
+ }
66
+
67
+ .background-colour-hover-white:hover,
68
+ .background-colour-white {
69
+ background-color: #FFFFFF;
70
+ }
71
+
72
+ .background-colour-hover-grey-extra-light:hover,
73
+ .background-colour-grey-extra-light {
74
+ background-color: #D7D7D7;
75
+ }
76
+
77
+ .background-colour-hover-grey-light:hover,
78
+ .background-colour-grey-light {
79
+ background-color: #E8E8E8;
80
+ }
81
+
82
+ .background-colour-hover-grey-medium:hover,
83
+ .background-colour-grey-medium {
84
+ background-color: #8A8A8A;
85
+ }
86
+
87
+ .background-colour-hover-grey-dark:hover,
88
+ .background-colour-grey-dark {
89
+ background-color: #4A4A4A;
90
+ }
91
+
92
+ .fill-primary {
93
+ fill: #2C089B;
94
+ }
95
+
96
+ .fill-secondary {
97
+ fill: #2AF135;
98
+ }
99
+
100
+ .fill-tertiary {
101
+ fill: #FF7272;
102
+ }
103
+
104
+ .fill-brand-1 {
105
+ fill: #B30510;
106
+ }
107
+
108
+ .fill-brand-2 {
109
+ fill: #6E0887;
110
+ }
111
+
112
+ .fill-brand-3 {
113
+ fill: #50B400;
114
+ }
115
+
116
+ .fill-brand-4 {
117
+ fill: #FFE500;
118
+ }
119
+
120
+ .fill-brand-5 {
121
+ fill: #F07D00;
122
+ }
123
+
124
+ .fill-brand-6 {
125
+ fill: #CBC8C8;
126
+ }
127
+
128
+ .fill-brand-mhf-turquoise {
129
+ fill: #62CFC9;
130
+ }
131
+
132
+ .fill-white {
133
+ fill: #FFFFFF;
134
+ }
135
+
136
+ .fill-black {
137
+ fill: #000000;
138
+ }
139
+
140
+ .fill-grey-extra-light {
141
+ fill: #D7D7D7;
142
+ }
143
+
144
+ .fill-grey-light {
145
+ fill: #E8E8E8;
146
+ }
147
+
148
+ .fill-grey-medium {
149
+ fill: #8A8A8A;
150
+ }
151
+
152
+ .fill-grey-dark {
153
+ fill: #4A4A4A;
154
+ }
155
+
156
+ .fill-red {
157
+ fill: red;
158
+ }
159
+
160
+ :host {
161
+ display: contents;
162
+ }
163
+
164
+ .generic-icon-item {
165
+ width: 40px;
166
+ height: 40px;
167
+ border-radius: 50%;
168
+ text-align: center;
169
+ transition: all ease-in-out 0.5s;
170
+ display: inline-block;
171
+ margin-right: 10px;
172
+ }
173
+ .generic-icon-item.colour-scheme-primary {
174
+ background-color: #2C089B;
175
+ }
176
+ .generic-icon-item.colour-scheme-primary svg {
177
+ fill: #FFFFFF;
178
+ }
179
+ .generic-icon-item.colour-scheme-secondary {
180
+ background-color: #2AF135;
181
+ }
182
+ .generic-icon-item.colour-scheme-secondary svg {
183
+ fill: #000000;
184
+ }
185
+ .generic-icon-item.colour-scheme-tertiary {
186
+ background-color: #FF7272;
187
+ }
188
+ .generic-icon-item.colour-scheme-tertiary svg {
189
+ fill: #000000;
190
+ }
191
+ .generic-icon-item.colour-scheme-brand-1 {
192
+ background-color: #B30510;
193
+ }
194
+ .generic-icon-item.colour-scheme-brand-1 svg {
195
+ fill: #000000;
196
+ }
197
+ .generic-icon-item.colour-scheme-brand-2 {
198
+ background-color: #6E0887;
199
+ }
200
+ .generic-icon-item.colour-scheme-brand-2 svg {
201
+ fill: #000000;
202
+ }
203
+ .generic-icon-item.colour-scheme-brand-3 {
204
+ background-color: #50B400;
205
+ }
206
+ .generic-icon-item.colour-scheme-brand-3 svg {
207
+ fill: #000000;
208
+ }
209
+ .generic-icon-item.colour-scheme-brand-4 {
210
+ background-color: #FFE500;
211
+ }
212
+ .generic-icon-item.colour-scheme-brand-4 svg {
213
+ fill: #000000;
214
+ }
215
+ .generic-icon-item.colour-scheme-brand-5 {
216
+ background-color: #F07D00;
217
+ }
218
+ .generic-icon-item.colour-scheme-brand-5 svg {
219
+ fill: #000000;
220
+ }
221
+ .generic-icon-item.colour-scheme-brand-6 {
222
+ background-color: #CBC8C8;
223
+ }
224
+ .generic-icon-item.colour-scheme-brand-6 svg {
225
+ fill: #000000;
226
+ }
227
+ .generic-icon-item.colour-scheme-white {
228
+ background-color: #FFFFFF;
229
+ }
230
+ .generic-icon-item.colour-scheme-white svg {
231
+ fill: #000000;
232
+ }
233
+ .generic-icon-item.colour-scheme-black {
234
+ background-color: #000000;
235
+ }
236
+ .generic-icon-item.colour-scheme-black svg {
237
+ fill: #FFFFFF;
238
+ }
239
+ .generic-icon-item.colour-scheme-black {
240
+ background-color: #D7D7D7;
241
+ }
242
+ .generic-icon-item.colour-scheme-black svg {
243
+ fill: #D7D7D7;
244
+ }
245
+ .generic-icon-item.colour-scheme-black {
246
+ background-color: #E8E8E8;
247
+ }
248
+ .generic-icon-item.colour-scheme-black svg {
249
+ fill: #E8E8E8;
250
+ }
251
+ .generic-icon-item.colour-scheme-black {
252
+ background-color: #8A8A8A;
253
+ }
254
+ .generic-icon-item.colour-scheme-black svg {
255
+ fill: #8A8A8A;
256
+ }
257
+ .generic-icon-item.colour-scheme-black {
258
+ background-color: #4A4A4A;
259
+ }
260
+ .generic-icon-item.colour-scheme-black svg {
261
+ fill: #4A4A4A;
262
+ }
263
+ .generic-icon-item:hover {
264
+ background-color: #FFFFFF;
265
+ }
266
+ .generic-icon-item:hover svg {
267
+ fill: #000000;
268
+ }
269
+ .generic-icon-item a {
270
+ display: grid;
271
+ position: relative;
272
+ padding: 10px;
273
+ box-sizing: border-box;
274
+ height: 100%;
275
+ }
276
+ .generic-icon-item a svg {
277
+ width: 100%;
278
+ height: 100%;
279
+ }
280
+ @media screen and (max-width: 576px) {
281
+ .generic-icon-item {
282
+ width: 40px;
283
+ height: 40px;
284
+ border-radius: 50%;
285
+ text-align: center;
286
+ transition: all ease-in-out 0.5s;
287
+ display: inline-block;
288
+ margin-right: 10px;
289
+ width: 30px;
290
+ height: 30px;
291
+ margin: auto;
292
+ }
293
+ .generic-icon-item.colour-scheme-primary {
294
+ background-color: #2C089B;
295
+ }
296
+ .generic-icon-item.colour-scheme-primary svg {
297
+ fill: #FFFFFF;
298
+ }
299
+ .generic-icon-item.colour-scheme-secondary {
300
+ background-color: #2AF135;
301
+ }
302
+ .generic-icon-item.colour-scheme-secondary svg {
303
+ fill: #000000;
304
+ }
305
+ .generic-icon-item.colour-scheme-tertiary {
306
+ background-color: #FF7272;
307
+ }
308
+ .generic-icon-item.colour-scheme-tertiary svg {
309
+ fill: #000000;
310
+ }
311
+ .generic-icon-item.colour-scheme-brand-1 {
312
+ background-color: #B30510;
313
+ }
314
+ .generic-icon-item.colour-scheme-brand-1 svg {
315
+ fill: #000000;
316
+ }
317
+ .generic-icon-item.colour-scheme-brand-2 {
318
+ background-color: #6E0887;
319
+ }
320
+ .generic-icon-item.colour-scheme-brand-2 svg {
321
+ fill: #000000;
322
+ }
323
+ .generic-icon-item.colour-scheme-brand-3 {
324
+ background-color: #50B400;
325
+ }
326
+ .generic-icon-item.colour-scheme-brand-3 svg {
327
+ fill: #000000;
328
+ }
329
+ .generic-icon-item.colour-scheme-brand-4 {
330
+ background-color: #FFE500;
331
+ }
332
+ .generic-icon-item.colour-scheme-brand-4 svg {
333
+ fill: #000000;
334
+ }
335
+ .generic-icon-item.colour-scheme-brand-5 {
336
+ background-color: #F07D00;
337
+ }
338
+ .generic-icon-item.colour-scheme-brand-5 svg {
339
+ fill: #000000;
340
+ }
341
+ .generic-icon-item.colour-scheme-brand-6 {
342
+ background-color: #CBC8C8;
343
+ }
344
+ .generic-icon-item.colour-scheme-brand-6 svg {
345
+ fill: #000000;
346
+ }
347
+ .generic-icon-item.colour-scheme-white {
348
+ background-color: #FFFFFF;
349
+ }
350
+ .generic-icon-item.colour-scheme-white svg {
351
+ fill: #000000;
352
+ }
353
+ .generic-icon-item.colour-scheme-black {
354
+ background-color: #000000;
355
+ }
356
+ .generic-icon-item.colour-scheme-black svg {
357
+ fill: #FFFFFF;
358
+ }
359
+ .generic-icon-item.colour-scheme-black {
360
+ background-color: #D7D7D7;
361
+ }
362
+ .generic-icon-item.colour-scheme-black svg {
363
+ fill: #D7D7D7;
364
+ }
365
+ .generic-icon-item.colour-scheme-black {
366
+ background-color: #E8E8E8;
367
+ }
368
+ .generic-icon-item.colour-scheme-black svg {
369
+ fill: #E8E8E8;
370
+ }
371
+ .generic-icon-item.colour-scheme-black {
372
+ background-color: #8A8A8A;
373
+ }
374
+ .generic-icon-item.colour-scheme-black svg {
375
+ fill: #8A8A8A;
376
+ }
377
+ .generic-icon-item.colour-scheme-black {
378
+ background-color: #4A4A4A;
379
+ }
380
+ .generic-icon-item.colour-scheme-black svg {
381
+ fill: #4A4A4A;
382
+ }
383
+ .generic-icon-item:hover {
384
+ background-color: #FFFFFF;
385
+ }
386
+ .generic-icon-item:hover svg {
387
+ fill: #000000;
388
+ }
389
+ .generic-icon-item a {
390
+ display: grid;
391
+ position: relative;
392
+ padding: 10px;
393
+ box-sizing: border-box;
394
+ height: 100%;
395
+ }
396
+ .generic-icon-item a svg {
397
+ width: 100%;
398
+ height: 100%;
399
+ }
400
+ .generic-icon-item a {
401
+ padding: 6px;
402
+ }
403
+ .generic-icon-item a {
404
+ margin: auto;
405
+ }
406
+ }
407
+
408
+ .CaretRight {
409
+ height: 10px;
410
+ width: 10px;
411
+ margin-right: 0px;
412
+ }
413
+ .CaretRight a {
414
+ padding: 0px;
415
+ }
416
+
417
+ .MenuClose a svg {
418
+ height: 12px;
419
+ width: 12px;
420
+ }