@salesforce/ui-bundle-template-app-react-sample-b2e 11.24.5 → 11.24.7
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 +16 -0
- package/dist/force-app/main/default/uiBundles/propertymanagementapp/package.json +4 -4
- package/dist/force-app/main/default/uiBundles/propertymanagementapp/src/components/dashboard/MaintenanceTable.tsx +7 -7
- package/dist/force-app/main/default/uiBundles/propertymanagementapp/src/components/dashboard/StatCard.tsx +1 -1
- package/dist/force-app/main/default/uiBundles/propertymanagementapp/src/components/layout/TopBar.tsx +2 -2
- package/dist/force-app/main/default/uiBundles/propertymanagementapp/src/features/search/components/MergedSearchResults.tsx +19 -5
- package/dist/force-app/main/default/uiBundles/propertymanagementapp/src/features/search/components/SourceSection.tsx +16 -0
- package/dist/package-lock.json +2 -2
- package/dist/package.json +1 -1
- package/package.json +2 -2
package/dist/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,22 @@
|
|
|
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
|
+
## [11.24.7](https://github.com/salesforce-experience-platform-emu/webapps/compare/v11.24.6...v11.24.7) (2026-07-14)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @salesforce/ui-bundle-template-base-sfdx-project
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [11.24.6](https://github.com/salesforce-experience-platform-emu/webapps/compare/v11.24.5...v11.24.6) (2026-07-14)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @salesforce/ui-bundle-template-base-sfdx-project
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
6
22
|
## [11.24.5](https://github.com/salesforce-experience-platform-emu/webapps/compare/v11.24.4...v11.24.5) (2026-07-14)
|
|
7
23
|
|
|
8
24
|
**Note:** Version bump only for package @salesforce/ui-bundle-template-base-sfdx-project
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
"graphql:schema": "node scripts/get-graphql-schema.mjs"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@salesforce/platform-sdk": "^11.24.
|
|
22
|
-
"@salesforce/ui-bundle": "^11.24.
|
|
21
|
+
"@salesforce/platform-sdk": "^11.24.7",
|
|
22
|
+
"@salesforce/ui-bundle": "^11.24.7",
|
|
23
23
|
"@tailwindcss/vite": "^4.1.17",
|
|
24
24
|
"class-variance-authority": "^0.7.1",
|
|
25
25
|
"clsx": "^2.1.1",
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
"@graphql-eslint/eslint-plugin": "^4.1.0",
|
|
47
47
|
"@graphql-tools/utils": "^11.0.0",
|
|
48
48
|
"@playwright/test": "^1.49.0",
|
|
49
|
-
"@salesforce/graphiti": "^11.24.
|
|
50
|
-
"@salesforce/vite-plugin-ui-bundle": "^11.24.
|
|
49
|
+
"@salesforce/graphiti": "^11.24.7",
|
|
50
|
+
"@salesforce/vite-plugin-ui-bundle": "^11.24.7",
|
|
51
51
|
"@testing-library/jest-dom": "^6.6.3",
|
|
52
52
|
"@testing-library/react": "^16.1.0",
|
|
53
53
|
"@testing-library/user-event": "^14.5.2",
|
|
@@ -50,10 +50,10 @@ export const MaintenanceTable: React.FC<MaintenanceTableProps> = ({ requests, lo
|
|
|
50
50
|
See All
|
|
51
51
|
</Button>
|
|
52
52
|
</div>
|
|
53
|
-
<
|
|
53
|
+
<ul className="space-y-4">
|
|
54
54
|
{loading ? (
|
|
55
55
|
Array.from({ length: 5 }, (_, i) => (
|
|
56
|
-
<
|
|
56
|
+
<li key={i} className="flex items-center p-4 bg-gray-50 rounded-lg">
|
|
57
57
|
<Skeleton className="w-12 h-12 rounded-lg shrink-0" />
|
|
58
58
|
<div className="ml-4 w-64 shrink-0 space-y-2">
|
|
59
59
|
<Skeleton className="h-4 w-40" />
|
|
@@ -66,10 +66,10 @@ export const MaintenanceTable: React.FC<MaintenanceTableProps> = ({ requests, lo
|
|
|
66
66
|
<Skeleton className="w-8 h-8 rounded-full shrink-0" />
|
|
67
67
|
<Skeleton className="h-4 w-24" />
|
|
68
68
|
</div>
|
|
69
|
-
</
|
|
69
|
+
</li>
|
|
70
70
|
))
|
|
71
71
|
) : requests.length === 0 ? (
|
|
72
|
-
<
|
|
72
|
+
<li className="text-center py-8 text-gray-500">No maintenance requests</li>
|
|
73
73
|
) : (
|
|
74
74
|
requests.slice(0, 5).map((request) => {
|
|
75
75
|
const issueType = request.Type__c?.value || "General";
|
|
@@ -78,7 +78,7 @@ export const MaintenanceTable: React.FC<MaintenanceTableProps> = ({ requests, lo
|
|
|
78
78
|
const tenantName = request.User__r?.Name?.value || "Unknown";
|
|
79
79
|
|
|
80
80
|
return (
|
|
81
|
-
<
|
|
81
|
+
<li
|
|
82
82
|
key={request.Id}
|
|
83
83
|
className="flex items-center p-4 bg-gray-50 rounded-lg hover:bg-gray-100 transition-colors"
|
|
84
84
|
>
|
|
@@ -119,11 +119,11 @@ export const MaintenanceTable: React.FC<MaintenanceTableProps> = ({ requests, lo
|
|
|
119
119
|
</div>
|
|
120
120
|
<span className="text-sm text-gray-700 font-medium truncate">{tenantName}</span>
|
|
121
121
|
</div>
|
|
122
|
-
</
|
|
122
|
+
</li>
|
|
123
123
|
);
|
|
124
124
|
})
|
|
125
125
|
)}
|
|
126
|
-
</
|
|
126
|
+
</ul>
|
|
127
127
|
</Card>
|
|
128
128
|
);
|
|
129
129
|
};
|
|
@@ -30,7 +30,7 @@ export const StatCard: React.FC<StatCardProps> = ({
|
|
|
30
30
|
onClick={onClick}
|
|
31
31
|
>
|
|
32
32
|
<div className="space-y-1">
|
|
33
|
-
<
|
|
33
|
+
<h2 className="text-sm font-medium text-gray-600 uppercase tracking-wide">{title}</h2>
|
|
34
34
|
{loading ? (
|
|
35
35
|
<>
|
|
36
36
|
<div className="flex items-baseline gap-3">
|
package/dist/force-app/main/default/uiBundles/propertymanagementapp/src/components/layout/TopBar.tsx
CHANGED
|
@@ -20,7 +20,7 @@ export const TopBar: React.FC<TopBarProps> = ({ onMenuClick }) => {
|
|
|
20
20
|
loadUserInfo();
|
|
21
21
|
}, []);
|
|
22
22
|
return (
|
|
23
|
-
<
|
|
23
|
+
<header className="bg-[#372949] text-white h-16 flex items-center justify-between px-6">
|
|
24
24
|
{/* Left section - Logo and Menu */}
|
|
25
25
|
<div className="flex items-center gap-4">
|
|
26
26
|
<button
|
|
@@ -52,6 +52,6 @@ export const TopBar: React.FC<TopBarProps> = ({ onMenuClick }) => {
|
|
|
52
52
|
<span className="hidden md:inline font-medium">{userName.toUpperCase()}</span>
|
|
53
53
|
</div>
|
|
54
54
|
</div>
|
|
55
|
-
</
|
|
55
|
+
</header>
|
|
56
56
|
);
|
|
57
57
|
};
|
|
@@ -108,8 +108,22 @@ export function MergedSearchResults({
|
|
|
108
108
|
|
|
109
109
|
const skeletons = skeletonCount ?? page.pageSize;
|
|
110
110
|
|
|
111
|
+
// Persistent, always-mounted live region: screen readers announce result
|
|
112
|
+
// updates (searching → count → empty → error) without an Enter keypress.
|
|
113
|
+
const liveMessage = loading
|
|
114
|
+
? "Searching…"
|
|
115
|
+
: error
|
|
116
|
+
? "Search failed."
|
|
117
|
+
: mergedResults.length === 0
|
|
118
|
+
? (emptyMessage ?? "No results found.")
|
|
119
|
+
: `${page.totalCount} result${page.totalCount === 1 ? "" : "s"}`;
|
|
120
|
+
|
|
111
121
|
return (
|
|
112
122
|
<div className={`space-y-6 ${className ?? ""}`}>
|
|
123
|
+
<p className="sr-only" role="status" aria-live="polite">
|
|
124
|
+
{liveMessage}
|
|
125
|
+
</p>
|
|
126
|
+
|
|
113
127
|
{soleController && <SingleSourceChrome controller={soleController} />}
|
|
114
128
|
|
|
115
129
|
{error && (
|
|
@@ -123,7 +137,7 @@ export function MergedSearchResults({
|
|
|
123
137
|
{/* Results count — its own row, directly above the grid, in every scope.
|
|
124
138
|
Hidden when there are none (the empty state covers that case). */}
|
|
125
139
|
{!loading && !error && page.totalCount > 0 && (
|
|
126
|
-
<p className="text-sm text-muted-foreground"
|
|
140
|
+
<p className="text-sm text-muted-foreground">
|
|
127
141
|
{page.totalCount} result{page.totalCount === 1 ? "" : "s"}
|
|
128
142
|
</p>
|
|
129
143
|
)}
|
|
@@ -139,7 +153,7 @@ export function MergedSearchResults({
|
|
|
139
153
|
{emptyMessage ?? "No results found."}
|
|
140
154
|
</p>
|
|
141
155
|
) : (
|
|
142
|
-
<
|
|
156
|
+
<ul className={gridClassName}>
|
|
143
157
|
{mergedResults.map(({ sourceKey, node }, i) => {
|
|
144
158
|
const override = renderResult?.[sourceKey];
|
|
145
159
|
if (override === false) return null;
|
|
@@ -157,16 +171,16 @@ export function MergedSearchResults({
|
|
|
157
171
|
/>
|
|
158
172
|
) : null;
|
|
159
173
|
return (
|
|
160
|
-
<
|
|
174
|
+
<li
|
|
161
175
|
key={getItemKey(sourceKey, node, i)}
|
|
162
176
|
className="flex flex-col gap-1.5 [&>:last-child]:min-h-0 [&>:last-child]:flex-1"
|
|
163
177
|
>
|
|
164
178
|
{badge}
|
|
165
179
|
{rendered}
|
|
166
|
-
</
|
|
180
|
+
</li>
|
|
167
181
|
);
|
|
168
182
|
})}
|
|
169
|
-
</
|
|
183
|
+
</ul>
|
|
170
184
|
)}
|
|
171
185
|
|
|
172
186
|
{page.totalCount > 0 && (
|
|
@@ -58,8 +58,24 @@ export function SourceSection({
|
|
|
58
58
|
const showActiveChips = !hideFilterChrome && filters.active.length > 0;
|
|
59
59
|
const showSortControl = !hideFilterChrome && (config.sortBy?.length ?? 0) > 0;
|
|
60
60
|
|
|
61
|
+
// Persistent, always-mounted live region: screen readers announce result
|
|
62
|
+
// updates (searching → count → empty → error) without an Enter keypress.
|
|
63
|
+
const liveMessage = loading
|
|
64
|
+
? "Searching…"
|
|
65
|
+
: error
|
|
66
|
+
? `Failed to load ${config.label}.`
|
|
67
|
+
: showEmpty
|
|
68
|
+
? (emptyMessage ?? `No ${config.label.toLowerCase()} found.`)
|
|
69
|
+
: totalCount != null
|
|
70
|
+
? `${config.label}: ${totalCount} ${totalCount === 1 ? "result" : "results"}`
|
|
71
|
+
: "";
|
|
72
|
+
|
|
61
73
|
return (
|
|
62
74
|
<section className={`flex flex-col gap-6 ${className ?? ""}`}>
|
|
75
|
+
<p className="sr-only" role="status" aria-live="polite">
|
|
76
|
+
{liveMessage}
|
|
77
|
+
</p>
|
|
78
|
+
|
|
63
79
|
{showFilterPanel && (
|
|
64
80
|
<FilterProvider
|
|
65
81
|
filters={filters.active}
|
package/dist/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/ui-bundle-template-base-sfdx-project",
|
|
3
|
-
"version": "11.24.
|
|
3
|
+
"version": "11.24.7",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@salesforce/ui-bundle-template-base-sfdx-project",
|
|
9
|
-
"version": "11.24.
|
|
9
|
+
"version": "11.24.7",
|
|
10
10
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"fast-xml-parser": "^5.9.3",
|
package/dist/package.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforce/ui-bundle-template-app-react-sample-b2e",
|
|
3
|
-
"version": "11.24.
|
|
3
|
+
"version": "11.24.7",
|
|
4
4
|
"description": "Salesforce sample property rental React app",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"author": "",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"clean": "rm -rf dist"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@salesforce/ui-bundle": "^11.24.
|
|
19
|
+
"@salesforce/ui-bundle": "^11.24.7",
|
|
20
20
|
"sonner": "^1.7.0"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|