@3mo/data-grid 0.0.1

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 (438) hide show
  1. package/dist/Checkbox/Checkbox.d.ts +37 -0
  2. package/dist/Checkbox/Checkbox.d.ts.map +1 -0
  3. package/dist/Checkbox/index.d.ts +2 -0
  4. package/dist/Checkbox/index.d.ts.map +1 -0
  5. package/dist/Color/Color.d.ts +18 -0
  6. package/dist/Color/Color.d.ts.map +1 -0
  7. package/dist/Color/index.d.ts +2 -0
  8. package/dist/Color/index.d.ts.map +1 -0
  9. package/dist/ColumnDefinition.d.ts +16 -0
  10. package/dist/ColumnDefinition.d.ts.map +1 -0
  11. package/dist/ColumnDefinition.js +1 -0
  12. package/dist/ContextMenu/ContextMenu.d.ts +16 -0
  13. package/dist/ContextMenu/ContextMenu.d.ts.map +1 -0
  14. package/dist/ContextMenu/ContextMenuDirective.d.ts +13 -0
  15. package/dist/ContextMenu/ContextMenuDirective.d.ts.map +1 -0
  16. package/dist/ContextMenu/ContextMenuItem.d.ts +10 -0
  17. package/dist/ContextMenu/ContextMenuItem.d.ts.map +1 -0
  18. package/dist/ContextMenu/index.d.ts +4 -0
  19. package/dist/ContextMenu/index.d.ts.map +1 -0
  20. package/dist/CsvGenerator.d.ts +4 -0
  21. package/dist/CsvGenerator.d.ts.map +1 -0
  22. package/dist/CsvGenerator.js +22 -0
  23. package/dist/DataGrid/ColumnDefinition.d.ts +16 -0
  24. package/dist/DataGrid/ColumnDefinition.d.ts.map +1 -0
  25. package/dist/DataGrid/CsvGenerator.d.ts +4 -0
  26. package/dist/DataGrid/CsvGenerator.d.ts.map +1 -0
  27. package/dist/DataGrid/DataGrid.d.ts +230 -0
  28. package/dist/DataGrid/DataGrid.d.ts.map +1 -0
  29. package/dist/DataGrid/DataGridCell.d.ts +27 -0
  30. package/dist/DataGrid/DataGridCell.d.ts.map +1 -0
  31. package/dist/DataGrid/DataGridFooter.d.ts +27 -0
  32. package/dist/DataGrid/DataGridFooter.d.ts.map +1 -0
  33. package/dist/DataGrid/DataGridHeader.d.ts +32 -0
  34. package/dist/DataGrid/DataGridHeader.d.ts.map +1 -0
  35. package/dist/DataGrid/DataGridHeaderSeparator.d.ts +25 -0
  36. package/dist/DataGrid/DataGridHeaderSeparator.d.ts.map +1 -0
  37. package/dist/DataGrid/DataGridPrimaryContextMenuItem.d.ts +10 -0
  38. package/dist/DataGrid/DataGridPrimaryContextMenuItem.d.ts.map +1 -0
  39. package/dist/DataGrid/DataGridSidePanel.d.ts +26 -0
  40. package/dist/DataGrid/DataGridSidePanel.d.ts.map +1 -0
  41. package/dist/DataGrid/FieldSelectDataGridPageSize.d.ts +14 -0
  42. package/dist/DataGrid/FieldSelectDataGridPageSize.d.ts.map +1 -0
  43. package/dist/DataGrid/columns/DataGridColumn.d.ts +31 -0
  44. package/dist/DataGrid/columns/DataGridColumn.d.ts.map +1 -0
  45. package/dist/DataGrid/columns/DataGridColumnBoolean.d.ts +24 -0
  46. package/dist/DataGrid/columns/DataGridColumnBoolean.d.ts.map +1 -0
  47. package/dist/DataGrid/columns/DataGridColumnCurrency.d.ts +13 -0
  48. package/dist/DataGrid/columns/DataGridColumnCurrency.d.ts.map +1 -0
  49. package/dist/DataGrid/columns/DataGridColumnDate.d.ts +16 -0
  50. package/dist/DataGrid/columns/DataGridColumnDate.d.ts.map +1 -0
  51. package/dist/DataGrid/columns/DataGridColumnImage.d.ts +12 -0
  52. package/dist/DataGrid/columns/DataGridColumnImage.d.ts.map +1 -0
  53. package/dist/DataGrid/columns/DataGridColumnNumber.d.ts +13 -0
  54. package/dist/DataGrid/columns/DataGridColumnNumber.d.ts.map +1 -0
  55. package/dist/DataGrid/columns/DataGridColumnNumberBase.d.ts +22 -0
  56. package/dist/DataGrid/columns/DataGridColumnNumberBase.d.ts.map +1 -0
  57. package/dist/DataGrid/columns/DataGridColumnPercent.d.ts +13 -0
  58. package/dist/DataGrid/columns/DataGridColumnPercent.d.ts.map +1 -0
  59. package/dist/DataGrid/columns/DataGridColumnText.d.ts +12 -0
  60. package/dist/DataGrid/columns/DataGridColumnText.d.ts.map +1 -0
  61. package/dist/DataGrid/columns/DataGridFooterSum.d.ts +17 -0
  62. package/dist/DataGrid/columns/DataGridFooterSum.d.ts.map +1 -0
  63. package/dist/DataGrid/columns/index.d.ts +11 -0
  64. package/dist/DataGrid/columns/index.d.ts.map +1 -0
  65. package/dist/DataGrid/index.d.ts +26 -0
  66. package/dist/DataGrid/index.d.ts.map +1 -0
  67. package/dist/DataGrid/rows/DataGridDefaultRow.d.ts +12 -0
  68. package/dist/DataGrid/rows/DataGridDefaultRow.d.ts.map +1 -0
  69. package/dist/DataGrid/rows/DataGridRow.d.ts +51 -0
  70. package/dist/DataGrid/rows/DataGridRow.d.ts.map +1 -0
  71. package/dist/DataGrid/rows/index.d.ts +3 -0
  72. package/dist/DataGrid/rows/index.d.ts.map +1 -0
  73. package/dist/DataGrid.d.ts +230 -0
  74. package/dist/DataGrid.d.ts.map +1 -0
  75. package/dist/DataGrid.js +977 -0
  76. package/dist/DataGridCell.d.ts +27 -0
  77. package/dist/DataGridCell.d.ts.map +1 -0
  78. package/dist/DataGridCell.js +92 -0
  79. package/dist/DataGridFooter.d.ts +27 -0
  80. package/dist/DataGridFooter.d.ts.map +1 -0
  81. package/dist/DataGridFooter.js +186 -0
  82. package/dist/DataGridHeader.d.ts +32 -0
  83. package/dist/DataGridHeader.d.ts.map +1 -0
  84. package/dist/DataGridHeader.js +199 -0
  85. package/dist/DataGridHeaderSeparator.d.ts +25 -0
  86. package/dist/DataGridHeaderSeparator.d.ts.map +1 -0
  87. package/dist/DataGridHeaderSeparator.js +129 -0
  88. package/dist/DataGridPrimaryContextMenuItem.d.ts +10 -0
  89. package/dist/DataGridPrimaryContextMenuItem.d.ts.map +1 -0
  90. package/dist/DataGridPrimaryContextMenuItem.js +17 -0
  91. package/dist/DataGridSidePanel.d.ts +26 -0
  92. package/dist/DataGridSidePanel.d.ts.map +1 -0
  93. package/dist/DataGridSidePanel.js +150 -0
  94. package/dist/DateTime/DateTime.d.ts +48 -0
  95. package/dist/DateTime/DateTime.d.ts.map +1 -0
  96. package/dist/DateTime/DateTimeRange.d.ts +23 -0
  97. package/dist/DateTime/DateTimeRange.d.ts.map +1 -0
  98. package/dist/DateTime/TimeSpan.d.ts +40 -0
  99. package/dist/DateTime/TimeSpan.d.ts.map +1 -0
  100. package/dist/DateTime/index.d.ts +4 -0
  101. package/dist/DateTime/index.d.ts.map +1 -0
  102. package/dist/DateTimeFields/DateParser.d.ts +9 -0
  103. package/dist/DateTimeFields/DateParser.d.ts.map +1 -0
  104. package/dist/DateTimeFields/DateRangeParser.d.ts +7 -0
  105. package/dist/DateTimeFields/DateRangeParser.d.ts.map +1 -0
  106. package/dist/DateTimeFields/FieldDate.d.ts +22 -0
  107. package/dist/DateTimeFields/FieldDate.d.ts.map +1 -0
  108. package/dist/DateTimeFields/FieldDateBase.d.ts +29 -0
  109. package/dist/DateTimeFields/FieldDateBase.d.ts.map +1 -0
  110. package/dist/DateTimeFields/FieldDateRange.d.ts +34 -0
  111. package/dist/DateTimeFields/FieldDateRange.d.ts.map +1 -0
  112. package/dist/DateTimeFields/FieldTime.d.ts +11 -0
  113. package/dist/DateTimeFields/FieldTime.d.ts.map +1 -0
  114. package/dist/DateTimeFields/calendar/Calendar.d.ts +30 -0
  115. package/dist/DateTimeFields/calendar/Calendar.d.ts.map +1 -0
  116. package/dist/DateTimeFields/calendar/CalendarSelectionAdapter.d.ts +11 -0
  117. package/dist/DateTimeFields/calendar/CalendarSelectionAdapter.d.ts.map +1 -0
  118. package/dist/DateTimeFields/calendar/SelectableCalendar.d.ts +16 -0
  119. package/dist/DateTimeFields/calendar/SelectableCalendar.d.ts.map +1 -0
  120. package/dist/DateTimeFields/calendar/index.d.ts +4 -0
  121. package/dist/DateTimeFields/calendar/index.d.ts.map +1 -0
  122. package/dist/DateTimeFields/index.d.ts +11 -0
  123. package/dist/DateTimeFields/index.d.ts.map +1 -0
  124. package/dist/Downloader/Downloader.d.ts +4 -0
  125. package/dist/Downloader/Downloader.d.ts.map +1 -0
  126. package/dist/Downloader/index.d.ts +2 -0
  127. package/dist/Downloader/index.d.ts.map +1 -0
  128. package/dist/EmptyState/EmptyState.d.ts +20 -0
  129. package/dist/EmptyState/EmptyState.d.ts.map +1 -0
  130. package/dist/EmptyState/index.d.ts +5 -0
  131. package/dist/EmptyState/index.d.ts.map +1 -0
  132. package/dist/FetchableSelectField/FieldFetchableSelect.d.ts +38 -0
  133. package/dist/FetchableSelectField/FieldFetchableSelect.d.ts.map +1 -0
  134. package/dist/FetchableSelectField/index.d.ts +2 -0
  135. package/dist/FetchableSelectField/index.d.ts.map +1 -0
  136. package/dist/FetcherController/Enqueuer.d.ts +10 -0
  137. package/dist/FetcherController/Enqueuer.d.ts.map +1 -0
  138. package/dist/FetcherController/FetcherController.d.ts +23 -0
  139. package/dist/FetcherController/FetcherController.d.ts.map +1 -0
  140. package/dist/FetcherController/Throttler.d.ts +8 -0
  141. package/dist/FetcherController/Throttler.d.ts.map +1 -0
  142. package/dist/FetcherController/index.d.ts +4 -0
  143. package/dist/FetcherController/index.d.ts.map +1 -0
  144. package/dist/Field/Field.d.ts +36 -0
  145. package/dist/Field/Field.d.ts.map +1 -0
  146. package/dist/Field/FieldComponent.d.ts +51 -0
  147. package/dist/Field/FieldComponent.d.ts.map +1 -0
  148. package/dist/Field/InputFieldComponent.d.ts +30 -0
  149. package/dist/Field/InputFieldComponent.d.ts.map +1 -0
  150. package/dist/Field/InputFieldComponent.test.d.ts +23 -0
  151. package/dist/Field/InputFieldComponent.test.d.ts.map +1 -0
  152. package/dist/Field/index.d.ts +5 -0
  153. package/dist/Field/index.d.ts.map +1 -0
  154. package/dist/FieldSelectDataGridPageSize.d.ts +14 -0
  155. package/dist/FieldSelectDataGridPageSize.d.ts.map +1 -0
  156. package/dist/FieldSelectDataGridPageSize.js +23 -0
  157. package/dist/Flex/AsteriskSyntaxStyleHandler.d.ts +9 -0
  158. package/dist/Flex/AsteriskSyntaxStyleHandler.d.ts.map +1 -0
  159. package/dist/Flex/Flex.d.ts +39 -0
  160. package/dist/Flex/Flex.d.ts.map +1 -0
  161. package/dist/Flex/index.d.ts +3 -0
  162. package/dist/Flex/index.d.ts.map +1 -0
  163. package/dist/FocusController/FocusController.d.ts +17 -0
  164. package/dist/FocusController/FocusController.d.ts.map +1 -0
  165. package/dist/FocusController/index.d.ts +2 -0
  166. package/dist/FocusController/index.d.ts.map +1 -0
  167. package/dist/Grid/Grid.d.ts +50 -0
  168. package/dist/Grid/Grid.d.ts.map +1 -0
  169. package/dist/Grid/index.d.ts +2 -0
  170. package/dist/Grid/index.d.ts.map +1 -0
  171. package/dist/Heading/Heading.d.ts +29 -0
  172. package/dist/Heading/Heading.d.ts.map +1 -0
  173. package/dist/Heading/index.d.ts +2 -0
  174. package/dist/Heading/index.d.ts.map +1 -0
  175. package/dist/Icon/Icon.d.ts +33 -0
  176. package/dist/Icon/Icon.d.ts.map +1 -0
  177. package/dist/Icon/MaterialIcon.d.ts +2 -0
  178. package/dist/Icon/MaterialIcon.d.ts.map +1 -0
  179. package/dist/Icon/index.d.ts +3 -0
  180. package/dist/Icon/index.d.ts.map +1 -0
  181. package/dist/IconButton/IconButton.d.ts +24 -0
  182. package/dist/IconButton/IconButton.d.ts.map +1 -0
  183. package/dist/IconButton/index.d.ts +3 -0
  184. package/dist/IconButton/index.d.ts.map +1 -0
  185. package/dist/InstanceofAttributeController/InstanceofAttributeController.d.ts +9 -0
  186. package/dist/InstanceofAttributeController/InstanceofAttributeController.d.ts.map +1 -0
  187. package/dist/InstanceofAttributeController/index.d.ts +2 -0
  188. package/dist/InstanceofAttributeController/index.d.ts.map +1 -0
  189. package/dist/KeyPath/KeyPath.d.ts +16 -0
  190. package/dist/KeyPath/KeyPath.d.ts.map +1 -0
  191. package/dist/KeyPath/index.d.ts +2 -0
  192. package/dist/KeyPath/index.d.ts.map +1 -0
  193. package/dist/KeyboardController/KeyboardController.d.ts +11 -0
  194. package/dist/KeyboardController/KeyboardController.d.ts.map +1 -0
  195. package/dist/KeyboardController/index.d.ts +2 -0
  196. package/dist/KeyboardController/index.d.ts.map +1 -0
  197. package/dist/List/CheckboxListItem.d.ts +31 -0
  198. package/dist/List/CheckboxListItem.d.ts.map +1 -0
  199. package/dist/List/CollapsibleListItem.d.ts +23 -0
  200. package/dist/List/CollapsibleListItem.d.ts.map +1 -0
  201. package/dist/List/List.d.ts +25 -0
  202. package/dist/List/List.d.ts.map +1 -0
  203. package/dist/List/ListItem.d.ts +25 -0
  204. package/dist/List/ListItem.d.ts.map +1 -0
  205. package/dist/List/ListItemRipple.d.ts +24 -0
  206. package/dist/List/ListItemRipple.d.ts.map +1 -0
  207. package/dist/List/ListItemsKeyboardController.d.ts +41 -0
  208. package/dist/List/ListItemsKeyboardController.d.ts.map +1 -0
  209. package/dist/List/RadioListItem.d.ts +29 -0
  210. package/dist/List/RadioListItem.d.ts.map +1 -0
  211. package/dist/List/SelectableList.d.ts +33 -0
  212. package/dist/List/SelectableList.d.ts.map +1 -0
  213. package/dist/List/SelectableListItem.d.ts +19 -0
  214. package/dist/List/SelectableListItem.d.ts.map +1 -0
  215. package/dist/List/SelectionListItem.d.ts +13 -0
  216. package/dist/List/SelectionListItem.d.ts.map +1 -0
  217. package/dist/List/SelectionListItemWithControl.d.ts +8 -0
  218. package/dist/List/SelectionListItemWithControl.d.ts.map +1 -0
  219. package/dist/List/SwitchListItem.d.ts +25 -0
  220. package/dist/List/SwitchListItem.d.ts.map +1 -0
  221. package/dist/List/index.d.ts +13 -0
  222. package/dist/List/index.d.ts.map +1 -0
  223. package/dist/MediaQueryObserver/MediaQueryController.d.ts +12 -0
  224. package/dist/MediaQueryObserver/MediaQueryController.d.ts.map +1 -0
  225. package/dist/MediaQueryObserver/index.d.ts +2 -0
  226. package/dist/MediaQueryObserver/index.d.ts.map +1 -0
  227. package/dist/Menu/Menu.d.ts +53 -0
  228. package/dist/Menu/Menu.d.ts.map +1 -0
  229. package/dist/Menu/MenuController.d.ts +13 -0
  230. package/dist/Menu/MenuController.d.ts.map +1 -0
  231. package/dist/Menu/MenuItem.d.ts +18 -0
  232. package/dist/Menu/MenuItem.d.ts.map +1 -0
  233. package/dist/Menu/MenuPlacement.d.ts +2 -0
  234. package/dist/Menu/MenuPlacement.d.ts.map +1 -0
  235. package/dist/Menu/NestedMenuItem.d.ts +27 -0
  236. package/dist/Menu/NestedMenuItem.d.ts.map +1 -0
  237. package/dist/Menu/index.d.ts +7 -0
  238. package/dist/Menu/index.d.ts.map +1 -0
  239. package/dist/MutationObserver/MutationController.d.ts +2 -0
  240. package/dist/MutationObserver/MutationController.d.ts.map +1 -0
  241. package/dist/MutationObserver/index.d.ts +3 -0
  242. package/dist/MutationObserver/index.d.ts.map +1 -0
  243. package/dist/MutationObserver/observeMutation.d.ts +12 -0
  244. package/dist/MutationObserver/observeMutation.d.ts.map +1 -0
  245. package/dist/NumberFields/FieldCurrency.d.ts +22 -0
  246. package/dist/NumberFields/FieldCurrency.d.ts.map +1 -0
  247. package/dist/NumberFields/FieldNumber.d.ts +28 -0
  248. package/dist/NumberFields/FieldNumber.d.ts.map +1 -0
  249. package/dist/NumberFields/FieldPercent.d.ts +19 -0
  250. package/dist/NumberFields/FieldPercent.d.ts.map +1 -0
  251. package/dist/NumberFields/index.d.ts +6 -0
  252. package/dist/NumberFields/index.d.ts.map +1 -0
  253. package/dist/PointerController/PointerController.d.ts +16 -0
  254. package/dist/PointerController/PointerController.d.ts.map +1 -0
  255. package/dist/PointerController/index.d.ts +2 -0
  256. package/dist/PointerController/index.d.ts.map +1 -0
  257. package/dist/Popover/Popover.d.ts +38 -0
  258. package/dist/Popover/Popover.d.ts.map +1 -0
  259. package/dist/Popover/PopoverAlignment.d.ts +6 -0
  260. package/dist/Popover/PopoverAlignment.d.ts.map +1 -0
  261. package/dist/Popover/PopoverContainer.d.ts +26 -0
  262. package/dist/Popover/PopoverContainer.d.ts.map +1 -0
  263. package/dist/Popover/PopoverController.d.ts +20 -0
  264. package/dist/Popover/PopoverController.d.ts.map +1 -0
  265. package/dist/Popover/PopoverCoordinates.d.ts +2 -0
  266. package/dist/Popover/PopoverCoordinates.d.ts.map +1 -0
  267. package/dist/Popover/PopoverHost.d.ts +11 -0
  268. package/dist/Popover/PopoverHost.d.ts.map +1 -0
  269. package/dist/Popover/PopoverPlacement.d.ts +7 -0
  270. package/dist/Popover/PopoverPlacement.d.ts.map +1 -0
  271. package/dist/Popover/index.d.ts +7 -0
  272. package/dist/Popover/index.d.ts.map +1 -0
  273. package/dist/Radio/Radio.d.ts +33 -0
  274. package/dist/Radio/Radio.d.ts.map +1 -0
  275. package/dist/Radio/index.d.ts +2 -0
  276. package/dist/Radio/index.d.ts.map +1 -0
  277. package/dist/ResizeObserver/ResizeController.d.ts +2 -0
  278. package/dist/ResizeObserver/ResizeController.d.ts.map +1 -0
  279. package/dist/ResizeObserver/index.d.ts +3 -0
  280. package/dist/ResizeObserver/index.d.ts.map +1 -0
  281. package/dist/ResizeObserver/observeResize.d.ts +12 -0
  282. package/dist/ResizeObserver/observeResize.d.ts.map +1 -0
  283. package/dist/SelectField/FieldSelect.d.ts +63 -0
  284. package/dist/SelectField/FieldSelect.d.ts.map +1 -0
  285. package/dist/SelectField/Option.d.ts +27 -0
  286. package/dist/SelectField/Option.d.ts.map +1 -0
  287. package/dist/SelectField/SelectValueController.d.ts +27 -0
  288. package/dist/SelectField/SelectValueController.d.ts.map +1 -0
  289. package/dist/SelectField/index.d.ts +6 -0
  290. package/dist/SelectField/index.d.ts.map +1 -0
  291. package/dist/SlotController/SlotController.d.ts +19 -0
  292. package/dist/SlotController/SlotController.d.ts.map +1 -0
  293. package/dist/SlotController/index.d.ts +2 -0
  294. package/dist/SlotController/index.d.ts.map +1 -0
  295. package/dist/Splitter/Splitter.d.ts +36 -0
  296. package/dist/Splitter/Splitter.d.ts.map +1 -0
  297. package/dist/Splitter/SplitterItem.d.ts +26 -0
  298. package/dist/Splitter/SplitterItem.d.ts.map +1 -0
  299. package/dist/Splitter/SplitterResizerHost.d.ts +35 -0
  300. package/dist/Splitter/SplitterResizerHost.d.ts.map +1 -0
  301. package/dist/Splitter/index.d.ts +5 -0
  302. package/dist/Splitter/index.d.ts.map +1 -0
  303. package/dist/Splitter/resizers/SplitterResizer.d.ts +8 -0
  304. package/dist/Splitter/resizers/SplitterResizer.d.ts.map +1 -0
  305. package/dist/Splitter/resizers/SplitterResizerKnob.d.ts +11 -0
  306. package/dist/Splitter/resizers/SplitterResizerKnob.d.ts.map +1 -0
  307. package/dist/Splitter/resizers/SplitterResizerLine.d.ts +11 -0
  308. package/dist/Splitter/resizers/SplitterResizerLine.d.ts.map +1 -0
  309. package/dist/Splitter/resizers/index.d.ts +4 -0
  310. package/dist/Splitter/resizers/index.d.ts.map +1 -0
  311. package/dist/Switch/Switch.d.ts +35 -0
  312. package/dist/Switch/Switch.d.ts.map +1 -0
  313. package/dist/Switch/index.d.ts +2 -0
  314. package/dist/Switch/index.d.ts.map +1 -0
  315. package/dist/TextFields/FieldEmail.d.ts +17 -0
  316. package/dist/TextFields/FieldEmail.d.ts.map +1 -0
  317. package/dist/TextFields/FieldPassword.d.ts +17 -0
  318. package/dist/TextFields/FieldPassword.d.ts.map +1 -0
  319. package/dist/TextFields/FieldSearch.d.ts +16 -0
  320. package/dist/TextFields/FieldSearch.d.ts.map +1 -0
  321. package/dist/TextFields/FieldText.d.ts +30 -0
  322. package/dist/TextFields/FieldText.d.ts.map +1 -0
  323. package/dist/TextFields/FieldTextArea.d.ts +28 -0
  324. package/dist/TextFields/FieldTextArea.d.ts.map +1 -0
  325. package/dist/TextFields/index.d.ts +8 -0
  326. package/dist/TextFields/index.d.ts.map +1 -0
  327. package/dist/Theme/Accent.d.ts +14 -0
  328. package/dist/Theme/Accent.d.ts.map +1 -0
  329. package/dist/Theme/Background.d.ts +12 -0
  330. package/dist/Theme/Background.d.ts.map +1 -0
  331. package/dist/Theme/ColorSet.d.ts +7 -0
  332. package/dist/Theme/ColorSet.d.ts.map +1 -0
  333. package/dist/Theme/Theme.d.ts +7 -0
  334. package/dist/Theme/Theme.d.ts.map +1 -0
  335. package/dist/Theme/ThemeController.d.ts +10 -0
  336. package/dist/Theme/ThemeController.d.ts.map +1 -0
  337. package/dist/Theme/index.d.ts +7 -0
  338. package/dist/Theme/index.d.ts.map +1 -0
  339. package/dist/Theme/styles.css.d.ts +2 -0
  340. package/dist/Theme/styles.css.d.ts.map +1 -0
  341. package/dist/Tooltip/Tooltip.d.ts +25 -0
  342. package/dist/Tooltip/Tooltip.d.ts.map +1 -0
  343. package/dist/Tooltip/TooltipDirective.d.ts +13 -0
  344. package/dist/Tooltip/TooltipDirective.d.ts.map +1 -0
  345. package/dist/Tooltip/TooltipPlacement.d.ts +2 -0
  346. package/dist/Tooltip/TooltipPlacement.d.ts.map +1 -0
  347. package/dist/Tooltip/index.d.ts +5 -0
  348. package/dist/Tooltip/index.d.ts.map +1 -0
  349. package/dist/bundle.js +310 -0
  350. package/dist/columns/DataGridColumn.d.ts +31 -0
  351. package/dist/columns/DataGridColumn.d.ts.map +1 -0
  352. package/dist/columns/DataGridColumn.js +81 -0
  353. package/dist/columns/DataGridColumnBoolean.d.ts +24 -0
  354. package/dist/columns/DataGridColumnBoolean.d.ts.map +1 -0
  355. package/dist/columns/DataGridColumnBoolean.js +52 -0
  356. package/dist/columns/DataGridColumnCurrency.d.ts +13 -0
  357. package/dist/columns/DataGridColumnCurrency.d.ts.map +1 -0
  358. package/dist/columns/DataGridColumnCurrency.js +28 -0
  359. package/dist/columns/DataGridColumnDate.d.ts +16 -0
  360. package/dist/columns/DataGridColumnDate.d.ts.map +1 -0
  361. package/dist/columns/DataGridColumnDate.js +35 -0
  362. package/dist/columns/DataGridColumnImage.d.ts +12 -0
  363. package/dist/columns/DataGridColumnImage.d.ts.map +1 -0
  364. package/dist/columns/DataGridColumnImage.js +19 -0
  365. package/dist/columns/DataGridColumnNumber.d.ts +13 -0
  366. package/dist/columns/DataGridColumnNumber.d.ts.map +1 -0
  367. package/dist/columns/DataGridColumnNumber.js +26 -0
  368. package/dist/columns/DataGridColumnNumberBase.d.ts +22 -0
  369. package/dist/columns/DataGridColumnNumberBase.d.ts.map +1 -0
  370. package/dist/columns/DataGridColumnNumberBase.js +19 -0
  371. package/dist/columns/DataGridColumnPercent.d.ts +13 -0
  372. package/dist/columns/DataGridColumnPercent.d.ts.map +1 -0
  373. package/dist/columns/DataGridColumnPercent.js +27 -0
  374. package/dist/columns/DataGridColumnText.d.ts +12 -0
  375. package/dist/columns/DataGridColumnText.d.ts.map +1 -0
  376. package/dist/columns/DataGridColumnText.js +22 -0
  377. package/dist/columns/DataGridFooterSum.d.ts +17 -0
  378. package/dist/columns/DataGridFooterSum.d.ts.map +1 -0
  379. package/dist/columns/DataGridFooterSum.js +46 -0
  380. package/dist/columns/index.d.ts +11 -0
  381. package/dist/columns/index.d.ts.map +1 -0
  382. package/dist/columns/index.js +10 -0
  383. package/dist/disabledProperty/disabledProperty.d.ts +6 -0
  384. package/dist/disabledProperty/disabledProperty.d.ts.map +1 -0
  385. package/dist/disabledProperty/index.d.ts +2 -0
  386. package/dist/disabledProperty/index.d.ts.map +1 -0
  387. package/dist/index.d.ts +26 -0
  388. package/dist/index.d.ts.map +1 -0
  389. package/dist/index.js +25 -0
  390. package/dist/localization/CardinalPluralizationRulesByLanguage.d.ts +13 -0
  391. package/dist/localization/CardinalPluralizationRulesByLanguage.d.ts.map +1 -0
  392. package/dist/localization/DirectionsByLanguage.d.ts +11 -0
  393. package/dist/localization/DirectionsByLanguage.d.ts.map +1 -0
  394. package/dist/localization/LanguageCode.d.ts +187 -0
  395. package/dist/localization/LanguageCode.d.ts.map +1 -0
  396. package/dist/localization/LanguageController.d.ts +10 -0
  397. package/dist/localization/LanguageController.d.ts.map +1 -0
  398. package/dist/localization/Localizer.d.ts +41 -0
  399. package/dist/localization/Localizer.d.ts.map +1 -0
  400. package/dist/localization/formatters/Currency.d.ts +373 -0
  401. package/dist/localization/formatters/Currency.d.ts.map +1 -0
  402. package/dist/localization/formatters/Date.format.d.ts +31 -0
  403. package/dist/localization/formatters/Date.format.d.ts.map +1 -0
  404. package/dist/localization/formatters/Date.formatAsDate.d.ts +9 -0
  405. package/dist/localization/formatters/Date.formatAsDate.d.ts.map +1 -0
  406. package/dist/localization/formatters/Date.formatAsTime.d.ts +9 -0
  407. package/dist/localization/formatters/Date.formatAsTime.d.ts.map +1 -0
  408. package/dist/localization/formatters/Number.format.d.ts +9 -0
  409. package/dist/localization/formatters/Number.format.d.ts.map +1 -0
  410. package/dist/localization/formatters/Number.formatAsCurrency.d.ts +12 -0
  411. package/dist/localization/formatters/Number.formatAsCurrency.d.ts.map +1 -0
  412. package/dist/localization/formatters/Number.formatAsPercent.d.ts +9 -0
  413. package/dist/localization/formatters/Number.formatAsPercent.d.ts.map +1 -0
  414. package/dist/localization/formatters/Number.formatAsUnit.d.ts +11 -0
  415. package/dist/localization/formatters/Number.formatAsUnit.d.ts.map +1 -0
  416. package/dist/localization/formatters/OptionsWithLanguage.d.ts +5 -0
  417. package/dist/localization/formatters/OptionsWithLanguage.d.ts.map +1 -0
  418. package/dist/localization/formatters/String.toNumber.d.ts +7 -0
  419. package/dist/localization/formatters/String.toNumber.d.ts.map +1 -0
  420. package/dist/localization/formatters/index.d.ts +10 -0
  421. package/dist/localization/formatters/index.d.ts.map +1 -0
  422. package/dist/localization/index.d.ts +7 -0
  423. package/dist/localization/index.d.ts.map +1 -0
  424. package/dist/queryConnectedInstances/index.d.ts +2 -0
  425. package/dist/queryConnectedInstances/index.d.ts.map +1 -0
  426. package/dist/queryConnectedInstances/queryConnectedInstances.d.ts +3 -0
  427. package/dist/queryConnectedInstances/queryConnectedInstances.d.ts.map +1 -0
  428. package/dist/rows/DataGridDefaultRow.d.ts +12 -0
  429. package/dist/rows/DataGridDefaultRow.d.ts.map +1 -0
  430. package/dist/rows/DataGridDefaultRow.js +69 -0
  431. package/dist/rows/DataGridRow.d.ts +51 -0
  432. package/dist/rows/DataGridRow.d.ts.map +1 -0
  433. package/dist/rows/DataGridRow.js +339 -0
  434. package/dist/rows/index.d.ts +3 -0
  435. package/dist/rows/index.d.ts.map +1 -0
  436. package/dist/rows/index.js +2 -0
  437. package/dist/tsconfig.tsbuildinfo +1 -0
  438. package/package.json +50 -0
@@ -0,0 +1,977 @@
1
+ var DataGrid_1;
2
+ import { __decorate } from "tslib";
3
+ import { property, component, Component, html, css, live, query, nothing, ifDefined, event, queryAll, style, literal, staticHtml } from '@a11d/lit';
4
+ import { NotificationHost } from '@a11d/lit-application';
5
+ import { LocalStorage } from '@a11d/local-storage';
6
+ import { InstanceofAttributeController } from '@3mo/instanceof-attribute-controller';
7
+ import { SlotController } from '@3mo/slot-controller';
8
+ import { tooltip } from '@3mo/tooltip';
9
+ import { observeMutation } from '@3mo/mutation-observer';
10
+ import { MediaQueryController } from '@3mo/media-query-observer';
11
+ import { observeResize } from '@3mo/resize-observer';
12
+ import { Localizer } from '@3mo/localization';
13
+ import { contextMenu } from '@3mo/context-menu';
14
+ import { CsvGenerator, DataGridColumn } from './index.js';
15
+ Localizer.register("en" /* LanguageCode.English */, {
16
+ '${count:pluralityNumber} entries selected': [
17
+ '1 entry selected',
18
+ '${count} entries selected',
19
+ ]
20
+ });
21
+ Localizer.register("de" /* LanguageCode.German */, {
22
+ 'Exporting excel file': 'Die Excel-Datei wird exportiert',
23
+ 'No results': 'Kein Ergebnis',
24
+ '${count:pluralityNumber} entries selected': [
25
+ '1 Eintrag ausgewählt',
26
+ '${count} Einträge ausgewählt',
27
+ ],
28
+ 'Options': 'Optionen',
29
+ 'More Filters': 'Weitere Filter',
30
+ 'Deselect All': 'Alle deselektieren',
31
+ });
32
+ /**
33
+ * @element mo-data-grid
34
+ *
35
+ * @attr data - The data to be displayed in the DataGrid. It is an array of objects, where each object represents a row.
36
+ * @attr columns - The columns to be displayed in the DataGrid. It is an array of objects, where each object represents a column.
37
+ * @attr headerHidden - Whether the header should be hidden.
38
+ * @attr preventVerticalContentScroll - Whether the content should be prevented from scrolling vertically.
39
+ * @attr page - The current page.
40
+ * @attr pagination - The pagination mode. It can be either `auto` or a number.
41
+ * @attr sorting - The sorting mode. It is an object with `selector` and `strategy` properties.
42
+ * @attr selectionMode - The selection mode.
43
+ * @attr isDataSelectable - Whether data of a given row is selectable.
44
+ * @attr selectedData - The selected data.
45
+ * @attr selectOnClick - Whether the row should be selected on click.
46
+ * @attr selectionBehaviorOnDataChange - The behavior of the selection when the data changes.
47
+ * @attr multipleDetails - Whether multiple details can be opened at the same time.
48
+ * @attr subDataGridDataSelector - The key path of the sub data grid data.
49
+ * @attr hasDataDetail - Whether the data has a detail.
50
+ * @attr detailsOnClick - Whether the details should be opened on click.
51
+ * @attr primaryContextMenuItemOnDoubleClick - The primary context menu item on double click.
52
+ * @attr editability - The editability mode.
53
+ * @attr getRowDetailsTemplate - A function which returns a template for the details of a given row.
54
+ * @attr getRowContextMenuTemplate - A function which returns a template for the context menu of a given row.
55
+ * @attr sidePanelTab - The side panel tab.
56
+ * @attr sidePanelHidden - Whether the side panel should be hidden.
57
+ * @attr selectionToolbarDisabled - Whether the selection toolbar should be disabled.
58
+ * @attr hasAlternatingBackground - Whether the rows should have alternating background.
59
+ * @attr preventFabCollapse - Whether the FAB should be prevented from collapsing.
60
+ *
61
+ * @slot - Use this slot only for declarative DataGrid APIs e.g. setting ColumnDefinitions via `mo-data-grid-columns` tag.
62
+ * @slot toolbar - The horizontal bar above DataGrid's contents.
63
+ * @slot filter - A vertical bar for elements which filter DataGrid's data. It is opened through an icon-button in the toolbar.
64
+ * @slot sum - A horizontal bar in the DataGrid's footer for showing sums. Calculated sums are also placed here by default.
65
+ * @slot settings - A vertical bar for elements which change DataGrid's settings. It is pre-filled with columns' settings and can be opened through an icon-button in the toolbar.
66
+ * @slot fab - A wrapper at the bottom right edge, floating right above the footer, expecting Floating Action Button to be placed in.
67
+ * @slot error-no-content - A slot for displaying an error message when no data is available.
68
+ *
69
+ * @fires dataChange {CustomEvent<Array<TData>>}
70
+ * @fires selectionChange {CustomEvent<Array<TData>>}
71
+ * @fires pageChange {CustomEvent<number>}
72
+ * @fires paginationChange {CustomEvent<DataGridPagination | undefined>}
73
+ * @fires columnsChange {CustomEvent<Array<ColumnDefinition<TData>>>}
74
+ * @fires sidePanelOpen {CustomEvent<DataGridSidePanelTab>}
75
+ * @fires sidePanelClose {CustomEvent}
76
+ * @fires sortingChange {CustomEvent<DataGridSorting<TData>>}
77
+ * @fires rowClick {CustomEvent<DataGridRow<TData, TDetailsElement>>}
78
+ * @fires rowConnected {CustomEvent<DataGridRow<TData, TDetailsElement>>}
79
+ * @fires rowDisconnected {CustomEvent<DataGridRow<TData, TDetailsElement>>}
80
+ * @fires rowDoubleClick {CustomEvent<DataGridRow<TData, TDetailsElement>>}
81
+ * @fires rowDetailsOpen {CustomEvent<DataGridRow<TData, TDetailsElement>>}
82
+ * @fires rowDetailsClose {CustomEvent<DataGridRow<TData, TDetailsElement>>}
83
+ * @fires rowEdit {CustomEvent<DataGridRow<TData, TDetailsElement>>}
84
+ * @fires cellEdit {CustomEvent<DataGridCell<any, TData, TDetailsElement>>}
85
+ */
86
+ let DataGrid = DataGrid_1 = class DataGrid extends Component {
87
+ constructor() {
88
+ super(...arguments);
89
+ this.data = new Array();
90
+ this.columns = new Array();
91
+ this.headerHidden = false;
92
+ this.preventVerticalContentScroll = false;
93
+ this.page = 1;
94
+ this.selectionMode = "none" /* DataGridSelectionMode.None */;
95
+ this.selectedData = new Array();
96
+ this.selectOnClick = false;
97
+ this.selectionBehaviorOnDataChange = "reset" /* DataGridSelectionBehaviorOnDataChange.Reset */;
98
+ this.multipleDetails = false;
99
+ this.detailsOnClick = false;
100
+ this.primaryContextMenuItemOnDoubleClick = false;
101
+ this.editability = "never" /* DataGridEditability.Never */;
102
+ this.sidePanelHidden = false;
103
+ this.selectionToolbarDisabled = false;
104
+ this.hasAlternatingBackground = DataGrid_1.hasAlternatingBackground.value;
105
+ this.preventFabCollapse = false;
106
+ this.fabSlotCollapsed = false;
107
+ this.slotController = new SlotController(this, async () => {
108
+ var _a;
109
+ this.hasSums;
110
+ this.hasFabs;
111
+ await this.updateComplete;
112
+ this.style.setProperty('--mo-data-grid-fab-slot-width', `${((_a = this.renderRoot.querySelector('slot[name=fab]')) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width) || 75}px`);
113
+ });
114
+ this.instanceofAttributeController = new InstanceofAttributeController(this);
115
+ this.smallScreenObserverController = new MediaQueryController(this, '(max-width: 768px)');
116
+ // eslint-disable-next-line @typescript-eslint/member-ordering
117
+ this.lastScrollElementTop = 0;
118
+ this.handleScroll = (e) => {
119
+ var _a;
120
+ if (this.preventFabCollapse === false) {
121
+ if (!e.composed) {
122
+ e.preventDefault();
123
+ (_a = e.target) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new Event('scroll', { composed: true, bubbles: true }));
124
+ if (this.hasFabs) {
125
+ const targetElement = e.composedPath()[0];
126
+ const scrollTop = targetElement.scrollTop;
127
+ const isUpScrolling = scrollTop <= this.lastScrollElementTop;
128
+ this.fabSlotCollapsed = !isUpScrolling;
129
+ this.lastScrollElementTop = scrollTop <= 0 ? 0 : scrollTop;
130
+ }
131
+ }
132
+ }
133
+ };
134
+ }
135
+ setPage(page) {
136
+ this.page = page;
137
+ this.pageChange.dispatch(page);
138
+ }
139
+ handlePageChange(page) {
140
+ this.setPage(page);
141
+ }
142
+ setPagination(pagination) {
143
+ this.pagination = pagination;
144
+ this.paginationChange.dispatch(pagination);
145
+ }
146
+ handlePaginationChange(pagination) {
147
+ this.setPagination(pagination);
148
+ }
149
+ setData(data, selectionBehavior = this.selectionBehaviorOnDataChange) {
150
+ this.data = data;
151
+ switch (selectionBehavior) {
152
+ case "reset" /* DataGridSelectionBehaviorOnDataChange.Reset */:
153
+ this.deselectAll();
154
+ break;
155
+ case "maintain" /* DataGridSelectionBehaviorOnDataChange.Maintain */:
156
+ this.select(this.previouslySelectedData);
157
+ break;
158
+ }
159
+ this.dataChange.dispatch(data);
160
+ }
161
+ selectAll() {
162
+ if (this.selectionMode === "multiple" /* DataGridSelectionMode.Multiple */) {
163
+ this.select([...this.data]);
164
+ }
165
+ }
166
+ deselectAll() {
167
+ this.select([]);
168
+ }
169
+ select(data) {
170
+ if (this.hasSelection) {
171
+ const selectableData = data.filter(d => this.isSelectable(d));
172
+ this.selectedData = selectableData;
173
+ this.selectionChange.dispatch(selectableData);
174
+ }
175
+ }
176
+ isSelectable(data) {
177
+ var _a, _b;
178
+ return (_b = (_a = this.isDataSelectable) === null || _a === void 0 ? void 0 : _a.call(this, data)) !== null && _b !== void 0 ? _b : true;
179
+ }
180
+ hasDetail(data) {
181
+ var _a, _b;
182
+ const hasAutomatedSubDataGrid = !this.subDataGridDataSelector || this.subDataGridDataSelector && Array.isArray(getValueByKeyPath(data, this.subDataGridDataSelector));
183
+ return hasAutomatedSubDataGrid && ((_b = (_a = this.hasDataDetail) === null || _a === void 0 ? void 0 : _a.call(this, data)) !== null && _b !== void 0 ? _b : true);
184
+ }
185
+ async openRowDetails() {
186
+ await Promise.all(this.detailedRows.map(row => row.setDetails(true)));
187
+ }
188
+ async closeRowDetails() {
189
+ await Promise.all(this.detailedRows.map(row => row.setDetails(false)));
190
+ }
191
+ sort(sorting) {
192
+ this.sorting = sorting;
193
+ this.sortingChange.dispatch(sorting);
194
+ }
195
+ unsort() {
196
+ this.sort(undefined);
197
+ }
198
+ handleSortChange(sorting) {
199
+ this.sort(sorting);
200
+ }
201
+ setColumns(columns) {
202
+ this.columns = columns;
203
+ this.columnsChange.dispatch(columns);
204
+ this.requestUpdate();
205
+ }
206
+ extractColumnsIfNotSetExplicitly() {
207
+ if (this.columns.length === 0) {
208
+ this.extractColumns();
209
+ }
210
+ }
211
+ extractColumns() {
212
+ const extractedColumns = this.elementExtractedColumns.length > 0
213
+ ? this.elementExtractedColumns
214
+ : this.autoGeneratedColumns;
215
+ this.setColumns(extractedColumns);
216
+ }
217
+ handleEdit(data, dataSelector, value) {
218
+ const row = this.rows.find(r => r.data === data);
219
+ const cell = row === null || row === void 0 ? void 0 : row.cells.find(c => c.dataSelector === dataSelector);
220
+ if (row && cell && value !== undefined && cell.value !== value) {
221
+ row.requestUpdate();
222
+ setValueByKeyPath(data, dataSelector, value);
223
+ this.cellEdit.dispatch(cell);
224
+ }
225
+ }
226
+ navigateToSidePanelTab(tab) {
227
+ this.sidePanelTab = tab;
228
+ !tab ? this.sidePanelClose.dispatch() : this.sidePanelOpen.dispatch(tab);
229
+ }
230
+ exportExcelFile() {
231
+ var _a, _b;
232
+ try {
233
+ const selectors = this.visibleColumns.map(c => c.dataSelector);
234
+ CsvGenerator.generate(this.data, selectors);
235
+ (_a = NotificationHost.instance) === null || _a === void 0 ? void 0 : _a.notifyInfo(t('Exporting excel file'));
236
+ }
237
+ catch (error) {
238
+ (_b = NotificationHost.instance) === null || _b === void 0 ? void 0 : _b.notifyError(error.message);
239
+ throw error;
240
+ }
241
+ }
242
+ get detailedRows() {
243
+ return this.rows.filter(row => this.hasDetail(row.data));
244
+ }
245
+ get hasDetails() {
246
+ return !!this.getRowDetailsTemplate && this.data.some(data => this.hasDetail(data));
247
+ }
248
+ get hasSelection() {
249
+ return this.selectionMode !== "none" /* DataGridSelectionMode.None */;
250
+ }
251
+ get hasContextMenu() {
252
+ return this.getRowContextMenuTemplate !== undefined;
253
+ }
254
+ get toolbarElements() {
255
+ return Array.from(this.children).filter(c => c.slot === 'toolbar' && c.getAttribute('hidden') !== '');
256
+ }
257
+ get filterElements() {
258
+ return Array.from(this.children).filter(c => c.slot === 'filter' && c.getAttribute('hidden') !== '');
259
+ }
260
+ get hasToolbar() {
261
+ return this.toolbarElements.length > 0;
262
+ }
263
+ get hasFilters() {
264
+ return this.filterElements.length > 0;
265
+ }
266
+ get hasSums() {
267
+ const hasSums = !!this.columns.find(c => c.sumHeading) || !!this.querySelector('* [slot="sum"]') || !!this.renderRoot.querySelector('slot[name="sum"] > *');
268
+ this.toggleAttribute('hasSums', hasSums);
269
+ return hasSums;
270
+ }
271
+ get hasFabs() {
272
+ const hasFabs = !!this.querySelector('* [slot=fab]') || !!this.renderRoot.querySelector('#flexFab *:not(slot[name=fab])');
273
+ this.toggleAttribute('hasFabs', hasFabs);
274
+ return hasFabs;
275
+ }
276
+ get hasPagination() {
277
+ return this.pagination !== undefined;
278
+ }
279
+ get supportsDynamicPageSize() {
280
+ return this.hasPagination;
281
+ }
282
+ get pageSize() {
283
+ var _a;
284
+ const dynamicPageSize = (pageSize) => this.supportsDynamicPageSize ? pageSize : DataGrid_1.pageSize.value;
285
+ if (!this.pagination) {
286
+ return dynamicPageSize(this.data.length);
287
+ }
288
+ if (this.pagination === 'auto') {
289
+ const rowsHeight = (_a = this.rowsContainer) === null || _a === void 0 ? void 0 : _a.clientHeight;
290
+ const rowHeight = DataGrid_1.rowHeight.value;
291
+ const pageSize = Math.floor((rowsHeight || 0) / rowHeight) || 1;
292
+ return dynamicPageSize(pageSize);
293
+ }
294
+ return this.pagination;
295
+ }
296
+ get hasFooter() {
297
+ return this.hasPagination || this.hasSums;
298
+ }
299
+ get dataLength() {
300
+ return this.data.length;
301
+ }
302
+ get maxPage() {
303
+ return Math.ceil(this.dataLength / this.pageSize);
304
+ }
305
+ get hasNextPage() {
306
+ return this.page !== this.maxPage;
307
+ }
308
+ updated(...parameters) {
309
+ var _a, _b, _c;
310
+ (_a = this.header) === null || _a === void 0 ? void 0 : _a.requestUpdate();
311
+ (_b = this.sidePanel) === null || _b === void 0 ? void 0 : _b.requestUpdate();
312
+ (_c = this.footer) === null || _c === void 0 ? void 0 : _c.requestUpdate();
313
+ this.rows.forEach(row => row.requestUpdate());
314
+ return super.updated(...parameters);
315
+ }
316
+ firstUpdated(props) {
317
+ super.firstUpdated(props);
318
+ this.extractColumnsIfNotSetExplicitly();
319
+ this.rowEdit.subscribe(() => this.requestUpdate());
320
+ this.cellEdit.subscribe(() => this.requestUpdate());
321
+ this.setPage(1);
322
+ }
323
+ static get styles() {
324
+ return css `
325
+ :host {
326
+ --mo-data-grid-column-details-width: 20px;
327
+ --mo-data-grid-column-selection-width: 40px;
328
+ --mo-data-grid-column-more-width: 20px;
329
+
330
+ --mo-data-grid-header-height: 32px;
331
+ --mo-data-grid-footer-min-height: 40px;
332
+ --mo-data-grid-toolbar-padding: 14px;
333
+ --mo-data-grid-border: 1px solid var(--mo-color-transparent-gray-3);
334
+
335
+ /* --mo-data-grid-columns Generated in JS */
336
+ --mo-data-grid-columns-gap: 6px;
337
+
338
+ --mo-data-grid-row-tree-line-width: 8px;
339
+ --mo-details-data-grid-start-margin: 26px;
340
+ --mo-data-grid-cell-padding: 3px;
341
+
342
+ --mo-data-grid-selection-background: rgba(var(--mo-color-accent-base), 0.5);
343
+
344
+ --mo-data-grid-row-height: ${DataGrid_1.rowHeight.value}px;
345
+ display: flex;
346
+ flex-direction: column;
347
+ height: 100%;
348
+ overflow-x: hidden;
349
+ }
350
+
351
+ /* Don't try to use ":nth-child(even)" as it won't work for virtualized data-grids */
352
+ [mo-data-grid-row][data-has-alternating-background] {
353
+ background: var(--mo-alternating-background);
354
+ }
355
+
356
+ :host([preventVerticalContentScroll]) mo-scroller {
357
+ overflow-y: hidden;
358
+ }
359
+
360
+ :host([preventVerticalContentScroll]) mo-scroller::part(container) {
361
+ position: relative;
362
+ }
363
+
364
+ :host(:not([selectionMode="none"])) {
365
+ --mo-data-grid-row-tree-line-width: 18px;
366
+ }
367
+
368
+ :host([hasDetails]) {
369
+ --mo-data-grid-row-tree-line-width: 18px;
370
+ }
371
+
372
+ #flexToolbar {
373
+ position: relative;
374
+ padding: var(--mo-data-grid-toolbar-padding);
375
+ }
376
+
377
+ #flexToolbar mo-icon-button {
378
+ align-self: flex-start;
379
+ color: var(--mo-color-gray);
380
+ }
381
+
382
+ #flexSelectionToolbar {
383
+ background: var(--mo-color-surface);
384
+ position: absolute;
385
+ inset: 0px;
386
+ width: 100%;
387
+ height: 100%;
388
+ z-index: 1;
389
+ }
390
+
391
+ #flexSelectionToolbar > mo-flex {
392
+ background: var(--mo-data-grid-selection-background);
393
+ height: 100%;
394
+ align-items: center;
395
+ }
396
+
397
+ #flexSelectionToolbar mo-icon-button {
398
+ align-self: center;
399
+ color: var(--mo-color-foreground);
400
+ }
401
+
402
+ #flexActions {
403
+ align-items: center;
404
+ justify-content: center;
405
+ padding-inline: 14px 6px;
406
+ margin: 6px 0;
407
+ cursor: pointer;
408
+ background: var(--mo-color-accent-transparent);
409
+ height: calc(100% - calc(2 * 6px));
410
+ max-height: 45px;
411
+ }
412
+
413
+ #flexFab {
414
+ position: absolute;
415
+ top: -28px;
416
+ inset-inline-end: 16px;
417
+ transition: var(--mo-data-grid-fab-transition, var(--mo-duration-quick));
418
+ }
419
+
420
+ :host([fabSlotCollapsed][hasFabs]) #flexFab {
421
+ transform: scale(0);
422
+ opacity: 0;
423
+ }
424
+
425
+ mo-data-grid-footer {
426
+ transition: var(--mo-data-grid-fab-transition, var(--mo-duration-quick));
427
+ }
428
+
429
+ :host([hasSums][hasFabs]:not([fabSlotCollapsed])) mo-data-grid-footer {
430
+ --mo-data-grid-footer-trailing-padding: calc(var(--mo-data-grid-fab-slot-width, 56px) + 16px);
431
+ }
432
+
433
+ slot[name=fab] {
434
+ display: block;
435
+ z-index: 1;
436
+ }
437
+
438
+ mo-empty-state, ::slotted(mo-empty-state) {
439
+ height: 100%;
440
+ }
441
+
442
+ #overlayModeContainer {
443
+ position: relative;
444
+ height: 100%;
445
+ width: 100%;
446
+ }
447
+
448
+ #overlayModeContainer mo-data-grid-side-panel {
449
+ position: absolute;
450
+ inset: 0;
451
+ width: 100%;
452
+ height: 100%;
453
+ z-index: 1;
454
+ background-color: var(--mo-color-surface);
455
+ }
456
+ `;
457
+ }
458
+ get template() {
459
+ return html `
460
+ <slot name='column' hidden ${observeMutation(() => this.requestUpdate())}>${this.columnsTemplate}</slot>
461
+ ${this.toolbarTemplate}
462
+ ${this.smallScreenObserverController.matches ? this.overlayModeTemplate : this.splitterModeTemplate}
463
+ `;
464
+ }
465
+ get splitterModeTemplate() {
466
+ return html `
467
+ <mo-splitter direction='horizontal-reversed' ${style({ height: '100%' })} .resizerTemplate=${html `
468
+ <mo-splitter-resizer-line style='--mo-splitter-resizer-line-thickness: 1px; --mo-splitter-resizer-line-idle-background: var(--mo-color-transparent-gray-3); --mo-splitter-resizer-line-horizontal-transform: scaleX(5);'></mo-splitter-resizer-line>
469
+ `}>
470
+ ${this.sidePanelTab === undefined ? nothing : html `
471
+ <mo-splitter-item size='min(25%, 300px)' min='max(15%, 250px)' max='clamp(100px, 50%, 750px)'>
472
+ ${this.sidePanelTemplate}
473
+ </mo-splitter-item>
474
+ `}
475
+
476
+ <mo-splitter-item min='0px' ${style({ position: 'relative' })}>
477
+ ${this.dataGridTemplate}
478
+ </mo-splitter-item>
479
+ </mo-splitter>
480
+ `;
481
+ }
482
+ get overlayModeTemplate() {
483
+ return html `
484
+ <mo-flex id='overlayModeContainer'>
485
+ ${this.dataGridTemplate}
486
+ ${this.sidePanelTab === undefined ? nothing : this.sidePanelTemplate}
487
+ </mo-flex>
488
+ `;
489
+ }
490
+ get sidePanelTemplate() {
491
+ return html `
492
+ <mo-data-grid-side-panel
493
+ .dataGrid=${this}
494
+ tab=${ifDefined(this.sidePanelTab)}
495
+ >
496
+ <slot slot='settings' name='settings'>${this.settingsDefaultTemplate}</slot>
497
+ <slot slot='filter' name='filter'>${this.filtersDefaultTemplate}</slot>
498
+ </mo-data-grid-side-panel>
499
+ `;
500
+ }
501
+ get settingsDefaultTemplate() {
502
+ return nothing;
503
+ }
504
+ get filtersDefaultTemplate() {
505
+ return nothing;
506
+ }
507
+ get columnsTemplate() {
508
+ return nothing;
509
+ }
510
+ get rowElementTag() {
511
+ return literal `mo-data-grid-default-row`;
512
+ }
513
+ get fabTemplate() {
514
+ // These also update the respective attributes for now
515
+ this.hasSums;
516
+ this.hasFabs;
517
+ return html `
518
+ <slot name='fab' @slotchange=${() => { this.hasSums; this.hasFabs; }}></slot>
519
+ `;
520
+ }
521
+ get contentTemplate() {
522
+ return !this.data.length ? this.noContentTemplate : this.rowsTemplate;
523
+ }
524
+ get noContentTemplate() {
525
+ return html `
526
+ <slot name='error-no-content'>
527
+ <mo-empty-state icon='youtube_searched_for'>${t('No results')}</mo-empty-state>
528
+ </slot>
529
+ `;
530
+ }
531
+ get dataGridTemplate() {
532
+ this.provideCssColumnsProperties();
533
+ this.toggleAttribute('hasDetails', this.hasDetails);
534
+ return html `
535
+ <mo-flex ${style({ width: '*', position: 'relative' })}>
536
+ <mo-grid ${style({ height: '*' })} rows='* auto'>
537
+ <mo-scroller ${style({ minHeight: 'var(--mo-data-grid-content-min-height, calc(2.5 * var(--mo-data-grid-row-height) + var(--mo-data-grid-header-height)))', paddingBottom: '2px' })}>
538
+ <mo-grid ${style({ height: '100%' })} rows='auto *'>
539
+ ${this.headerTemplate}
540
+ ${this.contentTemplate}
541
+ </mo-grid>
542
+ </mo-scroller>
543
+ ${this.footerTemplate}
544
+ </mo-grid>
545
+ </mo-flex>
546
+ `;
547
+ }
548
+ get headerTemplate() {
549
+ return this.headerHidden ? nothing : html `
550
+ <mo-data-grid-header .dataGrid=${this}></mo-data-grid-header>
551
+ `;
552
+ }
553
+ get rowsTemplate() {
554
+ const getRowTemplate = (data, index) => this.getRowTemplate(data, index);
555
+ const shallVirtualize = !this.preventVerticalContentScroll && this.renderData.length > DataGrid_1.virtualizationThreshold;
556
+ const content = shallVirtualize === false
557
+ ? this.renderData.map(getRowTemplate)
558
+ : html `<mo-virtualized-scroller .items=${this.renderData} .getItemTemplate=${getRowTemplate}></mo-virtualized-scroller>`;
559
+ return html `
560
+ <mo-scroller id='rowsContainer'
561
+ ${style({ gridRow: '2', gridColumn: '1 / last-line' })}
562
+ ${observeResize(() => this.requestUpdate())}
563
+ @scroll=${this.handleScroll}
564
+ >
565
+ ${content}
566
+ </mo-scroller>
567
+ `;
568
+ }
569
+ getRowTemplate(data, index) {
570
+ return staticHtml `
571
+ <${this.rowElementTag} part='row'
572
+ .dataGrid=${this}
573
+ .data=${data}
574
+ ?selected=${live(this.selectedData.includes(data))}
575
+ ?data-has-alternating-background=${this.hasAlternatingBackground && index % 2 === 1}
576
+ ></${this.rowElementTag}>
577
+ `;
578
+ }
579
+ get footerTemplate() {
580
+ return html `
581
+ <mo-flex ${style({ position: 'relative' })}>
582
+ <mo-flex id='flexFab' direction='vertical-reversed' gap='8px'>
583
+ ${this.fabTemplate}
584
+ </mo-flex>
585
+ ${this.hasFooter === false ? nothing : html `
586
+ <mo-data-grid-footer
587
+ .dataGrid=${this}
588
+ page=${this.page}
589
+ >
590
+ <slot name='sum' slot='sum'>${this.sumDefaultTemplate}</slot>
591
+ </mo-data-grid-footer>
592
+ `}
593
+ </mo-flex>
594
+ `;
595
+ }
596
+ get sumsTemplate() {
597
+ return html `${this.columns.map(column => this.getSumTemplate(column))}`;
598
+ }
599
+ getSumTemplate(column) {
600
+ if (column.sumHeading === undefined || column.getSumTemplate === undefined) {
601
+ return;
602
+ }
603
+ const sum = this.renderData
604
+ .map(data => parseFloat(getValueByKeyPath(data, column.dataSelector)))
605
+ .filter(n => isNaN(n) === false)
606
+ .reduce(((a, b) => a + b), 0)
607
+ || 0;
608
+ return html `
609
+ <mo-data-grid-footer-sum heading=${column.sumHeading}>
610
+ ${column.getSumTemplate(sum)}
611
+ </mo-data-grid-footer-sum>
612
+ `;
613
+ }
614
+ get toolbarTemplate() {
615
+ return this.hasToolbar === false ? nothing : html `
616
+ <mo-flex id='flexToolbar' direction='horizontal' gap='8px' wrap='wrap' justifyContent='end' alignItems='center'>
617
+ <mo-flex direction='horizontal' alignItems='inherit' gap='8px' wrap='wrap' ${style({ width: '*' })}>
618
+ <slot name='toolbar'>${this.toolbarDefaultTemplate}</slot>
619
+ </mo-flex>
620
+ <mo-flex direction='horizontal' gap='8px'>
621
+ <slot name='toolbarAction'>${this.toolbarActionDefaultTemplate}</slot>
622
+ ${this.toolbarActionsTemplate}
623
+ ${this.selectionToolbarTemplate}
624
+ </mo-flex>
625
+ </mo-flex>
626
+ `;
627
+ }
628
+ get toolbarDefaultTemplate() {
629
+ return nothing;
630
+ }
631
+ get toolbarActionDefaultTemplate() {
632
+ return nothing;
633
+ }
634
+ get sumDefaultTemplate() {
635
+ return nothing;
636
+ }
637
+ get selectionToolbarTemplate() {
638
+ return this.selectionToolbarDisabled === true || this.selectedData.length === 0 ? nothing : html `
639
+ <mo-flex id='flexSelectionToolbar'>
640
+ <mo-flex direction='horizontal' gap='30px' ${style({ placeSelf: 'stretch' })}>
641
+ <div ${style({ fontWeight: '500', margin: '0 6px' })}>
642
+ ${t('${count:pluralityNumber} entries selected', { count: this.selectedData.length })}
643
+ </div>
644
+ ${!this.getRowContextMenuTemplate ? nothing : html `
645
+ <mo-flex id='flexActions' direction='horizontal' ${!this.getRowContextMenuTemplate ? nothing : contextMenu(this.getRowContextMenuTemplate(this.selectedData))}>
646
+ <div ${style({ width: '*' })}>${t('Options')}</div>
647
+ <mo-icon-button dense icon='arrow_drop_down' ${style({ display: 'flex', alignItems: 'center', justifyContent: 'center' })}></mo-icon-button>
648
+ </mo-flex>
649
+ `}
650
+ <div ${style({ width: '*' })}></div>
651
+ <mo-icon-button icon='close'
652
+ ${tooltip(t('Deselect All'))}
653
+ @click=${() => this.deselectAll()}
654
+ ></mo-icon-button>
655
+ </mo-flex>
656
+ </mo-flex>
657
+ `;
658
+ }
659
+ get toolbarActionsTemplate() {
660
+ return html `
661
+ ${!this.hasFilters ? nothing : html `
662
+ <mo-icon-button icon='filter_list'
663
+ ${tooltip(t('More Filters'))}
664
+ ${style({ color: this.sidePanelTab === "filters" /* DataGridSidePanelTab.Filters */ ? 'var(--mo-color-accent)' : 'var(--mo-color-gray)' })}
665
+ @click=${() => this.navigateToSidePanelTab(this.sidePanelTab === "filters" /* DataGridSidePanelTab.Filters */ ? undefined : "filters" /* DataGridSidePanelTab.Filters */)}
666
+ ></mo-icon-button>
667
+ `}
668
+
669
+ <mo-icon-button icon='settings'
670
+ ${tooltip(t('Settings'))}
671
+ ${style({ color: this.sidePanelTab === "settings" /* DataGridSidePanelTab.Settings */ ? 'var(--mo-color-accent)' : 'var(--mo-color-gray)' })}
672
+ @click=${() => this.navigateToSidePanelTab(this.sidePanelTab === "settings" /* DataGridSidePanelTab.Settings */ ? undefined : "settings" /* DataGridSidePanelTab.Settings */)}
673
+ ></mo-icon-button>
674
+ `;
675
+ }
676
+ // The reason for not doing this in the CSS is that we need to trim all the 0px values out of the columns
677
+ // because the 'grid column gap' renders a gap no matter if the column is 0px or not
678
+ provideCssColumnsProperties() {
679
+ this.style.setProperty('--mo-data-grid-content-width', this.dataColumnsWidths.join(' '));
680
+ this.style.setProperty('--mo-data-grid-columns', this.columnsWidths.join(' '));
681
+ }
682
+ get columnsWidths() {
683
+ return [
684
+ this.detailsColumnWidth,
685
+ this.selectionColumnWidth,
686
+ ...this.dataColumnsWidths,
687
+ this.moreColumnWidth
688
+ ].filter((c) => c !== undefined);
689
+ }
690
+ get detailsColumnWidth() {
691
+ return !this.hasDetails ? undefined : window.getComputedStyle(this).getPropertyValue('--mo-data-grid-column-details-width');
692
+ }
693
+ get selectionColumnWidth() {
694
+ return !this.hasSelection ? undefined : window.getComputedStyle(this).getPropertyValue('--mo-data-grid-column-selection-width');
695
+ }
696
+ get dataColumnsWidths() {
697
+ return this.visibleColumns
698
+ .map(c => c.width)
699
+ .filter((c) => c !== undefined);
700
+ }
701
+ get moreColumnWidth() {
702
+ return this.sidePanelHidden && !this.hasContextMenu ? undefined : window.getComputedStyle(this).getPropertyValue('--mo-data-grid-column-more-width');
703
+ }
704
+ get sortedData() {
705
+ const sorting = this.sorting;
706
+ if (!sorting) {
707
+ return this.data;
708
+ }
709
+ const dataClone = [...this.data];
710
+ const compare = (a, b) => {
711
+ var _a, _b, _c, _d;
712
+ const valueA = (_a = getValueByKeyPath(a, sorting.selector)) !== null && _a !== void 0 ? _a : Infinity;
713
+ const valueB = (_b = getValueByKeyPath(b, sorting.selector)) !== null && _b !== void 0 ? _b : Infinity;
714
+ return (_d = (_c = valueB === null || valueB === void 0 ? void 0 : valueB.localeCompare) === null || _c === void 0 ? void 0 : _c.call(valueB, valueA)) !== null && _d !== void 0 ? _d : (valueB - valueA);
715
+ };
716
+ switch (sorting.strategy) {
717
+ case "ascending" /* DataGridSortingStrategy.Ascending */:
718
+ return dataClone.sort((a, b) => compare(a, b));
719
+ case "descending" /* DataGridSortingStrategy.Descending */:
720
+ return dataClone.sort((a, b) => compare(b, a));
721
+ }
722
+ }
723
+ get renderData() {
724
+ if (this.hasPagination === false) {
725
+ return this.sortedData;
726
+ }
727
+ const from = (this.page - 1) * this.pageSize;
728
+ const to = this.page * this.pageSize;
729
+ return this.sortedData.slice(from, to);
730
+ }
731
+ get elementExtractedColumns() {
732
+ var _a;
733
+ if (!this.columnsSlot) {
734
+ return [];
735
+ }
736
+ const children = this.columnsSlot.children.length > 0 ? Array.from(this.columnsSlot.children) : undefined;
737
+ const assigned = this.columnsSlot.assignedElements().length > 0 ? Array.from(this.columnsSlot.assignedElements()) : undefined;
738
+ return Array.from((_a = assigned !== null && assigned !== void 0 ? assigned : children) !== null && _a !== void 0 ? _a : [])
739
+ .filter((c) => {
740
+ const isColumn = c instanceof DataGridColumn;
741
+ if (isColumn) {
742
+ c.dataGrid = this;
743
+ }
744
+ return isColumn;
745
+ })
746
+ .map(c => c.definition);
747
+ }
748
+ get autoGeneratedColumns() {
749
+ if (!this.dataLength) {
750
+ return [];
751
+ }
752
+ const getDefaultColumnElement = (value) => {
753
+ switch (typeof value) {
754
+ case 'number':
755
+ case 'bigint':
756
+ return 'mo-data-grid-column-number';
757
+ case 'boolean':
758
+ return 'mo-data-grid-column-boolean';
759
+ default:
760
+ return 'mo-data-grid-column-text';
761
+ }
762
+ };
763
+ const sampleData = this.data[0];
764
+ return Object.keys(sampleData || {})
765
+ .filter(key => !key.startsWith('_'))
766
+ .map(key => {
767
+ const columnElement = document.createElement(getDefaultColumnElement(getValueByKeyPath(sampleData, key)));
768
+ columnElement.remove();
769
+ return {
770
+ heading: key.replace(/([A-Z])/g, ' $1').charAt(0).toUpperCase() + key.replace(/([A-Z])/g, ' $1').slice(1),
771
+ dataSelector: key,
772
+ width: '1fr',
773
+ hidden: false,
774
+ getContentTemplate: columnElement.getContentTemplate.bind(columnElement),
775
+ getEditContentTemplate: columnElement.getEditContentTemplate.bind(columnElement),
776
+ };
777
+ });
778
+ }
779
+ get visibleColumns() {
780
+ return this.columns.filter(c => c.hidden === false);
781
+ }
782
+ get previouslySelectedData() {
783
+ const hasId = this.selectedData.every(d => Object.keys(d).includes('id'));
784
+ if (hasId) {
785
+ const selectedIds = this.selectedData.map((d) => d.id);
786
+ return this.data.filter((d) => selectedIds.includes(d.id));
787
+ }
788
+ else {
789
+ const selectedDataJson = this.selectedData.map(d => JSON.stringify(d));
790
+ return this.data.filter(d => selectedDataJson.includes(JSON.stringify(d)));
791
+ }
792
+ }
793
+ };
794
+ DataGrid.rowHeight = new LocalStorage('MoDeL.Components.DataGrid.RowHeight', 35);
795
+ DataGrid.pageSize = new LocalStorage('MoDeL.Components.DataGrid.PageSize', 25);
796
+ DataGrid.hasAlternatingBackground = new LocalStorage('MoDeL.Components.DataGrid.HasAlternatingBackground', true);
797
+ DataGrid.virtualizationThreshold = 50;
798
+ __decorate([
799
+ event()
800
+ ], DataGrid.prototype, "dataChange", void 0);
801
+ __decorate([
802
+ event()
803
+ ], DataGrid.prototype, "selectionChange", void 0);
804
+ __decorate([
805
+ event()
806
+ ], DataGrid.prototype, "pageChange", void 0);
807
+ __decorate([
808
+ event()
809
+ ], DataGrid.prototype, "paginationChange", void 0);
810
+ __decorate([
811
+ event()
812
+ ], DataGrid.prototype, "columnsChange", void 0);
813
+ __decorate([
814
+ event()
815
+ ], DataGrid.prototype, "sidePanelOpen", void 0);
816
+ __decorate([
817
+ event()
818
+ ], DataGrid.prototype, "sidePanelClose", void 0);
819
+ __decorate([
820
+ event()
821
+ ], DataGrid.prototype, "sortingChange", void 0);
822
+ __decorate([
823
+ event()
824
+ ], DataGrid.prototype, "rowConnected", void 0);
825
+ __decorate([
826
+ event()
827
+ ], DataGrid.prototype, "rowDisconnected", void 0);
828
+ __decorate([
829
+ event()
830
+ ], DataGrid.prototype, "rowClick", void 0);
831
+ __decorate([
832
+ event()
833
+ ], DataGrid.prototype, "rowDoubleClick", void 0);
834
+ __decorate([
835
+ event()
836
+ ], DataGrid.prototype, "rowDetailsOpen", void 0);
837
+ __decorate([
838
+ event()
839
+ ], DataGrid.prototype, "rowDetailsClose", void 0);
840
+ __decorate([
841
+ event()
842
+ ], DataGrid.prototype, "rowEdit", void 0);
843
+ __decorate([
844
+ event()
845
+ ], DataGrid.prototype, "cellEdit", void 0);
846
+ __decorate([
847
+ property({ type: Array })
848
+ ], DataGrid.prototype, "data", void 0);
849
+ __decorate([
850
+ property({ type: Array })
851
+ ], DataGrid.prototype, "columns", void 0);
852
+ __decorate([
853
+ property({ type: Boolean, reflect: true })
854
+ ], DataGrid.prototype, "headerHidden", void 0);
855
+ __decorate([
856
+ property({ type: Boolean, reflect: true })
857
+ ], DataGrid.prototype, "preventVerticalContentScroll", void 0);
858
+ __decorate([
859
+ property({ type: Number })
860
+ ], DataGrid.prototype, "page", void 0);
861
+ __decorate([
862
+ property({ reflect: true, converter: (value) => Number.isNaN(Number(value)) ? value : Number(value) })
863
+ ], DataGrid.prototype, "pagination", void 0);
864
+ __decorate([
865
+ property({ type: Object })
866
+ ], DataGrid.prototype, "sorting", void 0);
867
+ __decorate([
868
+ property({ reflect: true })
869
+ ], DataGrid.prototype, "selectionMode", void 0);
870
+ __decorate([
871
+ property({ type: Object })
872
+ ], DataGrid.prototype, "isDataSelectable", void 0);
873
+ __decorate([
874
+ property({ type: Array })
875
+ ], DataGrid.prototype, "selectedData", void 0);
876
+ __decorate([
877
+ property({ type: Boolean })
878
+ ], DataGrid.prototype, "selectOnClick", void 0);
879
+ __decorate([
880
+ property()
881
+ ], DataGrid.prototype, "selectionBehaviorOnDataChange", void 0);
882
+ __decorate([
883
+ property({ type: Boolean })
884
+ ], DataGrid.prototype, "multipleDetails", void 0);
885
+ __decorate([
886
+ property({ updated: subDataGridSelectorChanged })
887
+ ], DataGrid.prototype, "subDataGridDataSelector", void 0);
888
+ __decorate([
889
+ property({ type: Object })
890
+ ], DataGrid.prototype, "hasDataDetail", void 0);
891
+ __decorate([
892
+ property({ type: Boolean })
893
+ ], DataGrid.prototype, "detailsOnClick", void 0);
894
+ __decorate([
895
+ property({ type: Boolean })
896
+ ], DataGrid.prototype, "primaryContextMenuItemOnDoubleClick", void 0);
897
+ __decorate([
898
+ property({ reflect: true })
899
+ ], DataGrid.prototype, "editability", void 0);
900
+ __decorate([
901
+ property({ type: Object })
902
+ ], DataGrid.prototype, "getRowDetailsTemplate", void 0);
903
+ __decorate([
904
+ property({ type: Object })
905
+ ], DataGrid.prototype, "getRowContextMenuTemplate", void 0);
906
+ __decorate([
907
+ property()
908
+ ], DataGrid.prototype, "sidePanelTab", void 0);
909
+ __decorate([
910
+ property({ type: Boolean })
911
+ ], DataGrid.prototype, "sidePanelHidden", void 0);
912
+ __decorate([
913
+ property({ type: Boolean })
914
+ ], DataGrid.prototype, "selectionToolbarDisabled", void 0);
915
+ __decorate([
916
+ property({ type: Boolean })
917
+ ], DataGrid.prototype, "hasAlternatingBackground", void 0);
918
+ __decorate([
919
+ property({ type: Boolean })
920
+ ], DataGrid.prototype, "preventFabCollapse", void 0);
921
+ __decorate([
922
+ property({ type: Boolean, reflect: true })
923
+ ], DataGrid.prototype, "fabSlotCollapsed", void 0);
924
+ __decorate([
925
+ queryAll('[mo-data-grid-row]')
926
+ ], DataGrid.prototype, "rows", void 0);
927
+ __decorate([
928
+ query('mo-data-grid-header')
929
+ ], DataGrid.prototype, "header", void 0);
930
+ __decorate([
931
+ query('#rowsContainer')
932
+ ], DataGrid.prototype, "rowsContainer", void 0);
933
+ __decorate([
934
+ query('mo-data-grid-footer')
935
+ ], DataGrid.prototype, "footer", void 0);
936
+ __decorate([
937
+ query('mo-data-grid-side-panel')
938
+ ], DataGrid.prototype, "sidePanel", void 0);
939
+ __decorate([
940
+ query('slot[name=column]')
941
+ ], DataGrid.prototype, "columnsSlot", void 0);
942
+ DataGrid = DataGrid_1 = __decorate([
943
+ component('mo-data-grid')
944
+ ], DataGrid);
945
+ export { DataGrid };
946
+ function subDataGridSelectorChanged() {
947
+ const selector = this.subDataGridDataSelector;
948
+ if (selector === undefined || !!this.getRowDetailsTemplate) {
949
+ return;
950
+ }
951
+ this.getRowDetailsTemplate = (data) => html `
952
+ <mo-data-grid ${style({ padding: '0px' })}
953
+ .data=${getValueByKeyPath(data, selector)}
954
+ headerHidden
955
+ sidePanelHidden
956
+ .columns=${this.columns}
957
+ .subDataGridDataSelector=${this.subDataGridDataSelector}
958
+ .hasDataDetail=${this.hasDataDetail}
959
+ .selectionMode=${this.selectionMode}
960
+ .isDataSelectable=${this.isDataSelectable}
961
+ ?selectOnClick=${this.selectOnClick}
962
+ ?primaryContextMenuItemOnDoubleClick=${this.primaryContextMenuItemOnDoubleClick}
963
+ ?multipleDetails=${this.multipleDetails}
964
+ ?detailsOnClick=${this.detailsOnClick}
965
+ .getRowContextMenuTemplate=${this.getRowContextMenuTemplate}
966
+ editability=${this.editability}
967
+ @rowConnected=${(e) => this.rowConnected.dispatch(e.detail)}
968
+ @rowDisconnected=${(e) => this.rowDisconnected.dispatch(e.detail)}
969
+ @rowClick=${(e) => this.rowClick.dispatch(e.detail)}
970
+ @rowDoubleClick=${(e) => this.rowDoubleClick.dispatch(e.detail)}
971
+ @rowDetailsOpen=${(e) => this.rowDetailsOpen.dispatch(e.detail)}
972
+ @rowDetailsClose=${(e) => this.rowDetailsClose.dispatch(e.detail)}
973
+ @rowEdit=${(e) => this.rowEdit.dispatch(e.detail)}
974
+ @cellEdit=${(e) => this.cellEdit.dispatch(e.detail)}
975
+ ></mo-data-grid>
976
+ `;
977
+ }