@itwin/components-react 4.0.0-dev.2 → 4.0.0-dev.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (908) hide show
  1. package/CHANGELOG.md +156 -6
  2. package/LICENSE.md +1 -1
  3. package/README.md +2 -2
  4. package/lib/cjs/components-react/UiComponents.js +1 -1
  5. package/lib/cjs/components-react/UiComponents.js.map +1 -1
  6. package/lib/cjs/components-react/_target.scss +9 -9
  7. package/lib/cjs/components-react/common/DateUtils.d.ts +2 -2
  8. package/lib/cjs/components-react/common/DateUtils.d.ts.map +1 -1
  9. package/lib/cjs/components-react/common/DateUtils.js.map +1 -1
  10. package/lib/cjs/components-react/common/DelayedSpinner.d.ts +1 -1
  11. package/lib/cjs/components-react/common/DelayedSpinner.d.ts.map +1 -1
  12. package/lib/cjs/components-react/common/DelayedSpinner.js +7 -4
  13. package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
  14. package/lib/cjs/components-react/common/HighlightedText.js.map +1 -1
  15. package/lib/cjs/components-react/common/HighlightingComponentProps.js.map +1 -1
  16. package/lib/cjs/components-react/common/IImageLoader.d.ts +3 -3
  17. package/lib/cjs/components-react/common/IImageLoader.d.ts.map +1 -1
  18. package/lib/cjs/components-react/common/IImageLoader.js.map +1 -1
  19. package/lib/cjs/components-react/common/ImageRenderer.js +6 -2
  20. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  21. package/lib/cjs/components-react/common/Links.js.map +1 -1
  22. package/lib/cjs/components-react/common/PageOptions.js.map +1 -1
  23. package/lib/cjs/components-react/common/SubscriptionScheduler.js.map +1 -1
  24. package/lib/cjs/components-react/common/UseAsyncValue.d.ts +1 -1
  25. package/lib/cjs/components-react/common/UseAsyncValue.d.ts.map +1 -1
  26. package/lib/cjs/components-react/common/UseAsyncValue.js +7 -3
  27. package/lib/cjs/components-react/common/UseAsyncValue.js.map +1 -1
  28. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  29. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts +5 -1
  30. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  31. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js +16 -2
  32. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  33. package/lib/cjs/components-react/common/UseRerender.js.map +1 -1
  34. package/lib/cjs/components-react/common/countMatchesInString.js.map +1 -1
  35. package/lib/cjs/components-react/common/selection/SelectionHandler.js.map +1 -1
  36. package/lib/cjs/components-react/common/selection/SelectionModes.js.map +1 -1
  37. package/lib/cjs/components-react/converters/BooleanTypeConverter.js +1 -1
  38. package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
  39. package/lib/cjs/components-react/converters/CompositeTypeConverter.js.map +1 -1
  40. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  41. package/lib/cjs/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  42. package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
  43. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js +1 -1
  44. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  45. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  46. package/lib/cjs/components-react/converters/NumericTypeConverter.js +2 -4
  47. package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
  48. package/lib/cjs/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  49. package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
  50. package/lib/cjs/components-react/converters/StringTypeConverter.js +2 -2
  51. package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
  52. package/lib/cjs/components-react/converters/TypeConverter.js +1 -2
  53. package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
  54. package/lib/cjs/components-react/converters/TypeConverterManager.js +1 -1
  55. package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
  56. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  57. package/lib/cjs/components-react/datepicker/DateField.js +5 -1
  58. package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
  59. package/lib/cjs/components-react/datepicker/DateField.scss +22 -22
  60. package/lib/cjs/components-react/datepicker/DatePicker.d.ts.map +1 -1
  61. package/lib/cjs/components-react/datepicker/DatePicker.js +9 -4
  62. package/lib/cjs/components-react/datepicker/DatePicker.js.map +1 -1
  63. package/lib/cjs/components-react/datepicker/DatePicker.scss +176 -177
  64. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  65. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js +7 -2
  66. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  67. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  68. package/lib/cjs/components-react/datepicker/IntlFormatter.js.map +1 -1
  69. package/lib/cjs/components-react/datepicker/TimeField.js +5 -1
  70. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  71. package/lib/cjs/components-react/datepicker/TimeField.scss +76 -76
  72. package/lib/cjs/components-react/editors/BooleanEditor.js +5 -1
  73. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  74. package/lib/cjs/components-react/editors/BooleanEditor.scss +22 -22
  75. package/lib/cjs/components-react/editors/CustomNumberEditor.js +7 -5
  76. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  77. package/lib/cjs/components-react/editors/CustomNumberEditor.scss +20 -21
  78. package/lib/cjs/components-react/editors/DateTimeEditor.js +9 -6
  79. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  80. package/lib/cjs/components-react/editors/DateTimeEditor.scss +9 -9
  81. package/lib/cjs/components-react/editors/EditorContainer.d.ts +10 -0
  82. package/lib/cjs/components-react/editors/EditorContainer.d.ts.map +1 -1
  83. package/lib/cjs/components-react/editors/EditorContainer.js +6 -1
  84. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  85. package/lib/cjs/components-react/editors/EditorContainer.scss +6 -6
  86. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts +1 -0
  87. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  88. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js +8 -2
  89. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  90. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.scss +141 -182
  91. package/lib/cjs/components-react/editors/EnumEditor.js +5 -1
  92. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  93. package/lib/cjs/components-react/editors/EnumEditor.scss +22 -22
  94. package/lib/cjs/components-react/editors/IconEditor.js +5 -1
  95. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  96. package/lib/cjs/components-react/editors/IconEditor.scss +16 -16
  97. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js +5 -1
  98. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  99. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.scss +24 -24
  100. package/lib/cjs/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  101. package/lib/cjs/components-react/editors/NumericInputEditor.js +6 -2
  102. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  103. package/lib/cjs/components-react/editors/NumericInputEditor.scss +16 -17
  104. package/lib/cjs/components-react/editors/PopupButton.d.ts.map +1 -1
  105. package/lib/cjs/components-react/editors/PopupButton.js +13 -8
  106. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  107. package/lib/cjs/components-react/editors/PopupButton.scss +116 -116
  108. package/lib/cjs/components-react/editors/PropertyEditorManager.js +6 -2
  109. package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
  110. package/lib/cjs/components-react/editors/SliderEditor.js +5 -1
  111. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  112. package/lib/cjs/components-react/editors/SliderEditor.scss +13 -13
  113. package/lib/cjs/components-react/editors/TextEditor.d.ts.map +1 -1
  114. package/lib/cjs/components-react/editors/TextEditor.js +14 -5
  115. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  116. package/lib/cjs/components-react/editors/TextEditor.scss +20 -21
  117. package/lib/cjs/components-react/editors/TextareaEditor.d.ts +1 -1
  118. package/lib/cjs/components-react/editors/TextareaEditor.js +6 -2
  119. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  120. package/lib/cjs/components-react/editors/TextareaEditor.scss +14 -14
  121. package/lib/cjs/components-react/editors/ToggleEditor.js +5 -1
  122. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  123. package/lib/cjs/components-react/editors/ToggleEditor.scss +23 -23
  124. package/lib/cjs/components-react/editors/variables.scss +7 -6
  125. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts +25 -1
  126. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  127. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js +29 -3
  128. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  129. package/lib/cjs/components-react/favorite/FavoritePropertyList.js +7 -4
  130. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  131. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts +22 -25
  132. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  133. package/lib/cjs/components-react/filter-builder/FilterBuilder.js +24 -82
  134. package/lib/cjs/components-react/filter-builder/FilterBuilder.js.map +1 -1
  135. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts +80 -0
  136. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -0
  137. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js +87 -0
  138. package/lib/cjs/components-react/filter-builder/FilterBuilderContext.js.map +1 -0
  139. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts +14 -3
  140. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  141. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js +27 -13
  142. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  143. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.scss +38 -40
  144. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +25 -16
  145. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  146. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js +27 -15
  147. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  148. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.scss +68 -76
  149. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +14 -2
  150. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  151. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js +17 -8
  152. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  153. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +16 -2
  154. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  155. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +20 -9
  156. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  157. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts +14 -2
  158. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  159. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +18 -8
  160. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  161. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts +51 -8
  162. package/lib/cjs/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  163. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js +65 -9
  164. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  165. package/lib/cjs/components-react/filter-builder/Operators.d.ts +23 -5
  166. package/lib/cjs/components-react/filter-builder/Operators.d.ts.map +1 -1
  167. package/lib/cjs/components-react/filter-builder/Operators.js +25 -7
  168. package/lib/cjs/components-react/filter-builder/Operators.js.map +1 -1
  169. package/lib/cjs/components-react/filter-builder/Types.d.ts +25 -5
  170. package/lib/cjs/components-react/filter-builder/Types.d.ts.map +1 -1
  171. package/lib/cjs/components-react/filter-builder/Types.js +11 -1
  172. package/lib/cjs/components-react/filter-builder/Types.js.map +1 -1
  173. package/lib/cjs/components-react/filtering/FilteringInput.d.ts.map +1 -1
  174. package/lib/cjs/components-react/filtering/FilteringInput.js +17 -6
  175. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  176. package/lib/cjs/components-react/filtering/FilteringInput.scss +58 -68
  177. package/lib/cjs/components-react/filtering/ResultSelector.d.ts.map +1 -1
  178. package/lib/cjs/components-react/filtering/ResultSelector.js +11 -3
  179. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  180. package/lib/cjs/components-react/filtering/ResultSelector.scss +68 -73
  181. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  182. package/lib/cjs/components-react/iconpicker/IconPickerButton.js +13 -5
  183. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  184. package/lib/cjs/components-react/iconpicker/IconPickerButton.scss +75 -75
  185. package/lib/cjs/components-react/inputs/ParsedInput.js +5 -1
  186. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  187. package/lib/cjs/components-react/inputs/ParsedInput.scss +23 -23
  188. package/lib/cjs/components-react/properties/ItemStyle.d.ts +1 -1
  189. package/lib/cjs/components-react/properties/ItemStyle.d.ts.map +1 -1
  190. package/lib/cjs/components-react/properties/ItemStyle.js.map +1 -1
  191. package/lib/cjs/components-react/properties/LinkHandler.d.ts +3 -3
  192. package/lib/cjs/components-react/properties/LinkHandler.d.ts.map +1 -1
  193. package/lib/cjs/components-react/properties/LinkHandler.js +6 -2
  194. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  195. package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
  196. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js +5 -1
  197. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  198. package/lib/cjs/components-react/properties/renderers/ActionButtonList.scss +25 -25
  199. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts +1 -1
  200. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  201. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  202. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js +8 -5
  203. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  204. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +6 -2
  205. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  206. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +17 -17
  207. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js +7 -4
  208. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  209. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  210. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js +5 -1
  211. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  212. package/lib/cjs/components-react/properties/renderers/PropertyView.js +5 -1
  213. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  214. package/lib/cjs/components-react/properties/renderers/PropertyView.scss +106 -104
  215. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts.map +1 -1
  216. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +8 -3
  217. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  218. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js +5 -1
  219. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  220. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js +6 -3
  221. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  222. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.scss +88 -88
  223. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js +5 -1
  224. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  225. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +6 -3
  226. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  227. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  228. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +8 -7
  229. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  230. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +6 -3
  231. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  232. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  233. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +9 -8
  234. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  235. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js +5 -1
  236. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  237. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js +5 -1
  238. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  239. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts +1 -1
  240. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  241. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js +5 -1
  242. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  243. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js +5 -1
  244. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  245. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js +5 -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.js +5 -1
  248. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  249. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +4 -4
  250. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  251. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js +3 -4
  252. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  253. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.d.ts +2 -2
  254. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  255. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.d.ts +4 -0
  256. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.d.ts.map +1 -1
  257. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js +17 -4
  258. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  259. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +1 -1
  260. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  261. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +10 -2
  262. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  263. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js +5 -1
  264. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  265. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js +6 -3
  266. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  267. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.scss +73 -72
  268. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts +18 -10
  269. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  270. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js +3 -3
  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 +5 -1
  275. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  276. package/lib/cjs/components-react/propertygrid/component/PropertyList.js +5 -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 +13 -12
  279. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  280. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +53 -54
  281. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  282. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +101 -92
  283. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +11 -10
  284. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  285. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +3 -3
  286. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  287. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js +11 -13
  288. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  289. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +2 -2
  290. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  291. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +1 -2
  292. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  293. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  294. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  295. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  296. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +2 -2
  297. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js +1 -1
  298. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  299. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts +5 -3
  300. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  301. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js +5 -3
  302. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  303. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.d.ts +3 -3
  304. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js +1 -1
  305. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  306. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +3 -3
  307. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts.map +1 -1
  308. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +1 -1
  309. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  310. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +2 -2
  311. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  312. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js +1 -1
  313. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  314. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +5 -5
  315. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  316. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  317. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +1 -1
  318. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +1 -1
  319. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  320. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +1 -1
  321. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +1 -1
  322. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  323. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +1 -1
  324. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +1 -1
  325. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  326. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +1 -2
  327. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  328. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +10 -10
  329. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  330. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +5 -5
  331. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  332. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +2 -2
  333. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +3 -4
  334. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  335. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +2 -2
  336. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +2 -2
  337. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  338. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  339. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +6 -2
  340. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  341. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +3 -6
  342. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  343. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +10 -8
  344. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  345. package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts +2 -0
  346. package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  347. package/lib/cjs/components-react/selectable-content/SelectableContent.js +10 -7
  348. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  349. package/lib/cjs/components-react/selectable-content/SelectableContent.scss +20 -20
  350. package/lib/cjs/components-react/toolbar/Item.js +5 -1
  351. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  352. package/lib/cjs/components-react/toolbar/Item.scss +91 -122
  353. package/lib/cjs/components-react/toolbar/ItemWrapper.js +5 -1
  354. package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
  355. package/lib/cjs/components-react/toolbar/ItemWrapper.scss +10 -10
  356. package/lib/cjs/components-react/toolbar/Items.js +5 -1
  357. package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
  358. package/lib/cjs/components-react/toolbar/Items.scss +96 -97
  359. package/lib/cjs/components-react/toolbar/Overflow.js +5 -1
  360. package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
  361. package/lib/cjs/components-react/toolbar/Overflow.scss +57 -57
  362. package/lib/cjs/components-react/toolbar/OverflowPanel.js +5 -1
  363. package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
  364. package/lib/cjs/components-react/toolbar/OverflowPanel.scss +37 -37
  365. package/lib/cjs/components-react/toolbar/PopupItem.js +5 -1
  366. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  367. package/lib/cjs/components-react/toolbar/PopupItem.scss +88 -88
  368. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js +5 -1
  369. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  370. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js +5 -1
  371. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  372. package/lib/cjs/components-react/toolbar/Toolbar.d.ts +4 -2
  373. package/lib/cjs/components-react/toolbar/Toolbar.d.ts.map +1 -1
  374. package/lib/cjs/components-react/toolbar/Toolbar.js +7 -2
  375. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  376. package/lib/cjs/components-react/toolbar/Toolbar.scss +18 -18
  377. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts +7 -3
  378. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  379. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js +13 -6
  380. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  381. package/lib/cjs/components-react/toolbar/_variables.scss +34 -34
  382. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js +5 -1
  383. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  384. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  385. package/lib/cjs/components-react/toolbar/groupPanel/Column.js +5 -1
  386. package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
  387. package/lib/cjs/components-react/toolbar/groupPanel/Column.scss +9 -9
  388. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js +5 -1
  389. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  390. package/lib/cjs/components-react/toolbar/groupPanel/Columns.scss +10 -10
  391. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js +5 -1
  392. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  393. package/lib/cjs/components-react/toolbar/groupPanel/Panel.scss +15 -17
  394. package/lib/cjs/components-react/toolbar/groupPanel/Title.js +5 -1
  395. package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
  396. package/lib/cjs/components-react/toolbar/groupPanel/Title.scss +33 -34
  397. package/lib/cjs/components-react/toolbar/groupPanel/_variables.scss +16 -16
  398. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js +5 -1
  399. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  400. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
  401. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js +5 -1
  402. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  403. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.scss +117 -146
  404. package/lib/cjs/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
  405. package/lib/cjs/components-react/toolbar/useDragInteraction.js +5 -1
  406. package/lib/cjs/components-react/toolbar/useDragInteraction.js.map +1 -1
  407. package/lib/cjs/components-react/toolbar/utilities/Direction.js +2 -2
  408. package/lib/cjs/components-react/toolbar/utilities/Direction.js.map +1 -1
  409. package/lib/cjs/components-react/tree/HighlightingEngine.js +6 -2
  410. package/lib/cjs/components-react/tree/HighlightingEngine.js.map +1 -1
  411. package/lib/cjs/components-react/tree/HighlightingEngine.scss +7 -7
  412. package/lib/cjs/components-react/tree/ImageLoader.js.map +1 -1
  413. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.d.ts +1 -1
  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/TreeComponentTestId.js.map +1 -1
  417. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts +4 -4
  418. package/lib/cjs/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  419. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  420. package/lib/cjs/components-react/tree/controlled/Observable.d.ts +12 -2
  421. package/lib/cjs/components-react/tree/controlled/Observable.d.ts.map +1 -1
  422. package/lib/cjs/components-react/tree/controlled/Observable.js.map +1 -1
  423. package/lib/cjs/components-react/tree/controlled/TreeActions.js.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.js.map +1 -1
  426. package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
  427. package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
  428. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts +3 -3
  429. package/lib/cjs/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  430. package/lib/cjs/components-react/tree/controlled/TreeModel.js +7 -13
  431. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  432. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  433. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js +6 -8
  434. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  435. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts +1 -4
  436. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  437. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js +6 -3
  438. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  439. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +102 -102
  440. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  441. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js +6 -1
  442. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  443. package/lib/cjs/components-react/tree/controlled/component/NodeContent.scss +27 -28
  444. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts +1 -1
  445. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  446. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js +5 -1
  447. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  448. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +1 -1
  449. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  450. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js +6 -2
  451. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  452. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts +3 -6
  453. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  454. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js +7 -3
  455. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  456. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js +1 -2
  457. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  458. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  459. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +1 -1
  460. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  461. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js +2 -4
  462. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  463. package/lib/cjs/components-react.d.ts +4 -8
  464. package/lib/cjs/components-react.d.ts.map +1 -1
  465. package/lib/cjs/components-react.js +9 -9
  466. package/lib/cjs/components-react.js.map +1 -1
  467. package/lib/esm/components-react/UiComponents.js +2 -1
  468. package/lib/esm/components-react/UiComponents.js.map +1 -1
  469. package/lib/esm/components-react/_target.scss +9 -9
  470. package/lib/esm/components-react/common/DateUtils.d.ts +2 -2
  471. package/lib/esm/components-react/common/DateUtils.d.ts.map +1 -1
  472. package/lib/esm/components-react/common/DateUtils.js.map +1 -1
  473. package/lib/esm/components-react/common/DelayedSpinner.d.ts +1 -1
  474. package/lib/esm/components-react/common/DelayedSpinner.d.ts.map +1 -1
  475. package/lib/esm/components-react/common/DelayedSpinner.js +2 -3
  476. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  477. package/lib/esm/components-react/common/HighlightedText.js.map +1 -1
  478. package/lib/esm/components-react/common/HighlightingComponentProps.js.map +1 -1
  479. package/lib/esm/components-react/common/IImageLoader.d.ts +3 -3
  480. package/lib/esm/components-react/common/IImageLoader.d.ts.map +1 -1
  481. package/lib/esm/components-react/common/IImageLoader.js.map +1 -1
  482. package/lib/esm/components-react/common/ImageRenderer.js +2 -1
  483. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  484. package/lib/esm/components-react/common/Links.js.map +1 -1
  485. package/lib/esm/components-react/common/PageOptions.js.map +1 -1
  486. package/lib/esm/components-react/common/SubscriptionScheduler.js.map +1 -1
  487. package/lib/esm/components-react/common/UseAsyncValue.d.ts +1 -1
  488. package/lib/esm/components-react/common/UseAsyncValue.d.ts.map +1 -1
  489. package/lib/esm/components-react/common/UseAsyncValue.js +2 -2
  490. package/lib/esm/components-react/common/UseAsyncValue.js.map +1 -1
  491. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  492. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts +5 -1
  493. package/lib/esm/components-react/common/UseDebouncedAsyncValue.d.ts.map +1 -1
  494. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +16 -2
  495. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  496. package/lib/esm/components-react/common/UseRerender.js.map +1 -1
  497. package/lib/esm/components-react/common/countMatchesInString.js.map +1 -1
  498. package/lib/esm/components-react/common/selection/SelectionHandler.js.map +1 -1
  499. package/lib/esm/components-react/common/selection/SelectionModes.js.map +1 -1
  500. package/lib/esm/components-react/converters/BooleanTypeConverter.js +2 -1
  501. package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
  502. package/lib/esm/components-react/converters/CompositeTypeConverter.js.map +1 -1
  503. package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  504. package/lib/esm/components-react/converters/EnumTypeConverter.d.ts.map +1 -1
  505. package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
  506. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js +1 -1
  507. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  508. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  509. package/lib/esm/components-react/converters/NumericTypeConverter.js +2 -4
  510. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  511. package/lib/esm/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  512. package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
  513. package/lib/esm/components-react/converters/StringTypeConverter.js +2 -2
  514. package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
  515. package/lib/esm/components-react/converters/TypeConverter.js +1 -2
  516. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  517. package/lib/esm/components-react/converters/TypeConverterManager.js +2 -1
  518. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  519. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  520. package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
  521. package/lib/esm/components-react/datepicker/DateField.scss +22 -22
  522. package/lib/esm/components-react/datepicker/DatePicker.d.ts.map +1 -1
  523. package/lib/esm/components-react/datepicker/DatePicker.js +4 -3
  524. package/lib/esm/components-react/datepicker/DatePicker.js.map +1 -1
  525. package/lib/esm/components-react/datepicker/DatePicker.scss +176 -177
  526. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  527. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js +3 -2
  528. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  529. package/lib/esm/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  530. package/lib/esm/components-react/datepicker/IntlFormatter.js.map +1 -1
  531. package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
  532. package/lib/esm/components-react/datepicker/TimeField.scss +76 -76
  533. package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
  534. package/lib/esm/components-react/editors/BooleanEditor.scss +22 -22
  535. package/lib/esm/components-react/editors/CustomNumberEditor.js +2 -4
  536. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  537. package/lib/esm/components-react/editors/CustomNumberEditor.scss +20 -21
  538. package/lib/esm/components-react/editors/DateTimeEditor.js +4 -5
  539. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  540. package/lib/esm/components-react/editors/DateTimeEditor.scss +9 -9
  541. package/lib/esm/components-react/editors/EditorContainer.d.ts +10 -0
  542. package/lib/esm/components-react/editors/EditorContainer.d.ts.map +1 -1
  543. package/lib/esm/components-react/editors/EditorContainer.js +1 -0
  544. package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
  545. package/lib/esm/components-react/editors/EditorContainer.scss +6 -6
  546. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts +1 -0
  547. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts.map +1 -1
  548. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js +4 -2
  549. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  550. package/lib/esm/components-react/editors/EnumButtonGroupEditor.scss +141 -182
  551. package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
  552. package/lib/esm/components-react/editors/EnumEditor.scss +22 -22
  553. package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
  554. package/lib/esm/components-react/editors/IconEditor.scss +16 -16
  555. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  556. package/lib/esm/components-react/editors/ImageCheckBoxEditor.scss +24 -24
  557. package/lib/esm/components-react/editors/NumericInputEditor.d.ts.map +1 -1
  558. package/lib/esm/components-react/editors/NumericInputEditor.js +1 -1
  559. package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
  560. package/lib/esm/components-react/editors/NumericInputEditor.scss +16 -17
  561. package/lib/esm/components-react/editors/PopupButton.d.ts.map +1 -1
  562. package/lib/esm/components-react/editors/PopupButton.js +8 -7
  563. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  564. package/lib/esm/components-react/editors/PopupButton.scss +116 -116
  565. package/lib/esm/components-react/editors/PropertyEditorManager.js +2 -1
  566. package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
  567. package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
  568. package/lib/esm/components-react/editors/SliderEditor.scss +13 -13
  569. package/lib/esm/components-react/editors/TextEditor.d.ts.map +1 -1
  570. package/lib/esm/components-react/editors/TextEditor.js +9 -4
  571. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  572. package/lib/esm/components-react/editors/TextEditor.scss +20 -21
  573. package/lib/esm/components-react/editors/TextareaEditor.d.ts +1 -1
  574. package/lib/esm/components-react/editors/TextareaEditor.js +1 -1
  575. package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
  576. package/lib/esm/components-react/editors/TextareaEditor.scss +14 -14
  577. package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
  578. package/lib/esm/components-react/editors/ToggleEditor.scss +23 -23
  579. package/lib/esm/components-react/editors/variables.scss +7 -6
  580. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts +25 -1
  581. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.d.ts.map +1 -1
  582. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js +24 -2
  583. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  584. package/lib/esm/components-react/favorite/FavoritePropertyList.js +2 -3
  585. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  586. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts +22 -25
  587. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  588. package/lib/esm/components-react/filter-builder/FilterBuilder.js +12 -73
  589. package/lib/esm/components-react/filter-builder/FilterBuilder.js.map +1 -1
  590. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts +80 -0
  591. package/lib/esm/components-react/filter-builder/FilterBuilderContext.d.ts.map +1 -0
  592. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js +60 -0
  593. package/lib/esm/components-react/filter-builder/FilterBuilderContext.js.map +1 -0
  594. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts +14 -3
  595. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  596. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js +17 -7
  597. package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  598. package/lib/esm/components-react/filter-builder/FilterBuilderRule.scss +38 -40
  599. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +25 -16
  600. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  601. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js +15 -7
  602. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
  603. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.scss +68 -76
  604. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +14 -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 +8 -3
  607. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  608. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +16 -2
  609. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  610. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +11 -4
  611. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  612. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts +14 -2
  613. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  614. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +9 -3
  615. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  616. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts +51 -8
  617. package/lib/esm/components-react/filter-builder/FilterBuilderState.d.ts.map +1 -1
  618. package/lib/esm/components-react/filter-builder/FilterBuilderState.js +54 -3
  619. package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  620. package/lib/esm/components-react/filter-builder/Operators.d.ts +23 -5
  621. package/lib/esm/components-react/filter-builder/Operators.d.ts.map +1 -1
  622. package/lib/esm/components-react/filter-builder/Operators.js +23 -5
  623. package/lib/esm/components-react/filter-builder/Operators.js.map +1 -1
  624. package/lib/esm/components-react/filter-builder/Types.d.ts +25 -5
  625. package/lib/esm/components-react/filter-builder/Types.d.ts.map +1 -1
  626. package/lib/esm/components-react/filter-builder/Types.js +11 -1
  627. package/lib/esm/components-react/filter-builder/Types.js.map +1 -1
  628. package/lib/esm/components-react/filtering/FilteringInput.d.ts.map +1 -1
  629. package/lib/esm/components-react/filtering/FilteringInput.js +13 -6
  630. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  631. package/lib/esm/components-react/filtering/FilteringInput.scss +58 -68
  632. package/lib/esm/components-react/filtering/ResultSelector.d.ts.map +1 -1
  633. package/lib/esm/components-react/filtering/ResultSelector.js +6 -2
  634. package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
  635. package/lib/esm/components-react/filtering/ResultSelector.scss +68 -73
  636. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts.map +1 -1
  637. package/lib/esm/components-react/iconpicker/IconPickerButton.js +10 -5
  638. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  639. package/lib/esm/components-react/iconpicker/IconPickerButton.scss +75 -75
  640. package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
  641. package/lib/esm/components-react/inputs/ParsedInput.scss +23 -23
  642. package/lib/esm/components-react/properties/ItemStyle.d.ts +1 -1
  643. package/lib/esm/components-react/properties/ItemStyle.d.ts.map +1 -1
  644. package/lib/esm/components-react/properties/ItemStyle.js.map +1 -1
  645. package/lib/esm/components-react/properties/LinkHandler.d.ts +3 -3
  646. package/lib/esm/components-react/properties/LinkHandler.d.ts.map +1 -1
  647. package/lib/esm/components-react/properties/LinkHandler.js +1 -1
  648. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  649. package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
  650. package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  651. package/lib/esm/components-react/properties/renderers/ActionButtonList.scss +25 -25
  652. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts +1 -1
  653. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.d.ts.map +1 -1
  654. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  655. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js +3 -4
  656. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  657. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +1 -1
  658. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  659. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +17 -17
  660. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js +2 -3
  661. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  662. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  663. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  664. package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
  665. package/lib/esm/components-react/properties/renderers/PropertyView.scss +106 -104
  666. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts.map +1 -1
  667. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js +3 -2
  668. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  669. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  670. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js +1 -2
  671. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  672. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.scss +88 -88
  673. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  674. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +1 -2
  675. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  676. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  677. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +3 -6
  678. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  679. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +1 -2
  680. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  681. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  682. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +4 -7
  683. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  684. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  685. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  686. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts +1 -1
  687. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.d.ts.map +1 -1
  688. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  689. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  690. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  691. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  692. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts +4 -4
  693. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.d.ts.map +1 -1
  694. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js +4 -4
  695. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  696. package/lib/esm/components-react/propertygrid/PropertyDataProvider.d.ts +2 -2
  697. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  698. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.d.ts +4 -0
  699. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.d.ts.map +1 -1
  700. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js +17 -4
  701. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  702. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts +1 -1
  703. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.d.ts.map +1 -1
  704. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +6 -1
  705. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  706. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  707. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js +1 -2
  708. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  709. package/lib/esm/components-react/propertygrid/component/PropertyGrid.scss +73 -72
  710. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts +18 -10
  711. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.d.ts.map +1 -1
  712. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js +4 -3
  713. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  714. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +2 -2
  715. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts.map +1 -1
  716. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  717. package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
  718. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +13 -12
  719. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  720. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +48 -53
  721. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  722. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +101 -92
  723. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +11 -10
  724. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  725. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +3 -3
  726. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  727. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js +11 -13
  728. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  729. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +2 -2
  730. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  731. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +1 -2
  732. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  733. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  734. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  735. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  736. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.d.ts +2 -2
  737. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js +1 -1
  738. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  739. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts +5 -3
  740. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
  741. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js +5 -3
  742. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  743. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.d.ts +3 -3
  744. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js +1 -1
  745. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  746. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts +3 -3
  747. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.d.ts.map +1 -1
  748. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js +1 -1
  749. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  750. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts +2 -2
  751. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.d.ts.map +1 -1
  752. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js +1 -1
  753. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  754. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts +5 -5
  755. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.d.ts.map +1 -1
  756. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  757. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.d.ts +1 -1
  758. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js +1 -1
  759. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  760. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.d.ts +1 -1
  761. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js +1 -1
  762. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  763. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.d.ts +1 -1
  764. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js +1 -1
  765. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  766. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +1 -2
  767. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  768. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts +10 -10
  769. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  770. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +5 -5
  771. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  772. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.d.ts +2 -2
  773. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +3 -4
  774. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  775. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts +2 -2
  776. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +2 -2
  777. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  778. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts.map +1 -1
  779. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +1 -1
  780. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  781. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +3 -6
  782. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  783. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +5 -7
  784. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  785. package/lib/esm/components-react/selectable-content/SelectableContent.d.ts +2 -0
  786. package/lib/esm/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  787. package/lib/esm/components-react/selectable-content/SelectableContent.js +5 -6
  788. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  789. package/lib/esm/components-react/selectable-content/SelectableContent.scss +20 -20
  790. package/lib/esm/components-react/toolbar/Item.js.map +1 -1
  791. package/lib/esm/components-react/toolbar/Item.scss +91 -122
  792. package/lib/esm/components-react/toolbar/ItemWrapper.js.map +1 -1
  793. package/lib/esm/components-react/toolbar/ItemWrapper.scss +10 -10
  794. package/lib/esm/components-react/toolbar/Items.js.map +1 -1
  795. package/lib/esm/components-react/toolbar/Items.scss +96 -97
  796. package/lib/esm/components-react/toolbar/Overflow.js.map +1 -1
  797. package/lib/esm/components-react/toolbar/Overflow.scss +57 -57
  798. package/lib/esm/components-react/toolbar/OverflowPanel.js.map +1 -1
  799. package/lib/esm/components-react/toolbar/OverflowPanel.scss +37 -37
  800. package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
  801. package/lib/esm/components-react/toolbar/PopupItem.scss +88 -88
  802. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  803. package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  804. package/lib/esm/components-react/toolbar/Toolbar.d.ts +4 -2
  805. package/lib/esm/components-react/toolbar/Toolbar.d.ts.map +1 -1
  806. package/lib/esm/components-react/toolbar/Toolbar.js +2 -1
  807. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  808. package/lib/esm/components-react/toolbar/Toolbar.scss +18 -18
  809. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts +7 -3
  810. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  811. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js +10 -6
  812. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  813. package/lib/esm/components-react/toolbar/_variables.scss +34 -34
  814. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  815. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  816. package/lib/esm/components-react/toolbar/groupPanel/Column.js.map +1 -1
  817. package/lib/esm/components-react/toolbar/groupPanel/Column.scss +9 -9
  818. package/lib/esm/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  819. package/lib/esm/components-react/toolbar/groupPanel/Columns.scss +10 -10
  820. package/lib/esm/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  821. package/lib/esm/components-react/toolbar/groupPanel/Panel.scss +15 -17
  822. package/lib/esm/components-react/toolbar/groupPanel/Title.js.map +1 -1
  823. package/lib/esm/components-react/toolbar/groupPanel/Title.scss +33 -34
  824. package/lib/esm/components-react/toolbar/groupPanel/_variables.scss +16 -16
  825. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  826. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
  827. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  828. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.scss +117 -146
  829. package/lib/esm/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
  830. package/lib/esm/components-react/toolbar/useDragInteraction.js.map +1 -1
  831. package/lib/esm/components-react/toolbar/utilities/Direction.js +4 -2
  832. package/lib/esm/components-react/toolbar/utilities/Direction.js.map +1 -1
  833. package/lib/esm/components-react/tree/HighlightingEngine.js +2 -1
  834. package/lib/esm/components-react/tree/HighlightingEngine.js.map +1 -1
  835. package/lib/esm/components-react/tree/HighlightingEngine.scss +7 -7
  836. package/lib/esm/components-react/tree/ImageLoader.js.map +1 -1
  837. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts +1 -1
  838. package/lib/esm/components-react/tree/SimpleTreeDataProvider.d.ts.map +1 -1
  839. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  840. package/lib/esm/components-react/tree/TreeComponentTestId.js.map +1 -1
  841. package/lib/esm/components-react/tree/TreeDataProvider.d.ts +4 -4
  842. package/lib/esm/components-react/tree/TreeDataProvider.d.ts.map +1 -1
  843. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  844. package/lib/esm/components-react/tree/controlled/Observable.d.ts +12 -2
  845. package/lib/esm/components-react/tree/controlled/Observable.d.ts.map +1 -1
  846. package/lib/esm/components-react/tree/controlled/Observable.js.map +1 -1
  847. package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
  848. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  849. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  850. package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
  851. package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
  852. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts +3 -3
  853. package/lib/esm/components-react/tree/controlled/TreeModel.d.ts.map +1 -1
  854. package/lib/esm/components-react/tree/controlled/TreeModel.js +7 -10
  855. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  856. package/lib/esm/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  857. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js +6 -8
  858. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  859. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts +1 -4
  860. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  861. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js +1 -2
  862. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  863. package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +102 -102
  864. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  865. package/lib/esm/components-react/tree/controlled/component/NodeContent.js +1 -0
  866. package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  867. package/lib/esm/components-react/tree/controlled/component/NodeContent.scss +27 -28
  868. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts +1 -1
  869. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  870. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  871. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +1 -1
  872. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  873. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js +1 -1
  874. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  875. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts +3 -6
  876. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts.map +1 -1
  877. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js +2 -2
  878. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  879. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js +1 -2
  880. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  881. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  882. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts +1 -1
  883. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.d.ts.map +1 -1
  884. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js +2 -4
  885. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  886. package/lib/esm/components-react.d.ts +4 -8
  887. package/lib/esm/components-react.d.ts.map +1 -1
  888. package/lib/esm/components-react.js +4 -8
  889. package/lib/esm/components-react.js.map +1 -1
  890. package/lib/public/locales/en/UiComponents.json +139 -139
  891. package/package.json +30 -32
  892. package/ThirdPartyNotices.md +0 -31
  893. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.d.ts +0 -60
  894. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.d.ts.map +0 -1
  895. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js +0 -185
  896. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js.map +0 -1
  897. package/lib/cjs/components-react/table/TableDataProvider.d.ts +0 -10
  898. package/lib/cjs/components-react/table/TableDataProvider.d.ts.map +0 -1
  899. package/lib/cjs/components-react/table/TableDataProvider.js +0 -18
  900. package/lib/cjs/components-react/table/TableDataProvider.js.map +0 -1
  901. package/lib/esm/components-react/propertygrid/component/PropertyGrid.d.ts +0 -60
  902. package/lib/esm/components-react/propertygrid/component/PropertyGrid.d.ts.map +0 -1
  903. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js +0 -159
  904. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js.map +0 -1
  905. package/lib/esm/components-react/table/TableDataProvider.d.ts +0 -10
  906. package/lib/esm/components-react/table/TableDataProvider.d.ts.map +0 -1
  907. package/lib/esm/components-react/table/TableDataProvider.js +0 -14
  908. package/lib/esm/components-react/table/TableDataProvider.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/DateTimeEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyEditors\n */\n\nimport \"./DateTimeEditor.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport {\n AlternateDateFormats, PropertyValue, PropertyValueFormat, StandardTypeNames, TimeDisplay,\n} from \"@itwin/appui-abstract\";\nimport { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\nimport { PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\nimport { PopupButton, PopupContent, PopupOkCancelButtons } from \"./PopupButton\";\nimport { TimeField, TimeSpec } from \"../datepicker/TimeField\";\nimport { TypeConverter } from \"../converters/TypeConverter\";\nimport { DatePicker } from \"../datepicker/DatePicker\";\nimport { TypeConverterManager } from \"../converters/TypeConverterManager\";\nimport { DateTimeTypeConverterBase } from \"../converters/DateTimeTypeConverter\";\nimport { BodyText } from \"@itwin/core-react\";\nimport { adjustDateToTimezone } from \"../common/DateUtils\";\n\n// cSpell:ignore datepicker\n\n/** @internal */\ninterface DateTimeEditorState {\n value: Date;\n displayValue?: string;\n timeDisplay?: TimeDisplay;\n isDisabled?: boolean;\n typeConverter?: TypeConverter;\n editInUtc: boolean;\n}\n\n/** @internal */\ninterface DateTimeEditorProps extends PropertyEditorProps {\n showTime?: boolean;\n}\n\n/** DateTimeEditor React component that is a property editor for selection of date and time.\n * @internal\n */\nexport class DateTimeEditor extends React.PureComponent<DateTimeEditorProps, DateTimeEditorState> implements TypeEditor {\n private _isMounted = false;\n private _enterKey = false;\n private _divElement = React.createRef<HTMLDivElement>();\n\n /** @internal */\n public override readonly state: Readonly<DateTimeEditorState> = {\n value: new Date(),\n editInUtc: false,\n };\n\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\n const record = this.props.propertyRecord;\n let propertyValue: PropertyValue | undefined;\n\n // istanbul ignore else\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\n propertyValue = {\n valueFormat: PropertyValueFormat.Primitive,\n value: this.state.value,\n displayValue: this.state.displayValue,\n };\n }\n\n return propertyValue;\n }\n\n public get htmlElement(): HTMLElement | null {\n return this._divElement.current;\n }\n\n public get hasFocus(): boolean {\n let containsFocus = false;\n // istanbul ignore else\n if (this.htmlElement)\n containsFocus = this.htmlElement.contains(document.activeElement);\n return containsFocus;\n }\n\n public async processDateChange(typeConverter: TypeConverter, newValue: Date): Promise<void> {\n // istanbul ignore else\n if (this.props.propertyRecord) {\n const displayValue = await typeConverter.convertPropertyToString(this.props.propertyRecord.property, newValue);\n this.setState({\n value: newValue,\n displayValue,\n });\n }\n }\n\n private _handleChange = (newValue: Date): void => {\n // istanbul ignore else\n if (this._isMounted && this.state.typeConverter) {\n // istanbul ignore else\n if (this.state.editInUtc) {\n newValue = adjustDateToTimezone(newValue, newValue.getTimezoneOffset() * -1);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.processDateChange(this.state.typeConverter, newValue);\n }\n };\n\n private _handleTimeChange = (time: TimeSpec): void => {\n // Combine new time into selected Date\n if (this.state.editInUtc) {\n const newWorkingDate = adjustDateToTimezone(this.state.value, 0);\n newWorkingDate.setUTCHours(time.hours, time.minutes, time.seconds);\n this._handleChange(newWorkingDate);\n } else {\n const newWorkingDate = new Date(this.state.value.getTime());\n newWorkingDate.setHours(time.hours, time.minutes, time.seconds);\n this._handleChange(newWorkingDate);\n }\n };\n\n /** @internal */\n public override componentDidMount() {\n this._isMounted = true;\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n\n /** @internal */\n public override componentWillUnmount() {\n this._isMounted = false;\n }\n\n /** @internal */\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n }\n\n private async setStateFromProps() {\n const record = this.props.propertyRecord;\n let initialValue: Date | undefined;\n let typeConverter: TypeConverter | undefined;\n let timeDisplay: TimeDisplay | undefined;\n let alternateDateFormat = AlternateDateFormats.None;\n let editInUtc = false;\n\n // istanbul ignore else\n if (this.props.showTime)\n timeDisplay = TimeDisplay.H12MC;\n\n // istanbul ignore else\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\n // istanbul ignore else\n if (record.value.value instanceof Date)\n initialValue = new Date(record.value.value);\n else if (typeof record.value.value === \"string\")\n initialValue = new Date(record.value.value);\n else if (record.value.value === undefined)\n initialValue = new Date();\n\n typeConverter = TypeConverterManager.getConverter(record.property.typename, record.property.converter?.name);\n\n const options = record.property.converter?.options;\n if (options) {\n // istanbul ignore else\n if (\"alternateDateFormat\" in options) {\n // istanbul ignore else\n if (DateTimeTypeConverterBase.isAlternateDateFormats(options.alternateDateFormat)) {\n timeDisplay = TimeDisplay.H24MS;\n alternateDateFormat = options.alternateDateFormat;\n }\n }\n\n if (\"timeDisplay\" in options && this.props.showTime) {\n timeDisplay = options.timeDisplay;\n // use 24 hr time display if alternateDateFormat is defined\n // istanbul ignore next\n if (alternateDateFormat && timeDisplay !== TimeDisplay.H24MS && timeDisplay !== TimeDisplay.H24M)\n timeDisplay = TimeDisplay.H24MS;\n }\n\n // istanbul ignore else\n if (alternateDateFormat) {\n editInUtc = true;\n\n if (this.props.showTime) {\n if (alternateDateFormat === AlternateDateFormats.IsoShort) {\n alternateDateFormat = AlternateDateFormats.IsoDateTime;\n }\n if (alternateDateFormat === AlternateDateFormats.UtcShort) {\n alternateDateFormat = AlternateDateFormats.UtcDateTime;\n }\n if (alternateDateFormat === AlternateDateFormats.UtcShortWithDay) {\n alternateDateFormat = AlternateDateFormats.UtcDateTimeWithDay;\n }\n } else {\n timeDisplay = undefined;\n if (alternateDateFormat === AlternateDateFormats.IsoDateTime)\n alternateDateFormat = AlternateDateFormats.IsoShort;\n if (alternateDateFormat === AlternateDateFormats.UtcDateTime)\n alternateDateFormat = AlternateDateFormats.UtcShort;\n if (alternateDateFormat === AlternateDateFormats.UtcDateTimeWithDay)\n alternateDateFormat = AlternateDateFormats.UtcShortWithDay;\n }\n }\n }\n }\n\n // istanbul ignore next\n if (!initialValue) {\n throw new Error(\"Bad Value\");\n }\n\n // istanbul ignore next\n if (!typeConverter) {\n throw new Error(\"Unable to determine TypeConverter\");\n }\n\n const isDisabled = record && !!record.isDisabled;\n const displayValue = await typeConverter.convertPropertyToString(record!.property, initialValue);\n\n // istanbul ignore else\n if (this._isMounted)\n this.setState({\n value: initialValue,\n isDisabled,\n timeDisplay,\n typeConverter,\n displayValue,\n editInUtc,\n });\n }\n\n private _handleEnter = async (): Promise<void> => {\n this._enterKey = true;\n await this._handleCommit();\n };\n\n private _handleClose = async (): Promise<void> => {\n if (this._enterKey) {\n this._enterKey = false;\n } else {\n // istanbul ignore next\n if (this.props.onCancel)\n this.props.onCancel();\n }\n };\n\n private _handleOk = async (_event: React.MouseEvent): Promise<void> => {\n await this._handleCommit();\n };\n\n private _handleCancel = (_event: React.MouseEvent): void => {\n // istanbul ignore else\n if (this.props.onCancel) {\n this.props.onCancel();\n }\n };\n\n private _handleCommit = async (): Promise<void> => {\n // istanbul ignore else\n if (this.props.propertyRecord && this.props.onCommit) {\n const propertyValue = await this.getPropertyValue();\n // istanbul ignore else\n if (propertyValue !== undefined) {\n this.props.onCommit({ propertyRecord: this.props.propertyRecord, newValue: propertyValue });\n }\n }\n };\n\n /** @internal */\n public override render(): React.ReactNode {\n const date = this.state.editInUtc ? adjustDateToTimezone(this.state.value, 0) : this.state.value;\n const timeSpec: TimeSpec = {\n hours: date.getHours(),\n minutes: date.getMinutes(),\n seconds: date.getSeconds(),\n };\n\n const className = classnames(\"components-cell-editor\", \"components-datetime-editor\", this.props.className);\n\n return (\n <div className={className} ref={this._divElement}>\n <PopupButton label={this.state.displayValue} onClose={this._handleClose} onEnter={this._handleEnter}\n setFocus={this.props.setFocus}>\n <PopupContent>\n <>\n <div className=\"components-date-picker-calendar-popup-panel\" data-testid=\"components-date-picker-calendar-popup-panel\">\n <DatePicker selected={date} onDateChange={this._handleChange} showFocusOutline={false} />\n {this.state.timeDisplay &&\n <div className=\"time-container\">\n <BodyText className=\"time-label\">{\"Time\"}</BodyText>\n <TimeField time={timeSpec} timeDisplay={this.state.timeDisplay} onTimeChange={this._handleTimeChange} />\n </div>\n }\n </div>\n </>\n <PopupOkCancelButtons onOk={this._handleOk} onCancel={this._handleCancel} />\n </PopupContent>\n </PopupButton>\n </div>\n );\n }\n}\n\n/** DateTime Property Editor registered for the \"number\" type name and \"DateTime\" editor name.\n * It uses the [[DateTimeEditor]] React component.\n * @internal\n */\nexport class ShortDateTimePropertyEditor extends PropertyEditorBase {\n public get reactNode(): React.ReactNode {\n return <DateTimeEditor showTime={false} />;\n }\n // istanbul ignore next\n public override get containerHandlesTab(): boolean {\n return false;\n }\n}\n\n/** DateTime Property Editor registered for the \"number\" type name and \"DateTime\" editor name.\n * It uses the [[DateTimeEditor]] React component.\n * @internal\n */\nexport class DateTimePropertyEditor extends PropertyEditorBase {\n public get reactNode(): React.ReactNode {\n return <DateTimeEditor showTime={true} />;\n }\n // istanbul ignore next\n public override get containerHandlesTab(): boolean {\n return false;\n }\n}\n\nPropertyEditorManager.registerEditor(StandardTypeNames.ShortDate, ShortDateTimePropertyEditor);\nPropertyEditorManager.registerEditor(StandardTypeNames.DateTime, DateTimePropertyEditor);\n"]}
1
+ {"version":3,"file":"DateTimeEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/DateTimeEditor.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,uBAAuB,CAAC;AAC/B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,oBAAoB,EAAiB,mBAAmB,EAAE,iBAAiB,EAAE,WAAW,GACzF,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,SAAS,EAAY,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAmB3D;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK,CAAC,aAAuD;IAAjG;;QACU,eAAU,GAAG,KAAK,CAAC;QACnB,cAAS,GAAG,KAAK,CAAC;QAClB,gBAAW,GAAG,KAAK,CAAC,SAAS,EAAkB,CAAC;QAExD,gBAAgB;QACS,UAAK,GAAkC;YAC9D,KAAK,EAAE,IAAI,IAAI,EAAE;YACjB,SAAS,EAAE,KAAK;SACjB,CAAC;QAyCM,kBAAa,GAAG,CAAC,QAAc,EAAQ,EAAE;YAC/C,uBAAuB;YACvB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;gBAC/C,uBAAuB;gBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;oBACxB,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;iBAC9E;gBAED,mEAAmE;gBACnE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;aAC5D;QACH,CAAC,CAAC;QAEM,sBAAiB,GAAG,CAAC,IAAc,EAAQ,EAAE;YACnD,sCAAsC;YACtC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;gBACxB,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACjE,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;aACpC;iBAAM;gBACL,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5D,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAChE,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;aACpC;QACH,CAAC,CAAC;QAmHM,iBAAY,GAAG,KAAK,IAAmB,EAAE;YAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC,CAAC;QAEM,iBAAY,GAAG,KAAK,IAAmB,EAAE;YAC/C,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;aACxB;iBAAM;gBACL,uBAAuB;gBACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;oBACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;aACzB;QACH,CAAC,CAAC;QAEM,cAAS,GAAG,KAAK,EAAE,MAAwB,EAAiB,EAAE;YACpE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC7B,CAAC,CAAC;QAEM,kBAAa,GAAG,CAAC,MAAwB,EAAQ,EAAE;YACzD,uBAAuB;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;aACvB;QACH,CAAC,CAAC;QAEM,kBAAa,GAAG,KAAK,IAAmB,EAAE;YAChD,uBAAuB;YACvB,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;gBACpD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACpD,uBAAuB;gBACvB,IAAI,aAAa,KAAK,SAAS,EAAE;oBAC/B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;iBAC7F;aACF;QACH,CAAC,CAAC;IAmCJ,CAAC;IAxPQ,KAAK,CAAC,gBAAgB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACzC,IAAI,aAAwC,CAAC;QAE7C,uBAAuB;QACvB,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS,EAAE;YACxE,aAAa,GAAG;gBACd,WAAW,EAAE,mBAAmB,CAAC,SAAS;gBAC1C,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;gBACvB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY;aACtC,CAAC;SACH;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,IAAW,QAAQ;QACjB,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,uBAAuB;QACvB,IAAI,IAAI,CAAC,WAAW;YAClB,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACpE,OAAO,aAAa,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,aAA4B,EAAE,QAAc;QACzE,uBAAuB;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YAC7B,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC/G,IAAI,CAAC,QAAQ,CAAC;gBACZ,KAAK,EAAE,QAAQ;gBACf,YAAY;aACb,CAAC,CAAC;SACJ;IACH,CAAC;IA4BD,gBAAgB;IACA,iBAAiB;QAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,8DAA8D;IAC1F,CAAC;IAED,gBAAgB;IACA,oBAAoB;QAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,gBAAgB;IACA,kBAAkB,CAAC,SAA8B;QAC/D,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,cAAc,EAAE;YAC1D,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,8DAA8D;SACzF;IACH,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;QACzC,IAAI,YAA8B,CAAC;QACnC,IAAI,aAAwC,CAAC;QAC7C,IAAI,WAAoC,CAAC;QACzC,IAAI,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CAAC;QACpD,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,uBAAuB;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;YACrB,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC;QAElC,uBAAuB;QACvB,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,mBAAmB,CAAC,SAAS,EAAE;YACxE,uBAAuB;YACvB,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,YAAY,IAAI;gBACpC,YAAY,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACzC,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ;gBAC7C,YAAY,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBACzC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS;gBACvC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;YAE5B,aAAa,GAAG,oBAAoB,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAE7G,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;YACnD,IAAI,OAAO,EAAE;gBACX,uBAAuB;gBACvB,IAAI,qBAAqB,IAAI,OAAO,EAAE;oBACpC,uBAAuB;oBACvB,IAAI,yBAAyB,CAAC,sBAAsB,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE;wBACjF,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC;wBAChC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;qBACnD;iBACF;gBAED,IAAI,aAAa,IAAI,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;oBACnD,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;oBAClC,2DAA2D;oBAC3D,uBAAuB;oBACvB,IAAI,mBAAmB,IAAI,WAAW,KAAK,WAAW,CAAC,KAAK,IAAI,WAAW,KAAK,WAAW,CAAC,IAAI;wBAC9F,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC;iBACnC;gBAED,uBAAuB;gBACvB,IAAI,mBAAmB,EAAE;oBACvB,SAAS,GAAG,IAAI,CAAC;oBAEjB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;wBACvB,IAAI,mBAAmB,KAAK,oBAAoB,CAAC,QAAQ,EAAE;4BACzD,mBAAmB,GAAG,oBAAoB,CAAC,WAAW,CAAC;yBACxD;wBACD,IAAI,mBAAmB,KAAK,oBAAoB,CAAC,QAAQ,EAAE;4BACzD,mBAAmB,GAAG,oBAAoB,CAAC,WAAW,CAAC;yBACxD;wBACD,IAAI,mBAAmB,KAAK,oBAAoB,CAAC,eAAe,EAAE;4BAChE,mBAAmB,GAAG,oBAAoB,CAAC,kBAAkB,CAAC;yBAC/D;qBACF;yBAAM;wBACL,WAAW,GAAG,SAAS,CAAC;wBACxB,IAAI,mBAAmB,KAAK,oBAAoB,CAAC,WAAW;4BAC1D,mBAAmB,GAAG,oBAAoB,CAAC,QAAQ,CAAC;wBACtD,IAAI,mBAAmB,KAAK,oBAAoB,CAAC,WAAW;4BAC1D,mBAAmB,GAAG,oBAAoB,CAAC,QAAQ,CAAC;wBACtD,IAAI,mBAAmB,KAAK,oBAAoB,CAAC,kBAAkB;4BACjE,mBAAmB,GAAG,oBAAoB,CAAC,eAAe,CAAC;qBAC9D;iBACF;aACF;SACF;QAED,uBAAuB;QACvB,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;SAC9B;QAED,uBAAuB;QACvB,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;SACtD;QAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QACjD,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,uBAAuB,CAAC,MAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEjG,uBAAuB;QACvB,IAAI,IAAI,CAAC,UAAU;YACjB,IAAI,CAAC,QAAQ,CAAC;gBACZ,KAAK,EAAE,YAAY;gBACnB,UAAU;gBACV,WAAW;gBACX,aAAa;gBACb,YAAY;gBACZ,SAAS;aACV,CAAC,CAAC;IACP,CAAC;IAuCD,gBAAgB;IACA,MAAM;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QACjG,MAAM,QAAQ,GAAa;YACzB,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;YACtB,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;YAC1B,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE;SAC3B,CAAC;QAEF,MAAM,SAAS,GAAG,UAAU,CAAC,wBAAwB,EAAE,4BAA4B,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAE3G,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,WAAW;YAC9C,oBAAC,WAAW,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EACjG,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAC7B,oBAAC,YAAY;oBACX;wBACE,6BAAK,SAAS,EAAC,6CAA6C,iBAAa,6CAA6C;4BACpH,oBAAC,UAAU,IAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,gBAAgB,EAAE,KAAK,GAAI;4BACxF,IAAI,CAAC,KAAK,CAAC,WAAW;gCACrB,6BAAK,SAAS,EAAC,gBAAgB;oCAC7B,oBAAC,IAAI,IAAC,OAAO,EAAC,MAAM,EAAC,SAAS,EAAC,YAAY,IAAE,MAAM,CAAQ;oCAC3D,oBAAC,SAAS,IAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,CAAC,iBAAiB,GAAI,CACpG,CAEJ,CACL;oBACH,oBAAC,oBAAoB,IAAC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,aAAa,GAAI,CAC/D,CACH,CACV,CACP,CAAC;IACJ,CAAC;CACF;AAED;;;IAGI;AACJ,MAAM,OAAO,2BAA4B,SAAQ,kBAAkB;IACjE,IAAW,SAAS;QAClB,OAAO,oBAAC,cAAc,IAAC,QAAQ,EAAE,KAAK,GAAI,CAAC;IAC7C,CAAC;IACD,uBAAuB;IACvB,IAAoB,mBAAmB;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED;;;IAGI;AACJ,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IAC5D,IAAW,SAAS;QAClB,OAAO,oBAAC,cAAc,IAAC,QAAQ,EAAE,IAAI,GAAI,CAAC;IAC5C,CAAC;IACD,uBAAuB;IACvB,IAAoB,mBAAmB;QACrC,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,qBAAqB,CAAC,cAAc,CAAC,iBAAiB,CAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;AAC/F,qBAAqB,CAAC,cAAc,CAAC,iBAAiB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC","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 \"./DateTimeEditor.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport {\r\n AlternateDateFormats, PropertyValue, PropertyValueFormat, StandardTypeNames, TimeDisplay,\r\n} from \"@itwin/appui-abstract\";\r\nimport { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\r\nimport { PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\r\nimport { PopupButton, PopupContent, PopupOkCancelButtons } from \"./PopupButton\";\r\nimport { TimeField, TimeSpec } from \"../datepicker/TimeField\";\r\nimport { TypeConverter } from \"../converters/TypeConverter\";\r\nimport { DatePicker } from \"../datepicker/DatePicker\";\r\nimport { TypeConverterManager } from \"../converters/TypeConverterManager\";\r\nimport { DateTimeTypeConverterBase } from \"../converters/DateTimeTypeConverter\";\r\nimport { Text } from \"@itwin/itwinui-react\";\r\nimport { adjustDateToTimezone } from \"../common/DateUtils\";\r\n\r\n// cSpell:ignore datepicker\r\n\r\n/** @internal */\r\ninterface DateTimeEditorState {\r\n value: Date;\r\n displayValue?: string;\r\n timeDisplay?: TimeDisplay;\r\n isDisabled?: boolean;\r\n typeConverter?: TypeConverter;\r\n editInUtc: boolean;\r\n}\r\n\r\n/** @internal */\r\ninterface DateTimeEditorProps extends PropertyEditorProps {\r\n showTime?: boolean;\r\n}\r\n\r\n/** DateTimeEditor React component that is a property editor for selection of date and time.\r\n * @internal\r\n */\r\nexport class DateTimeEditor extends React.PureComponent<DateTimeEditorProps, DateTimeEditorState> implements TypeEditor {\r\n private _isMounted = false;\r\n private _enterKey = false;\r\n private _divElement = React.createRef<HTMLDivElement>();\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<DateTimeEditorState> = {\r\n value: new Date(),\r\n editInUtc: 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: this.state.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.htmlElement)\r\n containsFocus = this.htmlElement.contains(document.activeElement);\r\n return containsFocus;\r\n }\r\n\r\n public async processDateChange(typeConverter: TypeConverter, newValue: Date): Promise<void> {\r\n // istanbul ignore else\r\n if (this.props.propertyRecord) {\r\n const displayValue = await typeConverter.convertPropertyToString(this.props.propertyRecord.property, newValue);\r\n this.setState({\r\n value: newValue,\r\n displayValue,\r\n });\r\n }\r\n }\r\n\r\n private _handleChange = (newValue: Date): void => {\r\n // istanbul ignore else\r\n if (this._isMounted && this.state.typeConverter) {\r\n // istanbul ignore else\r\n if (this.state.editInUtc) {\r\n newValue = adjustDateToTimezone(newValue, newValue.getTimezoneOffset() * -1);\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.processDateChange(this.state.typeConverter, newValue);\r\n }\r\n };\r\n\r\n private _handleTimeChange = (time: TimeSpec): void => {\r\n // Combine new time into selected Date\r\n if (this.state.editInUtc) {\r\n const newWorkingDate = adjustDateToTimezone(this.state.value, 0);\r\n newWorkingDate.setUTCHours(time.hours, time.minutes, time.seconds);\r\n this._handleChange(newWorkingDate);\r\n } else {\r\n const newWorkingDate = new Date(this.state.value.getTime());\r\n newWorkingDate.setHours(time.hours, time.minutes, time.seconds);\r\n this._handleChange(newWorkingDate);\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: Date | undefined;\r\n let typeConverter: TypeConverter | undefined;\r\n let timeDisplay: TimeDisplay | undefined;\r\n let alternateDateFormat = AlternateDateFormats.None;\r\n let editInUtc = false;\r\n\r\n // istanbul ignore else\r\n if (this.props.showTime)\r\n timeDisplay = TimeDisplay.H12MC;\r\n\r\n // istanbul ignore else\r\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\r\n // istanbul ignore else\r\n if (record.value.value instanceof Date)\r\n initialValue = new Date(record.value.value);\r\n else if (typeof record.value.value === \"string\")\r\n initialValue = new Date(record.value.value);\r\n else if (record.value.value === undefined)\r\n initialValue = new Date();\r\n\r\n typeConverter = TypeConverterManager.getConverter(record.property.typename, record.property.converter?.name);\r\n\r\n const options = record.property.converter?.options;\r\n if (options) {\r\n // istanbul ignore else\r\n if (\"alternateDateFormat\" in options) {\r\n // istanbul ignore else\r\n if (DateTimeTypeConverterBase.isAlternateDateFormats(options.alternateDateFormat)) {\r\n timeDisplay = TimeDisplay.H24MS;\r\n alternateDateFormat = options.alternateDateFormat;\r\n }\r\n }\r\n\r\n if (\"timeDisplay\" in options && this.props.showTime) {\r\n timeDisplay = options.timeDisplay;\r\n // use 24 hr time display if alternateDateFormat is defined\r\n // istanbul ignore next\r\n if (alternateDateFormat && timeDisplay !== TimeDisplay.H24MS && timeDisplay !== TimeDisplay.H24M)\r\n timeDisplay = TimeDisplay.H24MS;\r\n }\r\n\r\n // istanbul ignore else\r\n if (alternateDateFormat) {\r\n editInUtc = true;\r\n\r\n if (this.props.showTime) {\r\n if (alternateDateFormat === AlternateDateFormats.IsoShort) {\r\n alternateDateFormat = AlternateDateFormats.IsoDateTime;\r\n }\r\n if (alternateDateFormat === AlternateDateFormats.UtcShort) {\r\n alternateDateFormat = AlternateDateFormats.UtcDateTime;\r\n }\r\n if (alternateDateFormat === AlternateDateFormats.UtcShortWithDay) {\r\n alternateDateFormat = AlternateDateFormats.UtcDateTimeWithDay;\r\n }\r\n } else {\r\n timeDisplay = undefined;\r\n if (alternateDateFormat === AlternateDateFormats.IsoDateTime)\r\n alternateDateFormat = AlternateDateFormats.IsoShort;\r\n if (alternateDateFormat === AlternateDateFormats.UtcDateTime)\r\n alternateDateFormat = AlternateDateFormats.UtcShort;\r\n if (alternateDateFormat === AlternateDateFormats.UtcDateTimeWithDay)\r\n alternateDateFormat = AlternateDateFormats.UtcShortWithDay;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // istanbul ignore next\r\n if (!initialValue) {\r\n throw new Error(\"Bad Value\");\r\n }\r\n\r\n // istanbul ignore next\r\n if (!typeConverter) {\r\n throw new Error(\"Unable to determine TypeConverter\");\r\n }\r\n\r\n const isDisabled = record && !!record.isDisabled;\r\n const displayValue = await typeConverter.convertPropertyToString(record!.property, initialValue);\r\n\r\n // istanbul ignore else\r\n if (this._isMounted)\r\n this.setState({\r\n value: initialValue,\r\n isDisabled,\r\n timeDisplay,\r\n typeConverter,\r\n displayValue,\r\n editInUtc,\r\n });\r\n }\r\n\r\n private _handleEnter = async (): Promise<void> => {\r\n this._enterKey = true;\r\n await this._handleCommit();\r\n };\r\n\r\n private _handleClose = async (): Promise<void> => {\r\n if (this._enterKey) {\r\n this._enterKey = false;\r\n } else {\r\n // istanbul ignore next\r\n if (this.props.onCancel)\r\n this.props.onCancel();\r\n }\r\n };\r\n\r\n private _handleOk = async (_event: React.MouseEvent): Promise<void> => {\r\n await this._handleCommit();\r\n };\r\n\r\n private _handleCancel = (_event: React.MouseEvent): void => {\r\n // istanbul ignore else\r\n if (this.props.onCancel) {\r\n this.props.onCancel();\r\n }\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 /** @internal */\r\n public override render(): React.ReactNode {\r\n const date = this.state.editInUtc ? adjustDateToTimezone(this.state.value, 0) : this.state.value;\r\n const timeSpec: TimeSpec = {\r\n hours: date.getHours(),\r\n minutes: date.getMinutes(),\r\n seconds: date.getSeconds(),\r\n };\r\n\r\n const className = classnames(\"components-cell-editor\", \"components-datetime-editor\", this.props.className);\r\n\r\n return (\r\n <div className={className} ref={this._divElement}>\r\n <PopupButton label={this.state.displayValue} onClose={this._handleClose} onEnter={this._handleEnter}\r\n setFocus={this.props.setFocus}>\r\n <PopupContent>\r\n <>\r\n <div className=\"components-date-picker-calendar-popup-panel\" data-testid=\"components-date-picker-calendar-popup-panel\">\r\n <DatePicker selected={date} onDateChange={this._handleChange} showFocusOutline={false} />\r\n {this.state.timeDisplay &&\r\n <div className=\"time-container\">\r\n <Text variant=\"body\" className=\"time-label\">{\"Time\"}</Text>\r\n <TimeField time={timeSpec} timeDisplay={this.state.timeDisplay} onTimeChange={this._handleTimeChange} />\r\n </div>\r\n }\r\n </div>\r\n </>\r\n <PopupOkCancelButtons onOk={this._handleOk} onCancel={this._handleCancel} />\r\n </PopupContent>\r\n </PopupButton>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\n/** DateTime Property Editor registered for the \"number\" type name and \"DateTime\" editor name.\r\n * It uses the [[DateTimeEditor]] React component.\r\n * @internal\r\n */\r\nexport class ShortDateTimePropertyEditor extends PropertyEditorBase {\r\n public get reactNode(): React.ReactNode {\r\n return <DateTimeEditor showTime={false} />;\r\n }\r\n // istanbul ignore next\r\n public override get containerHandlesTab(): boolean {\r\n return false;\r\n }\r\n}\r\n\r\n/** DateTime Property Editor registered for the \"number\" type name and \"DateTime\" editor name.\r\n * It uses the [[DateTimeEditor]] React component.\r\n * @internal\r\n */\r\nexport class DateTimePropertyEditor extends PropertyEditorBase {\r\n public get reactNode(): React.ReactNode {\r\n return <DateTimeEditor showTime={true} />;\r\n }\r\n // istanbul ignore next\r\n public override get containerHandlesTab(): boolean {\r\n return false;\r\n }\r\n}\r\n\r\nPropertyEditorManager.registerEditor(StandardTypeNames.ShortDate, ShortDateTimePropertyEditor);\r\nPropertyEditorManager.registerEditor(StandardTypeNames.DateTime, DateTimePropertyEditor);\r\n"]}
@@ -1,9 +1,9 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- // cSpell:ignore datetime
6
-
7
- .components-datetime-editor {
8
- min-width: 100%;
9
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ // cSpell:ignore datetime
6
+
7
+ .components-datetime-editor {
8
+ min-width: 100%;
9
+ }
@@ -28,6 +28,11 @@ export interface PropertyEditorProps extends CommonProps {
28
28
  onBlur?: (event: React.FocusEvent) => void;
29
29
  /** Indicates whether the Property Editor should set focus */
30
30
  setFocus?: boolean;
31
+ /**
32
+ * Indicates whether value change should call onCommit().
33
+ * @internal
34
+ */
35
+ shouldCommitOnChange?: boolean;
31
36
  }
32
37
  /** [[EditorContainer]] React component properties
33
38
  * @public
@@ -45,6 +50,11 @@ export interface EditorContainerProps extends CommonProps {
45
50
  setFocus?: boolean;
46
51
  /** @internal */
47
52
  ignoreEditorBlur?: boolean;
53
+ /**
54
+ * Indicates whether value change should call onCommit().
55
+ * @internal
56
+ */
57
+ shouldCommitOnChange?: boolean;
48
58
  }
49
59
  /** Interface implemented by React based type editors
50
60
  * @public
@@ -1 +1 @@
1
- {"version":3,"file":"EditorContainer.d.ts","sourceRoot":"","sources":["../../../../src/components-react/editors/EditorContainer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,aAAa,EAAuB,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,sCAAsC;IACtC,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,kCAAkC;IAClC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,yBAAyB;IACzB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC/C,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,uBAAuB;IACvB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC3C,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,kCAAkC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC9C,yBAAyB;IACzB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,gBAAgB;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAOD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,gBAAgB,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAC3D,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC;IAE5E,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,eAAe,CAAiC;IAExD,OAAO,CAAC,YAAY;IA6BpB,OAAO,CAAC,iBAAiB,CAIvB;IAEF,OAAO,CAAC,oBAAoB,CAE1B;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,cAAc,CAepB;IAEF,OAAO,CAAC,iBAAiB,CAEvB;IAEF,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,oBAAoB;YAYd,eAAe;IAkB7B,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,sBAAsB,CAM5B;IAEF,OAAO,CAAC,OAAO,CAkBb;IAEF,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,aAAa,CAEnB;IAEF,gBAAgB;IACA,MAAM;CAevB"}
1
+ {"version":3,"file":"EditorContainer.d.ts","sourceRoot":"","sources":["../../../../src/components-react/editors/EditorContainer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,wBAAwB,CAAC;AAChC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,aAAa,EAAuB,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kCAAkC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,sCAAsC;IACtC,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,kCAAkC;IAClC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,yBAAyB;IACzB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC/C,yBAAyB;IACzB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,uBAAuB;IACvB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC3C,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,kCAAkC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC9C,yBAAyB;IACzB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,gBAAgB;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;MAGE;IACF,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAOD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,gBAAgB,EAAE,MAAM,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAC3D,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC;IAE5E,OAAO,CAAC,UAAU,CAAyB;IAC3C,OAAO,CAAC,eAAe,CAAiC;IAExD,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,iBAAiB,CAIvB;IAEF,OAAO,CAAC,oBAAoB,CAE1B;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,cAAc,CAepB;IAEF,OAAO,CAAC,iBAAiB,CAEvB;IAEF,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,oBAAoB;YAYd,eAAe;IAkB7B,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,sBAAsB,CAM5B;IAEF,OAAO,CAAC,OAAO,CAkBb;IAEF,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,aAAa,CAEnB;IAEF,gBAAgB;IACA,MAAM;CAevB"}
@@ -92,6 +92,7 @@ export class EditorContainer extends React.PureComponent {
92
92
  setFocus: this.props.setFocus !== undefined ? this.props.setFocus : true,
93
93
  className: this.props.className,
94
94
  style: this.props.style,
95
+ shouldCommitOnChange: this.props.shouldCommitOnChange,
95
96
  };
96
97
  const propDescription = this.props.propertyRecord.property;
97
98
  const editorName = propDescription.editor !== undefined ? propDescription.editor.name : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"EditorContainer.js","sourceRoot":"","sources":["../../../../src/components-react/editors/EditorContainer.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyEditors\n */\n\nimport \"./EditorContainer.scss\";\nimport * as React from \"react\";\nimport { PropertyRecord, PropertyValue, SpecialKey, UiAdmin } from \"@itwin/appui-abstract\";\nimport { CommonProps } from \"@itwin/core-react\";\nimport { AsyncErrorMessage, PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\n\n/** Arguments for the Property Updated event callback\n * @public\n */\nexport interface PropertyUpdatedArgs {\n /** The property being updated. */\n propertyRecord: PropertyRecord;\n /** The new value for the property. */\n newValue: PropertyValue;\n}\n\n/** Properties for a property editor component\n * @public\n */\nexport interface PropertyEditorProps extends CommonProps {\n /** The property being updated. */\n propertyRecord?: PropertyRecord;\n /** Handler for commit */\n onCommit?: (args: PropertyUpdatedArgs) => void;\n /** Handler for cancel */\n onCancel?: () => void;\n /** Handler for blur */\n onBlur?: (event: React.FocusEvent) => void;\n /** Indicates whether the Property Editor should set focus */\n setFocus?: boolean;\n}\n\n/** [[EditorContainer]] React component properties\n * @public\n */\nexport interface EditorContainerProps extends CommonProps {\n /** The property being updated. */\n propertyRecord: PropertyRecord;\n /** Tooltip text */\n title?: string;\n /** Handler for commit */\n onCommit: (args: PropertyUpdatedArgs) => void;\n /** Handler for cancel */\n onCancel: () => void;\n /** Indicates whether the Property Editor should set focus */\n setFocus?: boolean;\n\n /** @internal */\n ignoreEditorBlur?: boolean;\n}\n\n/** @internal */\ninterface CloneProps extends PropertyEditorProps {\n ref: (ref: any) => void;\n}\n\n/** Interface implemented by React based type editors\n * @public\n */\nexport interface TypeEditor {\n getPropertyValue: () => Promise<PropertyValue | undefined>;\n htmlElement: HTMLElement | null;\n hasFocus: boolean;\n}\n\n/**\n * EditorContainer React component used by the Tree and PropertyGrid for cell editing.\n * @public\n */\nexport class EditorContainer extends React.PureComponent<EditorContainerProps> {\n\n private _editorRef: TypeEditor | undefined;\n private _propertyEditor: PropertyEditorBase | undefined;\n\n private createEditor(): React.ReactNode {\n const editorRef = (ref: TypeEditor | undefined) => this._editorRef = ref;\n\n const editorProps: CloneProps = {\n ref: editorRef,\n onCommit: this._handleEditorCommit,\n onCancel: this._handleEditorCancel,\n onBlur: this._handleEditorBlur,\n propertyRecord: this.props.propertyRecord,\n setFocus: this.props.setFocus !== undefined ? this.props.setFocus : true,\n className: this.props.className,\n style: this.props.style,\n };\n\n const propDescription = this.props.propertyRecord.property;\n\n const editorName = propDescription.editor !== undefined ? propDescription.editor.name : undefined;\n this._propertyEditor = PropertyEditorManager.createEditor(propDescription.typename, editorName, propDescription.dataController);\n const editorNode: React.ReactNode = this._propertyEditor.reactNode;\n\n let clonedNode: React.ReactNode = null;\n // istanbul ignore else\n if (React.isValidElement(editorNode)) {\n clonedNode = React.cloneElement(editorNode, editorProps);\n }\n\n return clonedNode;\n }\n\n private _handleEditorBlur = (_e: React.FocusEvent) => {\n // istanbul ignore else\n if (!this.props.ignoreEditorBlur && this._propertyEditor && this._propertyEditor.containerHandlesBlur)\n this._handleContainerCommit(); // eslint-disable-line @typescript-eslint/no-floating-promises\n };\n\n private _handleContainerBlur = (e: React.FocusEvent) => {\n e.stopPropagation();\n };\n\n private _handleClick = (e: React.MouseEvent) => {\n e.stopPropagation();\n };\n\n private _handleKeyDown = (e: React.KeyboardEvent) => {\n switch (e.key) {\n case SpecialKey.Escape:\n this.onPressEscape(e);\n break;\n case SpecialKey.Enter:\n this.onPressEnter(e);\n break;\n case SpecialKey.Tab:\n this.onPressTab(e);\n break;\n default:\n if (this._propertyEditor && this._propertyEditor.containerStopsKeydownPropagation)\n e.stopPropagation();\n }\n };\n\n private _handleRightClick = (e: React.MouseEvent) => {\n e.stopPropagation();\n };\n\n private onPressEscape(_e: React.KeyboardEvent): void {\n // istanbul ignore else\n if (this._propertyEditor && this._propertyEditor.containerHandlesEscape) {\n this._commitCancel();\n }\n }\n\n private onPressEnter(e: React.KeyboardEvent): void {\n // istanbul ignore else\n if (this._propertyEditor && this._propertyEditor.containerHandlesEnter) {\n // istanbul ignore else\n if (this._editorRef && this._editorRef.hasFocus)\n e.stopPropagation();\n this._handleContainerCommit(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n }\n\n private onPressTab(e: React.KeyboardEvent): void {\n // istanbul ignore else\n if (this._propertyEditor && this._propertyEditor.containerHandlesTab) {\n e.stopPropagation();\n this._handleContainerCommit(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n }\n\n private displayOutputMessage(errorMessage: AsyncErrorMessage | undefined) {\n // istanbul ignore else\n if (errorMessage && this._editorRef) {\n const htmlElement = this._editorRef && this._editorRef.htmlElement;\n // istanbul ignore else\n if (htmlElement)\n UiAdmin.messagePresenter.displayInputFieldMessage(htmlElement, errorMessage.severity, errorMessage.briefMessage, errorMessage.detailedMessage);\n else\n UiAdmin.messagePresenter.displayMessage(errorMessage.severity, errorMessage.briefMessage, errorMessage.detailedMessage, errorMessage.messageType);\n }\n }\n\n private async isNewValueValid(value: PropertyValue): Promise<boolean> {\n let isValid = true;\n\n // istanbul ignore else\n if (this._propertyEditor && this.props.propertyRecord) {\n const validateResult = await this._propertyEditor.validateValue(value, this.props.propertyRecord);\n\n if (validateResult.encounteredError) {\n this.displayOutputMessage(validateResult.errorMessage);\n isValid = false;\n }\n } else {\n isValid = false;\n }\n\n return isValid;\n }\n\n private _handleEditorCommit = (args: PropertyUpdatedArgs): void => {\n this._commit(args); // eslint-disable-line @typescript-eslint/no-floating-promises\n };\n\n private _handleContainerCommit = async (): Promise<void> => {\n const newValue = this._editorRef && await this._editorRef.getPropertyValue();\n // istanbul ignore else\n if (newValue !== undefined) {\n this._commit({ propertyRecord: this.props.propertyRecord, newValue }); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n };\n\n private _commit = async (args: PropertyUpdatedArgs) => {\n const newValue = args.newValue;\n const isValid = await this.isNewValueValid(newValue);\n if (isValid) {\n let doCommit = true;\n // istanbul ignore else\n if (this._propertyEditor && args.propertyRecord) {\n const commitResult = await this._propertyEditor.commitValue(newValue, args.propertyRecord);\n if (commitResult.encounteredError) {\n this.displayOutputMessage(commitResult.errorMessage);\n doCommit = false;\n }\n }\n\n if (doCommit) {\n this.props.onCommit(args);\n }\n }\n };\n\n private _handleEditorCancel = () => {\n this._commitCancel();\n };\n\n private _commitCancel = () => {\n this.props.onCancel();\n };\n\n /** @internal */\n public override render() {\n return (\n <span className=\"components-editor-container\"\n onBlur={this._handleContainerBlur}\n onKeyDown={this._handleKeyDown}\n onClick={this._handleClick}\n onContextMenu={this._handleRightClick}\n title={this.props.title}\n data-testid=\"editor-container\"\n role=\"presentation\"\n >\n {this.createEditor()}\n </span>\n );\n }\n}\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 { 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,7 +1,7 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- .components-editor-container {
6
- width: 100%;
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ .components-editor-container {
6
+ width: 100%;
7
7
  }
@@ -18,6 +18,7 @@ interface EnumButtonGroupEditorState {
18
18
  export declare class EnumButtonGroupEditor extends React.Component<PropertyEditorProps, EnumButtonGroupEditorState> implements TypeEditor {
19
19
  private _btnRefs;
20
20
  private _divElement;
21
+ private _placeholderIconSpec;
21
22
  /** @internal */
22
23
  readonly state: Readonly<EnumButtonGroupEditorState>;
23
24
  getPropertyValue(): Promise<PropertyValue | undefined>;
@@ -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;AAIpF,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;IAExD,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,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"}
@@ -8,9 +8,10 @@
8
8
  import "./EnumButtonGroupEditor.scss";
9
9
  import classnames from "classnames";
10
10
  import * as React from "react";
11
- import { PropertyEditorParamTypes, PropertyValueFormat, StandardEditorNames, StandardTypeNames, } from "@itwin/appui-abstract";
11
+ import { IconSpecUtilities, PropertyEditorParamTypes, PropertyValueFormat, StandardEditorNames, StandardTypeNames, } from "@itwin/appui-abstract";
12
12
  import { Icon } from "@itwin/core-react";
13
13
  import { PropertyEditorBase, PropertyEditorManager } from "./PropertyEditorManager";
14
+ import svgPlaceholder from "@bentley/icons-generic/icons/placeholder.svg";
14
15
  /** EnumButtonGroupEditor React component that is a property editor with select input
15
16
  * @public
16
17
  */
@@ -19,6 +20,7 @@ export class EnumButtonGroupEditor extends React.Component {
19
20
  super(...arguments);
20
21
  this._btnRefs = new Map();
21
22
  this._divElement = React.createRef();
23
+ this._placeholderIconSpec = IconSpecUtilities.createWebComponentIconSpec(svgPlaceholder);
22
24
  /** @internal */
23
25
  this.state = {
24
26
  selectValue: "",
@@ -102,7 +104,7 @@ export class EnumButtonGroupEditor extends React.Component {
102
104
  }
103
105
  const numChoices = choices.length;
104
106
  const enumIcons = new Array(numChoices);
105
- enumIcons.fill({ iconSpec: "icon icon-placeholder" });
107
+ enumIcons.fill({ iconSpec: this._placeholderIconSpec });
106
108
  // istanbul ignore else
107
109
  if (propertyRecord.property.editor && propertyRecord.property.editor.params) {
108
110
  // istanbul ignore else
@@ -1 +1 @@
1
- {"version":3,"file":"EnumButtonGroupEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/EnumButtonGroupEditor.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyEditors\n */\n\nimport \"./EnumButtonGroupEditor.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport {\n ButtonGroupEditorParams, EnumerationChoice, IconDefinition, PropertyEditorParams, PropertyEditorParamTypes, PropertyRecord,\n PropertyValue, PropertyValueFormat, StandardEditorNames, StandardTypeNames,\n} from \"@itwin/appui-abstract\";\nimport { Icon } from \"@itwin/core-react\";\nimport { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\nimport { PropertyEditorBase, PropertyEditorManager } from \"./PropertyEditorManager\";\n\n// cspell:ignore buttongroup enumbuttongroup\n\n/** @internal */\ninterface EnumButtonGroupEditorState {\n selectValue: string | number;\n enumIcons: IconDefinition[];\n choices: EnumerationChoice[];\n}\n\n/** EnumButtonGroupEditor React component that is a property editor with select input\n * @public\n */\nexport class EnumButtonGroupEditor extends React.Component<PropertyEditorProps, EnumButtonGroupEditorState> implements TypeEditor {\n private _btnRefs = new Map<string | number, HTMLButtonElement>();\n private _divElement = React.createRef<HTMLDivElement>();\n\n /** @internal */\n public override readonly state: Readonly<EnumButtonGroupEditorState> = {\n selectValue: \"\",\n enumIcons: [],\n choices: [],\n };\n\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\n const record = this.props.propertyRecord;\n let propertyValue: PropertyValue | undefined;\n\n // istanbul ignore else\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\n propertyValue = {\n valueFormat: PropertyValueFormat.Primitive,\n value: this.state.selectValue,\n displayValue: \"\",\n };\n }\n\n return propertyValue;\n }\n\n public get htmlElement(): HTMLElement | null {\n return this._divElement.current;\n }\n\n public get hasFocus(): boolean {\n let containsFocus = false;\n // istanbul ignore else\n if (this._divElement.current)\n containsFocus = this._divElement.current.contains(document.activeElement);\n return containsFocus;\n }\n\n /** @internal */\n public override componentDidMount() {\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n\n /** @internal */\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\n this.setStateFromProps(); // eslint-disable-line @typescript-eslint/no-floating-promises\n }\n }\n\n private async setStateFromProps() {\n const { propertyRecord } = this.props;\n\n // istanbul ignore else\n if (propertyRecord && propertyRecord.property.enum && propertyRecord.value.valueFormat === PropertyValueFormat.Primitive) {\n const primitiveValue = propertyRecord.value.value;\n let selectValue: string | number;\n\n if (typeof primitiveValue === \"string\") {\n selectValue = primitiveValue;\n } else {\n selectValue = primitiveValue as number;\n }\n\n let choices: EnumerationChoice[] = [];\n // istanbul ignore else\n if (propertyRecord && propertyRecord.property.enum) {\n if (propertyRecord.property.enum.choices instanceof Promise) {\n choices = await propertyRecord.property.enum.choices;\n } else {\n choices = propertyRecord.property.enum.choices;\n }\n }\n\n const numChoices = choices.length;\n const enumIcons = new Array<IconDefinition>(numChoices);\n enumIcons.fill({ iconSpec: \"icon icon-placeholder\" });\n\n // istanbul ignore else\n if (propertyRecord.property.editor && propertyRecord.property.editor.params) {\n // istanbul ignore else\n if (propertyRecord.property.editor && propertyRecord.property.editor.params) {\n const bgParams = propertyRecord.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.ButtonGroupData) as ButtonGroupEditorParams;\n // istanbul ignore else\n if (bgParams) {\n bgParams.buttons.forEach((iconDef: IconDefinition, index: number) => {\n // istanbul ignore else\n if (index < numChoices) {\n enumIcons[index] = iconDef;\n }\n });\n }\n }\n }\n\n this.setState({ selectValue, enumIcons, choices });\n }\n }\n\n private _handleButtonClick = (index: number) => {\n const propertyRecord = this.props.propertyRecord as PropertyRecord;\n\n // istanbul ignore else\n if (this.state.choices && this.state.choices.length > index) {\n const selectValue = this.state.choices[index].value;\n\n this.setState({\n selectValue,\n }, async () => {\n // istanbul ignore else\n if (propertyRecord && this.props.onCommit) {\n const propertyValue = await this.getPropertyValue();\n // istanbul ignore else\n if (propertyValue !== undefined) {\n this.props.onCommit({ propertyRecord, newValue: propertyValue });\n }\n }\n });\n }\n };\n\n private getButton(choice: EnumerationChoice, index: number) {\n const choiceValue = this.state.choices ? this.state.choices[index].value : /* istanbul ignore next */ 0;\n const isActive = (choiceValue === this.state.selectValue) ? true : false;\n let isDisabled = false;\n const isEnabledFunction = this.state.enumIcons[index].isEnabledFunction;\n // istanbul ignore else\n if (isEnabledFunction) {\n isDisabled = !isEnabledFunction();\n }\n\n const className = classnames(\n \"components-enumbuttongroup-button\",\n isDisabled && \"nz-is-disabled\",\n isActive && \"nz-is-active\",\n );\n\n return (\n <button\n ref={(ref: HTMLButtonElement|null) => ref && this._btnRefs.set(choiceValue, ref)}\n data-testid={choice.label}\n className={className}\n title={choice.label}\n key={choice.label}\n onClick={() => this._handleButtonClick(index)}\n >\n <Icon iconSpec={this.state.enumIcons[index].iconSpec} />\n </button >\n );\n }\n\n /** @internal */\n public override render() {\n return (\n <div className={classnames(\"components-enumbuttongroup-editor\", this.props.className)} style={this.props.style} ref={this._divElement}>\n {this.state.choices && this.state.enumIcons.length && this.state.choices.map((choice: EnumerationChoice, index: number) => this.getButton(choice, index))}\n </div>);\n }\n}\n\n/** Enum Property Button Group Editor registered for the \"enum\" type name and the \"enum-buttongroup\" editor name.\n * It uses the [[EnumButtonGroupEditor]] React component.\n * @public\n */\nexport class EnumPropertyButtonGroupEditor extends PropertyEditorBase { // istanbul ignore next\n public get reactNode(): React.ReactNode {\n return <EnumButtonGroupEditor />;\n }\n}\n\nPropertyEditorManager.registerEditor(StandardTypeNames.Enum, EnumPropertyButtonGroupEditor, StandardEditorNames.EnumButtonGroup);\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 {\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"]}