@salesforce/webapp-template-app-react-sample-b2x-experimental 1.75.0 → 1.75.1
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.
- package/dist/CHANGELOG.md +8 -0
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/package.json +4 -4
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/api/propertyListingGraphQL.ts +1 -1
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/components/PropertyListingCard.tsx +2 -2
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/components/PropertyMap.tsx +1 -3
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/features/global-search/components/detail/DetailForm.tsx +1 -1
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/features/global-search/components/search/GlobalSearchInput.tsx +1 -1
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/features/global-search/components/search/SearchResultCard.tsx +1 -1
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/features/global-search/pages/DetailPage.tsx +1 -1
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/features/global-search/pages/GlobalSearch.tsx +1 -1
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/hooks/usePropertyAddresses.ts +1 -1
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/hooks/usePropertyListingSearch.ts +1 -1
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/hooks/usePropertyMapMarkers.ts +1 -1
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/hooks/usePropertyPrimaryImages.ts +1 -1
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/pages/PropertySearch.tsx +2 -2
- package/dist/package.json +1 -1
- package/package.json +1 -1
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/features/global-search/api/index.ts +0 -19
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/features/global-search/components/detail/formatted/index.ts +0 -6
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/features/global-search/hooks/index.ts +0 -22
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/features/global-search/types/index.ts +0 -5
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/features/global-search/utils/index.ts +0 -59
- package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/index.ts +0 -10
- /package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/{constants.ts → features/global-search/constants.ts} +0 -0
package/dist/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.75.1](https://github.com/salesforce-experience-platform-emu/webapps/compare/v1.75.0...v1.75.1) (2026-03-05)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @salesforce/webapp-template-base-sfdx-project-experimental
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
# [1.75.0](https://github.com/salesforce-experience-platform-emu/webapps/compare/v1.74.0...v1.75.0) (2026-03-05)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @salesforce/webapp-template-base-sfdx-project-experimental
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
"graphql:schema": "node scripts/get-graphql-schema.mjs"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@salesforce/sdk-data": "^1.75.
|
|
19
|
-
"@salesforce/webapp-experimental": "^1.75.
|
|
18
|
+
"@salesforce/sdk-data": "^1.75.1",
|
|
19
|
+
"@salesforce/webapp-experimental": "^1.75.1",
|
|
20
20
|
"@tailwindcss/vite": "^4.1.17",
|
|
21
21
|
"@tanstack/react-form": "^1.28.4",
|
|
22
22
|
"@types/leaflet": "^1.9.21",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"react-leaflet": "^5.0.0",
|
|
31
31
|
"react-router": "^7.10.1",
|
|
32
32
|
"shadcn": "^3.8.5",
|
|
33
|
-
"tailwind-merge": "^3.
|
|
33
|
+
"tailwind-merge": "^3.5.0",
|
|
34
34
|
"tailwindcss": "^4.1.17",
|
|
35
35
|
"tw-animate-css": "^1.4.0",
|
|
36
36
|
"zod": "^4.3.6"
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"@graphql-eslint/eslint-plugin": "^4.1.0",
|
|
44
44
|
"@graphql-tools/utils": "^11.0.0",
|
|
45
45
|
"@playwright/test": "^1.49.0",
|
|
46
|
-
"@salesforce/vite-plugin-webapp-experimental": "^1.75.
|
|
46
|
+
"@salesforce/vite-plugin-webapp-experimental": "^1.75.1",
|
|
47
47
|
"@testing-library/jest-dom": "^6.6.3",
|
|
48
48
|
"@testing-library/react": "^16.1.0",
|
|
49
49
|
"@testing-library/user-event": "^14.5.2",
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { useNavigate } from "react-router";
|
|
5
5
|
import { useCallback, useState } from "react";
|
|
6
|
-
import { Button } from "
|
|
7
|
-
import type { SearchResultRecordData } from "
|
|
6
|
+
import { Button } from "./ui/button";
|
|
7
|
+
import type { SearchResultRecordData } from "../features/global-search/types/search/searchResults.js";
|
|
8
8
|
import { Heart } from "lucide-react";
|
|
9
9
|
|
|
10
10
|
function fieldDisplay(
|
package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/components/PropertyMap.tsx
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Renders one pin per property (each marker in the markers array).
|
|
4
4
|
*/
|
|
5
5
|
import { useMemo, useState, useEffect } from "react";
|
|
6
|
-
import { MapContainer, TileLayer, Marker, Popup, useMap
|
|
6
|
+
import { MapContainer, TileLayer, Marker, Popup, useMap } from "react-leaflet";
|
|
7
7
|
import L from "leaflet";
|
|
8
8
|
import "leaflet/dist/leaflet.css";
|
|
9
9
|
|
|
@@ -91,11 +91,9 @@ export default function PropertyMap({
|
|
|
91
91
|
center={effectiveCenter}
|
|
92
92
|
zoom={zoom}
|
|
93
93
|
scrollWheelZoom
|
|
94
|
-
attributionControl={false}
|
|
95
94
|
className="h-full w-full"
|
|
96
95
|
style={{ minHeight: 200 }}
|
|
97
96
|
>
|
|
98
|
-
<AttributionControl prefix='<a href="https://leafletjs.com/">Leaflet</a>' />
|
|
99
97
|
<MapCenterUpdater center={effectiveCenter} zoom={zoom} />
|
|
100
98
|
<TileLayer
|
|
101
99
|
attribution='Data by © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
type PicklistOption,
|
|
14
14
|
type TransformedLayoutItem,
|
|
15
15
|
} from "../../utils/layoutTransformUtils";
|
|
16
|
-
import { FieldValueDisplay } from "./formatted";
|
|
16
|
+
import { FieldValueDisplay } from "./formatted/FieldValueDisplay";
|
|
17
17
|
import { Section } from "./Section";
|
|
18
18
|
import { SectionRow } from "./SectionRow";
|
|
19
19
|
|
|
@@ -11,7 +11,7 @@ import { Card, CardContent } from "../../../../components/ui/card";
|
|
|
11
11
|
import { Input } from "../../../../components/ui/input";
|
|
12
12
|
import { Button } from "../../../../components/ui/button";
|
|
13
13
|
import { Search } from "lucide-react";
|
|
14
|
-
import { OBJECT_API_NAMES } from "
|
|
14
|
+
import { OBJECT_API_NAMES } from "../../constants";
|
|
15
15
|
import { useObjectInfoBatch } from "../../hooks/useObjectInfoBatch";
|
|
16
16
|
|
|
17
17
|
const BROWSE_SEGMENT = "browse__all";
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
import type { Column, SearchResultRecordData } from "../../types/search/searchResults";
|
|
35
35
|
import { getNestedFieldValue } from "../../utils/fieldUtils";
|
|
36
36
|
import ResultCardFields from "./ResultCardFields";
|
|
37
|
-
import { OBJECT_API_NAMES } from "
|
|
37
|
+
import { OBJECT_API_NAMES } from "../../constants";
|
|
38
38
|
|
|
39
39
|
interface SearchResultCardProps {
|
|
40
40
|
record: SearchResultRecordData;
|
|
@@ -6,7 +6,7 @@ import { Alert, AlertDescription, AlertTitle } from "../../../components/ui/aler
|
|
|
6
6
|
import { AlertCircle } from "lucide-react";
|
|
7
7
|
import DetailHeader from "../components/detail/DetailHeader";
|
|
8
8
|
import { UiApiDetailForm } from "../components/detail/UiApiDetailForm";
|
|
9
|
-
import { OBJECT_API_NAMES, DEFAULT_DETAIL_PAGE_TITLE } from "
|
|
9
|
+
import { OBJECT_API_NAMES, DEFAULT_DETAIL_PAGE_TITLE } from "../constants";
|
|
10
10
|
import { toRecordDisplayNameMetadata } from "../utils/fieldUtils";
|
|
11
11
|
import { useRecordDetailLayout } from "../hooks/useRecordDetailLayout";
|
|
12
12
|
import { getGraphQLRecordDisplayName } from "../utils/graphQLNodeFieldUtils";
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { useMemo, useState, useCallback, useEffect, useRef } from "react";
|
|
15
15
|
import { useParams } from "react-router";
|
|
16
|
-
import { OBJECT_API_NAMES, DEFAULT_PAGE_SIZE } from "
|
|
16
|
+
import { OBJECT_API_NAMES, DEFAULT_PAGE_SIZE } from "../constants";
|
|
17
17
|
import { useObjectListMetadata } from "../hooks/useObjectSearchData";
|
|
18
18
|
import { useObjectInfoBatch } from "../hooks/useObjectInfoBatch";
|
|
19
19
|
import { useRecordListGraphQL } from "../hooks/useRecordListGraphQL";
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { useState, useEffect } from "react";
|
|
6
6
|
import { fetchPropertyAddresses } from "@/api/propertyDetailGraphQL";
|
|
7
7
|
import { getPropertyIdFromRecord } from "./usePropertyPrimaryImages";
|
|
8
|
-
import type { SearchResultRecord } from "
|
|
8
|
+
import type { SearchResultRecord } from "../features/global-search/types/search/searchResults.js";
|
|
9
9
|
|
|
10
10
|
export function usePropertyAddresses(results: SearchResultRecord[]): Record<string, string> {
|
|
11
11
|
const [map, setMap] = useState<Record<string, string>>({});
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { useState, useEffect, useRef, useCallback } from "react";
|
|
5
5
|
import { queryPropertyListingsGraphQL } from "@/api/propertyListingGraphQL";
|
|
6
|
-
import type { SearchResultRecord } from "
|
|
6
|
+
import type { SearchResultRecord } from "../features/global-search/types/search/searchResults.js";
|
|
7
7
|
|
|
8
8
|
export function usePropertyListingSearch(searchQuery: string, pageSize: number, pageToken: string) {
|
|
9
9
|
const [results, setResults] = useState<SearchResultRecord[]>([]);
|
|
@@ -6,7 +6,7 @@ import { useState, useEffect } from "react";
|
|
|
6
6
|
import { fetchPropertyAddresses } from "@/api/propertyDetailGraphQL";
|
|
7
7
|
import { geocodeAddress } from "@/utils/geocode";
|
|
8
8
|
import { getPropertyIdFromRecord } from "./usePropertyPrimaryImages";
|
|
9
|
-
import type { SearchResultRecord } from "
|
|
9
|
+
import type { SearchResultRecord } from "../features/global-search/types/search/searchResults.js";
|
|
10
10
|
import type { MapMarker } from "@/components/PropertyMap";
|
|
11
11
|
|
|
12
12
|
function getListingName(record: {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { useState, useEffect } from "react";
|
|
6
6
|
import { fetchPrimaryImagesByPropertyIds } from "@/api/propertyDetailGraphQL";
|
|
7
|
-
import type { SearchResultRecord } from "
|
|
7
|
+
import type { SearchResultRecord } from "../features/global-search/types/search/searchResults.js";
|
|
8
8
|
|
|
9
9
|
export function getPropertyIdFromRecord(record: {
|
|
10
10
|
fields?: Record<string, { value?: unknown }>;
|
package/dist/force-app/main/default/webapplications/appreactsampleb2x/src/pages/PropertySearch.tsx
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { useState, useCallback, useMemo, useEffect } from "react";
|
|
6
6
|
import { useSearchParams } from "react-router";
|
|
7
|
-
import { DEFAULT_PAGE_SIZE } from "
|
|
7
|
+
import { DEFAULT_PAGE_SIZE } from "../features/global-search/constants";
|
|
8
8
|
import { usePropertyListingSearch } from "@/hooks/usePropertyListingSearch";
|
|
9
9
|
import {
|
|
10
10
|
usePropertyPrimaryImages,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
import { usePropertyAddresses } from "@/hooks/usePropertyAddresses";
|
|
14
14
|
import { usePropertyMapMarkers } from "@/hooks/usePropertyMapMarkers";
|
|
15
15
|
import { Input } from "@/components/ui/input";
|
|
16
|
-
import SearchPagination from "
|
|
16
|
+
import SearchPagination from "../features/global-search/components/search/SearchPagination";
|
|
17
17
|
import PropertyListingCard from "@/components/PropertyListingCard";
|
|
18
18
|
import PropertyMap from "@/components/PropertyMap";
|
|
19
19
|
import PropertySearchPlaceholder from "./PropertySearchPlaceholder";
|
package/dist/package.json
CHANGED
package/package.json
CHANGED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* API layer: object metadata (GraphQL), layout + record detail (REST layout + GraphQL record), record list/single (GraphQL).
|
|
3
|
-
*/
|
|
4
|
-
export { objectInfoService } from "./objectInfoService";
|
|
5
|
-
export { objectDetailService, extractFieldsFromLayout } from "./objectDetailService";
|
|
6
|
-
export type { RecordDetailResult } from "./objectDetailService";
|
|
7
|
-
export {
|
|
8
|
-
getRecordsGraphQL,
|
|
9
|
-
getRecordByIdGraphQL,
|
|
10
|
-
buildGetRecordsQuery,
|
|
11
|
-
buildWhereFromCriteria,
|
|
12
|
-
buildOrderByFromSort,
|
|
13
|
-
} from "./recordListGraphQLService";
|
|
14
|
-
export type {
|
|
15
|
-
RecordListGraphQLResult,
|
|
16
|
-
RecordListGraphQLVariables,
|
|
17
|
-
RecordListGraphQLOptions,
|
|
18
|
-
GraphQLRecordNode,
|
|
19
|
-
} from "./recordListGraphQLService";
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { FieldValueDisplay } from "./FieldValueDisplay";
|
|
2
|
-
export { FormattedAddress } from "./FormattedAddress";
|
|
3
|
-
export { FormattedEmail } from "./FormattedEmail";
|
|
4
|
-
export { FormattedPhone } from "./FormattedPhone";
|
|
5
|
-
export { FormattedText } from "./FormattedText";
|
|
6
|
-
export { FormattedUrl } from "./FormattedUrl";
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
// ---------------------------------------------------------------------------
|
|
2
|
-
// Hooks
|
|
3
|
-
// ---------------------------------------------------------------------------
|
|
4
|
-
export {
|
|
5
|
-
useObjectColumns,
|
|
6
|
-
useObjectSearchResults,
|
|
7
|
-
useObjectFilters,
|
|
8
|
-
useObjectListMetadata,
|
|
9
|
-
} from "./useObjectSearchData";
|
|
10
|
-
export type { ObjectListMetadata } from "./useObjectSearchData";
|
|
11
|
-
export { useRecordListGraphQL } from "./useRecordListGraphQL";
|
|
12
|
-
export type {
|
|
13
|
-
UseRecordListGraphQLReturn,
|
|
14
|
-
UseRecordListGraphQLOptions,
|
|
15
|
-
} from "./useRecordListGraphQL";
|
|
16
|
-
export { useRecordDetailLayout } from "./useRecordDetailLayout";
|
|
17
|
-
export type {
|
|
18
|
-
UseRecordDetailLayoutReturn,
|
|
19
|
-
UseRecordDetailLayoutParams,
|
|
20
|
-
} from "./useRecordDetailLayout";
|
|
21
|
-
export { useObjectInfoBatch } from "./useObjectInfoBatch";
|
|
22
|
-
export type { UseObjectInfoBatchResult } from "./useObjectInfoBatch";
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
// ---------------------------------------------------------------------------
|
|
2
|
-
// Utilities
|
|
3
|
-
// ---------------------------------------------------------------------------
|
|
4
|
-
export { fetchAndValidate, safeEncodePath } from "./apiUtils";
|
|
5
|
-
export type { FetchAndValidateOptions } from "./apiUtils";
|
|
6
|
-
export { createFiltersKey } from "./cacheUtils";
|
|
7
|
-
export { calculateFieldsToFetch, getSafeKey, isValidSalesforceId } from "./recordUtils";
|
|
8
|
-
export {
|
|
9
|
-
getNestedFieldValue,
|
|
10
|
-
getRecordDisplayName,
|
|
11
|
-
toRecordDisplayNameMetadata,
|
|
12
|
-
getDisplayValueForLayoutItem,
|
|
13
|
-
getDisplayValueForDetailField,
|
|
14
|
-
formatAddressFromConstituents,
|
|
15
|
-
formatAddressDisplay,
|
|
16
|
-
formatDateTimeForDisplay,
|
|
17
|
-
isAddressConstituents,
|
|
18
|
-
getAddressPartsFromConstituents,
|
|
19
|
-
extractFieldValue,
|
|
20
|
-
} from "./fieldUtils";
|
|
21
|
-
export type {
|
|
22
|
-
AddressParts,
|
|
23
|
-
LayoutItemDisplayResult,
|
|
24
|
-
RecordDisplayNameMetadata,
|
|
25
|
-
} from "./fieldUtils";
|
|
26
|
-
export { calculateFormData } from "./formDataTransformUtils";
|
|
27
|
-
export type { ObjectInfoMetadata } from "./formDataTransformUtils";
|
|
28
|
-
export { getTransformedSections } from "./layoutTransformUtils";
|
|
29
|
-
export type {
|
|
30
|
-
ObjectInfo,
|
|
31
|
-
ObjectInfoField,
|
|
32
|
-
PicklistOption,
|
|
33
|
-
LayoutTransformContext,
|
|
34
|
-
TransformedLayoutItem,
|
|
35
|
-
TransformedLayoutRow,
|
|
36
|
-
TransformedSection,
|
|
37
|
-
} from "./layoutTransformUtils";
|
|
38
|
-
export { parseFilterValue } from "./filterUtils";
|
|
39
|
-
export { sanitizeFilterValue } from "./sanitizationUtils";
|
|
40
|
-
export { getFormValueByPath, getUniqueErrors, validateRangeValues, isFormError } from "./formUtils";
|
|
41
|
-
export type { FormError } from "./formUtils";
|
|
42
|
-
export {
|
|
43
|
-
PAGE_SIZE_OPTIONS,
|
|
44
|
-
VALID_PAGE_SIZES,
|
|
45
|
-
getValidPageSize,
|
|
46
|
-
isValidPageSize,
|
|
47
|
-
} from "./paginationUtils";
|
|
48
|
-
export { isAllowedLinkUrl, ALLOWED_LINK_PROTOCOLS } from "./linkUtils";
|
|
49
|
-
export { graphQLNodeToSearchResultRecordData } from "./graphQLRecordAdapter";
|
|
50
|
-
export {
|
|
51
|
-
getGraphQLNodeValue,
|
|
52
|
-
getDisplayValueForLayoutItemFromNode,
|
|
53
|
-
getDisplayValueForDetailFieldFromNode,
|
|
54
|
-
getGraphQLRecordDisplayName,
|
|
55
|
-
} from "./graphQLNodeFieldUtils";
|
|
56
|
-
export type {
|
|
57
|
-
GraphQLRecordDisplayNameMetadata,
|
|
58
|
-
ObjectMetadataForDisplay,
|
|
59
|
-
} from "./graphQLNodeFieldUtils";
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Package entry for @salesforce/webapp-template-feature-react-global-search-experimental.
|
|
3
|
-
* Exports only API, hooks, utils, types, and constants so that consuming apps do not
|
|
4
|
-
* pull in the feature's UI (routes, __inherit__ components) which depend on @radix-ui.
|
|
5
|
-
*/
|
|
6
|
-
export * from "./features/global-search/api";
|
|
7
|
-
export * from "./features/global-search/hooks";
|
|
8
|
-
export * from "./features/global-search/utils";
|
|
9
|
-
export * from "./features/global-search/types";
|
|
10
|
-
export * from "./constants";
|