@coras-io/embed 0.1.2 → 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 (236) hide show
  1. package/CHANGELOG.md +139 -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 +4 -1
  67. package/dist/components/seated-selector/seated-selector.component.js +90 -36
  68. package/dist/components/seated-selector/seated-selector.styles.js +89 -14
  69. package/dist/components/seats-io/seats-io.component.d.ts +2 -0
  70. package/dist/components/seats-io/seats-io.component.js +35 -2
  71. package/dist/components/seats-io/seats-io.constants.d.ts +5 -0
  72. package/dist/components/seats-io/seats-io.constants.js +12 -0
  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 -9
  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 +97 -71
  200. package/dist/views/details-page/details-page.styles.js +64 -9
  201. package/dist/views/details-page/partials/theater-description/theater-description.component.js +5 -0
  202. package/dist/views/help-page/help-page.component.d.ts +1 -0
  203. package/dist/views/help-page/help-page.component.js +11 -4
  204. package/dist/views/help-page/help-page.styles.js +21 -8
  205. package/dist/views/landing-page/landing-page.component.d.ts +4 -4
  206. package/dist/views/landing-page/landing-page.component.js +65 -65
  207. package/dist/views/landing-page/landing-page.styles.js +70 -3
  208. package/dist/views/payment-page/partials/activity-details/activity-details.styles.js +10 -33
  209. package/dist/views/payment-page/partials/billing-address/billing-address.styles.js +4 -9
  210. package/dist/views/payment-page/partials/confirmation/confirmation.styles.js +6 -6
  211. package/dist/views/payment-page/partials/hotel-pickup-list/hotel-pickup-list.styles.js +4 -4
  212. package/dist/views/payment-page/partials/payment-type-selector/payment-type-selector.styles.js +1 -0
  213. package/dist/views/payment-page/partials/stripe/stripe.component.d.ts +1 -1
  214. package/dist/views/payment-page/partials/stripe/stripe.component.js +11 -12
  215. package/dist/views/payment-page/partials/stripe/stripe.constants.d.ts +2 -15
  216. package/dist/views/payment-page/partials/stripe/stripe.constants.js +4 -17
  217. package/dist/views/payment-page/partials/stripe/stripe.styles.js +16 -23
  218. package/dist/views/payment-page/partials/stripe/stripe.utils.d.ts +25 -14
  219. package/dist/views/payment-page/partials/stripe/stripe.utils.js +111 -62
  220. package/dist/views/payment-page/partials/terms-checkbox/terms-checkbox.styles.js +1 -1
  221. package/dist/views/payment-page/payment-page.component.d.ts +1 -0
  222. package/dist/views/payment-page/payment-page.component.js +19 -9
  223. package/dist/views/payment-page/payment-page.styles.js +37 -32
  224. package/dist/views/payment-page/payment-page.utils.d.ts +7 -0
  225. package/dist/views/payment-page/payment-page.utils.js +29 -14
  226. package/dist/views/payment-page/payment-page.validators.js +9 -3
  227. package/dist/views/payment-page/services/payment-api.service.d.ts +1 -1
  228. package/dist/views/search-page/search-page.component.d.ts +1 -0
  229. package/dist/views/search-page/search-page.component.js +12 -6
  230. package/dist/views/search-page/search-page.styles.js +24 -2
  231. package/dist/views/suggestion-widget/suggestion-widget.styles.js +1 -1
  232. package/package.json +62 -75
  233. package/dist/custom-elements.json +0 -37378
  234. package/dist/sdk/meta.d.ts +0 -7
  235. package/dist/sdk/meta.js +0 -9
  236. package/dist/styles/tokens.css +0 -359
@@ -4,116 +4,332 @@ 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": "bodyIcon",
59
+ "cssVar": "--coras-brand-body-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": "mainButton",
149
+ "cssVar": "--coras-brand-main-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": "mainButtonText",
158
+ "cssVar": "--coras-brand-main-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": "mainButtonBorder",
194
+ "cssVar": "--coras-brand-main-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": "buttonHoverLight",
230
+ "cssVar": "--coras-brand-button-hover-light",
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": "buttonHoverDark",
239
+ "cssVar": "--coras-brand-button-hover-dark",
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."
281
+ },
282
+ {
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)"
110
299
  },
111
300
  {
112
- "key": "navbar",
113
- "cssVar": "--coras-brand-navbar",
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
  },
@@ -121,8 +337,8 @@ export const TOKEN_CONTROLS = [
121
337
  "key": "navbarText",
122
338
  "cssVar": "--coras-brand-navbar-text",
123
339
  "type": "color",
124
- "group": "Navbar",
125
- "label": "Text",
340
+ "group": "Navigation bar",
341
+ "label": "Text Colour",
126
342
  "default": "#000000",
127
343
  "description": "Navbar labels and menu text"
128
344
  },
@@ -130,81 +346,135 @@ export const TOKEN_CONTROLS = [
130
346
  "key": "navbarIcon",
131
347
  "cssVar": "--coras-brand-navbar-icon",
132
348
  "type": "color",
133
- "group": "Navbar",
134
- "label": "Icon",
349
+ "group": "Navigation bar",
350
+ "label": "Nav Bar Icon Colour",
135
351
  "default": "#000000",
136
- "description": "Navbar icons (follows Navbar text until set)"
352
+ "description": "This defaults to the Text Colour selected for the Navigation Bar but can be adjusted here if required"
137
353
  },
138
354
  {
139
355
  "key": "navbarBorder",
140
356
  "cssVar": "--coras-brand-navbar-border",
141
357
  "type": "color",
142
- "group": "Navbar",
143
- "label": "Border",
144
- "default": "transparent",
145
- "description": "Bottom border under the navbar (transparent by default)"
358
+ "group": "Navigation bar",
359
+ "label": "Bottom Border",
360
+ "default": "#ffffff",
361
+ "description": "This defaults to the Background Colour but can be adjusted here if a trim is required"
146
362
  },
147
363
  {
148
- "key": "footer",
149
- "cssVar": "--coras-brand-footer",
364
+ "key": "navbarShadow",
365
+ "cssVar": "--coras-brand-navbar-shadow",
366
+ "type": "shadow",
367
+ "group": "Navigation bar",
368
+ "label": "Drop Shadow",
369
+ "default": "0 4px 4px 0 rgba(0, 0, 0, 0.04)",
370
+ "description": "Default values applied. Set values to 0 if not required"
371
+ },
372
+ {
373
+ "key": "footerBackground",
374
+ "cssVar": "--coras-brand-footer-background",
150
375
  "type": "color",
151
376
  "group": "Footer",
152
- "label": "Background",
377
+ "label": "Background Colour",
153
378
  "default": "#e6e6e6",
154
- "description": "Footer background"
379
+ "description": "Footer background, on the web and in emails"
155
380
  },
156
381
  {
157
382
  "key": "footerText",
158
383
  "cssVar": "--coras-brand-footer-text",
159
384
  "type": "color",
160
385
  "group": "Footer",
161
- "label": "Text",
386
+ "label": "Text Colour",
162
387
  "default": "#000000",
163
- "description": "Footer text"
388
+ "description": "Footer text, on the web and in emails"
164
389
  },
165
390
  {
166
- "key": "footerLink",
167
- "cssVar": "--coras-brand-footer-link",
391
+ "key": "footerBorder",
392
+ "cssVar": "--coras-brand-footer-border",
168
393
  "type": "color",
169
394
  "group": "Footer",
170
- "label": "Link",
171
- "default": "#000000",
172
- "description": "Footer links (follows Footer text until set)"
395
+ "label": "Top Border",
396
+ "default": "#e6e6e6",
397
+ "description": "This defaults to the Background Colour but can be adjusted here if a trim is required"
398
+ },
399
+ {
400
+ "key": "footerPaddingBottom",
401
+ "cssVar": "--coras-brand-footer-padding-bottom",
402
+ "type": "length",
403
+ "group": "Footer",
404
+ "label": "Footer Padding Bottom",
405
+ "default": "2rem",
406
+ "description": "The space under the footer content, for a taller footer"
173
407
  },
174
408
  {
175
409
  "key": "error",
176
410
  "cssVar": "--coras-brand-error",
177
411
  "type": "color",
178
- "group": "Status",
179
- "label": "Error",
412
+ "group": "Alerts & status",
413
+ "label": "Error colour",
180
414
  "default": "#c9224a",
181
- "description": "Errors and destructive actions"
415
+ "description": "Errors, destructive actions and the Music category tag"
416
+ },
417
+ {
418
+ "key": "errorBackground",
419
+ "cssVar": "--coras-brand-error-background",
420
+ "type": "color",
421
+ "group": "Alerts & status",
422
+ "label": "Error background",
423
+ "default": "#fae9ed",
424
+ "description": "The pale fill behind error alerts and tags"
182
425
  },
183
426
  {
184
427
  "key": "success",
185
428
  "cssVar": "--coras-brand-success",
186
429
  "type": "color",
187
- "group": "Status",
188
- "label": "Success",
430
+ "group": "Alerts & status",
431
+ "label": "Success colour",
189
432
  "default": "#00ad8f",
190
- "description": "Success messages and confirmations"
433
+ "description": "Success messages and the Sport category tag"
434
+ },
435
+ {
436
+ "key": "successBackground",
437
+ "cssVar": "--coras-brand-success-background",
438
+ "type": "color",
439
+ "group": "Alerts & status",
440
+ "label": "Success background",
441
+ "default": "#e6f7f4",
442
+ "description": "The pale fill behind success alerts and tags"
191
443
  },
192
444
  {
193
445
  "key": "warning",
194
446
  "cssVar": "--coras-brand-warning",
195
447
  "type": "color",
196
- "group": "Status",
197
- "label": "Warning",
448
+ "group": "Alerts & status",
449
+ "label": "Warning colour",
198
450
  "default": "#ed8f1c",
199
- "description": "Warnings and cautions"
451
+ "description": "Warnings and the Theatre category tag"
452
+ },
453
+ {
454
+ "key": "warningBackground",
455
+ "cssVar": "--coras-brand-warning-background",
456
+ "type": "color",
457
+ "group": "Alerts & status",
458
+ "label": "Warning background",
459
+ "default": "#fdf4e8",
460
+ "description": "The pale fill behind warning alerts and tags"
200
461
  },
201
462
  {
202
463
  "key": "info",
203
464
  "cssVar": "--coras-brand-info",
204
465
  "type": "color",
205
- "group": "Status",
206
- "label": "Info",
466
+ "group": "Alerts & status",
467
+ "label": "Info colour",
207
468
  "default": "#670c93",
208
- "description": "Informational messages"
469
+ "description": "Info messages, reservation timers, Activity tags and marketing tags"
470
+ },
471
+ {
472
+ "key": "infoBackground",
473
+ "cssVar": "--coras-brand-info-background",
474
+ "type": "color",
475
+ "group": "Alerts & status",
476
+ "label": "Info background",
477
+ "default": "#f0e7f4",
478
+ "description": "The pale fill behind info alerts and Activity tags"
209
479
  }
210
480
  ];
@@ -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 {};