@itwin/components-react 3.5.0-dev.27 → 3.5.0-dev.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1310) hide show
  1. package/lib/cjs/components-react/UiComponents.d.ts +35 -35
  2. package/lib/cjs/components-react/UiComponents.js +79 -79
  3. package/lib/cjs/components-react/UiComponents.js.map +1 -1
  4. package/lib/cjs/components-react/_target.scss +9 -9
  5. package/lib/cjs/components-react/breadcrumb/BeInspireTree.d.ts +262 -262
  6. package/lib/cjs/components-react/breadcrumb/BeInspireTree.js +901 -901
  7. package/lib/cjs/components-react/breadcrumb/BeInspireTree.js.map +1 -1
  8. package/lib/cjs/components-react/breadcrumb/Breadcrumb.d.ts +197 -197
  9. package/lib/cjs/components-react/breadcrumb/Breadcrumb.js +651 -651
  10. package/lib/cjs/components-react/breadcrumb/Breadcrumb.js.map +1 -1
  11. package/lib/cjs/components-react/breadcrumb/Breadcrumb.scss +196 -196
  12. package/lib/cjs/components-react/breadcrumb/BreadcrumbDetails.d.ts +65 -65
  13. package/lib/cjs/components-react/breadcrumb/BreadcrumbDetails.js +231 -231
  14. package/lib/cjs/components-react/breadcrumb/BreadcrumbDetails.js.map +1 -1
  15. package/lib/cjs/components-react/breadcrumb/BreadcrumbPath.d.ts +35 -35
  16. package/lib/cjs/components-react/breadcrumb/BreadcrumbPath.js +46 -46
  17. package/lib/cjs/components-react/breadcrumb/BreadcrumbPath.js.map +1 -1
  18. package/lib/cjs/components-react/breadcrumb/BreadcrumbTreeUtils.d.ts +29 -29
  19. package/lib/cjs/components-react/breadcrumb/BreadcrumbTreeUtils.js +135 -135
  20. package/lib/cjs/components-react/breadcrumb/BreadcrumbTreeUtils.js.map +1 -1
  21. package/lib/cjs/components-react/common/DateUtils.d.ts +58 -58
  22. package/lib/cjs/components-react/common/DateUtils.js +74 -74
  23. package/lib/cjs/components-react/common/DateUtils.js.map +1 -1
  24. package/lib/cjs/components-react/common/DelayedSpinner.d.ts +22 -22
  25. package/lib/cjs/components-react/common/DelayedSpinner.js +57 -57
  26. package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
  27. package/lib/cjs/components-react/common/HighlightedText.d.ts +22 -22
  28. package/lib/cjs/components-react/common/HighlightedText.js +38 -38
  29. package/lib/cjs/components-react/common/HighlightedText.js.map +1 -1
  30. package/lib/cjs/components-react/common/HighlightingComponentProps.d.ts +19 -19
  31. package/lib/cjs/components-react/common/HighlightingComponentProps.js +9 -9
  32. package/lib/cjs/components-react/common/HighlightingComponentProps.js.map +1 -1
  33. package/lib/cjs/components-react/common/IImageLoader.d.ts +41 -41
  34. package/lib/cjs/components-react/common/IImageLoader.js +9 -9
  35. package/lib/cjs/components-react/common/IImageLoader.js.map +1 -1
  36. package/lib/cjs/components-react/common/ImageRenderer.d.ts +36 -36
  37. package/lib/cjs/components-react/common/ImageRenderer.js +141 -141
  38. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  39. package/lib/cjs/components-react/common/Links.d.ts +12 -12
  40. package/lib/cjs/components-react/common/Links.js +71 -71
  41. package/lib/cjs/components-react/common/Links.js.map +1 -1
  42. package/lib/cjs/components-react/common/PageOptions.d.ts +10 -10
  43. package/lib/cjs/components-react/common/PageOptions.js +9 -9
  44. package/lib/cjs/components-react/common/PageOptions.js.map +1 -1
  45. package/lib/cjs/components-react/common/SubscriptionScheduler.d.ts +32 -32
  46. package/lib/cjs/components-react/common/SubscriptionScheduler.js +78 -78
  47. package/lib/cjs/components-react/common/SubscriptionScheduler.js.map +1 -1
  48. package/lib/cjs/components-react/common/UseAsyncValue.d.ts +8 -8
  49. package/lib/cjs/components-react/common/UseAsyncValue.js +64 -64
  50. package/lib/cjs/components-react/common/UseAsyncValue.js.map +1 -1
  51. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.d.ts +7 -7
  52. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js +27 -27
  53. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  54. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts +12 -12
  55. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js +45 -45
  56. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  57. package/lib/cjs/components-react/common/UseRerender.d.ts +21 -21
  58. package/lib/cjs/components-react/common/UseRerender.js +31 -31
  59. package/lib/cjs/components-react/common/UseRerender.js.map +1 -1
  60. package/lib/cjs/components-react/common/countMatchesInString.d.ts +7 -7
  61. package/lib/cjs/components-react/common/countMatchesInString.js +31 -31
  62. package/lib/cjs/components-react/common/countMatchesInString.js.map +1 -1
  63. package/lib/cjs/components-react/common/selection/SelectionHandler.d.ts +122 -122
  64. package/lib/cjs/components-react/common/selection/SelectionHandler.js +220 -220
  65. package/lib/cjs/components-react/common/selection/SelectionHandler.js.map +1 -1
  66. package/lib/cjs/components-react/common/selection/SelectionModes.d.ts +32 -32
  67. package/lib/cjs/components-react/common/selection/SelectionModes.js +44 -44
  68. package/lib/cjs/components-react/common/selection/SelectionModes.js.map +1 -1
  69. package/lib/cjs/components-react/common/showhide/ShowHideDialog.d.ts +38 -38
  70. package/lib/cjs/components-react/common/showhide/ShowHideDialog.js +90 -90
  71. package/lib/cjs/components-react/common/showhide/ShowHideDialog.js.map +1 -1
  72. package/lib/cjs/components-react/common/showhide/ShowHideItem.d.ts +14 -14
  73. package/lib/cjs/components-react/common/showhide/ShowHideItem.js +9 -9
  74. package/lib/cjs/components-react/common/showhide/ShowHideItem.js.map +1 -1
  75. package/lib/cjs/components-react/common/showhide/ShowHideMenu.d.ts +53 -53
  76. package/lib/cjs/components-react/common/showhide/ShowHideMenu.js +123 -123
  77. package/lib/cjs/components-react/common/showhide/ShowHideMenu.js.map +1 -1
  78. package/lib/cjs/components-react/converters/BooleanTypeConverter.d.ts +20 -20
  79. package/lib/cjs/components-react/converters/BooleanTypeConverter.js +54 -54
  80. package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
  81. package/lib/cjs/components-react/converters/CompositeTypeConverter.d.ts +13 -13
  82. package/lib/cjs/components-react/converters/CompositeTypeConverter.js +63 -63
  83. package/lib/cjs/components-react/converters/CompositeTypeConverter.js.map +1 -1
  84. package/lib/cjs/components-react/converters/DateTimeTypeConverter.d.ts +48 -48
  85. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js +183 -183
  86. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  87. package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts +15 -15
  88. package/lib/cjs/components-react/converters/EnumTypeConverter.js +55 -55
  89. package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
  90. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.d.ts +13 -13
  91. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js +47 -47
  92. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  93. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.d.ts +14 -14
  94. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js +30 -30
  95. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  96. package/lib/cjs/components-react/converters/NumericTypeConverter.d.ts +35 -35
  97. package/lib/cjs/components-react/converters/NumericTypeConverter.js +113 -113
  98. package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
  99. package/lib/cjs/components-react/converters/PointTypeConverter.d.ts +38 -38
  100. package/lib/cjs/components-react/converters/PointTypeConverter.js +116 -116
  101. package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
  102. package/lib/cjs/components-react/converters/StringTypeConverter.d.ts +45 -45
  103. package/lib/cjs/components-react/converters/StringTypeConverter.js +91 -91
  104. package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
  105. package/lib/cjs/components-react/converters/TypeConverter.d.ts +83 -83
  106. package/lib/cjs/components-react/converters/TypeConverter.js +77 -77
  107. package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
  108. package/lib/cjs/components-react/converters/TypeConverterManager.d.ts +16 -16
  109. package/lib/cjs/components-react/converters/TypeConverterManager.js +50 -50
  110. package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
  111. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.d.ts +30 -30
  112. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js +9 -9
  113. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  114. package/lib/cjs/components-react/datepicker/DateField.d.ts +32 -32
  115. package/lib/cjs/components-react/datepicker/DateField.js +156 -156
  116. package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
  117. package/lib/cjs/components-react/datepicker/DateField.scss +22 -22
  118. package/lib/cjs/components-react/datepicker/DatePicker.d.ts +21 -21
  119. package/lib/cjs/components-react/datepicker/DatePicker.js +200 -200
  120. package/lib/cjs/components-react/datepicker/DatePicker.js.map +1 -1
  121. package/lib/cjs/components-react/datepicker/DatePicker.scss +170 -170
  122. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts +29 -29
  123. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js +98 -98
  124. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  125. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  126. package/lib/cjs/components-react/datepicker/IntlFormatter.d.ts +18 -18
  127. package/lib/cjs/components-react/datepicker/IntlFormatter.js +44 -44
  128. package/lib/cjs/components-react/datepicker/IntlFormatter.js.map +1 -1
  129. package/lib/cjs/components-react/datepicker/TimeField.d.ts +29 -29
  130. package/lib/cjs/components-react/datepicker/TimeField.js +248 -248
  131. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  132. package/lib/cjs/components-react/datepicker/TimeField.scss +73 -73
  133. package/lib/cjs/components-react/editors/BooleanEditor.d.ts +44 -44
  134. package/lib/cjs/components-react/editors/BooleanEditor.js +153 -153
  135. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  136. package/lib/cjs/components-react/editors/BooleanEditor.scss +24 -24
  137. package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts +54 -54
  138. package/lib/cjs/components-react/editors/CustomNumberEditor.js +295 -295
  139. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  140. package/lib/cjs/components-react/editors/CustomNumberEditor.scss +21 -21
  141. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts +69 -69
  142. package/lib/cjs/components-react/editors/DateTimeEditor.js +302 -302
  143. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  144. package/lib/cjs/components-react/editors/DateTimeEditor.scss +9 -9
  145. package/lib/cjs/components-react/editors/EditorContainer.d.ts +82 -82
  146. package/lib/cjs/components-react/editors/EditorContainer.js +182 -182
  147. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  148. package/lib/cjs/components-react/editors/EditorContainer.scss +6 -6
  149. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts +43 -43
  150. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js +179 -179
  151. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  152. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.scss +182 -182
  153. package/lib/cjs/components-react/editors/EnumEditor.d.ts +49 -49
  154. package/lib/cjs/components-react/editors/EnumEditor.js +188 -188
  155. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  156. package/lib/cjs/components-react/editors/EnumEditor.scss +22 -22
  157. package/lib/cjs/components-react/editors/IconEditor.d.ts +47 -47
  158. package/lib/cjs/components-react/editors/IconEditor.js +165 -165
  159. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  160. package/lib/cjs/components-react/editors/IconEditor.scss +16 -16
  161. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts +47 -47
  162. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js +147 -147
  163. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  164. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.scss +23 -23
  165. package/lib/cjs/components-react/editors/NumericInputEditor.d.ts +52 -52
  166. package/lib/cjs/components-react/editors/NumericInputEditor.js +171 -171
  167. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  168. package/lib/cjs/components-react/editors/NumericInputEditor.scss +17 -17
  169. package/lib/cjs/components-react/editors/PopupButton.d.ts +72 -72
  170. package/lib/cjs/components-react/editors/PopupButton.js +113 -113
  171. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  172. package/lib/cjs/components-react/editors/PopupButton.scss +119 -119
  173. package/lib/cjs/components-react/editors/PropertyEditorManager.d.ts +72 -72
  174. package/lib/cjs/components-react/editors/PropertyEditorManager.js +147 -147
  175. package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
  176. package/lib/cjs/components-react/editors/SliderEditor.d.ts +63 -63
  177. package/lib/cjs/components-react/editors/SliderEditor.js +248 -248
  178. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  179. package/lib/cjs/components-react/editors/SliderEditor.scss +13 -13
  180. package/lib/cjs/components-react/editors/TextEditor.d.ts +40 -40
  181. package/lib/cjs/components-react/editors/TextEditor.js +159 -159
  182. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  183. package/lib/cjs/components-react/editors/TextEditor.scss +21 -21
  184. package/lib/cjs/components-react/editors/TextareaEditor.d.ts +53 -53
  185. package/lib/cjs/components-react/editors/TextareaEditor.js +202 -202
  186. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  187. package/lib/cjs/components-react/editors/TextareaEditor.scss +14 -14
  188. package/lib/cjs/components-react/editors/ThemedEnumEditor.d.ts +62 -62
  189. package/lib/cjs/components-react/editors/ThemedEnumEditor.js +206 -206
  190. package/lib/cjs/components-react/editors/ThemedEnumEditor.js.map +1 -1
  191. package/lib/cjs/components-react/editors/ThemedEnumEditor.scss +82 -82
  192. package/lib/cjs/components-react/editors/ToggleEditor.d.ts +44 -44
  193. package/lib/cjs/components-react/editors/ToggleEditor.js +156 -156
  194. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  195. package/lib/cjs/components-react/editors/ToggleEditor.scss +25 -25
  196. package/lib/cjs/components-react/editors/variables.scss +6 -6
  197. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts +12 -12
  198. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js +46 -46
  199. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  200. package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts +19 -19
  201. package/lib/cjs/components-react/favorite/FavoritePropertyList.js +51 -51
  202. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  203. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts +37 -37
  204. package/lib/cjs/components-react/filter-builder/FilterBuilder.js +117 -117
  205. package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
  206. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts +10 -10
  207. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js +75 -75
  208. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  209. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.scss +40 -40
  210. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +28 -28
  211. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js +78 -78
  212. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  213. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.scss +72 -72
  214. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +11 -11
  215. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js +46 -46
  216. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  217. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +11 -11
  218. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +54 -54
  219. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  220. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts +10 -10
  221. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +42 -42
  222. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  223. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts +42 -42
  224. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js +151 -151
  225. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  226. package/lib/cjs/components-react/filter-builder/Operators.d.ts +26 -26
  227. package/lib/cjs/components-react/filter-builder/Operators.js +112 -112
  228. package/lib/cjs/components-react/filter-builder/Operators.js.map +1 -1
  229. package/lib/cjs/components-react/filter-builder/Types.d.ts +17 -17
  230. package/lib/cjs/components-react/filter-builder/Types.js +8 -8
  231. package/lib/cjs/components-react/filter-builder/Types.js.map +1 -1
  232. package/lib/cjs/components-react/filtering/FilteringInput.d.ts +76 -76
  233. package/lib/cjs/components-react/filtering/FilteringInput.js +139 -139
  234. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  235. package/lib/cjs/components-react/filtering/FilteringInput.scss +68 -68
  236. package/lib/cjs/components-react/filtering/ResultSelector.d.ts +48 -48
  237. package/lib/cjs/components-react/filtering/ResultSelector.js +121 -121
  238. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  239. package/lib/cjs/components-react/filtering/ResultSelector.scss +72 -72
  240. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts +47 -47
  241. package/lib/cjs/components-react/iconpicker/IconPickerButton.js +109 -109
  242. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  243. package/lib/cjs/components-react/iconpicker/IconPickerButton.scss +74 -74
  244. package/lib/cjs/components-react/inputs/ParsedInput.d.ts +28 -28
  245. package/lib/cjs/components-react/inputs/ParsedInput.js +110 -110
  246. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  247. package/lib/cjs/components-react/inputs/ParsedInput.scss +23 -23
  248. package/lib/cjs/components-react/properties/ItemStyle.d.ts +48 -48
  249. package/lib/cjs/components-react/properties/ItemStyle.js +64 -64
  250. package/lib/cjs/components-react/properties/ItemStyle.js.map +1 -1
  251. package/lib/cjs/components-react/properties/LinkHandler.d.ts +28 -28
  252. package/lib/cjs/components-react/properties/LinkHandler.js +104 -104
  253. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  254. package/lib/cjs/components-react/properties/ValueRendererManager.d.ts +89 -89
  255. package/lib/cjs/components-react/properties/ValueRendererManager.js +92 -92
  256. package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
  257. package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts +29 -29
  258. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js +56 -56
  259. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  260. package/lib/cjs/components-react/properties/renderers/ActionButtonList.scss +25 -25
  261. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts +19 -19
  262. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js +9 -9
  263. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  264. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.d.ts +19 -19
  265. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js +92 -92
  266. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  267. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +36 -36
  268. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +93 -93
  269. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  270. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +16 -16
  271. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +28 -28
  272. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js +56 -56
  273. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  274. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.d.ts +29 -29
  275. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js +69 -69
  276. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  277. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts +97 -97
  278. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js +108 -108
  279. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  280. package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts +36 -36
  281. package/lib/cjs/components-react/properties/renderers/PropertyView.js +101 -101
  282. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  283. package/lib/cjs/components-react/properties/renderers/PropertyView.scss +104 -104
  284. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +23 -23
  285. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +55 -55
  286. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  287. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +21 -21
  288. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +43 -43
  289. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  290. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +22 -22
  291. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js +50 -50
  292. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  293. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.scss +87 -87
  294. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts +15 -15
  295. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +58 -58
  296. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  297. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +15 -15
  298. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +55 -55
  299. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  300. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts +15 -15
  301. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +27 -27
  302. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  303. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +22 -22
  304. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +95 -95
  305. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  306. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +15 -15
  307. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +55 -55
  308. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  309. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +44 -44
  310. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +88 -88
  311. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  312. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts +15 -15
  313. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js +55 -55
  314. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  315. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +18 -18
  316. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +66 -66
  317. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  318. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts +9 -9
  319. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js +39 -39
  320. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  321. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +14 -14
  322. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js +50 -50
  323. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  324. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +45 -45
  325. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +88 -88
  326. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  327. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.scss +10 -10
  328. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +14 -14
  329. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js +48 -48
  330. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  331. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +38 -38
  332. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js +43 -43
  333. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  334. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts +55 -55
  335. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js +17 -17
  336. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  337. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.d.ts +24 -24
  338. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js +69 -69
  339. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  340. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +45 -45
  341. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +98 -98
  342. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  343. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts +17 -17
  344. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +49 -49
  345. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  346. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +30 -30
  347. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js +60 -60
  348. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  349. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.d.ts +68 -68
  350. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js +184 -184
  351. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  352. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.scss +72 -72
  353. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts +91 -91
  354. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js +55 -55
  355. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  356. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +43 -43
  357. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +121 -121
  358. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  359. package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts +64 -64
  360. package/lib/cjs/components-react/propertygrid/component/PropertyList.js +68 -68
  361. package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
  362. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +118 -118
  363. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +267 -267
  364. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  365. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +91 -91
  366. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +24 -24
  367. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +33 -33
  368. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  369. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +41 -41
  370. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js +184 -184
  371. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  372. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts +28 -28
  373. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +73 -73
  374. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  375. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts +17 -17
  376. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +51 -51
  377. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  378. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts +17 -17
  379. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +48 -48
  380. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  381. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts +17 -17
  382. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +48 -48
  383. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  384. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts +89 -89
  385. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +60 -60
  386. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  387. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +24 -24
  388. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js +27 -27
  389. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  390. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts +38 -38
  391. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js +74 -74
  392. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  393. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts +65 -65
  394. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js +79 -79
  395. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  396. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +15 -15
  397. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +18 -18
  398. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  399. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +36 -36
  400. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js +65 -65
  401. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  402. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +55 -55
  403. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js +6 -6
  404. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  405. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +20 -20
  406. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +46 -46
  407. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  408. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +14 -14
  409. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +24 -24
  410. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  411. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +20 -20
  412. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +44 -44
  413. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  414. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts +23 -23
  415. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +55 -55
  416. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  417. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +171 -171
  418. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +218 -218
  419. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  420. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +49 -49
  421. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +87 -87
  422. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  423. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +47 -47
  424. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +72 -72
  425. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  426. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +24 -24
  427. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +68 -68
  428. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  429. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +43 -43
  430. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +82 -82
  431. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  432. package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts +48 -48
  433. package/lib/cjs/components-react/selectable-content/SelectableContent.js +72 -72
  434. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  435. package/lib/cjs/components-react/selectable-content/SelectableContent.scss +21 -21
  436. package/lib/cjs/components-react/table/SimpleTableDataProvider.d.ts +56 -56
  437. package/lib/cjs/components-react/table/SimpleTableDataProvider.js +252 -252
  438. package/lib/cjs/components-react/table/SimpleTableDataProvider.js.map +1 -1
  439. package/lib/cjs/components-react/table/TableDataProvider.d.ts +157 -157
  440. package/lib/cjs/components-react/table/TableDataProvider.js +29 -29
  441. package/lib/cjs/components-react/table/TableDataProvider.js.map +1 -1
  442. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.d.ts +225 -225
  443. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.js +107 -107
  444. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.js.map +1 -1
  445. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.scss +78 -78
  446. package/lib/cjs/components-react/table/columnfiltering/ColumnFilteringUtilities.d.ts +13 -13
  447. package/lib/cjs/components-react/table/columnfiltering/ColumnFilteringUtilities.js +35 -35
  448. package/lib/cjs/components-react/table/columnfiltering/ColumnFilteringUtilities.js.map +1 -1
  449. package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.d.ts +87 -87
  450. package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.js +192 -192
  451. package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.js.map +1 -1
  452. package/lib/cjs/components-react/table/columnfiltering/FilterableColumnBase.d.ts +57 -57
  453. package/lib/cjs/components-react/table/columnfiltering/FilterableColumnBase.js +102 -102
  454. package/lib/cjs/components-react/table/columnfiltering/FilterableColumnBase.js.map +1 -1
  455. package/lib/cjs/components-react/table/columnfiltering/TableColumnFilterDescriptor.d.ts +56 -56
  456. package/lib/cjs/components-react/table/columnfiltering/TableColumnFilterDescriptor.js +362 -362
  457. package/lib/cjs/components-react/table/columnfiltering/TableColumnFilterDescriptor.js.map +1 -1
  458. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptor.d.ts +85 -85
  459. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptor.js +402 -402
  460. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptor.js.map +1 -1
  461. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptorCollection.d.ts +28 -28
  462. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptorCollection.js +86 -86
  463. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptorCollection.js.map +1 -1
  464. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.d.ts +28 -28
  465. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js +74 -74
  466. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js.map +1 -1
  467. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.d.ts +4 -4
  468. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js +22 -22
  469. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js.map +1 -1
  470. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.d.ts +21 -21
  471. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js +87 -87
  472. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js.map +1 -1
  473. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.d.ts +4 -4
  474. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js +22 -22
  475. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js.map +1 -1
  476. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.d.ts +18 -18
  477. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js +183 -183
  478. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js.map +1 -1
  479. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.scss +35 -35
  480. package/lib/cjs/components-react/table/component/ColumnDragLayer.d.ts +14 -14
  481. package/lib/cjs/components-react/table/component/ColumnDragLayer.js +65 -65
  482. package/lib/cjs/components-react/table/component/ColumnDragLayer.js.map +1 -1
  483. package/lib/cjs/components-react/table/component/DragDropHeaderCell.d.ts +26 -26
  484. package/lib/cjs/components-react/table/component/DragDropHeaderCell.js +101 -101
  485. package/lib/cjs/components-react/table/component/DragDropHeaderCell.js.map +1 -1
  486. package/lib/cjs/components-react/table/component/Table.d.ts +299 -299
  487. package/lib/cjs/components-react/table/component/Table.js +1332 -1332
  488. package/lib/cjs/components-react/table/component/Table.js.map +1 -1
  489. package/lib/cjs/components-react/table/component/Table.scss +200 -200
  490. package/lib/cjs/components-react/table/component/TableCell.d.ts +94 -94
  491. package/lib/cjs/components-react/table/component/TableCell.js +133 -133
  492. package/lib/cjs/components-react/table/component/TableCell.js.map +1 -1
  493. package/lib/cjs/components-react/table/component/TableCell.scss +48 -48
  494. package/lib/cjs/components-react/table/component/TableColumn.d.ts +29 -29
  495. package/lib/cjs/components-react/table/component/TableColumn.js +32 -32
  496. package/lib/cjs/components-react/table/component/TableColumn.js.map +1 -1
  497. package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.d.ts +12 -12
  498. package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.js +41 -41
  499. package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.js.map +1 -1
  500. package/lib/cjs/components-react/table/component/dragdrop/DragDropDef.d.ts +154 -154
  501. package/lib/cjs/components-react/table/component/dragdrop/DragDropDef.js +32 -32
  502. package/lib/cjs/components-react/table/component/dragdrop/DragDropDef.js.map +1 -1
  503. package/lib/cjs/components-react/table/component/dragdrop/withDragSource.d.ts +41 -41
  504. package/lib/cjs/components-react/table/component/dragdrop/withDragSource.js +188 -188
  505. package/lib/cjs/components-react/table/component/dragdrop/withDragSource.js.map +1 -1
  506. package/lib/cjs/components-react/table/component/dragdrop/withDropTarget.d.ts +35 -35
  507. package/lib/cjs/components-react/table/component/dragdrop/withDropTarget.js +149 -149
  508. package/lib/cjs/components-react/table/component/dragdrop/withDropTarget.js.map +1 -1
  509. package/lib/cjs/components-react/toolbar/Item.d.ts +37 -37
  510. package/lib/cjs/components-react/toolbar/Item.js +46 -46
  511. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  512. package/lib/cjs/components-react/toolbar/Item.scss +122 -122
  513. package/lib/cjs/components-react/toolbar/ItemWrapper.d.ts +19 -19
  514. package/lib/cjs/components-react/toolbar/ItemWrapper.js +59 -59
  515. package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
  516. package/lib/cjs/components-react/toolbar/ItemWrapper.scss +10 -10
  517. package/lib/cjs/components-react/toolbar/Items.d.ts +20 -20
  518. package/lib/cjs/components-react/toolbar/Items.js +76 -76
  519. package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
  520. package/lib/cjs/components-react/toolbar/Items.scss +94 -94
  521. package/lib/cjs/components-react/toolbar/Overflow.d.ts +31 -31
  522. package/lib/cjs/components-react/toolbar/Overflow.js +72 -72
  523. package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
  524. package/lib/cjs/components-react/toolbar/Overflow.scss +57 -57
  525. package/lib/cjs/components-react/toolbar/OverflowPanel.d.ts +17 -17
  526. package/lib/cjs/components-react/toolbar/OverflowPanel.js +68 -68
  527. package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
  528. package/lib/cjs/components-react/toolbar/OverflowPanel.scss +37 -37
  529. package/lib/cjs/components-react/toolbar/PopupItem.d.ts +50 -50
  530. package/lib/cjs/components-react/toolbar/PopupItem.js +105 -105
  531. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  532. package/lib/cjs/components-react/toolbar/PopupItem.scss +86 -86
  533. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts +22 -22
  534. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js +171 -171
  535. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  536. package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts +14 -14
  537. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js +142 -142
  538. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  539. package/lib/cjs/components-react/toolbar/Toolbar.d.ts +32 -32
  540. package/lib/cjs/components-react/toolbar/Toolbar.js +94 -94
  541. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  542. package/lib/cjs/components-react/toolbar/Toolbar.scss +18 -18
  543. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts +150 -150
  544. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js +481 -481
  545. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  546. package/lib/cjs/components-react/toolbar/_variables.scss +34 -34
  547. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.d.ts +19 -19
  548. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js +48 -48
  549. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  550. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  551. package/lib/cjs/components-react/toolbar/groupPanel/Column.d.ts +17 -17
  552. package/lib/cjs/components-react/toolbar/groupPanel/Column.js +43 -43
  553. package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
  554. package/lib/cjs/components-react/toolbar/groupPanel/Column.scss +9 -9
  555. package/lib/cjs/components-react/toolbar/groupPanel/Columns.d.ts +17 -17
  556. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js +43 -43
  557. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  558. package/lib/cjs/components-react/toolbar/groupPanel/Columns.scss +10 -10
  559. package/lib/cjs/components-react/toolbar/groupPanel/Panel.d.ts +18 -18
  560. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js +45 -45
  561. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  562. package/lib/cjs/components-react/toolbar/groupPanel/Panel.scss +17 -17
  563. package/lib/cjs/components-react/toolbar/groupPanel/Title.d.ts +17 -17
  564. package/lib/cjs/components-react/toolbar/groupPanel/Title.js +43 -43
  565. package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
  566. package/lib/cjs/components-react/toolbar/groupPanel/Title.scss +34 -34
  567. package/lib/cjs/components-react/toolbar/groupPanel/_variables.scss +16 -16
  568. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.d.ts +16 -16
  569. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js +46 -46
  570. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  571. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
  572. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.d.ts +38 -38
  573. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js +62 -62
  574. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  575. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.scss +146 -146
  576. package/lib/cjs/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
  577. package/lib/cjs/components-react/toolbar/useDragInteraction.d.ts +14 -14
  578. package/lib/cjs/components-react/toolbar/useDragInteraction.js +125 -125
  579. package/lib/cjs/components-react/toolbar/useDragInteraction.js.map +1 -1
  580. package/lib/cjs/components-react/toolbar/utilities/Direction.d.ts +49 -49
  581. package/lib/cjs/components-react/toolbar/utilities/Direction.js +94 -94
  582. package/lib/cjs/components-react/toolbar/utilities/Direction.js.map +1 -1
  583. package/lib/cjs/components-react/tree/HighlightingEngine.d.ts +51 -51
  584. package/lib/cjs/components-react/tree/HighlightingEngine.js +61 -61
  585. package/lib/cjs/components-react/tree/HighlightingEngine.js.map +1 -1
  586. package/lib/cjs/components-react/tree/HighlightingEngine.scss +7 -7
  587. package/lib/cjs/components-react/tree/ImageLoader.d.ts +18 -18
  588. package/lib/cjs/components-react/tree/ImageLoader.js +25 -25
  589. package/lib/cjs/components-react/tree/ImageLoader.js.map +1 -1
  590. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts +25 -25
  591. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js +41 -41
  592. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  593. package/lib/cjs/components-react/tree/TreeComponentTestId.d.ts +15 -15
  594. package/lib/cjs/components-react/tree/TreeComponentTestId.js +23 -23
  595. package/lib/cjs/components-react/tree/TreeComponentTestId.js.map +1 -1
  596. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts +118 -118
  597. package/lib/cjs/components-react/tree/TreeDataProvider.js +55 -55
  598. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  599. package/lib/cjs/components-react/tree/controlled/Observable.d.ts +87 -87
  600. package/lib/cjs/components-react/tree/controlled/Observable.js +25 -25
  601. package/lib/cjs/components-react/tree/controlled/Observable.js.map +1 -1
  602. package/lib/cjs/components-react/tree/controlled/TreeActions.d.ts +20 -20
  603. package/lib/cjs/components-react/tree/controlled/TreeActions.js +9 -9
  604. package/lib/cjs/components-react/tree/controlled/TreeActions.js.map +1 -1
  605. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts +38 -38
  606. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js +224 -224
  607. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  608. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts +61 -61
  609. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js +84 -84
  610. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  611. package/lib/cjs/components-react/tree/controlled/TreeEvents.d.ts +108 -108
  612. package/lib/cjs/components-react/tree/controlled/TreeEvents.js +9 -9
  613. package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
  614. package/lib/cjs/components-react/tree/controlled/TreeHooks.d.ts +47 -47
  615. package/lib/cjs/components-react/tree/controlled/TreeHooks.js +82 -82
  616. package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
  617. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts +229 -229
  618. package/lib/cjs/components-react/tree/controlled/TreeModel.js +336 -336
  619. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  620. package/lib/cjs/components-react/tree/controlled/TreeModelSource.d.ts +33 -33
  621. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js +68 -68
  622. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  623. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.d.ts +155 -155
  624. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js +328 -328
  625. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  626. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts +60 -60
  627. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js +107 -107
  628. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  629. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +102 -102
  630. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts +25 -25
  631. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js +89 -89
  632. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  633. package/lib/cjs/components-react/tree/controlled/component/NodeContent.scss +28 -28
  634. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts +31 -31
  635. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js +57 -57
  636. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  637. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +42 -42
  638. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js +63 -63
  639. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  640. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts +75 -75
  641. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js +252 -252
  642. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  643. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.d.ts +71 -71
  644. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js +244 -244
  645. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  646. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.d.ts +30 -30
  647. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js +126 -126
  648. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  649. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +51 -51
  650. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js +253 -253
  651. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  652. package/lib/cjs/components-react.d.ts +215 -215
  653. package/lib/cjs/components-react.js +234 -234
  654. package/lib/cjs/components-react.js.map +1 -1
  655. package/lib/esm/components-react/UiComponents.d.ts +35 -35
  656. package/lib/esm/components-react/UiComponents.js +75 -75
  657. package/lib/esm/components-react/UiComponents.js.map +1 -1
  658. package/lib/esm/components-react/_target.scss +9 -9
  659. package/lib/esm/components-react/breadcrumb/BeInspireTree.d.ts +262 -262
  660. package/lib/esm/components-react/breadcrumb/BeInspireTree.js +891 -891
  661. package/lib/esm/components-react/breadcrumb/BeInspireTree.js.map +1 -1
  662. package/lib/esm/components-react/breadcrumb/Breadcrumb.d.ts +197 -197
  663. package/lib/esm/components-react/breadcrumb/Breadcrumb.js +622 -622
  664. package/lib/esm/components-react/breadcrumb/Breadcrumb.js.map +1 -1
  665. package/lib/esm/components-react/breadcrumb/Breadcrumb.scss +196 -196
  666. package/lib/esm/components-react/breadcrumb/BreadcrumbDetails.d.ts +65 -65
  667. package/lib/esm/components-react/breadcrumb/BreadcrumbDetails.js +205 -205
  668. package/lib/esm/components-react/breadcrumb/BreadcrumbDetails.js.map +1 -1
  669. package/lib/esm/components-react/breadcrumb/BreadcrumbPath.d.ts +35 -35
  670. package/lib/esm/components-react/breadcrumb/BreadcrumbPath.js +41 -41
  671. package/lib/esm/components-react/breadcrumb/BreadcrumbPath.js.map +1 -1
  672. package/lib/esm/components-react/breadcrumb/BreadcrumbTreeUtils.d.ts +29 -29
  673. package/lib/esm/components-react/breadcrumb/BreadcrumbTreeUtils.js +130 -130
  674. package/lib/esm/components-react/breadcrumb/BreadcrumbTreeUtils.js.map +1 -1
  675. package/lib/esm/components-react/common/DateUtils.d.ts +58 -58
  676. package/lib/esm/components-react/common/DateUtils.js +68 -68
  677. package/lib/esm/components-react/common/DateUtils.js.map +1 -1
  678. package/lib/esm/components-react/common/DelayedSpinner.d.ts +22 -22
  679. package/lib/esm/components-react/common/DelayedSpinner.js +34 -34
  680. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  681. package/lib/esm/components-react/common/HighlightedText.d.ts +22 -22
  682. package/lib/esm/components-react/common/HighlightedText.js +31 -31
  683. package/lib/esm/components-react/common/HighlightedText.js.map +1 -1
  684. package/lib/esm/components-react/common/HighlightingComponentProps.d.ts +19 -19
  685. package/lib/esm/components-react/common/HighlightingComponentProps.js +8 -8
  686. package/lib/esm/components-react/common/HighlightingComponentProps.js.map +1 -1
  687. package/lib/esm/components-react/common/IImageLoader.d.ts +41 -41
  688. package/lib/esm/components-react/common/IImageLoader.js +8 -8
  689. package/lib/esm/components-react/common/IImageLoader.js.map +1 -1
  690. package/lib/esm/components-react/common/ImageRenderer.d.ts +36 -36
  691. package/lib/esm/components-react/common/ImageRenderer.js +118 -118
  692. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  693. package/lib/esm/components-react/common/Links.d.ts +12 -12
  694. package/lib/esm/components-react/common/Links.js +64 -64
  695. package/lib/esm/components-react/common/Links.js.map +1 -1
  696. package/lib/esm/components-react/common/PageOptions.d.ts +10 -10
  697. package/lib/esm/components-react/common/PageOptions.js +8 -8
  698. package/lib/esm/components-react/common/PageOptions.js.map +1 -1
  699. package/lib/esm/components-react/common/SubscriptionScheduler.d.ts +32 -32
  700. package/lib/esm/components-react/common/SubscriptionScheduler.js +73 -73
  701. package/lib/esm/components-react/common/SubscriptionScheduler.js.map +1 -1
  702. package/lib/esm/components-react/common/UseAsyncValue.d.ts +8 -8
  703. package/lib/esm/components-react/common/UseAsyncValue.js +41 -41
  704. package/lib/esm/components-react/common/UseAsyncValue.js.map +1 -1
  705. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.d.ts +7 -7
  706. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js +20 -20
  707. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  708. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts +12 -12
  709. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +41 -41
  710. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  711. package/lib/esm/components-react/common/UseRerender.d.ts +21 -21
  712. package/lib/esm/components-react/common/UseRerender.js +27 -27
  713. package/lib/esm/components-react/common/UseRerender.js.map +1 -1
  714. package/lib/esm/components-react/common/countMatchesInString.d.ts +7 -7
  715. package/lib/esm/components-react/common/countMatchesInString.js +27 -27
  716. package/lib/esm/components-react/common/countMatchesInString.js.map +1 -1
  717. package/lib/esm/components-react/common/selection/SelectionHandler.d.ts +122 -122
  718. package/lib/esm/components-react/common/selection/SelectionHandler.js +215 -215
  719. package/lib/esm/components-react/common/selection/SelectionHandler.js.map +1 -1
  720. package/lib/esm/components-react/common/selection/SelectionModes.d.ts +32 -32
  721. package/lib/esm/components-react/common/selection/SelectionModes.js +40 -40
  722. package/lib/esm/components-react/common/selection/SelectionModes.js.map +1 -1
  723. package/lib/esm/components-react/common/showhide/ShowHideDialog.d.ts +38 -38
  724. package/lib/esm/components-react/common/showhide/ShowHideDialog.js +67 -67
  725. package/lib/esm/components-react/common/showhide/ShowHideDialog.js.map +1 -1
  726. package/lib/esm/components-react/common/showhide/ShowHideItem.d.ts +14 -14
  727. package/lib/esm/components-react/common/showhide/ShowHideItem.js +8 -8
  728. package/lib/esm/components-react/common/showhide/ShowHideItem.js.map +1 -1
  729. package/lib/esm/components-react/common/showhide/ShowHideMenu.d.ts +53 -53
  730. package/lib/esm/components-react/common/showhide/ShowHideMenu.js +100 -100
  731. package/lib/esm/components-react/common/showhide/ShowHideMenu.js.map +1 -1
  732. package/lib/esm/components-react/converters/BooleanTypeConverter.d.ts +20 -20
  733. package/lib/esm/components-react/converters/BooleanTypeConverter.js +50 -50
  734. package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
  735. package/lib/esm/components-react/converters/CompositeTypeConverter.d.ts +13 -13
  736. package/lib/esm/components-react/converters/CompositeTypeConverter.js +59 -59
  737. package/lib/esm/components-react/converters/CompositeTypeConverter.js.map +1 -1
  738. package/lib/esm/components-react/converters/DateTimeTypeConverter.d.ts +48 -48
  739. package/lib/esm/components-react/converters/DateTimeTypeConverter.js +177 -177
  740. package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  741. package/lib/esm/components-react/converters/EnumTypeConverter.d.ts +15 -15
  742. package/lib/esm/components-react/converters/EnumTypeConverter.js +51 -51
  743. package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
  744. package/lib/esm/components-react/converters/HexadecimalTypeConverter.d.ts +13 -13
  745. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js +43 -43
  746. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  747. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.d.ts +14 -14
  748. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js +26 -26
  749. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  750. package/lib/esm/components-react/converters/NumericTypeConverter.d.ts +35 -35
  751. package/lib/esm/components-react/converters/NumericTypeConverter.js +107 -107
  752. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  753. package/lib/esm/components-react/converters/PointTypeConverter.d.ts +38 -38
  754. package/lib/esm/components-react/converters/PointTypeConverter.js +110 -110
  755. package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
  756. package/lib/esm/components-react/converters/StringTypeConverter.d.ts +45 -45
  757. package/lib/esm/components-react/converters/StringTypeConverter.js +87 -87
  758. package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
  759. package/lib/esm/components-react/converters/TypeConverter.d.ts +83 -83
  760. package/lib/esm/components-react/converters/TypeConverter.js +73 -73
  761. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  762. package/lib/esm/components-react/converters/TypeConverterManager.d.ts +16 -16
  763. package/lib/esm/components-react/converters/TypeConverterManager.js +46 -46
  764. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  765. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.d.ts +30 -30
  766. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js +8 -8
  767. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  768. package/lib/esm/components-react/datepicker/DateField.d.ts +32 -32
  769. package/lib/esm/components-react/datepicker/DateField.js +129 -129
  770. package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
  771. package/lib/esm/components-react/datepicker/DateField.scss +22 -22
  772. package/lib/esm/components-react/datepicker/DatePicker.d.ts +21 -21
  773. package/lib/esm/components-react/datepicker/DatePicker.js +174 -174
  774. package/lib/esm/components-react/datepicker/DatePicker.js.map +1 -1
  775. package/lib/esm/components-react/datepicker/DatePicker.scss +170 -170
  776. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts +29 -29
  777. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js +75 -75
  778. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  779. package/lib/esm/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  780. package/lib/esm/components-react/datepicker/IntlFormatter.d.ts +18 -18
  781. package/lib/esm/components-react/datepicker/IntlFormatter.js +40 -40
  782. package/lib/esm/components-react/datepicker/IntlFormatter.js.map +1 -1
  783. package/lib/esm/components-react/datepicker/TimeField.d.ts +29 -29
  784. package/lib/esm/components-react/datepicker/TimeField.js +225 -225
  785. package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
  786. package/lib/esm/components-react/datepicker/TimeField.scss +73 -73
  787. package/lib/esm/components-react/editors/BooleanEditor.d.ts +44 -44
  788. package/lib/esm/components-react/editors/BooleanEditor.js +126 -126
  789. package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
  790. package/lib/esm/components-react/editors/BooleanEditor.scss +24 -24
  791. package/lib/esm/components-react/editors/CustomNumberEditor.d.ts +54 -54
  792. package/lib/esm/components-react/editors/CustomNumberEditor.js +268 -268
  793. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  794. package/lib/esm/components-react/editors/CustomNumberEditor.scss +21 -21
  795. package/lib/esm/components-react/editors/DateTimeEditor.d.ts +69 -69
  796. package/lib/esm/components-react/editors/DateTimeEditor.js +274 -274
  797. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  798. package/lib/esm/components-react/editors/DateTimeEditor.scss +9 -9
  799. package/lib/esm/components-react/editors/EditorContainer.d.ts +82 -82
  800. package/lib/esm/components-react/editors/EditorContainer.js +159 -159
  801. package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
  802. package/lib/esm/components-react/editors/EditorContainer.scss +6 -6
  803. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts +43 -43
  804. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js +152 -152
  805. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  806. package/lib/esm/components-react/editors/EnumButtonGroupEditor.scss +182 -182
  807. package/lib/esm/components-react/editors/EnumEditor.d.ts +49 -49
  808. package/lib/esm/components-react/editors/EnumEditor.js +161 -161
  809. package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
  810. package/lib/esm/components-react/editors/EnumEditor.scss +22 -22
  811. package/lib/esm/components-react/editors/IconEditor.d.ts +47 -47
  812. package/lib/esm/components-react/editors/IconEditor.js +138 -138
  813. package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
  814. package/lib/esm/components-react/editors/IconEditor.scss +16 -16
  815. package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts +47 -47
  816. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js +120 -120
  817. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  818. package/lib/esm/components-react/editors/ImageCheckBoxEditor.scss +23 -23
  819. package/lib/esm/components-react/editors/NumericInputEditor.d.ts +52 -52
  820. package/lib/esm/components-react/editors/NumericInputEditor.js +144 -144
  821. package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
  822. package/lib/esm/components-react/editors/NumericInputEditor.scss +17 -17
  823. package/lib/esm/components-react/editors/PopupButton.d.ts +72 -72
  824. package/lib/esm/components-react/editors/PopupButton.js +85 -85
  825. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  826. package/lib/esm/components-react/editors/PopupButton.scss +119 -119
  827. package/lib/esm/components-react/editors/PropertyEditorManager.d.ts +72 -72
  828. package/lib/esm/components-react/editors/PropertyEditorManager.js +121 -121
  829. package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
  830. package/lib/esm/components-react/editors/SliderEditor.d.ts +63 -63
  831. package/lib/esm/components-react/editors/SliderEditor.js +221 -221
  832. package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
  833. package/lib/esm/components-react/editors/SliderEditor.scss +13 -13
  834. package/lib/esm/components-react/editors/TextEditor.d.ts +40 -40
  835. package/lib/esm/components-react/editors/TextEditor.js +133 -133
  836. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  837. package/lib/esm/components-react/editors/TextEditor.scss +21 -21
  838. package/lib/esm/components-react/editors/TextareaEditor.d.ts +53 -53
  839. package/lib/esm/components-react/editors/TextareaEditor.js +175 -175
  840. package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
  841. package/lib/esm/components-react/editors/TextareaEditor.scss +14 -14
  842. package/lib/esm/components-react/editors/ThemedEnumEditor.d.ts +62 -62
  843. package/lib/esm/components-react/editors/ThemedEnumEditor.js +179 -179
  844. package/lib/esm/components-react/editors/ThemedEnumEditor.js.map +1 -1
  845. package/lib/esm/components-react/editors/ThemedEnumEditor.scss +82 -82
  846. package/lib/esm/components-react/editors/ToggleEditor.d.ts +44 -44
  847. package/lib/esm/components-react/editors/ToggleEditor.js +129 -129
  848. package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
  849. package/lib/esm/components-react/editors/ToggleEditor.scss +25 -25
  850. package/lib/esm/components-react/editors/variables.scss +6 -6
  851. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts +12 -12
  852. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js +23 -23
  853. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  854. package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts +19 -19
  855. package/lib/esm/components-react/favorite/FavoritePropertyList.js +28 -28
  856. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  857. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts +37 -37
  858. package/lib/esm/components-react/filter-builder/FilterBuilder.js +93 -93
  859. package/lib/esm/components-react/filter-builder/FilterBuilder.js.map +1 -1
  860. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts +10 -10
  861. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js +52 -52
  862. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  863. package/lib/esm/components-react/filter-builder/FilterBuilderRule.scss +40 -40
  864. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +28 -28
  865. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js +54 -54
  866. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  867. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.scss +72 -72
  868. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +11 -11
  869. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js +23 -23
  870. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  871. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +11 -11
  872. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +31 -31
  873. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  874. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts +10 -10
  875. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +19 -19
  876. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  877. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts +42 -42
  878. package/lib/esm/components-react/filter-builder/FilterBuilderState.js +126 -126
  879. package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  880. package/lib/esm/components-react/filter-builder/Operators.d.ts +26 -26
  881. package/lib/esm/components-react/filter-builder/Operators.js +106 -106
  882. package/lib/esm/components-react/filter-builder/Operators.js.map +1 -1
  883. package/lib/esm/components-react/filter-builder/Types.d.ts +17 -17
  884. package/lib/esm/components-react/filter-builder/Types.js +4 -4
  885. package/lib/esm/components-react/filter-builder/Types.js.map +1 -1
  886. package/lib/esm/components-react/filtering/FilteringInput.d.ts +76 -76
  887. package/lib/esm/components-react/filtering/FilteringInput.js +113 -113
  888. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  889. package/lib/esm/components-react/filtering/FilteringInput.scss +68 -68
  890. package/lib/esm/components-react/filtering/ResultSelector.d.ts +48 -48
  891. package/lib/esm/components-react/filtering/ResultSelector.js +95 -95
  892. package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
  893. package/lib/esm/components-react/filtering/ResultSelector.scss +72 -72
  894. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts +47 -47
  895. package/lib/esm/components-react/iconpicker/IconPickerButton.js +83 -83
  896. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  897. package/lib/esm/components-react/iconpicker/IconPickerButton.scss +74 -74
  898. package/lib/esm/components-react/inputs/ParsedInput.d.ts +28 -28
  899. package/lib/esm/components-react/inputs/ParsedInput.js +85 -85
  900. package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
  901. package/lib/esm/components-react/inputs/ParsedInput.scss +23 -23
  902. package/lib/esm/components-react/properties/ItemStyle.d.ts +48 -48
  903. package/lib/esm/components-react/properties/ItemStyle.js +61 -61
  904. package/lib/esm/components-react/properties/ItemStyle.js.map +1 -1
  905. package/lib/esm/components-react/properties/LinkHandler.d.ts +28 -28
  906. package/lib/esm/components-react/properties/LinkHandler.js +79 -79
  907. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  908. package/lib/esm/components-react/properties/ValueRendererManager.d.ts +89 -89
  909. package/lib/esm/components-react/properties/ValueRendererManager.js +88 -88
  910. package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
  911. package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts +29 -29
  912. package/lib/esm/components-react/properties/renderers/ActionButtonList.js +33 -33
  913. package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  914. package/lib/esm/components-react/properties/renderers/ActionButtonList.scss +25 -25
  915. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts +19 -19
  916. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js +8 -8
  917. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  918. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.d.ts +19 -19
  919. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js +69 -69
  920. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  921. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +36 -36
  922. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +70 -70
  923. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  924. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +16 -16
  925. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +28 -28
  926. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js +33 -33
  927. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  928. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.d.ts +29 -29
  929. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js +65 -65
  930. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  931. package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts +97 -97
  932. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js +85 -85
  933. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  934. package/lib/esm/components-react/properties/renderers/PropertyView.d.ts +36 -36
  935. package/lib/esm/components-react/properties/renderers/PropertyView.js +78 -78
  936. package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
  937. package/lib/esm/components-react/properties/renderers/PropertyView.scss +104 -104
  938. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +23 -23
  939. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +32 -32
  940. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  941. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +21 -21
  942. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +20 -20
  943. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  944. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +22 -22
  945. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js +27 -27
  946. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  947. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.scss +87 -87
  948. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts +15 -15
  949. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +35 -35
  950. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  951. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +15 -15
  952. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +32 -32
  953. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  954. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts +15 -15
  955. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +23 -23
  956. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  957. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +22 -22
  958. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +71 -71
  959. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  960. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +15 -15
  961. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +32 -32
  962. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  963. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +44 -44
  964. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +62 -62
  965. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  966. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts +15 -15
  967. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js +32 -32
  968. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  969. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +18 -18
  970. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +43 -43
  971. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  972. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts +9 -9
  973. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js +16 -16
  974. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  975. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +14 -14
  976. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js +27 -27
  977. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  978. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +45 -45
  979. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +65 -65
  980. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  981. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.scss +10 -10
  982. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +14 -14
  983. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js +25 -25
  984. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  985. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +38 -38
  986. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js +39 -39
  987. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  988. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts +55 -55
  989. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js +13 -13
  990. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  991. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.d.ts +24 -24
  992. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js +65 -65
  993. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  994. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +45 -45
  995. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +75 -75
  996. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  997. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts +17 -17
  998. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +23 -23
  999. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  1000. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +30 -30
  1001. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js +37 -37
  1002. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  1003. package/lib/esm/components-react/propertygrid/component/PropertyGrid.d.ts +68 -68
  1004. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js +158 -158
  1005. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  1006. package/lib/esm/components-react/propertygrid/component/PropertyGrid.scss +72 -72
  1007. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts +91 -91
  1008. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js +51 -51
  1009. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  1010. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +43 -43
  1011. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +98 -98
  1012. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  1013. package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts +64 -64
  1014. package/lib/esm/components-react/propertygrid/component/PropertyList.js +41 -41
  1015. package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
  1016. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +118 -118
  1017. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +241 -241
  1018. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  1019. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +91 -91
  1020. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +24 -24
  1021. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +26 -26
  1022. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  1023. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +41 -41
  1024. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js +180 -180
  1025. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  1026. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts +28 -28
  1027. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +69 -69
  1028. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  1029. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts +17 -17
  1030. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +47 -47
  1031. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  1032. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts +17 -17
  1033. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +44 -44
  1034. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  1035. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts +17 -17
  1036. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +44 -44
  1037. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  1038. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts +89 -89
  1039. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +53 -53
  1040. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  1041. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +24 -24
  1042. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js +23 -23
  1043. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  1044. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts +38 -38
  1045. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js +67 -67
  1046. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  1047. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts +65 -65
  1048. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js +75 -75
  1049. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  1050. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +15 -15
  1051. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +14 -14
  1052. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  1053. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +36 -36
  1054. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js +61 -61
  1055. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  1056. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +55 -55
  1057. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js +5 -5
  1058. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  1059. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +20 -20
  1060. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +42 -42
  1061. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  1062. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +14 -14
  1063. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +20 -20
  1064. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  1065. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +20 -20
  1066. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +40 -40
  1067. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  1068. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts +23 -23
  1069. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +51 -51
  1070. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  1071. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +171 -171
  1072. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +210 -210
  1073. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  1074. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +49 -49
  1075. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +83 -83
  1076. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  1077. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +47 -47
  1078. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +68 -68
  1079. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  1080. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +24 -24
  1081. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +45 -45
  1082. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  1083. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +43 -43
  1084. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +59 -59
  1085. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  1086. package/lib/esm/components-react/selectable-content/SelectableContent.d.ts +48 -48
  1087. package/lib/esm/components-react/selectable-content/SelectableContent.js +48 -48
  1088. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  1089. package/lib/esm/components-react/selectable-content/SelectableContent.scss +21 -21
  1090. package/lib/esm/components-react/table/SimpleTableDataProvider.d.ts +56 -56
  1091. package/lib/esm/components-react/table/SimpleTableDataProvider.js +248 -248
  1092. package/lib/esm/components-react/table/SimpleTableDataProvider.js.map +1 -1
  1093. package/lib/esm/components-react/table/TableDataProvider.d.ts +157 -157
  1094. package/lib/esm/components-react/table/TableDataProvider.js +25 -25
  1095. package/lib/esm/components-react/table/TableDataProvider.js.map +1 -1
  1096. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.d.ts +225 -225
  1097. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.js +100 -100
  1098. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.js.map +1 -1
  1099. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.scss +78 -78
  1100. package/lib/esm/components-react/table/columnfiltering/ColumnFilteringUtilities.d.ts +13 -13
  1101. package/lib/esm/components-react/table/columnfiltering/ColumnFilteringUtilities.js +31 -31
  1102. package/lib/esm/components-react/table/columnfiltering/ColumnFilteringUtilities.js.map +1 -1
  1103. package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.d.ts +87 -87
  1104. package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.js +188 -188
  1105. package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.js.map +1 -1
  1106. package/lib/esm/components-react/table/columnfiltering/FilterableColumnBase.d.ts +57 -57
  1107. package/lib/esm/components-react/table/columnfiltering/FilterableColumnBase.js +98 -98
  1108. package/lib/esm/components-react/table/columnfiltering/FilterableColumnBase.js.map +1 -1
  1109. package/lib/esm/components-react/table/columnfiltering/TableColumnFilterDescriptor.d.ts +56 -56
  1110. package/lib/esm/components-react/table/columnfiltering/TableColumnFilterDescriptor.js +358 -358
  1111. package/lib/esm/components-react/table/columnfiltering/TableColumnFilterDescriptor.js.map +1 -1
  1112. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptor.d.ts +85 -85
  1113. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptor.js +398 -398
  1114. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptor.js.map +1 -1
  1115. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptorCollection.d.ts +28 -28
  1116. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptorCollection.js +82 -82
  1117. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptorCollection.js.map +1 -1
  1118. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.d.ts +28 -28
  1119. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js +48 -48
  1120. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js.map +1 -1
  1121. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.d.ts +4 -4
  1122. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js +15 -15
  1123. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js.map +1 -1
  1124. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.d.ts +21 -21
  1125. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js +80 -80
  1126. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js.map +1 -1
  1127. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.d.ts +4 -4
  1128. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js +15 -15
  1129. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js.map +1 -1
  1130. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.d.ts +18 -18
  1131. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js +176 -176
  1132. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js.map +1 -1
  1133. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.scss +35 -35
  1134. package/lib/esm/components-react/table/component/ColumnDragLayer.d.ts +14 -14
  1135. package/lib/esm/components-react/table/component/ColumnDragLayer.js +39 -39
  1136. package/lib/esm/components-react/table/component/ColumnDragLayer.js.map +1 -1
  1137. package/lib/esm/components-react/table/component/DragDropHeaderCell.d.ts +26 -26
  1138. package/lib/esm/components-react/table/component/DragDropHeaderCell.js +75 -75
  1139. package/lib/esm/components-react/table/component/DragDropHeaderCell.js.map +1 -1
  1140. package/lib/esm/components-react/table/component/Table.d.ts +299 -299
  1141. package/lib/esm/components-react/table/component/Table.js +1305 -1305
  1142. package/lib/esm/components-react/table/component/Table.js.map +1 -1
  1143. package/lib/esm/components-react/table/component/Table.scss +200 -200
  1144. package/lib/esm/components-react/table/component/TableCell.d.ts +94 -94
  1145. package/lib/esm/components-react/table/component/TableCell.js +105 -105
  1146. package/lib/esm/components-react/table/component/TableCell.js.map +1 -1
  1147. package/lib/esm/components-react/table/component/TableCell.scss +48 -48
  1148. package/lib/esm/components-react/table/component/TableColumn.d.ts +29 -29
  1149. package/lib/esm/components-react/table/component/TableColumn.js +28 -28
  1150. package/lib/esm/components-react/table/component/TableColumn.js.map +1 -1
  1151. package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.d.ts +12 -12
  1152. package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.js +18 -18
  1153. package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.js.map +1 -1
  1154. package/lib/esm/components-react/table/component/dragdrop/DragDropDef.d.ts +154 -154
  1155. package/lib/esm/components-react/table/component/dragdrop/DragDropDef.js +29 -29
  1156. package/lib/esm/components-react/table/component/dragdrop/DragDropDef.js.map +1 -1
  1157. package/lib/esm/components-react/table/component/dragdrop/withDragSource.d.ts +41 -41
  1158. package/lib/esm/components-react/table/component/dragdrop/withDragSource.js +165 -165
  1159. package/lib/esm/components-react/table/component/dragdrop/withDragSource.js.map +1 -1
  1160. package/lib/esm/components-react/table/component/dragdrop/withDropTarget.d.ts +35 -35
  1161. package/lib/esm/components-react/table/component/dragdrop/withDropTarget.js +126 -126
  1162. package/lib/esm/components-react/table/component/dragdrop/withDropTarget.js.map +1 -1
  1163. package/lib/esm/components-react/toolbar/Item.d.ts +37 -37
  1164. package/lib/esm/components-react/toolbar/Item.js +21 -21
  1165. package/lib/esm/components-react/toolbar/Item.js.map +1 -1
  1166. package/lib/esm/components-react/toolbar/Item.scss +122 -122
  1167. package/lib/esm/components-react/toolbar/ItemWrapper.d.ts +19 -19
  1168. package/lib/esm/components-react/toolbar/ItemWrapper.js +32 -32
  1169. package/lib/esm/components-react/toolbar/ItemWrapper.js.map +1 -1
  1170. package/lib/esm/components-react/toolbar/ItemWrapper.scss +10 -10
  1171. package/lib/esm/components-react/toolbar/Items.d.ts +20 -20
  1172. package/lib/esm/components-react/toolbar/Items.js +50 -50
  1173. package/lib/esm/components-react/toolbar/Items.js.map +1 -1
  1174. package/lib/esm/components-react/toolbar/Items.scss +94 -94
  1175. package/lib/esm/components-react/toolbar/Overflow.d.ts +31 -31
  1176. package/lib/esm/components-react/toolbar/Overflow.js +45 -45
  1177. package/lib/esm/components-react/toolbar/Overflow.js.map +1 -1
  1178. package/lib/esm/components-react/toolbar/Overflow.scss +57 -57
  1179. package/lib/esm/components-react/toolbar/OverflowPanel.d.ts +17 -17
  1180. package/lib/esm/components-react/toolbar/OverflowPanel.js +42 -42
  1181. package/lib/esm/components-react/toolbar/OverflowPanel.js.map +1 -1
  1182. package/lib/esm/components-react/toolbar/OverflowPanel.scss +37 -37
  1183. package/lib/esm/components-react/toolbar/PopupItem.d.ts +50 -50
  1184. package/lib/esm/components-react/toolbar/PopupItem.js +77 -77
  1185. package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
  1186. package/lib/esm/components-react/toolbar/PopupItem.scss +86 -86
  1187. package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts +22 -22
  1188. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js +144 -144
  1189. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  1190. package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts +14 -14
  1191. package/lib/esm/components-react/toolbar/PopupItemsPanel.js +116 -116
  1192. package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  1193. package/lib/esm/components-react/toolbar/Toolbar.d.ts +32 -32
  1194. package/lib/esm/components-react/toolbar/Toolbar.js +68 -68
  1195. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  1196. package/lib/esm/components-react/toolbar/Toolbar.scss +18 -18
  1197. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts +150 -150
  1198. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js +445 -445
  1199. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  1200. package/lib/esm/components-react/toolbar/_variables.scss +34 -34
  1201. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.d.ts +19 -19
  1202. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js +23 -23
  1203. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  1204. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  1205. package/lib/esm/components-react/toolbar/groupPanel/Column.d.ts +17 -17
  1206. package/lib/esm/components-react/toolbar/groupPanel/Column.js +17 -17
  1207. package/lib/esm/components-react/toolbar/groupPanel/Column.js.map +1 -1
  1208. package/lib/esm/components-react/toolbar/groupPanel/Column.scss +9 -9
  1209. package/lib/esm/components-react/toolbar/groupPanel/Columns.d.ts +17 -17
  1210. package/lib/esm/components-react/toolbar/groupPanel/Columns.js +17 -17
  1211. package/lib/esm/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  1212. package/lib/esm/components-react/toolbar/groupPanel/Columns.scss +10 -10
  1213. package/lib/esm/components-react/toolbar/groupPanel/Panel.d.ts +18 -18
  1214. package/lib/esm/components-react/toolbar/groupPanel/Panel.js +19 -19
  1215. package/lib/esm/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  1216. package/lib/esm/components-react/toolbar/groupPanel/Panel.scss +17 -17
  1217. package/lib/esm/components-react/toolbar/groupPanel/Title.d.ts +17 -17
  1218. package/lib/esm/components-react/toolbar/groupPanel/Title.js +17 -17
  1219. package/lib/esm/components-react/toolbar/groupPanel/Title.js.map +1 -1
  1220. package/lib/esm/components-react/toolbar/groupPanel/Title.scss +34 -34
  1221. package/lib/esm/components-react/toolbar/groupPanel/_variables.scss +16 -16
  1222. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.d.ts +16 -16
  1223. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js +21 -21
  1224. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  1225. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
  1226. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.d.ts +38 -38
  1227. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js +36 -36
  1228. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  1229. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.scss +146 -146
  1230. package/lib/esm/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
  1231. package/lib/esm/components-react/toolbar/useDragInteraction.d.ts +14 -14
  1232. package/lib/esm/components-react/toolbar/useDragInteraction.js +102 -102
  1233. package/lib/esm/components-react/toolbar/useDragInteraction.js.map +1 -1
  1234. package/lib/esm/components-react/toolbar/utilities/Direction.d.ts +49 -49
  1235. package/lib/esm/components-react/toolbar/utilities/Direction.js +89 -89
  1236. package/lib/esm/components-react/toolbar/utilities/Direction.js.map +1 -1
  1237. package/lib/esm/components-react/tree/HighlightingEngine.d.ts +51 -51
  1238. package/lib/esm/components-react/tree/HighlightingEngine.js +38 -38
  1239. package/lib/esm/components-react/tree/HighlightingEngine.js.map +1 -1
  1240. package/lib/esm/components-react/tree/HighlightingEngine.scss +7 -7
  1241. package/lib/esm/components-react/tree/ImageLoader.d.ts +18 -18
  1242. package/lib/esm/components-react/tree/ImageLoader.js +21 -21
  1243. package/lib/esm/components-react/tree/ImageLoader.js.map +1 -1
  1244. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts +25 -25
  1245. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js +37 -37
  1246. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  1247. package/lib/esm/components-react/tree/TreeComponentTestId.d.ts +15 -15
  1248. package/lib/esm/components-react/tree/TreeComponentTestId.js +20 -20
  1249. package/lib/esm/components-react/tree/TreeComponentTestId.js.map +1 -1
  1250. package/lib/esm/components-react/tree/TreeDataProvider.d.ts +118 -118
  1251. package/lib/esm/components-react/tree/TreeDataProvider.js +47 -47
  1252. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  1253. package/lib/esm/components-react/tree/controlled/Observable.d.ts +87 -87
  1254. package/lib/esm/components-react/tree/controlled/Observable.js +20 -20
  1255. package/lib/esm/components-react/tree/controlled/Observable.js.map +1 -1
  1256. package/lib/esm/components-react/tree/controlled/TreeActions.d.ts +20 -20
  1257. package/lib/esm/components-react/tree/controlled/TreeActions.js +8 -8
  1258. package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
  1259. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts +38 -38
  1260. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js +220 -220
  1261. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  1262. package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts +61 -61
  1263. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js +80 -80
  1264. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  1265. package/lib/esm/components-react/tree/controlled/TreeEvents.d.ts +108 -108
  1266. package/lib/esm/components-react/tree/controlled/TreeEvents.js +8 -8
  1267. package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
  1268. package/lib/esm/components-react/tree/controlled/TreeHooks.d.ts +47 -47
  1269. package/lib/esm/components-react/tree/controlled/TreeHooks.js +74 -74
  1270. package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
  1271. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts +229 -229
  1272. package/lib/esm/components-react/tree/controlled/TreeModel.js +324 -324
  1273. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  1274. package/lib/esm/components-react/tree/controlled/TreeModelSource.d.ts +33 -33
  1275. package/lib/esm/components-react/tree/controlled/TreeModelSource.js +64 -64
  1276. package/lib/esm/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  1277. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.d.ts +155 -155
  1278. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js +319 -319
  1279. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  1280. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts +60 -60
  1281. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js +84 -84
  1282. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  1283. package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +102 -102
  1284. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts +25 -25
  1285. package/lib/esm/components-react/tree/controlled/component/NodeContent.js +63 -63
  1286. package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  1287. package/lib/esm/components-react/tree/controlled/component/NodeContent.scss +28 -28
  1288. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts +31 -31
  1289. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js +34 -34
  1290. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  1291. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +42 -42
  1292. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js +41 -41
  1293. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  1294. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts +75 -75
  1295. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js +226 -226
  1296. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  1297. package/lib/esm/components-react/tree/controlled/internal/SparseTree.d.ts +71 -71
  1298. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js +239 -239
  1299. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  1300. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.d.ts +30 -30
  1301. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js +122 -122
  1302. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  1303. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +51 -51
  1304. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js +248 -248
  1305. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  1306. package/lib/esm/components-react.d.ts +215 -215
  1307. package/lib/esm/components-react.js +220 -220
  1308. package/lib/esm/components-react.js.map +1 -1
  1309. package/lib/public/locales/en/UiComponents.json +139 -139
  1310. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../../../src/components-react/table/component/Table.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/* eslint-disable deprecation/deprecation */\n/** @packageDocumentation\n * @module Table\n */\n\nimport \"./Table.scss\";\nimport \"../columnfiltering/ColumnFiltering.scss\";\nimport classnames from \"classnames\";\nimport classnamesDedupe from \"classnames/dedupe\";\nimport { memoize } from \"lodash\";\nimport * as React from \"react\";\nimport ReactDataGrid from \"react-data-grid\";\nimport { DisposableList, Guid, GuidString } from \"@itwin/core-bentley\";\nimport { PropertyValueFormat } from \"@itwin/appui-abstract\";\nimport {\n CommonProps, Dialog, ElementResizeObserver, isNavigationKey, ItemKeyboardNavigator, LocalStateStorage, Orientation, SortDirection, Timer,\n UiStateStorage, UiStateStorageStatus,\n} from \"@itwin/core-react\";\nimport {\n MultiSelectionHandler, OnItemsDeselectedCallback, OnItemsSelectedCallback, SelectionHandler, SingleSelectionHandler,\n} from \"../../common/selection/SelectionHandler\";\nimport { SelectionMode } from \"../../common/selection/SelectionModes\";\nimport { ShowHideMenu } from \"../../common/showhide/ShowHideMenu\";\nimport { TypeConverterManager } from \"../../converters/TypeConverterManager\";\nimport { PropertyUpdatedArgs } from \"../../editors/EditorContainer\";\nimport { TableRowStyleProvider } from \"../../properties/ItemStyle\";\nimport { PropertyDialogState, PropertyValueRendererManager } from \"../../properties/ValueRendererManager\";\nimport { CompositeFilterDescriptorCollection, FilterCompositionLogicalOperator } from \"../columnfiltering/ColumnFiltering\";\nimport { MultiSelectFilter } from \"../columnfiltering/data-grid-addons/MultiSelectFilter\";\nimport { NumericFilter } from \"../columnfiltering/data-grid-addons/NumericFilter\";\nimport { SingleSelectFilter } from \"../columnfiltering/data-grid-addons/SingleSelectFilter\";\nimport { DataGridFilterParser, ReactDataGridFilter } from \"../columnfiltering/DataGridFilterParser\";\nimport { MultiValueFilter } from \"../columnfiltering/multi-value-filter/MultiValueFilter\";\nimport { TableFilterDescriptorCollection } from \"../columnfiltering/TableFilterDescriptorCollection\";\nimport { CellItem, ColumnDescription, FilterRenderer, RowItem, TableDataProvider } from \"../TableDataProvider\";\nimport { DragDropHeaderCell } from \"./DragDropHeaderCell\";\nimport { TableCell, TableCellContent, TableIconCellContent } from \"./TableCell\";\nimport { ReactDataGridColumn, TableColumn } from \"./TableColumn\";\n\n// cspell:ignore Overscan columnfiltering Dedupe popout\n\nconst TABLE_ROW_HEIGHT = 27;\nconst TABLE_FILTER_ROW_HEIGHT = 32;\n\n/**\n * Specifies table selection target.\n * @public @deprecated\n */\nexport enum TableSelectionTarget {\n Row,\n Cell,\n}\n\n/** Scroll Direction */\nenum SCROLL_DIRECTION {\n UP = \"upwards\",\n DOWN = \"downwards\",\n LEFT = \"left\",\n RIGHT = \"right\",\n NONE = \"none\",\n}\n\n/** Scroll State */\ninterface ScrollState {\n height: number;\n scrollTop: number;\n scrollLeft: number;\n rowVisibleStartIdx: number;\n rowVisibleEndIdx: number;\n rowOverscanStartIdx: number;\n rowOverscanEndIdx: number;\n colVisibleStartIdx: number;\n colVisibleEndIdx: number;\n colOverscanStartIdx: number;\n colOverscanEndIdx: number;\n scrollDirection: SCROLL_DIRECTION;\n lastFrozenColumnIndex: number;\n isScrolling: boolean;\n}\n\n/** Properties for the Table React component\n * @public @deprecated Use the Table component in @itwin/itwinui-react\n */\nexport interface TableProps extends CommonProps {\n /** Data provider for the Table */\n dataProvider: TableDataProvider;\n /** Amount of rows per page. The default is 100. */\n pageAmount?: number;\n\n /** Called when rows are loaded */\n onRowsLoaded?: (firstRowIndex: number, lastRowIndex: number) => void;\n\n /** Callback for determining if row is selected */\n isRowSelected?: (row: RowItem) => boolean;\n /** Callback for when rows are selected */\n onRowsSelected?: (rowIterator: AsyncIterableIterator<RowItem>, replace: boolean) => Promise<boolean>;\n /** Callback for when rows are deselected */\n onRowsDeselected?: (rowIterator: AsyncIterableIterator<RowItem>) => Promise<boolean>;\n\n /** Callback for determining if cell is selected */\n isCellSelected?: (rowIndex: number, cell: CellItem) => boolean;\n /** Callback for when cells are selected */\n onCellsSelected?: (cellIterator: AsyncIterableIterator<[RowItem, CellItem]>, replace: boolean) => Promise<boolean>;\n /** Callback for when cells are deselected */\n onCellsDeselected?: (cellIterator: AsyncIterableIterator<[RowItem, CellItem]>) => Promise<boolean>;\n\n /** Specifies the selection target. The default is Row. */\n tableSelectionTarget?: TableSelectionTarget;\n /** Specifies the selection mode. The default is Single. */\n selectionMode?: SelectionMode;\n\n /** Callback for when properties are being edited */\n onPropertyEditing?: (args: TableCellEditorState) => void;\n /** Callback for when properties are updated */\n onPropertyUpdated?: (propertyArgs: PropertyUpdatedArgs, cellArgs: TableCellUpdatedArgs) => Promise<boolean>;\n\n /** @internal */\n renderRow?: (item: RowItem, props: TableRowProps) => React.ReactNode;\n /** Enables context menu to show/hide columns */\n showHideColumns?: boolean;\n /** Indicates whether the Table columns are reorderable */\n reorderableColumns?: boolean;\n /** Optional parameter for persistent UI settings. Used for column reordering and show persistency. */\n settingsStorage?: UiStateStorage;\n /** Optional parameter for persistent UI settings. Used for column reordering and show persistency.\n * @deprecated use settingsStorage property */\n uiStateStorage?: UiStateStorage;\n /** Identifying string used for persistent state. */\n settingsIdentifier?: string;\n /** Custom property value renderer manager */\n propertyValueRendererManager?: PropertyValueRendererManager;\n /**\n * Gets called when rendering is finished. Should be used while testing to know when asynchronous rendering has finished.\n * @internal\n */\n onRender?: () => void;\n\n /** Hide the header */\n hideHeader?: boolean;\n /** Alternate the background of odd and even rows */\n stripedRows?: boolean;\n /** Specifies a row index to scroll to */\n scrollToRow?: number;\n /** @internal */\n onScrollToRow?: (rowIndex: number) => void;\n /** @internal */\n onApplyFilter?: () => void;\n\n /** Called to show a context menu when a cell is right-clicked. */\n onCellContextMenu?: (args: TableCellContextMenuArgs) => void;\n /** Maximum number of distinct values for filtering */\n maximumDistinctValues?: number;\n}\n\n/** Properties for a Table cell\n * @public @deprecated Use the Table component in @iTwin/@iTwinUI-react\n */\nexport interface CellProps {\n item: CellItem;\n displayValue: string;\n render: React.ComponentType<{ isSelected: boolean }>;\n}\n\n/** Properties for a Table row\n * @public @deprecated Use the Table component in @itwin/itwinui-react\n */\nexport interface RowProps {\n index: number;\n item: RowItem;\n cells: { [key: string]: CellProps };\n render?: () => React.ReactNode;\n style?: React.CSSProperties;\n}\n\ninterface RowsLoadResult {\n rows: RowProps[];\n selectedRowIndices: number[];\n selectedCellKeys: CellKey[];\n}\n\ninterface ReactDataGridColumnEventArgs {\n rowIdx: number;\n idx: number;\n name: string;\n}\n\n/** Cell/Property Editor state\n * @public @deprecated Use the Table component in @itwin/itwinui-react\n */\nexport interface TableCellEditorState {\n active: boolean;\n rowIndex?: number;\n colIndex?: number;\n cellKey?: string;\n}\n\n/** Cell/Property Updated Args\n * @public @deprecated Use the Table component in @iTwin/@iTwinUI-react\n */\nexport interface TableCellUpdatedArgs {\n rowIndex: number;\n colIndex: number;\n cellKey: string;\n}\n\n/** Arguments for `TableProps.onCellContextMenu` callback\n * @public @deprecated Use the Table component in @itwin/itwinui-react\n */\nexport interface TableCellContextMenuArgs {\n /** Index of the row clicked */\n rowIndex: number;\n /** Index of the column clicked */\n colIndex: number;\n /** Key of the cell clicked */\n cellKey: string;\n /** An event which caused the context menu callback */\n event: React.MouseEvent;\n /** CellItem of the cell clicked */\n cellItem?: CellItem;\n}\n\n/** @internal */\ninterface TableState {\n columns: TableColumn[];\n hiddenColumns: string[];\n rows: RowProps[];\n rowsCount: number;\n menuVisible: boolean;\n menuX: number;\n menuY: number;\n cellEditorState: TableCellEditorState;\n dialog?: PropertyDialogState;\n keyboardEditorCellKey?: string;\n // TODO: Enable, when table gets refactored\n // popup?: PropertyPopupState;\n gridContainer: HTMLDivElement | null;\n}\n\nconst initialState: TableState = {\n columns: [],\n hiddenColumns: [],\n rows: [],\n rowsCount: 0,\n cellEditorState: { active: false },\n menuVisible: false,\n menuX: 0,\n menuY: 0,\n gridContainer: null,\n};\n\ninterface CellKey {\n rowIndex: number;\n columnKey: string;\n}\n\n/** TableRowRenderer props. */\ninterface TableRowRendererProps {\n rowRendererCreator: () => any;\n}\n\n/** ReactDataGrid requires a class component for the RowRenderer because it sets a ref to it. */\nclass TableRowRenderer extends React.Component<TableRowRendererProps> {\n public override render() {\n const creatorFn = this.props.rowRendererCreator();\n return creatorFn(this.props);\n }\n}\n\nconst enum TableUpdate { // eslint-disable-line no-restricted-syntax\n None = 0,\n Rows = 1,\n Complete = 2,\n}\n\nconst enum UpdateStatus { // eslint-disable-line no-restricted-syntax\n Continue,\n Abort,\n}\n\n/**\n * Table React component that displays rows and columns in a grid along with a header\n * @public @deprecated Use the Table component in @iTwin/@iTwinUI-react\n */\nexport class Table extends React.Component<TableProps, TableState> {\n private _pageAmount = 100;\n private _disposableListeners = new DisposableList();\n private _isMounted = false;\n private _currentUpdate = TableUpdate.None;\n private _pendingUpdate = TableUpdate.None;\n private _rowLoadGuid = Guid.createValue();\n private _rowSelectionHandler: SelectionHandler<number>;\n private _cellSelectionHandler: SelectionHandler<CellKey>;\n private _selectedRowIndices: Set<number> = new Set<number>();\n private _selectedCellKeys: Map<string, Set<number>> = new Map<string, Set<number>>(); // column keys -> rowIndices\n private _rowItemSelectionHandlers?: Array<SingleSelectionHandler<number>>;\n private _cellItemSelectionHandlers?: Array<Array<SingleSelectionHandler<CellKey>>>;\n private _pressedItemSelected: boolean = false;\n private _tableRef = React.createRef<HTMLDivElement>();\n private _gridRef = React.createRef<ReactDataGrid<any>>();\n private _gridContainerRef = React.createRef<HTMLDivElement>();\n private _filterDescriptors?: TableFilterDescriptorCollection;\n private _filterRowShown = false;\n private _topRowIndex = 0;\n private _pokeScrollTimer = new Timer(100);\n\n /** @internal */\n public override readonly state = initialState;\n\n /** @internal */\n constructor(props: TableProps) {\n super(props);\n\n if (props.pageAmount)\n this._pageAmount = props.pageAmount;\n\n this._disposableListeners.add(props.dataProvider.onColumnsChanged.addListener(this._onColumnsChanged));\n this._disposableListeners.add(props.dataProvider.onRowsChanged.addListener(this._onRowsChanged));\n this._rowSelectionHandler = new SelectionHandler(props.selectionMode ? props.selectionMode : SelectionMode.Single);\n this._cellSelectionHandler = new SelectionHandler(props.selectionMode ? props.selectionMode : SelectionMode.Single);\n this._rowSelectionHandler.onItemsSelectedCallback = this._onRowsSelected;\n this._rowSelectionHandler.onItemsDeselectedCallback = this._onRowsDeselected;\n this._cellSelectionHandler.onItemsSelectedCallback = this._onCellsSelected;\n this._cellSelectionHandler.onItemsDeselectedCallback = this._onCellsDeselected;\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n private get rowItemSelectionHandlers(): Array<SingleSelectionHandler<number>> {\n // istanbul ignore else\n if (!this._rowItemSelectionHandlers) {\n this._rowItemSelectionHandlers = [];\n for (let i = 0; i < this.state.rowsCount; i++)\n this._rowItemSelectionHandlers.push(this.createRowItemSelectionHandler(i));\n }\n return this._rowItemSelectionHandlers;\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n private get cellItemSelectionHandlers(): Array<Array<SingleSelectionHandler<CellKey>>> {\n // istanbul ignore else\n if (!this._cellItemSelectionHandlers) {\n this._cellItemSelectionHandlers = [];\n for (let rowIndex = 0; rowIndex < this.state.rowsCount; rowIndex++) {\n this._cellItemSelectionHandlers[rowIndex] = [];\n for (const column of this.state.columns) {\n this._cellItemSelectionHandlers[rowIndex].push(this.createCellItemSelectionHandler({ rowIndex, columnKey: column.key }));\n }\n }\n }\n return this._cellItemSelectionHandlers;\n }\n\n private async * createRowIterator(rowIndices: number[]): AsyncIterableIterator<RowItem> {\n for (const index of rowIndices)\n yield await this.props.dataProvider.getRow(index);\n }\n\n private async * createCellIterator(cellKeys: CellKey[]): AsyncIterableIterator<[RowItem, CellItem]> {\n for (const key of cellKeys) {\n const row = await this.props.dataProvider.getRow(key.rowIndex);\n yield [row, this._getCellItem(row, key.columnKey)];\n }\n }\n\n private _onRowsSelected: OnItemsSelectedCallback<number> = (rowIndices: number[], replace: boolean) => {\n if (this.props.onRowsSelected)\n this.props.onRowsSelected(this.createRowIterator(rowIndices), replace); // eslint-disable-line @typescript-eslint/no-floating-promises\n };\n\n private _onRowsDeselected: OnItemsDeselectedCallback<number> = (rowIndices: number[]) => {\n if (this.props.onRowsDeselected)\n this.props.onRowsDeselected(this.createRowIterator(rowIndices)); // eslint-disable-line @typescript-eslint/no-floating-promises\n };\n\n private _onCellsSelected: OnItemsSelectedCallback<CellKey> = (cellKeys: CellKey[], replace: boolean) => {\n if (this.props.onCellsSelected)\n this.props.onCellsSelected(this.createCellIterator(cellKeys), replace); // eslint-disable-line @typescript-eslint/no-floating-promises\n };\n\n private _onCellsDeselected: OnItemsDeselectedCallback<CellKey> = (cellKeys: CellKey[]) => {\n if (this.props.onCellsDeselected)\n this.props.onCellsDeselected(this.createCellIterator(cellKeys)); // eslint-disable-line @typescript-eslint/no-floating-promises\n };\n\n private get _tableSelectionTarget(): TableSelectionTarget {\n return this.props.tableSelectionTarget ? this.props.tableSelectionTarget : TableSelectionTarget.Row;\n }\n\n /** @internal */\n public override componentDidUpdate(previousProps: TableProps, previousState: TableState) {\n this._rowSelectionHandler.selectionMode = this.props.selectionMode ? this.props.selectionMode : SelectionMode.Single;\n this._cellSelectionHandler.selectionMode = this.props.selectionMode ? this.props.selectionMode : SelectionMode.Single;\n\n if (previousProps.dataProvider !== this.props.dataProvider) {\n this._disposableListeners.dispose();\n this._disposableListeners.add(this.props.dataProvider.onColumnsChanged.addListener(this._onColumnsChanged));\n this._disposableListeners.add(this.props.dataProvider.onRowsChanged.addListener(this._onRowsChanged));\n }\n\n if (this.props.dataProvider !== previousProps.dataProvider) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.update();\n return;\n }\n\n // When hiddenColumns length is changed, we need to re-render component so that cell widths would be calculated appropriately.\n if (previousState.hiddenColumns.length !== this.state.hiddenColumns.length)\n this.forceUpdate();\n\n if (this.props.isCellSelected !== previousProps.isCellSelected\n || this.props.isRowSelected !== previousProps.isRowSelected\n || this.props.tableSelectionTarget !== previousProps.tableSelectionTarget) {\n this.updateSelectedRows();\n this.updateSelectedCells();\n }\n\n if (this.props.scrollToRow !== previousProps.scrollToRow) {\n // istanbul ignore else\n if (this.props.scrollToRow !== undefined)\n this.scrollToRow(this.props.scrollToRow);\n }\n\n /* istanbul ignore next */\n if (this.props.onRender)\n this.props.onRender();\n }\n\n /** @internal */\n public override componentDidMount() {\n let gridContainer: HTMLDivElement | null = null;\n\n this._isMounted = true;\n\n // The previously used ReactResizeDetector, which does not work in popout/child windows, used deprecated React.findDomNode\n // which is now deprecated so, so new ElementResizeObserver requires you to pass the element to observe. So get the\n // same HTMLDivElement from grid as was used previously by ReactResizeDetector.\n if (this._gridRef.current) {\n const grid = this._gridRef.current as any;\n gridContainer = grid.getDataGridDOMNode();\n }\n this.setState({ gridContainer }, () => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.update();\n });\n }\n\n /** @internal */\n public override componentWillUnmount() {\n this._isMounted = false;\n this._disposableListeners.dispose();\n this._unsetPokeScrollTimeout();\n }\n\n private scrollToRow(rowIndex: number) {\n // istanbul ignore else\n if (this._gridRef.current) {\n const grid = this._gridRef.current as any;\n // istanbul ignore else\n if (grid.getRowOffsetHeight && grid.getDataGridDOMNode) {\n const top = TABLE_ROW_HEIGHT * rowIndex;\n const gridCanvas = grid.getDataGridDOMNode().querySelector(\".react-grid-Canvas\");\n gridCanvas.scrollTop = top;\n this._topRowIndex = rowIndex;\n\n // istanbul ignore else\n if (this.props.onScrollToRow)\n this.props.onScrollToRow(rowIndex);\n }\n }\n }\n\n private setFocusToSelected() {\n // istanbul ignore next\n if (this._gridRef.current) {\n const grid = this._gridRef.current as any;\n // istanbul ignore else\n if (grid.getDataGridDOMNode) {\n const gridSelected = grid.getDataGridDOMNode().querySelector(\".rdg-selected\");\n // istanbul ignore else\n if (gridSelected) {\n gridSelected.focus();\n }\n }\n }\n }\n\n private async handlePendingUpdate(): Promise<UpdateStatus> {\n const update = this._pendingUpdate;\n this._pendingUpdate = TableUpdate.None;\n\n let status = UpdateStatus.Continue;\n if (update === TableUpdate.Complete)\n status = await this.updateColumns();\n // istanbul ignore else\n if (status === UpdateStatus.Continue && update > TableUpdate.None)\n status = await this.updateRows();\n return status;\n }\n\n private async updateColumns(): Promise<UpdateStatus> {\n if (this._currentUpdate !== TableUpdate.None) {\n this._pendingUpdate = TableUpdate.Complete;\n return UpdateStatus.Abort;\n }\n\n this._currentUpdate = TableUpdate.Complete;\n const columnDescriptions = await this.props.dataProvider.getColumns();\n this._currentUpdate = TableUpdate.None;\n\n // istanbul ignore next\n if (!this._isMounted)\n return UpdateStatus.Abort;\n\n if (this._pendingUpdate === TableUpdate.Complete) {\n await this.handlePendingUpdate();\n return UpdateStatus.Abort;\n }\n\n let dataGridColumns = columnDescriptions.map(this._columnDescriptionToReactDataGridColumn);\n if (this.props.settingsIdentifier) {\n const stateStorage: UiStateStorage = this.props.settingsStorage || /* istanbul ignore next */ this.props.uiStateStorage || /* istanbul ignore next */ new LocalStateStorage();\n const reorderResult = await stateStorage.getSetting(this.props.settingsIdentifier, \"ColumnReorder\");\n // istanbul ignore next\n if (reorderResult.status === UiStateStorageStatus.Success) {\n const setting = reorderResult.setting as string[];\n // map columns according to the keys in columns, in the order of the loaded array of keys\n dataGridColumns = setting.map((key) => dataGridColumns.filter((col) => col.key === key)[0]);\n } else if (reorderResult.status === UiStateStorageStatus.NotFound) {\n const keys = columnDescriptions.map((col) => col.key);\n await stateStorage.saveSetting(this.props.settingsIdentifier, \"ColumnReorder\", keys);\n }\n const showhideResult = await stateStorage.getSetting(this.props.settingsIdentifier, \"ColumnShowHideHiddenColumns\");\n // istanbul ignore next\n if (showhideResult.status === UiStateStorageStatus.Success) {\n const hiddenColumns = showhideResult.setting as string[];\n this.setState({ hiddenColumns });\n }\n }\n\n let keyboardEditorCellKey: string | undefined;\n const tableColumns = dataGridColumns.map((dataGridColumn: ReactDataGridColumn, index: number) => {\n const tableColumn = new TableColumn(this, columnDescriptions[index], dataGridColumn);\n tableColumn.dataProvider = this.props.dataProvider;\n if (!keyboardEditorCellKey && tableColumn.columnDescription.editable)\n keyboardEditorCellKey = tableColumn.key;\n if (tableColumn.filterable)\n dataGridColumn.filterableColumn = tableColumn;\n return tableColumn;\n });\n\n for (const tableColumn of tableColumns) {\n if (tableColumn.filterable)\n tableColumn.distinctValueCollection = await tableColumn.getDistinctValues(this.props.maximumDistinctValues);\n }\n\n this.setState({ columns: tableColumns, keyboardEditorCellKey });\n\n if (this._pendingUpdate !== TableUpdate.None) {\n return this.handlePendingUpdate();\n }\n return UpdateStatus.Continue;\n }\n\n private _onColumnsChanged = async () => {\n await this.updateColumns();\n\n this._cellItemSelectionHandlers = undefined;\n };\n\n private async updateRows(): Promise<UpdateStatus> {\n if (this._currentUpdate !== TableUpdate.None) {\n if (this._pendingUpdate === TableUpdate.None)\n this._pendingUpdate = TableUpdate.Rows;\n return UpdateStatus.Abort;\n }\n\n this._currentUpdate = TableUpdate.Rows;\n const rowsCount = await this.props.dataProvider.getRowsCount();\n this._currentUpdate = TableUpdate.None;\n\n // istanbul ignore next\n if (!this._isMounted)\n return UpdateStatus.Abort;\n\n if (this._pendingUpdate !== TableUpdate.None) {\n return this.handlePendingUpdate();\n }\n\n if (rowsCount !== this.state.rowsCount) {\n this._rowItemSelectionHandlers = undefined;\n this._cellItemSelectionHandlers = undefined;\n\n // when updating the rows with new data from dataProvider clear out existing selections\n this._selectedRowIndices.clear();\n this._selectedCellKeys.clear();\n }\n\n this._rowGetterAsync.cache.clear!();\n this.setState({ rowsCount, rows: [] });\n return UpdateStatus.Continue;\n }\n\n // Workaround for react-data-grid bug that shows blank grid when updating after grid has been scrolled.\n // Force a re-render by scrolling up 1 then down 1\n private _pokeScrollAfterUpdate = () => {\n // istanbul ignore else\n if (this._gridRef.current && this._topRowIndex !== 0) {\n const grid = this._gridRef.current as any;\n // istanbul ignore else\n if (grid.getRowOffsetHeight && grid.getDataGridDOMNode) {\n const gridCanvas = grid.getDataGridDOMNode().querySelector(\".react-grid-Canvas\");\n\n // Scroll up 1\n let top = TABLE_ROW_HEIGHT * this._topRowIndex - 1;\n gridCanvas.scrollTop = top;\n\n // Scroll back down\n top = TABLE_ROW_HEIGHT * this._topRowIndex;\n gridCanvas.scrollTop = top;\n }\n }\n };\n\n private _queuePokeScroll = () => {\n this._unsetPokeScrollTimeout();\n this._pokeScrollTimer.setOnExecute(() => { this._pokeScrollAfterUpdate(); });\n this._pokeScrollTimer.start();\n };\n\n private _unsetPokeScrollTimeout = (): void => {\n this._pokeScrollTimer.stop();\n };\n\n private _onRowsChanged = async () => {\n await this.updateRows();\n this._queuePokeScroll();\n };\n\n /** @internal */\n public async update(): Promise<UpdateStatus> {\n let status = await this.updateColumns();\n\n if (status !== UpdateStatus.Abort)\n status = await this.updateRows();\n\n if (this.props.scrollToRow !== undefined)\n this.scrollToRow(this.props.scrollToRow);\n\n /* istanbul ignore next */\n if (this.props.onRender)\n this.props.onRender();\n\n return status;\n }\n\n /** @internal */\n public updateSelectedRows() {\n const selectedRowIndices = new Set<number>();\n if (this.props.isRowSelected) {\n for (let rowIndex = 0; rowIndex < this.state.rows.length; rowIndex++) {\n if (this.state.rows[rowIndex] && this.props.isRowSelected(this.state.rows[rowIndex].item))\n selectedRowIndices.add(rowIndex);\n }\n }\n this._selectedRowIndices = selectedRowIndices;\n this.forceUpdate();\n }\n\n /** @internal */\n public updateSelectedCells() {\n const selectedCellKeys = new Map<string, Set<number>>();\n if (this.props.isCellSelected) {\n for (const column of this.state.columns) {\n const set = new Set<number>();\n for (let rowIndex = 0; rowIndex < this.state.rows.length; rowIndex++) {\n // istanbul ignore next\n if (!this.state.rows[rowIndex])\n continue;\n const cellItem = this._getCellItem(this.state.rows[rowIndex].item, column.key);\n if (this.props.isCellSelected(rowIndex, cellItem))\n set.add(rowIndex);\n }\n // istanbul ignore else\n if (set.size !== 0)\n selectedCellKeys.set(column.key, set);\n }\n }\n this._selectedCellKeys = selectedCellKeys;\n this.forceUpdate();\n }\n\n private _columnDescriptionToReactDataGridColumn = (columnDescription: ColumnDescription): ReactDataGridColumn => {\n const isEditable = !!columnDescription.editable;\n\n const column: ReactDataGridColumn = {\n key: columnDescription.key,\n name: columnDescription.label,\n icon: columnDescription.icon,\n width: columnDescription.width,\n resizable: !!columnDescription.resizable,\n sortable: !!columnDescription.sortable,\n draggable: !!this.props.reorderableColumns,\n filterable: !!columnDescription.filterable,\n };\n\n column.events = {};\n\n if (this.props.onCellContextMenu) {\n column.events.onContextMenu = this.cellContextMenu.bind(this, column);\n }\n\n if (isEditable) {\n column.events.onClick = this.cellEditOnClick.bind(this, column);\n }\n\n if (columnDescription.filterRenderer !== undefined) {\n switch (columnDescription.filterRenderer) {\n case FilterRenderer.Numeric:\n column.filterRenderer = NumericFilter;\n break;\n case FilterRenderer.MultiSelect:\n column.filterRenderer = MultiSelectFilter;\n break;\n case FilterRenderer.MultiValue:\n column.filterRenderer = MultiValueFilter;\n break;\n case FilterRenderer.SingleSelect:\n column.filterRenderer = SingleSelectFilter;\n break;\n case FilterRenderer.Text:\n // column.filterRenderer is not set for the Text input filter\n break;\n }\n }\n\n return column;\n };\n\n private _getCellItem = (row: RowItem, columnKey: string): CellItem => {\n return row.cells.find((cell: CellItem) => cell.key === columnKey) || /* istanbul ignore next */ { key: columnKey };\n };\n\n private isCellSelected(key: CellKey) {\n const set = this._selectedCellKeys.get(key.columnKey);\n if (set)\n return set.has(key.rowIndex);\n return false;\n }\n\n private selectCells(cellKeys: CellKey[]) {\n for (const key of cellKeys) {\n let set = this._selectedCellKeys.get(key.columnKey);\n if (!set) {\n set = new Set();\n this._selectedCellKeys.set(key.columnKey, set);\n }\n set.add(key.rowIndex);\n }\n }\n\n private deselectCells(cellKeys: CellKey[]) {\n for (const key of cellKeys) {\n // istanbul ignore else\n const set = this._selectedCellKeys.get(key.columnKey);\n // istanbul ignore else\n if (set)\n set.delete(key.rowIndex);\n }\n }\n\n private createRowItemSelectionHandler(rowIndex: number): SingleSelectionHandler<number> {\n return {\n preselect: () => {\n this._pressedItemSelected = this._selectedRowIndices.has(rowIndex);\n },\n select: () => {\n // istanbul ignore else\n if (!this._selectedRowIndices.has(rowIndex)) {\n this._selectedRowIndices.add(rowIndex);\n if (!this._pressedItemSelected)\n this.forceUpdate();\n }\n },\n deselect: () => {\n // istanbul ignore else\n if (this._selectedRowIndices.has(rowIndex)) {\n this._selectedRowIndices.delete(rowIndex);\n this.forceUpdate();\n }\n },\n isSelected: () => this._selectedRowIndices.has(rowIndex),\n item: () => rowIndex,\n };\n }\n\n private _rowComponentSelectionHandler: MultiSelectionHandler<number> = {\n deselectAll: () => {\n this._selectedRowIndices = new Set<number>();\n if (!this._pressedItemSelected) {\n this._deactivateCellEditor();\n this.forceUpdate();\n }\n },\n selectBetween: (rowIndex1: number, rowIndex2: number) => {\n const selections = [];\n const lowerNumber = rowIndex1 < rowIndex2 ? rowIndex1 : rowIndex2;\n const higherNumber = rowIndex1 > rowIndex2 ? rowIndex1 : rowIndex2;\n for (let i = lowerNumber; i <= higherNumber; i++) {\n // istanbul ignore else\n if (!this._selectedRowIndices.has(i)) {\n selections.push(i);\n this._selectedRowIndices.add(i);\n }\n }\n\n this.forceUpdate();\n return selections;\n },\n updateSelection: (selections: number[], deselections: number[]): void => {\n for (const rowIndex of selections) {\n // istanbul ignore else\n if (!this._selectedRowIndices.has(rowIndex))\n this._selectedRowIndices.add(rowIndex);\n }\n\n for (const rowIndex of deselections) {\n // istanbul ignore else\n if (this._selectedRowIndices.has(rowIndex))\n this._selectedRowIndices.delete(rowIndex);\n }\n this.forceUpdate();\n },\n areEqual: (item1: number, item2: number) => item1 === item2,\n };\n\n private createCellItemSelectionHandler(cellKey: CellKey): SingleSelectionHandler<CellKey> {\n return {\n preselect: () => {\n this._pressedItemSelected = this.isCellSelected(cellKey);\n },\n select: () => {\n this.selectCells([cellKey]);\n this.forceUpdate();\n },\n deselect: () => {\n this.deselectCells([cellKey]);\n this.forceUpdate();\n },\n isSelected: () => this.isCellSelected(cellKey),\n item: () => cellKey,\n };\n }\n\n private _cellComponentSelectionHandler: MultiSelectionHandler<CellKey> = {\n deselectAll: () => {\n this._selectedCellKeys = new Map<string, Set<number>>();\n this.forceUpdate();\n },\n selectBetween: (item1: CellKey, item2: CellKey) => {\n const selections: CellKey[] = [];\n const lowerIndex = item1.rowIndex < item2.rowIndex ? item1.rowIndex : item2.rowIndex;\n const higherIndex = item1.rowIndex > item2.rowIndex ? item1.rowIndex : item2.rowIndex;\n let secondItem: CellKey;\n let firstItemFound = false;\n let secondItemFound = false;\n\n for (let rowIndex = lowerIndex; rowIndex <= higherIndex; rowIndex++) {\n for (const column of this.state.columns) {\n if (!firstItemFound) {\n if (rowIndex === item1.rowIndex && column.key === item1.columnKey) {\n firstItemFound = true;\n secondItem = item2;\n } else {\n // istanbul ignore else\n if (rowIndex === item2.rowIndex && column.key === item2.columnKey) {\n firstItemFound = true;\n secondItem = item1;\n } else\n continue;\n }\n }\n\n const cellKey = { rowIndex, columnKey: column.key };\n if (!this.isCellSelected(cellKey))\n selections.push(cellKey);\n\n if (rowIndex === secondItem!.rowIndex && column.key === secondItem!.columnKey) {\n secondItemFound = true;\n break;\n }\n }\n if (secondItemFound)\n break;\n }\n\n this.selectCells(selections);\n this.forceUpdate();\n return selections;\n },\n updateSelection: (selections: CellKey[], deselections: CellKey[]): void => {\n this.selectCells(selections);\n this.deselectCells(deselections);\n this.forceUpdate();\n },\n areEqual: (item1: CellKey, item2: CellKey) => item1.rowIndex === item2.rowIndex && item1.columnKey === item2.columnKey,\n };\n\n private _rowGetter = (i: number): RowProps => {\n if (this.state.rows[i])\n return this.state.rows[i];\n\n // get another page of rows\n // note: always start loading at the beginning of a page to avoid\n // requesting duplicate data (e.g. a page that starts at 0, at 1, at 2, ...)\n this._rowGetterAsync(i - (i % this._pageAmount)); // eslint-disable-line @typescript-eslint/no-floating-promises\n\n // Return placeholder object\n return { item: { key: \"\", cells: [] }, index: i, cells: {} };\n };\n\n private _rowGetterAsync = memoize(async (index: number): Promise<void> => {\n // istanbul ignore next\n if (index < 0)\n return;\n\n // load up to `this._pageAmount` more rows\n const maxIndex = Math.min(this.state.rowsCount, index + this._pageAmount);\n const loadResult = await this.loadRows(index, maxIndex);\n\n // istanbul ignore next\n if (!this._isMounted)\n return;\n\n // istanbul ignore next\n if (this._pendingUpdate !== TableUpdate.None)\n return;\n\n const selectedRowIndices = this._selectedRowIndices;\n for (const rowIndex of loadResult.selectedRowIndices) {\n // istanbul ignore else\n if (!selectedRowIndices.has(rowIndex))\n selectedRowIndices.add(rowIndex);\n }\n this._selectedRowIndices = selectedRowIndices;\n\n this.selectCells(loadResult.selectedCellKeys);\n this.setState((prev) => {\n const rows = [...prev.rows];\n loadResult.rows.forEach((r, i) => { rows[index + i] = r; });\n return { rows };\n }, async () => {\n if (this.props.onRowsLoaded)\n this.props.onRowsLoaded(index, index + loadResult.rows.length - 1);\n\n const showFilter = this._isShowFilterRow();\n if (showFilter !== this._filterRowShown)\n this.toggleFilterRow(showFilter);\n });\n });\n\n private async renderCellContent(cellItem: CellItem, column: ReactDataGridColumn, displayValue: string): Promise<React.ComponentType<{ isSelected: boolean }>> {\n if (column.icon)\n return () => <TableIconCellContent iconName={displayValue} />;\n\n return (props: { isSelected: boolean }) => (\n <TableCellContent\n height={TABLE_ROW_HEIGHT}\n isSelected={props.isSelected}\n cellItem={cellItem}\n onDialogOpen={this._onDialogOpen}\n propertyValueRendererManager={this.props.propertyValueRendererManager\n ? this.props.propertyValueRendererManager\n : PropertyValueRendererManager.defaultManager}\n style={{ zIndex: ((cellItem.mergedCellsCount ?? 1) > 1) ? 1 : undefined }}\n />\n );\n }\n\n private async getCellDisplayValue(cellItem: CellItem): Promise<string> {\n // istanbul ignore next\n if (!cellItem.record || cellItem.record.value.valueFormat !== PropertyValueFormat.Primitive)\n return \"\";\n\n const value = cellItem.record.value.value;\n\n if (value === undefined)\n return \"\";\n\n const displayValue = await TypeConverterManager\n .getConverter(cellItem.record.property.typename, cellItem.record.property.converter?.name)\n .convertPropertyToString(cellItem.record.property, value);\n\n return displayValue ? displayValue : /* istanbul ignore next */ \"\";\n }\n\n private async createPropsForRowItem(item: RowItem, index: number): Promise<RowProps> {\n const cellProps: { [key: string]: CellProps } = {};\n for (const column of this.state.columns) {\n const cellItem = this._getCellItem(item, column.key);\n const displayValue = await this.getCellDisplayValue(cellItem);\n cellProps[column.key] = {\n item: cellItem,\n displayValue,\n render: await this.renderCellContent(cellItem, column.reactDataGridColumn, displayValue),\n };\n }\n const rowStyle = TableRowStyleProvider.createStyle(item.colorOverrides ? item.colorOverrides : {});\n return {\n item,\n index,\n cells: cellProps,\n render: undefined,\n style: rowStyle,\n };\n }\n\n private async loadRows(beginIndex: number, endIndex: number): Promise<RowsLoadResult> {\n const result: RowsLoadResult = {\n rows: [],\n selectedRowIndices: [],\n selectedCellKeys: [],\n };\n this._rowLoadGuid = Guid.createValue();\n const currentSelectedRowGuid: GuidString = this._rowLoadGuid;\n\n const promises = new Array<Promise<RowProps>>();\n for (let i = beginIndex; i < endIndex; ++i) {\n promises.push(\n this.props.dataProvider.getRow(i).then(async (rowData) =>\n this.createPropsForRowItem(rowData, i).then((rowProps) => (rowProps)),\n ));\n }\n\n try {\n result.rows = await Promise.all(promises);\n } catch { }\n\n // istanbul ignore else\n // Check if another loadRows got called while this one was still going\n if (currentSelectedRowGuid === this._rowLoadGuid) {\n for (const rowProps of result.rows) {\n if (this.props.isRowSelected && this.props.isRowSelected(rowProps.item))\n result.selectedRowIndices.push(rowProps.index);\n\n if (this.props.isCellSelected) {\n for (const column of this.state.columns) {\n const cellItem = this._getCellItem(rowProps.item, column.key);\n if (this.props.isCellSelected(rowProps.index, cellItem))\n result.selectedCellKeys.push({ rowIndex: rowProps.index, columnKey: column.key });\n }\n }\n }\n }\n\n return result;\n }\n\n private _handleGridSort = (columnKey: string, sortDirection: \"ASC\" | \"DESC\" | \"NONE\") => {\n let directionEnum: SortDirection;\n\n switch (sortDirection) {\n case \"ASC\":\n directionEnum = SortDirection.Ascending;\n break;\n case \"DESC\":\n directionEnum = SortDirection.Descending;\n break;\n case \"NONE\":\n default:\n directionEnum = SortDirection.NoSort;\n break;\n }\n\n // Sort the column\n this.gridSortAsync(columnKey, directionEnum); // eslint-disable-line @typescript-eslint/no-floating-promises\n\n this._queuePokeScroll();\n };\n\n private getColumnIndexFromKey(columnKey: string): number {\n return this.state.columns.findIndex((column: TableColumn) => column.key === columnKey);\n }\n\n private async gridSortAsync(columnKey: string, directionEnum: SortDirection) {\n const columnIndex = this.getColumnIndexFromKey(columnKey);\n // istanbul ignore next\n if (columnIndex < 0)\n return;\n\n await this.props.dataProvider.sort(columnIndex, directionEnum);\n\n // istanbul ignore next\n if (!this._isMounted)\n return;\n\n this.updateRows(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n\n private createRowCells(rowProps: RowProps, isSelected: boolean): { [columnKey: string]: React.ReactNode } {\n const cells: { [columnKey: string]: React.ReactNode } = {};\n let gridColumns: HTMLElement[] = [];\n let foundHiddenColumns = 0;\n\n // istanbul ignore else\n if (this._gridRef.current && (this._gridRef.current as any).getDataGridDOMNode)\n gridColumns = (this._gridRef.current as any).getDataGridDOMNode().querySelectorAll(\".react-grid-HeaderCell\");\n\n for (let index = 0; index < this.state.columns.length; index++) {\n const column = this.state.columns[index];\n\n const cellProps = rowProps.cells[column.key];\n if (!cellProps) {\n continue;\n }\n // eslint-disable-next-line @typescript-eslint/naming-convention\n const CellContent = cellProps.render;\n const isEditorCell =\n this.state.cellEditorState.active\n && this.state.cellEditorState.rowIndex === rowProps.index\n && this.state.cellEditorState.colIndex === index\n && cellProps.item.record;\n\n let onClick: ((e: React.MouseEvent) => void) | undefined;\n let onMouseMove: ((e: React.MouseEvent) => void) | undefined;\n let onMouseDown: ((e: React.MouseEvent) => void) | undefined;\n let className: string | undefined;\n\n const cellKey = { rowIndex: rowProps.index, columnKey: column.key };\n if (this._tableSelectionTarget === TableSelectionTarget.Cell) {\n const selectionHandler = this.createCellItemSelectionHandler(cellKey);\n const selectionFunction = this._cellSelectionHandler.createSelectionFunction(this._cellComponentSelectionHandler, selectionHandler);\n onClick = (e: React.MouseEvent) => selectionFunction(e.shiftKey, e.ctrlKey);\n onMouseMove = (e: React.MouseEvent) => {\n // istanbul ignore else\n if (e.buttons === 1)\n this._cellSelectionHandler.updateDragAction(cellKey);\n };\n onMouseDown = () => {\n this._cellSelectionHandler.createDragAction(this._cellComponentSelectionHandler, this.cellItemSelectionHandlers, cellKey);\n };\n className = classnames({ \"is-selected\": this.isCellSelected(cellKey) });\n } else {\n if (this._selectedRowIndices.has(rowProps.index))\n className = classnames({ \"is-keyboard-editable\": this.state.keyboardEditorCellKey === column.key });\n }\n\n className = classnames(className, this.getCellBorderStyle(cellKey));\n const mergedAdjacentCellsCount = (cellProps.item.mergedCellsCount ?? 1) - 1;\n let cellWidth = 0;\n\n for (let i = 0; i <= mergedAdjacentCellsCount; i++) {\n const col = this.state.columns[index + i];\n if (this.state.hiddenColumns.indexOf(col.key) === -1) {\n const gridColumn = gridColumns[index + i - foundHiddenColumns];\n const gridColumnWidth = gridColumn ? gridColumn.getBoundingClientRect().width : 0;\n cellWidth += gridColumnWidth;\n } else {\n foundHiddenColumns++;\n }\n\n if (i > 0) {\n cells[col.key] = (\n <TableCell\n className={className.replace(\"border-bottom\", \"\")}\n title={\"empty-cell\"}\n onClick={onClick}\n onMouseMove={onMouseMove}\n onMouseDown={onMouseDown}\n >\n </TableCell>\n );\n }\n const mergedColumn = this.state.columns[index + i];\n const emptyCellKey = { rowIndex: rowProps.index, columnKey: mergedColumn.key };\n className = classnamesDedupe(className, this.getCellBorderStyle(emptyCellKey));\n }\n index += mergedAdjacentCellsCount;\n\n cells[column.key] = (\n <TableCell\n className={className}\n title={cellProps.displayValue}\n onClick={onClick}\n onMouseMove={onMouseMove}\n onMouseDown={onMouseDown}\n cellEditingProps={isEditorCell ? {\n onCancel: this._deactivateCellEditor,\n onCommit: this._onCellCommit,\n propertyRecord: cellProps.item.record!,\n setFocus: true,\n } : undefined}\n style={{ width: (mergedAdjacentCellsCount > 0) ? cellWidth : undefined }}\n >\n <CellContent isSelected={isSelected} />\n </TableCell>\n );\n }\n return cells;\n }\n\n private getCellBorderStyle(key: CellKey): string {\n const isCellSelected = (cellKey: CellKey): boolean => {\n if (this._tableSelectionTarget === TableSelectionTarget.Row) {\n return this._selectedRowIndices.has(cellKey.rowIndex);\n }\n\n return this.isCellSelected(cellKey);\n };\n\n const cellIsSelected = isCellSelected(key);\n const columnIndex = this.state.columns.findIndex((column) => key.columnKey === column.key);\n\n const isTopBorderVisible = (): boolean => {\n if (key.rowIndex === 0) {\n return cellIsSelected;\n }\n\n if (cellIsSelected) {\n return !isCellSelected({ rowIndex: key.rowIndex - 1, columnKey: key.columnKey });\n }\n\n // Bottom border is rendered by drawing the top border on the node below\n // Check if the node above needs its bottom border drawn\n return isCellSelected({ rowIndex: key.rowIndex - 1, columnKey: key.columnKey });\n };\n\n const isRightBorderVisible = (): boolean => {\n if (!cellIsSelected) {\n return false;\n }\n\n if (columnIndex === this.state.columns.length - 1) {\n return true;\n }\n\n return !isCellSelected({ rowIndex: key.rowIndex, columnKey: this.state.columns[columnIndex + 1].key });\n };\n\n const isBottomBorderVisible = (): boolean => {\n return cellIsSelected && key.rowIndex === this.state.rowsCount - 1;\n };\n\n const isLeftBorderVisible = (): boolean => {\n if (!cellIsSelected) {\n return false;\n }\n\n if (columnIndex === 0) {\n return true;\n }\n\n return !isCellSelected({ rowIndex: key.rowIndex, columnKey: this.state.columns[columnIndex - 1].key });\n };\n\n return classnames({\n \"border-top\": isTopBorderVisible(),\n \"border-right\": isRightBorderVisible(),\n \"border-bottom\": isBottomBorderVisible(),\n \"border-left\": isLeftBorderVisible(),\n });\n }\n\n private _createRowRenderer = () => {\n return (props: { row: RowProps, [k: string]: React.ReactNode }) => {\n // istanbul ignore next\n const renderRow = this.props.renderRow ? this.props.renderRow : this.renderRow;\n const { row: rowProps, ...reactDataGridRowProps } = props;\n if (this._tableSelectionTarget === TableSelectionTarget.Row) {\n const selectionFunction = this._rowSelectionHandler.createSelectionFunction(this._rowComponentSelectionHandler, this.createRowItemSelectionHandler(props.row.index));\n const onClick = (e: React.MouseEvent) => selectionFunction(e.shiftKey, e.ctrlKey);\n const onMouseDown = () => {\n this._rowSelectionHandler.createDragAction(this._rowComponentSelectionHandler, [this.rowItemSelectionHandlers], props.row.index);\n };\n const onMouseMove = (e: React.MouseEvent) => {\n // istanbul ignore else\n if (e.buttons === 1)\n this._rowSelectionHandler.updateDragAction(props.row.index);\n };\n const isSelected = this._selectedRowIndices.has(props.row.index);\n const cells = this.createRowCells(rowProps, isSelected);\n const row = renderRow(rowProps.item, { ...reactDataGridRowProps, cells, isSelected });\n return <div\n className={classnames(\"components-table-row\")}\n onClickCapture={onClick}\n onMouseMove={onMouseMove}\n onMouseDown={onMouseDown}\n style={props.row.style}\n role=\"presentation\">\n {row}\n </div>;\n } else {\n const cells = this.createRowCells(rowProps, false);\n return renderRow(rowProps.item, { ...reactDataGridRowProps, cells });\n }\n };\n };\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n private renderRow = (item: RowItem, props: TableRowProps): React.ReactNode => {\n return <TableRow key={item.key} {...props} />;\n };\n\n private _onMouseUp = () => {\n if (this._tableSelectionTarget === TableSelectionTarget.Row)\n this._rowSelectionHandler.completeDragAction();\n else\n this._cellSelectionHandler.completeDragAction();\n };\n\n private _onMouseDown = () => {\n document.addEventListener(\"mouseup\", this._onMouseUp, { capture: true, once: true });\n };\n\n private _onHeaderDrop = (source: string, target: string) => {\n const cols = [...this.state.columns];\n const columnSourceIndex = this.state.columns.findIndex((i) => i.key === source);\n const columnTargetIndex = this.state.columns.findIndex((i) => i.key === target);\n\n cols.splice(columnTargetIndex, 0, cols.splice(columnSourceIndex, 1)[0]);\n // istanbul ignore else\n if (this.props.settingsIdentifier) {\n const stateStorage: UiStateStorage = this.props.settingsStorage || /* istanbul ignore next */ new LocalStateStorage();\n const keys = cols.map((col) => col.key);\n stateStorage.saveSetting(this.props.settingsIdentifier, \"ColumnReorder\", keys); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n this.setState({ columns: [] }, () => { // fix react-data-grid update issues\n this.setState({ columns: cols });\n });\n };\n\n private cellEditOnClick(column: ReactDataGridColumn, _ev: React.SyntheticEvent<any>, args: ReactDataGridColumnEventArgs): void {\n // Prevent editing when property record is not primitive\n // istanbul ignore else\n if (this.state.rows[args.rowIdx]) {\n const record = this._getCellItem(this.state.rows[0].item, column.key).record;\n // istanbul ignore next\n if (record && record.value.valueFormat !== PropertyValueFormat.Primitive)\n return;\n }\n\n if (this.state.keyboardEditorCellKey !== column.key)\n this.setState({ keyboardEditorCellKey: column.key });\n\n let activate = false;\n\n if (this._pressedItemSelected)\n activate = true;\n\n if (activate)\n this.activateCellEditor(args.rowIdx, args.idx, column.key);\n else\n this._deactivateCellEditor();\n }\n\n private cellContextMenu(column: ReactDataGridColumn, e: React.SyntheticEvent<any>, args: ReactDataGridColumnEventArgs): void {\n // istanbul ignore else\n if (this.props.onCellContextMenu) {\n const contextMenuArgs: TableCellContextMenuArgs = {\n rowIndex: args.rowIdx,\n colIndex: args.idx,\n cellKey: column.key,\n event: e as unknown as React.MouseEvent,\n };\n\n // istanbul ignore else\n if (this.state.rows[args.rowIdx])\n contextMenuArgs.cellItem = this._getCellItem(this.state.rows[args.rowIdx].item, column.key);\n\n e.preventDefault();\n this.props.onCellContextMenu(contextMenuArgs);\n }\n }\n\n private activateCellEditor(rowIndex: number, colIndex: number, cellKey: string): void {\n const cellEditorState = { active: true, rowIndex, colIndex, cellKey };\n // istanbul ignore else\n if (cellEditorState !== this.state.cellEditorState) {\n this.setState(\n { cellEditorState },\n () => {\n // istanbul ignore else\n if (this.props.onPropertyEditing)\n this.props.onPropertyEditing(cellEditorState);\n },\n );\n }\n }\n\n private _deactivateCellEditor = (): void => {\n if (this.state.cellEditorState.active)\n this.setState({ cellEditorState: { active: false } }, () => setTimeout(() => this.setFocusToSelected()));\n };\n\n /** @internal */\n public override shouldComponentUpdate(_props: TableProps): boolean {\n return true;\n }\n\n private _onCellCommit = async (args: PropertyUpdatedArgs) => {\n // istanbul ignore else\n if (this.props.onPropertyUpdated) {\n const cellUpdatedArgs: TableCellUpdatedArgs = {\n rowIndex: this.state.cellEditorState.rowIndex!,\n colIndex: this.state.cellEditorState.colIndex!,\n cellKey: this.state.cellEditorState.cellKey!,\n };\n const allowed = await this.props.onPropertyUpdated(args, cellUpdatedArgs);\n // istanbul ignore else\n if (allowed && this.state.cellEditorState.rowIndex !== undefined && this.state.cellEditorState.rowIndex >= 0) {\n this._deactivateCellEditor();\n await this.updateRows();\n } else {\n this._deactivateCellEditor();\n }\n }\n };\n\n private _getVisibleColumns = (): ReactDataGridColumn[] => {\n return this.state.columns\n .filter((tableColumn: TableColumn) => this.state.hiddenColumns.indexOf(tableColumn.key) === -1)\n .map((tableColumn: TableColumn) => tableColumn.reactDataGridColumn);\n };\n\n private _handleShowHideContextMenu = (e: React.MouseEvent) => {\n const header = e.currentTarget.querySelector(\".react-grid-Header\");\n // istanbul ignore else\n if (header) {\n const headerRect = header.getBoundingClientRect();\n const offsetY = headerRect.top;\n const height = headerRect.height;\n const x = e.clientX, y = e.clientY;\n // istanbul ignore else\n if (y < offsetY + height) {\n e.preventDefault();\n this.setState({\n menuX: x, menuY: y,\n menuVisible: true,\n });\n }\n }\n };\n\n private _hideContextMenu = () => {\n // istanbul ignore else\n if (this.props.showHideColumns)\n this.setState({ menuVisible: false });\n };\n\n // istanbul ignore next\n private _handleShowHideChange = (cols: string[]) => {\n this.setState({ hiddenColumns: cols });\n if (this.props.settingsIdentifier) {\n const stateStorage: UiStateStorage = this.props.settingsStorage || new LocalStateStorage();\n stateStorage.saveSetting(this.props.settingsIdentifier, \"ColumnShowHideHiddenColumns\", cols); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n return true;\n };\n\n // istanbul ignore next\n private _onDialogOpen = (dialogState: PropertyDialogState) => this.setState({ dialog: dialogState });\n\n // istanbul ignore next\n private _onDialogClose = () => this.setState({ dialog: undefined });\n\n private _isShowFilterRow(): boolean {\n return this.state.columns.some((tableColumn: TableColumn) => tableColumn.filterable);\n }\n\n /** Turn on/off filter row */\n private toggleFilterRow(showFilter: boolean): void {\n // istanbul ignore else\n if (this._gridRef.current) {\n const grid = this._gridRef.current as any;\n // istanbul ignore else\n if (grid.onToggleFilter && showFilter !== this._filterRowShown) {\n grid.onToggleFilter();\n\n this._filterRowShown = showFilter;\n }\n }\n }\n\n /** Gets the filter descriptors for the table.\n * @internal\n */\n public get filterDescriptors(): CompositeFilterDescriptorCollection {\n if (undefined === this._filterDescriptors) {\n this._filterDescriptors = new TableFilterDescriptorCollection();\n this._filterDescriptors.logicalOperator = FilterCompositionLogicalOperator.And;\n }\n\n return this._filterDescriptors;\n }\n\n /** Gets ECExpression to get property display value.\n * @internal\n */\n // istanbul ignore next\n public getPropertyDisplayValueExpression(property: string): string {\n if (this.props.dataProvider.getPropertyDisplayValueExpression !== undefined)\n return this.props.dataProvider.getPropertyDisplayValueExpression(property);\n return property;\n }\n\n private _handleFilterChange = (filter: ReactDataGridFilter): void => {\n const columnKey = filter.column.key;\n const tableColumn = this.state.columns.find((column: TableColumn) => column.key === columnKey);\n\n // istanbul ignore else\n if (tableColumn) {\n setTimeout(async () => {\n await DataGridFilterParser.handleFilterChange(filter, tableColumn.columnFilterDescriptor, tableColumn.columnDescription, this._applyFilter);\n });\n }\n };\n\n // istanbul ignore next\n private _handleOnClearFilters = () => {\n this.filterDescriptors.clear();\n\n this._applyFilter(); // eslint-disable-line @typescript-eslint/no-floating-promises\n };\n\n private _applyFilter = async (): Promise<void> => {\n // istanbul ignore else\n if (this.props.dataProvider.applyFilterDescriptors) {\n await this.props.dataProvider.applyFilterDescriptors(this.filterDescriptors);\n await this.updateRows();\n\n // istanbul ignore else\n if (this.props.onApplyFilter)\n this.props.onApplyFilter();\n }\n };\n\n // istanbul ignore next\n private _getValidFilterValues = (columnKey: string): any[] => {\n const tableColumn = this.state.columns.find((column: TableColumn) => column.reactDataGridColumn.key === columnKey);\n if (tableColumn && tableColumn.distinctValueCollection) {\n return tableColumn.distinctValueCollection.values;\n }\n return [];\n };\n\n // TODO: Enable, when table gets refactored. Explanation in ./../table/NonPrimitiveValueRenderer\n // private _onPopupShow = (popupState: PropertyPopupState) => this.setState({ popup: popupState });\n\n // private _onPopupHide = () => this.setState({ popup: undefined });\n\n // istanbul ignore next\n private _onScroll = (scrollData: ScrollState) => {\n this._topRowIndex = scrollData.rowVisibleStartIdx;\n if (this.props.onScrollToRow)\n this.props.onScrollToRow(scrollData.rowVisibleStartIdx);\n };\n\n /** Determines if focus is in an input element - for filter checking */\n private isFocusOnInputElement(): boolean {\n const element: HTMLElement = document.activeElement as HTMLElement;\n return element &&\n (element instanceof HTMLInputElement ||\n element instanceof HTMLSelectElement ||\n element instanceof HTMLTextAreaElement);\n }\n\n private _onKeyboardEvent = (e: React.KeyboardEvent, keyDown: boolean) => {\n if (isNavigationKey(e.key) && !this.state.cellEditorState.active && !this.isFocusOnInputElement()) {\n if (this._tableSelectionTarget === TableSelectionTarget.Row) {\n const handleKeyboardSelectItem = (index: number) => {\n const selectionFunction = this._rowSelectionHandler.createSelectionFunction(this._rowComponentSelectionHandler, this.createRowItemSelectionHandler(index));\n selectionFunction(e.shiftKey, e.ctrlKey);\n };\n\n const handleKeyboardActivateItem = (index: number) => {\n // istanbul ignore else\n if (this.state.keyboardEditorCellKey) {\n const columnIndex = this.getColumnIndexFromKey(this.state.keyboardEditorCellKey);\n // istanbul ignore else\n if (0 <= columnIndex && columnIndex < this.state.columns.length) {\n const columnDescription = this.state.columns[columnIndex].columnDescription;\n // istanbul ignore else\n if (columnDescription && columnDescription.editable)\n this.activateCellEditor(index, columnIndex, this.state.keyboardEditorCellKey);\n }\n\n }\n };\n\n const handleCrossAxisArrowKey = (forward: boolean) => {\n // istanbul ignore else\n if (this.state.keyboardEditorCellKey) {\n let newEditorCellKey: string | undefined;\n const columnIndex = this.getColumnIndexFromKey(this.state.keyboardEditorCellKey);\n\n // istanbul ignore else\n if (columnIndex >= 0) {\n let newColIndex = columnIndex;\n\n while (!newEditorCellKey) {\n if (forward)\n newColIndex++;\n else\n newColIndex--;\n\n if (newColIndex < 0)\n newColIndex = this.state.columns.length - 1;\n else if (newColIndex >= this.state.columns.length)\n newColIndex = 0;\n\n // istanbul ignore next\n if (newColIndex === columnIndex)\n break;\n\n const isEditable = this.state.columns[newColIndex].columnDescription.editable;\n if (isEditable)\n newEditorCellKey = this.state.columns[newColIndex].key;\n }\n\n // istanbul ignore else\n if (newEditorCellKey)\n this.setState({ keyboardEditorCellKey: newEditorCellKey });\n }\n }\n };\n\n const itemKeyboardNavigator = new ItemKeyboardNavigator(handleKeyboardSelectItem, handleKeyboardActivateItem);\n itemKeyboardNavigator.orientation = Orientation.Vertical;\n itemKeyboardNavigator.allowWrap = false;\n itemKeyboardNavigator.itemCount = this.state.rowsCount;\n itemKeyboardNavigator.crossAxisArrowKeyHandler = handleCrossAxisArrowKey;\n\n const processedRow = this._rowSelectionHandler.processedItem ? this._rowSelectionHandler.processedItem /* istanbul ignore next */ : 0;\n keyDown ?\n itemKeyboardNavigator.handleKeyDownEvent(e, processedRow) :\n itemKeyboardNavigator.handleKeyUpEvent(e, processedRow);\n } else {\n const handleKeyboardSelectItem = (index: number) => {\n const processedCell = this._cellSelectionHandler.processedItem;\n // istanbul ignore else\n if (processedCell) {\n const cellKey = { rowIndex: index, columnKey: processedCell.columnKey };\n const selectionHandler = this.createCellItemSelectionHandler(cellKey);\n const selectionFunction = this._cellSelectionHandler.createSelectionFunction(this._cellComponentSelectionHandler, selectionHandler);\n selectionFunction(e.shiftKey, e.ctrlKey);\n }\n };\n\n const handleKeyboardActivateItem = (index: number) => {\n const processedCell = this._cellSelectionHandler.processedItem;\n // istanbul ignore else\n if (processedCell) {\n const columnIndex = this.getColumnIndexFromKey(processedCell.columnKey);\n // istanbul ignore else\n if (0 <= columnIndex && columnIndex < this.state.columns.length) {\n const columnDescription = this.state.columns[columnIndex].columnDescription;\n // istanbul ignore else\n if (columnDescription && columnDescription.editable)\n this.activateCellEditor(index, columnIndex, processedCell.columnKey);\n }\n }\n };\n\n const handleCrossAxisArrowKey = (forward: boolean) => {\n const processedCell = this._cellSelectionHandler.processedItem;\n // istanbul ignore else\n if (processedCell) {\n const columnIndex = this.getColumnIndexFromKey(processedCell.columnKey);\n // istanbul ignore else\n if (columnIndex >= 0) {\n let newColIndex = columnIndex;\n\n if (forward)\n newColIndex++;\n else\n newColIndex--;\n\n if (newColIndex < 0)\n newColIndex = this.state.columns.length - 1;\n else if (newColIndex >= this.state.columns.length)\n newColIndex = 0;\n\n const columnKey = this.state.columns[newColIndex].key;\n const cellKey = { rowIndex: processedCell.rowIndex, columnKey };\n const selectionHandler = this.createCellItemSelectionHandler(cellKey);\n const selectionFunction = this._cellSelectionHandler.createSelectionFunction(this._cellComponentSelectionHandler, selectionHandler);\n selectionFunction(e.shiftKey, e.ctrlKey);\n }\n }\n };\n\n const itemKeyboardNavigator = new ItemKeyboardNavigator(handleKeyboardSelectItem, handleKeyboardActivateItem);\n itemKeyboardNavigator.orientation = Orientation.Vertical;\n itemKeyboardNavigator.allowWrap = false;\n itemKeyboardNavigator.itemCount = this.state.rowsCount;\n itemKeyboardNavigator.crossAxisArrowKeyHandler = handleCrossAxisArrowKey;\n\n const processedRow = this._cellSelectionHandler.processedItem ? this._cellSelectionHandler.processedItem.rowIndex : /* istanbul ignore next */ 0;\n keyDown ?\n itemKeyboardNavigator.handleKeyDownEvent(e, processedRow) :\n itemKeyboardNavigator.handleKeyUpEvent(e, processedRow);\n }\n }\n };\n\n private _onKeyDown = (e: React.KeyboardEvent) => this._onKeyboardEvent(e, true);\n private _onKeyUp = (e: React.KeyboardEvent) => this._onKeyboardEvent(e, false);\n\n /** @internal */\n public override render() {\n const rowRenderer = <TableRowRenderer rowRendererCreator={() => this._createRowRenderer()} />;\n\n const visibleColumns = this._getVisibleColumns();\n const tableClassName = classnames(\n \"components-table\",\n \"components-smallEditor-host\",\n this.props.className,\n {\n \"hide-header\": this.props.hideHeader,\n \"striped-rows\": this.props.stripedRows,\n \"row-selection\": this._tableSelectionTarget === TableSelectionTarget.Row,\n \"cell-selection\": this._tableSelectionTarget === TableSelectionTarget.Cell,\n },\n );\n\n return (\n <>\n <div className={tableClassName} style={this.props.style}\n onMouseDown={this._onMouseDown}\n onContextMenu={this.props.showHideColumns ? this._handleShowHideContextMenu : undefined}\n onKeyDown={this._onKeyDown}\n onKeyUp={this._onKeyUp}\n role=\"presentation\"\n >\n {this.props.showHideColumns &&\n <ShowHideMenu\n opened={this.state.menuVisible}\n items={this.state.columns.map((column) => ({ id: column.key, label: column.reactDataGridColumn.name }))}\n x={this.state.menuX} y={this.state.menuY}\n initialHidden={this.state.hiddenColumns}\n onClose={this._hideContextMenu}\n onShowHideChange={this._handleShowHideChange} />\n }\n <ElementResizeObserver watchedElement={this.state.gridContainer}\n render={({ width, height }) => {\n setTimeout(() => this._queuePokeScroll());\n return (\n <ReactDataGrid\n ref={this._gridRef}\n columns={visibleColumns}\n rowGetter={this._rowGetter}\n rowRenderer={rowRenderer}\n rowsCount={this.state.rowsCount}\n {...(this.props.reorderableColumns ? {\n draggableHeaderCell: DragDropHeaderCell,\n onHeaderDrop: this._onHeaderDrop,\n } as any : {})}\n minHeight={height}\n minWidth={width}\n headerRowHeight={TABLE_ROW_HEIGHT}\n rowHeight={TABLE_ROW_HEIGHT}\n onGridSort={this._handleGridSort}\n enableRowSelect={null} // Prevent deprecation warning\n onAddFilter={this._handleFilterChange}\n onClearFilters={this._handleOnClearFilters} // eslint-disable-line @typescript-eslint/unbound-method\n headerFiltersHeight={TABLE_FILTER_ROW_HEIGHT}\n getValidFilterValues={this._getValidFilterValues}\n onScroll={this._onScroll}\n />\n );\n }}\n />\n </div>\n <div ref={this._tableRef}>\n {this.state.dialog\n ?\n // istanbul ignore next\n <Dialog\n opened={true}\n onClose={this._onDialogClose}\n title={this.state.dialog.title}\n height={\"50vh\"}\n >\n {this.state.dialog.content}\n </Dialog>\n : undefined}\n {/* TODO: Enable, when table gets refactored. Explanation in ./../../properties/renderers/value/table/NonPrimitiveValueRenderer */}\n {/* {this.state.popup\n ?\n <Popup\n isShown={true}\n fixedPosition={this.state.popup.fixedPosition}\n position={Position.Top}\n >\n {this.state.popup.content}\n </Popup>\n :\n undefined} */}\n </div>\n </>\n );\n }\n}\n\n/**\n * Props for the [[TableRow]] component\n * @internal\n */\nexport interface TableRowProps extends CommonProps {\n cells: { [key: string]: React.ReactNode };\n isSelected?: boolean;\n}\n\n/**\n * Default component for rendering a row for the Table\n * @internal\n */\nexport class TableRow extends React.Component<TableRowProps> {\n\n /** @internal */\n public override render() {\n const { cells, isSelected, ...props } = this.props;\n return (\n <ReactDataGrid.Row {...props} row={cells} isSelected={isSelected} />\n );\n }\n}\n"]}
1
+ {"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../../../src/components-react/table/component/Table.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F,4CAA4C;AAC5C;;GAEG;AAEH,OAAO,cAAc,CAAC;AACtB,OAAO,yCAAyC,CAAC;AACjD,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,gBAAgB,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,IAAI,EAAc,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EACQ,MAAM,EAAE,qBAAqB,EAAE,eAAe,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EACxH,oBAAoB,GACrC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACsE,gBAAgB,GAC5F,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAuB,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAC1G,OAAO,EAAuC,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAC3H,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,mDAAmD,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAuB,MAAM,yCAAyC,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,wDAAwD,CAAC;AAC1F,OAAO,EAAE,+BAA+B,EAAE,MAAM,oDAAoD,CAAC;AACrG,OAAO,EAA+B,cAAc,EAA8B,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAuB,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjE,uDAAuD;AAEvD,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAC5B,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC;;;GAGG;AACH,MAAM,CAAN,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,6DAAG,CAAA;IACH,+DAAI,CAAA;AACN,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,QAG/B;AAED,uBAAuB;AACvB,IAAK,gBAMJ;AAND,WAAK,gBAAgB;IACnB,kCAAc,CAAA;IACd,sCAAkB,CAAA;IAClB,iCAAa,CAAA;IACb,mCAAe,CAAA;IACf,iCAAa,CAAA;AACf,CAAC,EANI,gBAAgB,KAAhB,gBAAgB,QAMpB;AAkLD,MAAM,YAAY,GAAe;IAC/B,OAAO,EAAE,EAAE;IACX,aAAa,EAAE,EAAE;IACjB,IAAI,EAAE,EAAE;IACR,SAAS,EAAE,CAAC;IACZ,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;IAClC,WAAW,EAAE,KAAK;IAClB,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,aAAa,EAAE,IAAI;CACpB,CAAC;AAYF,gGAAgG;AAChG,MAAM,gBAAiB,SAAQ,KAAK,CAAC,SAAgC;IACnD,MAAM;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAClD,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;CACF;AAaD;;;GAGG;AACH,MAAM,OAAO,KAAM,SAAQ,KAAK,CAAC,SAAiC;IAyBhE,gBAAgB;IAChB,YAAY,KAAiB;QAC3B,KAAK,CAAC,KAAK,CAAC,CAAC;QA1BP,gBAAW,GAAG,GAAG,CAAC;QAClB,yBAAoB,GAAG,IAAI,cAAc,EAAE,CAAC;QAC5C,eAAU,GAAG,KAAK,CAAC;QACnB,mBAAc,gBAAoB;QAClC,mBAAc,gBAAoB;QAClC,iBAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAGlC,wBAAmB,GAAgB,IAAI,GAAG,EAAU,CAAC;QACrD,sBAAiB,GAA6B,IAAI,GAAG,EAAuB,CAAC,CAAC,4BAA4B;QAG1G,yBAAoB,GAAY,KAAK,CAAC;QACtC,cAAS,GAAG,KAAK,CAAC,SAAS,EAAkB,CAAC;QAC9C,aAAQ,GAAG,KAAK,CAAC,SAAS,EAAsB,CAAC;QACjD,sBAAiB,GAAG,KAAK,CAAC,SAAS,EAAkB,CAAC;QAEtD,oBAAe,GAAG,KAAK,CAAC;QACxB,iBAAY,GAAG,CAAC,CAAC;QACjB,qBAAgB,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;QAE1C,gBAAgB;QACS,UAAK,GAAG,YAAY,CAAC;QAyDtC,oBAAe,GAAoC,CAAC,UAAoB,EAAE,OAAgB,EAAE,EAAE;YACpG,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc;gBAC3B,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,8DAA8D;QAC1I,CAAC,CAAC;QAEM,sBAAiB,GAAsC,CAAC,UAAoB,EAAE,EAAE;YACtF,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB;gBAC7B,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,8DAA8D;QACnI,CAAC,CAAC;QAEM,qBAAgB,GAAqC,CAAC,QAAmB,EAAE,OAAgB,EAAE,EAAE;YACrG,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe;gBAC5B,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,8DAA8D;QAC1I,CAAC,CAAC;QAEM,uBAAkB,GAAuC,CAAC,QAAmB,EAAE,EAAE;YACvF,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB;gBAC9B,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,8DAA8D;QACnI,CAAC,CAAC;QAqLM,sBAAiB,GAAG,KAAK,IAAI,EAAE;YACrC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAE3B,IAAI,CAAC,0BAA0B,GAAG,SAAS,CAAC;QAC9C,CAAC,CAAC;QAmCF,uGAAuG;QACvG,kDAAkD;QAC1C,2BAAsB,GAAG,GAAG,EAAE;YACpC,uBAAuB;YACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE;gBACpD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAc,CAAC;gBAC1C,uBAAuB;gBACvB,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,EAAE;oBACtD,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;oBAEjF,cAAc;oBACd,IAAI,GAAG,GAAG,gBAAgB,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;oBACnD,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC;oBAE3B,mBAAmB;oBACnB,GAAG,GAAG,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC;oBAC3C,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC;iBAC5B;aACF;QACH,CAAC,CAAC;QAEM,qBAAgB,GAAG,GAAG,EAAE;YAC9B,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAChC,CAAC,CAAC;QAEM,4BAAuB,GAAG,GAAS,EAAE;YAC3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC,CAAC;QAEM,mBAAc,GAAG,KAAK,IAAI,EAAE;YAClC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACxB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC;QAuDM,4CAAuC,GAAG,CAAC,iBAAoC,EAAuB,EAAE;YAC9G,MAAM,UAAU,GAAG,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC;YAEhD,MAAM,MAAM,GAAwB;gBAClC,GAAG,EAAE,iBAAiB,CAAC,GAAG;gBAC1B,IAAI,EAAE,iBAAiB,CAAC,KAAK;gBAC7B,IAAI,EAAE,iBAAiB,CAAC,IAAI;gBAC5B,KAAK,EAAE,iBAAiB,CAAC,KAAK;gBAC9B,SAAS,EAAE,CAAC,CAAC,iBAAiB,CAAC,SAAS;gBACxC,QAAQ,EAAE,CAAC,CAAC,iBAAiB,CAAC,QAAQ;gBACtC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB;gBAC1C,UAAU,EAAE,CAAC,CAAC,iBAAiB,CAAC,UAAU;aAC3C,CAAC;YAEF,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;YAEnB,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;gBAChC,MAAM,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aACvE;YAED,IAAI,UAAU,EAAE;gBACd,MAAM,CAAC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;aACjE;YAED,IAAI,iBAAiB,CAAC,cAAc,KAAK,SAAS,EAAE;gBAClD,QAAQ,iBAAiB,CAAC,cAAc,EAAE;oBACxC,KAAK,cAAc,CAAC,OAAO;wBACzB,MAAM,CAAC,cAAc,GAAG,aAAa,CAAC;wBACtC,MAAM;oBACR,KAAK,cAAc,CAAC,WAAW;wBAC7B,MAAM,CAAC,cAAc,GAAG,iBAAiB,CAAC;wBAC1C,MAAM;oBACR,KAAK,cAAc,CAAC,UAAU;wBAC5B,MAAM,CAAC,cAAc,GAAG,gBAAgB,CAAC;wBACzC,MAAM;oBACR,KAAK,cAAc,CAAC,YAAY;wBAC9B,MAAM,CAAC,cAAc,GAAG,kBAAkB,CAAC;wBAC3C,MAAM;oBACR,KAAK,cAAc,CAAC,IAAI;wBACtB,6DAA6D;wBAC7D,MAAM;iBACT;aACF;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEM,iBAAY,GAAG,CAAC,GAAY,EAAE,SAAiB,EAAY,EAAE;YACnE,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,IAAI,0BAA0B,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;QACrH,CAAC,CAAC;QAuDM,kCAA6B,GAAkC;YACrE,WAAW,EAAE,GAAG,EAAE;gBAChB,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;gBAC7C,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;oBAC9B,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC7B,IAAI,CAAC,WAAW,EAAE,CAAC;iBACpB;YACH,CAAC;YACD,aAAa,EAAE,CAAC,SAAiB,EAAE,SAAiB,EAAE,EAAE;gBACtD,MAAM,UAAU,GAAG,EAAE,CAAC;gBACtB,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;gBAClE,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;gBACnE,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC,EAAE,EAAE;oBAChD,uBAAuB;oBACvB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBACpC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACnB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;qBACjC;iBACF;gBAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,eAAe,EAAE,CAAC,UAAoB,EAAE,YAAsB,EAAQ,EAAE;gBACtE,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE;oBACjC,uBAAuB;oBACvB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC;wBACzC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;iBAC1C;gBAED,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE;oBACnC,uBAAuB;oBACvB,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC;wBACxC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;iBAC7C;gBACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;YACD,QAAQ,EAAE,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK;SAC5D,CAAC;QAoBM,mCAA8B,GAAmC;YACvE,WAAW,EAAE,GAAG,EAAE;gBAChB,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;gBACxD,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;YACD,aAAa,EAAE,CAAC,KAAc,EAAE,KAAc,EAAE,EAAE;gBAChD,MAAM,UAAU,GAAc,EAAE,CAAC;gBACjC,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACrF,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACtF,IAAI,UAAmB,CAAC;gBACxB,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B,IAAI,eAAe,GAAG,KAAK,CAAC;gBAE5B,KAAK,IAAI,QAAQ,GAAG,UAAU,EAAE,QAAQ,IAAI,WAAW,EAAE,QAAQ,EAAE,EAAE;oBACnE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;wBACvC,IAAI,CAAC,cAAc,EAAE;4BACnB,IAAI,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,SAAS,EAAE;gCACjE,cAAc,GAAG,IAAI,CAAC;gCACtB,UAAU,GAAG,KAAK,CAAC;6BACpB;iCAAM;gCACL,uBAAuB;gCACvB,IAAI,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,SAAS,EAAE;oCACjE,cAAc,GAAG,IAAI,CAAC;oCACtB,UAAU,GAAG,KAAK,CAAC;iCACpB;;oCACC,SAAS;6BACZ;yBACF;wBAED,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;wBACpD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;4BAC/B,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAE3B,IAAI,QAAQ,KAAK,UAAW,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,KAAK,UAAW,CAAC,SAAS,EAAE;4BAC7E,eAAe,GAAG,IAAI,CAAC;4BACvB,MAAM;yBACP;qBACF;oBACD,IAAI,eAAe;wBACjB,MAAM;iBACT;gBAED,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC7B,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnB,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,eAAe,EAAE,CAAC,UAAqB,EAAE,YAAuB,EAAQ,EAAE;gBACxE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;gBAC7B,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBACjC,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;YACD,QAAQ,EAAE,CAAC,KAAc,EAAE,KAAc,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;SACvH,CAAC;QAEM,eAAU,GAAG,CAAC,CAAS,EAAY,EAAE;YAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAE5B,2BAA2B;YAC3B,iEAAiE;YACjE,4EAA4E;YAC5E,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,8DAA8D;YAEhH,4BAA4B;YAC5B,OAAO,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QAC/D,CAAC,CAAC;QAEM,oBAAe,GAAG,OAAO,CAAC,KAAK,EAAE,KAAa,EAAiB,EAAE;YACvE,uBAAuB;YACvB,IAAI,KAAK,GAAG,CAAC;gBACX,OAAO;YAET,0CAA0C;YAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAExD,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,UAAU;gBAClB,OAAO;YAET,uBAAuB;YACvB,IAAI,IAAI,CAAC,cAAc,iBAAqB;gBAC1C,OAAO;YAET,MAAM,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACpD,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,kBAAkB,EAAE;gBACpD,uBAAuB;gBACvB,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC;oBACnC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aACpC;YACD,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;YAE9C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrB,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC5B,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,CAAC,EAAE,KAAK,IAAI,EAAE;gBACZ,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY;oBACzB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAErE,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC3C,IAAI,UAAU,KAAK,IAAI,CAAC,eAAe;oBACrC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAmGK,oBAAe,GAAG,CAAC,SAAiB,EAAE,aAAsC,EAAE,EAAE;YACtF,IAAI,aAA4B,CAAC;YAEjC,QAAQ,aAAa,EAAE;gBACrB,KAAK,KAAK;oBACR,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC;oBACxC,MAAM;gBACR,KAAK,MAAM;oBACT,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC;oBACzC,MAAM;gBACR,KAAK,MAAM,CAAC;gBACZ;oBACE,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC;oBACrC,MAAM;aACT;YAED,kBAAkB;YAClB,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,8DAA8D;YAE5G,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC,CAAC;QAyLM,uBAAkB,GAAG,GAAG,EAAE;YAChC,OAAO,CAAC,KAAsD,EAAE,EAAE;gBAChE,uBAAuB;gBACvB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC/E,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,qBAAqB,EAAE,GAAG,KAAK,CAAC;gBAC1D,IAAI,IAAI,CAAC,qBAAqB,KAAK,oBAAoB,CAAC,GAAG,EAAE;oBAC3D,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,IAAI,CAAC,6BAA6B,EAAE,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;oBACrK,MAAM,OAAO,GAAG,CAAC,CAAmB,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;oBAClF,MAAM,WAAW,GAAG,GAAG,EAAE;wBACvB,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,IAAI,CAAC,6BAA6B,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACnI,CAAC,CAAC;oBACF,MAAM,WAAW,GAAG,CAAC,CAAmB,EAAE,EAAE;wBAC1C,uBAAuB;wBACvB,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC;4BACjB,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAChE,CAAC,CAAC;oBACF,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBACjE,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBACxD,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,qBAAqB,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;oBACtF,OAAO,6BACL,SAAS,EAAE,UAAU,CAAC,sBAAsB,CAAC,EAC7C,cAAc,EAAE,OAAO,EACvB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EACtB,IAAI,EAAC,cAAc,IAClB,GAAG,CACA,CAAC;iBACR;qBAAM;oBACL,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACnD,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC;iBACtE;YACH,CAAC,CAAC;QACJ,CAAC,CAAC;QAEF,gEAAgE;QACxD,cAAS,GAAG,CAAC,IAAa,EAAE,KAAoB,EAAmB,EAAE;YAC3E,OAAO,oBAAC,QAAQ,IAAC,GAAG,EAAE,IAAI,CAAC,GAAG,KAAM,KAAK,GAAI,CAAC;QAChD,CAAC,CAAC;QAEM,eAAU,GAAG,GAAG,EAAE;YACxB,IAAI,IAAI,CAAC,qBAAqB,KAAK,oBAAoB,CAAC,GAAG;gBACzD,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,CAAC;;gBAE/C,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,CAAC;QACpD,CAAC,CAAC;QAEM,iBAAY,GAAG,GAAG,EAAE;YAC1B,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACvF,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,MAAc,EAAE,MAAc,EAAE,EAAE;YACzD,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACrC,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;YAChF,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC;YAEhF,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACxE,uBAAuB;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBACjC,MAAM,YAAY,GAAmB,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,0BAA0B,CAAC,IAAI,iBAAiB,EAAE,CAAC;gBACtH,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,8DAA8D;aAC/I;YACD,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE;gBAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QA4DM,0BAAqB,GAAG,GAAS,EAAE;YACzC,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM;gBACnC,IAAI,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAC7G,CAAC,CAAC;QAOM,kBAAa,GAAG,KAAK,EAAE,IAAyB,EAAE,EAAE;YAC1D,uBAAuB;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;gBAChC,MAAM,eAAe,GAAyB;oBAC5C,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,QAAS;oBAC9C,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,QAAS;oBAC9C,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,OAAQ;iBAC7C,CAAC;gBACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;gBAC1E,uBAAuB;gBACvB,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,IAAI,CAAC,EAAE;oBAC5G,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC7B,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;iBACzB;qBAAM;oBACL,IAAI,CAAC,qBAAqB,EAAE,CAAC;iBAC9B;aACF;QACH,CAAC,CAAC;QAEM,uBAAkB,GAAG,GAA0B,EAAE;YACvD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO;iBACtB,MAAM,CAAC,CAAC,WAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC9F,GAAG,CAAC,CAAC,WAAwB,EAAE,EAAE,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACxE,CAAC,CAAC;QAEM,+BAA0B,GAAG,CAAC,CAAmB,EAAE,EAAE;YAC3D,MAAM,MAAM,GAAG,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YACnE,uBAAuB;YACvB,IAAI,MAAM,EAAE;gBACV,MAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;gBAClD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC;gBAC/B,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;gBACjC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;gBACnC,uBAAuB;gBACvB,IAAI,CAAC,GAAG,OAAO,GAAG,MAAM,EAAE;oBACxB,CAAC,CAAC,cAAc,EAAE,CAAC;oBACnB,IAAI,CAAC,QAAQ,CAAC;wBACZ,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;wBAClB,WAAW,EAAE,IAAI;qBAClB,CAAC,CAAC;iBACJ;aACF;QACH,CAAC,CAAC;QAEM,qBAAgB,GAAG,GAAG,EAAE;YAC9B,uBAAuB;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe;gBAC5B,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1C,CAAC,CAAC;QAEF,uBAAuB;QACf,0BAAqB,GAAG,CAAC,IAAc,EAAE,EAAE;YACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACvC,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;gBACjC,MAAM,YAAY,GAAmB,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,IAAI,iBAAiB,EAAE,CAAC;gBAC3F,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,6BAA6B,EAAE,IAAI,CAAC,CAAC,CAAC,8DAA8D;aAC7J;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,uBAAuB;QACf,kBAAa,GAAG,CAAC,WAAgC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QAErG,uBAAuB;QACf,mBAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QA0C5D,wBAAmB,GAAG,CAAC,MAA2B,EAAQ,EAAE;YAClE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;YACpC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAmB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;YAE/F,uBAAuB;YACvB,IAAI,WAAW,EAAE;gBACf,UAAU,CAAC,KAAK,IAAI,EAAE;oBACpB,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,MAAM,EAAE,WAAW,CAAC,sBAAsB,EAAE,WAAW,CAAC,iBAAiB,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC9I,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;QAEF,uBAAuB;QACf,0BAAqB,GAAG,GAAG,EAAE;YACnC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAE/B,IAAI,CAAC,YAAY,EAAE,CAAC,CAAE,8DAA8D;QACtF,CAAC,CAAC;QAEM,iBAAY,GAAG,KAAK,IAAmB,EAAE;YAC/C,uBAAuB;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,sBAAsB,EAAE;gBAClD,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAC7E,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBAExB,uBAAuB;gBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa;oBAC1B,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;aAC9B;QACH,CAAC,CAAC;QAEF,uBAAuB;QACf,0BAAqB,GAAG,CAAC,SAAiB,EAAS,EAAE;YAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAmB,EAAE,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;YACnH,IAAI,WAAW,IAAI,WAAW,CAAC,uBAAuB,EAAE;gBACtD,OAAO,WAAW,CAAC,uBAAuB,CAAC,MAAM,CAAC;aACnD;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,gGAAgG;QAChG,mGAAmG;QAEnG,qEAAqE;QAErE,uBAAuB;QACf,cAAS,GAAG,CAAC,UAAuB,EAAE,EAAE;YAC9C,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,kBAAkB,CAAC;YAClD,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa;gBAC1B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC5D,CAAC,CAAC;QAWM,qBAAgB,GAAG,CAAC,CAAsB,EAAE,OAAgB,EAAE,EAAE;YACtE,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE;gBACjG,IAAI,IAAI,CAAC,qBAAqB,KAAK,oBAAoB,CAAC,GAAG,EAAE;oBAC3D,MAAM,wBAAwB,GAAG,CAAC,KAAa,EAAE,EAAE;wBACjD,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,IAAI,CAAC,6BAA6B,EAAE,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC3J,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;oBAC3C,CAAC,CAAC;oBAEF,MAAM,0BAA0B,GAAG,CAAC,KAAa,EAAE,EAAE;wBACnD,uBAAuB;wBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE;4BACpC,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;4BACjF,uBAAuB;4BACvB,IAAI,CAAC,IAAI,WAAW,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;gCAC/D,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC;gCAC5E,uBAAuB;gCACvB,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,QAAQ;oCACjD,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;6BACjF;yBAEF;oBACH,CAAC,CAAC;oBAEF,MAAM,uBAAuB,GAAG,CAAC,OAAgB,EAAE,EAAE;wBACnD,uBAAuB;wBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE;4BACpC,IAAI,gBAAoC,CAAC;4BACzC,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;4BAEjF,uBAAuB;4BACvB,IAAI,WAAW,IAAI,CAAC,EAAE;gCACpB,IAAI,WAAW,GAAG,WAAW,CAAC;gCAE9B,OAAO,CAAC,gBAAgB,EAAE;oCACxB,IAAI,OAAO;wCACT,WAAW,EAAE,CAAC;;wCAEd,WAAW,EAAE,CAAC;oCAEhB,IAAI,WAAW,GAAG,CAAC;wCACjB,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;yCACzC,IAAI,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;wCAC/C,WAAW,GAAG,CAAC,CAAC;oCAElB,uBAAuB;oCACvB,IAAI,WAAW,KAAK,WAAW;wCAC7B,MAAM;oCAER,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC;oCAC9E,IAAI,UAAU;wCACZ,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC;iCAC1D;gCAED,uBAAuB;gCACvB,IAAI,gBAAgB;oCAClB,IAAI,CAAC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,CAAC,CAAC;6BAC9D;yBACF;oBACH,CAAC,CAAC;oBAEF,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,wBAAwB,EAAE,0BAA0B,CAAC,CAAC;oBAC9G,qBAAqB,CAAC,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC;oBACzD,qBAAqB,CAAC,SAAS,GAAG,KAAK,CAAC;oBACxC,qBAAqB,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;oBACvD,qBAAqB,CAAC,wBAAwB,GAAG,uBAAuB,CAAC;oBAEzE,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC;oBACtI,OAAO,CAAC,CAAC;wBACP,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;wBAC3D,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;iBAC3D;qBAAM;oBACL,MAAM,wBAAwB,GAAG,CAAC,KAAa,EAAE,EAAE;wBACjD,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC;wBAC/D,uBAAuB;wBACvB,IAAI,aAAa,EAAE;4BACjB,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,CAAC,SAAS,EAAE,CAAC;4BACxE,MAAM,gBAAgB,GAAG,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;4BACtE,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,IAAI,CAAC,8BAA8B,EAAE,gBAAgB,CAAC,CAAC;4BACpI,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;yBAC1C;oBACH,CAAC,CAAC;oBAEF,MAAM,0BAA0B,GAAG,CAAC,KAAa,EAAE,EAAE;wBACnD,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC;wBAC/D,uBAAuB;wBACvB,IAAI,aAAa,EAAE;4BACjB,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;4BACxE,uBAAuB;4BACvB,IAAI,CAAC,IAAI,WAAW,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE;gCAC/D,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC;gCAC5E,uBAAuB;gCACvB,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,QAAQ;oCACjD,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;6BACxE;yBACF;oBACH,CAAC,CAAC;oBAEF,MAAM,uBAAuB,GAAG,CAAC,OAAgB,EAAE,EAAE;wBACnD,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC;wBAC/D,uBAAuB;wBACvB,IAAI,aAAa,EAAE;4BACjB,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;4BACxE,uBAAuB;4BACvB,IAAI,WAAW,IAAI,CAAC,EAAE;gCACpB,IAAI,WAAW,GAAG,WAAW,CAAC;gCAE9B,IAAI,OAAO;oCACT,WAAW,EAAE,CAAC;;oCAEd,WAAW,EAAE,CAAC;gCAEhB,IAAI,WAAW,GAAG,CAAC;oCACjB,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;qCACzC,IAAI,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;oCAC/C,WAAW,GAAG,CAAC,CAAC;gCAElB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC;gCACtD,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;gCAChE,MAAM,gBAAgB,GAAG,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;gCACtE,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,IAAI,CAAC,8BAA8B,EAAE,gBAAgB,CAAC,CAAC;gCACpI,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;6BAC1C;yBACF;oBACH,CAAC,CAAC;oBAEF,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,wBAAwB,EAAE,0BAA0B,CAAC,CAAC;oBAC9G,qBAAqB,CAAC,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC;oBACzD,qBAAqB,CAAC,SAAS,GAAG,KAAK,CAAC;oBACxC,qBAAqB,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;oBACvD,qBAAqB,CAAC,wBAAwB,GAAG,uBAAuB,CAAC;oBAEzE,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC;oBACjJ,OAAO,CAAC,CAAC;wBACP,qBAAqB,CAAC,kBAAkB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;wBAC3D,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;iBAC3D;aACF;QACH,CAAC,CAAC;QAEM,eAAU,GAAG,CAAC,CAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACxE,aAAQ,GAAG,CAAC,CAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAh3C7E,IAAI,KAAK,CAAC,UAAU;YAClB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC;QAEtC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACvG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACjG,IAAI,CAAC,oBAAoB,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACnH,IAAI,CAAC,qBAAqB,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACpH,IAAI,CAAC,oBAAoB,CAAC,uBAAuB,GAAG,IAAI,CAAC,eAAe,CAAC;QACzE,IAAI,CAAC,oBAAoB,CAAC,yBAAyB,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC7E,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC3E,IAAI,CAAC,qBAAqB,CAAC,yBAAyB,GAAG,IAAI,CAAC,kBAAkB,CAAC;IACjF,CAAC;IAED,gEAAgE;IAChE,IAAY,wBAAwB;QAClC,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACnC,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE;gBAC3C,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9E;QACD,OAAO,IAAI,CAAC,yBAAyB,CAAC;IACxC,CAAC;IAED,gEAAgE;IAChE,IAAY,yBAAyB;QACnC,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE;YACpC,IAAI,CAAC,0BAA0B,GAAG,EAAE,CAAC;YACrC,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;gBAClE,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;gBAC/C,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;oBACvC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;iBAC1H;aACF;SACF;QACD,OAAO,IAAI,CAAC,0BAA0B,CAAC;IACzC,CAAC;IAEO,KAAK,CAAC,CAAE,iBAAiB,CAAC,UAAoB;QACpD,KAAK,MAAM,KAAK,IAAI,UAAU;YAC5B,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,CAAE,kBAAkB,CAAC,QAAmB;QACpD,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;YAC1B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/D,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;SACpD;IACH,CAAC;IAsBD,IAAY,qBAAqB;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC;IACtG,CAAC;IAED,gBAAgB;IACA,kBAAkB,CAAC,aAAyB,EAAE,aAAyB;QACrF,IAAI,CAAC,oBAAoB,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;QACrH,IAAI,CAAC,qBAAqB,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;QAEtH,IAAI,aAAa,CAAC,YAAY,KAAK,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;YAC1D,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC5G,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;SACvG;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,aAAa,CAAC,YAAY,EAAE;YAC1D,mEAAmE;YACnE,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,OAAO;SACR;QAED,8HAA8H;QAC9H,IAAI,aAAa,CAAC,aAAa,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM;YACxE,IAAI,CAAC,WAAW,EAAE,CAAC;QAErB,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,aAAa,CAAC,cAAc;eACzD,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,aAAa,CAAC,aAAa;eACxD,IAAI,CAAC,KAAK,CAAC,oBAAoB,KAAK,aAAa,CAAC,oBAAoB,EAAE;YAC3E,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,aAAa,CAAC,WAAW,EAAE;YACxD,uBAAuB;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS;gBACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;SAC5C;QAED,0BAA0B;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;YACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,gBAAgB;IACA,iBAAiB;QAC/B,IAAI,aAAa,GAA0B,IAAI,CAAC;QAEhD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,0HAA0H;QAC1H,mHAAmH;QACnH,+EAA+E;QAC/E,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAc,CAAC;YAC1C,aAAa,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;SAC3C;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,EAAE,GAAG,EAAE;YACpC,mEAAmE;YACnE,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;IACA,oBAAoB;QAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACjC,CAAC;IAEO,WAAW,CAAC,QAAgB;QAClC,uBAAuB;QACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAc,CAAC;YAC1C,uBAAuB;YACvB,IAAI,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBACtD,MAAM,GAAG,GAAG,gBAAgB,GAAG,QAAQ,CAAC;gBACxC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;gBACjF,UAAU,CAAC,SAAS,GAAG,GAAG,CAAC;gBAC3B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;gBAE7B,uBAAuB;gBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa;oBAC1B,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACtC;SACF;IACH,CAAC;IAEO,kBAAkB;QACxB,uBAAuB;QACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAc,CAAC;YAC1C,uBAAuB;YACvB,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;gBAC9E,uBAAuB;gBACvB,IAAI,YAAY,EAAE;oBAChB,YAAY,CAAC,KAAK,EAAE,CAAC;iBACtB;aACF;SACF;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;QACnC,IAAI,CAAC,cAAc,eAAmB,CAAC;QAEvC,IAAI,MAAM,mBAAwB,CAAC;QACnC,IAAI,MAAM,qBAAyB;YACjC,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,uBAAuB;QACvB,IAAI,MAAM,qBAA0B,IAAI,MAAM,eAAmB;YAC/D,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,IAAI,IAAI,CAAC,cAAc,iBAAqB,EAAE;YAC5C,IAAI,CAAC,cAAc,mBAAuB,CAAC;YAC3C,qBAA0B;SAC3B;QAED,IAAI,CAAC,cAAc,mBAAuB,CAAC;QAC3C,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QACtE,IAAI,CAAC,cAAc,eAAmB,CAAC;QAEvC,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU;YAClB,qBAA0B;QAE5B,IAAI,IAAI,CAAC,cAAc,qBAAyB,EAAE;YAChD,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjC,qBAA0B;SAC3B;QAED,IAAI,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAC3F,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE;YACjC,MAAM,YAAY,GAAmB,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,0BAA0B,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAC9K,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;YACpG,uBAAuB;YACvB,IAAI,aAAa,CAAC,MAAM,KAAK,oBAAoB,CAAC,OAAO,EAAE;gBACzD,MAAM,OAAO,GAAG,aAAa,CAAC,OAAmB,CAAC;gBAClD,yFAAyF;gBACzF,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC7F;iBAAM,IAAI,aAAa,CAAC,MAAM,KAAK,oBAAoB,CAAC,QAAQ,EAAE;gBACjE,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtD,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;aACtF;YACD,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,6BAA6B,CAAC,CAAC;YACnH,uBAAuB;YACvB,IAAI,cAAc,CAAC,MAAM,KAAK,oBAAoB,CAAC,OAAO,EAAE;gBAC1D,MAAM,aAAa,GAAG,cAAc,CAAC,OAAmB,CAAC;gBACzD,IAAI,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;aAClC;SACF;QAED,IAAI,qBAAyC,CAAC;QAC9C,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,cAAmC,EAAE,KAAa,EAAE,EAAE;YAC9F,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAAC;YACrF,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;YACnD,IAAI,CAAC,qBAAqB,IAAI,WAAW,CAAC,iBAAiB,CAAC,QAAQ;gBAClE,qBAAqB,GAAG,WAAW,CAAC,GAAG,CAAC;YAC1C,IAAI,WAAW,CAAC,UAAU;gBACxB,cAAc,CAAC,gBAAgB,GAAG,WAAW,CAAC;YAChD,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;YACtC,IAAI,WAAW,CAAC,UAAU;gBACxB,WAAW,CAAC,uBAAuB,GAAG,MAAM,WAAW,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;SAC/G;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAEhE,IAAI,IAAI,CAAC,cAAc,iBAAqB,EAAE;YAC5C,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;SACnC;QACD,wBAA6B;IAC/B,CAAC;IAQO,KAAK,CAAC,UAAU;QACtB,IAAI,IAAI,CAAC,cAAc,iBAAqB,EAAE;YAC5C,IAAI,IAAI,CAAC,cAAc,iBAAqB;gBAC1C,IAAI,CAAC,cAAc,eAAmB,CAAC;YACzC,qBAA0B;SAC3B;QAED,IAAI,CAAC,cAAc,eAAmB,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;QAC/D,IAAI,CAAC,cAAc,eAAmB,CAAC;QAEvC,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU;YAClB,qBAA0B;QAE5B,IAAI,IAAI,CAAC,cAAc,iBAAqB,EAAE;YAC5C,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;SACnC;QAED,IAAI,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YACtC,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;YAC3C,IAAI,CAAC,0BAA0B,GAAG,SAAS,CAAC;YAE5C,uFAAuF;YACvF,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;SAChC;QAED,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAM,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,wBAA6B;IAC/B,CAAC;IAsCD,gBAAgB;IACT,KAAK,CAAC,MAAM;QACjB,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAExC,IAAI,MAAM,kBAAuB;YAC/B,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAEnC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS;YACtC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAE3C,0BAA0B;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;YACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAExB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gBAAgB;IACT,kBAAkB;QACvB,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC7C,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;YAC5B,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;gBACpE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC;oBACvF,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aACpC;SACF;QACD,IAAI,CAAC,mBAAmB,GAAG,kBAAkB,CAAC;QAC9C,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,gBAAgB;IACT,mBAAmB;QACxB,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAuB,CAAC;QACxD,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YAC7B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;gBACvC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;gBAC9B,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE;oBACpE,uBAAuB;oBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;wBAC5B,SAAS;oBACX,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC/E,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC;wBAC/C,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;iBACrB;gBACD,uBAAuB;gBACvB,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC;oBAChB,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;aACzC;SACF;QACD,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAqDO,cAAc,CAAC,GAAY;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,GAAG;YACL,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,WAAW,CAAC,QAAmB;QACrC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;YAC1B,IAAI,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,CAAC,GAAG,EAAE;gBACR,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;aAChD;YACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SACvB;IACH,CAAC;IAEO,aAAa,CAAC,QAAmB;QACvC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;YAC1B,uBAAuB;YACvB,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACtD,uBAAuB;YACvB,IAAI,GAAG;gBACL,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC5B;IACH,CAAC;IAEO,6BAA6B,CAAC,QAAgB;QACpD,OAAO;YACL,SAAS,EAAE,GAAG,EAAE;gBACd,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrE,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,uBAAuB;gBACvB,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;oBAC3C,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACvC,IAAI,CAAC,IAAI,CAAC,oBAAoB;wBAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;iBACtB;YACH,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACb,uBAAuB;gBACvB,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;oBAC1C,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;oBAC1C,IAAI,CAAC,WAAW,EAAE,CAAC;iBACpB;YACH,CAAC;YACD,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC;YACxD,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ;SACrB,CAAC;IACJ,CAAC;IA0CO,8BAA8B,CAAC,OAAgB;QACrD,OAAO;YACL,SAAS,EAAE,GAAG,EAAE;gBACd,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;gBACb,IAAI,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;YACD,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YAC9C,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO;SACpB,CAAC;IACJ,CAAC;IA6GO,KAAK,CAAC,iBAAiB,CAAC,QAAkB,EAAE,MAA2B,EAAE,YAAoB;QACnG,IAAI,MAAM,CAAC,IAAI;YACb,OAAO,GAAG,EAAE,CAAC,oBAAC,oBAAoB,IAAC,QAAQ,EAAE,YAAY,GAAI,CAAC;QAEhE,OAAO,CAAC,KAA8B,EAAE,EAAE;;YAAC,OAAA,CACzC,oBAAC,gBAAgB,IACf,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,IAAI,CAAC,aAAa,EAChC,4BAA4B,EAAE,IAAI,CAAC,KAAK,CAAC,4BAA4B;oBACnE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,4BAA4B;oBACzC,CAAC,CAAC,4BAA4B,CAAC,cAAc,EAC/C,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAA,QAAQ,CAAC,gBAAgB,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GACzE,CACH,CAAA;SAAA,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,QAAkB;;QAClD,uBAAuB;QACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS;YACzF,OAAO,EAAE,CAAC;QAEZ,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QAE1C,IAAI,KAAK,KAAK,SAAS;YACrB,OAAO,EAAE,CAAC;QAEZ,MAAM,YAAY,GAAG,MAAM,oBAAoB;aAC5C,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAA,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,0CAAE,IAAI,CAAC;aACzF,uBAAuB,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAE5D,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,0BAA0B,CAAC,EAAE,CAAC;IACrE,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,IAAa,EAAE,KAAa;QAC9D,MAAM,SAAS,GAAiC,EAAE,CAAC;QACnD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YACrD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC9D,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG;gBACtB,IAAI,EAAE,QAAQ;gBACd,YAAY;gBACZ,MAAM,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,mBAAmB,EAAE,YAAY,CAAC;aACzF,CAAC;SACH;QACD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnG,OAAO;YACL,IAAI;YACJ,KAAK;YACL,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,QAAQ;SAChB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,UAAkB,EAAE,QAAgB;QACzD,MAAM,MAAM,GAAmB;YAC7B,IAAI,EAAE,EAAE;YACR,kBAAkB,EAAE,EAAE;YACtB,gBAAgB,EAAE,EAAE;SACrB,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,sBAAsB,GAAe,IAAI,CAAC,YAAY,CAAC;QAE7D,MAAM,QAAQ,GAAG,IAAI,KAAK,EAAqB,CAAC;QAChD,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,QAAQ,EAAE,EAAE,CAAC,EAAE;YAC1C,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CACvD,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CACtE,CAAC,CAAC;SACN;QAED,IAAI;YACF,MAAM,CAAC,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC3C;QAAC,MAAM,GAAG;QAEX,uBAAuB;QACvB,sEAAsE;QACtE,IAAI,sBAAsB,KAAK,IAAI,CAAC,YAAY,EAAE;YAChD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE;gBAClC,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACrE,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAEjD,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;oBAC7B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;wBACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;wBAC9D,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;4BACrD,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;qBACrF;iBACF;aACF;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAwBO,qBAAqB,CAAC,SAAiB;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAmB,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;IACzF,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,aAA4B;QACzE,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QAC1D,uBAAuB;QACvB,IAAI,WAAW,GAAG,CAAC;YACjB,OAAO;QAET,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QAE/D,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU;YAClB,OAAO;QAET,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,8DAA8D;IACnF,CAAC;IAEO,cAAc,CAAC,QAAkB,EAAE,UAAmB;;QAC5D,MAAM,KAAK,GAA6C,EAAE,CAAC;QAC3D,IAAI,WAAW,GAAkB,EAAE,CAAC;QACpC,IAAI,kBAAkB,GAAG,CAAC,CAAC;QAE3B,uBAAuB;QACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAK,IAAI,CAAC,QAAQ,CAAC,OAAe,CAAC,kBAAkB;YAC5E,WAAW,GAAI,IAAI,CAAC,QAAQ,CAAC,OAAe,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QAE/G,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEzC,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,SAAS,EAAE;gBACd,SAAS;aACV;YACD,gEAAgE;YAChE,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC;YACrC,MAAM,YAAY,GAChB,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM;mBAC9B,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK;mBACtD,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,QAAQ,KAAK,KAAK;mBAC7C,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;YAE3B,IAAI,OAAoD,CAAC;YACzD,IAAI,WAAwD,CAAC;YAC7D,IAAI,WAAwD,CAAC;YAC7D,IAAI,SAA6B,CAAC;YAElC,MAAM,OAAO,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;YACpE,IAAI,IAAI,CAAC,qBAAqB,KAAK,oBAAoB,CAAC,IAAI,EAAE;gBAC5D,MAAM,gBAAgB,GAAG,IAAI,CAAC,8BAA8B,CAAC,OAAO,CAAC,CAAC;gBACtE,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,IAAI,CAAC,8BAA8B,EAAE,gBAAgB,CAAC,CAAC;gBACpI,OAAO,GAAG,CAAC,CAAmB,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;gBAC5E,WAAW,GAAG,CAAC,CAAmB,EAAE,EAAE;oBACpC,uBAAuB;oBACvB,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC;wBACjB,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACzD,CAAC,CAAC;gBACF,WAAW,GAAG,GAAG,EAAE;oBACjB,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,IAAI,CAAC,8BAA8B,EAAE,IAAI,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;gBAC5H,CAAC,CAAC;gBACF,SAAS,GAAG,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACzE;iBAAM;gBACL,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAC9C,SAAS,GAAG,UAAU,CAAC,EAAE,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;aACvG;YAED,SAAS,GAAG,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;YACpE,MAAM,wBAAwB,GAAG,CAAC,MAAA,SAAS,CAAC,IAAI,CAAC,gBAAgB,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAC5E,IAAI,SAAS,GAAG,CAAC,CAAC;YAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,wBAAwB,EAAE,CAAC,EAAE,EAAE;gBAClD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC1C,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;oBACpD,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC;oBAC/D,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAClF,SAAS,IAAI,eAAe,CAAC;iBAC9B;qBAAM;oBACL,kBAAkB,EAAE,CAAC;iBACtB;gBAED,IAAI,CAAC,GAAG,CAAC,EAAE;oBACT,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CACf,oBAAC,SAAS,IACR,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,EACjD,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,GAEd,CACb,CAAC;iBACH;gBACD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;gBACnD,MAAM,YAAY,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,GAAG,EAAE,CAAC;gBAC/E,SAAS,GAAG,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;aAChF;YACD,KAAK,IAAI,wBAAwB,CAAC;YAElC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAClB,oBAAC,SAAS,IACR,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,SAAS,CAAC,YAAY,EAC7B,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;oBAC/B,QAAQ,EAAE,IAAI,CAAC,qBAAqB;oBACpC,QAAQ,EAAE,IAAI,CAAC,aAAa;oBAC5B,cAAc,EAAE,SAAS,CAAC,IAAI,CAAC,MAAO;oBACtC,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC,CAAC,SAAS,EACb,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,wBAAwB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE;gBAExE,oBAAC,WAAW,IAAC,UAAU,EAAE,UAAU,GAAI,CAC7B,CACb,CAAC;SACH;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,kBAAkB,CAAC,GAAY;QACrC,MAAM,cAAc,GAAG,CAAC,OAAgB,EAAW,EAAE;YACnD,IAAI,IAAI,CAAC,qBAAqB,KAAK,oBAAoB,CAAC,GAAG,EAAE;gBAC3D,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;aACvD;YAED,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;QAE3F,MAAM,kBAAkB,GAAG,GAAY,EAAE;YACvC,IAAI,GAAG,CAAC,QAAQ,KAAK,CAAC,EAAE;gBACtB,OAAO,cAAc,CAAC;aACvB;YAED,IAAI,cAAc,EAAE;gBAClB,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;aAClF;YAED,wEAAwE;YACxE,wDAAwD;YACxD,OAAO,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QAClF,CAAC,CAAC;QAEF,MAAM,oBAAoB,GAAG,GAAY,EAAE;YACzC,IAAI,CAAC,cAAc,EAAE;gBACnB,OAAO,KAAK,CAAC;aACd;YAED,IAAI,WAAW,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjD,OAAO,IAAI,CAAC;aACb;YAED,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACzG,CAAC,CAAC;QAEF,MAAM,qBAAqB,GAAG,GAAY,EAAE;YAC1C,OAAO,cAAc,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;QACrE,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,GAAY,EAAE;YACxC,IAAI,CAAC,cAAc,EAAE;gBACnB,OAAO,KAAK,CAAC;aACd;YAED,IAAI,WAAW,KAAK,CAAC,EAAE;gBACrB,OAAO,IAAI,CAAC;aACb;YAED,OAAO,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACzG,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC;YAChB,YAAY,EAAE,kBAAkB,EAAE;YAClC,cAAc,EAAE,oBAAoB,EAAE;YACtC,eAAe,EAAE,qBAAqB,EAAE;YACxC,aAAa,EAAE,mBAAmB,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;IAsEO,eAAe,CAAC,MAA2B,EAAE,GAA8B,EAAE,IAAkC;QACrH,wDAAwD;QACxD,uBAAuB;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YAC7E,uBAAuB;YACvB,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS;gBACtE,OAAO;SACV;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,qBAAqB,KAAK,MAAM,CAAC,GAAG;YACjD,IAAI,CAAC,QAAQ,CAAC,EAAE,qBAAqB,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QAEvD,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,IAAI,IAAI,CAAC,oBAAoB;YAC3B,QAAQ,GAAG,IAAI,CAAC;QAElB,IAAI,QAAQ;YACV,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;YAE3D,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACjC,CAAC;IAEO,eAAe,CAAC,MAA2B,EAAE,CAA4B,EAAE,IAAkC;QACnH,uBAAuB;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE;YAChC,MAAM,eAAe,GAA6B;gBAChD,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,QAAQ,EAAE,IAAI,CAAC,GAAG;gBAClB,OAAO,EAAE,MAAM,CAAC,GAAG;gBACnB,KAAK,EAAE,CAAgC;aACxC,CAAC;YAEF,uBAAuB;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC9B,eAAe,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;YAE9F,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;SAC/C;IACH,CAAC;IAEO,kBAAkB,CAAC,QAAgB,EAAE,QAAgB,EAAE,OAAe;QAC5E,MAAM,eAAe,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QACtE,uBAAuB;QACvB,IAAI,eAAe,KAAK,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE;YAClD,IAAI,CAAC,QAAQ,CACX,EAAE,eAAe,EAAE,EACnB,GAAG,EAAE;gBACH,uBAAuB;gBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB;oBAC9B,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAClD,CAAC,CACF,CAAC;SACH;IACH,CAAC;IAOD,gBAAgB;IACA,qBAAqB,CAAC,MAAkB;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAoEO,gBAAgB;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAwB,EAAE,EAAE,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACvF,CAAC;IAED,6BAA6B;IACrB,eAAe,CAAC,UAAmB;QACzC,uBAAuB;QACvB,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAc,CAAC;YAC1C,uBAAuB;YACvB,IAAI,IAAI,CAAC,cAAc,IAAI,UAAU,KAAK,IAAI,CAAC,eAAe,EAAE;gBAC9D,IAAI,CAAC,cAAc,EAAE,CAAC;gBAEtB,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC;aACnC;SACF;IACH,CAAC;IAED;;OAEG;IACH,IAAW,iBAAiB;QAC1B,IAAI,SAAS,KAAK,IAAI,CAAC,kBAAkB,EAAE;YACzC,IAAI,CAAC,kBAAkB,GAAG,IAAI,+BAA+B,EAAE,CAAC;YAChE,IAAI,CAAC,kBAAkB,CAAC,eAAe,GAAG,gCAAgC,CAAC,GAAG,CAAC;SAChF;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,uBAAuB;IAChB,iCAAiC,CAAC,QAAgB;QACvD,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,iCAAiC,KAAK,SAAS;YACzE,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAC;QAC7E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAsDD,uEAAuE;IAC/D,qBAAqB;QAC3B,MAAM,OAAO,GAAgB,QAAQ,CAAC,aAA4B,CAAC;QACnE,OAAO,OAAO;YACZ,CAAC,OAAO,YAAY,gBAAgB;gBAClC,OAAO,YAAY,iBAAiB;gBACpC,OAAO,YAAY,mBAAmB,CAAC,CAAC;IAC9C,CAAC;IAgJD,gBAAgB;IACA,MAAM;QACpB,MAAM,WAAW,GAAG,oBAAC,gBAAgB,IAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAI,CAAC;QAE9F,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACjD,MAAM,cAAc,GAAG,UAAU,CAC/B,kBAAkB,EAClB,6BAA6B,EAC7B,IAAI,CAAC,KAAK,CAAC,SAAS,EACpB;YACE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;YACpC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;YACtC,eAAe,EAAE,IAAI,CAAC,qBAAqB,KAAK,oBAAoB,CAAC,GAAG;YACxE,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,KAAK,oBAAoB,CAAC,IAAI;SAC3E,CACF,CAAC;QAEF,OAAO,CACL;YACE,6BAAK,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACrD,WAAW,EAAE,IAAI,CAAC,YAAY,EAC9B,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,SAAS,EACvF,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ,EACtB,IAAI,EAAC,cAAc;gBAElB,IAAI,CAAC,KAAK,CAAC,eAAe;oBACzB,oBAAC,YAAY,IACX,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,EACvG,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACxC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EACvC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAC9B,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,GAAI;gBAEpD,oBAAC,qBAAqB,IAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,EAC7D,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;wBAC5B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;wBAC1C,OAAO,CACL,oBAAC,aAAa,IACZ,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,IAAI,CAAC,UAAU,EAC1B,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,KAC3B,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;gCACnC,mBAAmB,EAAE,kBAAkB;gCACvC,YAAY,EAAE,IAAI,CAAC,aAAa;6BAC1B,CAAC,CAAC,CAAC,EAAE,CAAC,EACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,KAAK,EACf,eAAe,EAAE,gBAAgB,EACjC,SAAS,EAAE,gBAAgB,EAC3B,UAAU,EAAE,IAAI,CAAC,eAAe,EAChC,eAAe,EAAE,IAAI,EACrB,WAAW,EAAE,IAAI,CAAC,mBAAmB,EACrC,cAAc,EAAE,IAAI,CAAC,qBAAqB,EAC1C,mBAAmB,EAAE,uBAAuB,EAC5C,oBAAoB,EAAE,IAAI,CAAC,qBAAqB,EAChD,QAAQ,EAAE,IAAI,CAAC,SAAS,GACxB,CACH,CAAC;oBACJ,CAAC,GACD,CACE;YACN,6BAAK,GAAG,EAAE,IAAI,CAAC,SAAS,IACrB,IAAI,CAAC,KAAK,CAAC,MAAM;gBAChB,CAAC;oBACD,uBAAuB;oBACvB,oBAAC,MAAM,IACL,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,IAAI,CAAC,cAAc,EAC5B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAC9B,MAAM,EAAE,MAAM,IAEb,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CACnB;gBACT,CAAC,CAAC,SAAS,CAaT,CACL,CACJ,CAAC;IACJ,CAAC;CACF;AAWD;;;GAGG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK,CAAC,SAAwB;IAE1D,gBAAgB;IACA,MAAM;QACpB,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACnD,OAAO,CACL,oBAAC,aAAa,CAAC,GAAG,OAAK,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,GAAI,CACrE,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module Table\r\n */\r\n\r\nimport \"./Table.scss\";\r\nimport \"../columnfiltering/ColumnFiltering.scss\";\r\nimport classnames from \"classnames\";\r\nimport classnamesDedupe from \"classnames/dedupe\";\r\nimport { memoize } from \"lodash\";\r\nimport * as React from \"react\";\r\nimport ReactDataGrid from \"react-data-grid\";\r\nimport { DisposableList, Guid, GuidString } from \"@itwin/core-bentley\";\r\nimport { PropertyValueFormat } from \"@itwin/appui-abstract\";\r\nimport {\r\n CommonProps, Dialog, ElementResizeObserver, isNavigationKey, ItemKeyboardNavigator, LocalStateStorage, Orientation, SortDirection, Timer,\r\n UiStateStorage, UiStateStorageStatus,\r\n} from \"@itwin/core-react\";\r\nimport {\r\n MultiSelectionHandler, OnItemsDeselectedCallback, OnItemsSelectedCallback, SelectionHandler, SingleSelectionHandler,\r\n} from \"../../common/selection/SelectionHandler\";\r\nimport { SelectionMode } from \"../../common/selection/SelectionModes\";\r\nimport { ShowHideMenu } from \"../../common/showhide/ShowHideMenu\";\r\nimport { TypeConverterManager } from \"../../converters/TypeConverterManager\";\r\nimport { PropertyUpdatedArgs } from \"../../editors/EditorContainer\";\r\nimport { TableRowStyleProvider } from \"../../properties/ItemStyle\";\r\nimport { PropertyDialogState, PropertyValueRendererManager } from \"../../properties/ValueRendererManager\";\r\nimport { CompositeFilterDescriptorCollection, FilterCompositionLogicalOperator } from \"../columnfiltering/ColumnFiltering\";\r\nimport { MultiSelectFilter } from \"../columnfiltering/data-grid-addons/MultiSelectFilter\";\r\nimport { NumericFilter } from \"../columnfiltering/data-grid-addons/NumericFilter\";\r\nimport { SingleSelectFilter } from \"../columnfiltering/data-grid-addons/SingleSelectFilter\";\r\nimport { DataGridFilterParser, ReactDataGridFilter } from \"../columnfiltering/DataGridFilterParser\";\r\nimport { MultiValueFilter } from \"../columnfiltering/multi-value-filter/MultiValueFilter\";\r\nimport { TableFilterDescriptorCollection } from \"../columnfiltering/TableFilterDescriptorCollection\";\r\nimport { CellItem, ColumnDescription, FilterRenderer, RowItem, TableDataProvider } from \"../TableDataProvider\";\r\nimport { DragDropHeaderCell } from \"./DragDropHeaderCell\";\r\nimport { TableCell, TableCellContent, TableIconCellContent } from \"./TableCell\";\r\nimport { ReactDataGridColumn, TableColumn } from \"./TableColumn\";\r\n\r\n// cspell:ignore Overscan columnfiltering Dedupe popout\r\n\r\nconst TABLE_ROW_HEIGHT = 27;\r\nconst TABLE_FILTER_ROW_HEIGHT = 32;\r\n\r\n/**\r\n * Specifies table selection target.\r\n * @public @deprecated\r\n */\r\nexport enum TableSelectionTarget {\r\n Row,\r\n Cell,\r\n}\r\n\r\n/** Scroll Direction */\r\nenum SCROLL_DIRECTION {\r\n UP = \"upwards\",\r\n DOWN = \"downwards\",\r\n LEFT = \"left\",\r\n RIGHT = \"right\",\r\n NONE = \"none\",\r\n}\r\n\r\n/** Scroll State */\r\ninterface ScrollState {\r\n height: number;\r\n scrollTop: number;\r\n scrollLeft: number;\r\n rowVisibleStartIdx: number;\r\n rowVisibleEndIdx: number;\r\n rowOverscanStartIdx: number;\r\n rowOverscanEndIdx: number;\r\n colVisibleStartIdx: number;\r\n colVisibleEndIdx: number;\r\n colOverscanStartIdx: number;\r\n colOverscanEndIdx: number;\r\n scrollDirection: SCROLL_DIRECTION;\r\n lastFrozenColumnIndex: number;\r\n isScrolling: boolean;\r\n}\r\n\r\n/** Properties for the Table React component\r\n * @public @deprecated Use the Table component in @itwin/itwinui-react\r\n */\r\nexport interface TableProps extends CommonProps {\r\n /** Data provider for the Table */\r\n dataProvider: TableDataProvider;\r\n /** Amount of rows per page. The default is 100. */\r\n pageAmount?: number;\r\n\r\n /** Called when rows are loaded */\r\n onRowsLoaded?: (firstRowIndex: number, lastRowIndex: number) => void;\r\n\r\n /** Callback for determining if row is selected */\r\n isRowSelected?: (row: RowItem) => boolean;\r\n /** Callback for when rows are selected */\r\n onRowsSelected?: (rowIterator: AsyncIterableIterator<RowItem>, replace: boolean) => Promise<boolean>;\r\n /** Callback for when rows are deselected */\r\n onRowsDeselected?: (rowIterator: AsyncIterableIterator<RowItem>) => Promise<boolean>;\r\n\r\n /** Callback for determining if cell is selected */\r\n isCellSelected?: (rowIndex: number, cell: CellItem) => boolean;\r\n /** Callback for when cells are selected */\r\n onCellsSelected?: (cellIterator: AsyncIterableIterator<[RowItem, CellItem]>, replace: boolean) => Promise<boolean>;\r\n /** Callback for when cells are deselected */\r\n onCellsDeselected?: (cellIterator: AsyncIterableIterator<[RowItem, CellItem]>) => Promise<boolean>;\r\n\r\n /** Specifies the selection target. The default is Row. */\r\n tableSelectionTarget?: TableSelectionTarget;\r\n /** Specifies the selection mode. The default is Single. */\r\n selectionMode?: SelectionMode;\r\n\r\n /** Callback for when properties are being edited */\r\n onPropertyEditing?: (args: TableCellEditorState) => void;\r\n /** Callback for when properties are updated */\r\n onPropertyUpdated?: (propertyArgs: PropertyUpdatedArgs, cellArgs: TableCellUpdatedArgs) => Promise<boolean>;\r\n\r\n /** @internal */\r\n renderRow?: (item: RowItem, props: TableRowProps) => React.ReactNode;\r\n /** Enables context menu to show/hide columns */\r\n showHideColumns?: boolean;\r\n /** Indicates whether the Table columns are reorderable */\r\n reorderableColumns?: boolean;\r\n /** Optional parameter for persistent UI settings. Used for column reordering and show persistency. */\r\n settingsStorage?: UiStateStorage;\r\n /** Optional parameter for persistent UI settings. Used for column reordering and show persistency.\r\n * @deprecated use settingsStorage property */\r\n uiStateStorage?: UiStateStorage;\r\n /** Identifying string used for persistent state. */\r\n settingsIdentifier?: string;\r\n /** Custom property value renderer manager */\r\n propertyValueRendererManager?: PropertyValueRendererManager;\r\n /**\r\n * Gets called when rendering is finished. Should be used while testing to know when asynchronous rendering has finished.\r\n * @internal\r\n */\r\n onRender?: () => void;\r\n\r\n /** Hide the header */\r\n hideHeader?: boolean;\r\n /** Alternate the background of odd and even rows */\r\n stripedRows?: boolean;\r\n /** Specifies a row index to scroll to */\r\n scrollToRow?: number;\r\n /** @internal */\r\n onScrollToRow?: (rowIndex: number) => void;\r\n /** @internal */\r\n onApplyFilter?: () => void;\r\n\r\n /** Called to show a context menu when a cell is right-clicked. */\r\n onCellContextMenu?: (args: TableCellContextMenuArgs) => void;\r\n /** Maximum number of distinct values for filtering */\r\n maximumDistinctValues?: number;\r\n}\r\n\r\n/** Properties for a Table cell\r\n * @public @deprecated Use the Table component in @iTwin/@iTwinUI-react\r\n */\r\nexport interface CellProps {\r\n item: CellItem;\r\n displayValue: string;\r\n render: React.ComponentType<{ isSelected: boolean }>;\r\n}\r\n\r\n/** Properties for a Table row\r\n * @public @deprecated Use the Table component in @itwin/itwinui-react\r\n */\r\nexport interface RowProps {\r\n index: number;\r\n item: RowItem;\r\n cells: { [key: string]: CellProps };\r\n render?: () => React.ReactNode;\r\n style?: React.CSSProperties;\r\n}\r\n\r\ninterface RowsLoadResult {\r\n rows: RowProps[];\r\n selectedRowIndices: number[];\r\n selectedCellKeys: CellKey[];\r\n}\r\n\r\ninterface ReactDataGridColumnEventArgs {\r\n rowIdx: number;\r\n idx: number;\r\n name: string;\r\n}\r\n\r\n/** Cell/Property Editor state\r\n * @public @deprecated Use the Table component in @itwin/itwinui-react\r\n */\r\nexport interface TableCellEditorState {\r\n active: boolean;\r\n rowIndex?: number;\r\n colIndex?: number;\r\n cellKey?: string;\r\n}\r\n\r\n/** Cell/Property Updated Args\r\n * @public @deprecated Use the Table component in @iTwin/@iTwinUI-react\r\n */\r\nexport interface TableCellUpdatedArgs {\r\n rowIndex: number;\r\n colIndex: number;\r\n cellKey: string;\r\n}\r\n\r\n/** Arguments for `TableProps.onCellContextMenu` callback\r\n * @public @deprecated Use the Table component in @itwin/itwinui-react\r\n */\r\nexport interface TableCellContextMenuArgs {\r\n /** Index of the row clicked */\r\n rowIndex: number;\r\n /** Index of the column clicked */\r\n colIndex: number;\r\n /** Key of the cell clicked */\r\n cellKey: string;\r\n /** An event which caused the context menu callback */\r\n event: React.MouseEvent;\r\n /** CellItem of the cell clicked */\r\n cellItem?: CellItem;\r\n}\r\n\r\n/** @internal */\r\ninterface TableState {\r\n columns: TableColumn[];\r\n hiddenColumns: string[];\r\n rows: RowProps[];\r\n rowsCount: number;\r\n menuVisible: boolean;\r\n menuX: number;\r\n menuY: number;\r\n cellEditorState: TableCellEditorState;\r\n dialog?: PropertyDialogState;\r\n keyboardEditorCellKey?: string;\r\n // TODO: Enable, when table gets refactored\r\n // popup?: PropertyPopupState;\r\n gridContainer: HTMLDivElement | null;\r\n}\r\n\r\nconst initialState: TableState = {\r\n columns: [],\r\n hiddenColumns: [],\r\n rows: [],\r\n rowsCount: 0,\r\n cellEditorState: { active: false },\r\n menuVisible: false,\r\n menuX: 0,\r\n menuY: 0,\r\n gridContainer: null,\r\n};\r\n\r\ninterface CellKey {\r\n rowIndex: number;\r\n columnKey: string;\r\n}\r\n\r\n/** TableRowRenderer props. */\r\ninterface TableRowRendererProps {\r\n rowRendererCreator: () => any;\r\n}\r\n\r\n/** ReactDataGrid requires a class component for the RowRenderer because it sets a ref to it. */\r\nclass TableRowRenderer extends React.Component<TableRowRendererProps> {\r\n public override render() {\r\n const creatorFn = this.props.rowRendererCreator();\r\n return creatorFn(this.props);\r\n }\r\n}\r\n\r\nconst enum TableUpdate { // eslint-disable-line no-restricted-syntax\r\n None = 0,\r\n Rows = 1,\r\n Complete = 2,\r\n}\r\n\r\nconst enum UpdateStatus { // eslint-disable-line no-restricted-syntax\r\n Continue,\r\n Abort,\r\n}\r\n\r\n/**\r\n * Table React component that displays rows and columns in a grid along with a header\r\n * @public @deprecated Use the Table component in @iTwin/@iTwinUI-react\r\n */\r\nexport class Table extends React.Component<TableProps, TableState> {\r\n private _pageAmount = 100;\r\n private _disposableListeners = new DisposableList();\r\n private _isMounted = false;\r\n private _currentUpdate = TableUpdate.None;\r\n private _pendingUpdate = TableUpdate.None;\r\n private _rowLoadGuid = Guid.createValue();\r\n private _rowSelectionHandler: SelectionHandler<number>;\r\n private _cellSelectionHandler: SelectionHandler<CellKey>;\r\n private _selectedRowIndices: Set<number> = new Set<number>();\r\n private _selectedCellKeys: Map<string, Set<number>> = new Map<string, Set<number>>(); // column keys -> rowIndices\r\n private _rowItemSelectionHandlers?: Array<SingleSelectionHandler<number>>;\r\n private _cellItemSelectionHandlers?: Array<Array<SingleSelectionHandler<CellKey>>>;\r\n private _pressedItemSelected: boolean = false;\r\n private _tableRef = React.createRef<HTMLDivElement>();\r\n private _gridRef = React.createRef<ReactDataGrid<any>>();\r\n private _gridContainerRef = React.createRef<HTMLDivElement>();\r\n private _filterDescriptors?: TableFilterDescriptorCollection;\r\n private _filterRowShown = false;\r\n private _topRowIndex = 0;\r\n private _pokeScrollTimer = new Timer(100);\r\n\r\n /** @internal */\r\n public override readonly state = initialState;\r\n\r\n /** @internal */\r\n constructor(props: TableProps) {\r\n super(props);\r\n\r\n if (props.pageAmount)\r\n this._pageAmount = props.pageAmount;\r\n\r\n this._disposableListeners.add(props.dataProvider.onColumnsChanged.addListener(this._onColumnsChanged));\r\n this._disposableListeners.add(props.dataProvider.onRowsChanged.addListener(this._onRowsChanged));\r\n this._rowSelectionHandler = new SelectionHandler(props.selectionMode ? props.selectionMode : SelectionMode.Single);\r\n this._cellSelectionHandler = new SelectionHandler(props.selectionMode ? props.selectionMode : SelectionMode.Single);\r\n this._rowSelectionHandler.onItemsSelectedCallback = this._onRowsSelected;\r\n this._rowSelectionHandler.onItemsDeselectedCallback = this._onRowsDeselected;\r\n this._cellSelectionHandler.onItemsSelectedCallback = this._onCellsSelected;\r\n this._cellSelectionHandler.onItemsDeselectedCallback = this._onCellsDeselected;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private get rowItemSelectionHandlers(): Array<SingleSelectionHandler<number>> {\r\n // istanbul ignore else\r\n if (!this._rowItemSelectionHandlers) {\r\n this._rowItemSelectionHandlers = [];\r\n for (let i = 0; i < this.state.rowsCount; i++)\r\n this._rowItemSelectionHandlers.push(this.createRowItemSelectionHandler(i));\r\n }\r\n return this._rowItemSelectionHandlers;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private get cellItemSelectionHandlers(): Array<Array<SingleSelectionHandler<CellKey>>> {\r\n // istanbul ignore else\r\n if (!this._cellItemSelectionHandlers) {\r\n this._cellItemSelectionHandlers = [];\r\n for (let rowIndex = 0; rowIndex < this.state.rowsCount; rowIndex++) {\r\n this._cellItemSelectionHandlers[rowIndex] = [];\r\n for (const column of this.state.columns) {\r\n this._cellItemSelectionHandlers[rowIndex].push(this.createCellItemSelectionHandler({ rowIndex, columnKey: column.key }));\r\n }\r\n }\r\n }\r\n return this._cellItemSelectionHandlers;\r\n }\r\n\r\n private async * createRowIterator(rowIndices: number[]): AsyncIterableIterator<RowItem> {\r\n for (const index of rowIndices)\r\n yield await this.props.dataProvider.getRow(index);\r\n }\r\n\r\n private async * createCellIterator(cellKeys: CellKey[]): AsyncIterableIterator<[RowItem, CellItem]> {\r\n for (const key of cellKeys) {\r\n const row = await this.props.dataProvider.getRow(key.rowIndex);\r\n yield [row, this._getCellItem(row, key.columnKey)];\r\n }\r\n }\r\n\r\n private _onRowsSelected: OnItemsSelectedCallback<number> = (rowIndices: number[], replace: boolean) => {\r\n if (this.props.onRowsSelected)\r\n this.props.onRowsSelected(this.createRowIterator(rowIndices), replace); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n private _onRowsDeselected: OnItemsDeselectedCallback<number> = (rowIndices: number[]) => {\r\n if (this.props.onRowsDeselected)\r\n this.props.onRowsDeselected(this.createRowIterator(rowIndices)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n private _onCellsSelected: OnItemsSelectedCallback<CellKey> = (cellKeys: CellKey[], replace: boolean) => {\r\n if (this.props.onCellsSelected)\r\n this.props.onCellsSelected(this.createCellIterator(cellKeys), replace); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n private _onCellsDeselected: OnItemsDeselectedCallback<CellKey> = (cellKeys: CellKey[]) => {\r\n if (this.props.onCellsDeselected)\r\n this.props.onCellsDeselected(this.createCellIterator(cellKeys)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n private get _tableSelectionTarget(): TableSelectionTarget {\r\n return this.props.tableSelectionTarget ? this.props.tableSelectionTarget : TableSelectionTarget.Row;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(previousProps: TableProps, previousState: TableState) {\r\n this._rowSelectionHandler.selectionMode = this.props.selectionMode ? this.props.selectionMode : SelectionMode.Single;\r\n this._cellSelectionHandler.selectionMode = this.props.selectionMode ? this.props.selectionMode : SelectionMode.Single;\r\n\r\n if (previousProps.dataProvider !== this.props.dataProvider) {\r\n this._disposableListeners.dispose();\r\n this._disposableListeners.add(this.props.dataProvider.onColumnsChanged.addListener(this._onColumnsChanged));\r\n this._disposableListeners.add(this.props.dataProvider.onRowsChanged.addListener(this._onRowsChanged));\r\n }\r\n\r\n if (this.props.dataProvider !== previousProps.dataProvider) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.update();\r\n return;\r\n }\r\n\r\n // When hiddenColumns length is changed, we need to re-render component so that cell widths would be calculated appropriately.\r\n if (previousState.hiddenColumns.length !== this.state.hiddenColumns.length)\r\n this.forceUpdate();\r\n\r\n if (this.props.isCellSelected !== previousProps.isCellSelected\r\n || this.props.isRowSelected !== previousProps.isRowSelected\r\n || this.props.tableSelectionTarget !== previousProps.tableSelectionTarget) {\r\n this.updateSelectedRows();\r\n this.updateSelectedCells();\r\n }\r\n\r\n if (this.props.scrollToRow !== previousProps.scrollToRow) {\r\n // istanbul ignore else\r\n if (this.props.scrollToRow !== undefined)\r\n this.scrollToRow(this.props.scrollToRow);\r\n }\r\n\r\n /* istanbul ignore next */\r\n if (this.props.onRender)\r\n this.props.onRender();\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n let gridContainer: HTMLDivElement | null = null;\r\n\r\n this._isMounted = true;\r\n\r\n // The previously used ReactResizeDetector, which does not work in popout/child windows, used deprecated React.findDomNode\r\n // which is now deprecated so, so new ElementResizeObserver requires you to pass the element to observe. So get the\r\n // same HTMLDivElement from grid as was used previously by ReactResizeDetector.\r\n if (this._gridRef.current) {\r\n const grid = this._gridRef.current as any;\r\n gridContainer = grid.getDataGridDOMNode();\r\n }\r\n this.setState({ gridContainer }, () => {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.update();\r\n });\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n this._disposableListeners.dispose();\r\n this._unsetPokeScrollTimeout();\r\n }\r\n\r\n private scrollToRow(rowIndex: number) {\r\n // istanbul ignore else\r\n if (this._gridRef.current) {\r\n const grid = this._gridRef.current as any;\r\n // istanbul ignore else\r\n if (grid.getRowOffsetHeight && grid.getDataGridDOMNode) {\r\n const top = TABLE_ROW_HEIGHT * rowIndex;\r\n const gridCanvas = grid.getDataGridDOMNode().querySelector(\".react-grid-Canvas\");\r\n gridCanvas.scrollTop = top;\r\n this._topRowIndex = rowIndex;\r\n\r\n // istanbul ignore else\r\n if (this.props.onScrollToRow)\r\n this.props.onScrollToRow(rowIndex);\r\n }\r\n }\r\n }\r\n\r\n private setFocusToSelected() {\r\n // istanbul ignore next\r\n if (this._gridRef.current) {\r\n const grid = this._gridRef.current as any;\r\n // istanbul ignore else\r\n if (grid.getDataGridDOMNode) {\r\n const gridSelected = grid.getDataGridDOMNode().querySelector(\".rdg-selected\");\r\n // istanbul ignore else\r\n if (gridSelected) {\r\n gridSelected.focus();\r\n }\r\n }\r\n }\r\n }\r\n\r\n private async handlePendingUpdate(): Promise<UpdateStatus> {\r\n const update = this._pendingUpdate;\r\n this._pendingUpdate = TableUpdate.None;\r\n\r\n let status = UpdateStatus.Continue;\r\n if (update === TableUpdate.Complete)\r\n status = await this.updateColumns();\r\n // istanbul ignore else\r\n if (status === UpdateStatus.Continue && update > TableUpdate.None)\r\n status = await this.updateRows();\r\n return status;\r\n }\r\n\r\n private async updateColumns(): Promise<UpdateStatus> {\r\n if (this._currentUpdate !== TableUpdate.None) {\r\n this._pendingUpdate = TableUpdate.Complete;\r\n return UpdateStatus.Abort;\r\n }\r\n\r\n this._currentUpdate = TableUpdate.Complete;\r\n const columnDescriptions = await this.props.dataProvider.getColumns();\r\n this._currentUpdate = TableUpdate.None;\r\n\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return UpdateStatus.Abort;\r\n\r\n if (this._pendingUpdate === TableUpdate.Complete) {\r\n await this.handlePendingUpdate();\r\n return UpdateStatus.Abort;\r\n }\r\n\r\n let dataGridColumns = columnDescriptions.map(this._columnDescriptionToReactDataGridColumn);\r\n if (this.props.settingsIdentifier) {\r\n const stateStorage: UiStateStorage = this.props.settingsStorage || /* istanbul ignore next */ this.props.uiStateStorage || /* istanbul ignore next */ new LocalStateStorage();\r\n const reorderResult = await stateStorage.getSetting(this.props.settingsIdentifier, \"ColumnReorder\");\r\n // istanbul ignore next\r\n if (reorderResult.status === UiStateStorageStatus.Success) {\r\n const setting = reorderResult.setting as string[];\r\n // map columns according to the keys in columns, in the order of the loaded array of keys\r\n dataGridColumns = setting.map((key) => dataGridColumns.filter((col) => col.key === key)[0]);\r\n } else if (reorderResult.status === UiStateStorageStatus.NotFound) {\r\n const keys = columnDescriptions.map((col) => col.key);\r\n await stateStorage.saveSetting(this.props.settingsIdentifier, \"ColumnReorder\", keys);\r\n }\r\n const showhideResult = await stateStorage.getSetting(this.props.settingsIdentifier, \"ColumnShowHideHiddenColumns\");\r\n // istanbul ignore next\r\n if (showhideResult.status === UiStateStorageStatus.Success) {\r\n const hiddenColumns = showhideResult.setting as string[];\r\n this.setState({ hiddenColumns });\r\n }\r\n }\r\n\r\n let keyboardEditorCellKey: string | undefined;\r\n const tableColumns = dataGridColumns.map((dataGridColumn: ReactDataGridColumn, index: number) => {\r\n const tableColumn = new TableColumn(this, columnDescriptions[index], dataGridColumn);\r\n tableColumn.dataProvider = this.props.dataProvider;\r\n if (!keyboardEditorCellKey && tableColumn.columnDescription.editable)\r\n keyboardEditorCellKey = tableColumn.key;\r\n if (tableColumn.filterable)\r\n dataGridColumn.filterableColumn = tableColumn;\r\n return tableColumn;\r\n });\r\n\r\n for (const tableColumn of tableColumns) {\r\n if (tableColumn.filterable)\r\n tableColumn.distinctValueCollection = await tableColumn.getDistinctValues(this.props.maximumDistinctValues);\r\n }\r\n\r\n this.setState({ columns: tableColumns, keyboardEditorCellKey });\r\n\r\n if (this._pendingUpdate !== TableUpdate.None) {\r\n return this.handlePendingUpdate();\r\n }\r\n return UpdateStatus.Continue;\r\n }\r\n\r\n private _onColumnsChanged = async () => {\r\n await this.updateColumns();\r\n\r\n this._cellItemSelectionHandlers = undefined;\r\n };\r\n\r\n private async updateRows(): Promise<UpdateStatus> {\r\n if (this._currentUpdate !== TableUpdate.None) {\r\n if (this._pendingUpdate === TableUpdate.None)\r\n this._pendingUpdate = TableUpdate.Rows;\r\n return UpdateStatus.Abort;\r\n }\r\n\r\n this._currentUpdate = TableUpdate.Rows;\r\n const rowsCount = await this.props.dataProvider.getRowsCount();\r\n this._currentUpdate = TableUpdate.None;\r\n\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return UpdateStatus.Abort;\r\n\r\n if (this._pendingUpdate !== TableUpdate.None) {\r\n return this.handlePendingUpdate();\r\n }\r\n\r\n if (rowsCount !== this.state.rowsCount) {\r\n this._rowItemSelectionHandlers = undefined;\r\n this._cellItemSelectionHandlers = undefined;\r\n\r\n // when updating the rows with new data from dataProvider clear out existing selections\r\n this._selectedRowIndices.clear();\r\n this._selectedCellKeys.clear();\r\n }\r\n\r\n this._rowGetterAsync.cache.clear!();\r\n this.setState({ rowsCount, rows: [] });\r\n return UpdateStatus.Continue;\r\n }\r\n\r\n // Workaround for react-data-grid bug that shows blank grid when updating after grid has been scrolled.\r\n // Force a re-render by scrolling up 1 then down 1\r\n private _pokeScrollAfterUpdate = () => {\r\n // istanbul ignore else\r\n if (this._gridRef.current && this._topRowIndex !== 0) {\r\n const grid = this._gridRef.current as any;\r\n // istanbul ignore else\r\n if (grid.getRowOffsetHeight && grid.getDataGridDOMNode) {\r\n const gridCanvas = grid.getDataGridDOMNode().querySelector(\".react-grid-Canvas\");\r\n\r\n // Scroll up 1\r\n let top = TABLE_ROW_HEIGHT * this._topRowIndex - 1;\r\n gridCanvas.scrollTop = top;\r\n\r\n // Scroll back down\r\n top = TABLE_ROW_HEIGHT * this._topRowIndex;\r\n gridCanvas.scrollTop = top;\r\n }\r\n }\r\n };\r\n\r\n private _queuePokeScroll = () => {\r\n this._unsetPokeScrollTimeout();\r\n this._pokeScrollTimer.setOnExecute(() => { this._pokeScrollAfterUpdate(); });\r\n this._pokeScrollTimer.start();\r\n };\r\n\r\n private _unsetPokeScrollTimeout = (): void => {\r\n this._pokeScrollTimer.stop();\r\n };\r\n\r\n private _onRowsChanged = async () => {\r\n await this.updateRows();\r\n this._queuePokeScroll();\r\n };\r\n\r\n /** @internal */\r\n public async update(): Promise<UpdateStatus> {\r\n let status = await this.updateColumns();\r\n\r\n if (status !== UpdateStatus.Abort)\r\n status = await this.updateRows();\r\n\r\n if (this.props.scrollToRow !== undefined)\r\n this.scrollToRow(this.props.scrollToRow);\r\n\r\n /* istanbul ignore next */\r\n if (this.props.onRender)\r\n this.props.onRender();\r\n\r\n return status;\r\n }\r\n\r\n /** @internal */\r\n public updateSelectedRows() {\r\n const selectedRowIndices = new Set<number>();\r\n if (this.props.isRowSelected) {\r\n for (let rowIndex = 0; rowIndex < this.state.rows.length; rowIndex++) {\r\n if (this.state.rows[rowIndex] && this.props.isRowSelected(this.state.rows[rowIndex].item))\r\n selectedRowIndices.add(rowIndex);\r\n }\r\n }\r\n this._selectedRowIndices = selectedRowIndices;\r\n this.forceUpdate();\r\n }\r\n\r\n /** @internal */\r\n public updateSelectedCells() {\r\n const selectedCellKeys = new Map<string, Set<number>>();\r\n if (this.props.isCellSelected) {\r\n for (const column of this.state.columns) {\r\n const set = new Set<number>();\r\n for (let rowIndex = 0; rowIndex < this.state.rows.length; rowIndex++) {\r\n // istanbul ignore next\r\n if (!this.state.rows[rowIndex])\r\n continue;\r\n const cellItem = this._getCellItem(this.state.rows[rowIndex].item, column.key);\r\n if (this.props.isCellSelected(rowIndex, cellItem))\r\n set.add(rowIndex);\r\n }\r\n // istanbul ignore else\r\n if (set.size !== 0)\r\n selectedCellKeys.set(column.key, set);\r\n }\r\n }\r\n this._selectedCellKeys = selectedCellKeys;\r\n this.forceUpdate();\r\n }\r\n\r\n private _columnDescriptionToReactDataGridColumn = (columnDescription: ColumnDescription): ReactDataGridColumn => {\r\n const isEditable = !!columnDescription.editable;\r\n\r\n const column: ReactDataGridColumn = {\r\n key: columnDescription.key,\r\n name: columnDescription.label,\r\n icon: columnDescription.icon,\r\n width: columnDescription.width,\r\n resizable: !!columnDescription.resizable,\r\n sortable: !!columnDescription.sortable,\r\n draggable: !!this.props.reorderableColumns,\r\n filterable: !!columnDescription.filterable,\r\n };\r\n\r\n column.events = {};\r\n\r\n if (this.props.onCellContextMenu) {\r\n column.events.onContextMenu = this.cellContextMenu.bind(this, column);\r\n }\r\n\r\n if (isEditable) {\r\n column.events.onClick = this.cellEditOnClick.bind(this, column);\r\n }\r\n\r\n if (columnDescription.filterRenderer !== undefined) {\r\n switch (columnDescription.filterRenderer) {\r\n case FilterRenderer.Numeric:\r\n column.filterRenderer = NumericFilter;\r\n break;\r\n case FilterRenderer.MultiSelect:\r\n column.filterRenderer = MultiSelectFilter;\r\n break;\r\n case FilterRenderer.MultiValue:\r\n column.filterRenderer = MultiValueFilter;\r\n break;\r\n case FilterRenderer.SingleSelect:\r\n column.filterRenderer = SingleSelectFilter;\r\n break;\r\n case FilterRenderer.Text:\r\n // column.filterRenderer is not set for the Text input filter\r\n break;\r\n }\r\n }\r\n\r\n return column;\r\n };\r\n\r\n private _getCellItem = (row: RowItem, columnKey: string): CellItem => {\r\n return row.cells.find((cell: CellItem) => cell.key === columnKey) || /* istanbul ignore next */ { key: columnKey };\r\n };\r\n\r\n private isCellSelected(key: CellKey) {\r\n const set = this._selectedCellKeys.get(key.columnKey);\r\n if (set)\r\n return set.has(key.rowIndex);\r\n return false;\r\n }\r\n\r\n private selectCells(cellKeys: CellKey[]) {\r\n for (const key of cellKeys) {\r\n let set = this._selectedCellKeys.get(key.columnKey);\r\n if (!set) {\r\n set = new Set();\r\n this._selectedCellKeys.set(key.columnKey, set);\r\n }\r\n set.add(key.rowIndex);\r\n }\r\n }\r\n\r\n private deselectCells(cellKeys: CellKey[]) {\r\n for (const key of cellKeys) {\r\n // istanbul ignore else\r\n const set = this._selectedCellKeys.get(key.columnKey);\r\n // istanbul ignore else\r\n if (set)\r\n set.delete(key.rowIndex);\r\n }\r\n }\r\n\r\n private createRowItemSelectionHandler(rowIndex: number): SingleSelectionHandler<number> {\r\n return {\r\n preselect: () => {\r\n this._pressedItemSelected = this._selectedRowIndices.has(rowIndex);\r\n },\r\n select: () => {\r\n // istanbul ignore else\r\n if (!this._selectedRowIndices.has(rowIndex)) {\r\n this._selectedRowIndices.add(rowIndex);\r\n if (!this._pressedItemSelected)\r\n this.forceUpdate();\r\n }\r\n },\r\n deselect: () => {\r\n // istanbul ignore else\r\n if (this._selectedRowIndices.has(rowIndex)) {\r\n this._selectedRowIndices.delete(rowIndex);\r\n this.forceUpdate();\r\n }\r\n },\r\n isSelected: () => this._selectedRowIndices.has(rowIndex),\r\n item: () => rowIndex,\r\n };\r\n }\r\n\r\n private _rowComponentSelectionHandler: MultiSelectionHandler<number> = {\r\n deselectAll: () => {\r\n this._selectedRowIndices = new Set<number>();\r\n if (!this._pressedItemSelected) {\r\n this._deactivateCellEditor();\r\n this.forceUpdate();\r\n }\r\n },\r\n selectBetween: (rowIndex1: number, rowIndex2: number) => {\r\n const selections = [];\r\n const lowerNumber = rowIndex1 < rowIndex2 ? rowIndex1 : rowIndex2;\r\n const higherNumber = rowIndex1 > rowIndex2 ? rowIndex1 : rowIndex2;\r\n for (let i = lowerNumber; i <= higherNumber; i++) {\r\n // istanbul ignore else\r\n if (!this._selectedRowIndices.has(i)) {\r\n selections.push(i);\r\n this._selectedRowIndices.add(i);\r\n }\r\n }\r\n\r\n this.forceUpdate();\r\n return selections;\r\n },\r\n updateSelection: (selections: number[], deselections: number[]): void => {\r\n for (const rowIndex of selections) {\r\n // istanbul ignore else\r\n if (!this._selectedRowIndices.has(rowIndex))\r\n this._selectedRowIndices.add(rowIndex);\r\n }\r\n\r\n for (const rowIndex of deselections) {\r\n // istanbul ignore else\r\n if (this._selectedRowIndices.has(rowIndex))\r\n this._selectedRowIndices.delete(rowIndex);\r\n }\r\n this.forceUpdate();\r\n },\r\n areEqual: (item1: number, item2: number) => item1 === item2,\r\n };\r\n\r\n private createCellItemSelectionHandler(cellKey: CellKey): SingleSelectionHandler<CellKey> {\r\n return {\r\n preselect: () => {\r\n this._pressedItemSelected = this.isCellSelected(cellKey);\r\n },\r\n select: () => {\r\n this.selectCells([cellKey]);\r\n this.forceUpdate();\r\n },\r\n deselect: () => {\r\n this.deselectCells([cellKey]);\r\n this.forceUpdate();\r\n },\r\n isSelected: () => this.isCellSelected(cellKey),\r\n item: () => cellKey,\r\n };\r\n }\r\n\r\n private _cellComponentSelectionHandler: MultiSelectionHandler<CellKey> = {\r\n deselectAll: () => {\r\n this._selectedCellKeys = new Map<string, Set<number>>();\r\n this.forceUpdate();\r\n },\r\n selectBetween: (item1: CellKey, item2: CellKey) => {\r\n const selections: CellKey[] = [];\r\n const lowerIndex = item1.rowIndex < item2.rowIndex ? item1.rowIndex : item2.rowIndex;\r\n const higherIndex = item1.rowIndex > item2.rowIndex ? item1.rowIndex : item2.rowIndex;\r\n let secondItem: CellKey;\r\n let firstItemFound = false;\r\n let secondItemFound = false;\r\n\r\n for (let rowIndex = lowerIndex; rowIndex <= higherIndex; rowIndex++) {\r\n for (const column of this.state.columns) {\r\n if (!firstItemFound) {\r\n if (rowIndex === item1.rowIndex && column.key === item1.columnKey) {\r\n firstItemFound = true;\r\n secondItem = item2;\r\n } else {\r\n // istanbul ignore else\r\n if (rowIndex === item2.rowIndex && column.key === item2.columnKey) {\r\n firstItemFound = true;\r\n secondItem = item1;\r\n } else\r\n continue;\r\n }\r\n }\r\n\r\n const cellKey = { rowIndex, columnKey: column.key };\r\n if (!this.isCellSelected(cellKey))\r\n selections.push(cellKey);\r\n\r\n if (rowIndex === secondItem!.rowIndex && column.key === secondItem!.columnKey) {\r\n secondItemFound = true;\r\n break;\r\n }\r\n }\r\n if (secondItemFound)\r\n break;\r\n }\r\n\r\n this.selectCells(selections);\r\n this.forceUpdate();\r\n return selections;\r\n },\r\n updateSelection: (selections: CellKey[], deselections: CellKey[]): void => {\r\n this.selectCells(selections);\r\n this.deselectCells(deselections);\r\n this.forceUpdate();\r\n },\r\n areEqual: (item1: CellKey, item2: CellKey) => item1.rowIndex === item2.rowIndex && item1.columnKey === item2.columnKey,\r\n };\r\n\r\n private _rowGetter = (i: number): RowProps => {\r\n if (this.state.rows[i])\r\n return this.state.rows[i];\r\n\r\n // get another page of rows\r\n // note: always start loading at the beginning of a page to avoid\r\n // requesting duplicate data (e.g. a page that starts at 0, at 1, at 2, ...)\r\n this._rowGetterAsync(i - (i % this._pageAmount)); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n\r\n // Return placeholder object\r\n return { item: { key: \"\", cells: [] }, index: i, cells: {} };\r\n };\r\n\r\n private _rowGetterAsync = memoize(async (index: number): Promise<void> => {\r\n // istanbul ignore next\r\n if (index < 0)\r\n return;\r\n\r\n // load up to `this._pageAmount` more rows\r\n const maxIndex = Math.min(this.state.rowsCount, index + this._pageAmount);\r\n const loadResult = await this.loadRows(index, maxIndex);\r\n\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n // istanbul ignore next\r\n if (this._pendingUpdate !== TableUpdate.None)\r\n return;\r\n\r\n const selectedRowIndices = this._selectedRowIndices;\r\n for (const rowIndex of loadResult.selectedRowIndices) {\r\n // istanbul ignore else\r\n if (!selectedRowIndices.has(rowIndex))\r\n selectedRowIndices.add(rowIndex);\r\n }\r\n this._selectedRowIndices = selectedRowIndices;\r\n\r\n this.selectCells(loadResult.selectedCellKeys);\r\n this.setState((prev) => {\r\n const rows = [...prev.rows];\r\n loadResult.rows.forEach((r, i) => { rows[index + i] = r; });\r\n return { rows };\r\n }, async () => {\r\n if (this.props.onRowsLoaded)\r\n this.props.onRowsLoaded(index, index + loadResult.rows.length - 1);\r\n\r\n const showFilter = this._isShowFilterRow();\r\n if (showFilter !== this._filterRowShown)\r\n this.toggleFilterRow(showFilter);\r\n });\r\n });\r\n\r\n private async renderCellContent(cellItem: CellItem, column: ReactDataGridColumn, displayValue: string): Promise<React.ComponentType<{ isSelected: boolean }>> {\r\n if (column.icon)\r\n return () => <TableIconCellContent iconName={displayValue} />;\r\n\r\n return (props: { isSelected: boolean }) => (\r\n <TableCellContent\r\n height={TABLE_ROW_HEIGHT}\r\n isSelected={props.isSelected}\r\n cellItem={cellItem}\r\n onDialogOpen={this._onDialogOpen}\r\n propertyValueRendererManager={this.props.propertyValueRendererManager\r\n ? this.props.propertyValueRendererManager\r\n : PropertyValueRendererManager.defaultManager}\r\n style={{ zIndex: ((cellItem.mergedCellsCount ?? 1) > 1) ? 1 : undefined }}\r\n />\r\n );\r\n }\r\n\r\n private async getCellDisplayValue(cellItem: CellItem): Promise<string> {\r\n // istanbul ignore next\r\n if (!cellItem.record || cellItem.record.value.valueFormat !== PropertyValueFormat.Primitive)\r\n return \"\";\r\n\r\n const value = cellItem.record.value.value;\r\n\r\n if (value === undefined)\r\n return \"\";\r\n\r\n const displayValue = await TypeConverterManager\r\n .getConverter(cellItem.record.property.typename, cellItem.record.property.converter?.name)\r\n .convertPropertyToString(cellItem.record.property, value);\r\n\r\n return displayValue ? displayValue : /* istanbul ignore next */ \"\";\r\n }\r\n\r\n private async createPropsForRowItem(item: RowItem, index: number): Promise<RowProps> {\r\n const cellProps: { [key: string]: CellProps } = {};\r\n for (const column of this.state.columns) {\r\n const cellItem = this._getCellItem(item, column.key);\r\n const displayValue = await this.getCellDisplayValue(cellItem);\r\n cellProps[column.key] = {\r\n item: cellItem,\r\n displayValue,\r\n render: await this.renderCellContent(cellItem, column.reactDataGridColumn, displayValue),\r\n };\r\n }\r\n const rowStyle = TableRowStyleProvider.createStyle(item.colorOverrides ? item.colorOverrides : {});\r\n return {\r\n item,\r\n index,\r\n cells: cellProps,\r\n render: undefined,\r\n style: rowStyle,\r\n };\r\n }\r\n\r\n private async loadRows(beginIndex: number, endIndex: number): Promise<RowsLoadResult> {\r\n const result: RowsLoadResult = {\r\n rows: [],\r\n selectedRowIndices: [],\r\n selectedCellKeys: [],\r\n };\r\n this._rowLoadGuid = Guid.createValue();\r\n const currentSelectedRowGuid: GuidString = this._rowLoadGuid;\r\n\r\n const promises = new Array<Promise<RowProps>>();\r\n for (let i = beginIndex; i < endIndex; ++i) {\r\n promises.push(\r\n this.props.dataProvider.getRow(i).then(async (rowData) =>\r\n this.createPropsForRowItem(rowData, i).then((rowProps) => (rowProps)),\r\n ));\r\n }\r\n\r\n try {\r\n result.rows = await Promise.all(promises);\r\n } catch { }\r\n\r\n // istanbul ignore else\r\n // Check if another loadRows got called while this one was still going\r\n if (currentSelectedRowGuid === this._rowLoadGuid) {\r\n for (const rowProps of result.rows) {\r\n if (this.props.isRowSelected && this.props.isRowSelected(rowProps.item))\r\n result.selectedRowIndices.push(rowProps.index);\r\n\r\n if (this.props.isCellSelected) {\r\n for (const column of this.state.columns) {\r\n const cellItem = this._getCellItem(rowProps.item, column.key);\r\n if (this.props.isCellSelected(rowProps.index, cellItem))\r\n result.selectedCellKeys.push({ rowIndex: rowProps.index, columnKey: column.key });\r\n }\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n private _handleGridSort = (columnKey: string, sortDirection: \"ASC\" | \"DESC\" | \"NONE\") => {\r\n let directionEnum: SortDirection;\r\n\r\n switch (sortDirection) {\r\n case \"ASC\":\r\n directionEnum = SortDirection.Ascending;\r\n break;\r\n case \"DESC\":\r\n directionEnum = SortDirection.Descending;\r\n break;\r\n case \"NONE\":\r\n default:\r\n directionEnum = SortDirection.NoSort;\r\n break;\r\n }\r\n\r\n // Sort the column\r\n this.gridSortAsync(columnKey, directionEnum); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n\r\n this._queuePokeScroll();\r\n };\r\n\r\n private getColumnIndexFromKey(columnKey: string): number {\r\n return this.state.columns.findIndex((column: TableColumn) => column.key === columnKey);\r\n }\r\n\r\n private async gridSortAsync(columnKey: string, directionEnum: SortDirection) {\r\n const columnIndex = this.getColumnIndexFromKey(columnKey);\r\n // istanbul ignore next\r\n if (columnIndex < 0)\r\n return;\r\n\r\n await this.props.dataProvider.sort(columnIndex, directionEnum);\r\n\r\n // istanbul ignore next\r\n if (!this._isMounted)\r\n return;\r\n\r\n this.updateRows(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n\r\n private createRowCells(rowProps: RowProps, isSelected: boolean): { [columnKey: string]: React.ReactNode } {\r\n const cells: { [columnKey: string]: React.ReactNode } = {};\r\n let gridColumns: HTMLElement[] = [];\r\n let foundHiddenColumns = 0;\r\n\r\n // istanbul ignore else\r\n if (this._gridRef.current && (this._gridRef.current as any).getDataGridDOMNode)\r\n gridColumns = (this._gridRef.current as any).getDataGridDOMNode().querySelectorAll(\".react-grid-HeaderCell\");\r\n\r\n for (let index = 0; index < this.state.columns.length; index++) {\r\n const column = this.state.columns[index];\r\n\r\n const cellProps = rowProps.cells[column.key];\r\n if (!cellProps) {\r\n continue;\r\n }\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n const CellContent = cellProps.render;\r\n const isEditorCell =\r\n this.state.cellEditorState.active\r\n && this.state.cellEditorState.rowIndex === rowProps.index\r\n && this.state.cellEditorState.colIndex === index\r\n && cellProps.item.record;\r\n\r\n let onClick: ((e: React.MouseEvent) => void) | undefined;\r\n let onMouseMove: ((e: React.MouseEvent) => void) | undefined;\r\n let onMouseDown: ((e: React.MouseEvent) => void) | undefined;\r\n let className: string | undefined;\r\n\r\n const cellKey = { rowIndex: rowProps.index, columnKey: column.key };\r\n if (this._tableSelectionTarget === TableSelectionTarget.Cell) {\r\n const selectionHandler = this.createCellItemSelectionHandler(cellKey);\r\n const selectionFunction = this._cellSelectionHandler.createSelectionFunction(this._cellComponentSelectionHandler, selectionHandler);\r\n onClick = (e: React.MouseEvent) => selectionFunction(e.shiftKey, e.ctrlKey);\r\n onMouseMove = (e: React.MouseEvent) => {\r\n // istanbul ignore else\r\n if (e.buttons === 1)\r\n this._cellSelectionHandler.updateDragAction(cellKey);\r\n };\r\n onMouseDown = () => {\r\n this._cellSelectionHandler.createDragAction(this._cellComponentSelectionHandler, this.cellItemSelectionHandlers, cellKey);\r\n };\r\n className = classnames({ \"is-selected\": this.isCellSelected(cellKey) });\r\n } else {\r\n if (this._selectedRowIndices.has(rowProps.index))\r\n className = classnames({ \"is-keyboard-editable\": this.state.keyboardEditorCellKey === column.key });\r\n }\r\n\r\n className = classnames(className, this.getCellBorderStyle(cellKey));\r\n const mergedAdjacentCellsCount = (cellProps.item.mergedCellsCount ?? 1) - 1;\r\n let cellWidth = 0;\r\n\r\n for (let i = 0; i <= mergedAdjacentCellsCount; i++) {\r\n const col = this.state.columns[index + i];\r\n if (this.state.hiddenColumns.indexOf(col.key) === -1) {\r\n const gridColumn = gridColumns[index + i - foundHiddenColumns];\r\n const gridColumnWidth = gridColumn ? gridColumn.getBoundingClientRect().width : 0;\r\n cellWidth += gridColumnWidth;\r\n } else {\r\n foundHiddenColumns++;\r\n }\r\n\r\n if (i > 0) {\r\n cells[col.key] = (\r\n <TableCell\r\n className={className.replace(\"border-bottom\", \"\")}\r\n title={\"empty-cell\"}\r\n onClick={onClick}\r\n onMouseMove={onMouseMove}\r\n onMouseDown={onMouseDown}\r\n >\r\n </TableCell>\r\n );\r\n }\r\n const mergedColumn = this.state.columns[index + i];\r\n const emptyCellKey = { rowIndex: rowProps.index, columnKey: mergedColumn.key };\r\n className = classnamesDedupe(className, this.getCellBorderStyle(emptyCellKey));\r\n }\r\n index += mergedAdjacentCellsCount;\r\n\r\n cells[column.key] = (\r\n <TableCell\r\n className={className}\r\n title={cellProps.displayValue}\r\n onClick={onClick}\r\n onMouseMove={onMouseMove}\r\n onMouseDown={onMouseDown}\r\n cellEditingProps={isEditorCell ? {\r\n onCancel: this._deactivateCellEditor,\r\n onCommit: this._onCellCommit,\r\n propertyRecord: cellProps.item.record!,\r\n setFocus: true,\r\n } : undefined}\r\n style={{ width: (mergedAdjacentCellsCount > 0) ? cellWidth : undefined }}\r\n >\r\n <CellContent isSelected={isSelected} />\r\n </TableCell>\r\n );\r\n }\r\n return cells;\r\n }\r\n\r\n private getCellBorderStyle(key: CellKey): string {\r\n const isCellSelected = (cellKey: CellKey): boolean => {\r\n if (this._tableSelectionTarget === TableSelectionTarget.Row) {\r\n return this._selectedRowIndices.has(cellKey.rowIndex);\r\n }\r\n\r\n return this.isCellSelected(cellKey);\r\n };\r\n\r\n const cellIsSelected = isCellSelected(key);\r\n const columnIndex = this.state.columns.findIndex((column) => key.columnKey === column.key);\r\n\r\n const isTopBorderVisible = (): boolean => {\r\n if (key.rowIndex === 0) {\r\n return cellIsSelected;\r\n }\r\n\r\n if (cellIsSelected) {\r\n return !isCellSelected({ rowIndex: key.rowIndex - 1, columnKey: key.columnKey });\r\n }\r\n\r\n // Bottom border is rendered by drawing the top border on the node below\r\n // Check if the node above needs its bottom border drawn\r\n return isCellSelected({ rowIndex: key.rowIndex - 1, columnKey: key.columnKey });\r\n };\r\n\r\n const isRightBorderVisible = (): boolean => {\r\n if (!cellIsSelected) {\r\n return false;\r\n }\r\n\r\n if (columnIndex === this.state.columns.length - 1) {\r\n return true;\r\n }\r\n\r\n return !isCellSelected({ rowIndex: key.rowIndex, columnKey: this.state.columns[columnIndex + 1].key });\r\n };\r\n\r\n const isBottomBorderVisible = (): boolean => {\r\n return cellIsSelected && key.rowIndex === this.state.rowsCount - 1;\r\n };\r\n\r\n const isLeftBorderVisible = (): boolean => {\r\n if (!cellIsSelected) {\r\n return false;\r\n }\r\n\r\n if (columnIndex === 0) {\r\n return true;\r\n }\r\n\r\n return !isCellSelected({ rowIndex: key.rowIndex, columnKey: this.state.columns[columnIndex - 1].key });\r\n };\r\n\r\n return classnames({\r\n \"border-top\": isTopBorderVisible(),\r\n \"border-right\": isRightBorderVisible(),\r\n \"border-bottom\": isBottomBorderVisible(),\r\n \"border-left\": isLeftBorderVisible(),\r\n });\r\n }\r\n\r\n private _createRowRenderer = () => {\r\n return (props: { row: RowProps, [k: string]: React.ReactNode }) => {\r\n // istanbul ignore next\r\n const renderRow = this.props.renderRow ? this.props.renderRow : this.renderRow;\r\n const { row: rowProps, ...reactDataGridRowProps } = props;\r\n if (this._tableSelectionTarget === TableSelectionTarget.Row) {\r\n const selectionFunction = this._rowSelectionHandler.createSelectionFunction(this._rowComponentSelectionHandler, this.createRowItemSelectionHandler(props.row.index));\r\n const onClick = (e: React.MouseEvent) => selectionFunction(e.shiftKey, e.ctrlKey);\r\n const onMouseDown = () => {\r\n this._rowSelectionHandler.createDragAction(this._rowComponentSelectionHandler, [this.rowItemSelectionHandlers], props.row.index);\r\n };\r\n const onMouseMove = (e: React.MouseEvent) => {\r\n // istanbul ignore else\r\n if (e.buttons === 1)\r\n this._rowSelectionHandler.updateDragAction(props.row.index);\r\n };\r\n const isSelected = this._selectedRowIndices.has(props.row.index);\r\n const cells = this.createRowCells(rowProps, isSelected);\r\n const row = renderRow(rowProps.item, { ...reactDataGridRowProps, cells, isSelected });\r\n return <div\r\n className={classnames(\"components-table-row\")}\r\n onClickCapture={onClick}\r\n onMouseMove={onMouseMove}\r\n onMouseDown={onMouseDown}\r\n style={props.row.style}\r\n role=\"presentation\">\r\n {row}\r\n </div>;\r\n } else {\r\n const cells = this.createRowCells(rowProps, false);\r\n return renderRow(rowProps.item, { ...reactDataGridRowProps, cells });\r\n }\r\n };\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private renderRow = (item: RowItem, props: TableRowProps): React.ReactNode => {\r\n return <TableRow key={item.key} {...props} />;\r\n };\r\n\r\n private _onMouseUp = () => {\r\n if (this._tableSelectionTarget === TableSelectionTarget.Row)\r\n this._rowSelectionHandler.completeDragAction();\r\n else\r\n this._cellSelectionHandler.completeDragAction();\r\n };\r\n\r\n private _onMouseDown = () => {\r\n document.addEventListener(\"mouseup\", this._onMouseUp, { capture: true, once: true });\r\n };\r\n\r\n private _onHeaderDrop = (source: string, target: string) => {\r\n const cols = [...this.state.columns];\r\n const columnSourceIndex = this.state.columns.findIndex((i) => i.key === source);\r\n const columnTargetIndex = this.state.columns.findIndex((i) => i.key === target);\r\n\r\n cols.splice(columnTargetIndex, 0, cols.splice(columnSourceIndex, 1)[0]);\r\n // istanbul ignore else\r\n if (this.props.settingsIdentifier) {\r\n const stateStorage: UiStateStorage = this.props.settingsStorage || /* istanbul ignore next */ new LocalStateStorage();\r\n const keys = cols.map((col) => col.key);\r\n stateStorage.saveSetting(this.props.settingsIdentifier, \"ColumnReorder\", keys); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n this.setState({ columns: [] }, () => { // fix react-data-grid update issues\r\n this.setState({ columns: cols });\r\n });\r\n };\r\n\r\n private cellEditOnClick(column: ReactDataGridColumn, _ev: React.SyntheticEvent<any>, args: ReactDataGridColumnEventArgs): void {\r\n // Prevent editing when property record is not primitive\r\n // istanbul ignore else\r\n if (this.state.rows[args.rowIdx]) {\r\n const record = this._getCellItem(this.state.rows[0].item, column.key).record;\r\n // istanbul ignore next\r\n if (record && record.value.valueFormat !== PropertyValueFormat.Primitive)\r\n return;\r\n }\r\n\r\n if (this.state.keyboardEditorCellKey !== column.key)\r\n this.setState({ keyboardEditorCellKey: column.key });\r\n\r\n let activate = false;\r\n\r\n if (this._pressedItemSelected)\r\n activate = true;\r\n\r\n if (activate)\r\n this.activateCellEditor(args.rowIdx, args.idx, column.key);\r\n else\r\n this._deactivateCellEditor();\r\n }\r\n\r\n private cellContextMenu(column: ReactDataGridColumn, e: React.SyntheticEvent<any>, args: ReactDataGridColumnEventArgs): void {\r\n // istanbul ignore else\r\n if (this.props.onCellContextMenu) {\r\n const contextMenuArgs: TableCellContextMenuArgs = {\r\n rowIndex: args.rowIdx,\r\n colIndex: args.idx,\r\n cellKey: column.key,\r\n event: e as unknown as React.MouseEvent,\r\n };\r\n\r\n // istanbul ignore else\r\n if (this.state.rows[args.rowIdx])\r\n contextMenuArgs.cellItem = this._getCellItem(this.state.rows[args.rowIdx].item, column.key);\r\n\r\n e.preventDefault();\r\n this.props.onCellContextMenu(contextMenuArgs);\r\n }\r\n }\r\n\r\n private activateCellEditor(rowIndex: number, colIndex: number, cellKey: string): void {\r\n const cellEditorState = { active: true, rowIndex, colIndex, cellKey };\r\n // istanbul ignore else\r\n if (cellEditorState !== this.state.cellEditorState) {\r\n this.setState(\r\n { cellEditorState },\r\n () => {\r\n // istanbul ignore else\r\n if (this.props.onPropertyEditing)\r\n this.props.onPropertyEditing(cellEditorState);\r\n },\r\n );\r\n }\r\n }\r\n\r\n private _deactivateCellEditor = (): void => {\r\n if (this.state.cellEditorState.active)\r\n this.setState({ cellEditorState: { active: false } }, () => setTimeout(() => this.setFocusToSelected()));\r\n };\r\n\r\n /** @internal */\r\n public override shouldComponentUpdate(_props: TableProps): boolean {\r\n return true;\r\n }\r\n\r\n private _onCellCommit = async (args: PropertyUpdatedArgs) => {\r\n // istanbul ignore else\r\n if (this.props.onPropertyUpdated) {\r\n const cellUpdatedArgs: TableCellUpdatedArgs = {\r\n rowIndex: this.state.cellEditorState.rowIndex!,\r\n colIndex: this.state.cellEditorState.colIndex!,\r\n cellKey: this.state.cellEditorState.cellKey!,\r\n };\r\n const allowed = await this.props.onPropertyUpdated(args, cellUpdatedArgs);\r\n // istanbul ignore else\r\n if (allowed && this.state.cellEditorState.rowIndex !== undefined && this.state.cellEditorState.rowIndex >= 0) {\r\n this._deactivateCellEditor();\r\n await this.updateRows();\r\n } else {\r\n this._deactivateCellEditor();\r\n }\r\n }\r\n };\r\n\r\n private _getVisibleColumns = (): ReactDataGridColumn[] => {\r\n return this.state.columns\r\n .filter((tableColumn: TableColumn) => this.state.hiddenColumns.indexOf(tableColumn.key) === -1)\r\n .map((tableColumn: TableColumn) => tableColumn.reactDataGridColumn);\r\n };\r\n\r\n private _handleShowHideContextMenu = (e: React.MouseEvent) => {\r\n const header = e.currentTarget.querySelector(\".react-grid-Header\");\r\n // istanbul ignore else\r\n if (header) {\r\n const headerRect = header.getBoundingClientRect();\r\n const offsetY = headerRect.top;\r\n const height = headerRect.height;\r\n const x = e.clientX, y = e.clientY;\r\n // istanbul ignore else\r\n if (y < offsetY + height) {\r\n e.preventDefault();\r\n this.setState({\r\n menuX: x, menuY: y,\r\n menuVisible: true,\r\n });\r\n }\r\n }\r\n };\r\n\r\n private _hideContextMenu = () => {\r\n // istanbul ignore else\r\n if (this.props.showHideColumns)\r\n this.setState({ menuVisible: false });\r\n };\r\n\r\n // istanbul ignore next\r\n private _handleShowHideChange = (cols: string[]) => {\r\n this.setState({ hiddenColumns: cols });\r\n if (this.props.settingsIdentifier) {\r\n const stateStorage: UiStateStorage = this.props.settingsStorage || new LocalStateStorage();\r\n stateStorage.saveSetting(this.props.settingsIdentifier, \"ColumnShowHideHiddenColumns\", cols); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n return true;\r\n };\r\n\r\n // istanbul ignore next\r\n private _onDialogOpen = (dialogState: PropertyDialogState) => this.setState({ dialog: dialogState });\r\n\r\n // istanbul ignore next\r\n private _onDialogClose = () => this.setState({ dialog: undefined });\r\n\r\n private _isShowFilterRow(): boolean {\r\n return this.state.columns.some((tableColumn: TableColumn) => tableColumn.filterable);\r\n }\r\n\r\n /** Turn on/off filter row */\r\n private toggleFilterRow(showFilter: boolean): void {\r\n // istanbul ignore else\r\n if (this._gridRef.current) {\r\n const grid = this._gridRef.current as any;\r\n // istanbul ignore else\r\n if (grid.onToggleFilter && showFilter !== this._filterRowShown) {\r\n grid.onToggleFilter();\r\n\r\n this._filterRowShown = showFilter;\r\n }\r\n }\r\n }\r\n\r\n /** Gets the filter descriptors for the table.\r\n * @internal\r\n */\r\n public get filterDescriptors(): CompositeFilterDescriptorCollection {\r\n if (undefined === this._filterDescriptors) {\r\n this._filterDescriptors = new TableFilterDescriptorCollection();\r\n this._filterDescriptors.logicalOperator = FilterCompositionLogicalOperator.And;\r\n }\r\n\r\n return this._filterDescriptors;\r\n }\r\n\r\n /** Gets ECExpression to get property display value.\r\n * @internal\r\n */\r\n // istanbul ignore next\r\n public getPropertyDisplayValueExpression(property: string): string {\r\n if (this.props.dataProvider.getPropertyDisplayValueExpression !== undefined)\r\n return this.props.dataProvider.getPropertyDisplayValueExpression(property);\r\n return property;\r\n }\r\n\r\n private _handleFilterChange = (filter: ReactDataGridFilter): void => {\r\n const columnKey = filter.column.key;\r\n const tableColumn = this.state.columns.find((column: TableColumn) => column.key === columnKey);\r\n\r\n // istanbul ignore else\r\n if (tableColumn) {\r\n setTimeout(async () => {\r\n await DataGridFilterParser.handleFilterChange(filter, tableColumn.columnFilterDescriptor, tableColumn.columnDescription, this._applyFilter);\r\n });\r\n }\r\n };\r\n\r\n // istanbul ignore next\r\n private _handleOnClearFilters = () => {\r\n this.filterDescriptors.clear();\r\n\r\n this._applyFilter(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n private _applyFilter = async (): Promise<void> => {\r\n // istanbul ignore else\r\n if (this.props.dataProvider.applyFilterDescriptors) {\r\n await this.props.dataProvider.applyFilterDescriptors(this.filterDescriptors);\r\n await this.updateRows();\r\n\r\n // istanbul ignore else\r\n if (this.props.onApplyFilter)\r\n this.props.onApplyFilter();\r\n }\r\n };\r\n\r\n // istanbul ignore next\r\n private _getValidFilterValues = (columnKey: string): any[] => {\r\n const tableColumn = this.state.columns.find((column: TableColumn) => column.reactDataGridColumn.key === columnKey);\r\n if (tableColumn && tableColumn.distinctValueCollection) {\r\n return tableColumn.distinctValueCollection.values;\r\n }\r\n return [];\r\n };\r\n\r\n // TODO: Enable, when table gets refactored. Explanation in ./../table/NonPrimitiveValueRenderer\r\n // private _onPopupShow = (popupState: PropertyPopupState) => this.setState({ popup: popupState });\r\n\r\n // private _onPopupHide = () => this.setState({ popup: undefined });\r\n\r\n // istanbul ignore next\r\n private _onScroll = (scrollData: ScrollState) => {\r\n this._topRowIndex = scrollData.rowVisibleStartIdx;\r\n if (this.props.onScrollToRow)\r\n this.props.onScrollToRow(scrollData.rowVisibleStartIdx);\r\n };\r\n\r\n /** Determines if focus is in an input element - for filter checking */\r\n private isFocusOnInputElement(): boolean {\r\n const element: HTMLElement = document.activeElement as HTMLElement;\r\n return element &&\r\n (element instanceof HTMLInputElement ||\r\n element instanceof HTMLSelectElement ||\r\n element instanceof HTMLTextAreaElement);\r\n }\r\n\r\n private _onKeyboardEvent = (e: React.KeyboardEvent, keyDown: boolean) => {\r\n if (isNavigationKey(e.key) && !this.state.cellEditorState.active && !this.isFocusOnInputElement()) {\r\n if (this._tableSelectionTarget === TableSelectionTarget.Row) {\r\n const handleKeyboardSelectItem = (index: number) => {\r\n const selectionFunction = this._rowSelectionHandler.createSelectionFunction(this._rowComponentSelectionHandler, this.createRowItemSelectionHandler(index));\r\n selectionFunction(e.shiftKey, e.ctrlKey);\r\n };\r\n\r\n const handleKeyboardActivateItem = (index: number) => {\r\n // istanbul ignore else\r\n if (this.state.keyboardEditorCellKey) {\r\n const columnIndex = this.getColumnIndexFromKey(this.state.keyboardEditorCellKey);\r\n // istanbul ignore else\r\n if (0 <= columnIndex && columnIndex < this.state.columns.length) {\r\n const columnDescription = this.state.columns[columnIndex].columnDescription;\r\n // istanbul ignore else\r\n if (columnDescription && columnDescription.editable)\r\n this.activateCellEditor(index, columnIndex, this.state.keyboardEditorCellKey);\r\n }\r\n\r\n }\r\n };\r\n\r\n const handleCrossAxisArrowKey = (forward: boolean) => {\r\n // istanbul ignore else\r\n if (this.state.keyboardEditorCellKey) {\r\n let newEditorCellKey: string | undefined;\r\n const columnIndex = this.getColumnIndexFromKey(this.state.keyboardEditorCellKey);\r\n\r\n // istanbul ignore else\r\n if (columnIndex >= 0) {\r\n let newColIndex = columnIndex;\r\n\r\n while (!newEditorCellKey) {\r\n if (forward)\r\n newColIndex++;\r\n else\r\n newColIndex--;\r\n\r\n if (newColIndex < 0)\r\n newColIndex = this.state.columns.length - 1;\r\n else if (newColIndex >= this.state.columns.length)\r\n newColIndex = 0;\r\n\r\n // istanbul ignore next\r\n if (newColIndex === columnIndex)\r\n break;\r\n\r\n const isEditable = this.state.columns[newColIndex].columnDescription.editable;\r\n if (isEditable)\r\n newEditorCellKey = this.state.columns[newColIndex].key;\r\n }\r\n\r\n // istanbul ignore else\r\n if (newEditorCellKey)\r\n this.setState({ keyboardEditorCellKey: newEditorCellKey });\r\n }\r\n }\r\n };\r\n\r\n const itemKeyboardNavigator = new ItemKeyboardNavigator(handleKeyboardSelectItem, handleKeyboardActivateItem);\r\n itemKeyboardNavigator.orientation = Orientation.Vertical;\r\n itemKeyboardNavigator.allowWrap = false;\r\n itemKeyboardNavigator.itemCount = this.state.rowsCount;\r\n itemKeyboardNavigator.crossAxisArrowKeyHandler = handleCrossAxisArrowKey;\r\n\r\n const processedRow = this._rowSelectionHandler.processedItem ? this._rowSelectionHandler.processedItem /* istanbul ignore next */ : 0;\r\n keyDown ?\r\n itemKeyboardNavigator.handleKeyDownEvent(e, processedRow) :\r\n itemKeyboardNavigator.handleKeyUpEvent(e, processedRow);\r\n } else {\r\n const handleKeyboardSelectItem = (index: number) => {\r\n const processedCell = this._cellSelectionHandler.processedItem;\r\n // istanbul ignore else\r\n if (processedCell) {\r\n const cellKey = { rowIndex: index, columnKey: processedCell.columnKey };\r\n const selectionHandler = this.createCellItemSelectionHandler(cellKey);\r\n const selectionFunction = this._cellSelectionHandler.createSelectionFunction(this._cellComponentSelectionHandler, selectionHandler);\r\n selectionFunction(e.shiftKey, e.ctrlKey);\r\n }\r\n };\r\n\r\n const handleKeyboardActivateItem = (index: number) => {\r\n const processedCell = this._cellSelectionHandler.processedItem;\r\n // istanbul ignore else\r\n if (processedCell) {\r\n const columnIndex = this.getColumnIndexFromKey(processedCell.columnKey);\r\n // istanbul ignore else\r\n if (0 <= columnIndex && columnIndex < this.state.columns.length) {\r\n const columnDescription = this.state.columns[columnIndex].columnDescription;\r\n // istanbul ignore else\r\n if (columnDescription && columnDescription.editable)\r\n this.activateCellEditor(index, columnIndex, processedCell.columnKey);\r\n }\r\n }\r\n };\r\n\r\n const handleCrossAxisArrowKey = (forward: boolean) => {\r\n const processedCell = this._cellSelectionHandler.processedItem;\r\n // istanbul ignore else\r\n if (processedCell) {\r\n const columnIndex = this.getColumnIndexFromKey(processedCell.columnKey);\r\n // istanbul ignore else\r\n if (columnIndex >= 0) {\r\n let newColIndex = columnIndex;\r\n\r\n if (forward)\r\n newColIndex++;\r\n else\r\n newColIndex--;\r\n\r\n if (newColIndex < 0)\r\n newColIndex = this.state.columns.length - 1;\r\n else if (newColIndex >= this.state.columns.length)\r\n newColIndex = 0;\r\n\r\n const columnKey = this.state.columns[newColIndex].key;\r\n const cellKey = { rowIndex: processedCell.rowIndex, columnKey };\r\n const selectionHandler = this.createCellItemSelectionHandler(cellKey);\r\n const selectionFunction = this._cellSelectionHandler.createSelectionFunction(this._cellComponentSelectionHandler, selectionHandler);\r\n selectionFunction(e.shiftKey, e.ctrlKey);\r\n }\r\n }\r\n };\r\n\r\n const itemKeyboardNavigator = new ItemKeyboardNavigator(handleKeyboardSelectItem, handleKeyboardActivateItem);\r\n itemKeyboardNavigator.orientation = Orientation.Vertical;\r\n itemKeyboardNavigator.allowWrap = false;\r\n itemKeyboardNavigator.itemCount = this.state.rowsCount;\r\n itemKeyboardNavigator.crossAxisArrowKeyHandler = handleCrossAxisArrowKey;\r\n\r\n const processedRow = this._cellSelectionHandler.processedItem ? this._cellSelectionHandler.processedItem.rowIndex : /* istanbul ignore next */ 0;\r\n keyDown ?\r\n itemKeyboardNavigator.handleKeyDownEvent(e, processedRow) :\r\n itemKeyboardNavigator.handleKeyUpEvent(e, processedRow);\r\n }\r\n }\r\n };\r\n\r\n private _onKeyDown = (e: React.KeyboardEvent) => this._onKeyboardEvent(e, true);\r\n private _onKeyUp = (e: React.KeyboardEvent) => this._onKeyboardEvent(e, false);\r\n\r\n /** @internal */\r\n public override render() {\r\n const rowRenderer = <TableRowRenderer rowRendererCreator={() => this._createRowRenderer()} />;\r\n\r\n const visibleColumns = this._getVisibleColumns();\r\n const tableClassName = classnames(\r\n \"components-table\",\r\n \"components-smallEditor-host\",\r\n this.props.className,\r\n {\r\n \"hide-header\": this.props.hideHeader,\r\n \"striped-rows\": this.props.stripedRows,\r\n \"row-selection\": this._tableSelectionTarget === TableSelectionTarget.Row,\r\n \"cell-selection\": this._tableSelectionTarget === TableSelectionTarget.Cell,\r\n },\r\n );\r\n\r\n return (\r\n <>\r\n <div className={tableClassName} style={this.props.style}\r\n onMouseDown={this._onMouseDown}\r\n onContextMenu={this.props.showHideColumns ? this._handleShowHideContextMenu : undefined}\r\n onKeyDown={this._onKeyDown}\r\n onKeyUp={this._onKeyUp}\r\n role=\"presentation\"\r\n >\r\n {this.props.showHideColumns &&\r\n <ShowHideMenu\r\n opened={this.state.menuVisible}\r\n items={this.state.columns.map((column) => ({ id: column.key, label: column.reactDataGridColumn.name }))}\r\n x={this.state.menuX} y={this.state.menuY}\r\n initialHidden={this.state.hiddenColumns}\r\n onClose={this._hideContextMenu}\r\n onShowHideChange={this._handleShowHideChange} />\r\n }\r\n <ElementResizeObserver watchedElement={this.state.gridContainer}\r\n render={({ width, height }) => {\r\n setTimeout(() => this._queuePokeScroll());\r\n return (\r\n <ReactDataGrid\r\n ref={this._gridRef}\r\n columns={visibleColumns}\r\n rowGetter={this._rowGetter}\r\n rowRenderer={rowRenderer}\r\n rowsCount={this.state.rowsCount}\r\n {...(this.props.reorderableColumns ? {\r\n draggableHeaderCell: DragDropHeaderCell,\r\n onHeaderDrop: this._onHeaderDrop,\r\n } as any : {})}\r\n minHeight={height}\r\n minWidth={width}\r\n headerRowHeight={TABLE_ROW_HEIGHT}\r\n rowHeight={TABLE_ROW_HEIGHT}\r\n onGridSort={this._handleGridSort}\r\n enableRowSelect={null} // Prevent deprecation warning\r\n onAddFilter={this._handleFilterChange}\r\n onClearFilters={this._handleOnClearFilters} // eslint-disable-line @typescript-eslint/unbound-method\r\n headerFiltersHeight={TABLE_FILTER_ROW_HEIGHT}\r\n getValidFilterValues={this._getValidFilterValues}\r\n onScroll={this._onScroll}\r\n />\r\n );\r\n }}\r\n />\r\n </div>\r\n <div ref={this._tableRef}>\r\n {this.state.dialog\r\n ?\r\n // istanbul ignore next\r\n <Dialog\r\n opened={true}\r\n onClose={this._onDialogClose}\r\n title={this.state.dialog.title}\r\n height={\"50vh\"}\r\n >\r\n {this.state.dialog.content}\r\n </Dialog>\r\n : undefined}\r\n {/* TODO: Enable, when table gets refactored. Explanation in ./../../properties/renderers/value/table/NonPrimitiveValueRenderer */}\r\n {/* {this.state.popup\r\n ?\r\n <Popup\r\n isShown={true}\r\n fixedPosition={this.state.popup.fixedPosition}\r\n position={Position.Top}\r\n >\r\n {this.state.popup.content}\r\n </Popup>\r\n :\r\n undefined} */}\r\n </div>\r\n </>\r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Props for the [[TableRow]] component\r\n * @internal\r\n */\r\nexport interface TableRowProps extends CommonProps {\r\n cells: { [key: string]: React.ReactNode };\r\n isSelected?: boolean;\r\n}\r\n\r\n/**\r\n * Default component for rendering a row for the Table\r\n * @internal\r\n */\r\nexport class TableRow extends React.Component<TableRowProps> {\r\n\r\n /** @internal */\r\n public override render() {\r\n const { cells, isSelected, ...props } = this.props;\r\n return (\r\n <ReactDataGrid.Row {...props} row={cells} isSelected={isSelected} />\r\n );\r\n }\r\n}\r\n"]}