@vonq/hapi-elements-types 1.39.0 → 1.41.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.
@@ -6,6 +6,7 @@ import { WindowHapiLogger } from "../common/logger/types"
6
6
 
7
7
  export type WindowHapiInstances = WindowHapiModuleWithConstructorArgs<
8
8
  {
9
+ logger: WindowHapiLogger
9
10
  instances: WindowHapiInstance[]
10
11
  readyInstances: string[]
11
12
  getFrameWindowByName: (name: string) => Window | undefined
@@ -10,6 +10,7 @@ import { WindowHapiQAContract } from "../contract/qa.types"
10
10
  import { WindowHapiQATheming } from "../theming/qa.types"
11
11
  import { WindowHapiQALanguage } from "../language/qa.types"
12
12
  import { WindowHapiQAProduct } from "../product/qa.types"
13
+ import { WindowHapiLogger } from "../common"
13
14
 
14
15
  export type WindowHapiQA = WindowHapiModuleWithConstructorArgs<
15
16
  {
@@ -20,6 +21,7 @@ export type WindowHapiQA = WindowHapiModuleWithConstructorArgs<
20
21
  [WindowHapiModuleName.theming]: WindowHapiQATheming
21
22
  [WindowHapiModuleName.language]: WindowHapiQALanguage
22
23
  [WindowHapiModuleName.common]: WindowHapiQACommon
24
+ logger: WindowHapiLogger
23
25
 
24
26
  isDebugPanelOpen: boolean
25
27
 
@@ -2,6 +2,7 @@ import {
2
2
  WindowHapiModuleWithConstructorArgs,
3
3
  WindowHapiClassInterface,
4
4
  } from "./window"
5
+ import { WindowHapiLogger } from "../common"
5
6
 
6
7
  export type WindowHapiUIElementNameForAddingToBody =
7
8
  | "he-ui-modals"
@@ -9,6 +10,7 @@ export type WindowHapiUIElementNameForAddingToBody =
9
10
 
10
11
  export type WindowHapiUI = WindowHapiModuleWithConstructorArgs<
11
12
  {
13
+ logger: WindowHapiLogger
12
14
  addUIElementToBody: (
13
15
  elementName: WindowHapiUIElementNameForAddingToBody,
14
16
  ) => void
@@ -13,10 +13,11 @@ import { WindowHapiUtilsRouter } from "../routing/utils.types"
13
13
  import { WindowHapiUtilsLanguage } from "../language/utils.types"
14
14
  import { WindowHapiUtilsAlert } from "../alert/utils.types"
15
15
 
16
- import { FlattenedItem } from "../common"
16
+ import { FlattenedItem, WindowHapiLogger } from "../common"
17
17
 
18
18
  export type WindowHapiUtils = WindowHapiModuleWithConstructorArgs<
19
19
  {
20
+ logger: WindowHapiLogger
20
21
  isObject: (item: any) => boolean
21
22
  mergeDeepOverwriteArrays: (original: any, overwrites: any) => any
22
23
  flattenObject: (
package/ats/types.ts CHANGED
@@ -24,10 +24,13 @@ export type ATSUserSettings = {
24
24
  can_use_wallets: boolean
25
25
  can_pay_with_direct_charge: boolean
26
26
  invoice_currency: string | null
27
- smartfill: {
27
+ smartfill?: {
28
28
  vacancy_fields: boolean | null
29
29
  posting_requirements: boolean | null
30
30
  }
31
+ direct_apply?: {
32
+ enabled: boolean
33
+ }
31
34
  }
32
35
  export type ATSSettings = {
33
36
  payment_settings: ATSUserPaymentSetting[]
@@ -9,6 +9,9 @@ import {
9
9
  CampaignPostingRequirementsSuggestionsGetRequestResponse,
10
10
  CampaignPostingRequirementsValidateRequestBody,
11
11
  CampaignSetProductStatusRequestBody,
12
+ CampaignVacancyFieldsSuggestionCreateRequest,
13
+ CampaignVacancyFieldsSuggestionCreateRequestResponse,
14
+ CampaignVacancyFieldsSuggestionsGetRequestResponse,
12
15
  TaxonomyEducationAndSeniorityLevel,
13
16
  } from "./types"
14
17
  import { ProductSupportingContractsComplete } from "../product/types"
@@ -30,6 +33,8 @@ export type WindowHapiAPICampaignConfigs = {
30
33
  setProductStatus: AxiosRequestConfig
31
34
  getSuggestionOfPostingRequirements: AxiosRequestConfig
32
35
  createSuggestionOfPostingRequirements: AxiosRequestConfig
36
+ getSuggestionOfVacancyFields: AxiosRequestConfig
37
+ createSuggestionOfVacancyFields: AxiosRequestConfig
33
38
  }
34
39
  export type WindowHapiAPICampaignRequests = {
35
40
  getCampaigns: (
@@ -71,6 +76,12 @@ export type WindowHapiAPICampaignRequests = {
71
76
  createSuggestionOfPostingRequirements: (
72
77
  payload: CampaignPostingRequirementsSuggestionCreateRequest,
73
78
  ) => Promise<CampaignPostingRequirementsSuggestionCreateRequestResponse>
79
+ getSuggestionOfVacancyFields: (
80
+ suggestionId: string,
81
+ ) => Promise<CampaignVacancyFieldsSuggestionsGetRequestResponse>
82
+ createSuggestionOfVacancyFields: (
83
+ payload: CampaignVacancyFieldsSuggestionCreateRequest,
84
+ ) => Promise<CampaignVacancyFieldsSuggestionCreateRequestResponse>
74
85
  }
75
86
  export type WindowHapiAPICampaign = WindowHapiModuleWithConstructorArgs<
76
87
  WindowHapiAPIModule<
@@ -13,6 +13,8 @@ import {
13
13
  CampaignPostingRequirementsSuggestionCreateRequestResponse,
14
14
  CampaignPostingRequirementsSuggestionsGetRequestResponse,
15
15
  CampaignSetProductStatusRequestBody,
16
+ CampaignVacancyFieldsSuggestionCreateRequestResponse,
17
+ CampaignVacancyFieldsSuggestionsGetRequestResponse,
16
18
  TaxonomyEducationAndSeniorityLevel,
17
19
  TaxonomyEmploymentTypes,
18
20
  } from "./types"
@@ -79,11 +81,21 @@ export type CampaignServiceGetEmploymentTypesHandler = () => Promise<
79
81
  TaxonomyEmploymentTypes[]
80
82
  >
81
83
  export type CampaignServiceCreateSuggestionOfPostingRequirementsHandler = (
82
- contractIds: (string | number)[],
84
+ contractId: string | number,
85
+ customDescription?: string,
86
+ customContextObject?: Record<string, any>,
83
87
  ) => Promise<CampaignPostingRequirementsSuggestionCreateRequestResponse>
84
88
  export type CampaignServiceGetSuggestionOfPostingRequirementsHandler = (
85
89
  taskId: string,
86
90
  ) => Promise<CampaignPostingRequirementsSuggestionsGetRequestResponse>
91
+ export type CampaignServiceCreateSuggestionOfVacancyFieldsHandler = (
92
+ customDescription?: string,
93
+ customContextObject?: Record<string, any>,
94
+ ) => Promise<CampaignVacancyFieldsSuggestionCreateRequestResponse>
95
+ export type CampaignServiceGetSuggestionOfVacancyFieldsHandler = (
96
+ taskId: string,
97
+ excludedDotNotatedObjectPathsOfCampaignForm?: string[],
98
+ ) => Promise<CampaignVacancyFieldsSuggestionsGetRequestResponse>
87
99
 
88
100
  export type WindowHapiServiceCampaign = WindowHapiModuleWithConstructorArgs<
89
101
  {
@@ -112,6 +124,8 @@ export type WindowHapiServiceCampaign = WindowHapiModuleWithConstructorArgs<
112
124
  getEmploymentTypes: HapiServiceFunctionWithLifecycleHooks<CampaignServiceGetEmploymentTypesHandler>
113
125
  createSuggestionOfPostingRequirements: HapiServiceFunctionWithLifecycleHooks<CampaignServiceCreateSuggestionOfPostingRequirementsHandler>
114
126
  getSuggestionOfPostingRequirements: HapiServiceFunctionWithLifecycleHooks<CampaignServiceGetSuggestionOfPostingRequirementsHandler>
127
+ createSuggestionOfVacancyFields: HapiServiceFunctionWithLifecycleHooks<CampaignServiceCreateSuggestionOfVacancyFieldsHandler>
128
+ getSuggestionOfVacancyFields: HapiServiceFunctionWithLifecycleHooks<CampaignServiceGetSuggestionOfVacancyFieldsHandler>
115
129
  },
116
130
  { readonly service: WindowHapiService }
117
131
  >
@@ -3,7 +3,7 @@ import {
3
3
  CampaignCreateForm,
4
4
  CampaignCreateFormDraft,
5
5
  CampaignEditForm,
6
- CampaignPostingRequirementsSuggestionStatus,
6
+ CampaignSuggestionStatus,
7
7
  TaxonomyEducationAndSeniorityLevel,
8
8
  TaxonomyEmploymentTypes,
9
9
  TaxonomySeniority,
@@ -33,7 +33,16 @@ export type CampaignState = {
33
33
  string,
34
34
  {
35
35
  createdAt: string
36
- status: CampaignPostingRequirementsSuggestionStatus
36
+ status: CampaignSuggestionStatus
37
+ }
38
+ >
39
+ /* Vacancy Fields Suggestions */
40
+ vacancyFieldsSuggestionsPollingIntervalsMap: Record<string, number>
41
+ vacancyFieldsSuggestionsPollingStatusMap: Record<
42
+ string,
43
+ {
44
+ createdAt: string
45
+ status: CampaignSuggestionStatus
37
46
  }
38
47
  >
39
48
  }
package/campaign/types.ts CHANGED
@@ -2,7 +2,11 @@ import { ProductDuration, ProductIndustry } from "../product/types"
2
2
  import { ProductPriceCurrency } from "../product/enums"
3
3
  import { EmploymentType, SalaryPeriod } from "./enums"
4
4
  import { OrderJourneyPaymentMethod } from "../orderJourney"
5
- import { PostingRequirement, PostingRequirementLabelsMap } from "../common"
5
+ import {
6
+ PostingRequirement,
7
+ PostingRequirementLabelsMap,
8
+ RecursivePartial,
9
+ } from "../common"
6
10
 
7
11
  export type CampaignProductSpecs = {
8
12
  contractId: string | null
@@ -361,7 +365,7 @@ export type CampaignIdResponse = {
361
365
  }
362
366
 
363
367
  export type CampaignPostingRequirementsSuggestionCreateRequest = {
364
- contract_ids: (string | number)[]
368
+ contract_id: string | number
365
369
  context: {
366
370
  structured: Record<string, any>
367
371
  unstructured: string
@@ -372,7 +376,18 @@ export type CampaignPostingRequirementsSuggestionCreateRequestResponse = {
372
376
  smartfill_task_id: string
373
377
  }
374
378
 
375
- export type CampaignPostingRequirementsSuggestionStatus =
379
+ export type CampaignVacancyFieldsSuggestionCreateRequest = {
380
+ context: {
381
+ structured: Record<string, any>
382
+ unstructured: string
383
+ }
384
+ }
385
+
386
+ export type CampaignVacancyFieldsSuggestionCreateRequestResponse = {
387
+ smartfill_task_id: string
388
+ }
389
+
390
+ export type CampaignSuggestionStatus =
376
391
  | "queued"
377
392
  | "started"
378
393
  | "completed"
@@ -380,13 +395,18 @@ export type CampaignPostingRequirementsSuggestionStatus =
380
395
 
381
396
  export type CampaignPostingRequirementsSuggestionsGetRequestResponse = {
382
397
  id: string
383
- status: CampaignPostingRequirementsSuggestionStatus
384
- smartfills: {
385
- contract_id: string
386
- channel_id: string
387
- status: CampaignPostingRequirementsSuggestionStatus
388
- created_at: string
389
- updated_at: string
390
- prefill_data: Record<string, any>
391
- }[]
398
+ status: CampaignSuggestionStatus
399
+ contract_id: string
400
+ channel_id: string
401
+ created_at: string
402
+ updated_at: string
403
+ prefill_data: Record<string, any>
404
+ }
405
+
406
+ export type CampaignVacancyFieldsSuggestionsGetRequestResponse = {
407
+ id: string
408
+ status: CampaignSuggestionStatus
409
+ created_at: string
410
+ updated_at: string
411
+ prefill_data: RecursivePartial<CampaignCreateForm>
392
412
  }
package/common/types.ts CHANGED
@@ -133,6 +133,7 @@ export type PostingRequirementType =
133
133
  | "AUTOCOMPLETE"
134
134
  | "STATISCH"
135
135
  | "HTMLAREA"
136
+ | "QUESTIONNAIRE"
136
137
 
137
138
  export type PostingRequirementRuleName =
138
139
  | "int"
@@ -194,6 +195,75 @@ export type PostingRequirementAutocomplete = {
194
195
  required_parameters: string[] | null
195
196
  parameters_source: PostingRequirementParametersSource | null
196
197
  }
198
+
199
+ export type UNSTABLE_PostingRequirementQuestionnaireQuestion = {
200
+ maxLength?: number
201
+ minLength?: number
202
+ maxQuestions?: number
203
+ htmlAllowed?: string
204
+ }
205
+
206
+ export type UNSTABLE_PostingRequirementQuestionnaireClosedQuestionItem = {
207
+ maxLength: number
208
+ minLength: number
209
+ }
210
+
211
+ export type UNSTABLE_PostingRequirementQuestionnaireClosedQuestionItems = {
212
+ item: UNSTABLE_PostingRequirementQuestionnaireClosedQuestionItem[]
213
+ maxOccurs: number
214
+ minOccurs: number
215
+ }
216
+
217
+ export type UNSTABLE_PostingRequirementQuestionnaireText = {
218
+ limit?: number
219
+ formats?: string
220
+ min?: string
221
+ max?: string
222
+ question: UNSTABLE_PostingRequirementQuestionnaireQuestion
223
+ }
224
+
225
+ export type UNSTABLE_PostingRequirementQuestionnaireClosedQuestion = {
226
+ items: UNSTABLE_PostingRequirementQuestionnaireClosedQuestionItems
227
+ question: UNSTABLE_PostingRequirementQuestionnaireQuestion
228
+ }
229
+
230
+ export type UNSTABLE_PostingRequirementQuestionnaireSettings = {
231
+ ordered: boolean
232
+ editable: boolean
233
+ maxQuestions: number
234
+ maxOpenQuestions: number
235
+ supportsRequired: boolean
236
+ maxClosedQuestions: number
237
+ supportsConditions: boolean
238
+ }
239
+
240
+ export type UNSTABLE_PostingRequirementQuestionnaire = {
241
+ types: UNSTABLE_PostingRequirementQuestionnaireType[]
242
+ text?: UNSTABLE_PostingRequirementQuestionnaireText
243
+ choice?: UNSTABLE_PostingRequirementQuestionnaireClosedQuestion
244
+ "multi-choice"?: UNSTABLE_PostingRequirementQuestionnaireClosedQuestion
245
+ hier?: UNSTABLE_PostingRequirementQuestionnaireClosedQuestion
246
+ questionnaire: UNSTABLE_PostingRequirementQuestionnaireSettings
247
+ }
248
+ export type UNSTABLE_PostingRequirementQuestionnaireType =
249
+ | "text"
250
+ | "choice"
251
+ | "multi-choice"
252
+ | "textarea"
253
+ | "page-break"
254
+ | "date"
255
+ | "file"
256
+ | "hier"
257
+ | "information"
258
+
259
+ export type UNSTABLE_PostingRequirementQuestionnaireQuestionBodyToStringify = {
260
+ id: string
261
+ question: string
262
+ type: UNSTABLE_PostingRequirementQuestionnaireType
263
+ is_required: boolean
264
+ answers: { answer: string }[]
265
+ }
266
+
197
267
  export type PostingRequirement = {
198
268
  name: string
199
269
  label: string
@@ -201,6 +271,7 @@ export type PostingRequirement = {
201
271
  display_rules: PostingRequirementDisplayRule | null
202
272
  autocomplete: PostingRequirementAutocomplete | null
203
273
  options: PostingRequirementOption[] | null
274
+ questionnaire: UNSTABLE_PostingRequirementQuestionnaire | null
204
275
  primary_taxonomy?: string | null
205
276
  message?: string | null
206
277
  required: boolean
@@ -272,6 +343,7 @@ export type FormFacetsFieldType =
272
343
  | "date"
273
344
  | "heading"
274
345
  | "file-upload"
346
+ | "questionnaire"
275
347
  | "unknown"
276
348
 
277
349
  // keep this for backwards compatability
@@ -1,7 +1,4 @@
1
- export enum ExperimentalModalKeys {
2
- contractPostingRequirementsSmartFillSuccess = "__experimental-contract-posting-requirements-smart-fill-success",
3
- campaignVacancyFieldsSmartFillSuccess = "__experimental-campaign-vacancy-fields-smart-fill-success",
4
- }
1
+ export enum ExperimentalModalKeys {}
5
2
 
6
3
  export enum ExperimentalFilePickerModalPropsActionFor {
7
4
  productPostingRequirements = "product-posting-requirements",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "private": false,
3
3
  "name": "@vonq/hapi-elements-types",
4
- "version": "1.39.0",
4
+ "version": "1.41.0",
5
5
  "description": "This package contains Typescript definitions for HAPI Elements",
6
6
  "author": "VONQ HAPI Team",
7
7
  "license": "BSD-3-Clause",