@itwin/components-react 4.1.0-dev.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (940) hide show
  1. package/CHANGELOG.md +44 -6
  2. package/lib/cjs/components-react/UiComponents.d.ts +1 -1
  3. package/lib/cjs/components-react/UiComponents.d.ts.map +1 -1
  4. package/lib/cjs/components-react/UiComponents.js.map +1 -1
  5. package/lib/cjs/components-react/common/DelayedSpinner.d.ts +1 -1
  6. package/lib/cjs/components-react/common/DelayedSpinner.d.ts.map +1 -1
  7. package/lib/cjs/components-react/common/DelayedSpinner.js +3 -2
  8. package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
  9. package/lib/cjs/components-react/common/ImageRenderer.d.ts +1 -1
  10. package/lib/cjs/components-react/common/ImageRenderer.d.ts.map +1 -1
  11. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  12. package/lib/cjs/components-react/common/SubscriptionScheduler.d.ts +1 -1
  13. package/lib/cjs/components-react/common/SubscriptionScheduler.d.ts.map +1 -1
  14. package/lib/cjs/components-react/common/SubscriptionScheduler.js.map +1 -1
  15. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js +2 -1
  16. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  17. package/lib/cjs/components-react/converters/BooleanTypeConverter.d.ts +1 -1
  18. package/lib/cjs/components-react/converters/BooleanTypeConverter.d.ts.map +1 -1
  19. package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
  20. package/lib/cjs/components-react/converters/CompositeTypeConverter.d.ts +1 -1
  21. package/lib/cjs/components-react/converters/CompositeTypeConverter.d.ts.map +1 -1
  22. package/lib/cjs/components-react/converters/CompositeTypeConverter.js.map +1 -1
  23. package/lib/cjs/components-react/converters/DateTimeTypeConverter.d.ts +5 -3
  24. package/lib/cjs/components-react/converters/DateTimeTypeConverter.d.ts.map +1 -1
  25. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  26. package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts +1 -1
  27. package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  28. package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
  29. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.d.ts +1 -1
  30. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.d.ts.map +1 -1
  31. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  32. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.d.ts +1 -1
  33. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.d.ts.map +1 -1
  34. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  35. package/lib/cjs/components-react/converters/NumericTypeConverter.d.ts +3 -2
  36. package/lib/cjs/components-react/converters/NumericTypeConverter.d.ts.map +1 -1
  37. package/lib/cjs/components-react/converters/NumericTypeConverter.js +4 -2
  38. package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
  39. package/lib/cjs/components-react/converters/PointTypeConverter.d.ts +2 -2
  40. package/lib/cjs/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  41. package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
  42. package/lib/cjs/components-react/converters/StringTypeConverter.d.ts +1 -1
  43. package/lib/cjs/components-react/converters/StringTypeConverter.d.ts.map +1 -1
  44. package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
  45. package/lib/cjs/components-react/converters/TypeConverter.d.ts +2 -2
  46. package/lib/cjs/components-react/converters/TypeConverter.d.ts.map +1 -1
  47. package/lib/cjs/components-react/converters/TypeConverter.js +2 -2
  48. package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
  49. package/lib/cjs/components-react/converters/TypeConverterManager.d.ts +1 -1
  50. package/lib/cjs/components-react/converters/TypeConverterManager.d.ts.map +1 -1
  51. package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
  52. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.d.ts +1 -1
  53. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.d.ts.map +1 -1
  54. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  55. package/lib/cjs/components-react/datepicker/DateField.d.ts +3 -2
  56. package/lib/cjs/components-react/datepicker/DateField.d.ts.map +1 -1
  57. package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
  58. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts +2 -2
  59. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  60. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  61. package/lib/cjs/components-react/datepicker/IntlFormatter.d.ts +1 -1
  62. package/lib/cjs/components-react/datepicker/IntlFormatter.d.ts.map +1 -1
  63. package/lib/cjs/components-react/datepicker/IntlFormatter.js.map +1 -1
  64. package/lib/cjs/components-react/datepicker/TimeField.d.ts +1 -1
  65. package/lib/cjs/components-react/datepicker/TimeField.d.ts.map +1 -1
  66. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  67. package/lib/cjs/components-react/editors/BooleanEditor.d.ts +2 -2
  68. package/lib/cjs/components-react/editors/BooleanEditor.d.ts.map +1 -1
  69. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  70. package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts +2 -2
  71. package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
  72. package/lib/cjs/components-react/editors/CustomNumberEditor.js +4 -2
  73. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  74. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts +4 -3
  75. package/lib/cjs/components-react/editors/DateTimeEditor.d.ts.map +1 -1
  76. package/lib/cjs/components-react/editors/DateTimeEditor.js +3 -2
  77. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  78. package/lib/cjs/components-react/editors/EditorContainer.d.ts +2 -2
  79. package/lib/cjs/components-react/editors/EditorContainer.d.ts.map +1 -1
  80. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  81. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts +2 -2
  82. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  83. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  84. package/lib/cjs/components-react/editors/EnumEditor.d.ts +3 -3
  85. package/lib/cjs/components-react/editors/EnumEditor.d.ts.map +1 -1
  86. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  87. package/lib/cjs/components-react/editors/IconEditor.d.ts +2 -2
  88. package/lib/cjs/components-react/editors/IconEditor.d.ts.map +1 -1
  89. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  90. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts +2 -2
  91. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts.map +1 -1
  92. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  93. package/lib/cjs/components-react/editors/NumericInputEditor.d.ts +2 -2
  94. package/lib/cjs/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  95. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  96. package/lib/cjs/components-react/editors/PopupButton.d.ts +1 -1
  97. package/lib/cjs/components-react/editors/PopupButton.d.ts.map +1 -1
  98. package/lib/cjs/components-react/editors/PopupButton.js +4 -3
  99. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  100. package/lib/cjs/components-react/editors/PropertyEditorManager.d.ts +1 -1
  101. package/lib/cjs/components-react/editors/PropertyEditorManager.d.ts.map +1 -1
  102. package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
  103. package/lib/cjs/components-react/editors/SliderEditor.d.ts +2 -2
  104. package/lib/cjs/components-react/editors/SliderEditor.d.ts.map +1 -1
  105. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  106. package/lib/cjs/components-react/editors/TextEditor.d.ts +2 -2
  107. package/lib/cjs/components-react/editors/TextEditor.d.ts.map +1 -1
  108. package/lib/cjs/components-react/editors/TextEditor.js +4 -2
  109. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  110. package/lib/cjs/components-react/editors/TextareaEditor.d.ts +2 -2
  111. package/lib/cjs/components-react/editors/TextareaEditor.d.ts.map +1 -1
  112. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  113. package/lib/cjs/components-react/editors/ToggleEditor.d.ts +2 -2
  114. package/lib/cjs/components-react/editors/ToggleEditor.d.ts.map +1 -1
  115. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  116. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts +2 -2
  117. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  118. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  119. package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts +1 -1
  120. package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts.map +1 -1
  121. package/lib/cjs/components-react/favorite/FavoritePropertyList.js +3 -2
  122. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  123. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts +4 -4
  124. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  125. package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
  126. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts +4 -4
  127. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -1
  128. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  129. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts +1 -1
  130. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  131. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  132. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +1 -1
  133. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  134. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  135. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +2 -2
  136. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  137. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js +2 -1
  138. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  139. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +1 -1
  140. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  141. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +3 -3
  142. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  143. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts +1 -1
  144. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  145. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +1 -1
  146. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  147. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts +4 -3
  148. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  149. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  150. package/lib/cjs/components-react/filter-builder/Operators.d.ts +1 -1
  151. package/lib/cjs/components-react/filter-builder/Operators.d.ts.map +1 -1
  152. package/lib/cjs/components-react/filter-builder/Operators.js.map +1 -1
  153. package/lib/cjs/components-react/filter-builder/Types.d.ts +2 -2
  154. package/lib/cjs/components-react/filter-builder/Types.d.ts.map +1 -1
  155. package/lib/cjs/components-react/filter-builder/Types.js.map +1 -1
  156. package/lib/cjs/components-react/filtering/FilteringInput.d.ts +2 -2
  157. package/lib/cjs/components-react/filtering/FilteringInput.d.ts.map +1 -1
  158. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  159. package/lib/cjs/components-react/filtering/ResultSelector.d.ts +1 -1
  160. package/lib/cjs/components-react/filtering/ResultSelector.d.ts.map +1 -1
  161. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  162. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts +1 -1
  163. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  164. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  165. package/lib/cjs/components-react/inputs/ParsedInput.d.ts +2 -2
  166. package/lib/cjs/components-react/inputs/ParsedInput.d.ts.map +1 -1
  167. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  168. package/lib/cjs/components-react/properties/ItemStyle.d.ts +1 -1
  169. package/lib/cjs/components-react/properties/ItemStyle.d.ts.map +1 -1
  170. package/lib/cjs/components-react/properties/ItemStyle.js.map +1 -1
  171. package/lib/cjs/components-react/properties/LinkHandler.d.ts +1 -1
  172. package/lib/cjs/components-react/properties/LinkHandler.d.ts.map +1 -1
  173. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  174. package/lib/cjs/components-react/properties/ValueRendererManager.d.ts +3 -3
  175. package/lib/cjs/components-react/properties/ValueRendererManager.d.ts.map +1 -1
  176. package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
  177. package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts +2 -2
  178. package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts.map +1 -1
  179. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  180. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts +2 -2
  181. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  182. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  183. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.d.ts +2 -2
  184. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.d.ts.map +1 -1
  185. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js +4 -3
  186. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  187. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +1 -1
  188. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts.map +1 -1
  189. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +1 -1
  190. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  191. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +2 -2
  192. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts.map +1 -1
  193. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js +3 -2
  194. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  195. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts +7 -7
  196. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts.map +1 -1
  197. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  198. package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts +1 -1
  199. package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts.map +1 -1
  200. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  201. package/lib/cjs/components-react/properties/renderers/PropertyView.scss +5 -0
  202. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +1 -1
  203. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts.map +1 -1
  204. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  205. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +1 -1
  206. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts.map +1 -1
  207. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  208. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js +2 -1
  209. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  210. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts +2 -2
  211. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts.map +1 -1
  212. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  213. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +2 -2
  214. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts.map +1 -1
  215. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +2 -1
  216. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  217. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts +2 -2
  218. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts.map +1 -1
  219. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  220. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +2 -2
  221. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts.map +1 -1
  222. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +18 -17
  223. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  224. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +2 -2
  225. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts.map +1 -1
  226. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +2 -1
  227. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  228. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +2 -2
  229. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  230. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +7 -4
  231. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  232. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts +2 -2
  233. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts.map +1 -1
  234. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  235. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +2 -2
  236. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts.map +1 -1
  237. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  238. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts +1 -1
  239. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  240. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  241. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +1 -1
  242. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts.map +1 -1
  243. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  244. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +3 -3
  245. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts.map +1 -1
  246. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  247. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +1 -1
  248. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts.map +1 -1
  249. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  250. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +3 -3
  251. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  252. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js +2 -1
  253. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  254. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts +1 -1
  255. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts.map +1 -1
  256. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  257. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.d.ts +6 -1
  258. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.d.ts.map +1 -1
  259. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js +17 -4
  260. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  261. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +1 -1
  262. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  263. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  264. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +3 -3
  265. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts.map +1 -1
  266. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js +2 -1
  267. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  268. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts +9 -8
  269. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  270. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js +2 -2
  271. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  272. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +2 -2
  273. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  274. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  275. package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts +8 -7
  276. package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts.map +1 -1
  277. package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
  278. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +12 -11
  279. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  280. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +51 -46
  281. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  282. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +3 -3
  283. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  284. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  285. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +5 -4
  286. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts.map +1 -1
  287. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js +13 -11
  288. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  289. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts +4 -3
  290. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts.map +1 -1
  291. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +2 -2
  292. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  293. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts +3 -2
  294. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts.map +1 -1
  295. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +2 -1
  296. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  297. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts +3 -2
  298. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts.map +1 -1
  299. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  300. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts +3 -2
  301. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts.map +1 -1
  302. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  303. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts +2 -2
  304. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts.map +1 -1
  305. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  306. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +1 -1
  307. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts.map +1 -1
  308. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  309. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts +4 -3
  310. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  311. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  312. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts +4 -4
  313. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts.map +1 -1
  314. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  315. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +3 -3
  316. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  317. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  318. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +3 -3
  319. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  320. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  321. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +4 -3
  322. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts.map +1 -1
  323. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  324. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +3 -2
  325. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts.map +1 -1
  326. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  327. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +4 -3
  328. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts.map +1 -1
  329. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  330. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts +5 -4
  331. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts.map +1 -1
  332. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +2 -1
  333. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  334. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +1 -1
  335. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  336. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +2 -2
  337. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  338. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +5 -4
  339. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts.map +1 -1
  340. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +3 -2
  341. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  342. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +4 -4
  343. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts.map +1 -1
  344. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +1 -8
  345. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  346. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +1 -1
  347. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  348. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +1 -1
  349. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  350. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +5 -5
  351. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  352. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +7 -5
  353. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  354. package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  355. package/lib/cjs/components-react/selectable-content/SelectableContent.js +3 -2
  356. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  357. package/lib/cjs/components-react/toolbar/Item.d.ts +1 -1
  358. package/lib/cjs/components-react/toolbar/Item.d.ts.map +1 -1
  359. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  360. package/lib/cjs/components-react/toolbar/ItemWrapper.d.ts +1 -1
  361. package/lib/cjs/components-react/toolbar/ItemWrapper.d.ts.map +1 -1
  362. package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
  363. package/lib/cjs/components-react/toolbar/Items.d.ts +2 -2
  364. package/lib/cjs/components-react/toolbar/Items.d.ts.map +1 -1
  365. package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
  366. package/lib/cjs/components-react/toolbar/Overflow.d.ts +1 -1
  367. package/lib/cjs/components-react/toolbar/Overflow.d.ts.map +1 -1
  368. package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
  369. package/lib/cjs/components-react/toolbar/OverflowPanel.d.ts +1 -1
  370. package/lib/cjs/components-react/toolbar/OverflowPanel.d.ts.map +1 -1
  371. package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
  372. package/lib/cjs/components-react/toolbar/PopupItem.d.ts +2 -2
  373. package/lib/cjs/components-react/toolbar/PopupItem.d.ts.map +1 -1
  374. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  375. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts +3 -2
  376. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts.map +1 -1
  377. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  378. package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts +1 -1
  379. package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts.map +1 -1
  380. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  381. package/lib/cjs/components-react/toolbar/Toolbar.d.ts +2 -2
  382. package/lib/cjs/components-react/toolbar/Toolbar.d.ts.map +1 -1
  383. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  384. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts +2 -2
  385. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  386. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js +8 -4
  387. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  388. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.d.ts +1 -1
  389. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.d.ts.map +1 -1
  390. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  391. package/lib/cjs/components-react/toolbar/groupPanel/Column.d.ts +1 -1
  392. package/lib/cjs/components-react/toolbar/groupPanel/Column.d.ts.map +1 -1
  393. package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
  394. package/lib/cjs/components-react/toolbar/groupPanel/Columns.d.ts +1 -1
  395. package/lib/cjs/components-react/toolbar/groupPanel/Columns.d.ts.map +1 -1
  396. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  397. package/lib/cjs/components-react/toolbar/groupPanel/Panel.d.ts +1 -1
  398. package/lib/cjs/components-react/toolbar/groupPanel/Panel.d.ts.map +1 -1
  399. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  400. package/lib/cjs/components-react/toolbar/groupPanel/Title.d.ts +1 -1
  401. package/lib/cjs/components-react/toolbar/groupPanel/Title.d.ts.map +1 -1
  402. package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
  403. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.d.ts +2 -2
  404. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.d.ts.map +1 -1
  405. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  406. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.d.ts +2 -2
  407. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.d.ts.map +1 -1
  408. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js +3 -1
  409. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  410. package/lib/cjs/components-react/tree/ImageLoader.d.ts +2 -2
  411. package/lib/cjs/components-react/tree/ImageLoader.d.ts.map +1 -1
  412. package/lib/cjs/components-react/tree/ImageLoader.js.map +1 -1
  413. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts +2 -2
  414. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  415. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  416. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts +4 -4
  417. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  418. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  419. package/lib/cjs/components-react/tree/controlled/TreeActions.d.ts +1 -1
  420. package/lib/cjs/components-react/tree/controlled/TreeActions.d.ts.map +1 -1
  421. package/lib/cjs/components-react/tree/controlled/TreeActions.js.map +1 -1
  422. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts +6 -6
  423. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.d.ts.map +1 -1
  424. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  425. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts +6 -6
  426. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.d.ts.map +1 -1
  427. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  428. package/lib/cjs/components-react/tree/controlled/TreeEvents.d.ts +3 -3
  429. package/lib/cjs/components-react/tree/controlled/TreeEvents.d.ts.map +1 -1
  430. package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
  431. package/lib/cjs/components-react/tree/controlled/TreeHooks.d.ts +4 -3
  432. package/lib/cjs/components-react/tree/controlled/TreeHooks.d.ts.map +1 -1
  433. package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
  434. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts +3 -3
  435. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  436. package/lib/cjs/components-react/tree/controlled/TreeModel.js +7 -4
  437. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  438. package/lib/cjs/components-react/tree/controlled/TreeModelSource.d.ts +2 -1
  439. package/lib/cjs/components-react/tree/controlled/TreeModelSource.d.ts.map +1 -1
  440. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  441. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.d.ts +5 -5
  442. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.d.ts.map +1 -1
  443. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js +8 -6
  444. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  445. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts +7 -7
  446. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  447. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  448. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +2 -2
  449. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts +5 -5
  450. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  451. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  452. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts +1 -1
  453. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  454. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  455. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +6 -6
  456. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  457. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  458. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts +5 -5
  459. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  460. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js +3 -23
  461. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  462. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js +2 -1
  463. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  464. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.d.ts +6 -6
  465. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.d.ts.map +1 -1
  466. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  467. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +4 -4
  468. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  469. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js +4 -2
  470. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  471. package/lib/esm/components-react/UiComponents.d.ts +1 -1
  472. package/lib/esm/components-react/UiComponents.d.ts.map +1 -1
  473. package/lib/esm/components-react/UiComponents.js.map +1 -1
  474. package/lib/esm/components-react/common/DelayedSpinner.d.ts +1 -1
  475. package/lib/esm/components-react/common/DelayedSpinner.d.ts.map +1 -1
  476. package/lib/esm/components-react/common/DelayedSpinner.js +3 -2
  477. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  478. package/lib/esm/components-react/common/ImageRenderer.d.ts +1 -1
  479. package/lib/esm/components-react/common/ImageRenderer.d.ts.map +1 -1
  480. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  481. package/lib/esm/components-react/common/SubscriptionScheduler.d.ts +1 -1
  482. package/lib/esm/components-react/common/SubscriptionScheduler.d.ts.map +1 -1
  483. package/lib/esm/components-react/common/SubscriptionScheduler.js.map +1 -1
  484. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +2 -1
  485. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  486. package/lib/esm/components-react/converters/BooleanTypeConverter.d.ts +1 -1
  487. package/lib/esm/components-react/converters/BooleanTypeConverter.d.ts.map +1 -1
  488. package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
  489. package/lib/esm/components-react/converters/CompositeTypeConverter.d.ts +1 -1
  490. package/lib/esm/components-react/converters/CompositeTypeConverter.d.ts.map +1 -1
  491. package/lib/esm/components-react/converters/CompositeTypeConverter.js.map +1 -1
  492. package/lib/esm/components-react/converters/DateTimeTypeConverter.d.ts +5 -3
  493. package/lib/esm/components-react/converters/DateTimeTypeConverter.d.ts.map +1 -1
  494. package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  495. package/lib/esm/components-react/converters/EnumTypeConverter.d.ts +1 -1
  496. package/lib/esm/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  497. package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
  498. package/lib/esm/components-react/converters/HexadecimalTypeConverter.d.ts +1 -1
  499. package/lib/esm/components-react/converters/HexadecimalTypeConverter.d.ts.map +1 -1
  500. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  501. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.d.ts +1 -1
  502. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.d.ts.map +1 -1
  503. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  504. package/lib/esm/components-react/converters/NumericTypeConverter.d.ts +3 -2
  505. package/lib/esm/components-react/converters/NumericTypeConverter.d.ts.map +1 -1
  506. package/lib/esm/components-react/converters/NumericTypeConverter.js +4 -2
  507. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  508. package/lib/esm/components-react/converters/PointTypeConverter.d.ts +2 -2
  509. package/lib/esm/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  510. package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
  511. package/lib/esm/components-react/converters/StringTypeConverter.d.ts +1 -1
  512. package/lib/esm/components-react/converters/StringTypeConverter.d.ts.map +1 -1
  513. package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
  514. package/lib/esm/components-react/converters/TypeConverter.d.ts +2 -2
  515. package/lib/esm/components-react/converters/TypeConverter.d.ts.map +1 -1
  516. package/lib/esm/components-react/converters/TypeConverter.js +2 -2
  517. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  518. package/lib/esm/components-react/converters/TypeConverterManager.d.ts +1 -1
  519. package/lib/esm/components-react/converters/TypeConverterManager.d.ts.map +1 -1
  520. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  521. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.d.ts +1 -1
  522. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.d.ts.map +1 -1
  523. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  524. package/lib/esm/components-react/datepicker/DateField.d.ts +3 -2
  525. package/lib/esm/components-react/datepicker/DateField.d.ts.map +1 -1
  526. package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
  527. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts +2 -2
  528. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  529. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  530. package/lib/esm/components-react/datepicker/IntlFormatter.d.ts +1 -1
  531. package/lib/esm/components-react/datepicker/IntlFormatter.d.ts.map +1 -1
  532. package/lib/esm/components-react/datepicker/IntlFormatter.js.map +1 -1
  533. package/lib/esm/components-react/datepicker/TimeField.d.ts +1 -1
  534. package/lib/esm/components-react/datepicker/TimeField.d.ts.map +1 -1
  535. package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
  536. package/lib/esm/components-react/editors/BooleanEditor.d.ts +2 -2
  537. package/lib/esm/components-react/editors/BooleanEditor.d.ts.map +1 -1
  538. package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
  539. package/lib/esm/components-react/editors/CustomNumberEditor.d.ts +2 -2
  540. package/lib/esm/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
  541. package/lib/esm/components-react/editors/CustomNumberEditor.js +4 -2
  542. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  543. package/lib/esm/components-react/editors/DateTimeEditor.d.ts +4 -3
  544. package/lib/esm/components-react/editors/DateTimeEditor.d.ts.map +1 -1
  545. package/lib/esm/components-react/editors/DateTimeEditor.js +3 -2
  546. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  547. package/lib/esm/components-react/editors/EditorContainer.d.ts +2 -2
  548. package/lib/esm/components-react/editors/EditorContainer.d.ts.map +1 -1
  549. package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
  550. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts +2 -2
  551. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  552. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  553. package/lib/esm/components-react/editors/EnumEditor.d.ts +3 -3
  554. package/lib/esm/components-react/editors/EnumEditor.d.ts.map +1 -1
  555. package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
  556. package/lib/esm/components-react/editors/IconEditor.d.ts +2 -2
  557. package/lib/esm/components-react/editors/IconEditor.d.ts.map +1 -1
  558. package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
  559. package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts +2 -2
  560. package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts.map +1 -1
  561. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  562. package/lib/esm/components-react/editors/NumericInputEditor.d.ts +2 -2
  563. package/lib/esm/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  564. package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
  565. package/lib/esm/components-react/editors/PopupButton.d.ts +1 -1
  566. package/lib/esm/components-react/editors/PopupButton.d.ts.map +1 -1
  567. package/lib/esm/components-react/editors/PopupButton.js +4 -3
  568. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  569. package/lib/esm/components-react/editors/PropertyEditorManager.d.ts +1 -1
  570. package/lib/esm/components-react/editors/PropertyEditorManager.d.ts.map +1 -1
  571. package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
  572. package/lib/esm/components-react/editors/SliderEditor.d.ts +2 -2
  573. package/lib/esm/components-react/editors/SliderEditor.d.ts.map +1 -1
  574. package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
  575. package/lib/esm/components-react/editors/TextEditor.d.ts +2 -2
  576. package/lib/esm/components-react/editors/TextEditor.d.ts.map +1 -1
  577. package/lib/esm/components-react/editors/TextEditor.js +4 -2
  578. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  579. package/lib/esm/components-react/editors/TextareaEditor.d.ts +2 -2
  580. package/lib/esm/components-react/editors/TextareaEditor.d.ts.map +1 -1
  581. package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
  582. package/lib/esm/components-react/editors/ToggleEditor.d.ts +2 -2
  583. package/lib/esm/components-react/editors/ToggleEditor.d.ts.map +1 -1
  584. package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
  585. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts +2 -2
  586. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  587. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  588. package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts +1 -1
  589. package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts.map +1 -1
  590. package/lib/esm/components-react/favorite/FavoritePropertyList.js +3 -2
  591. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  592. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts +4 -4
  593. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  594. package/lib/esm/components-react/filter-builder/FilterBuilder.js.map +1 -1
  595. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts +4 -4
  596. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -1
  597. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js.map +1 -1
  598. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts +1 -1
  599. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  600. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  601. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +1 -1
  602. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  603. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  604. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +2 -2
  605. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  606. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js +2 -1
  607. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  608. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +1 -1
  609. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  610. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +3 -3
  611. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  612. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts +1 -1
  613. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  614. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +1 -1
  615. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  616. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts +4 -3
  617. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  618. package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  619. package/lib/esm/components-react/filter-builder/Operators.d.ts +1 -1
  620. package/lib/esm/components-react/filter-builder/Operators.d.ts.map +1 -1
  621. package/lib/esm/components-react/filter-builder/Operators.js.map +1 -1
  622. package/lib/esm/components-react/filter-builder/Types.d.ts +2 -2
  623. package/lib/esm/components-react/filter-builder/Types.d.ts.map +1 -1
  624. package/lib/esm/components-react/filter-builder/Types.js.map +1 -1
  625. package/lib/esm/components-react/filtering/FilteringInput.d.ts +2 -2
  626. package/lib/esm/components-react/filtering/FilteringInput.d.ts.map +1 -1
  627. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  628. package/lib/esm/components-react/filtering/ResultSelector.d.ts +1 -1
  629. package/lib/esm/components-react/filtering/ResultSelector.d.ts.map +1 -1
  630. package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
  631. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts +1 -1
  632. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  633. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  634. package/lib/esm/components-react/inputs/ParsedInput.d.ts +2 -2
  635. package/lib/esm/components-react/inputs/ParsedInput.d.ts.map +1 -1
  636. package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
  637. package/lib/esm/components-react/properties/ItemStyle.d.ts +1 -1
  638. package/lib/esm/components-react/properties/ItemStyle.d.ts.map +1 -1
  639. package/lib/esm/components-react/properties/ItemStyle.js.map +1 -1
  640. package/lib/esm/components-react/properties/LinkHandler.d.ts +1 -1
  641. package/lib/esm/components-react/properties/LinkHandler.d.ts.map +1 -1
  642. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  643. package/lib/esm/components-react/properties/ValueRendererManager.d.ts +3 -3
  644. package/lib/esm/components-react/properties/ValueRendererManager.d.ts.map +1 -1
  645. package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
  646. package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts +2 -2
  647. package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts.map +1 -1
  648. package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  649. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts +2 -2
  650. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  651. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  652. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.d.ts +2 -2
  653. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.d.ts.map +1 -1
  654. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js +4 -3
  655. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  656. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +1 -1
  657. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts.map +1 -1
  658. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +1 -1
  659. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  660. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +2 -2
  661. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts.map +1 -1
  662. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js +3 -2
  663. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  664. package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts +7 -7
  665. package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts.map +1 -1
  666. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  667. package/lib/esm/components-react/properties/renderers/PropertyView.d.ts +1 -1
  668. package/lib/esm/components-react/properties/renderers/PropertyView.d.ts.map +1 -1
  669. package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
  670. package/lib/esm/components-react/properties/renderers/PropertyView.scss +5 -0
  671. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +1 -1
  672. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts.map +1 -1
  673. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  674. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +1 -1
  675. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts.map +1 -1
  676. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  677. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js +2 -1
  678. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  679. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts +2 -2
  680. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.d.ts.map +1 -1
  681. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  682. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +2 -2
  683. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts.map +1 -1
  684. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +2 -1
  685. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  686. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts +2 -2
  687. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.d.ts.map +1 -1
  688. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  689. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts +2 -2
  690. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.d.ts.map +1 -1
  691. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +16 -18
  692. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  693. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +2 -2
  694. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts.map +1 -1
  695. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +2 -1
  696. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  697. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +2 -2
  698. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  699. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +7 -4
  700. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  701. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts +2 -2
  702. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.d.ts.map +1 -1
  703. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  704. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +2 -2
  705. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts.map +1 -1
  706. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  707. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts +1 -1
  708. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  709. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  710. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +1 -1
  711. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts.map +1 -1
  712. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  713. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +3 -3
  714. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts.map +1 -1
  715. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  716. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +1 -1
  717. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts.map +1 -1
  718. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  719. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +3 -3
  720. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  721. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js +2 -1
  722. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  723. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts +1 -1
  724. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts.map +1 -1
  725. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  726. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.d.ts +6 -1
  727. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.d.ts.map +1 -1
  728. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js +17 -4
  729. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  730. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +1 -1
  731. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  732. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  733. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +3 -3
  734. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts.map +1 -1
  735. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js +2 -1
  736. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  737. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts +9 -8
  738. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  739. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js +2 -2
  740. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  741. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +2 -2
  742. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  743. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  744. package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts +8 -7
  745. package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts.map +1 -1
  746. package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
  747. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +12 -11
  748. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  749. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +51 -46
  750. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  751. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +3 -3
  752. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  753. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  754. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +5 -4
  755. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts.map +1 -1
  756. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js +13 -11
  757. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  758. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts +4 -3
  759. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.d.ts.map +1 -1
  760. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +2 -2
  761. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  762. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts +3 -2
  763. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.d.ts.map +1 -1
  764. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +2 -1
  765. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  766. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts +3 -2
  767. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.d.ts.map +1 -1
  768. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  769. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts +3 -2
  770. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.d.ts.map +1 -1
  771. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  772. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts +2 -2
  773. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.d.ts.map +1 -1
  774. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  775. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +1 -1
  776. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts.map +1 -1
  777. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  778. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts +4 -3
  779. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  780. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  781. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts +4 -4
  782. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts.map +1 -1
  783. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  784. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +3 -3
  785. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  786. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  787. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +3 -3
  788. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  789. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  790. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +4 -3
  791. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts.map +1 -1
  792. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  793. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +3 -2
  794. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts.map +1 -1
  795. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  796. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +4 -3
  797. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts.map +1 -1
  798. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  799. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts +5 -4
  800. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.d.ts.map +1 -1
  801. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +2 -1
  802. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  803. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +1 -1
  804. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  805. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +2 -2
  806. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  807. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +5 -4
  808. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts.map +1 -1
  809. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +3 -2
  810. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  811. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +4 -4
  812. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts.map +1 -1
  813. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +1 -8
  814. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  815. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +1 -1
  816. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  817. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +1 -1
  818. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  819. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +5 -5
  820. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  821. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +7 -5
  822. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  823. package/lib/esm/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  824. package/lib/esm/components-react/selectable-content/SelectableContent.js +3 -2
  825. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  826. package/lib/esm/components-react/toolbar/Item.d.ts +1 -1
  827. package/lib/esm/components-react/toolbar/Item.d.ts.map +1 -1
  828. package/lib/esm/components-react/toolbar/Item.js.map +1 -1
  829. package/lib/esm/components-react/toolbar/ItemWrapper.d.ts +1 -1
  830. package/lib/esm/components-react/toolbar/ItemWrapper.d.ts.map +1 -1
  831. package/lib/esm/components-react/toolbar/ItemWrapper.js.map +1 -1
  832. package/lib/esm/components-react/toolbar/Items.d.ts +2 -2
  833. package/lib/esm/components-react/toolbar/Items.d.ts.map +1 -1
  834. package/lib/esm/components-react/toolbar/Items.js.map +1 -1
  835. package/lib/esm/components-react/toolbar/Overflow.d.ts +1 -1
  836. package/lib/esm/components-react/toolbar/Overflow.d.ts.map +1 -1
  837. package/lib/esm/components-react/toolbar/Overflow.js.map +1 -1
  838. package/lib/esm/components-react/toolbar/OverflowPanel.d.ts +1 -1
  839. package/lib/esm/components-react/toolbar/OverflowPanel.d.ts.map +1 -1
  840. package/lib/esm/components-react/toolbar/OverflowPanel.js.map +1 -1
  841. package/lib/esm/components-react/toolbar/PopupItem.d.ts +2 -2
  842. package/lib/esm/components-react/toolbar/PopupItem.d.ts.map +1 -1
  843. package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
  844. package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts +3 -2
  845. package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts.map +1 -1
  846. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  847. package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts +1 -1
  848. package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts.map +1 -1
  849. package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  850. package/lib/esm/components-react/toolbar/Toolbar.d.ts +2 -2
  851. package/lib/esm/components-react/toolbar/Toolbar.d.ts.map +1 -1
  852. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  853. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts +2 -2
  854. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  855. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js +8 -4
  856. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  857. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.d.ts +1 -1
  858. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.d.ts.map +1 -1
  859. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  860. package/lib/esm/components-react/toolbar/groupPanel/Column.d.ts +1 -1
  861. package/lib/esm/components-react/toolbar/groupPanel/Column.d.ts.map +1 -1
  862. package/lib/esm/components-react/toolbar/groupPanel/Column.js.map +1 -1
  863. package/lib/esm/components-react/toolbar/groupPanel/Columns.d.ts +1 -1
  864. package/lib/esm/components-react/toolbar/groupPanel/Columns.d.ts.map +1 -1
  865. package/lib/esm/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  866. package/lib/esm/components-react/toolbar/groupPanel/Panel.d.ts +1 -1
  867. package/lib/esm/components-react/toolbar/groupPanel/Panel.d.ts.map +1 -1
  868. package/lib/esm/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  869. package/lib/esm/components-react/toolbar/groupPanel/Title.d.ts +1 -1
  870. package/lib/esm/components-react/toolbar/groupPanel/Title.d.ts.map +1 -1
  871. package/lib/esm/components-react/toolbar/groupPanel/Title.js.map +1 -1
  872. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.d.ts +2 -2
  873. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.d.ts.map +1 -1
  874. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  875. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.d.ts +2 -2
  876. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.d.ts.map +1 -1
  877. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js +3 -1
  878. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  879. package/lib/esm/components-react/tree/ImageLoader.d.ts +2 -2
  880. package/lib/esm/components-react/tree/ImageLoader.d.ts.map +1 -1
  881. package/lib/esm/components-react/tree/ImageLoader.js.map +1 -1
  882. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts +2 -2
  883. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  884. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  885. package/lib/esm/components-react/tree/TreeDataProvider.d.ts +4 -4
  886. package/lib/esm/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  887. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  888. package/lib/esm/components-react/tree/controlled/TreeActions.d.ts +1 -1
  889. package/lib/esm/components-react/tree/controlled/TreeActions.d.ts.map +1 -1
  890. package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
  891. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts +6 -6
  892. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.d.ts.map +1 -1
  893. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  894. package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts +6 -6
  895. package/lib/esm/components-react/tree/controlled/TreeEventHandler.d.ts.map +1 -1
  896. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  897. package/lib/esm/components-react/tree/controlled/TreeEvents.d.ts +3 -3
  898. package/lib/esm/components-react/tree/controlled/TreeEvents.d.ts.map +1 -1
  899. package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
  900. package/lib/esm/components-react/tree/controlled/TreeHooks.d.ts +4 -3
  901. package/lib/esm/components-react/tree/controlled/TreeHooks.d.ts.map +1 -1
  902. package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
  903. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts +3 -3
  904. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  905. package/lib/esm/components-react/tree/controlled/TreeModel.js +7 -4
  906. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  907. package/lib/esm/components-react/tree/controlled/TreeModelSource.d.ts +2 -1
  908. package/lib/esm/components-react/tree/controlled/TreeModelSource.d.ts.map +1 -1
  909. package/lib/esm/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  910. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.d.ts +5 -5
  911. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.d.ts.map +1 -1
  912. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js +8 -6
  913. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  914. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts +7 -7
  915. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  916. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  917. package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +2 -2
  918. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts +5 -5
  919. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  920. package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  921. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts +1 -1
  922. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  923. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  924. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +6 -6
  925. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  926. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  927. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts +5 -5
  928. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  929. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js +3 -23
  930. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  931. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js +2 -1
  932. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  933. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.d.ts +6 -6
  934. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.d.ts.map +1 -1
  935. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  936. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +4 -4
  937. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  938. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js +4 -2
  939. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  940. package/package.json +11 -6
@@ -1 +1 @@
1
- {"version":3,"file":"EditorContainer.js","sourceRoot":"","sources":["../../../../src/components-react/editors/EditorContainer.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAiC,UAAU,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAE3F,OAAO,EAAyC,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAuEvG;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK,CAAC,aAAmC;IAA9E;;QAmCU,sBAAiB,GAAG,CAAC,EAAoB,EAAE,EAAE;YACnD,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,oBAAoB;gBACnG,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,8DAA8D;QACjG,CAAC,CAAC;QAEM,yBAAoB,GAAG,CAAC,CAAmB,EAAE,EAAE;YACrD,CAAC,CAAC,eAAe,EAAE,CAAC;QACtB,CAAC,CAAC;QAEM,iBAAY,GAAG,CAAC,CAAmB,EAAE,EAAE;YAC7C,CAAC,CAAC,eAAe,EAAE,CAAC;QACtB,CAAC,CAAC;QAEM,mBAAc,GAAG,CAAC,CAAsB,EAAE,EAAE;YAClD,QAAQ,CAAC,CAAC,GAAG,EAAE;gBACb,KAAK,UAAU,CAAC,MAAM;oBACpB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;oBACtB,MAAM;gBACR,KAAK,UAAU,CAAC,KAAK;oBACnB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oBACrB,MAAM;gBACR,KAAK,UAAU,CAAC,GAAG;oBACjB,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBACnB,MAAM;gBACR;oBACE,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,gCAAgC;wBAC/E,CAAC,CAAC,eAAe,EAAE,CAAC;aACzB;QACH,CAAC,CAAC;QAEM,sBAAiB,GAAG,CAAC,CAAmB,EAAE,EAAE;YAClD,CAAC,CAAC,eAAe,EAAE,CAAC;QACtB,CAAC,CAAC;QAyDM,wBAAmB,GAAG,CAAC,IAAyB,EAAQ,EAAE;YAChE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,8DAA8D;QACpF,CAAC,CAAC;QAEM,2BAAsB,GAAG,KAAK,IAAmB,EAAE;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAC7E,uBAAuB;YACvB,IAAI,QAAQ,KAAK,SAAS,EAAE;gBAC1B,IAAI,CAAC,OAAO,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAE,8DAA8D;aACvI;QACH,CAAC,CAAC;QAEM,YAAO,GAAG,KAAK,EAAE,IAAyB,EAAE,EAAE;YACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC/B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YACrD,IAAI,OAAO,EAAE;gBACX,IAAI,QAAQ,GAAG,IAAI,CAAC;gBACpB,uBAAuB;gBACvB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,EAAE;oBAC/C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;oBAC3F,IAAI,YAAY,CAAC,gBAAgB,EAAE;wBACjC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;wBACrD,QAAQ,GAAG,KAAK,CAAC;qBAClB;iBACF;gBAED,IAAI,QAAQ,EAAE;oBACZ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;iBAC3B;aACF;QACH,CAAC,CAAC;QAEM,wBAAmB,GAAG,GAAG,EAAE;YACjC,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC;QAEM,kBAAa,GAAG,GAAG,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACxB,CAAC,CAAC;IAkBJ,CAAC;IAhLS,YAAY;QAClB,MAAM,SAAS,GAAG,CAAC,GAA2B,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QAEzE,MAAM,WAAW,GAAe;YAC9B,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,IAAI,CAAC,mBAAmB;YAClC,QAAQ,EAAE,IAAI,CAAC,mBAAmB;YAClC,MAAM,EAAE,IAAI,CAAC,iBAAiB;YAC9B,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;YACzC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;YACxE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;YAC/B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB;SACtD,CAAC;QAEF,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;QAE3D,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAClG,IAAI,CAAC,eAAe,GAAG,qBAAqB,CAAC,YAAY,CAAC,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;QAChI,MAAM,UAAU,GAAoB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;QAEnE,IAAI,UAAU,GAAoB,IAAI,CAAC;QACvC,uBAAuB;QACvB,IAAI,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;YACpC,UAAU,GAAG,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;SAC1D;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAqCO,aAAa,CAAC,EAAuB;QAC3C,uBAAuB;QACvB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,sBAAsB,EAAE;YACvE,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;IACH,CAAC;IAEO,YAAY,CAAC,CAAsB;QACzC,uBAAuB;QACvB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE;YACtE,uBAAuB;YACvB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ;gBAC7C,CAAC,CAAC,eAAe,EAAE,CAAC;YACtB,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,8DAA8D;SAC9F;IACH,CAAC;IAEO,UAAU,CAAC,CAAsB;QACvC,uBAAuB;QACvB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE;YACpE,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,8DAA8D;SAC9F;IACH,CAAC;IAEO,oBAAoB,CAAC,YAA2C;QACtE,uBAAuB;QACvB,IAAI,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;YACnE,uBAAuB;YACvB,IAAI,WAAW;gBACb,OAAO,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,WAAW,EAAE,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC;;gBAE/I,OAAO,CAAC,gBAAgB,CAAC,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;SACrJ;IACH,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,KAAoB;QAChD,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,uBAAuB;QACvB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YACrD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAElG,IAAI,cAAc,CAAC,gBAAgB,EAAE;gBACnC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBACvD,OAAO,GAAG,KAAK,CAAC;aACjB;SACF;aAAM;YACL,OAAO,GAAG,KAAK,CAAC;SACjB;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IA0CD,gBAAgB;IACA,MAAM;QACpB,OAAO,CACL,8BAAM,SAAS,EAAC,6BAA6B,EAC3C,MAAM,EAAE,IAAI,CAAC,oBAAoB,EACjC,SAAS,EAAE,IAAI,CAAC,cAAc,EAC9B,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1B,aAAa,EAAE,IAAI,CAAC,iBAAiB,EACrC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,iBACX,kBAAkB,EAC9B,IAAI,EAAC,cAAc,IAElB,IAAI,CAAC,YAAY,EAAE,CACf,CACR,CAAC;IACJ,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module PropertyEditors\r\n */\r\n\r\nimport \"./EditorContainer.scss\";\r\nimport * as React from \"react\";\r\nimport { PropertyRecord, PropertyValue, SpecialKey, UiAdmin } from \"@itwin/appui-abstract\";\r\nimport { CommonProps } from \"@itwin/core-react\";\r\nimport { AsyncErrorMessage, PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\r\n\r\n/** Arguments for the Property Updated event callback\r\n * @public\r\n */\r\nexport interface PropertyUpdatedArgs {\r\n /** The property being updated. */\r\n propertyRecord: PropertyRecord;\r\n /** The new value for the property. */\r\n newValue: PropertyValue;\r\n}\r\n\r\n/** Properties for a property editor component\r\n * @public\r\n */\r\nexport interface PropertyEditorProps extends CommonProps {\r\n /** The property being updated. */\r\n propertyRecord?: PropertyRecord;\r\n /** Handler for commit */\r\n onCommit?: (args: PropertyUpdatedArgs) => void;\r\n /** Handler for cancel */\r\n onCancel?: () => void;\r\n /** Handler for blur */\r\n onBlur?: (event: React.FocusEvent) => void;\r\n /** Indicates whether the Property Editor should set focus */\r\n setFocus?: boolean;\r\n /**\r\n * Indicates whether value change should call onCommit().\r\n * @internal\r\n */\r\n shouldCommitOnChange?: boolean;\r\n}\r\n\r\n/** [[EditorContainer]] React component properties\r\n * @public\r\n */\r\nexport interface EditorContainerProps extends CommonProps {\r\n /** The property being updated. */\r\n propertyRecord: PropertyRecord;\r\n /** Tooltip text */\r\n title?: string;\r\n /** Handler for commit */\r\n onCommit: (args: PropertyUpdatedArgs) => void;\r\n /** Handler for cancel */\r\n onCancel: () => void;\r\n /** Indicates whether the Property Editor should set focus */\r\n setFocus?: boolean;\r\n\r\n /** @internal */\r\n ignoreEditorBlur?: boolean;\r\n /**\r\n * Indicates whether value change should call onCommit().\r\n * @internal\r\n */\r\n shouldCommitOnChange?: boolean;\r\n}\r\n\r\n/** @internal */\r\ninterface CloneProps extends PropertyEditorProps {\r\n ref: (ref: any) => void;\r\n}\r\n\r\n/** Interface implemented by React based type editors\r\n * @public\r\n */\r\nexport interface TypeEditor {\r\n getPropertyValue: () => Promise<PropertyValue | undefined>;\r\n htmlElement: HTMLElement | null;\r\n hasFocus: boolean;\r\n}\r\n\r\n/**\r\n * EditorContainer React component used by the Tree and PropertyGrid for cell editing.\r\n * @public\r\n */\r\nexport class EditorContainer extends React.PureComponent<EditorContainerProps> {\r\n\r\n private _editorRef: TypeEditor | undefined;\r\n private _propertyEditor: PropertyEditorBase | undefined;\r\n\r\n private createEditor(): React.ReactNode {\r\n const editorRef = (ref: TypeEditor | undefined) => this._editorRef = ref;\r\n\r\n const editorProps: CloneProps = {\r\n ref: editorRef,\r\n onCommit: this._handleEditorCommit,\r\n onCancel: this._handleEditorCancel,\r\n onBlur: this._handleEditorBlur,\r\n propertyRecord: this.props.propertyRecord,\r\n setFocus: this.props.setFocus !== undefined ? this.props.setFocus : true,\r\n className: this.props.className,\r\n style: this.props.style,\r\n shouldCommitOnChange: this.props.shouldCommitOnChange,\r\n };\r\n\r\n const propDescription = this.props.propertyRecord.property;\r\n\r\n const editorName = propDescription.editor !== undefined ? propDescription.editor.name : undefined;\r\n this._propertyEditor = PropertyEditorManager.createEditor(propDescription.typename, editorName, propDescription.dataController);\r\n const editorNode: React.ReactNode = this._propertyEditor.reactNode;\r\n\r\n let clonedNode: React.ReactNode = null;\r\n // istanbul ignore else\r\n if (React.isValidElement(editorNode)) {\r\n clonedNode = React.cloneElement(editorNode, editorProps);\r\n }\r\n\r\n return clonedNode;\r\n }\r\n\r\n private _handleEditorBlur = (_e: React.FocusEvent) => {\r\n // istanbul ignore else\r\n if (!this.props.ignoreEditorBlur && this._propertyEditor && this._propertyEditor.containerHandlesBlur)\r\n this._handleContainerCommit(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n private _handleContainerBlur = (e: React.FocusEvent) => {\r\n e.stopPropagation();\r\n };\r\n\r\n private _handleClick = (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n\r\n private _handleKeyDown = (e: React.KeyboardEvent) => {\r\n switch (e.key) {\r\n case SpecialKey.Escape:\r\n this.onPressEscape(e);\r\n break;\r\n case SpecialKey.Enter:\r\n this.onPressEnter(e);\r\n break;\r\n case SpecialKey.Tab:\r\n this.onPressTab(e);\r\n break;\r\n default:\r\n if (this._propertyEditor && this._propertyEditor.containerStopsKeydownPropagation)\r\n e.stopPropagation();\r\n }\r\n };\r\n\r\n private _handleRightClick = (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n\r\n private onPressEscape(_e: React.KeyboardEvent): void {\r\n // istanbul ignore else\r\n if (this._propertyEditor && this._propertyEditor.containerHandlesEscape) {\r\n this._commitCancel();\r\n }\r\n }\r\n\r\n private onPressEnter(e: React.KeyboardEvent): void {\r\n // istanbul ignore else\r\n if (this._propertyEditor && this._propertyEditor.containerHandlesEnter) {\r\n // istanbul ignore else\r\n if (this._editorRef && this._editorRef.hasFocus)\r\n e.stopPropagation();\r\n this._handleContainerCommit(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n\r\n private onPressTab(e: React.KeyboardEvent): void {\r\n // istanbul ignore else\r\n if (this._propertyEditor && this._propertyEditor.containerHandlesTab) {\r\n e.stopPropagation();\r\n this._handleContainerCommit(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n\r\n private displayOutputMessage(errorMessage: AsyncErrorMessage | undefined) {\r\n // istanbul ignore else\r\n if (errorMessage && this._editorRef) {\r\n const htmlElement = this._editorRef && this._editorRef.htmlElement;\r\n // istanbul ignore else\r\n if (htmlElement)\r\n UiAdmin.messagePresenter.displayInputFieldMessage(htmlElement, errorMessage.severity, errorMessage.briefMessage, errorMessage.detailedMessage);\r\n else\r\n UiAdmin.messagePresenter.displayMessage(errorMessage.severity, errorMessage.briefMessage, errorMessage.detailedMessage, errorMessage.messageType);\r\n }\r\n }\r\n\r\n private async isNewValueValid(value: PropertyValue): Promise<boolean> {\r\n let isValid = true;\r\n\r\n // istanbul ignore else\r\n if (this._propertyEditor && this.props.propertyRecord) {\r\n const validateResult = await this._propertyEditor.validateValue(value, this.props.propertyRecord);\r\n\r\n if (validateResult.encounteredError) {\r\n this.displayOutputMessage(validateResult.errorMessage);\r\n isValid = false;\r\n }\r\n } else {\r\n isValid = false;\r\n }\r\n\r\n return isValid;\r\n }\r\n\r\n private _handleEditorCommit = (args: PropertyUpdatedArgs): void => {\r\n this._commit(args); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n private _handleContainerCommit = async (): Promise<void> => {\r\n const newValue = this._editorRef && await this._editorRef.getPropertyValue();\r\n // istanbul ignore else\r\n if (newValue !== undefined) {\r\n this._commit({ propertyRecord: this.props.propertyRecord, newValue }); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n };\r\n\r\n private _commit = async (args: PropertyUpdatedArgs) => {\r\n const newValue = args.newValue;\r\n const isValid = await this.isNewValueValid(newValue);\r\n if (isValid) {\r\n let doCommit = true;\r\n // istanbul ignore else\r\n if (this._propertyEditor && args.propertyRecord) {\r\n const commitResult = await this._propertyEditor.commitValue(newValue, args.propertyRecord);\r\n if (commitResult.encounteredError) {\r\n this.displayOutputMessage(commitResult.errorMessage);\r\n doCommit = false;\r\n }\r\n }\r\n\r\n if (doCommit) {\r\n this.props.onCommit(args);\r\n }\r\n }\r\n };\r\n\r\n private _handleEditorCancel = () => {\r\n this._commitCancel();\r\n };\r\n\r\n private _commitCancel = () => {\r\n this.props.onCancel();\r\n };\r\n\r\n /** @internal */\r\n public override render() {\r\n return (\r\n <span className=\"components-editor-container\"\r\n onBlur={this._handleContainerBlur}\r\n onKeyDown={this._handleKeyDown}\r\n onClick={this._handleClick}\r\n onContextMenu={this._handleRightClick}\r\n title={this.props.title}\r\n data-testid=\"editor-container\"\r\n role=\"presentation\"\r\n >\r\n {this.createEditor()}\r\n </span>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"EditorContainer.js","sourceRoot":"","sources":["../../../../src/components-react/editors/EditorContainer.tsx"],"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 PropertyEditors\r\n */\r\n\r\nimport \"./EditorContainer.scss\";\r\nimport * as React from \"react\";\r\nimport type { PropertyRecord, PropertyValue} from \"@itwin/appui-abstract\";\r\nimport { SpecialKey, UiAdmin } from \"@itwin/appui-abstract\";\r\nimport type { CommonProps } from \"@itwin/core-react\";\r\nimport type { AsyncErrorMessage, PropertyEditorBase} from \"./PropertyEditorManager\";\r\nimport { PropertyEditorManager } from \"./PropertyEditorManager\";\r\n\r\n/** Arguments for the Property Updated event callback\r\n * @public\r\n */\r\nexport interface PropertyUpdatedArgs {\r\n /** The property being updated. */\r\n propertyRecord: PropertyRecord;\r\n /** The new value for the property. */\r\n newValue: PropertyValue;\r\n}\r\n\r\n/** Properties for a property editor component\r\n * @public\r\n */\r\nexport interface PropertyEditorProps extends CommonProps {\r\n /** The property being updated. */\r\n propertyRecord?: PropertyRecord;\r\n /** Handler for commit */\r\n onCommit?: (args: PropertyUpdatedArgs) => void;\r\n /** Handler for cancel */\r\n onCancel?: () => void;\r\n /** Handler for blur */\r\n onBlur?: (event: React.FocusEvent) => void;\r\n /** Indicates whether the Property Editor should set focus */\r\n setFocus?: boolean;\r\n /**\r\n * Indicates whether value change should call onCommit().\r\n * @internal\r\n */\r\n shouldCommitOnChange?: boolean;\r\n}\r\n\r\n/** [[EditorContainer]] React component properties\r\n * @public\r\n */\r\nexport interface EditorContainerProps extends CommonProps {\r\n /** The property being updated. */\r\n propertyRecord: PropertyRecord;\r\n /** Tooltip text */\r\n title?: string;\r\n /** Handler for commit */\r\n onCommit: (args: PropertyUpdatedArgs) => void;\r\n /** Handler for cancel */\r\n onCancel: () => void;\r\n /** Indicates whether the Property Editor should set focus */\r\n setFocus?: boolean;\r\n\r\n /** @internal */\r\n ignoreEditorBlur?: boolean;\r\n /**\r\n * Indicates whether value change should call onCommit().\r\n * @internal\r\n */\r\n shouldCommitOnChange?: boolean;\r\n}\r\n\r\n/** @internal */\r\ninterface CloneProps extends PropertyEditorProps {\r\n ref: (ref: any) => void;\r\n}\r\n\r\n/** Interface implemented by React based type editors\r\n * @public\r\n */\r\nexport interface TypeEditor {\r\n getPropertyValue: () => Promise<PropertyValue | undefined>;\r\n htmlElement: HTMLElement | null;\r\n hasFocus: boolean;\r\n}\r\n\r\n/**\r\n * EditorContainer React component used by the Tree and PropertyGrid for cell editing.\r\n * @public\r\n */\r\nexport class EditorContainer extends React.PureComponent<EditorContainerProps> {\r\n\r\n private _editorRef: TypeEditor | undefined;\r\n private _propertyEditor: PropertyEditorBase | undefined;\r\n\r\n private createEditor(): React.ReactNode {\r\n const editorRef = (ref: TypeEditor | undefined) => this._editorRef = ref;\r\n\r\n const editorProps: CloneProps = {\r\n ref: editorRef,\r\n onCommit: this._handleEditorCommit,\r\n onCancel: this._handleEditorCancel,\r\n onBlur: this._handleEditorBlur,\r\n propertyRecord: this.props.propertyRecord,\r\n setFocus: this.props.setFocus !== undefined ? this.props.setFocus : true,\r\n className: this.props.className,\r\n style: this.props.style,\r\n shouldCommitOnChange: this.props.shouldCommitOnChange,\r\n };\r\n\r\n const propDescription = this.props.propertyRecord.property;\r\n\r\n const editorName = propDescription.editor !== undefined ? propDescription.editor.name : undefined;\r\n this._propertyEditor = PropertyEditorManager.createEditor(propDescription.typename, editorName, propDescription.dataController);\r\n const editorNode: React.ReactNode = this._propertyEditor.reactNode;\r\n\r\n let clonedNode: React.ReactNode = null;\r\n // istanbul ignore else\r\n if (React.isValidElement(editorNode)) {\r\n clonedNode = React.cloneElement(editorNode, editorProps);\r\n }\r\n\r\n return clonedNode;\r\n }\r\n\r\n private _handleEditorBlur = (_e: React.FocusEvent) => {\r\n // istanbul ignore else\r\n if (!this.props.ignoreEditorBlur && this._propertyEditor && this._propertyEditor.containerHandlesBlur)\r\n this._handleContainerCommit(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n private _handleContainerBlur = (e: React.FocusEvent) => {\r\n e.stopPropagation();\r\n };\r\n\r\n private _handleClick = (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n\r\n private _handleKeyDown = (e: React.KeyboardEvent) => {\r\n switch (e.key) {\r\n case SpecialKey.Escape:\r\n this.onPressEscape(e);\r\n break;\r\n case SpecialKey.Enter:\r\n this.onPressEnter(e);\r\n break;\r\n case SpecialKey.Tab:\r\n this.onPressTab(e);\r\n break;\r\n default:\r\n if (this._propertyEditor && this._propertyEditor.containerStopsKeydownPropagation)\r\n e.stopPropagation();\r\n }\r\n };\r\n\r\n private _handleRightClick = (e: React.MouseEvent) => {\r\n e.stopPropagation();\r\n };\r\n\r\n private onPressEscape(_e: React.KeyboardEvent): void {\r\n // istanbul ignore else\r\n if (this._propertyEditor && this._propertyEditor.containerHandlesEscape) {\r\n this._commitCancel();\r\n }\r\n }\r\n\r\n private onPressEnter(e: React.KeyboardEvent): void {\r\n // istanbul ignore else\r\n if (this._propertyEditor && this._propertyEditor.containerHandlesEnter) {\r\n // istanbul ignore else\r\n if (this._editorRef && this._editorRef.hasFocus)\r\n e.stopPropagation();\r\n this._handleContainerCommit(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n\r\n private onPressTab(e: React.KeyboardEvent): void {\r\n // istanbul ignore else\r\n if (this._propertyEditor && this._propertyEditor.containerHandlesTab) {\r\n e.stopPropagation();\r\n this._handleContainerCommit(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n\r\n private displayOutputMessage(errorMessage: AsyncErrorMessage | undefined) {\r\n // istanbul ignore else\r\n if (errorMessage && this._editorRef) {\r\n const htmlElement = this._editorRef && this._editorRef.htmlElement;\r\n // istanbul ignore else\r\n if (htmlElement)\r\n UiAdmin.messagePresenter.displayInputFieldMessage(htmlElement, errorMessage.severity, errorMessage.briefMessage, errorMessage.detailedMessage);\r\n else\r\n UiAdmin.messagePresenter.displayMessage(errorMessage.severity, errorMessage.briefMessage, errorMessage.detailedMessage, errorMessage.messageType);\r\n }\r\n }\r\n\r\n private async isNewValueValid(value: PropertyValue): Promise<boolean> {\r\n let isValid = true;\r\n\r\n // istanbul ignore else\r\n if (this._propertyEditor && this.props.propertyRecord) {\r\n const validateResult = await this._propertyEditor.validateValue(value, this.props.propertyRecord);\r\n\r\n if (validateResult.encounteredError) {\r\n this.displayOutputMessage(validateResult.errorMessage);\r\n isValid = false;\r\n }\r\n } else {\r\n isValid = false;\r\n }\r\n\r\n return isValid;\r\n }\r\n\r\n private _handleEditorCommit = (args: PropertyUpdatedArgs): void => {\r\n this._commit(args); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n };\r\n\r\n private _handleContainerCommit = async (): Promise<void> => {\r\n const newValue = this._editorRef && await this._editorRef.getPropertyValue();\r\n // istanbul ignore else\r\n if (newValue !== undefined) {\r\n this._commit({ propertyRecord: this.props.propertyRecord, newValue }); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n };\r\n\r\n private _commit = async (args: PropertyUpdatedArgs) => {\r\n const newValue = args.newValue;\r\n const isValid = await this.isNewValueValid(newValue);\r\n if (isValid) {\r\n let doCommit = true;\r\n // istanbul ignore else\r\n if (this._propertyEditor && args.propertyRecord) {\r\n const commitResult = await this._propertyEditor.commitValue(newValue, args.propertyRecord);\r\n if (commitResult.encounteredError) {\r\n this.displayOutputMessage(commitResult.errorMessage);\r\n doCommit = false;\r\n }\r\n }\r\n\r\n if (doCommit) {\r\n this.props.onCommit(args);\r\n }\r\n }\r\n };\r\n\r\n private _handleEditorCancel = () => {\r\n this._commitCancel();\r\n };\r\n\r\n private _commitCancel = () => {\r\n this.props.onCancel();\r\n };\r\n\r\n /** @internal */\r\n public override render() {\r\n return (\r\n <span className=\"components-editor-container\"\r\n onBlur={this._handleContainerBlur}\r\n onKeyDown={this._handleKeyDown}\r\n onClick={this._handleClick}\r\n onContextMenu={this._handleRightClick}\r\n title={this.props.title}\r\n data-testid=\"editor-container\"\r\n role=\"presentation\"\r\n >\r\n {this.createEditor()}\r\n </span>\r\n );\r\n }\r\n}\r\n"]}
@@ -3,8 +3,8 @@
3
3
  */
4
4
  import "./EnumButtonGroupEditor.scss";
5
5
  import * as React from "react";
6
- import { EnumerationChoice, IconDefinition, PropertyValue } from "@itwin/appui-abstract";
7
- import { PropertyEditorProps, TypeEditor } from "./EditorContainer";
6
+ import type { EnumerationChoice, IconDefinition, PropertyValue } from "@itwin/appui-abstract";
7
+ import type { PropertyEditorProps, TypeEditor } from "./EditorContainer";
8
8
  import { PropertyEditorBase } from "./PropertyEditorManager";
9
9
  /** @internal */
10
10
  interface EnumButtonGroupEditorState {
@@ -1 +1 @@
1
- {"version":3,"file":"EnumButtonGroupEditor.d.ts","sourceRoot":"","sources":["../../../../src/components-react/editors/EnumButtonGroupEditor.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,8BAA8B,CAAC;AAEtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACoB,iBAAiB,EAAE,cAAc,EAC1D,aAAa,EACd,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAyB,MAAM,yBAAyB,CAAC;AAKpF,gBAAgB;AAChB,UAAU,0BAA0B;IAClC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK,CAAC,SAAS,CAAC,mBAAmB,EAAE,0BAA0B,CAAE,YAAW,UAAU;IAC/H,OAAO,CAAC,QAAQ,CAAiD;IACjE,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,oBAAoB,CAAgE;IAE5F,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,0BAA0B,CAAC,CAIlE;IAEW,gBAAgB,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAgBnE,IAAW,WAAW,IAAI,WAAW,GAAG,IAAI,CAE3C;IAED,IAAW,QAAQ,IAAI,OAAO,CAM7B;IAED,gBAAgB;IACA,iBAAiB;IAIjC,gBAAgB;IACA,kBAAkB,CAAC,SAAS,EAAE,mBAAmB;YAMnD,iBAAiB;IAiD/B,OAAO,CAAC,kBAAkB,CAoBxB;IAEF,OAAO,CAAC,SAAS;IA8BjB,gBAAgB;IACA,MAAM;CAMvB;AAED;;;GAGG;AACH,qBAAa,6BAA8B,SAAQ,kBAAkB;IACnE,IAAW,SAAS,IAAI,KAAK,CAAC,SAAS,CAEtC;CACF"}
1
+ {"version":3,"file":"EnumButtonGroupEditor.d.ts","sourceRoot":"","sources":["../../../../src/components-react/editors/EnumButtonGroupEditor.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,8BAA8B,CAAC;AAEtC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACe,iBAAiB,EAAE,cAAc,EAC1D,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAI9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAyB,MAAM,yBAAyB,CAAC;AAKpF,gBAAgB;AAChB,UAAU,0BAA0B;IAClC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK,CAAC,SAAS,CAAC,mBAAmB,EAAE,0BAA0B,CAAE,YAAW,UAAU;IAC/H,OAAO,CAAC,QAAQ,CAAiD;IACjE,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,oBAAoB,CAAgE;IAE5F,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,0BAA0B,CAAC,CAIlE;IAEW,gBAAgB,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAgBnE,IAAW,WAAW,IAAI,WAAW,GAAG,IAAI,CAE3C;IAED,IAAW,QAAQ,IAAI,OAAO,CAM7B;IAED,gBAAgB;IACA,iBAAiB;IAIjC,gBAAgB;IACA,kBAAkB,CAAC,SAAS,EAAE,mBAAmB;YAMnD,iBAAiB;IAiD/B,OAAO,CAAC,kBAAkB,CAoBxB;IAEF,OAAO,CAAC,SAAS;IA8BjB,gBAAgB;IACA,MAAM;CAMvB;AAED;;;GAGG;AACH,qBAAa,6BAA8B,SAAQ,kBAAkB;IACnE,IAAW,SAAS,IAAI,KAAK,CAAC,SAAS,CAEtC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"EnumButtonGroupEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/EnumButtonGroupEditor.tsx"],"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 PropertyEditors\r\n */\r\n\r\nimport \"./EnumButtonGroupEditor.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport {\r\n ButtonGroupEditorParams, EnumerationChoice, IconDefinition, IconSpecUtilities, PropertyEditorParams, PropertyEditorParamTypes, PropertyRecord,\r\n PropertyValue, PropertyValueFormat, StandardEditorNames, StandardTypeNames,\r\n} from \"@itwin/appui-abstract\";\r\nimport { Icon } from \"@itwin/core-react\";\r\nimport { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\r\nimport { PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\r\nimport svgPlaceholder from \"@bentley/icons-generic/icons/placeholder.svg\";\r\n\r\n// cspell:ignore buttongroup enumbuttongroup\r\n\r\n/** @internal */\r\ninterface EnumButtonGroupEditorState {\r\n selectValue: string | number;\r\n enumIcons: IconDefinition[];\r\n choices: EnumerationChoice[];\r\n}\r\n\r\n/** EnumButtonGroupEditor React component that is a property editor with select input\r\n * @public\r\n */\r\nexport class EnumButtonGroupEditor extends React.Component<PropertyEditorProps, EnumButtonGroupEditorState> implements TypeEditor {\r\n private _btnRefs = new Map<string | number, HTMLButtonElement>();\r\n private _divElement = React.createRef<HTMLDivElement>();\r\n private _placeholderIconSpec = IconSpecUtilities.createWebComponentIconSpec(svgPlaceholder);\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<EnumButtonGroupEditorState> = {\r\n selectValue: \"\",\r\n enumIcons: [],\r\n choices: [],\r\n };\r\n\r\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\r\n const record = this.props.propertyRecord;\r\n let propertyValue: PropertyValue | undefined;\r\n\r\n // istanbul ignore else\r\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\r\n propertyValue = {\r\n valueFormat: PropertyValueFormat.Primitive,\r\n value: this.state.selectValue,\r\n displayValue: \"\",\r\n };\r\n }\r\n\r\n return propertyValue;\r\n }\r\n\r\n public get htmlElement(): HTMLElement | null {\r\n return this._divElement.current;\r\n }\r\n\r\n public get hasFocus(): boolean {\r\n let containsFocus = false;\r\n // istanbul ignore else\r\n if (this._divElement.current)\r\n containsFocus = this._divElement.current.contains(document.activeElement);\r\n return containsFocus;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\r\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n\r\n private async setStateFromProps() {\r\n const { propertyRecord } = this.props;\r\n\r\n // istanbul ignore else\r\n if (propertyRecord && propertyRecord.property.enum && propertyRecord.value.valueFormat === PropertyValueFormat.Primitive) {\r\n const primitiveValue = propertyRecord.value.value;\r\n let selectValue: string | number;\r\n\r\n if (typeof primitiveValue === \"string\") {\r\n selectValue = primitiveValue;\r\n } else {\r\n selectValue = primitiveValue as number;\r\n }\r\n\r\n let choices: EnumerationChoice[] = [];\r\n // istanbul ignore else\r\n if (propertyRecord && propertyRecord.property.enum) {\r\n if (propertyRecord.property.enum.choices instanceof Promise) {\r\n choices = await propertyRecord.property.enum.choices;\r\n } else {\r\n choices = propertyRecord.property.enum.choices;\r\n }\r\n }\r\n\r\n const numChoices = choices.length;\r\n const enumIcons = new Array<IconDefinition>(numChoices);\r\n enumIcons.fill({ iconSpec: this._placeholderIconSpec });\r\n\r\n // istanbul ignore else\r\n if (propertyRecord.property.editor && propertyRecord.property.editor.params) {\r\n // istanbul ignore else\r\n if (propertyRecord.property.editor && propertyRecord.property.editor.params) {\r\n const bgParams = propertyRecord.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.ButtonGroupData) as ButtonGroupEditorParams;\r\n // istanbul ignore else\r\n if (bgParams) {\r\n bgParams.buttons.forEach((iconDef: IconDefinition, index: number) => {\r\n // istanbul ignore else\r\n if (index < numChoices) {\r\n enumIcons[index] = iconDef;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n this.setState({ selectValue, enumIcons, choices });\r\n }\r\n }\r\n\r\n private _handleButtonClick = (index: number) => {\r\n const propertyRecord = this.props.propertyRecord as PropertyRecord;\r\n\r\n // istanbul ignore else\r\n if (this.state.choices && this.state.choices.length > index) {\r\n const selectValue = this.state.choices[index].value;\r\n\r\n this.setState({\r\n selectValue,\r\n }, async () => {\r\n // istanbul ignore else\r\n if (propertyRecord && this.props.onCommit) {\r\n const propertyValue = await this.getPropertyValue();\r\n // istanbul ignore else\r\n if (propertyValue !== undefined) {\r\n this.props.onCommit({ propertyRecord, newValue: propertyValue });\r\n }\r\n }\r\n });\r\n }\r\n };\r\n\r\n private getButton(choice: EnumerationChoice, index: number) {\r\n const choiceValue = this.state.choices ? this.state.choices[index].value : /* istanbul ignore next */ 0;\r\n const isActive = (choiceValue === this.state.selectValue) ? true : false;\r\n let isDisabled = false;\r\n const isEnabledFunction = this.state.enumIcons[index].isEnabledFunction;\r\n // istanbul ignore else\r\n if (isEnabledFunction) {\r\n isDisabled = !isEnabledFunction();\r\n }\r\n\r\n const className = classnames(\r\n \"components-enumbuttongroup-button\",\r\n isDisabled && \"nz-is-disabled\",\r\n isActive && \"nz-is-active\",\r\n );\r\n\r\n return (\r\n <button\r\n ref={(ref: HTMLButtonElement|null) => ref && this._btnRefs.set(choiceValue, ref)}\r\n data-testid={choice.label}\r\n className={className}\r\n title={choice.label}\r\n key={choice.label}\r\n onClick={() => this._handleButtonClick(index)}\r\n >\r\n <Icon iconSpec={this.state.enumIcons[index].iconSpec} />\r\n </button >\r\n );\r\n }\r\n\r\n /** @internal */\r\n public override render() {\r\n return (\r\n <div className={classnames(\"components-enumbuttongroup-editor\", this.props.className)} style={this.props.style} ref={this._divElement}>\r\n {this.state.choices && this.state.enumIcons.length && this.state.choices.map((choice: EnumerationChoice, index: number) => this.getButton(choice, index))}\r\n </div>);\r\n }\r\n}\r\n\r\n/** Enum Property Button Group Editor registered for the \"enum\" type name and the \"enum-buttongroup\" editor name.\r\n * It uses the [[EnumButtonGroupEditor]] React component.\r\n * @public\r\n */\r\nexport class EnumPropertyButtonGroupEditor extends PropertyEditorBase { // istanbul ignore next\r\n public get reactNode(): React.ReactNode {\r\n return <EnumButtonGroupEditor />;\r\n }\r\n}\r\n\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Enum, EnumPropertyButtonGroupEditor, StandardEditorNames.EnumButtonGroup);\r\n"]}
1
+ {"version":3,"file":"EnumButtonGroupEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/EnumButtonGroupEditor.tsx"],"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 PropertyEditors\r\n */\r\n\r\nimport \"./EnumButtonGroupEditor.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport type {\r\n ButtonGroupEditorParams, EnumerationChoice, IconDefinition, PropertyEditorParams, PropertyRecord,\r\n PropertyValue} from \"@itwin/appui-abstract\";\r\nimport { IconSpecUtilities, PropertyEditorParamTypes, PropertyValueFormat, StandardEditorNames, StandardTypeNames,\r\n} from \"@itwin/appui-abstract\";\r\nimport { Icon } from \"@itwin/core-react\";\r\nimport type { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\r\nimport { PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\r\nimport svgPlaceholder from \"@bentley/icons-generic/icons/placeholder.svg\";\r\n\r\n// cspell:ignore buttongroup enumbuttongroup\r\n\r\n/** @internal */\r\ninterface EnumButtonGroupEditorState {\r\n selectValue: string | number;\r\n enumIcons: IconDefinition[];\r\n choices: EnumerationChoice[];\r\n}\r\n\r\n/** EnumButtonGroupEditor React component that is a property editor with select input\r\n * @public\r\n */\r\nexport class EnumButtonGroupEditor extends React.Component<PropertyEditorProps, EnumButtonGroupEditorState> implements TypeEditor {\r\n private _btnRefs = new Map<string | number, HTMLButtonElement>();\r\n private _divElement = React.createRef<HTMLDivElement>();\r\n private _placeholderIconSpec = IconSpecUtilities.createWebComponentIconSpec(svgPlaceholder);\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<EnumButtonGroupEditorState> = {\r\n selectValue: \"\",\r\n enumIcons: [],\r\n choices: [],\r\n };\r\n\r\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\r\n const record = this.props.propertyRecord;\r\n let propertyValue: PropertyValue | undefined;\r\n\r\n // istanbul ignore else\r\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\r\n propertyValue = {\r\n valueFormat: PropertyValueFormat.Primitive,\r\n value: this.state.selectValue,\r\n displayValue: \"\",\r\n };\r\n }\r\n\r\n return propertyValue;\r\n }\r\n\r\n public get htmlElement(): HTMLElement | null {\r\n return this._divElement.current;\r\n }\r\n\r\n public get hasFocus(): boolean {\r\n let containsFocus = false;\r\n // istanbul ignore else\r\n if (this._divElement.current)\r\n containsFocus = this._divElement.current.contains(document.activeElement);\r\n return containsFocus;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\r\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n\r\n private async setStateFromProps() {\r\n const { propertyRecord } = this.props;\r\n\r\n // istanbul ignore else\r\n if (propertyRecord && propertyRecord.property.enum && propertyRecord.value.valueFormat === PropertyValueFormat.Primitive) {\r\n const primitiveValue = propertyRecord.value.value;\r\n let selectValue: string | number;\r\n\r\n if (typeof primitiveValue === \"string\") {\r\n selectValue = primitiveValue;\r\n } else {\r\n selectValue = primitiveValue as number;\r\n }\r\n\r\n let choices: EnumerationChoice[] = [];\r\n // istanbul ignore else\r\n if (propertyRecord && propertyRecord.property.enum) {\r\n if (propertyRecord.property.enum.choices instanceof Promise) {\r\n choices = await propertyRecord.property.enum.choices;\r\n } else {\r\n choices = propertyRecord.property.enum.choices;\r\n }\r\n }\r\n\r\n const numChoices = choices.length;\r\n const enumIcons = new Array<IconDefinition>(numChoices);\r\n enumIcons.fill({ iconSpec: this._placeholderIconSpec });\r\n\r\n // istanbul ignore else\r\n if (propertyRecord.property.editor && propertyRecord.property.editor.params) {\r\n // istanbul ignore else\r\n if (propertyRecord.property.editor && propertyRecord.property.editor.params) {\r\n const bgParams = propertyRecord.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.ButtonGroupData) as ButtonGroupEditorParams;\r\n // istanbul ignore else\r\n if (bgParams) {\r\n bgParams.buttons.forEach((iconDef: IconDefinition, index: number) => {\r\n // istanbul ignore else\r\n if (index < numChoices) {\r\n enumIcons[index] = iconDef;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n this.setState({ selectValue, enumIcons, choices });\r\n }\r\n }\r\n\r\n private _handleButtonClick = (index: number) => {\r\n const propertyRecord = this.props.propertyRecord as PropertyRecord;\r\n\r\n // istanbul ignore else\r\n if (this.state.choices && this.state.choices.length > index) {\r\n const selectValue = this.state.choices[index].value;\r\n\r\n this.setState({\r\n selectValue,\r\n }, async () => {\r\n // istanbul ignore else\r\n if (propertyRecord && this.props.onCommit) {\r\n const propertyValue = await this.getPropertyValue();\r\n // istanbul ignore else\r\n if (propertyValue !== undefined) {\r\n this.props.onCommit({ propertyRecord, newValue: propertyValue });\r\n }\r\n }\r\n });\r\n }\r\n };\r\n\r\n private getButton(choice: EnumerationChoice, index: number) {\r\n const choiceValue = this.state.choices ? this.state.choices[index].value : /* istanbul ignore next */ 0;\r\n const isActive = (choiceValue === this.state.selectValue) ? true : false;\r\n let isDisabled = false;\r\n const isEnabledFunction = this.state.enumIcons[index].isEnabledFunction;\r\n // istanbul ignore else\r\n if (isEnabledFunction) {\r\n isDisabled = !isEnabledFunction();\r\n }\r\n\r\n const className = classnames(\r\n \"components-enumbuttongroup-button\",\r\n isDisabled && \"nz-is-disabled\",\r\n isActive && \"nz-is-active\",\r\n );\r\n\r\n return (\r\n <button\r\n ref={(ref: HTMLButtonElement|null) => ref && this._btnRefs.set(choiceValue, ref)}\r\n data-testid={choice.label}\r\n className={className}\r\n title={choice.label}\r\n key={choice.label}\r\n onClick={() => this._handleButtonClick(index)}\r\n >\r\n <Icon iconSpec={this.state.enumIcons[index].iconSpec} />\r\n </button >\r\n );\r\n }\r\n\r\n /** @internal */\r\n public override render() {\r\n return (\r\n <div className={classnames(\"components-enumbuttongroup-editor\", this.props.className)} style={this.props.style} ref={this._divElement}>\r\n {this.state.choices && this.state.enumIcons.length && this.state.choices.map((choice: EnumerationChoice, index: number) => this.getButton(choice, index))}\r\n </div>);\r\n }\r\n}\r\n\r\n/** Enum Property Button Group Editor registered for the \"enum\" type name and the \"enum-buttongroup\" editor name.\r\n * It uses the [[EnumButtonGroupEditor]] React component.\r\n * @public\r\n */\r\nexport class EnumPropertyButtonGroupEditor extends PropertyEditorBase { // istanbul ignore next\r\n public get reactNode(): React.ReactNode {\r\n return <EnumButtonGroupEditor />;\r\n }\r\n}\r\n\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Enum, EnumPropertyButtonGroupEditor, StandardEditorNames.EnumButtonGroup);\r\n"]}
@@ -3,9 +3,9 @@
3
3
  */
4
4
  import "./EnumEditor.scss";
5
5
  import * as React from "react";
6
- import { PropertyValue } from "@itwin/appui-abstract";
7
- import { SelectOption } from "@itwin/itwinui-react";
8
- import { PropertyEditorProps, TypeEditor } from "./EditorContainer";
6
+ import type { PropertyValue } from "@itwin/appui-abstract";
7
+ import type { SelectOption } from "@itwin/itwinui-react";
8
+ import type { PropertyEditorProps, TypeEditor } from "./EditorContainer";
9
9
  import { PropertyEditorBase } from "./PropertyEditorManager";
10
10
  /** @internal */
11
11
  interface EnumEditorState {
@@ -1 +1 @@
1
- {"version":3,"file":"EnumEditor.d.ts","sourceRoot":"","sources":["../../../../src/components-react/editors/EnumEditor.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAE3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAqB,aAAa,EAA0C,MAAM,uBAAuB,CAAC;AACjH,OAAO,EAAU,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAyB,MAAM,yBAAyB,CAAC;AAGpF,gBAAgB;AAChB,UAAU,eAAe;IACvB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;IAChC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;CAClC;AAED;;IAEI;AACJ,qBAAa,UAAW,SAAQ,KAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,eAAe,CAAE,YAAW,UAAU;IAC7G,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAyC;IAC3D,OAAO,CAAC,WAAW,CAAqC;IAExD,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,CAKvD;IAEW,gBAAgB,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAiBnE,IAAW,WAAW,IAAI,WAAW,GAAG,IAAI,CAE3C;IAGD,IAAW,QAAQ,IAAI,OAAO,CAM7B;IAED,OAAO,CAAC,kBAAkB,CAwBxB;IAEF,gBAAgB;IACA,iBAAiB;IAKjC,gBAAgB;IACA,oBAAoB;IAIpC,gBAAgB;IACA,kBAAkB,CAAC,SAAS,EAAE,mBAAmB;YAMnD,iBAAiB;IAwC/B,gBAAgB;IACA,MAAM;CA0BvB;AAED;;;IAGI;AACJ,qBAAa,kBAAmB,SAAQ,kBAAkB;IAExD,IAAoB,qBAAqB,IAAI,OAAO,CAEnD;IACD,IAAoB,gCAAgC,IAAI,OAAO,CAE9D;IAED,IAAW,SAAS,IAAI,KAAK,CAAC,SAAS,CAEtC;CACF"}
1
+ {"version":3,"file":"EnumEditor.d.ts","sourceRoot":"","sources":["../../../../src/components-react/editors/EnumEditor.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAE3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAqB,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAE7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAyB,MAAM,yBAAyB,CAAC;AAGpF,gBAAgB;AAChB,UAAU,eAAe;IACvB,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;IAChC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;CAClC;AAED;;IAEI;AACJ,qBAAa,UAAW,SAAQ,KAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,eAAe,CAAE,YAAW,UAAU;IAC7G,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAyC;IAC3D,OAAO,CAAC,WAAW,CAAqC;IAExD,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,CAKvD;IAEW,gBAAgB,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAiBnE,IAAW,WAAW,IAAI,WAAW,GAAG,IAAI,CAE3C;IAGD,IAAW,QAAQ,IAAI,OAAO,CAM7B;IAED,OAAO,CAAC,kBAAkB,CAwBxB;IAEF,gBAAgB;IACA,iBAAiB;IAKjC,gBAAgB;IACA,oBAAoB;IAIpC,gBAAgB;IACA,kBAAkB,CAAC,SAAS,EAAE,mBAAmB;YAMnD,iBAAiB;IAwC/B,gBAAgB;IACA,MAAM;CA0BvB;AAED;;;IAGI;AACJ,qBAAa,kBAAmB,SAAQ,kBAAkB;IAExD,IAAoB,qBAAqB,IAAI,OAAO,CAEnD;IACD,IAAoB,gCAAgC,IAAI,OAAO,CAE9D;IAED,IAAW,SAAS,IAAI,KAAK,CAAC,SAAS,CAEtC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"EnumEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/EnumEditor.tsx"],"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 PropertyEditors\r\n */\r\n\r\nimport \"./EnumEditor.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { EnumerationChoice, PropertyValue, PropertyValueFormat, StandardTypeNames } from \"@itwin/appui-abstract\";\r\nimport { Select, SelectOption } from \"@itwin/itwinui-react\";\r\nimport { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\r\nimport { PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\r\nimport { UiComponents } from \"../UiComponents\";\r\n\r\n/** @internal */\r\ninterface EnumEditorState {\r\n selectValue: string | number;\r\n valueIsNumber: boolean;\r\n options: SelectOption<string>[];\r\n parentDiv: HTMLDivElement | null;\r\n}\r\n\r\n/** EnumEditor React component that is a property editor with select input\r\n * @public\r\n */\r\nexport class EnumEditor extends React.PureComponent<PropertyEditorProps, EnumEditorState> implements TypeEditor {\r\n private _isMounted = false;\r\n private _ariaLabel = UiComponents.translate(\"editor.enum\");\r\n private _divElement = React.createRef<HTMLDivElement>();\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<EnumEditorState> = {\r\n selectValue: \"\",\r\n valueIsNumber: false,\r\n options: [],\r\n parentDiv: null,\r\n };\r\n\r\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\r\n const record = this.props.propertyRecord;\r\n let propertyValue: PropertyValue | undefined;\r\n\r\n // istanbul ignore else\r\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\r\n propertyValue = {\r\n valueFormat: PropertyValueFormat.Primitive,\r\n value: this.state.selectValue,\r\n displayValue: \"\",\r\n };\r\n }\r\n\r\n return propertyValue;\r\n }\r\n\r\n // istanbul ignore next\r\n public get htmlElement(): HTMLElement | null {\r\n return this._divElement.current;\r\n }\r\n\r\n // istanbul ignore next\r\n public get hasFocus(): boolean {\r\n let containsFocus = false;\r\n // istanbul ignore else\r\n if (this._divElement.current)\r\n containsFocus = this._divElement.current.contains(document.activeElement);\r\n return containsFocus;\r\n }\r\n\r\n private _updateSelectValue = (newValue: string) => {\r\n // istanbul ignore else\r\n if (this._isMounted) {\r\n let selectValue: string | number;\r\n\r\n // istanbul ignore if\r\n if (this.state.valueIsNumber)\r\n selectValue = parseInt(newValue, 10);\r\n else\r\n selectValue = newValue;\r\n\r\n this.setState({\r\n selectValue,\r\n }, async () => {\r\n // istanbul ignore else\r\n if (this.props.propertyRecord && this.props.onCommit) {\r\n const propertyValue = await this.getPropertyValue();\r\n // istanbul ignore else\r\n if (propertyValue) {\r\n this.props.onCommit({ propertyRecord: this.props.propertyRecord, newValue: propertyValue });\r\n }\r\n }\r\n });\r\n }\r\n };\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\r\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n\r\n private async setStateFromProps() {\r\n const { propertyRecord } = this.props;\r\n let initialValue: string | number = \"\";\r\n let valueIsNumber: boolean = false;\r\n\r\n // istanbul ignore else\r\n if (propertyRecord && propertyRecord.value.valueFormat === PropertyValueFormat.Primitive) {\r\n const primitiveValue = propertyRecord.value.value;\r\n if (typeof primitiveValue === \"string\") {\r\n initialValue = primitiveValue;\r\n valueIsNumber = false;\r\n } else {\r\n initialValue = primitiveValue as number;\r\n valueIsNumber = true;\r\n }\r\n }\r\n\r\n let choices: EnumerationChoice[] | undefined;\r\n\r\n if (propertyRecord && propertyRecord.property.enum) {\r\n // istanbul ignore else\r\n if (propertyRecord.property.enum.choices instanceof Promise) {\r\n choices = await propertyRecord.property.enum.choices;\r\n } else {\r\n choices = propertyRecord.property.enum.choices;\r\n }\r\n }\r\n\r\n const options: SelectOption<string>[] = [];\r\n if (choices) {\r\n choices.forEach((choice: EnumerationChoice) => {\r\n options.push({ value: choice.value.toString(), label: choice.label });\r\n });\r\n }\r\n\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({ selectValue: initialValue, valueIsNumber, options, parentDiv: this._divElement.current });\r\n }\r\n\r\n /** @internal */\r\n public override render() {\r\n const className = classnames(\"components-cell-editor\", \"components-enum-editor\", this.props.className);\r\n const selectValue = this.state.selectValue !== undefined ? this.state.selectValue.toString() : /* istanbul ignore next */ undefined;\r\n\r\n // set min-width to show about 4 characters + down arrow\r\n const minWidthStyle: React.CSSProperties = {\r\n minWidth: `6em`,\r\n };\r\n\r\n // The iTwinUI-react Select onBlur still does not work properly, so it cannot be used yet. NEEDSWORK\r\n // onBlur={this.props.onBlur}\r\n return (\r\n <div ref={this._divElement}>\r\n <Select\r\n className={className}\r\n style={this.props.style ? this.props.style : minWidthStyle}\r\n value={selectValue}\r\n onChange={this._updateSelectValue}\r\n data-testid=\"components-select-editor\"\r\n options={this.state.options}\r\n setFocus={this.props.setFocus}\r\n aria-label={this._ariaLabel}\r\n size=\"small\" />\r\n </div>\r\n );\r\n }\r\n}\r\n\r\n/** Enum Property Button Group Editor registered for the \"enum\" type name.\r\n * It uses the [[EnumEditor]] React component.\r\n * @public\r\n */\r\nexport class EnumPropertyEditor extends PropertyEditorBase {\r\n // istanbul ignore next\r\n public override get containerHandlesEnter(): boolean {\r\n return false;\r\n }\r\n public override get containerStopsKeydownPropagation(): boolean {\r\n return false;\r\n }\r\n\r\n public get reactNode(): React.ReactNode {\r\n return <EnumEditor />;\r\n }\r\n}\r\n\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Enum, EnumPropertyEditor);\r\n"]}
1
+ {"version":3,"file":"EnumEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/EnumEditor.tsx"],"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 PropertyEditors\r\n */\r\n\r\nimport \"./EnumEditor.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport type { EnumerationChoice, PropertyValue} from \"@itwin/appui-abstract\";\r\nimport { PropertyValueFormat, StandardTypeNames } from \"@itwin/appui-abstract\";\r\nimport type { SelectOption } from \"@itwin/itwinui-react\";\r\nimport { Select } from \"@itwin/itwinui-react\";\r\nimport type { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\r\nimport { PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\r\nimport { UiComponents } from \"../UiComponents\";\r\n\r\n/** @internal */\r\ninterface EnumEditorState {\r\n selectValue: string | number;\r\n valueIsNumber: boolean;\r\n options: SelectOption<string>[];\r\n parentDiv: HTMLDivElement | null;\r\n}\r\n\r\n/** EnumEditor React component that is a property editor with select input\r\n * @public\r\n */\r\nexport class EnumEditor extends React.PureComponent<PropertyEditorProps, EnumEditorState> implements TypeEditor {\r\n private _isMounted = false;\r\n private _ariaLabel = UiComponents.translate(\"editor.enum\");\r\n private _divElement = React.createRef<HTMLDivElement>();\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<EnumEditorState> = {\r\n selectValue: \"\",\r\n valueIsNumber: false,\r\n options: [],\r\n parentDiv: null,\r\n };\r\n\r\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\r\n const record = this.props.propertyRecord;\r\n let propertyValue: PropertyValue | undefined;\r\n\r\n // istanbul ignore else\r\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\r\n propertyValue = {\r\n valueFormat: PropertyValueFormat.Primitive,\r\n value: this.state.selectValue,\r\n displayValue: \"\",\r\n };\r\n }\r\n\r\n return propertyValue;\r\n }\r\n\r\n // istanbul ignore next\r\n public get htmlElement(): HTMLElement | null {\r\n return this._divElement.current;\r\n }\r\n\r\n // istanbul ignore next\r\n public get hasFocus(): boolean {\r\n let containsFocus = false;\r\n // istanbul ignore else\r\n if (this._divElement.current)\r\n containsFocus = this._divElement.current.contains(document.activeElement);\r\n return containsFocus;\r\n }\r\n\r\n private _updateSelectValue = (newValue: string) => {\r\n // istanbul ignore else\r\n if (this._isMounted) {\r\n let selectValue: string | number;\r\n\r\n // istanbul ignore if\r\n if (this.state.valueIsNumber)\r\n selectValue = parseInt(newValue, 10);\r\n else\r\n selectValue = newValue;\r\n\r\n this.setState({\r\n selectValue,\r\n }, async () => {\r\n // istanbul ignore else\r\n if (this.props.propertyRecord && this.props.onCommit) {\r\n const propertyValue = await this.getPropertyValue();\r\n // istanbul ignore else\r\n if (propertyValue) {\r\n this.props.onCommit({ propertyRecord: this.props.propertyRecord, newValue: propertyValue });\r\n }\r\n }\r\n });\r\n }\r\n };\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\r\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n\r\n private async setStateFromProps() {\r\n const { propertyRecord } = this.props;\r\n let initialValue: string | number = \"\";\r\n let valueIsNumber: boolean = false;\r\n\r\n // istanbul ignore else\r\n if (propertyRecord && propertyRecord.value.valueFormat === PropertyValueFormat.Primitive) {\r\n const primitiveValue = propertyRecord.value.value;\r\n if (typeof primitiveValue === \"string\") {\r\n initialValue = primitiveValue;\r\n valueIsNumber = false;\r\n } else {\r\n initialValue = primitiveValue as number;\r\n valueIsNumber = true;\r\n }\r\n }\r\n\r\n let choices: EnumerationChoice[] | undefined;\r\n\r\n if (propertyRecord && propertyRecord.property.enum) {\r\n // istanbul ignore else\r\n if (propertyRecord.property.enum.choices instanceof Promise) {\r\n choices = await propertyRecord.property.enum.choices;\r\n } else {\r\n choices = propertyRecord.property.enum.choices;\r\n }\r\n }\r\n\r\n const options: SelectOption<string>[] = [];\r\n if (choices) {\r\n choices.forEach((choice: EnumerationChoice) => {\r\n options.push({ value: choice.value.toString(), label: choice.label });\r\n });\r\n }\r\n\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({ selectValue: initialValue, valueIsNumber, options, parentDiv: this._divElement.current });\r\n }\r\n\r\n /** @internal */\r\n public override render() {\r\n const className = classnames(\"components-cell-editor\", \"components-enum-editor\", this.props.className);\r\n const selectValue = this.state.selectValue !== undefined ? this.state.selectValue.toString() : /* istanbul ignore next */ undefined;\r\n\r\n // set min-width to show about 4 characters + down arrow\r\n const minWidthStyle: React.CSSProperties = {\r\n minWidth: `6em`,\r\n };\r\n\r\n // The iTwinUI-react Select onBlur still does not work properly, so it cannot be used yet. NEEDSWORK\r\n // onBlur={this.props.onBlur}\r\n return (\r\n <div ref={this._divElement}>\r\n <Select\r\n className={className}\r\n style={this.props.style ? this.props.style : minWidthStyle}\r\n value={selectValue}\r\n onChange={this._updateSelectValue}\r\n data-testid=\"components-select-editor\"\r\n options={this.state.options}\r\n setFocus={this.props.setFocus}\r\n aria-label={this._ariaLabel}\r\n size=\"small\" />\r\n </div>\r\n );\r\n }\r\n}\r\n\r\n/** Enum Property Button Group Editor registered for the \"enum\" type name.\r\n * It uses the [[EnumEditor]] React component.\r\n * @public\r\n */\r\nexport class EnumPropertyEditor extends PropertyEditorBase {\r\n // istanbul ignore next\r\n public override get containerHandlesEnter(): boolean {\r\n return false;\r\n }\r\n public override get containerStopsKeydownPropagation(): boolean {\r\n return false;\r\n }\r\n\r\n public get reactNode(): React.ReactNode {\r\n return <EnumEditor />;\r\n }\r\n}\r\n\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Enum, EnumPropertyEditor);\r\n"]}
@@ -3,8 +3,8 @@
3
3
  */
4
4
  import "./IconEditor.scss";
5
5
  import * as React from "react";
6
- import { PropertyValue } from "@itwin/appui-abstract";
7
- import { PropertyEditorProps, TypeEditor } from "./EditorContainer";
6
+ import type { PropertyValue } from "@itwin/appui-abstract";
7
+ import type { PropertyEditorProps, TypeEditor } from "./EditorContainer";
8
8
  import { PropertyEditorBase } from "./PropertyEditorManager";
9
9
  /** @internal */
10
10
  interface IconEditorState {
@@ -1 +1 @@
1
- {"version":3,"file":"IconEditor.d.ts","sourceRoot":"","sources":["../../../../src/components-react/editors/IconEditor.tsx"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAE3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACiF,aAAa,EAEpG,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAyB,MAAM,yBAAyB,CAAC;AAIpF,gBAAgB;AAChB,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AAEH,qBAAa,UAAW,SAAQ,KAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,eAAe,CAAE,YAAW,UAAU;IAC7G,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAqC;gBAE5C,KAAK,EAAE,mBAAmB;IA0BzB,gBAAgB,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAgBnE,IAAW,WAAW,IAAI,WAAW,GAAG,IAAI,CAE3C;IAED,IAAW,QAAQ,IAAI,OAAO,CAK7B;IAED,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,aAAa,CAenB;IAEF,gBAAgB;IACA,iBAAiB;IAKjC,gBAAgB;IACA,oBAAoB;IAIpC,gBAAgB;IACA,kBAAkB,CAAC,SAAS,EAAE,mBAAmB;YAMnD,iBAAiB;IAwB/B,gBAAgB;IACA,MAAM;CAevB;AAED;;;GAGG;AAEH,qBAAa,kBAAmB,SAAQ,kBAAkB;IACxD,IAAW,SAAS,IAAI,KAAK,CAAC,SAAS,CAEtC;CACF"}
1
+ {"version":3,"file":"IconEditor.d.ts","sourceRoot":"","sources":["../../../../src/components-react/editors/IconEditor.tsx"],"names":[],"mappings":"AAKA;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAE3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACkD,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAK1G,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAyB,MAAM,yBAAyB,CAAC;AAIpF,gBAAgB;AAChB,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AAEH,qBAAa,UAAW,SAAQ,KAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,eAAe,CAAE,YAAW,UAAU;IAC7G,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,WAAW,CAAqC;gBAE5C,KAAK,EAAE,mBAAmB;IA0BzB,gBAAgB,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAgBnE,IAAW,WAAW,IAAI,WAAW,GAAG,IAAI,CAE3C;IAED,IAAW,QAAQ,IAAI,OAAO,CAK7B;IAED,OAAO,CAAC,QAAQ;IAOhB,OAAO,CAAC,aAAa,CAenB;IAEF,gBAAgB;IACA,iBAAiB;IAKjC,gBAAgB;IACA,oBAAoB;IAIpC,gBAAgB;IACA,kBAAkB,CAAC,SAAS,EAAE,mBAAmB;YAMnD,iBAAiB;IAwB/B,gBAAgB;IACA,MAAM;CAevB;AAED;;;GAGG;AAEH,qBAAa,kBAAmB,SAAQ,kBAAkB;IACxD,IAAW,SAAS,IAAI,KAAK,CAAC,SAAS,CAEtC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"IconEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/IconEditor.tsx"],"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/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module PropertyEditors\r\n */\r\n\r\nimport \"./IconEditor.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport {\r\n IconListEditorParams, PropertyEditorParams, PropertyEditorParamTypes, PropertyRecord, PropertyValue, PropertyValueFormat,\r\n StandardEditorNames, StandardTypeNames,\r\n} from \"@itwin/appui-abstract\";\r\nimport { IconPickerButton } from \"../iconpicker/IconPickerButton\";\r\nimport { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\r\nimport { PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\r\n\r\n// cspell:ignore iconpicker\r\n\r\n/** @internal */\r\ninterface IconEditorState {\r\n icon: string;\r\n icons: string[];\r\n numColumns: number;\r\n readonly?: boolean;\r\n isDisabled?: boolean;\r\n}\r\n\r\n/** IconEditor React component that is a property editor with button and popup\r\n * @alpha\r\n */\r\n// istanbul ignore next\r\nexport class IconEditor extends React.PureComponent<PropertyEditorProps, IconEditorState> implements TypeEditor {\r\n private _control: any | null = null;\r\n private _isMounted = false;\r\n private _divElement = React.createRef<HTMLDivElement>();\r\n\r\n constructor(props: PropertyEditorProps) {\r\n super(props);\r\n\r\n let icon = \"\";\r\n let numColumns = 4;\r\n const icons: string[] = [];\r\n const readonly = false;\r\n\r\n // TODO: add support for following if we need to specify set of weights to display\r\n const record = props.propertyRecord;\r\n if (record && record.property && record.property.editor && record.property.editor.params) {\r\n const iconParams = record.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.IconListData) as IconListEditorParams;\r\n // istanbul ignore else\r\n if (iconParams) {\r\n if (iconParams.iconValue)\r\n icon = iconParams.iconValue;\r\n if (iconParams.numColumns)\r\n numColumns = iconParams.numColumns;\r\n if (iconParams.iconValues)\r\n iconParams.iconValues.forEach((i: string) => icons.push(i));\r\n }\r\n }\r\n\r\n this.state = { icon, icons, numColumns, readonly };\r\n }\r\n\r\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\r\n const record = this.props.propertyRecord;\r\n let propertyValue: PropertyValue | undefined;\r\n\r\n // istanbul ignore else\r\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\r\n propertyValue = {\r\n valueFormat: PropertyValueFormat.Primitive,\r\n value: this.state.icon,\r\n displayValue: \"\",\r\n };\r\n }\r\n\r\n return propertyValue;\r\n }\r\n\r\n public get htmlElement(): HTMLElement | null {\r\n return this._divElement.current;\r\n }\r\n\r\n public get hasFocus(): boolean {\r\n let containsFocus = false;\r\n if (this._divElement.current)\r\n containsFocus = this._divElement.current.contains(document.activeElement);\r\n return containsFocus;\r\n }\r\n\r\n private setFocus(): void {\r\n // istanbul ignore else\r\n if (this._control && !this.state.isDisabled) {\r\n this._control.setFocus();\r\n }\r\n }\r\n\r\n private _onIconChange = (icon: string) => {\r\n const propertyRecord = this.props.propertyRecord as PropertyRecord;\r\n\r\n this.setState({\r\n icon,\r\n }, async () => {\r\n // istanbul ignore else\r\n if (propertyRecord && this.props.onCommit) {\r\n const propertyValue = await this.getPropertyValue();\r\n // istanbul ignore else\r\n if (propertyValue) {\r\n this.props.onCommit({ propertyRecord, newValue: propertyValue });\r\n }\r\n }\r\n });\r\n };\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\r\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n\r\n private async setStateFromProps() {\r\n const record = this.props.propertyRecord;\r\n let initialValue = \"\";\r\n\r\n // istanbul ignore else\r\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\r\n initialValue = record.value.value as string;\r\n }\r\n\r\n const readonly = record && undefined !== record.isReadonly ? record.isReadonly : false;\r\n const isDisabled = record ? record.isDisabled : undefined;\r\n\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState(\r\n { icon: initialValue, readonly, isDisabled },\r\n () => {\r\n if (this.props.setFocus) {\r\n this.setFocus();\r\n }\r\n },\r\n );\r\n }\r\n\r\n /** @internal */\r\n public override render() {\r\n const { icon, icons, numColumns } = this.state;\r\n return (\r\n <div className={classnames(\"components-icon-editor\", this.props.className)} style={this.props.style} ref={this._divElement}>\r\n <IconPickerButton ref={(control) => this._control = control}\r\n icon={icon}\r\n icons={icons}\r\n numColumns={numColumns}\r\n disabled={this.state.isDisabled}\r\n readonly={this.state.readonly}\r\n onIconChange={this._onIconChange}\r\n data-testid=\"components-icon-editor\" />\r\n </div>\r\n );\r\n }\r\n}\r\n\r\n/** Icon Property Editor registered for the \"text\" and \"string\" type names and the \"icon-picker\" editor name.\r\n * It uses the [[IconEditor]] React component.\r\n * @alpha\r\n */\r\n// istanbul ignore next\r\nexport class IconPropertyEditor extends PropertyEditorBase {\r\n public get reactNode(): React.ReactNode {\r\n return <IconEditor />;\r\n }\r\n}\r\n\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Text, IconPropertyEditor, StandardEditorNames.IconPicker);\r\nPropertyEditorManager.registerEditor(StandardTypeNames.String, IconPropertyEditor, StandardEditorNames.IconPicker);\r\n"]}
1
+ {"version":3,"file":"IconEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/IconEditor.tsx"],"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/* eslint-disable deprecation/deprecation */\r\n/** @packageDocumentation\r\n * @module PropertyEditors\r\n */\r\n\r\nimport \"./IconEditor.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport type {\r\n IconListEditorParams, PropertyEditorParams, PropertyRecord, PropertyValue} from \"@itwin/appui-abstract\";\r\nimport { PropertyEditorParamTypes, PropertyValueFormat,\r\n StandardEditorNames, StandardTypeNames,\r\n} from \"@itwin/appui-abstract\";\r\nimport { IconPickerButton } from \"../iconpicker/IconPickerButton\";\r\nimport type { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\r\nimport { PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\r\n\r\n// cspell:ignore iconpicker\r\n\r\n/** @internal */\r\ninterface IconEditorState {\r\n icon: string;\r\n icons: string[];\r\n numColumns: number;\r\n readonly?: boolean;\r\n isDisabled?: boolean;\r\n}\r\n\r\n/** IconEditor React component that is a property editor with button and popup\r\n * @alpha\r\n */\r\n// istanbul ignore next\r\nexport class IconEditor extends React.PureComponent<PropertyEditorProps, IconEditorState> implements TypeEditor {\r\n private _control: any | null = null;\r\n private _isMounted = false;\r\n private _divElement = React.createRef<HTMLDivElement>();\r\n\r\n constructor(props: PropertyEditorProps) {\r\n super(props);\r\n\r\n let icon = \"\";\r\n let numColumns = 4;\r\n const icons: string[] = [];\r\n const readonly = false;\r\n\r\n // TODO: add support for following if we need to specify set of weights to display\r\n const record = props.propertyRecord;\r\n if (record && record.property && record.property.editor && record.property.editor.params) {\r\n const iconParams = record.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.IconListData) as IconListEditorParams;\r\n // istanbul ignore else\r\n if (iconParams) {\r\n if (iconParams.iconValue)\r\n icon = iconParams.iconValue;\r\n if (iconParams.numColumns)\r\n numColumns = iconParams.numColumns;\r\n if (iconParams.iconValues)\r\n iconParams.iconValues.forEach((i: string) => icons.push(i));\r\n }\r\n }\r\n\r\n this.state = { icon, icons, numColumns, readonly };\r\n }\r\n\r\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\r\n const record = this.props.propertyRecord;\r\n let propertyValue: PropertyValue | undefined;\r\n\r\n // istanbul ignore else\r\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\r\n propertyValue = {\r\n valueFormat: PropertyValueFormat.Primitive,\r\n value: this.state.icon,\r\n displayValue: \"\",\r\n };\r\n }\r\n\r\n return propertyValue;\r\n }\r\n\r\n public get htmlElement(): HTMLElement | null {\r\n return this._divElement.current;\r\n }\r\n\r\n public get hasFocus(): boolean {\r\n let containsFocus = false;\r\n if (this._divElement.current)\r\n containsFocus = this._divElement.current.contains(document.activeElement);\r\n return containsFocus;\r\n }\r\n\r\n private setFocus(): void {\r\n // istanbul ignore else\r\n if (this._control && !this.state.isDisabled) {\r\n this._control.setFocus();\r\n }\r\n }\r\n\r\n private _onIconChange = (icon: string) => {\r\n const propertyRecord = this.props.propertyRecord as PropertyRecord;\r\n\r\n this.setState({\r\n icon,\r\n }, async () => {\r\n // istanbul ignore else\r\n if (propertyRecord && this.props.onCommit) {\r\n const propertyValue = await this.getPropertyValue();\r\n // istanbul ignore else\r\n if (propertyValue) {\r\n this.props.onCommit({ propertyRecord, newValue: propertyValue });\r\n }\r\n }\r\n });\r\n };\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\r\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n\r\n private async setStateFromProps() {\r\n const record = this.props.propertyRecord;\r\n let initialValue = \"\";\r\n\r\n // istanbul ignore else\r\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\r\n initialValue = record.value.value as string;\r\n }\r\n\r\n const readonly = record && undefined !== record.isReadonly ? record.isReadonly : false;\r\n const isDisabled = record ? record.isDisabled : undefined;\r\n\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState(\r\n { icon: initialValue, readonly, isDisabled },\r\n () => {\r\n if (this.props.setFocus) {\r\n this.setFocus();\r\n }\r\n },\r\n );\r\n }\r\n\r\n /** @internal */\r\n public override render() {\r\n const { icon, icons, numColumns } = this.state;\r\n return (\r\n <div className={classnames(\"components-icon-editor\", this.props.className)} style={this.props.style} ref={this._divElement}>\r\n <IconPickerButton ref={(control) => this._control = control}\r\n icon={icon}\r\n icons={icons}\r\n numColumns={numColumns}\r\n disabled={this.state.isDisabled}\r\n readonly={this.state.readonly}\r\n onIconChange={this._onIconChange}\r\n data-testid=\"components-icon-editor\" />\r\n </div>\r\n );\r\n }\r\n}\r\n\r\n/** Icon Property Editor registered for the \"text\" and \"string\" type names and the \"icon-picker\" editor name.\r\n * It uses the [[IconEditor]] React component.\r\n * @alpha\r\n */\r\n// istanbul ignore next\r\nexport class IconPropertyEditor extends PropertyEditorBase {\r\n public get reactNode(): React.ReactNode {\r\n return <IconEditor />;\r\n }\r\n}\r\n\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Text, IconPropertyEditor, StandardEditorNames.IconPicker);\r\nPropertyEditorManager.registerEditor(StandardTypeNames.String, IconPropertyEditor, StandardEditorNames.IconPicker);\r\n"]}
@@ -3,8 +3,8 @@
3
3
  */
4
4
  import "./ImageCheckBoxEditor.scss";
5
5
  import * as React from "react";
6
- import { PropertyValue } from "@itwin/appui-abstract";
7
- import { PropertyEditorProps, TypeEditor } from "./EditorContainer";
6
+ import type { PropertyValue } from "@itwin/appui-abstract";
7
+ import type { PropertyEditorProps, TypeEditor } from "./EditorContainer";
8
8
  import { PropertyEditorBase } from "./PropertyEditorManager";
9
9
  /** @internal */
10
10
  interface ImageCheckBoxEditorState {
@@ -1 +1 @@
1
- {"version":3,"file":"ImageCheckBoxEditor.d.ts","sourceRoot":"","sources":["../../../../src/components-react/editors/ImageCheckBoxEditor.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,4BAA4B,CAAC;AAEpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACgE,aAAa,EACnF,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAyB,MAAM,yBAAyB,CAAC;AAKpF,gBAAgB;AAChB,UAAU,wBAAwB;IAChC,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AACD;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,KAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,wBAAwB,CAAE,YAAW,UAAU;IAC/H,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAwD;IAE7E,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAKhE;IAEW,gBAAgB,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAgBnE,IAAW,WAAW,IAAI,WAAW,GAAG,IAAI,CAE3C;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,gBAAgB;IACA,iBAAiB;IAKjC,gBAAgB;IACA,oBAAoB;IAIpC,gBAAgB;IACA,kBAAkB,CAAC,SAAS,EAAE,mBAAmB;IAMjE,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,YAAY,CAalB;IAEc,MAAM;CAmBvB;AAED;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,kBAAkB;IACjE,IAAW,SAAS,IAAI,KAAK,CAAC,SAAS,CAEtC;CACF"}
1
+ {"version":3,"file":"ImageCheckBoxEditor.d.ts","sourceRoot":"","sources":["../../../../src/components-react/editors/ImageCheckBoxEditor.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,4BAA4B,CAAC;AAEpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACiC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAGzF,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAyB,MAAM,yBAAyB,CAAC;AAKpF,gBAAgB;AAChB,UAAU,wBAAwB;IAChC,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AACD;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,KAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,wBAAwB,CAAE,YAAW,UAAU;IAC/H,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAwD;IAE7E,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,wBAAwB,CAAC,CAKhE;IAEW,gBAAgB,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAgBnE,IAAW,WAAW,IAAI,WAAW,GAAG,IAAI,CAE3C;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,gBAAgB;IACA,iBAAiB;IAKjC,gBAAgB;IACA,oBAAoB;IAIpC,gBAAgB;IACA,kBAAkB,CAAC,SAAS,EAAE,mBAAmB;IAMjE,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,YAAY,CAalB;IAEc,MAAM;CAmBvB;AAED;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,kBAAkB;IACjE,IAAW,SAAS,IAAI,KAAK,CAAC,SAAS,CAEtC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ImageCheckBoxEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/ImageCheckBoxEditor.tsx"],"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 PropertyEditors\r\n */\r\n\r\nimport \"./ImageCheckBoxEditor.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport {\r\n ImageCheckBoxParams, PropertyEditorParams, PropertyEditorParamTypes, PropertyValue, PropertyValueFormat, StandardEditorNames, StandardTypeNames,\r\n} from \"@itwin/appui-abstract\";\r\nimport { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\r\nimport { PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\r\nimport { ImageCheckBox } from \"@itwin/core-react\";\r\n\r\n// cSpell:ignore imagecheckbox\r\n\r\n/** @internal */\r\ninterface ImageCheckBoxEditorState {\r\n /** Image for the \"checked\" state */\r\n imageOn: string;\r\n /** Image for the \"unchecked\" (default) state */\r\n imageOff: string;\r\n checkboxValue: boolean;\r\n isDisabled?: boolean;\r\n}\r\n/** [[ImageCheckBoxEditor]]\r\n * Boolean editor that renders with an image instead of checkbox\r\n * @public\r\n */\r\nexport class ImageCheckBoxEditor extends React.PureComponent<PropertyEditorProps, ImageCheckBoxEditorState> implements TypeEditor {\r\n private _isMounted = false;\r\n private _inputElement: React.RefObject<HTMLInputElement> = React.createRef();\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<ImageCheckBoxEditorState> = {\r\n imageOff: \"\",\r\n imageOn: \"\",\r\n checkboxValue: false,\r\n isDisabled: false,\r\n };\r\n\r\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\r\n const record = this.props.propertyRecord;\r\n let propertyValue: PropertyValue | undefined;\r\n\r\n // istanbul ignore else\r\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\r\n propertyValue = {\r\n valueFormat: PropertyValueFormat.Primitive,\r\n value: this.state.checkboxValue,\r\n displayValue: \"\",\r\n };\r\n }\r\n\r\n return propertyValue;\r\n }\r\n\r\n public get htmlElement(): HTMLElement | null {\r\n return this._inputElement.current;\r\n }\r\n\r\n public get hasFocus(): boolean {\r\n return document.activeElement === this._inputElement.current;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n this.setStateFromProps();\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\r\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\r\n this.setStateFromProps();\r\n }\r\n }\r\n\r\n private setStateFromProps() {\r\n const { propertyRecord } = this.props;\r\n let checkboxValue = false;\r\n let imageOn = \"\";\r\n let imageOff = \"\";\r\n let isDisabled = false;\r\n\r\n // istanbul ignore else\r\n if (propertyRecord && propertyRecord.value.valueFormat === PropertyValueFormat.Primitive) {\r\n const primitiveValue = propertyRecord.value.value;\r\n checkboxValue = primitiveValue as boolean;\r\n }\r\n\r\n // istanbul ignore else\r\n if (propertyRecord && propertyRecord.isDisabled)\r\n isDisabled = propertyRecord.isDisabled;\r\n\r\n if (propertyRecord && propertyRecord.property && propertyRecord.property.editor && propertyRecord.property.editor.params) {\r\n const imageCheckBoxParams = propertyRecord.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.CheckBoxImages) as ImageCheckBoxParams;\r\n // istanbul ignore else\r\n if (imageCheckBoxParams) {\r\n imageOn = imageCheckBoxParams.imageOn;\r\n imageOff = imageCheckBoxParams.imageOff;\r\n }\r\n }\r\n this.setState({ imageOn, imageOff, checkboxValue, isDisabled });\r\n }\r\n\r\n private _handleClick = (checked: boolean) => {\r\n this.setState({\r\n checkboxValue: checked,\r\n }, async () => {\r\n // istanbul ignore else\r\n if (this.props.propertyRecord && this.props.onCommit) {\r\n const propertyValue = await this.getPropertyValue();\r\n // istanbul ignore else\r\n if (this._isMounted && propertyValue !== undefined) {\r\n this.props.onCommit({ propertyRecord: this.props.propertyRecord, newValue: propertyValue });\r\n }\r\n }\r\n });\r\n };\r\n\r\n public override render() {\r\n const className = classnames(\"components-cell-editor\", \"components-imagecheckbox-editor\", this.props.className);\r\n const checked = this.state.checkboxValue;\r\n const isDisabled = !!this.state.isDisabled;\r\n\r\n return (\r\n <ImageCheckBox\r\n inputRef={this._inputElement}\r\n imageOff={this.state.imageOff}\r\n imageOn={this.state.imageOn}\r\n className={className}\r\n border={true}\r\n style={this.props.style}\r\n checked={checked}\r\n disabled={isDisabled}\r\n onClick={this._handleClick}\r\n data-testid=\"components-imagecheckbox-editor\"/>\r\n );\r\n }\r\n}\r\n\r\n/** ImageCheckBox Property Editor registered for the \"bool\" and \"boolean\" type names.\r\n * It uses the [[ImageCheckBoxEditor]] React component.\r\n * @public\r\n */\r\nexport class ImageCheckBoxPropertyEditor extends PropertyEditorBase {\r\n public get reactNode(): React.ReactNode {\r\n return <ImageCheckBoxEditor />;\r\n }\r\n}\r\n\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Boolean, ImageCheckBoxPropertyEditor, StandardEditorNames.ImageCheckBox);\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Bool, ImageCheckBoxPropertyEditor, StandardEditorNames.ImageCheckBox);\r\n"]}
1
+ {"version":3,"file":"ImageCheckBoxEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/ImageCheckBoxEditor.tsx"],"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 PropertyEditors\r\n */\r\n\r\nimport \"./ImageCheckBoxEditor.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport type {\r\n ImageCheckBoxParams, PropertyEditorParams, PropertyValue} from \"@itwin/appui-abstract\";\r\nimport { PropertyEditorParamTypes, PropertyValueFormat, StandardEditorNames, StandardTypeNames,\r\n} from \"@itwin/appui-abstract\";\r\nimport type { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\r\nimport { PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\r\nimport { ImageCheckBox } from \"@itwin/core-react\";\r\n\r\n// cSpell:ignore imagecheckbox\r\n\r\n/** @internal */\r\ninterface ImageCheckBoxEditorState {\r\n /** Image for the \"checked\" state */\r\n imageOn: string;\r\n /** Image for the \"unchecked\" (default) state */\r\n imageOff: string;\r\n checkboxValue: boolean;\r\n isDisabled?: boolean;\r\n}\r\n/** [[ImageCheckBoxEditor]]\r\n * Boolean editor that renders with an image instead of checkbox\r\n * @public\r\n */\r\nexport class ImageCheckBoxEditor extends React.PureComponent<PropertyEditorProps, ImageCheckBoxEditorState> implements TypeEditor {\r\n private _isMounted = false;\r\n private _inputElement: React.RefObject<HTMLInputElement> = React.createRef();\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<ImageCheckBoxEditorState> = {\r\n imageOff: \"\",\r\n imageOn: \"\",\r\n checkboxValue: false,\r\n isDisabled: false,\r\n };\r\n\r\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\r\n const record = this.props.propertyRecord;\r\n let propertyValue: PropertyValue | undefined;\r\n\r\n // istanbul ignore else\r\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\r\n propertyValue = {\r\n valueFormat: PropertyValueFormat.Primitive,\r\n value: this.state.checkboxValue,\r\n displayValue: \"\",\r\n };\r\n }\r\n\r\n return propertyValue;\r\n }\r\n\r\n public get htmlElement(): HTMLElement | null {\r\n return this._inputElement.current;\r\n }\r\n\r\n public get hasFocus(): boolean {\r\n return document.activeElement === this._inputElement.current;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n this.setStateFromProps();\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\r\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\r\n this.setStateFromProps();\r\n }\r\n }\r\n\r\n private setStateFromProps() {\r\n const { propertyRecord } = this.props;\r\n let checkboxValue = false;\r\n let imageOn = \"\";\r\n let imageOff = \"\";\r\n let isDisabled = false;\r\n\r\n // istanbul ignore else\r\n if (propertyRecord && propertyRecord.value.valueFormat === PropertyValueFormat.Primitive) {\r\n const primitiveValue = propertyRecord.value.value;\r\n checkboxValue = primitiveValue as boolean;\r\n }\r\n\r\n // istanbul ignore else\r\n if (propertyRecord && propertyRecord.isDisabled)\r\n isDisabled = propertyRecord.isDisabled;\r\n\r\n if (propertyRecord && propertyRecord.property && propertyRecord.property.editor && propertyRecord.property.editor.params) {\r\n const imageCheckBoxParams = propertyRecord.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.CheckBoxImages) as ImageCheckBoxParams;\r\n // istanbul ignore else\r\n if (imageCheckBoxParams) {\r\n imageOn = imageCheckBoxParams.imageOn;\r\n imageOff = imageCheckBoxParams.imageOff;\r\n }\r\n }\r\n this.setState({ imageOn, imageOff, checkboxValue, isDisabled });\r\n }\r\n\r\n private _handleClick = (checked: boolean) => {\r\n this.setState({\r\n checkboxValue: checked,\r\n }, async () => {\r\n // istanbul ignore else\r\n if (this.props.propertyRecord && this.props.onCommit) {\r\n const propertyValue = await this.getPropertyValue();\r\n // istanbul ignore else\r\n if (this._isMounted && propertyValue !== undefined) {\r\n this.props.onCommit({ propertyRecord: this.props.propertyRecord, newValue: propertyValue });\r\n }\r\n }\r\n });\r\n };\r\n\r\n public override render() {\r\n const className = classnames(\"components-cell-editor\", \"components-imagecheckbox-editor\", this.props.className);\r\n const checked = this.state.checkboxValue;\r\n const isDisabled = !!this.state.isDisabled;\r\n\r\n return (\r\n <ImageCheckBox\r\n inputRef={this._inputElement}\r\n imageOff={this.state.imageOff}\r\n imageOn={this.state.imageOn}\r\n className={className}\r\n border={true}\r\n style={this.props.style}\r\n checked={checked}\r\n disabled={isDisabled}\r\n onClick={this._handleClick}\r\n data-testid=\"components-imagecheckbox-editor\"/>\r\n );\r\n }\r\n}\r\n\r\n/** ImageCheckBox Property Editor registered for the \"bool\" and \"boolean\" type names.\r\n * It uses the [[ImageCheckBoxEditor]] React component.\r\n * @public\r\n */\r\nexport class ImageCheckBoxPropertyEditor extends PropertyEditorBase {\r\n public get reactNode(): React.ReactNode {\r\n return <ImageCheckBoxEditor />;\r\n }\r\n}\r\n\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Boolean, ImageCheckBoxPropertyEditor, StandardEditorNames.ImageCheckBox);\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Bool, ImageCheckBoxPropertyEditor, StandardEditorNames.ImageCheckBox);\r\n"]}
@@ -3,8 +3,8 @@
3
3
  */
4
4
  import "./NumericInputEditor.scss";
5
5
  import * as React from "react";
6
- import { PropertyValue } from "@itwin/appui-abstract";
7
- import { PropertyEditorProps, TypeEditor } from "./EditorContainer";
6
+ import type { PropertyValue } from "@itwin/appui-abstract";
7
+ import type { PropertyEditorProps, TypeEditor } from "./EditorContainer";
8
8
  import { PropertyEditorBase } from "./PropertyEditorManager";
9
9
  /** @internal */
10
10
  interface NumericInputEditorState {
@@ -1 +1 @@
1
- {"version":3,"file":"NumericInputEditor.d.ts","sourceRoot":"","sources":["../../../../src/components-react/editors/NumericInputEditor.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,2BAA2B,CAAC;AAEnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACkE,aAAa,EAErF,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAyB,MAAM,yBAAyB,CAAC;AAEpF,gBAAgB;AAChB,UAAU,uBAAuB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,uBAAuB,CAAE,YAAW,UAAU;IAC7H,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAwD;IACtE,QAAQ,UAAS;IAExB,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAG/D;IAEW,gBAAgB,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAgBnE,IAAW,WAAW,IAAI,WAAW,GAAG,IAAI,CAE3C;IAED,OAAO,CAAC,aAAa,CASnB;IAEF,OAAO,CAAC,YAAY,CAUlB;IAEF,gBAAgB;IACA,iBAAiB;IAKjC,gBAAgB;IACA,oBAAoB;IAIpC,gBAAgB;IACA,kBAAkB,CAAC,SAAS,EAAE,mBAAmB;YAMnD,iBAAiB;IA4C/B,gBAAgB;IACA,MAAM,IAAI,KAAK,CAAC,SAAS;CA2B1C;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,kBAAkB;IAChE,IAAW,SAAS,IAAI,KAAK,CAAC,SAAS,CAEtC;IAED,IAAoB,qBAAqB,IAAI,OAAO,CAEnD;CACF"}
1
+ {"version":3,"file":"NumericInputEditor.d.ts","sourceRoot":"","sources":["../../../../src/components-react/editors/NumericInputEditor.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,2BAA2B,CAAC;AAEnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACmC,aAAa,EAAoB,MAAM,uBAAuB,CAAC;AAK9G,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAyB,MAAM,yBAAyB,CAAC;AAEpF,gBAAgB;AAChB,UAAU,uBAAuB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,KAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,uBAAuB,CAAE,YAAW,UAAU;IAC7H,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAAwD;IACtE,QAAQ,UAAS;IAExB,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAG/D;IAEW,gBAAgB,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAgBnE,IAAW,WAAW,IAAI,WAAW,GAAG,IAAI,CAE3C;IAED,OAAO,CAAC,aAAa,CASnB;IAEF,OAAO,CAAC,YAAY,CAUlB;IAEF,gBAAgB;IACA,iBAAiB;IAKjC,gBAAgB;IACA,oBAAoB;IAIpC,gBAAgB;IACA,kBAAkB,CAAC,SAAS,EAAE,mBAAmB;YAMnD,iBAAiB;IA4C/B,gBAAgB;IACA,MAAM,IAAI,KAAK,CAAC,SAAS;CA2B1C;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,kBAAkB;IAChE,IAAW,SAAS,IAAI,KAAK,CAAC,SAAS,CAEtC;IAED,IAAoB,qBAAqB,IAAI,OAAO,CAEnD;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"NumericInputEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/NumericInputEditor.tsx"],"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 PropertyEditors\r\n */\r\n\r\nimport \"./NumericInputEditor.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport {\r\n InputEditorSizeParams, PropertyEditorParams, PropertyEditorParamTypes, PropertyValue, PropertyValueFormat, RangeEditorParams,\r\n StandardEditorNames, StandardTypeNames,\r\n} from \"@itwin/appui-abstract\";\r\nimport { NumberInput } from \"@itwin/core-react\";\r\nimport { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\r\nimport { PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\r\n\r\n/** @internal */\r\ninterface NumericInputEditorState {\r\n value: number;\r\n readonly: boolean;\r\n isDisabled?: boolean;\r\n size?: number;\r\n maxLength?: number;\r\n\r\n min?: number;\r\n max?: number;\r\n step?: number;\r\n precision?: number;\r\n}\r\n\r\n/** NumericInputEditor React component that is a property editor with numeric input & up/down buttons\r\n * @public\r\n */\r\nexport class NumericInputEditor extends React.PureComponent<PropertyEditorProps, NumericInputEditorState> implements TypeEditor {\r\n private _isMounted = false;\r\n private _inputElement: React.RefObject<HTMLInputElement> = React.createRef();\r\n public hasFocus = false; // hot used since containerHandlesEnter is false\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<NumericInputEditorState> = {\r\n value: 0,\r\n readonly: false,\r\n };\r\n\r\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\r\n const record = this.props.propertyRecord;\r\n let propertyValue: PropertyValue | undefined;\r\n\r\n // istanbul ignore else\r\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\r\n propertyValue = {\r\n valueFormat: PropertyValueFormat.Primitive,\r\n value: this.state.value,\r\n displayValue: \"\",\r\n };\r\n }\r\n\r\n return propertyValue;\r\n }\r\n\r\n public get htmlElement(): HTMLElement | null {\r\n return this._inputElement.current;\r\n }\r\n\r\n private _handleCommit = async (): Promise<void> => {\r\n // istanbul ignore else\r\n if (this.props.propertyRecord && this.props.onCommit) {\r\n const propertyValue = await this.getPropertyValue();\r\n // istanbul ignore else\r\n if (propertyValue !== undefined) {\r\n this.props.onCommit({ propertyRecord: this.props.propertyRecord, newValue: propertyValue });\r\n }\r\n }\r\n };\r\n\r\n private _updateValue = (value: number | undefined, _stringValue: string): void => {\r\n const newValue = value !== undefined ? value : /* istanbul ignore next */ 0;\r\n\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({\r\n value: newValue,\r\n }, async () => {\r\n await this._handleCommit();\r\n });\r\n };\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\r\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n\r\n private async setStateFromProps() {\r\n const record = this.props.propertyRecord;\r\n let initialValue = 0;\r\n\r\n // istanbul ignore else\r\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\r\n initialValue = record.value.value as number;\r\n }\r\n\r\n const readonly = record && undefined !== record.isReadonly ? record.isReadonly : false;\r\n let size: number | undefined;\r\n let maxLength: number | undefined;\r\n let min: number | undefined;\r\n let max: number | undefined;\r\n let step: number | undefined;\r\n let precision: number | undefined;\r\n\r\n const isDisabled = record ? record.isDisabled : undefined;\r\n\r\n if (record && record.property && record.property.editor && record.property.editor.params) {\r\n const editorSizeParams = record.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.InputEditorSize) as InputEditorSizeParams;\r\n if (editorSizeParams) {\r\n // istanbul ignore else\r\n if (editorSizeParams.size)\r\n size = editorSizeParams.size;\r\n // istanbul ignore else\r\n if (editorSizeParams.maxLength)\r\n maxLength = editorSizeParams.maxLength;\r\n }\r\n\r\n const rangeParams = record.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.Range) as RangeEditorParams;\r\n if (rangeParams) {\r\n min = rangeParams.minimum;\r\n max = rangeParams.maximum;\r\n step = rangeParams.step;\r\n precision = rangeParams.precision;\r\n }\r\n }\r\n\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({ value: initialValue, readonly, size, maxLength, isDisabled, min, max, step, precision });\r\n }\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n const className = classnames(\"components-cell-editor\", \"components-numeric-input-editor\", this.props.className);\r\n const minSize = this.state.size ? this.state.size : 8;\r\n const style: React.CSSProperties = {\r\n ...this.props.style,\r\n minWidth: `${minSize * 0.75}em`,\r\n };\r\n\r\n return (\r\n <NumberInput\r\n ref={this._inputElement}\r\n className={className}\r\n style={style}\r\n value={this.state.value}\r\n min={this.state.min}\r\n max={this.state.max}\r\n step={this.state.step}\r\n precision={this.state.precision}\r\n readOnly={this.state.readonly}\r\n maxLength={this.state.maxLength}\r\n onBlur={this.props.onBlur}\r\n onChange={this._updateValue}\r\n setFocus={this.props.setFocus && !this.state.isDisabled}\r\n isControlled={this.props.shouldCommitOnChange}\r\n />\r\n );\r\n }\r\n}\r\n\r\n/** Numeric Input Property Editor registered for the \"number\" type name and \"numeric-input\" editor name.\r\n * It uses the [[NumericInputEditor]] React component.\r\n * @public\r\n */\r\nexport class NumericInputPropertyEditor extends PropertyEditorBase {\r\n public get reactNode(): React.ReactNode {\r\n return <NumericInputEditor />;\r\n }\r\n // istanbul ignore next\r\n public override get containerHandlesEnter(): boolean { // let input editor process enter key\r\n return false;\r\n }\r\n}\r\n\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Number, NumericInputPropertyEditor, StandardEditorNames.NumericInput);\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Int, NumericInputPropertyEditor, StandardEditorNames.NumericInput);\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Float, NumericInputPropertyEditor, StandardEditorNames.NumericInput);\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Double, NumericInputPropertyEditor, StandardEditorNames.NumericInput);\r\n"]}
1
+ {"version":3,"file":"NumericInputEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/NumericInputEditor.tsx"],"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 PropertyEditors\r\n */\r\n\r\nimport \"./NumericInputEditor.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport type {\r\n InputEditorSizeParams, PropertyEditorParams, PropertyValue, RangeEditorParams} from \"@itwin/appui-abstract\";\r\nimport { PropertyEditorParamTypes, PropertyValueFormat,\r\n StandardEditorNames, StandardTypeNames,\r\n} from \"@itwin/appui-abstract\";\r\nimport { NumberInput } from \"@itwin/core-react\";\r\nimport type { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\r\nimport { PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\r\n\r\n/** @internal */\r\ninterface NumericInputEditorState {\r\n value: number;\r\n readonly: boolean;\r\n isDisabled?: boolean;\r\n size?: number;\r\n maxLength?: number;\r\n\r\n min?: number;\r\n max?: number;\r\n step?: number;\r\n precision?: number;\r\n}\r\n\r\n/** NumericInputEditor React component that is a property editor with numeric input & up/down buttons\r\n * @public\r\n */\r\nexport class NumericInputEditor extends React.PureComponent<PropertyEditorProps, NumericInputEditorState> implements TypeEditor {\r\n private _isMounted = false;\r\n private _inputElement: React.RefObject<HTMLInputElement> = React.createRef();\r\n public hasFocus = false; // hot used since containerHandlesEnter is false\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<NumericInputEditorState> = {\r\n value: 0,\r\n readonly: false,\r\n };\r\n\r\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\r\n const record = this.props.propertyRecord;\r\n let propertyValue: PropertyValue | undefined;\r\n\r\n // istanbul ignore else\r\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\r\n propertyValue = {\r\n valueFormat: PropertyValueFormat.Primitive,\r\n value: this.state.value,\r\n displayValue: \"\",\r\n };\r\n }\r\n\r\n return propertyValue;\r\n }\r\n\r\n public get htmlElement(): HTMLElement | null {\r\n return this._inputElement.current;\r\n }\r\n\r\n private _handleCommit = async (): Promise<void> => {\r\n // istanbul ignore else\r\n if (this.props.propertyRecord && this.props.onCommit) {\r\n const propertyValue = await this.getPropertyValue();\r\n // istanbul ignore else\r\n if (propertyValue !== undefined) {\r\n this.props.onCommit({ propertyRecord: this.props.propertyRecord, newValue: propertyValue });\r\n }\r\n }\r\n };\r\n\r\n private _updateValue = (value: number | undefined, _stringValue: string): void => {\r\n const newValue = value !== undefined ? value : /* istanbul ignore next */ 0;\r\n\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({\r\n value: newValue,\r\n }, async () => {\r\n await this._handleCommit();\r\n });\r\n };\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._isMounted = true;\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\r\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\r\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\r\n }\r\n }\r\n\r\n private async setStateFromProps() {\r\n const record = this.props.propertyRecord;\r\n let initialValue = 0;\r\n\r\n // istanbul ignore else\r\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\r\n initialValue = record.value.value as number;\r\n }\r\n\r\n const readonly = record && undefined !== record.isReadonly ? record.isReadonly : false;\r\n let size: number | undefined;\r\n let maxLength: number | undefined;\r\n let min: number | undefined;\r\n let max: number | undefined;\r\n let step: number | undefined;\r\n let precision: number | undefined;\r\n\r\n const isDisabled = record ? record.isDisabled : undefined;\r\n\r\n if (record && record.property && record.property.editor && record.property.editor.params) {\r\n const editorSizeParams = record.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.InputEditorSize) as InputEditorSizeParams;\r\n if (editorSizeParams) {\r\n // istanbul ignore else\r\n if (editorSizeParams.size)\r\n size = editorSizeParams.size;\r\n // istanbul ignore else\r\n if (editorSizeParams.maxLength)\r\n maxLength = editorSizeParams.maxLength;\r\n }\r\n\r\n const rangeParams = record.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.Range) as RangeEditorParams;\r\n if (rangeParams) {\r\n min = rangeParams.minimum;\r\n max = rangeParams.maximum;\r\n step = rangeParams.step;\r\n precision = rangeParams.precision;\r\n }\r\n }\r\n\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({ value: initialValue, readonly, size, maxLength, isDisabled, min, max, step, precision });\r\n }\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n const className = classnames(\"components-cell-editor\", \"components-numeric-input-editor\", this.props.className);\r\n const minSize = this.state.size ? this.state.size : 8;\r\n const style: React.CSSProperties = {\r\n ...this.props.style,\r\n minWidth: `${minSize * 0.75}em`,\r\n };\r\n\r\n return (\r\n <NumberInput\r\n ref={this._inputElement}\r\n className={className}\r\n style={style}\r\n value={this.state.value}\r\n min={this.state.min}\r\n max={this.state.max}\r\n step={this.state.step}\r\n precision={this.state.precision}\r\n readOnly={this.state.readonly}\r\n maxLength={this.state.maxLength}\r\n onBlur={this.props.onBlur}\r\n onChange={this._updateValue}\r\n setFocus={this.props.setFocus && !this.state.isDisabled}\r\n isControlled={this.props.shouldCommitOnChange}\r\n />\r\n );\r\n }\r\n}\r\n\r\n/** Numeric Input Property Editor registered for the \"number\" type name and \"numeric-input\" editor name.\r\n * It uses the [[NumericInputEditor]] React component.\r\n * @public\r\n */\r\nexport class NumericInputPropertyEditor extends PropertyEditorBase {\r\n public get reactNode(): React.ReactNode {\r\n return <NumericInputEditor />;\r\n }\r\n // istanbul ignore next\r\n public override get containerHandlesEnter(): boolean { // let input editor process enter key\r\n return false;\r\n }\r\n}\r\n\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Number, NumericInputPropertyEditor, StandardEditorNames.NumericInput);\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Int, NumericInputPropertyEditor, StandardEditorNames.NumericInput);\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Float, NumericInputPropertyEditor, StandardEditorNames.NumericInput);\r\nPropertyEditorManager.registerEditor(StandardTypeNames.Double, NumericInputPropertyEditor, StandardEditorNames.NumericInput);\r\n"]}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import "./PopupButton.scss";
5
5
  import * as React from "react";
6
- import { CommonDivProps, CommonProps } from "@itwin/core-react";
6
+ import type { CommonDivProps, CommonProps } from "@itwin/core-react";
7
7
  /** Properties for [[PopupButton]] component
8
8
  * @alpha
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"PopupButton.d.ts","sourceRoot":"","sources":["../../../../src/components-react/editors/PopupButton.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,oBAAoB,CAAC;AAE5B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,WAAW,EAA4B,MAAM,mBAAmB,CAAC;AAI1F;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IAEjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wKAAwK;IACxK,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;IAEpD,sDAAsD;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oFAAoF;IACpF,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC5C,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,gBAAgB;AAChB,UAAU,gBAAgB;IACxB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACtF,OAAO,CAAC,UAAU,CAAqC;IAEvD,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAExD;IAEF,gBAAgB;IACA,iBAAiB;IAKjC,OAAO,CAAC,YAAY,CAIlB;IAEK,UAAU;IAIjB,OAAO,CAAC,WAAW,CAUjB;IAEF,OAAO,CAAC,cAAc,CAOpB;IAEF,gBAAgB;IACA,MAAM,IAAI,KAAK,CAAC,SAAS;CA6C1C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,eAEjD;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,eAsBxD"}
1
+ {"version":3,"file":"PopupButton.d.ts","sourceRoot":"","sources":["../../../../src/components-react/editors/PopupButton.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,oBAAoB,CAAC;AAE5B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAKpE;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IAEjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wKAAwK;IACxK,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;IAEpD,sDAAsD;IACtD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oFAAoF;IACpF,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC5C,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,gBAAgB;AAChB,UAAU,gBAAgB;IACxB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,KAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IACtF,OAAO,CAAC,UAAU,CAAqC;IAEvD,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAExD;IAEF,gBAAgB;IACA,iBAAiB;IAKjC,OAAO,CAAC,YAAY,CAIlB;IAEK,UAAU;IAIjB,OAAO,CAAC,WAAW,CAUjB;IAEF,OAAO,CAAC,cAAc,CAOpB;IAEF,gBAAgB;IACA,MAAM,IAAI,KAAK,CAAC,SAAS;CA6C1C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,eAEjD;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,eAsBxD"}
@@ -53,9 +53,10 @@ export class PopupButton extends React.PureComponent {
53
53
  }
54
54
  /** @internal */
55
55
  render() {
56
- const showArrow = this.props.showArrow ?? false;
57
- const showShadow = this.props.showShadow ?? false;
58
- const moveFocus = this.props.moveFocus ?? true;
56
+ var _a, _b, _c;
57
+ const showArrow = (_a = this.props.showArrow) !== null && _a !== void 0 ? _a : false;
58
+ const showShadow = (_b = this.props.showShadow) !== null && _b !== void 0 ? _b : false;
59
+ const moveFocus = (_c = this.props.moveFocus) !== null && _c !== void 0 ? _c : true;
59
60
  const showPlaceholder = this.props.label === undefined && this.props.placeholder !== undefined;
60
61
  const classNames = classnames("components-popup-button", this.state.showPopup && "components-popup-expanded");
61
62
  const valueClassNames = classnames("components-popup-button-value", showPlaceholder && "components-popup-button-placeholder");