@toolbox-web/grid 3.6.0 → 3.7.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/LICENSE +21 -0
- package/README.md +1 -1
- package/all.js +1 -1
- package/all.js.map +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/lib/core/internal/empty.d.ts +14 -6
- package/lib/core/types.d.ts +4 -0
- package/lib/features/registry.js +1 -1
- package/lib/plugins/clipboard/index.js +1 -1
- package/lib/plugins/clipboard/index.js.map +1 -1
- package/lib/plugins/column-virtualization/index.js +1 -1
- package/lib/plugins/column-virtualization/index.js.map +1 -1
- package/lib/plugins/context-menu/index.js +1 -1
- package/lib/plugins/context-menu/index.js.map +1 -1
- package/lib/plugins/editing/index.js +1 -1
- package/lib/plugins/editing/index.js.map +1 -1
- package/lib/plugins/export/index.js +1 -1
- package/lib/plugins/export/index.js.map +1 -1
- package/lib/plugins/filtering/index.js +1 -1
- package/lib/plugins/filtering/index.js.map +1 -1
- package/lib/plugins/grouping-columns/index.js +1 -1
- package/lib/plugins/grouping-columns/index.js.map +1 -1
- package/lib/plugins/grouping-rows/index.js +1 -1
- package/lib/plugins/grouping-rows/index.js.map +1 -1
- package/lib/plugins/master-detail/index.js +1 -1
- package/lib/plugins/master-detail/index.js.map +1 -1
- package/lib/plugins/multi-sort/index.js +1 -1
- package/lib/plugins/multi-sort/index.js.map +1 -1
- package/lib/plugins/pinned-columns/index.js +1 -1
- package/lib/plugins/pinned-columns/index.js.map +1 -1
- package/lib/plugins/pinned-rows/index.js +1 -1
- package/lib/plugins/pinned-rows/index.js.map +1 -1
- package/lib/plugins/pivot/index.js +1 -1
- package/lib/plugins/pivot/index.js.map +1 -1
- package/lib/plugins/print/index.js +1 -1
- package/lib/plugins/print/index.js.map +1 -1
- package/lib/plugins/reorder-columns/index.js +1 -1
- package/lib/plugins/reorder-columns/index.js.map +1 -1
- package/lib/plugins/responsive/index.d.ts +1 -1
- package/lib/plugins/responsive/index.js +1 -1
- package/lib/plugins/responsive/index.js.map +1 -1
- package/lib/plugins/responsive/types.d.ts +36 -1
- package/lib/plugins/row-drag-drop/index.js +1 -1
- package/lib/plugins/row-drag-drop/index.js.map +1 -1
- package/lib/plugins/selection/index.js +1 -1
- package/lib/plugins/selection/index.js.map +1 -1
- package/lib/plugins/server-side/index.js +1 -1
- package/lib/plugins/server-side/index.js.map +1 -1
- package/lib/plugins/shell/index.js +1 -1
- package/lib/plugins/shell/index.js.map +1 -1
- package/lib/plugins/sticky-rows/index.js +1 -1
- package/lib/plugins/sticky-rows/index.js.map +1 -1
- package/lib/plugins/tooltip/index.js +1 -1
- package/lib/plugins/tooltip/index.js.map +1 -1
- package/lib/plugins/tree/index.js +1 -1
- package/lib/plugins/tree/index.js.map +1 -1
- package/lib/plugins/undo-redo/index.js +1 -1
- package/lib/plugins/undo-redo/index.js.map +1 -1
- package/lib/plugins/visibility/index.js +1 -1
- package/lib/plugins/visibility/index.js.map +1 -1
- package/package.json +3 -2
- package/themes/dg-theme-bootstrap.css +13 -4
- package/themes/dg-theme-contrast.css +3 -0
- package/themes/dg-theme-large.css +4 -0
- package/themes/dg-theme-material.css +3 -0
- package/themes/dg-theme-standard.css +12 -3
- package/themes/dg-theme-vibrant.css +10 -3
- package/umd/grid.all.umd.js +1 -1
- package/umd/grid.all.umd.js.map +1 -1
- package/umd/grid.umd.js +1 -1
- package/umd/grid.umd.js.map +1 -1
- package/umd/plugins/grouping-columns.umd.js +1 -1
- package/umd/plugins/grouping-columns.umd.js.map +1 -1
- package/umd/plugins/responsive.umd.js +1 -1
- package/umd/plugins/responsive.umd.js.map +1 -1
- package/umd/plugins/selection.umd.js +1 -1
- package/umd/plugins/selection.umd.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toolbox-web/grid",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.7.0",
|
|
4
4
|
"description": "Zero-dependency, framework-agnostic data grid web component with virtualization, sorting, filtering, editing, and 20+ plugins. Works in vanilla JS, React, Vue, Angular, and any framework.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -51,7 +51,8 @@
|
|
|
51
51
|
"**/*.d.ts",
|
|
52
52
|
"**/*.css",
|
|
53
53
|
"**/*.map",
|
|
54
|
-
"custom-elements.json"
|
|
54
|
+
"custom-elements.json",
|
|
55
|
+
"LICENSE"
|
|
55
56
|
],
|
|
56
57
|
"sideEffects": [
|
|
57
58
|
"*.css",
|
|
@@ -9,11 +9,14 @@
|
|
|
9
9
|
--tbw-color-bg: light-dark(#ffffff, #212529);
|
|
10
10
|
--tbw-color-panel-bg: light-dark(#f8f9fa, #2b3035);
|
|
11
11
|
--tbw-color-fg: light-dark(#212529, #dee2e6);
|
|
12
|
-
|
|
12
|
+
/* $gray-600 (#6c757d) lands on 4.45:1 over $gray-100 — 0.05 short of AA. */
|
|
13
|
+
--tbw-color-fg-muted: light-dark(#6a737b, #adb5bd);
|
|
13
14
|
|
|
14
15
|
/* Bootstrap border colors */
|
|
15
16
|
--tbw-color-border: light-dark(#dee2e6, #495057);
|
|
16
|
-
|
|
17
|
+
/* Bounds the cell editor's input, so it owes SC 1.4.11's 3:1 — $gray-500
|
|
18
|
+
(#adb5bd) only reaches 2.07:1 on white. */
|
|
19
|
+
--tbw-color-border-strong: light-dark(#8e959d, #6c757d);
|
|
17
20
|
--tbw-color-border-cell: light-dark(#dee2e6, #495057);
|
|
18
21
|
--tbw-color-border-header: light-dark(#dee2e6, #495057);
|
|
19
22
|
|
|
@@ -22,7 +25,13 @@
|
|
|
22
25
|
|
|
23
26
|
/* Bootstrap primary (blue) */
|
|
24
27
|
--tbw-color-accent: light-dark(#0d6efd, #6ea8fe);
|
|
25
|
-
|
|
28
|
+
/* $blue-300 is a light fill, so dark mode flips the label to $blue-900 the
|
|
29
|
+
way Bootstrap's own dark .btn-primary does — white would be 2.42:1. */
|
|
30
|
+
--tbw-color-accent-fg: light-dark(#ffffff, #052c65);
|
|
31
|
+
/* Accent used as *text* owes 4.5:1 (WCAG 1.4.3); $blue-600 lands exactly on
|
|
32
|
+
4.50:1 with no margin, so text uses Bootstrap's $blue-700 emphasis stop.
|
|
33
|
+
6.44:1 on #ffffff / 6.39:1 on #212529. */
|
|
34
|
+
--tbw-color-accent-text: light-dark(#0a58ca, #6ea8fe);
|
|
26
35
|
--tbw-color-success: light-dark(#198754, #75b798);
|
|
27
36
|
--tbw-color-error: light-dark(#dc3545, #ea868f);
|
|
28
37
|
|
|
@@ -222,7 +231,7 @@
|
|
|
222
231
|
--tbw-color-bg: light-dark(#ffffff, #212529);
|
|
223
232
|
--tbw-color-fg: light-dark(#212529, #dee2e6);
|
|
224
233
|
--tbw-color-border: light-dark(#dee2e6, #495057);
|
|
225
|
-
--tbw-color-border-strong: light-dark(#
|
|
234
|
+
--tbw-color-border-strong: light-dark(#8e959d, #6c757d);
|
|
226
235
|
--tbw-color-panel-bg: light-dark(#f8f9fa, #2b3035);
|
|
227
236
|
--tbw-color-row-hover: light-dark(rgba(0, 0, 0, 0.075), rgba(255, 255, 255, 0.05));
|
|
228
237
|
--tbw-filter-item-height: 32px;
|
|
@@ -14,6 +14,9 @@
|
|
|
14
14
|
white on dark red (8.2:1) / black on light red (8.7:1). */
|
|
15
15
|
--tbw-color-accent: light-dark(#a30000, #ff8080);
|
|
16
16
|
--tbw-color-accent-fg: light-dark(#ffffff, #000000);
|
|
17
|
+
/* Accent already clears this theme's AAA bar as text (8.21:1 / 8.65:1);
|
|
18
|
+
pinned so it tracks the red palette instead of the core blue default. */
|
|
19
|
+
--tbw-color-accent-text: light-dark(#a30000, #ff8080);
|
|
17
20
|
--tbw-color-selection: light-dark(#ffe9a8, #333333);
|
|
18
21
|
--tbw-color-row-alt: light-dark(#f2f2f2, #111111);
|
|
19
22
|
--tbw-color-row-hover: light-dark(#e6f2ff, #1c1c1c);
|
|
@@ -25,6 +25,10 @@
|
|
|
25
25
|
white on deep blue (7.8:1) / black on light blue (8.0:1). */
|
|
26
26
|
--tbw-color-accent: light-dark(#1b45c4, #63a0ff);
|
|
27
27
|
--tbw-color-accent-fg: light-dark(#ffffff, #000000);
|
|
28
|
+
/* Accent as *text* owes this theme's AAA bar (7:1), which the surface accent
|
|
29
|
+
misses in dark mode (6.14:1) — so the dark stop lifts to #8ab8ff.
|
|
30
|
+
7.79:1 on #ffffff / 7.97:1 on #1f2125. */
|
|
31
|
+
--tbw-color-accent-text: light-dark(#1b45c4, #8ab8ff);
|
|
28
32
|
--tbw-color-selection: light-dark(#fff3c2, #303640);
|
|
29
33
|
--tbw-color-row-alt: light-dark(#f5f7f9, #272c34);
|
|
30
34
|
--tbw-color-row-hover: light-dark(#e6f2ff, #313741);
|
|
@@ -25,6 +25,9 @@
|
|
|
25
25
|
/* M3 Primary - Purple/Violet */
|
|
26
26
|
--tbw-color-accent: light-dark(#6750a4, #d0bcff);
|
|
27
27
|
--tbw-color-accent-fg: light-dark(#ffffff, #381e72);
|
|
28
|
+
/* M3 primary already clears 4.5:1 as text on both surfaces (6.29:1 on
|
|
29
|
+
#fffbff / 10.05:1 on #1c1b1f), so the text token stays on-palette. */
|
|
30
|
+
--tbw-color-accent-text: light-dark(#6750a4, #d0bcff);
|
|
28
31
|
--tbw-color-success: light-dark(#146c2e, #6dd58c);
|
|
29
32
|
--tbw-color-error: light-dark(#b3261e, #f2b8b5);
|
|
30
33
|
|
|
@@ -13,7 +13,9 @@
|
|
|
13
13
|
|
|
14
14
|
/* Refined borders */
|
|
15
15
|
--tbw-color-border: light-dark(#e5e7eb, #374151);
|
|
16
|
-
|
|
16
|
+
/* Bounds the cell editor's input, so it owes SC 1.4.11's 3:1 — gray-400
|
|
17
|
+
(#9ca3af) only reaches 2.54:1 on white. */
|
|
18
|
+
--tbw-color-border-strong: light-dark(#8d94a0, #6b7280);
|
|
17
19
|
--tbw-color-border-cell: light-dark(#f3f4f6, #2d3138);
|
|
18
20
|
--tbw-color-border-header: light-dark(#d1d5db, #3f4550);
|
|
19
21
|
|
|
@@ -22,8 +24,15 @@
|
|
|
22
24
|
|
|
23
25
|
/* Modern blue accent */
|
|
24
26
|
--tbw-color-accent: light-dark(#2563eb, #3b82f6);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
/* blue-500 is a light fill, so dark mode flips the label to near-black —
|
|
28
|
+
white would be 3.68:1. */
|
|
29
|
+
--tbw-color-accent-fg: light-dark(#ffffff, #0b1220);
|
|
30
|
+
/* Accent used as *text* owes 4.5:1 (WCAG 1.4.3), which the surface accent
|
|
31
|
+
does not guarantee — blue-500 is 4.64:1 on this dark bg with no margin.
|
|
32
|
+
6.70:1 on #ffffff / 9.46:1 on #1a1c20. */
|
|
33
|
+
--tbw-color-accent-text: light-dark(#1d4ed8, #93c5fd);
|
|
34
|
+
/* emerald-700 rather than -600: #059669 is only 3.77:1 on white (WCAG AA fail). */
|
|
35
|
+
--tbw-color-success: light-dark(#047857, #34d399);
|
|
27
36
|
--tbw-color-error: light-dark(#dc2626, #f87171);
|
|
28
37
|
|
|
29
38
|
/* Selection & interaction */
|
|
@@ -11,14 +11,21 @@
|
|
|
11
11
|
--tbw-color-fg: light-dark(#1e2430, #f1f5f9);
|
|
12
12
|
--tbw-color-fg-muted: light-dark(#5d6473, #9ba4b4);
|
|
13
13
|
--tbw-color-border: light-dark(#ddddf8, #2e3344);
|
|
14
|
-
|
|
14
|
+
/* Bounds the cell editor's input, so it owes SC 1.4.11's 3:1 in both modes. */
|
|
15
|
+
--tbw-color-border-strong: light-dark(#8a8dbf, #596181);
|
|
15
16
|
--tbw-color-border-cell: light-dark(#e8e8f8, #252838);
|
|
16
17
|
--tbw-color-border-header: light-dark(#d0d0ec, #3a3f55);
|
|
17
18
|
|
|
18
19
|
/* Vibrant purple accent with glow potential */
|
|
19
20
|
--tbw-color-accent: light-dark(#7c3aed, #a78bfa);
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
/* violet-400 is a light fill, so dark mode flips the label to violet-950 —
|
|
22
|
+
white would be 2.72:1. */
|
|
23
|
+
--tbw-color-accent-fg: light-dark(#ffffff, #1e1b4b);
|
|
24
|
+
/* Accent used as *text* owes 4.5:1 (WCAG 1.4.3). Violet-700/-300 keep the
|
|
25
|
+
purple hue: 6.83:1 on #fafaff / 9.96:1 on #12141c. */
|
|
26
|
+
--tbw-color-accent-text: light-dark(#6d28d9, #c4b5fd);
|
|
27
|
+
/* emerald-700 rather than -600: #059669 is only 3.77:1 on white (WCAG AA fail). */
|
|
28
|
+
--tbw-color-success: light-dark(#047857, #34d399);
|
|
22
29
|
--tbw-color-error: light-dark(#dc2626, #f87171);
|
|
23
30
|
|
|
24
31
|
/* Selection & interaction - subtle purple tint */
|