@itwin/components-react 3.7.15 → 3.7.17

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 (264) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/lib/cjs/components-react/breadcrumb/Breadcrumb.d.ts +1 -1
  3. package/lib/cjs/components-react/breadcrumb/Breadcrumb.d.ts.map +1 -1
  4. package/lib/cjs/components-react/breadcrumb/Breadcrumb.js.map +1 -1
  5. package/lib/cjs/components-react/common/DelayedSpinner.d.ts +2 -2
  6. package/lib/cjs/components-react/common/DelayedSpinner.d.ts.map +1 -1
  7. package/lib/cjs/components-react/common/HighlightedText.d.ts +2 -2
  8. package/lib/cjs/components-react/common/HighlightedText.d.ts.map +1 -1
  9. package/lib/cjs/components-react/datepicker/DateField.d.ts +2 -2
  10. package/lib/cjs/components-react/datepicker/DateField.d.ts.map +1 -1
  11. package/lib/cjs/components-react/datepicker/DatePicker.d.ts +2 -2
  12. package/lib/cjs/components-react/datepicker/DatePicker.d.ts.map +1 -1
  13. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts +1 -1
  14. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  15. package/lib/cjs/components-react/datepicker/TimeField.d.ts +2 -2
  16. package/lib/cjs/components-react/datepicker/TimeField.d.ts.map +1 -1
  17. package/lib/cjs/components-react/editors/BooleanEditor.d.ts +1 -1
  18. package/lib/cjs/components-react/editors/EditorContainer.d.ts +1 -1
  19. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.d.ts +1 -1
  20. package/lib/cjs/components-react/editors/EnumEditor.d.ts +1 -1
  21. package/lib/cjs/components-react/editors/IconEditor.d.ts +1 -1
  22. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.d.ts +1 -1
  23. package/lib/cjs/components-react/editors/PopupButton.d.ts +2 -2
  24. package/lib/cjs/components-react/editors/PopupButton.d.ts.map +1 -1
  25. package/lib/cjs/components-react/editors/ThemedEnumEditor.d.ts +1 -1
  26. package/lib/cjs/components-react/editors/ToggleEditor.d.ts +1 -1
  27. package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts +2 -2
  28. package/lib/cjs/components-react/favorite/FavoritePropertyList.d.ts.map +1 -1
  29. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts +1 -1
  30. package/lib/cjs/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  31. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts +2 -2
  32. package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  33. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +3 -3
  34. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  35. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +2 -2
  36. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  37. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +1 -1
  38. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  39. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts +2 -2
  40. package/lib/cjs/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  41. package/lib/cjs/components-react/filtering/FilteringInput.d.ts +1 -1
  42. package/lib/cjs/components-react/filtering/ResultSelector.d.ts +1 -1
  43. package/lib/cjs/components-react/iconpicker/IconPickerButton.d.ts +1 -1
  44. package/lib/cjs/components-react/inputs/ParsedInput.d.ts +1 -1
  45. package/lib/cjs/components-react/inputs/ParsedInput.d.ts.map +1 -1
  46. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  47. package/lib/cjs/components-react/properties/LinkHandler.d.ts +1 -1
  48. package/lib/cjs/components-react/properties/LinkHandler.d.ts.map +1 -1
  49. package/lib/cjs/components-react/properties/renderers/ActionButtonList.d.ts +1 -1
  50. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +1 -1
  51. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +1 -1
  52. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.d.ts +1 -1
  53. package/lib/cjs/components-react/properties/renderers/PropertyView.d.ts +1 -1
  54. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +1 -1
  55. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +1 -1
  56. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +2 -2
  57. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts.map +1 -1
  58. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  59. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +2 -2
  60. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts.map +1 -1
  61. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +2 -2
  62. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts.map +1 -1
  63. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +2 -2
  64. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  65. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +2 -2
  66. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts.map +1 -1
  67. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +1 -1
  68. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +1 -1
  69. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +1 -1
  70. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts +1 -1
  71. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts.map +1 -1
  72. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +1 -1
  73. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.d.ts +1 -1
  74. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +1 -1
  75. package/lib/cjs/components-react/propertygrid/component/PropertyList.d.ts +1 -1
  76. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +1 -1
  77. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +5 -2
  78. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  79. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +1 -1
  80. package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts +2 -2
  81. package/lib/cjs/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  82. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.d.ts +1 -1
  83. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.d.ts +2 -2
  84. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.d.ts.map +1 -1
  85. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.d.ts +1 -1
  86. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.d.ts +2 -2
  87. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.d.ts.map +1 -1
  88. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.d.ts +2 -2
  89. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.d.ts.map +1 -1
  90. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js.map +1 -1
  91. package/lib/cjs/components-react/table/component/Table.d.ts +2 -2
  92. package/lib/cjs/components-react/table/component/TableCell.d.ts +2 -2
  93. package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.d.ts +1 -1
  94. package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.d.ts.map +1 -1
  95. package/lib/cjs/components-react/toolbar/ItemWrapper.d.ts +1 -1
  96. package/lib/cjs/components-react/toolbar/ItemWrapper.d.ts.map +1 -1
  97. package/lib/cjs/components-react/toolbar/Items.d.ts +1 -1
  98. package/lib/cjs/components-react/toolbar/Items.d.ts.map +1 -1
  99. package/lib/cjs/components-react/toolbar/Overflow.d.ts +1 -1
  100. package/lib/cjs/components-react/toolbar/Overflow.d.ts.map +1 -1
  101. package/lib/cjs/components-react/toolbar/OverflowPanel.d.ts +1 -1
  102. package/lib/cjs/components-react/toolbar/OverflowPanel.d.ts.map +1 -1
  103. package/lib/cjs/components-react/toolbar/PopupItem.d.ts +2 -2
  104. package/lib/cjs/components-react/toolbar/PopupItem.d.ts.map +1 -1
  105. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts +2 -2
  106. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.d.ts.map +1 -1
  107. package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts +2 -2
  108. package/lib/cjs/components-react/toolbar/PopupItemsPanel.d.ts.map +1 -1
  109. package/lib/cjs/components-react/toolbar/Toolbar.d.ts +1 -1
  110. package/lib/cjs/components-react/toolbar/Toolbar.d.ts.map +1 -1
  111. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts +5 -5
  112. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  113. package/lib/cjs/components-react/toolbar/groupPanel/Column.d.ts +1 -1
  114. package/lib/cjs/components-react/toolbar/groupPanel/Column.d.ts.map +1 -1
  115. package/lib/cjs/components-react/toolbar/groupPanel/Columns.d.ts +1 -1
  116. package/lib/cjs/components-react/toolbar/groupPanel/Columns.d.ts.map +1 -1
  117. package/lib/cjs/components-react/toolbar/groupPanel/Panel.d.ts +1 -1
  118. package/lib/cjs/components-react/toolbar/groupPanel/Panel.d.ts.map +1 -1
  119. package/lib/cjs/components-react/toolbar/groupPanel/Title.d.ts +1 -1
  120. package/lib/cjs/components-react/toolbar/groupPanel/Title.d.ts.map +1 -1
  121. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.d.ts +1 -1
  122. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.d.ts.map +1 -1
  123. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts +1 -1
  124. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  125. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  126. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts +2 -2
  127. package/lib/cjs/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  128. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts +1 -1
  129. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  130. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +1 -1
  131. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  132. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.d.ts +1 -1
  133. package/lib/esm/components-react/breadcrumb/Breadcrumb.d.ts +1 -1
  134. package/lib/esm/components-react/breadcrumb/Breadcrumb.d.ts.map +1 -1
  135. package/lib/esm/components-react/breadcrumb/Breadcrumb.js.map +1 -1
  136. package/lib/esm/components-react/common/DelayedSpinner.d.ts +2 -2
  137. package/lib/esm/components-react/common/DelayedSpinner.d.ts.map +1 -1
  138. package/lib/esm/components-react/common/HighlightedText.d.ts +2 -2
  139. package/lib/esm/components-react/common/HighlightedText.d.ts.map +1 -1
  140. package/lib/esm/components-react/datepicker/DateField.d.ts +2 -2
  141. package/lib/esm/components-react/datepicker/DateField.d.ts.map +1 -1
  142. package/lib/esm/components-react/datepicker/DatePicker.d.ts +2 -2
  143. package/lib/esm/components-react/datepicker/DatePicker.d.ts.map +1 -1
  144. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts +1 -1
  145. package/lib/esm/components-react/datepicker/DatePickerPopupButton.d.ts.map +1 -1
  146. package/lib/esm/components-react/datepicker/TimeField.d.ts +2 -2
  147. package/lib/esm/components-react/datepicker/TimeField.d.ts.map +1 -1
  148. package/lib/esm/components-react/editors/BooleanEditor.d.ts +1 -1
  149. package/lib/esm/components-react/editors/EditorContainer.d.ts +1 -1
  150. package/lib/esm/components-react/editors/EnumButtonGroupEditor.d.ts +1 -1
  151. package/lib/esm/components-react/editors/EnumEditor.d.ts +1 -1
  152. package/lib/esm/components-react/editors/IconEditor.d.ts +1 -1
  153. package/lib/esm/components-react/editors/ImageCheckBoxEditor.d.ts +1 -1
  154. package/lib/esm/components-react/editors/PopupButton.d.ts +2 -2
  155. package/lib/esm/components-react/editors/PopupButton.d.ts.map +1 -1
  156. package/lib/esm/components-react/editors/ThemedEnumEditor.d.ts +1 -1
  157. package/lib/esm/components-react/editors/ToggleEditor.d.ts +1 -1
  158. package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts +2 -2
  159. package/lib/esm/components-react/favorite/FavoritePropertyList.d.ts.map +1 -1
  160. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts +1 -1
  161. package/lib/esm/components-react/filter-builder/FilterBuilder.d.ts.map +1 -1
  162. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts +2 -2
  163. package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  164. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts +3 -3
  165. package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
  166. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts +2 -2
  167. package/lib/esm/components-react/filter-builder/FilterBuilderRuleOperator.d.ts.map +1 -1
  168. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts +1 -1
  169. package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
  170. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts +2 -2
  171. package/lib/esm/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  172. package/lib/esm/components-react/filtering/FilteringInput.d.ts +1 -1
  173. package/lib/esm/components-react/filtering/ResultSelector.d.ts +1 -1
  174. package/lib/esm/components-react/iconpicker/IconPickerButton.d.ts +1 -1
  175. package/lib/esm/components-react/inputs/ParsedInput.d.ts +1 -1
  176. package/lib/esm/components-react/inputs/ParsedInput.d.ts.map +1 -1
  177. package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
  178. package/lib/esm/components-react/properties/LinkHandler.d.ts +1 -1
  179. package/lib/esm/components-react/properties/LinkHandler.d.ts.map +1 -1
  180. package/lib/esm/components-react/properties/renderers/ActionButtonList.d.ts +1 -1
  181. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.d.ts +1 -1
  182. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.d.ts +1 -1
  183. package/lib/esm/components-react/properties/renderers/PropertyRenderer.d.ts +1 -1
  184. package/lib/esm/components-react/properties/renderers/PropertyView.d.ts +1 -1
  185. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.d.ts +1 -1
  186. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.d.ts +1 -1
  187. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts +2 -2
  188. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.d.ts.map +1 -1
  189. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  190. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts +2 -2
  191. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.d.ts.map +1 -1
  192. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts +2 -2
  193. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.d.ts.map +1 -1
  194. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts +2 -2
  195. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.d.ts.map +1 -1
  196. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts +2 -2
  197. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.d.ts.map +1 -1
  198. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.d.ts +1 -1
  199. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.d.ts +1 -1
  200. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.d.ts +1 -1
  201. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts +1 -1
  202. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.d.ts.map +1 -1
  203. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts +1 -1
  204. package/lib/esm/components-react/propertygrid/component/PropertyGrid.d.ts +1 -1
  205. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.d.ts +1 -1
  206. package/lib/esm/components-react/propertygrid/component/PropertyList.d.ts +1 -1
  207. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +1 -1
  208. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +5 -2
  209. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  210. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.d.ts +1 -1
  211. package/lib/esm/components-react/selectable-content/SelectableContent.d.ts +2 -2
  212. package/lib/esm/components-react/selectable-content/SelectableContent.d.ts.map +1 -1
  213. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.d.ts +1 -1
  214. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.d.ts +2 -2
  215. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.d.ts.map +1 -1
  216. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.d.ts +1 -1
  217. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.d.ts +2 -2
  218. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.d.ts.map +1 -1
  219. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.d.ts +2 -2
  220. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.d.ts.map +1 -1
  221. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js.map +1 -1
  222. package/lib/esm/components-react/table/component/Table.d.ts +2 -2
  223. package/lib/esm/components-react/table/component/TableCell.d.ts +2 -2
  224. package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.d.ts +1 -1
  225. package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.d.ts.map +1 -1
  226. package/lib/esm/components-react/toolbar/ItemWrapper.d.ts +1 -1
  227. package/lib/esm/components-react/toolbar/ItemWrapper.d.ts.map +1 -1
  228. package/lib/esm/components-react/toolbar/Items.d.ts +1 -1
  229. package/lib/esm/components-react/toolbar/Items.d.ts.map +1 -1
  230. package/lib/esm/components-react/toolbar/Overflow.d.ts +1 -1
  231. package/lib/esm/components-react/toolbar/Overflow.d.ts.map +1 -1
  232. package/lib/esm/components-react/toolbar/OverflowPanel.d.ts +1 -1
  233. package/lib/esm/components-react/toolbar/OverflowPanel.d.ts.map +1 -1
  234. package/lib/esm/components-react/toolbar/PopupItem.d.ts +2 -2
  235. package/lib/esm/components-react/toolbar/PopupItem.d.ts.map +1 -1
  236. package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts +2 -2
  237. package/lib/esm/components-react/toolbar/PopupItemWithDrag.d.ts.map +1 -1
  238. package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts +2 -2
  239. package/lib/esm/components-react/toolbar/PopupItemsPanel.d.ts.map +1 -1
  240. package/lib/esm/components-react/toolbar/Toolbar.d.ts +1 -1
  241. package/lib/esm/components-react/toolbar/Toolbar.d.ts.map +1 -1
  242. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts +5 -5
  243. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.d.ts.map +1 -1
  244. package/lib/esm/components-react/toolbar/groupPanel/Column.d.ts +1 -1
  245. package/lib/esm/components-react/toolbar/groupPanel/Column.d.ts.map +1 -1
  246. package/lib/esm/components-react/toolbar/groupPanel/Columns.d.ts +1 -1
  247. package/lib/esm/components-react/toolbar/groupPanel/Columns.d.ts.map +1 -1
  248. package/lib/esm/components-react/toolbar/groupPanel/Panel.d.ts +1 -1
  249. package/lib/esm/components-react/toolbar/groupPanel/Panel.d.ts.map +1 -1
  250. package/lib/esm/components-react/toolbar/groupPanel/Title.d.ts +1 -1
  251. package/lib/esm/components-react/toolbar/groupPanel/Title.d.ts.map +1 -1
  252. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.d.ts +1 -1
  253. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.d.ts.map +1 -1
  254. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts +1 -1
  255. package/lib/esm/components-react/tree/controlled/component/ControlledTree.d.ts.map +1 -1
  256. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  257. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts +2 -2
  258. package/lib/esm/components-react/tree/controlled/component/NodeContent.d.ts.map +1 -1
  259. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts +1 -1
  260. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.d.ts.map +1 -1
  261. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts +1 -1
  262. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.d.ts.map +1 -1
  263. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.d.ts +1 -1
  264. package/package.json +12 -12
@@ -1 +1 @@
1
- {"version":3,"file":"ControlledTree.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/ControlledTree.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 Tree\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CommonProps, FillCentered } from \"@itwin/core-react\";\r\nimport { DelayedSpinner } from \"../../../common/DelayedSpinner\";\r\nimport { SelectionMode } from \"../../../common/selection/SelectionModes\";\r\nimport { UiComponents } from \"../../../UiComponents\";\r\nimport { HighlightableTreeProps } from \"../../HighlightingEngine\";\r\nimport { TreeImageLoader } from \"../../ImageLoader\";\r\nimport { toRxjsObservable } from \"../Observable\";\r\nimport { TreeEventDispatcher } from \"../TreeEventDispatcher\";\r\nimport { TreeEvents } from \"../TreeEvents\";\r\nimport { computeVisibleNodes, isTreeModelNode, TreeModel, TreeModelNode, TreeModelNodePlaceholder, VisibleTreeNodes } from \"../TreeModel\";\r\nimport { ITreeNodeLoader } from \"../TreeNodeLoader\";\r\nimport { TreeNodeRenderer, TreeNodeRendererProps } from \"./TreeNodeRenderer\";\r\nimport { RenderedItemsRange, TreeRenderer, TreeRendererProps } from \"./TreeRenderer\";\r\n\r\n/**\r\n * Properties for [[ControlledTree]]\r\n * @public\r\n */\r\nexport interface ControlledTreeProps extends CommonProps {\r\n /** Model of the tree to display. */\r\n model: TreeModel;\r\n /** Node loader used to load root nodes and placeholder nodes. */\r\n nodeLoader: ITreeNodeLoader;\r\n /** Tree events handler. */\r\n eventsHandler: TreeEvents;\r\n /** Mode of nodes' selection in tree. */\r\n selectionMode: SelectionMode;\r\n /**\r\n * Specifies whether to show node description or not. It is used in default node renderer and to determine node height.\r\n * If custom node renderer and node height callbacks are used it does nothing.\r\n */\r\n descriptionsEnabled?: boolean;\r\n /**\r\n * Specifies whether to show node icon or not. It is used in default node renderer.\r\n * If custom node renderer is used it does nothing.\r\n */\r\n iconsEnabled?: boolean;\r\n /**\r\n * Used to highlight matches when filtering tree.\r\n * It is passed to treeRenderer.\r\n */\r\n nodeHighlightingProps?: HighlightableTreeProps;\r\n /** Custom renderer to be used to render a tree. */\r\n treeRenderer?: (props: TreeRendererProps) => React.ReactElement;\r\n /** Custom renderer to be used while root nodes is loading. */\r\n spinnerRenderer?: () => React.ReactElement;\r\n /** Custom renderer to be used when there is no data to show in tree. */\r\n noDataRenderer?: () => React.ReactElement;\r\n /** Callback that is invoked when rendered items range changes. */\r\n onItemsRendered?: (items: RenderedItemsRange) => void;\r\n /** Width of the tree renderer. */\r\n width: number;\r\n /** Height of the tree renderer. */\r\n height: number;\r\n}\r\n\r\n/**\r\n * React tree component which rendering is fully controlled from outside.\r\n * @public\r\n */\r\nexport function ControlledTree(props: ControlledTreeProps) {\r\n const nodeHeight = useNodeHeight(!!props.descriptionsEnabled);\r\n const imageLoader = React.useMemo(() => new TreeImageLoader(), []);\r\n const nodeRenderer = React.useCallback((nodeProps: TreeNodeRendererProps) => (\r\n <TreeNodeRenderer\r\n {...nodeProps}\r\n descriptionEnabled={props.descriptionsEnabled}\r\n imageLoader={props.iconsEnabled ? imageLoader : undefined}\r\n />\r\n ), [props.descriptionsEnabled, props.iconsEnabled, imageLoader]);\r\n\r\n const visibleNodes = React.useMemo(() => computeVisibleNodes(props.model), [props.model]);\r\n const eventDispatcher = useEventDispatcher(props.nodeLoader, props.eventsHandler, props.selectionMode, visibleNodes);\r\n\r\n const treeProps: TreeRendererProps = {\r\n nodeRenderer,\r\n nodeHeight,\r\n visibleNodes,\r\n treeActions: eventDispatcher,\r\n nodeLoader: props.nodeLoader,\r\n nodeHighlightingProps: props.nodeHighlightingProps,\r\n onItemsRendered: props.onItemsRendered,\r\n width: props.width,\r\n height: props.height,\r\n };\r\n\r\n const loading = useRootNodeLoader(visibleNodes, props.nodeLoader);\r\n const noData = visibleNodes.getNumRootNodes() === 0;\r\n return (\r\n <Loader loading={loading} noData={noData} spinnerRenderer={props.spinnerRenderer} noDataRenderer={props.noDataRenderer}>\r\n {props.treeRenderer ? props.treeRenderer(treeProps) : <TreeRenderer {...treeProps} />}\r\n </Loader>\r\n );\r\n}\r\n\r\nfunction useRootNodeLoader(visibleNodes: VisibleTreeNodes, nodeLoader: ITreeNodeLoader): boolean {\r\n React.useEffect(() => {\r\n if (visibleNodes.getNumRootNodes() === undefined) {\r\n const subscription = toRxjsObservable(nodeLoader.loadNode(visibleNodes.getModel().getRootNode(), 0)).subscribe();\r\n return () => subscription.unsubscribe();\r\n }\r\n\r\n return () => { };\r\n }, [visibleNodes, nodeLoader]);\r\n\r\n return visibleNodes.getNumRootNodes() === undefined;\r\n}\r\n\r\nfunction useEventDispatcher(nodeLoader: ITreeNodeLoader, treeEvents: TreeEvents, selectionMode: SelectionMode, visibleNodes: VisibleTreeNodes) {\r\n /* istanbul ignore next */\r\n const getVisibleNodes = React.useCallback(() => visibleNodes, [visibleNodes]);\r\n const eventDispatcher = React.useMemo(() => new TreeEventDispatcher(treeEvents, nodeLoader, selectionMode), [treeEvents, nodeLoader, selectionMode]);\r\n\r\n React.useEffect(() => {\r\n eventDispatcher.setVisibleNodes(getVisibleNodes);\r\n }, [eventDispatcher, getVisibleNodes]);\r\n\r\n return eventDispatcher;\r\n}\r\n\r\ninterface LoaderProps {\r\n loading: boolean;\r\n noData: boolean;\r\n spinnerRenderer?: () => React.ReactElement;\r\n noDataRenderer?: () => React.ReactElement;\r\n children: JSX.Element;\r\n}\r\n\r\nfunction Loader(props: LoaderProps) {\r\n if (props.loading) {\r\n return props.spinnerRenderer\r\n ? props.spinnerRenderer()\r\n : (\r\n <div className=\"components-controlledTree-loader\">\r\n <DelayedSpinner size=\"large\" />\r\n </div>\r\n );\r\n }\r\n if (props.noData) {\r\n return props.noDataRenderer\r\n ? props.noDataRenderer()\r\n : (\r\n <FillCentered>\r\n <p className=\"components-controlledTree-errorMessage\">\r\n {UiComponents.translate(\"general.noData\")}\r\n </p>\r\n </FillCentered>\r\n );\r\n }\r\n\r\n return props.children;\r\n}\r\n\r\nfunction useNodeHeight(\r\n descriptionsEnabled: boolean,\r\n): (node: TreeModelNode | TreeModelNodePlaceholder) => number {\r\n return React.useCallback(\r\n (node: TreeModelNode | TreeModelNodePlaceholder): number => {\r\n const contentHeight = (isTreeModelNode(node) && descriptionsEnabled && node && node.description) ? 43 : 24;\r\n const borderSize = 1;\r\n // Not counting node's border size twice because we want neighboring borders to overlap\r\n return contentHeight + borderSize;\r\n },\r\n [descriptionsEnabled],\r\n );\r\n}\r\n"]}
1
+ {"version":3,"file":"ControlledTree.js","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/ControlledTree.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 Tree\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { CommonProps, FillCentered } from \"@itwin/core-react\";\r\nimport { DelayedSpinner } from \"../../../common/DelayedSpinner\";\r\nimport { SelectionMode } from \"../../../common/selection/SelectionModes\";\r\nimport { UiComponents } from \"../../../UiComponents\";\r\nimport { HighlightableTreeProps } from \"../../HighlightingEngine\";\r\nimport { TreeImageLoader } from \"../../ImageLoader\";\r\nimport { toRxjsObservable } from \"../Observable\";\r\nimport { TreeEventDispatcher } from \"../TreeEventDispatcher\";\r\nimport { TreeEvents } from \"../TreeEvents\";\r\nimport { computeVisibleNodes, isTreeModelNode, TreeModel, TreeModelNode, TreeModelNodePlaceholder, VisibleTreeNodes } from \"../TreeModel\";\r\nimport { ITreeNodeLoader } from \"../TreeNodeLoader\";\r\nimport { TreeNodeRenderer, TreeNodeRendererProps } from \"./TreeNodeRenderer\";\r\nimport { RenderedItemsRange, TreeRenderer, TreeRendererProps } from \"./TreeRenderer\";\r\n\r\n/**\r\n * Properties for [[ControlledTree]]\r\n * @public\r\n */\r\nexport interface ControlledTreeProps extends CommonProps {\r\n /** Model of the tree to display. */\r\n model: TreeModel;\r\n /** Node loader used to load root nodes and placeholder nodes. */\r\n nodeLoader: ITreeNodeLoader;\r\n /** Tree events handler. */\r\n eventsHandler: TreeEvents;\r\n /** Mode of nodes' selection in tree. */\r\n selectionMode: SelectionMode;\r\n /**\r\n * Specifies whether to show node description or not. It is used in default node renderer and to determine node height.\r\n * If custom node renderer and node height callbacks are used it does nothing.\r\n */\r\n descriptionsEnabled?: boolean;\r\n /**\r\n * Specifies whether to show node icon or not. It is used in default node renderer.\r\n * If custom node renderer is used it does nothing.\r\n */\r\n iconsEnabled?: boolean;\r\n /**\r\n * Used to highlight matches when filtering tree.\r\n * It is passed to treeRenderer.\r\n */\r\n nodeHighlightingProps?: HighlightableTreeProps;\r\n /** Custom renderer to be used to render a tree. */\r\n treeRenderer?: (props: TreeRendererProps) => React.ReactElement;\r\n /** Custom renderer to be used while root nodes is loading. */\r\n spinnerRenderer?: () => React.ReactElement;\r\n /** Custom renderer to be used when there is no data to show in tree. */\r\n noDataRenderer?: () => React.ReactElement;\r\n /** Callback that is invoked when rendered items range changes. */\r\n onItemsRendered?: (items: RenderedItemsRange) => void;\r\n /** Width of the tree renderer. */\r\n width: number;\r\n /** Height of the tree renderer. */\r\n height: number;\r\n}\r\n\r\n/**\r\n * React tree component which rendering is fully controlled from outside.\r\n * @public\r\n */\r\nexport function ControlledTree(props: ControlledTreeProps) {\r\n const nodeHeight = useNodeHeight(!!props.descriptionsEnabled);\r\n const imageLoader = React.useMemo(() => new TreeImageLoader(), []);\r\n const nodeRenderer = React.useCallback((nodeProps: TreeNodeRendererProps) => (\r\n <TreeNodeRenderer\r\n {...nodeProps}\r\n descriptionEnabled={props.descriptionsEnabled}\r\n imageLoader={props.iconsEnabled ? imageLoader : undefined}\r\n />\r\n ), [props.descriptionsEnabled, props.iconsEnabled, imageLoader]);\r\n\r\n const visibleNodes = React.useMemo(() => computeVisibleNodes(props.model), [props.model]);\r\n const eventDispatcher = useEventDispatcher(props.nodeLoader, props.eventsHandler, props.selectionMode, visibleNodes);\r\n\r\n const treeProps: TreeRendererProps = {\r\n nodeRenderer,\r\n nodeHeight,\r\n visibleNodes,\r\n treeActions: eventDispatcher,\r\n nodeLoader: props.nodeLoader,\r\n nodeHighlightingProps: props.nodeHighlightingProps,\r\n onItemsRendered: props.onItemsRendered,\r\n width: props.width,\r\n height: props.height,\r\n };\r\n\r\n const loading = useRootNodeLoader(visibleNodes, props.nodeLoader);\r\n const noData = visibleNodes.getNumRootNodes() === 0;\r\n return (\r\n <Loader loading={loading} noData={noData} spinnerRenderer={props.spinnerRenderer} noDataRenderer={props.noDataRenderer}>\r\n {props.treeRenderer ? props.treeRenderer(treeProps) : <TreeRenderer {...treeProps} />}\r\n </Loader>\r\n );\r\n}\r\n\r\nfunction useRootNodeLoader(visibleNodes: VisibleTreeNodes, nodeLoader: ITreeNodeLoader): boolean {\r\n React.useEffect(() => {\r\n if (visibleNodes.getNumRootNodes() === undefined) {\r\n const subscription = toRxjsObservable(nodeLoader.loadNode(visibleNodes.getModel().getRootNode(), 0)).subscribe();\r\n return () => subscription.unsubscribe();\r\n }\r\n\r\n return () => { };\r\n }, [visibleNodes, nodeLoader]);\r\n\r\n return visibleNodes.getNumRootNodes() === undefined;\r\n}\r\n\r\nfunction useEventDispatcher(nodeLoader: ITreeNodeLoader, treeEvents: TreeEvents, selectionMode: SelectionMode, visibleNodes: VisibleTreeNodes) {\r\n /* istanbul ignore next */\r\n const getVisibleNodes = React.useCallback(() => visibleNodes, [visibleNodes]);\r\n const eventDispatcher = React.useMemo(() => new TreeEventDispatcher(treeEvents, nodeLoader, selectionMode), [treeEvents, nodeLoader, selectionMode]);\r\n\r\n React.useEffect(() => {\r\n eventDispatcher.setVisibleNodes(getVisibleNodes);\r\n }, [eventDispatcher, getVisibleNodes]);\r\n\r\n return eventDispatcher;\r\n}\r\n\r\ninterface LoaderProps {\r\n loading: boolean;\r\n noData: boolean;\r\n spinnerRenderer?: () => React.ReactElement;\r\n noDataRenderer?: () => React.ReactElement;\r\n children: React.JSX.Element;\r\n}\r\n\r\nfunction Loader(props: LoaderProps) {\r\n if (props.loading) {\r\n return props.spinnerRenderer\r\n ? props.spinnerRenderer()\r\n : (\r\n <div className=\"components-controlledTree-loader\">\r\n <DelayedSpinner size=\"large\" />\r\n </div>\r\n );\r\n }\r\n if (props.noData) {\r\n return props.noDataRenderer\r\n ? props.noDataRenderer()\r\n : (\r\n <FillCentered>\r\n <p className=\"components-controlledTree-errorMessage\">\r\n {UiComponents.translate(\"general.noData\")}\r\n </p>\r\n </FillCentered>\r\n );\r\n }\r\n\r\n return props.children;\r\n}\r\n\r\nfunction useNodeHeight(\r\n descriptionsEnabled: boolean,\r\n): (node: TreeModelNode | TreeModelNodePlaceholder) => number {\r\n return React.useCallback(\r\n (node: TreeModelNode | TreeModelNodePlaceholder): number => {\r\n const contentHeight = (isTreeModelNode(node) && descriptionsEnabled && node && node.description) ? 43 : 24;\r\n const borderSize = 1;\r\n // Not counting node's border size twice because we want neighboring borders to overlap\r\n return contentHeight + borderSize;\r\n },\r\n [descriptionsEnabled],\r\n );\r\n}\r\n"]}
@@ -1,8 +1,8 @@
1
1
  /** @packageDocumentation
2
2
  * @module Tree
3
3
  */
4
- /// <reference types="react" />
5
4
  import "./NodeContent.scss";
5
+ import * as React from "react";
6
6
  import { CommonProps } from "@itwin/core-react";
7
7
  import { PropertyValueRendererManager } from "../../../properties/ValueRendererManager";
8
8
  import { HighlightableTreeNodeProps } from "../../HighlightingEngine";
@@ -22,5 +22,5 @@ export interface TreeNodeContentProps extends CommonProps {
22
22
  /** React component for displaying [[TreeNode]] label
23
23
  * @internal
24
24
  */
25
- export declare function TreeNodeContent(props: TreeNodeContentProps): JSX.Element;
25
+ export declare function TreeNodeContent(props: TreeNodeContentProps): React.JSX.Element;
26
26
  //# sourceMappingURL=NodeContent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeContent.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/NodeContent.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,oBAAoB,CAAC;AAG5B,OAAO,EAAE,WAAW,EAAuB,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAuD,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAC7I,OAAO,EAAE,0BAA0B,EAAsB,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAkB,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,IAAI,EAAE,aAAa,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,0BAA0B,CAAC;IAC5C,oBAAoB,EAAE,4BAA4B,CAAC;IAEnD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,eA4C1D"}
1
+ {"version":3,"file":"NodeContent.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/NodeContent.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,oBAAoB,CAAC;AAE5B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAuB,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAuD,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AAC7I,OAAO,EAAE,0BAA0B,EAAsB,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAkB,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,IAAI,EAAE,aAAa,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,0BAA0B,CAAC;IAC5C,oBAAoB,EAAE,4BAA4B,CAAC;IAEnD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAChD,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,qBA4C1D"}
@@ -28,5 +28,5 @@ export declare type TreeNodeEditorRenderer = (props: TreeNodeEditorProps) => Rea
28
28
  * React component for displaying tree node editor.
29
29
  * @public
30
30
  */
31
- export declare function TreeNodeEditor(props: TreeNodeEditorProps): JSX.Element;
31
+ export declare function TreeNodeEditor(props: TreeNodeEditorProps): React.JSX.Element;
32
32
  //# sourceMappingURL=TreeNodeEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNodeEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/TreeNodeEditor.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,IAAI,EAAE,aAAa,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,wDAAwD;IACxD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE5B,gBAAgB;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;GAGG;AACH,oBAAY,sBAAsB,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,KAAK,CAAC,SAAS,CAAC;AAErF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,eAoBxD"}
1
+ {"version":3,"file":"TreeNodeEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/TreeNodeEditor.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,IAAI,EAAE,aAAa,CAAC;IACpB,0DAA0D;IAC1D,QAAQ,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,wDAAwD;IACxD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE5B,gBAAgB;IAChB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;;GAGG;AACH,oBAAY,sBAAsB,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,KAAK,CAAC,SAAS,CAAC;AAErF;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,qBAoBxD"}
@@ -39,5 +39,5 @@ export interface TreeNodeRendererProps extends CommonProps {
39
39
  * Default component for rendering tree node.
40
40
  * @public
41
41
  */
42
- export declare const TreeNodeRenderer: React.MemoExoticComponent<(props: TreeNodeRendererProps) => JSX.Element>;
42
+ export declare const TreeNodeRenderer: React.MemoExoticComponent<(props: TreeNodeRendererProps) => React.JSX.Element>;
43
43
  //# sourceMappingURL=TreeNodeRenderer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNodeRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/TreeNodeRenderer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAqB,oBAAoB,EAAY,MAAM,mBAAmB,CAAC;AAGnG,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAgB,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACxD,2BAA2B;IAC3B,IAAI,EAAE,aAAa,CAAC;IAEpB,sBAAsB;IACtB,WAAW,EAAE,WAAW,CAAC;IAEzB,kEAAkE;IAClE,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;IAEhD,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,mCAAmC;IACnC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAE/B,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IAExC,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAE5C;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAEhD,iDAAiD;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,oCAAsB,qBAAqB,iBAiDtE,CAAC"}
1
+ {"version":3,"file":"TreeNodeRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components-react/tree/controlled/component/TreeNodeRenderer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAqB,oBAAoB,EAAY,MAAM,mBAAmB,CAAC;AAGnG,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAgB,aAAa,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACxD,2BAA2B;IAC3B,IAAI,EAAE,aAAa,CAAC;IAEpB,sBAAsB;IACtB,WAAW,EAAE,WAAW,CAAC;IAEzB,kEAAkE;IAClE,kBAAkB,CAAC,EAAE,0BAA0B,CAAC;IAEhD,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,mCAAmC;IACnC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAE/B,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IAExC,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;IAE5C;;;OAGG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;IAEhD,iDAAiD;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,oCAAsB,qBAAqB,uBAiDtE,CAAC"}
@@ -67,7 +67,7 @@ export declare class TreeRenderer extends React.Component<TreeRendererProps> imp
67
67
  private _ref;
68
68
  /** @inheritdoc */
69
69
  scrollToNode(nodeId: string, alignment?: Alignment): void;
70
- render(): JSX.Element;
70
+ render(): React.JSX.Element;
71
71
  }
72
72
  export {};
73
73
  //# sourceMappingURL=TreeRenderer.d.ts.map
@@ -156,7 +156,7 @@ export declare class BreadcrumbInput extends React.Component<BreadcrumbInputProp
156
156
  private _mounted;
157
157
  /** @internal */
158
158
  readonly state: Readonly<BreadcrumbInputState>;
159
- render(): JSX.Element;
159
+ render(): React.JSX.Element;
160
160
  private _handleMessageBoxClose;
161
161
  /** @internal */
162
162
  componentDidMount(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumb.d.ts","sourceRoot":"","sources":["../../../../src/components-react/breadcrumb/Breadcrumb.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Breadcrumb.d.ts","sourceRoot":"","sources":["../../../../src/components-react/breadcrumb/Breadcrumb.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAE3B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAmB,cAAc,EAAc,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,WAAW,EAA+F,MAAM,mBAAmB,CAAC;AAE7I,OAAO,EACgF,gBAAgB,EAAE,YAAY,EACpH,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,aAAa,EAAsB,iBAAiB,EACrD,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,cAAc,EAA6B,MAAM,kBAAkB,CAAC;AAM7E,gBAAgB;AAChB,oBAAY,sBAAsB,GAAG,CAAC,KAAK,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,YAAY,KAAK,KAAK,CAAC,SAAS,CAAC;AAEjI;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,4FAA4F;IAC5F,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,sCAAsC;IACtC,YAAY,EAAE,gBAAgB,CAAC;IAC/B,2BAA2B;IAC3B,cAAc,CAAC,EAAE,YAAY,CAAC;IAC9B,4FAA4F;IAC5F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qFAAqF;IACrF,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,2FAA2F;IAC3F,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,sFAAsF;IACtF,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IAC5E,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IAEpD,gBAAgB;IAChB,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAED,gBAAgB;AAChB,UAAU,eAAe;IACvB,IAAI,EAAE;QACJ,YAAY,EAAE,gBAAgB,CAAC;QAC/B,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,KAAK,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,WAAW,EAAE,cAAc,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,qBAAa,UAAW,SAAQ,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,eAAe,CAAC;IAC/E,OAAO,CAAC,QAAQ,CAAkB;IAElC,gBAAgB;IAChB,OAAc,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAOlD;IAEF,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAE1D,gBAAgB;gBACJ,KAAK,EAAE,eAAe;IAiBlC,OAAO,CAAC,MAAM,CAAC,WAAW;IAO1B,gBAAgB;WACF,wBAAwB,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,GAAG,eAAe,GAAG,IAAI;IAsB9G,gBAAgB;IACA,iBAAiB;IAejC,gBAAgB;IACA,oBAAoB;IAQpC,gBAAgB;IACA,qBAAqB,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO;IAwBtG,gBAAgB;IACA,kBAAkB,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe;IAgBzF,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,2BAA2B;IAMnC,OAAO,CAAC,yBAAyB;IAMjC,OAAO,CAAC,aAAa,CAUnB;IAEF,OAAO,CAAC,cAAc,CAOpB;IAEF,OAAO,CAAC,iBAAiB,CAQvB;IAEF,OAAO,CAAC,eAAe,CAGrB;IAEF,OAAO,CAAC,aAAa,CAMnB;IAEF,OAAO,CAAC,kBAAkB,CAIxB;IAEF,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAiB1C,gBAAgB;IACA,MAAM,IAAI,KAAK,CAAC,SAAS;IA+CzC,OAAO,CAAC,YAAY,CAAiE;IACrF,OAAO,CAAC,SAAS,CAA8D;IAE/E,OAAO,CAAC,iBAAiB,CAcvB;CACH;AAED,gBAAgB;AAChB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,cAAc,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,gBAAgB;AAChB,qBAAa,oBAAqB,SAAQ,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC;IAC7D,MAAM,IAAI,KAAK,CAAC,SAAS;CAa1C;AAID,gBAAgB;AAChB,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,EAAE,CAAC,IAAI,EAAE,YAAY,GAAG,SAAS,KAAK,IAAI,CAAC;IACvD,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,IAAI,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAEvC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,gBAAgB;AAChB,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,gBAAgB;AAChB,qBAAa,eAAgB,SAAQ,KAAK,CAAC,SAAS,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IAC9F,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,QAAQ,CAAkB;IAElC,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAI5D;IAEc,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO;IAmE3C,OAAO,CAAC,sBAAsB,CAE5B;IAEF,gBAAgB;IACA,iBAAiB;IAWjC,gBAAgB;IACA,oBAAoB;IASpC,OAAO,CAAC,YAAY,CAGlB;IAEF,OAAO,CAAC,oBAAoB,CAc1B;IAEF,OAAO,CAAC,mBAAmB,CAWzB;IACF,OAAO,CAAC,uBAAuB,CAc7B;IACF,OAAO,CAAC,KAAK,CAkBX;IAEF,OAAO,CAAC,YAAY,CASlB;IAEF,OAAO,CAAC,cAAc,CAMpB;IACF,OAAO,CAAC,YAAY,CAqClB;IAEF,OAAO,CAAC,aAAa,CAYnB;CACH;AA8MD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,iBAAiB;IACjB,KAAK,EAAE,cAAc,CAAC;IACtB,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC;gBAC1D,KAAK,EAAE,mBAAmB;IAItB,MAAM,IAAI,KAAK,CAAC,SAAS;IAKzB,iBAAiB;IAMjB,kBAAkB;CAKnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumb.js","sourceRoot":"","sources":["../../../../src/components-react/breadcrumb/Breadcrumb.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,mBAAmB,CAAC;AAC3B,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAe,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC7I,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EACmD,2BAA2B,GACpF,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,aAAa,EAAE,kBAAkB,EAAmG,OAAO,GAC5I,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAgDlE;;;GAGG;AACH,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,uCAAqB,CAAA;IACrB,iCAAe,CAAA;AACjB,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAgBD;;;;;;GAMG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK,CAAC,SAA2C;IAgB/E,gBAAgB;IAChB,YAAY,KAAsB;QAChC,KAAK,CAAC,KAAK,CAAC,CAAC;QAjBP,aAAQ,GAAY,KAAK,CAAC;QA8J1B,kBAAa,GAAG,CAAC,IAA+B,EAAE,EAAE;YAC1D,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC3D,IAAI,OAAO,EAAE;oBACX,MAAM,CAAC,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBACnE,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC7D;aACF;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;aACvD;QACH,CAAC,CAAC;QAEM,mBAAc,GAAG,CAAC,SAA2C,EAAE,EAAE;YACvE,IAAI,IAAI,CAAC,KAAK,CAAC,iBAAiB;gBAC9B,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9F,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU;gBAC7B,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC;QAEM,sBAAiB,GAAG,CAAC,UAA2C,EAAE,EAAE;YAC1E,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB;gBAC7B,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAQ,EAAE,OAAO,CAAe,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC;YAC3G,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9F,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU;gBAC7B,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC,CAAC;QAEM,oBAAe,GAAG,GAAG,EAAE;YAC7B,2CAA2C;YAC3C,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC;QAEM,kBAAa,GAAG,GAAG,EAAE;YAC3B,uBAAuB;YACvB,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC9F,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAC9I;QACH,CAAC,CAAC;QAEM,uBAAkB,GAAG,CAAC,MAAuC,EAAE,EAAE;YACvE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;gBACpD,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAmEM,iBAAY,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC7E,cAAS,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC;QAEvE,sBAAiB,GAAG,CAAC,IAA8B,EAAE,EAAE;YAC7D,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI;gBACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;iBAClC;gBACH,IAAI,CAAC,IAAI,EAAE;oBACT,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;iBACvD;qBAAM;oBACL,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC9F,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClF,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;iBACjD;aACF;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,cAAc,CAAC,QAAQ;gBACpD,IAAI,CAAC,YAAY,EAAE,CAAC;QACxB,CAAC,CAAC;QA/QA,IAAI,CAAC,KAAK,GAAG;YACX,IAAI,EAAE;gBACJ,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,UAAU,EAAE,KAAK;aAClB;YACD,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC;YACpC,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,KAAK,CAAC,KAAM;YACnB,WAAW,EAAE,KAAK,CAAC,qBAAsB;YACzC,OAAO,EAAE,KAAK,CAAC,cAAc;YAC7B,UAAU,EAAE,EAAE;SACf,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,WAAW,CAAC,KAAsB;QAC/C,OAAO,IAAI,aAAa,CAAe;YACrC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,6BAA6B,EAAE,UAAU,CAAC,2BAA2B;SACtE,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,wBAAwB,CAAC,KAAsB,EAAE,KAAsB;QACnF,MAAM,eAAe,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEzE,uDAAuD;QACvD,MAAM,YAAY,GAAoB;YACpC,GAAG,KAAK;YACR,IAAI,EAAE;gBACJ,GAAG,KAAK,CAAC,IAAI;gBACb,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B;SACF,CAAC;QAEF,6EAA6E;QAC7E,IAAI,eAAe,EAAE;YACnB,YAAY,CAAC,KAAK,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACnD,YAAY,CAAC,UAAU,GAAG,KAAK,CAAC;SACjC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,gBAAgB;IACA,iBAAiB;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAE1D,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACzD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACvE;QAED,0BAA0B;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;YACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,gBAAgB;IACA,oBAAoB;QAClC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI;YACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3E,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,gBAAgB;IACA,qBAAqB,CAAC,SAA0B,EAAE,SAA0B;QAC1F,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,EAAE;YAC1F,iDAAiD;YACjD,OAAO,IAAI,CAAC;SACb;QAED,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE;YACzB,uDAAuD;YACvD,OAAO,KAAK,CAAC;SACd;QAED,mEAAmE;QACnE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU;eAChD,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,YAAY;eAClD,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU;eAC9C,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,YAAY;eAClD,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW;eAChD,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS;eAC5C,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO;eACxC,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU;eAC9C,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,WAAW;eAChD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,gBAAgB;IACA,kBAAkB,CAAC,SAA0B,EAAE,SAA0B;QACvF,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,EAAE;YACxC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC7C;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,YAAY,EAAE;YACtD,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YACvD,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SAC3D;QAED,0BAA0B;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;YACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEO,oBAAoB,CAAC,KAAkC;QAC7D,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAClE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9D,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACpE,mEAAmE;QACnE,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;YACpB,uBAAuB;YACvB,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;gBAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,kBAAkB,CAAC,KAAkC;QAC3D,KAAK,CAAC,kBAAkB,EAAE,CAAC;IAC7B,CAAC;IAEO,2BAA2B,CAAC,QAA0B;QAC5D,IAAI,2BAA2B,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,iBAAiB,EAAE;YACvE,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACjE;IACH,CAAC;IAEO,yBAAyB,CAAC,QAA0B;QAC1D,IAAI,2BAA2B,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,iBAAiB,EAAE;YACvE,QAAQ,CAAC,iBAAiB,CAAC,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACpE;IACH,CAAC;IAoDO,MAAM,CAAC,2BAA2B,CAAC,IAAkB,EAAE,QAAuD;QACpH,MAAM,IAAI,GAA4B;YACpC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3C,KAAK,EAAE;gBACL,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;aAC5B;SACF,CAAC;QACF,IAAI,IAAI,CAAC,IAAI;YACX,IAAI,CAAC,KAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAC/B,IAAK,IAAgC,CAAC,WAAW;YAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;aAClB,IAAK,IAAsC,CAAC,QAAQ;YACvD,IAAI,CAAC,QAAQ,GAAI,IAAsC,CAAC,QAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QACtG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB;IACA,MAAM;QACpB,MAAM,UAAU,GAAG,UAAU,CAAC,uBAAuB,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEpH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;YAC1B,OAAO,CACL,6BAAK,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAI,CACxD,CAAC;SACH;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3F,OAAO,CACL,6BACE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YAC9C,6BAAK,SAAS,EAAC,4BAA4B,iBAC7B,6CAA6C,IACxD,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACjD,oBAAC,kBAAkB,IACjB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACtB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,IAAI,CAAC,iBAAiB,EACpC,YAAY,EAAE,IAAI,CAAC,SAAS,EAC5B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EACnC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAM,EACxB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAI,CAAC,CAAC;gBAC9C,oBAAC,WAAW,IACV,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EACtB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EACnC,YAAY,EAAE,IAAI,CAAC,SAAS,EAC5B,aAAa,EAAE,IAAI,CAAC,YAAY,EAChC,YAAY,EAAE,IAAI,CAAC,iBAAiB,EACpC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAM,EACxB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EACnC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAU,EAChC,cAAc,EAAE,IAAI,CAAC,YAAY,EACjC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAI,CAE1C,CACF,CACP,CAAC;IACJ,CAAC;;AA7QD,gBAAgB;AACF,uBAAY,GAA6B;IACrD,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,qBAAqB,EAAE,cAAc,CAAC,QAAQ;IAC9C,SAAS,EAAE,IAAI;IACf,WAAW,EAAE,IAAI;IACjB,KAAK,EAAE,EAAE;CACV,CAAC;AA4SJ,gBAAgB;AAChB,MAAM,OAAO,oBAAqB,SAAQ,KAAK,CAAC,aAA+B;IAC7D,MAAM;QACpB,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACjJ,QAAQ,WAAW,EAAE;YACnB,KAAK,cAAc,CAAC,QAAQ;gBAC1B,OAAO,oBAAC,kBAAkB,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAC/H,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,GAAI,CAAC;YAC5G,KAAK,cAAc,CAAC,KAAK;gBACvB,OAAO,oBAAC,eAAe,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EACjG,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAI,CAAC;YACnH;gBACE,OAAO,4CAAiB,0CAA0C,IAAE,YAAY,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAO,CAAC;SACpI;IACH,CAAC;CACF;AACD,gBAAgB;AAChB,MAAM,WAAW,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,CAAC,2DAA2D;AAwBzH,gBAAgB;AAChB,MAAM,OAAO,eAAgB,SAAQ,KAAK,CAAC,SAAqD;IAAhG;;QACU,kBAAa,GAA4B,IAAI,CAAC;QAC9C,kBAAa,GAAuB,IAAI,CAAC;QACzC,aAAQ,GAAY,KAAK,CAAC;QAElC,gBAAgB;QACS,UAAK,GAAmC;YAC/D,cAAc,EAAE,KAAK;YACrB,gBAAgB,EAAE,EAAE;YACpB,gBAAgB,EAAE,KAAK;SACxB,CAAC;QAqEM,2BAAsB,GAAG,GAAG,EAAE;YACpC,IAAI,CAAC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC;QAwBM,iBAAY,GAAG,GAAG,EAAE;YAC1B,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEM,yBAAoB,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;YACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,IAAI,EAAE;gBACR,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACrH,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAU,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC7F,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;aACjE;iBAAM;gBACL,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACtC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC5G,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAU,CAAC,CAAC;gBAC7E,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC;aACjE;QACH,CAAC,CAAC;QAEM,wBAAmB,GAAG,KAAK,EAAE,CAAS,EAAwD,EAAE;YACtG,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAU,CAAC;YACxC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,iCAAiC;gBAC1D,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACrC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;gBACvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxC,IAAI,KAAK;oBACP,OAAO,KAAK,CAAC;aAChB;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QACM,4BAAuB,GAAG,KAAK,EAAE,CAAS,EAAwD,EAAE;YAC1G,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAU,CAAC;YACxC,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,4CAA4C;gBAC9D,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;;gBAE5B,OAAO,SAAS,CAAC;YACnB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACrC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;gBACvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxC,IAAI,KAAK;oBACP,OAAO,KAAK,CAAC;aAChB;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QACM,UAAK,GAAG,KAAK,EAAE,IAAqC,EAAE,CAAS,EAAwD,EAAE;YAC/H,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAU,CAAC;YACxC,2BAA2B;YAC3B,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;gBAC5B,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACjC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;YACtB,IAAI,IAAI,KAAK,CAAC,EAAE;gBACd,OAAO,IAAI,CAAC;aACb;YACD,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,qBAAqB,EAAE,EAAE;gBACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE;oBAC5B,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAwC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC5F,IAAI,CAAC;wBACH,OAAO,CAAC,CAAC;iBACZ;aACF;YACD,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QAEM,iBAAY,GAAG,CAAC,KAAiB,EAAQ,EAAE;YACjD,uBAAuB;YACvB,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,uBAAuB;gBACvB,IAAI,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa,EAAE;oBAC7D,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;oBACzC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;iBAC5B;aACF;QACH,CAAC,CAAC;QAEM,mBAAc,GAAG,CAAC,KAA4C,EAAE,EAAE;YACxE,QAAQ,KAAK,CAAC,GAAG,EAAE;gBACjB,KAAK,UAAU,CAAC,OAAO,CAAC;gBACxB,KAAK,UAAU,CAAC,SAAS;oBACvB,KAAK,CAAC,cAAc,EAAE,CAAC;aAC1B;QACH,CAAC,CAAC;QACM,iBAAY,GAAG,KAAK,EAAE,KAA4C,EAAE,EAAE;YAC5E,QAAQ,KAAK,CAAC,GAAG,EAAE;gBACjB,KAAK,UAAU,CAAC,MAAM;oBACpB,uBAAuB;oBACvB,IAAI,IAAI,CAAC,QAAQ;wBACf,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC3C,MAAM;gBACR,KAAK,UAAU,CAAC,OAAO,CAAC;gBACxB,KAAK,UAAU,CAAC,SAAS;oBACvB,KAAK,CAAC,cAAc,EAAE,CAAC;oBACvB,uBAAuB;oBACvB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;wBAChE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;wBAC3B,uBAAuB;wBACvB,IAAI,IAAI,CAAC,QAAQ;4BACf,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;qBAC3C;oBACD,MAAM;gBACR,KAAK,UAAU,CAAC,KAAK;oBACnB,uBAAuB;oBACvB,IAAI,IAAI,CAAC,aAAa,EAAE;wBACtB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;wBACtC,IAAI,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,SAAU,EAAE;4BACjD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;4BACnC,uBAAuB;4BACvB,IAAI,IAAI,CAAC,QAAQ;gCACf,IAAI,CAAC,QAAQ,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;yBAC5C;6BAAM;4BACL,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;4BAClD,IAAI,IAAI,KAAK,SAAS;gCACpB,IAAI,CAAC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;;gCAE1C,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBACzC;qBACF;oBACD,MAAM;aACT;QACH,CAAC,CAAC;QAEM,kBAAa,GAAG,GAAS,EAAE;YACjC,uBAAuB;YACvB,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,YAAa,CAAC,CAAC;gBAChG,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oBACvD,IAAI,IAAI,CAAC,QAAQ;wBACf,IAAI,CAAC,QAAQ,CAAC;4BACZ,cAAc,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;4BAC/B,gBAAgB,EAAE,IAAI;yBACvB,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC;IACJ,CAAC;IAvOiB,MAAM;QACpB,OAAO,CACL,6BAAK,SAAS,EAAC,kCAAkC,iBAAa,kCAAkC;YAC9F,+BACE,SAAS,EAAC,6BAA6B,iBAC3B,6BAA6B,EACzC,IAAI,EAAC,MAAM,EACX,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,EACvC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAClC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAC1D,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,aAAa,EAC9I,UAAU,EAAE,KAAK,GAAU;YAE7B,6BAAK,SAAS,EAAC,6CAA6C,iBAAa,mCAAmC,EAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EACrI,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,CAAC,GAAI;YAChC,oBAAC,WAAW,IACV,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC,EACzC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EACxB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EACjC,SAAS,EAAE,KAAK,EAChB,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAClD,KAAK,EAAE,GAAG,EAAE;oBACV,uBAAuB;oBACvB,IAAI,IAAI,CAAC,aAAa;wBACpB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;gBAC/B,CAAC,IAEA,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;gBACnD,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,uBAAuB;gBACvB,IAAI,IAAI,CAAC,aAAa,EAAE;oBACtB,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC;iBACrC;gBACD,OAAO,CACL,oBAAC,eAAe,IACd,GAAG,EAAE,KAAK,EACV,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAClB,uBAAuB;wBACvB,IAAI,IAAI,CAAC,aAAa,EAAE;4BACtB,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,QAAQ,CAAC;4BACpC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;4BAC3B,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;4BAEvE,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,YAAa,CAAC,CAAC;4BAChG,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gCACvD,uBAAuB;gCACvB,IAAI,IAAI,CAAC,QAAQ;oCACf,IAAI,CAAC,QAAQ,CAAC;wCACZ,cAAc,EAAE,KAAK;wCACrB,gBAAgB,EAAE,IAAI;qCACvB,CAAC,CAAC;4BACP,CAAC,CAAC,CAAC;4BACH,KAAK,CAAC,eAAe,EAAE,CAAC;yBACzB;oBACH,CAAC;oBACD,8BAAM,SAAS,EAAC,gCAAgC,IAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAQ;oBAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAClF,CACnB,CAAC;YACJ,CAAC,CAAC,CACU;YACd,oBAAC,UAAU,IAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,QAAQ,EAAE,eAAe,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,CAAC,IACzN,YAAY,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAChD,CACT,CACP,CAAC;IACJ,CAAC;IAMD,gBAAgB;IACA,iBAAiB;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,uBAAuB;QACvB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC;YAClE,YAAY,IAAI,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAC1E,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YACjD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAC5B;IACH,CAAC;IAED,gBAAgB;IACA,oBAAoB;QAClC,uBAAuB;QACvB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,CAAC;YAClE,YAAY,IAAI,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;SAC9E;QACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;CA4IF;AAiBD,gBAAgB;AAChB,MAAM,kBAAmB,SAAQ,KAAK,CAAC,SAAkC;IAAzE;;QAcU,mBAAc,GAAG,CAAC,UAA4C,EAAE,EAAE;YACxE,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC;QAEM,sBAAiB,GAAG,CAAC,WAA4C,EAAE,EAAE;YAC3E,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC,CAAC;QAuEM,mBAAc,GAAG,GAAG,EAAE;YAC5B,IAAI,MAAgC,CAAC;YACrC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBACnB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAoC,CAAC;gBAC3E,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;aACtB;YACD,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC;QAEM,gBAAW,GAAG,CAAC,KAAuB,EAAE,EAAE;YAChD,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,uCAAuC;gBAC1G,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC9B,CAAC,CAAC;IACJ,CAAC;IAvGC,gBAAgB;IACA,iBAAiB;QAC/B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC9E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1E,CAAC;IAED,gBAAgB;IACA,oBAAoB;QAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1F,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACtF,CAAC;IAUD,gBAAgB;IACA,qBAAqB,CAAC,SAAkC;QACtE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;YACvC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;YAClC,CAAC,SAAS,CAAC,IAAI,IAAI,0BAA0B,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACvE,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,YAAY;YAClD,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,SAAS;YAC5C,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK;YACpC,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,UAAU,CAAC;IACnD,CAAC;IAEe,MAAM;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,IAAI,KAAmD,CAAC;QACxD,IAAI,IAAI,EAAE;YACR,KAAK,GAAG,OAAO,CAAe,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACjD,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClB;QACD,OAAO;QACL,iEAAiE;QACjE,6BACE,SAAS,EAAC,gCAAgC,iBAC9B,2CAA2C,EACvD,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAClC,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,CAAC;YAEzB,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAC/C,iEAAiE;gBACjE,4CAAiB,8BAA8B,EAC7C,SAAS,EAAE,UAAU,CACnB,8BAA8B,EAC9B,MAAM,EAAE,cAAc,EACtB,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC,EACxC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,CAAC,GAAI;gBAChE,CAAC,CAAC,SAAS;YAEb,6BAAK,SAAS,EAAC,kCAAkC,iBACnC,kCAAkC;gBAC9C,oBAAC,sBAAsB,IACrB,GAAG,EAAE,CAAC,CAAC,EACP,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EACrB,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EACvC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EACnC,IAAI,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAClC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAI;gBAC1C,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC3B,OAAO,CACL,oBAAC,sBAAsB,IACrB,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EACrB,IAAI,EAAE,CAAC,EACP,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EACvC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EACnC,IAAI,EAAE,CAAC,KAAK,KAAM,CAAC,MAAM,GAAG,CAAC,EAC7B,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EACjC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,GAAI,CAC5C,CAAC;gBACJ,CAAC,CAAC,CACE,CACF,CACP,CAAC;IACJ,CAAC;CAgBF;AAcD,gBAAgB;AAChB,MAAM,sBAAuB,SAAQ,KAAK,CAAC,SAAsC;IAC/E,YAAY,KAAkC;QAC5C,KAAK,CAAC,KAAK,CAAC,CAAC;QA4Df,gEAAgE;QACxD,eAAU,GAAG,CAAC,KAA0B,EAAE,KAAoB,EAAE,OAAsB,EAAE,EAAE;YAChG,OAAO,oBAAC,cAAc,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,GAAI,CAAC;QAClE,CAAC,CAAC;IA9DF,CAAC;IAEe,MAAM;QACpB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5B,IAAI,YAAY,GAA2C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACnF,IAAI,IAAI;YACN,YAAY,GAAG,OAAO,CAAe,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,MAAgC,CAAC;QACrC,IAAI,IAAI,EAAE;YACR,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,EAAqC,CAAC;YAC9D,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;SACtB;QACD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACnF,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW;YACxB,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAC/E,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;gBACzB,OAAO,6CAAkB,qCAAqC,EAAC,SAAS,EAAC,2CAA2C;oBACjH,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC;oBACtC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,8BAAM,SAAS,EAAC,2CAA2C,GAAG,CAAC,CAAC,CAAC,SAAS,CACzF,CAAC;aACT;YACD,OAAO,CACL,oBAAC,WAAW,IACV,SAAS,EAAC,oCAAoC,EAC9C,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjB,KAAK,CAAC,eAAe,EAAE,CAAC;oBACxB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC/B,CAAC,EACD,KAAK,EAAE,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,EAC7C,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,IAEvC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBAC7B,OAAO,CACL,oBAAC,eAAe,IACd,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,KAAK,CAAC,OAAQ,CAAC,IAAI,EACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;wBACnB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC3C,CAAC,IACA,4BAA4B,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,OAAQ,CAAC,KAAK,CAAC,CACzD,CACnB,CAAC;YACJ,CAAC,CAAC,CACU,CACf,CAAC;SACH;aAAM;YACL,OAAO,CACL,8BAAM,SAAS,EAAE,UAAU,CAAC,gCAAgC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,IAC7F,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,CAClC,CACR,CAAC;SACH;IACH,CAAC;CAMF;AAeD;;;GAGG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK,CAAC,SAA8B;IACtE,YAAY,KAA0B;QACpC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;IAEe,MAAM;QACpB,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACnC,OAAO,6CAAkB,4BAA4B;YAAC,8BAAM,SAAS,EAAE,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,GAAI;YAAC,4BAA4B,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAQ,CAAC;IACxK,CAAC;IAEe,iBAAiB;QAC/B,uBAAuB;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;YACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAEe,kBAAkB;QAChC,uBAAuB;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;YACrB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;CACF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Breadcrumb\r\n */\r\n\r\nimport \"./Breadcrumb.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { using } from \"@itwin/core-bentley\";\r\nimport { MessageSeverity, PropertyRecord, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, ContextMenu, ContextMenuItem, DialogButtonType, MessageBox, SplitButton, withOnOutsideClick } from \"@itwin/core-react\";\r\nimport { PropertyValueRendererManager } from \"../properties/ValueRendererManager\";\r\nimport {\r\n DelayLoadedTreeNodeItem, ImmediatelyLoadedTreeNodeItem, isTreeDataProviderInterface, TreeDataProvider, TreeNodeItem,\r\n} from \"../tree/TreeDataProvider\";\r\nimport { UiComponents } from \"../UiComponents\";\r\nimport {\r\n BeInspireTree, BeInspireTreeEvent, BeInspireTreeNode, BeInspireTreeNodeConfig, BeInspireTreeNodes, MapPayloadToInspireNodeCallback, toNodes,\r\n} from \"./BeInspireTree\";\r\nimport { BreadcrumbPath, BreadcrumbUpdateEventArgs } from \"./BreadcrumbPath\";\r\nimport { getPropertyRecordAsString } from \"./BreadcrumbTreeUtils\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n// cspell:ignore itree autocompleting\r\n\r\n/** @internal */\r\nexport type BreadcrumbNodeRenderer = (props: BreadcrumbNodeProps, node?: TreeNodeItem, parent?: TreeNodeItem) => React.ReactNode;\r\n\r\n/** Properties for [[Breadcrumb]] component\r\n * @beta\r\n * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.\r\n */\r\nexport interface BreadcrumbProps extends CommonProps {\r\n /** Manager to coordinate state between Breadcrumb element and BreadcrumbDetails element. */\r\n path?: BreadcrumbPath;\r\n /** Data provider for tree content */\r\n dataProvider: TreeDataProvider;\r\n /** Initial current node */\r\n initialCurrent?: TreeNodeItem;\r\n /** Character used to separate discrete tree nodes in Breadcrumb text mode. Default: \"\\\\\" */\r\n delimiter?: string;\r\n /** Width in pixels, if number, and in specified css units, if string. Default: \"15em\" */\r\n width?: number | string;\r\n /** Whether to show up-dir directory pop button on the left. Default: true */\r\n showUpDir?: boolean;\r\n /** Which BreadcrumbMode to initially start with. Default: BreadcrumbMode.Dropdown */\r\n initialBreadcrumbMode?: BreadcrumbMode;\r\n /** Whether to show white background and border. Default: true */\r\n background?: boolean;\r\n /** Static breadcrumb element. Default: false */\r\n staticOnly?: boolean;\r\n /** Disable plain-text input for the breadcrumb navigation. Default: false */\r\n dropdownOnly?: boolean;\r\n /** Whether to disallow navigation to leaf nodes (nodes with no children). Default: true */\r\n parentsOnly?: boolean;\r\n /** Callback triggered when child node is loaded with an asynchronous dataProvider. */\r\n onChildrenLoaded?: (parent: TreeNodeItem, children: TreeNodeItem[]) => void;\r\n /** Callback triggered when root nodes are loaded with an asynchronous dataProvider. */\r\n onRootNodesLoaded?: (nodes: TreeNodeItem[]) => void;\r\n\r\n /** @internal */\r\n renderNode?: BreadcrumbNodeRenderer;\r\n /** @internal */\r\n onRender?: () => void;\r\n /** @internal */\r\n expandedNodes?: boolean;\r\n}\r\n\r\n/** Enum for Breadcrumb Mode\r\n * @beta\r\n * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.\r\n */\r\nexport enum BreadcrumbMode {\r\n Dropdown = \"dropdown\",\r\n Input = \"input\",\r\n}\r\n\r\n/** @internal */\r\ninterface BreadcrumbState {\r\n prev: {\r\n dataProvider: TreeDataProvider;\r\n modelReady: boolean;\r\n };\r\n model: BeInspireTree<TreeNodeItem>;\r\n modelReady: boolean;\r\n width: number | string;\r\n current?: TreeNodeItem;\r\n currentMode: BreadcrumbMode;\r\n pathString: string;\r\n}\r\n\r\n/**\r\n * Breadcrumb navigation component, with two discrete modes: text mode and dropdown mode.\r\n * Text mode includes autocomplete suggestions.\r\n * Both dropdown and text mode support arrow and tab navigation.\r\n * @beta\r\n * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.\r\n */\r\nexport class Breadcrumb extends React.Component<BreadcrumbProps, BreadcrumbState> {\r\n private _mounted: boolean = false;\r\n\r\n /** @internal */\r\n public static defaultProps: Partial<BreadcrumbProps> = {\r\n delimiter: \"\\\\\",\r\n background: true,\r\n initialBreadcrumbMode: BreadcrumbMode.Dropdown,\r\n showUpDir: true,\r\n parentsOnly: true,\r\n width: \"\",\r\n };\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<BreadcrumbState>;\r\n\r\n /** @internal */\r\n constructor(props: BreadcrumbProps) {\r\n super(props);\r\n\r\n this.state = {\r\n prev: {\r\n dataProvider: props.dataProvider,\r\n modelReady: false,\r\n },\r\n model: Breadcrumb.createModel(props),\r\n modelReady: false,\r\n width: props.width!,\r\n currentMode: props.initialBreadcrumbMode!,\r\n current: props.initialCurrent,\r\n pathString: \"\",\r\n };\r\n }\r\n\r\n private static createModel(props: BreadcrumbProps) {\r\n return new BeInspireTree<TreeNodeItem>({\r\n dataProvider: props.dataProvider,\r\n mapPayloadToInspireNodeConfig: Breadcrumb.inspireNodeFromTreeNodeItem,\r\n });\r\n }\r\n\r\n /** @internal */\r\n public static getDerivedStateFromProps(props: BreadcrumbProps, state: BreadcrumbState): BreadcrumbState | null {\r\n const providerChanged = (props.dataProvider !== state.prev.dataProvider);\r\n\r\n // create derived state that just updates `prev` values\r\n const derivedState: BreadcrumbState = {\r\n ...state,\r\n prev: {\r\n ...state.prev,\r\n dataProvider: props.dataProvider,\r\n modelReady: state.modelReady,\r\n },\r\n };\r\n\r\n // in case provider changed, have to re-create `model` and reset `modelReady`\r\n if (providerChanged) {\r\n derivedState.model = Breadcrumb.createModel(props);\r\n derivedState.modelReady = false;\r\n }\r\n\r\n return derivedState;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._mounted = true;\r\n this.assignModelListeners(this.state.model);\r\n this.assignDataProviderListeners(this.props.dataProvider);\r\n\r\n if (this.props.path) {\r\n this.props.path.setDataProvider(this.props.dataProvider);\r\n this.props.path.BreadcrumbUpdateEvent.addListener(this._handleUpdate);\r\n }\r\n\r\n /* istanbul ignore next */\r\n if (this.props.onRender)\r\n this.props.onRender();\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n if (this.props.path)\r\n this.props.path.BreadcrumbUpdateEvent.removeListener(this._handleUpdate);\r\n this.dropModelListeners(this.state.model);\r\n this.dropDataProviderListeners(this.props.dataProvider);\r\n this._mounted = false;\r\n }\r\n\r\n /** @internal */\r\n public override shouldComponentUpdate(nextProps: BreadcrumbProps, nextState: BreadcrumbState): boolean {\r\n if (this.state.modelReady !== nextState.modelReady || this.state.model !== nextState.model) {\r\n // always render when modelReady or model changes\r\n return true;\r\n }\r\n\r\n if (!nextState.modelReady) {\r\n // if we got here and model is not ready - don't render\r\n return false;\r\n }\r\n\r\n // otherwise, render when any of the following props / state change\r\n return this.props.renderNode !== nextProps.renderNode\r\n || this.props.dataProvider !== nextProps.dataProvider\r\n || this.props.background !== nextProps.background\r\n || this.props.dropdownOnly !== nextProps.dropdownOnly\r\n || this.props.parentsOnly !== nextProps.parentsOnly\r\n || this.props.showUpDir !== nextProps.showUpDir\r\n || this.state.current !== nextState.current\r\n || this.state.pathString !== nextState.pathString\r\n || this.state.currentMode !== nextState.currentMode\r\n || this.state.model.visible().some((n) => n.isDirty());\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(prevProps: BreadcrumbProps, prevState: BreadcrumbState) {\r\n if (this.state.model !== prevState.model) {\r\n this.dropModelListeners(prevState.model);\r\n this.assignModelListeners(this.state.model);\r\n }\r\n\r\n if (this.props.dataProvider !== prevProps.dataProvider) {\r\n this.dropDataProviderListeners(prevProps.dataProvider);\r\n this.assignDataProviderListeners(this.props.dataProvider);\r\n }\r\n\r\n /* istanbul ignore next */\r\n if (this.props.onRender)\r\n this.props.onRender();\r\n }\r\n\r\n private assignModelListeners(model: BeInspireTree<TreeNodeItem>) {\r\n model.on(BeInspireTreeEvent.ChangesApplied, this._onModelChanged);\r\n model.on(BeInspireTreeEvent.ModelLoaded, this._onModelLoaded);\r\n model.on(BeInspireTreeEvent.ChildrenLoaded, this._onChildrenLoaded);\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n model.ready.then(() => {\r\n // istanbul ignore else\r\n if (model === this.state.model)\r\n this._onModelReady();\r\n });\r\n }\r\n\r\n private dropModelListeners(model: BeInspireTree<TreeNodeItem>) {\r\n model.removeAllListeners();\r\n }\r\n\r\n private assignDataProviderListeners(provider: TreeDataProvider) {\r\n if (isTreeDataProviderInterface(provider) && provider.onTreeNodeChanged) {\r\n provider.onTreeNodeChanged.addListener(this._onTreeNodeChanged);\r\n }\r\n }\r\n\r\n private dropDataProviderListeners(provider: TreeDataProvider) {\r\n if (isTreeDataProviderInterface(provider) && provider.onTreeNodeChanged) {\r\n provider.onTreeNodeChanged.removeListener(this._onTreeNodeChanged);\r\n }\r\n }\r\n\r\n private _handleUpdate = (args: BreadcrumbUpdateEventArgs) => {\r\n if (args.currentNode && this._mounted) {\r\n const current = this.state.model.node(args.currentNode.id);\r\n if (current) {\r\n const p = current.getTextualHierarchy().join(this.props.delimiter);\r\n this.setState({ current: args.currentNode, pathString: p });\r\n }\r\n } else {\r\n this.setState({ current: undefined, pathString: \"\" });\r\n }\r\n };\r\n\r\n private _onModelLoaded = (rootNodes: BeInspireTreeNodes<TreeNodeItem>) => {\r\n if (this.props.onRootNodesLoaded)\r\n this.props.onRootNodesLoaded(rootNodes.map((n) => n.payload!));\r\n const current = this.state.current ? this.state.model.node(this.state.current.id) : undefined;\r\n const p = current ? current.getTextualHierarchy().join(this.props.delimiter) : \"\";\r\n if (p !== this.state.pathString)\r\n this.setState({ pathString: p });\r\n };\r\n\r\n private _onChildrenLoaded = (parentNode: BeInspireTreeNode<TreeNodeItem>) => {\r\n const children = parentNode.getChildren();\r\n if (this.props.onChildrenLoaded)\r\n this.props.onChildrenLoaded(parentNode.payload!, toNodes<TreeNodeItem>(children).map((c) => c.payload!));\r\n const current = this.state.current ? this.state.model.node(this.state.current.id) : undefined;\r\n const p = current ? current.getTextualHierarchy().join(this.props.delimiter) : \"\";\r\n if (p !== this.state.pathString)\r\n this.setState({ pathString: p });\r\n };\r\n\r\n private _onModelChanged = () => {\r\n // just re-set the model to initiate update\r\n this.setState((prev) => ({ model: prev.model }));\r\n };\r\n\r\n private _onModelReady = () => {\r\n // istanbul ignore else\r\n if (this._mounted) {\r\n const current = this.state.current ? this.state.model.node(this.state.current.id) : undefined;\r\n this.setState((_prevState, props) => ({ modelReady: true, pathString: current ? current.getTextualHierarchy().join(props.delimiter) : \"\" }));\r\n }\r\n };\r\n\r\n private _onTreeNodeChanged = (_items: Array<TreeNodeItem | undefined>) => {\r\n using(this.state.model.pauseRendering(), async (_r) => { // eslint-disable-line @typescript-eslint/no-floating-promises\r\n await this.state.model.reload();\r\n });\r\n };\r\n\r\n private static inspireNodeFromTreeNodeItem(item: TreeNodeItem, remapper: MapPayloadToInspireNodeCallback<TreeNodeItem>): BeInspireTreeNodeConfig {\r\n const node: BeInspireTreeNodeConfig = {\r\n id: item.id,\r\n text: getPropertyRecordAsString(item.label),\r\n itree: {\r\n state: { collapsed: false },\r\n },\r\n };\r\n if (item.icon)\r\n node.itree!.icon = item.icon;\r\n if ((item as DelayLoadedTreeNodeItem).hasChildren)\r\n node.children = true;\r\n else if ((item as ImmediatelyLoadedTreeNodeItem).children)\r\n node.children = (item as ImmediatelyLoadedTreeNodeItem).children!.map((p) => remapper(p, remapper));\r\n return node;\r\n }\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n const classNames = classnames(\"components-breadcrumb\", this.props.background && \"background\", this.props.className);\r\n\r\n if (!this.state.modelReady) {\r\n return (\r\n <div className={classNames} style={this.props.style} />\r\n );\r\n }\r\n const node = this.state.current ? this.state.model.node(this.state.current.id) : undefined;\r\n return (\r\n <div\r\n className={classNames} style={this.props.style}>\r\n <div className=\"components-breadcrumb-head\"\r\n data-testid=\"components-breadcrumb-dropdown-input-parent\">\r\n {this.props.dropdownOnly || this.props.staticOnly ?\r\n <BreadcrumbDropdown\r\n tree={this.state.model}\r\n node={node}\r\n onNodeChange={this._handleNodeChange}\r\n onInputStart={this._setInput}\r\n renderNode={this.props.renderNode}\r\n staticOnly={this.props.staticOnly}\r\n showUpDir={this.props.showUpDir}\r\n parentsOnly={this.props.parentsOnly}\r\n width={this.props.width!}\r\n expandedNode={this.props.expandedNodes} /> :\r\n <InputSwitch\r\n tree={this.state.model}\r\n node={node}\r\n pathString={this.state.pathString}\r\n currentMode={this.state.currentMode}\r\n onInputStart={this._setInput}\r\n onInputCancel={this._setDropdown}\r\n onNodeChange={this._handleNodeChange}\r\n width={this.props.width!}\r\n showUpDir={this.props.showUpDir}\r\n parentsOnly={this.props.parentsOnly}\r\n delimiter={this.props.delimiter!}\r\n onOutsideClick={this._setDropdown}\r\n renderNode={this.props.renderNode}\r\n expandedNode={this.props.expandedNodes} />\r\n }\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n private _setDropdown = () => this.setState({ currentMode: BreadcrumbMode.Dropdown });\r\n private _setInput = () => this.setState({ currentMode: BreadcrumbMode.Input });\r\n\r\n private _handleNodeChange = (node: TreeNodeItem | undefined) => {\r\n if (this.props.path)\r\n this.props.path.setCurrentNode(node);\r\n else {\r\n if (!node) {\r\n this.setState({ current: undefined, pathString: \"\" });\r\n } else {\r\n const current = this.state.current ? this.state.model.node(this.state.current.id) : undefined;\r\n const p = current ? current.getTextualHierarchy().join(this.props.delimiter) : \"\";\r\n this.setState({ current: node, pathString: p });\r\n }\r\n }\r\n if (this.state.currentMode !== BreadcrumbMode.Dropdown)\r\n this._setDropdown();\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport interface InputSwitchProps {\r\n tree: BeInspireTree<TreeNodeItem>;\r\n node?: BeInspireTreeNode<TreeNodeItem>;\r\n pathString: string;\r\n currentMode: BreadcrumbMode;\r\n onInputStart?: () => void;\r\n onInputCancel: () => void;\r\n onNodeChange: (node?: TreeNodeItem) => void;\r\n showUpDir?: boolean;\r\n parentsOnly?: boolean;\r\n renderNode?: BreadcrumbNodeRenderer;\r\n width: number | string;\r\n delimiter: string;\r\n expandedNode?: boolean;\r\n}\r\n\r\n/** @internal */\r\nexport class InputSwitchComponent extends React.PureComponent<InputSwitchProps> {\r\n public override render(): React.ReactNode {\r\n const { currentMode, tree, node, onInputStart, onInputCancel, onNodeChange, renderNode, width, showUpDir, delimiter, expandedNode } = this.props;\r\n switch (currentMode) {\r\n case BreadcrumbMode.Dropdown:\r\n return <BreadcrumbDropdown tree={tree} node={node} onNodeChange={onNodeChange} renderNode={renderNode} onInputStart={onInputStart}\r\n parentsOnly={this.props.parentsOnly} showUpDir={showUpDir} width={width} expandedNode={expandedNode} />;\r\n case BreadcrumbMode.Input:\r\n return <BreadcrumbInput tree={tree} node={node} onNodeChange={onNodeChange} onCancel={onInputCancel}\r\n parentsOnly={this.props.parentsOnly} delimiter={delimiter} width={width} pathString={this.props.pathString} />;\r\n default:\r\n return <div data-testid=\"components-breadcrumb-error-unknown-mode\">{UiComponents.translate(\"breadcrumb.errorUnknownMode\")}</div>;\r\n }\r\n }\r\n}\r\n/** @internal */\r\nconst InputSwitch = withOnOutsideClick(InputSwitchComponent); // eslint-disable-line @typescript-eslint/naming-convention\r\n\r\n/** @internal */\r\nexport interface BreadcrumbInputProps {\r\n width: number | string;\r\n delimiter?: string;\r\n\r\n onCancel: () => void;\r\n onNodeChange: (node: TreeNodeItem | undefined) => void;\r\n parentsOnly?: boolean;\r\n\r\n tree: BeInspireTree<TreeNodeItem>;\r\n node?: BeInspireTreeNode<TreeNodeItem>;\r\n\r\n pathString: string;\r\n}\r\n\r\n/** @internal */\r\nexport interface BreadcrumbInputState {\r\n autocompleting: boolean;\r\n autocompleteList: string[];\r\n messageBoxOpened: boolean;\r\n}\r\n\r\n/** @internal */\r\nexport class BreadcrumbInput extends React.Component<BreadcrumbInputProps, BreadcrumbInputState> {\r\n private _inputElement: HTMLInputElement | null = null;\r\n private _autocomplete: ContextMenu | null = null;\r\n private _mounted: boolean = false;\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<BreadcrumbInputState> = {\r\n autocompleting: false,\r\n autocompleteList: [],\r\n messageBoxOpened: false,\r\n };\r\n\r\n public override render(): JSX.Element {\r\n return (\r\n <div className=\"components-breadcrumb-input-root\" data-testid=\"components-breadcrumb-input-root\">\r\n <input\r\n className=\"components-breadcrumb-input\"\r\n data-testid=\"components-breadcrumb-input\"\r\n type=\"text\"\r\n ref={(e) => { this._inputElement = e; }}\r\n style={{ width: this.props.width }}\r\n onKeyDown={this._handleKeyDown} onKeyUp={this._handleKeyUp}\r\n onChange={this._handleChange} onPaste={this._handleChange} onCut={this._handleChange} onFocus={this._handleChange} onClick={this._handleChange}\r\n spellCheck={false}></input>\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <div className=\"components-breadcrumb-close icon icon-close\" data-testid=\"components-breadcrumb-input-close\" onClick={this._handleClose}\r\n role=\"button\" tabIndex={-1} />\r\n <ContextMenu\r\n ref={(el) => { this._autocomplete = el; }}\r\n style={{ width: \"100%\" }}\r\n opened={this.state.autocompleting}\r\n edgeLimit={false}\r\n selectedIndex={0} floating={false} autoflip={false}\r\n onEsc={() => {\r\n // istanbul ignore else\r\n if (this._inputElement)\r\n this._inputElement.focus();\r\n }}\r\n >\r\n {this.state.autocompleteList.map((listItem, index) => {\r\n let l = 0;\r\n // istanbul ignore else\r\n if (this._inputElement) {\r\n l = this._inputElement.value.length;\r\n }\r\n return (\r\n <ContextMenuItem\r\n key={index}\r\n onSelect={(event) => {\r\n // istanbul ignore else\r\n if (this._inputElement) {\r\n this._inputElement.value = listItem;\r\n this._inputElement.focus();\r\n this._inputElement.setSelectionRange(listItem.length, listItem.length);\r\n\r\n const autocompleteStr = this._inputElement.value.substring(0, this._inputElement.selectionEnd!);\r\n this._getAutocompleteList(autocompleteStr).then((list) => { // eslint-disable-line @typescript-eslint/no-floating-promises\r\n // istanbul ignore else\r\n if (this._mounted)\r\n this.setState({\r\n autocompleting: false,\r\n autocompleteList: list,\r\n });\r\n });\r\n event.stopPropagation();\r\n }\r\n }}>\r\n <span className=\"components-breadcrumb-selected\">{listItem.substr(0, l)}</span>{listItem.substr(l)}\r\n </ContextMenuItem>\r\n );\r\n })}\r\n </ContextMenu>\r\n <MessageBox opened={this.state.messageBoxOpened} modal={false} onClose={this._handleMessageBoxClose} severity={MessageSeverity.Warning} buttonCluster={[{ type: DialogButtonType.OK, onClick: this._handleMessageBoxClose }]}>\r\n {UiComponents.translate(\"breadcrumb.invalidBreadcrumbPath\")}\r\n </MessageBox>\r\n </div>\r\n );\r\n }\r\n\r\n private _handleMessageBoxClose = () => {\r\n this.setState({ messageBoxOpened: false });\r\n };\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._mounted = true;\r\n // istanbul ignore else\r\n if (this._inputElement) {\r\n const activeWindow = this._inputElement.ownerDocument.defaultView;\r\n activeWindow && activeWindow.addEventListener(\"click\", this._handleClick);\r\n this._inputElement.value = this.props.pathString;\r\n this._inputElement.focus();\r\n }\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n // istanbul ignore else\r\n if (this._inputElement) {\r\n const activeWindow = this._inputElement.ownerDocument.defaultView;\r\n activeWindow && activeWindow.removeEventListener(\"click\", this._handleClick);\r\n }\r\n this._mounted = false;\r\n }\r\n\r\n private _handleClose = () => {\r\n this.props.onCancel();\r\n this.setState({ autocompleting: false });\r\n };\r\n\r\n private _getAutocompleteList = async (path: string) => {\r\n const node = await this._findChildParentPartial(path);\r\n if (node) {\r\n const baseString = node.getTextualHierarchy().join(this.props.delimiter);\r\n const children = node.getChildren();\r\n const parentChildren = this.props.parentsOnly ? children.filter((child) => child.hasOrWillHaveChildren()) : children;\r\n const strList = parentChildren.map((n) => baseString + this.props.delimiter! + n.toString());\r\n return strList.filter((e) => e.substr(0, path.length) === path);\r\n } else {\r\n const nodes = this.props.tree.nodes();\r\n const parentRoots = this.props.parentsOnly ? nodes.filter((child) => child.hasOrWillHaveChildren()) : nodes;\r\n const strList = parentRoots.map((n) => n.toString() + this.props.delimiter!);\r\n return strList.filter((e) => e.substr(0, path.length) === path);\r\n }\r\n };\r\n\r\n private _findChildUserInput = async (p: string): Promise<BeInspireTreeNode<TreeNodeItem> | undefined> => {\r\n const delimiter = this.props.delimiter!;\r\n if (p.endsWith(delimiter)) // strip last delimiter if at end\r\n p = p.substr(0, p.length - delimiter.length);\r\n const root = this.props.tree.nodes();\r\n for (const node of root) {\r\n const found = await this._find(node, p);\r\n if (found)\r\n return found;\r\n }\r\n return undefined;\r\n };\r\n private _findChildParentPartial = async (p: string): Promise<BeInspireTreeNode<TreeNodeItem> | undefined> => {\r\n const delimiter = this.props.delimiter!;\r\n const lastDel = p.lastIndexOf(delimiter);\r\n if (lastDel !== -1) // strip last delimiter and everything after\r\n p = p.substring(0, lastDel);\r\n else\r\n return undefined;\r\n const root = this.props.tree.nodes();\r\n for (const node of root) {\r\n const found = await this._find(node, p);\r\n if (found)\r\n return found;\r\n }\r\n return undefined;\r\n };\r\n private _find = async (node: BeInspireTreeNode<TreeNodeItem>, p: string): Promise<BeInspireTreeNode<TreeNodeItem> | undefined> => {\r\n const delimiter = this.props.delimiter!;\r\n // remove leading delimiter\r\n if (p.indexOf(delimiter) === 0)\r\n p = p.substr(delimiter.length);\r\n const { text } = node;\r\n if (text === p) {\r\n return node;\r\n }\r\n if (p.indexOf(text) === 0 && node.hasOrWillHaveChildren()) {\r\n const children = node.getChildren();\r\n for (const child of children) {\r\n const n = await this._find(child as BeInspireTreeNode<TreeNodeItem>, p.substr(text.length));\r\n if (n)\r\n return n;\r\n }\r\n }\r\n return undefined;\r\n };\r\n\r\n private _handleClick = (event: MouseEvent): void => {\r\n // istanbul ignore else\r\n if (this._autocomplete) {\r\n // istanbul ignore else\r\n if (this._inputElement && event.target === this._inputElement) {\r\n this.setState({ autocompleting: false });\r\n this._inputElement.focus();\r\n }\r\n }\r\n };\r\n\r\n private _handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n switch (event.key) {\r\n case SpecialKey.ArrowUp:\r\n case SpecialKey.ArrowDown:\r\n event.preventDefault();\r\n }\r\n };\r\n private _handleKeyUp = async (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n switch (event.key) {\r\n case SpecialKey.Escape:\r\n // istanbul ignore else\r\n if (this._mounted)\r\n this.setState({ autocompleting: false });\r\n break;\r\n case SpecialKey.ArrowUp:\r\n case SpecialKey.ArrowDown:\r\n event.preventDefault();\r\n // istanbul ignore else\r\n if (this._autocomplete && this.state.autocompleteList.length > 0) {\r\n this._autocomplete.focus();\r\n // istanbul ignore else\r\n if (this._mounted)\r\n this.setState({ autocompleting: true });\r\n }\r\n break;\r\n case SpecialKey.Enter:\r\n // istanbul ignore else\r\n if (this._inputElement) {\r\n const path = this._inputElement.value;\r\n if (path === \"\" || path === this.props.delimiter!) {\r\n this.props.onNodeChange(undefined);\r\n // istanbul ignore else\r\n if (this._mounted)\r\n this.setState({ autocompleting: false });\r\n } else {\r\n const node = await this._findChildUserInput(path);\r\n if (node === undefined)\r\n this.setState({ messageBoxOpened: true });\r\n else\r\n this.props.onNodeChange(node.payload);\r\n }\r\n }\r\n break;\r\n }\r\n };\r\n\r\n private _handleChange = (): void => {\r\n // istanbul ignore else\r\n if (this._inputElement) {\r\n const autocompleteStr = this._inputElement.value.substring(0, this._inputElement.selectionEnd!);\r\n this._getAutocompleteList(autocompleteStr).then((list) => { // eslint-disable-line @typescript-eslint/no-floating-promises\r\n if (this._mounted)\r\n this.setState({\r\n autocompleting: list.length > 0,\r\n autocompleteList: list,\r\n });\r\n });\r\n }\r\n };\r\n}\r\n\r\n/** @internal */\r\ninterface BreadcrumbDropdownProps {\r\n tree: BeInspireTree<TreeNodeItem>;\r\n node?: BeInspireTreeNode<TreeNodeItem>;\r\n onInputStart?: () => void;\r\n onNodeChange: (node: TreeNodeItem | undefined) => void;\r\n staticOnly?: boolean;\r\n parentsOnly?: boolean;\r\n delimiter?: string;\r\n width: number | string;\r\n showUpDir?: boolean;\r\n renderNode?: BreadcrumbNodeRenderer;\r\n expandedNode?: boolean;\r\n}\r\n\r\n/** @internal */\r\nclass BreadcrumbDropdown extends React.Component<BreadcrumbDropdownProps> {\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this.props.tree.on(BeInspireTreeEvent.ChildrenLoaded, this._onChildrenLoaded);\r\n this.props.tree.on(BeInspireTreeEvent.ModelLoaded, this._onModelLoaded);\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this.props.tree.removeListener(BeInspireTreeEvent.ChildrenLoaded, this._onChildrenLoaded);\r\n this.props.tree.removeListener(BeInspireTreeEvent.ModelLoaded, this._onModelLoaded);\r\n }\r\n\r\n private _onModelLoaded = (_rootNodes: BeInspireTreeNodes<TreeNodeItem>) => {\r\n this.forceUpdate();\r\n };\r\n\r\n private _onChildrenLoaded = (_parentNode: BeInspireTreeNode<TreeNodeItem>) => {\r\n this.forceUpdate();\r\n };\r\n\r\n /** @internal */\r\n public override shouldComponentUpdate(nextProps: BreadcrumbDropdownProps) {\r\n return this.props.tree !== nextProps.tree ||\r\n this.props.node !== nextProps.node ||\r\n (nextProps.node && /* istanbul ignore next */ nextProps.node.isDirty()) ||\r\n this.props.onInputStart !== nextProps.onInputStart ||\r\n this.props.delimiter !== nextProps.delimiter ||\r\n this.props.width !== nextProps.width ||\r\n this.props.renderNode !== nextProps.renderNode;\r\n }\r\n\r\n public override render(): JSX.Element | null {\r\n const node = this.props.node;\r\n let nodes: BeInspireTreeNodes<TreeNodeItem> | undefined;\r\n if (node) {\r\n nodes = toNodes<TreeNodeItem>(node.getParents());\r\n nodes.reverse();\r\n nodes.push(node);\r\n }\r\n return (\r\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\r\n <div\r\n className=\"components-breadcrumb-dropdown\"\r\n data-testid=\"components-breadcrumb-dropdown-background\"\r\n style={{ width: this.props.width }}\r\n onClick={this._focusInput}\r\n role=\"button\" tabIndex={-1}\r\n >\r\n {!this.props.staticOnly && this.props.showUpDir ?\r\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\r\n <div data-testid=\"components-breadcrumb-up-dir\"\r\n className={classnames(\r\n \"components-breadcrumb-up-dir\",\r\n \"icon\", \"icon-sort-up\",\r\n { root: this.props.node === undefined })\r\n } onClick={this._handleUpClick} role=\"button\" tabIndex={-1} />\r\n : undefined\r\n }\r\n <div className=\"components-breadcrumb-crumb-list\"\r\n data-testid=\"components-breadcrumb-crumb-list\">\r\n <BreadcrumbDropdownNode\r\n key={-1}\r\n tree={this.props.tree}\r\n node={undefined}\r\n onNodeSelected={this.props.onNodeChange}\r\n staticOnly={this.props.staticOnly}\r\n parentsOnly={this.props.parentsOnly}\r\n last={!nodes || nodes.length === 0}\r\n renderNode={this.props.renderNode}\r\n expandedNode={this.props.expandedNode} />\r\n {nodes && nodes.map((n, i) => {\r\n return (\r\n <BreadcrumbDropdownNode\r\n key={i}\r\n tree={this.props.tree}\r\n node={n}\r\n onNodeSelected={this.props.onNodeChange}\r\n staticOnly={this.props.staticOnly}\r\n parentsOnly={this.props.parentsOnly}\r\n last={i === nodes!.length - 1}\r\n renderNode={this.props.renderNode}\r\n expandedNode={this.props.expandedNode} />\r\n );\r\n })}\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n private _handleUpClick = () => {\r\n let parent: TreeNodeItem | undefined;\r\n if (this.props.node) {\r\n const p = (this.props.node.getParent()) as BeInspireTreeNode<TreeNodeItem>;\r\n if (p)\r\n parent = p.payload;\r\n }\r\n this.props.onNodeChange(parent);\r\n };\r\n\r\n private _focusInput = (event: React.MouseEvent) => {\r\n if (event.target === event.currentTarget && this.props.onInputStart) // check if click is direct, or bubbled\r\n this.props.onInputStart();\r\n };\r\n}\r\n\r\n/** @internal */\r\ninterface BreadcrumbDropdownNodeProps {\r\n tree: BeInspireTree<TreeNodeItem>;\r\n node?: BeInspireTreeNode<TreeNodeItem>;\r\n onNodeSelected: (node: TreeNodeItem | undefined) => void;\r\n staticOnly?: boolean;\r\n parentsOnly?: boolean;\r\n last?: boolean;\r\n renderNode?: BreadcrumbNodeRenderer;\r\n expandedNode?: boolean;\r\n}\r\n\r\n/** @internal */\r\nclass BreadcrumbDropdownNode extends React.Component<BreadcrumbDropdownNodeProps> {\r\n constructor(props: BreadcrumbDropdownNodeProps) {\r\n super(props);\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n const { node } = this.props;\r\n let nodeChildren: Array<BeInspireTreeNode<TreeNodeItem>> = this.props.tree.nodes();\r\n if (node)\r\n nodeChildren = toNodes<TreeNodeItem>(node.getChildren());\r\n const n = node && node.payload;\r\n let parent: TreeNodeItem | undefined;\r\n if (node) {\r\n const p = node.getParent() as BeInspireTreeNode<TreeNodeItem>;\r\n if (p)\r\n parent = p.payload;\r\n }\r\n const label = n && n.label ? n.label : PropertyRecord.fromString(\"\");\r\n const icon = n && n.icon ? n.icon : \"icon-browse\";\r\n const renderNode = this.props.renderNode ? this.props.renderNode : this.renderNode;\r\n if (this.props.parentsOnly)\r\n nodeChildren = nodeChildren.filter((child) => child.hasOrWillHaveChildren());\r\n if (nodeChildren.length > 0) {\r\n if (this.props.staticOnly) {\r\n return <span data-testid=\"components-breadcrumb-static-button\" className=\"components-breadcrumb-split-button static\">\r\n {renderNode({ label, icon }, n, parent)}\r\n {!this.props.last ? <span className=\"static-arrow-icon icon icon-chevron-right\" /> : undefined}\r\n </span>;\r\n }\r\n return (\r\n <SplitButton\r\n className=\"components-breadcrumb-split-button\"\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n this.props.onNodeSelected(n);\r\n }}\r\n label={renderNode({ label, icon }, n, parent)}\r\n initialExpanded={this.props.expandedNode}\r\n >\r\n {nodeChildren.map((child, d) => {\r\n return (\r\n <ContextMenuItem\r\n key={d}\r\n icon={child.payload!.icon}\r\n onSelect={(_event) => {\r\n this.props.onNodeSelected(child.payload);\r\n }}>\r\n {PropertyValueRendererManager.defaultManager.render(child.payload!.label)}\r\n </ContextMenuItem>\r\n );\r\n })}\r\n </SplitButton>\r\n );\r\n } else {\r\n return (\r\n <span className={classnames(\"components-breadcrumb-end-node\", { static: this.props.staticOnly })}>\r\n {renderNode({ label, icon }, n, parent)}\r\n </span>\r\n );\r\n }\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private renderNode = (props: BreadcrumbNodeProps, _node?: TreeNodeItem, _parent?: TreeNodeItem) => {\r\n return <BreadcrumbNode label={props.label} icon={props.icon} />;\r\n };\r\n}\r\n\r\n/** Properties for [[BreadcrumbNode]] component\r\n * @beta\r\n * @deprecated in 3.0. Obsolete.\r\n */\r\nexport interface BreadcrumbNodeProps {\r\n /** Icon class string */\r\n icon: string;\r\n /** Node label */\r\n label: PropertyRecord;\r\n /** @internal */\r\n onRender?: () => void;\r\n}\r\n\r\n/** Default BreadcrumbNode component\r\n * @beta\r\n * @deprecated in 3.0. Obsolete.\r\n */\r\nexport class BreadcrumbNode extends React.Component<BreadcrumbNodeProps> {\r\n constructor(props: BreadcrumbNodeProps) {\r\n super(props);\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n const { icon, label } = this.props;\r\n return <span data-testid=\"components-breadcrumb-node\"><span className={classnames(\"icon\", icon)} />{PropertyValueRendererManager.defaultManager.render(label)}</span>;\r\n }\r\n\r\n public override componentDidMount() {\r\n // istanbul ignore next\r\n if (this.props.onRender)\r\n this.props.onRender();\r\n }\r\n\r\n public override componentDidUpdate() {\r\n // istanbul ignore next\r\n if (this.props.onRender)\r\n this.props.onRender();\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Breadcrumb.js","sourceRoot":"","sources":["../../../../src/components-react/breadcrumb/Breadcrumb.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 Breadcrumb\r\n */\r\n\r\nimport \"./Breadcrumb.scss\";\r\nimport classnames from \"classnames\";\r\nimport * as React from \"react\";\r\nimport { using } from \"@itwin/core-bentley\";\r\nimport { MessageSeverity, PropertyRecord, SpecialKey } from \"@itwin/appui-abstract\";\r\nimport { CommonProps, ContextMenu, ContextMenuItem, DialogButtonType, MessageBox, SplitButton, withOnOutsideClick } from \"@itwin/core-react\";\r\nimport { PropertyValueRendererManager } from \"../properties/ValueRendererManager\";\r\nimport {\r\n DelayLoadedTreeNodeItem, ImmediatelyLoadedTreeNodeItem, isTreeDataProviderInterface, TreeDataProvider, TreeNodeItem,\r\n} from \"../tree/TreeDataProvider\";\r\nimport { UiComponents } from \"../UiComponents\";\r\nimport {\r\n BeInspireTree, BeInspireTreeEvent, BeInspireTreeNode, BeInspireTreeNodeConfig, BeInspireTreeNodes, MapPayloadToInspireNodeCallback, toNodes,\r\n} from \"./BeInspireTree\";\r\nimport { BreadcrumbPath, BreadcrumbUpdateEventArgs } from \"./BreadcrumbPath\";\r\nimport { getPropertyRecordAsString } from \"./BreadcrumbTreeUtils\";\r\n\r\n/* eslint-disable deprecation/deprecation */\r\n// cspell:ignore itree autocompleting\r\n\r\n/** @internal */\r\nexport type BreadcrumbNodeRenderer = (props: BreadcrumbNodeProps, node?: TreeNodeItem, parent?: TreeNodeItem) => React.ReactNode;\r\n\r\n/** Properties for [[Breadcrumb]] component\r\n * @beta\r\n * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.\r\n */\r\nexport interface BreadcrumbProps extends CommonProps {\r\n /** Manager to coordinate state between Breadcrumb element and BreadcrumbDetails element. */\r\n path?: BreadcrumbPath;\r\n /** Data provider for tree content */\r\n dataProvider: TreeDataProvider;\r\n /** Initial current node */\r\n initialCurrent?: TreeNodeItem;\r\n /** Character used to separate discrete tree nodes in Breadcrumb text mode. Default: \"\\\\\" */\r\n delimiter?: string;\r\n /** Width in pixels, if number, and in specified css units, if string. Default: \"15em\" */\r\n width?: number | string;\r\n /** Whether to show up-dir directory pop button on the left. Default: true */\r\n showUpDir?: boolean;\r\n /** Which BreadcrumbMode to initially start with. Default: BreadcrumbMode.Dropdown */\r\n initialBreadcrumbMode?: BreadcrumbMode;\r\n /** Whether to show white background and border. Default: true */\r\n background?: boolean;\r\n /** Static breadcrumb element. Default: false */\r\n staticOnly?: boolean;\r\n /** Disable plain-text input for the breadcrumb navigation. Default: false */\r\n dropdownOnly?: boolean;\r\n /** Whether to disallow navigation to leaf nodes (nodes with no children). Default: true */\r\n parentsOnly?: boolean;\r\n /** Callback triggered when child node is loaded with an asynchronous dataProvider. */\r\n onChildrenLoaded?: (parent: TreeNodeItem, children: TreeNodeItem[]) => void;\r\n /** Callback triggered when root nodes are loaded with an asynchronous dataProvider. */\r\n onRootNodesLoaded?: (nodes: TreeNodeItem[]) => void;\r\n\r\n /** @internal */\r\n renderNode?: BreadcrumbNodeRenderer;\r\n /** @internal */\r\n onRender?: () => void;\r\n /** @internal */\r\n expandedNodes?: boolean;\r\n}\r\n\r\n/** Enum for Breadcrumb Mode\r\n * @beta\r\n * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.\r\n */\r\nexport enum BreadcrumbMode {\r\n Dropdown = \"dropdown\",\r\n Input = \"input\",\r\n}\r\n\r\n/** @internal */\r\ninterface BreadcrumbState {\r\n prev: {\r\n dataProvider: TreeDataProvider;\r\n modelReady: boolean;\r\n };\r\n model: BeInspireTree<TreeNodeItem>;\r\n modelReady: boolean;\r\n width: number | string;\r\n current?: TreeNodeItem;\r\n currentMode: BreadcrumbMode;\r\n pathString: string;\r\n}\r\n\r\n/**\r\n * Breadcrumb navigation component, with two discrete modes: text mode and dropdown mode.\r\n * Text mode includes autocomplete suggestions.\r\n * Both dropdown and text mode support arrow and tab navigation.\r\n * @beta\r\n * @deprecated in 3.0. Use Breadcrumbs from @itwin/itwinui-react.\r\n */\r\nexport class Breadcrumb extends React.Component<BreadcrumbProps, BreadcrumbState> {\r\n private _mounted: boolean = false;\r\n\r\n /** @internal */\r\n public static defaultProps: Partial<BreadcrumbProps> = {\r\n delimiter: \"\\\\\",\r\n background: true,\r\n initialBreadcrumbMode: BreadcrumbMode.Dropdown,\r\n showUpDir: true,\r\n parentsOnly: true,\r\n width: \"\",\r\n };\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<BreadcrumbState>;\r\n\r\n /** @internal */\r\n constructor(props: BreadcrumbProps) {\r\n super(props);\r\n\r\n this.state = {\r\n prev: {\r\n dataProvider: props.dataProvider,\r\n modelReady: false,\r\n },\r\n model: Breadcrumb.createModel(props),\r\n modelReady: false,\r\n width: props.width!,\r\n currentMode: props.initialBreadcrumbMode!,\r\n current: props.initialCurrent,\r\n pathString: \"\",\r\n };\r\n }\r\n\r\n private static createModel(props: BreadcrumbProps) {\r\n return new BeInspireTree<TreeNodeItem>({\r\n dataProvider: props.dataProvider,\r\n mapPayloadToInspireNodeConfig: Breadcrumb.inspireNodeFromTreeNodeItem,\r\n });\r\n }\r\n\r\n /** @internal */\r\n public static getDerivedStateFromProps(props: BreadcrumbProps, state: BreadcrumbState): BreadcrumbState | null {\r\n const providerChanged = (props.dataProvider !== state.prev.dataProvider);\r\n\r\n // create derived state that just updates `prev` values\r\n const derivedState: BreadcrumbState = {\r\n ...state,\r\n prev: {\r\n ...state.prev,\r\n dataProvider: props.dataProvider,\r\n modelReady: state.modelReady,\r\n },\r\n };\r\n\r\n // in case provider changed, have to re-create `model` and reset `modelReady`\r\n if (providerChanged) {\r\n derivedState.model = Breadcrumb.createModel(props);\r\n derivedState.modelReady = false;\r\n }\r\n\r\n return derivedState;\r\n }\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._mounted = true;\r\n this.assignModelListeners(this.state.model);\r\n this.assignDataProviderListeners(this.props.dataProvider);\r\n\r\n if (this.props.path) {\r\n this.props.path.setDataProvider(this.props.dataProvider);\r\n this.props.path.BreadcrumbUpdateEvent.addListener(this._handleUpdate);\r\n }\r\n\r\n /* istanbul ignore next */\r\n if (this.props.onRender)\r\n this.props.onRender();\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n if (this.props.path)\r\n this.props.path.BreadcrumbUpdateEvent.removeListener(this._handleUpdate);\r\n this.dropModelListeners(this.state.model);\r\n this.dropDataProviderListeners(this.props.dataProvider);\r\n this._mounted = false;\r\n }\r\n\r\n /** @internal */\r\n public override shouldComponentUpdate(nextProps: BreadcrumbProps, nextState: BreadcrumbState): boolean {\r\n if (this.state.modelReady !== nextState.modelReady || this.state.model !== nextState.model) {\r\n // always render when modelReady or model changes\r\n return true;\r\n }\r\n\r\n if (!nextState.modelReady) {\r\n // if we got here and model is not ready - don't render\r\n return false;\r\n }\r\n\r\n // otherwise, render when any of the following props / state change\r\n return this.props.renderNode !== nextProps.renderNode\r\n || this.props.dataProvider !== nextProps.dataProvider\r\n || this.props.background !== nextProps.background\r\n || this.props.dropdownOnly !== nextProps.dropdownOnly\r\n || this.props.parentsOnly !== nextProps.parentsOnly\r\n || this.props.showUpDir !== nextProps.showUpDir\r\n || this.state.current !== nextState.current\r\n || this.state.pathString !== nextState.pathString\r\n || this.state.currentMode !== nextState.currentMode\r\n || this.state.model.visible().some((n) => n.isDirty());\r\n }\r\n\r\n /** @internal */\r\n public override componentDidUpdate(prevProps: BreadcrumbProps, prevState: BreadcrumbState) {\r\n if (this.state.model !== prevState.model) {\r\n this.dropModelListeners(prevState.model);\r\n this.assignModelListeners(this.state.model);\r\n }\r\n\r\n if (this.props.dataProvider !== prevProps.dataProvider) {\r\n this.dropDataProviderListeners(prevProps.dataProvider);\r\n this.assignDataProviderListeners(this.props.dataProvider);\r\n }\r\n\r\n /* istanbul ignore next */\r\n if (this.props.onRender)\r\n this.props.onRender();\r\n }\r\n\r\n private assignModelListeners(model: BeInspireTree<TreeNodeItem>) {\r\n model.on(BeInspireTreeEvent.ChangesApplied, this._onModelChanged);\r\n model.on(BeInspireTreeEvent.ModelLoaded, this._onModelLoaded);\r\n model.on(BeInspireTreeEvent.ChildrenLoaded, this._onChildrenLoaded);\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n model.ready.then(() => {\r\n // istanbul ignore else\r\n if (model === this.state.model)\r\n this._onModelReady();\r\n });\r\n }\r\n\r\n private dropModelListeners(model: BeInspireTree<TreeNodeItem>) {\r\n model.removeAllListeners();\r\n }\r\n\r\n private assignDataProviderListeners(provider: TreeDataProvider) {\r\n if (isTreeDataProviderInterface(provider) && provider.onTreeNodeChanged) {\r\n provider.onTreeNodeChanged.addListener(this._onTreeNodeChanged);\r\n }\r\n }\r\n\r\n private dropDataProviderListeners(provider: TreeDataProvider) {\r\n if (isTreeDataProviderInterface(provider) && provider.onTreeNodeChanged) {\r\n provider.onTreeNodeChanged.removeListener(this._onTreeNodeChanged);\r\n }\r\n }\r\n\r\n private _handleUpdate = (args: BreadcrumbUpdateEventArgs) => {\r\n if (args.currentNode && this._mounted) {\r\n const current = this.state.model.node(args.currentNode.id);\r\n if (current) {\r\n const p = current.getTextualHierarchy().join(this.props.delimiter);\r\n this.setState({ current: args.currentNode, pathString: p });\r\n }\r\n } else {\r\n this.setState({ current: undefined, pathString: \"\" });\r\n }\r\n };\r\n\r\n private _onModelLoaded = (rootNodes: BeInspireTreeNodes<TreeNodeItem>) => {\r\n if (this.props.onRootNodesLoaded)\r\n this.props.onRootNodesLoaded(rootNodes.map((n) => n.payload!));\r\n const current = this.state.current ? this.state.model.node(this.state.current.id) : undefined;\r\n const p = current ? current.getTextualHierarchy().join(this.props.delimiter) : \"\";\r\n if (p !== this.state.pathString)\r\n this.setState({ pathString: p });\r\n };\r\n\r\n private _onChildrenLoaded = (parentNode: BeInspireTreeNode<TreeNodeItem>) => {\r\n const children = parentNode.getChildren();\r\n if (this.props.onChildrenLoaded)\r\n this.props.onChildrenLoaded(parentNode.payload!, toNodes<TreeNodeItem>(children).map((c) => c.payload!));\r\n const current = this.state.current ? this.state.model.node(this.state.current.id) : undefined;\r\n const p = current ? current.getTextualHierarchy().join(this.props.delimiter) : \"\";\r\n if (p !== this.state.pathString)\r\n this.setState({ pathString: p });\r\n };\r\n\r\n private _onModelChanged = () => {\r\n // just re-set the model to initiate update\r\n this.setState((prev) => ({ model: prev.model }));\r\n };\r\n\r\n private _onModelReady = () => {\r\n // istanbul ignore else\r\n if (this._mounted) {\r\n const current = this.state.current ? this.state.model.node(this.state.current.id) : undefined;\r\n this.setState((_prevState, props) => ({ modelReady: true, pathString: current ? current.getTextualHierarchy().join(props.delimiter) : \"\" }));\r\n }\r\n };\r\n\r\n private _onTreeNodeChanged = (_items: Array<TreeNodeItem | undefined>) => {\r\n using(this.state.model.pauseRendering(), async (_r) => { // eslint-disable-line @typescript-eslint/no-floating-promises\r\n await this.state.model.reload();\r\n });\r\n };\r\n\r\n private static inspireNodeFromTreeNodeItem(item: TreeNodeItem, remapper: MapPayloadToInspireNodeCallback<TreeNodeItem>): BeInspireTreeNodeConfig {\r\n const node: BeInspireTreeNodeConfig = {\r\n id: item.id,\r\n text: getPropertyRecordAsString(item.label),\r\n itree: {\r\n state: { collapsed: false },\r\n },\r\n };\r\n if (item.icon)\r\n node.itree!.icon = item.icon;\r\n if ((item as DelayLoadedTreeNodeItem).hasChildren)\r\n node.children = true;\r\n else if ((item as ImmediatelyLoadedTreeNodeItem).children)\r\n node.children = (item as ImmediatelyLoadedTreeNodeItem).children!.map((p) => remapper(p, remapper));\r\n return node;\r\n }\r\n\r\n /** @internal */\r\n public override render(): React.ReactNode {\r\n const classNames = classnames(\"components-breadcrumb\", this.props.background && \"background\", this.props.className);\r\n\r\n if (!this.state.modelReady) {\r\n return (\r\n <div className={classNames} style={this.props.style} />\r\n );\r\n }\r\n const node = this.state.current ? this.state.model.node(this.state.current.id) : undefined;\r\n return (\r\n <div\r\n className={classNames} style={this.props.style}>\r\n <div className=\"components-breadcrumb-head\"\r\n data-testid=\"components-breadcrumb-dropdown-input-parent\">\r\n {this.props.dropdownOnly || this.props.staticOnly ?\r\n <BreadcrumbDropdown\r\n tree={this.state.model}\r\n node={node}\r\n onNodeChange={this._handleNodeChange}\r\n onInputStart={this._setInput}\r\n renderNode={this.props.renderNode}\r\n staticOnly={this.props.staticOnly}\r\n showUpDir={this.props.showUpDir}\r\n parentsOnly={this.props.parentsOnly}\r\n width={this.props.width!}\r\n expandedNode={this.props.expandedNodes} /> :\r\n <InputSwitch\r\n tree={this.state.model}\r\n node={node}\r\n pathString={this.state.pathString}\r\n currentMode={this.state.currentMode}\r\n onInputStart={this._setInput}\r\n onInputCancel={this._setDropdown}\r\n onNodeChange={this._handleNodeChange}\r\n width={this.props.width!}\r\n showUpDir={this.props.showUpDir}\r\n parentsOnly={this.props.parentsOnly}\r\n delimiter={this.props.delimiter!}\r\n onOutsideClick={this._setDropdown}\r\n renderNode={this.props.renderNode}\r\n expandedNode={this.props.expandedNodes} />\r\n }\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n private _setDropdown = () => this.setState({ currentMode: BreadcrumbMode.Dropdown });\r\n private _setInput = () => this.setState({ currentMode: BreadcrumbMode.Input });\r\n\r\n private _handleNodeChange = (node: TreeNodeItem | undefined) => {\r\n if (this.props.path)\r\n this.props.path.setCurrentNode(node);\r\n else {\r\n if (!node) {\r\n this.setState({ current: undefined, pathString: \"\" });\r\n } else {\r\n const current = this.state.current ? this.state.model.node(this.state.current.id) : undefined;\r\n const p = current ? current.getTextualHierarchy().join(this.props.delimiter) : \"\";\r\n this.setState({ current: node, pathString: p });\r\n }\r\n }\r\n if (this.state.currentMode !== BreadcrumbMode.Dropdown)\r\n this._setDropdown();\r\n };\r\n}\r\n\r\n/** @internal */\r\nexport interface InputSwitchProps {\r\n tree: BeInspireTree<TreeNodeItem>;\r\n node?: BeInspireTreeNode<TreeNodeItem>;\r\n pathString: string;\r\n currentMode: BreadcrumbMode;\r\n onInputStart?: () => void;\r\n onInputCancel: () => void;\r\n onNodeChange: (node?: TreeNodeItem) => void;\r\n showUpDir?: boolean;\r\n parentsOnly?: boolean;\r\n renderNode?: BreadcrumbNodeRenderer;\r\n width: number | string;\r\n delimiter: string;\r\n expandedNode?: boolean;\r\n}\r\n\r\n/** @internal */\r\nexport class InputSwitchComponent extends React.PureComponent<InputSwitchProps> {\r\n public override render(): React.ReactNode {\r\n const { currentMode, tree, node, onInputStart, onInputCancel, onNodeChange, renderNode, width, showUpDir, delimiter, expandedNode } = this.props;\r\n switch (currentMode) {\r\n case BreadcrumbMode.Dropdown:\r\n return <BreadcrumbDropdown tree={tree} node={node} onNodeChange={onNodeChange} renderNode={renderNode} onInputStart={onInputStart}\r\n parentsOnly={this.props.parentsOnly} showUpDir={showUpDir} width={width} expandedNode={expandedNode} />;\r\n case BreadcrumbMode.Input:\r\n return <BreadcrumbInput tree={tree} node={node} onNodeChange={onNodeChange} onCancel={onInputCancel}\r\n parentsOnly={this.props.parentsOnly} delimiter={delimiter} width={width} pathString={this.props.pathString} />;\r\n default:\r\n return <div data-testid=\"components-breadcrumb-error-unknown-mode\">{UiComponents.translate(\"breadcrumb.errorUnknownMode\")}</div>;\r\n }\r\n }\r\n}\r\n/** @internal */\r\nconst InputSwitch = withOnOutsideClick(InputSwitchComponent); // eslint-disable-line @typescript-eslint/naming-convention\r\n\r\n/** @internal */\r\nexport interface BreadcrumbInputProps {\r\n width: number | string;\r\n delimiter?: string;\r\n\r\n onCancel: () => void;\r\n onNodeChange: (node: TreeNodeItem | undefined) => void;\r\n parentsOnly?: boolean;\r\n\r\n tree: BeInspireTree<TreeNodeItem>;\r\n node?: BeInspireTreeNode<TreeNodeItem>;\r\n\r\n pathString: string;\r\n}\r\n\r\n/** @internal */\r\nexport interface BreadcrumbInputState {\r\n autocompleting: boolean;\r\n autocompleteList: string[];\r\n messageBoxOpened: boolean;\r\n}\r\n\r\n/** @internal */\r\nexport class BreadcrumbInput extends React.Component<BreadcrumbInputProps, BreadcrumbInputState> {\r\n private _inputElement: HTMLInputElement | null = null;\r\n private _autocomplete: ContextMenu | null = null;\r\n private _mounted: boolean = false;\r\n\r\n /** @internal */\r\n public override readonly state: Readonly<BreadcrumbInputState> = {\r\n autocompleting: false,\r\n autocompleteList: [],\r\n messageBoxOpened: false,\r\n };\r\n\r\n public override render(): React.JSX.Element {\r\n return (\r\n <div className=\"components-breadcrumb-input-root\" data-testid=\"components-breadcrumb-input-root\">\r\n <input\r\n className=\"components-breadcrumb-input\"\r\n data-testid=\"components-breadcrumb-input\"\r\n type=\"text\"\r\n ref={(e) => { this._inputElement = e; }}\r\n style={{ width: this.props.width }}\r\n onKeyDown={this._handleKeyDown} onKeyUp={this._handleKeyUp}\r\n onChange={this._handleChange} onPaste={this._handleChange} onCut={this._handleChange} onFocus={this._handleChange} onClick={this._handleChange}\r\n spellCheck={false}></input>\r\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events */}\r\n <div className=\"components-breadcrumb-close icon icon-close\" data-testid=\"components-breadcrumb-input-close\" onClick={this._handleClose}\r\n role=\"button\" tabIndex={-1} />\r\n <ContextMenu\r\n ref={(el) => { this._autocomplete = el; }}\r\n style={{ width: \"100%\" }}\r\n opened={this.state.autocompleting}\r\n edgeLimit={false}\r\n selectedIndex={0} floating={false} autoflip={false}\r\n onEsc={() => {\r\n // istanbul ignore else\r\n if (this._inputElement)\r\n this._inputElement.focus();\r\n }}\r\n >\r\n {this.state.autocompleteList.map((listItem, index) => {\r\n let l = 0;\r\n // istanbul ignore else\r\n if (this._inputElement) {\r\n l = this._inputElement.value.length;\r\n }\r\n return (\r\n <ContextMenuItem\r\n key={index}\r\n onSelect={(event) => {\r\n // istanbul ignore else\r\n if (this._inputElement) {\r\n this._inputElement.value = listItem;\r\n this._inputElement.focus();\r\n this._inputElement.setSelectionRange(listItem.length, listItem.length);\r\n\r\n const autocompleteStr = this._inputElement.value.substring(0, this._inputElement.selectionEnd!);\r\n this._getAutocompleteList(autocompleteStr).then((list) => { // eslint-disable-line @typescript-eslint/no-floating-promises\r\n // istanbul ignore else\r\n if (this._mounted)\r\n this.setState({\r\n autocompleting: false,\r\n autocompleteList: list,\r\n });\r\n });\r\n event.stopPropagation();\r\n }\r\n }}>\r\n <span className=\"components-breadcrumb-selected\">{listItem.substr(0, l)}</span>{listItem.substr(l)}\r\n </ContextMenuItem>\r\n );\r\n })}\r\n </ContextMenu>\r\n <MessageBox opened={this.state.messageBoxOpened} modal={false} onClose={this._handleMessageBoxClose} severity={MessageSeverity.Warning} buttonCluster={[{ type: DialogButtonType.OK, onClick: this._handleMessageBoxClose }]}>\r\n {UiComponents.translate(\"breadcrumb.invalidBreadcrumbPath\")}\r\n </MessageBox>\r\n </div>\r\n );\r\n }\r\n\r\n private _handleMessageBoxClose = () => {\r\n this.setState({ messageBoxOpened: false });\r\n };\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this._mounted = true;\r\n // istanbul ignore else\r\n if (this._inputElement) {\r\n const activeWindow = this._inputElement.ownerDocument.defaultView;\r\n activeWindow && activeWindow.addEventListener(\"click\", this._handleClick);\r\n this._inputElement.value = this.props.pathString;\r\n this._inputElement.focus();\r\n }\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n // istanbul ignore else\r\n if (this._inputElement) {\r\n const activeWindow = this._inputElement.ownerDocument.defaultView;\r\n activeWindow && activeWindow.removeEventListener(\"click\", this._handleClick);\r\n }\r\n this._mounted = false;\r\n }\r\n\r\n private _handleClose = () => {\r\n this.props.onCancel();\r\n this.setState({ autocompleting: false });\r\n };\r\n\r\n private _getAutocompleteList = async (path: string) => {\r\n const node = await this._findChildParentPartial(path);\r\n if (node) {\r\n const baseString = node.getTextualHierarchy().join(this.props.delimiter);\r\n const children = node.getChildren();\r\n const parentChildren = this.props.parentsOnly ? children.filter((child) => child.hasOrWillHaveChildren()) : children;\r\n const strList = parentChildren.map((n) => baseString + this.props.delimiter! + n.toString());\r\n return strList.filter((e) => e.substr(0, path.length) === path);\r\n } else {\r\n const nodes = this.props.tree.nodes();\r\n const parentRoots = this.props.parentsOnly ? nodes.filter((child) => child.hasOrWillHaveChildren()) : nodes;\r\n const strList = parentRoots.map((n) => n.toString() + this.props.delimiter!);\r\n return strList.filter((e) => e.substr(0, path.length) === path);\r\n }\r\n };\r\n\r\n private _findChildUserInput = async (p: string): Promise<BeInspireTreeNode<TreeNodeItem> | undefined> => {\r\n const delimiter = this.props.delimiter!;\r\n if (p.endsWith(delimiter)) // strip last delimiter if at end\r\n p = p.substr(0, p.length - delimiter.length);\r\n const root = this.props.tree.nodes();\r\n for (const node of root) {\r\n const found = await this._find(node, p);\r\n if (found)\r\n return found;\r\n }\r\n return undefined;\r\n };\r\n private _findChildParentPartial = async (p: string): Promise<BeInspireTreeNode<TreeNodeItem> | undefined> => {\r\n const delimiter = this.props.delimiter!;\r\n const lastDel = p.lastIndexOf(delimiter);\r\n if (lastDel !== -1) // strip last delimiter and everything after\r\n p = p.substring(0, lastDel);\r\n else\r\n return undefined;\r\n const root = this.props.tree.nodes();\r\n for (const node of root) {\r\n const found = await this._find(node, p);\r\n if (found)\r\n return found;\r\n }\r\n return undefined;\r\n };\r\n private _find = async (node: BeInspireTreeNode<TreeNodeItem>, p: string): Promise<BeInspireTreeNode<TreeNodeItem> | undefined> => {\r\n const delimiter = this.props.delimiter!;\r\n // remove leading delimiter\r\n if (p.indexOf(delimiter) === 0)\r\n p = p.substr(delimiter.length);\r\n const { text } = node;\r\n if (text === p) {\r\n return node;\r\n }\r\n if (p.indexOf(text) === 0 && node.hasOrWillHaveChildren()) {\r\n const children = node.getChildren();\r\n for (const child of children) {\r\n const n = await this._find(child as BeInspireTreeNode<TreeNodeItem>, p.substr(text.length));\r\n if (n)\r\n return n;\r\n }\r\n }\r\n return undefined;\r\n };\r\n\r\n private _handleClick = (event: MouseEvent): void => {\r\n // istanbul ignore else\r\n if (this._autocomplete) {\r\n // istanbul ignore else\r\n if (this._inputElement && event.target === this._inputElement) {\r\n this.setState({ autocompleting: false });\r\n this._inputElement.focus();\r\n }\r\n }\r\n };\r\n\r\n private _handleKeyDown = (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n switch (event.key) {\r\n case SpecialKey.ArrowUp:\r\n case SpecialKey.ArrowDown:\r\n event.preventDefault();\r\n }\r\n };\r\n private _handleKeyUp = async (event: React.KeyboardEvent<HTMLInputElement>) => {\r\n switch (event.key) {\r\n case SpecialKey.Escape:\r\n // istanbul ignore else\r\n if (this._mounted)\r\n this.setState({ autocompleting: false });\r\n break;\r\n case SpecialKey.ArrowUp:\r\n case SpecialKey.ArrowDown:\r\n event.preventDefault();\r\n // istanbul ignore else\r\n if (this._autocomplete && this.state.autocompleteList.length > 0) {\r\n this._autocomplete.focus();\r\n // istanbul ignore else\r\n if (this._mounted)\r\n this.setState({ autocompleting: true });\r\n }\r\n break;\r\n case SpecialKey.Enter:\r\n // istanbul ignore else\r\n if (this._inputElement) {\r\n const path = this._inputElement.value;\r\n if (path === \"\" || path === this.props.delimiter!) {\r\n this.props.onNodeChange(undefined);\r\n // istanbul ignore else\r\n if (this._mounted)\r\n this.setState({ autocompleting: false });\r\n } else {\r\n const node = await this._findChildUserInput(path);\r\n if (node === undefined)\r\n this.setState({ messageBoxOpened: true });\r\n else\r\n this.props.onNodeChange(node.payload);\r\n }\r\n }\r\n break;\r\n }\r\n };\r\n\r\n private _handleChange = (): void => {\r\n // istanbul ignore else\r\n if (this._inputElement) {\r\n const autocompleteStr = this._inputElement.value.substring(0, this._inputElement.selectionEnd!);\r\n this._getAutocompleteList(autocompleteStr).then((list) => { // eslint-disable-line @typescript-eslint/no-floating-promises\r\n if (this._mounted)\r\n this.setState({\r\n autocompleting: list.length > 0,\r\n autocompleteList: list,\r\n });\r\n });\r\n }\r\n };\r\n}\r\n\r\n/** @internal */\r\ninterface BreadcrumbDropdownProps {\r\n tree: BeInspireTree<TreeNodeItem>;\r\n node?: BeInspireTreeNode<TreeNodeItem>;\r\n onInputStart?: () => void;\r\n onNodeChange: (node: TreeNodeItem | undefined) => void;\r\n staticOnly?: boolean;\r\n parentsOnly?: boolean;\r\n delimiter?: string;\r\n width: number | string;\r\n showUpDir?: boolean;\r\n renderNode?: BreadcrumbNodeRenderer;\r\n expandedNode?: boolean;\r\n}\r\n\r\n/** @internal */\r\nclass BreadcrumbDropdown extends React.Component<BreadcrumbDropdownProps> {\r\n\r\n /** @internal */\r\n public override componentDidMount() {\r\n this.props.tree.on(BeInspireTreeEvent.ChildrenLoaded, this._onChildrenLoaded);\r\n this.props.tree.on(BeInspireTreeEvent.ModelLoaded, this._onModelLoaded);\r\n }\r\n\r\n /** @internal */\r\n public override componentWillUnmount() {\r\n this.props.tree.removeListener(BeInspireTreeEvent.ChildrenLoaded, this._onChildrenLoaded);\r\n this.props.tree.removeListener(BeInspireTreeEvent.ModelLoaded, this._onModelLoaded);\r\n }\r\n\r\n private _onModelLoaded = (_rootNodes: BeInspireTreeNodes<TreeNodeItem>) => {\r\n this.forceUpdate();\r\n };\r\n\r\n private _onChildrenLoaded = (_parentNode: BeInspireTreeNode<TreeNodeItem>) => {\r\n this.forceUpdate();\r\n };\r\n\r\n /** @internal */\r\n public override shouldComponentUpdate(nextProps: BreadcrumbDropdownProps) {\r\n return this.props.tree !== nextProps.tree ||\r\n this.props.node !== nextProps.node ||\r\n (nextProps.node && /* istanbul ignore next */ nextProps.node.isDirty()) ||\r\n this.props.onInputStart !== nextProps.onInputStart ||\r\n this.props.delimiter !== nextProps.delimiter ||\r\n this.props.width !== nextProps.width ||\r\n this.props.renderNode !== nextProps.renderNode;\r\n }\r\n\r\n public override render(): React.JSX.Element | null {\r\n const node = this.props.node;\r\n let nodes: BeInspireTreeNodes<TreeNodeItem> | undefined;\r\n if (node) {\r\n nodes = toNodes<TreeNodeItem>(node.getParents());\r\n nodes.reverse();\r\n nodes.push(node);\r\n }\r\n return (\r\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\r\n <div\r\n className=\"components-breadcrumb-dropdown\"\r\n data-testid=\"components-breadcrumb-dropdown-background\"\r\n style={{ width: this.props.width }}\r\n onClick={this._focusInput}\r\n role=\"button\" tabIndex={-1}\r\n >\r\n {!this.props.staticOnly && this.props.showUpDir ?\r\n // eslint-disable-next-line jsx-a11y/click-events-have-key-events\r\n <div data-testid=\"components-breadcrumb-up-dir\"\r\n className={classnames(\r\n \"components-breadcrumb-up-dir\",\r\n \"icon\", \"icon-sort-up\",\r\n { root: this.props.node === undefined })\r\n } onClick={this._handleUpClick} role=\"button\" tabIndex={-1} />\r\n : undefined\r\n }\r\n <div className=\"components-breadcrumb-crumb-list\"\r\n data-testid=\"components-breadcrumb-crumb-list\">\r\n <BreadcrumbDropdownNode\r\n key={-1}\r\n tree={this.props.tree}\r\n node={undefined}\r\n onNodeSelected={this.props.onNodeChange}\r\n staticOnly={this.props.staticOnly}\r\n parentsOnly={this.props.parentsOnly}\r\n last={!nodes || nodes.length === 0}\r\n renderNode={this.props.renderNode}\r\n expandedNode={this.props.expandedNode} />\r\n {nodes && nodes.map((n, i) => {\r\n return (\r\n <BreadcrumbDropdownNode\r\n key={i}\r\n tree={this.props.tree}\r\n node={n}\r\n onNodeSelected={this.props.onNodeChange}\r\n staticOnly={this.props.staticOnly}\r\n parentsOnly={this.props.parentsOnly}\r\n last={i === nodes!.length - 1}\r\n renderNode={this.props.renderNode}\r\n expandedNode={this.props.expandedNode} />\r\n );\r\n })}\r\n </div>\r\n </div>\r\n );\r\n }\r\n\r\n private _handleUpClick = () => {\r\n let parent: TreeNodeItem | undefined;\r\n if (this.props.node) {\r\n const p = (this.props.node.getParent()) as BeInspireTreeNode<TreeNodeItem>;\r\n if (p)\r\n parent = p.payload;\r\n }\r\n this.props.onNodeChange(parent);\r\n };\r\n\r\n private _focusInput = (event: React.MouseEvent) => {\r\n if (event.target === event.currentTarget && this.props.onInputStart) // check if click is direct, or bubbled\r\n this.props.onInputStart();\r\n };\r\n}\r\n\r\n/** @internal */\r\ninterface BreadcrumbDropdownNodeProps {\r\n tree: BeInspireTree<TreeNodeItem>;\r\n node?: BeInspireTreeNode<TreeNodeItem>;\r\n onNodeSelected: (node: TreeNodeItem | undefined) => void;\r\n staticOnly?: boolean;\r\n parentsOnly?: boolean;\r\n last?: boolean;\r\n renderNode?: BreadcrumbNodeRenderer;\r\n expandedNode?: boolean;\r\n}\r\n\r\n/** @internal */\r\nclass BreadcrumbDropdownNode extends React.Component<BreadcrumbDropdownNodeProps> {\r\n constructor(props: BreadcrumbDropdownNodeProps) {\r\n super(props);\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n const { node } = this.props;\r\n let nodeChildren: Array<BeInspireTreeNode<TreeNodeItem>> = this.props.tree.nodes();\r\n if (node)\r\n nodeChildren = toNodes<TreeNodeItem>(node.getChildren());\r\n const n = node && node.payload;\r\n let parent: TreeNodeItem | undefined;\r\n if (node) {\r\n const p = node.getParent() as BeInspireTreeNode<TreeNodeItem>;\r\n if (p)\r\n parent = p.payload;\r\n }\r\n const label = n && n.label ? n.label : PropertyRecord.fromString(\"\");\r\n const icon = n && n.icon ? n.icon : \"icon-browse\";\r\n const renderNode = this.props.renderNode ? this.props.renderNode : this.renderNode;\r\n if (this.props.parentsOnly)\r\n nodeChildren = nodeChildren.filter((child) => child.hasOrWillHaveChildren());\r\n if (nodeChildren.length > 0) {\r\n if (this.props.staticOnly) {\r\n return <span data-testid=\"components-breadcrumb-static-button\" className=\"components-breadcrumb-split-button static\">\r\n {renderNode({ label, icon }, n, parent)}\r\n {!this.props.last ? <span className=\"static-arrow-icon icon icon-chevron-right\" /> : undefined}\r\n </span>;\r\n }\r\n return (\r\n <SplitButton\r\n className=\"components-breadcrumb-split-button\"\r\n onClick={(event) => {\r\n event.stopPropagation();\r\n this.props.onNodeSelected(n);\r\n }}\r\n label={renderNode({ label, icon }, n, parent)}\r\n initialExpanded={this.props.expandedNode}\r\n >\r\n {nodeChildren.map((child, d) => {\r\n return (\r\n <ContextMenuItem\r\n key={d}\r\n icon={child.payload!.icon}\r\n onSelect={(_event) => {\r\n this.props.onNodeSelected(child.payload);\r\n }}>\r\n {PropertyValueRendererManager.defaultManager.render(child.payload!.label)}\r\n </ContextMenuItem>\r\n );\r\n })}\r\n </SplitButton>\r\n );\r\n } else {\r\n return (\r\n <span className={classnames(\"components-breadcrumb-end-node\", { static: this.props.staticOnly })}>\r\n {renderNode({ label, icon }, n, parent)}\r\n </span>\r\n );\r\n }\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n private renderNode = (props: BreadcrumbNodeProps, _node?: TreeNodeItem, _parent?: TreeNodeItem) => {\r\n return <BreadcrumbNode label={props.label} icon={props.icon} />;\r\n };\r\n}\r\n\r\n/** Properties for [[BreadcrumbNode]] component\r\n * @beta\r\n * @deprecated in 3.0. Obsolete.\r\n */\r\nexport interface BreadcrumbNodeProps {\r\n /** Icon class string */\r\n icon: string;\r\n /** Node label */\r\n label: PropertyRecord;\r\n /** @internal */\r\n onRender?: () => void;\r\n}\r\n\r\n/** Default BreadcrumbNode component\r\n * @beta\r\n * @deprecated in 3.0. Obsolete.\r\n */\r\nexport class BreadcrumbNode extends React.Component<BreadcrumbNodeProps> {\r\n constructor(props: BreadcrumbNodeProps) {\r\n super(props);\r\n }\r\n\r\n public override render(): React.ReactNode {\r\n const { icon, label } = this.props;\r\n return <span data-testid=\"components-breadcrumb-node\"><span className={classnames(\"icon\", icon)} />{PropertyValueRendererManager.defaultManager.render(label)}</span>;\r\n }\r\n\r\n public override componentDidMount() {\r\n // istanbul ignore next\r\n if (this.props.onRender)\r\n this.props.onRender();\r\n }\r\n\r\n public override componentDidUpdate() {\r\n // istanbul ignore next\r\n if (this.props.onRender)\r\n this.props.onRender();\r\n }\r\n}\r\n"]}
@@ -1,7 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module Common
3
3
  */
4
- /// <reference types="react" />
4
+ import * as React from "react";
5
5
  import { ProgressRadialProps } from "@itwin/itwinui-react";
6
6
  /** Type for ProgressRadialProps.size */
7
7
  declare type RadialSizeType = ProgressRadialProps["size"];
@@ -18,6 +18,6 @@ export interface DelayedSpinnerProps {
18
18
  * Spinner that is rendered with delay.
19
19
  * @internal
20
20
  */
21
- export declare function DelayedSpinner(props: DelayedSpinnerProps): JSX.Element | null;
21
+ export declare function DelayedSpinner(props: DelayedSpinnerProps): React.JSX.Element | null;
22
22
  export {};
23
23
  //# sourceMappingURL=DelayedSpinner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DelayedSpinner.d.ts","sourceRoot":"","sources":["../../../../src/components-react/common/DelayedSpinner.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAGH,OAAO,EAAkB,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3E,wCAAwC;AACxC,aAAK,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAElD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,sBAmBxD"}
1
+ {"version":3,"file":"DelayedSpinner.d.ts","sourceRoot":"","sources":["../../../../src/components-react/common/DelayedSpinner.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAkB,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3E,wCAAwC;AACxC,aAAK,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAElD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,4BAmBxD"}
@@ -1,7 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module Common
3
3
  */
4
- /// <reference types="react" />
4
+ import React from "react";
5
5
  /**
6
6
  * Properties of [[HighlightedText]]
7
7
  * @public
@@ -19,5 +19,5 @@ export interface HighlightedTextProps {
19
19
  * Also actively highlights one matched part which is selected with 'activeMatchIndex'
20
20
  * @public
21
21
  */
22
- export declare function HighlightedText(props: HighlightedTextProps): JSX.Element;
22
+ export declare function HighlightedText(props: HighlightedTextProps): React.JSX.Element;
23
23
  //# sourceMappingURL=HighlightedText.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HighlightedText.d.ts","sourceRoot":"","sources":["../../../../src/components-react/common/HighlightedText.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAMH;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IAEnC,UAAU,EAAE,MAAM,CAAC;IAEnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,eAa1D"}
1
+ {"version":3,"file":"HighlightedText.d.ts","sourceRoot":"","sources":["../../../../src/components-react/common/HighlightedText.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IAEnC,UAAU,EAAE,MAAM,CAAC;IAEnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,qBAa1D"}
@@ -1,8 +1,8 @@
1
1
  /** @packageDocumentation
2
2
  * @module Date
3
3
  */
4
- /// <reference types="react" />
5
4
  import "./DateField.scss";
5
+ import * as React from "react";
6
6
  import { AlternateDateFormats, DateFormatter, TimeDisplay } from "@itwin/appui-abstract";
7
7
  import { CommonProps } from "@itwin/core-react";
8
8
  /** Props for [[DateField]] Component.
@@ -29,5 +29,5 @@ export declare function formatInputDate(inputDate: Date, timeDisplay?: TimeDispl
29
29
  /** Date input component. This component is typically used by the [[DatePickerPopupButton]] to display and edit date and time.
30
30
  * @internal
31
31
  */
32
- export declare function DateField({ initialDate, onDateChange, readOnly, dateFormatter, timeDisplay, style, className }: DateFieldProps): JSX.Element;
32
+ export declare function DateField({ initialDate, onDateChange, readOnly, dateFormatter, timeDisplay, style, className }: DateFieldProps): React.JSX.Element;
33
33
  //# sourceMappingURL=DateField.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateField.d.ts","sourceRoot":"","sources":["../../../../src/components-react/datepicker/DateField.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAEH,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,mDAAmD;IACnD,WAAW,EAAE,IAAI,CAAC;IAClB,yDAAyD;IACzD,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC;kHAC8G;IAC9G,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,2JAA2J;IAC3J,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE,aAAa,EAAE,mBAAmB,CAAC,EAAE,oBAAoB,GAAG,MAAM,GAAG,SAAS,CAgD3K;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,cAAc,eAiE9H"}
1
+ {"version":3,"file":"DateField.d.ts","sourceRoot":"","sources":["../../../../src/components-react/datepicker/DateField.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,kBAAkB,CAAC;AAC1B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,mDAAmD;IACnD,WAAW,EAAE,IAAI,CAAC;IAClB,yDAAyD;IACzD,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC;kHAC8G;IAC9G,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,2JAA2J;IAC3J,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,WAAW,EAAE,eAAe,CAAC,EAAE,aAAa,EAAE,mBAAmB,CAAC,EAAE,oBAAoB,GAAG,MAAM,GAAG,SAAS,CAgD3K;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,cAAc,qBAiE9H"}
@@ -1,7 +1,7 @@
1
1
  /** @packageDocumentation
2
2
  * @module Date
3
3
  */
4
- /// <reference types="react" />
4
+ import * as React from "react";
5
5
  import "./DatePicker.scss";
6
6
  /**
7
7
  * Props for [[DatePicker]] component.
@@ -18,5 +18,5 @@ export interface DatePickerProps {
18
18
  /** DatePicker component. Show a month selector and a day calendar to select a specific date.
19
19
  * @alpha
20
20
  */
21
- export declare function DatePicker(props: DatePickerProps): JSX.Element;
21
+ export declare function DatePicker(props: DatePickerProps): React.JSX.Element;
22
22
  //# sourceMappingURL=DatePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../../src/components-react/datepicker/DatePicker.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAQH,OAAO,mBAAmB,CAAC;AAY3B;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,QAAQ,EAAE,IAAI,CAAC;IACf,qDAAqD;IACrD,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,eAgLhD"}
1
+ {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../../src/components-react/datepicker/DatePicker.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,mBAAmB,CAAC;AAY3B;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,iCAAiC;IACjC,QAAQ,EAAE,IAAI,CAAC;IACf,qDAAqD;IACrD,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,qBAgLhD"}
@@ -26,5 +26,5 @@ export interface DatePickerPopupButtonProps extends CommonProps {
26
26
  /** Component that displays a button used to pick a date and optionally a time.
27
27
  * @alpha
28
28
  * */
29
- export declare function DatePickerPopupButton({ displayEditField, timeDisplay, selected, onDateChange, dateFormatter, buttonToolTip, fieldStyle, fieldClassName, style }: DatePickerPopupButtonProps): JSX.Element;
29
+ export declare function DatePickerPopupButton({ displayEditField, timeDisplay, selected, onDateChange, dateFormatter, buttonToolTip, fieldStyle, fieldClassName, style }: DatePickerPopupButtonProps): React.JSX.Element;
30
30
  //# sourceMappingURL=DatePickerPopupButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerPopupButton.d.ts","sourceRoot":"","sources":["../../../../src/components-react/datepicker/DatePickerPopupButton.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAgC,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,EAAY,WAAW,EAAS,MAAM,mBAAmB,CAAC;AAKjE,OAAO,8BAA8B,CAAC;AAEtC;YACY;AACZ,MAAM,WAAW,0BAA2B,SAAQ,WAAW;IAC7D,6CAA6C;IAC7C,QAAQ,EAAE,IAAI,CAAC;IACf,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,yCAAyC;IACzC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,uBAAuB;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAClC;AAED;;KAEK;AACL,wBAAgB,qBAAqB,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAC1G,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,0BAA0B,eAkF/E"}
1
+ {"version":3,"file":"DatePickerPopupButton.d.ts","sourceRoot":"","sources":["../../../../src/components-react/datepicker/DatePickerPopupButton.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAgC,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjG,OAAO,EAAY,WAAW,EAAS,MAAM,mBAAmB,CAAC;AAKjE,OAAO,8BAA8B,CAAC;AAEtC;YACY;AACZ,MAAM,WAAW,0BAA2B,SAAQ,WAAW;IAC7D,6CAA6C;IAC7C,QAAQ,EAAE,IAAI,CAAC;IACf,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,yCAAyC;IACzC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,uBAAuB;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,8CAA8C;IAC9C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yCAAyC;IACzC,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAClC;AAED;;KAEK;AACL,wBAAgB,qBAAqB,CAAC,EAAE,gBAAgB,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAC1G,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,0BAA0B,qBAkF/E"}