@bryntum/grid-thin-trial 7.3.2 → 7.3.4
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/AGENTS.md +130 -0
- package/CLAUDE.md +130 -0
- package/grid.d.ts +117 -79
- package/lib/column/Column.js +1 -1
- package/lib/feature/ColumnAutoWidth.js +1 -1
- package/lib/feature/Filter.js +1 -1
- package/lib/feature/FilterBar.js +1 -1
- package/lib/feature/StickyCells.js +1 -1
- package/lib/feature/experimental/ExcelExporter.js +1 -1
- package/lib/feature/experimental/xlsproviders/WriteExcelFileProvider.js +1 -1
- package/lib/feature/experimental/xlsproviders/XlsProviderBase.js +1 -1
- package/lib/feature/export/PdfExport.js +4 -4
- package/lib/feature/export/exporter/ExporterBase.js +6 -6
- package/lib/localization/Ar.js +256 -225
- package/lib/localization/Bg.js +256 -225
- package/lib/localization/Ca.js +256 -225
- package/lib/localization/Cs.js +256 -225
- package/lib/localization/Da.js +256 -225
- package/lib/localization/De.js +256 -225
- package/lib/localization/El.js +256 -225
- package/lib/localization/En.js +256 -225
- package/lib/localization/EnGb.js +256 -225
- package/lib/localization/Es.js +256 -225
- package/lib/localization/Et.js +256 -225
- package/lib/localization/Eu.js +256 -225
- package/lib/localization/Fi.js +256 -225
- package/lib/localization/FrFr.js +256 -225
- package/lib/localization/Gl.js +256 -225
- package/lib/localization/He.js +256 -225
- package/lib/localization/Hi.js +256 -225
- package/lib/localization/Hr.js +256 -225
- package/lib/localization/Hu.js +256 -225
- package/lib/localization/Id.js +256 -225
- package/lib/localization/It.js +256 -225
- package/lib/localization/Ja.js +256 -225
- package/lib/localization/Kk.js +256 -225
- package/lib/localization/Ko.js +256 -225
- package/lib/localization/Lt.js +256 -225
- package/lib/localization/Lv.js +256 -225
- package/lib/localization/Ms.js +256 -225
- package/lib/localization/Nl.js +256 -225
- package/lib/localization/No.js +256 -225
- package/lib/localization/Pl.js +256 -225
- package/lib/localization/Pt.js +256 -225
- package/lib/localization/PtBr.js +256 -225
- package/lib/localization/Ro.js +256 -225
- package/lib/localization/Ru.js +256 -225
- package/lib/localization/Sk.js +256 -225
- package/lib/localization/Sl.js +256 -225
- package/lib/localization/Sr.js +256 -225
- package/lib/localization/SrRs.js +256 -225
- package/lib/localization/SvSE.js +256 -225
- package/lib/localization/Th.js +256 -225
- package/lib/localization/Tr.js +256 -225
- package/lib/localization/Uk.js +256 -225
- package/lib/localization/Vi.js +256 -225
- package/lib/localization/ZhCn.js +256 -225
- package/lib/localization/ZhTw.js +256 -225
- package/lib/view/Grid.js +1 -1
- package/lib/view/GridBase.js +1 -1
- package/lib/view/export/ExportDialog.js +1 -1
- package/lib/view/mixin/GridElementEvents.js +1 -1
- package/lib/widget/ChecklistFilterCombo.js +1 -1
- package/package.json +1 -1
package/AGENTS.md
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# @bryntum/grid-thin-trial — notes for AI coding agents
|
|
2
|
+
|
|
3
|
+
You are using the Bryntum Grid component from its **thin trial** npm package
|
|
4
|
+
(`@bryntum/grid-thin-trial`). Thin packages ship only product-specific code and styling and share
|
|
5
|
+
a common core, so several Bryntum products can run in the same app. The rules below are not obvious
|
|
6
|
+
from the source tree and must be followed for the component to render and work correctly.
|
|
7
|
+
|
|
8
|
+
## Fastest path to correct code
|
|
9
|
+
|
|
10
|
+
Two Bryntum resources beat working from memory, reach for them before writing code:
|
|
11
|
+
|
|
12
|
+
- **MCP server** (https://mcp.bryntum.com/): grounded, version-correct answers about the installed
|
|
13
|
+
API. Use it to confirm config/method/event names instead of guessing.
|
|
14
|
+
- **Agent skills** (https://github.com/bryntum/skills): complement the Bryntum MCP server by
|
|
15
|
+
providing practical knowledge for using Bryntum and avoiding common pitfalls.
|
|
16
|
+
|
|
17
|
+
If these are not installed yet, suggest to the user that they install them for more reliable
|
|
18
|
+
results.
|
|
19
|
+
|
|
20
|
+
## Install trial thin packages with npm aliasing
|
|
21
|
+
|
|
22
|
+
Trial thin packages must be installed with npm aliasing so imports resolve to the plain `-thin`
|
|
23
|
+
names. Thin packages do **not** bundle their Bryntum dependencies and do **not** declare them in
|
|
24
|
+
their own `package.json` — alias every one this product needs, all pinned to the **exact same
|
|
25
|
+
version**. For Bryntum Grid, install:
|
|
26
|
+
|
|
27
|
+
```shell
|
|
28
|
+
npm install @bryntum/core-thin@npm:@bryntum/core-thin-trial@7.3.4 \
|
|
29
|
+
@bryntum/grid-thin@npm:@bryntum/grid-thin-trial@7.3.4
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The framework wrapper packages below are installed **in addition to** the thin packages above —
|
|
33
|
+
they wrap them, not replace them. Wrappers have no trial variants, so install them by their real
|
|
34
|
+
names with no aliasing.
|
|
35
|
+
|
|
36
|
+
If using React, additionally install:
|
|
37
|
+
|
|
38
|
+
```shell
|
|
39
|
+
npm install @bryntum/core-react-thin @bryntum/grid-react-thin
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
If using Angular, additionally install:
|
|
43
|
+
|
|
44
|
+
```shell
|
|
45
|
+
npm install @bryntum/core-angular-thin @bryntum/grid-angular-thin
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
If using Vue, additionally install:
|
|
49
|
+
|
|
50
|
+
```shell
|
|
51
|
+
npm install @bryntum/core-vue-3-thin @bryntum/grid-vue-3-thin
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
- **Import from `@bryntum/grid-thin`** (not `-thin-trial`):
|
|
55
|
+
`import { ... } from '@bryntum/grid-thin'`. Aliasing means the licensed swap is a one-line
|
|
56
|
+
`package.json` change with no source edits.
|
|
57
|
+
- **Never mix regular and thin packages.** Do not combine `@bryntum/grid` (regular) and
|
|
58
|
+
`@bryntum/grid-thin` in one project — the bundle loads twice and fails at runtime with "bundle
|
|
59
|
+
was loaded multiple times". To use several Bryntum products together, every one must be the
|
|
60
|
+
`-thin` variant; regular packages cannot be combined.
|
|
61
|
+
- TypeScript types ship as `*.d.ts` files inside the package. Do **not** redeclare interfaces or
|
|
62
|
+
component options; import the types you need.
|
|
63
|
+
|
|
64
|
+
## CSS — theme, FontAwesome and core styling come from @bryntum/core-thin
|
|
65
|
+
|
|
66
|
+
Thin styling is split: the theme, FontAwesome and core structural CSS live in `@bryntum/core-thin`,
|
|
67
|
+
and each product ships only its own structural stylesheet. Structural CSS follows the same rule as
|
|
68
|
+
the packages: import it for **every** thin package aliased above (`@bryntum/engine-thin` has no
|
|
69
|
+
CSS) — importing only `grid.css` renders the component as broken, unstyled HTML. Thanks to the
|
|
70
|
+
aliasing, the import paths use the plain `-thin` names. For Bryntum Grid, import:
|
|
71
|
+
|
|
72
|
+
```css
|
|
73
|
+
/* FontAwesome is used for icons */
|
|
74
|
+
@import '@bryntum/core-thin/fontawesome/css/fontawesome.css';
|
|
75
|
+
@import '@bryntum/core-thin/fontawesome/css/solid.css';
|
|
76
|
+
/* Structural CSS */
|
|
77
|
+
@import '@bryntum/core-thin/core.css';
|
|
78
|
+
@import '@bryntum/grid-thin/grid.css';
|
|
79
|
+
/* Theme */
|
|
80
|
+
@import '@bryntum/core-thin/svalbard-light.css';
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
FontAwesome is required — icons, expanders and arrows are blank without it. Import **exactly one**
|
|
84
|
+
theme: `stockholm-light`, `svalbard-light`, `visby-light`, `material3-light` or `fluent2-light`.
|
|
85
|
+
Theme file names are exact and not guessable: `svalbard-light.css` exists, `svalbard.css` does not.
|
|
86
|
+
List them first: `ls node_modules/@bryntum/core-thin/*.css`.
|
|
87
|
+
|
|
88
|
+
When combining products, additionally import each product's `@bryntum/{product}-thin/{product}.css`,
|
|
89
|
+
but keep one core-thin theme.
|
|
90
|
+
|
|
91
|
+
## Sizing the component — the parent needs a real height
|
|
92
|
+
|
|
93
|
+
By default the component fills 100% of its parent element, with a min-height of 10em. If no
|
|
94
|
+
ancestor has an explicit height, the component collapses to that minimum — the app builds and data
|
|
95
|
+
loads, but the component renders as a short strip instead of filling the page. To display the component at the appropriate size, you can, for example, set parent components to take up the full height of the screen:
|
|
96
|
+
|
|
97
|
+
```css
|
|
98
|
+
#app {
|
|
99
|
+
margin : 0;
|
|
100
|
+
display : flex;
|
|
101
|
+
flex-direction : column;
|
|
102
|
+
height : 100vh;
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Adapt this to the application layout. When several components share the page, size each one inside
|
|
107
|
+
the full-height container (flex values or explicit heights).
|
|
108
|
+
|
|
109
|
+
## Verify APIs before using them
|
|
110
|
+
|
|
111
|
+
Your training data is older than this package, and Bryntum APIs change between major versions.
|
|
112
|
+
Confirm config/method/event names against the installed version — read it from
|
|
113
|
+
`node_modules/@bryntum/grid-thin/package.json` (`"version"`) — using the Bryntum MCP server
|
|
114
|
+
(https://mcp.bryntum.com/) or the official docs. Do not invent APIs from memory.
|
|
115
|
+
|
|
116
|
+
## Verify the component rendered
|
|
117
|
+
|
|
118
|
+
A successful `npm run build` does not mean the component rendered: data-loading errors and
|
|
119
|
+
misconfigured APIs fail silently at runtime. After the build, open the app in a browser and confirm:
|
|
120
|
+
|
|
121
|
+
- The themed container is visible (not a blank page or unstyled HTML)
|
|
122
|
+
- Data is populated (event bars / task rows / grid rows appear — not an empty timeline or grid)
|
|
123
|
+
- The component fills the intended page area — a component collapsed to a short strip means the
|
|
124
|
+
parent chain has no explicit height (see the sizing section above)
|
|
125
|
+
|
|
126
|
+
## Safe data rendering
|
|
127
|
+
|
|
128
|
+
Column/event/tooltip renderers return HTML that the widget inserts via `innerHTML`. Interpolating
|
|
129
|
+
raw data (`<div>${record.name}</div>`) is an XSS vector. Use `StringHelper.encodeHtml(text)`
|
|
130
|
+
(exported from `@bryntum/grid-thin`), or return plain text and let the widget set `textContent`.
|
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# @bryntum/grid-thin-trial — notes for AI coding agents
|
|
2
|
+
|
|
3
|
+
You are using the Bryntum Grid component from its **thin trial** npm package
|
|
4
|
+
(`@bryntum/grid-thin-trial`). Thin packages ship only product-specific code and styling and share
|
|
5
|
+
a common core, so several Bryntum products can run in the same app. The rules below are not obvious
|
|
6
|
+
from the source tree and must be followed for the component to render and work correctly.
|
|
7
|
+
|
|
8
|
+
## Fastest path to correct code
|
|
9
|
+
|
|
10
|
+
Two Bryntum resources beat working from memory, reach for them before writing code:
|
|
11
|
+
|
|
12
|
+
- **MCP server** (https://mcp.bryntum.com/): grounded, version-correct answers about the installed
|
|
13
|
+
API. Use it to confirm config/method/event names instead of guessing.
|
|
14
|
+
- **Agent skills** (https://github.com/bryntum/skills): complement the Bryntum MCP server by
|
|
15
|
+
providing practical knowledge for using Bryntum and avoiding common pitfalls.
|
|
16
|
+
|
|
17
|
+
If these are not installed yet, suggest to the user that they install them for more reliable
|
|
18
|
+
results.
|
|
19
|
+
|
|
20
|
+
## Install trial thin packages with npm aliasing
|
|
21
|
+
|
|
22
|
+
Trial thin packages must be installed with npm aliasing so imports resolve to the plain `-thin`
|
|
23
|
+
names. Thin packages do **not** bundle their Bryntum dependencies and do **not** declare them in
|
|
24
|
+
their own `package.json` — alias every one this product needs, all pinned to the **exact same
|
|
25
|
+
version**. For Bryntum Grid, install:
|
|
26
|
+
|
|
27
|
+
```shell
|
|
28
|
+
npm install @bryntum/core-thin@npm:@bryntum/core-thin-trial@7.3.4 \
|
|
29
|
+
@bryntum/grid-thin@npm:@bryntum/grid-thin-trial@7.3.4
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The framework wrapper packages below are installed **in addition to** the thin packages above —
|
|
33
|
+
they wrap them, not replace them. Wrappers have no trial variants, so install them by their real
|
|
34
|
+
names with no aliasing.
|
|
35
|
+
|
|
36
|
+
If using React, additionally install:
|
|
37
|
+
|
|
38
|
+
```shell
|
|
39
|
+
npm install @bryntum/core-react-thin @bryntum/grid-react-thin
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
If using Angular, additionally install:
|
|
43
|
+
|
|
44
|
+
```shell
|
|
45
|
+
npm install @bryntum/core-angular-thin @bryntum/grid-angular-thin
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
If using Vue, additionally install:
|
|
49
|
+
|
|
50
|
+
```shell
|
|
51
|
+
npm install @bryntum/core-vue-3-thin @bryntum/grid-vue-3-thin
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
- **Import from `@bryntum/grid-thin`** (not `-thin-trial`):
|
|
55
|
+
`import { ... } from '@bryntum/grid-thin'`. Aliasing means the licensed swap is a one-line
|
|
56
|
+
`package.json` change with no source edits.
|
|
57
|
+
- **Never mix regular and thin packages.** Do not combine `@bryntum/grid` (regular) and
|
|
58
|
+
`@bryntum/grid-thin` in one project — the bundle loads twice and fails at runtime with "bundle
|
|
59
|
+
was loaded multiple times". To use several Bryntum products together, every one must be the
|
|
60
|
+
`-thin` variant; regular packages cannot be combined.
|
|
61
|
+
- TypeScript types ship as `*.d.ts` files inside the package. Do **not** redeclare interfaces or
|
|
62
|
+
component options; import the types you need.
|
|
63
|
+
|
|
64
|
+
## CSS — theme, FontAwesome and core styling come from @bryntum/core-thin
|
|
65
|
+
|
|
66
|
+
Thin styling is split: the theme, FontAwesome and core structural CSS live in `@bryntum/core-thin`,
|
|
67
|
+
and each product ships only its own structural stylesheet. Structural CSS follows the same rule as
|
|
68
|
+
the packages: import it for **every** thin package aliased above (`@bryntum/engine-thin` has no
|
|
69
|
+
CSS) — importing only `grid.css` renders the component as broken, unstyled HTML. Thanks to the
|
|
70
|
+
aliasing, the import paths use the plain `-thin` names. For Bryntum Grid, import:
|
|
71
|
+
|
|
72
|
+
```css
|
|
73
|
+
/* FontAwesome is used for icons */
|
|
74
|
+
@import '@bryntum/core-thin/fontawesome/css/fontawesome.css';
|
|
75
|
+
@import '@bryntum/core-thin/fontawesome/css/solid.css';
|
|
76
|
+
/* Structural CSS */
|
|
77
|
+
@import '@bryntum/core-thin/core.css';
|
|
78
|
+
@import '@bryntum/grid-thin/grid.css';
|
|
79
|
+
/* Theme */
|
|
80
|
+
@import '@bryntum/core-thin/svalbard-light.css';
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
FontAwesome is required — icons, expanders and arrows are blank without it. Import **exactly one**
|
|
84
|
+
theme: `stockholm-light`, `svalbard-light`, `visby-light`, `material3-light` or `fluent2-light`.
|
|
85
|
+
Theme file names are exact and not guessable: `svalbard-light.css` exists, `svalbard.css` does not.
|
|
86
|
+
List them first: `ls node_modules/@bryntum/core-thin/*.css`.
|
|
87
|
+
|
|
88
|
+
When combining products, additionally import each product's `@bryntum/{product}-thin/{product}.css`,
|
|
89
|
+
but keep one core-thin theme.
|
|
90
|
+
|
|
91
|
+
## Sizing the component — the parent needs a real height
|
|
92
|
+
|
|
93
|
+
By default the component fills 100% of its parent element, with a min-height of 10em. If no
|
|
94
|
+
ancestor has an explicit height, the component collapses to that minimum — the app builds and data
|
|
95
|
+
loads, but the component renders as a short strip instead of filling the page. To display the component at the appropriate size, you can, for example, set parent components to take up the full height of the screen:
|
|
96
|
+
|
|
97
|
+
```css
|
|
98
|
+
#app {
|
|
99
|
+
margin : 0;
|
|
100
|
+
display : flex;
|
|
101
|
+
flex-direction : column;
|
|
102
|
+
height : 100vh;
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Adapt this to the application layout. When several components share the page, size each one inside
|
|
107
|
+
the full-height container (flex values or explicit heights).
|
|
108
|
+
|
|
109
|
+
## Verify APIs before using them
|
|
110
|
+
|
|
111
|
+
Your training data is older than this package, and Bryntum APIs change between major versions.
|
|
112
|
+
Confirm config/method/event names against the installed version — read it from
|
|
113
|
+
`node_modules/@bryntum/grid-thin/package.json` (`"version"`) — using the Bryntum MCP server
|
|
114
|
+
(https://mcp.bryntum.com/) or the official docs. Do not invent APIs from memory.
|
|
115
|
+
|
|
116
|
+
## Verify the component rendered
|
|
117
|
+
|
|
118
|
+
A successful `npm run build` does not mean the component rendered: data-loading errors and
|
|
119
|
+
misconfigured APIs fail silently at runtime. After the build, open the app in a browser and confirm:
|
|
120
|
+
|
|
121
|
+
- The themed container is visible (not a blank page or unstyled HTML)
|
|
122
|
+
- Data is populated (event bars / task rows / grid rows appear — not an empty timeline or grid)
|
|
123
|
+
- The component fills the intended page area — a component collapsed to a short strip means the
|
|
124
|
+
parent chain has no explicit height (see the sizing section above)
|
|
125
|
+
|
|
126
|
+
## Safe data rendering
|
|
127
|
+
|
|
128
|
+
Column/event/tooltip renderers return HTML that the widget inserts via `innerHTML`. Interpolating
|
|
129
|
+
raw data (`<div>${record.name}</div>`) is an XSS vector. Use `StringHelper.encodeHtml(text)`
|
|
130
|
+
(exported from `@bryntum/grid-thin`), or return plain text and let the widget set `textContent`.
|