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.
Files changed (156) hide show
  1. package/README.md +26 -23
  2. package/components/grid.d.ts +26 -22
  3. package/components/grid.js +34 -52
  4. package/components/grid.js.map +1 -1
  5. package/components/header.js +7 -13
  6. package/components/header.js.map +1 -1
  7. package/components/toolbar.js +13 -29
  8. package/components/toolbar.js.map +1 -1
  9. package/controllers/state.d.ts +15 -1
  10. package/controllers/state.js +11 -1
  11. package/controllers/state.js.map +1 -1
  12. package/custom-elements.json +228 -242
  13. package/define.js.map +1 -1
  14. package/docs/assets/hierarchy.js +1 -1
  15. package/docs/assets/highlight.css +9 -2
  16. package/docs/assets/icons.js +1 -1
  17. package/docs/assets/icons.svg +1 -1
  18. package/docs/assets/main.js +4 -4
  19. package/docs/assets/navigation.js +1 -1
  20. package/docs/assets/search.js +1 -1
  21. package/docs/assets/style.css +3 -3
  22. package/docs/classes/ApexGrid.html +86 -87
  23. package/docs/functions/setup.html +11 -17
  24. package/docs/hierarchy.html +1 -1
  25. package/docs/index.html +87 -47
  26. package/docs/interfaces/ApexCellValueChangedEvent.html +5 -5
  27. package/docs/interfaces/ApexCellValueChangingEvent.html +6 -6
  28. package/docs/interfaces/ApexColumnMovedEvent.html +4 -4
  29. package/docs/interfaces/ApexColumnMovingEvent.html +5 -5
  30. package/docs/interfaces/ApexColumnPinnedEvent.html +3 -3
  31. package/docs/interfaces/ApexColumnPinningEvent.html +4 -4
  32. package/docs/interfaces/ApexDetailContext.html +4 -4
  33. package/docs/interfaces/ApexFilteredEvent.html +3 -3
  34. package/docs/interfaces/ApexFilteringEvent.html +3 -3
  35. package/docs/interfaces/ApexGridEventMap.html +13 -13
  36. package/docs/interfaces/ApexHeaderContext.html +3 -3
  37. package/docs/interfaces/ApexPageChangedEvent.html +5 -5
  38. package/docs/interfaces/ApexPageChangingEvent.html +5 -5
  39. package/docs/interfaces/ApexQuickFilterChangedEvent.html +2 -2
  40. package/docs/interfaces/ApexQuickFilterChangingEvent.html +3 -3
  41. package/docs/interfaces/ApexRowEditEndedEvent.html +3 -3
  42. package/docs/interfaces/ApexRowEditStartedEvent.html +2 -2
  43. package/docs/interfaces/ApexRowExpandedEvent.html +4 -4
  44. package/docs/interfaces/ApexRowExpandingEvent.html +5 -5
  45. package/docs/interfaces/ApexRowSelectedEvent.html +4 -4
  46. package/docs/interfaces/ApexRowSelectingEvent.html +5 -5
  47. package/docs/interfaces/ApexTreeRowExpandedEvent.html +4 -4
  48. package/docs/interfaces/ApexTreeRowExpandingEvent.html +5 -5
  49. package/docs/interfaces/BaseApexCellContext.html +6 -6
  50. package/docs/interfaces/BaseApexEditorContext.html +8 -8
  51. package/docs/interfaces/BaseColumnConfiguration.html +34 -15
  52. package/docs/interfaces/BaseColumnSortConfiguration.html +3 -3
  53. package/docs/interfaces/BaseFilterExpression.html +4 -4
  54. package/docs/interfaces/BaseSortExpression.html +3 -3
  55. package/docs/interfaces/CSVExportOptions.html +9 -9
  56. package/docs/interfaces/ColumnFilterConfiguration.html +2 -2
  57. package/docs/interfaces/DataPipelineConfiguration.html +3 -3
  58. package/docs/interfaces/ExportFormat.html +10 -0
  59. package/docs/interfaces/ExportOptions.html +6 -6
  60. package/docs/interfaces/GridEditingConfiguration.html +4 -4
  61. package/docs/interfaces/GridExpansionConfiguration.html +5 -5
  62. package/docs/interfaces/GridSelectionConfiguration.html +4 -4
  63. package/docs/interfaces/GridSortConfiguration.html +3 -3
  64. package/docs/interfaces/GridTreeConfiguration.html +5 -5
  65. package/docs/interfaces/PaginationConfiguration.html +6 -6
  66. package/docs/interfaces/PaginationState.html +5 -5
  67. package/docs/media/LICENSE +80 -0
  68. package/docs/media/_tokens.scss +106 -0
  69. package/docs/media/package.json +14 -12
  70. package/docs/modules.html +1 -1
  71. package/docs/types/ApexCellContext.html +1 -1
  72. package/docs/types/ApexEditorContext.html +1 -1
  73. package/docs/types/BasePropertyType.html +1 -1
  74. package/docs/types/BaseSortComparer.html +1 -1
  75. package/docs/types/ColumnConfiguration.html +1 -1
  76. package/docs/types/ColumnDropPosition.html +1 -1
  77. package/docs/types/ColumnSortConfiguration.html +1 -1
  78. package/docs/types/DataPipelineHook.html +1 -1
  79. package/docs/types/DataPipelineParams.html +4 -4
  80. package/docs/types/DataType.html +18 -1
  81. package/docs/types/ExportSource.html +1 -1
  82. package/docs/types/FilterCriteria.html +1 -1
  83. package/docs/types/FilterExpression.html +1 -1
  84. package/docs/types/Keys.html +1 -1
  85. package/docs/types/PropertyType.html +1 -1
  86. package/docs/types/SortComparer.html +1 -1
  87. package/docs/types/SortExpression.html +1 -1
  88. package/docs/types/SortState.html +1 -1
  89. package/index.d.ts +1 -1
  90. package/index.js.map +1 -1
  91. package/internal/column-types.js +161 -1
  92. package/internal/column-types.js.map +1 -1
  93. package/internal/export.d.ts +12 -4
  94. package/internal/export.js.map +1 -1
  95. package/internal/feature-module.d.ts +27 -0
  96. package/internal/feature-module.js +2 -0
  97. package/internal/feature-module.js.map +1 -0
  98. package/internal/icons.d.ts +7 -0
  99. package/internal/icons.js +11 -0
  100. package/internal/icons.js.map +1 -1
  101. package/internal/index.d.ts +20 -0
  102. package/internal/index.js +6 -0
  103. package/internal/index.js.map +1 -0
  104. package/internal/types.d.ts +54 -5
  105. package/internal/types.js.map +1 -1
  106. package/operations/filter/tree.d.ts +1 -1
  107. package/operations/filter/types.js.map +1 -1
  108. package/operations/sort/types.js.map +1 -1
  109. package/package.json +5 -1
  110. package/setup.d.ts +19 -26
  111. package/setup.js +4 -2
  112. package/setup.js.map +1 -1
  113. package/styles/_checkbox.css.js +3 -0
  114. package/styles/_checkbox.css.js.map +1 -0
  115. package/styles/_tokens.css.js +3 -0
  116. package/styles/_tokens.css.js.map +1 -0
  117. package/styles/body-cell/body-cell.css.js +1 -1
  118. package/styles/body-cell/body-cell.css.js.map +1 -1
  119. package/styles/body-cell/cell-renderers.css.js +3 -0
  120. package/styles/body-cell/cell-renderers.css.js.map +1 -0
  121. package/styles/body-row/body-row.css.js +1 -1
  122. package/styles/body-row/body-row.css.js.map +1 -1
  123. package/styles/filter-row/filter-row.css.js +1 -1
  124. package/styles/filter-row/filter-row.css.js.map +1 -1
  125. package/styles/grid/_grid.base.css.js +1 -1
  126. package/styles/grid/_grid.base.css.js.map +1 -1
  127. package/styles/grid/grid.css.js +3 -0
  128. package/styles/grid/grid.css.js.map +1 -0
  129. package/styles/header-cell/header-cell.css.js +1 -1
  130. package/styles/header-cell/header-cell.css.js.map +1 -1
  131. package/styles/header-row/header-row.base.css.js +1 -1
  132. package/styles/header-row/header-row.base.css.js.map +1 -1
  133. package/styles/paginator/paginator.css.js +1 -1
  134. package/styles/paginator/paginator.css.js.map +1 -1
  135. package/styles/toolbar/toolbar.css.js +1 -1
  136. package/styles/toolbar/toolbar.css.js.map +1 -1
  137. package/docs/interfaces/XLSXExportOptions.html +0 -17
  138. package/docs/media/publish.yml +0 -111
  139. package/internal/theming.d.ts +0 -34
  140. package/internal/theming.js +0 -123
  141. package/internal/theming.js.map +0 -1
  142. package/internal/xlsx.d.ts +0 -22
  143. package/internal/xlsx.js +0 -228
  144. package/internal/xlsx.js.map +0 -1
  145. package/styles/grid/themes/light/grid.bootstrap.css.js +0 -3
  146. package/styles/grid/themes/light/grid.bootstrap.css.js.map +0 -1
  147. package/styles/grid/themes/light/grid.fluent.css.js +0 -3
  148. package/styles/grid/themes/light/grid.fluent.css.js.map +0 -1
  149. package/styles/grid/themes/light/grid.indigo.css.js +0 -3
  150. package/styles/grid/themes/light/grid.indigo.css.js.map +0 -1
  151. package/styles/grid/themes/light/grid.material.css.js +0 -3
  152. package/styles/grid/themes/light/grid.material.css.js.map +0 -1
  153. /package/styles/{grid/themes/light/grid.bootstrap.css.d.ts → _checkbox.css.d.ts} +0 -0
  154. /package/styles/{grid/themes/light/grid.fluent.css.d.ts → _tokens.css.d.ts} +0 -0
  155. /package/styles/{grid/themes/light/grid.indigo.css.d.ts → body-cell/cell-renderers.css.d.ts} +0 -0
  156. /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
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apex-grid",
3
- "version": "2.0.0",
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
- ".": "./dist/src/index.js",
14
- "./define": "./dist/src/define.js",
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",