@itwin/components-react 3.5.0-dev.19 → 3.5.0-dev.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/components-react/UiComponents.d.ts +35 -35
- package/lib/cjs/components-react/UiComponents.js +79 -79
- package/lib/cjs/components-react/UiComponents.js.map +1 -1
- package/lib/cjs/components-react/_target.scss +9 -9
- package/lib/cjs/components-react/breadcrumb/BeInspireTree.d.ts +262 -262
- package/lib/cjs/components-react/breadcrumb/BeInspireTree.js +901 -901
- package/lib/cjs/components-react/breadcrumb/BeInspireTree.js.map +1 -1
- package/lib/cjs/components-react/breadcrumb/Breadcrumb.d.ts +197 -197
- package/lib/cjs/components-react/breadcrumb/Breadcrumb.js +651 -651
- package/lib/cjs/components-react/breadcrumb/Breadcrumb.js.map +1 -1
- package/lib/cjs/components-react/breadcrumb/Breadcrumb.scss +196 -196
- package/lib/cjs/components-react/breadcrumb/BreadcrumbDetails.d.ts +65 -65
- package/lib/cjs/components-react/breadcrumb/BreadcrumbDetails.js +231 -231
- package/lib/cjs/components-react/breadcrumb/BreadcrumbDetails.js.map +1 -1
- package/lib/cjs/components-react/breadcrumb/BreadcrumbPath.d.ts +35 -35
- package/lib/cjs/components-react/breadcrumb/BreadcrumbPath.js +46 -46
- package/lib/cjs/components-react/breadcrumb/BreadcrumbPath.js.map +1 -1
- package/lib/cjs/components-react/breadcrumb/BreadcrumbTreeUtils.d.ts +29 -29
- package/lib/cjs/components-react/breadcrumb/BreadcrumbTreeUtils.js +135 -135
- package/lib/cjs/components-react/breadcrumb/BreadcrumbTreeUtils.js.map +1 -1
- package/lib/cjs/components-react/common/DateUtils.d.ts +58 -58
- package/lib/cjs/components-react/common/DateUtils.js +74 -74
- package/lib/cjs/components-react/common/DateUtils.js.map +1 -1
- package/lib/cjs/components-react/common/DelayedSpinner.d.ts +22 -22
- package/lib/cjs/components-react/common/DelayedSpinner.js +57 -57
- package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
- package/lib/cjs/components-react/common/HighlightedText.d.ts +22 -22
- package/lib/cjs/components-react/common/HighlightedText.js +38 -38
- package/lib/cjs/components-react/common/HighlightedText.js.map +1 -1
- package/lib/cjs/components-react/common/HighlightingComponentProps.d.ts +19 -19
- package/lib/cjs/components-react/common/HighlightingComponentProps.js +9 -9
- package/lib/cjs/components-react/common/HighlightingComponentProps.js.map +1 -1
- package/lib/cjs/components-react/common/IImageLoader.d.ts +41 -41
- package/lib/cjs/components-react/common/IImageLoader.js +9 -9
- package/lib/cjs/components-react/common/IImageLoader.js.map +1 -1
- package/lib/cjs/components-react/common/ImageRenderer.d.ts +36 -36
- package/lib/cjs/components-react/common/ImageRenderer.js +141 -141
- package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
- package/lib/cjs/components-react/common/Links.d.ts +12 -12
- package/lib/cjs/components-react/common/Links.js +71 -71
- package/lib/cjs/components-react/common/Links.js.map +1 -1
- package/lib/cjs/components-react/common/PageOptions.d.ts +10 -10
- package/lib/cjs/components-react/common/PageOptions.js +9 -9
- package/lib/cjs/components-react/common/PageOptions.js.map +1 -1
- package/lib/cjs/components-react/common/SubscriptionScheduler.d.ts +32 -32
- package/lib/cjs/components-react/common/SubscriptionScheduler.js +78 -78
- package/lib/cjs/components-react/common/SubscriptionScheduler.js.map +1 -1
- package/lib/cjs/components-react/common/UseAsyncValue.d.ts +8 -8
- package/lib/cjs/components-react/common/UseAsyncValue.js +64 -64
- package/lib/cjs/components-react/common/UseAsyncValue.js.map +1 -1
- package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.d.ts +7 -7
- package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js +27 -27
- package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
- package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts +12 -12
- package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js +45 -45
- package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
- package/lib/cjs/components-react/common/UseRerender.d.ts +21 -21
- package/lib/cjs/components-react/common/UseRerender.js +31 -31
- package/lib/cjs/components-react/common/UseRerender.js.map +1 -1
- package/lib/cjs/components-react/common/countMatchesInString.d.ts +7 -7
- package/lib/cjs/components-react/common/countMatchesInString.js +31 -31
- package/lib/cjs/components-react/common/countMatchesInString.js.map +1 -1
- package/lib/cjs/components-react/common/selection/SelectionHandler.d.ts +122 -122
- package/lib/cjs/components-react/common/selection/SelectionHandler.js +220 -220
- package/lib/cjs/components-react/common/selection/SelectionHandler.js.map +1 -1
- package/lib/cjs/components-react/common/selection/SelectionModes.d.ts +32 -32
- package/lib/cjs/components-react/common/selection/SelectionModes.js +44 -44
- package/lib/cjs/components-react/common/selection/SelectionModes.js.map +1 -1
- package/lib/cjs/components-react/common/showhide/ShowHideDialog.d.ts +38 -38
- package/lib/cjs/components-react/common/showhide/ShowHideDialog.js +90 -90
- package/lib/cjs/components-react/common/showhide/ShowHideDialog.js.map +1 -1
- package/lib/cjs/components-react/common/showhide/ShowHideItem.d.ts +14 -14
- package/lib/cjs/components-react/common/showhide/ShowHideItem.js +9 -9
- package/lib/cjs/components-react/common/showhide/ShowHideItem.js.map +1 -1
- package/lib/cjs/components-react/common/showhide/ShowHideMenu.d.ts +53 -53
- package/lib/cjs/components-react/common/showhide/ShowHideMenu.js +123 -123
- package/lib/cjs/components-react/common/showhide/ShowHideMenu.js.map +1 -1
- package/lib/cjs/components-react/converters/BooleanTypeConverter.d.ts +20 -20
- package/lib/cjs/components-react/converters/BooleanTypeConverter.js +54 -54
- package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/CompositeTypeConverter.d.ts +13 -13
- package/lib/cjs/components-react/converters/CompositeTypeConverter.js +63 -63
- package/lib/cjs/components-react/converters/CompositeTypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/DateTimeTypeConverter.d.ts +48 -48
- package/lib/cjs/components-react/converters/DateTimeTypeConverter.js +183 -183
- package/lib/cjs/components-react/converters/DateTimeTypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts +15 -15
- package/lib/cjs/components-react/converters/EnumTypeConverter.js +55 -55
- package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/HexadecimalTypeConverter.d.ts +13 -13
- package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js +47 -47
- package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.d.ts +14 -14
- package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js +30 -30
- package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/NumericTypeConverter.d.ts +35 -35
- package/lib/cjs/components-react/converters/NumericTypeConverter.js +113 -113
- package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/PointTypeConverter.d.ts +38 -38
- package/lib/cjs/components-react/converters/PointTypeConverter.js +116 -116
- package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/StringTypeConverter.d.ts +45 -45
- package/lib/cjs/components-react/converters/StringTypeConverter.js +91 -91
- package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/TypeConverter.d.ts +83 -83
- package/lib/cjs/components-react/converters/TypeConverter.js +77 -77
- package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
- package/lib/cjs/components-react/converters/TypeConverterManager.d.ts +16 -16
- package/lib/cjs/components-react/converters/TypeConverterManager.js +50 -50
- package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
- package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.d.ts +30 -30
- package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js +9 -9
- package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
- package/lib/cjs/components-react/datepicker/DateField.d.ts +32 -32
- package/lib/cjs/components-react/datepicker/DateField.js +156 -156
- package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
- package/lib/cjs/components-react/datepicker/DateField.scss +22 -22
- package/lib/cjs/components-react/datepicker/DatePicker.d.ts +21 -21
- package/lib/cjs/components-react/datepicker/DatePicker.js +200 -200
- package/lib/cjs/components-react/datepicker/DatePicker.js.map +1 -1
- package/lib/cjs/components-react/datepicker/DatePicker.scss +170 -170
- package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts +29 -29
- package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js +98 -98
- package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
- package/lib/cjs/components-react/datepicker/DatePickerPopupButton.scss +57 -57
- package/lib/cjs/components-react/datepicker/IntlFormatter.d.ts +18 -18
- package/lib/cjs/components-react/datepicker/IntlFormatter.js +44 -44
- package/lib/cjs/components-react/datepicker/IntlFormatter.js.map +1 -1
- package/lib/cjs/components-react/datepicker/TimeField.d.ts +29 -29
- package/lib/cjs/components-react/datepicker/TimeField.js +248 -248
- package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
- package/lib/cjs/components-react/datepicker/TimeField.scss +73 -73
- package/lib/cjs/components-react/editors/BooleanEditor.d.ts +44 -44
- package/lib/cjs/components-react/editors/BooleanEditor.js +153 -153
- package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/BooleanEditor.scss +24 -24
- package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts +54 -54
- package/lib/cjs/components-react/editors/CustomNumberEditor.js +295 -295
- package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/CustomNumberEditor.scss +21 -21
- package/lib/cjs/components-react/editors/DateTimeEditor.d.ts +69 -69
- package/lib/cjs/components-react/editors/DateTimeEditor.js +302 -302
- package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/DateTimeEditor.scss +9 -9
- package/lib/cjs/components-react/editors/EditorContainer.d.ts +82 -82
- package/lib/cjs/components-react/editors/EditorContainer.js +182 -182
- package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
- package/lib/cjs/components-react/editors/EditorContainer.scss +6 -6
- package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts +43 -43
- package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js +179 -179
- package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/EnumButtonGroupEditor.scss +182 -182
- package/lib/cjs/components-react/editors/EnumEditor.d.ts +49 -49
- package/lib/cjs/components-react/editors/EnumEditor.js +188 -188
- package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/EnumEditor.scss +22 -22
- package/lib/cjs/components-react/editors/IconEditor.d.ts +47 -47
- package/lib/cjs/components-react/editors/IconEditor.js +165 -165
- package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/IconEditor.scss +16 -16
- package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts +47 -47
- package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js +147 -147
- package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/ImageCheckBoxEditor.scss +23 -23
- package/lib/cjs/components-react/editors/NumericInputEditor.d.ts +52 -52
- package/lib/cjs/components-react/editors/NumericInputEditor.js +171 -171
- package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/NumericInputEditor.scss +17 -17
- package/lib/cjs/components-react/editors/PopupButton.d.ts +72 -72
- package/lib/cjs/components-react/editors/PopupButton.js +113 -113
- package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
- package/lib/cjs/components-react/editors/PopupButton.scss +119 -119
- package/lib/cjs/components-react/editors/PropertyEditorManager.d.ts +72 -72
- package/lib/cjs/components-react/editors/PropertyEditorManager.js +147 -147
- package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
- package/lib/cjs/components-react/editors/SliderEditor.d.ts +63 -63
- package/lib/cjs/components-react/editors/SliderEditor.js +248 -248
- package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/SliderEditor.scss +13 -13
- package/lib/cjs/components-react/editors/TextEditor.d.ts +40 -40
- package/lib/cjs/components-react/editors/TextEditor.js +159 -159
- package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/TextEditor.scss +21 -21
- package/lib/cjs/components-react/editors/TextareaEditor.d.ts +53 -53
- package/lib/cjs/components-react/editors/TextareaEditor.js +202 -202
- package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/TextareaEditor.scss +14 -14
- package/lib/cjs/components-react/editors/ThemedEnumEditor.d.ts +62 -62
- package/lib/cjs/components-react/editors/ThemedEnumEditor.js +206 -206
- package/lib/cjs/components-react/editors/ThemedEnumEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/ThemedEnumEditor.scss +82 -82
- package/lib/cjs/components-react/editors/ToggleEditor.d.ts +44 -44
- package/lib/cjs/components-react/editors/ToggleEditor.js +156 -156
- package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/ToggleEditor.scss +25 -25
- package/lib/cjs/components-react/editors/variables.scss +6 -6
- package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts +12 -12
- package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js +46 -46
- package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
- package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts +19 -19
- package/lib/cjs/components-react/favorite/FavoritePropertyList.js +51 -51
- package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts +37 -37
- package/lib/cjs/components-react/filter-builder/FilterBuilder.js +117 -117
- package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts +10 -10
- package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js +75 -75
- package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilderRule.scss +40 -40
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +28 -28
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js +78 -78
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.scss +72 -72
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +11 -11
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js +46 -46
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +11 -11
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +54 -54
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts +10 -10
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +42 -42
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts +42 -42
- package/lib/cjs/components-react/filter-builder/FilterBuilderState.js +151 -151
- package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/Operators.d.ts +26 -26
- package/lib/cjs/components-react/filter-builder/Operators.js +112 -112
- package/lib/cjs/components-react/filter-builder/Operators.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/Types.d.ts +17 -17
- package/lib/cjs/components-react/filter-builder/Types.js +8 -8
- package/lib/cjs/components-react/filter-builder/Types.js.map +1 -1
- package/lib/cjs/components-react/filtering/FilteringInput.d.ts +76 -76
- package/lib/cjs/components-react/filtering/FilteringInput.js +139 -139
- package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
- package/lib/cjs/components-react/filtering/FilteringInput.scss +68 -68
- package/lib/cjs/components-react/filtering/ResultSelector.d.ts +48 -48
- package/lib/cjs/components-react/filtering/ResultSelector.js +121 -121
- package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
- package/lib/cjs/components-react/filtering/ResultSelector.scss +72 -72
- package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts +47 -47
- package/lib/cjs/components-react/iconpicker/IconPickerButton.js +109 -109
- package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
- package/lib/cjs/components-react/iconpicker/IconPickerButton.scss +74 -74
- package/lib/cjs/components-react/inputs/ParsedInput.d.ts +28 -28
- package/lib/cjs/components-react/inputs/ParsedInput.js +110 -110
- package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
- package/lib/cjs/components-react/inputs/ParsedInput.scss +23 -23
- package/lib/cjs/components-react/properties/ItemStyle.d.ts +48 -48
- package/lib/cjs/components-react/properties/ItemStyle.js +64 -64
- package/lib/cjs/components-react/properties/ItemStyle.js.map +1 -1
- package/lib/cjs/components-react/properties/LinkHandler.d.ts +28 -28
- package/lib/cjs/components-react/properties/LinkHandler.js +104 -104
- package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
- package/lib/cjs/components-react/properties/ValueRendererManager.d.ts +89 -89
- package/lib/cjs/components-react/properties/ValueRendererManager.js +92 -92
- package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts +29 -29
- package/lib/cjs/components-react/properties/renderers/ActionButtonList.js +56 -56
- package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/ActionButtonList.scss +25 -25
- package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts +19 -19
- package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js +9 -9
- package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.d.ts +19 -19
- package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js +92 -92
- package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +36 -36
- package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +93 -93
- package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +16 -16
- package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +28 -28
- package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js +56 -56
- package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.d.ts +29 -29
- package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js +69 -69
- package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts +97 -97
- package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js +108 -108
- package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts +36 -36
- package/lib/cjs/components-react/properties/renderers/PropertyView.js +101 -101
- package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/PropertyView.scss +104 -104
- package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +23 -23
- package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +55 -55
- package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +21 -21
- package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +43 -43
- package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +22 -22
- package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js +50 -50
- package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.scss +87 -87
- package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts +15 -15
- package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +58 -58
- package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +15 -15
- package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +55 -55
- package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts +15 -15
- package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +27 -27
- package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +22 -22
- package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +95 -95
- package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +15 -15
- package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +55 -55
- package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +44 -44
- package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +88 -88
- package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts +15 -15
- package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js +55 -55
- package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +18 -18
- package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +66 -66
- package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts +9 -9
- package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js +39 -39
- package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +14 -14
- package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js +50 -50
- package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +45 -45
- package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +88 -88
- package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.scss +10 -10
- package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +14 -14
- package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js +48 -48
- package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +38 -38
- package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js +43 -43
- package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts +55 -55
- package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js +17 -17
- package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.d.ts +24 -24
- package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js +69 -69
- package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +45 -45
- package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +98 -98
- package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts +17 -17
- package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +49 -49
- package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +30 -30
- package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js +60 -60
- package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/PropertyGrid.d.ts +68 -68
- package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js +184 -184
- package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/PropertyGrid.scss +72 -72
- package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts +91 -91
- package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js +55 -55
- package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +43 -43
- package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +121 -121
- package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts +64 -64
- package/lib/cjs/components-react/propertygrid/component/PropertyList.js +68 -68
- package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +118 -118
- package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +267 -267
- package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +91 -91
- package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +24 -24
- package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +33 -33
- package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +41 -41
- package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js +184 -184
- package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts +28 -28
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +73 -73
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts +17 -17
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +51 -51
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts +17 -17
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +48 -48
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts +17 -17
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +48 -48
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts +89 -89
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +60 -60
- package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +24 -24
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js +27 -27
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts +38 -38
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js +74 -74
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts +65 -65
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js +79 -79
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +15 -15
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +18 -18
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +36 -36
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js +65 -65
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +55 -55
- package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js +6 -6
- package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +20 -20
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +46 -46
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +14 -14
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +24 -24
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +20 -20
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +44 -44
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts +23 -23
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +55 -55
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +171 -171
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +218 -218
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +49 -49
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +87 -87
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +47 -47
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +72 -72
- package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +24 -24
- package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +68 -68
- package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +43 -43
- package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +82 -82
- package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
- package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts +48 -48
- package/lib/cjs/components-react/selectable-content/SelectableContent.js +72 -72
- package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
- package/lib/cjs/components-react/selectable-content/SelectableContent.scss +21 -21
- package/lib/cjs/components-react/table/SimpleTableDataProvider.d.ts +56 -56
- package/lib/cjs/components-react/table/SimpleTableDataProvider.js +252 -252
- package/lib/cjs/components-react/table/SimpleTableDataProvider.js.map +1 -1
- package/lib/cjs/components-react/table/TableDataProvider.d.ts +157 -157
- package/lib/cjs/components-react/table/TableDataProvider.js +29 -29
- package/lib/cjs/components-react/table/TableDataProvider.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.d.ts +225 -225
- package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.js +107 -107
- package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.scss +78 -78
- package/lib/cjs/components-react/table/columnfiltering/ColumnFilteringUtilities.d.ts +13 -13
- package/lib/cjs/components-react/table/columnfiltering/ColumnFilteringUtilities.js +35 -35
- package/lib/cjs/components-react/table/columnfiltering/ColumnFilteringUtilities.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.d.ts +87 -87
- package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.js +192 -192
- package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/FilterableColumnBase.d.ts +57 -57
- package/lib/cjs/components-react/table/columnfiltering/FilterableColumnBase.js +102 -102
- package/lib/cjs/components-react/table/columnfiltering/FilterableColumnBase.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/TableColumnFilterDescriptor.d.ts +56 -56
- package/lib/cjs/components-react/table/columnfiltering/TableColumnFilterDescriptor.js +362 -362
- package/lib/cjs/components-react/table/columnfiltering/TableColumnFilterDescriptor.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptor.d.ts +85 -85
- package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptor.js +402 -402
- package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptor.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptorCollection.d.ts +28 -28
- package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptorCollection.js +86 -86
- package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptorCollection.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.d.ts +28 -28
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js +74 -74
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.d.ts +4 -4
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js +22 -22
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.d.ts +21 -21
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js +87 -87
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.d.ts +4 -4
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js +22 -22
- package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.d.ts +18 -18
- package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js +183 -183
- package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js.map +1 -1
- package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.scss +35 -35
- package/lib/cjs/components-react/table/component/ColumnDragLayer.d.ts +14 -14
- package/lib/cjs/components-react/table/component/ColumnDragLayer.js +65 -65
- package/lib/cjs/components-react/table/component/ColumnDragLayer.js.map +1 -1
- package/lib/cjs/components-react/table/component/DragDropHeaderCell.d.ts +26 -26
- package/lib/cjs/components-react/table/component/DragDropHeaderCell.js +101 -101
- package/lib/cjs/components-react/table/component/DragDropHeaderCell.js.map +1 -1
- package/lib/cjs/components-react/table/component/Table.d.ts +299 -299
- package/lib/cjs/components-react/table/component/Table.js +1332 -1332
- package/lib/cjs/components-react/table/component/Table.js.map +1 -1
- package/lib/cjs/components-react/table/component/Table.scss +200 -200
- package/lib/cjs/components-react/table/component/TableCell.d.ts +94 -94
- package/lib/cjs/components-react/table/component/TableCell.js +133 -133
- package/lib/cjs/components-react/table/component/TableCell.js.map +1 -1
- package/lib/cjs/components-react/table/component/TableCell.scss +48 -48
- package/lib/cjs/components-react/table/component/TableColumn.d.ts +29 -29
- package/lib/cjs/components-react/table/component/TableColumn.js +32 -32
- package/lib/cjs/components-react/table/component/TableColumn.js.map +1 -1
- package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.d.ts +12 -12
- package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.js +41 -41
- package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.js.map +1 -1
- package/lib/cjs/components-react/table/component/dragdrop/DragDropDef.d.ts +154 -154
- package/lib/cjs/components-react/table/component/dragdrop/DragDropDef.js +32 -32
- package/lib/cjs/components-react/table/component/dragdrop/DragDropDef.js.map +1 -1
- package/lib/cjs/components-react/table/component/dragdrop/withDragSource.d.ts +41 -41
- package/lib/cjs/components-react/table/component/dragdrop/withDragSource.js +188 -188
- package/lib/cjs/components-react/table/component/dragdrop/withDragSource.js.map +1 -1
- package/lib/cjs/components-react/table/component/dragdrop/withDropTarget.d.ts +35 -35
- package/lib/cjs/components-react/table/component/dragdrop/withDropTarget.js +149 -149
- package/lib/cjs/components-react/table/component/dragdrop/withDropTarget.js.map +1 -1
- package/lib/cjs/components-react/toolbar/Item.d.ts +37 -37
- package/lib/cjs/components-react/toolbar/Item.js +46 -46
- package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
- package/lib/cjs/components-react/toolbar/Item.scss +122 -122
- package/lib/cjs/components-react/toolbar/ItemWrapper.d.ts +19 -19
- package/lib/cjs/components-react/toolbar/ItemWrapper.js +59 -59
- package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
- package/lib/cjs/components-react/toolbar/ItemWrapper.scss +10 -10
- package/lib/cjs/components-react/toolbar/Items.d.ts +20 -20
- package/lib/cjs/components-react/toolbar/Items.js +76 -76
- package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
- package/lib/cjs/components-react/toolbar/Items.scss +94 -94
- package/lib/cjs/components-react/toolbar/Overflow.d.ts +31 -31
- package/lib/cjs/components-react/toolbar/Overflow.js +72 -72
- package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
- package/lib/cjs/components-react/toolbar/Overflow.scss +57 -57
- package/lib/cjs/components-react/toolbar/OverflowPanel.d.ts +17 -17
- package/lib/cjs/components-react/toolbar/OverflowPanel.js +68 -68
- package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
- package/lib/cjs/components-react/toolbar/OverflowPanel.scss +37 -37
- package/lib/cjs/components-react/toolbar/PopupItem.d.ts +50 -50
- package/lib/cjs/components-react/toolbar/PopupItem.js +105 -105
- package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
- package/lib/cjs/components-react/toolbar/PopupItem.scss +86 -86
- package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts +22 -22
- package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js +171 -171
- package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
- package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts +14 -14
- package/lib/cjs/components-react/toolbar/PopupItemsPanel.js +142 -142
- package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
- package/lib/cjs/components-react/toolbar/Toolbar.d.ts +32 -32
- package/lib/cjs/components-react/toolbar/Toolbar.js +94 -94
- package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
- package/lib/cjs/components-react/toolbar/Toolbar.scss +18 -18
- package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts +150 -150
- package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js +481 -481
- package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
- package/lib/cjs/components-react/toolbar/_variables.scss +34 -34
- package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.d.ts +19 -19
- package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js +48 -48
- package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
- package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
- package/lib/cjs/components-react/toolbar/groupPanel/Column.d.ts +17 -17
- package/lib/cjs/components-react/toolbar/groupPanel/Column.js +43 -43
- package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
- package/lib/cjs/components-react/toolbar/groupPanel/Column.scss +9 -9
- package/lib/cjs/components-react/toolbar/groupPanel/Columns.d.ts +17 -17
- package/lib/cjs/components-react/toolbar/groupPanel/Columns.js +43 -43
- package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
- package/lib/cjs/components-react/toolbar/groupPanel/Columns.scss +10 -10
- package/lib/cjs/components-react/toolbar/groupPanel/Panel.d.ts +18 -18
- package/lib/cjs/components-react/toolbar/groupPanel/Panel.js +45 -45
- package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
- package/lib/cjs/components-react/toolbar/groupPanel/Panel.scss +17 -17
- package/lib/cjs/components-react/toolbar/groupPanel/Title.d.ts +17 -17
- package/lib/cjs/components-react/toolbar/groupPanel/Title.js +43 -43
- package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
- package/lib/cjs/components-react/toolbar/groupPanel/Title.scss +34 -34
- package/lib/cjs/components-react/toolbar/groupPanel/_variables.scss +16 -16
- package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.d.ts +16 -16
- package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js +46 -46
- package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
- package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
- package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.d.ts +38 -38
- package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js +62 -62
- package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
- package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.scss +146 -146
- package/lib/cjs/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
- package/lib/cjs/components-react/toolbar/useDragInteraction.d.ts +14 -14
- package/lib/cjs/components-react/toolbar/useDragInteraction.js +125 -125
- package/lib/cjs/components-react/toolbar/useDragInteraction.js.map +1 -1
- package/lib/cjs/components-react/toolbar/utilities/Direction.d.ts +49 -49
- package/lib/cjs/components-react/toolbar/utilities/Direction.js +94 -94
- package/lib/cjs/components-react/toolbar/utilities/Direction.js.map +1 -1
- package/lib/cjs/components-react/tree/HighlightingEngine.d.ts +51 -51
- package/lib/cjs/components-react/tree/HighlightingEngine.js +61 -61
- package/lib/cjs/components-react/tree/HighlightingEngine.js.map +1 -1
- package/lib/cjs/components-react/tree/HighlightingEngine.scss +7 -7
- package/lib/cjs/components-react/tree/ImageLoader.d.ts +18 -18
- package/lib/cjs/components-react/tree/ImageLoader.js +25 -25
- package/lib/cjs/components-react/tree/ImageLoader.js.map +1 -1
- package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts +25 -25
- package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js +41 -41
- package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
- package/lib/cjs/components-react/tree/TreeComponentTestId.d.ts +15 -15
- package/lib/cjs/components-react/tree/TreeComponentTestId.js +23 -23
- package/lib/cjs/components-react/tree/TreeComponentTestId.js.map +1 -1
- package/lib/cjs/components-react/tree/TreeDataProvider.d.ts +118 -118
- package/lib/cjs/components-react/tree/TreeDataProvider.js +55 -55
- package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/Observable.d.ts +87 -87
- package/lib/cjs/components-react/tree/controlled/Observable.js +25 -25
- package/lib/cjs/components-react/tree/controlled/Observable.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/TreeActions.d.ts +20 -20
- package/lib/cjs/components-react/tree/controlled/TreeActions.js +9 -9
- package/lib/cjs/components-react/tree/controlled/TreeActions.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts +38 -38
- package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js +224 -224
- package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts +61 -61
- package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js +84 -84
- package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/TreeEvents.d.ts +108 -108
- package/lib/cjs/components-react/tree/controlled/TreeEvents.js +9 -9
- package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/TreeHooks.d.ts +47 -47
- package/lib/cjs/components-react/tree/controlled/TreeHooks.js +82 -82
- package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts +229 -229
- package/lib/cjs/components-react/tree/controlled/TreeModel.js +336 -336
- package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/TreeModelSource.d.ts +33 -33
- package/lib/cjs/components-react/tree/controlled/TreeModelSource.js +68 -68
- package/lib/cjs/components-react/tree/controlled/TreeModelSource.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.d.ts +155 -155
- package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js +328 -328
- package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts +60 -60
- package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js +107 -107
- package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +102 -102
- package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts +25 -25
- package/lib/cjs/components-react/tree/controlled/component/NodeContent.js +89 -89
- package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/component/NodeContent.scss +28 -28
- package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts +31 -31
- package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js +57 -57
- package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +42 -42
- package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js +63 -63
- package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts +75 -75
- package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js +252 -252
- package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/internal/SparseTree.d.ts +71 -71
- package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js +244 -244
- package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.d.ts +30 -30
- package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js +126 -126
- package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +51 -51
- package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js +253 -253
- package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
- package/lib/cjs/components-react.d.ts +215 -215
- package/lib/cjs/components-react.js +234 -234
- package/lib/cjs/components-react.js.map +1 -1
- package/lib/esm/components-react/UiComponents.d.ts +35 -35
- package/lib/esm/components-react/UiComponents.js +75 -75
- package/lib/esm/components-react/UiComponents.js.map +1 -1
- package/lib/esm/components-react/_target.scss +9 -9
- package/lib/esm/components-react/breadcrumb/BeInspireTree.d.ts +262 -262
- package/lib/esm/components-react/breadcrumb/BeInspireTree.js +891 -891
- package/lib/esm/components-react/breadcrumb/BeInspireTree.js.map +1 -1
- package/lib/esm/components-react/breadcrumb/Breadcrumb.d.ts +197 -197
- package/lib/esm/components-react/breadcrumb/Breadcrumb.js +622 -622
- package/lib/esm/components-react/breadcrumb/Breadcrumb.js.map +1 -1
- package/lib/esm/components-react/breadcrumb/Breadcrumb.scss +196 -196
- package/lib/esm/components-react/breadcrumb/BreadcrumbDetails.d.ts +65 -65
- package/lib/esm/components-react/breadcrumb/BreadcrumbDetails.js +205 -205
- package/lib/esm/components-react/breadcrumb/BreadcrumbDetails.js.map +1 -1
- package/lib/esm/components-react/breadcrumb/BreadcrumbPath.d.ts +35 -35
- package/lib/esm/components-react/breadcrumb/BreadcrumbPath.js +41 -41
- package/lib/esm/components-react/breadcrumb/BreadcrumbPath.js.map +1 -1
- package/lib/esm/components-react/breadcrumb/BreadcrumbTreeUtils.d.ts +29 -29
- package/lib/esm/components-react/breadcrumb/BreadcrumbTreeUtils.js +130 -130
- package/lib/esm/components-react/breadcrumb/BreadcrumbTreeUtils.js.map +1 -1
- package/lib/esm/components-react/common/DateUtils.d.ts +58 -58
- package/lib/esm/components-react/common/DateUtils.js +68 -68
- package/lib/esm/components-react/common/DateUtils.js.map +1 -1
- package/lib/esm/components-react/common/DelayedSpinner.d.ts +22 -22
- package/lib/esm/components-react/common/DelayedSpinner.js +34 -34
- package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
- package/lib/esm/components-react/common/HighlightedText.d.ts +22 -22
- package/lib/esm/components-react/common/HighlightedText.js +31 -31
- package/lib/esm/components-react/common/HighlightedText.js.map +1 -1
- package/lib/esm/components-react/common/HighlightingComponentProps.d.ts +19 -19
- package/lib/esm/components-react/common/HighlightingComponentProps.js +8 -8
- package/lib/esm/components-react/common/HighlightingComponentProps.js.map +1 -1
- package/lib/esm/components-react/common/IImageLoader.d.ts +41 -41
- package/lib/esm/components-react/common/IImageLoader.js +8 -8
- package/lib/esm/components-react/common/IImageLoader.js.map +1 -1
- package/lib/esm/components-react/common/ImageRenderer.d.ts +36 -36
- package/lib/esm/components-react/common/ImageRenderer.js +118 -118
- package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
- package/lib/esm/components-react/common/Links.d.ts +12 -12
- package/lib/esm/components-react/common/Links.js +64 -64
- package/lib/esm/components-react/common/Links.js.map +1 -1
- package/lib/esm/components-react/common/PageOptions.d.ts +10 -10
- package/lib/esm/components-react/common/PageOptions.js +8 -8
- package/lib/esm/components-react/common/PageOptions.js.map +1 -1
- package/lib/esm/components-react/common/SubscriptionScheduler.d.ts +32 -32
- package/lib/esm/components-react/common/SubscriptionScheduler.js +73 -73
- package/lib/esm/components-react/common/SubscriptionScheduler.js.map +1 -1
- package/lib/esm/components-react/common/UseAsyncValue.d.ts +8 -8
- package/lib/esm/components-react/common/UseAsyncValue.js +41 -41
- package/lib/esm/components-react/common/UseAsyncValue.js.map +1 -1
- package/lib/esm/components-react/common/UseContextWithMandatoryProvider.d.ts +7 -7
- package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js +20 -20
- package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
- package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts +12 -12
- package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +41 -41
- package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
- package/lib/esm/components-react/common/UseRerender.d.ts +21 -21
- package/lib/esm/components-react/common/UseRerender.js +27 -27
- package/lib/esm/components-react/common/UseRerender.js.map +1 -1
- package/lib/esm/components-react/common/countMatchesInString.d.ts +7 -7
- package/lib/esm/components-react/common/countMatchesInString.js +27 -27
- package/lib/esm/components-react/common/countMatchesInString.js.map +1 -1
- package/lib/esm/components-react/common/selection/SelectionHandler.d.ts +122 -122
- package/lib/esm/components-react/common/selection/SelectionHandler.js +215 -215
- package/lib/esm/components-react/common/selection/SelectionHandler.js.map +1 -1
- package/lib/esm/components-react/common/selection/SelectionModes.d.ts +32 -32
- package/lib/esm/components-react/common/selection/SelectionModes.js +40 -40
- package/lib/esm/components-react/common/selection/SelectionModes.js.map +1 -1
- package/lib/esm/components-react/common/showhide/ShowHideDialog.d.ts +38 -38
- package/lib/esm/components-react/common/showhide/ShowHideDialog.js +67 -67
- package/lib/esm/components-react/common/showhide/ShowHideDialog.js.map +1 -1
- package/lib/esm/components-react/common/showhide/ShowHideItem.d.ts +14 -14
- package/lib/esm/components-react/common/showhide/ShowHideItem.js +8 -8
- package/lib/esm/components-react/common/showhide/ShowHideItem.js.map +1 -1
- package/lib/esm/components-react/common/showhide/ShowHideMenu.d.ts +53 -53
- package/lib/esm/components-react/common/showhide/ShowHideMenu.js +100 -100
- package/lib/esm/components-react/common/showhide/ShowHideMenu.js.map +1 -1
- package/lib/esm/components-react/converters/BooleanTypeConverter.d.ts +20 -20
- package/lib/esm/components-react/converters/BooleanTypeConverter.js +50 -50
- package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/CompositeTypeConverter.d.ts +13 -13
- package/lib/esm/components-react/converters/CompositeTypeConverter.js +59 -59
- package/lib/esm/components-react/converters/CompositeTypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/DateTimeTypeConverter.d.ts +48 -48
- package/lib/esm/components-react/converters/DateTimeTypeConverter.js +177 -177
- package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/EnumTypeConverter.d.ts +15 -15
- package/lib/esm/components-react/converters/EnumTypeConverter.js +51 -51
- package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/HexadecimalTypeConverter.d.ts +13 -13
- package/lib/esm/components-react/converters/HexadecimalTypeConverter.js +43 -43
- package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.d.ts +14 -14
- package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js +26 -26
- package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/NumericTypeConverter.d.ts +35 -35
- package/lib/esm/components-react/converters/NumericTypeConverter.js +107 -107
- package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/PointTypeConverter.d.ts +38 -38
- package/lib/esm/components-react/converters/PointTypeConverter.js +110 -110
- package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/StringTypeConverter.d.ts +45 -45
- package/lib/esm/components-react/converters/StringTypeConverter.js +87 -87
- package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/TypeConverter.d.ts +83 -83
- package/lib/esm/components-react/converters/TypeConverter.js +73 -73
- package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
- package/lib/esm/components-react/converters/TypeConverterManager.d.ts +16 -16
- package/lib/esm/components-react/converters/TypeConverterManager.js +46 -46
- package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
- package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.d.ts +30 -30
- package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js +8 -8
- package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
- package/lib/esm/components-react/datepicker/DateField.d.ts +32 -32
- package/lib/esm/components-react/datepicker/DateField.js +129 -129
- package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
- package/lib/esm/components-react/datepicker/DateField.scss +22 -22
- package/lib/esm/components-react/datepicker/DatePicker.d.ts +21 -21
- package/lib/esm/components-react/datepicker/DatePicker.js +174 -174
- package/lib/esm/components-react/datepicker/DatePicker.js.map +1 -1
- package/lib/esm/components-react/datepicker/DatePicker.scss +170 -170
- package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts +29 -29
- package/lib/esm/components-react/datepicker/DatePickerPopupButton.js +75 -75
- package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
- package/lib/esm/components-react/datepicker/DatePickerPopupButton.scss +57 -57
- package/lib/esm/components-react/datepicker/IntlFormatter.d.ts +18 -18
- package/lib/esm/components-react/datepicker/IntlFormatter.js +40 -40
- package/lib/esm/components-react/datepicker/IntlFormatter.js.map +1 -1
- package/lib/esm/components-react/datepicker/TimeField.d.ts +29 -29
- package/lib/esm/components-react/datepicker/TimeField.js +225 -225
- package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
- package/lib/esm/components-react/datepicker/TimeField.scss +73 -73
- package/lib/esm/components-react/editors/BooleanEditor.d.ts +44 -44
- package/lib/esm/components-react/editors/BooleanEditor.js +126 -126
- package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
- package/lib/esm/components-react/editors/BooleanEditor.scss +24 -24
- package/lib/esm/components-react/editors/CustomNumberEditor.d.ts +54 -54
- package/lib/esm/components-react/editors/CustomNumberEditor.js +268 -268
- package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
- package/lib/esm/components-react/editors/CustomNumberEditor.scss +21 -21
- package/lib/esm/components-react/editors/DateTimeEditor.d.ts +69 -69
- package/lib/esm/components-react/editors/DateTimeEditor.js +274 -274
- package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
- package/lib/esm/components-react/editors/DateTimeEditor.scss +9 -9
- package/lib/esm/components-react/editors/EditorContainer.d.ts +82 -82
- package/lib/esm/components-react/editors/EditorContainer.js +159 -159
- package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
- package/lib/esm/components-react/editors/EditorContainer.scss +6 -6
- package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts +43 -43
- package/lib/esm/components-react/editors/EnumButtonGroupEditor.js +152 -152
- package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
- package/lib/esm/components-react/editors/EnumButtonGroupEditor.scss +182 -182
- package/lib/esm/components-react/editors/EnumEditor.d.ts +49 -49
- package/lib/esm/components-react/editors/EnumEditor.js +161 -161
- package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
- package/lib/esm/components-react/editors/EnumEditor.scss +22 -22
- package/lib/esm/components-react/editors/IconEditor.d.ts +47 -47
- package/lib/esm/components-react/editors/IconEditor.js +138 -138
- package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
- package/lib/esm/components-react/editors/IconEditor.scss +16 -16
- package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts +47 -47
- package/lib/esm/components-react/editors/ImageCheckBoxEditor.js +120 -120
- package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
- package/lib/esm/components-react/editors/ImageCheckBoxEditor.scss +23 -23
- package/lib/esm/components-react/editors/NumericInputEditor.d.ts +52 -52
- package/lib/esm/components-react/editors/NumericInputEditor.js +144 -144
- package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
- package/lib/esm/components-react/editors/NumericInputEditor.scss +17 -17
- package/lib/esm/components-react/editors/PopupButton.d.ts +72 -72
- package/lib/esm/components-react/editors/PopupButton.js +85 -85
- package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
- package/lib/esm/components-react/editors/PopupButton.scss +119 -119
- package/lib/esm/components-react/editors/PropertyEditorManager.d.ts +72 -72
- package/lib/esm/components-react/editors/PropertyEditorManager.js +121 -121
- package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
- package/lib/esm/components-react/editors/SliderEditor.d.ts +63 -63
- package/lib/esm/components-react/editors/SliderEditor.js +221 -221
- package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
- package/lib/esm/components-react/editors/SliderEditor.scss +13 -13
- package/lib/esm/components-react/editors/TextEditor.d.ts +40 -40
- package/lib/esm/components-react/editors/TextEditor.js +133 -133
- package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
- package/lib/esm/components-react/editors/TextEditor.scss +21 -21
- package/lib/esm/components-react/editors/TextareaEditor.d.ts +53 -53
- package/lib/esm/components-react/editors/TextareaEditor.js +175 -175
- package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
- package/lib/esm/components-react/editors/TextareaEditor.scss +14 -14
- package/lib/esm/components-react/editors/ThemedEnumEditor.d.ts +62 -62
- package/lib/esm/components-react/editors/ThemedEnumEditor.js +179 -179
- package/lib/esm/components-react/editors/ThemedEnumEditor.js.map +1 -1
- package/lib/esm/components-react/editors/ThemedEnumEditor.scss +82 -82
- package/lib/esm/components-react/editors/ToggleEditor.d.ts +44 -44
- package/lib/esm/components-react/editors/ToggleEditor.js +129 -129
- package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
- package/lib/esm/components-react/editors/ToggleEditor.scss +25 -25
- package/lib/esm/components-react/editors/variables.scss +6 -6
- package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts +12 -12
- package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js +23 -23
- package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
- package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts +19 -19
- package/lib/esm/components-react/favorite/FavoritePropertyList.js +28 -28
- package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts +37 -37
- package/lib/esm/components-react/filter-builder/FilterBuilder.js +93 -93
- package/lib/esm/components-react/filter-builder/FilterBuilder.js.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts +10 -10
- package/lib/esm/components-react/filter-builder/FilterBuilderRule.js +52 -52
- package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilderRule.scss +40 -40
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +28 -28
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js +54 -54
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.scss +72 -72
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +11 -11
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js +23 -23
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +11 -11
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +31 -31
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts +10 -10
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +19 -19
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts +42 -42
- package/lib/esm/components-react/filter-builder/FilterBuilderState.js +126 -126
- package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
- package/lib/esm/components-react/filter-builder/Operators.d.ts +26 -26
- package/lib/esm/components-react/filter-builder/Operators.js +106 -106
- package/lib/esm/components-react/filter-builder/Operators.js.map +1 -1
- package/lib/esm/components-react/filter-builder/Types.d.ts +17 -17
- package/lib/esm/components-react/filter-builder/Types.js +4 -4
- package/lib/esm/components-react/filter-builder/Types.js.map +1 -1
- package/lib/esm/components-react/filtering/FilteringInput.d.ts +76 -76
- package/lib/esm/components-react/filtering/FilteringInput.js +113 -113
- package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
- package/lib/esm/components-react/filtering/FilteringInput.scss +68 -68
- package/lib/esm/components-react/filtering/ResultSelector.d.ts +48 -48
- package/lib/esm/components-react/filtering/ResultSelector.js +95 -95
- package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
- package/lib/esm/components-react/filtering/ResultSelector.scss +72 -72
- package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts +47 -47
- package/lib/esm/components-react/iconpicker/IconPickerButton.js +83 -83
- package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
- package/lib/esm/components-react/iconpicker/IconPickerButton.scss +74 -74
- package/lib/esm/components-react/inputs/ParsedInput.d.ts +28 -28
- package/lib/esm/components-react/inputs/ParsedInput.js +85 -85
- package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
- package/lib/esm/components-react/inputs/ParsedInput.scss +23 -23
- package/lib/esm/components-react/properties/ItemStyle.d.ts +48 -48
- package/lib/esm/components-react/properties/ItemStyle.js +61 -61
- package/lib/esm/components-react/properties/ItemStyle.js.map +1 -1
- package/lib/esm/components-react/properties/LinkHandler.d.ts +28 -28
- package/lib/esm/components-react/properties/LinkHandler.js +79 -79
- package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
- package/lib/esm/components-react/properties/ValueRendererManager.d.ts +89 -89
- package/lib/esm/components-react/properties/ValueRendererManager.js +88 -88
- package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts +29 -29
- package/lib/esm/components-react/properties/renderers/ActionButtonList.js +33 -33
- package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/ActionButtonList.scss +25 -25
- package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts +19 -19
- package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js +8 -8
- package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.d.ts +19 -19
- package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js +69 -69
- package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +36 -36
- package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +70 -70
- package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +16 -16
- package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +28 -28
- package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js +33 -33
- package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/PropertyGridColumns.d.ts +29 -29
- package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js +65 -65
- package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts +97 -97
- package/lib/esm/components-react/properties/renderers/PropertyRenderer.js +85 -85
- package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/PropertyView.d.ts +36 -36
- package/lib/esm/components-react/properties/renderers/PropertyView.js +78 -78
- package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/PropertyView.scss +104 -104
- package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +23 -23
- package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +32 -32
- package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +21 -21
- package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +20 -20
- package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +22 -22
- package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js +27 -27
- package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.scss +87 -87
- package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts +15 -15
- package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +35 -35
- package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +15 -15
- package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +32 -32
- package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts +15 -15
- package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js +23 -23
- package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +22 -22
- package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +71 -71
- package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +15 -15
- package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +32 -32
- package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +44 -44
- package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +62 -62
- package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts +15 -15
- package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js +32 -32
- package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +18 -18
- package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +43 -43
- package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts +9 -9
- package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js +16 -16
- package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +14 -14
- package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js +27 -27
- package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +45 -45
- package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +65 -65
- package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
- package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.scss +10 -10
- package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +14 -14
- package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js +25 -25
- package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
- package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +38 -38
- package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js +39 -39
- package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
- package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts +55 -55
- package/lib/esm/components-react/propertygrid/PropertyDataProvider.js +13 -13
- package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
- package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.d.ts +24 -24
- package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js +65 -65
- package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +45 -45
- package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +75 -75
- package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts +17 -17
- package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +23 -23
- package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +30 -30
- package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js +37 -37
- package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/PropertyGrid.d.ts +68 -68
- package/lib/esm/components-react/propertygrid/component/PropertyGrid.js +158 -158
- package/lib/esm/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/PropertyGrid.scss +72 -72
- package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts +91 -91
- package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js +51 -51
- package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +43 -43
- package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js +98 -98
- package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts +64 -64
- package/lib/esm/components-react/propertygrid/component/PropertyList.js +41 -41
- package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +118 -118
- package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +241 -241
- package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +91 -91
- package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +24 -24
- package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +26 -26
- package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
- package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +41 -41
- package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js +180 -180
- package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts +28 -28
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +69 -69
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts +17 -17
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +47 -47
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts +17 -17
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js +44 -44
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts +17 -17
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js +44 -44
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts +89 -89
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js +53 -53
- package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +24 -24
- package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js +23 -23
- package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts +38 -38
- package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js +67 -67
- package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts +65 -65
- package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js +75 -75
- package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +15 -15
- package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +14 -14
- package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +36 -36
- package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js +61 -61
- package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +55 -55
- package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js +5 -5
- package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +20 -20
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +42 -42
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +14 -14
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +20 -20
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +20 -20
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +40 -40
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts +23 -23
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +51 -51
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +171 -171
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +210 -210
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +49 -49
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +83 -83
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +47 -47
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +68 -68
- package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +24 -24
- package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +45 -45
- package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +43 -43
- package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +59 -59
- package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
- package/lib/esm/components-react/selectable-content/SelectableContent.d.ts +48 -48
- package/lib/esm/components-react/selectable-content/SelectableContent.js +48 -48
- package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
- package/lib/esm/components-react/selectable-content/SelectableContent.scss +21 -21
- package/lib/esm/components-react/table/SimpleTableDataProvider.d.ts +56 -56
- package/lib/esm/components-react/table/SimpleTableDataProvider.js +248 -248
- package/lib/esm/components-react/table/SimpleTableDataProvider.js.map +1 -1
- package/lib/esm/components-react/table/TableDataProvider.d.ts +157 -157
- package/lib/esm/components-react/table/TableDataProvider.js +25 -25
- package/lib/esm/components-react/table/TableDataProvider.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.d.ts +225 -225
- package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.js +100 -100
- package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.scss +78 -78
- package/lib/esm/components-react/table/columnfiltering/ColumnFilteringUtilities.d.ts +13 -13
- package/lib/esm/components-react/table/columnfiltering/ColumnFilteringUtilities.js +31 -31
- package/lib/esm/components-react/table/columnfiltering/ColumnFilteringUtilities.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.d.ts +87 -87
- package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.js +188 -188
- package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/FilterableColumnBase.d.ts +57 -57
- package/lib/esm/components-react/table/columnfiltering/FilterableColumnBase.js +98 -98
- package/lib/esm/components-react/table/columnfiltering/FilterableColumnBase.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/TableColumnFilterDescriptor.d.ts +56 -56
- package/lib/esm/components-react/table/columnfiltering/TableColumnFilterDescriptor.js +358 -358
- package/lib/esm/components-react/table/columnfiltering/TableColumnFilterDescriptor.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptor.d.ts +85 -85
- package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptor.js +398 -398
- package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptor.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptorCollection.d.ts +28 -28
- package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptorCollection.js +82 -82
- package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptorCollection.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.d.ts +28 -28
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js +48 -48
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.d.ts +4 -4
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js +15 -15
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.d.ts +21 -21
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js +80 -80
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.d.ts +4 -4
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js +15 -15
- package/lib/esm/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.d.ts +18 -18
- package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js +176 -176
- package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js.map +1 -1
- package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.scss +35 -35
- package/lib/esm/components-react/table/component/ColumnDragLayer.d.ts +14 -14
- package/lib/esm/components-react/table/component/ColumnDragLayer.js +39 -39
- package/lib/esm/components-react/table/component/ColumnDragLayer.js.map +1 -1
- package/lib/esm/components-react/table/component/DragDropHeaderCell.d.ts +26 -26
- package/lib/esm/components-react/table/component/DragDropHeaderCell.js +75 -75
- package/lib/esm/components-react/table/component/DragDropHeaderCell.js.map +1 -1
- package/lib/esm/components-react/table/component/Table.d.ts +299 -299
- package/lib/esm/components-react/table/component/Table.js +1305 -1305
- package/lib/esm/components-react/table/component/Table.js.map +1 -1
- package/lib/esm/components-react/table/component/Table.scss +200 -200
- package/lib/esm/components-react/table/component/TableCell.d.ts +94 -94
- package/lib/esm/components-react/table/component/TableCell.js +105 -105
- package/lib/esm/components-react/table/component/TableCell.js.map +1 -1
- package/lib/esm/components-react/table/component/TableCell.scss +48 -48
- package/lib/esm/components-react/table/component/TableColumn.d.ts +29 -29
- package/lib/esm/components-react/table/component/TableColumn.js +28 -28
- package/lib/esm/components-react/table/component/TableColumn.js.map +1 -1
- package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.d.ts +12 -12
- package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.js +18 -18
- package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.js.map +1 -1
- package/lib/esm/components-react/table/component/dragdrop/DragDropDef.d.ts +154 -154
- package/lib/esm/components-react/table/component/dragdrop/DragDropDef.js +29 -29
- package/lib/esm/components-react/table/component/dragdrop/DragDropDef.js.map +1 -1
- package/lib/esm/components-react/table/component/dragdrop/withDragSource.d.ts +41 -41
- package/lib/esm/components-react/table/component/dragdrop/withDragSource.js +165 -165
- package/lib/esm/components-react/table/component/dragdrop/withDragSource.js.map +1 -1
- package/lib/esm/components-react/table/component/dragdrop/withDropTarget.d.ts +35 -35
- package/lib/esm/components-react/table/component/dragdrop/withDropTarget.js +126 -126
- package/lib/esm/components-react/table/component/dragdrop/withDropTarget.js.map +1 -1
- package/lib/esm/components-react/toolbar/Item.d.ts +37 -37
- package/lib/esm/components-react/toolbar/Item.js +21 -21
- package/lib/esm/components-react/toolbar/Item.js.map +1 -1
- package/lib/esm/components-react/toolbar/Item.scss +122 -122
- package/lib/esm/components-react/toolbar/ItemWrapper.d.ts +19 -19
- package/lib/esm/components-react/toolbar/ItemWrapper.js +32 -32
- package/lib/esm/components-react/toolbar/ItemWrapper.js.map +1 -1
- package/lib/esm/components-react/toolbar/ItemWrapper.scss +10 -10
- package/lib/esm/components-react/toolbar/Items.d.ts +20 -20
- package/lib/esm/components-react/toolbar/Items.js +50 -50
- package/lib/esm/components-react/toolbar/Items.js.map +1 -1
- package/lib/esm/components-react/toolbar/Items.scss +94 -94
- package/lib/esm/components-react/toolbar/Overflow.d.ts +31 -31
- package/lib/esm/components-react/toolbar/Overflow.js +45 -45
- package/lib/esm/components-react/toolbar/Overflow.js.map +1 -1
- package/lib/esm/components-react/toolbar/Overflow.scss +57 -57
- package/lib/esm/components-react/toolbar/OverflowPanel.d.ts +17 -17
- package/lib/esm/components-react/toolbar/OverflowPanel.js +42 -42
- package/lib/esm/components-react/toolbar/OverflowPanel.js.map +1 -1
- package/lib/esm/components-react/toolbar/OverflowPanel.scss +37 -37
- package/lib/esm/components-react/toolbar/PopupItem.d.ts +50 -50
- package/lib/esm/components-react/toolbar/PopupItem.js +77 -77
- package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
- package/lib/esm/components-react/toolbar/PopupItem.scss +86 -86
- package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts +22 -22
- package/lib/esm/components-react/toolbar/PopupItemWithDrag.js +144 -144
- package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
- package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts +14 -14
- package/lib/esm/components-react/toolbar/PopupItemsPanel.js +116 -116
- package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
- package/lib/esm/components-react/toolbar/Toolbar.d.ts +32 -32
- package/lib/esm/components-react/toolbar/Toolbar.js +68 -68
- package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
- package/lib/esm/components-react/toolbar/Toolbar.scss +18 -18
- package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts +150 -150
- package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js +445 -445
- package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
- package/lib/esm/components-react/toolbar/_variables.scss +34 -34
- package/lib/esm/components-react/toolbar/groupPanel/BackArrow.d.ts +19 -19
- package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js +23 -23
- package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
- package/lib/esm/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
- package/lib/esm/components-react/toolbar/groupPanel/Column.d.ts +17 -17
- package/lib/esm/components-react/toolbar/groupPanel/Column.js +17 -17
- package/lib/esm/components-react/toolbar/groupPanel/Column.js.map +1 -1
- package/lib/esm/components-react/toolbar/groupPanel/Column.scss +9 -9
- package/lib/esm/components-react/toolbar/groupPanel/Columns.d.ts +17 -17
- package/lib/esm/components-react/toolbar/groupPanel/Columns.js +17 -17
- package/lib/esm/components-react/toolbar/groupPanel/Columns.js.map +1 -1
- package/lib/esm/components-react/toolbar/groupPanel/Columns.scss +10 -10
- package/lib/esm/components-react/toolbar/groupPanel/Panel.d.ts +18 -18
- package/lib/esm/components-react/toolbar/groupPanel/Panel.js +19 -19
- package/lib/esm/components-react/toolbar/groupPanel/Panel.js.map +1 -1
- package/lib/esm/components-react/toolbar/groupPanel/Panel.scss +17 -17
- package/lib/esm/components-react/toolbar/groupPanel/Title.d.ts +17 -17
- package/lib/esm/components-react/toolbar/groupPanel/Title.js +17 -17
- package/lib/esm/components-react/toolbar/groupPanel/Title.js.map +1 -1
- package/lib/esm/components-react/toolbar/groupPanel/Title.scss +34 -34
- package/lib/esm/components-react/toolbar/groupPanel/_variables.scss +16 -16
- package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.d.ts +16 -16
- package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js +21 -21
- package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
- package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
- package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.d.ts +38 -38
- package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js +36 -36
- package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
- package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.scss +146 -146
- package/lib/esm/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
- package/lib/esm/components-react/toolbar/useDragInteraction.d.ts +14 -14
- package/lib/esm/components-react/toolbar/useDragInteraction.js +102 -102
- package/lib/esm/components-react/toolbar/useDragInteraction.js.map +1 -1
- package/lib/esm/components-react/toolbar/utilities/Direction.d.ts +49 -49
- package/lib/esm/components-react/toolbar/utilities/Direction.js +89 -89
- package/lib/esm/components-react/toolbar/utilities/Direction.js.map +1 -1
- package/lib/esm/components-react/tree/HighlightingEngine.d.ts +51 -51
- package/lib/esm/components-react/tree/HighlightingEngine.js +38 -38
- package/lib/esm/components-react/tree/HighlightingEngine.js.map +1 -1
- package/lib/esm/components-react/tree/HighlightingEngine.scss +7 -7
- package/lib/esm/components-react/tree/ImageLoader.d.ts +18 -18
- package/lib/esm/components-react/tree/ImageLoader.js +21 -21
- package/lib/esm/components-react/tree/ImageLoader.js.map +1 -1
- package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts +25 -25
- package/lib/esm/components-react/tree/SimpleTreeDataProvider.js +37 -37
- package/lib/esm/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
- package/lib/esm/components-react/tree/TreeComponentTestId.d.ts +15 -15
- package/lib/esm/components-react/tree/TreeComponentTestId.js +20 -20
- package/lib/esm/components-react/tree/TreeComponentTestId.js.map +1 -1
- package/lib/esm/components-react/tree/TreeDataProvider.d.ts +118 -118
- package/lib/esm/components-react/tree/TreeDataProvider.js +47 -47
- package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/Observable.d.ts +87 -87
- package/lib/esm/components-react/tree/controlled/Observable.js +20 -20
- package/lib/esm/components-react/tree/controlled/Observable.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/TreeActions.d.ts +20 -20
- package/lib/esm/components-react/tree/controlled/TreeActions.js +8 -8
- package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts +38 -38
- package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js +220 -220
- package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts +61 -61
- package/lib/esm/components-react/tree/controlled/TreeEventHandler.js +80 -80
- package/lib/esm/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/TreeEvents.d.ts +108 -108
- package/lib/esm/components-react/tree/controlled/TreeEvents.js +8 -8
- package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/TreeHooks.d.ts +47 -47
- package/lib/esm/components-react/tree/controlled/TreeHooks.js +74 -74
- package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/TreeModel.d.ts +229 -229
- package/lib/esm/components-react/tree/controlled/TreeModel.js +324 -324
- package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/TreeModelSource.d.ts +33 -33
- package/lib/esm/components-react/tree/controlled/TreeModelSource.js +64 -64
- package/lib/esm/components-react/tree/controlled/TreeModelSource.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/TreeNodeLoader.d.ts +155 -155
- package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js +319 -319
- package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts +60 -60
- package/lib/esm/components-react/tree/controlled/component/ControlledTree.js +84 -84
- package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +102 -102
- package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts +25 -25
- package/lib/esm/components-react/tree/controlled/component/NodeContent.js +63 -63
- package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/component/NodeContent.scss +28 -28
- package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts +31 -31
- package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js +34 -34
- package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +42 -42
- package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js +41 -41
- package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts +75 -75
- package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js +226 -226
- package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/internal/SparseTree.d.ts +71 -71
- package/lib/esm/components-react/tree/controlled/internal/SparseTree.js +239 -239
- package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.d.ts +30 -30
- package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js +122 -122
- package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +51 -51
- package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js +248 -248
- package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
- package/lib/esm/components-react.d.ts +215 -215
- package/lib/esm/components-react.js +220 -220
- package/lib/esm/components-react.js.map +1 -1
- package/lib/public/locales/en/UiComponents.json +139 -139
- package/package.json +11 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BeInspireTree.js","sourceRoot":"","sources":["../../../../src/components-react/breadcrumb/BeInspireTree.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;;;;AAEH,sDAA6D;AAC7D,gEAAqD;AACrD,mCAAqC;AACrC,sDAAyD;AACzD,0DAAgD;AAChD,kDAA+E;AAE/E,kDAA+C;AAE/C,uBAAuB;AAEvB;;;GAGG;AACH,IAAY,kBAqBX;AArBD,WAAY,kBAAkB;IAC5B,wDAAkC,CAAA;IAClC,wDAAkC,CAAA;IAClC,gDAA0B,CAAA;IAC1B,sDAAgC,CAAA;IAChC,kDAA4B,CAAA;IAC5B,8CAAwB,CAAA;IACxB,kDAA4B,CAAA;IAC5B,kDAA4B,CAAA;IAC5B,sDAAgC,CAAA;IAChC,wDAAkC,CAAA;IAClC,gDAA0B,CAAA;IAC1B,oDAA8B,CAAA;IAC9B,kDAA4B,CAAA;IAC5B,gDAA0B,CAAA;IAC1B,8CAAwB,CAAA;IACxB,sDAAgC,CAAA;IAChC,kDAA4B,CAAA;IAC5B,oDAA8B,CAAA;IAC9B,8CAAwB,CAAA;IACxB,sDAAgC,CAAA;AAClC,CAAC,EArBW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAqB7B;AAkHD;;;;GAIG;AACH,MAAa,iBAAiB;IAM5B,YACU,OAA6B,EAC7B,KAA6C,EAC7C,OAAkD,EAClD,KAA8C,EAC9C,OAA8F,EACtG,iCAAyC,CAAC;QALlC,YAAO,GAAP,OAAO,CAAsB;QAC7B,UAAK,GAAL,KAAK,CAAwC;QAC7C,YAAO,GAAP,OAAO,CAA2C;QAClD,UAAK,GAAL,KAAK,CAAyC;QAC9C,YAAO,GAAP,OAAO,CAAuF;QAThG,0BAAqB,GAAW,CAAC,CAAC;QAClC,aAAQ,GAAG,KAAK,CAAC;QAUvB,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC5C,CAAC;IAEO,IAAI,CAAC,8BAAsC;QACjD,IAAI,CAAC,KAAK,8BAA8B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACzD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,IAAI,EAAE,IAAI,CAAC,qBAAqB,IAAI,8BAA8B,EAAE;gBAClE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,uBAAuB;gBACvB,IAAI,IAAI,CAAC,cAAc,EAAE;oBACvB,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;iBACjC;aACF;QACH,CAAC,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAEM,OAAO;QACZ,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;SACjC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ;YAChB,OAAO;QAET,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK;YACzB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;CACF;AAjDD,8CAiDC;AAuBD;;;GAGG;AACH,MAAa,aAAa;IAUxB,YAAY,KAAuC;QAgGnD,gEAAgE;QACxD,WAAM,GAAG,CAAC,MAA4B,EAAE,EAAE;YAChD,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBACpB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;;oBAE5B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAE,GAAG,CAAC,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;YACH,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,SAAS;gBACzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAS,CAAC,CAAC,CAAC;;gBAE1D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC,CAAC;QAEF,gEAAgE;QACxD,aAAQ,GAAG,CAAC,MAA4B,EAAE,EAAE;YAClD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC1C,IAAI,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC1C,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,CAAC;oBAC9C,OAAO,KAAK,CAAC;gBACf,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;gBACvC,OAAO,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAClC,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC;QAEF,gEAAgE;QACxD,WAAM,GAAG,CAAC,MAA4B,EAAE,EAAE;YAChD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC;QA7HA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;QAE7B,MAAM,eAAe,GAAG,gBAAgB,CAAe,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACtH,IAAI,eAAe,YAAY,wBAAwB;YACrD,IAAI,CAAC,uBAAuB,GAAG,eAAyD,CAAC;QAC3F,MAAM,MAAM,GAAmB;YAC7B,IAAI,EAAE,eAAsB;YAC5B,SAAS,EAAE;gBACT,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,KAAK;aACpB;SACF,CAAC;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,sBAAW,CAAC,MAAM,CAAC,CAAC;QAErC,gDAAgD;QAChD,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC,KAAuC,EAAE,EAAE;YAClF,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,cAAc,EAAE,CAAC,MAAuC,EAAE,EAAE;YACrF,MAAM,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,iFAAiF;QACjF,IAAI,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,UAAU,EAAE,kBAAkB,CAAC,aAAa,EAAE,kBAAkB,CAAC,YAAY,CAAC,EAAE,GAAG,EAAE;YAC/G,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAClC,CAAC,CAAC,CAAC;QAEH,4EAA4E;QAC5E,mFAAmF;QACnF,yFAAyF;QACzF,uCAAuC;QACvC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,EAAE;YAC1C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE,kBAAkB,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE;YAChF,wGAAwG;YACxG,0CAA0C;YAC1C,uBAAuB;YACvB,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;gBACnC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;aACtC;QACH,CAAC,CAAC,CAAC;QAEH,8DAA8D;QAC9D,0EAA0E;QAC1E,sEAAsE;QACtE,mCAAmC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACrC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,MAAM,EAA8B,EAAE;YAC7D,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC3D,MAAM,IAAA,oBAAK,EAAC,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;gBAC9C,MAAM,uBAAuB,CAAC,MAAM,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,uDAAuD;QACvD,IAAI,KAAK,CAAC,yBAAyB,EAAE;YACnC,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,YAAY,CAAC;gBAC7C,MAAM,IAAI,wBAAO,CAAC,2BAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,mFAAmF,CAAC,CAAC;YAC5I,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC,IAAqC,EAAE,EAAE;gBAClF,IAAI,IAAI,CAAC,uBAAuB;oBAC9B,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,CAAC,CAAC,CAAC;SACJ;QAED,iCAAiC;QACjC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,aAAa,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACjD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACjB,sEAAsE;YACtE,8CAA8C;YAC9C,MAAM,IAAA,oBAAK,EAAC,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;gBAC9C,MAAM,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAW,KAAK,KAAoB,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAEhE;;;OAGG;IACI,IAAI,CAAC,MAA4B;QACtC,OAAO,IAAI,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnE,CAAC;IAkCD;;;;OAIG;IACI,cAAc,CAAC,4BAAoC,CAAC;QACzD,MAAM,MAAM,GAAG,CAAC,MAA4B,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE;gBAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACrB;QACH,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,CAAC,MAA4B,EAAE,QAAoC,EAAE,EAAE;YACtF,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3D,CAAC,CAAC;QACF,OAAO,IAAI,iBAAiB,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAC1F,MAAM,EAAE,QAAQ,EAAE,yBAAyB,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACI,YAAY;QACjB,IAAI,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,wCAAwC;IACjC,EAAE,CAAC,KAAgD,EAAE,QAAoC;QAC9F,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACnB,mGAAmG;YACnG,sEAAsE;YACtE,MAAM,sBAAsB,GAAG,CAAC,CAAC,CAAC,KAAK,kBAAkB,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;mBACxG,CAAC,CAAC,KAAK,kBAAkB,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;YACvF,IAAI,sBAAsB;gBACxB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;;gBAEhF,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yCAAyC;IAClC,cAAc,CAAC,KAAgD,EAAE,QAAoC;QAC1G,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iDAAiD;IAC1C,kBAAkB,CAAC,KAAiD;QACzE,IAAI,CAAC,KAAK,EAAE;YACV,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YACzC,OAAO;SACR;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAA,CAAC,KAAK,CAAC,CAAC;QAChF,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,0CAA0C;IACnC,IAAI,CAAC,EAAU;QACpB,OAAO,IAAA,cAAM,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,4CAA4C;IACrC,KAAK,CAAC,GAAc;QACzB,OAAO,IAAA,eAAO,EAAe,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,2CAA2C;IACpC,OAAO;QACZ,OAAO,IAAA,eAAO,EAAe,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,8CAA8C;IACvC,OAAO;QACZ,OAAO,IAAA,eAAO,EAAe,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,wCAAwC;IACjC,QAAQ;QACb,OAAO,IAAA,eAAO,EAAe,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,yCAAyC;IAClC,SAAS;QACd,OAAO,IAAA,eAAO,EAAe,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,wCAAwC;IACjC,QAAQ;QACb,OAAO,IAAA,eAAO,EAAe,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,uCAAuC;IAChC,OAAO;QACZ,IAAI,CAAC,IAAI,CAAC,cAAc;YACtB,IAAI,CAAC,cAAc,GAAG,IAAA,eAAO,EAAe,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,sBAAsB;IACf,KAAK,CAAC,MAAM;QACjB,IAAI,IAAI,CAAC,uBAAuB;YAC9B,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,IAAA,oBAAK,EAAC,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC9C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5C,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,UAAU,GAAG,IAAI;QAClC,IAAA,oBAAK,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;YAC/E,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACI,sBAAsB,CAAC,KAAsC,EAAE,KAAsC;QAC1G,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;QACpB,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;YAC9C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE;gBACpB,UAAU,GAAG,CAAC,CAAC;YACjB,IAAI,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE;gBACpB,QAAQ,GAAG,CAAC,CAAC;YACf,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC;gBACtC,MAAM;SACT;QAED,IAAI,UAAU,GAAG,QAAQ;YACvB,CAAC,UAAU,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAElD,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACI,aAAa,CAAC,KAAsC,EAAE,KAAsC,EAAE,UAAU,GAAG,IAAI;QACpH,OAAO,IAAA,oBAAK,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;YACpF,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC/D,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;YACxC,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,2BAA2B,CAAC,aAA+D;QACjG,IAAI,CAAC,aAAa;YAChB,OAAO,SAAS,CAAC;QAEnB,IAAI,SAA+B,CAAC;QACpC,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE;YACvC,SAAS,GAAG,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,IAAA,cAAM,EAAe,CAAC,CAAC,CAAC,OAAO,IAAI,aAAa,CAAC,IAAA,cAAM,EAAe,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC;SAC3H;aAAM;YACL,SAAS,GAAG,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,OAAO,CAAC,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC;SACpF;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,eAAe,CAAC,aAAwD,EAAE,aAA0E,EAAE,UAAmB;QAC/K,MAAM,SAAS,GAAG,IAAI,CAAC,2BAA2B,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS;YACZ,OAAO;QAET,IAAA,oBAAK,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,YAAY,EAAE,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE;YAChH,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;YAChC,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,mBAAmB,CAAC,aAA+D,EAAE,UAAU,GAAG,IAAI;QAC3G,MAAM,UAAU,GAAG,CAAC,SAA+B,EAAE,EAAE;YACrD,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC3B,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAClC,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;oBAC/B,CAAC,CAAC,MAAM,EAAE,CAAC;qBACR,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,QAAQ,EAAE;oBACpC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACI,oBAAoB,CAAC,KAA2D,EAAE,aAA+D,EAAE,UAAU,GAAG,IAAI;QACzK,MAAM,UAAU,GAAG,CAAC,SAA+B,EAAE,EAAE;YACrD,IAAI,QAA4B,CAAC;YACjC,IAAK,KAA2B,CAAC,QAAQ,KAAK,SAAS;gBACrD,QAAQ,GAAI,KAA2B,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;;gBAE1E,QAAQ,GAAI,KAA0C,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3E,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;IACrE,CAAC;IAEO,sBAAsB,CAAC,IAAqC,EAAE,MAAoB;QACxF,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,KAAM,CAAC,eAAe,KAAK,MAAM,CAAC,OAAO,EAAE;YAClD,IAAI,CAAC,KAAM,CAAC,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC;YAC7C,UAAU,GAAG,IAAI,CAAC;SACnB;QACD,IAAI,IAAI,CAAC,KAAM,CAAC,KAAM,CAAC,eAAe,KAAK,MAAM,CAAC,SAAS,EAAE;YAC3D,IAAI,CAAC,KAAM,CAAC,KAAM,CAAC,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC;YACtD,UAAU,GAAG,IAAI,CAAC;SACnB;QACD,IAAI,IAAI,CAAC,KAAM,CAAC,KAAM,CAAC,gBAAgB,KAAK,MAAM,CAAC,UAAU,EAAE;YAC7D,IAAI,CAAC,KAAM,CAAC,KAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC;YACxD,UAAU,GAAG,IAAI,CAAC;SACnB;QACD,IAAI,MAAM,CAAC,KAAK,KAAK,0BAAa,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAM,CAAC,KAAM,CAAC,OAAO,EAAE;YACpE,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,UAAU,GAAG,IAAI,CAAC;SACnB;aAAM,IAAI,MAAM,CAAC,KAAK,KAAK,0BAAa,CAAC,GAAG,IAAI,IAAI,CAAC,KAAM,CAAC,KAAM,CAAC,OAAO,EAAE;YAC3E,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,UAAU,GAAG,IAAI,CAAC;SACnB;QACD,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,oBAAoB,CAAC,YAA+E,EAAE,UAAU,GAAG,IAAI;QAClI,MAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,qBAAqB,CAAC,KAAuC,EAAE,YAA+E,EAAE,UAAU,GAAG,IAAI;QAC5K,MAAM,IAAA,oBAAK,EAAC,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC/C,MAAM,IAAA,oBAAK,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC3H,MAAM,QAAQ,GAAG,IAAI,KAAK,EAAiB,CAAC;gBAC5C,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBAClB,IAAI,CAAC,CAAC,CAAC,OAAO;wBACZ,OAAO;oBAET,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;oBACvC,IAAI,IAAA,0BAAa,EAAC,MAAM,CAAC;wBACvB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;;wBAErE,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBAC3C,CAAC,CAAC,CAAC;gBACH,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;oBACvB,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;IACT,qBAAqB,CAAC,KAAa,EAAE,MAAwC;QAClF,MAAM,IAAI,GAAG,IAAA,cAAM,EAAe,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACtD,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,KAAK,GAAG;YACrD,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,SAAgB;YACzB,aAAa,EAAE,IAAI;SACpB,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,eAAe,CAAC,MAAmD,EAAE,KAAa;QAC7F,IAAI,CAAC,IAAI,CAAC,uBAAuB;YAC/B,MAAM,IAAI,wBAAO,CAAC,2BAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,kEAAkE,CAAC,CAAC;QAC3H,OAAO,IAAI,CAAC,uBAAuB,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACrE,CAAC;IAED,gBAAgB;IACT,KAAK,CAAC,SAAS;QACpB,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,KAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;CACF;AAlbD,sCAkbC;AAED,KAAK,UAAU,qBAAqB,CAAC,CAAmB,EAAE,aAAuB;IAC/E,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,YAAY,EAAE,CAAC;IACxC,MAAM,oBAAoB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACpD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,CAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,EAAE,IAAI,CAAE,CAAS,CAAC,iBAAiB,EAAE,CAAC;AAElH,KAAK,UAAU,oBAAoB,CAAC,MAA8C,EAAE,aAAuB;IACzG,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC;IAC/E,MAAM,WAAW,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QAChE,IAAI,mBAAmB,CAAC,CAAC,CAAC;YACxB,OAAO,qBAAqB,CAAC,IAAA,cAAM,EAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;QACzD,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAA4B,EAAE,IAAuB,EAAE,EAAE;QACpE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACvB,OAAO,QAAQ,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,uBAAuB,CAAC,WAAW,CAAC,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,MAA8C;IACnF,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC,EAAG,CAAC,CAAC;IACjF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QACxB,MAAM,oBAAoB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACpD,CAAC;AAED,gBAAgB;AACT,MAAM,MAAM,GAAG,CAAW,WAA6B,EAA+B,EAAE;IAC7F,iHAAiH;IACjH,sHAAsH;IAEtH,MAAM,OAAO,GAAG,WAAkB,CAAC;IACnC,IAAI,CAAC,WAAW,EAAE;QAChB,sFAAsF;QACtF,0CAA0C;QAC1C,OAAO,OAAO,CAAC;KAChB;IAED,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE;QACnC,MAAM,gBAAgB,GAAG,WAAW,CAAC,YAAY,CAAC;QAClD,WAAW,CAAC,YAAY,GAAG,KAAK;YAC9B,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnD,wEAAwE;YACxE,mFAAmF;YACnF,MAAM,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YACxC,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;QACF,OAAO,CAAC,sBAAsB,GAAG,gBAAgB,CAAC;KACnD;IAED,oEAAoE;IACpE,kCAAkC;IAClC,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;QAC5B,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC;QACpC,OAAO,CAAC,KAAK,GAAG;YACd,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,KAAM,CAAC,KAAM,CAAC,OAAO,EAAE;gBAC/B,IAAI,CAAC,KAAM,CAAC,KAAM,CAAC,OAAO,GAAG,IAAI,CAAC;gBAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBACtD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;aAC3B;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QACF,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;KACrC;IACD,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE;QAC9B,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;QACxC,OAAO,CAAC,OAAO,GAAG;YAChB,uBAAuB;YACvB,IAAI,IAAI,CAAC,KAAM,CAAC,KAAM,CAAC,OAAO,EAAE;gBAC9B,IAAI,CAAC,KAAM,CAAC,KAAM,CAAC,OAAO,GAAG,KAAK,CAAC;gBACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;gBACxD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;aAC3B;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QACF,OAAO,CAAC,iBAAiB,GAAG,WAAW,CAAC;KACzC;IAED,qCAAqC;IACrC,OAAO,CAAC,uBAAuB,GAAG;QAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAChD,OAAO,IAAI,CAAC,sBAAsB,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;QAClC,OAAO,IAAI,CAAC,eAAe,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACtC,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC,CAAC;IAEF,iDAAiD;IACjD,OAAO,CAAC,OAAO,GAAG,cAAc,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,QAAQ,GAAG,UAAU,KAAc;QACzC,IAAI,KAAK;YACP,IAAI,CAAC,SAAS,EAAE,CAAC;;YAEjB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAC7B,CAAC,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;QAChC,MAAM,aAAa,GAAG,WAAW,CAAC,SAAS,CAAC;QAC5C,OAAO,CAAC,SAAS,GAAG;YAClB,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,MAAM,aAAa,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,aAAa,EAAE;gBAC/C,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC;aAC3B;iBAAM;gBACL,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,aAAa,CAAC;gBAC1C,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;aAC7B;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,OAAO,CAAC,mBAAmB,GAAG,aAAa,CAAC;KAC7C;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAzFW,QAAA,MAAM,UAyFjB;AAEF,gBAAgB;AACT,MAAM,OAAO,GAAG,CAAW,YAA+B,EAAgC,EAAE;IACjG,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,cAAM,EAAW,CAAC,CAAC,CAAC,EAAE;QACjE,IAAI,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,IAAA,cAAM,EAAW,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7D,KAAK,EAAE,CAAC,GAAc,EAAE,EAAE,CAAC,IAAA,eAAO,EAAW,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,eAAO,EAAW,YAAY,CAAC,OAAO,EAAE,CAAC;QACxD,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,eAAO,EAAW,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAClE,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAA,eAAO,EAAW,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC1D,SAAS,EAAE,GAAG,EAAE,CAAC,IAAA,eAAO,EAAW,YAAY,CAAC,SAAS,EAAE,CAAC;QAC5D,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAA,eAAO,EAAW,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC1D,OAAO,EAAE,GAAG,EAAE,CAAC,IAAA,eAAO,EAAW,YAAY,CAAC,OAAO,EAAE,CAAC;KACzD,CAAC,CAAC;AACL,CAAC,CAAC;AAXW,QAAA,OAAO,WAWlB;AAEF,MAAM,uBAAuB,GAAG,CAAC,GAAY,EAAkD,EAAE;IAC/F,OAAO,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC;WAC3B,CAAE,GAAW,CAAC,aAAa,IAAI,CAAC,OAAQ,GAAW,CAAC,aAAa,CAAC,KAAK,UAAU,CAAC;WAClF,CAAE,GAAW,CAAC,QAAQ,IAAI,CAAC,OAAQ,GAAW,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC,CAAC;AAChF,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,QAAwC,EAAW,EAAE;IACnF,OAAO,CAAC,OAAO,QAAQ,KAAK,UAAU,CAAC,IAAI,uBAAuB,CAAC,QAAQ,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAW,IAA+C,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAEvH,MAAM,qBAAqB;IACzB,YACU,KAA8B,EAC9B,8BAAyE;QADzE,UAAK,GAAL,KAAK,CAAyB;QAC9B,mCAA8B,GAA9B,8BAA8B,CAA2C;QAE5E,aAAQ,GAAG,CAAC,OAAiB,EAA4C,EAAE,CAAC,CAAC;YAClF,GAAG,IAAI,CAAC,8BAA8B,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC;YAC9D,aAAa,EAAE,IAAI,CAAC,KAAK;YACzB,OAAO;SACR,CAAC,CAAC;QACI,cAAS,GAAG,CAAC,OAAmB,EAAmD,EAAE;YAC1F,OAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC,CAAC;IARF,CAAC;CASF;AAED,SAAS,kBAAkB,CAAW,MAA+C,EAAE,KAAsD;IAC3I,IAAI,MAAM,EAAE;QACV,8EAA8E;QAC9E,wFAAwF;QACxF,mFAAmF;QACnF,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;KAC1D;AACH,CAAC;AAED,MAAM,gBAAgB,GAAG,CAAW,IAA6B,EAAE,QAA6C,EAAE,6BAAwE,EAA+B,EAAE;IACzN,MAAM,QAAQ,GAAG,IAAI,qBAAqB,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC;IAEhF,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC3B,sBAAsB;QACtB,OAAO,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;KACrC;IAED,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;QAClC,uBAAuB;QACvB,OAAO,CAAC,CAAC,MAA+C,EAAE,OAA4F,EAAE,OAA4B,EAAE,EAAE;YACtL,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACtC,mEAAmE;YACnE,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxD,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAClC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;KACJ;IAED,IAAI,uBAAuB,CAAC,QAAQ,CAAC,EAAE;QACrC,0BAA0B;QAC1B,OAAO,IAAI,wBAAwB,CAAC;YAClC,IAAI;YACJ,QAAQ;YACR,aAAa,EAAE,QAAQ;SACxB,CAAC,CAAC;KACJ;IAED,wBAAwB;IACxB,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC,CAAC;AAYF,MAAM,wBAAmC,SAAQ,yBAAgB;IAQ/D,YAAmB,KAA8C;QAC/D,KAAK,CAAC,aAAa,CAAC,CAAC;QAJf,kBAAa,GAAG,IAAI,GAAG,EAA6F,CAAC;QACrH,qBAAgB,GAAG,IAAI,GAAG,EAAsB,CAAC;QAWlD,oBAAe,GAAG,KAAK,EAAE,MAA+C,EAAE,KAAa,EAAiB,EAAE;YAC/G,IAAI,CAAC,IAAI,CAAC,iBAAiB;gBACzB,MAAM,IAAI,wBAAO,CAAC,2BAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,kEAAkE,CAAC,CAAC;YAC3H,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9E,CAAC,CAAC;QAeF,gDAAgD;QACxC,eAAU,GAAG,KAAK,EAAE,QAA4B,EAAE,SAAiB,EAAsC,EAAE;YACjH,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,MAAM,aAAa,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAElE,MAAM,qBAAqB,GAAG,GAAG,EAAE;gBACjC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,yBAAyB,IAAI,UAAU,IAAI,UAAU,CAAC,SAAS,EAAE;oBACpF,MAAM,IAAI,wBAAO,CAAC,2BAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,wDAAwD,CAAC,CAAC;YACnH,CAAC,CAAC;YAEF,IAAI,eAAmC,CAAC;YACxC,IAAI,UAAU,IAAI,IAAA,oBAAW,EAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAClD,eAAe,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;aACnD;iBAAM,IAAI,CAAC,UAAU,EAAE;gBACtB,IAAI,cAAc,GAAG,CAAC,CAAC;gBACvB,IAAI;oBAAE,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC;iBAAE;gBAAC,OAAO,CAAC,EAAE,GAAG;gBACjE,IAAI,cAAc,GAAG,CAAC;oBACpB,eAAe,GAAG,cAAc,CAAC;aACpC;YACD,IAAI,SAAS,KAAK,eAAe,EAAE;gBACjC,eAAe,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;gBACpE,qBAAqB,EAAE,CAAC;aACzB;YAED,MAAM,IAAI,GAAgB;gBACxB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,IAAI,CAAC,iBAAkB,CAAC,QAAQ;aACvC,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YACjE,qBAAqB,EAAE,CAAC;YACxB,OAAO;gBACL,eAAe;gBACf,KAAK;aACN,CAAC;QACJ,CAAC,CAAC;QAEF,iEAAiE;QACzD,kBAAa,GAAG,KAAK,EAAE,QAA4B,EAAE,SAAiB,EAAE,MAAiC,EAAE,EAAE;YACnH,mBAAmB;YACnB,MAAM,KAAK,GAAG;gBACZ,KAAK,EAAE,MAAM,CAAC,eAAe;gBAC7B,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;aACnD,CAAC;YACF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAExC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;gBAC3C,iEAAiE;gBACjE,gEAAgE;gBAChE,qEAAqE;gBACrE,wDAAwD;gBACxD,MAAM,IAAA,oBAAK,EAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;oBACpD,6DAA6D;oBAC7D,iEAAiE;oBACjE,IAAI,QAAQ;wBACV,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAE,CAAC,YAAY,EAAE,CAAC;;wBAEhD,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;gBACjC,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;QArFA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC;QAC1C,IAAI,SAAS,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ;YAC5E,IAAI,CAAC,iBAAiB,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAClH,CAAC;IAQM,iBAAiB,CAAC,IAAkC;QACzD,IAAI,CAAC,IAAI,EAAE;YACT,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,iBAAiB;gBACxB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;SACnD;aAAM;YACL,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAA,cAAM,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,IAAI,CAAC,iBAAiB;gBACxB,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACjD;IACH,CAAC;IA+DO,sBAAsB,CAAC,MAA+C;QAC5E,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAChD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,eAAO,EAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9E,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,EAAE;YACV,0CAA0C;YAC1C,OAAO,SAAgB,CAAC;SACzB;QACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEpC,uDAAuD;QACvD,2BAA2B;QAC3B,MAAM,aAAa,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7C,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;gBAC9B,aAAa,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE;YACpC,IAAI,aAAa,CAAC,CAAC,CAAC;gBAClB,SAAS;YACX,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;gBAChB,SAAS,CAAC,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC;gBACvC,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;aACjC;iBAAM;gBACL,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;aAChE;SACF;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,sDAAsD;IACtD,6DAA6D;IACrD,WAAW,CAAC,MAA+C,EAAE,OAA4F;QAC/J,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,8DAA8D;YAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACpD,mEAAmE;YACnE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBACjD,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACtD,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAClC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YACH,OAAO;SACR;QAED,qBAAqB;QACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAChD,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,0EAA0E;YAC1E,6EAA6E;YAC7E,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAChF,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,YAAY,IAAI,IAAA,oBAAW,EAAC,YAAY,CAAC,QAAQ,CAAC,EAAE;gBACtD,0CAA0C;gBAC1C,YAAY,CAAC,QAAQ,GAAG,IAAI,CAAC;aAC9B;YACD,kBAAkB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAC7C,IAAI,YAAY,IAAI,YAAY,KAAK,MAAM,EAAE;gBAC3C,8EAA8E;gBAC9E,uFAAuF;gBACvF,kBAAkB;gBAClB,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;aACtC;YACD,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CAAC,QAAQ,CAAC,EAAE;YAC9D,2DAA2D;YAC3D,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,8DAA8D;SAC/G;aAAM;YACL,QAAQ,EAAE,CAAC;SACZ;IACH,CAAC;CACF;AAQD,MAAM,gBAAgB;IAOpB,YAAY,QAAgB,EAAE,WAA8C,EAAE,YAAiD;QAC7H,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;IACnC,CAAC;IAEO,iBAAiB,CAAC,SAAiB;QACzC,OAAO,SAAS,GAAG,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,QAA4B,EAAE,SAAiB;QACzE,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAClE,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,wBAAwB,CAAC,QAA4B;QAC1D,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/E,CAAC;IAEM,aAAa,CAAC,QAA4B;QAC/C,IAAI,CAAC,QAAQ,EAAE;YACb,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SACvC;IACH,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,QAA4B,EAAE,KAAa;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC3D,iBAAiB;YACjB,OAAO;SACR;QACD,IAAI,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,cAAc,KAAK,SAAS,EAAE;YAChC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;SACpD;QACD,IAAI,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAClD,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SACxC;QACD,MAAM,OAAO,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,QAA4B,EAAE,SAAiB,EAAE,MAAuB;QACrG,iCAAiC;QACjC,IAAI,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,EAAE;YAChB,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;SAC9C;QACD,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE3B,2CAA2C;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;YACtD,WAAW;YACX,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;SACvD;IACH,CAAC;IAEO,iBAAiB,CAAC,QAA4B,EAAE,SAAiB;QACvE,2CAA2C;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1D,uBAAuB;QACvB,IAAI,cAAc;YAChB,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;CACF","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/** @packageDocumentation\n * @module Tree\n */\n\nimport { CallableInstance } from \"callable-instance2/import\";\nimport InspireTree, * as Inspire from \"inspire-tree\";\nimport { isArrayLike } from \"lodash\";\nimport { IDisposable, using } from \"@itwin/core-bentley\";\nimport { UiError } from \"@itwin/appui-abstract\";\nimport { CheckBoxInfo, CheckBoxState, isPromiseLike } from \"@itwin/core-react\";\nimport { PageOptions } from \"../common/PageOptions\";\nimport { UiComponents } from \"../UiComponents\";\n\n// istanbul ignore file\n\n/**\n * Enum containing all events that may be emitted by [[BeInspireTree]]\n * @internal\n */\nexport enum BeInspireTreeEvent {\n ChangesApplied = \"changes.applied\",\n ChildrenLoaded = \"children.loaded\",\n DataLoaded = \"data.loaded\",\n DataLoadError = \"data.loaderror\",\n ModelLoaded = \"model.loaded\",\n NodeAdded = \"node.added\",\n NodeBlurred = \"node.blurred\",\n NodeChecked = \"node.checked\",\n NodeCollapsed = \"node.collapsed\",\n NodeDeselected = \"node.deselected\",\n NodeEdited = \"node.edited\",\n NodeExpanded = \"node.expanded\",\n NodeFocused = \"node.focused\",\n NodeHidden = \"node.hidden\",\n NodeMoved = \"node.moved\",\n NodePaginated = \"node.paginated\",\n NodeRemoved = \"node.removed\",\n NodeSelected = \"node.selected\",\n NodeShown = \"node.shown\",\n NodeUnchecked = \"node.unchecked\",\n}\n\n/** Be alias for Inspire.NodeConfig\n * @internal\n */\nexport interface BeInspireTreeNodeConfig {\n children?: BeInspireTreeNodeConfig[] | true;\n id?: string;\n text: string;\n itree?: BeInspireTreeNodeITree;\n}\n\n/** Be alias for Inspire.NodeConfig.ITree\n * @internal\n */\nexport interface BeInspireTreeNodeITree {\n icon?: string;\n checkboxTooltip?: string;\n dirtyTimestamp?: number;\n dirtyCounter?: number;\n state?: {\n checkboxVisible?: boolean;\n checkboxDisabled?: boolean;\n checked?: boolean;\n collapsed?: boolean;\n editable?: boolean;\n focused?: boolean;\n indeterminate?: boolean;\n loading?: boolean;\n selectable?: boolean;\n selected?: boolean;\n };\n}\n\n/** Data structure for [[BeInspireTreeNodeConfig]] with our injected props\n * @internal\n */\nexport interface BeInspireTreeNodePayloadConfig<TPayload> extends BeInspireTreeNodeConfig {\n /** Node's data. May be `undefined` if this is placeholder node. */\n payload?: TPayload;\n /** Index of the node at the parent level. Only set if this is a placeholder node. */\n placeholderIndex?: number;\n /** Reference to the tree */\n beInspireTree: BeInspireTree<TPayload>;\n}\n\n/** Type definition for all BeInspireTree nodes\n * @internal\n */\nexport interface BeInspireTreeNode<TPayload> extends Inspire.TreeNode, BeInspireTreeNodePayloadConfig<TPayload> {\n isDirty(): boolean;\n setDirty(value: boolean): void;\n /** @internal */\n resetBeInspireOverrides(): void;\n}\n\n/**\n * Definition of a list of [[BeInspireTreeNode]] with some additional filtering methods\n * @internal\n */\nexport interface BeInspireTreeNodes<TPayload> extends Array<BeInspireTreeNode<TPayload>> {\n node(id: string): BeInspireTreeNode<TPayload> | undefined;\n nodes(ids?: string[]): BeInspireTreeNodes<TPayload>;\n deepest(): BeInspireTreeNodes<TPayload>;\n flatten(): BeInspireTreeNodes<TPayload>;\n expanded(): BeInspireTreeNodes<TPayload>;\n collapsed(): BeInspireTreeNodes<TPayload>;\n selected(): BeInspireTreeNodes<TPayload>;\n visible(): BeInspireTreeNodes<TPayload>;\n}\n\n/** Array of tree node data elements\n * @internal\n */\nexport type BeInspireTreeDataProviderRaw<TPayload> = TPayload[];\n/** A Promise for DataProviderRaw\n * @internal\n */\nexport type BeInspireTreeDataProviderPromise<TPayload> = Promise<BeInspireTreeDataProviderRaw<TPayload>>;\n/** Signature for BeInspireTree data provider\n * @internal\n */\nexport type BeInspireTreeDataProviderMethod<TPayload> = (parent?: TPayload) => BeInspireTreeDataProviderPromise<TPayload>;\n/** Signature for BeInspireTree data provider\n * @internal\n */\nexport interface BeInspireTreeDataProviderInterface<TPayload> {\n getNodesCount(parent?: TPayload): Promise<number>;\n getNodes(parent?: TPayload, page?: PageOptions): BeInspireTreeDataProviderPromise<TPayload>;\n}\n/** Type definition for all BeInspireTree data providers\n * @internal\n */\nexport type BeInspireTreeDataProvider<TPayload> =\n BeInspireTreeDataProviderRaw<TPayload>\n | BeInspireTreeDataProviderPromise<TPayload>\n | BeInspireTreeDataProviderMethod<TPayload>\n | BeInspireTreeDataProviderInterface<TPayload>;\n\n/** Type definition for a BeInspireTree renderer\n * @internal\n */\nexport type BeInspireTreeRenderer<TPayload> = (rootNodes: Array<BeInspireTreeNode<TPayload>>) => void;\n\ntype BeInspireTreeDataFunc<TPayload> = (parent: BeInspireTreeNode<TPayload> | undefined,\n resolve: (nodes: Array<BeInspireTreeNodePayloadConfig<TPayload>>, totalCount: number) => any,\n reject: (err: Error) => any,\n pagination?: Inspire.Pagination,\n) => void;\ntype BeInspireTreeData<TPayload> =\n Array<BeInspireTreeNodePayloadConfig<TPayload>>\n | Promise<Array<BeInspireTreeNodePayloadConfig<TPayload>>>\n | BeInspireTreeDataFunc<TPayload>;\n\n/**\n * A context which keeps [[BeInspireTree]] events muted until\n * it gets disposed.\n * @internal\n */\nexport class EventsMuteContext implements IDisposable {\n\n private _triggeredEventsCount: number = 0;\n private _didMute = false;\n private _stopListening: (() => void) | undefined;\n\n public constructor(\n private _events: BeInspireTreeEvent[],\n private _mute: (events: BeInspireTreeEvent[]) => void,\n private _unmute: (events: BeInspireTreeEvent[]) => boolean,\n private _emit?: (events: BeInspireTreeEvent[]) => void,\n private _listen?: (events: BeInspireTreeEvent[], listener: (...values: any[]) => void) => (() => void),\n allowedEventTriggersBeforeMute: number = 0) {\n this.init(allowedEventTriggersBeforeMute);\n }\n\n private init(allowedEventTriggersBeforeMute: number) {\n if (0 === allowedEventTriggersBeforeMute || !this._listen) {\n this._mute(this._events);\n this._didMute = true;\n return;\n }\n const callback = () => {\n if (++this._triggeredEventsCount >= allowedEventTriggersBeforeMute) {\n this._mute(this._events);\n this._didMute = true;\n // istanbul ignore else\n if (this._stopListening) {\n this._stopListening();\n this._stopListening = undefined;\n }\n }\n };\n this._stopListening = this._listen(this._events, callback);\n }\n\n public dispose() {\n if (this._stopListening) {\n this._stopListening();\n this._stopListening = undefined;\n }\n\n if (!this._didMute)\n return;\n\n const didUnmute = this._unmute(this._events);\n if (didUnmute && this._emit)\n this._emit(this._events);\n }\n}\n\n/** Prototype for BeInspireTreeProps.mapPayloadToInspireNodeConfig\n * @internal\n */\nexport type MapPayloadToInspireNodeCallback<TPayload> = (payload: TPayload, remapper: MapPayloadToInspireNodeCallback<TPayload>) => BeInspireTreeNodeConfig;\n\ninterface DeferredLoadingHandler<TPayload> {\n requestNodeLoad(parent: BeInspireTreeNode<TPayload> | undefined, index: number): Promise<void>;\n disposeNodeCaches(parent?: BeInspireTreeNode<TPayload>): void;\n}\n\n/**\n * Configuration properties for [[BeInspireTree]]\n * @internal\n */\nexport interface BeInspireTreeProps<TNodePayload> {\n dataProvider: BeInspireTreeDataProvider<TNodePayload>;\n mapPayloadToInspireNodeConfig: MapPayloadToInspireNodeCallback<TNodePayload>;\n pageSize?: number;\n disposeChildrenOnCollapse?: boolean;\n}\n\n/**\n * Bentley wrapper for 'inspire-tree'\n * @internal\n */\nexport class BeInspireTree<TNodePayload> {\n\n private _tree: InspireTree;\n private _eventMutes: Map<BeInspireTreeEvent, number>;\n private _readyPromise!: Promise<void>;\n private _deferredLoadingHandler?: DeferredLoadingHandler<TNodePayload>;\n private _visibleCached?: BeInspireTreeNodes<TNodePayload>;\n private _suspendedRendering?: EventsMuteContext;\n public props: BeInspireTreeProps<TNodePayload>;\n\n constructor(props: BeInspireTreeProps<TNodePayload>) {\n this.props = props;\n this._eventMutes = new Map();\n\n const wrappedProvider = wrapDataProvider<TNodePayload>(this, props.dataProvider, props.mapPayloadToInspireNodeConfig);\n if (wrappedProvider instanceof WrappedInterfaceProvider)\n this._deferredLoadingHandler = wrappedProvider as WrappedInterfaceProvider<TNodePayload>;\n const config: Inspire.Config = {\n data: wrappedProvider as any, // note: invalid declaration for this callback\n selection: {\n multiple: true,\n autoDeselect: false,\n },\n };\n this._tree = new InspireTree(config);\n\n // make sure nodes are dirty when they're loaded\n this.on(BeInspireTreeEvent.ModelLoaded, (model: BeInspireTreeNodes<TNodePayload>) => {\n model.forEach((n) => n.markDirty());\n });\n this.on(BeInspireTreeEvent.ChildrenLoaded, (parent: BeInspireTreeNode<TNodePayload>) => {\n parent.getChildren().forEach((n) => n.markDirty());\n });\n\n // dispose `visible` cache when data is loaded or nodes are expanded or collapsed\n this.on([BeInspireTreeEvent.DataLoaded, BeInspireTreeEvent.NodeCollapsed, BeInspireTreeEvent.NodeExpanded], () => {\n this._visibleCached = undefined;\n });\n\n // we want to allow consumers of `BeInspireTree` to listen for `ModelLoaded`\n // and `ChildrenLoaded` events and do any kind of manipulation with them **before**\n // `ChangesApplied` event is emitted, so we have to suspend rendering when data is loaded\n // and resume it in `*Loaded` listener.\n this.on(BeInspireTreeEvent.DataLoaded, () => {\n this._suspendedRendering = this.pauseRendering();\n });\n this.on([BeInspireTreeEvent.ModelLoaded, BeInspireTreeEvent.ChildrenLoaded], () => {\n // NODES_LOADED_LAST_LISTENER: this listener must be executed last of all ModelLoaded and ChildrenLoaded\n // listeners to avoid excessive re-renders\n // istanbul ignore else\n if (this._suspendedRendering) {\n this._suspendedRendering.dispose();\n this._suspendedRendering = undefined;\n }\n });\n\n // override the `load` function to handle auto-expanding nodes\n // note: tree starts loading as soon as it gets created, so the first load\n // is not using this override - in that case auto-expansion is handled\n // in `onModelInvalidated` function\n const baseTreeLoad = this._tree.load;\n this._tree.load = async (loader): Promise<Inspire.TreeNodes> => {\n const result = await baseTreeLoad.call(this._tree, loader);\n await using(this.pauseRendering(), async (_r) => {\n await ensureNodesAutoExpanded(result);\n });\n return result;\n };\n\n // assign `disposeChildrenOnCollapse` handler if needed\n if (props.disposeChildrenOnCollapse) {\n if (!isDeferredDataProvider(props.dataProvider))\n throw new UiError(UiComponents.loggerCategory(this), `Property 'disposeChildrenOnCollapse' is only available on deferred data providers`);\n this.on(BeInspireTreeEvent.NodeCollapsed, (node: BeInspireTreeNode<TNodePayload>) => {\n if (this._deferredLoadingHandler)\n this._deferredLoadingHandler.disposeNodeCaches(node);\n node.children = true;\n });\n }\n\n // invalidate our `ready` promise\n this.onModelInvalidated();\n }\n\n private onModelInvalidated() {\n this._readyPromise = new Promise<void>((resolve) => {\n this._tree.once([BeInspireTreeEvent.ModelLoaded], resolve);\n }).then(async () => {\n // note: the following is only needed for the initial load of the tree\n // when our `load` override isn't assigned yet\n await using(this.pauseRendering(), async (_r) => {\n await ensureNodesAutoExpanded(this._tree.nodes());\n });\n });\n }\n\n public get ready(): Promise<void> { return this._readyPromise; }\n\n /**\n * Stop emitting the specified events until the returned\n * [[EventsMuteContext]] object is disposed\n */\n public mute(events: BeInspireTreeEvent[]): EventsMuteContext {\n return new EventsMuteContext(events, this.doMute, this.doUnmute);\n }\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n private doMute = (events: BeInspireTreeEvent[]) => {\n events.forEach((ev) => {\n if (!this._eventMutes.has(ev))\n this._eventMutes.set(ev, 1);\n else\n this._eventMutes.set(ev, this._eventMutes.get(ev)! + 1);\n });\n if (typeof this._tree.muted() !== \"boolean\")\n this._tree.mute(events.concat(this._tree.muted() as any));\n else\n this._tree.mute(events);\n };\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n private doUnmute = (events: BeInspireTreeEvent[]) => {\n const eventsToUnmute = events.filter((ev) => {\n let mutesCount = this._eventMutes.get(ev);\n if (mutesCount === undefined || mutesCount === 0)\n return false;\n this._eventMutes.set(ev, --mutesCount);\n return (mutesCount === 0);\n });\n this._tree.unmute(eventsToUnmute);\n return (eventsToUnmute.length > 0);\n };\n\n // eslint-disable-next-line @typescript-eslint/naming-convention\n private doEmit = (events: BeInspireTreeEvent[]) => {\n events.forEach((e) => this._tree.emit(e));\n };\n\n /**\n * Stop calling the renderer method until the returned\n * object is disposed. When that happens, the [[BeInspireTreeEvent.ChangesApplied]]\n * event is emitted if any changes in the hierarchy happened during the pause\n */\n public pauseRendering(allowedRendersBeforePause: number = 0): EventsMuteContext {\n const doEmit = (events: BeInspireTreeEvent[]) => {\n if (this.visible().some((n) => n.isDirty())) {\n this.doEmit(events);\n }\n };\n const doListen = (events: BeInspireTreeEvent[], listener: (...values: any[]) => void) => {\n this.on(events, listener);\n return () => this._tree.removeListener(events, listener);\n };\n return new EventsMuteContext([BeInspireTreeEvent.ChangesApplied], this.doMute, this.doUnmute,\n doEmit, doListen, allowedRendersBeforePause);\n }\n\n /**\n * Request a new render of current model.\n *\n * @internal\n */\n public applyChanges() {\n this.doEmit([BeInspireTreeEvent.ChangesApplied]);\n }\n\n /** Add a listener for specific event */\n public on(event: BeInspireTreeEvent | BeInspireTreeEvent[], listener: (...values: any[]) => void): this {\n const events = Array.isArray(event) ? event : [event];\n events.forEach((e) => {\n // note: we want our specific listener to be executed last, so have to make sure no other listeners\n // are appended to the listeners list (see NODES_LOADED_LAST_LISTENER)\n const shouldInsertBeforeLast = ((e === BeInspireTreeEvent.ModelLoaded && this._tree.listeners(e).length >= 2)\n || (e === BeInspireTreeEvent.ChildrenLoaded && this._tree.listeners(e).length >= 2));\n if (shouldInsertBeforeLast)\n this._tree.listeners(e).splice(this._tree.listeners(e).length - 1, 0, listener);\n else\n this._tree.on(e, listener);\n });\n return this;\n }\n\n /** Remove listener for specific event */\n public removeListener(event: BeInspireTreeEvent | BeInspireTreeEvent[], listener: (...values: any[]) => void): this {\n const events = Array.isArray(event) ? event : [event];\n events.forEach((e) => this._tree.removeListener(e, listener));\n return this;\n }\n\n /** Remove all listeners for specific event(s) */\n public removeAllListeners(event?: BeInspireTreeEvent | BeInspireTreeEvent[]) {\n if (!event) {\n this._tree.removeAllListeners(undefined);\n return;\n }\n const events = Array.isArray(event) ? event : /* istanbul ignore next */[event];\n events.forEach((e) => this._tree.removeAllListeners(e));\n }\n\n /** Get root node with the specified id */\n public node(id: string): BeInspireTreeNode<TNodePayload> | undefined {\n return toNode(this._tree.node(id));\n }\n\n /** Get root nodes with the specified ids */\n public nodes(ids?: string[]) {\n return toNodes<TNodePayload>(this._tree.nodes(ids));\n }\n\n /** Get flat list of all available nodes */\n public flatten() {\n return toNodes<TNodePayload>(this._tree.flatten(() => true));\n }\n\n /** Get a flat list of available leaf nodes */\n public deepest() {\n return toNodes<TNodePayload>(this._tree.deepest());\n }\n\n /** Get a flat list of expanded nodes */\n public expanded() {\n return toNodes<TNodePayload>(this._tree.expanded());\n }\n\n /** Get a flat list of collapsed nodes */\n public collapsed() {\n return toNodes<TNodePayload>(this._tree.collapsed());\n }\n\n /** Get a flat list of selected nodes */\n public selected() {\n return toNodes<TNodePayload>(this._tree.selected());\n }\n\n /** Get a flat list of visible nodes */\n public visible() {\n if (!this._visibleCached)\n this._visibleCached = toNodes<TNodePayload>(this._tree.visible());\n return this._visibleCached;\n }\n\n /** Reload the tree */\n public async reload() {\n if (this._deferredLoadingHandler)\n this._deferredLoadingHandler.disposeNodeCaches(undefined);\n await using(this.pauseRendering(), async (_r) => {\n const rootNodes = await this._tree.reload();\n rootNodes.forEach((n) => toNode(n).setDirty(true));\n });\n }\n\n /**\n * Deselects all nodes\n */\n public deselectAll(muteEvents = true) {\n using(this.mute((muteEvents) ? [BeInspireTreeEvent.NodeDeselected] : []), (_r) => {\n this._tree.deselectDeep();\n });\n }\n\n /**\n * Returns all visible nodes that are located between the two input nodes (inclusive).\n * Input nodes can be provided in any order.\n */\n public getVisibleNodesBetween(node1: BeInspireTreeNode<TNodePayload>, node2: BeInspireTreeNode<TNodePayload>): Array<BeInspireTreeNode<TNodePayload>> {\n let startIndex = -1;\n let endIndex = -1;\n for (let i = 0; i < this.visible().length; ++i) {\n const vn = this.visible()[i];\n if (vn.id === node1.id)\n startIndex = i;\n if (vn.id === node2.id)\n endIndex = i;\n if (startIndex !== -1 && endIndex !== -1)\n break;\n }\n\n if (startIndex > endIndex)\n [startIndex, endIndex] = [endIndex, startIndex];\n\n return this.visible().slice(startIndex, endIndex + 1);\n }\n\n /**\n * Selects all visible nodes that are located between the two input nodes (inclusive).\n * Input nodes can be provided in any order.\n */\n public selectBetween(node1: BeInspireTreeNode<TNodePayload>, node2: BeInspireTreeNode<TNodePayload>, muteEvents = true): Array<BeInspireTreeNode<TNodePayload>> {\n return using(this.mute((muteEvents) ? [BeInspireTreeEvent.NodeSelected] : []), (_r) => {\n const nodesBetween = this.getVisibleNodesBetween(node1, node2);\n nodesBetween.forEach((n) => n.select());\n return nodesBetween;\n });\n }\n\n private createSelectedNodePredicate(nodesToSelect?: string[] | ((payload: TNodePayload) => boolean)): Inspire.NodeIteratee | undefined {\n if (!nodesToSelect)\n return undefined;\n\n let predicate: Inspire.NodeIteratee;\n if (typeof nodesToSelect === \"function\") {\n predicate = (n: Inspire.TreeNode) => (toNode<TNodePayload>(n).payload && nodesToSelect(toNode<TNodePayload>(n).payload!));\n } else {\n predicate = (n: Inspire.TreeNode) => (-1 !== nodesToSelect.indexOf(toNode(n).id!));\n }\n return predicate;\n }\n\n private updateSelection(selectHandler: (predicate: Inspire.NodeIteratee) => void, nodesToSelect: string[] | ((payload: TNodePayload) => boolean) | undefined, muteEvents: boolean) {\n const predicate = this.createSelectedNodePredicate(nodesToSelect);\n if (!predicate)\n return;\n\n using(this.mute((muteEvents) ? [BeInspireTreeEvent.NodeSelected, BeInspireTreeEvent.NodeDeselected] : []), (_r) => {\n this._tree.disableDeselection();\n selectHandler(predicate);\n this._tree.enableDeselection();\n });\n }\n\n /**\n * Deselects everything and selects only nodes that meet the `nodesToSelect` criteria\n */\n public updateTreeSelection(nodesToSelect?: string[] | ((payload: TNodePayload) => boolean), muteEvents = true) {\n const selectFunc = (predicate: Inspire.NodeIteratee) => {\n this.flatten().forEach((n) => {\n const shouldSelect = predicate(n);\n if (shouldSelect && !n.selected())\n n.select();\n else if (!shouldSelect && n.selected())\n n.deselect();\n });\n };\n return this.updateSelection(selectFunc, nodesToSelect, muteEvents);\n }\n\n /**\n * Updates selection state of provided `nodes` based on `nodesToSelect` criteria\n */\n public updateNodesSelection(nodes: BeInspireTreeNodes<TNodePayload> | Inspire.TreeNodes, nodesToSelect?: string[] | ((payload: TNodePayload) => boolean), muteEvents = true) {\n const selectFunc = (predicate: Inspire.NodeIteratee) => {\n let filtered: Inspire.TreeNode[];\n if ((nodes as Inspire.TreeNodes).filterBy !== undefined)\n filtered = (nodes as Inspire.TreeNodes).filterBy(predicate).map((n) => n);\n else\n filtered = (nodes as BeInspireTreeNodes<TNodePayload>).filter(predicate);\n filtered.forEach((node) => node.select());\n };\n return this.updateSelection(selectFunc, nodesToSelect, muteEvents);\n }\n\n private updateNodeCheckboxInfo(node: BeInspireTreeNode<TNodePayload>, status: CheckBoxInfo) {\n let hasChanges = false;\n if (node.itree!.checkboxTooltip !== status.tooltip) {\n node.itree!.checkboxTooltip = status.tooltip;\n hasChanges = true;\n }\n if (node.itree!.state!.checkboxVisible !== status.isVisible) {\n node.itree!.state!.checkboxVisible = status.isVisible;\n hasChanges = true;\n }\n if (node.itree!.state!.checkboxDisabled !== status.isDisabled) {\n node.itree!.state!.checkboxDisabled = status.isDisabled;\n hasChanges = true;\n }\n if (status.state === CheckBoxState.On && !node.itree!.state!.checked) {\n node.check();\n hasChanges = true;\n } else if (status.state === CheckBoxState.Off && node.itree!.state!.checked) {\n node.uncheck();\n hasChanges = true;\n }\n if (hasChanges) {\n node.markDirty();\n this.applyChanges();\n }\n }\n\n /**\n * Updates checkbox states of the whole tree using the `checkboxInfo` callback function\n */\n public async updateTreeCheckboxes(checkboxInfo: ((payload: TNodePayload) => CheckBoxInfo | Promise<CheckBoxInfo>), muteEvents = true) {\n await this.updateNodesCheckboxes(this.flatten(), checkboxInfo, muteEvents);\n }\n\n /**\n * Updates checkbox states of provided `nodes` based on `checkboxInfo` callback function\n */\n public async updateNodesCheckboxes(nodes: BeInspireTreeNodes<TNodePayload>, checkboxInfo: ((payload: TNodePayload) => CheckBoxInfo | Promise<CheckBoxInfo>), muteEvents = true) {\n await using(this.pauseRendering(), async (_r1) => {\n await using(this.mute((muteEvents) ? [BeInspireTreeEvent.NodeChecked, BeInspireTreeEvent.NodeUnchecked] : []), async (_r2) => {\n const promises = new Array<Promise<void>>();\n nodes.forEach((n) => {\n if (!n.payload)\n return;\n\n const status = checkboxInfo(n.payload);\n if (isPromiseLike(status))\n promises.push(status.then((s) => this.updateNodeCheckboxInfo(n, s)));\n else\n this.updateNodeCheckboxInfo(n, status);\n });\n if (promises.length !== 0)\n await Promise.all(promises);\n });\n });\n }\n\n /** @internal */\n public createPlaceholderNode(index: number, parent?: BeInspireTreeNode<TNodePayload>): BeInspireTreeNode<TNodePayload> {\n const node = toNode<TNodePayload>(this._tree.createNode({\n id: `${parent ? parent.id : \"\"}-not_loaded[${index}]`,\n text: \"\",\n payload: undefined as any,\n beInspireTree: this,\n }));\n node.placeholderIndex = index;\n return node;\n }\n\n /**\n * Request a node at the specified index to be loaded for the given parent. Only\n * makes sense on a paginated tree, throws otherwise.\n */\n public async requestNodeLoad(parent: BeInspireTreeNode<TNodePayload> | undefined, index: number): Promise<void> {\n if (!this._deferredLoadingHandler)\n throw new UiError(UiComponents.loggerCategory(this), `requestNodeLoad should only be called when pagination is enabled`);\n return this._deferredLoadingHandler.requestNodeLoad(parent, index);\n }\n\n /** @internal */\n public async loadNodes(): Promise<void> {\n await this._tree.load((this._tree as any).config.data);\n }\n}\n\nasync function loadChildrenRecursive(n: Inspire.TreeNode, filterNodeIds: string[]): Promise<Inspire.TreeNodes> {\n const children = await n.loadChildren();\n await ensureChildrenLoaded(children, filterNodeIds);\n return children;\n}\n\nconst needsChildrenLoaded = (n: Inspire.TreeNode) => n.hasOrWillHaveChildren() && !(n as any).hasLoadedChildren();\n\nasync function ensureChildrenLoaded(branch: Inspire.TreeNodes | Inspire.TreeNode[], filterNodeIds: string[]): Promise<void> {\n const childNodes = branch.filter((n) => filterNodeIds.includes(toNode(n).id!));\n const allChildren = (await Promise.all(childNodes.map(async (n) => {\n if (needsChildrenLoaded(n))\n return loadChildrenRecursive(toNode(n), filterNodeIds);\n return n.getChildren();\n }))).reduce((children: Inspire.TreeNode[], curr: Inspire.TreeNodes) => {\n children.push(...curr);\n return children;\n }, []);\n await ensureNodesAutoExpanded(allChildren);\n}\n\nasync function ensureNodesAutoExpanded(branch: Inspire.TreeNodes | Inspire.TreeNode[]): Promise<void> {\n const idsToExpand = branch.filter((n) => n.expanded()).map((n) => toNode(n).id!);\n if (idsToExpand.length > 0)\n await ensureChildrenLoaded(branch, idsToExpand);\n}\n\n/** @internal */\nexport const toNode = <TPayload>(inspireNode: Inspire.TreeNode): BeInspireTreeNode<TPayload> => {\n // When inspire-tree loads child nodes, some existing nodes transfer their properties to freshly created objects.\n // Therefore, we cannot capture and use the `inspireNode` reference within methods we are about to assign to the node.\n\n const anyNode = inspireNode as any;\n if (!inspireNode) {\n // some inspire tree methods return `undefined` even when they say they don't - handle\n // the case by returning undefined as well\n return anyNode;\n }\n\n if (!anyNode._loadChildrenOverriden) {\n const loadChildrenBase = inspireNode.loadChildren;\n inspireNode.loadChildren = async function (): Promise<Inspire.TreeNodes> {\n const children = await loadChildrenBase.call(this);\n // note: inspire-tree calls BeInspireTreeEvent.ChildrenLoaded as part of\n // the above call, so listeners get called before we get a chance to auto-expand...\n await ensureNodesAutoExpanded(children);\n return children;\n };\n anyNode._loadChildrenOverriden = loadChildrenBase;\n }\n\n // note: default `check()` & `uncheck()` implementations fiddle with\n // parent node which we don't want\n if (!anyNode._checkOverriden) {\n const checkBase = inspireNode.check;\n anyNode.check = function (): Inspire.TreeNode {\n // istanbul ignore else\n if (!this.itree!.state!.checked) {\n this.itree!.state!.checked = true;\n this._tree.emit(BeInspireTreeEvent.NodeChecked, this);\n this.markDirty();\n this._tree.applyChanges();\n }\n return this;\n };\n anyNode._checkOverriden = checkBase;\n }\n if (!anyNode._uncheckOverriden) {\n const uncheckBase = inspireNode.uncheck;\n anyNode.uncheck = function (): Inspire.TreeNode {\n // istanbul ignore else\n if (this.itree!.state!.checked) {\n this.itree!.state!.checked = false;\n this._tree.emit(BeInspireTreeEvent.NodeUnchecked, this);\n this.markDirty();\n this._tree.applyChanges();\n }\n return this;\n };\n anyNode._uncheckOverriden = uncheckBase;\n }\n\n // inject a method to reset overrides\n anyNode.resetBeInspireOverrides = function () {\n this.loadChildren = this._loadChildrenOverriden;\n delete this._loadChildrenOverriden;\n this.check = this._checkOverriden;\n delete this._checkOverriden;\n this.uncheck = this._uncheckOverriden;\n delete this._uncheckOverriden;\n };\n\n // inject a couple of methods to handle dirtiness\n anyNode.isDirty = function () { return this.itree.dirty; };\n anyNode.setDirty = function (value: boolean) {\n if (value)\n this.markDirty();\n else\n this.itree.dirty = value;\n };\n if (!anyNode._markDirtyOverriden) {\n const markDirtyBase = inspireNode.markDirty;\n anyNode.markDirty = function () {\n const result = markDirtyBase.call(this);\n const currTimestamp = (new Date()).getTime();\n if (this.itree.dirtyTimestamp === currTimestamp) {\n ++this.itree.dirtyCounter;\n } else {\n this.itree.dirtyTimestamp = currTimestamp;\n this.itree.dirtyCounter = 0;\n }\n return result;\n };\n anyNode._markDirtyOverriden = markDirtyBase;\n }\n\n return anyNode;\n};\n\n/** @internal */\nexport const toNodes = <TPayload>(inspireNodes: Inspire.TreeNodes): BeInspireTreeNodes<TPayload> => {\n return Object.assign(inspireNodes.map((n) => toNode<TPayload>(n)), {\n node: (id: string) => toNode<TPayload>(inspireNodes.node(id)),\n nodes: (ids?: string[]) => toNodes<TPayload>(inspireNodes.nodes(ids)),\n deepest: () => toNodes<TPayload>(inspireNodes.deepest()),\n flatten: () => toNodes<TPayload>(inspireNodes.flatten(() => true)),\n expanded: () => toNodes<TPayload>(inspireNodes.expanded()),\n collapsed: () => toNodes<TPayload>(inspireNodes.collapsed()),\n selected: () => toNodes<TPayload>(inspireNodes.selected()),\n visible: () => toNodes<TPayload>(inspireNodes.visible()),\n });\n};\n\nconst isDataProviderInterface = (obj: unknown): obj is BeInspireTreeDataProviderInterface<any> => {\n return (typeof obj === \"object\")\n && ((obj as any).getNodesCount && (typeof (obj as any).getNodesCount) === \"function\")\n && ((obj as any).getNodes && (typeof (obj as any).getNodes) === \"function\");\n};\n\nconst isDeferredDataProvider = (provider: BeInspireTreeDataProvider<any>): boolean => {\n return (typeof provider === \"function\") || isDataProviderInterface(provider);\n};\n\nconst nodeToPayload = <TPayload>(node?: BeInspireTreeNodePayloadConfig<TPayload>) => (node ? node.payload : undefined);\n\nclass PayloadToNodeRemapper<TPayload> {\n constructor(\n private _tree: BeInspireTree<TPayload>,\n private _mapPayloadToInspireNodeConfig: MapPayloadToInspireNodeCallback<TPayload>) {\n }\n public remapOne = (payload: TPayload): BeInspireTreeNodePayloadConfig<TPayload> => ({\n ...this._mapPayloadToInspireNodeConfig(payload, this.remapOne),\n beInspireTree: this._tree,\n payload,\n });\n public remapMany = (payload: TPayload[]): Array<BeInspireTreeNodePayloadConfig<TPayload>> => {\n return payload.map(this.remapOne);\n };\n}\n\nfunction onNodesDelayLoaded<TPayload>(parent: BeInspireTreeNode<TPayload> | undefined, nodes: Array<BeInspireTreeNodePayloadConfig<TPayload>>) {\n if (parent) {\n // inspire-tree emits `data.loaded` event only when root nodes are loaded, but\n // we also need it to be emitted when children are loaded - we depend on it being called\n // after the children are loaded but before the `children.loaded` event is emitted.\n parent.tree().emit(BeInspireTreeEvent.DataLoaded, nodes);\n }\n}\n\nconst wrapDataProvider = <TPayload>(tree: BeInspireTree<TPayload>, provider: BeInspireTreeDataProvider<TPayload>, mapPayloadToInspireNodeConfig: MapPayloadToInspireNodeCallback<TPayload>): BeInspireTreeData<TPayload> => {\n const remapper = new PayloadToNodeRemapper(tree, mapPayloadToInspireNodeConfig);\n\n if (Array.isArray(provider)) {\n // array data provider\n return remapper.remapMany(provider);\n }\n\n if (typeof provider === \"function\") {\n // method data provider\n return ((parent: BeInspireTreeNode<TPayload> | undefined, resolve: (nodes: Array<BeInspireTreeNodePayloadConfig<TPayload>>, totalCount: number) => any, _reject: (err: Error) => any) => {\n const payload = nodeToPayload(parent);\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n provider(payload).then(remapper.remapMany).then((nodes) => {\n onNodesDelayLoaded(parent, nodes);\n resolve(nodes, nodes.length);\n });\n });\n }\n\n if (isDataProviderInterface(provider)) {\n // interface data provider\n return new WrappedInterfaceProvider({\n tree,\n provider,\n nodesRemapper: remapper,\n });\n }\n\n // promise data provider\n return provider.then(remapper.remapMany);\n};\n\ninterface NodesLoadResult<TPayload> {\n totalNodesCount: number;\n nodes: TPayload[];\n}\n\ninterface WrappedInterfaceProviderProps<TPayload> {\n tree: BeInspireTree<TPayload>;\n provider: BeInspireTreeDataProviderInterface<TPayload>;\n nodesRemapper: PayloadToNodeRemapper<TPayload>;\n}\nclass WrappedInterfaceProvider<TPayload> extends CallableInstance implements DeferredLoadingHandler<TPayload> {\n private _tree: BeInspireTree<TPayload>;\n private _provider: BeInspireTreeDataProviderInterface<TPayload>;\n private _paginationHelper?: PaginationHelper<NodesLoadResult<TPayload>>;\n private _nodesRemapper: PayloadToNodeRemapper<TPayload>;\n private _stashedPages = new Map<string | undefined, { total: number, pages: Array<{ start: number, nodes: TPayload[] }> }>();\n private _initialRequests = new Set<string | undefined>();\n\n public constructor(props: WrappedInterfaceProviderProps<TPayload>) {\n super(\"inspireLoad\");\n this._tree = props.tree;\n this._provider = props.provider;\n this._nodesRemapper = props.nodesRemapper;\n if (undefined !== this._tree.props.pageSize && 0 !== this._tree.props.pageSize)\n this._paginationHelper = new PaginationHelper(this._tree.props.pageSize, this._pagedLoad, this._onPageLoaded);\n }\n\n public requestNodeLoad = async (parent: BeInspireTreeNode<TPayload> | undefined, index: number): Promise<void> => {\n if (!this._paginationHelper)\n throw new UiError(UiComponents.loggerCategory(this), `requestNodeLoad should only be called when pagination is enabled`);\n await this._paginationHelper.request(parent ? parent.id : undefined, index);\n };\n\n public disposeNodeCaches(node?: BeInspireTreeNode<TPayload>) {\n if (!node) {\n this._stashedPages.clear();\n if (this._paginationHelper)\n this._paginationHelper.disposeCaches(undefined);\n } else {\n node.getChildren().forEach((c) => this.disposeNodeCaches(toNode(c)));\n this._stashedPages.delete(node.id);\n if (this._paginationHelper)\n this._paginationHelper.disposeCaches(node.id);\n }\n }\n\n /** Called by PaginationHelper to load a page */\n private _pagedLoad = async (parentId: string | undefined, pageStart: number): Promise<NodesLoadResult<TPayload>> => {\n const parentNode = parentId ? this._tree.node(parentId) : undefined;\n const parentPayload = parentNode ? parentNode.payload : undefined;\n\n const handleCollapsedParent = () => {\n if (this._tree.props.disposeChildrenOnCollapse && parentNode && parentNode.collapsed())\n throw new UiError(UiComponents.loggerCategory(this), `Parent node collapsed while children were being loaded`);\n };\n\n let totalNodesCount: number | undefined;\n if (parentNode && isArrayLike(parentNode.children)) {\n totalNodesCount = parentNode.getChildren().length;\n } else if (!parentNode) {\n let rootNodesCount = 0;\n try { rootNodesCount = this._tree.nodes().length; } catch (e) { }\n if (rootNodesCount > 0)\n totalNodesCount = rootNodesCount;\n }\n if (undefined === totalNodesCount) {\n totalNodesCount = await this._provider.getNodesCount(parentPayload);\n handleCollapsedParent();\n }\n\n const page: PageOptions = {\n start: pageStart,\n size: this._paginationHelper!.pageSize,\n };\n const nodes = await this._provider.getNodes(parentPayload, page);\n handleCollapsedParent();\n return {\n totalNodesCount,\n nodes,\n };\n };\n\n /** Called by PaginationHelper when a page is finished loading */\n private _onPageLoaded = async (parentId: string | undefined, pageStart: number, result: NodesLoadResult<TPayload>) => {\n // stash the result\n const stash = {\n total: result.totalNodesCount,\n pages: [{ start: pageStart, nodes: result.nodes }],\n };\n this._stashedPages.set(parentId, stash);\n\n if (!this._initialRequests.delete(parentId)) {\n // because the load is going to happen almost synchronously (just\n // merge current nodes with stash), there's no point to show the\n // `loading` state and then re-render with `completed` state + nodes.\n // instead, just pause rendering until we have the nodes\n await using(this._tree.pauseRendering(), async (_r) => {\n // request children for `parent` to reload - the load handler\n // will merge the current children with stash (see `inspireLoad`)\n if (parentId)\n await this._tree.node(parentId)!.loadChildren();\n else\n await this._tree.loadNodes();\n });\n }\n };\n\n private createPagedNodesResult(parent: BeInspireTreeNode<TPayload> | undefined): Array<BeInspireTreeNodePayloadConfig<TPayload>> {\n const parentId = parent ? parent.id : undefined;\n const currNodes = parent ? toNodes(parent.getChildren()) : this._tree.nodes();\n const stash = this._stashedPages.get(parentId);\n if (!stash) {\n // nothing in stash - return current nodes\n return currNodes as any;\n }\n this._stashedPages.delete(parentId);\n\n // merge current nodes with stash content, fill missing\n // pieces with placeholders\n const resolvedNodes = new Array(stash.total);\n stash.pages.forEach((page) => {\n page.nodes.forEach((n, index) => {\n resolvedNodes[page.start + index] = this._nodesRemapper.remapOne(n);\n });\n });\n for (let i = 0; i < stash.total; ++i) {\n if (resolvedNodes[i])\n continue;\n if (currNodes[i]) {\n currNodes[i].resetBeInspireOverrides();\n resolvedNodes[i] = currNodes[i];\n } else {\n resolvedNodes[i] = this._tree.createPlaceholderNode(i, parent);\n }\n }\n return resolvedNodes;\n }\n\n /** Called by inspire-tree through CallableInstance */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n private inspireLoad(parent: BeInspireTreeNode<TPayload> | undefined, resolve: (nodes: Array<BeInspireTreeNodePayloadConfig<TPayload>>, totalCount: number) => any) {\n if (!this._paginationHelper) {\n // pagination is disabled - just load all nodes for the parent\n const payload = parent ? parent.payload : undefined;\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this._provider.getNodes(payload).then((payloads) => {\n const nodes = this._nodesRemapper.remapMany(payloads);\n onNodesDelayLoaded(parent, nodes);\n resolve(nodes, nodes.length);\n });\n return;\n }\n\n // paginated behavior\n const parentId = parent ? parent.id : undefined;\n const complete = () => {\n // note: the parent might be over-written due to other sibling page loads,\n // so we have to make sure we're using the right parent and not the stale one\n const actualParent = parent ? parent.beInspireTree.node(parent.id!) : undefined;\n const pagedNodes = this.createPagedNodesResult(actualParent);\n if (actualParent && isArrayLike(actualParent.children)) {\n // reset so concat doesn't duplicate nodes\n actualParent.children = true;\n }\n onNodesDelayLoaded(actualParent, pagedNodes);\n if (actualParent && actualParent !== parent) {\n // if the `parent` is indeed stale, then calling resolve won't add child nodes\n // to the tree - we have to additionally add them to the actual parent that's not stale\n // see VSTS#152885\n actualParent.addChildren(pagedNodes);\n }\n resolve(pagedNodes, pagedNodes.length);\n };\n if (!this._paginationHelper.hasOrWillHaveLoadedPages(parentId)) {\n // parent has no children yet - initiate a request and wait\n this._initialRequests.add(parentId);\n this.requestNodeLoad(parent, 0).then(complete); // eslint-disable-line @typescript-eslint/no-floating-promises\n } else {\n complete();\n }\n }\n}\ninterface WrappedInterfaceProvider<TPayload> {\n // eslint-disable-next-line @typescript-eslint/prefer-function-type\n (parent: BeInspireTreeNode<TPayload> | undefined, resolve: (nodes: Array<BeInspireTreeNodePayloadConfig<TPayload>>, totalCount: number) => any): void;\n}\n\ntype PagedLoadHandler<TLoadResult> = (parentId: string | undefined, pageStart: number) => Promise<TLoadResult>;\ntype PageLoadedCallback<TLoadResult> = (parentId: string | undefined, pageStart: number, result: TLoadResult) => Promise<void>;\nclass PaginationHelper<TPageLoadResult> {\n public readonly pageSize: number;\n private _loadedPages: Map<string | undefined, Set<number>>;\n private _requestedPages: Map<string | undefined, Map<number, Promise<void>>>;\n private _loadHandler: PagedLoadHandler<TPageLoadResult>;\n private _onPageLoaded: PageLoadedCallback<TPageLoadResult>;\n\n constructor(pageSize: number, loadHandler: PagedLoadHandler<TPageLoadResult>, onPageLoaded: PageLoadedCallback<TPageLoadResult>) {\n this.pageSize = pageSize;\n this._loadHandler = loadHandler;\n this._onPageLoaded = onPageLoaded;\n this._loadedPages = new Map();\n this._requestedPages = new Map();\n }\n\n private getPageStartIndex(nodeIndex: number) {\n return nodeIndex - nodeIndex % this.pageSize;\n }\n\n private async createRequest(parentId: string | undefined, pageStart: number): Promise<void> {\n return this._loadHandler(parentId, pageStart).then(async (result) => {\n await this.onRequestHandled(parentId, pageStart, result);\n }).catch(() => {\n this.onRequestRejected(parentId, pageStart);\n });\n }\n\n public hasOrWillHaveLoadedPages(parentId: string | undefined): boolean {\n return this._loadedPages.has(parentId) || this._requestedPages.has(parentId);\n }\n\n public disposeCaches(parentId: string | undefined) {\n if (!parentId) {\n this._loadedPages.clear();\n this._requestedPages.clear();\n } else {\n this._loadedPages.delete(parentId);\n this._requestedPages.delete(parentId);\n }\n }\n\n public async request(parentId: string | undefined, index: number): Promise<void> {\n const pageStart = this.getPageStartIndex(index);\n const loadedPages = this._loadedPages.get(parentId);\n if (loadedPages !== undefined && loadedPages.has(pageStart)) {\n // already loaded\n return;\n }\n let requestedPages = this._requestedPages.get(parentId);\n if (requestedPages === undefined) {\n requestedPages = new Map();\n this._requestedPages.set(parentId, requestedPages);\n }\n let request = requestedPages.get(pageStart);\n if (!request) {\n request = this.createRequest(parentId, pageStart);\n requestedPages.set(pageStart, request);\n }\n await request;\n }\n\n private async onRequestHandled(parentId: string | undefined, pageStart: number, result: TPageLoadResult) {\n // add the request to loaded list\n let loadedPages = this._loadedPages.get(parentId);\n if (!loadedPages) {\n loadedPages = new Set();\n this._loadedPages.set(parentId, loadedPages);\n }\n loadedPages.add(pageStart);\n\n // remove request from active requests list\n const requestedPages = this._requestedPages.get(parentId);\n if (requestedPages && requestedPages.delete(pageStart)) {\n // callback\n await this._onPageLoaded(parentId, pageStart, result);\n }\n }\n\n private onRequestRejected(parentId: string | undefined, pageStart: number) {\n // remove request from active requests list\n const requestedPages = this._requestedPages.get(parentId);\n // istanbul ignore next\n if (requestedPages)\n requestedPages.delete(pageStart);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"BeInspireTree.js","sourceRoot":"","sources":["../../../../src/components-react/breadcrumb/BeInspireTree.ts"],"names":[],"mappings":"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","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/** @packageDocumentation\r\n * @module Tree\r\n */\r\n\r\nimport { CallableInstance } from \"callable-instance2/import\";\r\nimport InspireTree, * as Inspire from \"inspire-tree\";\r\nimport { isArrayLike } from \"lodash\";\r\nimport { IDisposable, using } from \"@itwin/core-bentley\";\r\nimport { UiError } from \"@itwin/appui-abstract\";\r\nimport { CheckBoxInfo, CheckBoxState, isPromiseLike } from \"@itwin/core-react\";\r\nimport { PageOptions } from \"../common/PageOptions\";\r\nimport { UiComponents } from \"../UiComponents\";\r\n\r\n// istanbul ignore file\r\n\r\n/**\r\n * Enum containing all events that may be emitted by [[BeInspireTree]]\r\n * @internal\r\n */\r\nexport enum BeInspireTreeEvent {\r\n ChangesApplied = \"changes.applied\",\r\n ChildrenLoaded = \"children.loaded\",\r\n DataLoaded = \"data.loaded\",\r\n DataLoadError = \"data.loaderror\",\r\n ModelLoaded = \"model.loaded\",\r\n NodeAdded = \"node.added\",\r\n NodeBlurred = \"node.blurred\",\r\n NodeChecked = \"node.checked\",\r\n NodeCollapsed = \"node.collapsed\",\r\n NodeDeselected = \"node.deselected\",\r\n NodeEdited = \"node.edited\",\r\n NodeExpanded = \"node.expanded\",\r\n NodeFocused = \"node.focused\",\r\n NodeHidden = \"node.hidden\",\r\n NodeMoved = \"node.moved\",\r\n NodePaginated = \"node.paginated\",\r\n NodeRemoved = \"node.removed\",\r\n NodeSelected = \"node.selected\",\r\n NodeShown = \"node.shown\",\r\n NodeUnchecked = \"node.unchecked\",\r\n}\r\n\r\n/** Be alias for Inspire.NodeConfig\r\n * @internal\r\n */\r\nexport interface BeInspireTreeNodeConfig {\r\n children?: BeInspireTreeNodeConfig[] | true;\r\n id?: string;\r\n text: string;\r\n itree?: BeInspireTreeNodeITree;\r\n}\r\n\r\n/** Be alias for Inspire.NodeConfig.ITree\r\n * @internal\r\n */\r\nexport interface BeInspireTreeNodeITree {\r\n icon?: string;\r\n checkboxTooltip?: string;\r\n dirtyTimestamp?: number;\r\n dirtyCounter?: number;\r\n state?: {\r\n checkboxVisible?: boolean;\r\n checkboxDisabled?: boolean;\r\n checked?: boolean;\r\n collapsed?: boolean;\r\n editable?: boolean;\r\n focused?: boolean;\r\n indeterminate?: boolean;\r\n loading?: boolean;\r\n selectable?: boolean;\r\n selected?: boolean;\r\n };\r\n}\r\n\r\n/** Data structure for [[BeInspireTreeNodeConfig]] with our injected props\r\n * @internal\r\n */\r\nexport interface BeInspireTreeNodePayloadConfig<TPayload> extends BeInspireTreeNodeConfig {\r\n /** Node's data. May be `undefined` if this is placeholder node. */\r\n payload?: TPayload;\r\n /** Index of the node at the parent level. Only set if this is a placeholder node. */\r\n placeholderIndex?: number;\r\n /** Reference to the tree */\r\n beInspireTree: BeInspireTree<TPayload>;\r\n}\r\n\r\n/** Type definition for all BeInspireTree nodes\r\n * @internal\r\n */\r\nexport interface BeInspireTreeNode<TPayload> extends Inspire.TreeNode, BeInspireTreeNodePayloadConfig<TPayload> {\r\n isDirty(): boolean;\r\n setDirty(value: boolean): void;\r\n /** @internal */\r\n resetBeInspireOverrides(): void;\r\n}\r\n\r\n/**\r\n * Definition of a list of [[BeInspireTreeNode]] with some additional filtering methods\r\n * @internal\r\n */\r\nexport interface BeInspireTreeNodes<TPayload> extends Array<BeInspireTreeNode<TPayload>> {\r\n node(id: string): BeInspireTreeNode<TPayload> | undefined;\r\n nodes(ids?: string[]): BeInspireTreeNodes<TPayload>;\r\n deepest(): BeInspireTreeNodes<TPayload>;\r\n flatten(): BeInspireTreeNodes<TPayload>;\r\n expanded(): BeInspireTreeNodes<TPayload>;\r\n collapsed(): BeInspireTreeNodes<TPayload>;\r\n selected(): BeInspireTreeNodes<TPayload>;\r\n visible(): BeInspireTreeNodes<TPayload>;\r\n}\r\n\r\n/** Array of tree node data elements\r\n * @internal\r\n */\r\nexport type BeInspireTreeDataProviderRaw<TPayload> = TPayload[];\r\n/** A Promise for DataProviderRaw\r\n * @internal\r\n */\r\nexport type BeInspireTreeDataProviderPromise<TPayload> = Promise<BeInspireTreeDataProviderRaw<TPayload>>;\r\n/** Signature for BeInspireTree data provider\r\n * @internal\r\n */\r\nexport type BeInspireTreeDataProviderMethod<TPayload> = (parent?: TPayload) => BeInspireTreeDataProviderPromise<TPayload>;\r\n/** Signature for BeInspireTree data provider\r\n * @internal\r\n */\r\nexport interface BeInspireTreeDataProviderInterface<TPayload> {\r\n getNodesCount(parent?: TPayload): Promise<number>;\r\n getNodes(parent?: TPayload, page?: PageOptions): BeInspireTreeDataProviderPromise<TPayload>;\r\n}\r\n/** Type definition for all BeInspireTree data providers\r\n * @internal\r\n */\r\nexport type BeInspireTreeDataProvider<TPayload> =\r\n BeInspireTreeDataProviderRaw<TPayload>\r\n | BeInspireTreeDataProviderPromise<TPayload>\r\n | BeInspireTreeDataProviderMethod<TPayload>\r\n | BeInspireTreeDataProviderInterface<TPayload>;\r\n\r\n/** Type definition for a BeInspireTree renderer\r\n * @internal\r\n */\r\nexport type BeInspireTreeRenderer<TPayload> = (rootNodes: Array<BeInspireTreeNode<TPayload>>) => void;\r\n\r\ntype BeInspireTreeDataFunc<TPayload> = (parent: BeInspireTreeNode<TPayload> | undefined,\r\n resolve: (nodes: Array<BeInspireTreeNodePayloadConfig<TPayload>>, totalCount: number) => any,\r\n reject: (err: Error) => any,\r\n pagination?: Inspire.Pagination,\r\n) => void;\r\ntype BeInspireTreeData<TPayload> =\r\n Array<BeInspireTreeNodePayloadConfig<TPayload>>\r\n | Promise<Array<BeInspireTreeNodePayloadConfig<TPayload>>>\r\n | BeInspireTreeDataFunc<TPayload>;\r\n\r\n/**\r\n * A context which keeps [[BeInspireTree]] events muted until\r\n * it gets disposed.\r\n * @internal\r\n */\r\nexport class EventsMuteContext implements IDisposable {\r\n\r\n private _triggeredEventsCount: number = 0;\r\n private _didMute = false;\r\n private _stopListening: (() => void) | undefined;\r\n\r\n public constructor(\r\n private _events: BeInspireTreeEvent[],\r\n private _mute: (events: BeInspireTreeEvent[]) => void,\r\n private _unmute: (events: BeInspireTreeEvent[]) => boolean,\r\n private _emit?: (events: BeInspireTreeEvent[]) => void,\r\n private _listen?: (events: BeInspireTreeEvent[], listener: (...values: any[]) => void) => (() => void),\r\n allowedEventTriggersBeforeMute: number = 0) {\r\n this.init(allowedEventTriggersBeforeMute);\r\n }\r\n\r\n private init(allowedEventTriggersBeforeMute: number) {\r\n if (0 === allowedEventTriggersBeforeMute || !this._listen) {\r\n this._mute(this._events);\r\n this._didMute = true;\r\n return;\r\n }\r\n const callback = () => {\r\n if (++this._triggeredEventsCount >= allowedEventTriggersBeforeMute) {\r\n this._mute(this._events);\r\n this._didMute = true;\r\n // istanbul ignore else\r\n if (this._stopListening) {\r\n this._stopListening();\r\n this._stopListening = undefined;\r\n }\r\n }\r\n };\r\n this._stopListening = this._listen(this._events, callback);\r\n }\r\n\r\n public dispose() {\r\n if (this._stopListening) {\r\n this._stopListening();\r\n this._stopListening = undefined;\r\n }\r\n\r\n if (!this._didMute)\r\n return;\r\n\r\n const didUnmute = this._unmute(this._events);\r\n if (didUnmute && this._emit)\r\n this._emit(this._events);\r\n }\r\n}\r\n\r\n/** Prototype for BeInspireTreeProps.mapPayloadToInspireNodeConfig\r\n * @internal\r\n */\r\nexport type MapPayloadToInspireNodeCallback<TPayload> = (payload: TPayload, remapper: MapPayloadToInspireNodeCallback<TPayload>) => BeInspireTreeNodeConfig;\r\n\r\ninterface DeferredLoadingHandler<TPayload> {\r\n requestNodeLoad(parent: BeInspireTreeNode<TPayload> | undefined, index: number): Promise<void>;\r\n disposeNodeCaches(parent?: BeInspireTreeNode<TPayload>): void;\r\n}\r\n\r\n/**\r\n * Configuration properties for [[BeInspireTree]]\r\n * @internal\r\n */\r\nexport interface BeInspireTreeProps<TNodePayload> {\r\n dataProvider: BeInspireTreeDataProvider<TNodePayload>;\r\n mapPayloadToInspireNodeConfig: MapPayloadToInspireNodeCallback<TNodePayload>;\r\n pageSize?: number;\r\n disposeChildrenOnCollapse?: boolean;\r\n}\r\n\r\n/**\r\n * Bentley wrapper for 'inspire-tree'\r\n * @internal\r\n */\r\nexport class BeInspireTree<TNodePayload> {\r\n\r\n private _tree: InspireTree;\r\n private _eventMutes: Map<BeInspireTreeEvent, number>;\r\n private _readyPromise!: Promise<void>;\r\n private _deferredLoadingHandler?: DeferredLoadingHandler<TNodePayload>;\r\n private _visibleCached?: BeInspireTreeNodes<TNodePayload>;\r\n private _suspendedRendering?: EventsMuteContext;\r\n public props: BeInspireTreeProps<TNodePayload>;\r\n\r\n constructor(props: BeInspireTreeProps<TNodePayload>) {\r\n this.props = props;\r\n this._eventMutes = new Map();\r\n\r\n const wrappedProvider = wrapDataProvider<TNodePayload>(this, props.dataProvider, props.mapPayloadToInspireNodeConfig);\r\n if (wrappedProvider instanceof WrappedInterfaceProvider)\r\n this._deferredLoadingHandler = wrappedProvider as WrappedInterfaceProvider<TNodePayload>;\r\n const config: Inspire.Config = {\r\n data: wrappedProvider as any, // note: invalid declaration for this callback\r\n selection: {\r\n multiple: true,\r\n autoDeselect: false,\r\n },\r\n };\r\n this._tree = new InspireTree(config);\r\n\r\n // make sure nodes are dirty when they're loaded\r\n this.on(BeInspireTreeEvent.ModelLoaded, (model: BeInspireTreeNodes<TNodePayload>) => {\r\n model.forEach((n) => n.markDirty());\r\n });\r\n this.on(BeInspireTreeEvent.ChildrenLoaded, (parent: BeInspireTreeNode<TNodePayload>) => {\r\n parent.getChildren().forEach((n) => n.markDirty());\r\n });\r\n\r\n // dispose `visible` cache when data is loaded or nodes are expanded or collapsed\r\n this.on([BeInspireTreeEvent.DataLoaded, BeInspireTreeEvent.NodeCollapsed, BeInspireTreeEvent.NodeExpanded], () => {\r\n this._visibleCached = undefined;\r\n });\r\n\r\n // we want to allow consumers of `BeInspireTree` to listen for `ModelLoaded`\r\n // and `ChildrenLoaded` events and do any kind of manipulation with them **before**\r\n // `ChangesApplied` event is emitted, so we have to suspend rendering when data is loaded\r\n // and resume it in `*Loaded` listener.\r\n this.on(BeInspireTreeEvent.DataLoaded, () => {\r\n this._suspendedRendering = this.pauseRendering();\r\n });\r\n this.on([BeInspireTreeEvent.ModelLoaded, BeInspireTreeEvent.ChildrenLoaded], () => {\r\n // NODES_LOADED_LAST_LISTENER: this listener must be executed last of all ModelLoaded and ChildrenLoaded\r\n // listeners to avoid excessive re-renders\r\n // istanbul ignore else\r\n if (this._suspendedRendering) {\r\n this._suspendedRendering.dispose();\r\n this._suspendedRendering = undefined;\r\n }\r\n });\r\n\r\n // override the `load` function to handle auto-expanding nodes\r\n // note: tree starts loading as soon as it gets created, so the first load\r\n // is not using this override - in that case auto-expansion is handled\r\n // in `onModelInvalidated` function\r\n const baseTreeLoad = this._tree.load;\r\n this._tree.load = async (loader): Promise<Inspire.TreeNodes> => {\r\n const result = await baseTreeLoad.call(this._tree, loader);\r\n await using(this.pauseRendering(), async (_r) => {\r\n await ensureNodesAutoExpanded(result);\r\n });\r\n return result;\r\n };\r\n\r\n // assign `disposeChildrenOnCollapse` handler if needed\r\n if (props.disposeChildrenOnCollapse) {\r\n if (!isDeferredDataProvider(props.dataProvider))\r\n throw new UiError(UiComponents.loggerCategory(this), `Property 'disposeChildrenOnCollapse' is only available on deferred data providers`);\r\n this.on(BeInspireTreeEvent.NodeCollapsed, (node: BeInspireTreeNode<TNodePayload>) => {\r\n if (this._deferredLoadingHandler)\r\n this._deferredLoadingHandler.disposeNodeCaches(node);\r\n node.children = true;\r\n });\r\n }\r\n\r\n // invalidate our `ready` promise\r\n this.onModelInvalidated();\r\n }\r\n\r\n private onModelInvalidated() {\r\n this._readyPromise = new Promise<void>((resolve) => {\r\n this._tree.once([BeInspireTreeEvent.ModelLoaded], resolve);\r\n }).then(async () => {\r\n // note: the following is only needed for the initial load of the tree\r\n // when our `load` override isn't assigned yet\r\n await using(this.pauseRendering(), async (_r) => {\r\n await ensureNodesAutoExpanded(this._tree.nodes());\r\n });\r\n });\r\n }\r\n\r\n public get ready(): Promise<void> { return this._readyPromise; }\r\n\r\n /**\r\n * Stop emitting the specified events until the returned\r\n * [[EventsMuteContext]] object is disposed\r\n */\r\n public mute(events: BeInspireTreeEvent[]): EventsMuteContext {\r\n return new EventsMuteContext(events, this.doMute, this.doUnmute);\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private doMute = (events: BeInspireTreeEvent[]) => {\r\n events.forEach((ev) => {\r\n if (!this._eventMutes.has(ev))\r\n this._eventMutes.set(ev, 1);\r\n else\r\n this._eventMutes.set(ev, this._eventMutes.get(ev)! + 1);\r\n });\r\n if (typeof this._tree.muted() !== \"boolean\")\r\n this._tree.mute(events.concat(this._tree.muted() as any));\r\n else\r\n this._tree.mute(events);\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private doUnmute = (events: BeInspireTreeEvent[]) => {\r\n const eventsToUnmute = events.filter((ev) => {\r\n let mutesCount = this._eventMutes.get(ev);\r\n if (mutesCount === undefined || mutesCount === 0)\r\n return false;\r\n this._eventMutes.set(ev, --mutesCount);\r\n return (mutesCount === 0);\r\n });\r\n this._tree.unmute(eventsToUnmute);\r\n return (eventsToUnmute.length > 0);\r\n };\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private doEmit = (events: BeInspireTreeEvent[]) => {\r\n events.forEach((e) => this._tree.emit(e));\r\n };\r\n\r\n /**\r\n * Stop calling the renderer method until the returned\r\n * object is disposed. When that happens, the [[BeInspireTreeEvent.ChangesApplied]]\r\n * event is emitted if any changes in the hierarchy happened during the pause\r\n */\r\n public pauseRendering(allowedRendersBeforePause: number = 0): EventsMuteContext {\r\n const doEmit = (events: BeInspireTreeEvent[]) => {\r\n if (this.visible().some((n) => n.isDirty())) {\r\n this.doEmit(events);\r\n }\r\n };\r\n const doListen = (events: BeInspireTreeEvent[], listener: (...values: any[]) => void) => {\r\n this.on(events, listener);\r\n return () => this._tree.removeListener(events, listener);\r\n };\r\n return new EventsMuteContext([BeInspireTreeEvent.ChangesApplied], this.doMute, this.doUnmute,\r\n doEmit, doListen, allowedRendersBeforePause);\r\n }\r\n\r\n /**\r\n * Request a new render of current model.\r\n *\r\n * @internal\r\n */\r\n public applyChanges() {\r\n this.doEmit([BeInspireTreeEvent.ChangesApplied]);\r\n }\r\n\r\n /** Add a listener for specific event */\r\n public on(event: BeInspireTreeEvent | BeInspireTreeEvent[], listener: (...values: any[]) => void): this {\r\n const events = Array.isArray(event) ? event : [event];\r\n events.forEach((e) => {\r\n // note: we want our specific listener to be executed last, so have to make sure no other listeners\r\n // are appended to the listeners list (see NODES_LOADED_LAST_LISTENER)\r\n const shouldInsertBeforeLast = ((e === BeInspireTreeEvent.ModelLoaded && this._tree.listeners(e).length >= 2)\r\n || (e === BeInspireTreeEvent.ChildrenLoaded && this._tree.listeners(e).length >= 2));\r\n if (shouldInsertBeforeLast)\r\n this._tree.listeners(e).splice(this._tree.listeners(e).length - 1, 0, listener);\r\n else\r\n this._tree.on(e, listener);\r\n });\r\n return this;\r\n }\r\n\r\n /** Remove listener for specific event */\r\n public removeListener(event: BeInspireTreeEvent | BeInspireTreeEvent[], listener: (...values: any[]) => void): this {\r\n const events = Array.isArray(event) ? event : [event];\r\n events.forEach((e) => this._tree.removeListener(e, listener));\r\n return this;\r\n }\r\n\r\n /** Remove all listeners for specific event(s) */\r\n public removeAllListeners(event?: BeInspireTreeEvent | BeInspireTreeEvent[]) {\r\n if (!event) {\r\n this._tree.removeAllListeners(undefined);\r\n return;\r\n }\r\n const events = Array.isArray(event) ? event : /* istanbul ignore next */[event];\r\n events.forEach((e) => this._tree.removeAllListeners(e));\r\n }\r\n\r\n /** Get root node with the specified id */\r\n public node(id: string): BeInspireTreeNode<TNodePayload> | undefined {\r\n return toNode(this._tree.node(id));\r\n }\r\n\r\n /** Get root nodes with the specified ids */\r\n public nodes(ids?: string[]) {\r\n return toNodes<TNodePayload>(this._tree.nodes(ids));\r\n }\r\n\r\n /** Get flat list of all available nodes */\r\n public flatten() {\r\n return toNodes<TNodePayload>(this._tree.flatten(() => true));\r\n }\r\n\r\n /** Get a flat list of available leaf nodes */\r\n public deepest() {\r\n return toNodes<TNodePayload>(this._tree.deepest());\r\n }\r\n\r\n /** Get a flat list of expanded nodes */\r\n public expanded() {\r\n return toNodes<TNodePayload>(this._tree.expanded());\r\n }\r\n\r\n /** Get a flat list of collapsed nodes */\r\n public collapsed() {\r\n return toNodes<TNodePayload>(this._tree.collapsed());\r\n }\r\n\r\n /** Get a flat list of selected nodes */\r\n public selected() {\r\n return toNodes<TNodePayload>(this._tree.selected());\r\n }\r\n\r\n /** Get a flat list of visible nodes */\r\n public visible() {\r\n if (!this._visibleCached)\r\n this._visibleCached = toNodes<TNodePayload>(this._tree.visible());\r\n return this._visibleCached;\r\n }\r\n\r\n /** Reload the tree */\r\n public async reload() {\r\n if (this._deferredLoadingHandler)\r\n this._deferredLoadingHandler.disposeNodeCaches(undefined);\r\n await using(this.pauseRendering(), async (_r) => {\r\n const rootNodes = await this._tree.reload();\r\n rootNodes.forEach((n) => toNode(n).setDirty(true));\r\n });\r\n }\r\n\r\n /**\r\n * Deselects all nodes\r\n */\r\n public deselectAll(muteEvents = true) {\r\n using(this.mute((muteEvents) ? [BeInspireTreeEvent.NodeDeselected] : []), (_r) => {\r\n this._tree.deselectDeep();\r\n });\r\n }\r\n\r\n /**\r\n * Returns all visible nodes that are located between the two input nodes (inclusive).\r\n * Input nodes can be provided in any order.\r\n */\r\n public getVisibleNodesBetween(node1: BeInspireTreeNode<TNodePayload>, node2: BeInspireTreeNode<TNodePayload>): Array<BeInspireTreeNode<TNodePayload>> {\r\n let startIndex = -1;\r\n let endIndex = -1;\r\n for (let i = 0; i < this.visible().length; ++i) {\r\n const vn = this.visible()[i];\r\n if (vn.id === node1.id)\r\n startIndex = i;\r\n if (vn.id === node2.id)\r\n endIndex = i;\r\n if (startIndex !== -1 && endIndex !== -1)\r\n break;\r\n }\r\n\r\n if (startIndex > endIndex)\r\n [startIndex, endIndex] = [endIndex, startIndex];\r\n\r\n return this.visible().slice(startIndex, endIndex + 1);\r\n }\r\n\r\n /**\r\n * Selects all visible nodes that are located between the two input nodes (inclusive).\r\n * Input nodes can be provided in any order.\r\n */\r\n public selectBetween(node1: BeInspireTreeNode<TNodePayload>, node2: BeInspireTreeNode<TNodePayload>, muteEvents = true): Array<BeInspireTreeNode<TNodePayload>> {\r\n return using(this.mute((muteEvents) ? [BeInspireTreeEvent.NodeSelected] : []), (_r) => {\r\n const nodesBetween = this.getVisibleNodesBetween(node1, node2);\r\n nodesBetween.forEach((n) => n.select());\r\n return nodesBetween;\r\n });\r\n }\r\n\r\n private createSelectedNodePredicate(nodesToSelect?: string[] | ((payload: TNodePayload) => boolean)): Inspire.NodeIteratee | undefined {\r\n if (!nodesToSelect)\r\n return undefined;\r\n\r\n let predicate: Inspire.NodeIteratee;\r\n if (typeof nodesToSelect === \"function\") {\r\n predicate = (n: Inspire.TreeNode) => (toNode<TNodePayload>(n).payload && nodesToSelect(toNode<TNodePayload>(n).payload!));\r\n } else {\r\n predicate = (n: Inspire.TreeNode) => (-1 !== nodesToSelect.indexOf(toNode(n).id!));\r\n }\r\n return predicate;\r\n }\r\n\r\n private updateSelection(selectHandler: (predicate: Inspire.NodeIteratee) => void, nodesToSelect: string[] | ((payload: TNodePayload) => boolean) | undefined, muteEvents: boolean) {\r\n const predicate = this.createSelectedNodePredicate(nodesToSelect);\r\n if (!predicate)\r\n return;\r\n\r\n using(this.mute((muteEvents) ? [BeInspireTreeEvent.NodeSelected, BeInspireTreeEvent.NodeDeselected] : []), (_r) => {\r\n this._tree.disableDeselection();\r\n selectHandler(predicate);\r\n this._tree.enableDeselection();\r\n });\r\n }\r\n\r\n /**\r\n * Deselects everything and selects only nodes that meet the `nodesToSelect` criteria\r\n */\r\n public updateTreeSelection(nodesToSelect?: string[] | ((payload: TNodePayload) => boolean), muteEvents = true) {\r\n const selectFunc = (predicate: Inspire.NodeIteratee) => {\r\n this.flatten().forEach((n) => {\r\n const shouldSelect = predicate(n);\r\n if (shouldSelect && !n.selected())\r\n n.select();\r\n else if (!shouldSelect && n.selected())\r\n n.deselect();\r\n });\r\n };\r\n return this.updateSelection(selectFunc, nodesToSelect, muteEvents);\r\n }\r\n\r\n /**\r\n * Updates selection state of provided `nodes` based on `nodesToSelect` criteria\r\n */\r\n public updateNodesSelection(nodes: BeInspireTreeNodes<TNodePayload> | Inspire.TreeNodes, nodesToSelect?: string[] | ((payload: TNodePayload) => boolean), muteEvents = true) {\r\n const selectFunc = (predicate: Inspire.NodeIteratee) => {\r\n let filtered: Inspire.TreeNode[];\r\n if ((nodes as Inspire.TreeNodes).filterBy !== undefined)\r\n filtered = (nodes as Inspire.TreeNodes).filterBy(predicate).map((n) => n);\r\n else\r\n filtered = (nodes as BeInspireTreeNodes<TNodePayload>).filter(predicate);\r\n filtered.forEach((node) => node.select());\r\n };\r\n return this.updateSelection(selectFunc, nodesToSelect, muteEvents);\r\n }\r\n\r\n private updateNodeCheckboxInfo(node: BeInspireTreeNode<TNodePayload>, status: CheckBoxInfo) {\r\n let hasChanges = false;\r\n if (node.itree!.checkboxTooltip !== status.tooltip) {\r\n node.itree!.checkboxTooltip = status.tooltip;\r\n hasChanges = true;\r\n }\r\n if (node.itree!.state!.checkboxVisible !== status.isVisible) {\r\n node.itree!.state!.checkboxVisible = status.isVisible;\r\n hasChanges = true;\r\n }\r\n if (node.itree!.state!.checkboxDisabled !== status.isDisabled) {\r\n node.itree!.state!.checkboxDisabled = status.isDisabled;\r\n hasChanges = true;\r\n }\r\n if (status.state === CheckBoxState.On && !node.itree!.state!.checked) {\r\n node.check();\r\n hasChanges = true;\r\n } else if (status.state === CheckBoxState.Off && node.itree!.state!.checked) {\r\n node.uncheck();\r\n hasChanges = true;\r\n }\r\n if (hasChanges) {\r\n node.markDirty();\r\n this.applyChanges();\r\n }\r\n }\r\n\r\n /**\r\n * Updates checkbox states of the whole tree using the `checkboxInfo` callback function\r\n */\r\n public async updateTreeCheckboxes(checkboxInfo: ((payload: TNodePayload) => CheckBoxInfo | Promise<CheckBoxInfo>), muteEvents = true) {\r\n await this.updateNodesCheckboxes(this.flatten(), checkboxInfo, muteEvents);\r\n }\r\n\r\n /**\r\n * Updates checkbox states of provided `nodes` based on `checkboxInfo` callback function\r\n */\r\n public async updateNodesCheckboxes(nodes: BeInspireTreeNodes<TNodePayload>, checkboxInfo: ((payload: TNodePayload) => CheckBoxInfo | Promise<CheckBoxInfo>), muteEvents = true) {\r\n await using(this.pauseRendering(), async (_r1) => {\r\n await using(this.mute((muteEvents) ? [BeInspireTreeEvent.NodeChecked, BeInspireTreeEvent.NodeUnchecked] : []), async (_r2) => {\r\n const promises = new Array<Promise<void>>();\r\n nodes.forEach((n) => {\r\n if (!n.payload)\r\n return;\r\n\r\n const status = checkboxInfo(n.payload);\r\n if (isPromiseLike(status))\r\n promises.push(status.then((s) => this.updateNodeCheckboxInfo(n, s)));\r\n else\r\n this.updateNodeCheckboxInfo(n, status);\r\n });\r\n if (promises.length !== 0)\r\n await Promise.all(promises);\r\n });\r\n });\r\n }\r\n\r\n /** @internal */\r\n public createPlaceholderNode(index: number, parent?: BeInspireTreeNode<TNodePayload>): BeInspireTreeNode<TNodePayload> {\r\n const node = toNode<TNodePayload>(this._tree.createNode({\r\n id: `${parent ? parent.id : \"\"}-not_loaded[${index}]`,\r\n text: \"\",\r\n payload: undefined as any,\r\n beInspireTree: this,\r\n }));\r\n node.placeholderIndex = index;\r\n return node;\r\n }\r\n\r\n /**\r\n * Request a node at the specified index to be loaded for the given parent. Only\r\n * makes sense on a paginated tree, throws otherwise.\r\n */\r\n public async requestNodeLoad(parent: BeInspireTreeNode<TNodePayload> | undefined, index: number): Promise<void> {\r\n if (!this._deferredLoadingHandler)\r\n throw new UiError(UiComponents.loggerCategory(this), `requestNodeLoad should only be called when pagination is enabled`);\r\n return this._deferredLoadingHandler.requestNodeLoad(parent, index);\r\n }\r\n\r\n /** @internal */\r\n public async loadNodes(): Promise<void> {\r\n await this._tree.load((this._tree as any).config.data);\r\n }\r\n}\r\n\r\nasync function loadChildrenRecursive(n: Inspire.TreeNode, filterNodeIds: string[]): Promise<Inspire.TreeNodes> {\r\n const children = await n.loadChildren();\r\n await ensureChildrenLoaded(children, filterNodeIds);\r\n return children;\r\n}\r\n\r\nconst needsChildrenLoaded = (n: Inspire.TreeNode) => n.hasOrWillHaveChildren() && !(n as any).hasLoadedChildren();\r\n\r\nasync function ensureChildrenLoaded(branch: Inspire.TreeNodes | Inspire.TreeNode[], filterNodeIds: string[]): Promise<void> {\r\n const childNodes = branch.filter((n) => filterNodeIds.includes(toNode(n).id!));\r\n const allChildren = (await Promise.all(childNodes.map(async (n) => {\r\n if (needsChildrenLoaded(n))\r\n return loadChildrenRecursive(toNode(n), filterNodeIds);\r\n return n.getChildren();\r\n }))).reduce((children: Inspire.TreeNode[], curr: Inspire.TreeNodes) => {\r\n children.push(...curr);\r\n return children;\r\n }, []);\r\n await ensureNodesAutoExpanded(allChildren);\r\n}\r\n\r\nasync function ensureNodesAutoExpanded(branch: Inspire.TreeNodes | Inspire.TreeNode[]): Promise<void> {\r\n const idsToExpand = branch.filter((n) => n.expanded()).map((n) => toNode(n).id!);\r\n if (idsToExpand.length > 0)\r\n await ensureChildrenLoaded(branch, idsToExpand);\r\n}\r\n\r\n/** @internal */\r\nexport const toNode = <TPayload>(inspireNode: Inspire.TreeNode): BeInspireTreeNode<TPayload> => {\r\n // When inspire-tree loads child nodes, some existing nodes transfer their properties to freshly created objects.\r\n // Therefore, we cannot capture and use the `inspireNode` reference within methods we are about to assign to the node.\r\n\r\n const anyNode = inspireNode as any;\r\n if (!inspireNode) {\r\n // some inspire tree methods return `undefined` even when they say they don't - handle\r\n // the case by returning undefined as well\r\n return anyNode;\r\n }\r\n\r\n if (!anyNode._loadChildrenOverriden) {\r\n const loadChildrenBase = inspireNode.loadChildren;\r\n inspireNode.loadChildren = async function (): Promise<Inspire.TreeNodes> {\r\n const children = await loadChildrenBase.call(this);\r\n // note: inspire-tree calls BeInspireTreeEvent.ChildrenLoaded as part of\r\n // the above call, so listeners get called before we get a chance to auto-expand...\r\n await ensureNodesAutoExpanded(children);\r\n return children;\r\n };\r\n anyNode._loadChildrenOverriden = loadChildrenBase;\r\n }\r\n\r\n // note: default `check()` & `uncheck()` implementations fiddle with\r\n // parent node which we don't want\r\n if (!anyNode._checkOverriden) {\r\n const checkBase = inspireNode.check;\r\n anyNode.check = function (): Inspire.TreeNode {\r\n // istanbul ignore else\r\n if (!this.itree!.state!.checked) {\r\n this.itree!.state!.checked = true;\r\n this._tree.emit(BeInspireTreeEvent.NodeChecked, this);\r\n this.markDirty();\r\n this._tree.applyChanges();\r\n }\r\n return this;\r\n };\r\n anyNode._checkOverriden = checkBase;\r\n }\r\n if (!anyNode._uncheckOverriden) {\r\n const uncheckBase = inspireNode.uncheck;\r\n anyNode.uncheck = function (): Inspire.TreeNode {\r\n // istanbul ignore else\r\n if (this.itree!.state!.checked) {\r\n this.itree!.state!.checked = false;\r\n this._tree.emit(BeInspireTreeEvent.NodeUnchecked, this);\r\n this.markDirty();\r\n this._tree.applyChanges();\r\n }\r\n return this;\r\n };\r\n anyNode._uncheckOverriden = uncheckBase;\r\n }\r\n\r\n // inject a method to reset overrides\r\n anyNode.resetBeInspireOverrides = function () {\r\n this.loadChildren = this._loadChildrenOverriden;\r\n delete this._loadChildrenOverriden;\r\n this.check = this._checkOverriden;\r\n delete this._checkOverriden;\r\n this.uncheck = this._uncheckOverriden;\r\n delete this._uncheckOverriden;\r\n };\r\n\r\n // inject a couple of methods to handle dirtiness\r\n anyNode.isDirty = function () { return this.itree.dirty; };\r\n anyNode.setDirty = function (value: boolean) {\r\n if (value)\r\n this.markDirty();\r\n else\r\n this.itree.dirty = value;\r\n };\r\n if (!anyNode._markDirtyOverriden) {\r\n const markDirtyBase = inspireNode.markDirty;\r\n anyNode.markDirty = function () {\r\n const result = markDirtyBase.call(this);\r\n const currTimestamp = (new Date()).getTime();\r\n if (this.itree.dirtyTimestamp === currTimestamp) {\r\n ++this.itree.dirtyCounter;\r\n } else {\r\n this.itree.dirtyTimestamp = currTimestamp;\r\n this.itree.dirtyCounter = 0;\r\n }\r\n return result;\r\n };\r\n anyNode._markDirtyOverriden = markDirtyBase;\r\n }\r\n\r\n return anyNode;\r\n};\r\n\r\n/** @internal */\r\nexport const toNodes = <TPayload>(inspireNodes: Inspire.TreeNodes): BeInspireTreeNodes<TPayload> => {\r\n return Object.assign(inspireNodes.map((n) => toNode<TPayload>(n)), {\r\n node: (id: string) => toNode<TPayload>(inspireNodes.node(id)),\r\n nodes: (ids?: string[]) => toNodes<TPayload>(inspireNodes.nodes(ids)),\r\n deepest: () => toNodes<TPayload>(inspireNodes.deepest()),\r\n flatten: () => toNodes<TPayload>(inspireNodes.flatten(() => true)),\r\n expanded: () => toNodes<TPayload>(inspireNodes.expanded()),\r\n collapsed: () => toNodes<TPayload>(inspireNodes.collapsed()),\r\n selected: () => toNodes<TPayload>(inspireNodes.selected()),\r\n visible: () => toNodes<TPayload>(inspireNodes.visible()),\r\n });\r\n};\r\n\r\nconst isDataProviderInterface = (obj: unknown): obj is BeInspireTreeDataProviderInterface<any> => {\r\n return (typeof obj === \"object\")\r\n && ((obj as any).getNodesCount && (typeof (obj as any).getNodesCount) === \"function\")\r\n && ((obj as any).getNodes && (typeof (obj as any).getNodes) === \"function\");\r\n};\r\n\r\nconst isDeferredDataProvider = (provider: BeInspireTreeDataProvider<any>): boolean => {\r\n return (typeof provider === \"function\") || isDataProviderInterface(provider);\r\n};\r\n\r\nconst nodeToPayload = <TPayload>(node?: BeInspireTreeNodePayloadConfig<TPayload>) => (node ? node.payload : undefined);\r\n\r\nclass PayloadToNodeRemapper<TPayload> {\r\n constructor(\r\n private _tree: BeInspireTree<TPayload>,\r\n private _mapPayloadToInspireNodeConfig: MapPayloadToInspireNodeCallback<TPayload>) {\r\n }\r\n public remapOne = (payload: TPayload): BeInspireTreeNodePayloadConfig<TPayload> => ({\r\n ...this._mapPayloadToInspireNodeConfig(payload, this.remapOne),\r\n beInspireTree: this._tree,\r\n payload,\r\n });\r\n public remapMany = (payload: TPayload[]): Array<BeInspireTreeNodePayloadConfig<TPayload>> => {\r\n return payload.map(this.remapOne);\r\n };\r\n}\r\n\r\nfunction onNodesDelayLoaded<TPayload>(parent: BeInspireTreeNode<TPayload> | undefined, nodes: Array<BeInspireTreeNodePayloadConfig<TPayload>>) {\r\n if (parent) {\r\n // inspire-tree emits `data.loaded` event only when root nodes are loaded, but\r\n // we also need it to be emitted when children are loaded - we depend on it being called\r\n // after the children are loaded but before the `children.loaded` event is emitted.\r\n parent.tree().emit(BeInspireTreeEvent.DataLoaded, nodes);\r\n }\r\n}\r\n\r\nconst wrapDataProvider = <TPayload>(tree: BeInspireTree<TPayload>, provider: BeInspireTreeDataProvider<TPayload>, mapPayloadToInspireNodeConfig: MapPayloadToInspireNodeCallback<TPayload>): BeInspireTreeData<TPayload> => {\r\n const remapper = new PayloadToNodeRemapper(tree, mapPayloadToInspireNodeConfig);\r\n\r\n if (Array.isArray(provider)) {\r\n // array data provider\r\n return remapper.remapMany(provider);\r\n }\r\n\r\n if (typeof provider === \"function\") {\r\n // method data provider\r\n return ((parent: BeInspireTreeNode<TPayload> | undefined, resolve: (nodes: Array<BeInspireTreeNodePayloadConfig<TPayload>>, totalCount: number) => any, _reject: (err: Error) => any) => {\r\n const payload = nodeToPayload(parent);\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n provider(payload).then(remapper.remapMany).then((nodes) => {\r\n onNodesDelayLoaded(parent, nodes);\r\n resolve(nodes, nodes.length);\r\n });\r\n });\r\n }\r\n\r\n if (isDataProviderInterface(provider)) {\r\n // interface data provider\r\n return new WrappedInterfaceProvider({\r\n tree,\r\n provider,\r\n nodesRemapper: remapper,\r\n });\r\n }\r\n\r\n // promise data provider\r\n return provider.then(remapper.remapMany);\r\n};\r\n\r\ninterface NodesLoadResult<TPayload> {\r\n totalNodesCount: number;\r\n nodes: TPayload[];\r\n}\r\n\r\ninterface WrappedInterfaceProviderProps<TPayload> {\r\n tree: BeInspireTree<TPayload>;\r\n provider: BeInspireTreeDataProviderInterface<TPayload>;\r\n nodesRemapper: PayloadToNodeRemapper<TPayload>;\r\n}\r\nclass WrappedInterfaceProvider<TPayload> extends CallableInstance implements DeferredLoadingHandler<TPayload> {\r\n private _tree: BeInspireTree<TPayload>;\r\n private _provider: BeInspireTreeDataProviderInterface<TPayload>;\r\n private _paginationHelper?: PaginationHelper<NodesLoadResult<TPayload>>;\r\n private _nodesRemapper: PayloadToNodeRemapper<TPayload>;\r\n private _stashedPages = new Map<string | undefined, { total: number, pages: Array<{ start: number, nodes: TPayload[] }> }>();\r\n private _initialRequests = new Set<string | undefined>();\r\n\r\n public constructor(props: WrappedInterfaceProviderProps<TPayload>) {\r\n super(\"inspireLoad\");\r\n this._tree = props.tree;\r\n this._provider = props.provider;\r\n this._nodesRemapper = props.nodesRemapper;\r\n if (undefined !== this._tree.props.pageSize && 0 !== this._tree.props.pageSize)\r\n this._paginationHelper = new PaginationHelper(this._tree.props.pageSize, this._pagedLoad, this._onPageLoaded);\r\n }\r\n\r\n public requestNodeLoad = async (parent: BeInspireTreeNode<TPayload> | undefined, index: number): Promise<void> => {\r\n if (!this._paginationHelper)\r\n throw new UiError(UiComponents.loggerCategory(this), `requestNodeLoad should only be called when pagination is enabled`);\r\n await this._paginationHelper.request(parent ? parent.id : undefined, index);\r\n };\r\n\r\n public disposeNodeCaches(node?: BeInspireTreeNode<TPayload>) {\r\n if (!node) {\r\n this._stashedPages.clear();\r\n if (this._paginationHelper)\r\n this._paginationHelper.disposeCaches(undefined);\r\n } else {\r\n node.getChildren().forEach((c) => this.disposeNodeCaches(toNode(c)));\r\n this._stashedPages.delete(node.id);\r\n if (this._paginationHelper)\r\n this._paginationHelper.disposeCaches(node.id);\r\n }\r\n }\r\n\r\n /** Called by PaginationHelper to load a page */\r\n private _pagedLoad = async (parentId: string | undefined, pageStart: number): Promise<NodesLoadResult<TPayload>> => {\r\n const parentNode = parentId ? this._tree.node(parentId) : undefined;\r\n const parentPayload = parentNode ? parentNode.payload : undefined;\r\n\r\n const handleCollapsedParent = () => {\r\n if (this._tree.props.disposeChildrenOnCollapse && parentNode && parentNode.collapsed())\r\n throw new UiError(UiComponents.loggerCategory(this), `Parent node collapsed while children were being loaded`);\r\n };\r\n\r\n let totalNodesCount: number | undefined;\r\n if (parentNode && isArrayLike(parentNode.children)) {\r\n totalNodesCount = parentNode.getChildren().length;\r\n } else if (!parentNode) {\r\n let rootNodesCount = 0;\r\n try { rootNodesCount = this._tree.nodes().length; } catch (e) { }\r\n if (rootNodesCount > 0)\r\n totalNodesCount = rootNodesCount;\r\n }\r\n if (undefined === totalNodesCount) {\r\n totalNodesCount = await this._provider.getNodesCount(parentPayload);\r\n handleCollapsedParent();\r\n }\r\n\r\n const page: PageOptions = {\r\n start: pageStart,\r\n size: this._paginationHelper!.pageSize,\r\n };\r\n const nodes = await this._provider.getNodes(parentPayload, page);\r\n handleCollapsedParent();\r\n return {\r\n totalNodesCount,\r\n nodes,\r\n };\r\n };\r\n\r\n /** Called by PaginationHelper when a page is finished loading */\r\n private _onPageLoaded = async (parentId: string | undefined, pageStart: number, result: NodesLoadResult<TPayload>) => {\r\n // stash the result\r\n const stash = {\r\n total: result.totalNodesCount,\r\n pages: [{ start: pageStart, nodes: result.nodes }],\r\n };\r\n this._stashedPages.set(parentId, stash);\r\n\r\n if (!this._initialRequests.delete(parentId)) {\r\n // because the load is going to happen almost synchronously (just\r\n // merge current nodes with stash), there's no point to show the\r\n // `loading` state and then re-render with `completed` state + nodes.\r\n // instead, just pause rendering until we have the nodes\r\n await using(this._tree.pauseRendering(), async (_r) => {\r\n // request children for `parent` to reload - the load handler\r\n // will merge the current children with stash (see `inspireLoad`)\r\n if (parentId)\r\n await this._tree.node(parentId)!.loadChildren();\r\n else\r\n await this._tree.loadNodes();\r\n });\r\n }\r\n };\r\n\r\n private createPagedNodesResult(parent: BeInspireTreeNode<TPayload> | undefined): Array<BeInspireTreeNodePayloadConfig<TPayload>> {\r\n const parentId = parent ? parent.id : undefined;\r\n const currNodes = parent ? toNodes(parent.getChildren()) : this._tree.nodes();\r\n const stash = this._stashedPages.get(parentId);\r\n if (!stash) {\r\n // nothing in stash - return current nodes\r\n return currNodes as any;\r\n }\r\n this._stashedPages.delete(parentId);\r\n\r\n // merge current nodes with stash content, fill missing\r\n // pieces with placeholders\r\n const resolvedNodes = new Array(stash.total);\r\n stash.pages.forEach((page) => {\r\n page.nodes.forEach((n, index) => {\r\n resolvedNodes[page.start + index] = this._nodesRemapper.remapOne(n);\r\n });\r\n });\r\n for (let i = 0; i < stash.total; ++i) {\r\n if (resolvedNodes[i])\r\n continue;\r\n if (currNodes[i]) {\r\n currNodes[i].resetBeInspireOverrides();\r\n resolvedNodes[i] = currNodes[i];\r\n } else {\r\n resolvedNodes[i] = this._tree.createPlaceholderNode(i, parent);\r\n }\r\n }\r\n return resolvedNodes;\r\n }\r\n\r\n /** Called by inspire-tree through CallableInstance */\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n private inspireLoad(parent: BeInspireTreeNode<TPayload> | undefined, resolve: (nodes: Array<BeInspireTreeNodePayloadConfig<TPayload>>, totalCount: number) => any) {\r\n if (!this._paginationHelper) {\r\n // pagination is disabled - just load all nodes for the parent\r\n const payload = parent ? parent.payload : undefined;\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this._provider.getNodes(payload).then((payloads) => {\r\n const nodes = this._nodesRemapper.remapMany(payloads);\r\n onNodesDelayLoaded(parent, nodes);\r\n resolve(nodes, nodes.length);\r\n });\r\n return;\r\n }\r\n\r\n // paginated behavior\r\n const parentId = parent ? parent.id : undefined;\r\n const complete = () => {\r\n // note: the parent might be over-written due to other sibling page loads,\r\n // so we have to make sure we're using the right parent and not the stale one\r\n const actualParent = parent ? parent.beInspireTree.node(parent.id!) : undefined;\r\n const pagedNodes = this.createPagedNodesResult(actualParent);\r\n if (actualParent && isArrayLike(actualParent.children)) {\r\n // reset so concat doesn't duplicate nodes\r\n actualParent.children = true;\r\n }\r\n onNodesDelayLoaded(actualParent, pagedNodes);\r\n if (actualParent && actualParent !== parent) {\r\n // if the `parent` is indeed stale, then calling resolve won't add child nodes\r\n // to the tree - we have to additionally add them to the actual parent that's not stale\r\n // see VSTS#152885\r\n actualParent.addChildren(pagedNodes);\r\n }\r\n resolve(pagedNodes, pagedNodes.length);\r\n };\r\n if (!this._paginationHelper.hasOrWillHaveLoadedPages(parentId)) {\r\n // parent has no children yet - initiate a request and wait\r\n this._initialRequests.add(parentId);\r\n this.requestNodeLoad(parent, 0).then(complete); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n } else {\r\n complete();\r\n }\r\n }\r\n}\r\ninterface WrappedInterfaceProvider<TPayload> {\r\n // eslint-disable-next-line @typescript-eslint/prefer-function-type\r\n (parent: BeInspireTreeNode<TPayload> | undefined, resolve: (nodes: Array<BeInspireTreeNodePayloadConfig<TPayload>>, totalCount: number) => any): void;\r\n}\r\n\r\ntype PagedLoadHandler<TLoadResult> = (parentId: string | undefined, pageStart: number) => Promise<TLoadResult>;\r\ntype PageLoadedCallback<TLoadResult> = (parentId: string | undefined, pageStart: number, result: TLoadResult) => Promise<void>;\r\nclass PaginationHelper<TPageLoadResult> {\r\n public readonly pageSize: number;\r\n private _loadedPages: Map<string | undefined, Set<number>>;\r\n private _requestedPages: Map<string | undefined, Map<number, Promise<void>>>;\r\n private _loadHandler: PagedLoadHandler<TPageLoadResult>;\r\n private _onPageLoaded: PageLoadedCallback<TPageLoadResult>;\r\n\r\n constructor(pageSize: number, loadHandler: PagedLoadHandler<TPageLoadResult>, onPageLoaded: PageLoadedCallback<TPageLoadResult>) {\r\n this.pageSize = pageSize;\r\n this._loadHandler = loadHandler;\r\n this._onPageLoaded = onPageLoaded;\r\n this._loadedPages = new Map();\r\n this._requestedPages = new Map();\r\n }\r\n\r\n private getPageStartIndex(nodeIndex: number) {\r\n return nodeIndex - nodeIndex % this.pageSize;\r\n }\r\n\r\n private async createRequest(parentId: string | undefined, pageStart: number): Promise<void> {\r\n return this._loadHandler(parentId, pageStart).then(async (result) => {\r\n await this.onRequestHandled(parentId, pageStart, result);\r\n }).catch(() => {\r\n this.onRequestRejected(parentId, pageStart);\r\n });\r\n }\r\n\r\n public hasOrWillHaveLoadedPages(parentId: string | undefined): boolean {\r\n return this._loadedPages.has(parentId) || this._requestedPages.has(parentId);\r\n }\r\n\r\n public disposeCaches(parentId: string | undefined) {\r\n if (!parentId) {\r\n this._loadedPages.clear();\r\n this._requestedPages.clear();\r\n } else {\r\n this._loadedPages.delete(parentId);\r\n this._requestedPages.delete(parentId);\r\n }\r\n }\r\n\r\n public async request(parentId: string | undefined, index: number): Promise<void> {\r\n const pageStart = this.getPageStartIndex(index);\r\n const loadedPages = this._loadedPages.get(parentId);\r\n if (loadedPages !== undefined && loadedPages.has(pageStart)) {\r\n // already loaded\r\n return;\r\n }\r\n let requestedPages = this._requestedPages.get(parentId);\r\n if (requestedPages === undefined) {\r\n requestedPages = new Map();\r\n this._requestedPages.set(parentId, requestedPages);\r\n }\r\n let request = requestedPages.get(pageStart);\r\n if (!request) {\r\n request = this.createRequest(parentId, pageStart);\r\n requestedPages.set(pageStart, request);\r\n }\r\n await request;\r\n }\r\n\r\n private async onRequestHandled(parentId: string | undefined, pageStart: number, result: TPageLoadResult) {\r\n // add the request to loaded list\r\n let loadedPages = this._loadedPages.get(parentId);\r\n if (!loadedPages) {\r\n loadedPages = new Set();\r\n this._loadedPages.set(parentId, loadedPages);\r\n }\r\n loadedPages.add(pageStart);\r\n\r\n // remove request from active requests list\r\n const requestedPages = this._requestedPages.get(parentId);\r\n if (requestedPages && requestedPages.delete(pageStart)) {\r\n // callback\r\n await this._onPageLoaded(parentId, pageStart, result);\r\n }\r\n }\r\n\r\n private onRequestRejected(parentId: string | undefined, pageStart: number) {\r\n // remove request from active requests list\r\n const requestedPages = this._requestedPages.get(parentId);\r\n // istanbul ignore next\r\n if (requestedPages)\r\n requestedPages.delete(pageStart);\r\n }\r\n}\r\n"]}
|