@coras-io/embed 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/CHANGELOG.md +127 -0
  2. package/README.md +8 -7
  3. package/dist/components/accordion/accordion-item/accordion-item.styles.js +1 -1
  4. package/dist/components/alert/alert.styles.js +14 -14
  5. package/dist/components/attraction-card/base/attraction-card.styles.js +7 -3
  6. package/dist/components/attraction-discovery/attraction-discovery.styles.js +1 -1
  7. package/dist/components/attraction-header/attraction-header.styles.js +1 -1
  8. package/dist/components/attraction-option/attraction-option.styles.js +4 -4
  9. package/dist/components/basket/basket.styles.js +27 -26
  10. package/dist/components/basket-empty/basket-empty.styles.js +1 -0
  11. package/dist/components/basket-item/basket-item.component.js +10 -4
  12. package/dist/components/basket-item/basket-item.styles.js +9 -3
  13. package/dist/components/basket-item-ticket/basket-item-ticket.styles.js +1 -3
  14. package/dist/components/basket-mobile/basket-mobile.styles.js +5 -5
  15. package/dist/components/better-carousel/better-carousel.styles.js +2 -0
  16. package/dist/components/bottom-drawer/bottom-drawer.styles.js +6 -4
  17. package/dist/components/button/button.component.d.ts +0 -1
  18. package/dist/components/button/button.component.js +1 -8
  19. package/dist/components/button/button.constants.d.ts +1 -1
  20. package/dist/components/button/button.constants.js +1 -1
  21. package/dist/components/button/button.styles.js +66 -39
  22. package/dist/components/calendar/base/calendar.styles.js +3 -5
  23. package/dist/components/calendar/multi/multi.styles.js +7 -0
  24. package/dist/components/category-tag/category-tag.styles.js +10 -7
  25. package/dist/components/checkbox/checkbox.styles.js +2 -2
  26. package/dist/components/chip/chip.styles.js +2 -2
  27. package/dist/components/collect-fida/collect-fida.component.js +5 -3
  28. package/dist/components/collect-fida/collect-fida.styles.js +9 -16
  29. package/dist/components/crypto-auth-modal/crypto-auth-modal.component.js +6 -4
  30. package/dist/components/crypto-auth-modal/crypto-auth-modal.styles.js +2 -2
  31. package/dist/components/dialog/dialog.styles.js +10 -17
  32. package/dist/components/drawer/drawer.component.js +6 -0
  33. package/dist/components/drawer/drawer.styles.js +17 -3
  34. package/dist/components/dropdown/dropdown.component.js +7 -0
  35. package/dist/components/dropdown/dropdown.styles.js +3 -6
  36. package/dist/components/expiration-timer/expiration-timer.styles.js +3 -3
  37. package/dist/components/explore-card/explore-card.styles.js +1 -1
  38. package/dist/components/filter-chip/filter-chip.styles.js +11 -9
  39. package/dist/components/filters-drawer/filters-drawer.component.js +1 -1
  40. package/dist/components/filters-drawer/filters-drawer.styles.js +6 -5
  41. package/dist/components/image/image.styles.js +3 -3
  42. package/dist/components/image-chip/image-chip.styles.js +1 -1
  43. package/dist/components/input-field/input-field.styles.js +22 -17
  44. package/dist/components/itinerary/itinerary-item/itinerary-item.styles.js +1 -1
  45. package/dist/components/joined-fields/joined-fields.styles.js +10 -6
  46. package/dist/components/loading-spinner/loading-spinner.styles.js +1 -1
  47. package/dist/components/location-image/location-image.component.d.ts +6 -0
  48. package/dist/components/location-image/location-image.component.js +15 -2
  49. package/dist/components/location-image/location-image.styles.js +1 -1
  50. package/dist/components/locations-results/locations-results.styles.js +4 -6
  51. package/dist/components/marketing-tag/marketing-tag.styles.js +1 -1
  52. package/dist/components/message-card/message-card.styles.js +6 -6
  53. package/dist/components/option-group/option-chip/option-chip.styles.js +4 -3
  54. package/dist/components/order-confirmation/order-confirmation-item/order-confirmation-item.styles.js +9 -0
  55. package/dist/components/order-confirmation/order-confirmation.component.js +4 -3
  56. package/dist/components/order-confirmation/order-confirmation.styles.js +1 -1
  57. package/dist/components/otp/otp.styles.js +6 -6
  58. package/dist/components/overlay/overlay.styles.js +5 -1
  59. package/dist/components/pay-in/pay-in.styles.js +2 -2
  60. package/dist/components/payment-fiat-method/payment-fiat-method.styles.js +20 -4
  61. package/dist/components/payment-option/payment-option.styles.js +10 -12
  62. package/dist/components/performance-time/performance-time.styles.js +2 -2
  63. package/dist/components/phone-country-code/phone-country-code.styles.js +1 -1
  64. package/dist/components/points/points.styles.js +1 -1
  65. package/dist/components/search-button/search-button.styles.js +15 -7
  66. package/dist/components/seated-selector/seated-selector.component.d.ts +2 -0
  67. package/dist/components/seated-selector/seated-selector.component.js +53 -10
  68. package/dist/components/seated-selector/seated-selector.styles.js +77 -14
  69. package/dist/components/seats-io/seats-io.component.d.ts +2 -0
  70. package/dist/components/seats-io/seats-io.component.js +25 -2
  71. package/dist/components/seats-io/seats-io.constants.d.ts +2 -1
  72. package/dist/components/seats-io/seats-io.constants.js +6 -1
  73. package/dist/components/seats-io/seats-io.transform.d.ts +8 -2
  74. package/dist/components/seats-io/seats-io.transform.js +12 -4
  75. package/dist/components/select-list/select-list.styles.js +1 -0
  76. package/dist/components/select-list/select-option/select-option.styles.js +3 -3
  77. package/dist/components/sort-dropdown/sort-dropdown.styles.js +1 -1
  78. package/dist/components/sort-list/sort-list.styles.js +1 -1
  79. package/dist/components/sport-options/sport-option/sport-option.styles.js +2 -2
  80. package/dist/components/star-rating/star-rating.component.d.ts +1 -0
  81. package/dist/components/star-rating/star-rating.component.js +19 -23
  82. package/dist/components/star-rating/star-rating.styles.js +32 -6
  83. package/dist/components/tab/tab.styles.js +1 -1
  84. package/dist/components/tabs/tabs.styles.js +1 -1
  85. package/dist/components/tag/tag.styles.js +7 -7
  86. package/dist/components/text-section/text-section.styles.js +2 -1
  87. package/dist/components/time-tag/time-tag.styles.js +1 -2
  88. package/dist/components/tooltip/tooltip.styles.js +3 -3
  89. package/dist/components/tour-ticket-type-selector/tour-ticket-type/tour-ticket-type.styles.js +2 -2
  90. package/dist/components/tour-ticket-type-selector/tour-ticket-type-selector.component.js +1 -1
  91. package/dist/components/tour-ticket-type-selector/tour-ticket-type-selector.styles.js +1 -10
  92. package/dist/components/transfer-modal/transfer-modal.component.js +3 -3
  93. package/dist/components/transfer-modal/transfer-modal.styles.js +6 -8
  94. package/dist/containers/basket/basket.component.d.ts +1 -1
  95. package/dist/containers/basket/basket.component.js +56 -25
  96. package/dist/containers/footer/footer.styles.js +4 -0
  97. package/dist/containers/navbar/navbar.component.d.ts +5 -1
  98. package/dist/containers/navbar/navbar.component.js +38 -9
  99. package/dist/containers/navbar/navbar.styles.js +38 -12
  100. package/dist/contexts/basket/basket.provider.d.ts +1 -0
  101. package/dist/contexts/basket/basket.provider.js +31 -4
  102. package/dist/contexts/properties.context.d.ts +4 -4
  103. package/dist/core/api/middlewares/booking-session/booking-session.constants.d.ts +1 -0
  104. package/dist/core/api/middlewares/booking-session/booking-session.constants.js +1 -0
  105. package/dist/core/api/middlewares/booking-session/booking-session.js +18 -27
  106. package/dist/core/api/middlewares/booking-session/booking-session.utils.d.ts +4 -4
  107. package/dist/core/api/middlewares/booking-session/booking-session.utils.js +13 -10
  108. package/dist/core/api/queries.js +3 -2
  109. package/dist/core/color-scheme.d.ts +14 -0
  110. package/dist/core/color-scheme.js +48 -0
  111. package/dist/core/currency/constants.d.ts +1 -1
  112. package/dist/core/currency/constants.js +4 -3
  113. package/dist/core/i18n/date.js +20 -9
  114. package/dist/core/i18n/locale-codes.d.ts +2 -2
  115. package/dist/core/i18n/locale-codes.js +4 -0
  116. package/dist/core/images/constants.d.ts +0 -5
  117. package/dist/core/images/constants.js +0 -5
  118. package/dist/core/images/helpers.d.ts +8 -0
  119. package/dist/core/images/helpers.js +14 -6
  120. package/dist/core/images/srcset.js +2 -2
  121. package/dist/core/storybook/demo.d.ts +4 -0
  122. package/dist/core/storybook/demo.js +17 -0
  123. package/dist/core/types/locales.d.ts +7 -0
  124. package/dist/core/utils/datetime.js +10 -4
  125. package/dist/core/utils/locale.d.ts +8 -1
  126. package/dist/core/utils/locale.js +10 -0
  127. package/dist/helpers/helpers.d.ts +1 -1
  128. package/dist/index.d.ts +2 -3
  129. package/dist/index.js +1 -2
  130. package/dist/locales/ar-SA.d.ts +279 -0
  131. package/dist/locales/ar-SA.js +288 -0
  132. package/dist/locales/da-DK.d.ts +100 -82
  133. package/dist/locales/da-DK.js +104 -89
  134. package/dist/locales/de-DE.d.ts +100 -82
  135. package/dist/locales/de-DE.js +104 -89
  136. package/dist/locales/en-IE.d.ts +250 -232
  137. package/dist/locales/en-IE.js +253 -238
  138. package/dist/locales/en-US.d.ts +100 -82
  139. package/dist/locales/en-US.js +105 -90
  140. package/dist/locales/es-ES.d.ts +100 -82
  141. package/dist/locales/es-ES.js +104 -89
  142. package/dist/locales/fr-FR.d.ts +100 -82
  143. package/dist/locales/fr-FR.js +104 -89
  144. package/dist/locales/fr-MA.d.ts +100 -82
  145. package/dist/locales/fr-MA.js +104 -89
  146. package/dist/locales/is-IS.d.ts +100 -82
  147. package/dist/locales/is-IS.js +104 -89
  148. package/dist/locales/it-IT.d.ts +100 -82
  149. package/dist/locales/it-IT.js +104 -89
  150. package/dist/locales/ms-MY.d.ts +100 -82
  151. package/dist/locales/ms-MY.js +104 -89
  152. package/dist/locales/nb-NO.d.ts +100 -82
  153. package/dist/locales/nb-NO.js +104 -89
  154. package/dist/locales/pl-PL.d.ts +100 -82
  155. package/dist/locales/pl-PL.js +104 -89
  156. package/dist/locales/pt-PT.d.ts +100 -82
  157. package/dist/locales/pt-PT.js +104 -89
  158. package/dist/locales/sv-SE.d.ts +100 -82
  159. package/dist/locales/sv-SE.js +104 -89
  160. package/dist/locales/th-TH.d.ts +100 -82
  161. package/dist/locales/th-TH.js +104 -89
  162. package/dist/locales/tr-TR.d.ts +100 -82
  163. package/dist/locales/tr-TR.js +104 -89
  164. package/dist/locales/zh-CN.d.ts +100 -82
  165. package/dist/locales/zh-CN.js +105 -90
  166. package/dist/locales/zh-HK.d.ts +279 -0
  167. package/dist/locales/zh-HK.js +288 -0
  168. package/dist/mixins/coinbase.mixin.js +1 -1
  169. package/dist/mixins/error-modal.styles.js +2 -2
  170. package/dist/mixins/location-search/location-search.js +3 -3
  171. package/dist/mixins/location-search/location-search.styles.js +6 -5
  172. package/dist/sdk/chrome.d.ts +9 -3
  173. package/dist/sdk/chrome.js +21 -9
  174. package/dist/sdk/element-adapter.js +11 -8
  175. package/dist/sdk/mount.d.ts +3 -3
  176. package/dist/sdk/mount.js +150 -42
  177. package/dist/sdk/navigation-intent.js +3 -0
  178. package/dist/sdk/page-registry.d.ts +14 -2
  179. package/dist/sdk/page-registry.js +33 -13
  180. package/dist/sdk/theme.d.ts +1 -15
  181. package/dist/sdk/theme.js +4 -39
  182. package/dist/sdk/types.d.ts +55 -24
  183. package/dist/sdk/url.d.ts +24 -3
  184. package/dist/sdk/url.js +66 -27
  185. package/dist/sdk/validation.d.ts +0 -7
  186. package/dist/sdk/validation.js +105 -47
  187. package/dist/styles/contrast-fixtures.d.ts +0 -5
  188. package/dist/styles/contrast-fixtures.js +79 -9
  189. package/dist/styles/contrast.js +4 -3
  190. package/dist/styles/defaults/component.js +17 -1
  191. package/dist/styles/primitives.d.ts +0 -10
  192. package/dist/styles/primitives.js +2 -12
  193. package/dist/styles/tokens.d.ts +1 -1
  194. package/dist/styles/tokens.generated.d.ts +1 -1
  195. package/dist/styles/tokens.generated.js +1 -1
  196. package/dist/styles/tokens.metadata.d.ts +1 -1
  197. package/dist/styles/tokens.metadata.js +360 -90
  198. package/dist/views/details-page/details-page.component.d.ts +5 -5
  199. package/dist/views/details-page/details-page.component.js +72 -79
  200. package/dist/views/details-page/details-page.styles.js +64 -9
  201. package/dist/views/help-page/help-page.component.d.ts +1 -0
  202. package/dist/views/help-page/help-page.component.js +11 -4
  203. package/dist/views/help-page/help-page.styles.js +21 -8
  204. package/dist/views/landing-page/landing-page.component.d.ts +4 -4
  205. package/dist/views/landing-page/landing-page.component.js +65 -65
  206. package/dist/views/landing-page/landing-page.styles.js +70 -3
  207. package/dist/views/payment-page/partials/activity-details/activity-details.styles.js +10 -33
  208. package/dist/views/payment-page/partials/billing-address/billing-address.styles.js +4 -9
  209. package/dist/views/payment-page/partials/confirmation/confirmation.styles.js +6 -6
  210. package/dist/views/payment-page/partials/hotel-pickup-list/hotel-pickup-list.styles.js +4 -4
  211. package/dist/views/payment-page/partials/payment-type-selector/payment-type-selector.styles.js +1 -0
  212. package/dist/views/payment-page/partials/stripe/stripe.component.d.ts +1 -1
  213. package/dist/views/payment-page/partials/stripe/stripe.component.js +11 -12
  214. package/dist/views/payment-page/partials/stripe/stripe.constants.d.ts +2 -15
  215. package/dist/views/payment-page/partials/stripe/stripe.constants.js +4 -17
  216. package/dist/views/payment-page/partials/stripe/stripe.styles.js +16 -23
  217. package/dist/views/payment-page/partials/stripe/stripe.utils.d.ts +25 -14
  218. package/dist/views/payment-page/partials/stripe/stripe.utils.js +111 -62
  219. package/dist/views/payment-page/partials/terms-checkbox/terms-checkbox.styles.js +1 -1
  220. package/dist/views/payment-page/payment-page.component.d.ts +1 -0
  221. package/dist/views/payment-page/payment-page.component.js +19 -9
  222. package/dist/views/payment-page/payment-page.styles.js +37 -32
  223. package/dist/views/payment-page/payment-page.utils.d.ts +7 -0
  224. package/dist/views/payment-page/payment-page.utils.js +29 -14
  225. package/dist/views/payment-page/payment-page.validators.js +9 -3
  226. package/dist/views/payment-page/services/payment-api.service.d.ts +1 -1
  227. package/dist/views/search-page/search-page.component.d.ts +1 -0
  228. package/dist/views/search-page/search-page.component.js +12 -6
  229. package/dist/views/search-page/search-page.styles.js +24 -2
  230. package/dist/views/suggestion-widget/suggestion-widget.styles.js +1 -1
  231. package/package.json +62 -75
  232. package/dist/custom-elements.json +0 -37397
  233. package/dist/sdk/meta.d.ts +0 -7
  234. package/dist/sdk/meta.js +0 -9
  235. package/dist/styles/tokens.css +0 -359
@@ -11,7 +11,8 @@ export default css `
11
11
  --drawer-width: 400px;
12
12
 
13
13
  --icon-background-color: var(--coras-color-neutral-500);
14
- --drawer-close-icon-fill: var(--coras-palette-white);
14
+ --drawer-background-color: var(--coras-color-background);
15
+ --drawer-close-icon-fill: var(--drawer-background-color);
15
16
  --drawer-label-font-size: var(--coras-font-size-xl);
16
17
  }
17
18
 
@@ -37,9 +38,9 @@ export default css `
37
38
  z-index: 2;
38
39
  max-width: 100%;
39
40
  max-height: 100%;
40
- background-color: var(--coras-color-surface);
41
+ background-color: var(--drawer-background-color);
41
42
  box-shadow: 0 0 0 1px color-mix(in srgb, black, transparent 90%);
42
- overflow: auto;
43
+ overflow: hidden;
43
44
  pointer-events: all;
44
45
  animation: slideOutRight 0.4s both;
45
46
  top: 0;
@@ -56,6 +57,7 @@ export default css `
56
57
  .header {
57
58
  display: flex;
58
59
  flex-direction: row;
60
+ flex-shrink: 0;
59
61
  padding: 1rem 1.5rem;
60
62
  justify-content: space-between;
61
63
  align-items: center;
@@ -84,6 +86,18 @@ export default css `
84
86
  font-size: var(--drawer-label-font-size);
85
87
  }
86
88
  }
89
+
90
+ .body {
91
+ display: block;
92
+ flex: 1 1 auto;
93
+ min-height: 0;
94
+ overflow-y: auto;
95
+ }
96
+
97
+ .footer {
98
+ display: block;
99
+ flex-shrink: 0;
100
+ }
87
101
  }
88
102
 
89
103
  &.open {
@@ -25,6 +25,13 @@ export class CorasDropdown extends LitElement {
25
25
  };
26
26
  this.handleDocumentMouseDown = (event) => {
27
27
  const path = event.composedPath();
28
+ // A node clicked inside the dropdown that re-renders on that click (e.g. a
29
+ // basket item removing itself) is detached before this handler runs, which
30
+ // makes composedPath() empty. That is an inside interaction, not a
31
+ // click-away, so leave the dropdown open.
32
+ if (path.length === 0) {
33
+ return;
34
+ }
28
35
  if (!path.includes(this.containingElement)) {
29
36
  this.dispatchCloseEvent();
30
37
  }
@@ -4,9 +4,9 @@ export default css `
4
4
  ${component}
5
5
 
6
6
  :host {
7
- --dropdown-popover-background-color: var(--coras-color-surface);
8
- --dropdown-popover-arrow-icon-color: var(--coras-color-primary-400);
9
- --dropdown-popover-border-color: var(--coras-color-neutral-200);
7
+ --dropdown-popover-background-color: var(--coras-color-menu);
8
+ --dropdown-popover-arrow-icon-color: var(--coras-color-primary);
9
+ --dropdown-popover-border-color: var(--coras-color-menu-border);
10
10
  --dropdown-popover-border-radius: var(--coras-radius-sm);
11
11
  --dropdown-popover-options-shadow: var(--coras-shadow-md);
12
12
 
@@ -39,9 +39,6 @@ export default css `
39
39
  display: block;
40
40
  }
41
41
 
42
- /* The scroll/clip lives here so the floating box stays overflow-visible and
43
- the arrow above its top edge is never clipped. Inherits the box radius so
44
- scrolled content keeps the rounded corners. */
45
42
  .scroll {
46
43
  border-radius: inherit;
47
44
  }
@@ -4,11 +4,11 @@ export default css `
4
4
  ${component}
5
5
 
6
6
  :host {
7
- --expiration-timer-background-color: var(--coras-color-info-50);
7
+ --expiration-timer-background-color: var(--coras-color-info-background);
8
8
  --expiration-timer-font-size: var(--coras-font-size-base);
9
9
  --expiration-timer-line-height: var(--coras-font-size-xl);
10
10
  --expiration-timer-font-weight: var(--coras-font-weight-normal);
11
- --expiration-timer-color: var(--coras-color-info-900);
11
+ --expiration-timer-color: var(--coras-color-info);
12
12
 
13
13
  display: grid;
14
14
  grid-template-columns: auto 1fr auto;
@@ -17,7 +17,7 @@ export default css `
17
17
  width: 100%;
18
18
  padding: 0.5rem;
19
19
  background-color: var(--expiration-timer-background-color);
20
- border-radius: 0.25rem;
20
+ border-radius: var(--coras-radius-control);
21
21
  font-size: var(--expiration-timer-font-size);
22
22
  line-height: var(--expiration-timer-line-height);
23
23
  font-weight: var(--expiration-timer-font-weight);
@@ -6,7 +6,7 @@ export default css `
6
6
  :host {
7
7
  --explore-card-border-radius: var(--coras-radius-sm);
8
8
  --explore-card-shadow: var(--coras-shadow-lg);
9
- --explore-card-label-color: var(--coras-color-primary-100);
9
+ --explore-card-label-color: var(--coras-palette-white);
10
10
  --explore-card-label-font-size: var(--coras-font-size-3xl);
11
11
  --explore-card-label-font-weight: var(--coras-font-weight-semibold);
12
12
  }
@@ -20,21 +20,23 @@ export default css `
20
20
  --filter-chip-font-size: var(--coras-font-size-base);
21
21
  --filter-chip-line-height: var(--coras-font-size-2xl);
22
22
  --filter-chip-box-shadow: var(--coras-shadow-md);
23
- --filter-chip-hover-background-color: var(--coras-color-surface-hover);
24
- --filter-chip-selected-background-color: var(--coras-color-primary-500);
23
+ --filter-chip-hover-background-color: color-mix(
24
+ in srgb,
25
+ var(--coras-color-background),
26
+ var(--coras-state-overlay) var(--coras-state-hover)
27
+ );
28
+ --filter-chip-selected-background-color: var(--coras-color-primary);
25
29
  --filter-chip-selected-hover-background-color: var(
26
- --coras-color-primary-700
30
+ --coras-color-main-button-hover
27
31
  );
28
32
  --filter-chip-selected-color: var(--coras-palette-white);
29
- --filter-chip-disabled-color: var(--coras-color-neutral-500);
33
+ --filter-chip-disabled-color: var(--coras-color-text-disabled);
30
34
  --filter-chip-disabled-background-color: var(--coras-color-neutral-200);
31
35
  --filter-chip-icon-color: var(--coras-color-text);
32
36
  --filter-chip-selected-icon-color: var(--coras-palette-white);
33
- --filter-chip-disabled-icon-color: var(--coras-color-neutral-500);
34
- --filter-chip-text-selected-icon-color: var(--coras-color-primary-500);
35
- --filter-chip-text-selected-hover-icon-color: var(
36
- --coras-color-primary-700
37
- );
37
+ --filter-chip-disabled-icon-color: var(--coras-color-text-disabled);
38
+ --filter-chip-text-selected-icon-color: var(--coras-color-primary);
39
+ --filter-chip-text-selected-hover-icon-color: var(--coras-color-primary);
38
40
  }
39
41
 
40
42
  button {
@@ -35,7 +35,7 @@ let CorasFiltersDrawer = class CorasFiltersDrawer extends LitElement {
35
35
  <div class="title">${msg("Filters")}</div>
36
36
  <slot></slot>
37
37
  </div>
38
- <div class="bottom">
38
+ <div slot="footer" class="bottom">
39
39
  <slot name="reset-action"></slot>
40
40
  <slot name="apply-action"></slot>
41
41
  </div>
@@ -6,12 +6,14 @@ export default css `
6
6
  :host {
7
7
  --filters-drawer-title-font-size: var(--coras-font-size-xl);
8
8
  --filters-drawer-title-font-weight: var(--coras-font-weight-semibold);
9
- --filters-drawer-bottom-background-color: var(--coras-color-surface-muted);
10
- --filters-drawer-bottom-border-color: var(--coras-color-neutral-200);
9
+ --filters-drawer-bottom-background-color: var(--coras-color-card-muted);
10
+ --filters-drawer-bottom-border-color: var(--coras-color-divider);
11
11
  }
12
12
 
13
13
  coras-drawer {
14
- --drawer-width-mobile: 100vw;
14
+ /* Not 100vw: coras-drawer applies this as min-width, which overrides its own
15
+ max-width cap, so the window width would escape a narrower container. */
16
+ --drawer-width-mobile: 100%;
15
17
  --drawer-width: 400px;
16
18
 
17
19
  &::part(header-icon) {
@@ -21,10 +23,9 @@ export default css `
21
23
 
22
24
  .container {
23
25
  padding: 0.25rem 1rem 2rem 1.625rem;
24
- height: 100%;
25
- overflow-y: auto;
26
26
 
27
27
  .title {
28
+ font-family: var(--coras-font-family-heading);
28
29
  font-size: var(--filters-drawer-title-font-size);
29
30
  font-weight: var(--filters-drawer-title-font-weight);
30
31
  line-height: 1.75rem;
@@ -5,13 +5,13 @@ export default css `
5
5
 
6
6
  :host {
7
7
  --coras-image-border-radius: 0;
8
- --coras-image-placeholder-bg: var(--coras-color-surface-sunken);
8
+ --coras-image-placeholder-bg: var(--coras-color-card-sunken);
9
9
  --coras-image-placeholder-shimmer: color-mix(
10
10
  in srgb,
11
- var(--coras-color-surface-raised),
11
+ var(--coras-color-card),
12
12
  transparent 30%
13
13
  );
14
- --coras-image-error-bg: var(--coras-color-surface-sunken);
14
+ --coras-image-error-bg: var(--coras-color-card-sunken);
15
15
  --coras-image-error-color: var(--coras-color-text-muted);
16
16
 
17
17
  display: block;
@@ -6,7 +6,7 @@ export default css `
6
6
  :host {
7
7
  --image-chip-font-weight: var(--coras-font-weight-semibold);
8
8
  --image-chip-font-size: var(--coras-font-size-sm);
9
- --image-chip-color: var(--coras-color-secondary-700);
9
+ --image-chip-color: var(--coras-color-secondary);
10
10
  --image-chip-border-color: color-mix(
11
11
  in srgb,
12
12
  var(--coras-color-text),
@@ -6,10 +6,10 @@ export default css `
6
6
  :host {
7
7
  --input-field-background-color: var(--coras-input-field-background-color);
8
8
 
9
- --input-border-color: var(--coras-color-neutral-400);
9
+ --input-border-color: var(--coras-color-field-border);
10
10
  --input-font-size: var(--coras-font-size-base);
11
- --input-placeholder-color: var(--coras-color-text-secondary);
12
- --input-background-color-focus: var(--coras-color-primary-100);
11
+ --input-placeholder-color: var(--coras-color-text-muted);
12
+ --input-background-color-focus: var(--coras-color-primary-tint);
13
13
 
14
14
  --field-label-font-size: var(--coras-font-size-base);
15
15
  --field-label-line-height: var(--coras-font-size-2xl);
@@ -27,19 +27,24 @@ export default css `
27
27
  --field-input-padding-left: 1rem;
28
28
  --field-input-padding-right: 1rem;
29
29
  --field-input-font-weight: inherit;
30
- --field-input-border-color: var(--coras-color-neutral-400);
30
+ --field-input-border-color: var(--coras-color-field-border);
31
31
  --field-input-border-radius: var(--coras-radius-field);
32
- --field-input-placeholder-color: var(--coras-color-text-secondary);
32
+ /* The rounded variant is only used by the nav and location search, so it
33
+ follows the Search Field Corners brand setting. */
34
+ --field-input-rounded-border-radius: var(--coras-radius-search);
35
+ --field-input-placeholder-color: var(--coras-color-text-muted);
33
36
  --field-input-disabled-color: var(--coras-color-neutral-500);
34
37
  --field-input-disabled-background-color: var(--coras-color-neutral-50);
35
- --field-input-error-color: var(--coras-color-error-500);
36
- --field-input-error-helper-text-color: var(--coras-color-error-500);
37
- --field-input-valid-color: var(--coras-color-success-500);
38
+ --field-input-error-color: var(--coras-color-error);
39
+ --field-input-error-helper-text-color: var(--coras-color-error);
40
+ --field-input-valid-color: var(--coras-color-success);
38
41
  --field-input-shadow: var(--coras-shadow-md);
39
- --field-input-focused-border-color: var(--coras-color-primary-500);
42
+ --field-input-focused-border-color: var(--coras-color-primary);
40
43
 
41
- --text-field-icon-color-valid: var(--coras-color-success-500);
42
- --text-field-icon-color-error: var(--coras-color-error-500);
44
+ --text-field-icon-color-valid: var(--coras-color-success);
45
+ --text-field-icon-color-error: var(--coras-color-error);
46
+
47
+ --field-prefix-icon-color: var(--coras-color-text);
43
48
 
44
49
  display: block;
45
50
  width: 100%;
@@ -72,7 +77,7 @@ export default css `
72
77
  display: flex;
73
78
  border: 1px solid var(--field-input-border-color);
74
79
  border-radius: var(--field-input-border-radius);
75
- background-color: var(--coras-color-surface);
80
+ background-color: var(--input-field-background-color);
76
81
  box-shadow: var(--field-input-box-shadow, none);
77
82
  position: relative;
78
83
  width: 100%;
@@ -103,11 +108,11 @@ export default css `
103
108
  }
104
109
 
105
110
  &.rounded {
106
- border-radius: 100px;
111
+ border-radius: var(--field-input-rounded-border-radius);
107
112
 
108
113
  input,
109
114
  textarea {
110
- border-radius: 100px;
115
+ border-radius: var(--field-input-rounded-border-radius);
111
116
  }
112
117
  }
113
118
 
@@ -130,7 +135,7 @@ export default css `
130
135
  }
131
136
 
132
137
  ::slotted(coras-icon) {
133
- fill: var(--coras-color-text);
138
+ fill: var(--field-prefix-icon-color);
134
139
  }
135
140
  }
136
141
 
@@ -224,11 +229,11 @@ export default css `
224
229
  color: var(--field-input-color);
225
230
  font-weight: var(--field-input-font-weight);
226
231
  border: none;
227
- background-color: var(--coras-color-surface);
232
+ background-color: var(--input-field-background-color);
228
233
  border-radius: var(--field-input-border-radius);
229
234
 
230
235
  &.compact {
231
- height: 2.625rem; /* 42px */
236
+ height: 2.625rem;
232
237
  }
233
238
 
234
239
  &:disabled {
@@ -8,7 +8,7 @@ export default css `
8
8
  --itinerary-item-dot-background-color: var(--coras-color-text);
9
9
  --itinerary-item-label-font-size: var(--coras-font-size-base);
10
10
  --itinerary-item-label-font-weight: var(--coras-font-weight-medium);
11
- --itinerary-item-border-left-color: var(--coras-color-secondary-500);
11
+ --itinerary-item-border-left-color: var(--coras-color-secondary);
12
12
  --itinerary-item-description-font-size: var(--coras-font-size-base);
13
13
  --itinerary-item-description-font-weight: var(--coras-font-weight-normal);
14
14
  --itinerary-item-footer-font-size: var(--coras-font-size-xs);
@@ -13,11 +13,15 @@ export default css `
13
13
  --field-helper-text-font-size: var(--coras-font-size-xxs);
14
14
  --field-helper-text-line-height: var(--coras-font-size-sm);
15
15
  --field-helper-text-color: var(--coras-color-text);
16
- --field-input-border-color: var(--coras-color-neutral-400);
16
+ --field-input-background-color: var(--coras-input-field-background-color);
17
+ --field-input-border-color: var(--coras-color-field-border);
17
18
  --field-input-border-radius: var(--coras-radius-field);
18
- --field-input-error-color: var(--coras-color-error-500);
19
- --field-input-valid-color: var(--coras-color-success-500);
20
- --field-input-focused-border-color: var(--coras-color-primary-500);
19
+ /* Matches coras-field: the rounded variant is a search affordance, so it
20
+ follows the Search Field Corners brand setting. */
21
+ --field-input-rounded-border-radius: var(--coras-radius-search);
22
+ --field-input-error-color: var(--coras-color-error);
23
+ --field-input-valid-color: var(--coras-color-success);
24
+ --field-input-focused-border-color: var(--coras-color-primary);
21
25
 
22
26
  display: block;
23
27
  width: 100%;
@@ -50,14 +54,14 @@ export default css `
50
54
  display: flex;
51
55
  border: 1px solid var(--field-input-border-color);
52
56
  border-radius: var(--field-input-border-radius);
53
- background-color: var(--coras-color-surface);
57
+ background-color: var(--field-input-background-color);
54
58
  box-shadow: var(--field-input-box-shadow, none);
55
59
  position: relative;
56
60
  width: 100%;
57
61
  overflow: hidden;
58
62
 
59
63
  &.rounded {
60
- border-radius: 100px;
64
+ border-radius: var(--field-input-rounded-border-radius);
61
65
  }
62
66
 
63
67
  &.error {
@@ -14,7 +14,7 @@ export default css `
14
14
  box-sizing: border-box;
15
15
  border-radius: 50%;
16
16
  border: 3px solid var(--coras-color-neutral-300);
17
- border-bottom-color: var(--coras-color-primary-700);
17
+ border-bottom-color: var(--coras-color-primary);
18
18
  animation: rotation 1s linear infinite;
19
19
  }
20
20
 
@@ -8,6 +8,12 @@ export declare class CorasLocationImage extends LitElement {
8
8
  city: string | undefined;
9
9
  imageExtension: string;
10
10
  alt: string;
11
+ /**
12
+ * Intrinsic size of the banner. Kept in sync with the rendered box
13
+ * (`--location-image-max-width` / `--location-image-height`) so imgix crops
14
+ * to the ratio that is actually displayed and `object-fit` has nothing left
15
+ * to trim.
16
+ */
11
17
  width: number;
12
18
  height: number;
13
19
  loading: boolean;
@@ -10,6 +10,12 @@ import { property, state } from "lit/decorators.js";
10
10
  import { getLocationImageURL } from "../../core/images/helpers.js";
11
11
  import "../image/image.js";
12
12
  import styles from "./location-image.styles.js";
13
+ /**
14
+ * Candidate widths for the banner srcset. Capped at the width of the source
15
+ * assets (1160px) - wider candidates only make imgix upscale the same pixels
16
+ * and ship more bytes for no extra detail.
17
+ */
18
+ const BANNER_WIDTHS = "480,640,768,952,1160";
13
19
  let CorasLocationImage = class CorasLocationImage extends LitElement {
14
20
  constructor() {
15
21
  super(...arguments);
@@ -18,8 +24,14 @@ let CorasLocationImage = class CorasLocationImage extends LitElement {
18
24
  this.country = "ireland";
19
25
  this.imageExtension = "png";
20
26
  this.alt = msg("Location image");
21
- this.width = 1160;
22
- this.height = 160;
27
+ /**
28
+ * Intrinsic size of the banner. Kept in sync with the rendered box
29
+ * (`--location-image-max-width` / `--location-image-height`) so imgix crops
30
+ * to the ratio that is actually displayed and `object-fit` has nothing left
31
+ * to trim.
32
+ */
33
+ this.width = 952;
34
+ this.height = 148;
23
35
  this.loading = false;
24
36
  this.currentSrc = "";
25
37
  this.fallbackTried = false;
@@ -86,6 +98,7 @@ let CorasLocationImage = class CorasLocationImage extends LitElement {
86
98
  width=${this.width}
87
99
  height=${this.height}
88
100
  preset="header-banner"
101
+ widths=${BANNER_WIDTHS}
89
102
  loading="eager"
90
103
  @coras-image-load=${this.handleImageLoad}
91
104
  @coras-image-error=${this.handleImageError}
@@ -12,7 +12,7 @@ export default css `
12
12
  --location-image-border-radius: 40px 2px;
13
13
  --location-image-drop-shadow: 0px 4px 4px
14
14
  color-mix(in srgb, black, transparent 75%);
15
- --location-image-placeholder-bg: var(--coras-color-surface-sunken);
15
+ --location-image-placeholder-bg: var(--coras-color-card-sunken);
16
16
  --location-image-placeholder-color: var(--coras-color-text-muted);
17
17
  }
18
18
 
@@ -4,16 +4,14 @@ export default css `
4
4
  ${component}
5
5
 
6
6
  :host {
7
- --locations-results-background-color: var(--coras-color-surface);
7
+ --locations-results-background-color: var(--coras-color-menu);
8
8
  --locations-results-font-size: var(--coras-font-size-sm);
9
- --locations-results-hover-background-color: var(
10
- --coras-color-surface-hover
11
- );
12
- --locations-results-popular-border-color: var(--coras-color-neutral-200);
9
+ --locations-results-hover-background-color: var(--coras-color-menu-hover);
10
+ --locations-results-popular-border-color: var(--coras-color-divider);
13
11
  --locations-results-popular-font-size: var(--coras-font-size-sm);
14
12
  --locations-results-popular-border-radius: var(--coras-radius-chip);
15
13
  --locations-results-popular-background-color: var(
16
- --coras-color-primary-300
14
+ --coras-color-primary-tint
17
15
  );
18
16
 
19
17
  background-color: var(--locations-results-background-color);
@@ -8,7 +8,7 @@ export default css `
8
8
 
9
9
  --marketing-tag-line-height: 1rem;
10
10
  --marketing-tag-letter-spacing: 0.01em;
11
- --marketing-tag-background-color: var(--coras-color-info-500);
11
+ --marketing-tag-background-color: var(--coras-color-info);
12
12
 
13
13
  --marketing-tag-border-radius: var(--coras-radius-md);
14
14
  --marketing-tag-font-size: var(--coras-font-size-xs);
@@ -10,8 +10,8 @@ export default css `
10
10
  .container {
11
11
  border-radius: 20px;
12
12
  padding: 16px;
13
- border: 1px solid var(--coras-color-info-500);
14
- background-color: var(--coras-color-info-50);
13
+ border: 1px solid var(--coras-color-info);
14
+ background-color: var(--coras-color-info-background);
15
15
  display: flex;
16
16
  align-items: flex-start;
17
17
  gap: 12px;
@@ -28,7 +28,7 @@ export default css `
28
28
  display: flex;
29
29
  align-items: center;
30
30
  justify-content: center;
31
- fill: var(--coras-color-info-500);
31
+ fill: var(--coras-color-info);
32
32
  }
33
33
  }
34
34
 
@@ -59,12 +59,12 @@ export default css `
59
59
 
60
60
  :host([variant="error"]) {
61
61
  .container {
62
- border-color: var(--coras-color-error-500);
63
- background-color: var(--coras-color-error-50);
62
+ border-color: var(--coras-color-error);
63
+ background-color: var(--coras-color-error-background);
64
64
 
65
65
  .icon {
66
66
  coras-icon {
67
- fill: var(--coras-color-error-500);
67
+ fill: var(--coras-color-error);
68
68
  }
69
69
  }
70
70
  }
@@ -11,15 +11,16 @@ export default css `
11
11
  --option-chip-font-size: var(--coras-font-size-sm);
12
12
  --option-chip-font-weight: var(--coras-font-weight-normal);
13
13
  --option-chip-line-height: var(--coras-font-size-sm);
14
- --option-chip-checked-background-color: var(--coras-color-secondary-500);
14
+ --option-chip-checked-background-color: var(--coras-color-secondary);
15
15
  --option-chip-checked-color: var(--coras-palette-white);
16
- --option-chip-hover-background-color: var(--coras-color-surface-hover);
16
+ --option-chip-background-color: var(--coras-color-field);
17
+ --option-chip-hover-background-color: var(--coras-color-field-hover);
17
18
  --option-chip-hover-border-color: var(--coras-color-neutral-700);
18
19
  --option-chip-hover-color: var(--coras-color-text);
19
20
 
20
21
  cursor: pointer;
21
22
  display: inline-flex;
22
- background-color: transparent;
23
+ background-color: var(--option-chip-background-color);
23
24
  border-radius: var(--option-chip-border-radius);
24
25
  border: 1px solid var(--option-chip-border-color);
25
26
  padding: 8px;
@@ -24,6 +24,15 @@ export default css `
24
24
  );
25
25
  --order-confirmation-item-value-line-height: var(--coras-font-size-xl);
26
26
  --order-confirmation-item-value-color: var(--coras-color-text);
27
+ /* The .caption rule consumed these four without anyone declaring them, so
28
+ every property computed to unset and the caption inherited its parent's
29
+ type. Same metrics as a label, muted, which is what a caption is. */
30
+ --order-confirmation-item-caption-font-size: var(--coras-font-size-sm);
31
+ --order-confirmation-item-caption-font-weight: var(
32
+ --coras-font-weight-normal
33
+ );
34
+ --order-confirmation-item-caption-line-height: var(--coras-font-size-xl);
35
+ --order-confirmation-item-caption-color: var(--coras-color-text-muted);
27
36
 
28
37
  --divider: 1px solid var(--order-confirmation-item-divider-color);
29
38
  display: flex;
@@ -18,11 +18,12 @@ let CorasOrderConfirmation = class CorasOrderConfirmation extends LitElement {
18
18
  }
19
19
  static { this.styles = styles; }
20
20
  get orderReference() {
21
- return msg(html `Order reference <strong>${this.reference}</strong>`);
21
+ const reference = html `<strong>${this.reference}</strong>`;
22
+ return msg(html `Order reference ${reference}`);
22
23
  }
23
24
  get sendMailConfirmation() {
24
- return msg(html `We've sent your order confirmation to
25
- <strong>${this.email}</strong>`);
25
+ const email = html `<strong>${this.email}</strong>`;
26
+ return msg(html `We've sent your order confirmation to ${email}`);
26
27
  }
27
28
  get helpMessage() {
28
29
  // TODO: Add link to Help Centre
@@ -6,7 +6,7 @@ export default css `
6
6
  :host {
7
7
  width: 100%;
8
8
 
9
- --order-confirmation-border-color: var(--coras-color-secondary-500);
9
+ --order-confirmation-border-color: var(--coras-color-secondary);
10
10
  --order-confirmation-border-radius: var(--coras-radius-sm);
11
11
  --order-confirmation-title-font-size: var(--coras-font-size-2xl);
12
12
  --order-confirmation-title-font-weight: var(--coras-font-weight-semibold);
@@ -4,14 +4,14 @@ export default css `
4
4
  --otp-size: 3.2rem;
5
5
  --otp-gap: 0.75rem;
6
6
  --otp-radius: var(--coras-radius-md, 0.75rem);
7
- --otp-border-color: var(--coras-color-neutral-400);
8
- --otp-border-color-focus: var(--coras-color-primary-400);
9
- --otp-border-color-error: var(--coras-color-error-500);
7
+ --otp-border-color: var(--coras-color-field-border);
8
+ --otp-border-color-focus: var(--coras-color-primary);
9
+ --otp-border-color-error: var(--coras-color-error);
10
10
  --otp-bg: var(
11
11
  --coras-input-field-background-color,
12
12
  var(--coras-palette-white)
13
13
  );
14
- --otp-shadow-focus: 0 0 0 2px var(--coras-color-primary-100);
14
+ --otp-shadow-focus: 0 0 0 2px var(--coras-color-primary-tint);
15
15
  --otp-font-size: var(--coras-font-size-xl);
16
16
  display: block;
17
17
  font-family: var(--coras-font-family-sans, ui-sans-serif, system-ui);
@@ -76,12 +76,12 @@ export default css `
76
76
  }
77
77
 
78
78
  .help {
79
- color: var(--coras-color-text-secondary);
79
+ color: var(--coras-color-text-muted);
80
80
  font-size: var(--coras-font-size-sm);
81
81
  }
82
82
 
83
83
  .error {
84
- color: var(--coras-color-error-500);
84
+ color: var(--coras-color-error);
85
85
  font-size: var(--coras-font-size-sm);
86
86
  }
87
87
  `;
@@ -10,7 +10,11 @@ export default css `
10
10
  right: 0;
11
11
  bottom: 0;
12
12
  left: 0;
13
- background-color: color-mix(in srgb, black, transparent 50%);
13
+ background-color: color-mix(
14
+ in srgb,
15
+ var(--coras-color-scrim) 50%,
16
+ transparent
17
+ );
14
18
  pointer-events: all;
15
19
  animation: fadeOut 0.4s both;
16
20
 
@@ -14,10 +14,10 @@ export default css `
14
14
  --pay-in-height: 48px;
15
15
  --pay-in-action-color: var(--coras-color-text);
16
16
  --pay-in-button-color: var(--coras-color-text);
17
- --pay-in-pay-button-background: var(--coras-color-primary-200);
17
+ --pay-in-pay-button-background: var(--coras-color-primary-tint);
18
18
  --pay-in-earn-button-background: color-mix(
19
19
  in srgb,
20
- var(--coras-palette-pink-500),
20
+ var(--coras-color-secondary),
21
21
  white 86%
22
22
  );
23
23
  }