@highcharts/grid-pro 2.2.0 → 2.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 (266) hide show
  1. package/LICENSE.txt +6 -0
  2. package/README.md +15 -9
  3. package/css/grid-pro.css +1262 -1122
  4. package/css/modules/grid-base-variables.css +131 -0
  5. package/css/modules/grid-button-variables.css +140 -0
  6. package/css/modules/grid-caption-variables.css +11 -0
  7. package/css/modules/grid-description-variables.css +11 -0
  8. package/css/modules/grid-input-variables.css +114 -0
  9. package/css/modules/grid-link-variables.css +18 -0
  10. package/css/modules/grid-menu-variables.css +50 -0
  11. package/css/modules/grid-pagination-variables.css +12 -0
  12. package/css/modules/grid-popup-variables.css +24 -0
  13. package/css/modules/grid-pro.css +234 -0
  14. package/css/modules/grid-table-variables.css +385 -0
  15. package/css/modules/grid-theme-default.css +55 -0
  16. package/es-modules/Accessibility/A11yI18n.js +1 -2
  17. package/es-modules/Accessibility/Accessibility.js +1 -2
  18. package/es-modules/Accessibility/AccessibilityComponent.d.ts +2 -2
  19. package/es-modules/Accessibility/Components/InfoRegionsComponent.js +5 -6
  20. package/es-modules/Accessibility/Components/LegendComponent.js +1 -2
  21. package/es-modules/Accessibility/Components/MenuComponent.js +1 -2
  22. package/es-modules/Accessibility/Components/NavigatorComponent.js +3 -4
  23. package/es-modules/Accessibility/Components/RangeSelectorComponent.js +1 -2
  24. package/es-modules/Accessibility/Components/SeriesComponent/ForcedMarkers.js +1 -2
  25. package/es-modules/Accessibility/Components/SeriesComponent/NewDataAnnouncer.js +3 -4
  26. package/es-modules/Accessibility/Components/SeriesComponent/SeriesDescriber.js +3 -4
  27. package/es-modules/Accessibility/Components/SeriesComponent/SeriesKeyboardNavigation.js +1 -2
  28. package/es-modules/Accessibility/Components/ZoomComponent.js +1 -2
  29. package/es-modules/Accessibility/FocusBorder.js +1 -2
  30. package/es-modules/Accessibility/KeyboardNavigation.js +1 -2
  31. package/es-modules/Accessibility/KeyboardNavigationHandler.js +1 -2
  32. package/es-modules/Accessibility/Options/A11yDefaults.d.ts +11 -0
  33. package/es-modules/Accessibility/Options/A11yDefaults.js +11 -0
  34. package/es-modules/Accessibility/Options/DeprecatedOptions.d.ts +58 -0
  35. package/es-modules/Accessibility/Options/DeprecatedOptions.js +7 -2
  36. package/es-modules/Accessibility/Options/LangDefaults.js +9 -0
  37. package/es-modules/Accessibility/ProxyElement.js +2 -5
  38. package/es-modules/Accessibility/ProxyProvider.js +1 -2
  39. package/es-modules/Accessibility/Utils/Announcer.js +2 -3
  40. package/es-modules/Accessibility/Utils/ChartUtilities.js +1 -2
  41. package/es-modules/Accessibility/Utils/EventProvider.d.ts +2 -2
  42. package/es-modules/Accessibility/Utils/EventProvider.js +6 -2
  43. package/es-modules/Accessibility/Utils/HTMLUtilities.js +1 -2
  44. package/es-modules/Core/Animation/AnimationUtilities.js +1 -2
  45. package/es-modules/Core/Animation/Fx.js +1 -2
  46. package/es-modules/Core/Callback.d.ts +9 -2
  47. package/es-modules/Core/Chart/Chart.js +48 -41
  48. package/es-modules/Core/Chart/Chart3D.js +1 -2
  49. package/es-modules/Core/Chart/ChartDefaults.js +11 -0
  50. package/es-modules/Core/Chart/ChartOptions.d.ts +8 -0
  51. package/es-modules/Core/Chart/GanttChart.js +1 -2
  52. package/es-modules/Core/Chart/MapChart.js +1 -2
  53. package/es-modules/Core/Chart/StockChart.js +2 -3
  54. package/es-modules/Core/Color/Color.js +1 -2
  55. package/es-modules/Core/Defaults.js +36 -9
  56. package/es-modules/Core/Delaunay.d.ts +52 -0
  57. package/es-modules/Core/Delaunay.js +310 -0
  58. package/es-modules/Core/Foundation.js +1 -2
  59. package/es-modules/Core/Geometry/CircleUtilities.js +1 -2
  60. package/es-modules/Core/Globals.js +1 -1
  61. package/es-modules/Core/HttpUtilities.js +1 -2
  62. package/es-modules/Core/MSPointer.js +1 -2
  63. package/es-modules/Core/Math3D.js +1 -2
  64. package/es-modules/Core/Options.d.ts +6 -2
  65. package/es-modules/Core/Pointer.js +23 -4
  66. package/es-modules/Core/PointerEvent.d.ts +2 -0
  67. package/es-modules/Core/Renderer/HTML/AST.js +2 -2
  68. package/es-modules/Core/Renderer/HTML/HTMLElement.js +1 -2
  69. package/es-modules/Core/Renderer/RendererUtilities.js +34 -19
  70. package/es-modules/Core/Responsive.d.ts +4 -2
  71. package/es-modules/Core/Responsive.js +10 -4
  72. package/es-modules/Core/Templating.d.ts +1 -1
  73. package/es-modules/Core/Templating.js +3 -4
  74. package/es-modules/Core/Time.d.ts +8 -0
  75. package/es-modules/Core/Time.js +2 -2
  76. package/es-modules/Core/Tooltip.d.ts +4 -8
  77. package/es-modules/Core/Tooltip.js +100 -81
  78. package/es-modules/Core/TooltipOptions.d.ts +44 -1
  79. package/es-modules/Core/Utilities.d.ts +25 -665
  80. package/es-modules/Core/Utilities.js +17 -1398
  81. package/es-modules/Data/ColumnUtils.d.ts +83 -80
  82. package/es-modules/Data/ColumnUtils.js +103 -113
  83. package/es-modules/Data/Connectors/CSVConnector.d.ts +9 -14
  84. package/es-modules/Data/Connectors/CSVConnector.js +3 -4
  85. package/es-modules/Data/Connectors/DataConnector.d.ts +52 -54
  86. package/es-modules/Data/Connectors/DataConnector.js +33 -52
  87. package/es-modules/Data/Connectors/GoogleSheetsConnector.d.ts +40 -42
  88. package/es-modules/Data/Connectors/GoogleSheetsConnector.js +73 -88
  89. package/es-modules/Data/Connectors/GoogleSheetsConnectorOptions.d.ts +4 -2
  90. package/es-modules/Data/Connectors/HTMLTableConnector.d.ts +23 -28
  91. package/es-modules/Data/Connectors/HTMLTableConnector.js +3 -4
  92. package/es-modules/Data/Connectors/JSONConnector.d.ts +9 -14
  93. package/es-modules/Data/Connectors/JSONConnector.js +3 -4
  94. package/es-modules/Data/Converters/CSVConverter.d.ts +5 -5
  95. package/es-modules/Data/Converters/CSVConverter.js +3 -4
  96. package/es-modules/Data/Converters/CSVConverterOptions.d.ts +2 -2
  97. package/es-modules/Data/Converters/DataConverter.d.ts +76 -78
  98. package/es-modules/Data/Converters/DataConverter.js +26 -53
  99. package/es-modules/Data/Converters/DataConverterUtils.d.ts +88 -81
  100. package/es-modules/Data/Converters/DataConverterUtils.js +169 -181
  101. package/es-modules/Data/Converters/GoogleSheetsConverter.d.ts +4 -4
  102. package/es-modules/Data/Converters/GoogleSheetsConverter.js +3 -3
  103. package/es-modules/Data/Converters/GoogleSheetsConverterOptions.d.ts +2 -2
  104. package/es-modules/Data/Converters/HTMLTableConverter.d.ts +4 -4
  105. package/es-modules/Data/Converters/HTMLTableConverter.js +2 -3
  106. package/es-modules/Data/Converters/HTMLTableConverterOptions.d.ts +2 -2
  107. package/es-modules/Data/Converters/JSONConverter.d.ts +7 -7
  108. package/es-modules/Data/Converters/JSONConverter.js +6 -6
  109. package/es-modules/Data/Converters/JSONConverterOptions.d.ts +2 -2
  110. package/es-modules/Data/DataCursor.d.ts +65 -70
  111. package/es-modules/Data/DataCursor.js +119 -139
  112. package/es-modules/Data/DataEvent.d.ts +55 -57
  113. package/es-modules/Data/DataPool.d.ts +10 -17
  114. package/es-modules/Data/DataPool.js +20 -9
  115. package/es-modules/Data/DataTable.d.ts +111 -113
  116. package/es-modules/Data/DataTable.js +3 -3
  117. package/es-modules/Data/DataTableCore.d.ts +9 -9
  118. package/es-modules/Data/DataTableCore.js +2 -2
  119. package/es-modules/Data/Formula/FormulaParser.js +1 -2
  120. package/es-modules/Data/Formula/FormulaProcessor.js +1 -2
  121. package/es-modules/Data/Modifiers/ChainModifier.d.ts +29 -34
  122. package/es-modules/Data/Modifiers/ChainModifier.js +7 -8
  123. package/es-modules/Data/Modifiers/DataModifier.d.ts +36 -41
  124. package/es-modules/Data/Modifiers/DataModifier.js +31 -53
  125. package/es-modules/Data/Modifiers/FilterModifier.d.ts +4 -4
  126. package/es-modules/Data/Modifiers/FilterModifier.js +3 -4
  127. package/es-modules/Data/Modifiers/FilterModifierOptions.d.ts +3 -2
  128. package/es-modules/Data/Modifiers/InvertModifier.d.ts +4 -4
  129. package/es-modules/Data/Modifiers/InvertModifier.js +3 -4
  130. package/es-modules/Data/Modifiers/MathModifier.d.ts +5 -4
  131. package/es-modules/Data/Modifiers/RangeModifier.d.ts +4 -4
  132. package/es-modules/Data/Modifiers/RangeModifier.js +3 -4
  133. package/es-modules/Data/Modifiers/SortModifier.d.ts +6 -11
  134. package/es-modules/Data/Modifiers/SortModifier.js +3 -4
  135. package/es-modules/Data/Modifiers/SortModifierOptions.d.ts +3 -3
  136. package/es-modules/Grid/Core/Accessibility/Accessibility.d.ts +1 -1
  137. package/es-modules/Grid/Core/Accessibility/Accessibility.js +5 -6
  138. package/es-modules/Grid/Core/Data/DataProvider.d.ts +97 -0
  139. package/es-modules/Grid/Core/Data/DataProvider.js +89 -0
  140. package/es-modules/Grid/Core/Data/DataProviderRegistry.d.ts +20 -0
  141. package/es-modules/Grid/Core/Data/DataProviderRegistry.js +52 -0
  142. package/es-modules/Grid/Core/Data/DataProviderType.d.ts +19 -0
  143. package/es-modules/Grid/Core/Data/DataProviderType.js +15 -0
  144. package/es-modules/Grid/Core/Data/LocalDataProvider.d.ts +165 -0
  145. package/es-modules/Grid/Core/Data/LocalDataProvider.js +341 -0
  146. package/es-modules/Grid/Core/Defaults.js +4 -2
  147. package/es-modules/Grid/Core/Globals.d.ts +20 -16
  148. package/es-modules/Grid/Core/Globals.js +10 -8
  149. package/es-modules/Grid/Core/Grid.d.ts +31 -22
  150. package/es-modules/Grid/Core/Grid.js +214 -136
  151. package/es-modules/Grid/Core/GridUtils.d.ts +33 -0
  152. package/es-modules/Grid/Core/GridUtils.js +50 -3
  153. package/es-modules/Grid/Core/Options.d.ts +145 -4
  154. package/es-modules/Grid/Core/Pagination/Pagination.d.ts +3 -0
  155. package/es-modules/Grid/Core/Pagination/Pagination.js +63 -23
  156. package/es-modules/Grid/Core/Pagination/PaginationOptions.d.ts +4 -0
  157. package/es-modules/Grid/Core/Querying/FilteringController.js +1 -2
  158. package/es-modules/Grid/Core/Querying/PaginationController.d.ts +2 -2
  159. package/es-modules/Grid/Core/Querying/PaginationController.js +3 -3
  160. package/es-modules/Grid/Core/Querying/QueryingController.d.ts +1 -1
  161. package/es-modules/Grid/Core/Querying/QueryingController.js +2 -26
  162. package/es-modules/Grid/Core/Responsive/ResponsiveComposition.d.ts +53 -0
  163. package/es-modules/Grid/Core/Responsive/ResponsiveComposition.js +229 -0
  164. package/es-modules/Grid/Core/Responsive/ResponsiveOptions.d.ts +58 -0
  165. package/es-modules/Grid/Core/Responsive/ResponsiveOptions.js +15 -0
  166. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/ColumnFiltering.js +2 -3
  167. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.d.ts +1 -1
  168. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterCell.js +3 -4
  169. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.d.ts +1 -1
  170. package/es-modules/Grid/Core/Table/Actions/ColumnFiltering/FilterRow.js +2 -2
  171. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.d.ts +17 -1
  172. package/es-modules/Grid/Core/Table/Actions/ColumnSorting.js +58 -15
  173. package/es-modules/Grid/Core/Table/Actions/ColumnsResizer.js +1 -3
  174. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.d.ts +57 -3
  175. package/es-modules/Grid/Core/Table/Actions/RowsVirtualizer.js +397 -118
  176. package/es-modules/Grid/Core/Table/Body/CellContextMenu.d.ts +11 -0
  177. package/es-modules/Grid/Core/Table/Body/CellContextMenu.js +84 -0
  178. package/es-modules/Grid/Core/Table/Body/TableCell.d.ts +27 -13
  179. package/es-modules/Grid/Core/Table/Body/TableCell.js +74 -25
  180. package/es-modules/Grid/Core/Table/Body/TableRow.d.ts +7 -15
  181. package/es-modules/Grid/Core/Table/Body/TableRow.js +24 -19
  182. package/es-modules/Grid/Core/Table/Cell.d.ts +16 -3
  183. package/es-modules/Grid/Core/Table/Cell.js +36 -3
  184. package/es-modules/Grid/Core/Table/CellContent/TextContent.js +3 -8
  185. package/es-modules/Grid/Core/Table/Column.d.ts +10 -4
  186. package/es-modules/Grid/Core/Table/Column.js +23 -34
  187. package/es-modules/Grid/Core/Table/ColumnResizing/IndependentResizingMode.js +9 -8
  188. package/es-modules/Grid/Core/Table/ColumnResizing/ResizingMode.js +4 -3
  189. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.d.ts +5 -0
  190. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ColumnToolbar.js +7 -2
  191. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/FilterPopup.js +1 -2
  192. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/FilterMenuButton.js +1 -2
  193. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/MenuButtons/SortMenuButton.js +2 -3
  194. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/FilterToolbarButton.js +1 -2
  195. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/MenuToolbarButton.js +1 -2
  196. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.d.ts +0 -1
  197. package/es-modules/Grid/Core/Table/Header/ColumnToolbar/ToolbarButtons/SortToolbarButton.js +4 -14
  198. package/es-modules/Grid/Core/Table/Header/HeaderCell.d.ts +6 -1
  199. package/es-modules/Grid/Core/Table/Header/HeaderCell.js +33 -13
  200. package/es-modules/Grid/Core/Table/Header/HeaderRow.js +4 -5
  201. package/es-modules/Grid/Core/Table/Header/TableHeader.d.ts +1 -1
  202. package/es-modules/Grid/Core/Table/Header/TableHeader.js +3 -3
  203. package/es-modules/Grid/Core/Table/Row.d.ts +1 -1
  204. package/es-modules/Grid/Core/Table/Row.js +2 -2
  205. package/es-modules/Grid/Core/Table/Table.d.ts +38 -12
  206. package/es-modules/Grid/Core/Table/Table.js +184 -91
  207. package/es-modules/Grid/Core/UI/ContextMenuButton.d.ts +6 -7
  208. package/es-modules/Grid/Core/UI/ContextMenuButton.js +5 -3
  209. package/es-modules/Grid/Core/UI/Popup.js +7 -9
  210. package/es-modules/Grid/Core/UI/SvgIcons.d.ts +42 -7
  211. package/es-modules/Grid/Core/UI/SvgIcons.js +206 -33
  212. package/es-modules/Grid/Core/UI/Toolbar.d.ts +5 -0
  213. package/es-modules/Grid/Core/UI/ToolbarButton.d.ts +4 -12
  214. package/es-modules/Grid/Core/UI/ToolbarButton.js +8 -26
  215. package/es-modules/Grid/Pro/CellEditing/CellEditMode.d.ts +2 -2
  216. package/es-modules/Grid/Pro/CellEditing/CellEditing.js +10 -10
  217. package/es-modules/Grid/Pro/CellEditing/CellEditingComposition.js +1 -2
  218. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.d.ts +1 -1
  219. package/es-modules/Grid/Pro/CellRendering/CellRenderersComposition.js +4 -2
  220. package/es-modules/Grid/Pro/CellRendering/ContentTypes/CheckboxContent.d.ts +2 -2
  221. package/es-modules/Grid/Pro/CellRendering/ContentTypes/NumberInputContent.js +1 -2
  222. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SelectContent.d.ts +2 -2
  223. package/es-modules/Grid/Pro/CellRendering/ContentTypes/SparklineContent.js +1 -2
  224. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.d.ts +2 -2
  225. package/es-modules/Grid/Pro/CellRendering/ContentTypes/TextInputContent.js +1 -2
  226. package/es-modules/Grid/Pro/CellRendering/Renderers/CheckboxRenderer.js +1 -2
  227. package/es-modules/Grid/Pro/CellRendering/Renderers/DateInputRenderer.js +1 -2
  228. package/es-modules/Grid/Pro/CellRendering/Renderers/DateTimeInputRenderer.js +1 -2
  229. package/es-modules/Grid/Pro/CellRendering/Renderers/NumberInputRenderer.js +1 -2
  230. package/es-modules/Grid/Pro/CellRendering/Renderers/SelectRenderer.js +1 -2
  231. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.d.ts +2 -2
  232. package/es-modules/Grid/Pro/CellRendering/Renderers/SparklineRenderer.js +1 -2
  233. package/es-modules/Grid/Pro/CellRendering/Renderers/TextInputRenderer.js +1 -2
  234. package/es-modules/Grid/Pro/CellRendering/Renderers/TextRenderer.js +1 -2
  235. package/es-modules/Grid/Pro/CellRendering/Renderers/TimeInputRenderer.js +1 -2
  236. package/es-modules/Grid/Pro/ColumnTypes/Validator.js +34 -32
  237. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.d.ts +1 -1
  238. package/es-modules/Grid/Pro/ColumnTypes/ValidatorComposition.js +3 -4
  239. package/es-modules/Grid/Pro/Credits/CreditsProComposition.js +1 -3
  240. package/es-modules/Grid/Pro/Data/DataSourceHelper.d.ts +74 -0
  241. package/es-modules/Grid/Pro/Data/DataSourceHelper.js +246 -0
  242. package/es-modules/Grid/Pro/Data/QuerySerializer.d.ts +46 -0
  243. package/es-modules/Grid/Pro/Data/QuerySerializer.js +169 -0
  244. package/es-modules/Grid/Pro/Data/RemoteDataProvider.d.ts +187 -0
  245. package/es-modules/Grid/Pro/Data/RemoteDataProvider.js +500 -0
  246. package/es-modules/Grid/Pro/Export/Exporting.js +1 -2
  247. package/es-modules/Grid/Pro/Export/ExportingComposition.js +1 -2
  248. package/es-modules/Grid/Pro/GridEvents.js +1 -2
  249. package/es-modules/Grid/Pro/Pagination/PaginationComposition.d.ts +0 -1
  250. package/es-modules/Grid/Pro/Pagination/PaginationComposition.js +1 -2
  251. package/es-modules/Shared/BaseForm.js +1 -2
  252. package/es-modules/Shared/DownloadURL.js +1 -2
  253. package/es-modules/Shared/TimeBase.js +3 -3
  254. package/es-modules/Shared/Types.d.ts +7 -0
  255. package/es-modules/Shared/Utilities.d.ts +576 -0
  256. package/es-modules/Shared/Utilities.js +1368 -0
  257. package/es-modules/masters/grid-pro.src.d.ts +15 -11
  258. package/es-modules/masters/grid-pro.src.js +12 -5
  259. package/grid-pro.d.ts +15 -11
  260. package/grid-pro.js +3 -3
  261. package/grid-pro.js.map +1 -1
  262. package/grid-pro.src.d.ts +15 -11
  263. package/grid-pro.src.js +10408 -8009
  264. package/package.json +1 -1
  265. package/es-modules/Grid/Core/Pagination/Icons.d.ts +0 -7
  266. package/es-modules/Grid/Core/Pagination/Icons.js +0 -7
@@ -10,207 +10,195 @@
10
10
  * - Kamil Kubik
11
11
  *
12
12
  * */
13
- import U from '../../Core/Utilities.js';
14
- const { isNumber } = U;
13
+ import { isNumber } from '../../Shared/Utilities.js';
15
14
  /* *
16
15
  *
17
- * Namespace
16
+ * Functions
18
17
  *
19
18
  * */
20
- var DataConverterUtils;
21
- (function (DataConverterUtils) {
22
- /* *
23
- *
24
- * Properties
25
- *
26
- * */
27
- /* *
28
- *
29
- * Functions
30
- *
31
- * */
32
- /**
33
- * Converts a value to a Date.
34
- *
35
- * @param {DataConverter.Type} value
36
- * Value to convert.
37
- *
38
- * @return {globalThis.Date}
39
- * Converted value as a Date.
40
- */
41
- function asDate(value, converter) {
42
- let timestamp;
43
- if (typeof value === 'string') {
44
- timestamp = converter.parseDate(value);
45
- }
46
- else if (typeof value === 'number') {
47
- timestamp = value;
48
- }
49
- else if (value instanceof Date) {
50
- return value;
51
- }
52
- else {
53
- timestamp = converter.parseDate(asString(value));
54
- }
55
- return new Date(timestamp);
19
+ /**
20
+ * Converts a value to a Date.
21
+ *
22
+ * @param {DataConverterType} value
23
+ * Value to convert.
24
+ *
25
+ * @return {globalThis.Date}
26
+ * Converted value as a Date.
27
+ */
28
+ export function asDate(value, converter) {
29
+ let timestamp;
30
+ if (typeof value === 'string') {
31
+ timestamp = converter.parseDate(value);
56
32
  }
57
- DataConverterUtils.asDate = asDate;
58
- /**
59
- * Converts a value to a number.
60
- *
61
- * @param {DataConverter.Type} value
62
- * Value to convert.
63
- *
64
- * @return {number}
65
- * Converted value as a number.
66
- */
67
- function asNumber(value, decimalRegExp) {
68
- if (typeof value === 'number') {
69
- return value;
70
- }
71
- if (typeof value === 'boolean') {
72
- return value ? 1 : 0;
33
+ else if (typeof value === 'number') {
34
+ timestamp = value;
35
+ }
36
+ else if (value instanceof Date) {
37
+ return value;
38
+ }
39
+ else {
40
+ timestamp = converter.parseDate(asString(value));
41
+ }
42
+ return new Date(timestamp);
43
+ }
44
+ /**
45
+ * Converts a value to a number.
46
+ *
47
+ * @param {DataConverterType} value
48
+ * Value to convert.
49
+ *
50
+ * @return {number}
51
+ * Converted value as a number.
52
+ */
53
+ export function asNumber(value, decimalRegExp) {
54
+ if (typeof value === 'number') {
55
+ return value;
56
+ }
57
+ if (typeof value === 'boolean') {
58
+ return value ? 1 : 0;
59
+ }
60
+ if (typeof value === 'string') {
61
+ const decimalRegex = decimalRegExp;
62
+ if (value.indexOf(' ') > -1) {
63
+ value = value.replace(/\s+/g, '');
73
64
  }
74
- if (typeof value === 'string') {
75
- const decimalRegex = decimalRegExp;
76
- if (value.indexOf(' ') > -1) {
77
- value = value.replace(/\s+/g, '');
78
- }
79
- if (decimalRegex) {
80
- if (!decimalRegex.test(value)) {
81
- return NaN;
82
- }
83
- value = value.replace(decimalRegex, '$1.$2');
65
+ if (decimalRegex) {
66
+ if (!decimalRegex.test(value)) {
67
+ return NaN;
84
68
  }
85
- return parseFloat(value);
69
+ value = value.replace(decimalRegex, '$1.$2');
86
70
  }
87
- if (value instanceof Date) {
88
- return value.getDate();
89
- }
90
- if (value) {
91
- return value.getRowCount();
92
- }
93
- return NaN;
71
+ return parseFloat(value);
94
72
  }
95
- DataConverterUtils.asNumber = asNumber;
96
- /**
97
- * Converts a value to a string.
98
- *
99
- * @param {DataConverter.Type} value
100
- * Value to convert.
101
- *
102
- * @return {string}
103
- * Converted value as a string.
104
- */
105
- function asString(value) {
106
- return '' + value;
73
+ if (value instanceof Date) {
74
+ return value.getDate();
107
75
  }
108
- DataConverterUtils.asString = asString;
109
- /**
110
- * Converts a value to a boolean.
111
- *
112
- * @param {DataConverter.Type} value
113
- * Value to convert.
114
- *
115
- * @return {boolean}
116
- * Converted value as a boolean.
117
- */
118
- function asBoolean(value) {
119
- if (typeof value === 'boolean') {
120
- return value;
121
- }
122
- if (typeof value === 'string') {
123
- return value !== '' && value !== '0' && value !== 'false';
124
- }
125
- return !!asNumber(value);
76
+ if (value) {
77
+ return value.getRowCount();
126
78
  }
127
- DataConverterUtils.asBoolean = asBoolean;
128
- /**
129
- * Guesses the potential type of a string value for parsing CSV etc.
130
- *
131
- * @param {*} value
132
- * The value to examine.
133
- *
134
- * @return {'number' | 'string' | 'Date'}
135
- * Type string, either `string`, `Date`, or `number`.
136
- */
137
- function guessType(value, converter) {
138
- let result = 'string';
139
- if (typeof value === 'string') {
140
- const trimedValue = DataConverterUtils.trim(`${value}`), decimalRegExp = converter.decimalRegExp;
141
- let innerTrimedValue = DataConverterUtils.trim(trimedValue, true);
142
- if (decimalRegExp) {
143
- innerTrimedValue = (decimalRegExp.test(innerTrimedValue) ?
144
- innerTrimedValue.replace(decimalRegExp, '$1.$2') :
145
- '');
146
- }
147
- const floatValue = parseFloat(innerTrimedValue);
148
- if (+innerTrimedValue === floatValue) {
149
- // String is numeric
150
- value = floatValue;
151
- }
152
- else {
153
- // Determine if a date string
154
- const dateValue = converter.parseDate(value);
155
- result = isNumber(dateValue) ? 'Date' : 'string';
156
- }
79
+ return NaN;
80
+ }
81
+ /**
82
+ * Converts a value to a string.
83
+ *
84
+ * @param {DataConverterType} value
85
+ * Value to convert.
86
+ *
87
+ * @return {string}
88
+ * Converted value as a string.
89
+ */
90
+ export function asString(value) {
91
+ return '' + value;
92
+ }
93
+ /**
94
+ * Converts a value to a boolean.
95
+ *
96
+ * @param {DataConverterType} value
97
+ * Value to convert.
98
+ *
99
+ * @return {boolean}
100
+ * Converted value as a boolean.
101
+ */
102
+ export function asBoolean(value) {
103
+ if (typeof value === 'boolean') {
104
+ return value;
105
+ }
106
+ if (typeof value === 'string') {
107
+ return value !== '' && value !== '0' && value !== 'false';
108
+ }
109
+ return !!asNumber(value);
110
+ }
111
+ /**
112
+ * Guesses the potential type of a string value for parsing CSV etc.
113
+ *
114
+ * @param {*} value
115
+ * The value to examine.
116
+ *
117
+ * @return {'number' | 'string' | 'Date'}
118
+ * Type string, either `string`, `Date`, or `number`.
119
+ */
120
+ export function guessType(value, converter) {
121
+ let result = 'string';
122
+ if (typeof value === 'string') {
123
+ const trimedValue = trim(`${value}`), decimalRegExp = converter.decimalRegExp;
124
+ let innerTrimedValue = trim(trimedValue, true);
125
+ if (decimalRegExp) {
126
+ innerTrimedValue = (decimalRegExp.test(innerTrimedValue) ?
127
+ innerTrimedValue.replace(decimalRegExp, '$1.$2') :
128
+ '');
157
129
  }
158
- if (typeof value === 'number') {
159
- // Greater than milliseconds in a year assumed timestamp
160
- result = value > 365 * 24 * 3600 * 1000 ? 'Date' : 'number';
130
+ const floatValue = parseFloat(innerTrimedValue);
131
+ if (+innerTrimedValue === floatValue) {
132
+ // String is numeric
133
+ value = floatValue;
161
134
  }
162
- return result;
163
- }
164
- DataConverterUtils.guessType = guessType;
165
- /**
166
- * Trim a string from whitespaces.
167
- *
168
- * @param {string} str
169
- * String to trim.
170
- *
171
- * @param {boolean} [inside=false]
172
- * Remove all spaces between numbers.
173
- *
174
- * @return {string}
175
- * Trimed string
176
- */
177
- function trim(str, inside) {
178
- if (typeof str === 'string') {
179
- str = str.replace(/^\s+|\s+$/g, '');
180
- // Clear white space insdie the string, like thousands separators
181
- if (inside && /^[\d\s]+$/.test(str)) {
182
- str = str.replace(/\s/g, '');
183
- }
135
+ else {
136
+ // Determine if a date string
137
+ const dateValue = converter.parseDate(value);
138
+ result = isNumber(dateValue) ? 'Date' : 'string';
184
139
  }
185
- return str;
186
140
  }
187
- DataConverterUtils.trim = trim;
188
- /**
189
- * Parses an array of columns to a column collection. If more headers are
190
- * provided, the corresponding, empty columns are added.
191
- *
192
- * @param {DataTable.Column[]} [columnsArray]
193
- * Array of columns.
194
- *
195
- * @param {string[]} [headers]
196
- * Column ids to use.
197
- *
198
- * @return {DataTable.ColumnCollection}
199
- * Parsed columns.
200
- */
201
- function getColumnsCollection(columnsArray = [], headers) {
202
- const columns = {};
203
- for (let i = 0, iEnd = Math.max(headers.length, columnsArray.length); i < iEnd; ++i) {
204
- const columnId = headers[i] || `${i}`;
205
- columns[columnId] = columnsArray[i] ? columnsArray[i].slice() : [];
141
+ if (typeof value === 'number') {
142
+ // Greater than milliseconds in a year assumed timestamp
143
+ result = value > 365 * 24 * 3600 * 1000 ? 'Date' : 'number';
144
+ }
145
+ return result;
146
+ }
147
+ /**
148
+ * Trim a string from whitespaces.
149
+ *
150
+ * @param {string} str
151
+ * String to trim.
152
+ *
153
+ * @param {boolean} [inside=false]
154
+ * Remove all spaces between numbers.
155
+ *
156
+ * @return {string}
157
+ * Trimed string
158
+ */
159
+ export function trim(str, inside) {
160
+ if (typeof str === 'string') {
161
+ str = str.replace(/^\s+|\s+$/g, '');
162
+ // Clear white space insdie the string, like thousands separators
163
+ if (inside && /^[\d\s]+$/.test(str)) {
164
+ str = str.replace(/\s/g, '');
206
165
  }
207
- return columns;
208
166
  }
209
- DataConverterUtils.getColumnsCollection = getColumnsCollection;
210
- })(DataConverterUtils || (DataConverterUtils = {}));
167
+ return str;
168
+ }
169
+ /**
170
+ * Parses an array of columns to a column collection. If more headers are
171
+ * provided, the corresponding, empty columns are added.
172
+ *
173
+ * @param {DataTableColumn[]} [columnsArray]
174
+ * Array of columns.
175
+ *
176
+ * @param {string[]} [headers]
177
+ * Column ids to use.
178
+ *
179
+ * @return {DataTableColumnCollection}
180
+ * Parsed columns.
181
+ */
182
+ export function getColumnsCollection(columnsArray = [], headers) {
183
+ const columns = {};
184
+ for (let i = 0, iEnd = Math.max(headers.length, columnsArray.length); i < iEnd; ++i) {
185
+ const columnId = headers[i] || `${i}`;
186
+ columns[columnId] = columnsArray[i] ? columnsArray[i].slice() : [];
187
+ }
188
+ return columns;
189
+ }
211
190
  /* *
212
191
  *
213
192
  * Default Export
214
193
  *
215
194
  * */
195
+ const DataConverterUtils = {
196
+ asBoolean,
197
+ asDate,
198
+ asNumber,
199
+ asString,
200
+ getColumnsCollection,
201
+ guessType,
202
+ trim
203
+ };
216
204
  export default DataConverterUtils;
@@ -1,7 +1,7 @@
1
- import type DataEvent from '../DataEvent';
1
+ import type { DataEventDetail } from '../DataEvent';
2
2
  import type GoogleSheetsConverterOptions from './GoogleSheetsConverterOptions';
3
3
  import DataConverter from './DataConverter.js';
4
- import DataTable from '../DataTable.js';
4
+ import type { ColumnCollection as DataTableColumnCollection } from '../DataTable.js';
5
5
  /**
6
6
  * Handles parsing and transformation of an Google Sheets to a table.
7
7
  *
@@ -30,13 +30,13 @@ declare class GoogleSheetsConverter extends DataConverter {
30
30
  * @param {Partial<GoogleSheetsConverterOptions>}[options]
31
31
  * Options for the parser
32
32
  *
33
- * @param {DataEvent.Detail} [eventDetail]
33
+ * @param {DataEventDetail} [eventDetail]
34
34
  * Custom information for pending events.
35
35
  *
36
36
  * @emits GoogleSheetsParser#parse
37
37
  * @emits GoogleSheetsParser#afterParse
38
38
  */
39
- parse(options: Partial<GoogleSheetsConverterOptions>, eventDetail?: DataEvent.Detail): DataTable.ColumnCollection;
39
+ parse(options: Partial<GoogleSheetsConverterOptions>, eventDetail?: DataEventDetail): DataTableColumnCollection;
40
40
  }
41
41
  declare module './DataConverterType' {
42
42
  interface DataConverterTypes {
@@ -17,8 +17,8 @@
17
17
  'use strict';
18
18
  import DataConverter from './DataConverter.js';
19
19
  import DataConverterUtils from './DataConverterUtils.js';
20
- import U from '../../Core/Utilities.js';
21
- const { merge, uniqueKey } = U;
20
+ import { merge } from '../../Shared/Utilities.js';
21
+ import { uniqueKey } from '../../Core/Utilities.js';
22
22
  /* *
23
23
  *
24
24
  * Class
@@ -58,7 +58,7 @@ class GoogleSheetsConverter extends DataConverter {
58
58
  * @param {Partial<GoogleSheetsConverterOptions>}[options]
59
59
  * Options for the parser
60
60
  *
61
- * @param {DataEvent.Detail} [eventDetail]
61
+ * @param {DataEventDetail} [eventDetail]
62
62
  * Custom information for pending events.
63
63
  *
64
64
  * @emits GoogleSheetsParser#parse
@@ -19,7 +19,7 @@
19
19
 
20
20
  import type { GoogleSheetsBeforeParseCallbackFunction } from '../Connectors/GoogleSheetsConnectorOptions';
21
21
 
22
- import DataConverter from './DataConverter';
22
+ import type { Options as DataConverterOptions } from './DataConverter';
23
23
 
24
24
  /* *
25
25
  *
@@ -30,7 +30,7 @@ import DataConverter from './DataConverter';
30
30
  /**
31
31
  * Options of the GoogleSheetsConverter.
32
32
  */
33
- export interface GoogleSheetsConverterOptions extends DataConverter.Options {
33
+ export interface GoogleSheetsConverterOptions extends DataConverterOptions {
34
34
  json?: GoogleSpreadsheetJSON;
35
35
  beforeParse?: GoogleSheetsBeforeParseCallbackFunction;
36
36
  }
@@ -1,8 +1,8 @@
1
- import type DataEvent from '../DataEvent';
1
+ import type { DataEventDetail } from '../DataEvent';
2
2
  import type DataConnector from '../Connectors/DataConnector';
3
3
  import type HTMLTableConverterOptions from './HTMLTableConverterOptions';
4
4
  import DataConverter from './DataConverter.js';
5
- import DataTable from '../DataTable.js';
5
+ import type { ColumnCollection as DataTableColumnCollection } from '../DataTable.js';
6
6
  /**
7
7
  * Handles parsing and transformation of an HTML table to a table.
8
8
  *
@@ -55,14 +55,14 @@ declare class HTMLTableConverter extends DataConverter {
55
55
  * @param {Partial<HTMLTableConverterOptions>}[options]
56
56
  * Options for the parser
57
57
  *
58
- * @param {DataEvent.Detail} [eventDetail]
58
+ * @param {DataEventDetail} [eventDetail]
59
59
  * Custom information for pending events.
60
60
  *
61
61
  * @emits CSVDataParser#parse
62
62
  * @emits CSVDataParser#afterParse
63
63
  * @emits HTMLTableParser#parseError
64
64
  */
65
- parse(options: Partial<HTMLTableConverterOptions>, eventDetail?: DataEvent.Detail): DataTable.ColumnCollection;
65
+ parse(options: Partial<HTMLTableConverterOptions>, eventDetail?: DataEventDetail): DataTableColumnCollection;
66
66
  }
67
67
  declare module './DataConverterType' {
68
68
  interface DataConverterTypes {
@@ -17,8 +17,7 @@
17
17
  'use strict';
18
18
  import DataConverter from './DataConverter.js';
19
19
  import DataConverterUtils from './DataConverterUtils.js';
20
- import U from '../../Core/Utilities.js';
21
- const { merge } = U;
20
+ import { merge } from '../../Shared/Utilities.js';
22
21
  /* *
23
22
  *
24
23
  * Functions
@@ -249,7 +248,7 @@ class HTMLTableConverter extends DataConverter {
249
248
  * @param {Partial<HTMLTableConverterOptions>}[options]
250
249
  * Options for the parser
251
250
  *
252
- * @param {DataEvent.Detail} [eventDetail]
251
+ * @param {DataEventDetail} [eventDetail]
253
252
  * Custom information for pending events.
254
253
  *
255
254
  * @emits CSVDataParser#parse
@@ -17,7 +17,7 @@
17
17
  *
18
18
  * */
19
19
 
20
- import DataConverter from './DataConverter';
20
+ import type { Options as DataConverterOptions } from './DataConverter';
21
21
 
22
22
  /* *
23
23
  *
@@ -28,7 +28,7 @@ import DataConverter from './DataConverter';
28
28
  /**
29
29
  * Options of the HTMLTableConverter.
30
30
  */
31
- export interface HTMLTableConverterOptions extends DataConverter.Options {
31
+ export interface HTMLTableConverterOptions extends DataConverterOptions {
32
32
  startRow: number;
33
33
  endRow: number;
34
34
  startColumn: number;
@@ -1,7 +1,7 @@
1
- import type DataEvent from '../DataEvent';
1
+ import type { DataEventDetail } from '../DataEvent';
2
2
  import type JSONConverterOptions from './JSONConverterOptions';
3
3
  import DataConverter from './DataConverter.js';
4
- import DataTable from '../DataTable.js';
4
+ import type { ColumnCollection as DataTableColumnCollection } from '../DataTable.js';
5
5
  /**
6
6
  * Handles parsing and transforming JSON to a table.
7
7
  *
@@ -31,17 +31,17 @@ declare class JSONConverter extends DataConverter {
31
31
  * @param {Partial<JSONConverterOptions>}[options]
32
32
  * Options for the parser
33
33
  *
34
- * @param {DataEvent.Detail} [eventDetail]
34
+ * @param {DataEventDetail} [eventDetail]
35
35
  * Custom information for pending events.
36
36
  *
37
37
  * @emits JSONConverter#parse
38
38
  * @emits JSONConverter#afterParse
39
39
  */
40
- parse(options: Partial<JSONConverterOptions>, eventDetail?: DataEvent.Detail): DataTable.ColumnCollection;
40
+ parse(options: Partial<JSONConverterOptions>, eventDetail?: DataEventDetail): DataTableColumnCollection;
41
41
  /**
42
42
  * Helper for parsing data in 'columns' orientation.
43
43
  *
44
- * @param {DataTable.BasicColumn[]} [columnsArray]
44
+ * @param {DataTableBasicColumn[]} [columnsArray]
45
45
  * Array of columns.
46
46
  *
47
47
  * @param {unknown[]} [data]
@@ -59,7 +59,7 @@ declare class JSONConverter extends DataConverter {
59
59
  /**
60
60
  * Helper for parsing data in 'rows' orientation.
61
61
  *
62
- * @param {DataTable.BasicColumn[]} [columnsArray]
62
+ * @param {DataTableBasicColumn[]} [columnsArray]
63
63
  * Array of columns.
64
64
  *
65
65
  * Helper for parsing data in 'rows' orientation.
@@ -73,7 +73,7 @@ declare class JSONConverter extends DataConverter {
73
73
  * @param {Array<string>} [columnIds]
74
74
  * Column ids to retrieve.
75
75
  *
76
- * @return {DataTable.BasicColumn[]}
76
+ * @return {DataTableBasicColumn[]}
77
77
  * Parsed columns.
78
78
  */
79
79
  private parseRowsOrientation;
@@ -14,8 +14,8 @@
14
14
  'use strict';
15
15
  import DataConverter from './DataConverter.js';
16
16
  import DataConverterUtils from './DataConverterUtils.js';
17
- import U from '../../Core/Utilities.js';
18
- const { error, isArray, merge, objectEach } = U;
17
+ import { isArray, merge, objectEach } from '../../Shared/Utilities.js';
18
+ import { error } from '../../Core/Utilities.js';
19
19
  /* *
20
20
  *
21
21
  * Class
@@ -61,7 +61,7 @@ class JSONConverter extends DataConverter {
61
61
  * @param {Partial<JSONConverterOptions>}[options]
62
62
  * Options for the parser
63
63
  *
64
- * @param {DataEvent.Detail} [eventDetail]
64
+ * @param {DataEventDetail} [eventDetail]
65
65
  * Custom information for pending events.
66
66
  *
67
67
  * @emits JSONConverter#parse
@@ -104,7 +104,7 @@ class JSONConverter extends DataConverter {
104
104
  /**
105
105
  * Helper for parsing data in 'columns' orientation.
106
106
  *
107
- * @param {DataTable.BasicColumn[]} [columnsArray]
107
+ * @param {DataTableBasicColumn[]} [columnsArray]
108
108
  * Array of columns.
109
109
  *
110
110
  * @param {unknown[]} [data]
@@ -142,7 +142,7 @@ class JSONConverter extends DataConverter {
142
142
  /**
143
143
  * Helper for parsing data in 'rows' orientation.
144
144
  *
145
- * @param {DataTable.BasicColumn[]} [columnsArray]
145
+ * @param {DataTableBasicColumn[]} [columnsArray]
146
146
  * Array of columns.
147
147
  *
148
148
  * Helper for parsing data in 'rows' orientation.
@@ -156,7 +156,7 @@ class JSONConverter extends DataConverter {
156
156
  * @param {Array<string>} [columnIds]
157
157
  * Column ids to retrieve.
158
158
  *
159
- * @return {DataTable.BasicColumn[]}
159
+ * @return {DataTableBasicColumn[]}
160
160
  * Parsed columns.
161
161
  */
162
162
  parseRowsOrientation(columnsArray, data, firstRowAsNames, columnIds) {
@@ -22,7 +22,7 @@ import type {
22
22
  JSONBeforeParseCallbackFunction
23
23
  } from '../Connectors/JSONConnectorOptions';
24
24
 
25
- import DataConverter from './DataConverter';
25
+ import type { Options as DataConverterOptions } from './DataConverter';
26
26
 
27
27
  /* *
28
28
  *
@@ -33,7 +33,7 @@ import DataConverter from './DataConverter';
33
33
  /**
34
34
  * Options of the JSONConverter.
35
35
  */
36
- export interface JSONConverterOptions extends DataConverter.Options {
36
+ export interface JSONConverterOptions extends DataConverterOptions {
37
37
  orientation: 'columns' | 'rows';
38
38
  data?: JSONData;
39
39
  columnIds?: string[] | ColumnIdsOptions;