@abcagency/hc-ui-components 1.7.1 → 1.7.3

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 (109) hide show
  1. package/dist/_virtual/_rollupPluginBabelHelpers.js +306 -130
  2. package/dist/_virtual/_rollupPluginBabelHelpers.js.map +1 -1
  3. package/dist/apis/hcApi.js.map +1 -1
  4. package/dist/clientToken.js.map +1 -1
  5. package/dist/components/HireControlMap.js +39 -43
  6. package/dist/components/HireControlMap.js.map +1 -1
  7. package/dist/components/containers/accordions/filter-container.js.map +1 -1
  8. package/dist/components/containers/accordions/filter-item-container.js.map +1 -1
  9. package/dist/components/containers/accordions/map-accordion-item-container.js.map +1 -1
  10. package/dist/components/containers/filter/commute-container.js +22 -21
  11. package/dist/components/containers/filter/commute-container.js.map +1 -1
  12. package/dist/components/containers/filter/filter-container.js.map +1 -1
  13. package/dist/components/containers/filter/filter-item-container.js.map +1 -1
  14. package/dist/components/containers/filter/location-container.js.map +1 -1
  15. package/dist/components/containers/filter/points-of-interest-container.js.map +1 -1
  16. package/dist/components/containers/filter/points-of-interest-radio-item-container.js.map +1 -1
  17. package/dist/components/containers/filter/search-container.js.map +1 -1
  18. package/dist/components/containers/jobListing/listing-details-container.js.map +1 -1
  19. package/dist/components/containers/list/item-list-container.js.map +1 -1
  20. package/dist/components/containers/list/list-item/list-item-container.js.map +1 -1
  21. package/dist/components/containers/maps/info-window-content-container.js.map +1 -1
  22. package/dist/components/containers/maps/map-container.js +1 -1
  23. package/dist/components/containers/maps/map-container.js.map +1 -1
  24. package/dist/components/containers/maps/map-list-container.js.map +1 -1
  25. package/dist/components/containers/maps/map-marker-container.js.map +1 -1
  26. package/dist/components/modules/accordions/MapAccordionItem.js.map +1 -1
  27. package/dist/components/modules/accordions/default.js.map +1 -1
  28. package/dist/components/modules/accordions/filterItem.js.map +1 -1
  29. package/dist/components/modules/accordions/filters.js.map +1 -1
  30. package/dist/components/modules/buttons/button-group-apply.js.map +1 -1
  31. package/dist/components/modules/buttons/default.js.map +1 -1
  32. package/dist/components/modules/buttons/items-pill.js.map +1 -1
  33. package/dist/components/modules/buttons/pill-wrapper.js.map +1 -1
  34. package/dist/components/modules/buttons/show-all-button.js.map +1 -1
  35. package/dist/components/modules/cards/default.js.map +1 -1
  36. package/dist/components/modules/cards/filter.js.map +1 -1
  37. package/dist/components/modules/dialogs/apply-dialog.js.map +1 -1
  38. package/dist/components/modules/filter/commute.js.map +1 -1
  39. package/dist/components/modules/filter/index.js.map +1 -1
  40. package/dist/components/modules/filter/item.js.map +1 -1
  41. package/dist/components/modules/filter/location.js.map +1 -1
  42. package/dist/components/modules/filter/radio-item.js.map +1 -1
  43. package/dist/components/modules/filter/search.js.map +1 -1
  44. package/dist/components/modules/filter/sort.js.map +1 -1
  45. package/dist/components/modules/grid.js.map +1 -1
  46. package/dist/components/modules/icon.js.map +1 -1
  47. package/dist/components/modules/jobListing/listing-details.js.map +1 -1
  48. package/dist/components/modules/list/field-mapper-desktop.js.map +1 -1
  49. package/dist/components/modules/list/field-mapper-mobile.js.map +1 -1
  50. package/dist/components/modules/list/header-item.js.map +1 -1
  51. package/dist/components/modules/list/header.js.map +1 -1
  52. package/dist/components/modules/list/item-expand-card/index.js.map +1 -1
  53. package/dist/components/modules/list/item-list.js.map +1 -1
  54. package/dist/components/modules/list/list-item/list-item.js.map +1 -1
  55. package/dist/components/modules/maps/info-window-card.js.map +1 -1
  56. package/dist/components/modules/maps/info-window-content.js.map +1 -1
  57. package/dist/components/modules/maps/map-list.js.map +1 -1
  58. package/dist/components/modules/maps/map-marker.js.map +1 -1
  59. package/dist/components/modules/maps/map.js +8 -3
  60. package/dist/components/modules/maps/map.js.map +1 -1
  61. package/dist/components/modules/maps/place-marker.js.map +1 -1
  62. package/dist/components/modules/maps/tabs.js.map +1 -1
  63. package/dist/components/modules/skeleton/map-skeleton.js +14 -161
  64. package/dist/components/modules/skeleton/map-skeleton.js.map +1 -1
  65. package/dist/constants/eventTypes.js.map +1 -1
  66. package/dist/constants/placeTypes.js.map +1 -1
  67. package/dist/contexts/mapContext.js +1 -1
  68. package/dist/contexts/mapContext.js.map +1 -1
  69. package/dist/contexts/mapListContext.js +1 -1
  70. package/dist/contexts/mapListContext.js.map +1 -1
  71. package/dist/contexts/placesContext.js +21 -20
  72. package/dist/contexts/placesContext.js.map +1 -1
  73. package/dist/contexts/themeContext.js.map +1 -1
  74. package/dist/contexts/trackEventContext.js +1 -1
  75. package/dist/contexts/trackEventContext.js.map +1 -1
  76. package/dist/hooks/useList.js.map +1 -1
  77. package/dist/node_modules/@algolia/client-common/dist/common.js +6 -3
  78. package/dist/node_modules/@algolia/client-common/dist/common.js.map +1 -1
  79. package/dist/node_modules/@algolia/requester-browser-xhr/dist/requester.xhr.js +1 -1
  80. package/dist/node_modules/@algolia/requester-browser-xhr/dist/requester.xhr.js.map +1 -1
  81. package/dist/node_modules/algoliasearch/dist/lite/builds/browser.js +2 -2
  82. package/dist/node_modules/algoliasearch/dist/lite/builds/browser.js.map +1 -1
  83. package/dist/node_modules/fuse.js/dist/fuse.js +20 -29
  84. package/dist/node_modules/fuse.js/dist/fuse.js.map +1 -1
  85. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +162 -124
  86. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
  87. package/dist/services/configService.js.map +1 -1
  88. package/dist/services/googlePlacesNearbyService.js.map +1 -1
  89. package/dist/services/listingAggregatorService.js.map +1 -1
  90. package/dist/services/listingEntityService.js.map +1 -1
  91. package/dist/services/listingService.js.map +1 -1
  92. package/dist/styles/index.css +1 -1
  93. package/dist/util/algoliaSearchUtil.js +42 -38
  94. package/dist/util/algoliaSearchUtil.js.map +1 -1
  95. package/dist/util/filterUtil.js +52 -48
  96. package/dist/util/filterUtil.js.map +1 -1
  97. package/dist/util/loading.js.map +1 -1
  98. package/dist/util/localStorageUtil.js.map +1 -1
  99. package/dist/util/mapIconUtil.js.map +1 -1
  100. package/dist/util/mapUtil.js.map +1 -1
  101. package/dist/util/sortUtil.js.map +1 -1
  102. package/dist/util/stringUtils.js.map +1 -1
  103. package/dist/util/twMerge.js.map +1 -1
  104. package/dist/util/urlFilterUtil.js +1 -1
  105. package/dist/util/urlFilterUtil.js.map +1 -1
  106. package/package.json +1 -1
  107. package/src/components/HireControlMap.js +13 -18
  108. package/src/components/modules/maps/map.js +10 -5
  109. package/src/components/modules/skeleton/map-skeleton.js +20 -130
@@ -2,8 +2,8 @@ import React from 'react';
2
2
  import Grid from '~/components/modules/grid';
3
3
 
4
4
  /**
5
- * Skeleton component that renders the map interface structure immediately
6
- * This provides the layout and size before data/maps are loaded
5
+ * Simple skeleton component that renders the basic structure
6
+ * Shows placeholder boxes for filters, list, and map
7
7
  */
8
8
  const MapSkeleton = ({
9
9
  hideFilters = false,
@@ -21,141 +21,31 @@ const MapSkeleton = ({
21
21
  columns={hideFilters ? 'hc-grid-cols-1' : 'md:hc-grid-cols-[1fr_2.5fr] lg:hc-grid-cols-[1fr_3.5fr]'}
22
22
  gap='hc-gap-0'
23
23
  autoRows={false}
24
- className={'hc-items-stretch hc-divide-x hc-divide-gray-200'}
24
+ className={'hc-items-stretch hc-divide-x hc-divide-uiAccent/20'}
25
25
  >
26
+ {/* Filter Column */}
26
27
  {!hideFilters && (
27
- <Grid.Item className='hc-bg-gray-100'>
28
- <FilterSkeleton />
29
- </Grid.Item>
28
+ <Grid.Item className='hc-bg-gray-50 hc-animate-pulse hc-hidden md:hc-block' />
30
29
  )}
31
- <Grid.Item className='hc-bg-white'>
32
- <MapListSkeleton showMap={showMap} isMapOnTop={isMapOnTop} />
30
+
31
+ {/* Main Content Area */}
32
+ <Grid.Item>
33
+ {showMap ? (
34
+ <div className={`hc-h-full hc-flex ${isMapOnTop ? 'hc-flex-col' : 'hc-flex-col md:hc-flex-row'}`}>
35
+ {/* List Box */}
36
+ <div className={`hc-flex-1 hc-bg-white hc-animate-pulse ${isMapOnTop ? 'hc-order-2' : 'hc-order-2 md:hc-order-1'}`} />
37
+
38
+ {/* Map Box */}
39
+ <div className={`hc-flex-1 hc-bg-gray-100 hc-animate-pulse ${isMapOnTop ? 'hc-order-1' : 'hc-order-1 md:hc-order-2'}`} style={{ minHeight: '300px' }} />
40
+ </div>
41
+ ) : (
42
+ /* Just List Box */
43
+ <div className="hc-h-full hc-bg-white hc-animate-pulse" />
44
+ )}
33
45
  </Grid.Item>
34
46
  </Grid>
35
47
  </div>
36
48
  );
37
49
  };
38
50
 
39
- /**
40
- * Skeleton for the filter section
41
- */
42
- const FilterSkeleton = () => {
43
- return (
44
- <div className="hc-p-4 hc-space-y-4 hc-h-full hc-hidden md:hc-block hc-overflow-auto">
45
- {/* Search input skeleton */}
46
- <div className="hc-h-10 hc-bg-gray-200 hc-rounded-md hc-animate-pulse" />
47
-
48
- {/* Commute filter skeleton */}
49
- <div className="hc-h-10 hc-bg-gray-200 hc-rounded-md hc-animate-pulse hc-mb-4" />
50
-
51
- {/* Filter sections skeleton */}
52
- {[1, 2, 3, 4, 5].map((i) => (
53
- <div key={i} className="hc-space-y-2 hc-pb-3 hc-border-b hc-border-gray-200 last:hc-border-0">
54
- <div className="hc-h-8 hc-bg-gray-300 hc-rounded hc-animate-pulse" style={{ width: '60%' }} />
55
- <div className="hc-space-y-1.5 hc-pl-2 hc-pt-1">
56
- <div className="hc-h-5 hc-bg-gray-200 hc-rounded hc-animate-pulse" style={{ width: '90%' }} />
57
- <div className="hc-h-5 hc-bg-gray-200 hc-rounded hc-animate-pulse" style={{ width: '85%' }} />
58
- <div className="hc-h-5 hc-bg-gray-200 hc-rounded hc-animate-pulse" style={{ width: '75%' }} />
59
- {i <= 2 && <div className="hc-h-5 hc-bg-gray-200 hc-rounded hc-animate-pulse" style={{ width: '80%' }} />}
60
- </div>
61
- </div>
62
- ))}
63
- </div>
64
- );
65
- };
66
-
67
- /**
68
- * Skeleton for the map and list section
69
- */
70
- const MapListSkeleton = ({ showMap, isMapOnTop }) => {
71
- if (!showMap) {
72
- // List only view
73
- return (
74
- <div className="hc-h-full hc-flex hc-flex-col">
75
- <ListSkeleton />
76
- </div>
77
- );
78
- }
79
-
80
- // Map + List view
81
- return (
82
- <div className={`hc-h-full hc-flex ${isMapOnTop ? 'hc-flex-col' : 'hc-flex-col md:hc-flex-row'}`}>
83
- {isMapOnTop ? (
84
- <>
85
- <div className="hc-flex-1 hc-bg-gray-100 hc-animate-pulse" style={{ minHeight: '300px' }}>
86
- <div className="hc-h-full hc-flex hc-items-center hc-justify-center">
87
- <div className="hc-text-gray-400">
88
- <svg className="hc-w-12 hc-h-12" fill="none" stroke="currentColor" viewBox="0 0 24 24">
89
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 20l-5.447-2.724A1 1 0 013 16.382V5.618a1 1 0 011.447-.894L9 7m0 13l6-3m-6 3V7m6 10l4.553 2.276A1 1 0 0021 18.382V7.618a1 1 0 00-.553-.894L15 4m0 13V4m0 0L9 7" />
90
- </svg>
91
- </div>
92
- </div>
93
- </div>
94
- <div className="hc-flex-1">
95
- <ListSkeleton />
96
- </div>
97
- </>
98
- ) : (
99
- <>
100
- <div className="hc-flex-1 hc-order-2 md:hc-order-1">
101
- <ListSkeleton />
102
- </div>
103
- <div className="hc-flex-1 hc-bg-gray-100 hc-animate-pulse hc-order-1 md:hc-order-2" style={{ minHeight: '300px' }}>
104
- <div className="hc-h-full hc-flex hc-items-center hc-justify-center">
105
- <div className="hc-text-gray-400">
106
- <svg className="hc-w-12 hc-h-12" fill="none" stroke="currentColor" viewBox="0 0 24 24">
107
- <path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M9 20l-5.447-2.724A1 1 0 013 16.382V5.618a1 1 0 011.447-.894L9 7m0 13l6-3m-6 3V7m6 10l4.553 2.276A1 1 0 0021 18.382V7.618a1 1 0 00-.553-.894L15 4m0 13V4m0 0L9 7" />
108
- </svg>
109
- </div>
110
- </div>
111
- </div>
112
- </>
113
- )}
114
- </div>
115
- );
116
- };
117
-
118
- /**
119
- * Skeleton for the list section
120
- */
121
- const ListSkeleton = () => {
122
- return (
123
- <div className="hc-h-full hc-flex hc-flex-col hc-bg-white">
124
- {/* Header with sort */}
125
- <div className="hc-p-4 hc-border-b hc-border-gray-200 hc-bg-gray-50/50">
126
- <div className="hc-flex hc-items-center hc-justify-between hc-gap-4">
127
- <div className="hc-h-5 hc-w-32 hc-bg-gray-200 hc-rounded hc-animate-pulse" />
128
- <div className="hc-h-9 hc-w-48 hc-bg-gray-200 hc-rounded hc-animate-pulse" />
129
- </div>
130
- </div>
131
-
132
- {/* List items */}
133
- <div className="hc-flex-1 hc-overflow-auto hc-p-3 md:hc-p-4 hc-space-y-2">
134
- {[1, 2, 3, 4, 5, 6, 7, 8].map((i) => (
135
- <div key={i} className="hc-border hc-border-gray-200 hc-rounded-lg hc-p-4 hc-space-y-3 hc-bg-white">
136
- {/* Title and company */}
137
- <div className="hc-space-y-2">
138
- <div className="hc-h-6 hc-bg-gray-300 hc-rounded hc-animate-pulse" style={{ width: `${70 + (i % 3) * 10}%` }} />
139
- <div className="hc-h-4 hc-bg-gray-200 hc-rounded hc-animate-pulse" style={{ width: `${45 + (i % 4) * 8}%` }} />
140
- </div>
141
-
142
- {/* Tags/badges */}
143
- <div className="hc-flex hc-gap-2 hc-flex-wrap">
144
- <div className="hc-h-6 hc-w-20 hc-bg-gray-200 hc-rounded-full hc-animate-pulse" />
145
- <div className="hc-h-6 hc-w-24 hc-bg-gray-200 hc-rounded-full hc-animate-pulse" />
146
- {i % 2 === 0 && <div className="hc-h-6 hc-w-16 hc-bg-gray-200 hc-rounded-full hc-animate-pulse" />}
147
- </div>
148
-
149
- {/* Additional info */}
150
- <div className="hc-flex hc-gap-3 hc-items-center">
151
- <div className="hc-h-4 hc-w-24 hc-bg-gray-200 hc-rounded hc-animate-pulse" />
152
- <div className="hc-h-4 hc-w-28 hc-bg-gray-200 hc-rounded hc-animate-pulse" />
153
- </div>
154
- </div>
155
- ))}
156
- </div>
157
- </div>
158
- );
159
- };
160
-
161
51
  export default MapSkeleton;