@genesislcap/grid-pro 11.3.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 (122) hide show
  1. package/README.md +5 -0
  2. package/dist/dts/cell/cell.d.ts +14 -0
  3. package/dist/dts/cell/cell.d.ts.map +1 -0
  4. package/dist/dts/cell/cell.template.d.ts +3 -0
  5. package/dist/dts/cell/cell.template.d.ts.map +1 -0
  6. package/dist/dts/cell/index.d.ts +3 -0
  7. package/dist/dts/cell/index.d.ts.map +1 -0
  8. package/dist/dts/cell-renderers/action.renderer.d.ts +33 -0
  9. package/dist/dts/cell-renderers/action.renderer.d.ts.map +1 -0
  10. package/dist/dts/cell-renderers/actions-menu.renderer.d.ts +19 -0
  11. package/dist/dts/cell-renderers/actions-menu.renderer.d.ts.map +1 -0
  12. package/dist/dts/cell-renderers/boolean.renderer.d.ts +25 -0
  13. package/dist/dts/cell-renderers/boolean.renderer.d.ts.map +1 -0
  14. package/dist/dts/cell-renderers/index.d.ts +6 -0
  15. package/dist/dts/cell-renderers/index.d.ts.map +1 -0
  16. package/dist/dts/cell-renderers/select.renderer.d.ts +34 -0
  17. package/dist/dts/cell-renderers/select.renderer.d.ts.map +1 -0
  18. package/dist/dts/cell-renderers/text.renderer.d.ts +30 -0
  19. package/dist/dts/cell-renderers/text.renderer.d.ts.map +1 -0
  20. package/dist/dts/cell-renderers/utils/accessor.d.ts +2 -0
  21. package/dist/dts/cell-renderers/utils/accessor.d.ts.map +1 -0
  22. package/dist/dts/cell-renderers/utils/index.d.ts +2 -0
  23. package/dist/dts/cell-renderers/utils/index.d.ts.map +1 -0
  24. package/dist/dts/column/column.d.ts +8 -0
  25. package/dist/dts/column/column.d.ts.map +1 -0
  26. package/dist/dts/column/column.template.d.ts +3 -0
  27. package/dist/dts/column/column.template.d.ts.map +1 -0
  28. package/dist/dts/column/index.d.ts +4 -0
  29. package/dist/dts/column/index.d.ts.map +1 -0
  30. package/dist/dts/column/utils/grid-pro-columns.d.ts +4 -0
  31. package/dist/dts/column/utils/grid-pro-columns.d.ts.map +1 -0
  32. package/dist/dts/column/utils/index.d.ts +2 -0
  33. package/dist/dts/column/utils/index.d.ts.map +1 -0
  34. package/dist/dts/external/ag-grid-css.d.ts +2 -0
  35. package/dist/dts/external/ag-grid-css.d.ts.map +1 -0
  36. package/dist/dts/external/ag-head-css.d.ts +2 -0
  37. package/dist/dts/external/ag-head-css.d.ts.map +1 -0
  38. package/dist/dts/external/ag-theme-alpine-no-font-css.d.ts +2 -0
  39. package/dist/dts/external/ag-theme-alpine-no-font-css.d.ts.map +1 -0
  40. package/dist/dts/external/ag-theme-balham-no-font-css.d.ts +2 -0
  41. package/dist/dts/external/ag-theme-balham-no-font-css.d.ts.map +1 -0
  42. package/dist/dts/external/ag-theme-material-no-font-css.d.ts +2 -0
  43. package/dist/dts/external/ag-theme-material-no-font-css.d.ts.map +1 -0
  44. package/dist/dts/external/fonts.d.ts +8 -0
  45. package/dist/dts/external/fonts.d.ts.map +1 -0
  46. package/dist/dts/external/index.d.ts +9 -0
  47. package/dist/dts/external/index.d.ts.map +1 -0
  48. package/dist/dts/grid-components.d.ts +59 -0
  49. package/dist/dts/grid-components.d.ts.map +1 -0
  50. package/dist/dts/grid-pro-genesis-datasource/grid-pro-genesis-datasource-next.d.ts +390 -0
  51. package/dist/dts/grid-pro-genesis-datasource/grid-pro-genesis-datasource-next.d.ts.map +1 -0
  52. package/dist/dts/grid-pro-genesis-datasource/grid-pro-genesis-datasource.d.ts +376 -0
  53. package/dist/dts/grid-pro-genesis-datasource/grid-pro-genesis-datasource.d.ts.map +1 -0
  54. package/dist/dts/grid-pro-genesis-datasource/index.d.ts +3 -0
  55. package/dist/dts/grid-pro-genesis-datasource/index.d.ts.map +1 -0
  56. package/dist/dts/grid-pro.d.ts +389 -0
  57. package/dist/dts/grid-pro.d.ts.map +1 -0
  58. package/dist/dts/grid-pro.definitions.d.ts +8 -0
  59. package/dist/dts/grid-pro.definitions.d.ts.map +1 -0
  60. package/dist/dts/grid-pro.styles.d.ts +3 -0
  61. package/dist/dts/grid-pro.styles.d.ts.map +1 -0
  62. package/dist/dts/grid-pro.template.d.ts +3 -0
  63. package/dist/dts/grid-pro.template.d.ts.map +1 -0
  64. package/dist/dts/grid-pro.types.d.ts +68 -0
  65. package/dist/dts/grid-pro.types.d.ts.map +1 -0
  66. package/dist/dts/index.d.ts +20 -0
  67. package/dist/dts/index.d.ts.map +1 -0
  68. package/dist/dts/index.federated.d.ts +1 -0
  69. package/dist/dts/index.federated.d.ts.map +1 -0
  70. package/dist/dts/style/colors.d.ts +4 -0
  71. package/dist/dts/style/colors.d.ts.map +1 -0
  72. package/dist/dts/style/index.d.ts +3 -0
  73. package/dist/dts/style/index.d.ts.map +1 -0
  74. package/dist/dts/style/tokens.d.ts +6 -0
  75. package/dist/dts/style/tokens.d.ts.map +1 -0
  76. package/dist/dts/utils/index.d.ts +2 -0
  77. package/dist/dts/utils/index.d.ts.map +1 -0
  78. package/dist/dts/utils/logger.d.ts +2 -0
  79. package/dist/dts/utils/logger.d.ts.map +1 -0
  80. package/dist/esm/cell/cell.js +46 -0
  81. package/dist/esm/cell/cell.template.js +6 -0
  82. package/dist/esm/cell/index.js +2 -0
  83. package/dist/esm/cell-renderers/action.renderer.js +85 -0
  84. package/dist/esm/cell-renderers/actions-menu.renderer.js +46 -0
  85. package/dist/esm/cell-renderers/boolean.renderer.js +42 -0
  86. package/dist/esm/cell-renderers/index.js +5 -0
  87. package/dist/esm/cell-renderers/select.renderer.js +69 -0
  88. package/dist/esm/cell-renderers/text.renderer.js +66 -0
  89. package/dist/esm/cell-renderers/utils/accessor.js +18 -0
  90. package/dist/esm/cell-renderers/utils/index.js +1 -0
  91. package/dist/esm/column/column.js +24 -0
  92. package/dist/esm/column/column.template.js +6 -0
  93. package/dist/esm/column/index.js +3 -0
  94. package/dist/esm/column/utils/grid-pro-columns.js +15 -0
  95. package/dist/esm/column/utils/index.js +1 -0
  96. package/dist/esm/external/ag-grid-css.js +7166 -0
  97. package/dist/esm/external/ag-head-css.js +19 -0
  98. package/dist/esm/external/ag-theme-alpine-no-font-css.js +452 -0
  99. package/dist/esm/external/ag-theme-balham-no-font-css.js +272 -0
  100. package/dist/esm/external/ag-theme-material-no-font-css.js +267 -0
  101. package/dist/esm/external/fonts.js +33 -0
  102. package/dist/esm/external/index.js +15 -0
  103. package/dist/esm/grid-components.js +21 -0
  104. package/dist/esm/grid-pro-genesis-datasource/grid-pro-genesis-datasource-next.js +328 -0
  105. package/dist/esm/grid-pro-genesis-datasource/grid-pro-genesis-datasource.js +339 -0
  106. package/dist/esm/grid-pro-genesis-datasource/index.js +2 -0
  107. package/dist/esm/grid-pro.definitions.js +43 -0
  108. package/dist/esm/grid-pro.js +297 -0
  109. package/dist/esm/grid-pro.styles.js +31 -0
  110. package/dist/esm/grid-pro.template.js +9 -0
  111. package/dist/esm/grid-pro.types.js +72 -0
  112. package/dist/esm/index.federated.js +1 -0
  113. package/dist/esm/index.js +19 -0
  114. package/dist/esm/style/colors.js +4 -0
  115. package/dist/esm/style/index.js +2 -0
  116. package/dist/esm/style/tokens.js +7 -0
  117. package/dist/esm/utils/index.js +1 -0
  118. package/dist/esm/utils/logger.js +2 -0
  119. package/externals.js +11 -0
  120. package/federation.config.json +9 -0
  121. package/license.txt +46 -0
  122. package/package.json +107 -0
@@ -0,0 +1,85 @@
1
+ import { __awaiter, __decorate } from "tslib";
2
+ import { css, html, observable } from '@microsoft/fast-element';
3
+ import { DesignToken, FoundationElement } from '@microsoft/fast-foundation';
4
+ import { logger } from '../utils';
5
+ export class ActionRenderer extends FoundationElement {
6
+ init(params) {
7
+ if (!params)
8
+ return;
9
+ this.params = params;
10
+ }
11
+ getGui() {
12
+ return this;
13
+ }
14
+ destroy() { }
15
+ refresh(params) {
16
+ this.params = params;
17
+ return true;
18
+ }
19
+ isDisabled(data) {
20
+ var _a;
21
+ if (typeof ((_a = this.params) === null || _a === void 0 ? void 0 : _a.isDisabled) === 'function') {
22
+ try {
23
+ return this.params.isDisabled(data);
24
+ }
25
+ catch (error) {
26
+ logger.error('Error executing grid action cell renderer isDisabled callback:', error);
27
+ }
28
+ }
29
+ return false;
30
+ }
31
+ clickHandler() {
32
+ return __awaiter(this, void 0, void 0, function* () {
33
+ this.pendingAction = true;
34
+ yield this.params.actionClick(this.params.data);
35
+ this.pendingAction = false;
36
+ });
37
+ }
38
+ get dataTestId() {
39
+ var _a;
40
+ if (this.params.dataTestId) {
41
+ return this.params.dataTestId + ((_a = this.params.data[this.params.uniqueFieldName]) !== null && _a !== void 0 ? _a : '');
42
+ }
43
+ return undefined;
44
+ }
45
+ }
46
+ __decorate([
47
+ observable
48
+ ], ActionRenderer.prototype, "params", void 0);
49
+ __decorate([
50
+ observable
51
+ ], ActionRenderer.prototype, "pendingAction", void 0);
52
+ const { create } = DesignToken;
53
+ export const actionHeightMultiplier = create('action-height-multiplier').withDefault('0.6px');
54
+ export const agActionRendererStyles = css `
55
+ .action-container {
56
+ align-items: center;
57
+ display: flex;
58
+ height: 100%;
59
+ justify-content: center;
60
+ }
61
+ .action-renderer {
62
+ align-self: center;
63
+ display: flex;
64
+ height: calc(
65
+ (var(--base-height-multiplier) + var(--density)) * var(--design-unit) *
66
+ var(--action-height-multiplier)
67
+ );
68
+ }
69
+ `;
70
+ export const foundationGridProActionRenderer = ActionRenderer.compose({
71
+ baseName: 'grid-pro-action-renderer',
72
+ styles: css `
73
+ ${agActionRendererStyles}
74
+ `,
75
+ template: html `
76
+ <div class="action-container" part="action-container">
77
+ <foundation-button
78
+ class="action-renderer"
79
+ part="action-renderer"
80
+ data-test-id="${(x) => x.dataTestId}"
81
+ ?disabled=${(x) => { var _a; return x.pendingAction || x.isDisabled((_a = x.params) === null || _a === void 0 ? void 0 : _a.data); }}
82
+ appearance="${(x) => x.params.appearance}"
83
+ @click=${(x) => x.clickHandler()}">${(x) => x.params.actionName}</foundation-button>
84
+ </div>`,
85
+ });
@@ -0,0 +1,46 @@
1
+ import { __decorate } from "tslib";
2
+ import { html, observable } from '@microsoft/fast-element';
3
+ import { FoundationElement } from '@microsoft/fast-foundation';
4
+ import { GridProRendererTypes } from '../grid-pro.types';
5
+ export class ActionsMenuRenderer extends FoundationElement {
6
+ init(params) {
7
+ if (!params)
8
+ return;
9
+ this.params = params;
10
+ }
11
+ getGui() {
12
+ return this;
13
+ }
14
+ destroy() { }
15
+ refresh(params) {
16
+ return false;
17
+ }
18
+ }
19
+ __decorate([
20
+ observable
21
+ ], ActionsMenuRenderer.prototype, "params", void 0);
22
+ export const foundationGridProActionsMenuRenderer = ActionsMenuRenderer.compose({
23
+ baseName: 'grid-pro-actions-menu-renderer',
24
+ template: html `
25
+ <foundation-actions-menu
26
+ name="${(x) => x.params.headerName}"
27
+ :definition=${(x) => x.params}
28
+ ></foundation-actions-menu>
29
+ `,
30
+ });
31
+ export const getActionsMenuDef = (actions, overrideDef = {}, customActionsOpenerName = '⋮', isVertical = false, buttonAppearance) => {
32
+ const actionsMenuDef = {
33
+ cellRenderer: GridProRendererTypes.actionsMenu,
34
+ cellRendererParams: {
35
+ actions,
36
+ buttonAppearance,
37
+ isVertical,
38
+ buttonText: customActionsOpenerName,
39
+ },
40
+ cellStyle: { border: 'none', overflow: 'visible' },
41
+ field: 'actions',
42
+ headerName: 'Actions',
43
+ width: 150,
44
+ };
45
+ return Object.assign(Object.assign({}, actionsMenuDef), overrideDef);
46
+ };
@@ -0,0 +1,42 @@
1
+ import { __decorate } from "tslib";
2
+ import { css, html, observable } from '@microsoft/fast-element';
3
+ import { FoundationElement } from '@microsoft/fast-foundation';
4
+ export class BooleanRenderer extends FoundationElement {
5
+ init(params) {
6
+ if (!params)
7
+ return;
8
+ this.params = params;
9
+ }
10
+ getGui() {
11
+ return this;
12
+ }
13
+ destroy() { }
14
+ refresh(params) {
15
+ return true;
16
+ }
17
+ }
18
+ __decorate([
19
+ observable
20
+ ], BooleanRenderer.prototype, "params", void 0);
21
+ export const agBooleanRendererStyles = css `
22
+ :host {
23
+ align-center: center;
24
+ display: flex;
25
+ height: 100%;
26
+ }
27
+ `;
28
+ export const getAgBooleanRendererTemplate = (designSystem = 'foundation') => {
29
+ const checkboxComponent = `${designSystem}-checkbox`;
30
+ return html `
31
+ <${checkboxComponent}
32
+ @change="${(x) => { var _a; return (_a = x.params) === null || _a === void 0 ? void 0 : _a.changeHandler(x.params); }}"
33
+ checked="${(x) => { var _a; return (_a = x.params) === null || _a === void 0 ? void 0 : _a.value; }}"
34
+ readonly="${(x) => { var _a; return (_a = x.params) === null || _a === void 0 ? void 0 : _a.readonly; }}"
35
+ ></${checkboxComponent}>
36
+ `;
37
+ };
38
+ export const foundationAgBooleanRenderer = BooleanRenderer.compose({
39
+ baseName: 'boolean-renderer',
40
+ styles: agBooleanRendererStyles,
41
+ template: getAgBooleanRendererTemplate(),
42
+ });
@@ -0,0 +1,5 @@
1
+ export * from './action.renderer';
2
+ export * from './actions-menu.renderer';
3
+ export * from './boolean.renderer';
4
+ export * from './text.renderer';
5
+ export * from './select.renderer';
@@ -0,0 +1,69 @@
1
+ import { __decorate } from "tslib";
2
+ import { css, html, observable, repeat } from '@microsoft/fast-element';
3
+ import { FoundationElement } from '@microsoft/fast-foundation';
4
+ import { setValueWithAccessor } from './utils';
5
+ export class SelectRenderer extends FoundationElement {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.selectionChanged = (e) => {
9
+ this.value = e.target.value;
10
+ this.params.onSelect(e.target.value, this.params);
11
+ };
12
+ }
13
+ init(params) {
14
+ var _a;
15
+ if (!params)
16
+ return;
17
+ this.params = params;
18
+ this.value = setValueWithAccessor((_a = params.node) === null || _a === void 0 ? void 0 : _a.data, params.accessor) || undefined;
19
+ }
20
+ getGui() {
21
+ return this;
22
+ }
23
+ destroy() { }
24
+ refresh(params) {
25
+ return true;
26
+ }
27
+ }
28
+ __decorate([
29
+ observable
30
+ ], SelectRenderer.prototype, "params", void 0);
31
+ __decorate([
32
+ observable
33
+ ], SelectRenderer.prototype, "value", void 0);
34
+ export const agSelectRendererStyles = css `
35
+ :host,
36
+ .select-renderer,
37
+ zero-option,
38
+ ::part(listbox),
39
+ ::part(control) {
40
+ max-width: var(--select-renderer-max-width);
41
+ min-width: 100%;
42
+ }
43
+ `;
44
+ export const getSelectRendererTemplate = (designSystem = 'foundation') => {
45
+ const selectComponent = `${designSystem}-select`;
46
+ const optionComponent = `${designSystem}-option`;
47
+ return html `
48
+ <${selectComponent}
49
+ class="select-renderer"
50
+ @change=${(x, c) => x.selectionChanged(c.event)}
51
+ :value=${(x) => x.value}
52
+ >
53
+ <${optionComponent}
54
+ defaultSelected
55
+ style="display: none;"
56
+ >
57
+ ${(x) => x.params.defaultValue || 'Select option'}
58
+ </${optionComponent}>
59
+ ${repeat((x) => x.params.options(x.params.node.data), html `
60
+ <${optionComponent} value=${(x) => x.name}>${(x) => x.displayName}</${optionComponent}>
61
+ `)}
62
+ </${selectComponent}>
63
+ `;
64
+ };
65
+ export const foundationAgSelectRenderer = SelectRenderer.compose({
66
+ baseName: 'select-renderer',
67
+ styles: agSelectRendererStyles,
68
+ template: getSelectRendererTemplate(),
69
+ });
@@ -0,0 +1,66 @@
1
+ import { __decorate } from "tslib";
2
+ import { sync } from '@genesislcap/foundation-utils';
3
+ import { css, html, observable, ref } from '@microsoft/fast-element';
4
+ import { FoundationElement } from '@microsoft/fast-foundation';
5
+ import { setValueWithAccessor } from './utils';
6
+ export class AgTextRenderer extends FoundationElement {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.textValue = '';
10
+ this.textChanged = (e) => {
11
+ this.textValue = e.target.value;
12
+ this.params.onChange(e.target.value, this.params);
13
+ };
14
+ }
15
+ init(params) {
16
+ var _a;
17
+ if (!params)
18
+ return;
19
+ this.params = params;
20
+ this.textValue =
21
+ this.textValue === ''
22
+ ? setValueWithAccessor((_a = params === null || params === void 0 ? void 0 : params.node) === null || _a === void 0 ? void 0 : _a.data, params.accessor)
23
+ : this.textValue;
24
+ }
25
+ getGui() {
26
+ return this;
27
+ }
28
+ destroy() { }
29
+ refresh(params) {
30
+ return true;
31
+ }
32
+ }
33
+ __decorate([
34
+ observable
35
+ ], AgTextRenderer.prototype, "textValue", void 0);
36
+ __decorate([
37
+ observable
38
+ ], AgTextRenderer.prototype, "params", void 0);
39
+ export const textRendererStyles = css `
40
+ :host {
41
+ display: flex;
42
+ width: 100%;
43
+ height: 100%;
44
+ align-center: center;
45
+ }
46
+ .text-renderer {
47
+ width: 100%;
48
+ }
49
+ `;
50
+ export const getTextRendererTemplate = (designSystem = 'foundation') => {
51
+ const textComponent = `${designSystem}-text-field`;
52
+ return html `
53
+ <${textComponent}
54
+ ${ref('textField')}
55
+ type="text"
56
+ class="text-renderer"
57
+ :value="${sync((x) => x.textValue)}"
58
+ @change="${(x, c) => x.textChanged(c.event)}"
59
+ ></${textComponent}>
60
+ `;
61
+ };
62
+ export const foundationAgTextRenderer = AgTextRenderer.compose({
63
+ baseName: 'grid-text-renderer',
64
+ styles: textRendererStyles,
65
+ template: getTextRendererTemplate(),
66
+ });
@@ -0,0 +1,18 @@
1
+ export const setValueWithAccessor = (data, accessor) => {
2
+ if (accessor.indexOf('.') < 0) {
3
+ return data[accessor];
4
+ }
5
+ else {
6
+ const accessorPieces = accessor.split('.');
7
+ let currentObject = data;
8
+ while (accessorPieces.length > 0 && currentObject) {
9
+ const fieldPiece = accessorPieces.shift();
10
+ if (accessorPieces.length === 0) {
11
+ return currentObject[fieldPiece];
12
+ }
13
+ else {
14
+ currentObject = currentObject[fieldPiece];
15
+ }
16
+ }
17
+ }
18
+ };
@@ -0,0 +1 @@
1
+ export * from './accessor';
@@ -0,0 +1,24 @@
1
+ import { __decorate } from "tslib";
2
+ import { customElement, observable } from '@microsoft/fast-element';
3
+ import { FoundationElement } from '@microsoft/fast-foundation';
4
+ import { ColumnTemplate as template } from './column.template';
5
+ let GridColumn = class GridColumn extends FoundationElement {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.definition = {};
9
+ }
10
+ slottedAgCellChanged() { }
11
+ };
12
+ __decorate([
13
+ observable
14
+ ], GridColumn.prototype, "slottedAgCell", void 0);
15
+ __decorate([
16
+ observable
17
+ ], GridColumn.prototype, "definition", void 0);
18
+ GridColumn = __decorate([
19
+ customElement({
20
+ name: 'grid-pro-column',
21
+ template,
22
+ })
23
+ ], GridColumn);
24
+ export { GridColumn };
@@ -0,0 +1,6 @@
1
+ import { html, slotted } from '@microsoft/fast-element';
2
+ export const ColumnTemplate = html `
3
+ <template>
4
+ <slot ${slotted('slottedAgCell')} @slotchange="${(x) => x.slottedAgCellChanged()}"></slot>
5
+ </template>
6
+ `;
@@ -0,0 +1,3 @@
1
+ export * from './column.template';
2
+ export * from './column';
3
+ export * from './utils';
@@ -0,0 +1,15 @@
1
+ import { html, repeat, when } from '@microsoft/fast-element';
2
+ export function gridProColumns(itemsBinding, includeRenderers = true) {
3
+ return html `
4
+ ${repeat(typeof itemsBinding === 'function' ? itemsBinding : () => itemsBinding, html `
5
+ <grid-pro-column :definition=${(x) => x}>
6
+ ${when((x) => includeRenderers && x.cellRenderer, html `
7
+ <grid-pro-cell
8
+ :renderer="${(x) => x.cellRenderer}"
9
+ :rendererParams="${(x) => x.cellRendererParams}"
10
+ ></grid-pro-cell>
11
+ `)}
12
+ </grid-pro-column>
13
+ `)}
14
+ `;
15
+ }
@@ -0,0 +1 @@
1
+ export * from './grid-pro-columns';