@vonq/hapi-elements-types 1.3.0 → 1.5.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 (187) hide show
  1. package/enums.ts +41 -0
  2. package/package.json +6 -7
  3. package/src/_window/api.types.ts +59 -0
  4. package/src/_window/auth.types.ts +11 -0
  5. package/src/_window/config.types.ts +30 -0
  6. package/src/_window/events.types.ts +157 -0
  7. package/src/_window/index.ts +16 -0
  8. package/src/_window/instances.types.ts +18 -0
  9. package/src/_window/qa.types.ts +28 -0
  10. package/src/_window/routing.types.ts +21 -0
  11. package/src/_window/sdk.types.ts +147 -0
  12. package/src/_window/service.types.ts +67 -0
  13. package/src/_window/state.types.ts +112 -0
  14. package/src/_window/ui.types.ts +13 -0
  15. package/src/_window/utils.types.ts +34 -0
  16. package/src/_window/validation.types.ts +43 -0
  17. package/src/_window/window.ts +56 -0
  18. package/src/alert/enums.ts +22 -0
  19. package/src/alert/functions.types.ts +13 -0
  20. package/src/alert/index.ts +9 -0
  21. package/src/alert/service.types.ts +15 -0
  22. package/src/alert/state.initial.ts +16 -0
  23. package/src/alert/state.types.ts +27 -0
  24. package/src/alert/state.validations.ts +11 -0
  25. package/src/alert/types.ts +63 -0
  26. package/src/ats/api.types.ts +16 -0
  27. package/src/ats/functions.types.ts +7 -0
  28. package/src/ats/index.ts +9 -0
  29. package/src/ats/service.types.ts +17 -0
  30. package/src/ats/state.initial.ts +5 -0
  31. package/src/ats/state.types.ts +5 -0
  32. package/src/ats/state.validations.ts +6 -0
  33. package/src/ats/types.ts +19 -0
  34. package/src/basket/consts.ts +1 -0
  35. package/src/basket/functions.types.ts +40 -0
  36. package/src/basket/index.ts +12 -0
  37. package/src/basket/service.types.ts +32 -0
  38. package/src/basket/state.initial.ts +11 -0
  39. package/src/basket/state.types.ts +34 -0
  40. package/src/basket/state.validations.ts +12 -0
  41. package/src/basket/types.ts +4 -0
  42. package/src/basket/utils.ts +79 -0
  43. package/src/basket/utils.types.ts +10 -0
  44. package/src/basket/validations.types.ts +25 -0
  45. package/src/campaign/api.types.ts +45 -0
  46. package/src/campaign/consts.ts +1 -0
  47. package/src/campaign/enums.ts +17 -0
  48. package/src/campaign/functions.types.ts +90 -0
  49. package/src/campaign/index.ts +15 -0
  50. package/src/campaign/qa.types.ts +12 -0
  51. package/src/campaign/service.types.ts +48 -0
  52. package/src/campaign/state.initial.ts +84 -0
  53. package/src/campaign/state.types.ts +55 -0
  54. package/src/campaign/state.validations.ts +16 -0
  55. package/src/campaign/types.ts +237 -0
  56. package/src/campaign/utils.ts +53 -0
  57. package/src/campaign/utils.types.ts +59 -0
  58. package/src/campaign/validations.types.ts +215 -0
  59. package/src/common/LocalStorage.ts +123 -0
  60. package/src/common/browser.ts +2 -0
  61. package/src/common/color.ts +9 -0
  62. package/src/common/events/EventCommand/enums.ts +49 -0
  63. package/src/common/events/EventCommand/index.ts +4 -0
  64. package/src/common/events/EventCommand/types.ts +18 -0
  65. package/src/common/events/index.ts +4 -0
  66. package/src/common/events/types.ts +52 -0
  67. package/src/common/immutable.ts +28 -0
  68. package/src/common/index.ts +22 -0
  69. package/src/common/instances/Instance.ts +13 -0
  70. package/src/common/instances/consts.ts +1 -0
  71. package/src/common/instances/index.ts +4 -0
  72. package/src/common/json.ts +25 -0
  73. package/src/common/logger/Logger.ts +70 -0
  74. package/src/common/logger/enums.ts +12 -0
  75. package/src/common/logger/index.ts +5 -0
  76. package/src/common/logger/types.ts +7 -0
  77. package/src/common/logger-datadog/LoggerDatadog.ts +42 -0
  78. package/src/common/logger-datadog/index.ts +3 -0
  79. package/src/common/misc.ts +114 -0
  80. package/src/common/promise.ts +161 -0
  81. package/src/common/proxy.ts +77 -0
  82. package/src/common/qa.types.ts +9 -0
  83. package/src/common/regExTest.ts +12 -0
  84. package/src/common/tree.ts +148 -0
  85. package/src/common/types.ts +110 -0
  86. package/src/common/utm.ts +19 -0
  87. package/src/common/validations.types.ts +89 -0
  88. package/src/common/validators.ts +21 -0
  89. package/src/common/webComponents.ts +26 -0
  90. package/src/config/functions.types.ts +23 -0
  91. package/src/config/index.ts +5 -0
  92. package/src/config/state.initial.ts +11 -0
  93. package/src/config/state.types.ts +15 -0
  94. package/src/consts.ts +980 -0
  95. package/src/contract/api.types.ts +47 -0
  96. package/src/contract/consts.ts +1 -0
  97. package/src/contract/functions.types.ts +112 -0
  98. package/src/contract/index.ts +14 -0
  99. package/src/contract/qa.types.ts +12 -0
  100. package/src/contract/service.types.ts +54 -0
  101. package/src/contract/state.initial.ts +39 -0
  102. package/src/contract/state.types.ts +74 -0
  103. package/src/contract/state.validations.ts +21 -0
  104. package/src/contract/types.ts +145 -0
  105. package/src/contract/utils.ts +36 -0
  106. package/src/contract/utils.types.ts +11 -0
  107. package/src/contract/validations.types.ts +104 -0
  108. package/src/debugging/functions.types.ts +34 -0
  109. package/src/debugging/index.ts +6 -0
  110. package/src/debugging/state.initial.ts +10 -0
  111. package/src/debugging/state.types.ts +18 -0
  112. package/src/debugging/state.validations.ts +10 -0
  113. package/src/index.ts +22 -0
  114. package/src/language/consts.ts +6 -0
  115. package/src/language/en.ts +530 -0
  116. package/src/language/functions.types.ts +29 -0
  117. package/src/language/index.ts +11 -0
  118. package/src/language/qa.types.ts +19 -0
  119. package/src/language/state.initial.ts +13 -0
  120. package/src/language/state.types.ts +25 -0
  121. package/src/language/state.validations.ts +10 -0
  122. package/src/language/utils.ts +17 -0
  123. package/src/language/validations.types.ts +13 -0
  124. package/src/modal/consts.ts +6 -0
  125. package/src/modal/enums.ts +14 -0
  126. package/src/modal/functions.types.ts +22 -0
  127. package/src/modal/index.ts +11 -0
  128. package/src/modal/service.types.ts +32 -0
  129. package/src/modal/state.initial.ts +9 -0
  130. package/src/modal/state.types.ts +8 -0
  131. package/src/modal/state.validations.ts +6 -0
  132. package/src/modal/store.types.ts +5 -0
  133. package/src/modal/types.ts +44 -0
  134. package/src/orderJourney/consts.ts +289 -0
  135. package/src/orderJourney/enums.ts +25 -0
  136. package/src/orderJourney/functions.types.ts +140 -0
  137. package/src/orderJourney/index.ts +13 -0
  138. package/src/orderJourney/qa.types.ts +16 -0
  139. package/src/orderJourney/state.initial.ts +401 -0
  140. package/src/orderJourney/state.types.ts +99 -0
  141. package/src/orderJourney/state.validations.ts +78 -0
  142. package/src/orderJourney/types.ts +31 -0
  143. package/src/orderJourney/utils.ts +7 -0
  144. package/src/orderJourney/utils.types.ts +11 -0
  145. package/src/orderJourney/validations.types.ts +34 -0
  146. package/src/product/api.types.ts +62 -0
  147. package/src/product/consts.ts +1 -0
  148. package/src/product/enums.ts +11 -0
  149. package/src/product/functions.types.ts +156 -0
  150. package/src/product/index.ts +14 -0
  151. package/src/product/qa.types.ts +11 -0
  152. package/src/product/service.types.ts +68 -0
  153. package/src/product/state.initial.ts +28 -0
  154. package/src/product/state.types.ts +93 -0
  155. package/src/product/state.validations.ts +25 -0
  156. package/src/product/types.ts +161 -0
  157. package/src/product/utils.types.ts +22 -0
  158. package/src/product/validations.types.ts +189 -0
  159. package/src/routing/functions.types.ts +48 -0
  160. package/src/routing/index.ts +5 -0
  161. package/src/routing/state.initial.ts +10 -0
  162. package/src/routing/state.types.ts +30 -0
  163. package/src/theming/consts.ts +7727 -0
  164. package/src/theming/functions.types.ts +13 -0
  165. package/src/theming/index.ts +11 -0
  166. package/src/theming/qa.types.ts +11 -0
  167. package/src/theming/state.initial.ts +16 -0
  168. package/src/theming/state.types.ts +6 -0
  169. package/src/theming/state.validations.ts +8 -0
  170. package/src/theming/types.ts +123 -0
  171. package/src/theming/utils.ts +581 -0
  172. package/src/theming/validations.types.ts +62 -0
  173. package/src/types.ts +229 -0
  174. package/src/ui/index.ts +3 -0
  175. package/src/ui/service.types.ts +26 -0
  176. package/src/utils.ts +3 -0
  177. package/src/wallet/api.types.ts +33 -0
  178. package/src/wallet/consts.ts +3 -0
  179. package/src/wallet/functions.types.ts +58 -0
  180. package/src/wallet/index.ts +11 -0
  181. package/src/wallet/service.types.ts +26 -0
  182. package/src/wallet/state.initial.ts +18 -0
  183. package/src/wallet/state.types.ts +58 -0
  184. package/src/wallet/state.validations.ts +18 -0
  185. package/src/wallet/types.ts +65 -0
  186. package/src/wallet/validations.types.ts +18 -0
  187. package/tsconfig.json +41 -0
@@ -0,0 +1,34 @@
1
+ export type DebuggingStoreSetLocaleDebuggingIsEnabledHandler = (
2
+ isEnabled: boolean,
3
+ ) => void
4
+
5
+ export type DebuggingStoreSetCampaignFormDebuggerIsShownHandler = (
6
+ isShown: boolean,
7
+ ) => void
8
+
9
+ export type DebuggingStoreSetComponentDebuggingIsEnabledHandler = (
10
+ isEnabled: boolean,
11
+ ) => void
12
+
13
+ export type DebuggingStoreSetConsoleLogsAreEnabledHandler = (
14
+ areEnabled: boolean,
15
+ ) => void
16
+
17
+ export type DebuggingStoreFunctions = {
18
+ /**
19
+ * The function that sets the value of `campaignFormDebuggerIsShown`. Refer to [DebuggingStoreState](/docs/sdk/debugging/#debuggingstorestate) for more details.
20
+ */
21
+ setCampaignFormDebuggerIsShown: DebuggingStoreSetCampaignFormDebuggerIsShownHandler
22
+ /**
23
+ * The function that sets the value of `localeDebuggingIsEnabled`. Refer to [DebuggingStoreState](/docs/sdk/debugging/#debuggingstorestate) for more details.
24
+ */
25
+ setLocaleDebuggingIsEnabled: DebuggingStoreSetLocaleDebuggingIsEnabledHandler
26
+ /**
27
+ * The function that sets the value of `componentDebuggingIsEnabled`. Refer to [DebuggingStoreState](/docs/sdk/debugging/#debuggingstorestate) for more details.
28
+ */
29
+ setComponentDebuggingIsEnabled: DebuggingStoreSetComponentDebuggingIsEnabledHandler
30
+ /**
31
+ * The function that sets the value of `consoleLogsAreEnabled`. Refer to [DebuggingStoreState](/docs/sdk/debugging/#debuggingstorestate) for more details.
32
+ */
33
+ setConsoleLogsAreEnabled: DebuggingStoreSetConsoleLogsAreEnabledHandler
34
+ }
@@ -0,0 +1,6 @@
1
+ // created from 'create-ts-index'
2
+
3
+ export * from './functions.types';
4
+ export * from './state.initial';
5
+ export * from './state.types';
6
+ export * from './state.validations';
@@ -0,0 +1,10 @@
1
+ import { DebuggingStoreState } from "./state.types"
2
+ import { isBrowser } from "../common/browser"
3
+ import { _window } from "../consts"
4
+
5
+ export const initialDebuggingStoreState: DebuggingStoreState = {
6
+ campaignFormDebuggerIsShown: false,
7
+ localeDebuggingIsEnabled: false,
8
+ componentDebuggingIsEnabled: false,
9
+ consoleLogsAreEnabled: isBrowser ? _window!.hapiConfig?.enableLogs : false,
10
+ }
@@ -0,0 +1,18 @@
1
+ export type DebuggingStoreState = {
2
+ /**
3
+ * Shows or hides the debugging tool on Campaign Create Form's fields for Product & Contract steps
4
+ */
5
+ campaignFormDebuggerIsShown: boolean
6
+ /**
7
+ * Shows translation keys in place of translations for ease of development
8
+ */
9
+ localeDebuggingIsEnabled: boolean
10
+ /**
11
+ * Encompasses widgets that may become available (or upon request) with a red border and a name so communication while making requests is easier.
12
+ */
13
+ componentDebuggingIsEnabled: boolean
14
+ /**
15
+ * Enables console logs (all HAPI Elements) logs
16
+ */
17
+ consoleLogsAreEnabled: boolean
18
+ }
@@ -0,0 +1,10 @@
1
+ import { DebuggingStoreState } from "./state.types"
2
+ import { StateValidations } from "../_window/state.types"
3
+
4
+ export const debuggingStoreStateValidations: StateValidations<DebuggingStoreState> =
5
+ {
6
+ campaignFormDebuggerIsShown: "common.genericBoolean",
7
+ componentDebuggingIsEnabled: "common.genericBoolean",
8
+ consoleLogsAreEnabled: "common.genericBoolean",
9
+ localeDebuggingIsEnabled: "common.genericBoolean",
10
+ }
package/src/index.ts ADDED
@@ -0,0 +1,22 @@
1
+ // created from 'create-ts-index'
2
+
3
+ export * from './_window';
4
+ export * from './alert';
5
+ export * from './ats';
6
+ export * from './basket';
7
+ export * from './campaign';
8
+ export * from './common';
9
+ export * from './config';
10
+ export * from './contract';
11
+ export * from './debugging';
12
+ export * from './language';
13
+ export * from './modal';
14
+ export * from './orderJourney';
15
+ export * from './product';
16
+ export * from './routing';
17
+ export * from './theming';
18
+ export * from './ui';
19
+ export * from './wallet';
20
+ export * from './consts';
21
+ export * from './types';
22
+ export * from './utils';
@@ -0,0 +1,6 @@
1
+ // keys are corresponding to ISO 639-1
2
+ import { enTranslations } from "./en"
3
+
4
+ export const LOCALES_DATA = {
5
+ en: enTranslations,
6
+ }
@@ -0,0 +1,530 @@
1
+ export const enTranslations = {
2
+ /* NO NEED TO TRANSLATE FOR ATS */
3
+ "demo-ats.products.title": "Products",
4
+ "demo-ats.pages.order-journey-complete.title":
5
+ "Product, Contract and Checkout Journeys",
6
+ "demo-ats.pages.order-journey-complete-product-oriented.title":
7
+ "Create a campaign",
8
+ "demo-ats.pages.order-journey-products.title":
9
+ "Product & Checkout Journeys",
10
+ "demo-ats.pages.order-journey-contracts.title":
11
+ "Contract & Checkout Journeys",
12
+ "demo-ats.pages.order-journey-checkout.title": "Checkout Journey",
13
+ "demo-ats.contracts-separate-pages.title":
14
+ "Contract Widgets on Separate Pages",
15
+ "demo-ats.contract-journey.title": "Contract Journey",
16
+ "demo-ats.contract-journey-product-oriented.title": "My Contracts",
17
+ "demo-ats.product-journey.title": "Product Journey",
18
+ "demo-ats.campaigns.title": "Campaign Landing",
19
+ "demo-ats.campaigns-product-oriented.title": "My Campaigns",
20
+ "demo-ats.wallets.title": "My wallets",
21
+ "demo-ats.checkout.title": "Order Campaign",
22
+ "demo-ats.log-in.title": "Log In",
23
+ "demo-ats.log-out.title": "Log Out",
24
+ "demo-ats.my-profile.title": "My Profile",
25
+ "demo-ats.transactions.title": "Transactions",
26
+
27
+ /* Wallet */
28
+ "wallet.balance": "Balance",
29
+ "wallet.top-up.billing-portal-link-expires":
30
+ "(link expires in {seconds} seconds)",
31
+ "wallet.top-up.waiting-for-top-up": "Waiting for Top Up",
32
+ "wallet.top-up.cancel-top-up": "Cancel Top Up",
33
+ "wallet.top-up.top-up": "Top Up Wallet",
34
+ "wallet.top-up.update-billing-information-description":
35
+ "Before being able to add funds to your balance, you need to update your billing information!",
36
+ "wallet.top-up.update-billing-information": "Update Billing Information",
37
+ "wallet.balance.heading": "Your Wallet Balance",
38
+ "wallet.topup-amount-placeholder": "Amount (minimum {amount}{currency})",
39
+ "wallet.topup-amount": "Top-up amount",
40
+ "wallet.topup-balance-button": "Top-up balance",
41
+ "wallet.topup-continue-button": "Continue",
42
+ "wallet.topup-terms-of-service": "terms of service",
43
+ "wallet.topup-agree": "I agree with the",
44
+ "wallet.top-up.success": "{currency}{amount} has been added to your wallet",
45
+ "wallet.topup-balance-cancel-button": "Cancel Top-up",
46
+ "wallet.topup-amount-minimum-error":
47
+ "Amount should be minimum ${minimumValue}",
48
+
49
+ /* Product */
50
+ "products.tabs.my-contracts.similar-channels": "Explore Similar Channels",
51
+ "products.details.recommended-channel": "Recommended Channel",
52
+ "product.details.locations": "Locations",
53
+ "product.details.industries": "Industries",
54
+ "product.details.job-functions": "Job Functions",
55
+ "product.details.cross-postings": "Cross Postings",
56
+ "product.details.delivery-time": "Delivery Time",
57
+ "product.details.duration-working-days":
58
+ "{count, plural, one {# working day} other {# working days}}",
59
+ "product.details.duration": "Duration",
60
+ "products.filters.heading": "Filters",
61
+ "products.filters.job-function-placeholder": "Select a job function",
62
+ "products.filters.job-function": "Job Function",
63
+ "products.filters.job-title": "Job Title",
64
+ "products.filters.job-title-placeholder": "Type a job title...",
65
+ "products.filters.name": "Product Name",
66
+ "products.filters.name-placeholder": "Type a product name...",
67
+ "products.filters.region": "Product Region",
68
+ "products.filters.region-placeholder": "Type a location...",
69
+ "products.filters.industry": "Industries",
70
+ "products.filters.my-contracts-supported-only":
71
+ "Only include products with support for My Contracts",
72
+ "products.filters.industry-placeholder": "Type an Industry...",
73
+ "products.filters.filter.display-all": "Display all",
74
+ "products.filters.filter.recommendations-only":
75
+ "Display recommendations only",
76
+ "products.filters.filter.exclude-recommendations":
77
+ "Exclude recommendations",
78
+ "products.filters.sort-by": "Sort by",
79
+ "products.filters.sort-by.relevant": "Most relevant first",
80
+ "products.filters.sort-by.recent": "Most recently created first",
81
+ "products.filters.sort-by.sort-by": "Sort by",
82
+ "products.filters.recommendations": "Recommendations",
83
+ "products.tabs.recommendations": "Channel Recommendations",
84
+ "products.tabs.relevant": "Other Relevant Channels",
85
+ "products.tabs.contracts": "My Contracts",
86
+ "product.more-information": "More Information",
87
+ "product.add.success": "Product added to campaign",
88
+ "product.remove.warning": "Product removed from campaign",
89
+
90
+ /* Campaign */
91
+ "campaign.form.not-enough-balance-explanation":
92
+ "You do not have enough balance to order the campaign. Top up your balance first",
93
+ "campaign.organization.sidebar-name": "Posting Organization Name",
94
+ "campaign.organization.sidebar-company-logo":
95
+ "Posting Organization Logo URL",
96
+ "campaign.organization.sidebar-title": "Organization",
97
+ "campaign.posting-details.sidebar-salary-indication-period":
98
+ "Posting Salary Indication Period",
99
+ "campaign.posting-details.sidebar-salary-indication-range-currency":
100
+ "Posting Salary Indication Range Currency",
101
+ "campaign.posting-details.sidebar-salary-indication-range-to":
102
+ "Posting Salary Indication Range Max",
103
+ "campaign.weekly-working-hours.indication": "{fromHours} to {toHours}",
104
+ "campaign.posting-details.sidebar-weekly-working-hours-to":
105
+ "Posting Weekly Working Hours Max",
106
+ "campaign.posting-details.sidebar-posting-employment-type":
107
+ "Posting Employment Type",
108
+ "campaign.posting-details.sidebar-posting-description":
109
+ "Posting Description",
110
+ "campaign.posting-details.sidebar-posting-title": "Posting Title",
111
+ "campaign.posting-details.sidebar-title": "Posting Details",
112
+ "campaign.recruiter-info.sidebar.name": "Recruiter Name",
113
+ "campaign.recruiter-info.sidebar-title": "Recruiter Info",
114
+ "campaign.target-group.sidebar-job-function": "Job Function",
115
+ "campaign.target-group.sidebar-industry": "Industries",
116
+ "campaign.target-group.sidebar-seniority": "Seniority",
117
+ "campaign.target-group.sidebar-education-level": "Education Level",
118
+ "campaign.target-group.sidebar-title": "Target Group",
119
+ "campaign.urls.sidebar-title": "URLs",
120
+ "campaign.urls.sidebar-application-url": "Posting Application URL",
121
+ "campaign.urls.sidebar-job-page-url": "Posting Job Page URL",
122
+ "campaign.working-location.sidebar-country":
123
+ "Posting Working Location Country",
124
+ "campaign.working-location.sidebar-city": "Posting Working Location City",
125
+ "campaign.working-location.sidebar-postcode":
126
+ "Posting Working Location Postcode",
127
+ "campaign.working-location.sidebar-address-line-1":
128
+ "Posting Working Location Address Line 1",
129
+ "campaign.working-location.sidebar-title": "Working Location",
130
+ "campaign.wallet.add-more-credits": "Add More Credits",
131
+ "campaign.salary.indication":
132
+ "{fromPrice}{fromCurrency} to {toPrice}{toCurrency} {period}",
133
+ "campaign.ask-status": "Ask Status",
134
+ "campaign.status": "Campaign Status",
135
+ "campaign.products.status": "Ordered Product Statuses",
136
+ "campaign.product.id": "Product ID",
137
+ "campaign.product.status": "Status",
138
+ "campaign.product.description": "Description",
139
+ "campaign.posting-details.organization.company-logo-url":
140
+ "Company Logo URL",
141
+ "campaign.posting-details.organization.company-logo-url-description":
142
+ "Enter a Publicly Available URL",
143
+ "campaign.posting-details.organization.name": "Company Name",
144
+ "campaign.posting-details.organization.name-placeholder":
145
+ "Enter Name of the Company",
146
+ "campaign.posting-details.line-1":
147
+ "The Organization for which the Job Posting is going to be directed.",
148
+ "campaign.posting-details.line-2":
149
+ "The company that's actually hiring a candidate.",
150
+ "campaign.posting-details.description": "Description",
151
+ "campaign.posting-details.title": "Title",
152
+ "campaign.posting-details.weekly-working-hours.title":
153
+ "Weekly Working Hours",
154
+ "campaign.posting-details.years-of-experience.title": "Years of Experience",
155
+ "campaign.posting-details.heading": "Posting Details",
156
+ "campaign.posting-details.heading-explanation":
157
+ "Posting details represents the Job Posting information that's going to be published in the products selected in this request.",
158
+ "campaign.recruiter-info.email": "Email Address",
159
+ "campaign.recruiter-info.name": "Full Name",
160
+ "campaign.recruiter-info.heading": "Recruiter Info",
161
+ "campaign.recruiter-info.heading-explanation":
162
+ "Recruiter is the person using the ATS to create the Campaign and it's generally part of the Company whose Id we request first.",
163
+ "campaign.contact-info.email": "Email Address",
164
+ "campaign.contact-info.email-placeholder":
165
+ "Enter Email Address of the Contact Person",
166
+ "campaign.contact-info.name": "Full Name",
167
+ "campaign.contact-info.name-placeholder":
168
+ "Enter Full Name of the Contact Person",
169
+ "campaign.contact-info.phone-number": "Phone Number",
170
+ "campaign.contact-info.phone-number-placeholder":
171
+ "Enter Phone Number of the Contact Person",
172
+ "campaign.contact-info.same-as-recruiter-info":
173
+ "Contact Info is same as Recruiter Info (as recruiter info does not have a phone number, you can optionally enter your phone number)",
174
+ "campaign.contact-info.heading": "Contact Info",
175
+ "campaign.contact-info.heading-explanation":
176
+ "Contact Info may be different from the Recruiter Info and the applicants will use the contact info to reach for the application",
177
+ "campaign.target-group.heading": "Target Group",
178
+ "campaign.target-group.heading-explanation":
179
+ "Fill in details for your target group.",
180
+ "campaign.urls.application-url": "Application URL",
181
+ "campaign.urls.application-url-explanation":
182
+ "Fill in the URL that will be used as the landing page for your job ads.",
183
+ "campaign.urls.job-page-url": "Job Page URL",
184
+ "campaign.urls.heading": "URLs",
185
+ "campaign.urls.heading-explanation":
186
+ "Fill in details for your job and application pages.",
187
+ "campaign.work-location.address-line-1": "Address Line 1",
188
+ "campaign.work-location.address-line-2": "Address Line 2",
189
+ "campaign.work-location.city": "City",
190
+ "campaign.work-location.country": "Country",
191
+ "campaign.work-location.postcode": "Postcode",
192
+ "campaign.work-location.heading": "Working Location",
193
+ "campaign.work-location.heading-explanation":
194
+ "Fill in details for the location of the work.",
195
+ "campaign.form.heading.title": "Create your job ad(s)",
196
+ "campaign.form.heading.title-explanation":
197
+ "Fill in the needed information for your job posting(s). Some fields are required by job boards to be able to post on it.",
198
+ "campaign.organization.company.logo": "Organization Company Logo",
199
+ "campaign.audience": "Audience",
200
+ "campaign.recruiter-info": "Recruiter Info",
201
+ "campaign.ordered-products": "Ordered Products",
202
+ "campaign.target-group.seniority": "Seniority",
203
+ "campaign.target-group.seniority-placeholder": "Select a Seniority",
204
+ "campaign.target-group.employment-type": "Employment Type",
205
+ "campaign.target-group.employment-type-placeholder":
206
+ "Select an Employment Type",
207
+ "campaign.posting-details.salary-indication.from-placeholder":
208
+ "Enter a value for the hour",
209
+ "campaign.posting-details.salary-indication.to-placeholder":
210
+ "Enter a value for the hour",
211
+ "campaign.posting-details.title-explanation":
212
+ "The title of the posting across different channels where the posting is going to be published",
213
+ "campaign.posting-details.weekly-working-hours.from-placeholder":
214
+ "Enter a value for the hour",
215
+ "campaign.posting-details.weekly-working-hours.to-placeholder":
216
+ "Enter a value for the hour",
217
+ "campaign.recruiter-info.email-explanation":
218
+ "Some channels require an email to post a job. Leave a contact email or a general company email",
219
+ "campaign.recruiter-info.email-placeholder": "Recruiter's Email Address",
220
+ "campaign.recruiter-info.name-explanation":
221
+ "Leave a contact name (or general company info), so that your job can be properly placed on job boards that require this information",
222
+ "campaign.contract-posting-requirements.heading": "Posting Requirements",
223
+ "campaign.recruiter-info.name-placeholder": "Recruiter's Full Name",
224
+ "campaign.target-group.education-level": "Education Level",
225
+ "campaign.target-group.education-level-placeholder":
226
+ "Select an Education Level",
227
+ "campaign.target-group.job-function": "Job Function",
228
+ "campaign.target-group.job-function-placeholder": "Select a Job Function",
229
+ "campaign.target-group.job-function-explanation":
230
+ "Please fill in the function of the job",
231
+ "campaign.target-group.industry": "Industry",
232
+ "campaign.target-group.industry-explanation":
233
+ "Please fill in the industry of the job",
234
+ "campaign.target-group.industry-placeholder": "Select an Industry",
235
+ "campaign.urls.application-url-placeholder":
236
+ "Enter the Link to the Page where the candidate needs to be redirected when applying for a position",
237
+ "campaign.urls.job-page-url-placeholder":
238
+ "Enter the Link to the Page with the Description of the Job",
239
+ "campaign.work-location.address-line-1-placeholder":
240
+ "Enter First Line of Address",
241
+ "campaign.work-location.address-line-2-placeholder":
242
+ "Enter Second Line of Address",
243
+ "campaign.work-location.city-placeholder": "Enter City of Address",
244
+ "campaign.work-location.country-placeholder": "Enter Country of Address",
245
+ "campaign.work-location.postcode-placeholder": "Enter Postcode of Address",
246
+ "campaign.ordered-products.heading": "Ordered Products",
247
+ "campaign.wallet.heading": "Wallet",
248
+ "campaign.add.heading": "Create Campaign",
249
+ "campaign.cancel-campaign": "Cancel Campaign",
250
+ "campaign-posting-details": "Posting Details",
251
+ "campaign.header.duplicate-to-new": "Duplicate to new campaign",
252
+ "campaign.card.not-delivered": "Not delivered yet",
253
+ "campaign.card.channel.link": "Link",
254
+ "campaign.card.channel.clicks": "Clicks",
255
+ "campaign.card.channel.end-date": "End date",
256
+ "campaign.card.channel.start-date": "Start date",
257
+ "campaign.card.target-audience": "Target Audience",
258
+ "campaign.card.order-date": "Order date: {date}",
259
+ "campaign.card.job-id": "Job ID: {jobId}",
260
+ "campaign.card.show-campaign-details": "Show campaign details",
261
+ "campaign.card.take-offline": "Take Offline",
262
+ "campaign.card.take-offline-success": "Campaign has been taken offline",
263
+ "campaign.card.create-new-from-this": "Create new from this",
264
+ "campaign.copy-campaign-confirmation.title":
265
+ "Are you sure you want to duplicate this campaign?",
266
+ "campaign.copy-campaign-confirmation.accept": "Copy Campaign",
267
+ "campaign.copy-campaign-confirmation.decline": "Cancel",
268
+ "campaign.copy-success": "Your campaign has been created",
269
+ "campaign.utm-codes.heading": "UTM Codes",
270
+ "campaign.utm-codes.heading-explanation":
271
+ "We have automatically generated some UTM codes for you but you can edit them to your choosing.",
272
+ "campaign.contracts-explanation":
273
+ "Fill in the details the channel requires.",
274
+
275
+ /* Contract */
276
+ "contract.group.name": "Group",
277
+ "contract.delete": "Delete Contract",
278
+ "contract.remove.success": 'Contract "{name}" has been removed',
279
+ "contract.remove-contract-confirmation.title":
280
+ "Are you sure that you want to remove the contract?",
281
+ "contract.remove-contract-confirmation.accept": "Remove Contract",
282
+ "contract.remove-contract-confirmation.decline": "Cancel",
283
+ "contracts.add.contract-group": "Group",
284
+ "contracts.add.contract-group-explanation":
285
+ "You can select or create a new contract group",
286
+ "contracts.add.contract-group.name": "Group Name",
287
+ "contracts.add.contract-group.create": "Create Group",
288
+ "contracts.add.credentials.heading": "Credentials",
289
+ "contracts.add.credentials.authenticated":
290
+ "You are authenticated with {channelName}",
291
+ "contracts.add.credentials.initialize-authentication":
292
+ "Initialize Authentication",
293
+ "contracts.add.instructions.heading": "Instructions",
294
+ "contracts.add.instructions.following-instructions":
295
+ "I understand that my contract can only be activated if I follow the instructions",
296
+ "contracts.add.optional-details.heading": "Optional Details",
297
+ "contracts.add.optional-details.contract-alias": "Contract Alias",
298
+ "contracts.add.optional-details.contract-expiry": "Contract Expiry",
299
+ "contracts.add.optional-details.purchase-price": "Purchase Price",
300
+ "contracts.add.optional-details.credits": "How many Credits?",
301
+ "contracts.add.optional-details.allow-renegotiation":
302
+ "Allow for re-negotiation when contract expires",
303
+ "contracts.add.optional-details.add-to-my-contract": "Add to My Contracts",
304
+ "contracts.add.heading": "Create contract",
305
+ "contracts.add.heading-explanation":
306
+ "Fill in the needed information for your job posting(s). Some fields are required by job boards to be able to post on it",
307
+ "contracts.add.select-channel": "What contract would you like to add?",
308
+ "contracts.add.select-channel-explanation":
309
+ "Please select the contract provider you wish to add",
310
+ "contracts.heading": "My Contracts",
311
+ "contracts.add.add-new-group": "Add New Group",
312
+ "contracts.add.select-group": "Select a Group",
313
+ "contracts.add.contract-group.name-placeholder": "Enter a group name",
314
+ "contracts.add.optional-details.contract-alias-placeholder":
315
+ "Enter a Contract Alias",
316
+ "contracts.add.optional-details.contract-expiry-placeholder":
317
+ "Contract Expiry",
318
+ "contracts.add.optional-details.purchase-price-placeholder":
319
+ "Purchase Price",
320
+ "contracts.add.optional-details.currency": "Currency",
321
+ "contracts.add.optional-details.credits-placeholder":
322
+ "Enter number of Credits",
323
+ "contracts.add.contract-name-placeholder": "Type a Contract Name",
324
+ "contracts.add.button": "Add New Contract",
325
+ "contracts.list.table-header.channel-name": "Channel name",
326
+ "contracts.list.table-header.group-name": "Group name",
327
+ "contracts.list.table-header.purchased": "Purchased",
328
+ "contracts.list.table-header.purchase-price": "Purchase price",
329
+ "contracts.list.table-header.expiry-date": "Contract Expiry date",
330
+ "contracts.list.table-header.action": "Action",
331
+ "contracts.list.table.not-specified": "Not specified",
332
+ "contract.add.success": 'Contract "{name}" has been created',
333
+ "contract.group.add.success":
334
+ 'Contract group "{groupName}" has been created',
335
+ "campaign.add.common-fields": "Common Fields",
336
+ "campaign.add.order-success": "Your order has been placed",
337
+ "campaign.add.job-posting-details.job-function-explanation-placeholder":
338
+ "Select a Job Function",
339
+ "campaign.create.job-portals": "Job portals",
340
+ "campaign.create.job-portals.posting-details": "Job posting details",
341
+ "campaign.create.job-portals.criteria": "Job criteria",
342
+ "campaign.create.job-portals.contact-information":
343
+ "Contact information for candidates",
344
+ "campaign.add.job-posting-details.job-title-placeholder":
345
+ "The title of the posting across different channels where the posting is going to be published",
346
+ "campaign.create.continue": "Save and Continue",
347
+ "campaign.add.contact-information.name-placeholder":
348
+ "Recruiter's Full Name",
349
+ "campaign.posting-details.salary-indication.period": "Period",
350
+ "campaign.posting-details.salary-indication.currency": "Currency",
351
+ "campaign.posting-details.salary-indication.to": "To",
352
+ "campaign.posting-details.salary-indication.from": "From",
353
+ "campaign.posting-details.salary-indication": "Salary Indication",
354
+ "campaign.posting-details.weekly-working-hours.to": "To",
355
+ "campaign.posting-details.weekly-working-hours.from": "From",
356
+ "campaign.add.job-posting-details.work-location.company-logo-url-description":
357
+ "Enter a Publicly Available URL",
358
+ "campaign.add.contact-information.email-explanation":
359
+ "Some channels require an email to post a job. Leave a contact email or a general company email",
360
+ "campaign.add.contact-information.email-placeholder":
361
+ "Recruiter's Email Address",
362
+ "campaign.add.job-posting-details.work-location-placeholder":
363
+ "Enter Name of the Company",
364
+ "campaign.add.job-posting-details.application-link-explanation-placeholder":
365
+ "Enter a URL",
366
+ "campaign.add.job-posting-details.industry-placeholder":
367
+ "Select an Industry",
368
+ "campaign.form-contracts.heading.title": "Added contracts",
369
+ "campaign.add.job-posting-details.add-utm-codes": "Edit UTM codes",
370
+ "campaign.create.my-contracts": "My contracts",
371
+ "campaign.add.contact-information.email": "Email",
372
+ "campaign.add.contact-information.name-explanation":
373
+ "Leave a contact name (or general company info), so that your job can be properly placed on job boards that require this information",
374
+ "campaign.add.contact-information.name": "Name",
375
+ "campaign.add.job-criteria.employment-type": "Employment Type",
376
+ "campaign.add.job-criteria.level-of-education": "Level of education",
377
+ "campaign.add.job-criteria.minimum-years-of-experience":
378
+ "Minimum no. years of experience",
379
+ "campaign.add.job-criteria.heading-explanation":
380
+ "We will use this data to better target your desired audience",
381
+ "campaign.add.job-criteria.heading": "Job criteria",
382
+ "campaign.add.job-posting-details.work-location.company-logo-url":
383
+ "Company Logo URL",
384
+ "campaign.add.job-posting-details.work-location-explanation":
385
+ "Add the location of where this person will work",
386
+ "campaign.add.job-posting-details.work-location":
387
+ "Work location details for your vacancy",
388
+ "campaign.add.job-posting-details.company-name": "Company Name",
389
+ "campaign.add.job-posting-details.utm-code-explanation":
390
+ "If you want to use your own (UTM) tracking codes, you can add them here",
391
+ "campaign.add.job-posting-details.utm-code": "UTM Codes",
392
+ "campaign.add.job-posting-details.utm-code.save-confirmation":
393
+ "UTM codes has been updated successfully.",
394
+ "campaign.add.job-posting-details.utm-code.reset-confirmation":
395
+ "UTM codes has been reset.",
396
+ "campaign.add.job-posting-details.application-link-explanation":
397
+ "Add the link where a candidate fills in the application (this can also be the job detail page)",
398
+ "campaign.add.job-posting-details.application-link":
399
+ "Link to the application page",
400
+ "campaign.urls.job-page-url-explanation":
401
+ "Fill in the URL that will be used as the landing page for your job ads",
402
+ "campaign.add.job-posting-details.job-description-explanation-1":
403
+ "The job description is captured directly from your ATS, so you can immediately start editing. Important note: Not all formatting might be imported correctly. \n" +
404
+ "Please make sure to double-check your text before ordering.",
405
+ "campaign.add.job-posting-details.job-description": "Job Description",
406
+ "campaign.add.job-posting-details.job-function-explanation":
407
+ "Please fill in the job function of the job",
408
+ "campaign.add.job-posting-details.job-function": "Job Function",
409
+ "campaign.add.job-posting-details.industry-explanation":
410
+ "Please fill in the industry of the job",
411
+ "campaign.add.job-posting-details.industry": "Industry",
412
+ "campaign.add.job-posting-details.job-title-explanation":
413
+ "This is the job title which will be shown to your candidates",
414
+ "campaign.add.job-posting-details.job-title": "Job Title",
415
+ "campaign.add.job-posting-details.campaign-name": "Campaign name",
416
+ "campaign.add.job-posting-details.campaign-name-explanation":
417
+ "Used to post your job (possibly coming from ATS)",
418
+ "campaign.posting-details": "Posting details",
419
+ "campaign.work-location.allows-remote-work": "Allows remote work?",
420
+ "campaign.select-channels.no-items-in-basket":
421
+ "You need at least one product or a contract added to campaign in order to proceed",
422
+
423
+ /* Alert */
424
+ "alert.dismiss-button.close": "Close",
425
+
426
+ /* Common */
427
+ "common.important-notice": "Important Notice",
428
+ "common.loading": "Loading...",
429
+ "common.channel": "Channel",
430
+ "common.select-a-date-placeholder": "Select a Date",
431
+ "common.please-fill-in-field": "Please fill in required fields",
432
+ "common.field-should-be-email": "This field should be an Email",
433
+ "common.field-should-be-more-than-zero": "This field should be more than 0",
434
+ "common.field-is-required": "This field is required",
435
+ "common.proceed-to": "Proceed to {nextTabTitle}",
436
+ "common.proceed": "Proceed",
437
+ "common.back-to": "Back to {previousTabTitle}",
438
+ "common.status": "Status",
439
+ "common.description": "Description",
440
+ "common.id": "ID",
441
+ "common.job-category": "Job Category",
442
+ "common.industry": "Industry",
443
+ "common.seniority": "Seniority",
444
+ "common.education-level": "Education Level",
445
+ "common.organization": "Organization",
446
+ "common.employment-type": "Employment Type",
447
+ "common.salary": "Salary",
448
+ "common.weekly-working-hours": "Weekly Working Hours",
449
+ "common.work-location": "Work Location",
450
+ "common.years-of-experience": "Years of Experience",
451
+ "common.contact-info": "Contact Info",
452
+ "common.name": "Name",
453
+ "common.email": "Email",
454
+ "common.phone-number": "Phone Number",
455
+ "common.application-page": "Application Page",
456
+ "common.job-page": "Job Page",
457
+ "common.field-should-be-url": "This field should be a URL",
458
+ "common.copy": "Copy",
459
+ "common.copied": "Copied",
460
+ "common.cannot-accept-file": "Cannot accept that file",
461
+ "common.file-too-big": "File too big, select something smaller than {size}",
462
+
463
+ /* Basket */
464
+ "basket.title": "Basket",
465
+ "basket.title-explanation": "{quantity} channels",
466
+ "basket.delivery-time": "Delivery Time",
467
+ "basket.description": "Includes job marketing products and own contracts.",
468
+ "basket.product.time-to-process": "{timeToProcess} to process",
469
+ "basket.products.empty": "There are no products in the basket",
470
+ "basket.products.total-amount": "Total amount",
471
+ "basket.products.wallet-balance": "Wallet balance",
472
+ "basket.add": "Add to Campaign",
473
+ "basket.add-product": "Add to My Contracts",
474
+ "basket.remove": "Remove from Campaign",
475
+ "basket.delivery-time-explanation-1":
476
+ "Campaign will be online in 5 working days",
477
+ "basket.delivery-time-explanation-2":
478
+ "It can take up to 8 working days to process your order",
479
+ "basket.product.remove-confirmation.accept": "Accept",
480
+ "basket.product.remove-confirmation.decline": "Decline",
481
+ "basket.product.remove-confirmation.title":
482
+ "Are you sure you want to remove this product?",
483
+ "basket.delivery-time-explanation-learn-why": "Learn why",
484
+
485
+ /* Checkout */
486
+ "checkout.order-campaign": "Order campaign",
487
+
488
+ /* User Journey */
489
+ "user-journey.contract.create-contract": "Create Contract",
490
+ "user-journey.contract.back-to-list": "Back to Contracts",
491
+ "user-journey.navigation.next-step": "Next{delimiter} {stepTitle}",
492
+ "user-journey.navigation.previous-step": "Previous{delimiter} {stepTitle}",
493
+ "user-journey.navigation.get-recommendations": "Get Recommendations",
494
+ "user-journey.navigation.select-channels": "Select channels",
495
+ "user-journey.navigation.create-ads": "Create job ad(s)",
496
+ "user-journey.navigation.order-campaign": "Order Campaign",
497
+ "user-journey.landing.heading": "Let's target the right talent",
498
+ "user-journey.landing.industries-explanation":
499
+ "Enter the industries for this company",
500
+ "user-journey.landing.industries": "Industries",
501
+ "user-journey.landing.location": "Location",
502
+ "user-journey.landing.location-explanation":
503
+ "Enter the location where you would like to look for candidates",
504
+ "user-journey.landing.job-function-explanation":
505
+ "Select a matching job function (used to select the best performing channels)",
506
+ "user-journey.landing.job-function": "Job Function",
507
+ "user-journey.landing.job-title-explanation":
508
+ "Enter and select the job title that describes the role (used to select the best performing channels)",
509
+ "user-journey.landing.job-title": "Job Title",
510
+ "user-journey.landing.heading-explanation":
511
+ "We will use this information to recommend you the best performing channels, so you can target the right candidates.",
512
+ "user-journey.landing.get-recommendations": "Get Recommendations",
513
+ "user-journey.job-marketing.select-products": "Media Mix Recommendation",
514
+ "user-journey.job-marketing.select-products-explanation":
515
+ "This channel mix shows to be the best for your target audience based on 60 million records of job performance data and similar jobs.",
516
+ "user-journey.job-marketing.select-contracts": "Select Contracts",
517
+ "user-journey.job-marketing.select-contracts-explanation":
518
+ "Select your existing contracts.",
519
+ "user-journey.job-marketing.add-contracts": "Add Contracts",
520
+ "user-journey.job-marketing.add-contracts-explanation":
521
+ "Add own contract to those that support this feature.",
522
+ "user-journey.job-posting.basket-summary": "Basket Summary",
523
+ "user-journey.job-posting.order-review": "Order Review",
524
+ "user-journey.job-posting.order-review-explanation":
525
+ "Review your campaign details before ordering.",
526
+ "user-journey.payment-method.choose": "Choose your payment method",
527
+ "user-journey.job-posting.order-confirmation": "Thank you for your order",
528
+ "user-journey.job-posting.order-confirmation-explanation":
529
+ "Some description",
530
+ }