@salesforce/webapp-template-app-react-template-b2e-experimental 1.62.0 → 1.63.0
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/.a4drules/webapp.md +0 -2
- package/dist/CHANGELOG.md +27 -0
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/package-lock.json +26 -26
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/package.json +5 -5
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/alert.tsx +61 -54
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/button.tsx +57 -57
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/card.tsx +86 -75
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/dialog.tsx +129 -110
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/field.tsx +208 -193
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/index.ts +64 -64
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/input.tsx +14 -14
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/label.tsx +17 -14
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/pagination.tsx +108 -88
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/select.tsx +156 -146
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/separator.tsx +19 -19
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/skeleton.tsx +10 -10
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/spinner.tsx +12 -11
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/table.tsx +96 -69
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/tabs.tsx +71 -61
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components.json +1 -1
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/lib/utils.ts +3 -3
- package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/styles/global.css +107 -107
- package/dist/package.json +1 -1
- package/package.json +2 -3
package/dist/.a4drules/webapp.md
CHANGED
|
@@ -75,8 +75,6 @@ Agents consistently miss these. **You must not leave them default.**
|
|
|
75
75
|
- **Motion:** Use high-impact motion (e.g. staggered reveals).
|
|
76
76
|
- **Depth:** Add atmosphere/depth in backgrounds.
|
|
77
77
|
|
|
78
|
-
Follow **webapplications-design-system** expert knowledge for full guidance.
|
|
79
|
-
|
|
80
78
|
# Development Cycle
|
|
81
79
|
|
|
82
80
|
- Execute tasks continuously until all planned items complete in the current iteration.
|
package/dist/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,33 @@
|
|
|
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.63.0](https://github.com/salesforce-experience-platform-emu/webapps/compare/v1.62.2...v1.63.0) (2026-03-03)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* move shadcn UI into base-react-app ([#188](https://github.com/salesforce-experience-platform-emu/webapps/issues/188)) ([366443f](https://github.com/salesforce-experience-platform-emu/webapps/commit/366443f626c5232ca56c6a5dc6da874bfb955f22))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [1.62.2](https://github.com/salesforce-experience-platform-emu/webapps/compare/v1.62.1...v1.62.2) (2026-03-02)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @salesforce/webapp-template-base-sfdx-project-experimental
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## [1.62.1](https://github.com/salesforce-experience-platform-emu/webapps/compare/v1.62.0...v1.62.1) (2026-03-02)
|
|
26
|
+
|
|
27
|
+
**Note:** Version bump only for package @salesforce/webapp-template-base-sfdx-project-experimental
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
6
33
|
# [1.62.0](https://github.com/salesforce-experience-platform-emu/webapps/compare/v1.61.4...v1.62.0) (2026-03-02)
|
|
7
34
|
|
|
8
35
|
**Note:** Version bump only for package @salesforce/webapp-template-base-sfdx-project-experimental
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
"name": "base-react-app",
|
|
9
9
|
"version": "1.59.0",
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@salesforce/agentforce-conversation-client": "^1.
|
|
12
|
-
"@salesforce/sdk-data": "^1.
|
|
13
|
-
"@salesforce/webapp-experimental": "
|
|
11
|
+
"@salesforce/agentforce-conversation-client": "^1.63.0",
|
|
12
|
+
"@salesforce/sdk-data": "^1.63.0",
|
|
13
|
+
"@salesforce/webapp-experimental": "^1.63.0",
|
|
14
14
|
"@tailwindcss/vite": "^4.1.17",
|
|
15
15
|
"@tanstack/react-form": "^1.28.3",
|
|
16
16
|
"class-variance-authority": "^0.7.1",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"react-dom": "^19.2.0",
|
|
22
22
|
"react-router": "^7.10.1",
|
|
23
23
|
"shadcn": "^3.8.5",
|
|
24
|
-
"tailwind-merge": "^3.
|
|
24
|
+
"tailwind-merge": "^3.4.0",
|
|
25
25
|
"tailwindcss": "^4.1.17",
|
|
26
26
|
"tw-animate-css": "^1.4.0",
|
|
27
27
|
"zod": "^4.3.6"
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"@graphql-eslint/eslint-plugin": "^4.1.0",
|
|
35
35
|
"@graphql-tools/utils": "^11.0.0",
|
|
36
36
|
"@playwright/test": "^1.49.0",
|
|
37
|
-
"@salesforce/vite-plugin-webapp-experimental": "
|
|
37
|
+
"@salesforce/vite-plugin-webapp-experimental": "^1.63.0",
|
|
38
38
|
"@testing-library/jest-dom": "^6.6.3",
|
|
39
39
|
"@testing-library/react": "^16.1.0",
|
|
40
40
|
"@testing-library/user-event": "^14.5.2",
|
|
@@ -6027,9 +6027,9 @@
|
|
|
6027
6027
|
]
|
|
6028
6028
|
},
|
|
6029
6029
|
"node_modules/@salesforce/agentforce-conversation-client": {
|
|
6030
|
-
"version": "1.
|
|
6031
|
-
"resolved": "https://registry.npmjs.org/@salesforce/agentforce-conversation-client/-/agentforce-conversation-client-1.
|
|
6032
|
-
"integrity": "sha512
|
|
6030
|
+
"version": "1.63.0",
|
|
6031
|
+
"resolved": "https://registry.npmjs.org/@salesforce/agentforce-conversation-client/-/agentforce-conversation-client-1.63.0.tgz",
|
|
6032
|
+
"integrity": "sha512-+gBE2icjaFnd8Y0TUNNavSlcPu2D7wh+UEwMKMgQwDZ3cuh0givmo+tZA2grdNE3v7p8cJTkoGMu8aZMoRRdqQ==",
|
|
6033
6033
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6034
6034
|
"dependencies": {
|
|
6035
6035
|
"@lightning-out/application": "2.1.1-rc.2"
|
|
@@ -6090,19 +6090,19 @@
|
|
|
6090
6090
|
}
|
|
6091
6091
|
},
|
|
6092
6092
|
"node_modules/@salesforce/sdk-core": {
|
|
6093
|
-
"version": "1.
|
|
6094
|
-
"resolved": "https://registry.npmjs.org/@salesforce/sdk-core/-/sdk-core-1.
|
|
6095
|
-
"integrity": "sha512-
|
|
6093
|
+
"version": "1.63.0",
|
|
6094
|
+
"resolved": "https://registry.npmjs.org/@salesforce/sdk-core/-/sdk-core-1.63.0.tgz",
|
|
6095
|
+
"integrity": "sha512-Xsy+yyEv9JC9TcWEvlrZ8oxVCT8zISAvEI3WSwWY0syylmHSQ4N+VrNpenT6L9FTMBUElJs8OAV4wz9Wt0O5EA==",
|
|
6096
6096
|
"license": "SEE LICENSE IN LICENSE.txt"
|
|
6097
6097
|
},
|
|
6098
6098
|
"node_modules/@salesforce/sdk-data": {
|
|
6099
|
-
"version": "1.
|
|
6100
|
-
"resolved": "https://registry.npmjs.org/@salesforce/sdk-data/-/sdk-data-1.
|
|
6101
|
-
"integrity": "sha512-
|
|
6099
|
+
"version": "1.63.0",
|
|
6100
|
+
"resolved": "https://registry.npmjs.org/@salesforce/sdk-data/-/sdk-data-1.63.0.tgz",
|
|
6101
|
+
"integrity": "sha512-0jLD37AerPJ5Pp0X/jylpQZSo65qsK2D3fyAjo96eKhuo2P35V3CVRQyw/FeP1a+Ug9tWbj9DeNDkufVYisJiA==",
|
|
6102
6102
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6103
6103
|
"dependencies": {
|
|
6104
6104
|
"@conduit-client/salesforce-lightning-service-worker": "^3.7.0",
|
|
6105
|
-
"@salesforce/sdk-core": "^1.
|
|
6105
|
+
"@salesforce/sdk-core": "^1.63.0"
|
|
6106
6106
|
}
|
|
6107
6107
|
},
|
|
6108
6108
|
"node_modules/@salesforce/ts-types": {
|
|
@@ -6115,15 +6115,15 @@
|
|
|
6115
6115
|
}
|
|
6116
6116
|
},
|
|
6117
6117
|
"node_modules/@salesforce/vite-plugin-webapp-experimental": {
|
|
6118
|
-
"version": "1.
|
|
6119
|
-
"resolved": "https://registry.npmjs.org/@salesforce/vite-plugin-webapp-experimental/-/vite-plugin-webapp-experimental-1.
|
|
6120
|
-
"integrity": "sha512-
|
|
6118
|
+
"version": "1.63.0",
|
|
6119
|
+
"resolved": "https://registry.npmjs.org/@salesforce/vite-plugin-webapp-experimental/-/vite-plugin-webapp-experimental-1.63.0.tgz",
|
|
6120
|
+
"integrity": "sha512-93TLZiGMChzMCoHBBP5digBjyh/YJjeyBLPuXTw0iuB3KEhQOnaAeonpRZnow5gtWGJwyARcDLgTPDyP1AA8Vw==",
|
|
6121
6121
|
"dev": true,
|
|
6122
6122
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6123
6123
|
"dependencies": {
|
|
6124
6124
|
"@babel/core": "^7.28.4",
|
|
6125
6125
|
"@babel/helper-plugin-utils": "^7.28.3",
|
|
6126
|
-
"@salesforce/webapp-experimental": "^1.
|
|
6126
|
+
"@salesforce/webapp-experimental": "^1.63.0"
|
|
6127
6127
|
},
|
|
6128
6128
|
"engines": {
|
|
6129
6129
|
"node": ">=20.0.0"
|
|
@@ -6133,13 +6133,13 @@
|
|
|
6133
6133
|
}
|
|
6134
6134
|
},
|
|
6135
6135
|
"node_modules/@salesforce/webapp-experimental": {
|
|
6136
|
-
"version": "1.
|
|
6137
|
-
"resolved": "https://registry.npmjs.org/@salesforce/webapp-experimental/-/webapp-experimental-1.
|
|
6138
|
-
"integrity": "sha512-
|
|
6136
|
+
"version": "1.63.0",
|
|
6137
|
+
"resolved": "https://registry.npmjs.org/@salesforce/webapp-experimental/-/webapp-experimental-1.63.0.tgz",
|
|
6138
|
+
"integrity": "sha512-fJn3uprbLs9nC7aq5Yvg7rAdnu7epUzBw/n9KS9hQ40OCYs8b765uCLGCxZzzAJV5b8YVbdTz1x9dWpyV1ceRQ==",
|
|
6139
6139
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6140
6140
|
"dependencies": {
|
|
6141
6141
|
"@salesforce/core": "^8.23.4",
|
|
6142
|
-
"@salesforce/sdk-data": "^1.
|
|
6142
|
+
"@salesforce/sdk-data": "^1.63.0",
|
|
6143
6143
|
"axios": "^1.7.7",
|
|
6144
6144
|
"micromatch": "^4.0.8",
|
|
6145
6145
|
"path-to-regexp": "^8.3.0"
|
|
@@ -14731,9 +14731,9 @@
|
|
|
14731
14731
|
}
|
|
14732
14732
|
},
|
|
14733
14733
|
"node_modules/postcss": {
|
|
14734
|
-
"version": "8.5.
|
|
14735
|
-
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.
|
|
14736
|
-
"integrity": "sha512-
|
|
14734
|
+
"version": "8.5.8",
|
|
14735
|
+
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.8.tgz",
|
|
14736
|
+
"integrity": "sha512-OW/rX8O/jXnm82Ey1k44pObPtdblfiuWnrd8X7GJ7emImCOstunGbXUpp7HdBrFQX6rJzn3sPT397Wp5aCwCHg==",
|
|
14737
14737
|
"funding": [
|
|
14738
14738
|
{
|
|
14739
14739
|
"type": "opencollective",
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
"graphql:schema": "node scripts/get-graphql-schema.mjs"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@salesforce/agentforce-conversation-client": "^1.
|
|
19
|
-
"@salesforce/sdk-data": "^1.
|
|
20
|
-
"@salesforce/webapp-experimental": "
|
|
18
|
+
"@salesforce/agentforce-conversation-client": "^1.63.0",
|
|
19
|
+
"@salesforce/sdk-data": "^1.63.0",
|
|
20
|
+
"@salesforce/webapp-experimental": "^1.63.0",
|
|
21
21
|
"@tailwindcss/vite": "^4.1.17",
|
|
22
22
|
"@tanstack/react-form": "^1.28.3",
|
|
23
23
|
"class-variance-authority": "^0.7.1",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"react-dom": "^19.2.0",
|
|
29
29
|
"react-router": "^7.10.1",
|
|
30
30
|
"shadcn": "^3.8.5",
|
|
31
|
-
"tailwind-merge": "^3.
|
|
31
|
+
"tailwind-merge": "^3.4.0",
|
|
32
32
|
"tailwindcss": "^4.1.17",
|
|
33
33
|
"tw-animate-css": "^1.4.0",
|
|
34
34
|
"zod": "^4.3.6"
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"@graphql-eslint/eslint-plugin": "^4.1.0",
|
|
42
42
|
"@graphql-tools/utils": "^11.0.0",
|
|
43
43
|
"@playwright/test": "^1.49.0",
|
|
44
|
-
"@salesforce/vite-plugin-webapp-experimental": "
|
|
44
|
+
"@salesforce/vite-plugin-webapp-experimental": "^1.63.0",
|
|
45
45
|
"@testing-library/jest-dom": "^6.6.3",
|
|
46
46
|
"@testing-library/react": "^16.1.0",
|
|
47
47
|
"@testing-library/user-event": "^14.5.2",
|
package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/alert.tsx
CHANGED
|
@@ -1,69 +1,76 @@
|
|
|
1
|
-
import * as React from
|
|
2
|
-
import { cva, type VariantProps } from
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { cva, type VariantProps } from 'class-variance-authority';
|
|
3
3
|
|
|
4
|
-
import { cn } from
|
|
4
|
+
import { cn } from '../../lib/utils';
|
|
5
5
|
|
|
6
6
|
const alertVariants = cva(
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
7
|
+
"grid gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 w-full relative group/alert",
|
|
8
|
+
{
|
|
9
|
+
variants: {
|
|
10
|
+
variant: {
|
|
11
|
+
default: 'bg-card text-card-foreground',
|
|
12
|
+
destructive:
|
|
13
|
+
'text-destructive bg-card *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
defaultVariants: {
|
|
17
|
+
variant: 'default',
|
|
18
|
+
},
|
|
19
|
+
}
|
|
20
20
|
);
|
|
21
21
|
|
|
22
22
|
function Alert({
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}: React.ComponentProps<
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
23
|
+
className,
|
|
24
|
+
variant,
|
|
25
|
+
...props
|
|
26
|
+
}: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>) {
|
|
27
|
+
return (
|
|
28
|
+
<div
|
|
29
|
+
data-slot="alert"
|
|
30
|
+
role="alert"
|
|
31
|
+
className={cn(alertVariants({ variant }), className)}
|
|
32
|
+
{...props}
|
|
33
|
+
/>
|
|
34
|
+
);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
function AlertTitle({ className, ...props }: React.ComponentProps<
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
37
|
+
function AlertTitle({ className, ...props }: React.ComponentProps<'div'>) {
|
|
38
|
+
return (
|
|
39
|
+
<div
|
|
40
|
+
data-slot="alert-title"
|
|
41
|
+
className={cn(
|
|
42
|
+
'font-medium group-has-[>svg]/alert:col-start-2 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3',
|
|
43
|
+
className
|
|
44
|
+
)}
|
|
45
|
+
{...props}
|
|
46
|
+
/>
|
|
47
|
+
);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
function AlertDescription({
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
50
|
+
function AlertDescription({
|
|
51
|
+
className,
|
|
52
|
+
...props
|
|
53
|
+
}: React.ComponentProps<'div'>) {
|
|
54
|
+
return (
|
|
55
|
+
<div
|
|
56
|
+
data-slot="alert-description"
|
|
57
|
+
className={cn(
|
|
58
|
+
'text-muted-foreground text-sm text-balance md:text-pretty [&_p:not(:last-child)]:mb-4 [&_a]:hover:text-foreground [&_a]:underline [&_a]:underline-offset-3',
|
|
59
|
+
className
|
|
60
|
+
)}
|
|
61
|
+
{...props}
|
|
62
|
+
/>
|
|
63
|
+
);
|
|
61
64
|
}
|
|
62
65
|
|
|
63
|
-
function AlertAction({ className, ...props }: React.ComponentProps<
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
66
|
+
function AlertAction({ className, ...props }: React.ComponentProps<'div'>) {
|
|
67
|
+
return (
|
|
68
|
+
<div
|
|
69
|
+
data-slot="alert-action"
|
|
70
|
+
className={cn('absolute top-2 right-2', className)}
|
|
71
|
+
{...props}
|
|
72
|
+
/>
|
|
73
|
+
);
|
|
67
74
|
}
|
|
68
75
|
|
|
69
76
|
export { Alert, AlertTitle, AlertDescription, AlertAction };
|
package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/button.tsx
CHANGED
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
import * as React from
|
|
2
|
-
import { cva, type VariantProps } from
|
|
3
|
-
import { Slot } from
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { cva, type VariantProps } from 'class-variance-authority';
|
|
3
|
+
import { Slot } from 'radix-ui';
|
|
4
4
|
|
|
5
|
-
import { cn } from
|
|
5
|
+
import { cn } from '../../lib/utils';
|
|
6
6
|
|
|
7
7
|
const buttonVariants = cva(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
8
|
+
"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-lg border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-3 aria-invalid:ring-3 [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none",
|
|
9
|
+
{
|
|
10
|
+
variants: {
|
|
11
|
+
variant: {
|
|
12
|
+
default: 'bg-primary text-primary-foreground [a]:hover:bg-primary/80',
|
|
13
|
+
outline:
|
|
14
|
+
'border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground',
|
|
15
|
+
secondary:
|
|
16
|
+
'bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground',
|
|
17
|
+
ghost:
|
|
18
|
+
'hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground',
|
|
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',
|
|
21
|
+
link: 'text-primary underline-offset-4 hover:underline',
|
|
22
|
+
},
|
|
23
|
+
size: {
|
|
24
|
+
default:
|
|
25
|
+
'h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2',
|
|
26
|
+
xs: "h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
|
|
27
|
+
sm: "h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",
|
|
28
|
+
lg: 'h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3',
|
|
29
|
+
icon: 'size-8',
|
|
30
|
+
'icon-xs':
|
|
31
|
+
"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3",
|
|
32
|
+
'icon-sm':
|
|
33
|
+
'size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg',
|
|
34
|
+
'icon-lg': 'size-9',
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
defaultVariants: {
|
|
38
|
+
variant: 'default',
|
|
39
|
+
size: 'default',
|
|
40
|
+
},
|
|
41
|
+
}
|
|
42
42
|
);
|
|
43
43
|
|
|
44
44
|
function Button({
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}: React.ComponentProps<
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
45
|
+
className,
|
|
46
|
+
variant = 'default',
|
|
47
|
+
size = 'default',
|
|
48
|
+
asChild = false,
|
|
49
|
+
...props
|
|
50
|
+
}: React.ComponentProps<'button'> &
|
|
51
|
+
VariantProps<typeof buttonVariants> & {
|
|
52
|
+
asChild?: boolean;
|
|
53
|
+
}) {
|
|
54
|
+
const Comp = asChild ? Slot.Root : 'button';
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
56
|
+
return (
|
|
57
|
+
<Comp
|
|
58
|
+
data-slot="button"
|
|
59
|
+
data-variant={variant}
|
|
60
|
+
data-size={size}
|
|
61
|
+
className={cn(buttonVariants({ variant, size, className }))}
|
|
62
|
+
{...(props as any)}
|
|
63
|
+
/>
|
|
64
|
+
);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
export { Button, buttonVariants };
|
package/dist/force-app/main/default/webapplications/appreacttemplateb2e/src/components/ui/card.tsx
CHANGED
|
@@ -1,92 +1,103 @@
|
|
|
1
|
-
import * as React from
|
|
1
|
+
import * as React from 'react';
|
|
2
2
|
|
|
3
|
-
import { cn } from
|
|
3
|
+
import { cn } from '../../lib/utils';
|
|
4
4
|
|
|
5
5
|
function Card({
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}: React.ComponentProps<
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
6
|
+
className,
|
|
7
|
+
size = 'default',
|
|
8
|
+
...props
|
|
9
|
+
}: React.ComponentProps<'div'> & { size?: 'default' | 'sm' }) {
|
|
10
|
+
return (
|
|
11
|
+
<div
|
|
12
|
+
data-slot="card"
|
|
13
|
+
data-size={size}
|
|
14
|
+
className={cn(
|
|
15
|
+
'ring-foreground/10 bg-card text-card-foreground gap-4 overflow-hidden rounded-xl py-4 text-sm ring-1 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col',
|
|
16
|
+
className
|
|
17
|
+
)}
|
|
18
|
+
{...props}
|
|
19
|
+
/>
|
|
20
|
+
);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
function CardHeader({ className, ...props }: React.ComponentProps<
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
23
|
+
function CardHeader({ className, ...props }: React.ComponentProps<'div'>) {
|
|
24
|
+
return (
|
|
25
|
+
<div
|
|
26
|
+
data-slot="card-header"
|
|
27
|
+
className={cn(
|
|
28
|
+
'gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]',
|
|
29
|
+
className
|
|
30
|
+
)}
|
|
31
|
+
{...props}
|
|
32
|
+
/>
|
|
33
|
+
);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
function CardTitle({ className, ...props }: React.ComponentProps<
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
36
|
+
function CardTitle({ className, ...props }: React.ComponentProps<'div'>) {
|
|
37
|
+
return (
|
|
38
|
+
<div
|
|
39
|
+
data-slot="card-title"
|
|
40
|
+
className={cn(
|
|
41
|
+
'text-base leading-snug font-medium group-data-[size=sm]/card:text-sm',
|
|
42
|
+
className
|
|
43
|
+
)}
|
|
44
|
+
{...props}
|
|
45
|
+
/>
|
|
46
|
+
);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
function CardDescription({ className, ...props }: React.ComponentProps<
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
49
|
+
function CardDescription({ className, ...props }: React.ComponentProps<'div'>) {
|
|
50
|
+
return (
|
|
51
|
+
<div
|
|
52
|
+
data-slot="card-description"
|
|
53
|
+
className={cn('text-muted-foreground text-sm', className)}
|
|
54
|
+
{...props}
|
|
55
|
+
/>
|
|
56
|
+
);
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
function CardAction({ className, ...props }: React.ComponentProps<
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
59
|
+
function CardAction({ className, ...props }: React.ComponentProps<'div'>) {
|
|
60
|
+
return (
|
|
61
|
+
<div
|
|
62
|
+
data-slot="card-action"
|
|
63
|
+
className={cn(
|
|
64
|
+
'col-start-2 row-span-2 row-start-1 self-start justify-self-end',
|
|
65
|
+
className
|
|
66
|
+
)}
|
|
67
|
+
{...props}
|
|
68
|
+
/>
|
|
69
|
+
);
|
|
67
70
|
}
|
|
68
71
|
|
|
69
|
-
function CardContent({ className, ...props }: React.ComponentProps<
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
72
|
+
function CardContent({ className, ...props }: React.ComponentProps<'div'>) {
|
|
73
|
+
return (
|
|
74
|
+
<div
|
|
75
|
+
data-slot="card-content"
|
|
76
|
+
className={cn('px-4 group-data-[size=sm]/card:px-3', className)}
|
|
77
|
+
{...props}
|
|
78
|
+
/>
|
|
79
|
+
);
|
|
77
80
|
}
|
|
78
81
|
|
|
79
|
-
function CardFooter({ className, ...props }: React.ComponentProps<
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
82
|
+
function CardFooter({ className, ...props }: React.ComponentProps<'div'>) {
|
|
83
|
+
return (
|
|
84
|
+
<div
|
|
85
|
+
data-slot="card-footer"
|
|
86
|
+
className={cn(
|
|
87
|
+
'bg-muted/50 rounded-b-xl border-t p-4 group-data-[size=sm]/card:p-3 flex items-center',
|
|
88
|
+
className
|
|
89
|
+
)}
|
|
90
|
+
{...props}
|
|
91
|
+
/>
|
|
92
|
+
);
|
|
90
93
|
}
|
|
91
94
|
|
|
92
|
-
export {
|
|
95
|
+
export {
|
|
96
|
+
Card,
|
|
97
|
+
CardHeader,
|
|
98
|
+
CardFooter,
|
|
99
|
+
CardTitle,
|
|
100
|
+
CardAction,
|
|
101
|
+
CardDescription,
|
|
102
|
+
CardContent,
|
|
103
|
+
};
|