Skip to content

New Admin UI #4223

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 597 commits into
base: next
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
597 commits
Select commit Hold shift + click to select a range
1f16139
wip
adrians5j Feb 6, 2025
c204093
wip
adrians5j Feb 6, 2025
674f4ec
wip
adrians5j Feb 6, 2025
e66d20d
wip
adrians5j Feb 6, 2025
a9e4de2
wip
adrians5j Feb 6, 2025
74f78f4
wip
adrians5j Feb 6, 2025
d0487a9
wip
adrians5j Feb 6, 2025
e859420
wip
adrians5j Feb 6, 2025
60cda1d
wip
adrians5j Feb 6, 2025
bd4a7d4
wip
adrians5j Feb 6, 2025
5ae0ade
wip
adrians5j Feb 6, 2025
c5afa9d
fix: rename skeletonPulse to skeleton-pulse
adrians5j Feb 7, 2025
cf9c947
fix: use TW numbers instead of px
adrians5j Feb 7, 2025
effc6fa
fix: remove redundant displayName setting
adrians5j Feb 7, 2025
844a55e
fix: make Icon label prop required again
adrians5j Feb 7, 2025
5e5cb9c
fix: use `cva`
adrians5j Feb 7, 2025
002ee3e
fix: remove default value
adrians5j Feb 7, 2025
b13d00c
fix: use `cva`
adrians5j Feb 7, 2025
6199d04
fix: use `cva`
adrians5j Feb 7, 2025
09dc98c
fix: remove context
adrians5j Feb 7, 2025
22efe18
fix: remove comment
adrians5j Feb 7, 2025
96e2abf
feat(admin-ui): IconPicker component (#4519)
leopuleo Feb 7, 2025
08c3431
docs: improved design system documentation - button (#4527)
swapnilmmane Feb 7, 2025
a7c769c
wip
adrians5j Feb 10, 2025
747fa3f
wip
adrians5j Feb 10, 2025
e408823
wip
adrians5j Feb 10, 2025
d2c65f3
wip
adrians5j Feb 10, 2025
1c05b9b
wip
adrians5j Feb 10, 2025
a6e9e4a
Merge remote-tracking branch 'refs/remotes/origin/feat/new-admin-ui' …
adrians5j Feb 10, 2025
cdb3bcb
wip
adrians5j Feb 10, 2025
64c3a74
wip
adrians5j Feb 10, 2025
42df0a0
wip
adrians5j Feb 10, 2025
ffad86a
wip
adrians5j Feb 10, 2025
c5cd0aa
wip
adrians5j Feb 10, 2025
0198736
wip
adrians5j Feb 10, 2025
0093c96
feat: create Accordion component (#4505)
adrians5j Feb 10, 2025
9f0910b
Merge remote-tracking branch 'refs/remotes/origin/feat/new-admin-ui' …
adrians5j Feb 10, 2025
e379a80
wip
adrians5j Feb 10, 2025
f0e4a58
wip
adrians5j Feb 10, 2025
8cff522
wip
adrians5j Feb 10, 2025
8dae741
wip
adrians5j Feb 11, 2025
ca7992d
wip
adrians5j Feb 11, 2025
890e321
wip
adrians5j Feb 14, 2025
6cd47ca
wip
adrians5j Feb 18, 2025
c622384
wip
adrians5j Feb 19, 2025
7ad8c8b
wip
adrians5j Feb 20, 2025
f586df0
wip
adrians5j Feb 20, 2025
ae71301
wip
adrians5j Feb 20, 2025
b4946d3
wip
adrians5j Feb 20, 2025
cd145a5
wip
adrians5j Feb 21, 2025
214e31e
wip
adrians5j Feb 24, 2025
1012c76
wip
adrians5j Feb 24, 2025
1c6a8ae
wip
adrians5j Feb 24, 2025
511d587
wip
adrians5j Feb 25, 2025
b02112e
wip
adrians5j Feb 25, 2025
bb676c6
wip
adrians5j Feb 25, 2025
845a754
wip
adrians5j Feb 25, 2025
c2a6e5a
wip
adrians5j Feb 26, 2025
24f37ff
wip
adrians5j Feb 26, 2025
e386d4e
wip
adrians5j Feb 26, 2025
aacb514
wip
adrians5j Feb 26, 2025
70e7a73
wip
adrians5j Feb 26, 2025
44dd9e3
wip
adrians5j Feb 26, 2025
6121198
wip
adrians5j Feb 27, 2025
3ba36cb
wip
adrians5j Feb 27, 2025
db52f75
wip
adrians5j Feb 27, 2025
d80300a
wip
adrians5j Feb 27, 2025
0c1dbc2
wip
adrians5j Feb 27, 2025
2315d5f
wip
adrians5j Feb 27, 2025
674d0bb
wip
adrians5j Feb 28, 2025
bc465ca
wip
adrians5j Feb 28, 2025
7ed2218
wip
adrians5j Feb 28, 2025
b77b433
refactor(admin-ui): various fixes (#4554)
leopuleo Feb 28, 2025
99a2900
wip
adrians5j Feb 28, 2025
7ae076a
wip
adrians5j Mar 3, 2025
3fe320d
wip
adrians5j Mar 3, 2025
374a8eb
wip
adrians5j Mar 3, 2025
90132c5
wip
adrians5j Mar 3, 2025
b1c877f
wip
adrians5j Mar 3, 2025
c347b1a
update IconButton styles to include img support in class names
adrians5j Mar 3, 2025
83d928a
update IconButton styles to include img support in class names
adrians5j Mar 3, 2025
5830cc5
update IconButton styles to include img support in class names
adrians5j Mar 3, 2025
7f88a48
wip
adrians5j Mar 3, 2025
6b586f6
wip
adrians5j Mar 3, 2025
584b8fb
wip
adrians5j Mar 4, 2025
14bb6a5
wip
adrians5j Mar 4, 2025
62b7c8c
wip
adrians5j Mar 4, 2025
6995a64
wip
adrians5j Mar 4, 2025
618d4f3
wip
adrians5j Mar 4, 2025
c3be861
wip
adrians5j Mar 4, 2025
4d8ca13
wip
adrians5j Mar 4, 2025
9f94a7b
wip
adrians5j Mar 4, 2025
a13c6b4
wip
adrians5j Mar 4, 2025
d3a152e
wip
adrians5j Mar 4, 2025
4ac129a
wip
adrians5j Mar 4, 2025
afc25df
wip
adrians5j Mar 4, 2025
1a9a70a
wip
adrians5j Mar 4, 2025
5d5920c
wip
adrians5j Mar 4, 2025
7f64384
wip
adrians5j Mar 4, 2025
46433ba
wip
adrians5j Mar 4, 2025
87cddb9
wip
adrians5j Mar 4, 2025
b75ce6e
wip
adrians5j Mar 4, 2025
45201a0
wip
adrians5j Mar 4, 2025
3d53573
wip
adrians5j Mar 4, 2025
06d8040
wip
adrians5j Mar 4, 2025
49a62d7
wip
adrians5j Mar 5, 2025
00a1d14
wip
adrians5j Mar 5, 2025
d32b001
wip
adrians5j Mar 5, 2025
26a2f2a
wip
adrians5j Mar 5, 2025
ea1d5c1
wip: undo recent BC-related changes
adrians5j Mar 5, 2025
2d51810
Merge remote-tracking branch 'refs/remotes/origin/feat/new-admin-ui' …
adrians5j Mar 5, 2025
6990f76
wip: undo recent BC-related changes
adrians5j Mar 5, 2025
5c1f2b2
wip
adrians5j Mar 5, 2025
9c0a788
wip
adrians5j Mar 5, 2025
fd5b56e
wip
adrians5j Mar 5, 2025
56e37cd
wip
adrians5j Mar 5, 2025
9460dd9
Merge branch 'refs/heads/feat/nav' into feat/nav-in-admin
adrians5j Mar 5, 2025
c935d8d
wip
adrians5j Mar 5, 2025
ac5ed75
wip
adrians5j Mar 5, 2025
91f0509
Merge branch 'refs/heads/feat/nav' into feat/nav-in-admin
adrians5j Mar 5, 2025
ef70fe5
wip
adrians5j Mar 5, 2025
feeeeee
docs: added icon only button doc & some other button doc improvements…
swapnilmmane Mar 6, 2025
c8d9192
feat(admin-ui): add ColorPicker component (#4553)
leopuleo Mar 6, 2025
8ef1d9c
feat(admin-ui): add RichTextEditor component (#4544)
leopuleo Mar 6, 2025
8ebdca3
wip
adrians5j Mar 6, 2025
c7ead1d
Merge branch 'refs/heads/feat/nav' into feat/nav-in-admin
adrians5j Mar 6, 2025
3c39c6a
wip
adrians5j Mar 10, 2025
8272117
wip
adrians5j Mar 10, 2025
eb34f36
wip
adrians5j Mar 10, 2025
67bf73d
wip
adrians5j Mar 10, 2025
a1a0632
Merge remote-tracking branch 'refs/remotes/origin/feat/new-admin-ui' …
adrians5j Mar 10, 2025
7a21bde
Merge branch 'refs/heads/feat/nav' into feat/nav-in-admin
adrians5j Mar 10, 2025
42686d8
wip
adrians5j Mar 10, 2025
9a300de
wip
adrians5j Mar 10, 2025
b8517a9
wip
adrians5j Mar 10, 2025
1b9aaa8
Merge branch 'refs/heads/feat/nav' into feat/nav-in-admin
adrians5j Mar 10, 2025
27e11ef
wip
adrians5j Mar 10, 2025
91593a0
wip
adrians5j Mar 11, 2025
b100f0e
wip
adrians5j Mar 11, 2025
8837e43
wip
adrians5j Mar 11, 2025
6410885
wip
adrians5j Mar 12, 2025
744b2eb
feat(admin-ui): List and DataList components (#4542)
leopuleo Mar 12, 2025
21d2eaf
refactor(admin-ui): refactor Toast and use sonner for notifications (…
leopuleo Mar 12, 2025
4dcf0eb
wip
adrians5j Mar 13, 2025
c5f3cc7
feat: create Sidebar component (#4536)
adrians5j Mar 13, 2025
4d3f656
Merge remote-tracking branch 'refs/remotes/origin/feat/new-admin-ui' …
adrians5j Mar 13, 2025
1f42d5e
wip
adrians5j Mar 13, 2025
addc8b8
wip: fixes with Pavel
adrians5j Mar 14, 2025
acafd28
wip: fixes with Pavel
adrians5j Mar 14, 2025
21da3b9
fix: sort properties according to $first and $last keyword
Pavel910 Mar 14, 2025
a8ee482
wip: fixes with Pavel
adrians5j Mar 18, 2025
4a3c249
Merge branch 'feat/nav-in-admin' of github.com:webiny/webiny-js into …
adrians5j Mar 18, 2025
e3ea8ca
wip
adrians5j Mar 18, 2025
74d80a2
wip
adrians5j Mar 18, 2025
165938d
wip
adrians5j Mar 18, 2025
366f6d6
wip
adrians5j Mar 18, 2025
f9b0a38
wip
adrians5j Mar 18, 2025
0447fcb
wip
adrians5j Mar 18, 2025
6430563
wip
adrians5j Mar 18, 2025
e88dc4e
wip
adrians5j Mar 18, 2025
c011dea
wip
adrians5j Mar 18, 2025
65257a1
wip
adrians5j Mar 18, 2025
6ecb01d
wip
adrians5j Mar 18, 2025
93661fd
wip
adrians5j Mar 18, 2025
a0aea99
wip
adrians5j Mar 18, 2025
438da26
wip
adrians5j Mar 18, 2025
c8a38d4
wip
adrians5j Mar 19, 2025
83b7ac2
wip
adrians5j Mar 19, 2025
12eec5f
wip
adrians5j Mar 19, 2025
2916832
wip
adrians5j Mar 19, 2025
20b8ad0
wip
adrians5j Mar 19, 2025
38dfc20
Merge branch 'refs/heads/feat/nav-in-admin' into feat/nav-in-admin-2
adrians5j Mar 19, 2025
5fb1728
wip
adrians5j Mar 19, 2025
cf82e7d
wip
adrians5j Mar 19, 2025
06a7883
wip
adrians5j Mar 19, 2025
7bb4595
wip
adrians5j Mar 19, 2025
cb61470
wip
adrians5j Mar 19, 2025
0bb031e
Merge branch 'refs/heads/feat/nav-in-admin' into feat/nav-in-admin-2
adrians5j Mar 19, 2025
200b604
test(react-properties): add new properties
Pavel910 Mar 19, 2025
a1d8391
wip
adrians5j Mar 19, 2025
9ffdfd2
test(react-properties): update types in test [skip ci]
Pavel910 Mar 19, 2025
2553e20
wip
adrians5j Mar 19, 2025
09616ea
wip
adrians5j Mar 19, 2025
f8de14a
wip
adrians5j Mar 19, 2025
b3e071c
Merge branch 'refs/heads/feat/nav-in-admin' into feat/nav-in-admin-2
adrians5j Mar 19, 2025
d0662f8
feat: integrate Sidebar and Route/Menu Config APIs (#4566)
adrians5j Mar 19, 2025
34f9721
wip
adrians5j Mar 19, 2025
b7f9916
Merge remote-tracking branch 'refs/remotes/origin/feat/new-admin-ui' …
adrians5j Mar 19, 2025
28d45da
wip
adrians5j Mar 20, 2025
75cc457
wip
adrians5j Mar 20, 2025
19a05ce
wip
adrians5j Mar 20, 2025
6279c85
wip
adrians5j Mar 20, 2025
41bb7cd
wip
adrians5j Mar 20, 2025
6032842
feat(admin-ui): add FilePicker and MultiFilePicker components (#4569)
leopuleo Mar 20, 2025
0a0cde6
wip
adrians5j Mar 20, 2025
1d44e20
wip
adrians5j Mar 20, 2025
c3abe16
wip
adrians5j Mar 20, 2025
bb192ef
wip
adrians5j Mar 21, 2025
4aefff1
Merge remote-tracking branch 'refs/remotes/origin/feat/new-admin-ui' …
adrians5j Mar 21, 2025
2e072c8
wip
adrians5j Mar 21, 2025
c1f9732
wip
adrians5j Mar 21, 2025
c3051a6
feat: create Footer Menus / Support Menus / Other Fixes (#4570)
adrians5j Mar 21, 2025
da1e187
Merge remote-tracking branch 'refs/remotes/origin/feat/new-admin-ui' …
adrians5j Mar 22, 2025
e3e8e1d
wip
adrians5j Mar 22, 2025
53c1684
wip
adrians5j Mar 22, 2025
bdea7c4
wip
adrians5j Mar 22, 2025
c9643e0
wip
adrians5j Mar 22, 2025
b71c0f8
wip
adrians5j Mar 22, 2025
a247e0f
wip
adrians5j Mar 24, 2025
3d0d814
wip
adrians5j Mar 24, 2025
1942d1c
wip
adrians5j Mar 24, 2025
9b6ca21
wip
adrians5j Mar 24, 2025
ca8959f
Merge remote-tracking branch 'refs/remotes/origin/next' into merge/ne…
adrians5j Mar 24, 2025
e9d91ca
merge: resolve conflicts
adrians5j Mar 24, 2025
df98155
merge: resolve conflicts
adrians5j Mar 24, 2025
79c14c1
merge: resolve conflicts
adrians5j Mar 24, 2025
50b48a8
feat: create `@webiny/icons` Package
adrians5j Mar 24, 2025
101fd54
refactor(admin-ui): replace Accordion primitives with Collapsible pri…
leopuleo Mar 25, 2025
80d5603
refactor(admin-ui): update Text and Heading components to use childre…
leopuleo Mar 25, 2025
a0ec53b
merge: resolve conflicts
adrians5j Mar 26, 2025
053c057
Merge remote-tracking branch 'refs/remotes/origin/feat/new-admin-ui' …
adrians5j Mar 26, 2025
72184cf
merge: resolve conflicts
adrians5j Mar 26, 2025
8ad1be7
merge: pull changes from `next` (#4574)
adrians5j Mar 26, 2025
ee553f5
fix(admin-ui): various fixes (#4578)
leopuleo Mar 27, 2025
473dd84
refactor: adjust import statement for DynamicFieldset
leopuleo Mar 27, 2025
3a4995c
fix(app-aco): various UI fixes - app-aco (#4582)
leopuleo Mar 31, 2025
371252c
chore: merge `next` → `admin-ui` (#4587)
leopuleo Apr 1, 2025
3c98baa
feat(admin-ui): login and dashboard view (#4588)
leopuleo Apr 1, 2025
053870a
fix: implement `Menu.User` and `Tenant` configurations (#4586)
adrians5j Apr 2, 2025
c312ef9
fix: implement backwards compatibility for `TopAppBar` (#4589)
adrians5j Apr 2, 2025
5004a83
feat: open sidebar on hover and enable pinning (#4590)
adrians5j Apr 3, 2025
3ebda6b
fix: add public and protected admin configs
Pavel910 Apr 4, 2025
201393a
fix(admin-ui): various admin-ui fixes (#4591)
leopuleo Apr 4, 2025
0315394
fix(admin-ui): remove `@material/*` resources (#4592)
leopuleo Apr 7, 2025
b9fdf9f
fix(admin-ui): various admin-ui fixes (#4593)
leopuleo Apr 9, 2025
4c5046d
docs: added Storybook documentation for Alert, AutoComplete, and Butt…
swapnilmmane Apr 10, 2025
3b50bd1
fix(admin-ui): various admin-ui fixes (#4594)
leopuleo Apr 14, 2025
fe56167
docs: added Storybook documentation for Checkbox and CheckboxGroup co…
swapnilmmane Apr 18, 2025
2fe1229
docs: added Storybook documentation for Input component (#4610)
swapnilmmane Apr 23, 2025
704019e
docs: added Storybook documentation for various component (#4611)
swapnilmmane Apr 23, 2025
288cc70
docs: added Storybook documentation for various component (#4612)
swapnilmmane May 2, 2025
9ca62ac
docs: added storybook for MultiAutoComplete and MultiFilePicker (#4619)
swapnilmmane May 9, 2025
4a1aa90
docs: added Storybook documentation for Drawer and Dialog component …
swapnilmmane May 9, 2025
21d7ff9
docs: added Storybook documentation for various component (#4627)
swapnilmmane May 16, 2025
6d3d487
docs: added Storybook documentation for various component (#4629)
swapnilmmane May 16, 2025
0ff7dd7
docs: added Storybook documentation for various component
swapnilmmane May 20, 2025
1b4f30b
docs: added Storybook documentation for Loader component and update R…
swapnilmmane May 21, 2025
d7aa398
docs: added missing text for menu item story
swapnilmmane May 21, 2025
68440aa
Merge: `next` → `new-admin-ui` (#4646)
leopuleo May 29, 2025
290288b
fix: admin-ui v4 (#4657)
leopuleo Jun 10, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .github/workflows/wac/utils/listPackagesWithJestTests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,13 @@ const CUSTOM_HANDLERS: Record<string, () => Array<PackageWithTests>> = {
}
];
},
"admin-ui": () => {
return [
{
cmd: "packages/admin-ui"
}
];
},
migrations: () => {
return [
{
Expand Down
7 changes: 3 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,7 @@ schema.graphql
.pnp.*
lerna.json
.stormTests

# TODO remove after moving traffic splitting config to WPC
gateway.*.json

*storybook.log
.normalizedFigmaExport.json
.normalizedPrimitivesFigmaExport.json
packages/tasks/tpl/*
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
.webiny/**
packages/ui/src/RichTextEditor/editorjs/**
packages/cli-plugin-deploy-pulumi/src/commands/newWatch/handler/mqtt.js
packages/admin-ui/scripts/importFromFigma/exports/Alias tokens.json
packages/cli-plugin-scaffold-ci/src/githubActions/files/workflows/
lerna.json
coverage/**
Expand Down
14 changes: 0 additions & 14 deletions apps/admin/src/App.scss
Original file line number Diff line number Diff line change
@@ -1,16 +1,2 @@
// Webiny theme variables
// $webiny-theme-light-primary: #fa5723;
// $webiny-theme-light-secondary: #00ccb0;
// $webiny-theme-light-background: #f2f2f2;
// $webiny-theme-light-surface: #fff;
// $webiny-theme-light-on-primary: #ffffff;
// $webiny-theme-light-on-secondary: #ffffff;
// $webiny-theme-light-on-surface: #000000;
// $webiny-theme-light-on-background: rgba(212, 212, 212, 0.5);
// $webiny-theme-light-text-primary-on-background: rgba(0, 0, 0, 0.87);
// $webiny-theme-light-text-secondary-on-background: rgba(0, 0, 0, 0.54);
// $webiny-theme-light-text-hint-on-dark: rgba(255, 255, 255, 0.5);
// $webiny-theme-typography-font-family: "Source Sans Pro";

// Import main styles
@import "~@webiny/app-serverless-cms/styles.scss";
4 changes: 3 additions & 1 deletion apps/api/graphql/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,9 @@ export const handler = createHandler({
createApwPageBuilderContext({
storageOperations: createApwSaStorageOperations({ documentClient })
}),
createAco(),
createAco({
documentClient
}),
createAcoPageBuilderContext(),
createAcoHcmsContext(),
createHcmsTasks(),
Expand Down
2 changes: 0 additions & 2 deletions apps/core/dynamoToElastic/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
import { createHandler } from "@webiny/handler-aws/raw";
import elasticsearchClientContextPlugin from "@webiny/api-elasticsearch";
import elasticsearchDataGzipCompression from "@webiny/api-elasticsearch/plugins/GzipCompression";
import { createEventHandler as createDynamoDBEventHandler } from "@webiny/api-dynamodb-to-elasticsearch";

export const handler = createHandler({
plugins: [
elasticsearchClientContextPlugin({
endpoint: `https://${process.env.ELASTIC_SEARCH_ENDPOINT}`
}),
elasticsearchDataGzipCompression(),
createDynamoDBEventHandler()
]
});
10 changes: 7 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@
"@babel/preset-react": "^7.26.3",
"@babel/preset-typescript": "^7.26.0",
"@babel/register": "^7.25.9",
"@babel/runtime": "7.26.7",
"@babel/runtime": "7.26.10",
"@babel/template": "^7.25.9",
"@babel/traverse": "7.26.7",
"@babel/types": "7.26.7",
Expand Down Expand Up @@ -171,6 +171,7 @@
"webiny-versions": "node ./scripts/webinyVersions.js",
"trigger-release": "node ./scripts/release/triggerRelease.js",
"dispatch-github-event": "node ./scripts/dispatchGitHubEvent.js",
"link-workspaces": "node ./scripts/linkWorkspaces.js",
"lint-staged": "lint-staged",
"postinstall": "yarn node ./scripts/linkWorkspaces.js",
"prepublishOnly": "node scripts/prepublishOnly",
Expand All @@ -194,7 +195,10 @@
"system:verify": "yarn eslint && yarn prettier:check && yarn adio && yarn check-ts-configs && yarn webiny verify-dependencies",
"system:build": "yarn && yarn ghawac build && yarn webiny sync-dependencies && yarn build",
"wby": "./node_modules/.bin/wby",
"webiny-ui-build-storybook": "cd packages/ui && cross-env OUT=../../netlify-static yarn build-storybook"
"webiny-admin-storybook": "cd packages/admin-ui && yarn storybook",
"webiny-admin-storybook-docs": "cd packages/admin-ui && yarn storybook-docs",
"webiny-admin-build-storybook": "cd packages/admin-ui && cross-env OUT=../../netlify-static yarn build-storybook",
"webiny-admin-import-from-figma": "node packages/admin-ui/scripts/importFromFigma.js"
},
"husky": {
"hooks": {
Expand Down Expand Up @@ -246,7 +250,7 @@
]
},
"resolutions": {
"@babel/runtime": "^7.26.0",
"@babel/runtime": "7.26.10",
"systeminformation": "^5.23.18",
"@emotion/react": "11.10.8",
"@octokit/rest": "^20.0.2",
Expand Down
File renamed without changes.
118 changes: 118 additions & 0 deletions packages/admin-ui/.storybook/main.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
import type { StorybookConfig } from "@storybook/react-webpack5";
import path from "path";
import tailwindcss from "tailwindcss";

/**
* This function is used to resolve the absolute path of a package.
* It is needed in projects that use Yarn PnP or are set up within a monorepo.
*/
function getAbsolutePath(value: string): any {
return path.dirname(require.resolve(path.join(value, "package.json")));
}

const config: StorybookConfig = {
stories: [
"../docs/stories/**/*.mdx",
"../src/**/*.mdx",
"../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"
],
staticDirs: ["../assets"],
addons: [
getAbsolutePath("@storybook/addon-a11y"),
{
name: "@storybook/addon-essentials",
options: {
controls: true,
code: true
}
}
],
framework: {
name: getAbsolutePath("@storybook/react-webpack5"),
options: {}
},
core: {
disableTelemetry: true,
disableWhatsNewNotifications: true
},
webpackFinal: async config => {
config.resolve = config.resolve || {};
config.resolve.alias = {
...config.resolve.alias,
"~": path.resolve(__dirname, "../src")
};

// Add custom style handling
config.module?.rules?.push({
test: /\.s[ac]ss$/i,
use: [
"style-loader",
{
loader: "css-loader",
options: {
importLoaders: 1
}
},
{
loader: "postcss-loader",
options: {
postcssOptions: {
plugins: [
tailwindcss({
config: path.join(__dirname, "../tailwind.config.js")
})
]
}
}
},
{
loader: "sass-loader",
options: { implementation: require.resolve("sass") }
}
]
});

// Add SVG handling
const svgRule = config.module?.rules?.find(rule => {
const test = (rule as { test: RegExp }).test;
return test ? test.test(".svg") : false;
}) as { [key: string]: any };

if (svgRule) {
svgRule.exclude = /\.svg$/;
}

config.module?.rules?.push({
test: /\.svg$/i,
use: [
{
loader: "@svgr/webpack",
options: {
svgoConfig: {
plugins: [
{
name: "preset-default",
params: {
overrides: {
removeViewBox: false
}
}
}
]
}
}
},
{
loader: "file-loader",
options: {
name: "[name].[hash].[ext]"
}
}
]
});

return config;
}
};

export default config;
12 changes: 12 additions & 0 deletions packages/admin-ui/.storybook/preview.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import type { Preview } from "@storybook/react";

import "../src/theme.scss";

const preview: Preview = {
parameters: {
layout: "centered",
docs: { toc: { headingSelector: "h2, h3, h4" } }
}
};

export default preview;
31 changes: 31 additions & 0 deletions packages/admin-ui/DEVELOPMENT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Overview
This document covers different aspects of the development process for the `@webiny/admin-ui` package.

## Tailwind CSS
Webiny's Admin app uses Tailwind CSS for styling.

### Tailwind Configuration
Tailwind CSS is configured as usual, via the [`tailwind.config.js`](./tailwind.config.js) file. Among other things, this file defines the default Webiny theme, which is based on Webiny's design system. More on this in the next section.

### Default Theme
One of the main things we define via the [`tailwind.config.js`](./tailwind.config.js) file is the default theme, which is based on Webiny's design system, and which can be found in this [Figma file](https://www.figma.com/file/f0QUDWX37Kt5X53eltTRiT/Webiny-Design-System?type=design&node-id=127-26352&mode=design&t=nhoOU7NamjWvImoW-0).

But, do note that all the default theme-values are not actually defined in the `tailwind.config.js` file, but rather in the `tailwind.config.theme.js` file, which is a file that is generated from a Figma export (more on this in the next section).

### Figma To Code
Since manually transferring values from the mentioned Figma file into code has shown to be a very cumbersome process, we've created a script that basically takes a Figma export and generates all the necessary Tailwind CSS configuration.

When we say "Figma export", we basically mean exports of (1) Primitives and (2) Alias tokens, which are created by this [Export/Import Variables](https://www.figma.com/community/plugin/1256972111705530093/export-import-variables) plugin.

The exports need to be downloaded and place into the `packages/admin-ui/scripts/importFromFigma/exports` folder. Ultimately, we should end up with the following two:

1. `packages/admin-ui/scripts/importFromFigma/exports/Alias tokens.json`
2. `packages/admin-ui/scripts/importFromFigma/exports/Primitives.json`

Finally, from project root, we run the following script:

```bash
yarn webiny-admin-import-from-figma
```

First, the script will regenerate the `tailwind.config.theme.js` file, which will contain all the necessary Tailwind CSS configuration. Second, it will also regenerate the `src/styles.scss` file, which contains actual values for CSS variables that are referenced in the `tailwind.config.theme.js` file.
File renamed without changes.
6 changes: 6 additions & 0 deletions packages/admin-ui/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# `@webiny/admin-ui`

This package contains React components and styles for Webiny's Admin app.

> [!NOTE]
> This package is included in every Webiny project by default, and it's not meant to be used as a standalone package.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added packages/admin-ui/assets/images/wby-logo.png
39 changes: 39 additions & 0 deletions packages/admin-ui/docs/stories/00-getting-started/welcome.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import { Meta } from '@storybook/blocks';

<Meta title="Getting Started/Welcome" />

<style>
{`
.sbdocs-wrapper > div:has(div > .toc-wrapper) {
display: none;
}
`}
</style>

![Webiny Design System cover](/images/design-system-cover.png)

# Welcome

Welcome to the Webiny Design System, your go-to resource for creating consistent, user-friendly, and innovative interfaces across all Webiny applications.

The Webiny Design System is a collection of UI components, guidelines, and best practices that help you build interfaces that are not only visually appealing but also highly functional and accessible. Whether you're a developer, designer, or product manager, this system provides the tools and resources you need to create exceptional user experiences.

## What You'll Find Here

In this documentation, you'll find the following:

1. **Components**: A comprehensive list of UI components, each with its own documentation, usage examples, and code snippets. You'll learn how to use these components to build your interfaces, as well as how to customize them to fit your specific needs.

2. **Guidelines**: A set of design and development guidelines that help you create consistent and accessible interfaces. These guidelines cover topics such as color, layout, and accessibility.

3. **Best Practices**: A collection of best practices for building interfaces that are not only visually appealing but also highly functional and accessible. These best practices cover topics such as form design, button usage, and error handling.

## How to Use This Documentation

To get started, we recommend that you explore the different components and their documentation. Each component has its own page with usage examples, code snippets, and additional resources.

If you're looking for something specific, you can use the search bar at the top of the page to find what you're looking for.

## Feedback and Contributions

We welcome feedback and contributions to the Webiny Design System. If you have questions, suggestions, or bug reports, feel free to reach out on our 👉 [community Slack](https://www.webiny.com/slack) or open an issue on our [GitHub repository](https://github.com/webiny/webiny-js).
5 changes: 5 additions & 0 deletions packages/admin-ui/jest.setup.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
const base = require("../../jest.config.base");

module.exports = {
...base({ path: __dirname })
};
Loading