@coras-io/embed 0.2.0 → 0.4.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 (237) hide show
  1. package/CHANGELOG.md +142 -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.component.d.ts +2 -0
  97. package/dist/containers/footer/footer.component.js +8 -0
  98. package/dist/containers/footer/footer.styles.js +12 -0
  99. package/dist/containers/navbar/navbar.component.d.ts +6 -1
  100. package/dist/containers/navbar/navbar.component.js +41 -9
  101. package/dist/containers/navbar/navbar.styles.js +47 -13
  102. package/dist/contexts/basket/basket.provider.d.ts +1 -0
  103. package/dist/contexts/basket/basket.provider.js +31 -4
  104. package/dist/contexts/properties.context.d.ts +4 -4
  105. package/dist/core/api/middlewares/booking-session/booking-session.constants.d.ts +1 -0
  106. package/dist/core/api/middlewares/booking-session/booking-session.constants.js +1 -0
  107. package/dist/core/api/middlewares/booking-session/booking-session.js +18 -27
  108. package/dist/core/api/middlewares/booking-session/booking-session.utils.d.ts +4 -4
  109. package/dist/core/api/middlewares/booking-session/booking-session.utils.js +13 -10
  110. package/dist/core/api/queries.js +3 -2
  111. package/dist/core/color-scheme.d.ts +14 -0
  112. package/dist/core/color-scheme.js +48 -0
  113. package/dist/core/currency/constants.d.ts +1 -1
  114. package/dist/core/currency/constants.js +4 -3
  115. package/dist/core/i18n/date.js +20 -9
  116. package/dist/core/i18n/locale-codes.d.ts +2 -2
  117. package/dist/core/i18n/locale-codes.js +4 -0
  118. package/dist/core/images/constants.d.ts +0 -5
  119. package/dist/core/images/constants.js +0 -5
  120. package/dist/core/images/helpers.d.ts +8 -0
  121. package/dist/core/images/helpers.js +14 -6
  122. package/dist/core/images/srcset.js +2 -2
  123. package/dist/core/storybook/demo.d.ts +4 -0
  124. package/dist/core/storybook/demo.js +17 -0
  125. package/dist/core/types/locales.d.ts +7 -0
  126. package/dist/core/utils/datetime.js +10 -4
  127. package/dist/core/utils/locale.d.ts +8 -1
  128. package/dist/core/utils/locale.js +10 -0
  129. package/dist/helpers/helpers.d.ts +1 -1
  130. package/dist/index.d.ts +2 -3
  131. package/dist/index.js +1 -2
  132. package/dist/locales/ar-SA.d.ts +279 -0
  133. package/dist/locales/ar-SA.js +288 -0
  134. package/dist/locales/da-DK.d.ts +100 -82
  135. package/dist/locales/da-DK.js +104 -89
  136. package/dist/locales/de-DE.d.ts +100 -82
  137. package/dist/locales/de-DE.js +104 -89
  138. package/dist/locales/en-IE.d.ts +250 -232
  139. package/dist/locales/en-IE.js +254 -239
  140. package/dist/locales/en-US.d.ts +100 -82
  141. package/dist/locales/en-US.js +107 -92
  142. package/dist/locales/es-ES.d.ts +100 -82
  143. package/dist/locales/es-ES.js +104 -89
  144. package/dist/locales/fr-FR.d.ts +100 -82
  145. package/dist/locales/fr-FR.js +104 -89
  146. package/dist/locales/fr-MA.d.ts +100 -82
  147. package/dist/locales/fr-MA.js +104 -89
  148. package/dist/locales/is-IS.d.ts +100 -82
  149. package/dist/locales/is-IS.js +104 -89
  150. package/dist/locales/it-IT.d.ts +100 -82
  151. package/dist/locales/it-IT.js +104 -89
  152. package/dist/locales/ms-MY.d.ts +100 -82
  153. package/dist/locales/ms-MY.js +106 -91
  154. package/dist/locales/nb-NO.d.ts +100 -82
  155. package/dist/locales/nb-NO.js +104 -89
  156. package/dist/locales/pl-PL.d.ts +100 -82
  157. package/dist/locales/pl-PL.js +104 -89
  158. package/dist/locales/pt-PT.d.ts +100 -82
  159. package/dist/locales/pt-PT.js +104 -89
  160. package/dist/locales/sv-SE.d.ts +100 -82
  161. package/dist/locales/sv-SE.js +104 -89
  162. package/dist/locales/th-TH.d.ts +100 -82
  163. package/dist/locales/th-TH.js +104 -89
  164. package/dist/locales/tr-TR.d.ts +100 -82
  165. package/dist/locales/tr-TR.js +104 -89
  166. package/dist/locales/zh-CN.d.ts +100 -82
  167. package/dist/locales/zh-CN.js +105 -90
  168. package/dist/locales/zh-HK.d.ts +279 -0
  169. package/dist/locales/zh-HK.js +288 -0
  170. package/dist/mixins/coinbase.mixin.js +1 -1
  171. package/dist/mixins/error-modal.styles.js +2 -2
  172. package/dist/mixins/location-search/location-search.js +3 -3
  173. package/dist/mixins/location-search/location-search.styles.js +6 -5
  174. package/dist/sdk/chrome.d.ts +9 -3
  175. package/dist/sdk/chrome.js +21 -9
  176. package/dist/sdk/element-adapter.js +11 -8
  177. package/dist/sdk/mount.d.ts +3 -3
  178. package/dist/sdk/mount.js +153 -48
  179. package/dist/sdk/navigation-intent.js +3 -0
  180. package/dist/sdk/page-registry.d.ts +14 -2
  181. package/dist/sdk/page-registry.js +33 -13
  182. package/dist/sdk/theme.d.ts +2 -16
  183. package/dist/sdk/theme.js +12 -44
  184. package/dist/sdk/types.d.ts +59 -30
  185. package/dist/sdk/url.d.ts +24 -3
  186. package/dist/sdk/url.js +66 -27
  187. package/dist/sdk/validation.d.ts +0 -7
  188. package/dist/sdk/validation.js +104 -48
  189. package/dist/styles/contrast-fixtures.d.ts +0 -5
  190. package/dist/styles/contrast-fixtures.js +79 -9
  191. package/dist/styles/contrast.js +4 -3
  192. package/dist/styles/defaults/component.js +17 -1
  193. package/dist/styles/primitives.d.ts +0 -10
  194. package/dist/styles/primitives.js +2 -12
  195. package/dist/styles/tokens.d.ts +1 -1
  196. package/dist/styles/tokens.generated.d.ts +1 -1
  197. package/dist/styles/tokens.generated.js +1 -1
  198. package/dist/styles/tokens.metadata.d.ts +1 -1
  199. package/dist/styles/tokens.metadata.js +378 -90
  200. package/dist/views/details-page/details-page.component.d.ts +5 -5
  201. package/dist/views/details-page/details-page.component.js +77 -80
  202. package/dist/views/details-page/details-page.styles.js +64 -9
  203. package/dist/views/help-page/help-page.component.d.ts +1 -0
  204. package/dist/views/help-page/help-page.component.js +11 -4
  205. package/dist/views/help-page/help-page.styles.js +21 -8
  206. package/dist/views/landing-page/landing-page.component.d.ts +4 -4
  207. package/dist/views/landing-page/landing-page.component.js +65 -65
  208. package/dist/views/landing-page/landing-page.styles.js +70 -3
  209. package/dist/views/payment-page/partials/activity-details/activity-details.styles.js +10 -33
  210. package/dist/views/payment-page/partials/billing-address/billing-address.styles.js +4 -9
  211. package/dist/views/payment-page/partials/confirmation/confirmation.styles.js +6 -6
  212. package/dist/views/payment-page/partials/hotel-pickup-list/hotel-pickup-list.styles.js +4 -4
  213. package/dist/views/payment-page/partials/payment-type-selector/payment-type-selector.styles.js +1 -0
  214. package/dist/views/payment-page/partials/stripe/stripe.component.d.ts +1 -1
  215. package/dist/views/payment-page/partials/stripe/stripe.component.js +11 -12
  216. package/dist/views/payment-page/partials/stripe/stripe.constants.d.ts +2 -15
  217. package/dist/views/payment-page/partials/stripe/stripe.constants.js +4 -17
  218. package/dist/views/payment-page/partials/stripe/stripe.styles.js +16 -23
  219. package/dist/views/payment-page/partials/stripe/stripe.utils.d.ts +25 -14
  220. package/dist/views/payment-page/partials/stripe/stripe.utils.js +111 -62
  221. package/dist/views/payment-page/partials/terms-checkbox/terms-checkbox.styles.js +1 -1
  222. package/dist/views/payment-page/payment-page.component.d.ts +1 -0
  223. package/dist/views/payment-page/payment-page.component.js +19 -9
  224. package/dist/views/payment-page/payment-page.styles.js +37 -32
  225. package/dist/views/payment-page/payment-page.utils.d.ts +7 -0
  226. package/dist/views/payment-page/payment-page.utils.js +29 -14
  227. package/dist/views/payment-page/payment-page.validators.js +9 -3
  228. package/dist/views/payment-page/services/payment-api.service.d.ts +1 -1
  229. package/dist/views/search-page/search-page.component.d.ts +1 -0
  230. package/dist/views/search-page/search-page.component.js +12 -6
  231. package/dist/views/search-page/search-page.styles.js +24 -2
  232. package/dist/views/suggestion-widget/suggestion-widget.styles.js +1 -1
  233. package/package.json +63 -76
  234. package/dist/custom-elements.json +0 -37397
  235. package/dist/sdk/meta.d.ts +0 -7
  236. package/dist/sdk/meta.js +0 -9
  237. package/dist/styles/tokens.css +0 -359
@@ -4,7 +4,7 @@ export default css `
4
4
  ${component}
5
5
 
6
6
  :host {
7
- --bottom-drawer-bg-color: var(--coras-palette-white);
7
+ --bottom-drawer-bg-color: var(--coras-color-card);
8
8
  --bottom-drawer-border-color: var(--coras-color-neutral-300);
9
9
  --bottom-drawer-shadow: var(--coras-shadow-top);
10
10
  --bottom-drawer-z-index: var(--coras-z-index-overlay, 1000);
@@ -12,12 +12,14 @@ export default css `
12
12
  --bottom-drawer-transition: 0.2s ease;
13
13
  --bottom-drawer-transform-y: 0px;
14
14
 
15
+ /* Sized by left/right against the containing block, never 100vw: that is
16
+ the window width, which ignores both a host page's scrollbar and any
17
+ transformed ancestor that a fixed element is actually contained by. */
15
18
  position: fixed;
16
19
  left: 0;
17
20
  right: 0;
18
21
  bottom: 0;
19
22
  display: block;
20
- width: 100vw;
21
23
  animation: slideOut 0.3s both;
22
24
  z-index: var(--bottom-drawer-z-index);
23
25
  }
@@ -40,11 +42,11 @@ export default css `
40
42
  width: 40px;
41
43
  height: 4px;
42
44
  background-color: var(--coras-color-neutral-200);
43
- border-radius: 999px;
45
+ border-radius: var(--coras-radius-full);
44
46
  }
45
47
 
46
48
  .content {
47
- width: 100vw;
49
+ width: 100%;
48
50
  background-color: var(--bottom-drawer-bg-color);
49
51
  border-top: 1px solid var(--bottom-drawer-border-color);
50
52
  box-shadow: var(--bottom-drawer-shadow);
@@ -15,7 +15,6 @@ export declare class CorasButton extends LitElement {
15
15
  borderColor: (typeof borderColor)[number];
16
16
  expanded: boolean;
17
17
  shadow: boolean;
18
- background: boolean;
19
18
  clickable: boolean;
20
19
  error: boolean;
21
20
  loading: boolean;
@@ -24,11 +24,9 @@ export class CorasButton extends LitElement {
24
24
  this.borderColor = "none";
25
25
  this.expanded = false;
26
26
  this.shadow = true;
27
- this.background = false;
28
27
  this.clickable = true;
29
28
  this.error = false;
30
29
  this.loading = false;
31
- // TODO: Skip if not required
32
30
  this.internals = this.attachInternals();
33
31
  }
34
32
  connectedCallback() {
@@ -43,7 +41,6 @@ export class CorasButton extends LitElement {
43
41
  }
44
42
  super.disconnectedCallback();
45
43
  }
46
- // TODO: Do we need it? When is it used?
47
44
  click() {
48
45
  if (!this.disabled && this.clickable && !this.loading) {
49
46
  this.button.click();
@@ -74,7 +71,7 @@ export class CorasButton extends LitElement {
74
71
  "radius-small": this.radius === "small",
75
72
  "radius-large": this.radius === "large",
76
73
  "radius-circle": this.radius === "circle",
77
- "radius-chip": this.radius === "chip",
74
+ "radius-field": this.radius === "field",
78
75
  "height-xs": this.height === "xs",
79
76
  "height-sm": this.height === "sm",
80
77
  "height-md": this.height === "md",
@@ -88,7 +85,6 @@ export class CorasButton extends LitElement {
88
85
  "has-prefix": hasPrefix,
89
86
  "has-suffix": hasSuffix,
90
87
  "no-shadow": !this.shadow,
91
- "with-background": this.background,
92
88
  "not-clickable": !this.clickable,
93
89
  error: this.error,
94
90
  loading: this.loading,
@@ -142,9 +138,6 @@ __decorate([
142
138
  __decorate([
143
139
  property({ type: Boolean })
144
140
  ], CorasButton.prototype, "shadow", void 0);
145
- __decorate([
146
- property({ type: Boolean })
147
- ], CorasButton.prototype, "background", void 0);
148
141
  __decorate([
149
142
  property({ type: Boolean, reflect: true })
150
143
  ], CorasButton.prototype, "clickable", void 0);
@@ -1,5 +1,5 @@
1
1
  export declare const variants: string[];
2
- export declare const radius: readonly ["small", "large", "circle", "chip"];
2
+ export declare const radius: readonly ["small", "large", "circle", "field"];
3
3
  export declare const height: readonly ["xs", "sm", "md", "lg", "xl"];
4
4
  export declare const borderColor: readonly ["none", "light", "medium"];
5
5
  export declare const expanded: readonly [true, false];
@@ -5,7 +5,7 @@ export const variants = [
5
5
  "text",
6
6
  "transparent",
7
7
  ];
8
- export const radius = ["small", "large", "circle", "chip"];
8
+ export const radius = ["small", "large", "circle", "field"];
9
9
  export const height = ["xs", "sm", "md", "lg", "xl"];
10
10
  export const borderColor = ["none", "light", "medium"];
11
11
  export const expanded = [true, false];
@@ -7,12 +7,12 @@ export default css `
7
7
  --button-border-radius: var(--coras-radius-button);
8
8
  --button-border-radius-small: var(--coras-radius-sm);
9
9
  --button-border-radius-large: var(--coras-radius-button);
10
- --button-border-radius-chip: var(--coras-radius-chip);
10
+ --button-border-radius-field: var(--coras-radius-field);
11
11
  --button-box-shadow: var(--coras-shadow-md);
12
12
  --button-font-weight: var(--coras-font-weight-normal);
13
13
 
14
14
  --button-primary-text-color: var(--coras-button-primary-text-color);
15
- --button-primary-text-color-disabled: var(--coras-color-neutral-500);
15
+ --button-primary-text-color-disabled: var(--coras-color-text-disabled);
16
16
  --button-primary-background: var(--coras-button-primary-background);
17
17
  --button-primary-background-hover: var(
18
18
  --coras-button-primary-background-hover
@@ -21,56 +21,65 @@ export default css `
21
21
  --coras-button-primary-background-active
22
22
  );
23
23
  --button-primary-background-disabled: var(--coras-color-neutral-200);
24
-
25
- --button-secondary-color: var(--coras-palette-white);
26
- --button-secondary-color-disabled: var(--coras-color-neutral-500);
27
- --button-secondary-background-color: var(--coras-color-secondary-500);
28
- --button-secondary-background-color-hover: var(--coras-color-secondary-400);
24
+ --button-primary-border-color: var(--coras-button-primary-border-color);
25
+
26
+ --button-secondary-color: var(--coras-color-secondary-button-text);
27
+ --button-secondary-color-disabled: var(--coras-color-text-disabled);
28
+ --button-secondary-background-color: var(--coras-color-secondary-button);
29
+ --button-secondary-border-color: var(--coras-button-secondary-border-color);
30
+ --button-secondary-background-color-hover: var(
31
+ --coras-color-secondary-button-hover
32
+ );
29
33
  --button-secondary-background-color-active: var(
30
- --coras-color-secondary-500
34
+ --coras-color-secondary-button-pressed
31
35
  );
32
36
  --button-secondary-background-color-disabled: var(
33
37
  --coras-color-neutral-200
34
38
  );
35
39
 
36
40
  --button-outlined-color: var(--coras-color-text);
37
- --button-outlined-color-disabled: var(--coras-color-neutral-500);
38
- --button-outlined-background-color: var(--coras-color-surface);
39
- --button-outlined-background-color-hover: var(--coras-color-surface-hover);
40
- --button-outlined-background-color-active: var(--coras-color-surface);
41
- --button-outlined-background-color-disabled: var(--coras-color-surface);
41
+ --button-outlined-color-disabled: var(--coras-color-text-disabled);
42
+ /* An outlined button is a control, not a card, so it fills from the page
43
+ background. There is no page-background hover token, so it composes one
44
+ the same way the card, field and menu hovers are built. */
45
+ --button-outlined-background-color: var(--coras-color-background);
46
+ --button-outlined-background-color-hover: color-mix(
47
+ in srgb,
48
+ var(--coras-color-background),
49
+ var(--coras-state-overlay) var(--coras-state-hover)
50
+ );
51
+ --button-outlined-background-color-active: var(--coras-color-background);
52
+ --button-outlined-background-color-disabled: var(--coras-color-background);
42
53
  --button-outlined-border-color: var(--coras-color-neutral-600);
43
- --button-outlined-border-color-disabled: var(--coras-color-neutral-400);
54
+ --button-outlined-border-color-disabled: var(--coras-color-text-disabled);
44
55
 
45
56
  --button-text-color: var(--coras-color-text-button);
46
- --button-text-color-disabled: var(--coras-color-neutral-500);
57
+ --button-text-color-disabled: var(--coras-color-text-disabled);
47
58
  --button-text-background-color: transparent;
48
- --button-text-background-color-hover: var(--coras-color-primary-100);
49
- --button-text-background-color-active: var(--coras-color-primary-500);
59
+ --button-text-background-color-hover: var(--coras-color-card-hover);
60
+ --button-text-background-color-active: var(--coras-color-card-active);
50
61
  --button-text-background-color-disabled: transparent;
51
62
  --button-text-font-weight: var(--coras-font-weight-semibold);
52
63
 
53
64
  --button-transparent-color: var(--coras-palette-white);
54
- --button-transparent-color-disabled: var(--coras-color-neutral-500);
55
- --button-transparent-border-color-disabled: var(--coras-color-neutral-500);
56
- --button-transparent-background-color: transparent;
57
- --button-transparent-background-color-hover: var(--coras-color-primary-100);
58
- --button-transparent-background-color-active: var(
59
- --coras-color-primary-100
65
+ --button-transparent-color-disabled: var(--coras-color-text-disabled);
66
+ --button-transparent-border-color-disabled: var(
67
+ --coras-color-text-disabled
60
68
  );
69
+ --button-transparent-background-color: transparent;
70
+ --button-transparent-background-color-hover: var(--coras-color-card-hover);
71
+ --button-transparent-background-color-active: var(--coras-color-card-hover);
61
72
  --button-transparent-border-color: var(--coras-palette-white);
62
73
  --button-transparent-color-hover: var(--coras-color-text);
63
- --button-transparent-color-active: var(--coras-color-primary-500);
64
- --button-transparent-border-color-active: var(--coras-color-primary-500);
74
+ --button-transparent-color-active: var(--coras-color-primary);
75
+ --button-transparent-border-color-active: var(--coras-color-primary);
65
76
 
66
77
  --button-small-font-size: var(--coras-font-size-sm);
67
78
  --button-medium-font-size: 1em;
68
79
  --button-large-font-size: 1.2em;
69
80
 
70
- --button-background-color: var(--coras-color-primary-50);
71
-
72
- --button-error-color: var(--coras-color-error-700);
73
- --button-error-border-color: var(--coras-color-error-700);
81
+ --button-error-color: var(--coras-color-error);
82
+ --button-error-border-color: var(--coras-color-error);
74
83
 
75
84
  cursor: pointer;
76
85
  display: inline-block;
@@ -83,6 +92,15 @@ export default css `
83
92
  width: 100%;
84
93
  }
85
94
 
95
+ /* A field-radius outlined button is a form field (the landing selectors, the
96
+ ticket selector, the date field), so it takes the field fill, not the card. */
97
+ :host([radius="field"]) {
98
+ --button-outlined-background-color: var(--coras-color-field);
99
+ --button-outlined-background-color-hover: var(--coras-color-field-hover);
100
+ --button-outlined-background-color-active: var(--coras-color-field);
101
+ --button-outlined-background-color-disabled: var(--coras-color-field);
102
+ }
103
+
86
104
  :host(:not([clickable])) {
87
105
  pointer-events: none;
88
106
  }
@@ -105,6 +123,14 @@ export default css `
105
123
  white-space: nowrap;
106
124
  width: 100%;
107
125
 
126
+ &:focus-visible {
127
+ outline: 2px solid var(--coras-color-focus-ring);
128
+ outline-offset: 2px;
129
+ box-shadow:
130
+ 0 0 0 2px var(--coras-color-background),
131
+ var(--button-box-shadow);
132
+ }
133
+
108
134
  &.has-prefix.has-suffix {
109
135
  display: flex;
110
136
  justify-content: space-between;
@@ -127,6 +153,7 @@ export default css `
127
153
  &.primary {
128
154
  background: var(--button-primary-background);
129
155
  color: var(--button-primary-text-color);
156
+ border-color: var(--button-primary-border-color);
130
157
 
131
158
  &:hover:not([disabled]) {
132
159
  background: var(--button-primary-background-hover);
@@ -154,6 +181,7 @@ export default css `
154
181
  &.secondary {
155
182
  background-color: var(--button-secondary-background-color);
156
183
  color: var(--button-secondary-color);
184
+ border-color: var(--button-secondary-border-color);
157
185
 
158
186
  &:hover:not([disabled]) {
159
187
  background-color: var(--button-secondary-background-color-hover);
@@ -280,8 +308,8 @@ export default css `
280
308
  border-radius: var(--button-border-radius-large);
281
309
  }
282
310
 
283
- &.radius-chip {
284
- border-radius: var(--button-border-radius-chip);
311
+ &.radius-field {
312
+ border-radius: var(--button-border-radius-field);
285
313
  padding-left: 0.5rem;
286
314
  padding-right: 0.5rem;
287
315
  }
@@ -319,7 +347,10 @@ export default css `
319
347
  }
320
348
  }
321
349
 
322
- &.border-none {
350
+ /* "none" is the default border state, so it must not erase the brand border
351
+ colour a primary or secondary button carries. An explicit light/medium
352
+ override still applies to any variant. */
353
+ &.border-none:not(.primary):not(.secondary) {
323
354
  border-color: transparent;
324
355
  }
325
356
 
@@ -335,16 +366,12 @@ export default css `
335
366
  box-shadow: none;
336
367
  }
337
368
 
338
- &.with-background {
339
- background-color: var(--button-background-color);
340
- }
341
-
342
369
  &.error {
343
- border-color: var(--coras-color-error-700);
344
- color: var(--coras-color-error-700);
370
+ border-color: var(--coras-color-error);
371
+ color: var(--coras-color-error);
345
372
 
346
373
  ::slotted(coras-icon) {
347
- fill: var(--coras-color-error-700);
374
+ fill: var(--coras-color-error);
348
375
  }
349
376
  }
350
377
 
@@ -6,15 +6,13 @@ export default css `
6
6
  :host {
7
7
  --calendar-font-color: var(--coras-color-text);
8
8
  --calendar-font-size: var(--coras-font-size-sm);
9
- --calendar-background-color: var(--coras-color-surface);
9
+ --calendar-background-color: var(--coras-color-menu);
10
10
  --calendar-disabled-font-color: var(--coras-color-neutral-600);
11
11
  --calendar-header-font-size: var(--coras-font-size-base);
12
12
  --calendar-day-name-font-weight: var(--coras-font-weight-semibold);
13
- --calendar-selected-background-color: var(--coras-color-secondary-500);
13
+ --calendar-selected-background-color: var(--coras-color-secondary);
14
14
  --calendar-selected-font-color: var(--coras-palette-white);
15
- --calendar-selected-range-background-color: var(
16
- --coras-color-surface-hover
17
- );
15
+ --calendar-selected-range-background-color: var(--coras-color-menu-hover);
18
16
  --calendar-selected-border-radius: var(--coras-radius-full);
19
17
  }
20
18
 
@@ -3,6 +3,13 @@ import component from "../../../styles/defaults/component.js";
3
3
  export default css `
4
4
  ${component}
5
5
 
6
+ :host {
7
+ /* The multi-month calendar is mounted directly by the landing page, not
8
+ nested inside coras-calendar, so it does not inherit that component's
9
+ token. Declare it here rather than reading a sibling's :host. */
10
+ --calendar-header-font-size: var(--coras-font-size-base);
11
+ }
12
+
6
13
  .calendar {
7
14
  .months {
8
15
  display: flex;
@@ -6,21 +6,24 @@ export default css `
6
6
  :host {
7
7
  --category-tag-line-height: 14px;
8
8
  --category-tag-letter-spacing: 0.02em;
9
- /* New design: every category tag uses an alert surface background and the
10
- primary text colour (designer "Category tags (New)"). */
11
9
  --category-tag-music-color: var(--coras-color-text);
12
- --category-tag-music-background-color: var(--coras-color-error-surface);
10
+ --category-tag-music-background-color: var(--coras-color-error-background);
13
11
  --category-tag-sport-color: var(--coras-color-text);
14
- --category-tag-sport-background-color: var(--coras-color-success-surface);
12
+ --category-tag-sport-background-color: var(
13
+ --coras-color-success-background
14
+ );
15
15
  --category-tag-theatre-color: var(--coras-color-text);
16
- --category-tag-theatre-background-color: var(--coras-color-warning-surface);
16
+ --category-tag-theatre-background-color: var(
17
+ --coras-color-warning-background
18
+ );
17
19
 
18
- /* Tags keep a fixed pill shape, exempt from the brand radius. */
19
20
  --category-tag-border-radius: var(--coras-radius-full);
20
21
  --category-tag-font-size: var(--coras-font-size-xxs);
21
22
  --category-tag-font-weight: var(--coras-font-weight-normal);
22
23
  --category-tag-activity-color: var(--coras-color-text);
23
- --category-tag-activity-background-color: var(--coras-color-info-surface);
24
+ --category-tag-activity-background-color: var(
25
+ --coras-color-info-background
26
+ );
24
27
  --category-tag-icon-font-size: var(--coras-font-size-lg);
25
28
 
26
29
  width: fit-content;
@@ -16,7 +16,7 @@ export default css `
16
16
  --checkbox-border-color-disabled: var(--coras-color-neutral-300);
17
17
  --checkbox-shadow-color-disabled: var(--coras-color-neutral-500);
18
18
  --checkbox-background-color-main: var(--coras-color-neutral-500);
19
- --checkbox-background-color-hover: var(--coras-color-surface-hover);
19
+ --checkbox-background-color-hover: var(--coras-color-card-hover);
20
20
  }
21
21
 
22
22
  :host([disabled]) {
@@ -50,7 +50,7 @@ export default css `
50
50
 
51
51
  :host([error]) {
52
52
  label {
53
- color: var(--coras-color-error-500);
53
+ color: var(--coras-color-error);
54
54
  }
55
55
  }
56
56
 
@@ -16,8 +16,8 @@ export default css `
16
16
  var(--chip-primary-background-color),
17
17
  var(--coras-state-overlay) var(--coras-state-hover)
18
18
  );
19
- --chip-secondary-background-color: var(--coras-color-primary-200);
20
- --chip-secondary-color: var(--coras-color-primary-500);
19
+ --chip-secondary-background-color: var(--coras-color-primary-tint);
20
+ --chip-secondary-color: var(--coras-color-primary);
21
21
  --chip-secondary-background-color-hover: color-mix(
22
22
  in srgb,
23
23
  var(--chip-secondary-background-color),
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { html, LitElement } from "lit";
8
8
  import { property } from "lit/decorators.js";
9
- import { localized, msg } from "@lit/localize";
9
+ import { localized, msg, str } from "@lit/localize";
10
10
  import styles from "./collect-fida.styles.js";
11
11
  import "../button/button.js";
12
12
  let CorasCollectFida = class CorasCollectFida extends LitElement {
@@ -29,6 +29,8 @@ let CorasCollectFida = class CorasCollectFida extends LitElement {
29
29
  }
30
30
  render() {
31
31
  const logoSrc = this.getLogoSrc();
32
+ const tokens = msg(str `${this.tokens} FIDA tokens`);
33
+ const collectedTokens = html `<strong>${tokens}</strong>`;
32
34
  return html `
33
35
  <section part="base" class="card" aria-live="polite">
34
36
  <div part="logo" class="logo" aria-hidden=${logoSrc ? "false" : "true"}>
@@ -38,8 +40,8 @@ let CorasCollectFida = class CorasCollectFida extends LitElement {
38
40
  </div>
39
41
 
40
42
  <p part="title" class="title">
41
- ${msg(html `Good news! You’ve collected
42
- <strong>${this.tokens} FIDA tokens</strong> on this purchase.`)}
43
+ ${msg(html `Good news! You’ve collected ${collectedTokens} on this
44
+ purchase.`)}
43
45
  </p>
44
46
 
45
47
  <p part="description" class="description">
@@ -3,23 +3,17 @@ export default css `
3
3
  :host {
4
4
  display: block;
5
5
 
6
- /* Component CSS custom properties with design token fallbacks */
7
- --collect-fida-background: linear-gradient(
8
- to right,
9
- color-mix(in srgb, var(--coras-palette-pink-500), white 97%),
10
- color-mix(in srgb, var(--coras-palette-pink-500), white 97%)
11
- );
6
+ --collect-fida-background: var(--coras-color-secondary-tint);
12
7
  --collect-fida-border-radius: 0.75rem;
13
- --collect-fida-text-color: var(--coras-color-secondary-400);
14
- --collect-fida-muted-color: var(--coras-color-secondary-400);
8
+ --collect-fida-text-color: var(--coras-color-text);
9
+ --collect-fida-muted-color: var(--coras-color-text-muted);
15
10
  --collect-fida-title-font-size: var(--coras-font-size-base);
16
11
  --collect-fida-description-font-size: var(--coras-font-size-sm);
17
12
  --collect-fida-padding-x: 3rem;
18
13
  --collect-fida-padding-y: 3rem;
19
14
 
20
- /* Button theme (pink variant) */
21
- --collect-fida-button-bg: var(--coras-palette-pink-500);
22
- --collect-fida-button-bg-hover: var(--coras-palette-pink-500);
15
+ --collect-fida-button-bg: var(--coras-color-secondary);
16
+ --collect-fida-button-bg-hover: var(--coras-color-secondary-button-hover);
23
17
  --collect-fida-button-text: var(--coras-palette-white);
24
18
  --collect-fida-button-radius: var(--coras-radius-full);
25
19
  --collect-fida-button-padding-x: 1rem;
@@ -40,7 +34,7 @@ export default css `
40
34
  font-weight: var(--coras-font-weight-bold);
41
35
  letter-spacing: 0.02em;
42
36
  margin-bottom: 1rem;
43
- color: var(--coras-color-secondary-400);
37
+ color: var(--coras-color-text);
44
38
  }
45
39
 
46
40
  .logo img {
@@ -50,7 +44,7 @@ export default css `
50
44
 
51
45
  .title {
52
46
  margin: 0 0 1rem;
53
- color: var(--coras-color-secondary-400);
47
+ color: var(--coras-color-text);
54
48
  font-size: 1.125rem;
55
49
  font-style: normal;
56
50
  font-weight: 400;
@@ -58,7 +52,7 @@ export default css `
58
52
  }
59
53
 
60
54
  .title strong {
61
- color: var(--coras-color-secondary-400);
55
+ color: var(--coras-color-text);
62
56
  font-size: 1.125rem;
63
57
  font-style: normal;
64
58
  font-weight: 600;
@@ -67,7 +61,7 @@ export default css `
67
61
 
68
62
  .description {
69
63
  margin: 0 0 1rem;
70
- color: var(--coras-color-secondary-400);
64
+ color: var(--coras-color-text);
71
65
  font-size: 1.125rem;
72
66
  font-style: normal;
73
67
  font-weight: 400;
@@ -81,7 +75,6 @@ export default css `
81
75
  margin-top: 1rem;
82
76
  }
83
77
 
84
- /* Theme the internal coras-button using CSS custom properties */
85
78
  .actions coras-button {
86
79
  --coras-button-primary-background: var(--collect-fida-button-bg);
87
80
  --coras-button-primary-background-hover: var(
@@ -288,9 +288,10 @@ let CorasCryptoAuthModal = class CorasCryptoAuthModal extends LitElement {
288
288
  `;
289
289
  }
290
290
  renderEmailOtpContent() {
291
+ const email = html `<strong>${this.email}</strong>`;
291
292
  return html `
292
293
  <p class="step-instruction">
293
- ${msg(html `Please check <strong>${this.email}</strong> for your 6 digit code`)}
294
+ ${msg(html `Please check ${email} for your 6 digit code`)}
294
295
  </p>
295
296
  <div class="otp-container">
296
297
  <coras-otp
@@ -349,11 +350,12 @@ let CorasCryptoAuthModal = class CorasCryptoAuthModal extends LitElement {
349
350
  }
350
351
  renderMfaSmsPromptContent() {
351
352
  const hasFormPhone = !!this.formPhone && !this.showPhoneInput;
353
+ const phone = html `<strong>${this.maskedPhone}</strong>`;
352
354
  return html `
353
355
  <p class="step-instruction">
354
356
  ${hasFormPhone
355
357
  ? msg(html `We'll send a one-time code to your phone number ending in
356
- <strong>${this.maskedPhone}</strong> to verify it.`)
358
+ ${phone} to verify it.`)
357
359
  : msg("Add your phone number to protect your FIDA payments. We'll send a one-time code to verify it.")}
358
360
  </p>
359
361
  ${hasFormPhone ? nothing : this.renderPhoneField()}
@@ -390,10 +392,10 @@ let CorasCryptoAuthModal = class CorasCryptoAuthModal extends LitElement {
390
392
  `;
391
393
  }
392
394
  renderMfaSmsOtpContent() {
395
+ const phone = html `<strong>${this.maskedPhone}</strong>`;
393
396
  return html `
394
397
  <p class="step-instruction">
395
- ${msg(html `Please check <strong>${this.maskedPhone}</strong> for your 6
396
- digit code`)}
398
+ ${msg(html `Please check ${phone} for your 6 digit code`)}
397
399
  </p>
398
400
  <div class="otp-container">
399
401
  <coras-otp
@@ -53,7 +53,7 @@ export default css `
53
53
  }
54
54
 
55
55
  .resend-link {
56
- background: var(--coras-color-surface, #ffffff);
56
+ background: var(--coras-color-card, #ffffff);
57
57
  border: 1.5px solid var(--coras-color-text-primary, #000000);
58
58
  border-radius: 64px;
59
59
  color: var(--coras-color-text-primary, #000000);
@@ -80,7 +80,7 @@ export default css `
80
80
 
81
81
  .rate-limit-error,
82
82
  .error-text {
83
- color: var(--coras-color-error-500);
83
+ color: var(--coras-color-error);
84
84
  font-size: var(--coras-font-size-sm);
85
85
  margin: 0.5rem 0;
86
86
  }