@coreui/data-grid 0.1.0-rc.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 (101) hide show
  1. package/LICENSE +3 -0
  2. package/README.md +37 -0
  3. package/dist/css/data-grid.css +444 -0
  4. package/dist/css/data-grid.css.map +1 -0
  5. package/dist/css/data-grid.min.css +5 -0
  6. package/dist/css/data-grid.min.css.map +1 -0
  7. package/dist/js/csv.cjs +68 -0
  8. package/dist/js/csv.cjs.map +1 -0
  9. package/dist/js/csv.mjs +63 -0
  10. package/dist/js/csv.mjs.map +1 -0
  11. package/dist/js/data-grid.esm.js +9618 -0
  12. package/dist/js/data-grid.esm.js.map +1 -0
  13. package/dist/js/data-grid.esm.min.js +8 -0
  14. package/dist/js/data-grid.esm.min.js.map +1 -0
  15. package/dist/js/data-grid.js +9635 -0
  16. package/dist/js/data-grid.js.map +1 -0
  17. package/dist/js/data-grid.min.js +8 -0
  18. package/dist/js/data-grid.min.js.map +1 -0
  19. package/dist/js/data-grid.mjs +9618 -0
  20. package/dist/js/data-grid.mjs.map +1 -0
  21. package/dist/js/filters.cjs +143 -0
  22. package/dist/js/filters.cjs.map +1 -0
  23. package/dist/js/filters.mjs +137 -0
  24. package/dist/js/filters.mjs.map +1 -0
  25. package/dist/js/labels.cjs +76 -0
  26. package/dist/js/labels.cjs.map +1 -0
  27. package/dist/js/labels.mjs +71 -0
  28. package/dist/js/labels.mjs.map +1 -0
  29. package/dist/types/base-component.d.ts +19 -0
  30. package/dist/types/data-grid.d.ts +128 -0
  31. package/dist/types/dom/event-handler.d.ts +11 -0
  32. package/dist/types/dom/manipulator.d.ts +9 -0
  33. package/dist/types/engine/active-cell.d.ts +32 -0
  34. package/dist/types/engine/data-source.d.ts +19 -0
  35. package/dist/types/engine/scheduler.d.ts +11 -0
  36. package/dist/types/engine/table.d.ts +9 -0
  37. package/dist/types/engine/virtualizer.d.ts +21 -0
  38. package/dist/types/filters.d.mts +1 -0
  39. package/dist/types/filters.d.ts +13 -0
  40. package/dist/types/icons.d.ts +21 -0
  41. package/dist/types/index.d.mts +1 -0
  42. package/dist/types/index.d.ts +12 -0
  43. package/dist/types/labels.d.mts +1 -0
  44. package/dist/types/labels.d.ts +9 -0
  45. package/dist/types/types.d.ts +262 -0
  46. package/dist/types/ui/body.d.ts +34 -0
  47. package/dist/types/ui/column-chooser.d.ts +27 -0
  48. package/dist/types/ui/editor.d.ts +8 -0
  49. package/dist/types/ui/filter-menu.d.ts +21 -0
  50. package/dist/types/ui/header.d.ts +50 -0
  51. package/dist/types/ui/loading.d.ts +12 -0
  52. package/dist/types/ui/menu.d.ts +17 -0
  53. package/dist/types/ui/pagination.d.ts +17 -0
  54. package/dist/types/ui/pinning.d.ts +17 -0
  55. package/dist/types/ui/toolbar.d.ts +34 -0
  56. package/dist/types/ui/tooltip.d.ts +10 -0
  57. package/dist/types/util/config.d.ts +11 -0
  58. package/dist/types/util/csv.d.mts +1 -0
  59. package/dist/types/util/csv.d.ts +19 -0
  60. package/dist/types/util/debounce.d.ts +7 -0
  61. package/dist/types/util/index.d.ts +10 -0
  62. package/dist/types/util/sanitizer.d.ts +11 -0
  63. package/package.json +147 -0
  64. package/scss/data-grid.scss +559 -0
  65. package/src/base-component.d.ts +19 -0
  66. package/src/base-component.js +90 -0
  67. package/src/data-grid.ts +2208 -0
  68. package/src/dom/data.js +59 -0
  69. package/src/dom/event-handler.d.ts +11 -0
  70. package/src/dom/event-handler.js +331 -0
  71. package/src/dom/manipulator.d.ts +9 -0
  72. package/src/dom/manipulator.js +75 -0
  73. package/src/engine/active-cell.ts +195 -0
  74. package/src/engine/data-source.ts +63 -0
  75. package/src/engine/scheduler.ts +42 -0
  76. package/src/engine/table.ts +122 -0
  77. package/src/engine/virtualizer.ts +57 -0
  78. package/src/filters.ts +176 -0
  79. package/src/icons.ts +60 -0
  80. package/src/index.ts +56 -0
  81. package/src/labels.ts +70 -0
  82. package/src/types.ts +334 -0
  83. package/src/ui/body.ts +348 -0
  84. package/src/ui/column-chooser.ts +183 -0
  85. package/src/ui/editor.ts +98 -0
  86. package/src/ui/filter-menu.ts +398 -0
  87. package/src/ui/header.ts +441 -0
  88. package/src/ui/loading.ts +39 -0
  89. package/src/ui/menu.ts +218 -0
  90. package/src/ui/pagination.ts +150 -0
  91. package/src/ui/pinning.ts +53 -0
  92. package/src/ui/toolbar.ts +144 -0
  93. package/src/ui/tooltip.ts +113 -0
  94. package/src/util/config.d.ts +11 -0
  95. package/src/util/config.js +69 -0
  96. package/src/util/csv.ts +85 -0
  97. package/src/util/debounce.ts +18 -0
  98. package/src/util/index.d.ts +10 -0
  99. package/src/util/index.js +310 -0
  100. package/src/util/sanitizer.d.ts +11 -0
  101. package/src/util/sanitizer.js +162 -0
@@ -0,0 +1,143 @@
1
+ /*!
2
+ * CoreUI PRO data-grid v0.1.0-rc.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
+ * License (https://coreui.io/pro/license/)
5
+ */
6
+ 'use strict';
7
+
8
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
9
+
10
+ /**
11
+ * --------------------------------------------------------------------------
12
+ * CoreUI PRO data-grid filters.ts
13
+ * License (https://coreui.io/pro/license/)
14
+ * --------------------------------------------------------------------------
15
+ * Pure filter-operator logic, built as the dependency-free
16
+ * `@coreui/data-grid/filters` subpath so the framework bindings share one
17
+ * implementation without pulling in the vanilla component runtime.
18
+ */
19
+ const FILTER_OPERATORS = {
20
+ text: ['contains', 'notContains', 'equals', 'notEquals', 'startsWith', 'endsWith', 'blank', 'notBlank'],
21
+ number: [
22
+ 'equals',
23
+ 'notEquals',
24
+ 'greaterThan',
25
+ 'greaterThanOrEqual',
26
+ 'lessThan',
27
+ 'lessThanOrEqual',
28
+ 'between',
29
+ 'blank',
30
+ 'notBlank'
31
+ ],
32
+ date: [
33
+ 'equals',
34
+ 'notEquals',
35
+ 'greaterThan',
36
+ 'greaterThanOrEqual',
37
+ 'lessThan',
38
+ 'lessThanOrEqual',
39
+ 'between',
40
+ 'blank',
41
+ 'notBlank'
42
+ ]
43
+ };
44
+ const VALUELESS_OPERATORS = new Set(['blank', 'notBlank']);
45
+ const isBlank = (value) => value === null || value === undefined || String(value).trim() === '';
46
+ const toComparable = (value, filterType) => {
47
+ if (filterType === 'date') {
48
+ const time = value instanceof Date ? value.getTime() : new Date(String(value)).getTime();
49
+ return Number.isNaN(time) ? null : time;
50
+ }
51
+ const numeric = typeof value === 'number' ? value : Number(value);
52
+ return Number.isFinite(numeric) ? numeric : null;
53
+ };
54
+ const evaluateCondition = (cellValue, condition, filterType) => {
55
+ const { operator } = condition;
56
+ if (operator === 'blank') {
57
+ return isBlank(cellValue);
58
+ }
59
+ if (operator === 'notBlank') {
60
+ return !isBlank(cellValue);
61
+ }
62
+ // A condition without a value filters nothing (the menu treats it as
63
+ // incomplete rather than matching nothing).
64
+ if (isBlank(condition.value)) {
65
+ return true;
66
+ }
67
+ if (filterType === 'number' || filterType === 'date') {
68
+ const cell = toComparable(cellValue, filterType);
69
+ const bound = toComparable(condition.value, filterType);
70
+ if (cell === null || bound === null) {
71
+ return false;
72
+ }
73
+ switch (operator) {
74
+ case 'equals': {
75
+ return cell === bound;
76
+ }
77
+ case 'notEquals': {
78
+ return cell !== bound;
79
+ }
80
+ case 'greaterThan': {
81
+ return cell > bound;
82
+ }
83
+ case 'greaterThanOrEqual': {
84
+ return cell >= bound;
85
+ }
86
+ case 'lessThan': {
87
+ return cell < bound;
88
+ }
89
+ case 'lessThanOrEqual': {
90
+ return cell <= bound;
91
+ }
92
+ case 'between': {
93
+ const upper = toComparable(condition.value2, filterType);
94
+ return upper === null ? cell >= bound : cell >= bound && cell <= upper;
95
+ }
96
+ default: {
97
+ return false;
98
+ }
99
+ }
100
+ }
101
+ const cell = String(cellValue !== null && cellValue !== void 0 ? cellValue : '').toLowerCase();
102
+ const needle = String(condition.value).toLowerCase();
103
+ switch (operator) {
104
+ case 'contains': {
105
+ return cell.includes(needle);
106
+ }
107
+ case 'notContains': {
108
+ return !cell.includes(needle);
109
+ }
110
+ case 'equals': {
111
+ return cell === needle;
112
+ }
113
+ case 'notEquals': {
114
+ return cell !== needle;
115
+ }
116
+ case 'startsWith': {
117
+ return cell.startsWith(needle);
118
+ }
119
+ case 'endsWith': {
120
+ return cell.endsWith(needle);
121
+ }
122
+ default: {
123
+ return false;
124
+ }
125
+ }
126
+ };
127
+ const evaluateColumnFilter = (cellValue, filterValue, filterType = 'text') => {
128
+ if (typeof filterValue === 'string') {
129
+ return String(cellValue !== null && cellValue !== void 0 ? cellValue : '')
130
+ .toLowerCase()
131
+ .includes(filterValue.toLowerCase());
132
+ }
133
+ if ('conditions' in filterValue) {
134
+ const results = filterValue.conditions.map(condition => evaluateCondition(cellValue, condition, filterType));
135
+ return filterValue.join === 'or' ? results.some(Boolean) : results.every(Boolean);
136
+ }
137
+ return filterValue.value.some(candidate => String(candidate) === String(cellValue));
138
+ };
139
+
140
+ exports.FILTER_OPERATORS = FILTER_OPERATORS;
141
+ exports.VALUELESS_OPERATORS = VALUELESS_OPERATORS;
142
+ exports.evaluateColumnFilter = evaluateColumnFilter;
143
+ //# sourceMappingURL=filters.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters.cjs","sources":["../../src/filters.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ /*!
2
+ * CoreUI PRO data-grid v0.1.0-rc.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
+ * License (https://coreui.io/pro/license/)
5
+ */
6
+ /**
7
+ * --------------------------------------------------------------------------
8
+ * CoreUI PRO data-grid filters.ts
9
+ * License (https://coreui.io/pro/license/)
10
+ * --------------------------------------------------------------------------
11
+ * Pure filter-operator logic, built as the dependency-free
12
+ * `@coreui/data-grid/filters` subpath so the framework bindings share one
13
+ * implementation without pulling in the vanilla component runtime.
14
+ */
15
+ const FILTER_OPERATORS = {
16
+ text: ['contains', 'notContains', 'equals', 'notEquals', 'startsWith', 'endsWith', 'blank', 'notBlank'],
17
+ number: [
18
+ 'equals',
19
+ 'notEquals',
20
+ 'greaterThan',
21
+ 'greaterThanOrEqual',
22
+ 'lessThan',
23
+ 'lessThanOrEqual',
24
+ 'between',
25
+ 'blank',
26
+ 'notBlank'
27
+ ],
28
+ date: [
29
+ 'equals',
30
+ 'notEquals',
31
+ 'greaterThan',
32
+ 'greaterThanOrEqual',
33
+ 'lessThan',
34
+ 'lessThanOrEqual',
35
+ 'between',
36
+ 'blank',
37
+ 'notBlank'
38
+ ]
39
+ };
40
+ const VALUELESS_OPERATORS = new Set(['blank', 'notBlank']);
41
+ const isBlank = (value) => value === null || value === undefined || String(value).trim() === '';
42
+ const toComparable = (value, filterType) => {
43
+ if (filterType === 'date') {
44
+ const time = value instanceof Date ? value.getTime() : new Date(String(value)).getTime();
45
+ return Number.isNaN(time) ? null : time;
46
+ }
47
+ const numeric = typeof value === 'number' ? value : Number(value);
48
+ return Number.isFinite(numeric) ? numeric : null;
49
+ };
50
+ const evaluateCondition = (cellValue, condition, filterType) => {
51
+ const { operator } = condition;
52
+ if (operator === 'blank') {
53
+ return isBlank(cellValue);
54
+ }
55
+ if (operator === 'notBlank') {
56
+ return !isBlank(cellValue);
57
+ }
58
+ // A condition without a value filters nothing (the menu treats it as
59
+ // incomplete rather than matching nothing).
60
+ if (isBlank(condition.value)) {
61
+ return true;
62
+ }
63
+ if (filterType === 'number' || filterType === 'date') {
64
+ const cell = toComparable(cellValue, filterType);
65
+ const bound = toComparable(condition.value, filterType);
66
+ if (cell === null || bound === null) {
67
+ return false;
68
+ }
69
+ switch (operator) {
70
+ case 'equals': {
71
+ return cell === bound;
72
+ }
73
+ case 'notEquals': {
74
+ return cell !== bound;
75
+ }
76
+ case 'greaterThan': {
77
+ return cell > bound;
78
+ }
79
+ case 'greaterThanOrEqual': {
80
+ return cell >= bound;
81
+ }
82
+ case 'lessThan': {
83
+ return cell < bound;
84
+ }
85
+ case 'lessThanOrEqual': {
86
+ return cell <= bound;
87
+ }
88
+ case 'between': {
89
+ const upper = toComparable(condition.value2, filterType);
90
+ return upper === null ? cell >= bound : cell >= bound && cell <= upper;
91
+ }
92
+ default: {
93
+ return false;
94
+ }
95
+ }
96
+ }
97
+ const cell = String(cellValue !== null && cellValue !== void 0 ? cellValue : '').toLowerCase();
98
+ const needle = String(condition.value).toLowerCase();
99
+ switch (operator) {
100
+ case 'contains': {
101
+ return cell.includes(needle);
102
+ }
103
+ case 'notContains': {
104
+ return !cell.includes(needle);
105
+ }
106
+ case 'equals': {
107
+ return cell === needle;
108
+ }
109
+ case 'notEquals': {
110
+ return cell !== needle;
111
+ }
112
+ case 'startsWith': {
113
+ return cell.startsWith(needle);
114
+ }
115
+ case 'endsWith': {
116
+ return cell.endsWith(needle);
117
+ }
118
+ default: {
119
+ return false;
120
+ }
121
+ }
122
+ };
123
+ const evaluateColumnFilter = (cellValue, filterValue, filterType = 'text') => {
124
+ if (typeof filterValue === 'string') {
125
+ return String(cellValue !== null && cellValue !== void 0 ? cellValue : '')
126
+ .toLowerCase()
127
+ .includes(filterValue.toLowerCase());
128
+ }
129
+ if ('conditions' in filterValue) {
130
+ const results = filterValue.conditions.map(condition => evaluateCondition(cellValue, condition, filterType));
131
+ return filterValue.join === 'or' ? results.some(Boolean) : results.every(Boolean);
132
+ }
133
+ return filterValue.value.some(candidate => String(candidate) === String(cellValue));
134
+ };
135
+
136
+ export { FILTER_OPERATORS, VALUELESS_OPERATORS, evaluateColumnFilter };
137
+ //# sourceMappingURL=filters.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filters.mjs","sources":["../../src/filters.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /*!
2
+ * CoreUI PRO data-grid v0.1.0-rc.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
+ * License (https://coreui.io/pro/license/)
5
+ */
6
+ 'use strict';
7
+
8
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
9
+
10
+ /**
11
+ * --------------------------------------------------------------------------
12
+ * CoreUI PRO data-grid labels.ts
13
+ * License (https://coreui.io/pro/license/)
14
+ * --------------------------------------------------------------------------
15
+ */
16
+ const DEFAULT_LABELS = {
17
+ addCondition: 'Add condition',
18
+ applyFilter: 'Apply',
19
+ clearFilter: 'Clear filter',
20
+ clearSort: 'Unsort',
21
+ columnMenu: 'Column options for {column}',
22
+ filterAction: 'Filter…',
23
+ filterColumn: 'Filter {column}',
24
+ firstPage: 'First page',
25
+ globalFilterLabel: 'Search',
26
+ globalFilterPlaceholder: 'Search',
27
+ hideColumn: 'Hide column',
28
+ itemsInfo: '{first}–{last} of {total}',
29
+ joinAnd: 'AND',
30
+ joinOr: 'OR',
31
+ lastPage: 'Last page',
32
+ loadError: 'Failed to load data',
33
+ loading: 'Loading…',
34
+ moveLeft: 'Move left',
35
+ moveRight: 'Move right',
36
+ nextPage: 'Next page',
37
+ operatorBetween: 'Between',
38
+ operatorBlank: 'Blank',
39
+ operatorContains: 'Contains',
40
+ operatorEndsWith: 'Ends with',
41
+ operatorEquals: 'Equals',
42
+ operatorGreaterThan: 'Greater than',
43
+ operatorGreaterThanOrEqual: 'Greater than or equal',
44
+ operatorLessThan: 'Less than',
45
+ operatorLessThanOrEqual: 'Less than or equal',
46
+ operatorNotBlank: 'Not blank',
47
+ operatorNotContains: 'Does not contain',
48
+ operatorNotEquals: 'Not equals',
49
+ operatorStartsWith: 'Starts with',
50
+ pageSizeLabel: 'Rows per page',
51
+ paginationLabel: 'Pagination',
52
+ pinLeft: 'Pin left',
53
+ pinRight: 'Pin right',
54
+ previousPage: 'Previous page',
55
+ redoneAnnouncement: 'Change redone',
56
+ resetColumns: 'Reset',
57
+ resultsAnnouncement: '{count} results',
58
+ searchValues: 'Search values',
59
+ selectAllRows: 'Select all rows',
60
+ selectAllValues: 'Select all',
61
+ selectRow: 'Select row',
62
+ showAllColumns: 'Show all',
63
+ sortAscending: 'Sort ascending',
64
+ sortDescending: 'Sort descending',
65
+ toolbarColumns: 'Columns',
66
+ toolbarExport: 'Export',
67
+ toolbarRedo: 'Redo',
68
+ toolbarUndo: 'Undo',
69
+ undoneAnnouncement: 'Change undone',
70
+ unpin: 'Unpin'
71
+ };
72
+ const interpolate = (template, tokens) => template.replace(/\{(\w+)\}/g, (match, token) => token in tokens ? String(tokens[token]) : match);
73
+
74
+ exports.DEFAULT_LABELS = DEFAULT_LABELS;
75
+ exports.interpolate = interpolate;
76
+ //# sourceMappingURL=labels.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labels.cjs","sources":["../../src/labels.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAAA;;;;;AAKG;AAII,MAAM,cAAc,GAAmB;AAC5C,IAAA,YAAY,EAAE,eAAe;AAC7B,IAAA,WAAW,EAAE,OAAO;AACpB,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,SAAS,EAAE,QAAQ;AACnB,IAAA,UAAU,EAAE,6BAA6B;AACzC,IAAA,YAAY,EAAE,SAAS;AACvB,IAAA,YAAY,EAAE,iBAAiB;AAC/B,IAAA,SAAS,EAAE,YAAY;AACvB,IAAA,iBAAiB,EAAE,QAAQ;AAC3B,IAAA,uBAAuB,EAAE,QAAQ;AACjC,IAAA,UAAU,EAAE,aAAa;AACzB,IAAA,SAAS,EAAE,2BAA2B;AACtC,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,QAAQ,EAAE,WAAW;AACrB,IAAA,SAAS,EAAE,qBAAqB;AAChC,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,QAAQ,EAAE,WAAW;AACrB,IAAA,SAAS,EAAE,YAAY;AACvB,IAAA,QAAQ,EAAE,WAAW;AACrB,IAAA,eAAe,EAAE,SAAS;AAC1B,IAAA,aAAa,EAAE,OAAO;AACtB,IAAA,gBAAgB,EAAE,UAAU;AAC5B,IAAA,gBAAgB,EAAE,WAAW;AAC7B,IAAA,cAAc,EAAE,QAAQ;AACxB,IAAA,mBAAmB,EAAE,cAAc;AACnC,IAAA,0BAA0B,EAAE,uBAAuB;AACnD,IAAA,gBAAgB,EAAE,WAAW;AAC7B,IAAA,uBAAuB,EAAE,oBAAoB;AAC7C,IAAA,gBAAgB,EAAE,WAAW;AAC7B,IAAA,mBAAmB,EAAE,kBAAkB;AACvC,IAAA,iBAAiB,EAAE,YAAY;AAC/B,IAAA,kBAAkB,EAAE,aAAa;AACjC,IAAA,aAAa,EAAE,eAAe;AAC9B,IAAA,eAAe,EAAE,YAAY;AAC7B,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,QAAQ,EAAE,WAAW;AACrB,IAAA,YAAY,EAAE,eAAe;AAC7B,IAAA,kBAAkB,EAAE,eAAe;AACnC,IAAA,YAAY,EAAE,OAAO;AACrB,IAAA,mBAAmB,EAAE,iBAAiB;AACtC,IAAA,YAAY,EAAE,eAAe;AAC7B,IAAA,aAAa,EAAE,iBAAiB;AAChC,IAAA,eAAe,EAAE,YAAY;AAC7B,IAAA,SAAS,EAAE,YAAY;AACvB,IAAA,cAAc,EAAE,UAAU;AAC1B,IAAA,aAAa,EAAE,gBAAgB;AAC/B,IAAA,cAAc,EAAE,iBAAiB;AACjC,IAAA,cAAc,EAAE,SAAS;AACzB,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,WAAW,EAAE,MAAM;AACnB,IAAA,WAAW,EAAE,MAAM;AACnB,IAAA,kBAAkB,EAAE,eAAe;AACnC,IAAA,KAAK,EAAE;;AAGF,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,MAAuC,KACnF,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAa,EAAE,KAAa,KAC1D,KAAK,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK;;;;;"}
@@ -0,0 +1,71 @@
1
+ /*!
2
+ * CoreUI PRO data-grid v0.1.0-rc.0 (https://coreui.io)
3
+ * Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
4
+ * License (https://coreui.io/pro/license/)
5
+ */
6
+ /**
7
+ * --------------------------------------------------------------------------
8
+ * CoreUI PRO data-grid labels.ts
9
+ * License (https://coreui.io/pro/license/)
10
+ * --------------------------------------------------------------------------
11
+ */
12
+ const DEFAULT_LABELS = {
13
+ addCondition: 'Add condition',
14
+ applyFilter: 'Apply',
15
+ clearFilter: 'Clear filter',
16
+ clearSort: 'Unsort',
17
+ columnMenu: 'Column options for {column}',
18
+ filterAction: 'Filter…',
19
+ filterColumn: 'Filter {column}',
20
+ firstPage: 'First page',
21
+ globalFilterLabel: 'Search',
22
+ globalFilterPlaceholder: 'Search',
23
+ hideColumn: 'Hide column',
24
+ itemsInfo: '{first}–{last} of {total}',
25
+ joinAnd: 'AND',
26
+ joinOr: 'OR',
27
+ lastPage: 'Last page',
28
+ loadError: 'Failed to load data',
29
+ loading: 'Loading…',
30
+ moveLeft: 'Move left',
31
+ moveRight: 'Move right',
32
+ nextPage: 'Next page',
33
+ operatorBetween: 'Between',
34
+ operatorBlank: 'Blank',
35
+ operatorContains: 'Contains',
36
+ operatorEndsWith: 'Ends with',
37
+ operatorEquals: 'Equals',
38
+ operatorGreaterThan: 'Greater than',
39
+ operatorGreaterThanOrEqual: 'Greater than or equal',
40
+ operatorLessThan: 'Less than',
41
+ operatorLessThanOrEqual: 'Less than or equal',
42
+ operatorNotBlank: 'Not blank',
43
+ operatorNotContains: 'Does not contain',
44
+ operatorNotEquals: 'Not equals',
45
+ operatorStartsWith: 'Starts with',
46
+ pageSizeLabel: 'Rows per page',
47
+ paginationLabel: 'Pagination',
48
+ pinLeft: 'Pin left',
49
+ pinRight: 'Pin right',
50
+ previousPage: 'Previous page',
51
+ redoneAnnouncement: 'Change redone',
52
+ resetColumns: 'Reset',
53
+ resultsAnnouncement: '{count} results',
54
+ searchValues: 'Search values',
55
+ selectAllRows: 'Select all rows',
56
+ selectAllValues: 'Select all',
57
+ selectRow: 'Select row',
58
+ showAllColumns: 'Show all',
59
+ sortAscending: 'Sort ascending',
60
+ sortDescending: 'Sort descending',
61
+ toolbarColumns: 'Columns',
62
+ toolbarExport: 'Export',
63
+ toolbarRedo: 'Redo',
64
+ toolbarUndo: 'Undo',
65
+ undoneAnnouncement: 'Change undone',
66
+ unpin: 'Unpin'
67
+ };
68
+ const interpolate = (template, tokens) => template.replace(/\{(\w+)\}/g, (match, token) => token in tokens ? String(tokens[token]) : match);
69
+
70
+ export { DEFAULT_LABELS, interpolate };
71
+ //# sourceMappingURL=labels.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labels.mjs","sources":["../../src/labels.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;;;AAKG;AAII,MAAM,cAAc,GAAmB;AAC5C,IAAA,YAAY,EAAE,eAAe;AAC7B,IAAA,WAAW,EAAE,OAAO;AACpB,IAAA,WAAW,EAAE,cAAc;AAC3B,IAAA,SAAS,EAAE,QAAQ;AACnB,IAAA,UAAU,EAAE,6BAA6B;AACzC,IAAA,YAAY,EAAE,SAAS;AACvB,IAAA,YAAY,EAAE,iBAAiB;AAC/B,IAAA,SAAS,EAAE,YAAY;AACvB,IAAA,iBAAiB,EAAE,QAAQ;AAC3B,IAAA,uBAAuB,EAAE,QAAQ;AACjC,IAAA,UAAU,EAAE,aAAa;AACzB,IAAA,SAAS,EAAE,2BAA2B;AACtC,IAAA,OAAO,EAAE,KAAK;AACd,IAAA,MAAM,EAAE,IAAI;AACZ,IAAA,QAAQ,EAAE,WAAW;AACrB,IAAA,SAAS,EAAE,qBAAqB;AAChC,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,QAAQ,EAAE,WAAW;AACrB,IAAA,SAAS,EAAE,YAAY;AACvB,IAAA,QAAQ,EAAE,WAAW;AACrB,IAAA,eAAe,EAAE,SAAS;AAC1B,IAAA,aAAa,EAAE,OAAO;AACtB,IAAA,gBAAgB,EAAE,UAAU;AAC5B,IAAA,gBAAgB,EAAE,WAAW;AAC7B,IAAA,cAAc,EAAE,QAAQ;AACxB,IAAA,mBAAmB,EAAE,cAAc;AACnC,IAAA,0BAA0B,EAAE,uBAAuB;AACnD,IAAA,gBAAgB,EAAE,WAAW;AAC7B,IAAA,uBAAuB,EAAE,oBAAoB;AAC7C,IAAA,gBAAgB,EAAE,WAAW;AAC7B,IAAA,mBAAmB,EAAE,kBAAkB;AACvC,IAAA,iBAAiB,EAAE,YAAY;AAC/B,IAAA,kBAAkB,EAAE,aAAa;AACjC,IAAA,aAAa,EAAE,eAAe;AAC9B,IAAA,eAAe,EAAE,YAAY;AAC7B,IAAA,OAAO,EAAE,UAAU;AACnB,IAAA,QAAQ,EAAE,WAAW;AACrB,IAAA,YAAY,EAAE,eAAe;AAC7B,IAAA,kBAAkB,EAAE,eAAe;AACnC,IAAA,YAAY,EAAE,OAAO;AACrB,IAAA,mBAAmB,EAAE,iBAAiB;AACtC,IAAA,YAAY,EAAE,eAAe;AAC7B,IAAA,aAAa,EAAE,iBAAiB;AAChC,IAAA,eAAe,EAAE,YAAY;AAC7B,IAAA,SAAS,EAAE,YAAY;AACvB,IAAA,cAAc,EAAE,UAAU;AAC1B,IAAA,aAAa,EAAE,gBAAgB;AAC/B,IAAA,cAAc,EAAE,iBAAiB;AACjC,IAAA,cAAc,EAAE,SAAS;AACzB,IAAA,aAAa,EAAE,QAAQ;AACvB,IAAA,WAAW,EAAE,MAAM;AACnB,IAAA,WAAW,EAAE,MAAM;AACnB,IAAA,kBAAkB,EAAE,eAAe;AACnC,IAAA,KAAK,EAAE;;AAGF,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAE,MAAuC,KACnF,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAa,EAAE,KAAa,KAC1D,KAAK,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK;;;;"}
@@ -0,0 +1,19 @@
1
+ // Hand-written types for the vendored base-component.js (see the provenance header there)
2
+ import Config from './util/config.js'
3
+
4
+ export default class BaseComponent extends Config {
5
+ constructor(element: Element | string, config?: unknown)
6
+
7
+ _element: HTMLElement
8
+ _config: any
9
+
10
+ dispose(): void
11
+ _queueCallback(callback: () => void, element: Element, isAnimated?: boolean): void
12
+
13
+ static getInstance(element: Element | string | null): any
14
+ static getOrCreateInstance(element: Element | string, config?: unknown): any
15
+ static get VERSION(): string
16
+ static get DATA_KEY(): string
17
+ static get EVENT_KEY(): string
18
+ static eventName(name: string): string
19
+ }
@@ -0,0 +1,128 @@
1
+ /**
2
+ * --------------------------------------------------------------------------
3
+ * CoreUI PRO data-grid.ts
4
+ * License (https://coreui.io/pro/license/)
5
+ * --------------------------------------------------------------------------
6
+ */
7
+ import type { Table } from '@tanstack/table-core';
8
+ import BaseComponent from './base-component.js';
9
+ import type { DataGridItem, DataGridOptions, DataGridState } from './types';
10
+ import { type CsvDownloadOptions, type CsvOptions } from './util/csv';
11
+ /**
12
+ * Class definition
13
+ */
14
+ declare class DataGrid extends BaseComponent {
15
+ _config: DataGridOptions;
16
+ private _table;
17
+ private _scheduler;
18
+ private _virtualizer;
19
+ private _header;
20
+ private _body;
21
+ private _toolbar;
22
+ private _paginations;
23
+ private _emptySlot;
24
+ private _dataSource;
25
+ private _loading;
26
+ private _loadFailed;
27
+ private _dataVersion;
28
+ private _viewportElement;
29
+ private _tableElement;
30
+ private _liveRegion;
31
+ private _labels;
32
+ private _selectionAnchorIndex;
33
+ private _activeCell;
34
+ private _containsFocus;
35
+ private _editingCell;
36
+ private _undoStack;
37
+ private _redoStack;
38
+ private _persistState;
39
+ private _editor;
40
+ private _editorPointerdownHandler;
41
+ private _editorPopup;
42
+ private _editorErrorElement;
43
+ private _editorFocusPending;
44
+ private _columnsByKey;
45
+ private _dragColumn;
46
+ private _menu;
47
+ private _tooltip;
48
+ private _filterMenu;
49
+ private _columnChooser;
50
+ private _toolbarConfig;
51
+ constructor(element: Element | string, config?: Partial<DataGridOptions>);
52
+ get table(): Table<DataGridItem>;
53
+ static get Default(): DataGridOptions;
54
+ static get DefaultType(): Record<string, string>;
55
+ static get NAME(): string;
56
+ static getInstance(element: Element | string | null): DataGrid | null;
57
+ static getOrCreateInstance(element: Element | string, config?: Partial<DataGridOptions>): DataGrid;
58
+ getSelectedItems(): DataGridItem[];
59
+ getCsv(options?: CsvOptions): string;
60
+ downloadCsv(options?: CsvDownloadOptions): void;
61
+ getState(): DataGridState;
62
+ restoreState(state: Partial<DataGridState>): void;
63
+ undo(): void;
64
+ redo(): void;
65
+ private _applyHistoryEntry;
66
+ setItems(items: DataGridItem[]): void;
67
+ update(config: Partial<DataGridOptions>): void;
68
+ dispose(): void;
69
+ _configAfterMerge(config: DataGridOptions): DataGridOptions;
70
+ private _createTable;
71
+ private _teardownUi;
72
+ private _slotContext;
73
+ private _isColumnSortable;
74
+ private _isColumnFilterable;
75
+ private _isColumnResizable;
76
+ private _sanitizeIcon;
77
+ private _hasColumnMenu;
78
+ private _renderToolbar;
79
+ private _render;
80
+ private _addEventListeners;
81
+ private _toggleColumnSorting;
82
+ private _navigableCellFromTarget;
83
+ private _onCellFocusIn;
84
+ private _onCellNavigationKeydown;
85
+ private _descendIntoCell;
86
+ private _isColumnEditable;
87
+ private _startEditing;
88
+ private _editScopeContains;
89
+ private _mountEditorPopup;
90
+ private _commitEdit;
91
+ private _cancelEdit;
92
+ private _stopEditing;
93
+ private _showEditorInvalid;
94
+ private _moveEditing;
95
+ private _teardownEditor;
96
+ private _setActiveCell;
97
+ private _activeCellContext;
98
+ private _cellElementFor;
99
+ private _applyCellNavigation;
100
+ private _getMenuActions;
101
+ private _orderedLeafIds;
102
+ private _moveColumn;
103
+ private _onColumnDragStart;
104
+ private _onColumnDrop;
105
+ private _endColumnDrag;
106
+ private _startColumnResize;
107
+ private _toggleRowSelection;
108
+ private _initDataSource;
109
+ private _visibleLeafColumns;
110
+ private _chooserColumns;
111
+ private _visibleColumns;
112
+ private _getColumnSizes;
113
+ private _getFilteredColumns;
114
+ private _getPinning;
115
+ private _storageKey;
116
+ private _restorePersistedState;
117
+ private _updateHistoryButtons;
118
+ private _announceResults;
119
+ private _announce;
120
+ private _getTotalRows;
121
+ private _notifyStateChange;
122
+ private _update;
123
+ private _paginationState;
124
+ static jQueryInterface(this: {
125
+ each: (callback: (this: HTMLElement) => void) => unknown;
126
+ }, config?: string | Partial<DataGridOptions>): unknown;
127
+ }
128
+ export default DataGrid;
@@ -0,0 +1,11 @@
1
+ // Hand-written types for the vendored event-handler.js (see the provenance header there)
2
+ type EventHandlerFunction = (event: Event & Record<string, unknown>) => void
3
+
4
+ declare const EventHandler: {
5
+ on(element: Element | Document | Window, event: string, handler: string | EventHandlerFunction, delegationFunction?: EventHandlerFunction): void
6
+ one(element: Element | Document | Window, event: string, handler: string | EventHandlerFunction, delegationFunction?: EventHandlerFunction): void
7
+ off(element: Element | Document | Window, originalTypeEvent: string, handler?: string | EventHandlerFunction, delegationFunction?: EventHandlerFunction): void
8
+ trigger(element: Element | Document | Window, event: string, args?: Record<string, unknown>): (Event & Record<string, unknown>) | null
9
+ }
10
+
11
+ export default EventHandler
@@ -0,0 +1,9 @@
1
+ // Hand-written types for the vendored manipulator.js (see the provenance header there)
2
+ declare const Manipulator: {
3
+ setDataAttribute(element: Element, key: string, value: unknown): void
4
+ removeDataAttribute(element: Element, key: string): void
5
+ getDataAttributes(element: Element): Record<string, unknown>
6
+ getDataAttribute(element: Element, key: string): unknown
7
+ }
8
+
9
+ export default Manipulator
@@ -0,0 +1,32 @@
1
+ /**
2
+ * --------------------------------------------------------------------------
3
+ * CoreUI PRO data-grid engine/active-cell.ts
4
+ * License (https://coreui.io/pro/license/)
5
+ * --------------------------------------------------------------------------
6
+ */
7
+ export interface ActiveCell {
8
+ rowIndex: number;
9
+ columnId: string;
10
+ }
11
+ export interface ActiveCellContext {
12
+ columnIds: string[];
13
+ rowCount: number;
14
+ pageStep: number;
15
+ paginated: boolean;
16
+ }
17
+ export interface NavigationResult {
18
+ cell: ActiveCell;
19
+ pageDelta?: -1 | 1;
20
+ }
21
+ export declare const clampActiveCell: (cell: ActiveCell | null, context: ActiveCellContext) => ActiveCell | null;
22
+ export declare const resolveNavigation: (key: string, ctrlKey: boolean, current: ActiveCell, context: ActiveCellContext) => NavigationResult | null;
23
+ export interface ActiveCellManager {
24
+ get: () => ActiveCell | null;
25
+ set: (cell: ActiveCell, options?: {
26
+ focus?: boolean;
27
+ }) => void;
28
+ clamp: (context: ActiveCellContext) => void;
29
+ reset: () => void;
30
+ consumeFocusRequest: () => boolean;
31
+ }
32
+ export declare const createActiveCellManager: (onChange: () => void) => ActiveCellManager;