@itwin/components-react 4.5.0 → 4.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/lib/cjs/components-react/common/DelayedSpinner.js +3 -2
  3. package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
  4. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js +2 -1
  5. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  6. package/lib/cjs/components-react/converters/NumericTypeConverter.js +4 -2
  7. package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
  8. package/lib/cjs/components-react/converters/TypeConverter.js +2 -1
  9. package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
  10. package/lib/cjs/components-react/datepicker/DateField.js +1 -1
  11. package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
  12. package/lib/cjs/components-react/editors/CustomNumberEditor.js +8 -6
  13. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  14. package/lib/cjs/components-react/editors/DateTimeEditor.js +3 -2
  15. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  16. package/lib/cjs/components-react/editors/PopupButton.js +4 -3
  17. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  18. package/lib/cjs/components-react/editors/TextEditor.js +4 -2
  19. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  20. package/lib/cjs/components-react/favorite/FavoritePropertyList.js +3 -3
  21. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  22. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js +2 -1
  23. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  24. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js +3 -3
  25. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  26. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js +1 -1
  27. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  28. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js +2 -2
  29. package/lib/cjs/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  30. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js +4 -3
  31. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  32. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +1 -1
  33. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  34. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js +3 -2
  35. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  36. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js +4 -4
  37. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  38. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +2 -1
  39. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  40. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +6 -3
  41. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  42. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +2 -1
  43. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  44. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +6 -3
  45. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  46. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js +2 -1
  47. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  48. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +2 -1
  49. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  50. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js +2 -1
  51. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  52. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js +2 -2
  53. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  54. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js +54 -48
  55. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  56. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js +13 -11
  57. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  58. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +2 -2
  59. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  60. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +2 -1
  61. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  62. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +2 -1
  63. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  64. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +2 -2
  65. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  66. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +3 -2
  67. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  68. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +1 -1
  69. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  70. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +1 -1
  71. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  72. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +7 -5
  73. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  74. package/lib/cjs/components-react/selectable-content/SelectableContent.js +3 -2
  75. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  76. package/lib/cjs/components-react/toolbar/InternalToolbarComponent.js +6 -4
  77. package/lib/cjs/components-react/toolbar/InternalToolbarComponent.js.map +1 -1
  78. package/lib/cjs/components-react/toolbar/useConditionalSynchedItems.js +6 -5
  79. package/lib/cjs/components-react/toolbar/useConditionalSynchedItems.js.map +1 -1
  80. package/lib/cjs/components-react/tree/controlled/TreeHooks.d.ts.map +1 -1
  81. package/lib/cjs/components-react/tree/controlled/TreeHooks.js +7 -4
  82. package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
  83. package/lib/cjs/components-react/tree/controlled/TreeModel.js +8 -7
  84. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  85. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js +8 -6
  86. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  87. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js +2 -1
  88. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  89. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js +4 -2
  90. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  91. package/lib/esm/components-react/common/DelayedSpinner.js +3 -2
  92. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  93. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js +2 -1
  94. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  95. package/lib/esm/components-react/converters/NumericTypeConverter.js +4 -2
  96. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  97. package/lib/esm/components-react/converters/TypeConverter.js +2 -1
  98. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  99. package/lib/esm/components-react/datepicker/DateField.js +1 -1
  100. package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
  101. package/lib/esm/components-react/editors/CustomNumberEditor.js +8 -6
  102. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  103. package/lib/esm/components-react/editors/DateTimeEditor.js +3 -2
  104. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  105. package/lib/esm/components-react/editors/PopupButton.js +4 -3
  106. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  107. package/lib/esm/components-react/editors/TextEditor.js +4 -2
  108. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  109. package/lib/esm/components-react/favorite/FavoritePropertyList.js +3 -3
  110. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  111. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js +2 -1
  112. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.js.map +1 -1
  113. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js +3 -3
  114. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
  115. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js +1 -1
  116. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  117. package/lib/esm/components-react/filter-builder/FilterBuilderState.js +2 -2
  118. package/lib/esm/components-react/filter-builder/FilterBuilderState.js.map +1 -1
  119. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js +4 -3
  120. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  121. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js +1 -1
  122. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  123. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js +3 -2
  124. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  125. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js +4 -4
  126. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  127. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js +2 -1
  128. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  129. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js +6 -3
  130. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  131. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js +2 -1
  132. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  133. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js +6 -3
  134. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  135. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js +2 -1
  136. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  137. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js +2 -1
  138. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  139. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js +2 -1
  140. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  141. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js +2 -2
  142. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  143. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js +54 -48
  144. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  145. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js +13 -11
  146. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  147. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js +2 -2
  148. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  149. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js +2 -1
  150. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  151. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js +2 -1
  152. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  153. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +2 -2
  154. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  155. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js +3 -2
  156. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  157. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +1 -1
  158. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  159. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js +1 -1
  160. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  161. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +7 -5
  162. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  163. package/lib/esm/components-react/selectable-content/SelectableContent.js +3 -2
  164. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  165. package/lib/esm/components-react/toolbar/InternalToolbarComponent.js +6 -4
  166. package/lib/esm/components-react/toolbar/InternalToolbarComponent.js.map +1 -1
  167. package/lib/esm/components-react/toolbar/useConditionalSynchedItems.js +6 -5
  168. package/lib/esm/components-react/toolbar/useConditionalSynchedItems.js.map +1 -1
  169. package/lib/esm/components-react/tree/controlled/TreeHooks.d.ts.map +1 -1
  170. package/lib/esm/components-react/tree/controlled/TreeHooks.js +8 -5
  171. package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
  172. package/lib/esm/components-react/tree/controlled/TreeModel.js +8 -7
  173. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  174. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js +8 -6
  175. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  176. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js +2 -1
  177. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  178. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js +4 -2
  179. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  180. package/package.json +4 -4
  181. package/lib/cjs/components-react/common/UseRerender.d.ts +0 -22
  182. package/lib/cjs/components-react/common/UseRerender.d.ts.map +0 -1
  183. package/lib/cjs/components-react/common/UseRerender.js +0 -36
  184. package/lib/cjs/components-react/common/UseRerender.js.map +0 -1
  185. package/lib/esm/components-react/common/UseRerender.d.ts +0 -22
  186. package/lib/esm/components-react/common/UseRerender.d.ts.map +0 -1
  187. package/lib/esm/components-react/common/UseRerender.js +0 -32
  188. package/lib/esm/components-react/common/UseRerender.js.map +0 -1
@@ -1,36 +0,0 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.useRerender = void 0;
8
- const react_1 = require("react");
9
- /** @internal */
10
- function useRerender(initialContext) {
11
- const data = (0, react_1.useRef)({
12
- numRerenders: 0,
13
- rerenderRequested: false,
14
- context: initialContext,
15
- }).current;
16
- if (data.rerenderRequested) {
17
- data.numRerenders += 1;
18
- data.rerenderRequested = false;
19
- }
20
- else {
21
- data.context = initialContext;
22
- data.numRerenders = 0;
23
- }
24
- const [_, setState] = (0, react_1.useState)({});
25
- return {
26
- rerenderContext: data.context,
27
- numRerenders: data.numRerenders,
28
- rerender: (newContext) => {
29
- data.rerenderRequested = true;
30
- data.context = newContext;
31
- setState({});
32
- },
33
- };
34
- }
35
- exports.useRerender = useRerender;
36
- //# sourceMappingURL=UseRerender.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UseRerender.js","sourceRoot":"","sources":["../../../../src/components-react/common/UseRerender.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAEhG,iCAAyC;AAyBzC,gBAAgB;AAChB,SAAgB,WAAW,CACzB,cAAkB;IAElB,MAAM,IAAI,GAAG,IAAA,cAAM,EAAC;QAClB,YAAY,EAAE,CAAC;QACf,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC,OAAO,CAAC;IACX,IAAI,IAAI,CAAC,iBAAiB,EAAE;QAC1B,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;KAChC;SAAM;QACL,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;KACvB;IAED,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IACnC,OAAO;QACL,eAAe,EAAE,IAAI,CAAC,OAAO;QAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,QAAQ,EAAE,CAAC,UAAU,EAAE,EAAE;YACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;YAC1B,QAAQ,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC;AA1BD,kCA0BC","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\nimport { useRef, useState } from \"react\";\n\n/** @internal */\ninterface RerenderData<T extends (arg: any) => void> {\n /** Data specific to the current rerender cycle. */\n rerenderContext: Parameters<T>[0];\n /** Identifies the current rerender cycle. Starts at 0. */\n numRerenders: number;\n /** Rerenders component with new `rerenderContext`, if one is provided. */\n rerender: T;\n}\n\n/**\n * @internal\n * Makes component able to rerender itself.\n */\nexport function useRerender(): RerenderData<() => void>;\n/**\n * @internal\n * Makes component able to rerender itself while preserving some data between rerenders.\n * @param initialContext Data that component receives on first render cycle.\n */\nexport function useRerender<T>(\n initialContext: T\n): RerenderData<(newContext: T) => void>;\n/** @internal */\nexport function useRerender<T>(\n initialContext?: T\n): RerenderData<(newContext?: T) => void> {\n const data = useRef({\n numRerenders: 0,\n rerenderRequested: false,\n context: initialContext,\n }).current;\n if (data.rerenderRequested) {\n data.numRerenders += 1;\n data.rerenderRequested = false;\n } else {\n data.context = initialContext;\n data.numRerenders = 0;\n }\n\n const [_, setState] = useState({});\n return {\n rerenderContext: data.context,\n numRerenders: data.numRerenders,\n rerender: (newContext) => {\n data.rerenderRequested = true;\n data.context = newContext;\n setState({});\n },\n };\n}\n"]}
@@ -1,22 +0,0 @@
1
- /** @internal */
2
- interface RerenderData<T extends (arg: any) => void> {
3
- /** Data specific to the current rerender cycle. */
4
- rerenderContext: Parameters<T>[0];
5
- /** Identifies the current rerender cycle. Starts at 0. */
6
- numRerenders: number;
7
- /** Rerenders component with new `rerenderContext`, if one is provided. */
8
- rerender: T;
9
- }
10
- /**
11
- * @internal
12
- * Makes component able to rerender itself.
13
- */
14
- export declare function useRerender(): RerenderData<() => void>;
15
- /**
16
- * @internal
17
- * Makes component able to rerender itself while preserving some data between rerenders.
18
- * @param initialContext Data that component receives on first render cycle.
19
- */
20
- export declare function useRerender<T>(initialContext: T): RerenderData<(newContext: T) => void>;
21
- export {};
22
- //# sourceMappingURL=UseRerender.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UseRerender.d.ts","sourceRoot":"","sources":["../../../../src/components-react/common/UseRerender.ts"],"names":[],"mappings":"AAOA,gBAAgB;AAChB,UAAU,YAAY,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI;IACjD,mDAAmD;IACnD,eAAe,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,0DAA0D;IAC1D,YAAY,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,QAAQ,EAAE,CAAC,CAAC;CACb;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC;AACxD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,cAAc,EAAE,CAAC,GAChB,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC"}
@@ -1,32 +0,0 @@
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
- import { useRef, useState } from "react";
6
- /** @internal */
7
- export function useRerender(initialContext) {
8
- const data = useRef({
9
- numRerenders: 0,
10
- rerenderRequested: false,
11
- context: initialContext,
12
- }).current;
13
- if (data.rerenderRequested) {
14
- data.numRerenders += 1;
15
- data.rerenderRequested = false;
16
- }
17
- else {
18
- data.context = initialContext;
19
- data.numRerenders = 0;
20
- }
21
- const [_, setState] = useState({});
22
- return {
23
- rerenderContext: data.context,
24
- numRerenders: data.numRerenders,
25
- rerender: (newContext) => {
26
- data.rerenderRequested = true;
27
- data.context = newContext;
28
- setState({});
29
- },
30
- };
31
- }
32
- //# sourceMappingURL=UseRerender.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UseRerender.js","sourceRoot":"","sources":["../../../../src/components-react/common/UseRerender.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAyBzC,gBAAgB;AAChB,MAAM,UAAU,WAAW,CACzB,cAAkB;IAElB,MAAM,IAAI,GAAG,MAAM,CAAC;QAClB,YAAY,EAAE,CAAC;QACf,iBAAiB,EAAE,KAAK;QACxB,OAAO,EAAE,cAAc;KACxB,CAAC,CAAC,OAAO,CAAC;IACX,IAAI,IAAI,CAAC,iBAAiB,EAAE;QAC1B,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;KAChC;SAAM;QACL,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;KACvB;IAED,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO;QACL,eAAe,EAAE,IAAI,CAAC,OAAO;QAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,QAAQ,EAAE,CAAC,UAAU,EAAE,EAAE;YACvB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;YAC1B,QAAQ,CAAC,EAAE,CAAC,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC","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\nimport { useRef, useState } from \"react\";\n\n/** @internal */\ninterface RerenderData<T extends (arg: any) => void> {\n /** Data specific to the current rerender cycle. */\n rerenderContext: Parameters<T>[0];\n /** Identifies the current rerender cycle. Starts at 0. */\n numRerenders: number;\n /** Rerenders component with new `rerenderContext`, if one is provided. */\n rerender: T;\n}\n\n/**\n * @internal\n * Makes component able to rerender itself.\n */\nexport function useRerender(): RerenderData<() => void>;\n/**\n * @internal\n * Makes component able to rerender itself while preserving some data between rerenders.\n * @param initialContext Data that component receives on first render cycle.\n */\nexport function useRerender<T>(\n initialContext: T\n): RerenderData<(newContext: T) => void>;\n/** @internal */\nexport function useRerender<T>(\n initialContext?: T\n): RerenderData<(newContext?: T) => void> {\n const data = useRef({\n numRerenders: 0,\n rerenderRequested: false,\n context: initialContext,\n }).current;\n if (data.rerenderRequested) {\n data.numRerenders += 1;\n data.rerenderRequested = false;\n } else {\n data.context = initialContext;\n data.numRerenders = 0;\n }\n\n const [_, setState] = useState({});\n return {\n rerenderContext: data.context,\n numRerenders: data.numRerenders,\n rerender: (newContext) => {\n data.rerenderRequested = true;\n data.context = newContext;\n setState({});\n },\n };\n}\n"]}