@omegagrid/grid-core 0.9.26 → 0.9.28
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/dist/constants.js
CHANGED
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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","sourcesContent":["import { constants as coreConstants } from '@omegagrid/core';\nimport { Options, FilterOptions, TreeOptions } from './model';\nimport { SparklineOptions } from './sparklines';\n\nconst DEFAULT_SPARKLINE_OPTIONS = {\n\tminValue: 'auto',\n\tmaxValue: 'auto',\n\ttype: 'line',\n\tstyle: {\n\t\tcolor: '0094FF',\n\t\tweight: 1\n\t},\n\tmarker: {\n\t\tcolor: 'ff0000'\n\t}\n} as SparklineOptions;\n\nexport const DEFAULT_FILTER_OPTIONS = {\n\tenabled: false,\n\tincludeChildren: true,\n\tincludeParents: true\n} as FilterOptions;\n\nexport const DEFAULT_TREE_OPTIONS = {\n\tenabled: true,\n\treversed: false,\n} as TreeOptions;\n\nconst ROW_HEIGHT = 22;\n\nconst DEFAULT_OPTIONS: Options = {\n\trows: 100,\n\tcolumns: 20,\n\treadOnly: false,\n\trowNumbers: true,\n\trowPriority: 2,\n\trowTree: {enabled: true},\n\tcolumnTree: {enabled: true},\n\tcolLetters: true,\n\temptyPlaceholder: true,\n\tfreezeTop: 0,\n\tfontSize: 12,\n\trowHeight: ROW_HEIGHT,\n\trowResize: true,\n\tcolumnWidth: 100,\n\tcolumnResize: true,\n\tcolumnPriority: 1,\n\tfreezeLeft: 0,\n\tfreezeRight: 0,\n\tfreezeBottom: 0,\n\tmaxSortingColumns: 3,\n\tnumberFormat: null,\n\tlevelIndentFactor: 2,\n\tcellIndentFactor: 10,\n\temptyClickable: false,\n\tgrid: true,\n\tautofill: true,\n\tundoRedo: true,\n\tcommandWindow: true,\n\tcellCache: true,\n\tsingleCellModel: false,\n\tzoom: 1,\n\tediting: {\n\t\trowInsertion: true,\n\t\trowDeletion: true,\n\t\tcolInsertion: true,\n\t\tcolDeletion: true,\n\t\trowOutline: true,\n\t\tcolOutline: true,\n\t\tdateCalendarEditor: false\n\t},\n\tcomments: {\n\t\thideTimeout: 1000,\n\t\toffsetX: 30,\n\t\toffsetY: -30,\n\t\tzIndex: 500,\n\t\theaderPosition: 'top'\n\t},\n\tscrolling: {\n\t\tverticalOverscroll: true,\n\t\thorizontalOverscroll: true,\n\t\tscrollbarVisibilityTreshold: 100\n\t},\n\tselecting: {\n\t\tenabled: true,\n\t\tmultiSelect: true,\n\t},\n\tevents: {\n\t\tclick: {\n\t\t\tmouseMoveTreshold: 10\n\t\t}\n\t},\n\tclipboard: {\n\t\tpasteProps: ['v', 'dv'],\n\t\trowPasteMode: 'rewrite_append',\n\t\tcolumnPasteMode: 'rewrite'\n\t},\n\tprint: {\n\t\tdpi: 600,\n\t\tmargins: {\n\t\t\tleft: 6.35,\n\t\t\tright: 6.35,\n\t\t\ttop: 19.05,\n\t\t\tbottom: 19.05,\n\t\t\theader: 7.62,\n\t\t\tfooter: 7.62\n\t\t},\n\t\torientation: 'portrait',\n\t\tpaper: 'A4'\n\t}\n};\n\nexport default {\n\tROW_HEIGHT: ROW_HEIGHT,\n\tRESIZE_TRESHOLD: 10,\n\tROW_HEADER_WIDTH: 60,\n\tSLIDER_SIZE: 12,\n\tEXPANDER_SIZE: 13,\n\tMAX_CACHE_ITEMS: 5000, //50000,\n\tCACHE_CLEAN_INTERVAL: 30,\n\tCOMMENT_HIDE_TIMEOUT: 1000,\n\tSELECTOR_BORDER_WIDTH:
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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","sourcesContent":["import { constants as coreConstants } from '@omegagrid/core';\nimport { Options, FilterOptions, TreeOptions } from './model';\nimport { SparklineOptions } from './sparklines';\n\nconst DEFAULT_SPARKLINE_OPTIONS = {\n\tminValue: 'auto',\n\tmaxValue: 'auto',\n\ttype: 'line',\n\tstyle: {\n\t\tcolor: '0094FF',\n\t\tweight: 1\n\t},\n\tmarker: {\n\t\tcolor: 'ff0000'\n\t}\n} as SparklineOptions;\n\nexport const DEFAULT_FILTER_OPTIONS = {\n\tenabled: false,\n\tincludeChildren: true,\n\tincludeParents: true\n} as FilterOptions;\n\nexport const DEFAULT_TREE_OPTIONS = {\n\tenabled: true,\n\treversed: false,\n} as TreeOptions;\n\nconst ROW_HEIGHT = 22;\n\nconst DEFAULT_OPTIONS: Options = {\n\trows: 100,\n\tcolumns: 20,\n\treadOnly: false,\n\trowNumbers: true,\n\trowPriority: 2,\n\trowTree: {enabled: true},\n\tcolumnTree: {enabled: true},\n\tcolLetters: true,\n\temptyPlaceholder: true,\n\tfreezeTop: 0,\n\tfontSize: 12,\n\trowHeight: ROW_HEIGHT,\n\trowResize: true,\n\tcolumnWidth: 100,\n\tcolumnResize: true,\n\tcolumnPriority: 1,\n\tfreezeLeft: 0,\n\tfreezeRight: 0,\n\tfreezeBottom: 0,\n\tmaxSortingColumns: 3,\n\tnumberFormat: null,\n\tlevelIndentFactor: 2,\n\tcellIndentFactor: 10,\n\temptyClickable: false,\n\tgrid: true,\n\tautofill: true,\n\tundoRedo: true,\n\tcommandWindow: true,\n\tcellCache: true,\n\tsingleCellModel: false,\n\tzoom: 1,\n\tediting: {\n\t\trowInsertion: true,\n\t\trowDeletion: true,\n\t\tcolInsertion: true,\n\t\tcolDeletion: true,\n\t\trowOutline: true,\n\t\tcolOutline: true,\n\t\tdateCalendarEditor: false\n\t},\n\tcomments: {\n\t\thideTimeout: 1000,\n\t\toffsetX: 30,\n\t\toffsetY: -30,\n\t\tzIndex: 500,\n\t\theaderPosition: 'top'\n\t},\n\tscrolling: {\n\t\tverticalOverscroll: true,\n\t\thorizontalOverscroll: true,\n\t\tscrollbarVisibilityTreshold: 100\n\t},\n\tselecting: {\n\t\tenabled: true,\n\t\tmultiSelect: true,\n\t},\n\tevents: {\n\t\tclick: {\n\t\t\tmouseMoveTreshold: 10\n\t\t}\n\t},\n\tclipboard: {\n\t\tpasteProps: ['v', 'dv'],\n\t\trowPasteMode: 'rewrite_append',\n\t\tcolumnPasteMode: 'rewrite'\n\t},\n\tprint: {\n\t\tdpi: 600,\n\t\tmargins: {\n\t\t\tleft: 6.35,\n\t\t\tright: 6.35,\n\t\t\ttop: 19.05,\n\t\t\tbottom: 19.05,\n\t\t\theader: 7.62,\n\t\t\tfooter: 7.62\n\t\t},\n\t\torientation: 'portrait',\n\t\tpaper: 'A4'\n\t}\n};\n\nexport default {\n\tROW_HEIGHT: ROW_HEIGHT,\n\tRESIZE_TRESHOLD: 10,\n\tROW_HEADER_WIDTH: 60,\n\tSLIDER_SIZE: 12,\n\tEXPANDER_SIZE: 13,\n\tMAX_CACHE_ITEMS: 5000, //50000,\n\tCACHE_CLEAN_INTERVAL: 30,\n\tCOMMENT_HIDE_TIMEOUT: 1000,\n\tSELECTOR_BORDER_WIDTH: 1,\n\tMIN_ROW_HEIGHT: 5,\n\tMIN_COL_WIDTH: 5,\n\tSPARKLINE_GAP: 4,\n\tAUTOSCROLL_TRESHOLD: 100,\n\tAUTOSCROLL_RATIO: 1.1,\n\tAUTOSCROLL_INTERVAL: 100,\n\tDEFAULT_SPARKLINE_OPTIONS: DEFAULT_SPARKLINE_OPTIONS,\n\tDEFAULT_OPTIONS: DEFAULT_OPTIONS,\n\tMAX_COMMENT_AUTOHEIGHT: 300,\n\tMIN_COMMENT_AUTOHEIGHT: 25,\n\t...coreConstants\n}\n\n"]}
|
|
@@ -28,6 +28,8 @@ export type ColumnHeaderModel = {
|
|
|
28
28
|
style?: StyleSource;
|
|
29
29
|
/** style index */
|
|
30
30
|
_style?: number;
|
|
31
|
+
/** header cell tooltip content */
|
|
32
|
+
tooltip?: string | unknown;
|
|
31
33
|
};
|
|
32
34
|
export type FilterColumnOptions = {
|
|
33
35
|
/** property by which to filter */
|
|
@@ -140,6 +142,7 @@ export declare class ColumnModel extends ColumnModel_base {
|
|
|
140
142
|
updateMergedHeaders(): void;
|
|
141
143
|
set header(header: ColumnHeaderModel[]);
|
|
142
144
|
get header(): ColumnHeaderModel[];
|
|
145
|
+
hasHeaderTooltip(index: number): boolean;
|
|
143
146
|
convertSourceHeader(header: string | ColumnHeaderModel[]): ColumnHeaderModel[];
|
|
144
147
|
populate(source: ColumnSource): void;
|
|
145
148
|
getSourceData(): ColumnSource;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnModel.d.ts","sourceRoot":"","sources":["../../src/model/columnModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAS,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAgB,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,gDAAgD;AAChD,MAAM,MAAM,iBAAiB,GAAG;IAC/B,2BAA2B;IAC3B,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kBAAkB;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,eAAe;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oBAAoB;IACpB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,wBAAwB;IACxB,CAAC,CAAC,EAAE,WAAW,CAAC;IAChB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"columnModel.d.ts","sourceRoot":"","sources":["../../src/model/columnModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,6 +54,10 @@ export class ColumnModel extends tree.TreeNodeMixin(ElementModel) {
|
|
|
54
54
|
}
|
|
55
55
|
return this._header;
|
|
56
56
|
}
|
|
57
|
+
hasHeaderTooltip(index) {
|
|
58
|
+
const header = this.header?.[index];
|
|
59
|
+
return header && header.tooltip != null;
|
|
60
|
+
}
|
|
57
61
|
convertSourceHeader(header) {
|
|
58
62
|
if (Array.isArray(header)) {
|
|
59
63
|
return header.map((h, r) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"columnModel.js","sourceRoot":"","sources":["../../src/model/columnModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AAuC7D,MAAM,6BAA6B,GAAwB;IAC1D,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,IAAI;CACb,CAAC;AAwBF,MAAM,OAAO,WAAY,SAAQ,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;IAKhE,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,CAAA,CAAC,CAAC;IACxC,IAAI,QAAQ,CAAC,CAAW,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA,CAAC,CAAC;IAGhD,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,OAAO,IAAI,CACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAyB,EAAE,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CACzG,CAAA;IACF,CAAC;IACD,IAAI,MAAM,CAAC,CAAsB,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA,CAAC,CAAC;IACvD,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAA,CAAC,CAAC;IAG9C,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAA,CAAC,CAAC;IAC1E,IAAI,OAAO,CAAC,CAAU,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA,CAAC,CAAC;IAG7C,IAAI,KAAK,KAAK,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAA,CAAC,CAAC;IACpE,IAAI,KAAK,CAAC,KAAa,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA,CAAC,CAAC;IAGhD,IAAI,WAAW,KAAK,OAAO,IAAI,CAAC,YAAY,CAAA,CAAC,CAAC;IAC9C,IAAI,WAAW,CAAC,KAAc,IAAI,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA,CAAC,CAAC;IAG7D,IAAI,YAAY,KAAK,OAAO,IAAI,CAAC,aAAa,CAAA,CAAC,CAAC;IAChD,IAAI,YAAY,CAAC,KAAc,IAAI,IAAI,CAAC,aAAa,GAAG,KAAK,CAAA,CAAC,CAAC;IAG/D,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,SAAS,CAAA,CAAC,CAAC;IACxC,IAAI,QAAQ,CAAC,KAAa,IAAI,IAAI,CAAC,SAAS,GAAG,KAAK,CAAA,CAAC,CAAC;IAEtD,IAAI,OAAO,KAAK,OAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC;IACjD,IAAI,KAAK,KAAK,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA,CAAC,CAAC;IAExE,IAAI,UAAU,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAA,CAAC,CAAC;IAC3C,IAAI,OAAO,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAA,CAAC,CAAC;IACtC,IAAI,OAAO,CAAC,CAAS;QACpB,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;QAClB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,YAAY,KAAgB,EAAE,MAAqB;QAClD,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrB,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YAAE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;IAC3E,CAAC;IAID,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/G,CAAC;IACD,mBAAmB,KAAK,IAAI,CAAC,cAAc,GAAG,IAAI,CAAA,CAAC,CAAC;IAEpD,IAAI,MAAM,CAAC,MAA2B;QACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACvB,CAAC;IACD,IAAI,MAAM;QACT,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACnE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;YAClC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,mBAAmB,CAAC,MAAkC;QACrD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC1B,CAAC,GAAG,CAAC,IAAI,EAAC,CAAC,EAAE,CAAC,EAAC,CAAC;gBAChB,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI;oBAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACR,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI;oBAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBACnC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACtE,OAAO,CAAC,CAAC;YACV,CAAC,CAAC,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,EAAC,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC,CAAA;QAC/B,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,QAAQ,CAAC,MAAoB;QAC5B,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,EAAE,MAAM,CAAC,MAAM,CAAwB;YACtE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAClD,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,IAAI,CACjD,CAAC,CAAC;QACJ,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI;YAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC/D,CAAC;IAED,aAAa;QACZ,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,EAAkB,CAAC;QACnD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI;YAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9C,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACpE,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACvE,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QACrD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;QACxD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QACrD,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7C,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,CAAC,MAAgB;QACtB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;IAClC,CAAC;IAED,QAAQ;QACP,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA,CAAC,CAAC;IACxD,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA,CAAC,CAAC;IAExD,IAAI,WAAW;QACd,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,WAAW;QACd,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrD,IAAI,EAAE,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,oBAAoB,CAAC,OAAe;QACnC,IAAI,EAAE,GAAG,CAAC,CAAC;QACX,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5B,OAAO,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,OAAO,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC;YAClE,EAAE,EAAE,CAAC;YACL,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QACzB,CAAC;QACD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,CAAC,CAAS;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAED,qBAAqB;QACpB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YAC7B,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,IAAI;gBAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACJ,CAAC;CAED","sourcesContent":["import { tree, utils } from \"@omegagrid/core\";\nimport { CellRange, encodeColumn } from \"../common/range\";\nimport { ElementModel, ElementSource } from \"./elementModel\";\nimport { GridModel } from \"./gridModel\";\nimport { Comparer, StyleSource } from \"../types\";\nimport { CellModel } from \"./cellModel\";\nimport { FilterOptions } from \"./options\";\n\n/** Source object type for column header item */\nexport type ColumnHeaderModel = {\n\t/** row index (readonly) */\n\tr?: number;\n\t/** header label */\n\tlabel?: string;\n\t/** enable html in header label */\n\thtml?: boolean;\n\t/** column span */\n\tcs?: number;\n\t/** row span */\n\trs?: number;\n\t/** header height */\n\th?: number;\n\t/** header height alias */\n\theight?: number;\n\t/** visibility (readonly) */\n\thidden?: boolean\n\t/** header cell style */\n\ts?: StyleSource,\n\t/** header cell style alias */\n\tstyle?: StyleSource,\n\t/** style index */\n\t_style?: number\n};\n\nexport type FilterColumnOptions = {\n\t/** property by which to filter */\n\tproperty?: keyof CellModel;\n\t/** enable filter */\n\tenabled: boolean;\n};\n\nconst DEFAULT_FILTER_COLUMN_OPTIONS: FilterColumnOptions = {\n\tproperty: 'value',\n\tenabled: true\n};\n\n/** Source object type for grid column */\nexport type ColumnSource = {\n\t/** column width */\n\tw?: number|'auto',\n\t/** name of data property/index in row.data */\n\tdata?: number|string,\n\t/** column header array */\n\theader?: string|ColumnHeaderModel[],\n\t/** enable column sorting */\n\tsorting?: boolean,\n\t/** enable column filtering */\n\tfilter?: boolean|FilterColumnOptions,\n\t/** indent cell content by row level */\n\tlevelIndent?: boolean,\n\t/** show expand buttons inside cell */\n\tlevelButtons?: boolean,\n\t/** custom camparison function for column sorting */\n\tcomparer?: Comparer,\n\t/** if column priority is higher then row priority, column properties has precedence over row properties */\n\tpriority?: number,\n} & tree.TreeNodeSource & ElementSource;\n \nexport class ColumnModel extends tree.TreeNodeMixin(ElementModel) {\n\n\tpublic data?: number|string;\n\n\tprivate _comparer?: Comparer;\n\tget comparer() { return this._comparer }\n\tset comparer(v: Comparer) { this._comparer = v }\n\t\n\tprivate _filter: FilterColumnOptions;\n\tget filter() {\n\t\treturn this._filter ?? (\n\t\t\t(this.model.options.filters as FilterOptions)?.enabled ? DEFAULT_FILTER_COLUMN_OPTIONS : {enabled: false}\n\t\t)\n\t}\n\tset filter(v: FilterColumnOptions) { this._filter = v }\n\tget hasFilter() { return this.filter.enabled }\n\n\tprivate _sorting: boolean;\n\tget sorting() { return this._sorting ?? this.model.options.columnSorting }\n\tset sorting(v: boolean) { this._sorting = v }\n\t\n\tprivate _width: number;\n\tget width() { return this._width ?? this.model.options.columnWidth }\n\tset width(value: number) { this._width = value }\n\t\n\tprivate _levelIndent: boolean;\n\tget levelIndent() { return this._levelIndent }\n\tset levelIndent(value: boolean) { this._levelIndent = value }\n\t\n\tprivate _levelButtons: boolean;\n\tget levelButtons() { return this._levelButtons }\n\tset levelButtons(value: boolean) { this._levelButtons = value }\n\n\tprivate _priority: number;\n\tget priority() { return this._priority }\n\tset priority(value: number) { this._priority = value }\n\n\tget address() { return encodeColumn(this.index) }\n\tget range() { return new CellRange(this.index, null, this.index, null) }\n\n\tget hasFormula() { return !!this._formula }\n\tget formula() { return this._formula }\n\tset formula(v: string) {\n\t\tsuper.formula = v;\n\t\tconst c = this.index;\n\t\tthis.model.rows.forEach(row => row.cells[c]?.refreshFormula());\n\t}\n\n\tconstructor(model: GridModel, source?: ColumnSource) {\n\t\tsuper(model, source);\n\t\tif (this._priority == null) this._priority = model.options.columnPriority;\n\t}\n\n\tpublic _header?: ColumnHeaderModel[];\n\tprivate _mergedHeaders: ColumnHeaderModel[];\n\tget mergedHeaders() {\n\t\treturn this._mergedHeaders ?? (this._mergedHeaders = (this._header?.filter(h => h.cs > 1 || h.rs > 1) ?? []));\n\t}\n\tupdateMergedHeaders() { this._mergedHeaders = null }\n\n\tset header(header: ColumnHeaderModel[]) {\n\t\tthis._mergedHeaders = null;\n\t\tthis._header = header;\n\t}\n\tget header() {\n\t\tif (!this._header || this._header.length < this.model.headerCount) {\n\t\t\tthis._header = this._header ?? [];\n\t\t\tfor (let r = this._header.length; r < this.model.headerCount; r++) {\n\t\t\t\tthis._header.push({r: r});\n\t\t\t}\n\t\t}\n\t\treturn this._header;\n\t}\n\n\tconvertSourceHeader(header: string|ColumnHeaderModel[]): ColumnHeaderModel[] {\n\t\tif (Array.isArray(header)) {\n\t\t\treturn header.map((h, r) => {\n\t\t\t\th = h ?? {r: r};\n\t\t\t\tif (h.height == null) h.height = h.h;\n\t\t\t\th.r = r;\n\t\t\t\tif (h.style == null) h.style = h.s;\n\t\t\t\th._style = h.style == null ? null : this.model.styles.add(h.style).id;\n\t\t\t\treturn h;\n\t\t\t});\n\t\t} else if (utils.isString(header)) {\n\t\t\treturn [{label: header, r: 0}]\n\t\t}\n\t\treturn null;\n\t}\n\n\tpopulate(source: ColumnSource) {\n\t\tsuper.populate(source);\n\t\tthis._width = source.w == null || source.w == 'auto' ? null : source.w;\n\t\tthis._levelIndent = source.levelIndent;\n\t\tthis._levelButtons = source.levelButtons;\n\t\tthis._header = this.convertSourceHeader(source.header);\n\t\tthis._sorting = source.sorting;\n\t\tthis._filter = utils.isObject(source.filter) \n\t\t\t? Object.assign({enabled: true}, source.filter) as FilterColumnOptions \n\t\t\t: (source.filter ? DEFAULT_FILTER_COLUMN_OPTIONS : (\n\t\t\t\tsource.filter === false ? {enabled: false} : null\n\t\t\t));\n\t\tthis._comparer = source.comparer;\n\t\tthis.data = source.data;\n\t\tthis._mergedHeaders = null;\n\t\tif (source.priority != null) this._priority = source.priority;\n\t}\n\n\tgetSourceData() {\n\t\tconst data = super.getSourceData() as ColumnSource;\n\t\tif (this._width != null) data.w = this._width;\n\t\tif (this._levelIndent != null) data.levelIndent = this._levelIndent;\n\t\tif (this._levelButtons != null) data.levelButtons = this._levelButtons;\n\t\tif (this._header != null) data.header = this._header;\n\t\tif (this._sorting != null) data.sorting = this._sorting;\n\t\tif (this._filter != null) data.filter = this._filter;\n\t\tif (this.data != null) data.data = this.data;\n\t\treturn data;\n\t}\n\n\texpand(unhide?: boolean) {\n\t\tsuper.expand(unhide);\n\t\tthis.model.indexVisibleColumns();\n\t}\n\n\tcollapse() {\n\t\tsuper.collapse();\n\t\tthis.model.indexVisibleColumns();\n\t}\n\n\tget prev() { return this.model.columns[this.index - 1] }\n\tget next() { return this.model.columns[this.index + 1] }\n\n\tget prevVisible() : ColumnModel {\n\t\tconst vi = this.model.visibleColumnIndex[this.index];\n\t\tif (vi == null || vi === 0) return null;\n\t\treturn this.model.visibleColumns[vi - 1];\n\t}\n\n\tget nextVisible() : ColumnModel {\n\t\tconst vi = this.model.visibleColumnIndex[this.index];\n\t\tif (vi == null) return null;\n\t\treturn this.model.visibleColumns[vi + 1];\n\t}\n\n\tcalculateRealColspan(colspan: number) {\n\t\tlet sc = 1;\n\t\tlet next = this.nextVisible;\n\t\twhile (next && next.index - this.index < colspan && sc < colspan) {\n\t\t\t++sc;\n\t\t\tnext = next.nextVisible;\n\t\t}\n\t\treturn sc;\n\t}\n\n\tcell(r: number) {\n\t\treturn this.model.rows[r].cell(this.index);\n\t}\n\n\tclearCalculatedValues() {\n\t\tthis.model.rows.forEach(row => {\n\t\t\tconst cell = row.cells[this.index];\n\t\t\tif (cell) this.model.calculations.refreshFormula(cell);\n\t\t});\n\t}\n\n}"]}
|
|
1
|
+
{"version":3,"file":"columnModel.js","sourceRoot":"","sources":["../../src/model/columnModel.ts"],"names":[],"mappings":"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","sourcesContent":["import { tree, utils } from \"@omegagrid/core\";\nimport { CellRange, encodeColumn } from \"../common/range\";\nimport { ElementModel, ElementSource } from \"./elementModel\";\nimport { GridModel } from \"./gridModel\";\nimport { Comparer, StyleSource } from \"../types\";\nimport { CellModel } from \"./cellModel\";\nimport { FilterOptions } from \"./options\";\n\n/** Source object type for column header item */\nexport type ColumnHeaderModel = {\n\t/** row index (readonly) */\n\tr?: number;\n\t/** header label */\n\tlabel?: string;\n\t/** enable html in header label */\n\thtml?: boolean;\n\t/** column span */\n\tcs?: number;\n\t/** row span */\n\trs?: number;\n\t/** header height */\n\th?: number;\n\t/** header height alias */\n\theight?: number;\n\t/** visibility (readonly) */\n\thidden?: boolean\n\t/** header cell style */\n\ts?: StyleSource,\n\t/** header cell style alias */\n\tstyle?: StyleSource,\n\t/** style index */\n\t_style?: number,\n\t/** header cell tooltip content */\n\ttooltip?: string|unknown\n};\n\nexport type FilterColumnOptions = {\n\t/** property by which to filter */\n\tproperty?: keyof CellModel;\n\t/** enable filter */\n\tenabled: boolean;\n};\n\nconst DEFAULT_FILTER_COLUMN_OPTIONS: FilterColumnOptions = {\n\tproperty: 'value',\n\tenabled: true\n};\n\n/** Source object type for grid column */\nexport type ColumnSource = {\n\t/** column width */\n\tw?: number|'auto',\n\t/** name of data property/index in row.data */\n\tdata?: number|string,\n\t/** column header array */\n\theader?: string|ColumnHeaderModel[],\n\t/** enable column sorting */\n\tsorting?: boolean,\n\t/** enable column filtering */\n\tfilter?: boolean|FilterColumnOptions,\n\t/** indent cell content by row level */\n\tlevelIndent?: boolean,\n\t/** show expand buttons inside cell */\n\tlevelButtons?: boolean,\n\t/** custom camparison function for column sorting */\n\tcomparer?: Comparer,\n\t/** if column priority is higher then row priority, column properties has precedence over row properties */\n\tpriority?: number,\n} & tree.TreeNodeSource & ElementSource;\n \nexport class ColumnModel extends tree.TreeNodeMixin(ElementModel) {\n\n\tpublic data?: number|string;\n\n\tprivate _comparer?: Comparer;\n\tget comparer() { return this._comparer }\n\tset comparer(v: Comparer) { this._comparer = v }\n\t\n\tprivate _filter: FilterColumnOptions;\n\tget filter() {\n\t\treturn this._filter ?? (\n\t\t\t(this.model.options.filters as FilterOptions)?.enabled ? DEFAULT_FILTER_COLUMN_OPTIONS : {enabled: false}\n\t\t)\n\t}\n\tset filter(v: FilterColumnOptions) { this._filter = v }\n\tget hasFilter() { return this.filter.enabled }\n\n\tprivate _sorting: boolean;\n\tget sorting() { return this._sorting ?? this.model.options.columnSorting }\n\tset sorting(v: boolean) { this._sorting = v }\n\t\n\tprivate _width: number;\n\tget width() { return this._width ?? this.model.options.columnWidth }\n\tset width(value: number) { this._width = value }\n\t\n\tprivate _levelIndent: boolean;\n\tget levelIndent() { return this._levelIndent }\n\tset levelIndent(value: boolean) { this._levelIndent = value }\n\t\n\tprivate _levelButtons: boolean;\n\tget levelButtons() { return this._levelButtons }\n\tset levelButtons(value: boolean) { this._levelButtons = value }\n\n\tprivate _priority: number;\n\tget priority() { return this._priority }\n\tset priority(value: number) { this._priority = value }\n\n\tget address() { return encodeColumn(this.index) }\n\tget range() { return new CellRange(this.index, null, this.index, null) }\n\n\tget hasFormula() { return !!this._formula }\n\tget formula() { return this._formula }\n\tset formula(v: string) {\n\t\tsuper.formula = v;\n\t\tconst c = this.index;\n\t\tthis.model.rows.forEach(row => row.cells[c]?.refreshFormula());\n\t}\n\n\tconstructor(model: GridModel, source?: ColumnSource) {\n\t\tsuper(model, source);\n\t\tif (this._priority == null) this._priority = model.options.columnPriority;\n\t}\n\n\tpublic _header?: ColumnHeaderModel[];\n\tprivate _mergedHeaders: ColumnHeaderModel[];\n\tget mergedHeaders() {\n\t\treturn this._mergedHeaders ?? (this._mergedHeaders = (this._header?.filter(h => h.cs > 1 || h.rs > 1) ?? []));\n\t}\n\tupdateMergedHeaders() { this._mergedHeaders = null }\n\n\tset header(header: ColumnHeaderModel[]) {\n\t\tthis._mergedHeaders = null;\n\t\tthis._header = header;\n\t}\n\tget header() {\n\t\tif (!this._header || this._header.length < this.model.headerCount) {\n\t\t\tthis._header = this._header ?? [];\n\t\t\tfor (let r = this._header.length; r < this.model.headerCount; r++) {\n\t\t\t\tthis._header.push({r: r});\n\t\t\t}\n\t\t}\n\t\treturn this._header;\n\t}\n\n\thasHeaderTooltip(index: number) {\n\t\tconst header = this.header?.[index];\n\t\treturn header && header.tooltip != null;\n\t}\n\n\tconvertSourceHeader(header: string|ColumnHeaderModel[]): ColumnHeaderModel[] {\n\t\tif (Array.isArray(header)) {\n\t\t\treturn header.map((h, r) => {\n\t\t\t\th = h ?? {r: r};\n\t\t\t\tif (h.height == null) h.height = h.h;\n\t\t\t\th.r = r;\n\t\t\t\tif (h.style == null) h.style = h.s;\n\t\t\t\th._style = h.style == null ? null : this.model.styles.add(h.style).id;\n\t\t\t\treturn h;\n\t\t\t});\n\t\t} else if (utils.isString(header)) {\n\t\t\treturn [{label: header, r: 0}]\n\t\t}\n\t\treturn null;\n\t}\n\n\tpopulate(source: ColumnSource) {\n\t\tsuper.populate(source);\n\t\tthis._width = source.w == null || source.w == 'auto' ? null : source.w;\n\t\tthis._levelIndent = source.levelIndent;\n\t\tthis._levelButtons = source.levelButtons;\n\t\tthis._header = this.convertSourceHeader(source.header);\n\t\tthis._sorting = source.sorting;\n\t\tthis._filter = utils.isObject(source.filter) \n\t\t\t? Object.assign({enabled: true}, source.filter) as FilterColumnOptions \n\t\t\t: (source.filter ? DEFAULT_FILTER_COLUMN_OPTIONS : (\n\t\t\t\tsource.filter === false ? {enabled: false} : null\n\t\t\t));\n\t\tthis._comparer = source.comparer;\n\t\tthis.data = source.data;\n\t\tthis._mergedHeaders = null;\n\t\tif (source.priority != null) this._priority = source.priority;\n\t}\n\n\tgetSourceData() {\n\t\tconst data = super.getSourceData() as ColumnSource;\n\t\tif (this._width != null) data.w = this._width;\n\t\tif (this._levelIndent != null) data.levelIndent = this._levelIndent;\n\t\tif (this._levelButtons != null) data.levelButtons = this._levelButtons;\n\t\tif (this._header != null) data.header = this._header;\n\t\tif (this._sorting != null) data.sorting = this._sorting;\n\t\tif (this._filter != null) data.filter = this._filter;\n\t\tif (this.data != null) data.data = this.data;\n\t\treturn data;\n\t}\n\n\texpand(unhide?: boolean) {\n\t\tsuper.expand(unhide);\n\t\tthis.model.indexVisibleColumns();\n\t}\n\n\tcollapse() {\n\t\tsuper.collapse();\n\t\tthis.model.indexVisibleColumns();\n\t}\n\n\tget prev() { return this.model.columns[this.index - 1] }\n\tget next() { return this.model.columns[this.index + 1] }\n\n\tget prevVisible() : ColumnModel {\n\t\tconst vi = this.model.visibleColumnIndex[this.index];\n\t\tif (vi == null || vi === 0) return null;\n\t\treturn this.model.visibleColumns[vi - 1];\n\t}\n\n\tget nextVisible() : ColumnModel {\n\t\tconst vi = this.model.visibleColumnIndex[this.index];\n\t\tif (vi == null) return null;\n\t\treturn this.model.visibleColumns[vi + 1];\n\t}\n\n\tcalculateRealColspan(colspan: number) {\n\t\tlet sc = 1;\n\t\tlet next = this.nextVisible;\n\t\twhile (next && next.index - this.index < colspan && sc < colspan) {\n\t\t\t++sc;\n\t\t\tnext = next.nextVisible;\n\t\t}\n\t\treturn sc;\n\t}\n\n\tcell(r: number) {\n\t\treturn this.model.rows[r].cell(this.index);\n\t}\n\n\tclearCalculatedValues() {\n\t\tthis.model.rows.forEach(row => {\n\t\t\tconst cell = row.cells[this.index];\n\t\t\tif (cell) this.model.calculations.refreshFormula(cell);\n\t\t});\n\t}\n\n}"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@omegagrid/grid-core",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.28",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"description": "Grid model, no ui components",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"generate-functions-docs": "node ./scripts/generate-functions-docs.cjs"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@omegagrid/core": "^0.9.
|
|
32
|
-
"@omegagrid/localize": "^0.9.
|
|
31
|
+
"@omegagrid/core": "^0.9.28",
|
|
32
|
+
"@omegagrid/localize": "^0.9.28",
|
|
33
33
|
"@stdlib/stats": "^0.0.13",
|
|
34
34
|
"color": "^4.2.3",
|
|
35
35
|
"date-fns": "^3.2.0",
|