@salesforce/ui-bundle-template-app-react-template-b2x 11.8.0 → 11.8.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 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
+ ## [11.8.1](https://github.com/salesforce-experience-platform-emu/webapps/compare/v11.8.0...v11.8.1) (2026-07-06)
7
+
8
+ **Note:** Version bump only for package @salesforce/ui-bundle-template-base-sfdx-project
9
+
10
+
11
+
12
+
13
+
6
14
  ## [11.8.0](https://github.com/salesforce-experience-platform-emu/webapps/compare/v11.7.0...v11.8.0) (2026-07-06)
7
15
 
8
16
  **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.8.0",
22
- "@salesforce/ui-bundle": "^11.8.0",
21
+ "@salesforce/platform-sdk": "^11.8.1",
22
+ "@salesforce/ui-bundle": "^11.8.1",
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.8.0",
50
- "@salesforce/vite-plugin-ui-bundle": "^11.8.0",
49
+ "@salesforce/graphiti": "^11.8.1",
50
+ "@salesforce/vite-plugin-ui-bundle": "^11.8.1",
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",
@@ -17,7 +17,7 @@ const buttonVariants = cva(
17
17
  ghost:
18
18
  'hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground',
19
19
  destructive:
20
- 'bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30',
20
+ 'bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-red-700 dark:text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30',
21
21
  link: 'text-primary underline-offset-4 hover:underline',
22
22
  },
23
23
  size: {
@@ -38,7 +38,7 @@ function DatePickerTrigger({
38
38
  data-slot="date-picker-trigger"
39
39
  data-empty={!date}
40
40
  className={cn(
41
- 'w-[280px] justify-start text-left font-normal data-[empty=true]:text-muted-foreground',
41
+ 'w-[280px] justify-start text-left font-normal data-[empty=true]:text-gray-600',
42
42
  className
43
43
  )}
44
44
  {...props}
@@ -87,7 +87,7 @@ function DatePickerRangeTrigger({
87
87
  data-slot="date-picker-range-trigger"
88
88
  data-empty={!hasDate}
89
89
  className={cn(
90
- 'justify-start text-left font-normal data-[empty=true]:text-muted-foreground',
90
+ 'justify-start text-left font-normal data-[empty=true]:text-gray-600',
91
91
  className
92
92
  )}
93
93
  {...props}
@@ -2,11 +2,18 @@ import * as React from 'react';
2
2
 
3
3
  import { cn } from '../../lib/utils';
4
4
 
5
- function Table({ className, ...props }: React.ComponentProps<'table'>) {
5
+ function Table({
6
+ className,
7
+ 'aria-label': ariaLabel = 'Table',
8
+ ...props
9
+ }: React.ComponentProps<'table'>) {
6
10
  return (
7
11
  <div
8
12
  data-slot="table-container"
9
- className="relative w-full overflow-x-auto"
13
+ role="region"
14
+ aria-label={ariaLabel}
15
+ tabIndex={0}
16
+ className="relative w-full overflow-x-auto focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-purple"
10
17
  >
11
18
  <table
12
19
  data-slot="table"
@@ -83,7 +83,7 @@ export function DateFilter({
83
83
  <FilterFieldWrapper label={label} helpText={helpText} className={className} {...props}>
84
84
  <div className="flex gap-2">
85
85
  <Select value={operator} onValueChange={(v) => handleOperatorChange(v as DateOperator)}>
86
- <SelectTrigger className="w-full flex-1">
86
+ <SelectTrigger className="w-full flex-1" aria-label={label}>
87
87
  <SelectValue />
88
88
  </SelectTrigger>
89
89
  <SelectContent>
@@ -4,6 +4,8 @@ import { cn } from "../../../../lib/utils";
4
4
  interface FilterFieldWrapperProps extends React.ComponentProps<"div"> {
5
5
  label: string;
6
6
  htmlFor?: string;
7
+ /** id applied to the visible label so a non-native control can reference it via aria-labelledby */
8
+ labelId?: string;
7
9
  helpText?: string;
8
10
  error?: string;
9
11
  }
@@ -11,6 +13,7 @@ interface FilterFieldWrapperProps extends React.ComponentProps<"div"> {
11
13
  export function FilterFieldWrapper({
12
14
  label,
13
15
  htmlFor,
16
+ labelId,
14
17
  helpText,
15
18
  error,
16
19
  className,
@@ -19,7 +22,9 @@ export function FilterFieldWrapper({
19
22
  }: FilterFieldWrapperProps) {
20
23
  return (
21
24
  <div className={cn("space-y-1", className)} {...props}>
22
- <Label htmlFor={htmlFor}>{label}</Label>
25
+ <Label id={labelId} htmlFor={htmlFor}>
26
+ {label}
27
+ </Label>
23
28
  {children}
24
29
  <div className="min-h-4">
25
30
  {error ? (
@@ -28,6 +28,7 @@ export function MultiSelectFilter({
28
28
  }: MultiSelectFilterProps) {
29
29
  const { value, onChange } = useFilterField(field);
30
30
  const selected = value?.value ? value.value.split(",") : [];
31
+ const labelId = `filter-${field}-label`;
31
32
 
32
33
  const triggerLabel =
33
34
  selected.length === 0
@@ -54,12 +55,19 @@ export function MultiSelectFilter({
54
55
  }
55
56
 
56
57
  return (
57
- <FilterFieldWrapper label={label} helpText={helpText} className={className} {...props}>
58
+ <FilterFieldWrapper
59
+ label={label}
60
+ labelId={labelId}
61
+ helpText={helpText}
62
+ className={className}
63
+ {...props}
64
+ >
58
65
  <Popover>
59
66
  <PopoverTrigger asChild>
60
67
  <Button
61
68
  variant="outline"
62
69
  role="combobox"
70
+ aria-labelledby={labelId}
63
71
  className={cn(
64
72
  "w-full justify-between font-normal",
65
73
  selected.length === 0 && "text-muted-foreground",
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@salesforce/webapp-template-base-sfdx-project-experimental",
3
- "version": "11.8.0",
3
+ "version": "11.8.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@salesforce/webapp-template-base-sfdx-project-experimental",
9
- "version": "11.8.0",
9
+ "version": "11.8.1",
10
10
  "license": "SEE LICENSE IN LICENSE.txt",
11
11
  "devDependencies": {
12
12
  "@lwc/eslint-plugin-lwc": "^3.3.0",
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/ui-bundle-template-base-sfdx-project",
3
- "version": "11.8.0",
3
+ "version": "11.8.1",
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": "11.8.0",
3
+ "version": "11.8.1",
4
4
  "description": "Salesforce React external app template",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "author": "",