@biggive/components 202402271602.0.0 → 202402271631.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.
@@ -184,7 +184,7 @@ a:hover {
184
184
  margin-left: 15px;
185
185
  }
186
186
  .sort-filter-wrap .filter-wrap {
187
- background-color: #F6F6F;
187
+ background-color: #F6F6F6;
188
188
  margin-left: 15px;
189
189
  }
190
190
  .sort-filter-wrap .filter-wrap .button.filter {
@@ -95,7 +95,7 @@ select {
95
95
  }
96
96
 
97
97
  select.grey {
98
- background-color: #F6F6F;
98
+ background-color: #F6F6F6;
99
99
  }
100
100
 
101
101
  .selectWrapper {
@@ -115,7 +115,7 @@ select.grey {
115
115
  }
116
116
 
117
117
  .prompt.grey {
118
- background-color: #F6F6F;
118
+ background-color: #F6F6F6;
119
119
  }
120
120
 
121
121
  .dropdown {
@@ -141,7 +141,7 @@ select.grey {
141
141
  clip-path: polygon(0% 0%, 0% 0%, calc(100% - 14px) 0%, 100% 14px, 100% 100%, 100% 100%, 0 100%, 0 100%);
142
142
  }
143
143
  .dropdown.select-style-bordered .sleeve select span.placeholder.grey {
144
- background-color: #F6F6F;
144
+ background-color: #F6F6F6;
145
145
  }
146
146
  .dropdown.select-style-bordered .sleeve div.arrow {
147
147
  position: absolute;
@@ -203,5 +203,5 @@ select.grey {
203
203
  }
204
204
 
205
205
  .options.grey {
206
- background-color: #F6F6F;
206
+ background-color: #F6F6F6;
207
207
  }
@@ -88,7 +88,7 @@ a:hover {
88
88
  z-index: 2;
89
89
  font-size: small;
90
90
  top: -1em;
91
- background-color: #F6F6F;
91
+ background-color: #F6F6F6;
92
92
  left: 4em;
93
93
  padding-left: 1em;
94
94
  padding-right: 1em;
@@ -104,7 +104,7 @@ a:hover {
104
104
  clip-path: polygon(0% 0%, 0% 0%, calc(100% - 15px) 0%, 100% 15px, 100% 100%, 100% 100%, 0 100%, 0 100%);
105
105
  }
106
106
  .text-input.select-style-bordered .sleeve .inner-sleave {
107
- background-color: #F6F6F;
107
+ background-color: #F6F6F6;
108
108
  color: #2C089B;
109
109
  display: block;
110
110
  position: relative;
@@ -4,7 +4,7 @@ import { d as defineCustomElement$4 } from './biggive-button2.js';
4
4
  import { d as defineCustomElement$3 } from './biggive-form-field-select2.js';
5
5
  import { d as defineCustomElement$2 } from './biggive-popup2.js';
6
6
 
7
- const biggiveCampaignCardFilterGridCss = "a{color:inherit;text-decoration:underline}a:hover{text-decoration:none}.space-above-0{margin-top:0}.space-above-1{margin-top:5px}.space-above-2{margin-top:10px}.space-above-3{margin-top:15px}.space-above-4{margin-top:30px}.space-above-5{margin-top:45px}.space-above-6{margin-top:60px}.space-below-0{margin-bottom:0}.space-below-1{margin-bottom:5px}.space-below-2{margin-bottom:10px}.space-below-3{margin-bottom:15px}.space-below-4{margin-bottom:30px}.space-below-5{margin-bottom:45px}.space-below-6{margin-bottom:60px}:host{display:content}.select-wrapper-1,.select-wrapper-2,.select-wrapper-3,.select-wrapper-4{position:relative;margin-top:1em}.select-wrapper-1{z-index:4}.select-wrapper-2{z-index:3}.select-wrapper-3{z-index:2}.select-wrapper-4{z-index:1}.container{font-family:\"Euclid Triangle\", sans-serif;font-size:17px;line-height:24px;position:relative}.container .search-wrap{background-color:#FFFFFF;padding:15px 30px;margin-bottom:15px}.container .search-wrap h4{margin-bottom:15px}.container .search-wrap .field-wrap{display:flex;justify-content:space-between}.container .search-wrap .field-wrap .input-wrap{display:flex;justify-content:space-between;padding-bottom:5px;border-bottom:1px solid #000000;margin-right:30px;flex-grow:1}.container .search-wrap .field-wrap .input-wrap input{border:0}.container .search-wrap .field-wrap button{padding:5px 30px}.selected-filter-wrap{display:flex;margin-bottom:30px;padding:0}.selected-filter-wrap .button{cursor:pointer;border-radius:20px;padding:5px 50px 5px 20px;margin-right:15px;background-color:#FF7272;color:#000000;border:1px solid #FF7272;text-decoration:none;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMTguNCAxOC40IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOC40IDE4LjQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7c3Ryb2tlOiMwMDAwMDA7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNOS4yLDguNUwxNywwLjdsMC43LDAuN0w5LjksOS4ybDcuOCw3LjhMMTcsMTcuN0w5LjIsOS45bC03LjgsNy44TDAuNywxN2w3LjgtNy44TDAuNywxLjRsMC43LTAuN0w5LjIsOC41eiIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:right 20px center;background-size:12px auto}.selected-filter-wrap .button:hover{background-color:#FFFFFF;color:#000000}.selected-filter-wrap .clear-all{margin-left:auto}.selected-filter-wrap .clear-all a{cursor:pointer;border-radius:20px;padding:5px 20px;background-color:#2C089B;color:#FFFFFF;border:1px solid #2C089B;text-decoration:none}.selected-filter-wrap .clear-all a:hover{background-color:#FFFFFF;color:#2C089B}.sort-filter-wrap{display:flex;justify-content:flex-end;margin-bottom:30px;padding:0;text-align:right;display:flex}.sort-filter-wrap .clear-all{cursor:pointer;vertical-align:center;margin-top:auto;margin-bottom:auto}.sort-filter-wrap .sort-wrap{margin-left:15px}.sort-filter-wrap .filter-wrap{background-color:#F6F6F;margin-left:15px}.sort-filter-wrap .filter-wrap .button.filter{padding-left:60px;padding-right:30px}.sort-filter-wrap .filter-wrap .button.filter .filter-icon{content:\"\";display:block;position:absolute;left:25px;top:17px;width:13px;height:13px}.sort-filter-wrap .filter-wrap .button.filter .filter-icon svg{width:100%;height:auto;vertical-align:top}.sort-filter-wrap .filter-wrap .button.filter .filter-icon svg:hover{fill:#2C089B}.icon{height:1rem;width:2rem;vertical-align:-0.125rem;margin:auto}.icon>path{fill:#2C089B}.icon-clear-all>path{fill:#000000}@media screen and (max-width: 450px){.sort-filter-wrap{flex-direction:column-reverse}.sort-filter-wrap .sort-wrap{margin-top:20px;margin-bottom:20px}}@media screen and (max-width: 350px){.sort-filter-wrap{justify-content:space-between}.sort-filter-wrap .sort-wrap{margin-left:0px}.sort-filter-wrap .filter-wrap{margin-left:3px}}.align-right{text-align:right}.input-text{font-family:\"Euclid Triangle\", sans-serif;font-size:17px;line-height:24px;color:#000000;padding:5px 10px;box-sizing:border-box;width:100%}.input-text:focus{outline:0}.input-text:placeholder{color:#4A4A4A}.text-colour-primary{color:#2C089B}";
7
+ const biggiveCampaignCardFilterGridCss = "a{color:inherit;text-decoration:underline}a:hover{text-decoration:none}.space-above-0{margin-top:0}.space-above-1{margin-top:5px}.space-above-2{margin-top:10px}.space-above-3{margin-top:15px}.space-above-4{margin-top:30px}.space-above-5{margin-top:45px}.space-above-6{margin-top:60px}.space-below-0{margin-bottom:0}.space-below-1{margin-bottom:5px}.space-below-2{margin-bottom:10px}.space-below-3{margin-bottom:15px}.space-below-4{margin-bottom:30px}.space-below-5{margin-bottom:45px}.space-below-6{margin-bottom:60px}:host{display:content}.select-wrapper-1,.select-wrapper-2,.select-wrapper-3,.select-wrapper-4{position:relative;margin-top:1em}.select-wrapper-1{z-index:4}.select-wrapper-2{z-index:3}.select-wrapper-3{z-index:2}.select-wrapper-4{z-index:1}.container{font-family:\"Euclid Triangle\", sans-serif;font-size:17px;line-height:24px;position:relative}.container .search-wrap{background-color:#FFFFFF;padding:15px 30px;margin-bottom:15px}.container .search-wrap h4{margin-bottom:15px}.container .search-wrap .field-wrap{display:flex;justify-content:space-between}.container .search-wrap .field-wrap .input-wrap{display:flex;justify-content:space-between;padding-bottom:5px;border-bottom:1px solid #000000;margin-right:30px;flex-grow:1}.container .search-wrap .field-wrap .input-wrap input{border:0}.container .search-wrap .field-wrap button{padding:5px 30px}.selected-filter-wrap{display:flex;margin-bottom:30px;padding:0}.selected-filter-wrap .button{cursor:pointer;border-radius:20px;padding:5px 50px 5px 20px;margin-right:15px;background-color:#FF7272;color:#000000;border:1px solid #FF7272;text-decoration:none;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMTguNCAxOC40IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOC40IDE4LjQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7c3Ryb2tlOiMwMDAwMDA7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNOS4yLDguNUwxNywwLjdsMC43LDAuN0w5LjksOS4ybDcuOCw3LjhMMTcsMTcuN0w5LjIsOS45bC03LjgsNy44TDAuNywxN2w3LjgtNy44TDAuNywxLjRsMC43LTAuN0w5LjIsOC41eiIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:right 20px center;background-size:12px auto}.selected-filter-wrap .button:hover{background-color:#FFFFFF;color:#000000}.selected-filter-wrap .clear-all{margin-left:auto}.selected-filter-wrap .clear-all a{cursor:pointer;border-radius:20px;padding:5px 20px;background-color:#2C089B;color:#FFFFFF;border:1px solid #2C089B;text-decoration:none}.selected-filter-wrap .clear-all a:hover{background-color:#FFFFFF;color:#2C089B}.sort-filter-wrap{display:flex;justify-content:flex-end;margin-bottom:30px;padding:0;text-align:right;display:flex}.sort-filter-wrap .clear-all{cursor:pointer;vertical-align:center;margin-top:auto;margin-bottom:auto}.sort-filter-wrap .sort-wrap{margin-left:15px}.sort-filter-wrap .filter-wrap{background-color:#F6F6F6;margin-left:15px}.sort-filter-wrap .filter-wrap .button.filter{padding-left:60px;padding-right:30px}.sort-filter-wrap .filter-wrap .button.filter .filter-icon{content:\"\";display:block;position:absolute;left:25px;top:17px;width:13px;height:13px}.sort-filter-wrap .filter-wrap .button.filter .filter-icon svg{width:100%;height:auto;vertical-align:top}.sort-filter-wrap .filter-wrap .button.filter .filter-icon svg:hover{fill:#2C089B}.icon{height:1rem;width:2rem;vertical-align:-0.125rem;margin:auto}.icon>path{fill:#2C089B}.icon-clear-all>path{fill:#000000}@media screen and (max-width: 450px){.sort-filter-wrap{flex-direction:column-reverse}.sort-filter-wrap .sort-wrap{margin-top:20px;margin-bottom:20px}}@media screen and (max-width: 350px){.sort-filter-wrap{justify-content:space-between}.sort-filter-wrap .sort-wrap{margin-left:0px}.sort-filter-wrap .filter-wrap{margin-left:3px}}.align-right{text-align:right}.input-text{font-family:\"Euclid Triangle\", sans-serif;font-size:17px;line-height:24px;color:#000000;padding:5px 10px;box-sizing:border-box;width:100%}.input-text:focus{outline:0}.input-text:placeholder{color:#4A4A4A}.text-colour-primary{color:#2C089B}";
8
8
  const BiggiveCampaignCardFilterGridStyle0 = biggiveCampaignCardFilterGridCss;
9
9
 
10
10
  const BiggiveCampaignCardFilterGrid$1 = /*@__PURE__*/ proxyCustomElement(class BiggiveCampaignCardFilterGrid extends HTMLElement {
@@ -1 +1 @@
1
- {"file":"biggive-campaign-card-filter-grid.js","mappings":"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","names":["BiggiveCampaignCardFilterGrid"],"sources":["src/components/biggive-campaign-card-filter-grid/biggive-campaign-card-filter-grid.scss?tag=biggive-campaign-card-filter-grid&encapsulation=shadow","src/components/biggive-campaign-card-filter-grid/biggive-campaign-card-filter-grid.tsx"],"sourcesContent":["@include spacers();\n\n:host {\n display: content;\n}\n\n// Each select needs a higher z-index than the one below,\n// so that the drop-down part will occlude it.\n.select-wrapper-1, .select-wrapper-2, .select-wrapper-3, .select-wrapper-4 {\n position: relative;\n margin-top: 1em;\n}\n.select-wrapper-1 {\n z-index: 4;\n}\n.select-wrapper-2 {\n z-index: 3;\n}\n.select-wrapper-3 {\n z-index: 2;\n }\n.select-wrapper-4 {\n z-index: 1;\n}\n\n.container {\n @include standard-font();\n position: relative;\n .search-wrap {\n @include lower-shadow();\n background-color: $colour-white;\n padding: $spacer-3 $spacer-4;\n margin-bottom: $spacer-3;\n h4 {\n margin-bottom: $spacer-3;\n }\n .field-wrap {\n @include flex-container-row();\n\n .input-wrap {\n @include flex-container-row();\n padding-bottom: $spacer-1;\n border-bottom: 1px solid $colour-black;\n margin-right: $spacer-4;\n flex-grow: 1;\n input {\n border: 0;\n }\n }\n button {\n padding: 5px 30px;\n }\n }\n }\n}\n.selected-filter-wrap {\n display: flex;\n margin-bottom: 30px;\n padding: 0;\n .button {\n cursor: pointer;\n border-radius: 20px;\n padding: 5px 50px 5px 20px;\n margin-right: 15px;\n background-color: $colour-tertiary-coral;;\n color: $colour-black;\n border: 1px solid $colour-tertiary-coral;\n text-decoration: none;\n background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMTguNCAxOC40IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOC40IDE4LjQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7c3Ryb2tlOiMwMDAwMDA7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNOS4yLDguNUwxNywwLjdsMC43LDAuN0w5LjksOS4ybDcuOCw3LjhMMTcsMTcuN0w5LjIsOS45bC03LjgsNy44TDAuNywxN2w3LjgtNy44TDAuNywxLjRsMC43LTAuN0w5LjIsOC41eiIvPgo8L3N2Zz4K);\n background-repeat: no-repeat;\n background-position: right 20px center;\n background-size: 12px auto;\n &:hover {\n background-color: $colour-white;\n color: $colour-black;\n }\n }\n .clear-all {\n margin-left: auto;\n a {\n cursor: pointer;\n border-radius: 20px;\n padding: 5px 20px;\n background-color: $colour-primary-blue;\n color: $colour-white;\n border: 1px solid $colour-primary-blue;\n text-decoration: none;\n &:hover {\n background-color: $colour-white;\n color: $colour-primary-blue;\n }\n }\n }\n}\n\n.sort-filter-wrap {\n display: flex;\n justify-content: flex-end;\n margin-bottom: $spacer-4;\n padding: 0;\n text-align: right;\n .clear-all {\n cursor: pointer;\n vertical-align: center;\n margin-top: auto;\n margin-bottom: auto;\n }\n\n display: flex;\n .sort-wrap {\n margin-left: 15px;\n }\n\n .filter-wrap {\n background-color: $colour-grey-background; // temp for testing dropdown\n\n margin-left: $spacer-3;\n\n .button.filter {\n padding-left: 60px;\n padding-right: 30px;\n\n .filter-icon {\n content: '';\n display: block;\n position: absolute;\n left: 25px;\n top: 17px;\n width: 13px;\n height: 13px;\n\n svg {\n width: 100%;\n height: auto;\n vertical-align: top;\n\n &:hover {\n fill: $colour-primary-blue;\n }\n }\n }\n }\n }\n}\n\n.icon {\n @include icon();\n margin: auto;\n\n > path {\n fill: $colour-primary-blue;\n }\n}\n\n.icon-clear-all {\n > path {\n fill: $colour-black;\n }\n}\n\n@media screen and (max-width: $screen-mobile-small) {\n .sort-filter-wrap {\n flex-direction: column-reverse;\n .sort-wrap {\n margin-top: 20px;\n margin-bottom: 20px;\n }\n }\n}\n\n@media screen and (max-width: $screen-mobile-x-small) {\n .sort-filter-wrap {\n justify-content: space-between;\n .sort-wrap {\n margin-left: 0px;\n }\n .filter-wrap {\n margin-left: 3px;\n }\n }\n}\n\n.align-right {\n text-align: right;\n}\n\n.input-text {\n @include input-text();\n}\n\n.text-colour-primary {\n color: $colour-primary-blue;\n}\n","import { Component, Element, Event, EventEmitter, h, Prop, State } from '@stencil/core';\nimport { faMagnifyingGlass } from '@fortawesome/pro-solid-svg-icons';\n\n@Component({\n tag: 'biggive-campaign-card-filter-grid',\n styleUrl: 'biggive-campaign-card-filter-grid.scss',\n shadow: true,\n})\nexport class BiggiveCampaignCardFilterGrid {\n @Element() el: HTMLBiggiveCampaignCardFilterGridElement;\n\n /**\n * This event `doSearchAndFilterUpdate` event is emitted and propogates to the parent\n * component which handles it\n */\n @Event({\n eventName: 'doSearchAndFilterUpdate',\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n doSearchAndFilterUpdate: EventEmitter<{\n searchText: string | null;\n sortBy: string | null;\n filterCategory: string | null;\n filterBeneficiary: string | null;\n filterLocation: string | null;\n filterFunding: string | null;\n }>;\n\n private sortByPlaceholderText = 'Sort by';\n private beneficiariesPlaceHolderText = 'Select beneficiary';\n private categoriesPlaceHolderText = 'Select category';\n private locationsPlaceHolderText = 'Select location';\n private fundingPlaceHolderText = 'Select funding';\n\n /**\n * Space below component\n */\n @Prop() spaceBelow: number = 0;\n\n /**\n * Intro\n */\n @Prop() intro: string = 'Find a charity or project';\n\n /**\n * Optional search text prop. Useful for pre-populating the search field\n * when the page is loaded with a search term already existing in the URL.\n * This can happen when sharing links, or if a donor goes to a campaign page\n * after searching, and then returns to the search results. In such a case,\n * the search box text will clear, unless we use this prop to populate it on\n * rendering. DON-652.\n */\n @Prop() searchText: string | null = null;\n\n /**\n * Defines the text displayed as the placeholder in the input field\n * before the user types anything\n */\n @Prop() placeholderText: string = 'Search';\n\n /**\n * Defines the text on the search button\n */\n @Prop() buttonText: string = 'Search';\n\n /**\n * JSON array of category key/values, or takes a stringified equiavalent (for Storybook)\n */\n @Prop() categoryOptions: string | Record<string, string> | string[];\n\n /**\n * JSON array of beneficiary key/values, or takes a stringified equiavalent (for Storybook)\n */\n @Prop() beneficiaryOptions: string | Record<string, string> | string[];\n\n /**\n * JSON array of location key/values, or takes a stringified equiavalent (for Storybook)\n */\n @Prop() locationOptions: string | Record<string, string> | string[];\n\n /**\n * JSON array of funding key/values, or takes a stringified equiavalent (for Storybook)\n */\n @Prop() fundingOptions: string | Record<string, string> | string[];\n\n /**\n * This helps us inject a pre-selected dropdown value from outside of this component.\n * This is especially helpful for the Meta campaign and Explore pages, where searching\n * by text wipes out previous sort options and re-uses Relevance, or where one of those\n * two pages is loaded directly with URL parameters - in such a scenario the dropdown\n * shows that it's pre-selected. DON-558.\n */\n @Prop({ mutable: true }) selectedSortByOption: 'Most raised' | 'Match funds remaining' | 'Relevance';\n\n /**\n * For injecting the chosen category to filter by, as per the comment above for `selectedSortByOption`.\n */\n @Prop({ mutable: true }) selectedFilterCategory: string | null = null;\n\n /**\n * For injecting the chosen beneficiary to filter by, as per the comment above for `selectedSortByOption`.\n */\n @Prop({ mutable: true }) selectedFilterBeneficiary: string | null = null;\n\n /**\n * For injecting the chosen location to filter by, as per the comment above for `selectedSortByOption`.\n */\n @Prop({ mutable: true }) selectedFilterLocation: string | null = null;\n\n /**\n * For injecting the chosen funding to filter by, as per the comment above for `selectedSortByOption`.\n */\n @Prop({ mutable: true }) selectedFilterFunding: string | null = null;\n\n /**\n * State variable - causes re-render on change\n */\n @State() filtersApplied: boolean;\n\n private initialSortByOption: 'Most raised' | 'Match funds remaining' | 'Relevance';\n\n /**\n * This and similar properties represent selections made in the popup but not yet applied.\n */\n private newSelectedFilterCategory: string | null = null;\n private newSelectedFilterBeneficiary: string | null = null;\n private newSelectedFilterLocation: string | null = null;\n private newSelectedFilterFunding: string | null = null;\n\n private categoryFilterSelectionChanged = (value: string) => {\n this.newSelectedFilterCategory = value;\n };\n\n private beneficiarySelectionChanged = (value: string) => {\n this.newSelectedFilterBeneficiary = value;\n };\n\n private locationSelectionChanged = (value: string) => {\n this.newSelectedFilterLocation = value;\n };\n\n private fundingSelectionChanged = (value: string) => {\n this.newSelectedFilterFunding = value;\n };\n\n private sortBySelectionChanged = (value: 'Most raised' | 'Match funds remaining' | 'Relevance') => {\n this.selectedSortByOption = value;\n this.doSearchAndFilterUpdate.emit(this.getSearchAndFilterObject());\n };\n\n private getSearchAndFilterObject() {\n return {\n searchText: this.searchText,\n sortBy: this.selectedSortByOption,\n filterCategory: this.selectedFilterCategory,\n filterBeneficiary: this.selectedFilterBeneficiary,\n filterFunding: this.selectedFilterFunding,\n filterLocation: this.selectedFilterLocation,\n };\n }\n\n private handleApplyFilterButtonClick = () => {\n this.selectedFilterCategory = this.newSelectedFilterCategory ?? this.selectedFilterCategory;\n this.selectedFilterBeneficiary = this.newSelectedFilterBeneficiary ?? this.selectedFilterBeneficiary;\n this.selectedFilterLocation = this.newSelectedFilterLocation ?? this.selectedFilterLocation;\n this.selectedFilterFunding = this.newSelectedFilterFunding ?? this.selectedFilterFunding;\n\n const searchAndFilterObj = this.getSearchAndFilterObject();\n this.doSearchAndFilterUpdate.emit(searchAndFilterObj);\n\n const filterPopup = this.el.shadowRoot?.getElementById('filter-popup') as HTMLBiggivePopupElement | undefined;\n if (filterPopup) {\n filterPopup.closeFromOutside();\n }\n\n this.filtersApplied =\n typeof searchAndFilterObj.filterBeneficiary === 'string' ||\n typeof searchAndFilterObj.filterCategory === 'string' ||\n typeof searchAndFilterObj.filterFunding === 'string' ||\n typeof searchAndFilterObj.filterLocation === 'string';\n };\n\n private removeFilter(filterKey: 'funding' | 'locations' | 'categories' | 'beneficiaries') {\n switch (filterKey) {\n case 'beneficiaries':\n this.selectedFilterBeneficiary = null;\n break;\n case 'categories':\n this.selectedFilterCategory = null;\n break;\n case 'funding':\n this.selectedFilterFunding = null;\n break;\n case 'locations':\n this.selectedFilterLocation = null;\n break;\n default:\n // This asks the compiler to check that we are in dead code, i.e. we covered all the possible filter keys\n // above. If we missed one we would get a compile error trying to assign a string to a never.\n const exhaustiveSwitch: never = filterKey;\n console.error(exhaustiveSwitch);\n }\n\n const selectEl = this.el.shadowRoot?.getElementById(filterKey) as HTMLBiggiveFormFieldSelectElement | undefined;\n if (!selectEl) {\n return;\n }\n\n selectEl.selectedLabel = null;\n selectEl.selectedValue = null;\n this.doSearchAndFilterUpdate.emit(this.getSearchAndFilterObject());\n }\n\n private handleSearchButtonPressed = () => {\n this.doSearchAndFilterUpdate.emit(this.getSearchAndFilterObject());\n };\n\n private handleSearchTextChanged = (event: any) => {\n this.searchText = event.target.value;\n };\n\n private handleEnterPressed = (ev: KeyboardEvent) => {\n if (ev.key === 'Enter') {\n this.doSearchAndFilterUpdate.emit(this.getSearchAndFilterObject());\n }\n };\n\n private handleFilterButtonClick = () => {\n this.newSelectedFilterBeneficiary = this.selectedFilterBeneficiary;\n this.newSelectedFilterCategory = this.selectedFilterCategory;\n this.newSelectedFilterFunding = this.selectedFilterFunding;\n this.newSelectedFilterLocation = this.selectedFilterLocation;\n\n const filterPopup = this.el.shadowRoot?.getElementById('filter-popup') as HTMLBiggivePopupElement | undefined;\n if (filterPopup) {\n filterPopup.openFromOutside();\n }\n };\n\n private handleClearAll = () => {\n // Set the 'Filters' button back to the primary background colour\n this.filtersApplied = false;\n\n // Clear all\n this.searchText = null;\n this.selectedSortByOption = this.initialSortByOption;\n this.selectedFilterBeneficiary = null;\n this.selectedFilterCategory = null;\n this.selectedFilterFunding = null;\n this.selectedFilterLocation = null;\n\n // Clear <biggive-form-field-select> components' internal selectedValue and selectedLabel. DON-654.\n ['sort-by', 'categories', 'beneficiaries', 'locations', 'funding'].forEach(id => {\n const theEl = this.el.shadowRoot?.getElementById(id) as HTMLBiggiveFormFieldSelectElement | undefined;\n if (!theEl) {\n return;\n }\n\n theEl.selectedValue = null;\n theEl.selectedLabel = null;\n });\n\n const selectedFilters = this.el.shadowRoot?.querySelector('.selected-filters');\n if (selectedFilters) {\n selectedFilters.querySelectorAll('.button').forEach(button => {\n button.remove();\n });\n }\n\n // Emit the doSearchAndFilterUpdate event with null values. DON-654\n this.doSearchAndFilterUpdate.emit({\n searchText: null,\n sortBy: null,\n filterCategory: null,\n filterBeneficiary: null,\n filterFunding: null,\n filterLocation: null,\n });\n };\n\n componentWillRender() {\n this.filtersApplied =\n this.selectedFilterCategory !== null || this.selectedFilterBeneficiary !== null || this.selectedFilterFunding !== null || this.selectedFilterLocation !== null;\n this.initialSortByOption = this.selectedSortByOption;\n }\n\n render() {\n return (\n <div class={'container space-below-' + this.spaceBelow}>\n <div class=\"sleeve\">\n <div class=\"search-wrap\">\n <h4>{this.intro}</h4>\n <div class=\"field-wrap\">\n <div class=\"input-wrap\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon\" viewBox=\"0 0 512 512\">\n <path d={faMagnifyingGlass.icon[4].toString()} />\n </svg>\n <input\n type=\"text\"\n value={this.searchText ?? ''}\n class=\"input-text\"\n placeholder={this.placeholderText}\n onInput={this.handleSearchTextChanged}\n onKeyDown={this.handleEnterPressed}\n />\n </div>\n <biggive-button onClick={this.handleSearchButtonPressed} label={this.buttonText} />\n </div>\n </div>\n <div class=\"sort-filter-wrap\">\n <div class=\"filter-wrap\">\n <biggive-button class=\"filter\" colourScheme=\"primary\" onClick={this.handleFilterButtonClick} label=\"Filter\" fullWidth={true} space-below=\"0\"></biggive-button>\n <biggive-popup id=\"filter-popup\">\n <h4 class=\"space-above-0 space-below-3 text-colour-primary\">Filters</h4>\n <div class=\"select-wrapper-1\">\n <biggive-form-field-select\n backgroundColour=\"white\"\n prompt=\"Category\"\n placeholder={this.categoriesPlaceHolderText}\n selectedLabel={this.selectedFilterCategory}\n selectedValue={this.selectedFilterCategory}\n options={this.optionsToArray(this.categoryOptions || [])}\n selectionChanged={this.categoryFilterSelectionChanged}\n id=\"categories\"\n space-below=\"2\"\n ></biggive-form-field-select>\n </div>\n\n <div class=\"select-wrapper-2\">\n <biggive-form-field-select\n backgroundColour=\"white\"\n prompt=\"Beneficiary\"\n placeholder={this.beneficiariesPlaceHolderText}\n selectedLabel={this.selectedFilterBeneficiary}\n selectedValue={this.selectedFilterBeneficiary}\n options={this.optionsToArray(this.beneficiaryOptions || [])}\n selectionChanged={this.beneficiarySelectionChanged}\n id=\"beneficiaries\"\n space-below=\"2\"\n ></biggive-form-field-select>\n </div>\n\n <div class=\"select-wrapper-3\">\n <biggive-form-field-select\n backgroundColour=\"white\"\n prompt=\"Location\"\n placeholder={this.locationsPlaceHolderText}\n selectedLabel={this.selectedFilterLocation}\n selectedValue={this.selectedFilterLocation}\n options={this.optionsToArray(this.locationOptions || [])}\n selectionChanged={this.locationSelectionChanged}\n id=\"locations\"\n space-below=\"2\"\n ></biggive-form-field-select>\n </div>\n\n <div class=\"select-wrapper-4\">\n <biggive-form-field-select\n backgroundColour=\"white\"\n prompt=\"Funding\"\n placeholder={this.fundingPlaceHolderText}\n selectedLabel={this.selectedFilterFunding}\n selectedValue={this.selectedFilterFunding}\n options={this.optionsToArray(this.fundingOptions || [])}\n selectionChanged={this.fundingSelectionChanged}\n id=\"funding\"\n space-below=\"2\"\n ></biggive-form-field-select>\n </div>\n <div class=\"align-right\">\n <biggive-button label=\"Apply filters\" onClick={this.handleApplyFilterButtonClick} />\n </div>\n </biggive-popup>\n </div>\n\n <div class=\"sort-wrap\">\n <biggive-form-field-select\n options={[\n { value: 'amountRaised', label: 'Most raised' },\n { value: 'matchFundsRemaining', label: 'Match funds remaining' },\n ]}\n prompt={null}\n select-style=\"underlined\"\n placeholder={this.sortByPlaceholderText}\n selectedLabel={this.selectedSortByOption}\n selectionChanged={this.sortBySelectionChanged}\n id=\"sort-by\"\n >\n <biggive-form-field-select-option value=\"amountRaised\" label=\"Most raised\"></biggive-form-field-select-option>\n <biggive-form-field-select-option value=\"matchFundsRemaining\" label=\"Match funds remaining\"></biggive-form-field-select-option>\n {(this.searchText || '').length > 0 ? <biggive-form-field-select-option value=\"Relevance\" label=\"Relevance\"></biggive-form-field-select-option> : null}\n </biggive-form-field-select>\n </div>\n </div>\n <div class=\"selected-filter-wrap\">\n <div class=\"selected-filters\">\n {this.selectedFilterCategory && (\n <span\n class=\"button\"\n onClick={() => {\n this.removeFilter('categories');\n }}\n >\n {this.selectedFilterCategory}\n </span>\n )}\n {this.selectedFilterBeneficiary && (\n <span\n class=\"button\"\n onClick={() => {\n this.removeFilter('beneficiaries');\n }}\n >\n {this.selectedFilterBeneficiary}\n </span>\n )}\n {this.selectedFilterLocation && (\n <span\n class=\"button\"\n onClick={() => {\n this.removeFilter('locations');\n }}\n >\n {this.selectedFilterLocation}\n </span>\n )}\n {this.selectedFilterFunding && (\n <span\n class=\"button\"\n onClick={() => {\n this.removeFilter('funding');\n }}\n >\n {this.selectedFilterFunding}\n </span>\n )}\n </div>\n <div class=\"clear-all\">\n <a onClick={this.handleClearAll}>Clear all</a>\n </div>\n </div>\n <div class=\"campaign-grid\">\n <slot name=\"campaign-grid\"></slot>\n </div>\n </div>\n </div>\n );\n }\n\n private optionsToArray(options: string | Record<string, string> | string[]): {\n label: string;\n value: string;\n }[] {\n if (typeof options === 'string') {\n options = JSON.parse(options);\n }\n if (Array.isArray(options)) {\n return options.map((option: string) => ({ value: option, label: option }));\n }\n\n return Object.entries(options).map(entry => ({ value: entry[0], label: entry[1] }));\n }\n}\n"],"version":3}
1
+ {"file":"biggive-campaign-card-filter-grid.js","mappings":"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","names":["BiggiveCampaignCardFilterGrid"],"sources":["src/components/biggive-campaign-card-filter-grid/biggive-campaign-card-filter-grid.scss?tag=biggive-campaign-card-filter-grid&encapsulation=shadow","src/components/biggive-campaign-card-filter-grid/biggive-campaign-card-filter-grid.tsx"],"sourcesContent":["@include spacers();\n\n:host {\n display: content;\n}\n\n// Each select needs a higher z-index than the one below,\n// so that the drop-down part will occlude it.\n.select-wrapper-1, .select-wrapper-2, .select-wrapper-3, .select-wrapper-4 {\n position: relative;\n margin-top: 1em;\n}\n.select-wrapper-1 {\n z-index: 4;\n}\n.select-wrapper-2 {\n z-index: 3;\n}\n.select-wrapper-3 {\n z-index: 2;\n }\n.select-wrapper-4 {\n z-index: 1;\n}\n\n.container {\n @include standard-font();\n position: relative;\n .search-wrap {\n @include lower-shadow();\n background-color: $colour-white;\n padding: $spacer-3 $spacer-4;\n margin-bottom: $spacer-3;\n h4 {\n margin-bottom: $spacer-3;\n }\n .field-wrap {\n @include flex-container-row();\n\n .input-wrap {\n @include flex-container-row();\n padding-bottom: $spacer-1;\n border-bottom: 1px solid $colour-black;\n margin-right: $spacer-4;\n flex-grow: 1;\n input {\n border: 0;\n }\n }\n button {\n padding: 5px 30px;\n }\n }\n }\n}\n.selected-filter-wrap {\n display: flex;\n margin-bottom: 30px;\n padding: 0;\n .button {\n cursor: pointer;\n border-radius: 20px;\n padding: 5px 50px 5px 20px;\n margin-right: 15px;\n background-color: $colour-tertiary-coral;;\n color: $colour-black;\n border: 1px solid $colour-tertiary-coral;\n text-decoration: none;\n background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMTguNCAxOC40IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOC40IDE4LjQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7c3Ryb2tlOiMwMDAwMDA7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNOS4yLDguNUwxNywwLjdsMC43LDAuN0w5LjksOS4ybDcuOCw3LjhMMTcsMTcuN0w5LjIsOS45bC03LjgsNy44TDAuNywxN2w3LjgtNy44TDAuNywxLjRsMC43LTAuN0w5LjIsOC41eiIvPgo8L3N2Zz4K);\n background-repeat: no-repeat;\n background-position: right 20px center;\n background-size: 12px auto;\n &:hover {\n background-color: $colour-white;\n color: $colour-black;\n }\n }\n .clear-all {\n margin-left: auto;\n a {\n cursor: pointer;\n border-radius: 20px;\n padding: 5px 20px;\n background-color: $colour-primary-blue;\n color: $colour-white;\n border: 1px solid $colour-primary-blue;\n text-decoration: none;\n &:hover {\n background-color: $colour-white;\n color: $colour-primary-blue;\n }\n }\n }\n}\n\n.sort-filter-wrap {\n display: flex;\n justify-content: flex-end;\n margin-bottom: $spacer-4;\n padding: 0;\n text-align: right;\n .clear-all {\n cursor: pointer;\n vertical-align: center;\n margin-top: auto;\n margin-bottom: auto;\n }\n\n display: flex;\n .sort-wrap {\n margin-left: 15px;\n }\n\n .filter-wrap {\n background-color: $colour-grey-background; // temp for testing dropdown\n\n margin-left: $spacer-3;\n\n .button.filter {\n padding-left: 60px;\n padding-right: 30px;\n\n .filter-icon {\n content: '';\n display: block;\n position: absolute;\n left: 25px;\n top: 17px;\n width: 13px;\n height: 13px;\n\n svg {\n width: 100%;\n height: auto;\n vertical-align: top;\n\n &:hover {\n fill: $colour-primary-blue;\n }\n }\n }\n }\n }\n}\n\n.icon {\n @include icon();\n margin: auto;\n\n > path {\n fill: $colour-primary-blue;\n }\n}\n\n.icon-clear-all {\n > path {\n fill: $colour-black;\n }\n}\n\n@media screen and (max-width: $screen-mobile-small) {\n .sort-filter-wrap {\n flex-direction: column-reverse;\n .sort-wrap {\n margin-top: 20px;\n margin-bottom: 20px;\n }\n }\n}\n\n@media screen and (max-width: $screen-mobile-x-small) {\n .sort-filter-wrap {\n justify-content: space-between;\n .sort-wrap {\n margin-left: 0px;\n }\n .filter-wrap {\n margin-left: 3px;\n }\n }\n}\n\n.align-right {\n text-align: right;\n}\n\n.input-text {\n @include input-text();\n}\n\n.text-colour-primary {\n color: $colour-primary-blue;\n}\n","import { Component, Element, Event, EventEmitter, h, Prop, State } from '@stencil/core';\nimport { faMagnifyingGlass } from '@fortawesome/pro-solid-svg-icons';\n\n@Component({\n tag: 'biggive-campaign-card-filter-grid',\n styleUrl: 'biggive-campaign-card-filter-grid.scss',\n shadow: true,\n})\nexport class BiggiveCampaignCardFilterGrid {\n @Element() el: HTMLBiggiveCampaignCardFilterGridElement;\n\n /**\n * This event `doSearchAndFilterUpdate` event is emitted and propogates to the parent\n * component which handles it\n */\n @Event({\n eventName: 'doSearchAndFilterUpdate',\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n doSearchAndFilterUpdate: EventEmitter<{\n searchText: string | null;\n sortBy: string | null;\n filterCategory: string | null;\n filterBeneficiary: string | null;\n filterLocation: string | null;\n filterFunding: string | null;\n }>;\n\n private sortByPlaceholderText = 'Sort by';\n private beneficiariesPlaceHolderText = 'Select beneficiary';\n private categoriesPlaceHolderText = 'Select category';\n private locationsPlaceHolderText = 'Select location';\n private fundingPlaceHolderText = 'Select funding';\n\n /**\n * Space below component\n */\n @Prop() spaceBelow: number = 0;\n\n /**\n * Intro\n */\n @Prop() intro: string = 'Find a charity or project';\n\n /**\n * Optional search text prop. Useful for pre-populating the search field\n * when the page is loaded with a search term already existing in the URL.\n * This can happen when sharing links, or if a donor goes to a campaign page\n * after searching, and then returns to the search results. In such a case,\n * the search box text will clear, unless we use this prop to populate it on\n * rendering. DON-652.\n */\n @Prop() searchText: string | null = null;\n\n /**\n * Defines the text displayed as the placeholder in the input field\n * before the user types anything\n */\n @Prop() placeholderText: string = 'Search';\n\n /**\n * Defines the text on the search button\n */\n @Prop() buttonText: string = 'Search';\n\n /**\n * JSON array of category key/values, or takes a stringified equiavalent (for Storybook)\n */\n @Prop() categoryOptions: string | Record<string, string> | string[];\n\n /**\n * JSON array of beneficiary key/values, or takes a stringified equiavalent (for Storybook)\n */\n @Prop() beneficiaryOptions: string | Record<string, string> | string[];\n\n /**\n * JSON array of location key/values, or takes a stringified equiavalent (for Storybook)\n */\n @Prop() locationOptions: string | Record<string, string> | string[];\n\n /**\n * JSON array of funding key/values, or takes a stringified equiavalent (for Storybook)\n */\n @Prop() fundingOptions: string | Record<string, string> | string[];\n\n /**\n * This helps us inject a pre-selected dropdown value from outside of this component.\n * This is especially helpful for the Meta campaign and Explore pages, where searching\n * by text wipes out previous sort options and re-uses Relevance, or where one of those\n * two pages is loaded directly with URL parameters - in such a scenario the dropdown\n * shows that it's pre-selected. DON-558.\n */\n @Prop({ mutable: true }) selectedSortByOption: 'Most raised' | 'Match funds remaining' | 'Relevance';\n\n /**\n * For injecting the chosen category to filter by, as per the comment above for `selectedSortByOption`.\n */\n @Prop({ mutable: true }) selectedFilterCategory: string | null = null;\n\n /**\n * For injecting the chosen beneficiary to filter by, as per the comment above for `selectedSortByOption`.\n */\n @Prop({ mutable: true }) selectedFilterBeneficiary: string | null = null;\n\n /**\n * For injecting the chosen location to filter by, as per the comment above for `selectedSortByOption`.\n */\n @Prop({ mutable: true }) selectedFilterLocation: string | null = null;\n\n /**\n * For injecting the chosen funding to filter by, as per the comment above for `selectedSortByOption`.\n */\n @Prop({ mutable: true }) selectedFilterFunding: string | null = null;\n\n /**\n * State variable - causes re-render on change\n */\n @State() filtersApplied: boolean;\n\n private initialSortByOption: 'Most raised' | 'Match funds remaining' | 'Relevance';\n\n /**\n * This and similar properties represent selections made in the popup but not yet applied.\n */\n private newSelectedFilterCategory: string | null = null;\n private newSelectedFilterBeneficiary: string | null = null;\n private newSelectedFilterLocation: string | null = null;\n private newSelectedFilterFunding: string | null = null;\n\n private categoryFilterSelectionChanged = (value: string) => {\n this.newSelectedFilterCategory = value;\n };\n\n private beneficiarySelectionChanged = (value: string) => {\n this.newSelectedFilterBeneficiary = value;\n };\n\n private locationSelectionChanged = (value: string) => {\n this.newSelectedFilterLocation = value;\n };\n\n private fundingSelectionChanged = (value: string) => {\n this.newSelectedFilterFunding = value;\n };\n\n private sortBySelectionChanged = (value: 'Most raised' | 'Match funds remaining' | 'Relevance') => {\n this.selectedSortByOption = value;\n this.doSearchAndFilterUpdate.emit(this.getSearchAndFilterObject());\n };\n\n private getSearchAndFilterObject() {\n return {\n searchText: this.searchText,\n sortBy: this.selectedSortByOption,\n filterCategory: this.selectedFilterCategory,\n filterBeneficiary: this.selectedFilterBeneficiary,\n filterFunding: this.selectedFilterFunding,\n filterLocation: this.selectedFilterLocation,\n };\n }\n\n private handleApplyFilterButtonClick = () => {\n this.selectedFilterCategory = this.newSelectedFilterCategory ?? this.selectedFilterCategory;\n this.selectedFilterBeneficiary = this.newSelectedFilterBeneficiary ?? this.selectedFilterBeneficiary;\n this.selectedFilterLocation = this.newSelectedFilterLocation ?? this.selectedFilterLocation;\n this.selectedFilterFunding = this.newSelectedFilterFunding ?? this.selectedFilterFunding;\n\n const searchAndFilterObj = this.getSearchAndFilterObject();\n this.doSearchAndFilterUpdate.emit(searchAndFilterObj);\n\n const filterPopup = this.el.shadowRoot?.getElementById('filter-popup') as HTMLBiggivePopupElement | undefined;\n if (filterPopup) {\n filterPopup.closeFromOutside();\n }\n\n this.filtersApplied =\n typeof searchAndFilterObj.filterBeneficiary === 'string' ||\n typeof searchAndFilterObj.filterCategory === 'string' ||\n typeof searchAndFilterObj.filterFunding === 'string' ||\n typeof searchAndFilterObj.filterLocation === 'string';\n };\n\n private removeFilter(filterKey: 'funding' | 'locations' | 'categories' | 'beneficiaries') {\n switch (filterKey) {\n case 'beneficiaries':\n this.selectedFilterBeneficiary = null;\n break;\n case 'categories':\n this.selectedFilterCategory = null;\n break;\n case 'funding':\n this.selectedFilterFunding = null;\n break;\n case 'locations':\n this.selectedFilterLocation = null;\n break;\n default:\n // This asks the compiler to check that we are in dead code, i.e. we covered all the possible filter keys\n // above. If we missed one we would get a compile error trying to assign a string to a never.\n const exhaustiveSwitch: never = filterKey;\n console.error(exhaustiveSwitch);\n }\n\n const selectEl = this.el.shadowRoot?.getElementById(filterKey) as HTMLBiggiveFormFieldSelectElement | undefined;\n if (!selectEl) {\n return;\n }\n\n selectEl.selectedLabel = null;\n selectEl.selectedValue = null;\n this.doSearchAndFilterUpdate.emit(this.getSearchAndFilterObject());\n }\n\n private handleSearchButtonPressed = () => {\n this.doSearchAndFilterUpdate.emit(this.getSearchAndFilterObject());\n };\n\n private handleSearchTextChanged = (event: any) => {\n this.searchText = event.target.value;\n };\n\n private handleEnterPressed = (ev: KeyboardEvent) => {\n if (ev.key === 'Enter') {\n this.doSearchAndFilterUpdate.emit(this.getSearchAndFilterObject());\n }\n };\n\n private handleFilterButtonClick = () => {\n this.newSelectedFilterBeneficiary = this.selectedFilterBeneficiary;\n this.newSelectedFilterCategory = this.selectedFilterCategory;\n this.newSelectedFilterFunding = this.selectedFilterFunding;\n this.newSelectedFilterLocation = this.selectedFilterLocation;\n\n const filterPopup = this.el.shadowRoot?.getElementById('filter-popup') as HTMLBiggivePopupElement | undefined;\n if (filterPopup) {\n filterPopup.openFromOutside();\n }\n };\n\n private handleClearAll = () => {\n // Set the 'Filters' button back to the primary background colour\n this.filtersApplied = false;\n\n // Clear all\n this.searchText = null;\n this.selectedSortByOption = this.initialSortByOption;\n this.selectedFilterBeneficiary = null;\n this.selectedFilterCategory = null;\n this.selectedFilterFunding = null;\n this.selectedFilterLocation = null;\n\n // Clear <biggive-form-field-select> components' internal selectedValue and selectedLabel. DON-654.\n ['sort-by', 'categories', 'beneficiaries', 'locations', 'funding'].forEach(id => {\n const theEl = this.el.shadowRoot?.getElementById(id) as HTMLBiggiveFormFieldSelectElement | undefined;\n if (!theEl) {\n return;\n }\n\n theEl.selectedValue = null;\n theEl.selectedLabel = null;\n });\n\n const selectedFilters = this.el.shadowRoot?.querySelector('.selected-filters');\n if (selectedFilters) {\n selectedFilters.querySelectorAll('.button').forEach(button => {\n button.remove();\n });\n }\n\n // Emit the doSearchAndFilterUpdate event with null values. DON-654\n this.doSearchAndFilterUpdate.emit({\n searchText: null,\n sortBy: null,\n filterCategory: null,\n filterBeneficiary: null,\n filterFunding: null,\n filterLocation: null,\n });\n };\n\n componentWillRender() {\n this.filtersApplied =\n this.selectedFilterCategory !== null || this.selectedFilterBeneficiary !== null || this.selectedFilterFunding !== null || this.selectedFilterLocation !== null;\n this.initialSortByOption = this.selectedSortByOption;\n }\n\n render() {\n return (\n <div class={'container space-below-' + this.spaceBelow}>\n <div class=\"sleeve\">\n <div class=\"search-wrap\">\n <h4>{this.intro}</h4>\n <div class=\"field-wrap\">\n <div class=\"input-wrap\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"icon\" viewBox=\"0 0 512 512\">\n <path d={faMagnifyingGlass.icon[4].toString()} />\n </svg>\n <input\n type=\"text\"\n value={this.searchText ?? ''}\n class=\"input-text\"\n placeholder={this.placeholderText}\n onInput={this.handleSearchTextChanged}\n onKeyDown={this.handleEnterPressed}\n />\n </div>\n <biggive-button onClick={this.handleSearchButtonPressed} label={this.buttonText} />\n </div>\n </div>\n <div class=\"sort-filter-wrap\">\n <div class=\"filter-wrap\">\n <biggive-button class=\"filter\" colourScheme=\"primary\" onClick={this.handleFilterButtonClick} label=\"Filter\" fullWidth={true} space-below=\"0\"></biggive-button>\n <biggive-popup id=\"filter-popup\">\n <h4 class=\"space-above-0 space-below-3 text-colour-primary\">Filters</h4>\n <div class=\"select-wrapper-1\">\n <biggive-form-field-select\n backgroundColour=\"white\"\n prompt=\"Category\"\n placeholder={this.categoriesPlaceHolderText}\n selectedLabel={this.selectedFilterCategory}\n selectedValue={this.selectedFilterCategory}\n options={this.optionsToArray(this.categoryOptions || [])}\n selectionChanged={this.categoryFilterSelectionChanged}\n id=\"categories\"\n space-below=\"2\"\n ></biggive-form-field-select>\n </div>\n\n <div class=\"select-wrapper-2\">\n <biggive-form-field-select\n backgroundColour=\"white\"\n prompt=\"Beneficiary\"\n placeholder={this.beneficiariesPlaceHolderText}\n selectedLabel={this.selectedFilterBeneficiary}\n selectedValue={this.selectedFilterBeneficiary}\n options={this.optionsToArray(this.beneficiaryOptions || [])}\n selectionChanged={this.beneficiarySelectionChanged}\n id=\"beneficiaries\"\n space-below=\"2\"\n ></biggive-form-field-select>\n </div>\n\n <div class=\"select-wrapper-3\">\n <biggive-form-field-select\n backgroundColour=\"white\"\n prompt=\"Location\"\n placeholder={this.locationsPlaceHolderText}\n selectedLabel={this.selectedFilterLocation}\n selectedValue={this.selectedFilterLocation}\n options={this.optionsToArray(this.locationOptions || [])}\n selectionChanged={this.locationSelectionChanged}\n id=\"locations\"\n space-below=\"2\"\n ></biggive-form-field-select>\n </div>\n\n <div class=\"select-wrapper-4\">\n <biggive-form-field-select\n backgroundColour=\"white\"\n prompt=\"Funding\"\n placeholder={this.fundingPlaceHolderText}\n selectedLabel={this.selectedFilterFunding}\n selectedValue={this.selectedFilterFunding}\n options={this.optionsToArray(this.fundingOptions || [])}\n selectionChanged={this.fundingSelectionChanged}\n id=\"funding\"\n space-below=\"2\"\n ></biggive-form-field-select>\n </div>\n <div class=\"align-right\">\n <biggive-button label=\"Apply filters\" onClick={this.handleApplyFilterButtonClick} />\n </div>\n </biggive-popup>\n </div>\n\n <div class=\"sort-wrap\">\n <biggive-form-field-select\n options={[\n { value: 'amountRaised', label: 'Most raised' },\n { value: 'matchFundsRemaining', label: 'Match funds remaining' },\n ]}\n prompt={null}\n select-style=\"underlined\"\n placeholder={this.sortByPlaceholderText}\n selectedLabel={this.selectedSortByOption}\n selectionChanged={this.sortBySelectionChanged}\n id=\"sort-by\"\n >\n <biggive-form-field-select-option value=\"amountRaised\" label=\"Most raised\"></biggive-form-field-select-option>\n <biggive-form-field-select-option value=\"matchFundsRemaining\" label=\"Match funds remaining\"></biggive-form-field-select-option>\n {(this.searchText || '').length > 0 ? <biggive-form-field-select-option value=\"Relevance\" label=\"Relevance\"></biggive-form-field-select-option> : null}\n </biggive-form-field-select>\n </div>\n </div>\n <div class=\"selected-filter-wrap\">\n <div class=\"selected-filters\">\n {this.selectedFilterCategory && (\n <span\n class=\"button\"\n onClick={() => {\n this.removeFilter('categories');\n }}\n >\n {this.selectedFilterCategory}\n </span>\n )}\n {this.selectedFilterBeneficiary && (\n <span\n class=\"button\"\n onClick={() => {\n this.removeFilter('beneficiaries');\n }}\n >\n {this.selectedFilterBeneficiary}\n </span>\n )}\n {this.selectedFilterLocation && (\n <span\n class=\"button\"\n onClick={() => {\n this.removeFilter('locations');\n }}\n >\n {this.selectedFilterLocation}\n </span>\n )}\n {this.selectedFilterFunding && (\n <span\n class=\"button\"\n onClick={() => {\n this.removeFilter('funding');\n }}\n >\n {this.selectedFilterFunding}\n </span>\n )}\n </div>\n <div class=\"clear-all\">\n <a onClick={this.handleClearAll}>Clear all</a>\n </div>\n </div>\n <div class=\"campaign-grid\">\n <slot name=\"campaign-grid\"></slot>\n </div>\n </div>\n </div>\n );\n }\n\n private optionsToArray(options: string | Record<string, string> | string[]): {\n label: string;\n value: string;\n }[] {\n if (typeof options === 'string') {\n options = JSON.parse(options);\n }\n if (Array.isArray(options)) {\n return options.map((option: string) => ({ value: option, label: option }));\n }\n\n return Object.entries(options).map(entry => ({ value: entry[0], label: entry[1] }));\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
2
 
3
- const biggiveFormFieldSelectCss = "a{color:inherit;text-decoration:underline}a:hover{text-decoration:none}.space-above-0{margin-top:0}.space-above-1{margin-top:5px}.space-above-2{margin-top:10px}.space-above-3{margin-top:15px}.space-above-4{margin-top:30px}.space-above-5{margin-top:45px}.space-above-6{margin-top:60px}.space-below-0{margin-bottom:0}.space-below-1{margin-bottom:5px}.space-below-2{margin-bottom:10px}.space-below-3{margin-bottom:15px}.space-below-4{margin-bottom:30px}.space-below-5{margin-bottom:45px}.space-below-6{margin-bottom:60px}:host{display:contents}*,*::before,*::after{box-sizing:border-box}select{appearance:none;border:none;padding:0 1em 0 0;margin:0;width:100%;font-family:inherit;font-size:inherit;cursor:inherit;line-height:inherit;outline:none;display:grid;background-color:#FFFFFF;align-items:center}select.grey{background-color:#F6F6F}.selectWrapper{position:relative}.prompt{position:absolute;z-index:2;font-size:small;top:-1em;background-color:#FFFFFF;left:4em;padding-left:1em;padding-right:1em;color:#2C089B}.prompt.grey{background-color:#F6F6F}.dropdown{font-family:\"Euclid Triangle\", sans-serif;font-size:17px;line-height:24px;position:relative;text-align:left}.dropdown.select-style-bordered .sleeve{font-size:17px;line-height:24px;padding:2px;position:relative;background-color:#2C089B;clip-path:polygon(0% 0%, 0% 0%, calc(100% - 15px) 0%, 100% 15px, 100% 100%, 100% 100%, 0 100%, 0 100%)}.dropdown.select-style-bordered .sleeve select{color:#2C089B;display:block;position:relative;padding:10px 80px 10px 10px;clip-path:polygon(0% 0%, 0% 0%, calc(100% - 14px) 0%, 100% 14px, 100% 100%, 100% 100%, 0 100%, 0 100%)}.dropdown.select-style-bordered .sleeve select span.placeholder.grey{background-color:#F6F6F}.dropdown.select-style-bordered .sleeve div.arrow{position:absolute;right:20px;top:18px;width:10px;height:10px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSI3IiB2aWV3Qm94PSIwIDAgOSA3IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNS4yMzcxNiA2LjYyNDkzQzQuOTAzMjMgNy4xMjUwMiA0LjA5NyA3LjEyNTAyIDMuNzYzMDggNi42MjQ5M0wwLjEyMzg2OCAxLjE3MDYzQy0wLjIxOTk0IDAuNjU1NDU5IDAuMTkyNjMgMS44MzcxZS0wNyAwLjg2MDkwOCAyLjQyMTMyZS0wN0w4LjEzOTMzIDguNzg0MzJlLTA3QzguODA3MTggOS4zNjgxN2UtMDcgOS4yMTk3NSAwLjY1NTQ1OSA4Ljg3NjM3IDEuMTcwNjNMNS4yMzcxNiA2LjYyNDkzWiIgZmlsbD0iIzJDMDg5QiIvPgo8L3N2Zz4K\");background-size:contain;background-repeat:no-repeat;background-position:center center;z-index:1;pointer-events:none}.dropdown.select-style-underlined .sleeve{font-size:17px;line-height:24px;padding:1px;position:relative;border-bottom:1px solid #2C089B}.dropdown.select-style-underlined .sleeve select{color:#2C089B;display:block;position:relative;padding:10px 80px 10px 10px}.dropdown.select-style-underlined .sleeve div.arrow{position:absolute;right:20px;top:18px;width:10px;height:10px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSI3IiB2aWV3Qm94PSIwIDAgOSA3IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNS4yMzcxNiA2LjYyNDkzQzQuOTAzMjMgNy4xMjUwMiA0LjA5NyA3LjEyNTAyIDMuNzYzMDggNi42MjQ5M0wwLjEyMzg2OCAxLjE3MDYzQy0wLjIxOTk0IDAuNjU1NDU5IDAuMTkyNjMgMS44MzcxZS0wNyAwLjg2MDkwOCAyLjQyMTMyZS0wN0w4LjEzOTMzIDguNzg0MzJlLTA3QzguODA3MTggOS4zNjgxN2UtMDcgOS4yMTk3NSAwLjY1NTQ1OSA4Ljg3NjM3IDEuMTcwNjNMNS4yMzcxNiA2LjYyNDkzWiIgZmlsbD0iIzJDMDg5QiIvPgo8L3N2Zz4K\");background-size:contain;background-repeat:no-repeat;background-position:center center;z-index:1;pointer-events:none}.dropdown.inherit-colour select{color:inherit !important}.dropdown select{max-height:200px;overflow-x:hidden;overflow-y:scroll;width:100%;z-index:1;left:0;right:0}.dropdown.active .options{display:block}.dropdown.noprompt{margin-top:0}.options.grey{background-color:#F6F6F}";
3
+ const biggiveFormFieldSelectCss = "a{color:inherit;text-decoration:underline}a:hover{text-decoration:none}.space-above-0{margin-top:0}.space-above-1{margin-top:5px}.space-above-2{margin-top:10px}.space-above-3{margin-top:15px}.space-above-4{margin-top:30px}.space-above-5{margin-top:45px}.space-above-6{margin-top:60px}.space-below-0{margin-bottom:0}.space-below-1{margin-bottom:5px}.space-below-2{margin-bottom:10px}.space-below-3{margin-bottom:15px}.space-below-4{margin-bottom:30px}.space-below-5{margin-bottom:45px}.space-below-6{margin-bottom:60px}:host{display:contents}*,*::before,*::after{box-sizing:border-box}select{appearance:none;border:none;padding:0 1em 0 0;margin:0;width:100%;font-family:inherit;font-size:inherit;cursor:inherit;line-height:inherit;outline:none;display:grid;background-color:#FFFFFF;align-items:center}select.grey{background-color:#F6F6F6}.selectWrapper{position:relative}.prompt{position:absolute;z-index:2;font-size:small;top:-1em;background-color:#FFFFFF;left:4em;padding-left:1em;padding-right:1em;color:#2C089B}.prompt.grey{background-color:#F6F6F6}.dropdown{font-family:\"Euclid Triangle\", sans-serif;font-size:17px;line-height:24px;position:relative;text-align:left}.dropdown.select-style-bordered .sleeve{font-size:17px;line-height:24px;padding:2px;position:relative;background-color:#2C089B;clip-path:polygon(0% 0%, 0% 0%, calc(100% - 15px) 0%, 100% 15px, 100% 100%, 100% 100%, 0 100%, 0 100%)}.dropdown.select-style-bordered .sleeve select{color:#2C089B;display:block;position:relative;padding:10px 80px 10px 10px;clip-path:polygon(0% 0%, 0% 0%, calc(100% - 14px) 0%, 100% 14px, 100% 100%, 100% 100%, 0 100%, 0 100%)}.dropdown.select-style-bordered .sleeve select span.placeholder.grey{background-color:#F6F6F6}.dropdown.select-style-bordered .sleeve div.arrow{position:absolute;right:20px;top:18px;width:10px;height:10px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSI3IiB2aWV3Qm94PSIwIDAgOSA3IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNS4yMzcxNiA2LjYyNDkzQzQuOTAzMjMgNy4xMjUwMiA0LjA5NyA3LjEyNTAyIDMuNzYzMDggNi42MjQ5M0wwLjEyMzg2OCAxLjE3MDYzQy0wLjIxOTk0IDAuNjU1NDU5IDAuMTkyNjMgMS44MzcxZS0wNyAwLjg2MDkwOCAyLjQyMTMyZS0wN0w4LjEzOTMzIDguNzg0MzJlLTA3QzguODA3MTggOS4zNjgxN2UtMDcgOS4yMTk3NSAwLjY1NTQ1OSA4Ljg3NjM3IDEuMTcwNjNMNS4yMzcxNiA2LjYyNDkzWiIgZmlsbD0iIzJDMDg5QiIvPgo8L3N2Zz4K\");background-size:contain;background-repeat:no-repeat;background-position:center center;z-index:1;pointer-events:none}.dropdown.select-style-underlined .sleeve{font-size:17px;line-height:24px;padding:1px;position:relative;border-bottom:1px solid #2C089B}.dropdown.select-style-underlined .sleeve select{color:#2C089B;display:block;position:relative;padding:10px 80px 10px 10px}.dropdown.select-style-underlined .sleeve div.arrow{position:absolute;right:20px;top:18px;width:10px;height:10px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSI3IiB2aWV3Qm94PSIwIDAgOSA3IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNS4yMzcxNiA2LjYyNDkzQzQuOTAzMjMgNy4xMjUwMiA0LjA5NyA3LjEyNTAyIDMuNzYzMDggNi42MjQ5M0wwLjEyMzg2OCAxLjE3MDYzQy0wLjIxOTk0IDAuNjU1NDU5IDAuMTkyNjMgMS44MzcxZS0wNyAwLjg2MDkwOCAyLjQyMTMyZS0wN0w4LjEzOTMzIDguNzg0MzJlLTA3QzguODA3MTggOS4zNjgxN2UtMDcgOS4yMTk3NSAwLjY1NTQ1OSA4Ljg3NjM3IDEuMTcwNjNMNS4yMzcxNiA2LjYyNDkzWiIgZmlsbD0iIzJDMDg5QiIvPgo8L3N2Zz4K\");background-size:contain;background-repeat:no-repeat;background-position:center center;z-index:1;pointer-events:none}.dropdown.inherit-colour select{color:inherit !important}.dropdown select{max-height:200px;overflow-x:hidden;overflow-y:scroll;width:100%;z-index:1;left:0;right:0}.dropdown.active .options{display:block}.dropdown.noprompt{margin-top:0}.options.grey{background-color:#F6F6F6}";
4
4
  const BiggiveFormFieldSelectStyle0 = biggiveFormFieldSelectCss;
5
5
 
6
6
  const BiggiveFormFieldSelect = /*@__PURE__*/ proxyCustomElement(class BiggiveFormFieldSelect extends HTMLElement {
@@ -1 +1 @@
1
- {"file":"biggive-form-field-select2.js","mappings":";;AAAA,MAAM,yBAAyB,GAAG,6qHAA6qH,CAAC;AAChtH,qCAAe,yBAAyB;;MCO3B,sBAAsB;;;;;;QA4BzB,mCAA8B,GAAG,CAAC,KAAU;YAClD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACxC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC9B,CAAC;;;;;;2BAjB+C,UAAU;;oCAOR,MAAM;0BAe5B,CAAC;;;IAM9B,iBAAiB;QACf,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACjD;IAED,MAAM;QACJ,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,KAAK,MAAM,GAAG,OAAO,GAAG,EAAE,CAAC;QAEvE,IAAI,OAAgD,CAAC;QACrD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;YACpC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAY,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC1B,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;aACjF;YACD,OAAO,GAAG,MAAM,CAAC;SAClB;aAAM;YACL,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;SACxB;QAED,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE;YAClF,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC;SAC/E;QAED,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;YAClC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACnC,OAAO,GAAG,EAAE,CAAC;SACd;QAED,QACE,4DAAK,KAAK,EAAC,eAAe,IACxB,8DAAO,KAAK,EAAE,cAAc,IAC1B,4DAAK,KAAK,EAAE,QAAQ,GAAG,cAAc,IAAG,IAAI,CAAC,MAAM,CAAO,EAC1D,4DACE,KAAK,EACH,uBAAuB;gBACvB,IAAI,CAAC,UAAU;gBACf,gBAAgB;gBAChB,IAAI,CAAC,WAAW;iBACf,IAAI,CAAC,MAAM,KAAK,IAAI,GAAG,YAAY,GAAG,EAAE,CAAC;iBACzC,IAAI,CAAC,oBAAoB,KAAK,SAAS,GAAG,iBAAiB,GAAG,EAAE,CAAC,IAGpE,4DAAK,KAAK,EAAC,QAAQ,IACjB,+DAAQ,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,8BAA8B,IACzE,OAAO,CAAC,GAAG,CAAC,MAAM,KACjB,cAAQ,QAAQ,EAAE,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IACvE,MAAM,CAAC,KAAK,CACN,CACV,CAAC,CACK,EACT,4DAAK,KAAK,EAAC,OAAO,GAAO,CACrB,CACF,CACA,CACJ,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/biggive-form-field-select/biggive-form-field-select.scss?tag=biggive-form-field-select&encapsulation=shadow","src/components/biggive-form-field-select/biggive-form-field-select.tsx"],"sourcesContent":["@include spacers();\n\n// Includes CSS taken from https://moderncss.dev/custom-select-styles-with-pure-css/\n\n:host {\n display: contents;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nselect {\n appearance: none;\n border: none;\n padding: 0 1em 0 0;\n margin: 0;\n width: 100%;\n font-family: inherit;\n font-size: inherit;\n cursor: inherit;\n line-height: inherit;\n outline: none;\n display: grid;\n background-color: $colour-white;\n align-items: center;\n}\nselect.grey {\n background-color: $colour-grey-background;\n}\n.selectWrapper {\n position: relative;\n}\n.prompt {\n position: absolute;\n z-index: 2;\n font-size: small;\n top: -1em;\n background-color: $colour-white;\n left: 4em;\n padding-left: 1em;\n padding-right: 1em;\n color: $colour-primary-blue;\n}\n.prompt.grey {\n background-color: $colour-grey-background;\n}\n\n.dropdown {\n @include standard-font();\n position: relative;\n text-align: left;\n &.select-style-bordered {\n .sleeve {\n @include dropdown();\n }\n }\n &.select-style-underlined {\n .sleeve {\n @include dropdown-underlined();\n }\n }\n &.inherit-colour select{\n color: inherit !important;\n }\n\n select {\n max-height: 200px;\n overflow-x: hidden;\n overflow-y: scroll;\n width: 100%;\n z-index: 1;\n left: 0;\n right: 0;\n }\n &.active .options {\n display: block;\n }\n}\n.dropdown.noprompt {\n margin-top: 0;\n}\n.options.grey {\n background-color: $colour-grey-background;\n}\n","import { Component, Prop, h, Element, AttachInternals } from '@stencil/core';\n\n@Component({\n tag: 'biggive-form-field-select',\n styleUrl: 'biggive-form-field-select.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class BiggiveFormFieldSelect {\n @Element() el: HTMLBiggiveFormFieldSelectElement;\n\n @Prop() selectionChanged: (value: string) => void;\n\n /**\n * Displayed as 'eyebrow' label over the top border of the box.\n */\n @Prop() prompt!: string | null;\n\n @Prop({ mutable: true }) selectedValue: string | null;\n @Prop({ mutable: true }) selectedLabel: string | null;\n\n /**\n * JSON array of category key/values, or takes a stringified equiavalent (for Storybook)\n */\n @Prop() options!: string | Array<{ label: string; value: string }>;\n @Prop() selectStyle: 'bordered' | 'underlined' = 'bordered';\n\n /**\n * Must match background of containing element, or unintended shape will appear.\n */\n @Prop() backgroundColour: 'white' | 'grey';\n\n @Prop() selectedOptionColour: 'inherit' | 'blue' = 'blue';\n\n @AttachInternals() internals: ElementInternals;\n\n private doOptionSelectCompletedHandler = (event: any) => {\n const value = event.target.value;\n this.selectedValue = value;\n this.selectedLabel = event.target.label;\n this.internals.setFormValue(value);\n this.selectionChanged(value);\n };\n\n /**\n * Space below component\n */\n @Prop() spaceBelow: number = 0;\n /**\n * Placeholder\n */\n @Prop() placeholder: string | undefined;\n\n componentWillLoad() {\n this.internals.setFormValue(this.selectedValue);\n }\n\n render() {\n const greyIfRequired = this.backgroundColour === 'grey' ? ' grey' : '';\n\n let options: Array<{ label: string; value: string }>;\n if (typeof this.options === 'string') {\n let parsed = JSON.parse(this.options) as unknown;\n if (!Array.isArray(parsed)) {\n throw new Error('Options should be an Array<{ label: string; value: string }>');\n }\n options = parsed;\n } else {\n options = this.options;\n }\n\n if (typeof this.placeholder === 'string' && typeof this.selectedValue !== 'string') {\n options = [{ value: '__placeholder__', label: this.placeholder }, ...options];\n }\n\n if (typeof options === 'undefined') {\n console.error('options undefined');\n options = [];\n }\n\n return (\n <div class=\"selectWrapper\">\n <label class={greyIfRequired}>\n <div class={'prompt' + greyIfRequired}>{this.prompt}</div>\n <div\n class={\n 'dropdown space-below-' +\n this.spaceBelow +\n ' select-style-' +\n this.selectStyle +\n (this.prompt === null ? ' noprompt' : '') +\n (this.selectedOptionColour === 'inherit' ? ' inherit-colour' : '')\n }\n >\n <div class=\"sleeve\">\n <select class={greyIfRequired} onChange={this.doOptionSelectCompletedHandler}>\n {options.map(option => (\n <option selected={this.selectedValue === option.value} value={option.value}>\n {option.label}\n </option>\n ))}\n </select>\n <div class=\"arrow\"></div>\n </div>\n </div>\n </label>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"biggive-form-field-select2.js","mappings":";;AAAA,MAAM,yBAAyB,GAAG,irHAAirH,CAAC;AACptH,qCAAe,yBAAyB;;MCO3B,sBAAsB;;;;;;QA4BzB,mCAA8B,GAAG,CAAC,KAAU;YAClD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACxC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC9B,CAAC;;;;;;2BAjB+C,UAAU;;oCAOR,MAAM;0BAe5B,CAAC;;;IAM9B,iBAAiB;QACf,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KACjD;IAED,MAAM;QACJ,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,KAAK,MAAM,GAAG,OAAO,GAAG,EAAE,CAAC;QAEvE,IAAI,OAAgD,CAAC;QACrD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;YACpC,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAY,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAC1B,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;aACjF;YACD,OAAO,GAAG,MAAM,CAAC;SAClB;aAAM;YACL,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;SACxB;QAED,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE;YAClF,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC;SAC/E;QAED,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;YAClC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACnC,OAAO,GAAG,EAAE,CAAC;SACd;QAED,QACE,4DAAK,KAAK,EAAC,eAAe,IACxB,8DAAO,KAAK,EAAE,cAAc,IAC1B,4DAAK,KAAK,EAAE,QAAQ,GAAG,cAAc,IAAG,IAAI,CAAC,MAAM,CAAO,EAC1D,4DACE,KAAK,EACH,uBAAuB;gBACvB,IAAI,CAAC,UAAU;gBACf,gBAAgB;gBAChB,IAAI,CAAC,WAAW;iBACf,IAAI,CAAC,MAAM,KAAK,IAAI,GAAG,YAAY,GAAG,EAAE,CAAC;iBACzC,IAAI,CAAC,oBAAoB,KAAK,SAAS,GAAG,iBAAiB,GAAG,EAAE,CAAC,IAGpE,4DAAK,KAAK,EAAC,QAAQ,IACjB,+DAAQ,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC,8BAA8B,IACzE,OAAO,CAAC,GAAG,CAAC,MAAM,KACjB,cAAQ,QAAQ,EAAE,IAAI,CAAC,aAAa,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IACvE,MAAM,CAAC,KAAK,CACN,CACV,CAAC,CACK,EACT,4DAAK,KAAK,EAAC,OAAO,GAAO,CACrB,CACF,CACA,CACJ,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/biggive-form-field-select/biggive-form-field-select.scss?tag=biggive-form-field-select&encapsulation=shadow","src/components/biggive-form-field-select/biggive-form-field-select.tsx"],"sourcesContent":["@include spacers();\n\n// Includes CSS taken from https://moderncss.dev/custom-select-styles-with-pure-css/\n\n:host {\n display: contents;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nselect {\n appearance: none;\n border: none;\n padding: 0 1em 0 0;\n margin: 0;\n width: 100%;\n font-family: inherit;\n font-size: inherit;\n cursor: inherit;\n line-height: inherit;\n outline: none;\n display: grid;\n background-color: $colour-white;\n align-items: center;\n}\nselect.grey {\n background-color: $colour-grey-background;\n}\n.selectWrapper {\n position: relative;\n}\n.prompt {\n position: absolute;\n z-index: 2;\n font-size: small;\n top: -1em;\n background-color: $colour-white;\n left: 4em;\n padding-left: 1em;\n padding-right: 1em;\n color: $colour-primary-blue;\n}\n.prompt.grey {\n background-color: $colour-grey-background;\n}\n\n.dropdown {\n @include standard-font();\n position: relative;\n text-align: left;\n &.select-style-bordered {\n .sleeve {\n @include dropdown();\n }\n }\n &.select-style-underlined {\n .sleeve {\n @include dropdown-underlined();\n }\n }\n &.inherit-colour select{\n color: inherit !important;\n }\n\n select {\n max-height: 200px;\n overflow-x: hidden;\n overflow-y: scroll;\n width: 100%;\n z-index: 1;\n left: 0;\n right: 0;\n }\n &.active .options {\n display: block;\n }\n}\n.dropdown.noprompt {\n margin-top: 0;\n}\n.options.grey {\n background-color: $colour-grey-background;\n}\n","import { Component, Prop, h, Element, AttachInternals } from '@stencil/core';\n\n@Component({\n tag: 'biggive-form-field-select',\n styleUrl: 'biggive-form-field-select.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class BiggiveFormFieldSelect {\n @Element() el: HTMLBiggiveFormFieldSelectElement;\n\n @Prop() selectionChanged: (value: string) => void;\n\n /**\n * Displayed as 'eyebrow' label over the top border of the box.\n */\n @Prop() prompt!: string | null;\n\n @Prop({ mutable: true }) selectedValue: string | null;\n @Prop({ mutable: true }) selectedLabel: string | null;\n\n /**\n * JSON array of category key/values, or takes a stringified equiavalent (for Storybook)\n */\n @Prop() options!: string | Array<{ label: string; value: string }>;\n @Prop() selectStyle: 'bordered' | 'underlined' = 'bordered';\n\n /**\n * Must match background of containing element, or unintended shape will appear.\n */\n @Prop() backgroundColour: 'white' | 'grey';\n\n @Prop() selectedOptionColour: 'inherit' | 'blue' = 'blue';\n\n @AttachInternals() internals: ElementInternals;\n\n private doOptionSelectCompletedHandler = (event: any) => {\n const value = event.target.value;\n this.selectedValue = value;\n this.selectedLabel = event.target.label;\n this.internals.setFormValue(value);\n this.selectionChanged(value);\n };\n\n /**\n * Space below component\n */\n @Prop() spaceBelow: number = 0;\n /**\n * Placeholder\n */\n @Prop() placeholder: string | undefined;\n\n componentWillLoad() {\n this.internals.setFormValue(this.selectedValue);\n }\n\n render() {\n const greyIfRequired = this.backgroundColour === 'grey' ? ' grey' : '';\n\n let options: Array<{ label: string; value: string }>;\n if (typeof this.options === 'string') {\n let parsed = JSON.parse(this.options) as unknown;\n if (!Array.isArray(parsed)) {\n throw new Error('Options should be an Array<{ label: string; value: string }>');\n }\n options = parsed;\n } else {\n options = this.options;\n }\n\n if (typeof this.placeholder === 'string' && typeof this.selectedValue !== 'string') {\n options = [{ value: '__placeholder__', label: this.placeholder }, ...options];\n }\n\n if (typeof options === 'undefined') {\n console.error('options undefined');\n options = [];\n }\n\n return (\n <div class=\"selectWrapper\">\n <label class={greyIfRequired}>\n <div class={'prompt' + greyIfRequired}>{this.prompt}</div>\n <div\n class={\n 'dropdown space-below-' +\n this.spaceBelow +\n ' select-style-' +\n this.selectStyle +\n (this.prompt === null ? ' noprompt' : '') +\n (this.selectedOptionColour === 'inherit' ? ' inherit-colour' : '')\n }\n >\n <div class=\"sleeve\">\n <select class={greyIfRequired} onChange={this.doOptionSelectCompletedHandler}>\n {options.map(option => (\n <option selected={this.selectedValue === option.value} value={option.value}>\n {option.label}\n </option>\n ))}\n </select>\n <div class=\"arrow\"></div>\n </div>\n </div>\n </label>\n </div>\n );\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
2
 
3
- const biggiveTextInputCss = "a{color:inherit;text-decoration:underline}a:hover{text-decoration:none}.space-above-0{margin-top:0}.space-above-1{margin-top:5px}.space-above-2{margin-top:10px}.space-above-3{margin-top:15px}.space-above-4{margin-top:30px}.space-above-5{margin-top:45px}.space-above-6{margin-top:60px}.space-below-0{margin-bottom:0}.space-below-1{margin-bottom:5px}.space-below-2{margin-bottom:10px}.space-below-3{margin-bottom:15px}.space-below-4{margin-bottom:30px}.space-below-5{margin-bottom:45px}.space-below-6{margin-bottom:60px}:host{display:contents}.text-input{position:relative;font-family:\"Euclid Triangle\", sans-serif;font-size:17px;line-height:24px;position:relative;text-align:left}.text-input .currency-symbol{position:absolute}.text-input .prompt{position:absolute;z-index:2;font-size:small;top:-1em;background-color:#F6F6F;left:4em;padding-left:1em;padding-right:1em;color:#2C089B}.text-input.select-style-bordered .sleeve{font-size:24px;line-height:30px;font-weight:bolder;padding:2px;position:relative;background-color:#2C089B;clip-path:polygon(0% 0%, 0% 0%, calc(100% - 15px) 0%, 100% 15px, 100% 100%, 100% 100%, 0 100%, 0 100%)}.text-input.select-style-bordered .sleeve .inner-sleave{background-color:#F6F6F;color:#2C089B;display:block;position:relative;padding:10px 30px 10px 10px;clip-path:polygon(0% 0%, 0% 0%, calc(100% - 14px) 0%, 100% 14px, 100% 100%, 100% 100%, 0 100%, 0 100%)}.text-input.select-style-bordered .sleeve .inner-sleave:after{content:\"\";display:block;position:absolute;right:20px;top:18px;width:10px;height:10px;background-size:contain;background-repeat:no-repeat;background-position:center center}";
3
+ const biggiveTextInputCss = "a{color:inherit;text-decoration:underline}a:hover{text-decoration:none}.space-above-0{margin-top:0}.space-above-1{margin-top:5px}.space-above-2{margin-top:10px}.space-above-3{margin-top:15px}.space-above-4{margin-top:30px}.space-above-5{margin-top:45px}.space-above-6{margin-top:60px}.space-below-0{margin-bottom:0}.space-below-1{margin-bottom:5px}.space-below-2{margin-bottom:10px}.space-below-3{margin-bottom:15px}.space-below-4{margin-bottom:30px}.space-below-5{margin-bottom:45px}.space-below-6{margin-bottom:60px}:host{display:contents}.text-input{position:relative;font-family:\"Euclid Triangle\", sans-serif;font-size:17px;line-height:24px;position:relative;text-align:left}.text-input .currency-symbol{position:absolute}.text-input .prompt{position:absolute;z-index:2;font-size:small;top:-1em;background-color:#F6F6F6;left:4em;padding-left:1em;padding-right:1em;color:#2C089B}.text-input.select-style-bordered .sleeve{font-size:24px;line-height:30px;font-weight:bolder;padding:2px;position:relative;background-color:#2C089B;clip-path:polygon(0% 0%, 0% 0%, calc(100% - 15px) 0%, 100% 15px, 100% 100%, 100% 100%, 0 100%, 0 100%)}.text-input.select-style-bordered .sleeve .inner-sleave{background-color:#F6F6F6;color:#2C089B;display:block;position:relative;padding:10px 30px 10px 10px;clip-path:polygon(0% 0%, 0% 0%, calc(100% - 14px) 0%, 100% 14px, 100% 100%, 100% 100%, 0 100%, 0 100%)}.text-input.select-style-bordered .sleeve .inner-sleave:after{content:\"\";display:block;position:absolute;right:20px;top:18px;width:10px;height:10px;background-size:contain;background-repeat:no-repeat;background-position:center center}";
4
4
  const BiggiveTextInputStyle0 = biggiveTextInputCss;
5
5
 
6
6
  const BiggiveTextInput$1 = /*@__PURE__*/ proxyCustomElement(class BiggiveTextInput extends HTMLElement {
@@ -1 +1 @@
1
- {"file":"biggive-text-input.js","mappings":";;AAAA,MAAM,mBAAmB,GAAG,6lDAA6lD,CAAC;AAC1nD,+BAAe,mBAAmB;;MCYrBA,kBAAgB;;;;;;;0BAME,CAAC;2BACmB,UAAU;;IAE3D,MAAM;QACJ,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,GAAG,GAAG,SAAS,CAAC;QACjG,QACE,4DAAK,KAAK,EAAE,yBAAyB,GAAG,IAAI,CAAC,UAAU,GAAG,gBAAgB,GAAG,IAAI,CAAC,WAAW,IAC3F,4DAAK,KAAK,EAAC,QAAQ,IACjB,4DAAK,KAAK,EAAC,cAAc,IACtB,cAAc,IAAI,YAAM,KAAK,EAAC,iBAAiB,IAAE,cAAc,CAAQ,EACxE,6DAAM,IAAI,EAAC,OAAO,GAAG,EACrB,4DAAK,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAQ,CACjC,CACF,EACN,4DAAK,KAAK,EAAC,QAAQ,IACjB,6DAAM,IAAI,EAAC,OAAO,GAAG,CACjB,CACF,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["BiggiveTextInput"],"sources":["src/components/biggive-form-field-text-input/biggive-text-input.scss?tag=biggive-text-input&encapsulation=shadow","src/components/biggive-form-field-text-input/biggive-text-input.tsx"],"sourcesContent":["@include spacers();\n\n:host {\n display: contents;\n}\n.text-input {\n .currency-symbol {\n position: absolute;\n }\n position: relative;\n .prompt {\n position: absolute;\n z-index: 2;\n font-size: small;\n top: -1em;\n background-color: $colour-grey-background;\n left: 4em;\n padding-left: 1em;\n padding-right: 1em;\n color: $colour-primary-blue;\n }\n\n @include standard-font();\n position: relative;\n text-align: left;\n &.select-style-bordered {\n .sleeve {\n @include font-size-large();\n font-weight: bolder;\n padding: 2px;\n position: relative;\n background-color: $colour-primary-blue;\n @include corner-clip-small-top-right();\n .inner-sleave {\n background-color: $colour-grey-background;\n color: $colour-primary-blue;\n display: block;\n position: relative;\n padding: 10px 30px 10px 10px;\n clip-path:\n polygon(\n 0% 0%, /* top left */\n 0% 0%, /* top left */\n calc(100% - 14px) 0%, /* top right */\n 100% 14px, /* top right */\n 100% 100%, /* bottom right */\n 100% 100%, /* bottom right */\n 0 100%, /* bottom left */\n 0 100% /* bottom left */\n );\n &:after {\n content: '';\n display: block;\n position: absolute;\n right: 20px;\n top: 18px;\n width: 10px;\n height: 10px;\n background-size: contain;\n background-repeat: no-repeat;\n background-position: center center;\n }\n }\n }\n }\n}\n\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * Initially developed for use within the new donate stepper design. Currently has a hard-coded background\n * of $colour-grey-background, intened to appear transparent when used on a page with a matching background.\n *\n * Please ensure input is styled as width: 100%.\n */\n@Component({\n tag: 'biggive-text-input',\n styleUrl: 'biggive-text-input.scss',\n shadow: true,\n})\nexport class BiggiveTextInput {\n @Prop() value!: string;\n /**\n * ISO-4217 currency code if input is for a money value\n */\n @Prop() currency: 'GBP' | 'USD' | undefined;\n @Prop() spaceBelow: number = 0;\n @Prop() selectStyle: 'bordered' | 'underlined' = 'bordered';\n\n render() {\n const currencySymbol = this.currency === 'GBP' ? '£' : this.currency === 'USD' ? '$' : undefined;\n return (\n <div class={'text-input space-below-' + this.spaceBelow + ' select-style-' + this.selectStyle}>\n <div class=\"sleeve\">\n <div class=\"inner-sleave\">\n {currencySymbol && <span class=\"currency-symbol\">{currencySymbol}</span>}\n <slot name=\"input\" />\n <div style={{ clear: 'both' }}></div>\n </div>\n </div>\n <div class=\"prompt\">\n <slot name=\"label\" />\n </div>\n </div>\n );\n }\n}\n"],"version":3}
1
+ {"file":"biggive-text-input.js","mappings":";;AAAA,MAAM,mBAAmB,GAAG,+lDAA+lD,CAAC;AAC5nD,+BAAe,mBAAmB;;MCYrBA,kBAAgB;;;;;;;0BAME,CAAC;2BACmB,UAAU;;IAE3D,MAAM;QACJ,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,GAAG,GAAG,SAAS,CAAC;QACjG,QACE,4DAAK,KAAK,EAAE,yBAAyB,GAAG,IAAI,CAAC,UAAU,GAAG,gBAAgB,GAAG,IAAI,CAAC,WAAW,IAC3F,4DAAK,KAAK,EAAC,QAAQ,IACjB,4DAAK,KAAK,EAAC,cAAc,IACtB,cAAc,IAAI,YAAM,KAAK,EAAC,iBAAiB,IAAE,cAAc,CAAQ,EACxE,6DAAM,IAAI,EAAC,OAAO,GAAG,EACrB,4DAAK,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAQ,CACjC,CACF,EACN,4DAAK,KAAK,EAAC,QAAQ,IACjB,6DAAM,IAAI,EAAC,OAAO,GAAG,CACjB,CACF,EACN;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["BiggiveTextInput"],"sources":["src/components/biggive-form-field-text-input/biggive-text-input.scss?tag=biggive-text-input&encapsulation=shadow","src/components/biggive-form-field-text-input/biggive-text-input.tsx"],"sourcesContent":["@include spacers();\n\n:host {\n display: contents;\n}\n.text-input {\n .currency-symbol {\n position: absolute;\n }\n position: relative;\n .prompt {\n position: absolute;\n z-index: 2;\n font-size: small;\n top: -1em;\n background-color: $colour-grey-background;\n left: 4em;\n padding-left: 1em;\n padding-right: 1em;\n color: $colour-primary-blue;\n }\n\n @include standard-font();\n position: relative;\n text-align: left;\n &.select-style-bordered {\n .sleeve {\n @include font-size-large();\n font-weight: bolder;\n padding: 2px;\n position: relative;\n background-color: $colour-primary-blue;\n @include corner-clip-small-top-right();\n .inner-sleave {\n background-color: $colour-grey-background;\n color: $colour-primary-blue;\n display: block;\n position: relative;\n padding: 10px 30px 10px 10px;\n clip-path:\n polygon(\n 0% 0%, /* top left */\n 0% 0%, /* top left */\n calc(100% - 14px) 0%, /* top right */\n 100% 14px, /* top right */\n 100% 100%, /* bottom right */\n 100% 100%, /* bottom right */\n 0 100%, /* bottom left */\n 0 100% /* bottom left */\n );\n &:after {\n content: '';\n display: block;\n position: absolute;\n right: 20px;\n top: 18px;\n width: 10px;\n height: 10px;\n background-size: contain;\n background-repeat: no-repeat;\n background-position: center center;\n }\n }\n }\n }\n}\n\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * Initially developed for use within the new donate stepper design. Currently has a hard-coded background\n * of $colour-grey-background, intened to appear transparent when used on a page with a matching background.\n *\n * Please ensure input is styled as width: 100%.\n */\n@Component({\n tag: 'biggive-text-input',\n styleUrl: 'biggive-text-input.scss',\n shadow: true,\n})\nexport class BiggiveTextInput {\n @Prop() value!: string;\n /**\n * ISO-4217 currency code if input is for a money value\n */\n @Prop() currency: 'GBP' | 'USD' | undefined;\n @Prop() spaceBelow: number = 0;\n @Prop() selectStyle: 'bordered' | 'underlined' = 'bordered';\n\n render() {\n const currencySymbol = this.currency === 'GBP' ? '£' : this.currency === 'USD' ? '$' : undefined;\n return (\n <div class={'text-input space-below-' + this.spaceBelow + ' select-style-' + this.selectStyle}>\n <div class=\"sleeve\">\n <div class=\"inner-sleave\">\n {currencySymbol && <span class=\"currency-symbol\">{currencySymbol}</span>}\n <slot name=\"input\" />\n <div style={{ clear: 'both' }}></div>\n </div>\n </div>\n <div class=\"prompt\">\n <slot name=\"label\" />\n </div>\n </div>\n );\n }\n}\n"],"version":3}
@@ -286,7 +286,7 @@ const BiggiveCampaignCard = class {
286
286
  };
287
287
  BiggiveCampaignCard.style = BiggiveCampaignCardStyle0;
288
288
 
289
- const biggiveCampaignCardFilterGridCss = "a{color:inherit;text-decoration:underline}a:hover{text-decoration:none}.space-above-0{margin-top:0}.space-above-1{margin-top:5px}.space-above-2{margin-top:10px}.space-above-3{margin-top:15px}.space-above-4{margin-top:30px}.space-above-5{margin-top:45px}.space-above-6{margin-top:60px}.space-below-0{margin-bottom:0}.space-below-1{margin-bottom:5px}.space-below-2{margin-bottom:10px}.space-below-3{margin-bottom:15px}.space-below-4{margin-bottom:30px}.space-below-5{margin-bottom:45px}.space-below-6{margin-bottom:60px}:host{display:content}.select-wrapper-1,.select-wrapper-2,.select-wrapper-3,.select-wrapper-4{position:relative;margin-top:1em}.select-wrapper-1{z-index:4}.select-wrapper-2{z-index:3}.select-wrapper-3{z-index:2}.select-wrapper-4{z-index:1}.container{font-family:\"Euclid Triangle\", sans-serif;font-size:17px;line-height:24px;position:relative}.container .search-wrap{background-color:#FFFFFF;padding:15px 30px;margin-bottom:15px}.container .search-wrap h4{margin-bottom:15px}.container .search-wrap .field-wrap{display:flex;justify-content:space-between}.container .search-wrap .field-wrap .input-wrap{display:flex;justify-content:space-between;padding-bottom:5px;border-bottom:1px solid #000000;margin-right:30px;flex-grow:1}.container .search-wrap .field-wrap .input-wrap input{border:0}.container .search-wrap .field-wrap button{padding:5px 30px}.selected-filter-wrap{display:flex;margin-bottom:30px;padding:0}.selected-filter-wrap .button{cursor:pointer;border-radius:20px;padding:5px 50px 5px 20px;margin-right:15px;background-color:#FF7272;color:#000000;border:1px solid #FF7272;text-decoration:none;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMTguNCAxOC40IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOC40IDE4LjQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7c3Ryb2tlOiMwMDAwMDA7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNOS4yLDguNUwxNywwLjdsMC43LDAuN0w5LjksOS4ybDcuOCw3LjhMMTcsMTcuN0w5LjIsOS45bC03LjgsNy44TDAuNywxN2w3LjgtNy44TDAuNywxLjRsMC43LTAuN0w5LjIsOC41eiIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:right 20px center;background-size:12px auto}.selected-filter-wrap .button:hover{background-color:#FFFFFF;color:#000000}.selected-filter-wrap .clear-all{margin-left:auto}.selected-filter-wrap .clear-all a{cursor:pointer;border-radius:20px;padding:5px 20px;background-color:#2C089B;color:#FFFFFF;border:1px solid #2C089B;text-decoration:none}.selected-filter-wrap .clear-all a:hover{background-color:#FFFFFF;color:#2C089B}.sort-filter-wrap{display:flex;justify-content:flex-end;margin-bottom:30px;padding:0;text-align:right;display:flex}.sort-filter-wrap .clear-all{cursor:pointer;vertical-align:center;margin-top:auto;margin-bottom:auto}.sort-filter-wrap .sort-wrap{margin-left:15px}.sort-filter-wrap .filter-wrap{background-color:#F6F6F;margin-left:15px}.sort-filter-wrap .filter-wrap .button.filter{padding-left:60px;padding-right:30px}.sort-filter-wrap .filter-wrap .button.filter .filter-icon{content:\"\";display:block;position:absolute;left:25px;top:17px;width:13px;height:13px}.sort-filter-wrap .filter-wrap .button.filter .filter-icon svg{width:100%;height:auto;vertical-align:top}.sort-filter-wrap .filter-wrap .button.filter .filter-icon svg:hover{fill:#2C089B}.icon{height:1rem;width:2rem;vertical-align:-0.125rem;margin:auto}.icon>path{fill:#2C089B}.icon-clear-all>path{fill:#000000}@media screen and (max-width: 450px){.sort-filter-wrap{flex-direction:column-reverse}.sort-filter-wrap .sort-wrap{margin-top:20px;margin-bottom:20px}}@media screen and (max-width: 350px){.sort-filter-wrap{justify-content:space-between}.sort-filter-wrap .sort-wrap{margin-left:0px}.sort-filter-wrap .filter-wrap{margin-left:3px}}.align-right{text-align:right}.input-text{font-family:\"Euclid Triangle\", sans-serif;font-size:17px;line-height:24px;color:#000000;padding:5px 10px;box-sizing:border-box;width:100%}.input-text:focus{outline:0}.input-text:placeholder{color:#4A4A4A}.text-colour-primary{color:#2C089B}";
289
+ const biggiveCampaignCardFilterGridCss = "a{color:inherit;text-decoration:underline}a:hover{text-decoration:none}.space-above-0{margin-top:0}.space-above-1{margin-top:5px}.space-above-2{margin-top:10px}.space-above-3{margin-top:15px}.space-above-4{margin-top:30px}.space-above-5{margin-top:45px}.space-above-6{margin-top:60px}.space-below-0{margin-bottom:0}.space-below-1{margin-bottom:5px}.space-below-2{margin-bottom:10px}.space-below-3{margin-bottom:15px}.space-below-4{margin-bottom:30px}.space-below-5{margin-bottom:45px}.space-below-6{margin-bottom:60px}:host{display:content}.select-wrapper-1,.select-wrapper-2,.select-wrapper-3,.select-wrapper-4{position:relative;margin-top:1em}.select-wrapper-1{z-index:4}.select-wrapper-2{z-index:3}.select-wrapper-3{z-index:2}.select-wrapper-4{z-index:1}.container{font-family:\"Euclid Triangle\", sans-serif;font-size:17px;line-height:24px;position:relative}.container .search-wrap{background-color:#FFFFFF;padding:15px 30px;margin-bottom:15px}.container .search-wrap h4{margin-bottom:15px}.container .search-wrap .field-wrap{display:flex;justify-content:space-between}.container .search-wrap .field-wrap .input-wrap{display:flex;justify-content:space-between;padding-bottom:5px;border-bottom:1px solid #000000;margin-right:30px;flex-grow:1}.container .search-wrap .field-wrap .input-wrap input{border:0}.container .search-wrap .field-wrap button{padding:5px 30px}.selected-filter-wrap{display:flex;margin-bottom:30px;padding:0}.selected-filter-wrap .button{cursor:pointer;border-radius:20px;padding:5px 50px 5px 20px;margin-right:15px;background-color:#FF7272;color:#000000;border:1px solid #FF7272;text-decoration:none;background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgMTguNCAxOC40IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxOC40IDE4LjQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7c3Ryb2tlOiMwMDAwMDA7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNOS4yLDguNUwxNywwLjdsMC43LDAuN0w5LjksOS4ybDcuOCw3LjhMMTcsMTcuN0w5LjIsOS45bC03LjgsNy44TDAuNywxN2w3LjgtNy44TDAuNywxLjRsMC43LTAuN0w5LjIsOC41eiIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:right 20px center;background-size:12px auto}.selected-filter-wrap .button:hover{background-color:#FFFFFF;color:#000000}.selected-filter-wrap .clear-all{margin-left:auto}.selected-filter-wrap .clear-all a{cursor:pointer;border-radius:20px;padding:5px 20px;background-color:#2C089B;color:#FFFFFF;border:1px solid #2C089B;text-decoration:none}.selected-filter-wrap .clear-all a:hover{background-color:#FFFFFF;color:#2C089B}.sort-filter-wrap{display:flex;justify-content:flex-end;margin-bottom:30px;padding:0;text-align:right;display:flex}.sort-filter-wrap .clear-all{cursor:pointer;vertical-align:center;margin-top:auto;margin-bottom:auto}.sort-filter-wrap .sort-wrap{margin-left:15px}.sort-filter-wrap .filter-wrap{background-color:#F6F6F6;margin-left:15px}.sort-filter-wrap .filter-wrap .button.filter{padding-left:60px;padding-right:30px}.sort-filter-wrap .filter-wrap .button.filter .filter-icon{content:\"\";display:block;position:absolute;left:25px;top:17px;width:13px;height:13px}.sort-filter-wrap .filter-wrap .button.filter .filter-icon svg{width:100%;height:auto;vertical-align:top}.sort-filter-wrap .filter-wrap .button.filter .filter-icon svg:hover{fill:#2C089B}.icon{height:1rem;width:2rem;vertical-align:-0.125rem;margin:auto}.icon>path{fill:#2C089B}.icon-clear-all>path{fill:#000000}@media screen and (max-width: 450px){.sort-filter-wrap{flex-direction:column-reverse}.sort-filter-wrap .sort-wrap{margin-top:20px;margin-bottom:20px}}@media screen and (max-width: 350px){.sort-filter-wrap{justify-content:space-between}.sort-filter-wrap .sort-wrap{margin-left:0px}.sort-filter-wrap .filter-wrap{margin-left:3px}}.align-right{text-align:right}.input-text{font-family:\"Euclid Triangle\", sans-serif;font-size:17px;line-height:24px;color:#000000;padding:5px 10px;box-sizing:border-box;width:100%}.input-text:focus{outline:0}.input-text:placeholder{color:#4A4A4A}.text-colour-primary{color:#2C089B}";
290
290
  const BiggiveCampaignCardFilterGridStyle0 = biggiveCampaignCardFilterGridCss;
291
291
 
292
292
  const BiggiveCampaignCardFilterGrid = class {
@@ -725,7 +725,7 @@ const BiggiveFooter = class {
725
725
  };
726
726
  BiggiveFooter.style = BiggiveFooterStyle0;
727
727
 
728
- const biggiveFormFieldSelectCss = "a{color:inherit;text-decoration:underline}a:hover{text-decoration:none}.space-above-0{margin-top:0}.space-above-1{margin-top:5px}.space-above-2{margin-top:10px}.space-above-3{margin-top:15px}.space-above-4{margin-top:30px}.space-above-5{margin-top:45px}.space-above-6{margin-top:60px}.space-below-0{margin-bottom:0}.space-below-1{margin-bottom:5px}.space-below-2{margin-bottom:10px}.space-below-3{margin-bottom:15px}.space-below-4{margin-bottom:30px}.space-below-5{margin-bottom:45px}.space-below-6{margin-bottom:60px}:host{display:contents}*,*::before,*::after{box-sizing:border-box}select{appearance:none;border:none;padding:0 1em 0 0;margin:0;width:100%;font-family:inherit;font-size:inherit;cursor:inherit;line-height:inherit;outline:none;display:grid;background-color:#FFFFFF;align-items:center}select.grey{background-color:#F6F6F}.selectWrapper{position:relative}.prompt{position:absolute;z-index:2;font-size:small;top:-1em;background-color:#FFFFFF;left:4em;padding-left:1em;padding-right:1em;color:#2C089B}.prompt.grey{background-color:#F6F6F}.dropdown{font-family:\"Euclid Triangle\", sans-serif;font-size:17px;line-height:24px;position:relative;text-align:left}.dropdown.select-style-bordered .sleeve{font-size:17px;line-height:24px;padding:2px;position:relative;background-color:#2C089B;clip-path:polygon(0% 0%, 0% 0%, calc(100% - 15px) 0%, 100% 15px, 100% 100%, 100% 100%, 0 100%, 0 100%)}.dropdown.select-style-bordered .sleeve select{color:#2C089B;display:block;position:relative;padding:10px 80px 10px 10px;clip-path:polygon(0% 0%, 0% 0%, calc(100% - 14px) 0%, 100% 14px, 100% 100%, 100% 100%, 0 100%, 0 100%)}.dropdown.select-style-bordered .sleeve select span.placeholder.grey{background-color:#F6F6F}.dropdown.select-style-bordered .sleeve div.arrow{position:absolute;right:20px;top:18px;width:10px;height:10px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSI3IiB2aWV3Qm94PSIwIDAgOSA3IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNS4yMzcxNiA2LjYyNDkzQzQuOTAzMjMgNy4xMjUwMiA0LjA5NyA3LjEyNTAyIDMuNzYzMDggNi42MjQ5M0wwLjEyMzg2OCAxLjE3MDYzQy0wLjIxOTk0IDAuNjU1NDU5IDAuMTkyNjMgMS44MzcxZS0wNyAwLjg2MDkwOCAyLjQyMTMyZS0wN0w4LjEzOTMzIDguNzg0MzJlLTA3QzguODA3MTggOS4zNjgxN2UtMDcgOS4yMTk3NSAwLjY1NTQ1OSA4Ljg3NjM3IDEuMTcwNjNMNS4yMzcxNiA2LjYyNDkzWiIgZmlsbD0iIzJDMDg5QiIvPgo8L3N2Zz4K\");background-size:contain;background-repeat:no-repeat;background-position:center center;z-index:1;pointer-events:none}.dropdown.select-style-underlined .sleeve{font-size:17px;line-height:24px;padding:1px;position:relative;border-bottom:1px solid #2C089B}.dropdown.select-style-underlined .sleeve select{color:#2C089B;display:block;position:relative;padding:10px 80px 10px 10px}.dropdown.select-style-underlined .sleeve div.arrow{position:absolute;right:20px;top:18px;width:10px;height:10px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSI3IiB2aWV3Qm94PSIwIDAgOSA3IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNS4yMzcxNiA2LjYyNDkzQzQuOTAzMjMgNy4xMjUwMiA0LjA5NyA3LjEyNTAyIDMuNzYzMDggNi42MjQ5M0wwLjEyMzg2OCAxLjE3MDYzQy0wLjIxOTk0IDAuNjU1NDU5IDAuMTkyNjMgMS44MzcxZS0wNyAwLjg2MDkwOCAyLjQyMTMyZS0wN0w4LjEzOTMzIDguNzg0MzJlLTA3QzguODA3MTggOS4zNjgxN2UtMDcgOS4yMTk3NSAwLjY1NTQ1OSA4Ljg3NjM3IDEuMTcwNjNMNS4yMzcxNiA2LjYyNDkzWiIgZmlsbD0iIzJDMDg5QiIvPgo8L3N2Zz4K\");background-size:contain;background-repeat:no-repeat;background-position:center center;z-index:1;pointer-events:none}.dropdown.inherit-colour select{color:inherit !important}.dropdown select{max-height:200px;overflow-x:hidden;overflow-y:scroll;width:100%;z-index:1;left:0;right:0}.dropdown.active .options{display:block}.dropdown.noprompt{margin-top:0}.options.grey{background-color:#F6F6F}";
728
+ const biggiveFormFieldSelectCss = "a{color:inherit;text-decoration:underline}a:hover{text-decoration:none}.space-above-0{margin-top:0}.space-above-1{margin-top:5px}.space-above-2{margin-top:10px}.space-above-3{margin-top:15px}.space-above-4{margin-top:30px}.space-above-5{margin-top:45px}.space-above-6{margin-top:60px}.space-below-0{margin-bottom:0}.space-below-1{margin-bottom:5px}.space-below-2{margin-bottom:10px}.space-below-3{margin-bottom:15px}.space-below-4{margin-bottom:30px}.space-below-5{margin-bottom:45px}.space-below-6{margin-bottom:60px}:host{display:contents}*,*::before,*::after{box-sizing:border-box}select{appearance:none;border:none;padding:0 1em 0 0;margin:0;width:100%;font-family:inherit;font-size:inherit;cursor:inherit;line-height:inherit;outline:none;display:grid;background-color:#FFFFFF;align-items:center}select.grey{background-color:#F6F6F6}.selectWrapper{position:relative}.prompt{position:absolute;z-index:2;font-size:small;top:-1em;background-color:#FFFFFF;left:4em;padding-left:1em;padding-right:1em;color:#2C089B}.prompt.grey{background-color:#F6F6F6}.dropdown{font-family:\"Euclid Triangle\", sans-serif;font-size:17px;line-height:24px;position:relative;text-align:left}.dropdown.select-style-bordered .sleeve{font-size:17px;line-height:24px;padding:2px;position:relative;background-color:#2C089B;clip-path:polygon(0% 0%, 0% 0%, calc(100% - 15px) 0%, 100% 15px, 100% 100%, 100% 100%, 0 100%, 0 100%)}.dropdown.select-style-bordered .sleeve select{color:#2C089B;display:block;position:relative;padding:10px 80px 10px 10px;clip-path:polygon(0% 0%, 0% 0%, calc(100% - 14px) 0%, 100% 14px, 100% 100%, 100% 100%, 0 100%, 0 100%)}.dropdown.select-style-bordered .sleeve select span.placeholder.grey{background-color:#F6F6F6}.dropdown.select-style-bordered .sleeve div.arrow{position:absolute;right:20px;top:18px;width:10px;height:10px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSI3IiB2aWV3Qm94PSIwIDAgOSA3IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNS4yMzcxNiA2LjYyNDkzQzQuOTAzMjMgNy4xMjUwMiA0LjA5NyA3LjEyNTAyIDMuNzYzMDggNi42MjQ5M0wwLjEyMzg2OCAxLjE3MDYzQy0wLjIxOTk0IDAuNjU1NDU5IDAuMTkyNjMgMS44MzcxZS0wNyAwLjg2MDkwOCAyLjQyMTMyZS0wN0w4LjEzOTMzIDguNzg0MzJlLTA3QzguODA3MTggOS4zNjgxN2UtMDcgOS4yMTk3NSAwLjY1NTQ1OSA4Ljg3NjM3IDEuMTcwNjNMNS4yMzcxNiA2LjYyNDkzWiIgZmlsbD0iIzJDMDg5QiIvPgo8L3N2Zz4K\");background-size:contain;background-repeat:no-repeat;background-position:center center;z-index:1;pointer-events:none}.dropdown.select-style-underlined .sleeve{font-size:17px;line-height:24px;padding:1px;position:relative;border-bottom:1px solid #2C089B}.dropdown.select-style-underlined .sleeve select{color:#2C089B;display:block;position:relative;padding:10px 80px 10px 10px}.dropdown.select-style-underlined .sleeve div.arrow{position:absolute;right:20px;top:18px;width:10px;height:10px;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOSIgaGVpZ2h0PSI3IiB2aWV3Qm94PSIwIDAgOSA3IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBkPSJNNS4yMzcxNiA2LjYyNDkzQzQuOTAzMjMgNy4xMjUwMiA0LjA5NyA3LjEyNTAyIDMuNzYzMDggNi42MjQ5M0wwLjEyMzg2OCAxLjE3MDYzQy0wLjIxOTk0IDAuNjU1NDU5IDAuMTkyNjMgMS44MzcxZS0wNyAwLjg2MDkwOCAyLjQyMTMyZS0wN0w4LjEzOTMzIDguNzg0MzJlLTA3QzguODA3MTggOS4zNjgxN2UtMDcgOS4yMTk3NSAwLjY1NTQ1OSA4Ljg3NjM3IDEuMTcwNjNMNS4yMzcxNiA2LjYyNDkzWiIgZmlsbD0iIzJDMDg5QiIvPgo8L3N2Zz4K\");background-size:contain;background-repeat:no-repeat;background-position:center center;z-index:1;pointer-events:none}.dropdown.inherit-colour select{color:inherit !important}.dropdown select{max-height:200px;overflow-x:hidden;overflow-y:scroll;width:100%;z-index:1;left:0;right:0}.dropdown.active .options{display:block}.dropdown.noprompt{margin-top:0}.options.grey{background-color:#F6F6F6}";
729
729
  const BiggiveFormFieldSelectStyle0 = biggiveFormFieldSelectCss;
730
730
 
731
731
  const BiggiveFormFieldSelect = class {
@@ -1508,7 +1508,7 @@ const BiggiveTabbedContent = class {
1508
1508
  };
1509
1509
  BiggiveTabbedContent.style = BiggiveTabbedContentStyle0;
1510
1510
 
1511
- const biggiveTextInputCss = "a{color:inherit;text-decoration:underline}a:hover{text-decoration:none}.space-above-0{margin-top:0}.space-above-1{margin-top:5px}.space-above-2{margin-top:10px}.space-above-3{margin-top:15px}.space-above-4{margin-top:30px}.space-above-5{margin-top:45px}.space-above-6{margin-top:60px}.space-below-0{margin-bottom:0}.space-below-1{margin-bottom:5px}.space-below-2{margin-bottom:10px}.space-below-3{margin-bottom:15px}.space-below-4{margin-bottom:30px}.space-below-5{margin-bottom:45px}.space-below-6{margin-bottom:60px}:host{display:contents}.text-input{position:relative;font-family:\"Euclid Triangle\", sans-serif;font-size:17px;line-height:24px;position:relative;text-align:left}.text-input .currency-symbol{position:absolute}.text-input .prompt{position:absolute;z-index:2;font-size:small;top:-1em;background-color:#F6F6F;left:4em;padding-left:1em;padding-right:1em;color:#2C089B}.text-input.select-style-bordered .sleeve{font-size:24px;line-height:30px;font-weight:bolder;padding:2px;position:relative;background-color:#2C089B;clip-path:polygon(0% 0%, 0% 0%, calc(100% - 15px) 0%, 100% 15px, 100% 100%, 100% 100%, 0 100%, 0 100%)}.text-input.select-style-bordered .sleeve .inner-sleave{background-color:#F6F6F;color:#2C089B;display:block;position:relative;padding:10px 30px 10px 10px;clip-path:polygon(0% 0%, 0% 0%, calc(100% - 14px) 0%, 100% 14px, 100% 100%, 100% 100%, 0 100%, 0 100%)}.text-input.select-style-bordered .sleeve .inner-sleave:after{content:\"\";display:block;position:absolute;right:20px;top:18px;width:10px;height:10px;background-size:contain;background-repeat:no-repeat;background-position:center center}";
1511
+ const biggiveTextInputCss = "a{color:inherit;text-decoration:underline}a:hover{text-decoration:none}.space-above-0{margin-top:0}.space-above-1{margin-top:5px}.space-above-2{margin-top:10px}.space-above-3{margin-top:15px}.space-above-4{margin-top:30px}.space-above-5{margin-top:45px}.space-above-6{margin-top:60px}.space-below-0{margin-bottom:0}.space-below-1{margin-bottom:5px}.space-below-2{margin-bottom:10px}.space-below-3{margin-bottom:15px}.space-below-4{margin-bottom:30px}.space-below-5{margin-bottom:45px}.space-below-6{margin-bottom:60px}:host{display:contents}.text-input{position:relative;font-family:\"Euclid Triangle\", sans-serif;font-size:17px;line-height:24px;position:relative;text-align:left}.text-input .currency-symbol{position:absolute}.text-input .prompt{position:absolute;z-index:2;font-size:small;top:-1em;background-color:#F6F6F6;left:4em;padding-left:1em;padding-right:1em;color:#2C089B}.text-input.select-style-bordered .sleeve{font-size:24px;line-height:30px;font-weight:bolder;padding:2px;position:relative;background-color:#2C089B;clip-path:polygon(0% 0%, 0% 0%, calc(100% - 15px) 0%, 100% 15px, 100% 100%, 100% 100%, 0 100%, 0 100%)}.text-input.select-style-bordered .sleeve .inner-sleave{background-color:#F6F6F6;color:#2C089B;display:block;position:relative;padding:10px 30px 10px 10px;clip-path:polygon(0% 0%, 0% 0%, calc(100% - 14px) 0%, 100% 14px, 100% 100%, 100% 100%, 0 100%, 0 100%)}.text-input.select-style-bordered .sleeve .inner-sleave:after{content:\"\";display:block;position:absolute;right:20px;top:18px;width:10px;height:10px;background-size:contain;background-repeat:no-repeat;background-position:center center}";
1512
1512
  const BiggiveTextInputStyle0 = biggiveTextInputCss;
1513
1513
 
1514
1514
  const BiggiveTextInput = class {