From 9164f34ff0ab1ab373d71b74bb6278081c6ac251 Mon Sep 17 00:00:00 2001 From: web-padawan Date: Thu, 2 May 2024 14:23:47 +0300 Subject: [PATCH 1/2] chore: update package-lock.json --- package-lock.json | 64 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 49 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2f8c465..8336733 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2380,6 +2380,10 @@ "resolved": "packages/react-components", "link": true }, + "node_modules/@vaadin/react-components-pro": { + "resolved": "packages/react-components-pro", + "link": true + }, "node_modules/@vaadin/rich-text-editor": { "version": "24.4.0-beta1", "resolved": "https://registry.npmjs.org/@vaadin/rich-text-editor/-/rich-text-editor-24.4.0-beta1.tgz", @@ -8030,7 +8034,7 @@ "packages/react-components": { "name": "@vaadin/react-components", "version": "24.4.0-beta1", - "license": "(Apache-2.0 OR SEE LICENSE IN https://vaadin.com/commercial-license-and-service-terms)", + "license": "Apache-2.0", "dependencies": { "@lit/react": "^1.0.0", "@vaadin/a11y-base": "24.4.0-beta1", @@ -8038,17 +8042,13 @@ "@vaadin/app-layout": "24.4.0-beta1", "@vaadin/avatar": "24.4.0-beta1", "@vaadin/avatar-group": "24.4.0-beta1", - "@vaadin/board": "24.4.0-beta1", "@vaadin/button": "24.4.0-beta1", - "@vaadin/charts": "24.4.0-beta1", "@vaadin/checkbox": "24.4.0-beta1", "@vaadin/checkbox-group": "24.4.0-beta1", "@vaadin/combo-box": "24.4.0-beta1", "@vaadin/component-base": "24.4.0-beta1", "@vaadin/confirm-dialog": "24.4.0-beta1", "@vaadin/context-menu": "24.4.0-beta1", - "@vaadin/cookie-consent": "24.4.0-beta1", - "@vaadin/crud": "24.4.0-beta1", "@vaadin/custom-field": "24.4.0-beta1", "@vaadin/date-picker": "24.4.0-beta1", "@vaadin/date-time-picker": "24.4.0-beta1", @@ -8059,7 +8059,6 @@ "@vaadin/field-highlighter": "24.4.0-beta1", "@vaadin/form-layout": "24.4.0-beta1", "@vaadin/grid": "24.4.0-beta1", - "@vaadin/grid-pro": "24.4.0-beta1", "@vaadin/horizontal-layout": "24.4.0-beta1", "@vaadin/icon": "24.4.0-beta1", "@vaadin/icons": "24.4.0-beta1", @@ -8069,7 +8068,6 @@ "@vaadin/list-box": "24.4.0-beta1", "@vaadin/lit-renderer": "24.4.0-beta1", "@vaadin/login": "24.4.0-beta1", - "@vaadin/map": "24.4.0-beta1", "@vaadin/menu-bar": "24.4.0-beta1", "@vaadin/message-input": "24.4.0-beta1", "@vaadin/message-list": "24.4.0-beta1", @@ -8080,7 +8078,6 @@ "@vaadin/password-field": "24.4.0-beta1", "@vaadin/progress-bar": "24.4.0-beta1", "@vaadin/radio-group": "24.4.0-beta1", - "@vaadin/rich-text-editor": "24.4.0-beta1", "@vaadin/scroller": "24.4.0-beta1", "@vaadin/select": "24.4.0-beta1", "@vaadin/side-nav": "24.4.0-beta1", @@ -8112,6 +8109,36 @@ "optional": true } } + }, + "packages/react-components-pro": { + "name": "@vaadin/react-components-pro", + "version": "24.4.0-beta1", + "license": "SEE LICENSE IN LICENSE", + "dependencies": { + "@lit/react": "^1.0.0", + "@vaadin/board": "24.4.0-beta1", + "@vaadin/charts": "24.4.0-beta1", + "@vaadin/cookie-consent": "24.4.0-beta1", + "@vaadin/crud": "24.4.0-beta1", + "@vaadin/grid-pro": "24.4.0-beta1", + "@vaadin/map": "24.4.0-beta1", + "@vaadin/react-components": "24.4.0-beta1", + "@vaadin/rich-text-editor": "24.4.0-beta1" + }, + "peerDependencies": { + "@types/react": "^18.2.37", + "@types/react-dom": "^18.2.15", + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } } }, "dependencies": { @@ -9979,17 +10006,13 @@ "@vaadin/app-layout": "24.4.0-beta1", "@vaadin/avatar": "24.4.0-beta1", "@vaadin/avatar-group": "24.4.0-beta1", - "@vaadin/board": "24.4.0-beta1", "@vaadin/button": "24.4.0-beta1", - "@vaadin/charts": "24.4.0-beta1", "@vaadin/checkbox": "24.4.0-beta1", "@vaadin/checkbox-group": "24.4.0-beta1", "@vaadin/combo-box": "24.4.0-beta1", "@vaadin/component-base": "24.4.0-beta1", "@vaadin/confirm-dialog": "24.4.0-beta1", "@vaadin/context-menu": "24.4.0-beta1", - "@vaadin/cookie-consent": "24.4.0-beta1", - "@vaadin/crud": "24.4.0-beta1", "@vaadin/custom-field": "24.4.0-beta1", "@vaadin/date-picker": "24.4.0-beta1", "@vaadin/date-time-picker": "24.4.0-beta1", @@ -10000,7 +10023,6 @@ "@vaadin/field-highlighter": "24.4.0-beta1", "@vaadin/form-layout": "24.4.0-beta1", "@vaadin/grid": "24.4.0-beta1", - "@vaadin/grid-pro": "24.4.0-beta1", "@vaadin/horizontal-layout": "24.4.0-beta1", "@vaadin/icon": "24.4.0-beta1", "@vaadin/icons": "24.4.0-beta1", @@ -10010,7 +10032,6 @@ "@vaadin/list-box": "24.4.0-beta1", "@vaadin/lit-renderer": "24.4.0-beta1", "@vaadin/login": "24.4.0-beta1", - "@vaadin/map": "24.4.0-beta1", "@vaadin/menu-bar": "24.4.0-beta1", "@vaadin/message-input": "24.4.0-beta1", "@vaadin/message-list": "24.4.0-beta1", @@ -10021,7 +10042,6 @@ "@vaadin/password-field": "24.4.0-beta1", "@vaadin/progress-bar": "24.4.0-beta1", "@vaadin/radio-group": "24.4.0-beta1", - "@vaadin/rich-text-editor": "24.4.0-beta1", "@vaadin/scroller": "24.4.0-beta1", "@vaadin/select": "24.4.0-beta1", "@vaadin/side-nav": "24.4.0-beta1", @@ -10040,6 +10060,20 @@ "@vaadin/virtual-list": "24.4.0-beta1" } }, + "@vaadin/react-components-pro": { + "version": "file:packages/react-components-pro", + "requires": { + "@lit/react": "^1.0.0", + "@vaadin/board": "24.4.0-beta1", + "@vaadin/charts": "24.4.0-beta1", + "@vaadin/cookie-consent": "24.4.0-beta1", + "@vaadin/crud": "24.4.0-beta1", + "@vaadin/grid-pro": "24.4.0-beta1", + "@vaadin/map": "24.4.0-beta1", + "@vaadin/react-components": "24.4.0-beta1", + "@vaadin/rich-text-editor": "24.4.0-beta1" + } + }, "@vaadin/rich-text-editor": { "version": "24.4.0-beta1", "resolved": "https://registry.npmjs.org/@vaadin/rich-text-editor/-/rich-text-editor-24.4.0-beta1.tgz", From 3fcd2a680d205d27458ec8bf66b35a2e863b2818 Mon Sep 17 00:00:00 2001 From: web-padawan Date: Thu, 2 May 2024 14:24:47 +0300 Subject: [PATCH 2/2] refactor: split package into core and pro --- dev/kitchen-sink/App.tsx | 2 +- dev/kitchen-sink/Row1.tsx | 6 +- dev/kitchen-sink/Row10.tsx | 2 +- dev/kitchen-sink/Row2.tsx | 2 +- dev/kitchen-sink/Row3.tsx | 6 +- dev/kitchen-sink/Row4.tsx | 2 +- dev/kitchen-sink/Row5.tsx | 6 +- dev/kitchen-sink/Row6.tsx | 2 +- dev/kitchen-sink/Row7.tsx | 2 +- dev/kitchen-sink/Row8.tsx | 4 +- dev/kitchen-sink/Row9.tsx | 2 +- dev/pages/GridPro.tsx | 4 +- package.json | 2 +- packages/react-components-pro/LICENSE | 3 + packages/react-components-pro/README.md | 3 + packages/react-components-pro/package.json | 135 ++++++++++++ .../src/Board.ts | 0 .../src/BoardRow.ts | 0 .../src/Chart.ts | 0 .../src/ChartSeries.ts | 0 .../src/CookieConsent.ts | 0 .../src/Crud.ts | 0 .../src/CrudEdit.ts | 0 .../src/CrudEditColumn.ts | 0 .../src/GridPro.tsx | 4 +- .../src/GridProEditColumn.tsx | 10 +- .../src/Map.ts | 0 .../src/RichTextEditor.ts | 0 .../src/utils/createComponent.ts | 11 + .../react-components-pro/tsconfig.build.json | 17 ++ packages/react-components/LICENSE | 201 ++++++++++++++++++ packages/react-components/README.md | 2 +- packages/react-components/package.json | 69 +----- scripts/validate-build.ts | 19 +- test/Grid.spec.tsx | 4 +- test/typings/api.ts | 6 +- 36 files changed, 417 insertions(+), 109 deletions(-) create mode 100644 packages/react-components-pro/LICENSE create mode 100644 packages/react-components-pro/README.md create mode 100644 packages/react-components-pro/package.json rename packages/{react-components => react-components-pro}/src/Board.ts (100%) rename packages/{react-components => react-components-pro}/src/BoardRow.ts (100%) rename packages/{react-components => react-components-pro}/src/Chart.ts (100%) rename packages/{react-components => react-components-pro}/src/ChartSeries.ts (100%) rename packages/{react-components => react-components-pro}/src/CookieConsent.ts (100%) rename packages/{react-components => react-components-pro}/src/Crud.ts (100%) rename packages/{react-components => react-components-pro}/src/CrudEdit.ts (100%) rename packages/{react-components => react-components-pro}/src/CrudEditColumn.ts (100%) rename packages/{react-components => react-components-pro}/src/GridPro.tsx (87%) rename packages/{react-components => react-components-pro}/src/GridProEditColumn.tsx (91%) rename packages/{react-components => react-components-pro}/src/Map.ts (100%) rename packages/{react-components => react-components-pro}/src/RichTextEditor.ts (100%) create mode 100644 packages/react-components-pro/src/utils/createComponent.ts create mode 100644 packages/react-components-pro/tsconfig.build.json create mode 100644 packages/react-components/LICENSE diff --git a/dev/kitchen-sink/App.tsx b/dev/kitchen-sink/App.tsx index a17517c..4a5471a 100644 --- a/dev/kitchen-sink/App.tsx +++ b/dev/kitchen-sink/App.tsx @@ -2,7 +2,7 @@ import { useState } from 'react'; import '../../packages/react-components/css/lumo/Typography.css'; import { AppLayout } from '../../packages/react-components/src/AppLayout.js'; import { Avatar } from '../../packages/react-components/src/Avatar.js'; -import { Board } from '../../packages/react-components/src/Board.js'; +import { Board } from '../../packages/react-components-pro/src/Board.js'; import { Button } from '../../packages/react-components/src/Button.js'; import { DrawerToggle } from '../../packages/react-components/src/DrawerToggle.js'; import { Notification } from '../../packages/react-components/src/Notification.js'; diff --git a/dev/kitchen-sink/Row1.tsx b/dev/kitchen-sink/Row1.tsx index eaaaafe..245abfc 100644 --- a/dev/kitchen-sink/Row1.tsx +++ b/dev/kitchen-sink/Row1.tsx @@ -4,9 +4,9 @@ import { Accordion } from '../../packages/react-components/src/Accordion.js'; import { AccordionHeading } from '../../packages/react-components/src/AccordionHeading.js'; import { AccordionPanel } from '../../packages/react-components/src/AccordionPanel.js'; import { AvatarGroup } from '../../packages/react-components/src/AvatarGroup.js'; -import { BoardRow } from '../../packages/react-components/src/BoardRow.js'; -import { Chart } from '../../packages/react-components/src/Chart.js'; -import { ChartSeries } from '../../packages/react-components/src/ChartSeries.js'; +import { BoardRow } from '../../packages/react-components-pro/src/BoardRow.js'; +import { Chart } from '../../packages/react-components-pro/src/Chart.js'; +import { ChartSeries } from '../../packages/react-components-pro/src/ChartSeries.js'; export default function Row1() { return ( diff --git a/dev/kitchen-sink/Row10.tsx b/dev/kitchen-sink/Row10.tsx index c7f645b..e34d4c3 100644 --- a/dev/kitchen-sink/Row10.tsx +++ b/dev/kitchen-sink/Row10.tsx @@ -1,4 +1,4 @@ -import { BoardRow } from '../../packages/react-components/src/BoardRow.js'; +import { BoardRow } from '../../packages/react-components-pro/src/BoardRow.js'; import { Tab } from '../../packages/react-components/src/Tab.js'; import { Tabs } from '../../packages/react-components/src/Tabs.js'; import { tab, TabSheet } from '../../packages/react-components/src/TabSheet.js'; diff --git a/dev/kitchen-sink/Row2.tsx b/dev/kitchen-sink/Row2.tsx index 2dca3cb..2bab8db 100644 --- a/dev/kitchen-sink/Row2.tsx +++ b/dev/kitchen-sink/Row2.tsx @@ -1,5 +1,5 @@ import { useState } from 'react'; -import { BoardRow } from '../../packages/react-components/src/BoardRow.js'; +import { BoardRow } from '../../packages/react-components-pro/src/BoardRow.js'; import { Checkbox } from '../../packages/react-components/src/Checkbox.js'; import { CheckboxGroup } from '../../packages/react-components/src/CheckboxGroup.js'; import { ComboBox } from '../../packages/react-components/src/ComboBox.js'; diff --git a/dev/kitchen-sink/Row3.tsx b/dev/kitchen-sink/Row3.tsx index 37defd9..38592dc 100644 --- a/dev/kitchen-sink/Row3.tsx +++ b/dev/kitchen-sink/Row3.tsx @@ -1,9 +1,9 @@ -import { BoardRow } from '../../packages/react-components/src/BoardRow.js'; +import { BoardRow } from '../../packages/react-components-pro/src/BoardRow.js'; import { Checkbox } from '../../packages/react-components/src/Checkbox.js'; import { ComboBox } from '../../packages/react-components/src/ComboBox.js'; import { ContextMenu } from '../../packages/react-components/src/ContextMenu.js'; -import { CookieConsent } from '../../packages/react-components/src/CookieConsent.js'; -import { Crud, crudPath } from '../../packages/react-components/src/Crud.js'; +import { CookieConsent } from '../../packages/react-components-pro/src/CookieConsent.js'; +import { Crud, crudPath } from '../../packages/react-components-pro/src/Crud.js'; import { FormLayout } from '../../packages/react-components/src/FormLayout.js'; import { Item } from '../../packages/react-components/src/Item.js'; import { ListBox } from '../../packages/react-components/src/ListBox.js'; diff --git a/dev/kitchen-sink/Row4.tsx b/dev/kitchen-sink/Row4.tsx index a49bef6..e30d27c 100644 --- a/dev/kitchen-sink/Row4.tsx +++ b/dev/kitchen-sink/Row4.tsx @@ -1,4 +1,4 @@ -import { BoardRow } from '../../packages/react-components/src/BoardRow.js'; +import { BoardRow } from '../../packages/react-components-pro/src/BoardRow.js'; import { CustomField } from '../../packages/react-components/src/CustomField.js'; import { DatePicker } from '../../packages/react-components/src/DatePicker.js'; import { DateTimePicker } from '../../packages/react-components/src/DateTimePicker.js'; diff --git a/dev/kitchen-sink/Row5.tsx b/dev/kitchen-sink/Row5.tsx index eff3744..22e9fdf 100644 --- a/dev/kitchen-sink/Row5.tsx +++ b/dev/kitchen-sink/Row5.tsx @@ -1,12 +1,12 @@ import type { CSSProperties } from 'react'; import { TextField } from '../../packages/react-components/src/TextField.js'; -import { BoardRow } from '../../packages/react-components/src/BoardRow.js'; +import { BoardRow } from '../../packages/react-components-pro/src/BoardRow.js'; import { Grid, type GridDataProvider } from '../../packages/react-components/src/Grid.js'; import { GridColumn } from '../../packages/react-components/src/GridColumn.js'; import { GridColumnGroup } from '../../packages/react-components/src/GridColumnGroup.js'; import { GridFilterColumn } from '../../packages/react-components/src/GridFilterColumn.js'; -import { GridPro } from '../../packages/react-components/src/GridPro.js'; -import { GridProEditColumn } from '../../packages/react-components/src/GridProEditColumn.js'; +import { GridPro } from '../../packages/react-components-pro/src/GridPro.js'; +import { GridProEditColumn } from '../../packages/react-components-pro/src/GridProEditColumn.js'; import { GridSortColumn } from '../../packages/react-components/src/GridSortColumn.js'; import { GridTreeColumn } from '../../packages/react-components/src/GridTreeColumn.js'; import type { GridBodyReactRendererProps } from '../../packages/react-components/src/renderers/grid.js'; diff --git a/dev/kitchen-sink/Row6.tsx b/dev/kitchen-sink/Row6.tsx index 33cc336..58db569 100644 --- a/dev/kitchen-sink/Row6.tsx +++ b/dev/kitchen-sink/Row6.tsx @@ -1,4 +1,4 @@ -import { BoardRow } from '../../packages/react-components/src/BoardRow.js'; +import { BoardRow } from '../../packages/react-components-pro/src/BoardRow.js'; import { HorizontalLayout } from '../../packages/react-components/src/HorizontalLayout.js'; import { Icon } from '../../packages/react-components/src/Icon.js'; import { Iconset } from '../../packages/react-components/src/Iconset.js'; diff --git a/dev/kitchen-sink/Row7.tsx b/dev/kitchen-sink/Row7.tsx index e44bde4..9703f35 100644 --- a/dev/kitchen-sink/Row7.tsx +++ b/dev/kitchen-sink/Row7.tsx @@ -1,4 +1,4 @@ -import { BoardRow } from '../../packages/react-components/src/BoardRow.js'; +import { BoardRow } from '../../packages/react-components-pro/src/BoardRow.js'; import { Message } from '../../packages/react-components/src/Message.js'; import { MessageInput } from '../../packages/react-components/src/MessageInput.js'; import { MessageList } from '../../packages/react-components/src/MessageList.js'; diff --git a/dev/kitchen-sink/Row8.tsx b/dev/kitchen-sink/Row8.tsx index faf1473..e38dbd1 100644 --- a/dev/kitchen-sink/Row8.tsx +++ b/dev/kitchen-sink/Row8.tsx @@ -1,9 +1,9 @@ -import { BoardRow } from '../../packages/react-components/src/BoardRow.js'; +import { BoardRow } from '../../packages/react-components-pro/src/BoardRow.js'; import { Item } from '../../packages/react-components/src/Item.js'; import { ListBox } from '../../packages/react-components/src/ListBox.js'; import { RadioButton } from '../../packages/react-components/src/RadioButton.js'; import { RadioGroup } from '../../packages/react-components/src/RadioGroup.js'; -import { RichTextEditor } from '../../packages/react-components/src/RichTextEditor.js'; +import { RichTextEditor } from '../../packages/react-components-pro/src/RichTextEditor.js'; import { Select } from '../../packages/react-components/src/Select.js'; import { Tooltip } from '../../packages/react-components/src/Tooltip.js'; diff --git a/dev/kitchen-sink/Row9.tsx b/dev/kitchen-sink/Row9.tsx index eada438..9ad3ce3 100644 --- a/dev/kitchen-sink/Row9.tsx +++ b/dev/kitchen-sink/Row9.tsx @@ -1,4 +1,4 @@ -import { BoardRow } from '../../packages/react-components/src/BoardRow.js'; +import { BoardRow } from '../../packages/react-components-pro/src/BoardRow.js'; import { SplitLayout } from '../../packages/react-components/src/SplitLayout.js'; import { TextArea } from '../../packages/react-components/src/TextArea.js'; import { Tooltip } from '../../packages/react-components/src/Tooltip.js'; diff --git a/dev/pages/GridPro.tsx b/dev/pages/GridPro.tsx index 9534b84..7235886 100644 --- a/dev/pages/GridPro.tsx +++ b/dev/pages/GridPro.tsx @@ -1,5 +1,5 @@ -import { GridPro } from '../../packages/react-components/src/GridPro.js'; -import { GridProEditColumn } from '../../packages/react-components/src/GridProEditColumn.js'; +import { GridPro } from '../../packages/react-components-pro/src/GridPro.js'; +import { GridProEditColumn } from '../../packages/react-components-pro/src/GridProEditColumn.js'; import { TextField } from '../../packages/react-components/src/TextField.js'; type Item = { diff --git a/package.json b/package.json index e8f288a..c90158b 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "version": "24.4.0-beta1", "private": true, "scripts": { - "build": "npm run build:load-schema && npm run build -w packages/react-components", + "build": "npm run build:load-schema && npm run build -w packages/react-components && npm run build -w packages/react-components-pro", "build:load-schema": "tsx scripts/schema-loader.ts", "clean": "git clean -dXf -e !.vscode -e !.vscode/** -e !.idea -e !.idea/** -e !node_modules -e !node_modules/**", "clean:dev": "git clean -dXf -e .vscode -e .vscode/** -e !.idea -e !.idea/** -e !node_modules -e !node_modules/** -e !src/generated -e !css", diff --git a/packages/react-components-pro/LICENSE b/packages/react-components-pro/LICENSE new file mode 100644 index 0000000..bb61b7d --- /dev/null +++ b/packages/react-components-pro/LICENSE @@ -0,0 +1,3 @@ +This program is available under Vaadin Commercial License and Service Terms. +See https://vaadin.com/commercial-license-and-service-terms for the full +license. diff --git a/packages/react-components-pro/README.md b/packages/react-components-pro/README.md new file mode 100644 index 0000000..5b5cad8 --- /dev/null +++ b/packages/react-components-pro/README.md @@ -0,0 +1,3 @@ +# Vaadin React components pro + +React wrappers for commercial Vaadin components. diff --git a/packages/react-components-pro/package.json b/packages/react-components-pro/package.json new file mode 100644 index 0000000..d7e0ea9 --- /dev/null +++ b/packages/react-components-pro/package.json @@ -0,0 +1,135 @@ +{ + "name": "@vaadin/react-components-pro", + "version": "24.4.0-beta1", + "publishConfig": { + "access": "public" + }, + "description": "React wrappers for commercial Vaadin components", + "type": "module", + "module": "index.js", + "main": "index.js", + "types": "index.d.ts", + "repository": { + "type": "git", + "url": "github.com/vaadin/react-components" + }, + "scripts": { + "build": "npm run build:dev && npm run build:code && npm run build:update-packagejson", + "build:dev": "npm run build:generate", + "build:generate": "tsx ../../scripts/generator.ts", + "build:update-packagejson": "tsx ../../scripts/package-json-update.ts", + "build:code": "concurrently npm:build:code:*", + "build:code:ts": "tsx ../../scripts/build.ts", + "build:code:dts": "tsc -p tsconfig.build.json", + "build:code:copy-dts": "tsx ../../scripts/copy-dts.ts", + "version": "tsx ../../scripts/package-json-version.ts" + }, + "dependencies": { + "@lit/react": "^1.0.0", + "@vaadin/board": "24.4.0-beta1", + "@vaadin/charts": "24.4.0-beta1", + "@vaadin/cookie-consent": "24.4.0-beta1", + "@vaadin/crud": "24.4.0-beta1", + "@vaadin/grid-pro": "24.4.0-beta1", + "@vaadin/map": "24.4.0-beta1", + "@vaadin/react-components": "24.4.0-beta1", + "@vaadin/rich-text-editor": "24.4.0-beta1" + }, + "author": "Vaadin Ltd.", + "license": "SEE LICENSE IN LICENSE", + "peerDependencies": { + "@types/react": "^18.2.37", + "@types/react-dom": "^18.2.15", + "react": "^18.2.0", + "react-dom": "^18.2.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + }, + "sideEffects": false, + "files": [ + "generated", + "renderers", + "utils", + "*.d.ts", + "*.d.ts.map", + "*.js", + "*.js.map" + ], + "exports": { + ".": { + "types": "./index.d.ts", + "default": "./index.js" + }, + "./package.json": "./package.json", + "./Board.js": { + "types": "./Board.d.ts", + "default": "./Board.js" + }, + "./BoardRow.js": { + "types": "./BoardRow.d.ts", + "default": "./BoardRow.js" + }, + "./Chart.js": { + "types": "./Chart.d.ts", + "default": "./Chart.js" + }, + "./ChartSeries.js": { + "types": "./ChartSeries.d.ts", + "default": "./ChartSeries.js" + }, + "./CookieConsent.js": { + "types": "./CookieConsent.d.ts", + "default": "./CookieConsent.js" + }, + "./Crud.js": { + "types": "./Crud.d.ts", + "default": "./Crud.js" + }, + "./CrudEdit.js": { + "types": "./CrudEdit.d.ts", + "default": "./CrudEdit.js" + }, + "./CrudEditColumn.js": { + "types": "./CrudEditColumn.d.ts", + "default": "./CrudEditColumn.js" + }, + "./GridPro.js": { + "types": "./GridPro.d.ts", + "default": "./GridPro.js" + }, + "./GridProEditColumn.js": { + "types": "./GridProEditColumn.d.ts", + "default": "./GridProEditColumn.js" + }, + "./Map.js": { + "types": "./Map.d.ts", + "default": "./Map.js" + }, + "./RichTextEditor.js": { + "types": "./RichTextEditor.d.ts", + "default": "./RichTextEditor.js" + }, + "./Board": "./Board.js", + "./BoardRow": "./BoardRow.js", + "./Chart": "./Chart.js", + "./ChartSeries": "./ChartSeries.js", + "./CookieConsent": "./CookieConsent.js", + "./Crud": "./Crud.js", + "./CrudEdit": "./CrudEdit.js", + "./CrudEditColumn": "./CrudEditColumn.js", + "./GridPro": "./GridPro.js", + "./GridProEditColumn": "./GridProEditColumn.js", + "./Map": "./Map.js", + "./RichTextEditor": "./RichTextEditor.js", + "./utils/createComponent.d.ts": "./utils/createComponent.d.ts", + "./utils/createComponent.d.ts.map": "./utils/createComponent.d.ts.map", + "./utils/createComponent.js": "./utils/createComponent.js", + "./utils/createComponent.js.map": "./utils/createComponent.js.map" + } +} \ No newline at end of file diff --git a/packages/react-components/src/Board.ts b/packages/react-components-pro/src/Board.ts similarity index 100% rename from packages/react-components/src/Board.ts rename to packages/react-components-pro/src/Board.ts diff --git a/packages/react-components/src/BoardRow.ts b/packages/react-components-pro/src/BoardRow.ts similarity index 100% rename from packages/react-components/src/BoardRow.ts rename to packages/react-components-pro/src/BoardRow.ts diff --git a/packages/react-components/src/Chart.ts b/packages/react-components-pro/src/Chart.ts similarity index 100% rename from packages/react-components/src/Chart.ts rename to packages/react-components-pro/src/Chart.ts diff --git a/packages/react-components/src/ChartSeries.ts b/packages/react-components-pro/src/ChartSeries.ts similarity index 100% rename from packages/react-components/src/ChartSeries.ts rename to packages/react-components-pro/src/ChartSeries.ts diff --git a/packages/react-components/src/CookieConsent.ts b/packages/react-components-pro/src/CookieConsent.ts similarity index 100% rename from packages/react-components/src/CookieConsent.ts rename to packages/react-components-pro/src/CookieConsent.ts diff --git a/packages/react-components/src/Crud.ts b/packages/react-components-pro/src/Crud.ts similarity index 100% rename from packages/react-components/src/Crud.ts rename to packages/react-components-pro/src/Crud.ts diff --git a/packages/react-components/src/CrudEdit.ts b/packages/react-components-pro/src/CrudEdit.ts similarity index 100% rename from packages/react-components/src/CrudEdit.ts rename to packages/react-components-pro/src/CrudEdit.ts diff --git a/packages/react-components/src/CrudEditColumn.ts b/packages/react-components-pro/src/CrudEditColumn.ts similarity index 100% rename from packages/react-components/src/CrudEditColumn.ts rename to packages/react-components-pro/src/CrudEditColumn.ts diff --git a/packages/react-components/src/GridPro.tsx b/packages/react-components-pro/src/GridPro.tsx similarity index 87% rename from packages/react-components/src/GridPro.tsx rename to packages/react-components-pro/src/GridPro.tsx index 81ca063..5a7202f 100644 --- a/packages/react-components/src/GridPro.tsx +++ b/packages/react-components-pro/src/GridPro.tsx @@ -9,9 +9,9 @@ * license. */ import { type ForwardedRef, forwardRef, type ReactElement, type RefAttributes } from 'react'; -import type { GridDefaultItem, GridProps } from './Grid.js'; +import type { GridDefaultItem, GridProps } from '@vaadin/react-components/Grid.js'; import { GridPro as _GridPro, type GridProElement, type GridProProps as _GridProProps } from './generated/GridPro.js'; -import { useModelRenderer } from './renderers/useModelRenderer.js'; +import { useModelRenderer } from '@vaadin/react-components/renderers/useModelRenderer.js'; export * from './generated/GridPro.js'; diff --git a/packages/react-components/src/GridProEditColumn.tsx b/packages/react-components-pro/src/GridProEditColumn.tsx similarity index 91% rename from packages/react-components/src/GridProEditColumn.tsx rename to packages/react-components-pro/src/GridProEditColumn.tsx index 6ad498a..3aa20bc 100644 --- a/packages/react-components/src/GridProEditColumn.tsx +++ b/packages/react-components-pro/src/GridProEditColumn.tsx @@ -17,16 +17,16 @@ import { type RefAttributes, createElement, } from 'react'; -import type { GridBodyRenderer, GridDefaultItem } from './Grid.js'; -import type { GridColumnElement, GridColumnProps } from './GridColumn.js'; +import type { GridBodyRenderer, GridDefaultItem } from '@vaadin/react-components/Grid.js'; +import type { GridColumnElement, GridColumnProps } from '@vaadin/react-components/GridColumn.js'; import { GridProEditColumn as _GridProEditColumn, type GridProEditColumnElement, type GridProEditColumnProps as _GridProEditColumnProps, } from './generated/GridProEditColumn.js'; -import { useModelRenderer } from './renderers/useModelRenderer.js'; -import { useSimpleOrChildrenRenderer } from './renderers/useSimpleOrChildrenRenderer.js'; -import type { OmittedGridColumnHTMLAttributes } from './GridColumn.js'; +import { useModelRenderer } from '@vaadin/react-components/renderers/useModelRenderer.js'; +import { useSimpleOrChildrenRenderer } from '@vaadin/react-components/renderers/useSimpleOrChildrenRenderer.js'; +import type { OmittedGridColumnHTMLAttributes } from '@vaadin/react-components/GridColumn.js'; export * from './generated/GridProEditColumn.js'; diff --git a/packages/react-components/src/Map.ts b/packages/react-components-pro/src/Map.ts similarity index 100% rename from packages/react-components/src/Map.ts rename to packages/react-components-pro/src/Map.ts diff --git a/packages/react-components/src/RichTextEditor.ts b/packages/react-components-pro/src/RichTextEditor.ts similarity index 100% rename from packages/react-components/src/RichTextEditor.ts rename to packages/react-components-pro/src/RichTextEditor.ts diff --git a/packages/react-components-pro/src/utils/createComponent.ts b/packages/react-components-pro/src/utils/createComponent.ts new file mode 100644 index 0000000..82e5572 --- /dev/null +++ b/packages/react-components-pro/src/utils/createComponent.ts @@ -0,0 +1,11 @@ +/** + * @license + * Copyright (c) 2000 - 2024 Vaadin Ltd. + * + * This program is available under Vaadin Commercial License and Service Terms. + * + * + * See https://vaadin.com/commercial-license-and-service-terms for the full + * license. + */ +export * from '@vaadin/react-components/utils/createComponent.js'; diff --git a/packages/react-components-pro/tsconfig.build.json b/packages/react-components-pro/tsconfig.build.json new file mode 100644 index 0000000..946e2ad --- /dev/null +++ b/packages/react-components-pro/tsconfig.build.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": ".", + "module": "NodeNext", + "moduleResolution": "NodeNext", + "noEmit": false, + "emitDeclarationOnly": true + }, + "include": [ + "./src", + ], + "exclude": [ + "node_modules", + "dist" + ] +} \ No newline at end of file diff --git a/packages/react-components/LICENSE b/packages/react-components/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/packages/react-components/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/react-components/README.md b/packages/react-components/README.md index 9d59778..3f47a10 100644 --- a/packages/react-components/README.md +++ b/packages/react-components/README.md @@ -1,3 +1,3 @@ # Vaadin React components -This package contains all React wrappers for Vaadin components (free and commercial). +React wrappers for Vaadin components. diff --git a/packages/react-components/package.json b/packages/react-components/package.json index 902945a..76fd8f0 100644 --- a/packages/react-components/package.json +++ b/packages/react-components/package.json @@ -33,16 +33,12 @@ "@vaadin/avatar": "24.4.0-beta1", "@vaadin/avatar-group": "24.4.0-beta1", "@vaadin/button": "24.4.0-beta1", - "@vaadin/board": "24.4.0-beta1", - "@vaadin/charts": "24.4.0-beta1", "@vaadin/checkbox": "24.4.0-beta1", "@vaadin/checkbox-group": "24.4.0-beta1", "@vaadin/combo-box": "24.4.0-beta1", "@vaadin/component-base": "24.4.0-beta1", "@vaadin/confirm-dialog": "24.4.0-beta1", "@vaadin/context-menu": "24.4.0-beta1", - "@vaadin/cookie-consent": "24.4.0-beta1", - "@vaadin/crud": "24.4.0-beta1", "@vaadin/custom-field": "24.4.0-beta1", "@vaadin/date-picker": "24.4.0-beta1", "@vaadin/date-time-picker": "24.4.0-beta1", @@ -53,7 +49,6 @@ "@vaadin/field-highlighter": "24.4.0-beta1", "@vaadin/form-layout": "24.4.0-beta1", "@vaadin/grid": "24.4.0-beta1", - "@vaadin/grid-pro": "24.4.0-beta1", "@vaadin/horizontal-layout": "24.4.0-beta1", "@vaadin/icon": "24.4.0-beta1", "@vaadin/icons": "24.4.0-beta1", @@ -63,7 +58,6 @@ "@vaadin/list-box": "24.4.0-beta1", "@vaadin/lit-renderer": "24.4.0-beta1", "@vaadin/login": "24.4.0-beta1", - "@vaadin/map": "24.4.0-beta1", "@vaadin/menu-bar": "24.4.0-beta1", "@vaadin/message-input": "24.4.0-beta1", "@vaadin/message-list": "24.4.0-beta1", @@ -74,7 +68,6 @@ "@vaadin/password-field": "24.4.0-beta1", "@vaadin/progress-bar": "24.4.0-beta1", "@vaadin/radio-group": "24.4.0-beta1", - "@vaadin/rich-text-editor": "24.4.0-beta1", "@vaadin/scroller": "24.4.0-beta1", "@vaadin/select": "24.4.0-beta1", "@vaadin/side-nav": "24.4.0-beta1", @@ -93,7 +86,7 @@ "@vaadin/virtual-list": "24.4.0-beta1" }, "author": "Vaadin Ltd.", - "license": "(Apache-2.0 OR SEE LICENSE IN https://vaadin.com/commercial-license-and-service-terms)", + "license": "Apache-2.0", "peerDependencies": { "@types/react": "^18.2.37", "@types/react-dom": "^18.2.15", @@ -149,26 +142,10 @@ "types": "./AvatarGroup.d.ts", "default": "./AvatarGroup.js" }, - "./Board.js": { - "types": "./Board.d.ts", - "default": "./Board.js" - }, - "./BoardRow.js": { - "types": "./BoardRow.d.ts", - "default": "./BoardRow.js" - }, "./Button.js": { "types": "./Button.d.ts", "default": "./Button.js" }, - "./Chart.js": { - "types": "./Chart.d.ts", - "default": "./Chart.js" - }, - "./ChartSeries.js": { - "types": "./ChartSeries.d.ts", - "default": "./ChartSeries.js" - }, "./Checkbox.js": { "types": "./Checkbox.d.ts", "default": "./Checkbox.js" @@ -193,22 +170,6 @@ "types": "./ContextMenu.d.ts", "default": "./ContextMenu.js" }, - "./CookieConsent.js": { - "types": "./CookieConsent.d.ts", - "default": "./CookieConsent.js" - }, - "./Crud.js": { - "types": "./Crud.d.ts", - "default": "./Crud.js" - }, - "./CrudEdit.js": { - "types": "./CrudEdit.d.ts", - "default": "./CrudEdit.js" - }, - "./CrudEditColumn.js": { - "types": "./CrudEditColumn.d.ts", - "default": "./CrudEditColumn.js" - }, "./CustomField.js": { "types": "./CustomField.d.ts", "default": "./CustomField.js" @@ -273,14 +234,6 @@ "types": "./GridFilterColumn.d.ts", "default": "./GridFilterColumn.js" }, - "./GridPro.js": { - "types": "./GridPro.d.ts", - "default": "./GridPro.js" - }, - "./GridProEditColumn.js": { - "types": "./GridProEditColumn.d.ts", - "default": "./GridProEditColumn.js" - }, "./GridSelectionColumn.js": { "types": "./GridSelectionColumn.d.ts", "default": "./GridSelectionColumn.js" @@ -333,10 +286,6 @@ "types": "./LoginOverlay.d.ts", "default": "./LoginOverlay.js" }, - "./Map.js": { - "types": "./Map.d.ts", - "default": "./Map.js" - }, "./MenuBar.js": { "types": "./MenuBar.d.ts", "default": "./MenuBar.js" @@ -381,10 +330,6 @@ "types": "./RadioGroup.d.ts", "default": "./RadioGroup.js" }, - "./RichTextEditor.js": { - "types": "./RichTextEditor.d.ts", - "default": "./RichTextEditor.js" - }, "./Scroller.js": { "types": "./Scroller.d.ts", "default": "./Scroller.js" @@ -451,21 +396,13 @@ "./AppLayout": "./AppLayout.js", "./Avatar": "./Avatar.js", "./AvatarGroup": "./AvatarGroup.js", - "./Board": "./Board.js", - "./BoardRow": "./BoardRow.js", "./Button": "./Button.js", - "./Chart": "./Chart.js", - "./ChartSeries": "./ChartSeries.js", "./Checkbox": "./Checkbox.js", "./CheckboxGroup": "./CheckboxGroup.js", "./ComboBox": "./ComboBox.js", "./ComboBoxLight": "./ComboBoxLight.js", "./ConfirmDialog": "./ConfirmDialog.js", "./ContextMenu": "./ContextMenu.js", - "./CookieConsent": "./CookieConsent.js", - "./Crud": "./Crud.js", - "./CrudEdit": "./CrudEdit.js", - "./CrudEditColumn": "./CrudEditColumn.js", "./CustomField": "./CustomField.js", "./DatePicker": "./DatePicker.js", "./DatePickerLight": "./DatePickerLight.js", @@ -482,8 +419,6 @@ "./GridColumnGroup": "./GridColumnGroup.js", "./GridFilter": "./GridFilter.js", "./GridFilterColumn": "./GridFilterColumn.js", - "./GridPro": "./GridPro.js", - "./GridProEditColumn": "./GridProEditColumn.js", "./GridSelectionColumn": "./GridSelectionColumn.js", "./GridSortColumn": "./GridSortColumn.js", "./GridSorter": "./GridSorter.js", @@ -497,7 +432,6 @@ "./ListBox": "./ListBox.js", "./LoginForm": "./LoginForm.js", "./LoginOverlay": "./LoginOverlay.js", - "./Map": "./Map.js", "./MenuBar": "./MenuBar.js", "./Message": "./Message.js", "./MessageInput": "./MessageInput.js", @@ -509,7 +443,6 @@ "./ProgressBar": "./ProgressBar.js", "./RadioButton": "./RadioButton.js", "./RadioGroup": "./RadioGroup.js", - "./RichTextEditor": "./RichTextEditor.js", "./Scroller": "./Scroller.js", "./Select": "./Select.js", "./SideNav": "./SideNav.js", diff --git a/scripts/validate-build.ts b/scripts/validate-build.ts index 05ed7db..f9fd1a8 100644 --- a/scripts/validate-build.ts +++ b/scripts/validate-build.ts @@ -6,7 +6,8 @@ import { fileURLToPath } from 'node:url'; const __dirname = dirname(fileURLToPath(import.meta.url)); const rootDir = resolve(__dirname, '..'); const packagesDir = resolve(rootDir, 'packages'); -const componentsPackage = 'react-components'; +const corePackage = 'react-components'; +const proPackage = 'react-components-pro'; /** * This function validates that the generated TypeScript definition file for a component @@ -20,7 +21,7 @@ const componentsPackage = 'react-components'; * @throws {Error} If the generated file contains any of the inherited properties. */ async function validateInheritedProperties() { - const checkboxPath = resolve(packagesDir, componentsPackage, 'generated', 'Checkbox.d.ts'); + const checkboxPath = resolve(packagesDir, corePackage, 'generated', 'Checkbox.d.ts'); const typeDefinitionContent = await readFile(checkboxPath, 'utf8'); @@ -43,7 +44,7 @@ async function validateInheritedProperties() { * Validates that the generated directory exists. */ async function hasGeneratedDir() { - [componentsPackage].forEach((packageName) => { + [proPackage, corePackage].forEach((packageName) => { if (!existsSync(resolve(packagesDir, packageName, 'generated'))) { throw new Error(`The generated directory does not exist. Run "npm run build" to generate it.`); } @@ -51,11 +52,15 @@ async function hasGeneratedDir() { } /** - * Validates that the package has css dir. + * Validates that the pro package does not have css dir and the core package does. */ async function hasNoCssDir() { - if (!existsSync(resolve(packagesDir, componentsPackage, 'css'))) { - throw new Error(`The css directory does not exist in the components package.`); + if (existsSync(resolve(packagesDir, proPackage, 'css'))) { + throw new Error(`The css directory should not exist in the pro package.`); + } + + if (!existsSync(resolve(packagesDir, corePackage, 'css'))) { + throw new Error(`The css directory does not exist in the core package.`); } } @@ -63,7 +68,7 @@ async function hasNoCssDir() { * Validates that TS definition files have been copied (build:code:copy-dts has been run) */ async function hasCopiedDts() { - if (!existsSync(resolve(packagesDir, componentsPackage, 'renderers', 'grid.d.ts'))) { + if (!existsSync(resolve(packagesDir, corePackage, 'renderers', 'grid.d.ts'))) { throw new Error(`The renderers/grid.d.ts file does not exist.`); } } diff --git a/test/Grid.spec.tsx b/test/Grid.spec.tsx index 83abadd..a5a8a7b 100644 --- a/test/Grid.spec.tsx +++ b/test/Grid.spec.tsx @@ -4,7 +4,7 @@ import { cleanup, render } from '@testing-library/react/pure.js'; import { Grid, type GridDataProvider } from '../packages/react-components/src/Grid.js'; import { GridColumn, GridColumnElement } from '../packages/react-components/src/GridColumn.js'; import { GridFilterColumn } from '../packages/react-components/src/GridFilterColumn.js'; -import { GridProEditColumn } from '../packages/react-components/src/GridProEditColumn.js'; +import { GridProEditColumn } from '../packages/react-components-pro/src/GridProEditColumn.js'; import { GridSelectionColumn } from '../packages/react-components/src/GridSelectionColumn.js'; import { GridSortColumn } from '../packages/react-components/src/GridSortColumn.js'; import { GridTreeColumn } from '../packages/react-components/src/GridTreeColumn.js'; @@ -12,7 +12,7 @@ import type { GridBodyReactRendererProps } from '../packages/react-components/sr import catchRender from './utils/catchRender.js'; import { GridColumnGroup } from '../packages/react-components/src/GridColumnGroup.js'; import { findByQuerySelector } from './utils/findByQuerySelector.js'; -import { GridPro } from '../packages/react-components/src/GridPro.js'; +import { GridPro } from '../packages/react-components-pro/src/GridPro.js'; import { useEffect, useState } from 'react'; import sinon from 'sinon'; diff --git a/test/typings/api.ts b/test/typings/api.ts index a0c787d..163b391 100644 --- a/test/typings/api.ts +++ b/test/typings/api.ts @@ -13,11 +13,11 @@ import { GridTreeColumn } from '../../packages/react-components/src/GridTreeColu import { GridSortColumn } from '../../packages/react-components/src/GridSortColumn.js'; import { GridFilterColumn } from '../../packages/react-components/src/GridFilterColumn.js'; import { GridSelectionColumn } from '../../packages/react-components/src/GridSelectionColumn.js'; -import { GridProEditColumn } from '../../packages/react-components/src/GridProEditColumn.js'; +import { GridProEditColumn } from '../../packages/react-components-pro/src/GridProEditColumn.js'; import { GridColumnGroup, GridColumnGroupElement } from '../../packages/react-components/src/GridColumnGroup.js'; -import { ChartSeries, ChartSeriesElement } from '../../packages/react-components/src/ChartSeries.js'; +import { ChartSeries, ChartSeriesElement } from '../../packages/react-components-pro/src/ChartSeries.js'; import { ConfirmDialog, ConfirmDialogElement } from '../../packages/react-components/src/ConfirmDialog.js'; -import { CookieConsent, CookieConsentElement } from '../../packages/react-components/src/CookieConsent.js'; +import { CookieConsent, CookieConsentElement } from '../../packages/react-components-pro/src/CookieConsent.js'; import { Dialog, DialogElement } from '../../packages/react-components/src/Dialog.js'; import { DatePicker, DatePickerElement } from '../../packages/react-components/src/DatePicker.js'; import { LoginOverlay, LoginOverlayElement } from '../../packages/react-components/src/LoginOverlay.js';