@inploi/plugin-job-search 1.1.0 → 1.2.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.
@@ -1,6 +1,7 @@
1
1
  import { ApiClient, Logger } from '@inploi/sdk';
2
2
  import { SWRResponse } from 'swr';
3
3
  import { Input, Output } from 'valibot';
4
+ import { GeoBounds } from './components/geo-search';
4
5
  import { JobSearchState } from './components/job-search';
5
6
  import { TFunction } from './lib/i18n';
6
7
 
@@ -19,7 +20,7 @@ declare const getJobSearchResponseSchema: (t: import('@inploi/i18n/translation')
19
20
  readonly clear: "Clear";
20
21
  readonly selected: "selected";
21
22
  readonly done: "Done";
22
- readonly skip: "Skip";
23
+ readonly close: "Close";
23
24
  readonly new: "NEW";
24
25
  readonly posted: "Posted";
25
26
  readonly retry: "Retry";
@@ -51,6 +52,12 @@ declare const getJobSearchResponseSchema: (t: import('@inploi/i18n/translation')
51
52
  readonly geo_range_label: "Within";
52
53
  readonly geo_suggestions_error: "Could not get the suggested locations.";
53
54
  readonly feedback: "How was your search experience?";
55
+ readonly list: "List";
56
+ readonly map: "Map";
57
+ readonly loading_jobs: "Loading jobs…";
58
+ readonly map_jobs_error: "We’re having trouble loading jobs in the area";
59
+ readonly map_has_more_title: "Not showing all the jobs in this area";
60
+ readonly map_has_more_description: "Zoom in to refine your search further";
54
61
  }>) => import('valibot').SchemaWithTransform<import('valibot').ObjectSchema<{
55
62
  data: import('valibot').ArraySchema<import('valibot').SchemaWithTransform<import('valibot').ObjectSchema<{
56
63
  id: import('valibot').NumberSchema<number>;
@@ -82,6 +89,19 @@ declare const getJobSearchResponseSchema: (t: import('@inploi/i18n/translation')
82
89
  city: import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>;
83
90
  country: import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>;
84
91
  vector_distance: import('valibot').OptionalSchema<import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>, undefined, string | null | undefined>;
92
+ coordinates: import('valibot').OptionalSchema<import('valibot').NullableSchema<import('valibot').ObjectSchema<{
93
+ lat: import('valibot').NumberSchema<number>;
94
+ lng: import('valibot').NumberSchema<number>;
95
+ }, undefined, {
96
+ lat: number;
97
+ lng: number;
98
+ }>, undefined, {
99
+ lat: number;
100
+ lng: number;
101
+ } | null>, undefined, {
102
+ lat: number;
103
+ lng: number;
104
+ } | null | undefined>;
85
105
  }, undefined, {
86
106
  id: number;
87
107
  company_name: string;
@@ -110,6 +130,10 @@ declare const getJobSearchResponseSchema: (t: import('@inploi/i18n/translation')
110
130
  skills?: string | undefined;
111
131
  town?: string | undefined;
112
132
  vector_distance?: string | null | undefined;
133
+ coordinates?: {
134
+ lat: number;
135
+ lng: number;
136
+ } | null | undefined;
113
137
  }>, {
114
138
  id: number;
115
139
  createdAt: string | null;
@@ -156,6 +180,10 @@ declare const getJobSearchResponseSchema: (t: import('@inploi/i18n/translation')
156
180
  skills?: string | undefined;
157
181
  town?: string | undefined;
158
182
  vector_distance?: string | null | undefined;
183
+ coordinates?: {
184
+ lat: number;
185
+ lng: number;
186
+ } | null | undefined;
159
187
  };
160
188
  match: string | null;
161
189
  }>, {
@@ -204,6 +232,10 @@ declare const getJobSearchResponseSchema: (t: import('@inploi/i18n/translation')
204
232
  skills?: string | undefined;
205
233
  town?: string | undefined;
206
234
  vector_distance?: string | null | undefined;
235
+ coordinates?: {
236
+ lat: number;
237
+ lng: number;
238
+ } | null | undefined;
207
239
  };
208
240
  match: string | null;
209
241
  }[]>;
@@ -265,6 +297,10 @@ declare const getJobSearchResponseSchema: (t: import('@inploi/i18n/translation')
265
297
  skills?: string | undefined;
266
298
  town?: string | undefined;
267
299
  vector_distance?: string | null | undefined;
300
+ coordinates?: {
301
+ lat: number;
302
+ lng: number;
303
+ } | null | undefined;
268
304
  };
269
305
  match: string | null;
270
306
  }[];
@@ -327,6 +363,10 @@ declare const getJobSearchResponseSchema: (t: import('@inploi/i18n/translation')
327
363
  skills?: string | undefined;
328
364
  town?: string | undefined;
329
365
  vector_distance?: string | null | undefined;
366
+ coordinates?: {
367
+ lat: number;
368
+ lng: number;
369
+ } | null | undefined;
330
370
  };
331
371
  match: string | null;
332
372
  }[];
@@ -339,7 +379,7 @@ type GeoSearchApiParams = {
339
379
  lng?: number;
340
380
  radius?: number;
341
381
  type?: 'provided' | 'ip';
342
- };
382
+ } | GeoBounds;
343
383
  export declare const filtersToPayload: (state: JobSearchState) => Record<string, string | string[] | GeoSearchApiParams | null | undefined>;
344
384
  export declare const getAvailableFilters: ({ apiClient, state, logger, signal, }: {
345
385
  apiClient: ApiClient;
@@ -414,11 +454,436 @@ export declare const getJobSearchResults: ({ apiClient, logger, signal, state, p
414
454
  skills?: string | undefined;
415
455
  town?: string | undefined;
416
456
  vector_distance?: string | null | undefined;
457
+ coordinates?: {
458
+ lat: number;
459
+ lng: number;
460
+ } | null | undefined;
417
461
  };
418
462
  match: string | null;
419
463
  }[];
420
464
  }>;
421
465
  export type GetJobSearchResponse = Awaited<ReturnType<typeof getJobSearchResults>>;
466
+ declare const getJobSearchMapSchema: (t: import('@inploi/i18n/translation').TFn<{
467
+ readonly type_to_search_jobs: "Type to search jobs";
468
+ readonly type_to_search: "Type to search";
469
+ readonly jobs_found: {
470
+ readonly one: "{{count}} job found";
471
+ readonly other: "{{count}} jobs found";
472
+ };
473
+ readonly no_jobs_found: "No jobs found";
474
+ readonly no_jobs_found_description: "We could not find any jobs matching your filtering criteria.";
475
+ readonly jobs_loading_error: "We’re having trouble loading available jobs.";
476
+ readonly filters_loading_error: "We’re having trouble loading available filters.";
477
+ readonly no_filter_options_available: "No filter options available.";
478
+ readonly clear: "Clear";
479
+ readonly selected: "selected";
480
+ readonly done: "Done";
481
+ readonly close: "Close";
482
+ readonly new: "NEW";
483
+ readonly posted: "Posted";
484
+ readonly retry: "Retry";
485
+ readonly widget_unavailable: "Sorry, this widget is unavailable at the moment.";
486
+ readonly load_more_count: "Load {{count}} more";
487
+ readonly of_remaining_count: "of {{count}} remaining";
488
+ readonly today: "today";
489
+ readonly over_30_days_ago: "over 30 days ago";
490
+ readonly in_over_30_days: "in over 30 days";
491
+ readonly up_to: "Up to";
492
+ readonly from: "From";
493
+ readonly invalid_salary: "Invalid salary";
494
+ readonly competitive: "Competitive";
495
+ readonly natural_language_input: "Type anything";
496
+ readonly great_match: "Great match";
497
+ readonly advanced_mode: "Filters";
498
+ readonly simple_mode: "Hide filters";
499
+ readonly ai_disclaimer: "Results may not be perfect. AI-powered search can occasionally suggest unrelated content.";
500
+ readonly geo_error_timeout: "Timed out. Please type your location manually.";
501
+ readonly geo_error_permission_denied: "Please allow location access to use this feature.";
502
+ readonly geo_error_position_unavailable: "Could not locate you. Please type your location manually.";
503
+ readonly geo_my_location: "My location";
504
+ readonly geo_locating: "Locating you...";
505
+ readonly geo_search_placeholder: "Search for a location";
506
+ readonly geo_clear_search: "Clear location search";
507
+ readonly location_provided: "Provided location";
508
+ readonly search_label: "What";
509
+ readonly geo_label: "Where";
510
+ readonly geo_range_label: "Within";
511
+ readonly geo_suggestions_error: "Could not get the suggested locations.";
512
+ readonly feedback: "How was your search experience?";
513
+ readonly list: "List";
514
+ readonly map: "Map";
515
+ readonly loading_jobs: "Loading jobs…";
516
+ readonly map_jobs_error: "We’re having trouble loading jobs in the area";
517
+ readonly map_has_more_title: "Not showing all the jobs in this area";
518
+ readonly map_has_more_description: "Zoom in to refine your search further";
519
+ }>) => import('valibot').SchemaWithTransform<import('valibot').ObjectSchema<{
520
+ data: import('valibot').ArraySchema<import('valibot').SchemaWithTransform<import('valibot').ObjectSchema<{
521
+ id: import('valibot').NumberSchema<number>;
522
+ company_name: import('valibot').StringSchema<string>;
523
+ company_logo: import('valibot').NullableSchema<import('valibot').OptionalSchema<import('valibot').StringSchema<string>, undefined, string | undefined>, undefined, string | undefined>;
524
+ employment_type: import('valibot').StringSchema<string>;
525
+ location_type: import('valibot').UnionSchema<[import('valibot').LiteralSchema<"LOCATION", "LOCATION">, import('valibot').LiteralSchema<"REMOTE", "REMOTE">, import('valibot').LiteralSchema<"HYBRID", "HYBRID">], "LOCATION" | "REMOTE" | "HYBRID">;
526
+ pay_type: import('valibot').NullableSchema<import('valibot').UnionSchema<[import('valibot').LiteralSchema<"ANNUALLY", "ANNUALLY">, import('valibot').LiteralSchema<"HOURLY", "HOURLY">, import('valibot').LiteralSchema<"MONTHLY", "MONTHLY">, import('valibot').LiteralSchema<"WEEKLY", "WEEKLY">, import('valibot').LiteralSchema<"DAILY", "DAILY">], "ANNUALLY" | "HOURLY" | "MONTHLY" | "WEEKLY" | "DAILY">, undefined, "ANNUALLY" | "HOURLY" | "MONTHLY" | "WEEKLY" | "DAILY" | null>;
527
+ pay_currency: import('valibot').StringSchema<string>;
528
+ pay_mask: import('valibot').BooleanSchema<boolean>;
529
+ pay_display: import('valibot').BooleanSchema<boolean>;
530
+ pay: import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>;
531
+ pay_min: import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>;
532
+ pay_max: import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>;
533
+ description: import('valibot').StringSchema<string>;
534
+ title: import('valibot').StringSchema<string>;
535
+ contract_type: import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>;
536
+ created_at: import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>;
537
+ custom_data: import('valibot').NullableSchema<import('valibot').RecordSchema<import('valibot').StringSchema<string>, import('valibot').AnySchema<any>, {
538
+ [x: string]: any;
539
+ }>, undefined, {
540
+ [x: string]: any;
541
+ } | null>;
542
+ href: import('valibot').StringSchema<string>;
543
+ industry: import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>;
544
+ category: import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>;
545
+ skills: import('valibot').OptionalSchema<import('valibot').StringSchema<string>, undefined, string | undefined>;
546
+ town: import('valibot').OptionalSchema<import('valibot').StringSchema<string>, undefined, string | undefined>;
547
+ city: import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>;
548
+ country: import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>;
549
+ vector_distance: import('valibot').OptionalSchema<import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>, undefined, string | null | undefined>;
550
+ coordinates: import('valibot').OptionalSchema<import('valibot').NullableSchema<import('valibot').ObjectSchema<{
551
+ lat: import('valibot').NumberSchema<number>;
552
+ lng: import('valibot').NumberSchema<number>;
553
+ }, undefined, {
554
+ lat: number;
555
+ lng: number;
556
+ }>, undefined, {
557
+ lat: number;
558
+ lng: number;
559
+ } | null>, undefined, {
560
+ lat: number;
561
+ lng: number;
562
+ } | null | undefined>;
563
+ }, undefined, {
564
+ id: number;
565
+ company_name: string;
566
+ employment_type: string;
567
+ location_type: "LOCATION" | "REMOTE" | "HYBRID";
568
+ pay_type: "ANNUALLY" | "HOURLY" | "MONTHLY" | "WEEKLY" | "DAILY" | null;
569
+ pay_currency: string;
570
+ pay_mask: boolean;
571
+ pay_display: boolean;
572
+ pay: string | null;
573
+ pay_min: string | null;
574
+ pay_max: string | null;
575
+ description: string;
576
+ title: string;
577
+ contract_type: string | null;
578
+ created_at: string | null;
579
+ custom_data: {
580
+ [x: string]: any;
581
+ } | null;
582
+ href: string;
583
+ industry: string | null;
584
+ category: string | null;
585
+ city: string | null;
586
+ country: string | null;
587
+ company_logo?: string | undefined;
588
+ skills?: string | undefined;
589
+ town?: string | undefined;
590
+ vector_distance?: string | null | undefined;
591
+ coordinates?: {
592
+ lat: number;
593
+ lng: number;
594
+ } | null | undefined;
595
+ }>, {
596
+ id: number;
597
+ createdAt: string | null;
598
+ company: {
599
+ name: string;
600
+ logo: string | null;
601
+ };
602
+ employmentType: string;
603
+ locationType: "LOCATION" | "REMOTE" | "HYBRID";
604
+ pay: string | null;
605
+ description: string;
606
+ title: string;
607
+ contractType: string | null;
608
+ href: string;
609
+ relativePostedDate: string;
610
+ customData: {
611
+ [x: string]: any;
612
+ } | null;
613
+ raw: {
614
+ id: number;
615
+ company_name: string;
616
+ employment_type: string;
617
+ location_type: "LOCATION" | "REMOTE" | "HYBRID";
618
+ pay_type: "ANNUALLY" | "HOURLY" | "MONTHLY" | "WEEKLY" | "DAILY" | null;
619
+ pay_currency: string;
620
+ pay_mask: boolean;
621
+ pay_display: boolean;
622
+ pay: string | null;
623
+ pay_min: string | null;
624
+ pay_max: string | null;
625
+ description: string;
626
+ title: string;
627
+ contract_type: string | null;
628
+ created_at: string | null;
629
+ custom_data: {
630
+ [x: string]: any;
631
+ } | null;
632
+ href: string;
633
+ industry: string | null;
634
+ category: string | null;
635
+ city: string | null;
636
+ country: string | null;
637
+ company_logo?: string | undefined;
638
+ skills?: string | undefined;
639
+ town?: string | undefined;
640
+ vector_distance?: string | null | undefined;
641
+ coordinates?: {
642
+ lat: number;
643
+ lng: number;
644
+ } | null | undefined;
645
+ };
646
+ match: string | null;
647
+ }>, {
648
+ id: number;
649
+ createdAt: string | null;
650
+ company: {
651
+ name: string;
652
+ logo: string | null;
653
+ };
654
+ employmentType: string;
655
+ locationType: "LOCATION" | "REMOTE" | "HYBRID";
656
+ pay: string | null;
657
+ description: string;
658
+ title: string;
659
+ contractType: string | null;
660
+ href: string;
661
+ relativePostedDate: string;
662
+ customData: {
663
+ [x: string]: any;
664
+ } | null;
665
+ raw: {
666
+ id: number;
667
+ company_name: string;
668
+ employment_type: string;
669
+ location_type: "LOCATION" | "REMOTE" | "HYBRID";
670
+ pay_type: "ANNUALLY" | "HOURLY" | "MONTHLY" | "WEEKLY" | "DAILY" | null;
671
+ pay_currency: string;
672
+ pay_mask: boolean;
673
+ pay_display: boolean;
674
+ pay: string | null;
675
+ pay_min: string | null;
676
+ pay_max: string | null;
677
+ description: string;
678
+ title: string;
679
+ contract_type: string | null;
680
+ created_at: string | null;
681
+ custom_data: {
682
+ [x: string]: any;
683
+ } | null;
684
+ href: string;
685
+ industry: string | null;
686
+ category: string | null;
687
+ city: string | null;
688
+ country: string | null;
689
+ company_logo?: string | undefined;
690
+ skills?: string | undefined;
691
+ town?: string | undefined;
692
+ vector_distance?: string | null | undefined;
693
+ coordinates?: {
694
+ lat: number;
695
+ lng: number;
696
+ } | null | undefined;
697
+ };
698
+ match: string | null;
699
+ }[]>;
700
+ pagination: import('valibot').ObjectSchema<{
701
+ has_more: import('valibot').BooleanSchema<boolean>;
702
+ }, undefined, {
703
+ has_more: boolean;
704
+ }>;
705
+ }, undefined, {
706
+ data: {
707
+ id: number;
708
+ createdAt: string | null;
709
+ company: {
710
+ name: string;
711
+ logo: string | null;
712
+ };
713
+ employmentType: string;
714
+ locationType: "LOCATION" | "REMOTE" | "HYBRID";
715
+ pay: string | null;
716
+ description: string;
717
+ title: string;
718
+ contractType: string | null;
719
+ href: string;
720
+ relativePostedDate: string;
721
+ customData: {
722
+ [x: string]: any;
723
+ } | null;
724
+ raw: {
725
+ id: number;
726
+ company_name: string;
727
+ employment_type: string;
728
+ location_type: "LOCATION" | "REMOTE" | "HYBRID";
729
+ pay_type: "ANNUALLY" | "HOURLY" | "MONTHLY" | "WEEKLY" | "DAILY" | null;
730
+ pay_currency: string;
731
+ pay_mask: boolean;
732
+ pay_display: boolean;
733
+ pay: string | null;
734
+ pay_min: string | null;
735
+ pay_max: string | null;
736
+ description: string;
737
+ title: string;
738
+ contract_type: string | null;
739
+ created_at: string | null;
740
+ custom_data: {
741
+ [x: string]: any;
742
+ } | null;
743
+ href: string;
744
+ industry: string | null;
745
+ category: string | null;
746
+ city: string | null;
747
+ country: string | null;
748
+ company_logo?: string | undefined;
749
+ skills?: string | undefined;
750
+ town?: string | undefined;
751
+ vector_distance?: string | null | undefined;
752
+ coordinates?: {
753
+ lat: number;
754
+ lng: number;
755
+ } | null | undefined;
756
+ };
757
+ match: string | null;
758
+ }[];
759
+ pagination: {
760
+ has_more: boolean;
761
+ };
762
+ }>, {
763
+ results: {
764
+ id: number;
765
+ createdAt: string | null;
766
+ company: {
767
+ name: string;
768
+ logo: string | null;
769
+ };
770
+ employmentType: string;
771
+ locationType: "LOCATION" | "REMOTE" | "HYBRID";
772
+ pay: string | null;
773
+ description: string;
774
+ title: string;
775
+ contractType: string | null;
776
+ href: string;
777
+ relativePostedDate: string;
778
+ customData: {
779
+ [x: string]: any;
780
+ } | null;
781
+ raw: {
782
+ id: number;
783
+ company_name: string;
784
+ employment_type: string;
785
+ location_type: "LOCATION" | "REMOTE" | "HYBRID";
786
+ pay_type: "ANNUALLY" | "HOURLY" | "MONTHLY" | "WEEKLY" | "DAILY" | null;
787
+ pay_currency: string;
788
+ pay_mask: boolean;
789
+ pay_display: boolean;
790
+ pay: string | null;
791
+ pay_min: string | null;
792
+ pay_max: string | null;
793
+ description: string;
794
+ title: string;
795
+ contract_type: string | null;
796
+ created_at: string | null;
797
+ custom_data: {
798
+ [x: string]: any;
799
+ } | null;
800
+ href: string;
801
+ industry: string | null;
802
+ category: string | null;
803
+ city: string | null;
804
+ country: string | null;
805
+ company_logo?: string | undefined;
806
+ skills?: string | undefined;
807
+ town?: string | undefined;
808
+ vector_distance?: string | null | undefined;
809
+ coordinates?: {
810
+ lat: number;
811
+ lng: number;
812
+ } | null | undefined;
813
+ };
814
+ match: string | null;
815
+ }[];
816
+ pagination: {
817
+ has_more: boolean;
818
+ };
819
+ }>;
820
+ export type JobSearchMapPayloadInput = Input<ReturnType<typeof getJobSearchMapSchema>>;
821
+ export type JobSearchMapPayloadOutput = Output<ReturnType<typeof getJobSearchMapSchema>>;
822
+ export declare const getJobSearchMapResults: ({ apiClient, logger, signal, state, t, }: {
823
+ apiClient: ApiClient;
824
+ logger: Logger;
825
+ signal?: AbortSignal;
826
+ state: JobSearchState;
827
+ t: TFunction;
828
+ }) => Promise<{
829
+ results: {
830
+ id: number;
831
+ createdAt: string | null;
832
+ company: {
833
+ name: string;
834
+ logo: string | null;
835
+ };
836
+ employmentType: string;
837
+ locationType: "LOCATION" | "REMOTE" | "HYBRID";
838
+ pay: string | null;
839
+ description: string;
840
+ title: string;
841
+ contractType: string | null;
842
+ href: string;
843
+ relativePostedDate: string;
844
+ customData: {
845
+ [x: string]: any;
846
+ } | null;
847
+ raw: {
848
+ id: number;
849
+ company_name: string;
850
+ employment_type: string;
851
+ location_type: "LOCATION" | "REMOTE" | "HYBRID";
852
+ pay_type: "ANNUALLY" | "HOURLY" | "MONTHLY" | "WEEKLY" | "DAILY" | null;
853
+ pay_currency: string;
854
+ pay_mask: boolean;
855
+ pay_display: boolean;
856
+ pay: string | null;
857
+ pay_min: string | null;
858
+ pay_max: string | null;
859
+ description: string;
860
+ title: string;
861
+ contract_type: string | null;
862
+ created_at: string | null;
863
+ custom_data: {
864
+ [x: string]: any;
865
+ } | null;
866
+ href: string;
867
+ industry: string | null;
868
+ category: string | null;
869
+ city: string | null;
870
+ country: string | null;
871
+ company_logo?: string | undefined;
872
+ skills?: string | undefined;
873
+ town?: string | undefined;
874
+ vector_distance?: string | null | undefined;
875
+ coordinates?: {
876
+ lat: number;
877
+ lng: number;
878
+ } | null | undefined;
879
+ };
880
+ match: string | null;
881
+ }[];
882
+ pagination: {
883
+ has_more: boolean;
884
+ };
885
+ }>;
886
+ export type GetJobSearchMapResponse = Awaited<ReturnType<typeof getJobSearchMapResults>>;
422
887
  export type QueryState<T> = {
423
888
  queryState: 'idle';
424
889
  data?: never;
@@ -168,6 +168,13 @@ export type JobSearchPluginParams = {
168
168
  theme: Partial<FeedbackPluginParams['theme']>;
169
169
  };
170
170
  };
171
+ map?: {
172
+ enabled: boolean;
173
+ accessToken?: string;
174
+ style?: string;
175
+ pinColor?: string;
176
+ defaultCenter?: [number, number];
177
+ };
171
178
  };
172
179
  export interface PrerenderJobSearchPluginParams extends JobSearchPluginParams {
173
180
  /** If true, the data needed to display the first page of results
@@ -220,7 +227,7 @@ export declare const jobSearchPlugin: () => ({ apiClient, logger, analytics }: {
220
227
  pay: string | null;
221
228
  description: string;
222
229
  title: string;
223
- contractType: string | null; /** The **default** value for the filter. Can be removed or changed, but defaults to it during initial load. */
230
+ contractType: string | null;
224
231
  href: string;
225
232
  relativePostedDate: string;
226
233
  customData: {
@@ -254,6 +261,10 @@ export declare const jobSearchPlugin: () => ({ apiClient, logger, analytics }: {
254
261
  skills?: string | undefined;
255
262
  town?: string | undefined;
256
263
  vector_distance?: string | null | undefined;
264
+ coordinates?: {
265
+ lat: number;
266
+ lng: number;
267
+ } | null | undefined;
257
268
  };
258
269
  match: string | null;
259
270
  }[];
@@ -63,6 +63,19 @@ export declare const JobPayloadSchema: import('valibot').ObjectSchema<{
63
63
  city: import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>;
64
64
  country: import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>;
65
65
  vector_distance: import('valibot').OptionalSchema<import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>, undefined, string | null | undefined>;
66
+ coordinates: import('valibot').OptionalSchema<import('valibot').NullableSchema<import('valibot').ObjectSchema<{
67
+ lat: import('valibot').NumberSchema<number>;
68
+ lng: import('valibot').NumberSchema<number>;
69
+ }, undefined, {
70
+ lat: number;
71
+ lng: number;
72
+ }>, undefined, {
73
+ lat: number;
74
+ lng: number;
75
+ } | null>, undefined, {
76
+ lat: number;
77
+ lng: number;
78
+ } | null | undefined>;
66
79
  }, undefined, {
67
80
  id: number;
68
81
  company_name: string;
@@ -91,6 +104,10 @@ export declare const JobPayloadSchema: import('valibot').ObjectSchema<{
91
104
  skills?: string | undefined;
92
105
  town?: string | undefined;
93
106
  vector_distance?: string | null | undefined;
107
+ coordinates?: {
108
+ lat: number;
109
+ lng: number;
110
+ } | null | undefined;
94
111
  }>;
95
112
  export type JobPayloadSchema = Output<typeof JobPayloadSchema>;
96
113
  export declare const getJobSchema: (t: import('@inploi/i18n/translation').TFn<{
@@ -108,7 +125,7 @@ export declare const getJobSchema: (t: import('@inploi/i18n/translation').TFn<{
108
125
  readonly clear: "Clear";
109
126
  readonly selected: "selected";
110
127
  readonly done: "Done";
111
- readonly skip: "Skip";
128
+ readonly close: "Close";
112
129
  readonly new: "NEW";
113
130
  readonly posted: "Posted";
114
131
  readonly retry: "Retry";
@@ -140,6 +157,12 @@ export declare const getJobSchema: (t: import('@inploi/i18n/translation').TFn<{
140
157
  readonly geo_range_label: "Within";
141
158
  readonly geo_suggestions_error: "Could not get the suggested locations.";
142
159
  readonly feedback: "How was your search experience?";
160
+ readonly list: "List";
161
+ readonly map: "Map";
162
+ readonly loading_jobs: "Loading jobs…";
163
+ readonly map_jobs_error: "We’re having trouble loading jobs in the area";
164
+ readonly map_has_more_title: "Not showing all the jobs in this area";
165
+ readonly map_has_more_description: "Zoom in to refine your search further";
143
166
  }>) => import('valibot').SchemaWithTransform<import('valibot').ObjectSchema<{
144
167
  id: import('valibot').NumberSchema<number>;
145
168
  company_name: import('valibot').StringSchema<string>;
@@ -170,6 +193,19 @@ export declare const getJobSchema: (t: import('@inploi/i18n/translation').TFn<{
170
193
  city: import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>;
171
194
  country: import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>;
172
195
  vector_distance: import('valibot').OptionalSchema<import('valibot').NullableSchema<import('valibot').StringSchema<string>, undefined, string | null>, undefined, string | null | undefined>;
196
+ coordinates: import('valibot').OptionalSchema<import('valibot').NullableSchema<import('valibot').ObjectSchema<{
197
+ lat: import('valibot').NumberSchema<number>;
198
+ lng: import('valibot').NumberSchema<number>;
199
+ }, undefined, {
200
+ lat: number;
201
+ lng: number;
202
+ }>, undefined, {
203
+ lat: number;
204
+ lng: number;
205
+ } | null>, undefined, {
206
+ lat: number;
207
+ lng: number;
208
+ } | null | undefined>;
173
209
  }, undefined, {
174
210
  id: number;
175
211
  company_name: string;
@@ -198,6 +234,10 @@ export declare const getJobSchema: (t: import('@inploi/i18n/translation').TFn<{
198
234
  skills?: string | undefined;
199
235
  town?: string | undefined;
200
236
  vector_distance?: string | null | undefined;
237
+ coordinates?: {
238
+ lat: number;
239
+ lng: number;
240
+ } | null | undefined;
201
241
  }>, {
202
242
  id: number;
203
243
  createdAt: string | null;
@@ -244,6 +284,10 @@ export declare const getJobSchema: (t: import('@inploi/i18n/translation').TFn<{
244
284
  skills?: string | undefined;
245
285
  town?: string | undefined;
246
286
  vector_distance?: string | null | undefined;
287
+ coordinates?: {
288
+ lat: number;
289
+ lng: number;
290
+ } | null | undefined;
247
291
  };
248
292
  match: string | null;
249
293
  }>;