@deephaven/iris-grid 0.11.6-beta.5 → 0.11.6-beta.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"Formatter.d.ts","sourceRoot":"","sources":["../src/Formatter.ts"],"names":[],"mappings":"AACA,OAAmB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAGL,uBAAuB,EACvB,sBAAsB,EAEtB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAKtB,aAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,cAAM,SAAS;IACb;;;;OAIG;IACH,MAAM,CAAC,mBAAmB,CACxB,qBAAqB,EAAE,cAAc,EAAE,GACtC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAmBpD;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAC7B,UAAU,EAAE,QAAQ,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,iBAAiB,GACxB,cAAc;IAQjB;;;;;;OAMG;gBAED,qBAAqB,GAAE,cAAc,EAAO,EAC5C,eAAe,CAAC,EAAE,qBAAqB,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAC1E,oBAAoB,CAAC,EAAE,qBAAqB,CAC1C,OAAO,sBAAsB,CAC9B,CAAC,CAAC,CAAC,EACJ,oBAAoB,CAAC,EAAE,qBAAqB,CAC1C,OAAO,sBAAsB,CAC9B,CAAC,CAAC,CAAC,EACJ,wBAAwB,UAAQ;IAiClC,sBAAsB,EAAE,oBAAoB,CAAC;IAE7C,gBAAgB,EAAE,GAAG,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAEtD,eAAe,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAE/D,wBAAwB,EAAE,OAAO,CAAC;IAElC;;;;;OAKG;IACH,yBAAyB,CACvB,UAAU,EAAE,MAAM,EAClB,iBAAiB,UAAQ,GACxB,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,SAAS;IAa7C;;;;;OAKG;IACH,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,iBAAiB,GAAG,IAAI;IAK3B,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB;IAUhE;;;;;;OAMG;IACH,kBAAkB,CAChB,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,SAAK,EACf,cAAc,CAAC,EAAE,iBAAiB,GACjC,MAAM;IAYT;;;OAGG;IACH,IAAI,QAAQ,IAAI,MAAM,CAKrB;CACF;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"Formatter.d.ts","sourceRoot":"","sources":["../src/Formatter.ts"],"names":[],"mappings":"AAAA,OAAmB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAGL,uBAAuB,EACvB,sBAAsB,EAEtB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAGtB,aAAK,UAAU,GAAG,MAAM,CAAC;AAEzB,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED,cAAM,SAAS;IACb;;;;OAIG;IACH,MAAM,CAAC,mBAAmB,CACxB,qBAAqB,EAAE,cAAc,EAAE,GACtC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAmBpD;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAC7B,UAAU,EAAE,QAAQ,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,iBAAiB,GACxB,cAAc;IAQjB;;;;;;OAMG;gBAED,qBAAqB,GAAE,cAAc,EAAO,EAC5C,eAAe,CAAC,EAAE,qBAAqB,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAC1E,oBAAoB,CAAC,EAAE,qBAAqB,CAC1C,OAAO,sBAAsB,CAC9B,CAAC,CAAC,CAAC,EACJ,oBAAoB,CAAC,EAAE,qBAAqB,CAC1C,OAAO,sBAAsB,CAC9B,CAAC,CAAC,CAAC,EACJ,wBAAwB,UAAQ;IAiClC,sBAAsB,EAAE,oBAAoB,CAAC;IAE7C,gBAAgB,EAAE,GAAG,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;IAEtD,eAAe,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAE/D,wBAAwB,EAAE,OAAO,CAAC;IAElC;;;;;OAKG;IACH,yBAAyB,CACvB,UAAU,EAAE,MAAM,EAClB,iBAAiB,UAAQ,GACxB,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,SAAS;IAY7C;;;;;OAKG;IACH,eAAe,CACb,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,iBAAiB,GAAG,IAAI;IAK3B,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB;IAUhE;;;;;;OAMG;IACH,kBAAkB,CAChB,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,EAClB,UAAU,SAAK,EACf,cAAc,CAAC,EAAE,iBAAiB,GACjC,MAAM;IAYT;;;OAGG;IACH,IAAI,QAAQ,IAAI,MAAM,CAKrB;CACF;AAED,eAAe,SAAS,CAAC"}
package/dist/Formatter.js CHANGED
@@ -1,10 +1,8 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
2
 
3
- import { Log } from '@deephaven/log';
4
3
  import TableUtils from "./TableUtils.js";
5
4
  import { BooleanColumnFormatter, CharColumnFormatter, DateTimeColumnFormatter, DecimalColumnFormatter, DefaultColumnFormatter, IntegerColumnFormatter } from "./formatters/index.js";
6
5
  import StringColumnFormatter from "./formatters/StringColumnFormatter.js";
7
- var log = Log.module('Formatter');
8
6
 
9
7
  class Formatter {
10
8
  /**
@@ -95,7 +93,6 @@ class Formatter {
95
93
  var dataType = TableUtils.getNormalizedType(columnType);
96
94
 
97
95
  if (dataType === null) {
98
- log.warn("Unknown columnType ".concat(columnType));
99
96
  return undefined;
100
97
  }
101
98
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Formatter.ts"],"names":["Log","TableUtils","BooleanColumnFormatter","CharColumnFormatter","DateTimeColumnFormatter","DecimalColumnFormatter","DefaultColumnFormatter","IntegerColumnFormatter","StringColumnFormatter","log","module","Formatter","makeColumnFormatMap","columnFormattingRules","Map","reduce","map","next","dataType","getNormalizedType","columnType","has","set","formatMap","get","columnName","format","makeColumnFormattingRule","constructor","dateTimeOptions","decimalFormatOptions","integerFormatOptions","truncateNumbersWithPound","defaultColumnFormatter","typeFormatterMap","BOOLEAN","CHAR","DATETIME","DECIMAL","INT","STRING","columnFormatMap","getColumnFormatMapForType","createIfNecessary","warn","undefined","getColumnFormat","getColumnTypeFormatter","columnTypeFormatter","getFormattedString","value","formatOverride","formatter","timeZone","dhTimeZone","id"],"mappings":"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","sourcesContent":["import { Log } from '@deephaven/log';\nimport TableUtils, { DataType } from './TableUtils';\nimport {\n BooleanColumnFormatter,\n CharColumnFormatter,\n DateTimeColumnFormatter,\n DecimalColumnFormatter,\n DefaultColumnFormatter,\n IntegerColumnFormatter,\n TableColumnFormat,\n TableColumnFormatter,\n} from './formatters';\nimport StringColumnFormatter from './formatters/StringColumnFormatter';\n\nconst log = Log.module('Formatter');\n\ntype ColumnName = string;\n\nexport interface FormattingRule {\n columnType: string;\n columnName: string;\n format: TableColumnFormat;\n}\n\nclass Formatter {\n /**\n * Converts FormattingRule[] to Map\n * @param columnFormattingRules Array or column formatting rules\n * @returns Map of columnName-to-format Maps indexed by normalized dataType\n */\n static makeColumnFormatMap(\n columnFormattingRules: FormattingRule[]\n ): Map<DataType, Map<ColumnName, TableColumnFormat>> {\n if (columnFormattingRules == null) {\n return new Map();\n }\n return columnFormattingRules.reduce((map, next) => {\n const dataType = TableUtils.getNormalizedType(next.columnType);\n if (dataType === null) {\n return map;\n }\n\n if (!map.has(dataType)) {\n map.set(dataType, new Map());\n }\n const formatMap = map.get(dataType);\n formatMap?.set(next.columnName, next.format);\n return map;\n }, new Map<DataType, Map<ColumnName, TableColumnFormat>>());\n }\n\n /**\n * Creates a column formatting rule\n * @param columnType Normalized data type\n * @param columnName Column name\n * @param format Format object\n */\n static makeColumnFormattingRule(\n columnType: DataType,\n columnName: string,\n format: TableColumnFormat\n ): FormattingRule {\n return {\n columnType,\n columnName,\n format,\n };\n }\n\n /**\n * @param columnFormattingRules Optional array of column formatting rules\n * @param dateTimeOptions Optional object with DateTime configuration\n * @param decimalFormatOptions Optional object with Decimal configuration\n * @param integerFormatOptions Optional object with Integer configuration\n * @param truncateNumbersWithPound Determine if numbers should be truncated w/ repeating # instead of ellipsis at the end\n */\n constructor(\n columnFormattingRules: FormattingRule[] = [],\n dateTimeOptions?: ConstructorParameters<typeof DateTimeColumnFormatter>[0],\n decimalFormatOptions?: ConstructorParameters<\n typeof DecimalColumnFormatter\n >[0],\n integerFormatOptions?: ConstructorParameters<\n typeof IntegerColumnFormatter\n >[0],\n truncateNumbersWithPound = false\n ) {\n // Formatting order:\n // - columnFormatMap[type][name]\n // - typeFormatterMap[type]\n // - defaultColumnFormatter\n\n this.defaultColumnFormatter = new DefaultColumnFormatter();\n\n // Default formatters by data type\n this.typeFormatterMap = new Map<DataType, TableColumnFormatter>([\n [TableUtils.dataType.BOOLEAN, new BooleanColumnFormatter()],\n [TableUtils.dataType.CHAR, new CharColumnFormatter()],\n [\n TableUtils.dataType.DATETIME,\n new DateTimeColumnFormatter(dateTimeOptions),\n ],\n [\n TableUtils.dataType.DECIMAL,\n new DecimalColumnFormatter(decimalFormatOptions),\n ],\n [\n TableUtils.dataType.INT,\n new IntegerColumnFormatter(integerFormatOptions),\n ],\n [TableUtils.dataType.STRING, new StringColumnFormatter()],\n ]);\n\n // Formats indexed by data type and column name\n this.columnFormatMap = Formatter.makeColumnFormatMap(columnFormattingRules);\n this.truncateNumbersWithPound = truncateNumbersWithPound;\n }\n\n defaultColumnFormatter: TableColumnFormatter;\n\n typeFormatterMap: Map<DataType, TableColumnFormatter>;\n\n columnFormatMap: Map<DataType, Map<string, TableColumnFormat>>;\n\n truncateNumbersWithPound: boolean;\n\n /**\n * Gets columnFormatMap indexed by name for a given column type, creates new Map entry if necessary\n * @param columnType column type\n * @param createIfNecessary create new entry if true\n * @returns Map of format strings indexed by column name or undefined if it doesn't exist\n */\n getColumnFormatMapForType(\n columnType: string,\n createIfNecessary = false\n ): Map<string, TableColumnFormat> | undefined {\n const dataType = TableUtils.getNormalizedType(columnType);\n if (dataType === null) {\n log.warn(`Unknown columnType ${columnType}`);\n return undefined;\n }\n\n if (createIfNecessary && !this.columnFormatMap.has(dataType)) {\n this.columnFormatMap.set(dataType, new Map());\n }\n return this.columnFormatMap.get(dataType);\n }\n\n /**\n * Gets a column format object for a given column type and name\n * @param columnType column type\n * @param columnName column name\n * @returns format object or null for Default\n */\n getColumnFormat(\n columnType: string,\n columnName: string\n ): TableColumnFormat | null {\n const columnFormatMap = this.getColumnFormatMapForType(columnType);\n return columnFormatMap?.get(columnName) ?? null;\n }\n\n getColumnTypeFormatter(columnType: string): TableColumnFormatter {\n const dataType = TableUtils.getNormalizedType(columnType);\n let columnTypeFormatter = this.defaultColumnFormatter;\n if (dataType) {\n columnTypeFormatter =\n this.typeFormatterMap.get(dataType) ?? columnTypeFormatter;\n }\n return columnTypeFormatter;\n }\n\n /**\n * Gets formatted string for a given value, column type and name\n * @param value Value to format\n * @param columnType Column type used to determine the formatting settings\n * @param columnName Column name used to determine the formatting settings\n * @param formatOverride Format object passed to the formatter in place of the format defined in columnFormatMap\n */\n getFormattedString(\n value: unknown,\n columnType: string,\n columnName = '',\n formatOverride?: TableColumnFormat\n ): string {\n if (value == null) {\n return '';\n }\n\n const formatter = this.getColumnTypeFormatter(columnType);\n const format =\n formatOverride || this.getColumnFormat(columnType, columnName);\n\n return formatter.format(value, format ?? undefined);\n }\n\n /**\n * Gets the timeZone name\n * @returns The time zone name E.g. America/New_York\n */\n get timeZone(): string {\n const formatter = this.typeFormatterMap.get(\n TableUtils.dataType.DATETIME\n ) as DateTimeColumnFormatter;\n return formatter?.dhTimeZone?.id;\n }\n}\n\nexport default Formatter;\n"],"file":"Formatter.js"}
1
+ {"version":3,"sources":["../src/Formatter.ts"],"names":["TableUtils","BooleanColumnFormatter","CharColumnFormatter","DateTimeColumnFormatter","DecimalColumnFormatter","DefaultColumnFormatter","IntegerColumnFormatter","StringColumnFormatter","Formatter","makeColumnFormatMap","columnFormattingRules","Map","reduce","map","next","dataType","getNormalizedType","columnType","has","set","formatMap","get","columnName","format","makeColumnFormattingRule","constructor","dateTimeOptions","decimalFormatOptions","integerFormatOptions","truncateNumbersWithPound","defaultColumnFormatter","typeFormatterMap","BOOLEAN","CHAR","DATETIME","DECIMAL","INT","STRING","columnFormatMap","getColumnFormatMapForType","createIfNecessary","undefined","getColumnFormat","getColumnTypeFormatter","columnTypeFormatter","getFormattedString","value","formatOverride","formatter","timeZone","dhTimeZone","id"],"mappings":"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","sourcesContent":["import TableUtils, { DataType } from './TableUtils';\nimport {\n BooleanColumnFormatter,\n CharColumnFormatter,\n DateTimeColumnFormatter,\n DecimalColumnFormatter,\n DefaultColumnFormatter,\n IntegerColumnFormatter,\n TableColumnFormat,\n TableColumnFormatter,\n} from './formatters';\nimport StringColumnFormatter from './formatters/StringColumnFormatter';\n\ntype ColumnName = string;\n\nexport interface FormattingRule {\n columnType: string;\n columnName: string;\n format: TableColumnFormat;\n}\n\nclass Formatter {\n /**\n * Converts FormattingRule[] to Map\n * @param columnFormattingRules Array or column formatting rules\n * @returns Map of columnName-to-format Maps indexed by normalized dataType\n */\n static makeColumnFormatMap(\n columnFormattingRules: FormattingRule[]\n ): Map<DataType, Map<ColumnName, TableColumnFormat>> {\n if (columnFormattingRules == null) {\n return new Map();\n }\n return columnFormattingRules.reduce((map, next) => {\n const dataType = TableUtils.getNormalizedType(next.columnType);\n if (dataType === null) {\n return map;\n }\n\n if (!map.has(dataType)) {\n map.set(dataType, new Map());\n }\n const formatMap = map.get(dataType);\n formatMap?.set(next.columnName, next.format);\n return map;\n }, new Map<DataType, Map<ColumnName, TableColumnFormat>>());\n }\n\n /**\n * Creates a column formatting rule\n * @param columnType Normalized data type\n * @param columnName Column name\n * @param format Format object\n */\n static makeColumnFormattingRule(\n columnType: DataType,\n columnName: string,\n format: TableColumnFormat\n ): FormattingRule {\n return {\n columnType,\n columnName,\n format,\n };\n }\n\n /**\n * @param columnFormattingRules Optional array of column formatting rules\n * @param dateTimeOptions Optional object with DateTime configuration\n * @param decimalFormatOptions Optional object with Decimal configuration\n * @param integerFormatOptions Optional object with Integer configuration\n * @param truncateNumbersWithPound Determine if numbers should be truncated w/ repeating # instead of ellipsis at the end\n */\n constructor(\n columnFormattingRules: FormattingRule[] = [],\n dateTimeOptions?: ConstructorParameters<typeof DateTimeColumnFormatter>[0],\n decimalFormatOptions?: ConstructorParameters<\n typeof DecimalColumnFormatter\n >[0],\n integerFormatOptions?: ConstructorParameters<\n typeof IntegerColumnFormatter\n >[0],\n truncateNumbersWithPound = false\n ) {\n // Formatting order:\n // - columnFormatMap[type][name]\n // - typeFormatterMap[type]\n // - defaultColumnFormatter\n\n this.defaultColumnFormatter = new DefaultColumnFormatter();\n\n // Default formatters by data type\n this.typeFormatterMap = new Map<DataType, TableColumnFormatter>([\n [TableUtils.dataType.BOOLEAN, new BooleanColumnFormatter()],\n [TableUtils.dataType.CHAR, new CharColumnFormatter()],\n [\n TableUtils.dataType.DATETIME,\n new DateTimeColumnFormatter(dateTimeOptions),\n ],\n [\n TableUtils.dataType.DECIMAL,\n new DecimalColumnFormatter(decimalFormatOptions),\n ],\n [\n TableUtils.dataType.INT,\n new IntegerColumnFormatter(integerFormatOptions),\n ],\n [TableUtils.dataType.STRING, new StringColumnFormatter()],\n ]);\n\n // Formats indexed by data type and column name\n this.columnFormatMap = Formatter.makeColumnFormatMap(columnFormattingRules);\n this.truncateNumbersWithPound = truncateNumbersWithPound;\n }\n\n defaultColumnFormatter: TableColumnFormatter;\n\n typeFormatterMap: Map<DataType, TableColumnFormatter>;\n\n columnFormatMap: Map<DataType, Map<string, TableColumnFormat>>;\n\n truncateNumbersWithPound: boolean;\n\n /**\n * Gets columnFormatMap indexed by name for a given column type, creates new Map entry if necessary\n * @param columnType column type\n * @param createIfNecessary create new entry if true\n * @returns Map of format strings indexed by column name or undefined if it doesn't exist\n */\n getColumnFormatMapForType(\n columnType: string,\n createIfNecessary = false\n ): Map<string, TableColumnFormat> | undefined {\n const dataType = TableUtils.getNormalizedType(columnType);\n if (dataType === null) {\n return undefined;\n }\n\n if (createIfNecessary && !this.columnFormatMap.has(dataType)) {\n this.columnFormatMap.set(dataType, new Map());\n }\n return this.columnFormatMap.get(dataType);\n }\n\n /**\n * Gets a column format object for a given column type and name\n * @param columnType column type\n * @param columnName column name\n * @returns format object or null for Default\n */\n getColumnFormat(\n columnType: string,\n columnName: string\n ): TableColumnFormat | null {\n const columnFormatMap = this.getColumnFormatMapForType(columnType);\n return columnFormatMap?.get(columnName) ?? null;\n }\n\n getColumnTypeFormatter(columnType: string): TableColumnFormatter {\n const dataType = TableUtils.getNormalizedType(columnType);\n let columnTypeFormatter = this.defaultColumnFormatter;\n if (dataType) {\n columnTypeFormatter =\n this.typeFormatterMap.get(dataType) ?? columnTypeFormatter;\n }\n return columnTypeFormatter;\n }\n\n /**\n * Gets formatted string for a given value, column type and name\n * @param value Value to format\n * @param columnType Column type used to determine the formatting settings\n * @param columnName Column name used to determine the formatting settings\n * @param formatOverride Format object passed to the formatter in place of the format defined in columnFormatMap\n */\n getFormattedString(\n value: unknown,\n columnType: string,\n columnName = '',\n formatOverride?: TableColumnFormat\n ): string {\n if (value == null) {\n return '';\n }\n\n const formatter = this.getColumnTypeFormatter(columnType);\n const format =\n formatOverride || this.getColumnFormat(columnType, columnName);\n\n return formatter.format(value, format ?? undefined);\n }\n\n /**\n * Gets the timeZone name\n * @returns The time zone name E.g. America/New_York\n */\n get timeZone(): string {\n const formatter = this.typeFormatterMap.get(\n TableUtils.dataType.DATETIME\n ) as DateTimeColumnFormatter;\n return formatter?.dhTimeZone?.id;\n }\n}\n\nexport default Formatter;\n"],"file":"Formatter.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/iris-grid",
3
- "version": "0.11.6-beta.5+b4f6274",
3
+ "version": "0.11.6-beta.7+3235a77",
4
4
  "description": "Deephaven Iris Grid",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -30,13 +30,13 @@
30
30
  "start": "cross-env NODE_ENV=development npm run watch"
31
31
  },
32
32
  "dependencies": {
33
- "@deephaven/console": "^0.11.6-beta.5+b4f6274",
34
- "@deephaven/grid": "^0.11.6-beta.5+b4f6274",
35
- "@deephaven/icons": "^0.11.6-beta.5+b4f6274",
36
- "@deephaven/jsapi-shim": "^0.11.6-beta.5+b4f6274",
37
- "@deephaven/react-hooks": "^0.11.6-beta.5+b4f6274",
38
- "@deephaven/storage": "^0.11.6-beta.5+b4f6274",
39
- "@deephaven/utils": "^0.11.6-beta.5+b4f6274",
33
+ "@deephaven/console": "^0.11.6-beta.7+3235a77",
34
+ "@deephaven/grid": "^0.11.6-beta.7+3235a77",
35
+ "@deephaven/icons": "^0.11.6-beta.7+3235a77",
36
+ "@deephaven/jsapi-shim": "^0.11.6-beta.7+3235a77",
37
+ "@deephaven/react-hooks": "^0.11.6-beta.7+3235a77",
38
+ "@deephaven/storage": "^0.11.6-beta.7+3235a77",
39
+ "@deephaven/utils": "^0.11.6-beta.7+3235a77",
40
40
  "@fortawesome/react-fontawesome": "^0.1.15",
41
41
  "classnames": "^2.3.1",
42
42
  "deep-equal": "^2.0.5",
@@ -59,9 +59,9 @@
59
59
  "react": "^17.x"
60
60
  },
61
61
  "devDependencies": {
62
- "@deephaven/log": "^0.11.6-beta.5+b4f6274",
63
- "@deephaven/mocks": "^0.11.6-beta.5+b4f6274",
64
- "@deephaven/tsconfig": "^0.11.6-beta.5+b4f6274"
62
+ "@deephaven/log": "^0.11.6-beta.7+3235a77",
63
+ "@deephaven/mocks": "^0.11.6-beta.7+3235a77",
64
+ "@deephaven/tsconfig": "^0.11.6-beta.7+3235a77"
65
65
  },
66
66
  "files": [
67
67
  "dist"
@@ -72,5 +72,5 @@
72
72
  "publishConfig": {
73
73
  "access": "public"
74
74
  },
75
- "gitHead": "b4f6274363e05fc70a920716faa1ff5171508c70"
75
+ "gitHead": "3235a77044394cbc5d2db70a97dfd4609925c28d"
76
76
  }