@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,125 +4,350 @@ export const TOKEN_CONTROLS = [
4
4
  "key": "primary",
5
5
  "cssVar": "--coras-brand-primary",
6
6
  "type": "color",
7
- "group": "Colours",
8
- "label": "Primary",
7
+ "group": "Key colours",
8
+ "label": "Primary Brand Colour",
9
9
  "default": "#4657d4",
10
- "description": "Main brand colour for solid buttons, links and accents"
10
+ "description": "Used on key brand identifiers: buttons, ratings stars, selected states"
11
11
  },
12
12
  {
13
13
  "key": "secondary",
14
14
  "cssVar": "--coras-brand-secondary",
15
15
  "type": "color",
16
- "group": "Colours",
17
- "label": "Secondary",
16
+ "group": "Key colours",
17
+ "label": "Secondary Brand Colour",
18
18
  "default": "#161c44",
19
- "description": "Supporting brand colour for basket accents and highlights"
19
+ "description": "Used on supporting brand elements and secondary buttons"
20
20
  },
21
21
  {
22
- "key": "background",
23
- "cssVar": "--coras-brand-background",
22
+ "key": "pageBackground",
23
+ "cssVar": "--coras-brand-page-background",
24
24
  "type": "color",
25
- "group": "Colours",
26
- "label": "Background",
25
+ "group": "Key colours",
26
+ "label": "Page Background Colour",
27
27
  "default": "#ffffff",
28
28
  "description": "The main page background behind all content; transparent by default so the embed adopts the host page background"
29
29
  },
30
- {
31
- "key": "surface",
32
- "cssVar": "--coras-brand-surface",
33
- "type": "color",
34
- "group": "Colours",
35
- "label": "Surface",
36
- "default": "#fcfcff",
37
- "description": "Raised containers like cards, panels, dropdowns and sheets"
38
- },
39
30
  {
40
31
  "key": "text",
41
32
  "cssVar": "--coras-brand-text",
42
33
  "type": "color",
43
- "group": "Colours",
44
- "label": "Text",
34
+ "group": "Key colours",
35
+ "label": "Body Text Colour",
45
36
  "default": "#161c44",
46
- "description": "Default body text colour"
37
+ "description": "All body copy; auto-suggested to stay readable on the page background"
47
38
  },
48
39
  {
49
40
  "key": "textMuted",
50
41
  "cssVar": "--coras-brand-text-muted",
51
42
  "type": "color",
52
- "group": "Colours",
53
- "label": "Muted text",
43
+ "group": "Key colours",
44
+ "label": "Muted Text Colour",
54
45
  "default": "#888888",
55
- "description": "Secondary text for captions, hints and placeholders"
46
+ "description": "Field labels, placeholders, captions and hints; auto-suggested as a softened blend of text and background"
56
47
  },
57
48
  {
58
- "key": "radius",
59
- "cssVar": "--coras-brand-radius",
60
- "type": "length",
61
- "group": "Shape & type",
62
- "label": "Border radius",
63
- "default": "1.5rem",
64
- "description": "Default corner roundness; buttons and chips can override below"
49
+ "key": "link",
50
+ "cssVar": "--coras-brand-link",
51
+ "type": "color",
52
+ "group": "Key colours",
53
+ "label": "Link Text Colour",
54
+ "default": "#4657d4",
55
+ "description": "This follows the Text Button Colour, which itself defaults to the Primary Brand Colour. Adjust here if desired."
65
56
  },
66
57
  {
67
- "key": "font",
68
- "cssVar": "--coras-brand-font",
69
- "type": "font",
70
- "group": "Shape & type",
71
- "label": "Font family",
72
- "default": "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"",
73
- "description": "Font for all text (add hosted files under Web fonts)"
58
+ "key": "icon",
59
+ "cssVar": "--coras-brand-icon",
60
+ "type": "color",
61
+ "group": "Key colours",
62
+ "label": "Icon Colour (In Page)",
63
+ "default": "#161c44",
64
+ "description": "This defaults to the Body Text Colour but can be adjusted here if desired"
65
+ },
66
+ {
67
+ "key": "cardBackground",
68
+ "cssVar": "--coras-brand-card-background",
69
+ "type": "color",
70
+ "group": "Cards & panels",
71
+ "label": "Card Fill Colour",
72
+ "default": "#fcfcff",
73
+ "description": "Cards, panels, and the price/options section backgrounds"
74
+ },
75
+ {
76
+ "key": "cardBorder",
77
+ "cssVar": "--coras-brand-card-border",
78
+ "type": "color",
79
+ "group": "Cards & panels",
80
+ "label": "Card Border Colour",
81
+ "default": "#e6e6e6",
82
+ "description": "Borders around cards and panels"
83
+ },
84
+ {
85
+ "key": "fieldBackground",
86
+ "cssVar": "--coras-brand-field-background",
87
+ "type": "color",
88
+ "group": "Cards & panels",
89
+ "label": "Field / Input Fill Colour",
90
+ "default": "#ffffff",
91
+ "description": "The inside of text fields, dropdown triggers, the card fields on the payment page, and the ticket, time and language selection controls"
92
+ },
93
+ {
94
+ "key": "fieldBorder",
95
+ "cssVar": "--coras-brand-field-border",
96
+ "type": "color",
97
+ "group": "Cards & panels",
98
+ "label": "Field / Input Border Colour",
99
+ "default": "#cccccc",
100
+ "description": "Borders of text fields, dropdown triggers and other form inputs"
101
+ },
102
+ {
103
+ "key": "menuBackground",
104
+ "cssVar": "--coras-brand-menu-background",
105
+ "type": "color",
106
+ "group": "Cards & panels",
107
+ "label": "Menu / Dropdown Fill Colour",
108
+ "default": "#ffffff",
109
+ "description": "The panel behind dropdown menus: the basket, currency, language, sort by, location results and the calendar"
110
+ },
111
+ {
112
+ "key": "menuBorder",
113
+ "cssVar": "--coras-brand-menu-border",
114
+ "type": "color",
115
+ "group": "Cards & panels",
116
+ "label": "Menu / Dropdown Border Colour",
117
+ "default": "#e6e6e6",
118
+ "description": "The outline around a dropdown menu panel"
119
+ },
120
+ {
121
+ "key": "divider",
122
+ "cssVar": "--coras-brand-divider",
123
+ "type": "color",
124
+ "group": "Cards & panels",
125
+ "label": "Dividing Lines",
126
+ "default": "#e6e6e6",
127
+ "description": "Hairline rules between sections and list items, on the web and in emails"
128
+ },
129
+ {
130
+ "key": "cardShadow",
131
+ "cssVar": "--coras-brand-card-shadow",
132
+ "type": "shadow",
133
+ "group": "Cards & panels",
134
+ "label": "Card Shadow",
135
+ "default": "0px 24px 24px rgba(0, 0, 0, 0.04)",
136
+ "description": "The large soft shadow under cards (set to none for a flat look)"
137
+ },
138
+ {
139
+ "key": "softShadow",
140
+ "cssVar": "--coras-brand-soft-shadow",
141
+ "type": "shadow",
142
+ "group": "Cards & panels",
143
+ "label": "Container Shadow",
144
+ "default": "0px 4px 4px rgba(0, 0, 0, 0.04)",
145
+ "description": "The subtle shadow on smaller raised elements"
146
+ },
147
+ {
148
+ "key": "primaryButton",
149
+ "cssVar": "--coras-brand-primary-button",
150
+ "type": "color",
151
+ "group": "Buttons",
152
+ "label": "Primary Button Fill Colour",
153
+ "default": "#4657d4",
154
+ "description": "This defaults to the Primary Brand Colour but can be adjusted here if required"
155
+ },
156
+ {
157
+ "key": "primaryButtonText",
158
+ "cssVar": "--coras-brand-primary-button-text",
159
+ "type": "color",
160
+ "group": "Buttons",
161
+ "label": "Primary Button Text Colour",
162
+ "default": "#ffffff",
163
+ "description": "There is an auto suggested value here to maintain legibility and contrast. This can be adjusted if desired."
164
+ },
165
+ {
166
+ "key": "secondaryButton",
167
+ "cssVar": "--coras-brand-secondary-button",
168
+ "type": "color",
169
+ "group": "Buttons",
170
+ "label": "Secondary Button Fill Colour",
171
+ "default": "#161c44",
172
+ "description": "This defaults to the Secondary Brand Colour but can be adjusted here if required"
173
+ },
174
+ {
175
+ "key": "secondaryButtonText",
176
+ "cssVar": "--coras-brand-secondary-button-text",
177
+ "type": "color",
178
+ "group": "Buttons",
179
+ "label": "Secondary Button Text Colour",
180
+ "default": "#ffffff",
181
+ "description": "There is an auto suggested value here to maintain legibility and contrast. This can be adjusted if desired."
74
182
  },
75
183
  {
76
184
  "key": "textButton",
77
185
  "cssVar": "--coras-brand-text-button",
78
186
  "type": "color",
79
- "group": "Colours",
80
- "label": "Text button",
187
+ "group": "Buttons",
188
+ "label": "Text Button Colour",
81
189
  "default": "#4657d4",
82
- "description": "Text and ghost buttons like “Add to basket” (not solid buttons)"
190
+ "description": "This defaults to the Primary Brand Colour. It can be adjusted here if required."
83
191
  },
84
192
  {
85
- "key": "bodyIcon",
86
- "cssVar": "--coras-brand-body-icon",
193
+ "key": "primaryButtonBorder",
194
+ "cssVar": "--coras-brand-primary-button-border",
87
195
  "type": "color",
88
- "group": "Colours",
89
- "label": "Body icon",
90
- "default": "#161c44",
91
- "description": "Icons within page content (navbar icons are set separately)"
196
+ "group": "Buttons",
197
+ "label": "Primary Button Border",
198
+ "default": "transparent",
199
+ "description": "This defaults to Transparent/No border. You can add a border colour here if desired."
200
+ },
201
+ {
202
+ "key": "secondaryButtonBorder",
203
+ "cssVar": "--coras-brand-secondary-button-border",
204
+ "type": "color",
205
+ "group": "Buttons",
206
+ "label": "Secondary Button Border",
207
+ "default": "transparent",
208
+ "description": "This defaults to Transparent/No border. You can add a border colour here if desired."
209
+ },
210
+ {
211
+ "key": "disabled",
212
+ "cssVar": "--coras-brand-disabled",
213
+ "type": "color",
214
+ "group": "Buttons",
215
+ "label": "Disabled Buttons",
216
+ "default": "#aaaaaa",
217
+ "description": "Default values applied. You can adjust here if desired"
218
+ },
219
+ {
220
+ "key": "buttonShadow",
221
+ "cssVar": "--coras-brand-button-shadow",
222
+ "type": "shadow",
223
+ "group": "Buttons",
224
+ "label": "Button Shadow",
225
+ "default": "0px 4px 4px rgba(0, 0, 0, 0.1)",
226
+ "description": "Default values applied. Set values to 0 if not required"
227
+ },
228
+ {
229
+ "key": "buttonHoverOnLightFill",
230
+ "cssVar": "--coras-brand-button-hover-on-light-fill",
231
+ "type": "length",
232
+ "group": "Buttons",
233
+ "label": "On Hover - Light / Bright Fill Button",
234
+ "default": "20%",
235
+ "description": "Strength of the black overlay applied on hover when the button fill is light. Default values applied. Adjust if desired."
236
+ },
237
+ {
238
+ "key": "buttonHoverOnDarkFill",
239
+ "cssVar": "--coras-brand-button-hover-on-dark-fill",
240
+ "type": "length",
241
+ "group": "Buttons",
242
+ "label": "On Hover - Dark Fill Button",
243
+ "default": "20%",
244
+ "description": "Strength of the white overlay applied on hover when the button fill is dark. Default values applied. Adjust if desired."
245
+ },
246
+ {
247
+ "key": "radius",
248
+ "cssVar": "--coras-brand-radius",
249
+ "type": "length",
250
+ "group": "Shape",
251
+ "label": "Corner Radius",
252
+ "default": "1.5rem",
253
+ "description": "Defines the corner radius of Cards, Images and Containers. Buttons and chips default to this value but can be customised below if desired."
92
254
  },
93
255
  {
94
256
  "key": "buttonRadius",
95
257
  "cssVar": "--coras-brand-button-radius",
96
258
  "type": "length",
97
- "group": "Shape & type",
98
- "label": "Button radius",
259
+ "group": "Shape",
260
+ "label": "Button Corners",
99
261
  "default": "1.5rem",
100
- "description": "Corner roundness for buttons (follows Border radius until set)"
262
+ "description": "Corner radius for buttons (follows Corner Radius until set)"
101
263
  },
102
264
  {
103
265
  "key": "chipRadius",
104
266
  "cssVar": "--coras-brand-chip-radius",
105
267
  "type": "length",
106
- "group": "Shape & type",
107
- "label": "Chip radius",
268
+ "group": "Shape",
269
+ "label": "Chip Corners",
108
270
  "default": "1.5rem",
109
- "description": "Corner roundness for chips (follows Border radius until set)"
271
+ "description": "Corner radius for filter and option chips (follows Corner Radius until set)"
272
+ },
273
+ {
274
+ "key": "fieldRadius",
275
+ "cssVar": "--coras-brand-field-radius",
276
+ "type": "length",
277
+ "group": "Shape",
278
+ "label": "Field / Input Corners",
279
+ "default": "0.5rem",
280
+ "description": "Corner radius for text fields, form inputs, the landing selectors and the ticket selector. Deliberately independent of Corner Radius, so a very round brand keeps usable field shapes."
110
281
  },
111
282
  {
112
- "key": "navbar",
113
- "cssVar": "--coras-brand-navbar",
283
+ "key": "searchRadius",
284
+ "cssVar": "--coras-brand-search-radius",
285
+ "type": "length",
286
+ "group": "Shape",
287
+ "label": "Search Field Corners",
288
+ "default": "100px",
289
+ "description": "Corner radius for the nav search and the location search field"
290
+ },
291
+ {
292
+ "key": "font",
293
+ "cssVar": "--coras-brand-font",
294
+ "type": "font",
295
+ "group": "Typography",
296
+ "label": "Font",
297
+ "default": "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"",
298
+ "description": "Font for all text (add hosted files under the custom font option)"
299
+ },
300
+ {
301
+ "key": "headingFont",
302
+ "cssVar": "--coras-brand-heading-font",
303
+ "type": "font",
304
+ "group": "Typography",
305
+ "label": "Heading font",
306
+ "default": "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"",
307
+ "description": "Font for page, section and card headings (follows Font until set)"
308
+ },
309
+ {
310
+ "key": "headingScale",
311
+ "cssVar": "--coras-brand-heading-scale",
312
+ "type": "scale",
313
+ "group": "Typography",
314
+ "label": "Heading size",
315
+ "default": "1",
316
+ "description": "Scales every heading together: 1 is the standard size, 1.25 is 25% larger"
317
+ },
318
+ {
319
+ "key": "logoHeight",
320
+ "cssVar": "--coras-brand-logo-height",
321
+ "type": "length",
322
+ "group": "Logo",
323
+ "label": "Logo Height",
324
+ "default": "2rem",
325
+ "description": "How tall the logo renders in the navbar and email header"
326
+ },
327
+ {
328
+ "key": "navbarBackground",
329
+ "cssVar": "--coras-brand-navbar-background",
114
330
  "type": "color",
115
- "group": "Navbar",
116
- "label": "Background",
331
+ "group": "Navigation bar",
332
+ "label": "Background Colour",
117
333
  "default": "#ffffff",
118
334
  "description": "Navbar background (independent of the page background)"
119
335
  },
336
+ {
337
+ "key": "navbarBackgroundImage",
338
+ "cssVar": "--coras-brand-navbar-background-image",
339
+ "type": "gradient",
340
+ "group": "Navigation bar",
341
+ "label": "Background Gradient",
342
+ "default": "none",
343
+ "description": "Optional gradient painted over the Background Colour on the web. The mobile menu, the border and emails keep the solid colour"
344
+ },
120
345
  {
121
346
  "key": "navbarText",
122
347
  "cssVar": "--coras-brand-navbar-text",
123
348
  "type": "color",
124
- "group": "Navbar",
125
- "label": "Text",
349
+ "group": "Navigation bar",
350
+ "label": "Text Colour",
126
351
  "default": "#000000",
127
352
  "description": "Navbar labels and menu text"
128
353
  },
@@ -130,81 +355,144 @@ export const TOKEN_CONTROLS = [
130
355
  "key": "navbarIcon",
131
356
  "cssVar": "--coras-brand-navbar-icon",
132
357
  "type": "color",
133
- "group": "Navbar",
134
- "label": "Icon",
358
+ "group": "Navigation bar",
359
+ "label": "Nav Bar Icon Colour",
135
360
  "default": "#000000",
136
- "description": "Navbar icons (follows Navbar text until set)"
361
+ "description": "This defaults to the Text Colour selected for the Navigation Bar but can be adjusted here if required"
137
362
  },
138
363
  {
139
364
  "key": "navbarBorder",
140
365
  "cssVar": "--coras-brand-navbar-border",
141
366
  "type": "color",
142
- "group": "Navbar",
143
- "label": "Border",
144
- "default": "transparent",
145
- "description": "Bottom border under the navbar (transparent by default)"
367
+ "group": "Navigation bar",
368
+ "label": "Bottom Border",
369
+ "default": "#ffffff",
370
+ "description": "This defaults to the Background Colour but can be adjusted here if a trim is required"
371
+ },
372
+ {
373
+ "key": "navbarShadow",
374
+ "cssVar": "--coras-brand-navbar-shadow",
375
+ "type": "shadow",
376
+ "group": "Navigation bar",
377
+ "label": "Drop Shadow",
378
+ "default": "0 4px 4px 0 rgba(0, 0, 0, 0.04)",
379
+ "description": "Default values applied. Set values to 0 if not required"
146
380
  },
147
381
  {
148
- "key": "footer",
149
- "cssVar": "--coras-brand-footer",
382
+ "key": "footerBackground",
383
+ "cssVar": "--coras-brand-footer-background",
150
384
  "type": "color",
151
385
  "group": "Footer",
152
- "label": "Background",
386
+ "label": "Background Colour",
153
387
  "default": "#e6e6e6",
154
- "description": "Footer background"
388
+ "description": "Footer background, on the web and in emails"
389
+ },
390
+ {
391
+ "key": "footerBackgroundImage",
392
+ "cssVar": "--coras-brand-footer-background-image",
393
+ "type": "gradient",
394
+ "group": "Footer",
395
+ "label": "Background Gradient",
396
+ "default": "none",
397
+ "description": "Optional gradient painted over the Background Colour on the web. The border and emails keep the solid colour"
155
398
  },
156
399
  {
157
400
  "key": "footerText",
158
401
  "cssVar": "--coras-brand-footer-text",
159
402
  "type": "color",
160
403
  "group": "Footer",
161
- "label": "Text",
404
+ "label": "Text Colour",
162
405
  "default": "#000000",
163
- "description": "Footer text"
406
+ "description": "Footer text, on the web and in emails"
164
407
  },
165
408
  {
166
- "key": "footerLink",
167
- "cssVar": "--coras-brand-footer-link",
409
+ "key": "footerBorder",
410
+ "cssVar": "--coras-brand-footer-border",
168
411
  "type": "color",
169
412
  "group": "Footer",
170
- "label": "Link",
171
- "default": "#000000",
172
- "description": "Footer links (follows Footer text until set)"
413
+ "label": "Top Border",
414
+ "default": "#e6e6e6",
415
+ "description": "This defaults to the Background Colour but can be adjusted here if a trim is required"
416
+ },
417
+ {
418
+ "key": "footerPaddingBottom",
419
+ "cssVar": "--coras-brand-footer-padding-bottom",
420
+ "type": "length",
421
+ "group": "Footer",
422
+ "label": "Footer Padding Bottom",
423
+ "default": "2rem",
424
+ "description": "The space under the footer content, for a taller footer"
173
425
  },
174
426
  {
175
427
  "key": "error",
176
428
  "cssVar": "--coras-brand-error",
177
429
  "type": "color",
178
- "group": "Status",
179
- "label": "Error",
430
+ "group": "Alerts & status",
431
+ "label": "Error colour",
180
432
  "default": "#c9224a",
181
- "description": "Errors and destructive actions"
433
+ "description": "Errors, destructive actions and the Music category tag"
434
+ },
435
+ {
436
+ "key": "errorBackground",
437
+ "cssVar": "--coras-brand-error-background",
438
+ "type": "color",
439
+ "group": "Alerts & status",
440
+ "label": "Error background",
441
+ "default": "#fae9ed",
442
+ "description": "The pale fill behind error alerts and tags"
182
443
  },
183
444
  {
184
445
  "key": "success",
185
446
  "cssVar": "--coras-brand-success",
186
447
  "type": "color",
187
- "group": "Status",
188
- "label": "Success",
448
+ "group": "Alerts & status",
449
+ "label": "Success colour",
189
450
  "default": "#00ad8f",
190
- "description": "Success messages and confirmations"
451
+ "description": "Success messages and the Sport category tag"
452
+ },
453
+ {
454
+ "key": "successBackground",
455
+ "cssVar": "--coras-brand-success-background",
456
+ "type": "color",
457
+ "group": "Alerts & status",
458
+ "label": "Success background",
459
+ "default": "#e6f7f4",
460
+ "description": "The pale fill behind success alerts and tags"
191
461
  },
192
462
  {
193
463
  "key": "warning",
194
464
  "cssVar": "--coras-brand-warning",
195
465
  "type": "color",
196
- "group": "Status",
197
- "label": "Warning",
466
+ "group": "Alerts & status",
467
+ "label": "Warning colour",
198
468
  "default": "#ed8f1c",
199
- "description": "Warnings and cautions"
469
+ "description": "Warnings and the Theatre category tag"
470
+ },
471
+ {
472
+ "key": "warningBackground",
473
+ "cssVar": "--coras-brand-warning-background",
474
+ "type": "color",
475
+ "group": "Alerts & status",
476
+ "label": "Warning background",
477
+ "default": "#fdf4e8",
478
+ "description": "The pale fill behind warning alerts and tags"
200
479
  },
201
480
  {
202
481
  "key": "info",
203
482
  "cssVar": "--coras-brand-info",
204
483
  "type": "color",
205
- "group": "Status",
206
- "label": "Info",
484
+ "group": "Alerts & status",
485
+ "label": "Info colour",
207
486
  "default": "#670c93",
208
- "description": "Informational messages"
487
+ "description": "Info messages, reservation timers, Activity tags and marketing tags"
488
+ },
489
+ {
490
+ "key": "infoBackground",
491
+ "cssVar": "--coras-brand-info-background",
492
+ "type": "color",
493
+ "group": "Alerts & status",
494
+ "label": "Info background",
495
+ "default": "#f0e7f4",
496
+ "description": "The pale fill behind info alerts and Activity tags"
209
497
  }
210
498
  ];
@@ -49,11 +49,9 @@ declare const CorasDetailsPage_base: import("../../contexts/utils.js").Construct
49
49
  dispatchPageUpdate(params: import("../../contexts/events.context.js").PageDispatchInput): void;
50
50
  }> & typeof LitElement;
51
51
  /**
52
- * Details page component for viewing attraction details and creating reservations.
53
- *
54
- * @fires coras:navigate - Dispatched when navigating to another page
55
- * @fires coras:state-change - Dispatched when in-page params change (date selection)
56
- * @fires coras:reservation-created - Dispatched when a reservation is successfully created via the API
52
+ * @fires coras:navigate
53
+ * @fires coras:state-change
54
+ * @fires coras:reservation-created
57
55
  */
58
56
  export declare class CorasDetailsPage extends CorasDetailsPage_base {
59
57
  static styles: CSSResultGroup;
@@ -85,6 +83,7 @@ export declare class CorasDetailsPage extends CorasDetailsPage_base {
85
83
  private resetAvailabilityState;
86
84
  private updateDateParam;
87
85
  private handleBasketModalToggle;
86
+ private get resolvedDate();
88
87
  verifyDate: (firstInstanceDay: string, lastInstanceDay: string, timezone: string) => void;
89
88
  private checkDateAvailability;
90
89
  private attractionTask;
@@ -124,6 +123,7 @@ export declare class CorasDetailsPage extends CorasDetailsPage_base {
124
123
  private renderDescription;
125
124
  private renderBasketModal;
126
125
  private renderAvailabilityAlert;
126
+ private renderSkeleton;
127
127
  render(): import("lit").TemplateResult<1>;
128
128
  }
129
129
  export {};