apex-grid 2.0.0 → 3.0.0
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 +26 -23
- package/components/grid.d.ts +26 -22
- package/components/grid.js +34 -52
- package/components/grid.js.map +1 -1
- package/components/header.js +7 -13
- package/components/header.js.map +1 -1
- package/components/toolbar.js +13 -29
- package/components/toolbar.js.map +1 -1
- package/controllers/state.d.ts +15 -1
- package/controllers/state.js +11 -1
- package/controllers/state.js.map +1 -1
- package/custom-elements.json +228 -242
- package/define.js.map +1 -1
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/highlight.css +9 -2
- package/docs/assets/icons.js +1 -1
- package/docs/assets/icons.svg +1 -1
- package/docs/assets/main.js +4 -4
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/assets/style.css +3 -3
- package/docs/classes/ApexGrid.html +86 -87
- package/docs/functions/setup.html +11 -17
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +87 -47
- package/docs/interfaces/ApexCellValueChangedEvent.html +5 -5
- package/docs/interfaces/ApexCellValueChangingEvent.html +6 -6
- package/docs/interfaces/ApexColumnMovedEvent.html +4 -4
- package/docs/interfaces/ApexColumnMovingEvent.html +5 -5
- package/docs/interfaces/ApexColumnPinnedEvent.html +3 -3
- package/docs/interfaces/ApexColumnPinningEvent.html +4 -4
- package/docs/interfaces/ApexDetailContext.html +4 -4
- package/docs/interfaces/ApexFilteredEvent.html +3 -3
- package/docs/interfaces/ApexFilteringEvent.html +3 -3
- package/docs/interfaces/ApexGridEventMap.html +13 -13
- package/docs/interfaces/ApexHeaderContext.html +3 -3
- package/docs/interfaces/ApexPageChangedEvent.html +5 -5
- package/docs/interfaces/ApexPageChangingEvent.html +5 -5
- package/docs/interfaces/ApexQuickFilterChangedEvent.html +2 -2
- package/docs/interfaces/ApexQuickFilterChangingEvent.html +3 -3
- package/docs/interfaces/ApexRowEditEndedEvent.html +3 -3
- package/docs/interfaces/ApexRowEditStartedEvent.html +2 -2
- package/docs/interfaces/ApexRowExpandedEvent.html +4 -4
- package/docs/interfaces/ApexRowExpandingEvent.html +5 -5
- package/docs/interfaces/ApexRowSelectedEvent.html +4 -4
- package/docs/interfaces/ApexRowSelectingEvent.html +5 -5
- package/docs/interfaces/ApexTreeRowExpandedEvent.html +4 -4
- package/docs/interfaces/ApexTreeRowExpandingEvent.html +5 -5
- package/docs/interfaces/BaseApexCellContext.html +6 -6
- package/docs/interfaces/BaseApexEditorContext.html +8 -8
- package/docs/interfaces/BaseColumnConfiguration.html +34 -15
- package/docs/interfaces/BaseColumnSortConfiguration.html +3 -3
- package/docs/interfaces/BaseFilterExpression.html +4 -4
- package/docs/interfaces/BaseSortExpression.html +3 -3
- package/docs/interfaces/CSVExportOptions.html +9 -9
- package/docs/interfaces/ColumnFilterConfiguration.html +2 -2
- package/docs/interfaces/DataPipelineConfiguration.html +3 -3
- package/docs/interfaces/ExportFormat.html +10 -0
- package/docs/interfaces/ExportOptions.html +6 -6
- package/docs/interfaces/GridEditingConfiguration.html +4 -4
- package/docs/interfaces/GridExpansionConfiguration.html +5 -5
- package/docs/interfaces/GridSelectionConfiguration.html +4 -4
- package/docs/interfaces/GridSortConfiguration.html +3 -3
- package/docs/interfaces/GridTreeConfiguration.html +5 -5
- package/docs/interfaces/PaginationConfiguration.html +6 -6
- package/docs/interfaces/PaginationState.html +5 -5
- package/docs/media/LICENSE +80 -0
- package/docs/media/_tokens.scss +106 -0
- package/docs/media/package.json +14 -12
- package/docs/modules.html +1 -1
- package/docs/types/ApexCellContext.html +1 -1
- package/docs/types/ApexEditorContext.html +1 -1
- package/docs/types/BasePropertyType.html +1 -1
- package/docs/types/BaseSortComparer.html +1 -1
- package/docs/types/ColumnConfiguration.html +1 -1
- package/docs/types/ColumnDropPosition.html +1 -1
- package/docs/types/ColumnSortConfiguration.html +1 -1
- package/docs/types/DataPipelineHook.html +1 -1
- package/docs/types/DataPipelineParams.html +4 -4
- package/docs/types/DataType.html +18 -1
- package/docs/types/ExportSource.html +1 -1
- package/docs/types/FilterCriteria.html +1 -1
- package/docs/types/FilterExpression.html +1 -1
- package/docs/types/Keys.html +1 -1
- package/docs/types/PropertyType.html +1 -1
- package/docs/types/SortComparer.html +1 -1
- package/docs/types/SortExpression.html +1 -1
- package/docs/types/SortState.html +1 -1
- package/index.d.ts +1 -1
- package/index.js.map +1 -1
- package/internal/column-types.js +161 -1
- package/internal/column-types.js.map +1 -1
- package/internal/export.d.ts +12 -4
- package/internal/export.js.map +1 -1
- package/internal/feature-module.d.ts +27 -0
- package/internal/feature-module.js +2 -0
- package/internal/feature-module.js.map +1 -0
- package/internal/icons.d.ts +7 -0
- package/internal/icons.js +11 -0
- package/internal/icons.js.map +1 -1
- package/internal/index.d.ts +20 -0
- package/internal/index.js +6 -0
- package/internal/index.js.map +1 -0
- package/internal/types.d.ts +54 -5
- package/internal/types.js.map +1 -1
- package/operations/filter/tree.d.ts +1 -1
- package/operations/filter/types.js.map +1 -1
- package/operations/sort/types.js.map +1 -1
- package/package.json +5 -1
- package/setup.d.ts +19 -26
- package/setup.js +4 -2
- package/setup.js.map +1 -1
- package/styles/_checkbox.css.js +3 -0
- package/styles/_checkbox.css.js.map +1 -0
- package/styles/_tokens.css.js +3 -0
- package/styles/_tokens.css.js.map +1 -0
- package/styles/body-cell/body-cell.css.js +1 -1
- package/styles/body-cell/body-cell.css.js.map +1 -1
- package/styles/body-cell/cell-renderers.css.js +3 -0
- package/styles/body-cell/cell-renderers.css.js.map +1 -0
- package/styles/body-row/body-row.css.js +1 -1
- package/styles/body-row/body-row.css.js.map +1 -1
- package/styles/filter-row/filter-row.css.js +1 -1
- package/styles/filter-row/filter-row.css.js.map +1 -1
- package/styles/grid/_grid.base.css.js +1 -1
- package/styles/grid/_grid.base.css.js.map +1 -1
- package/styles/grid/grid.css.js +3 -0
- package/styles/grid/grid.css.js.map +1 -0
- package/styles/header-cell/header-cell.css.js +1 -1
- package/styles/header-cell/header-cell.css.js.map +1 -1
- package/styles/header-row/header-row.base.css.js +1 -1
- package/styles/header-row/header-row.base.css.js.map +1 -1
- package/styles/paginator/paginator.css.js +1 -1
- package/styles/paginator/paginator.css.js.map +1 -1
- package/styles/toolbar/toolbar.css.js +1 -1
- package/styles/toolbar/toolbar.css.js.map +1 -1
- package/docs/interfaces/XLSXExportOptions.html +0 -17
- package/docs/media/publish.yml +0 -111
- package/internal/theming.d.ts +0 -34
- package/internal/theming.js +0 -123
- package/internal/theming.js.map +0 -1
- package/internal/xlsx.d.ts +0 -22
- package/internal/xlsx.js +0 -228
- package/internal/xlsx.js.map +0 -1
- package/styles/grid/themes/light/grid.bootstrap.css.js +0 -3
- package/styles/grid/themes/light/grid.bootstrap.css.js.map +0 -1
- package/styles/grid/themes/light/grid.fluent.css.js +0 -3
- package/styles/grid/themes/light/grid.fluent.css.js.map +0 -1
- package/styles/grid/themes/light/grid.indigo.css.js +0 -3
- package/styles/grid/themes/light/grid.indigo.css.js.map +0 -1
- package/styles/grid/themes/light/grid.material.css.js +0 -3
- package/styles/grid/themes/light/grid.material.css.js.map +0 -1
- /package/styles/{grid/themes/light/grid.bootstrap.css.d.ts → _checkbox.css.d.ts} +0 -0
- /package/styles/{grid/themes/light/grid.fluent.css.d.ts → _tokens.css.d.ts} +0 -0
- /package/styles/{grid/themes/light/grid.indigo.css.d.ts → body-cell/cell-renderers.css.d.ts} +0 -0
- /package/styles/grid/{themes/light/grid.material.css.d.ts → grid.css.d.ts} +0 -0
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
## 📄 License Options for ApexCharts
|
|
2
|
+
|
|
3
|
+
ApexCharts is offered under a **dual-license model** to support individuals, startups, and commercial products of all sizes.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### 🔓 Community License (Free)
|
|
8
|
+
|
|
9
|
+
For individuals, non-profits, educators, and small businesses with **less than $2 million USD in annual revenue**.
|
|
10
|
+
|
|
11
|
+
✅ What’s allowed:
|
|
12
|
+
|
|
13
|
+
- Personal, educational, or non-profit use
|
|
14
|
+
- Commercial use by small orgs (< $2M annual revenue)
|
|
15
|
+
- Modifications and redistribution (with attribution)
|
|
16
|
+
|
|
17
|
+
🚫 Not allowed:
|
|
18
|
+
|
|
19
|
+
- Use by companies or entities over $2M/year revenue
|
|
20
|
+
- Use in competing charting products
|
|
21
|
+
- Sublicensing under different terms
|
|
22
|
+
|
|
23
|
+
➡ By using ApexCharts under this license, you confirm that **you qualify as a Small Organization**.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
### 💼 Commercial License (Paid)
|
|
28
|
+
|
|
29
|
+
Required if **you or your affiliated organization earns $2 million USD or more per year**.
|
|
30
|
+
|
|
31
|
+
✅ What's included:
|
|
32
|
+
|
|
33
|
+
- Use in internal tools and commercial applications
|
|
34
|
+
- Modifications and app-level distribution
|
|
35
|
+
- 12-month subscription with updates & support
|
|
36
|
+
|
|
37
|
+
🚫 Not allowed:
|
|
38
|
+
|
|
39
|
+
- Redistribution in toolkits, SDKs, or platforms
|
|
40
|
+
- Use by unlicensed developers
|
|
41
|
+
- Competing charting products
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
### 🔄 OEM / Redistribution License (Paid)
|
|
46
|
+
|
|
47
|
+
Required if you are **embedding ApexCharts into a product or platform used by other people**, such as:
|
|
48
|
+
|
|
49
|
+
- No-code dashboards
|
|
50
|
+
- Developer platforms
|
|
51
|
+
- Embedded BI tools
|
|
52
|
+
- White-labeled apps or SDKs
|
|
53
|
+
|
|
54
|
+
✅ What's included:
|
|
55
|
+
|
|
56
|
+
- Redistribution rights for 1 application or product
|
|
57
|
+
- 12-month subscription with updates & support
|
|
58
|
+
|
|
59
|
+
✅ OEM **not required** if your app simply renders static charts and users **cannot** configure or interact with them.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
### ⚠️ License Acceptance
|
|
64
|
+
|
|
65
|
+
By installing ApexCharts (e.g., via `npm install apexcharts`), you are agreeing to the applicable license based on your usage:
|
|
66
|
+
|
|
67
|
+
- Community License (if under $2M revenue)
|
|
68
|
+
- Commercial License (if over $2M revenue)
|
|
69
|
+
- OEM License (if redistributing to third-party users)
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
### 🛠 Need a License or Have Questions?
|
|
74
|
+
|
|
75
|
+
📧 Contact us at [sales@apexcharts.com](mailto:sales@apexcharts.com)
|
|
76
|
+
📚 Read full license agreements here: [https://apexcharts.com/license](https://apexcharts.com/license)
|
|
77
|
+
|
|
78
|
+
---
|
|
79
|
+
|
|
80
|
+
Thank you for supporting ApexCharts! Your licensing helps keep it free and open for individuals and small teams.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
2
|
+
// Premium default design tokens (`--ag-*`).
|
|
3
|
+
//
|
|
4
|
+
// These land on the `<apex-grid>` host (this file is `@use`d by
|
|
5
|
+
// `grid/_grid.base.scss`, which ships inside every theme). CSS custom
|
|
6
|
+
// properties inherit across shadow boundaries, so every child component
|
|
7
|
+
// (`apex-grid-row`, `apex-grid-cell`, `apex-grid-header`, …) can read them.
|
|
8
|
+
//
|
|
9
|
+
// This is the single rebrand surface: override ~12 values on `apex-grid` and
|
|
10
|
+
// the whole grid re-skins. Values fall back to self-contained literals, so a
|
|
11
|
+
// grid mounted with zero consumer CSS already looks premium; the brand tokens
|
|
12
|
+
// additionally re-tint from the igniteui palette when it is present.
|
|
13
|
+
//
|
|
14
|
+
// No `!important`, no downstream hardcoded numerics — every rule resolves here.
|
|
15
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
16
|
+
|
|
17
|
+
:host {
|
|
18
|
+
// ── Brand ────────────────────────────────────────────────────────────
|
|
19
|
+
// Re-tints from the igniteui palette when its CSS is loaded (so the grid
|
|
20
|
+
// auto-matches an igniteui host app), and falls back to the self-contained
|
|
21
|
+
// premium blue otherwise. This igniteui hook used to live in the per-theme
|
|
22
|
+
// files; folding it here keeps that integration without named themes.
|
|
23
|
+
--ag-brand: var(--ig-primary-500, #0d6fd3); // primary blue
|
|
24
|
+
--ag-brand-strong: var(--ig-primary-700, #0a56b8); // hover / pressed
|
|
25
|
+
|
|
26
|
+
// Brand-derived washes are mixed from `--ag-brand` so a one-line rebrand
|
|
27
|
+
// cascades to every tint. With the default brand these resolve to the
|
|
28
|
+
// spec's exact rgba(13, 111, 211, …) values.
|
|
29
|
+
--ag-brand-soft: color-mix(in srgb, var(--ag-brand) 10%, transparent); // selected row / chip wash
|
|
30
|
+
--ag-brand-softer: color-mix(in srgb, var(--ag-brand) 7%, transparent); // chip / control wash
|
|
31
|
+
--ag-brand-line: color-mix(in srgb, var(--ag-brand) 18%, transparent); // chip / search borders
|
|
32
|
+
|
|
33
|
+
// ── Neutral chrome ───────────────────────────────────────────────────
|
|
34
|
+
// The grid's chrome (surfaces, gridlines, row hover) is grayscale so the
|
|
35
|
+
// grid reads as a calm, neutral table; `--ag-brand` is reserved for genuine
|
|
36
|
+
// state (selection, focus, checkboxes, active sort) and accents (chips).
|
|
37
|
+
--ag-hairline: rgba(15, 23, 42, 0.08); // header / structural gridlines
|
|
38
|
+
--ag-row-hover: color-mix(in srgb, #0f172a 5%, var(--ag-surface)); // neutral hover wash (opaque)
|
|
39
|
+
|
|
40
|
+
// ── Surfaces ─────────────────────────────────────────────────────────
|
|
41
|
+
// These back sticky/pinned regions (header, footer, frozen columns) which
|
|
42
|
+
// paint `background: inherit` to mask content scrolling underneath, so they
|
|
43
|
+
// MUST be opaque — a translucent surface lets the scrolled content bleed
|
|
44
|
+
// through.
|
|
45
|
+
--ag-surface: #fff; // grid card background
|
|
46
|
+
--ag-surface-alt: #f9fafb; // alternating row tint (neutral, opaque)
|
|
47
|
+
--ag-surface-elevated: linear-gradient(180deg, #fbfcfd 0%, #f6f7f8 100%); // header bg (neutral, opaque)
|
|
48
|
+
|
|
49
|
+
// ── Text ─────────────────────────────────────────────────────────────
|
|
50
|
+
--ag-text: #111827; // primary
|
|
51
|
+
--ag-text-body: #1f2937; // row text
|
|
52
|
+
--ag-text-muted: #6b7280; // roles, labels
|
|
53
|
+
--ag-text-subtle: #9ca3af; // placeholder, ellipsis
|
|
54
|
+
--ag-text-on-brand: #fff;
|
|
55
|
+
|
|
56
|
+
--ag-border: rgba(15, 23, 42, 0.05); // row separators
|
|
57
|
+
|
|
58
|
+
// ── State ────────────────────────────────────────────────────────────
|
|
59
|
+
--ag-good: #10b981; // health > 80, Active
|
|
60
|
+
--ag-good-text: #047857;
|
|
61
|
+
--ag-good-soft: rgba(16, 185, 129, 0.1);
|
|
62
|
+
--ag-watch: #f59e0b; // health 65–80, Trial
|
|
63
|
+
--ag-watch-text: #b45309;
|
|
64
|
+
--ag-watch-soft: rgba(245, 158, 11, 0.1);
|
|
65
|
+
--ag-risk: #ef4444; // health < 65, Churn
|
|
66
|
+
--ag-risk-text: #b91c1c;
|
|
67
|
+
--ag-risk-soft: rgba(239, 68, 68, 0.1);
|
|
68
|
+
|
|
69
|
+
--ag-gold: #fef3c7; // Enterprise pill bg
|
|
70
|
+
--ag-gold-line: #fde68a;
|
|
71
|
+
--ag-gold-text: #92400e;
|
|
72
|
+
|
|
73
|
+
--ag-shadow-card:
|
|
74
|
+
0 16px 38px rgba(15, 23, 42, 0.12),
|
|
75
|
+
0 0 0 1px rgba(15, 23, 42, 0.06),
|
|
76
|
+
0 1px 0 rgba(255, 255, 255, 0.9) inset; // soft neutral floating shadow
|
|
77
|
+
|
|
78
|
+
// ── Typography ───────────────────────────────────────────────────────
|
|
79
|
+
--ag-font: 'Inter', -apple-system, blinkmacsystemfont, sans-serif;
|
|
80
|
+
--ag-fs-cell: 12px;
|
|
81
|
+
--ag-fs-cell-secondary: 10.5px; // role line, header labels
|
|
82
|
+
--ag-fs-tiny: 10px; // tags, page ellipsis
|
|
83
|
+
--ag-fw-regular: 500;
|
|
84
|
+
--ag-fw-semibold: 600;
|
|
85
|
+
--ag-fw-bold: 700;
|
|
86
|
+
--ag-tracking-tight: -0.005em;
|
|
87
|
+
--ag-tracking-header: 0.05em; // uppercase header labels
|
|
88
|
+
--ag-leading: 1.4;
|
|
89
|
+
|
|
90
|
+
// ── Spacing & sizing ─────────────────────────────────────────────────
|
|
91
|
+
--ag-cell-pad-x: 10px;
|
|
92
|
+
--ag-row-h: 36px; // dense but readable
|
|
93
|
+
--ag-header-h: 36px;
|
|
94
|
+
--ag-toolbar-pad: 12px 14px;
|
|
95
|
+
--ag-footer-pad: 10px 14px;
|
|
96
|
+
--ag-radius: 18px; // outer card
|
|
97
|
+
--ag-radius-sm: 6px; // chips, page buttons
|
|
98
|
+
--ag-radius-xs: 4px; // checkboxes, expand button
|
|
99
|
+
--ag-radius-pill: 20px; // status badges
|
|
100
|
+
|
|
101
|
+
// ── Motion ───────────────────────────────────────────────────────────
|
|
102
|
+
--ag-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
|
|
103
|
+
--ag-dur-fast: 120ms; // hover, focus
|
|
104
|
+
--ag-dur-med: 180ms; // chevron rotate
|
|
105
|
+
--ag-dur-slow: 240ms; // health bar fill
|
|
106
|
+
}
|
package/docs/media/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apex-grid",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Web component data grid following open-wc recommendations",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"lit",
|
|
@@ -10,8 +10,18 @@
|
|
|
10
10
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
11
11
|
"author": "ApexCharts",
|
|
12
12
|
"exports": {
|
|
13
|
-
".":
|
|
14
|
-
|
|
13
|
+
".": {
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
15
|
+
"default": "./dist/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./define": {
|
|
18
|
+
"types": "./dist/define.d.ts",
|
|
19
|
+
"default": "./dist/define.js"
|
|
20
|
+
},
|
|
21
|
+
"./internal": {
|
|
22
|
+
"types": "./dist/internal/index.d.ts",
|
|
23
|
+
"default": "./dist/internal/index.js"
|
|
24
|
+
},
|
|
15
25
|
"./styles.css": "./dist/styles.css"
|
|
16
26
|
},
|
|
17
27
|
"type": "module",
|
|
@@ -34,17 +44,11 @@
|
|
|
34
44
|
"test": "wtr --coverage",
|
|
35
45
|
"test:watch": "wtr --watch",
|
|
36
46
|
"typedoc": "typedoc",
|
|
37
|
-
"vite": "vite"
|
|
38
|
-
"prepare": "husky"
|
|
47
|
+
"vite": "vite"
|
|
39
48
|
},
|
|
40
49
|
"browserslist": [
|
|
41
50
|
"defaults"
|
|
42
51
|
],
|
|
43
|
-
"lint-staged": {
|
|
44
|
-
"*.{js,ts,cjs,mjs,jsx,tsx}": [
|
|
45
|
-
"biome check --fix --no-errors-on-unmatched"
|
|
46
|
-
]
|
|
47
|
-
},
|
|
48
52
|
"dependencies": {
|
|
49
53
|
"@lit-labs/virtualizer": "^2.1.0",
|
|
50
54
|
"@lit/context": "^1.1.5",
|
|
@@ -63,8 +67,6 @@
|
|
|
63
67
|
"autoprefixer": "^10.4.21",
|
|
64
68
|
"concurrently": "^9.2.0",
|
|
65
69
|
"globby": "^14.1.0",
|
|
66
|
-
"husky": "^9.1.7",
|
|
67
|
-
"lint-staged": "^16.1.2",
|
|
68
70
|
"node-watch": "^0.7.4",
|
|
69
71
|
"playwright": "^1.53.2",
|
|
70
72
|
"postcss": "^8.5.6",
|