@salesforce/ui-bundle-template-app-react-template-b2x 12.5.2 → 12.5.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.
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
+ ## [12.5.3](https://github.com/salesforce-experience-platform-emu/webapps/compare/v12.5.2...v12.5.3) (2026-09-08)
7
+
8
+ **Note:** Version bump only for package @salesforce/ui-bundle-template-base-sfdx-project
9
+
10
+
11
+
12
+
13
+
6
14
  ## [12.5.2](https://github.com/salesforce-experience-platform-emu/webapps/compare/v12.5.1...v12.5.2) (2026-09-08)
7
15
 
8
16
  **Note:** Version bump only for package @salesforce/ui-bundle-template-base-sfdx-project
@@ -19,8 +19,8 @@
19
19
  "graphql:schema": "node scripts/get-graphql-schema.mjs"
20
20
  },
21
21
  "dependencies": {
22
- "@salesforce/platform-sdk": "^12.5.2",
23
- "@salesforce/ui-bundle": "^12.5.2",
22
+ "@salesforce/platform-sdk": "^12.5.3",
23
+ "@salesforce/ui-bundle": "^12.5.3",
24
24
  "@tailwindcss/vite": "^4.1.17",
25
25
  "class-variance-authority": "^0.7.1",
26
26
  "clsx": "^2.1.1",
@@ -47,8 +47,8 @@
47
47
  "@graphql-eslint/eslint-plugin": "^4.1.0",
48
48
  "@graphql-tools/utils": "^11.0.0",
49
49
  "@playwright/test": "^1.49.0",
50
- "@salesforce/graphiti": "^12.5.2",
51
- "@salesforce/vite-plugin-ui-bundle": "^12.5.2",
50
+ "@salesforce/graphiti": "^12.5.3",
51
+ "@salesforce/vite-plugin-ui-bundle": "^12.5.3",
52
52
  "@testing-library/jest-dom": "^6.6.3",
53
53
  "@testing-library/react": "^16.1.0",
54
54
  "@testing-library/user-event": "^14.5.2",
@@ -59,7 +59,7 @@ export default function AppLayout() {
59
59
  >
60
60
  Skip to main content
61
61
  </a>
62
- <nav className="bg-white border-b border-gray-200">
62
+ <nav aria-label="Primary" className="bg-white border-b border-gray-200">
63
63
  <div className="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
64
64
  <div className="flex justify-between items-center h-16">
65
65
  <Link to="/" className="text-xl font-semibold text-gray-900">
@@ -8,7 +8,7 @@ const statusAlertVariants = cva('', {
8
8
  variant: {
9
9
  error: '',
10
10
  success: '',
11
- info: 'text-blue-600 *:[svg]:text-current *:data-[slot=alert-description]:text-blue-600/90',
11
+ info: 'text-blue-700 dark:text-blue-400 *:[svg]:text-current *:data-[slot=alert-description]:text-blue-700 dark:*:data-[slot=alert-description]:text-blue-400',
12
12
  },
13
13
  },
14
14
  defaultVariants: {
@@ -10,7 +10,7 @@ const alertVariants = cva(
10
10
  variant: {
11
11
  default: 'bg-card text-card-foreground',
12
12
  destructive:
13
- 'text-destructive bg-card *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current',
13
+ 'text-red-700 dark:text-red-400 bg-card *:data-[slot=alert-description]:text-red-700 dark:*:data-[slot=alert-description]:text-red-400 *:[svg]:text-current',
14
14
  },
15
15
  },
16
16
  defaultVariants: {
@@ -62,6 +62,7 @@ export function AuthForm({
62
62
 
63
63
  return (
64
64
  <CardLayout title={title} description={description}>
65
+ <h1 className="sr-only">{title}</h1>
65
66
  <div className="space-y-6">
66
67
  {/* [Dev Note] Auth status alert for authenticated users on public pages */}
67
68
  {showAuthAlert && <StatusAlert variant="info">You are already logged in.</StatusAlert>}
@@ -64,7 +64,7 @@ function TextField({
64
64
  aria-describedby={cn(description && descriptionId, isInvalid && errorId)}
65
65
  {...props}
66
66
  />
67
- {isInvalid && uniqueErrors.length > 0 && <FieldError errors={uniqueErrors} />}
67
+ {isInvalid && uniqueErrors.length > 0 && <FieldError id={errorId} errors={uniqueErrors} />}
68
68
  </Field>
69
69
  );
70
70
  }
@@ -454,10 +454,10 @@ function SessionWarningModal({
454
454
  </div>
455
455
 
456
456
  <DialogFooter className="flex gap-4 justify-end">
457
- <Button variant="outline" onClick={handleLogoutClick} tabIndex={2}>
457
+ <Button variant="outline" onClick={handleLogoutClick}>
458
458
  {LABELS.logoutButton}
459
459
  </Button>
460
- <Button variant="default" onClick={handleContinue} tabIndex={1} ref={continueButtonRef}>
460
+ <Button variant="default" onClick={handleContinue} ref={continueButtonRef}>
461
461
  {LABELS.continueButton}
462
462
  </Button>
463
463
  </DialogFooter>
@@ -82,6 +82,8 @@ interface SearchProps {
82
82
  /** Optional override for the entire header region. */
83
83
  renderHeader?: (handle: SearchHandle) => ReactNode;
84
84
  className?: string;
85
+ /** Root element tag; use `"main"` when this owns its route's landmark (WCAG 1.3.1). */
86
+ as?: "div" | "main";
85
87
  }
86
88
 
87
89
  export function Search({
@@ -97,6 +99,7 @@ export function Search({
97
99
  allScopeLabel,
98
100
  renderHeader,
99
101
  className,
102
+ as: Root = "div",
100
103
  }: SearchProps) {
101
104
  // Resolve restrictTo to a lockedScope value, surfacing a clear error if
102
105
  // the (kind, key) pair doesn't match any source. Memoize so it's
@@ -136,7 +139,7 @@ export function Search({
136
139
  const showTotalResults = !merged && sourcesInScope >= 2;
137
140
 
138
141
  return (
139
- <div className={`max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-6 space-y-6 ${className ?? ""}`}>
142
+ <Root className={`max-w-6xl mx-auto px-4 sm:px-6 lg:px-8 py-6 space-y-6 ${className ?? ""}`}>
140
143
  {renderHeader ? (
141
144
  renderHeader(handle)
142
145
  ) : (
@@ -198,6 +201,6 @@ export function Search({
198
201
  )}
199
202
  </>
200
203
  )}
201
- </div>
204
+ </Root>
202
205
  );
203
206
  }
@@ -195,6 +195,7 @@ export function SourceSection({
195
195
  onPageSizeChange={pagination.setPageSize}
196
196
  disabled={loading || !!error}
197
197
  idPrefix={`page-size-${config.key}`}
198
+ navLabel={`${config.label} pagination`}
198
199
  />
199
200
  </div>
200
201
  </section>
@@ -37,6 +37,8 @@ interface PaginationControlsProps {
37
37
  onGoToPage?: (pageIndex: number) => void;
38
38
  disabled?: boolean;
39
39
  idPrefix?: string;
40
+ /** Accessible name for the pagination `<nav>` landmark; keep it unique per instance (WCAG 1.3.1, landmark-unique). */
41
+ navLabel?: string;
40
42
  }
41
43
 
42
44
  /**
@@ -76,6 +78,7 @@ export function PaginationControls({
76
78
  onGoToPage,
77
79
  disabled = false,
78
80
  idPrefix = "page-size",
81
+ navLabel = "Pagination",
79
82
  }: PaginationControlsProps) {
80
83
  const handlePageSizeChange = (next: string) => {
81
84
  const size = parseInt(next, 10);
@@ -121,7 +124,7 @@ export function PaginationControls({
121
124
  </SelectContent>
122
125
  </Select>
123
126
  </div>
124
- <Pagination className="w-full mx-0 sm:justify-end">
127
+ <Pagination aria-label={navLabel} className="w-full mx-0 sm:justify-end">
125
128
  <PaginationContent>
126
129
  <PaginationItem>
127
130
  <PaginationPrevious
@@ -63,6 +63,7 @@ export const routes: RouteObject[] = [
63
63
  path: "search",
64
64
  element: (
65
65
  <GlobalSearch
66
+ as="main"
66
67
  config={config}
67
68
  title="Search"
68
69
  searchPlaceholder="Search accounts, contacts, opportunities, and content..."
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@salesforce/ui-bundle-template-base-sfdx-project",
3
- "version": "12.5.2",
3
+ "version": "12.5.3",
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": "12.5.2",
9
+ "version": "12.5.3",
10
10
  "license": "SEE LICENSE IN LICENSE.txt",
11
11
  "dependencies": {
12
12
  "fast-xml-parser": "^5.9.3",
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/ui-bundle-template-base-sfdx-project",
3
- "version": "12.5.2",
3
+ "version": "12.5.3",
4
4
  "description": "Base SFDX project template",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "publishConfig": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/ui-bundle-template-app-react-template-b2x",
3
- "version": "12.5.2",
3
+ "version": "12.5.3",
4
4
  "description": "Salesforce React external app template",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "author": "",