procode-lowcode-core 1.0.0 → 1.0.2

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/README.md CHANGED
@@ -1,188 +1,85 @@
1
- # ProCode Core
1
+ # ProCode Core Library
2
2
 
3
- A comprehensive React framework library for building low-code applications with powerful UI components, data management, and extensible architecture.
3
+ A powerful React framework for building low-code applications with comprehensive UI components, data management, and extensible architecture.
4
4
 
5
- ## Installation
5
+ ## 🚀 Features
6
+
7
+ - **Core Component**: Main React component for bootstrapping ProCode applications
8
+ - **Modular Architecture**: Clear separation of concerns with specialized modules
9
+ - **TypeScript Support**: Full type safety with comprehensive interfaces
10
+ - **Extensible System**: Custom adapters, actions, validations, and widgets
11
+ - **Data Management**: Built-in services for CRUD operations and state management
12
+ - **Styling System**: SCSS-based styling with modular imports
13
+
14
+ ## 📦 Installation
6
15
 
7
16
  ```bash
8
- npm install procode-core
17
+ npm install procode-lowcode-core
9
18
  ```
10
19
 
11
- ## Usage
12
-
13
- ### Default Export - Core Component
20
+ ## 🛠️ Usage
14
21
 
15
- The main React component that bootstraps your ProCode application:
22
+ ### Basic Setup
16
23
 
17
24
  ```tsx
18
25
  import React from 'react';
19
- import Core, { CoreProps } from 'procode-core';
26
+ import Core from 'procode-lowcode-core';
27
+ import 'procode-lowcode-core/styles';
20
28
 
21
29
  const App: React.FC = () => {
22
- const coreProps: CoreProps = {
23
- // Configure your ProCode application
24
- adapterProvider: yourAdapterProvider,
25
- viewModelHandler: yourViewModelHandler,
26
- // ... other configuration
27
- };
28
-
29
- return <Core {...coreProps} />;
30
+ return (
31
+ <Core
32
+ adapterProvider={myAdapterProvider}
33
+ viewModelHandler={myViewModelHandler}
34
+ templateActionProvider={myActionFactory}
35
+ customWidgetProvider={myWidgetProvider}
36
+ />
37
+ );
30
38
  };
31
39
 
32
40
  export default App;
33
41
  ```
34
42
 
35
- ### Interfaces and Types
36
-
37
- Import all interfaces and types for TypeScript development:
43
+ ### Import Options
38
44
 
39
45
  ```tsx
40
- // Import all interfaces
41
- import { Interfaces } from 'procode-core';
46
+ // Import core component
47
+ import Core from 'procode-lowcode-core';
42
48
 
43
- // Or import specific interfaces
44
- import {
45
- IActionFactory,
49
+ // Import interfaces and types
50
+ import type {
51
+ CoreProps,
46
52
  IAdapterProvider,
47
- CoreProps,
48
- BaseScreenElement,
49
- ScreenSchema
50
- } from 'procode-core';
51
- ```
52
-
53
- ### Styles
54
-
55
- Import the core styles in your application:
56
-
57
- ```scss
58
- // Import all core styles
59
- @import 'procode-core/styles';
60
-
61
- // Or import specific base styles
62
- @import 'procode-core/styles/core-base';
63
- ```
64
-
65
- ```tsx
66
- // In JavaScript/TypeScript, you can get the style paths
67
- import { getCoreStylesPath, getCoreBaseStylesPath } from 'procode-core';
53
+ IActionFactory
54
+ } from 'procode-lowcode-core';
68
55
 
69
- console.log(getCoreStylesPath()); // './Assets/styles/index.scss'
70
- console.log(getCoreBaseStylesPath()); // './Assets/styles/_core-base.scss'
56
+ // Import styles
57
+ import 'procode-lowcode-core/styles';
58
+ // Or specific styles
59
+ import 'procode-lowcode-core/styles/core-base';
71
60
  ```
72
61
 
73
- ## Key Features
74
-
75
- ### 🎯 **Core Component**
76
- - **Default Export**: `Core` - Main React component for bootstrapping ProCode applications
77
- - **Type-safe Props**: `CoreProps` interface for comprehensive configuration
78
-
79
- ### 🔧 **Interfaces & Types**
80
- - **Action Interfaces**: `IActionFactory`, `StandardActionType`
81
- - **Adapter Interfaces**: `IAdapterProvider`, `AdapterType`
82
- - **Data Model Interfaces**: `IViewModelHandler`, `QueryFilters`, `ViewModel`
83
- - **UI Element Definitions**: `BaseScreenElement`, `ScreenSchema`, `WidgetElement`
84
- - **Validation Interfaces**: `IValidationFactory`, `ValidationFcResponse`
85
-
86
- ### 🎨 **Styling System**
87
- - **Core Base Styles**: Essential styles for ProCode components
88
- - **Modular SCSS**: Import specific style modules as needed
89
- - **Container Renderer**: Layout and container styling
90
- - **Loading Components**: Spinner and skeleton loaders
91
- - **Drawer Components**: Overlay and drawer styling
62
+ ## 🏗️ Architecture
92
63
 
93
- ### 📊 **Data Management**
94
- - **View Model Handling**: Comprehensive data binding and state management
95
- - **CRUD Services**: Built-in services for data operations
96
- - **Query Filters**: Advanced filtering and querying capabilities
97
- - **Event Service**: Pub/sub event system for component communication
98
-
99
- ### 🔌 **Extensibility**
100
- - **Custom Adapters**: Implement custom data adapters
101
- - **Custom Actions**: Define custom business logic actions
102
- - **Custom Validations**: Create custom validation rules
103
- - **Custom Widgets**: Build custom UI components
104
-
105
- ## Architecture
106
-
107
- ProCode Core follows a modular architecture with clear separation of concerns:
64
+ ProCode Core follows a modular architecture:
108
65
 
109
66
  - **Application Start**: Core bootstrapping and dependency injection
110
- - **Renderer System**: Component rendering with layout, container, and widget renderers
67
+ - **Renderer System**: Component rendering with layout and widget renderers
111
68
  - **Rule Interpreter**: Business rule processing and UI effect application
112
69
  - **Storage Manager**: Flexible storage abstraction layer
113
70
  - **Service Layer**: HTTP services and data management
114
71
  - **Validation System**: Extensible validation framework
115
72
 
116
- ## Examples
117
-
118
- ### Basic Setup
119
-
120
- ```tsx
121
- import React from 'react';
122
- import Core, {
123
- CoreProps,
124
- IAdapterProvider,
125
- IViewModelHandler
126
- } from 'procode-core';
127
- import 'procode-core/styles';
128
-
129
- const App: React.FC = () => {
130
- const props: CoreProps = {
131
- adapterProvider: myAdapterProvider,
132
- viewModelHandler: myViewModelHandler,
133
- templateActionProvider: myActionFactory,
134
- customWidgetProvider: myWidgetProvider,
135
- };
136
-
137
- return <Core {...props} />;
138
- };
139
- ```
140
-
141
- ### Custom Adapter Implementation
142
-
143
- ```tsx
144
- import { IAdapterProvider, AdapterType, EventService } from 'procode-core';
145
-
146
- class MyAdapterProvider implements IAdapterProvider {
147
- setUpScreenAdapter(id: string, eventService: EventService): void {
148
- // Implement your custom adapter logic
149
- }
150
- }
151
- ```
152
-
153
- ### Using Interfaces
154
-
155
- ```tsx
156
- import {
157
- BaseScreenElement,
158
- WidgetElement,
159
- ScreenSchema,
160
- CoreProps
161
- } from 'procode-core';
162
-
163
- interface MyCustomWidget extends WidgetElement {
164
- customProperty: string;
165
- }
166
-
167
- const mySchema: ScreenSchema = {
168
- // Define your screen schema
169
- };
170
- ```
171
-
172
- ## Requirements
73
+ ## 📋 Requirements
173
74
 
174
75
  - React 18.2.0+
175
76
  - TypeScript 4.9.3+
176
77
  - Node.js 16+
177
78
 
178
- ## License
79
+ ## 📄 License
179
80
 
180
81
  MIT
181
82
 
182
- ## Contributing
183
-
184
- We welcome contributions! Please see our contributing guidelines for more details.
185
-
186
- ## Support
83
+ ## 🤝 Contributing
187
84
 
188
- For support and questions, please visit our documentation or create an issue in the repository.
85
+ Contributions are welcome! Please read our contributing guidelines.