Skip to content

Commit b6e1c8f

Browse files
authored
feat: introduce AI package (@ui5/webcomponents-ai-react) (#6928)
1 parent 1a69bdb commit b6e1c8f

File tree

26 files changed

+1569
-7
lines changed

26 files changed

+1569
-7
lines changed

.storybook/custom-element-manifests/ai.json

Lines changed: 635 additions & 0 deletions
Large diffs are not rendered by default.

.storybook/main.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,11 @@ const config: StorybookConfig = {
6060
},
6161
'../packages/main/**/*.mdx',
6262
'../packages/main/**/*.stories.@(tsx|jsx)',
63+
{
64+
directory: '../packages/ai',
65+
files: '**/*.@(mdx|stories.@(mdx|js|jsx|mjs|ts|tsx))',
66+
titlePrefix: 'AI'
67+
},
6368
{
6469
directory: '../packages/compat',
6570
files: '**/*.@(mdx|stories.@(mdx|js|jsx|mjs|ts|tsx))',

.storybook/manager-head.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,8 @@
5252
}
5353

5454
/*experimental components */
55+
#ai-promptinput::after,
56+
#ai-button::after,
5557
#data-display-table::after,
5658
#inputs-tokenizer::after,
5759
#modals-popovers-usermenu::after,

.storybook/preview.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,8 @@ const preview: Preview = {
149149
'Layouts & Floorplans',
150150
'Modals & Popovers',
151151
'User Feedback',
152+
'AI',
153+
['Docs'],
152154
'Legacy Components'
153155
]
154156
}

.storybook/utils.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { DocsContext } from '@storybook/blocks';
22
import { useContext, useMemo } from 'react';
33
// @ts-expect-error: storybook can handle this
4+
import cemAi from './custom-element-manifests/ai.json';
5+
// @ts-expect-error: storybook can handle this
46
import cemFiori from './custom-element-manifests/fiori.json';
57
// @ts-expect-error: storybook can handle this
68
import cemMain from './custom-element-manifests/main.json';
@@ -16,10 +18,6 @@ export const MAPPED_THEMES = [
1618
{ value: 'sap_fiori_3_dark', title: 'Quartz Dark' },
1719
{ value: 'sap_fiori_3_hcb', title: 'Quartz High Contrast Black' },
1820
{ value: 'sap_fiori_3_hcw', title: 'Quartz High Contrast White' }
19-
// deprecated
20-
// { value: 'sap_belize', title: 'Belize' },
21-
// { value: 'sap_belize_hcb', title: 'Belize High Contrast Black' },
22-
// { value: 'sap_belize_hcw', title: 'Belize High Contrast White' }
2321
];
2422

2523
export const excludePropsForAbstract = ['className', 'style'];
@@ -50,6 +48,8 @@ export function useGetCem() {
5048
return cemMain;
5149
case 'package:@ui5/webcomponents-fiori':
5250
return cemFiori;
51+
case 'package:@ui5/webcomponents-ai':
52+
return cemAi;
5353
}
5454
}
5555

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@ You can find our documentation under the following links:
5454

5555
[![](https://badgen.net/npm/v/@ui5/webcomponents-cypress-commands?icon=npm)](https://www.npmjs.com/package/@ui5/webcomponents-cypress-commands)
5656

57+
- [@ui5/webcomponents-ai-react](https://github.com/SAP/ui5-webcomponents-react/tree/main/packages/ai) - React wrapper for the `@ui5/webcomponents-ai` Package
58+
59+
[![](https://badgen.net/npm/v/@ui5/webcomponents-ai-react?icon=npm)](https://www.npmjs.com/package/@ui5/webcomponents-ai-react)
60+
5761
<!-- *********************************************************************** -->
5862

5963
<a name="requirements"></a>

docs/ReadMeAI.mdx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { Footer, TableOfContent } from '@sb/components';
2+
import { Markdown, Meta } from '@storybook/blocks';
3+
import ReadMe from '../packages/ai/README.md?raw';
4+
5+
<Meta title="AI / Docs" />
6+
7+
<TableOfContent />
8+
9+
<Markdown>{ReadMe.split('## Documentation')[0].trim()}</Markdown>
10+
11+
<Footer />

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,14 @@
2424
"wrappers:main": "node packages/cli/dist/bin/index.js create-wrappers --packageName @ui5/webcomponents --out ./packages/main/src/webComponents --additionalComponentNote 'This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/)'",
2525
"wrappers:fiori": "node packages/cli/dist/bin/index.js create-wrappers --packageName @ui5/webcomponents-fiori --out ./packages/main/src/webComponents --additionalComponentNote 'This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/)'",
2626
"wrappers:compat": "WITH_WEB_COMPONENT_IMPORT_PATH='@ui5/webcomponents-react-base/dist/wrapper/withWebComponent.js' node packages/cli/dist/bin/index.js create-wrappers --packageName @ui5/webcomponents-compat --out ./packages/compat/src/components --additionalComponentNote 'This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/)' && prettier --log-level silent --write ./packages/compat/src/components",
27+
"wrappers:ai": "node packages/cli/dist/bin/index.js create-wrappers --packageName @ui5/webcomponents-ai --out ./packages/ai/src/components --additionalComponentNote 'This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/)' && prettier --log-level silent --write ./packages/ai/src/components",
2728
"create-webcomponents-wrapper": "(cd packages/cli && tsc) && yarn run wrappers:main && yarn run wrappers:fiori && prettier --log-level silent --write ./packages/main/src/webComponents && eslint --fix ./packages/main/src/webComponents/*/index.tsx && yarn run sb:prepare-cem",
2829
"create-webcomponents-wrapper-compat": "(cd packages/cli && tsc) && yarn run wrappers:compat && yarn run sb:prepare-cem && eslint --fix ./packages/compat/src/components/*/index.tsx",
30+
"create-webcomponents-wrapper-ai": "(cd packages/cli && tsc) && yarn run wrappers:ai && yarn run sb:prepare-cem && eslint --fix ./packages/ai/src/components/*/index.tsx",
2931
"chromatic": "cross-env STORYBOOK_ENV=chromatic npx chromatic --build-script-name build:storybook",
3032
"postinstall": "husky && yarn setup",
3133
"create-cypress-commands-docs": "documentation build ./packages/cypress-commands/src/commands.ts -f json -o ./packages/cypress-commands/api-commands.json && documentation build ./packages/cypress-commands/src/queries.ts -f json -o ./packages/cypress-commands/api-queries.json",
32-
"sb:prepare-cem": "node packages/cli/dist/bin/index.js resolve-cem --packageName @ui5/webcomponents --out ./.storybook/custom-element-manifests/main.json && node packages/cli/dist/bin/index.js resolve-cem --packageName @ui5/webcomponents-fiori --out ./.storybook/custom-element-manifests/fiori.json",
34+
"sb:prepare-cem": "node packages/cli/dist/bin/index.js resolve-cem --packageName @ui5/webcomponents --out ./.storybook/custom-element-manifests/main.json && node packages/cli/dist/bin/index.js resolve-cem --packageName @ui5/webcomponents-fiori --out ./.storybook/custom-element-manifests/fiori.json && node packages/cli/dist/bin/index.js resolve-cem --packageName @ui5/webcomponents-ai --out ./.storybook/custom-element-manifests/ai.json",
3335
"create-theming-parameters": "node scripts/generate-theming-parameters.js"
3436
},
3537
"dependencies": {
@@ -42,6 +44,7 @@
4244
"@storybook/react-vite": "8.5.8",
4345
"@storybook/theming": "8.5.8",
4446
"@ui5/webcomponents": "2.7.3",
47+
"@ui5/webcomponents-ai": "2.7.2",
4548
"@ui5/webcomponents-compat": "2.7.3",
4649
"@ui5/webcomponents-fiori": "2.7.3",
4750
"@ui5/webcomponents-icons": "2.7.3",

packages/ai/.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
/LICENSE
2+
/NOTICE.txt
3+
/dist
4+
5+
src/**/*.css.ts

packages/ai/README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# @ui5/webcomponents-ai-react
2+
3+
React wrapper for the [@ui5/webcomponents-ai](https://sap.github.io/ui5-webcomponents/components/ai/) web components.
4+
5+
## Installation
6+
7+
To consume `@ui5/webcomponents-ai-react`, you need to install the npm modules and required peer dependencies:
8+
9+
```bash
10+
npm install @ui5/webcomponents-ai-react @ui5/webcomponents-ai
11+
```
12+
13+
## Provided assets
14+
15+
| Assets | Module | Notes |
16+
| ---------------- | -------------------------------------- | ------------------------------------------------------ |
17+
| `i18n`, `themes` | `@ui5/webcomponents-ai/dist/Assets.js` | Theming parameters and translations for the components |
18+
19+
## UI5 Web Components Documentation and Patterns
20+
21+
- Components: https://sap.github.io/ui5-webcomponents/components/ai/
22+
- Patterns: https://sap.github.io/ui5-webcomponents/components/patterns/
23+
24+
## Documentation
25+
26+
You can find an interactive documentation in our [Storybook](https://sap.github.io/ui5-webcomponents-react/).
27+
28+
## Contribute
29+
30+
Please check our [Contribution Guidelines](https://github.com/SAP/ui5-webcomponents-react/blob/main/CONTRIBUTING.md).
31+
32+
## License
33+
34+
Please see our [LICENSE](https://github.com/SAP/ui5-webcomponents-react/blob/main/LICENSE) for copyright and license information.
35+
Detailed information including third-party components and their licensing/copyright information is available via the [REUSE tool](https://api.reuse.software/info/github.com/SAP/ui5-webcomponents-react).

0 commit comments

Comments
 (0)