@bryntum/grid-vue-3-thin 7.1.1 → 7.1.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,53 +1,256 @@
1
- # Vue 3 wrapper for Bryntum Grid
1
+ <div style="display: flex; justify-content: space-between; align-items: center; margin: 0 50px;">
2
+ <a href="https://bryntum.com/" rel="noopener" target="_blank">
3
+ <img width="350" src="https://bryntum.com/resources/bryntum_logo_blue.svg" alt="Bryntum logo">
4
+ </a>
5
+ <img src="https://bryntum.com/products/grid/docs/data/Core/images/logo/vue.svg" alt="Vue" width="100">
6
+ </div>
2
7
 
3
- This package contains a wrapper that encapsulates Bryntum Grid and turns it into a Vue 3 component, exposing
4
- configuration options, properties, features, and events.
8
+ # Vue 3 wrapper for Bryntum Grid Thin packages
5
9
 
6
- # Bryntum repository access setup
10
+ This package provides a wrapper that turns Bryntum Grid into a Vue 3 component, exposing configuration options,
11
+ properties, features, and events.
7
12
 
8
- This npm package requires access to the private Bryntum npm repository.
9
- You must be logged in to this repository as a licensed or trial user to access it.
10
- Please check the [Online npm repository guide](https://bryntum.com/products/grid/docs/guide/Grid/npm-repository) for detailed information on the sign-up/login
11
- process.
13
+ > **Thin Package:** This is a thin wrapper package designed for applications that use multiple Bryntum products.
14
+ > Thin packages exclude bundled dependencies to avoid duplication. For details, see
15
+ > [Vue Multiple Products](https://bryntum.com/products/grid/docs/guide/Grid/integration/vue/multiple-products).
12
16
 
13
- # Installation
17
+ ## Version Requirement
14
18
 
15
- The installation is performed by running the installation command in the root of your application folder. The specific
16
- command depends on the package manager used in your application.
19
+ * Vue: `3.2` or higher
20
+ * TypeScript: `4.2` or higher
21
+ * Vite `5` or higher
17
22
 
18
- The following commands are most frequently used:
23
+ ## Package Contents
19
24
 
20
- Install using `npm`:
25
+ | Path | Description |
26
+ |--------------|------------------------------------------------|
27
+ | `lib/` | Vue 3 wrapper components (BryntumGrid etc.) |
28
+ | `src/` | Original Vue source files |
29
+ | `src/*.d.ts` | TypeScript type definitions |
21
30
 
22
- ```shell
23
- npm install @bryntum/grid-vue-3@7.1.1
31
+ ## Installation
32
+
33
+ ### Vue 3 Wrapper
34
+
35
+ ```bash
36
+ npm install @bryntum/grid-vue-3-thin@latest
24
37
  ```
25
38
 
26
- Install using `yarn`:
39
+ ### Component Package (Required)
40
+
41
+ ```bash
42
+ npm install @bryntum/grid-thin@latest
43
+ ```
44
+
45
+ ## Try Bryntum Online Demos
46
+
47
+ * [View Online Vue Demos](https://bryntum.com/products/grid/examples/?framework=vue)
48
+
49
+ ## Quick Start
50
+
51
+ Edit the `src/App.vue` file and replace the content with the following:
52
+
53
+ ```typescript
54
+ <script setup>
55
+ import { createApp, ref } from 'vue';
56
+
57
+ import { BryntumGrid } from '@bryntum/grid-vue-3-thin';
58
+ import { gridProps } from './AppConfig';
59
+
60
+ import './App.scss';
61
+
62
+ createApp({
63
+ });
64
+ </script>
65
+
66
+ <template>
67
+ <bryntum-grid
68
+ v-bind=gridProps
69
+ />
70
+ </template>
27
71
 
28
- ```shell
29
- yarn add @bryntum/grid-vue-3@7.1.1
72
+ <style lang="scss">
73
+ </style>
30
74
  ```
31
75
 
32
- # Integration guide
76
+ Create a `GridConfig.ts` file in the `src/` directory with the following content:
77
+
78
+ ```typescript
79
+ import { BryntumGridProps } from '@bryntum/grid-vue-3';
80
+
81
+ export const gridProps: BryntumGridProps = {
82
+ columns : [
83
+ {
84
+ text : 'Name',
85
+ field : 'name',
86
+ flex : 1,
87
+ editor : {
88
+ type : 'textfield',
89
+ required : true
90
+ }
91
+ }, {
92
+ text : 'Age',
93
+ field : 'age',
94
+ width : 100,
95
+ type : 'number'
96
+ }, {
97
+ text : 'City',
98
+ field : 'city',
99
+ flex : 1
100
+ }, {
101
+ text : 'Food',
102
+ field : 'food',
103
+ flex : 1
104
+ }, {
105
+ text : 'Color',
106
+ field : 'color',
107
+ flex : 1,
108
+ sortable : false,
109
+ type : 'color'
110
+ }
111
+ ],
112
+
113
+ data : [
114
+ { id : 1, name : 'Don A Taylor', age : 30, city : 'Moscow', food : 'Salad', color : 'Black' },
115
+ { id : 2, name : 'John B Adams', age : 65, city : 'Paris', food : 'Bolognese', color : 'Orange' },
116
+ { id : 3, name : 'John Doe', age : 40, city : 'London', food : 'Fish and Chips', color : 'Blue' },
117
+ { id : 4, name : 'Maria Garcia', age : 28, city : 'Madrid', food : 'Paella', color : 'Green' },
118
+ { id : 5, name : 'Li Wei', age : 35, city : 'Beijing', food : 'Dumplings', color : 'Yellow' },
119
+ { id : 6, name : 'Sara Johnson', age : 32, city : 'Sydney', food : 'Sushi', color : 'Purple' },
120
+ { id : 7, name : 'Lucas Brown', age : 22, city : 'Toronto', food : 'Poutine', color : 'Orange' },
121
+ { id : 8, name : 'Emma Wilson', age : 27, city : 'Paris', food : 'Croissant', color : 'Pink' },
122
+ { id : 9, name : 'Ivan Petrov', age : 45, city : 'St. Petersburg', food : 'Borscht', color : 'Grey' },
123
+ { id : 10, name : 'Zhang Ming', age : 50, city : 'Shanghai', food : 'Hot Pot', color : 'Purple' },
124
+ { id : 11, name : 'Sophia Martinez', age : 20, city : 'Mexico City', food : 'Tacos', color : 'Crimson' },
125
+ { id : 12, name : 'Noah Smith', age : 55, city : 'Cape Town', food : 'Biltong', color : 'Turquoise' },
126
+ { id : 13, name : 'Isabella Jones', age : 33, city : 'Rio de Janeiro', food : 'Feijoada', color : 'Magenta' },
127
+ { id : 14, name : 'Ethan Taylor', age : 29, city : 'Chicago', food : 'Deep-Dish Pizza', color : 'Cyan' },
128
+ { id : 15, name : 'Olivia Brown', age : 37, city : 'Berlin', food : 'Schnitzel', color : 'Maroon' },
129
+ { id : 16, name : 'Mia Wilson', age : 26, city : 'Rome', food : 'Pasta', color : 'Olive' },
130
+ { id : 17, name : 'Jacob Miller', age : 60, city : 'Amsterdam', food : 'Stroopwafel', color : 'Lime' },
131
+ { id : 18, name : 'Chloe Davis', age : 23, city : 'Los Angeles', food : 'Burger', color : 'Teal' },
132
+ { id : 19, name : 'Aiden Martinez', age : 48, city : 'Buenos Aires', food : 'Asado', color : 'Violet' },
133
+ { id : 20, name : 'Liam Lee', age : 38, city : 'Seoul', food : 'Kimchi', color : 'Indigo' },
134
+ { id : 21, name : 'Sophie Kim', age : 21, city : 'Tokyo', food : 'Ramen', color : 'Pink' },
135
+ { id : 22, name : 'Alexander Nguyen', age : 41, city : 'Hanoi', food : 'Pho', color : 'Coral' },
136
+ { id : 23, name : 'Ella Patel', age : 19, city : 'Mumbai', food : 'Curry', color : 'Amber' },
137
+ { id : 24, name : 'James O Connor', age : 34, city : 'Dublin', food : 'Irish Stew', color : 'Green' },
138
+ { id : 25, name : 'Isabelle Chen', age : 31, city : 'Hong Kong', food : 'Dim Sum', color : 'Brown' }
139
+ ]
140
+ };
141
+ ```
142
+
143
+ ## Project Structure
144
+
145
+ ### Product Dependencies
146
+
147
+ API packages:
148
+
149
+ ```json
150
+ {
151
+ "dependencies": {
152
+ "@bryntum/core-thin": "7.1.2",
153
+ "@bryntum/grid-thin": "7.1.2"
154
+ }
155
+ }
156
+ ```
157
+
158
+ Framework wrapper packages:
159
+
160
+ ```json
161
+ {
162
+ "dependencies": {
163
+ "@bryntum/core-vue-3-thin": "7.1.2",
164
+ "@bryntum/grid-vue-3-thin": "7.1.2"
165
+ }
166
+ }
167
+ ```
168
+
169
+ ### Product Configuration
170
+
171
+ ```typescript
172
+ import { BryntumGridProps } from '@bryntum/grid-vue-3-thin';
173
+
174
+ const gridProps : BryntumGridProps = {
175
+ // Grid configuration
176
+ };
177
+ ```
178
+
179
+ ### Product Styling
180
+
181
+ **SCSS/CSS:**
182
+
183
+ ```css
184
+ /* FontAwesome is used for icons */
185
+ @import '@bryntum/core-thin/fontawesome/css/fontawesome.css';
186
+ @import "@bryntum/core-thin/fontawesome/css/solid.css";
187
+ /* Structural CSS */
188
+ @import '@bryntum/core-thin/core.css';
189
+ @import '@bryntum/grid-thin/grid.css';
190
+ /* Theme */
191
+ @import '@bryntum/core-thin/svalbard-light.css';
192
+ ```
193
+
194
+ ### Product Localization
195
+
196
+ ```javascript
197
+ import '@bryntum/grid-thin/lib/localization/De.js'
198
+ ```
199
+
200
+ ## Integration Guide
33
201
 
34
202
  For details on installing and using this package, see the
35
203
  [Vue Integration Guide](https://bryntum.com/products/grid/docs/guide/Grid/integration/vue/guide).
36
204
 
37
- # Online references
205
+ ## Wrappers
206
+
207
+ Vue wrappers encapsulate Bryntum components as native Vue components, exposing all configuration options,
208
+ properties, features, and events through Vue-familiar patterns like props, events, and slots.
209
+
210
+ Visit [Wrappers documentation](https://bryntum.com/products/grid/docs/guide/Grid/integration/vue/guide#wrappers) for the complete list of available
211
+ wrapper components.
212
+
213
+ ## Features
214
+
215
+ Features are optional modules that extend Bryntum Grid functionality. Each feature is suffixed with `Feature` and
216
+ can be enabled and configured through standard Vue props.
217
+
218
+ Visit [Features documentation](https://bryntum.com/products/grid/docs/guide/Grid/integration/vue/guide#features) for the complete list of available
219
+ features and their configuration options.
220
+
221
+ ## Explore All Bryntum Products
222
+
223
+ * [Bryntum Grid](https://bryntum.com/products/grid/) - High-performance data grid
224
+ * [Bryntum Scheduler](https://bryntum.com/products/scheduler/) - Resource scheduling component
225
+ * [Bryntum Scheduler Pro](https://bryntum.com/products/schedulerpro/) - Advanced scheduling with dependencies
226
+ * [Bryntum Gantt](https://bryntum.com/products/gantt/) - Project planning and management
227
+ * [Bryntum Calendar](https://bryntum.com/products/calendar/) - Full-featured calendar component
228
+ * [Bryntum TaskBoard](https://bryntum.com/products/taskboard/) - Kanban-style task management
229
+
230
+ Explore our comprehensive collection of demos:
231
+
232
+ | Product | <img src="https://bryntum.com/products/grid/docs/data/Core/images/logo/js.svg" alt="JavaScript" width="30"><br>JavaScript | <img src="https://bryntum.com/products/grid/docs/data/Core/images/logo/react.svg" alt="React" width="30"><br>React | <img src="https://bryntum.com/products/grid/docs/data/Core/images/logo/vue.svg" alt="Vue" width="30"><br>Vue | <img src="https://bryntum.com/products/grid/docs/data/Core/images/logo/angular.svg" alt="Angular" width="30"><br>Angular |
233
+ |-------------------|:------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------:|:----------------------------------------------------------------------:|:------------------------------------------------------------------------------:|
234
+ | **Grid** | [Grid JavaScript demos](https://bryntum.com/products/grid/examples/?framework=javascript) | [Grid React demos](https://bryntum.com/products/grid/examples/?framework=react) | [Grid Vue demos](https://bryntum.com/products/grid/examples/?framework=vue) | [Grid Angular demos](https://bryntum.com/products/grid/examples/?framework=angular) |
235
+ | **Scheduler** | [Scheduler JavaScript demos](https://bryntum.com/products/scheduler/examples/?framework=javascript) | [Scheduler React demos](https://bryntum.com/products/scheduler/examples/?framework=react) | [Scheduler Vue demos](https://bryntum.com/products/scheduler/examples/?framework=vue) | [Scheduler Angular demos](https://bryntum.com/products/scheduler/examples/?framework=angular) |
236
+ | **Scheduler Pro** | [Scheduler Pro JavaScript demos](https://bryntum.com/products/schedulerpro/examples/?framework=javascript) | [Scheduler Pro React demos](https://bryntum.com/products/schedulerpro/examples/?framework=react) | [Scheduler Pro Vue demos](https://bryntum.com/products/schedulerpro/examples/?framework=vue) | [Scheduler Pro Angular demos](https://bryntum.com/products/schedulerpro/examples/?framework=angular) |
237
+ | **Gantt** | [Gantt JavaScript demos](https://bryntum.com/products/gantt/examples/?framework=javascript) | [Gantt React demos](https://bryntum.com/products/gantt/examples/?framework=react) | [Gantt Vue demos](https://bryntum.com/products/gantt/examples/?framework=vue) | [Gantt Angular demos](https://bryntum.com/products/gantt/examples/?framework=angular) |
238
+ | **Calendar** | [Calendar JavaScript demos](https://bryntum.com/products/calendar/examples/?framework=javascript) | [Calendar React demos](https://bryntum.com/products/calendar/examples/?framework=react) | [Calendar Vue demos](https://bryntum.com/products/calendar/examples/?framework=vue) | [Calendar Angular demos](https://bryntum.com/products/calendar/examples/?framework=angular) |
239
+ | **TaskBoard** | [TaskBoard JavaScript demos](https://bryntum.com/products/taskboard/examples/?framework=javascript) | [TaskBoard React demos](https://bryntum.com/products/taskboard/examples/?framework=react) | [TaskBoard Vue demos](https://bryntum.com/products/taskboard/examples/?framework=vue) | [TaskBoard Angular demos](https://bryntum.com/products/taskboard/examples/?framework=angular) |
240
+
241
+ ## Online references
38
242
 
39
- * [Bryntum Vue Quick Start Guide](https://bryntum.com/products/grid/docs/guide/Grid/quick-start/vue-3)
40
- * [Bryntum Vue Integration Guide](https://bryntum.com/products/grid/docs/guide/Grid/integration/vue/guide)
41
- * [Bryntum npm repository guide](https://bryntum.com/products/grid/docs/guide/Grid/npm-repository)
42
243
  * [Bryntum Grid documentation](https://bryntum.com/products/grid/docs/)
43
244
  * [Bryntum Grid examples](https://bryntum.com/products/grid/examples/)
245
+
44
246
  * [Bryntum Support Forum](https://forum.bryntum.com/)
45
247
  * [Contact us](https://bryntum.com/contact/)
46
248
 
47
- # License and copyright
249
+ ## License and copyright
48
250
 
49
251
  This wrapper depends on Bryntum Grid, which is commercial software and requires a paid license.
50
252
  Please visit the [Bryntum Grid End User License](https://bryntum.com/products/grid/license/) for the full text of the license.
51
253
 
52
254
  Copyright © 2009-2026, Bryntum
53
255
  All rights reserved.
256
+