@1771technologies/lytenyte-pro 2.0.0 → 2.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 +52 -31
- package/SECURITY.md +22 -0
- package/css/components.css +4 -4
- package/css/grid.css +1 -1
- package/dist/__play__/alpha.play.d.ts +1 -0
- package/dist/__play__/alpha.play.js +3 -3
- package/dist/__play__/basic-server-data/page-data.d.ts +16 -0
- package/dist/__play__/basic-server-data/page-data.js +21002 -0
- package/dist/__play__/basic-server-data/page-server.d.ts +31 -0
- package/dist/__play__/basic-server-data/page-server.js +25 -0
- package/dist/__play__/paginated.play.d.ts +7 -0
- package/dist/__play__/paginated.play.js +48 -0
- package/dist/cell-selection/cell-selection-driver/use-cell-focus-change.d.ts +1 -2
- package/dist/cell-selection/cell-style-row.d.ts +1 -1
- package/dist/cell-selection/cell-style-row.js +1 -1
- package/dist/cell-selection/index.d.ts +0 -2
- package/dist/cell-selection/index.js +0 -2
- package/dist/cell-selection/split-cell-selection-rect.d.ts +1 -7
- package/dist/cell-selection/split-cell-selection-rect.js +2 -6
- package/dist/cell-selection/update-additive-cell-selection.d.ts +1 -1
- package/dist/components/column-manager/column-manager.d.ts +1 -1
- package/dist/components/column-manager/column-manager.js +30 -10
- package/dist/components/pill-manager/pill-manager.play.d.ts +1 -0
- package/dist/components/pill-manager/pill-manager.play.js +3 -2
- package/dist/components/smart-select/root.js +1 -1
- package/dist/components/tree-view/root.js +1 -0
- package/dist/data-source-client/hooks/use-flattened-groups.js +1 -1
- package/dist/root/root.js +1 -1
- package/dist/types/grid.d.ts +0 -1
- package/package.json +6 -5
- package/dist/cell-selection/split-on-pivot.d.ts +0 -3
- package/dist/cell-selection/split-on-pivot.js +0 -50
package/README.md
CHANGED
|
@@ -1,32 +1,29 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
<br><br>
|
|
3
3
|
<picture>
|
|
4
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://xwhoymbxqtnizjadugph.supabase.co/storage/v1/object/public/images
|
|
5
|
-
<source media="(prefers-color-scheme: light)" srcset="https://xwhoymbxqtnizjadugph.supabase.co/storage/v1/object/public/images
|
|
6
|
-
<img width="360" alt="Logo of LyteNyte Grid" src="https://xwhoymbxqtnizjadugph.supabase.co/storage/v1/object/public/images
|
|
4
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://xwhoymbxqtnizjadugph.supabase.co/storage/v1/object/public/images/github-lytenyte-dark.svg"/>
|
|
5
|
+
<source media="(prefers-color-scheme: light)" srcset="https://xwhoymbxqtnizjadugph.supabase.co/storage/v1/object/public/images/github-lytenyte-light.svg"/>
|
|
6
|
+
<img width="360" alt="Logo of LyteNyte Grid" src="https://xwhoymbxqtnizjadugph.supabase.co/storage/v1/object/public/images/github-lytenyte-light.svg"/>
|
|
7
7
|
</picture>
|
|
8
8
|
<br><br>
|
|
9
9
|
|
|
10
10
|
<h3>
|
|
11
|
-
|
|
11
|
+
The Fastest React Data Grid On The Modern Web
|
|
12
12
|
</h3>
|
|
13
13
|
|
|
14
14
|
</div>
|
|
15
15
|
<div align="center">
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
and complex datasets without compromising speed or usability.
|
|
17
|
+
LyteNyte Grid is a **~40 KB, zero-dependency React data grid** engineered for
|
|
18
|
+
high performance and enterprise-scale datasets. It can handle **10,000 updates/sec**
|
|
19
|
+
and render **millions of rows**. No wrappers. No heavy abstractions.
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
Choose between **headless** components or a **pre-styled** grid out of
|
|
22
|
+
the box, and ship faster with a **declarative API** that
|
|
23
|
+
is purpose-built for React.
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
Build custom menus, popover dialogs, and dynamic workflows with ease.
|
|
28
|
-
|
|
29
|
-
Meticulously engineered to redefine what your enterprise expects from a React data grid.
|
|
25
|
+
Start with **LyteNyte Grid Core** (free and open source). Upgrade
|
|
26
|
+
to **LyteNyte Grid PRO** for advanced enterprise features and support.
|
|
30
27
|
|
|
31
28
|
[Compare Features](https://1771technologies.com/pricing)
|
|
32
29
|
|
|
@@ -60,12 +57,14 @@ Meticulously engineered to redefine what your enterprise expects from a React da
|
|
|
60
57
|
|
|
61
58
|
LyteNyte Grid is available in two editions:
|
|
62
59
|
|
|
63
|
-
1. **LyteNyte Grid Core
|
|
64
|
-
|
|
60
|
+
1. **LyteNyte Grid Core: Free, open-source edition** for building high-performance data tables.
|
|
61
|
+
Includes sorting, filtering, editing, row selection, detail views, and more. Also includes advanced
|
|
62
|
+
features such as aggregation, row grouping, and data export, often locked behind paywalls in other grids.
|
|
65
63
|
|
|
66
|
-
2. **LyteNyte Grid PRO
|
|
67
|
-
features such as
|
|
68
|
-
|
|
64
|
+
2. **LyteNyte Grid PRO: Commercial edition** that extends Core with powerful enterprise
|
|
65
|
+
features such as server-side data loading, pivoting, tree data, component managers,
|
|
66
|
+
and advanced filtering. Build custom menus, popovers and dialogs,
|
|
67
|
+
and workflow-driven UIs with ease.
|
|
69
68
|
|
|
70
69
|
## Key Design Principles
|
|
71
70
|
|
|
@@ -80,6 +79,26 @@ LyteNyte Grid is available in two editions:
|
|
|
80
79
|
implements one-way data binding and declarative rendering to
|
|
81
80
|
maintain predictable state management.
|
|
82
81
|
|
|
82
|
+
## Installation
|
|
83
|
+
|
|
84
|
+
LyteNyte Grid can be installed via NPM:
|
|
85
|
+
|
|
86
|
+
**PRO:**
|
|
87
|
+
|
|
88
|
+
```sh
|
|
89
|
+
npm install --save @1771technologies/lytenyte-pro
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
> [!NOTE]
|
|
93
|
+
> You can install and use LyteNyte Grid PRO
|
|
94
|
+
> without license but a watermark will be displayed.
|
|
95
|
+
|
|
96
|
+
**Core:**
|
|
97
|
+
|
|
98
|
+
```sh
|
|
99
|
+
npm install --save @1771technologies/lytenyte-core
|
|
100
|
+
```
|
|
101
|
+
|
|
83
102
|
## Quick Start
|
|
84
103
|
|
|
85
104
|
- Begin with our comprehensive [getting started guide](https://www.1771technologies.com/docs/intro-getting-started).
|
|
@@ -88,19 +107,21 @@ LyteNyte Grid is available in two editions:
|
|
|
88
107
|
|
|
89
108
|
## Licensing
|
|
90
109
|
|
|
91
|
-
LyteNyte Grid is available in two editions, Core and PRO, and offered under the following three license plans:
|
|
110
|
+
LyteNyte Grid is available in two editions, Core and PRO, and is offered under the following three license plans:
|
|
111
|
+
|
|
112
|
+
1. **Core License Plan:** An [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0)
|
|
113
|
+
license for the Core edition, which is free and open-source. Ideal for individual developers and community use.
|
|
92
114
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
115
|
+
2. **Developer PRO License Plan:** A [commercial license](https://www.1771technologies.com/eula) for the PRO edition, designed for
|
|
116
|
+
individuals and teams with up to 50 developers. Unlocks the full potential of LyteNyte
|
|
117
|
+
Grid with advanced features unavailable in the Core edition.
|
|
96
118
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
with
|
|
100
|
-
3. **Organization PRO License Plan:** A [commercial license](https://www.1771technologies.com/eula) for the PRO edition, tailored for teams
|
|
101
|
-
with 50+ developers. Includes all PRO features along with an enhanced support agreement and negotiated pricing terms.
|
|
119
|
+
3. **Organization PRO License Plan:** A [commercial license](https://www.1771technologies.com/eula) for the PRO edition,
|
|
120
|
+
tailored for teams with 50+ developers. Includes all PRO features along
|
|
121
|
+
with an enhanced support agreement and negotiated pricing terms.
|
|
102
122
|
|
|
103
|
-
All **PRO licenses** are **perpetual** and include **12 months** of software updates,
|
|
123
|
+
All **PRO licenses** are **perpetual** and include **12 months** of software updates,
|
|
124
|
+
feature upgrades, and dedicated technical support during your active license term.
|
|
104
125
|
|
|
105
126
|
## Support
|
|
106
127
|
|
|
@@ -122,4 +143,4 @@ LyteNyte Grid follows [semantic versioning](https://semver.org/) to ensure clear
|
|
|
122
143
|
## Security
|
|
123
144
|
|
|
124
145
|
For information on reporting security vulnerabilities,
|
|
125
|
-
please consult our [security policy](
|
|
146
|
+
please consult our [security policy](https://github.com/1771-Technologies/lytenyte/blob/main/SECURITY.md).
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
## Supported Versions
|
|
4
|
+
|
|
5
|
+
| Version | Security Updates |
|
|
6
|
+
| ----------------- | -------------------------------- |
|
|
7
|
+
| Latest | ✅ All security vulnerabilities |
|
|
8
|
+
| Previous versions | ⚠️ Critical vulnerabilities only |
|
|
9
|
+
|
|
10
|
+
The team at 1771 Technologies addresses security vulnerabilities as follows:
|
|
11
|
+
|
|
12
|
+
- **Critical vulnerabilities**: Patched for all supported versions of LyteNyte Grid.
|
|
13
|
+
- **Non-critical vulnerabilities**: Patched only for the latest version.
|
|
14
|
+
|
|
15
|
+
## Reporting a Vulnerability
|
|
16
|
+
|
|
17
|
+
We take the security of LyteNyte Grid seriously. Please report security vulnerabilities through our confidential reporting process:
|
|
18
|
+
|
|
19
|
+
1. Email [support@1771technologies.com](mailto:support@1771technologies.com) with details about the vulnerability.
|
|
20
|
+
2. Include steps to reproduce, potential impact, and any relevant documentation.
|
|
21
|
+
3. Our security team will acknowledge receipt within 24 hours.
|
|
22
|
+
4. You'll receive regular updates as we address the issue.
|
package/css/components.css
CHANGED
|
@@ -225,8 +225,8 @@
|
|
|
225
225
|
|
|
226
226
|
font-family: var(--ln-typeface);
|
|
227
227
|
|
|
228
|
-
border: 1px solid var(--ln-border);
|
|
229
|
-
background-color: var(--ln-bg);
|
|
228
|
+
border: 1px solid var(--ln-border-popover);
|
|
229
|
+
background-color: var(--ln-bg-popover);
|
|
230
230
|
box-shadow: var(--ln-shadow-400);
|
|
231
231
|
|
|
232
232
|
transition-property: opacity, scale;
|
|
@@ -249,10 +249,10 @@
|
|
|
249
249
|
position: absolute;
|
|
250
250
|
|
|
251
251
|
[data-ln-dialog-arrow-area="true"] {
|
|
252
|
-
fill: var(--ln-bg);
|
|
252
|
+
fill: var(--ln-bg-popover);
|
|
253
253
|
}
|
|
254
254
|
[data-ln-dialog-arrow-border] {
|
|
255
|
-
stroke: var(--ln-border);
|
|
255
|
+
stroke: var(--ln-border-popover);
|
|
256
256
|
}
|
|
257
257
|
|
|
258
258
|
&[data-ln-placement="bottom"] {
|
package/css/grid.css
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useTheme } from "@1771technologies/play-frame";
|
|
2
|
+
// import { useTheme } from "@1771technologies/play-frame";
|
|
3
|
+
import "@1771technologies/lytenyte-design/shadcn-vars.css";
|
|
3
4
|
import "@1771technologies/lytenyte-design/fonts.css";
|
|
4
5
|
import "../../css/grid-full.css";
|
|
5
6
|
import { bankDataSmall } from "@1771technologies/grid-sample-data/bank-data-smaller";
|
|
@@ -48,8 +49,7 @@ export default function Experimental() {
|
|
|
48
49
|
const [rowGroupColumn, setRowGroupColumn] = useState({
|
|
49
50
|
cellRenderer: RowGroupCell,
|
|
50
51
|
});
|
|
51
|
-
|
|
52
|
-
return (_jsxs(_Fragment, { children: [_jsx("div", { style: { display: "flex", alignItems: "center", justifyContent: "center", padding: "8px" }, children: _jsx("button", { onClick: () => setPivotMode((prev) => !prev), children: "Toggle Pivot Mode" }) }), _jsx("div", { style: { display: "flex", alignItems: "center", justifyContent: "center" }, children: _jsx("div", { className: "ln-grid " + (resolvedTheme === "light" ? "ln-light" : "ln-dark"), style: { height: "90vh", width: "90vw" }, children: _jsx(Grid, { columns: columns, columnBase: useMemo(() => ({ movable: true, resizable: true, width: 100 }), []), slotShadows: ViewportShadows, columnGroupRenderer: (props) => {
|
|
52
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { style: { display: "flex", alignItems: "center", justifyContent: "center", padding: "8px" }, children: _jsx("button", { onClick: () => setPivotMode((prev) => !prev), children: "Toggle Pivot Mode" }) }), _jsx("div", { style: { display: "flex", alignItems: "center", justifyContent: "center" }, children: _jsx("div", { className: "ln-grid ln-shadcn", style: { height: "90vh", width: "90vw" }, children: _jsx(Grid, { columns: columns, columnBase: useMemo(() => ({ movable: true, resizable: true, width: 100 }), []), slotShadows: ViewportShadows, columnGroupRenderer: (props) => {
|
|
53
53
|
const label = props.groupPath.at(-1);
|
|
54
54
|
return (_jsxs("div", { children: [label, props.collapsible && (_jsx("button", { onClick: () => props.api.columnToggleGroup(props.groupPath), children: ">" }))] }));
|
|
55
55
|
}, rowSource: ds, rowGroupColumn: rowGroupColumn, onRowGroupColumnChange: setRowGroupColumn, rowSelectionMode: "multiple", ...pivotProps }) }) })] }));
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type MovieData = (typeof data)[number];
|
|
2
|
+
export declare const data: {
|
|
3
|
+
link: string;
|
|
4
|
+
name: string;
|
|
5
|
+
released_at: string;
|
|
6
|
+
genre: string;
|
|
7
|
+
poster: string;
|
|
8
|
+
streaming_on: string;
|
|
9
|
+
country: string;
|
|
10
|
+
number_of_seasons: string;
|
|
11
|
+
type: string;
|
|
12
|
+
content_rating: string;
|
|
13
|
+
imdb_rating: string;
|
|
14
|
+
uniq_id: string;
|
|
15
|
+
scraped_at: string;
|
|
16
|
+
}[];
|