@itwin/appui-abstract 4.0.0-dev.9 → 4.0.0-dev.91

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 (277) hide show
  1. package/CHANGELOG.md +144 -1
  2. package/lib/cjs/appui-abstract/BaseUiItemsProvider.d.ts +30 -30
  3. package/lib/cjs/appui-abstract/BaseUiItemsProvider.d.ts.map +1 -1
  4. package/lib/cjs/appui-abstract/BaseUiItemsProvider.js +79 -78
  5. package/lib/cjs/appui-abstract/BaseUiItemsProvider.js.map +1 -1
  6. package/lib/cjs/appui-abstract/UiAdmin.d.ts +221 -221
  7. package/lib/cjs/appui-abstract/UiAdmin.js +224 -224
  8. package/lib/cjs/appui-abstract/UiAdmin.js.map +1 -1
  9. package/lib/cjs/appui-abstract/UiItemsManager.d.ts +113 -113
  10. package/lib/cjs/appui-abstract/UiItemsManager.d.ts.map +1 -1
  11. package/lib/cjs/appui-abstract/UiItemsManager.js +193 -198
  12. package/lib/cjs/appui-abstract/UiItemsManager.js.map +1 -1
  13. package/lib/cjs/appui-abstract/UiItemsProvider.d.ts +29 -28
  14. package/lib/cjs/appui-abstract/UiItemsProvider.d.ts.map +1 -1
  15. package/lib/cjs/appui-abstract/UiItemsProvider.js +9 -9
  16. package/lib/cjs/appui-abstract/UiItemsProvider.js.map +1 -1
  17. package/lib/cjs/appui-abstract/backstage/BackstageItem.d.ts +91 -91
  18. package/lib/cjs/appui-abstract/backstage/BackstageItem.d.ts.map +1 -1
  19. package/lib/cjs/appui-abstract/backstage/BackstageItem.js +70 -70
  20. package/lib/cjs/appui-abstract/backstage/BackstageItem.js.map +1 -1
  21. package/lib/cjs/appui-abstract/backstage/BackstageItemsManager.d.ts +38 -38
  22. package/lib/cjs/appui-abstract/backstage/BackstageItemsManager.js +133 -133
  23. package/lib/cjs/appui-abstract/backstage/BackstageItemsManager.js.map +1 -1
  24. package/lib/cjs/appui-abstract/common/KeyboardKey.d.ts +51 -51
  25. package/lib/cjs/appui-abstract/common/KeyboardKey.js +63 -63
  26. package/lib/cjs/appui-abstract/content/ContentLayoutProps.d.ts +62 -62
  27. package/lib/cjs/appui-abstract/content/ContentLayoutProps.js +9 -9
  28. package/lib/cjs/appui-abstract/content/StandardContentLayouts.d.ts +19 -19
  29. package/lib/cjs/appui-abstract/content/StandardContentLayouts.js +108 -108
  30. package/lib/cjs/appui-abstract/content/StandardContentLayouts.js.map +1 -1
  31. package/lib/cjs/appui-abstract/dialogs/DialogItem.d.ts +76 -76
  32. package/lib/cjs/appui-abstract/dialogs/DialogItem.js +67 -67
  33. package/lib/cjs/appui-abstract/dialogs/DialogItem.js.map +1 -1
  34. package/lib/cjs/appui-abstract/dialogs/UiDataProvider.d.ts +55 -55
  35. package/lib/cjs/appui-abstract/dialogs/UiDataProvider.js +66 -66
  36. package/lib/cjs/appui-abstract/dialogs/UiLayoutDataProvider.d.ts +97 -97
  37. package/lib/cjs/appui-abstract/dialogs/UiLayoutDataProvider.js +175 -175
  38. package/lib/cjs/appui-abstract/dialogs/UiLayoutDataProvider.js.map +1 -1
  39. package/lib/cjs/appui-abstract/items/AbstractItemProps.d.ts +53 -53
  40. package/lib/cjs/appui-abstract/items/AbstractItemProps.d.ts.map +1 -1
  41. package/lib/cjs/appui-abstract/items/AbstractItemProps.js +9 -9
  42. package/lib/cjs/appui-abstract/items/AbstractMenuItemProps.d.ts +20 -20
  43. package/lib/cjs/appui-abstract/items/AbstractMenuItemProps.js +9 -9
  44. package/lib/cjs/appui-abstract/items/AbstractToolbarProps.d.ts +13 -13
  45. package/lib/cjs/appui-abstract/items/AbstractToolbarProps.js +9 -9
  46. package/lib/cjs/appui-abstract/items/BadgeType.d.ts +14 -14
  47. package/lib/cjs/appui-abstract/items/BadgeType.js +22 -22
  48. package/lib/cjs/appui-abstract/items/ConditionalBooleanValue.d.ts +27 -27
  49. package/lib/cjs/appui-abstract/items/ConditionalBooleanValue.js +60 -60
  50. package/lib/cjs/appui-abstract/items/ConditionalStringValue.d.ts +29 -29
  51. package/lib/cjs/appui-abstract/items/ConditionalStringValue.js +62 -62
  52. package/lib/cjs/appui-abstract/items/ProvidedItem.d.ts +11 -11
  53. package/lib/cjs/appui-abstract/items/ProvidedItem.js +9 -9
  54. package/lib/cjs/appui-abstract/items/RelativePosition.d.ts +18 -18
  55. package/lib/cjs/appui-abstract/items/RelativePosition.js +26 -26
  56. package/lib/cjs/appui-abstract/items/StageUsage.d.ts +16 -16
  57. package/lib/cjs/appui-abstract/items/StageUsage.js +24 -24
  58. package/lib/cjs/appui-abstract/notification/MessagePresenter.d.ts +42 -42
  59. package/lib/cjs/appui-abstract/notification/MessagePresenter.js +24 -24
  60. package/lib/cjs/appui-abstract/notification/MessageSeverity.d.ts +15 -15
  61. package/lib/cjs/appui-abstract/notification/MessageSeverity.js +23 -23
  62. package/lib/cjs/appui-abstract/properties/Description.d.ts +124 -127
  63. package/lib/cjs/appui-abstract/properties/Description.d.ts.map +1 -1
  64. package/lib/cjs/appui-abstract/properties/Description.js +196 -196
  65. package/lib/cjs/appui-abstract/properties/Description.js.map +1 -1
  66. package/lib/cjs/appui-abstract/properties/EditorParams.d.ts +260 -260
  67. package/lib/cjs/appui-abstract/properties/EditorParams.d.ts.map +1 -1
  68. package/lib/cjs/appui-abstract/properties/EditorParams.js +106 -106
  69. package/lib/cjs/appui-abstract/properties/PrimitiveTypes.d.ts +60 -60
  70. package/lib/cjs/appui-abstract/properties/PrimitiveTypes.js +9 -9
  71. package/lib/cjs/appui-abstract/properties/Record.d.ts +57 -57
  72. package/lib/cjs/appui-abstract/properties/Record.js +78 -78
  73. package/lib/cjs/appui-abstract/properties/StandardEditorNames.d.ts +22 -22
  74. package/lib/cjs/appui-abstract/properties/StandardEditorNames.js +30 -30
  75. package/lib/cjs/appui-abstract/properties/StandardTypeNames.d.ts +30 -30
  76. package/lib/cjs/appui-abstract/properties/StandardTypeNames.js +39 -39
  77. package/lib/cjs/appui-abstract/properties/Value.d.ts +49 -49
  78. package/lib/cjs/appui-abstract/properties/Value.d.ts.map +1 -1
  79. package/lib/cjs/appui-abstract/properties/Value.js +20 -20
  80. package/lib/cjs/appui-abstract/quantity/BaseQuantityDescription.d.ts +22 -22
  81. package/lib/cjs/appui-abstract/quantity/BaseQuantityDescription.js +48 -48
  82. package/lib/cjs/appui-abstract/statusbar/StatusBarItem.d.ts +128 -128
  83. package/lib/cjs/appui-abstract/statusbar/StatusBarItem.d.ts.map +1 -1
  84. package/lib/cjs/appui-abstract/statusbar/StatusBarItem.js +87 -87
  85. package/lib/cjs/appui-abstract/statusbar/StatusBarItem.js.map +1 -1
  86. package/lib/cjs/appui-abstract/statusbar/StatusBarItemsManager.d.ts +39 -39
  87. package/lib/cjs/appui-abstract/statusbar/StatusBarItemsManager.js +135 -135
  88. package/lib/cjs/appui-abstract/statusbar/StatusBarItemsManager.js.map +1 -1
  89. package/lib/cjs/appui-abstract/toolbars/ToolbarItem.d.ts +121 -121
  90. package/lib/cjs/appui-abstract/toolbars/ToolbarItem.d.ts.map +1 -1
  91. package/lib/cjs/appui-abstract/toolbars/ToolbarItem.js +64 -64
  92. package/lib/cjs/appui-abstract/toolbars/ToolbarItem.js.map +1 -1
  93. package/lib/cjs/appui-abstract/toolbars/ToolbarItemsManager.d.ts +45 -45
  94. package/lib/cjs/appui-abstract/toolbars/ToolbarItemsManager.js +235 -235
  95. package/lib/cjs/appui-abstract/toolbars/ToolbarItemsManager.js.map +1 -1
  96. package/lib/cjs/appui-abstract/utils/IconSpecUtilities.d.ts +29 -17
  97. package/lib/cjs/appui-abstract/utils/IconSpecUtilities.d.ts.map +1 -1
  98. package/lib/cjs/appui-abstract/utils/IconSpecUtilities.js +51 -32
  99. package/lib/cjs/appui-abstract/utils/IconSpecUtilities.js.map +1 -1
  100. package/lib/cjs/appui-abstract/utils/PointProps.d.ts +10 -10
  101. package/lib/cjs/appui-abstract/utils/PointProps.js +9 -9
  102. package/lib/cjs/appui-abstract/utils/UiError.d.ts +12 -12
  103. package/lib/cjs/appui-abstract/utils/UiError.js +22 -22
  104. package/lib/cjs/appui-abstract/utils/UiEvent.d.ts +9 -9
  105. package/lib/cjs/appui-abstract/utils/UiEvent.js +17 -17
  106. package/lib/cjs/appui-abstract/utils/UiEventDispatcher.d.ts +46 -46
  107. package/lib/cjs/appui-abstract/utils/UiEventDispatcher.js +131 -131
  108. package/lib/cjs/appui-abstract/utils/callbacks.d.ts +20 -20
  109. package/lib/cjs/appui-abstract/utils/callbacks.d.ts.map +1 -1
  110. package/lib/cjs/appui-abstract/utils/callbacks.js +9 -9
  111. package/lib/cjs/appui-abstract/utils/filter/charCode.d.ts +416 -416
  112. package/lib/cjs/appui-abstract/utils/filter/charCode.js +6 -6
  113. package/lib/cjs/appui-abstract/utils/filter/filters.d.ts +98 -98
  114. package/lib/cjs/appui-abstract/utils/filter/filters.d.ts.map +1 -1
  115. package/lib/cjs/appui-abstract/utils/filter/filters.js +709 -709
  116. package/lib/cjs/appui-abstract/utils/filter/filters.js.map +1 -1
  117. package/lib/cjs/appui-abstract/utils/filter/map.d.ts +59 -59
  118. package/lib/cjs/appui-abstract/utils/filter/map.js +402 -404
  119. package/lib/cjs/appui-abstract/utils/filter/map.js.map +1 -1
  120. package/lib/cjs/appui-abstract/utils/filter/strings.d.ts +20 -20
  121. package/lib/cjs/appui-abstract/utils/filter/strings.js +78 -78
  122. package/lib/cjs/appui-abstract/utils/filter/strings.js.map +1 -1
  123. package/lib/cjs/appui-abstract/utils/isLetter.d.ts +9 -9
  124. package/lib/cjs/appui-abstract/utils/isLetter.js +19 -19
  125. package/lib/cjs/appui-abstract/utils/misc.d.ts +11 -11
  126. package/lib/cjs/appui-abstract/utils/misc.js +36 -36
  127. package/lib/cjs/appui-abstract/widget/AbstractWidgetProps.d.ts +86 -69
  128. package/lib/cjs/appui-abstract/widget/AbstractWidgetProps.d.ts.map +1 -1
  129. package/lib/cjs/appui-abstract/widget/AbstractWidgetProps.js +9 -9
  130. package/lib/cjs/appui-abstract/widget/AbstractWidgetProps.js.map +1 -1
  131. package/lib/cjs/appui-abstract/widget/StagePanel.d.ts +36 -21
  132. package/lib/cjs/appui-abstract/widget/StagePanel.d.ts.map +1 -1
  133. package/lib/cjs/appui-abstract/widget/StagePanel.js +46 -30
  134. package/lib/cjs/appui-abstract/widget/StagePanel.js.map +1 -1
  135. package/lib/cjs/appui-abstract/widget/WidgetState.d.ts +19 -19
  136. package/lib/cjs/appui-abstract/widget/WidgetState.js +27 -27
  137. package/lib/cjs/appui-abstract.d.ts +103 -103
  138. package/lib/cjs/appui-abstract.js +123 -119
  139. package/lib/cjs/appui-abstract.js.map +1 -1
  140. package/lib/esm/appui-abstract/BaseUiItemsProvider.d.ts +30 -30
  141. package/lib/esm/appui-abstract/BaseUiItemsProvider.d.ts.map +1 -1
  142. package/lib/esm/appui-abstract/BaseUiItemsProvider.js +75 -74
  143. package/lib/esm/appui-abstract/BaseUiItemsProvider.js.map +1 -1
  144. package/lib/esm/appui-abstract/UiAdmin.d.ts +221 -221
  145. package/lib/esm/appui-abstract/UiAdmin.js +220 -219
  146. package/lib/esm/appui-abstract/UiAdmin.js.map +1 -1
  147. package/lib/esm/appui-abstract/UiItemsManager.d.ts +113 -113
  148. package/lib/esm/appui-abstract/UiItemsManager.d.ts.map +1 -1
  149. package/lib/esm/appui-abstract/UiItemsManager.js +190 -194
  150. package/lib/esm/appui-abstract/UiItemsManager.js.map +1 -1
  151. package/lib/esm/appui-abstract/UiItemsProvider.d.ts +29 -28
  152. package/lib/esm/appui-abstract/UiItemsProvider.d.ts.map +1 -1
  153. package/lib/esm/appui-abstract/UiItemsProvider.js +8 -8
  154. package/lib/esm/appui-abstract/UiItemsProvider.js.map +1 -1
  155. package/lib/esm/appui-abstract/backstage/BackstageItem.d.ts +91 -91
  156. package/lib/esm/appui-abstract/backstage/BackstageItem.d.ts.map +1 -1
  157. package/lib/esm/appui-abstract/backstage/BackstageItem.js +65 -64
  158. package/lib/esm/appui-abstract/backstage/BackstageItem.js.map +1 -1
  159. package/lib/esm/appui-abstract/backstage/BackstageItemsManager.d.ts +38 -38
  160. package/lib/esm/appui-abstract/backstage/BackstageItemsManager.js +129 -129
  161. package/lib/esm/appui-abstract/backstage/BackstageItemsManager.js.map +1 -1
  162. package/lib/esm/appui-abstract/common/KeyboardKey.d.ts +51 -51
  163. package/lib/esm/appui-abstract/common/KeyboardKey.js +59 -59
  164. package/lib/esm/appui-abstract/content/ContentLayoutProps.d.ts +62 -62
  165. package/lib/esm/appui-abstract/content/ContentLayoutProps.js +8 -8
  166. package/lib/esm/appui-abstract/content/StandardContentLayouts.d.ts +19 -19
  167. package/lib/esm/appui-abstract/content/StandardContentLayouts.js +105 -104
  168. package/lib/esm/appui-abstract/content/StandardContentLayouts.js.map +1 -1
  169. package/lib/esm/appui-abstract/dialogs/DialogItem.d.ts +76 -76
  170. package/lib/esm/appui-abstract/dialogs/DialogItem.js +63 -63
  171. package/lib/esm/appui-abstract/dialogs/DialogItem.js.map +1 -1
  172. package/lib/esm/appui-abstract/dialogs/UiDataProvider.d.ts +55 -55
  173. package/lib/esm/appui-abstract/dialogs/UiDataProvider.js +61 -61
  174. package/lib/esm/appui-abstract/dialogs/UiLayoutDataProvider.d.ts +97 -97
  175. package/lib/esm/appui-abstract/dialogs/UiLayoutDataProvider.js +171 -170
  176. package/lib/esm/appui-abstract/dialogs/UiLayoutDataProvider.js.map +1 -1
  177. package/lib/esm/appui-abstract/items/AbstractItemProps.d.ts +53 -53
  178. package/lib/esm/appui-abstract/items/AbstractItemProps.d.ts.map +1 -1
  179. package/lib/esm/appui-abstract/items/AbstractItemProps.js +8 -8
  180. package/lib/esm/appui-abstract/items/AbstractMenuItemProps.d.ts +20 -20
  181. package/lib/esm/appui-abstract/items/AbstractMenuItemProps.js +8 -8
  182. package/lib/esm/appui-abstract/items/AbstractToolbarProps.d.ts +13 -13
  183. package/lib/esm/appui-abstract/items/AbstractToolbarProps.js +8 -8
  184. package/lib/esm/appui-abstract/items/BadgeType.d.ts +14 -14
  185. package/lib/esm/appui-abstract/items/BadgeType.js +19 -19
  186. package/lib/esm/appui-abstract/items/ConditionalBooleanValue.d.ts +27 -27
  187. package/lib/esm/appui-abstract/items/ConditionalBooleanValue.js +56 -56
  188. package/lib/esm/appui-abstract/items/ConditionalStringValue.d.ts +29 -29
  189. package/lib/esm/appui-abstract/items/ConditionalStringValue.js +58 -58
  190. package/lib/esm/appui-abstract/items/ProvidedItem.d.ts +11 -11
  191. package/lib/esm/appui-abstract/items/ProvidedItem.js +8 -8
  192. package/lib/esm/appui-abstract/items/RelativePosition.d.ts +18 -18
  193. package/lib/esm/appui-abstract/items/RelativePosition.js +23 -23
  194. package/lib/esm/appui-abstract/items/StageUsage.d.ts +16 -16
  195. package/lib/esm/appui-abstract/items/StageUsage.js +21 -21
  196. package/lib/esm/appui-abstract/notification/MessagePresenter.d.ts +42 -42
  197. package/lib/esm/appui-abstract/notification/MessagePresenter.js +21 -21
  198. package/lib/esm/appui-abstract/notification/MessageSeverity.d.ts +15 -15
  199. package/lib/esm/appui-abstract/notification/MessageSeverity.js +20 -20
  200. package/lib/esm/appui-abstract/properties/Description.d.ts +124 -127
  201. package/lib/esm/appui-abstract/properties/Description.d.ts.map +1 -1
  202. package/lib/esm/appui-abstract/properties/Description.js +192 -192
  203. package/lib/esm/appui-abstract/properties/Description.js.map +1 -1
  204. package/lib/esm/appui-abstract/properties/EditorParams.d.ts +260 -260
  205. package/lib/esm/appui-abstract/properties/EditorParams.d.ts.map +1 -1
  206. package/lib/esm/appui-abstract/properties/EditorParams.js +97 -97
  207. package/lib/esm/appui-abstract/properties/PrimitiveTypes.d.ts +60 -60
  208. package/lib/esm/appui-abstract/properties/PrimitiveTypes.js +8 -8
  209. package/lib/esm/appui-abstract/properties/Record.d.ts +57 -57
  210. package/lib/esm/appui-abstract/properties/Record.js +74 -74
  211. package/lib/esm/appui-abstract/properties/StandardEditorNames.d.ts +22 -22
  212. package/lib/esm/appui-abstract/properties/StandardEditorNames.js +27 -27
  213. package/lib/esm/appui-abstract/properties/StandardTypeNames.d.ts +30 -30
  214. package/lib/esm/appui-abstract/properties/StandardTypeNames.js +36 -36
  215. package/lib/esm/appui-abstract/properties/Value.d.ts +49 -49
  216. package/lib/esm/appui-abstract/properties/Value.d.ts.map +1 -1
  217. package/lib/esm/appui-abstract/properties/Value.js +17 -17
  218. package/lib/esm/appui-abstract/quantity/BaseQuantityDescription.d.ts +22 -22
  219. package/lib/esm/appui-abstract/quantity/BaseQuantityDescription.js +44 -44
  220. package/lib/esm/appui-abstract/statusbar/StatusBarItem.d.ts +128 -128
  221. package/lib/esm/appui-abstract/statusbar/StatusBarItem.d.ts.map +1 -1
  222. package/lib/esm/appui-abstract/statusbar/StatusBarItem.js +81 -80
  223. package/lib/esm/appui-abstract/statusbar/StatusBarItem.js.map +1 -1
  224. package/lib/esm/appui-abstract/statusbar/StatusBarItemsManager.d.ts +39 -39
  225. package/lib/esm/appui-abstract/statusbar/StatusBarItemsManager.js +131 -131
  226. package/lib/esm/appui-abstract/statusbar/StatusBarItemsManager.js.map +1 -1
  227. package/lib/esm/appui-abstract/toolbars/ToolbarItem.d.ts +121 -121
  228. package/lib/esm/appui-abstract/toolbars/ToolbarItem.d.ts.map +1 -1
  229. package/lib/esm/appui-abstract/toolbars/ToolbarItem.js +61 -60
  230. package/lib/esm/appui-abstract/toolbars/ToolbarItem.js.map +1 -1
  231. package/lib/esm/appui-abstract/toolbars/ToolbarItemsManager.d.ts +45 -45
  232. package/lib/esm/appui-abstract/toolbars/ToolbarItemsManager.js +231 -231
  233. package/lib/esm/appui-abstract/toolbars/ToolbarItemsManager.js.map +1 -1
  234. package/lib/esm/appui-abstract/utils/IconSpecUtilities.d.ts +29 -17
  235. package/lib/esm/appui-abstract/utils/IconSpecUtilities.d.ts.map +1 -1
  236. package/lib/esm/appui-abstract/utils/IconSpecUtilities.js +48 -28
  237. package/lib/esm/appui-abstract/utils/IconSpecUtilities.js.map +1 -1
  238. package/lib/esm/appui-abstract/utils/PointProps.d.ts +10 -10
  239. package/lib/esm/appui-abstract/utils/PointProps.js +8 -8
  240. package/lib/esm/appui-abstract/utils/UiError.d.ts +12 -12
  241. package/lib/esm/appui-abstract/utils/UiError.js +18 -18
  242. package/lib/esm/appui-abstract/utils/UiEvent.d.ts +9 -9
  243. package/lib/esm/appui-abstract/utils/UiEvent.js +13 -13
  244. package/lib/esm/appui-abstract/utils/UiEventDispatcher.d.ts +46 -46
  245. package/lib/esm/appui-abstract/utils/UiEventDispatcher.js +126 -126
  246. package/lib/esm/appui-abstract/utils/callbacks.d.ts +20 -20
  247. package/lib/esm/appui-abstract/utils/callbacks.d.ts.map +1 -1
  248. package/lib/esm/appui-abstract/utils/callbacks.js +8 -8
  249. package/lib/esm/appui-abstract/utils/filter/charCode.d.ts +416 -416
  250. package/lib/esm/appui-abstract/utils/filter/charCode.js +5 -5
  251. package/lib/esm/appui-abstract/utils/filter/filters.d.ts +98 -98
  252. package/lib/esm/appui-abstract/utils/filter/filters.d.ts.map +1 -1
  253. package/lib/esm/appui-abstract/utils/filter/filters.js +694 -694
  254. package/lib/esm/appui-abstract/utils/filter/filters.js.map +1 -1
  255. package/lib/esm/appui-abstract/utils/filter/map.d.ts +59 -59
  256. package/lib/esm/appui-abstract/utils/filter/map.js +397 -399
  257. package/lib/esm/appui-abstract/utils/filter/map.js.map +1 -1
  258. package/lib/esm/appui-abstract/utils/filter/strings.d.ts +20 -20
  259. package/lib/esm/appui-abstract/utils/filter/strings.js +70 -70
  260. package/lib/esm/appui-abstract/utils/filter/strings.js.map +1 -1
  261. package/lib/esm/appui-abstract/utils/isLetter.d.ts +9 -9
  262. package/lib/esm/appui-abstract/utils/isLetter.js +15 -15
  263. package/lib/esm/appui-abstract/utils/misc.d.ts +11 -11
  264. package/lib/esm/appui-abstract/utils/misc.js +31 -31
  265. package/lib/esm/appui-abstract/widget/AbstractWidgetProps.d.ts +86 -69
  266. package/lib/esm/appui-abstract/widget/AbstractWidgetProps.d.ts.map +1 -1
  267. package/lib/esm/appui-abstract/widget/AbstractWidgetProps.js +8 -8
  268. package/lib/esm/appui-abstract/widget/AbstractWidgetProps.js.map +1 -1
  269. package/lib/esm/appui-abstract/widget/StagePanel.d.ts +36 -21
  270. package/lib/esm/appui-abstract/widget/StagePanel.d.ts.map +1 -1
  271. package/lib/esm/appui-abstract/widget/StagePanel.js +43 -27
  272. package/lib/esm/appui-abstract/widget/StagePanel.js.map +1 -1
  273. package/lib/esm/appui-abstract/widget/WidgetState.d.ts +19 -19
  274. package/lib/esm/appui-abstract/widget/WidgetState.js +24 -24
  275. package/lib/esm/appui-abstract.d.ts +103 -103
  276. package/lib/esm/appui-abstract.js +107 -107
  277. package/package.json +26 -19
@@ -1,171 +1,172 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module Dialog
7
- */
8
- import { BeUiEvent } from "@itwin/core-bentley";
9
- import { PropertyEditorParamTypes } from "../properties/EditorParams";
10
- import { PropertyRecord } from "../properties/Record";
11
- import { PropertyValueFormat } from "../properties/Value";
12
- import { PropertyChangeStatus, UiDataProvider } from "./UiDataProvider";
13
- /** Enum for button types. Determines button label, and default button style.
14
- * @public
15
- */
16
- export var DialogButtonType;
17
- (function (DialogButtonType) {
18
- DialogButtonType["None"] = "";
19
- DialogButtonType["Close"] = "close";
20
- DialogButtonType["OK"] = "ok";
21
- DialogButtonType["Cancel"] = "cancel";
22
- DialogButtonType["Yes"] = "yes";
23
- DialogButtonType["No"] = "no";
24
- DialogButtonType["Retry"] = "retry";
25
- DialogButtonType["Next"] = "next";
26
- DialogButtonType["Previous"] = "previous";
27
- })(DialogButtonType || (DialogButtonType = {}));
28
- /** Enum for button style.
29
- * @public
30
- */
31
- export var DialogButtonStyle;
32
- (function (DialogButtonStyle) {
33
- DialogButtonStyle["None"] = "";
34
- DialogButtonStyle["Primary"] = "iui-cta";
35
- DialogButtonStyle["Hollow"] = "iui-default";
36
- DialogButtonStyle["Blue"] = "iui-high-visibility";
37
- })(DialogButtonStyle || (DialogButtonStyle = {}));
38
- /**
39
- * @public
40
- */
41
- export class UiLayoutDataProvider extends UiDataProvider {
42
- constructor() {
43
- super(...arguments);
44
- /** Applies change of a single property - this is the default method used when property editors are dynamically generated. */
45
- // istanbul ignore next
46
- this.applyUiPropertyChange = (_updatedValue) => {
47
- throw (new Error("Derived UiDataProvider should implement this to apply change to a single property."));
48
- };
49
- }
50
- /** Applies changes from one or more properties - some dialogs will use this to send a bulk set of changes back to the provider */
51
- processChangesInUi(properties) {
52
- // Default implementation is to just pass each property to applyUiPropertyChange
53
- properties.forEach((property) => this.applyUiPropertyChange(property));
54
- return { status: PropertyChangeStatus.Success };
55
- }
56
- /** Array of dialog rows */
57
- get rows() {
58
- if (!this._rows) {
59
- this._rows = this.layoutDialogRows();
60
- }
61
- return this._rows;
62
- }
63
- loadItemsInternal(items) {
64
- this._items = items ? items : [];
65
- this._rows = this.layoutDialogRows();
66
- }
67
- /** Called by UI to request available properties that can be bound to user supplied UI components (See Tool1UiProvider for example). */
68
- // istanbul ignore next
69
- supplyDialogItems() {
70
- throw (new Error("Derived UiDataProvider must implement this method to supply set of properties."));
71
- }
72
- get items() {
73
- if (undefined === this._items) {
74
- this.loadItemsInternal(this.supplyDialogItems());
75
- }
76
- return this._items;
77
- }
78
- /** Called to inform listeners that new properties are ready for display in UI. */
79
- reloadDialogItems(emitEvent = true) {
80
- this.loadItemsInternal(this.supplyDialogItems());
81
- // istanbul ignore else
82
- if (emitEvent)
83
- this.fireItemsReloadedEvent();
84
- }
85
- /**
86
- * @internal
87
- */
88
- layoutDialogRows() {
89
- const rows = [];
90
- this.items.forEach((item) => {
91
- const row = rows.find((value) => value.priority === item.editorPosition.rowPriority);
92
- if (row) {
93
- row.items.push(item);
94
- }
95
- else {
96
- rows.push({ priority: item.editorPosition.rowPriority, items: [item] });
97
- }
98
- });
99
- // sort rows
100
- rows.sort((a, b) => a.priority - b.priority);
101
- // sort records
102
- rows.forEach((row) => row.items.sort((a, b) => a.editorPosition.columnIndex - b.editorPosition.columnIndex));
103
- return rows;
104
- }
105
- /** Determines if a dialog item editor wants a label */
106
- static editorWantsLabel(item) {
107
- if (item.property.editor && item.property.editor.params) {
108
- const params = item.property.editor.params.find((param) => param.type === PropertyEditorParamTypes.SuppressEditorLabel);
109
- // istanbul ignore else
110
- if (params)
111
- return false;
112
- }
113
- return true;
114
- }
115
- /** Determines if a dialog items has an associated lock property */
116
- static hasAssociatedLockProperty(item) {
117
- return !!item.lockProperty;
118
- }
119
- /** Gets the disabled state for a given dialog item */
120
- static getItemDisabledState(baseDialogItem) {
121
- const dialogItem = baseDialogItem;
122
- // istanbul ignore else
123
- if (dialogItem === undefined || dialogItem.lockProperty === undefined)
124
- return !!baseDialogItem.isDisabled;
125
- const value = dialogItem.lockProperty.value;
126
- // istanbul ignore next
127
- if (value === undefined)
128
- return !!baseDialogItem.isDisabled;
129
- return !value.value;
130
- }
131
- /** Determines if a dialog row only contains button group editors */
132
- static onlyContainButtonGroupEditors(row) {
133
- for (const item of row.items) {
134
- // istanbul ignore else
135
- if (UiLayoutDataProvider.hasAssociatedLockProperty(item) || undefined === item.property.editor || "enum-buttongroup" !== item.property.editor.name || UiLayoutDataProvider.editorWantsLabel(item))
136
- return false;
137
- }
138
- return true;
139
- }
140
- }
141
- /** Gets a property record for a given dialog item */
142
- UiLayoutDataProvider.getPropertyRecord = (dialogItem) => {
143
- const propertyValue = { valueFormat: PropertyValueFormat.Primitive, value: dialogItem.value.value, displayValue: dialogItem.value.displayValue };
144
- const record = new PropertyRecord(propertyValue, dialogItem.property);
145
- record.isDisabled = UiLayoutDataProvider.getItemDisabledState(dialogItem);
146
- return record;
147
- };
148
- /** [[DialogLayoutDataProvider]] Abstract class that allows property values to be passed between hosting API and Dialog that generates and arranges components dynamically
149
- * including the buttons at the bottom of the dialog.
150
- * @public
151
- */
152
- export class DialogLayoutDataProvider extends UiLayoutDataProvider {
153
- constructor() {
154
- super(...arguments);
155
- this.onButtonsReloadedEvent = new BeUiEvent();
156
- }
157
- /** Called to inform listeners that modal dialog button data needs to be refreshed. */
158
- fireDialogButtonsReloadEvent() {
159
- this.onButtonsReloadedEvent.emit();
160
- }
161
- supplyButtonData() {
162
- // Derived class should override
163
- const buttons = [];
164
- // istanbul ignore next
165
- buttons.push({ type: DialogButtonType.OK, onClick: () => { } });
166
- // istanbul ignore next
167
- buttons.push({ type: DialogButtonType.Cancel, onClick: () => { } });
168
- return buttons;
169
- }
170
- }
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Dialog
7
+ */
8
+ import { BeUiEvent } from "@itwin/core-bentley";
9
+ import { PropertyEditorParamTypes } from "../properties/EditorParams";
10
+ import { PropertyRecord } from "../properties/Record";
11
+ import { PropertyValueFormat } from "../properties/Value";
12
+ import { PropertyChangeStatus, UiDataProvider } from "./UiDataProvider";
13
+ /** Enum for button types. Determines button label, and default button style.
14
+ * @public
15
+ */
16
+ export var DialogButtonType;
17
+ (function (DialogButtonType) {
18
+ DialogButtonType["None"] = "";
19
+ DialogButtonType["Close"] = "close";
20
+ DialogButtonType["OK"] = "ok";
21
+ DialogButtonType["Cancel"] = "cancel";
22
+ DialogButtonType["Yes"] = "yes";
23
+ DialogButtonType["No"] = "no";
24
+ DialogButtonType["Retry"] = "retry";
25
+ DialogButtonType["Next"] = "next";
26
+ DialogButtonType["Previous"] = "previous";
27
+ })(DialogButtonType || (DialogButtonType = {}));
28
+ /** Enum for button style.
29
+ * @public
30
+ */
31
+ export var DialogButtonStyle;
32
+ (function (DialogButtonStyle) {
33
+ DialogButtonStyle["None"] = "";
34
+ DialogButtonStyle["Primary"] = "iui-cta";
35
+ DialogButtonStyle["Hollow"] = "iui-default";
36
+ DialogButtonStyle["Blue"] = "iui-high-visibility";
37
+ })(DialogButtonStyle || (DialogButtonStyle = {}));
38
+ /**
39
+ * @public
40
+ */
41
+ class UiLayoutDataProvider extends UiDataProvider {
42
+ constructor() {
43
+ super(...arguments);
44
+ /** Applies change of a single property - this is the default method used when property editors are dynamically generated. */
45
+ // istanbul ignore next
46
+ this.applyUiPropertyChange = (_updatedValue) => {
47
+ throw (new Error("Derived UiDataProvider should implement this to apply change to a single property."));
48
+ };
49
+ }
50
+ /** Applies changes from one or more properties - some dialogs will use this to send a bulk set of changes back to the provider */
51
+ processChangesInUi(properties) {
52
+ // Default implementation is to just pass each property to applyUiPropertyChange
53
+ properties.forEach((property) => this.applyUiPropertyChange(property));
54
+ return { status: PropertyChangeStatus.Success };
55
+ }
56
+ /** Array of dialog rows */
57
+ get rows() {
58
+ if (!this._rows) {
59
+ this._rows = this.layoutDialogRows();
60
+ }
61
+ return this._rows;
62
+ }
63
+ loadItemsInternal(items) {
64
+ this._items = items ? items : [];
65
+ this._rows = this.layoutDialogRows();
66
+ }
67
+ /** Called by UI to request available properties that can be bound to user supplied UI components (See Tool1UiProvider for example). */
68
+ // istanbul ignore next
69
+ supplyDialogItems() {
70
+ throw (new Error("Derived UiDataProvider must implement this method to supply set of properties."));
71
+ }
72
+ get items() {
73
+ if (undefined === this._items) {
74
+ this.loadItemsInternal(this.supplyDialogItems());
75
+ }
76
+ return this._items;
77
+ }
78
+ /** Called to inform listeners that new properties are ready for display in UI. */
79
+ reloadDialogItems(emitEvent = true) {
80
+ this.loadItemsInternal(this.supplyDialogItems());
81
+ // istanbul ignore else
82
+ if (emitEvent)
83
+ this.fireItemsReloadedEvent();
84
+ }
85
+ /**
86
+ * @internal
87
+ */
88
+ layoutDialogRows() {
89
+ const rows = [];
90
+ this.items.forEach((item) => {
91
+ const row = rows.find((value) => value.priority === item.editorPosition.rowPriority);
92
+ if (row) {
93
+ row.items.push(item);
94
+ }
95
+ else {
96
+ rows.push({ priority: item.editorPosition.rowPriority, items: [item] });
97
+ }
98
+ });
99
+ // sort rows
100
+ rows.sort((a, b) => a.priority - b.priority);
101
+ // sort records
102
+ rows.forEach((row) => row.items.sort((a, b) => a.editorPosition.columnIndex - b.editorPosition.columnIndex));
103
+ return rows;
104
+ }
105
+ /** Determines if a dialog item editor wants a label */
106
+ static editorWantsLabel(item) {
107
+ if (item.property.editor && item.property.editor.params) {
108
+ const params = item.property.editor.params.find((param) => param.type === PropertyEditorParamTypes.SuppressEditorLabel);
109
+ // istanbul ignore else
110
+ if (params)
111
+ return false;
112
+ }
113
+ return true;
114
+ }
115
+ /** Determines if a dialog items has an associated lock property */
116
+ static hasAssociatedLockProperty(item) {
117
+ return !!item.lockProperty;
118
+ }
119
+ /** Gets the disabled state for a given dialog item */
120
+ static getItemDisabledState(baseDialogItem) {
121
+ const dialogItem = baseDialogItem;
122
+ // istanbul ignore else
123
+ if (dialogItem === undefined || dialogItem.lockProperty === undefined)
124
+ return !!baseDialogItem.isDisabled;
125
+ const value = dialogItem.lockProperty.value;
126
+ // istanbul ignore next
127
+ if (value === undefined)
128
+ return !!baseDialogItem.isDisabled;
129
+ return !value.value;
130
+ }
131
+ /** Determines if a dialog row only contains button group editors */
132
+ static onlyContainButtonGroupEditors(row) {
133
+ for (const item of row.items) {
134
+ // istanbul ignore else
135
+ if (UiLayoutDataProvider.hasAssociatedLockProperty(item) || undefined === item.property.editor || "enum-buttongroup" !== item.property.editor.name || UiLayoutDataProvider.editorWantsLabel(item))
136
+ return false;
137
+ }
138
+ return true;
139
+ }
140
+ }
141
+ /** Gets a property record for a given dialog item */
142
+ UiLayoutDataProvider.getPropertyRecord = (dialogItem) => {
143
+ const propertyValue = { valueFormat: PropertyValueFormat.Primitive, value: dialogItem.value.value, displayValue: dialogItem.value.displayValue };
144
+ const record = new PropertyRecord(propertyValue, dialogItem.property);
145
+ record.isDisabled = UiLayoutDataProvider.getItemDisabledState(dialogItem);
146
+ return record;
147
+ };
148
+ export { UiLayoutDataProvider };
149
+ /** [[DialogLayoutDataProvider]] Abstract class that allows property values to be passed between hosting API and Dialog that generates and arranges components dynamically
150
+ * including the buttons at the bottom of the dialog.
151
+ * @public
152
+ */
153
+ export class DialogLayoutDataProvider extends UiLayoutDataProvider {
154
+ constructor() {
155
+ super(...arguments);
156
+ this.onButtonsReloadedEvent = new BeUiEvent();
157
+ }
158
+ /** Called to inform listeners that modal dialog button data needs to be refreshed. */
159
+ fireDialogButtonsReloadEvent() {
160
+ this.onButtonsReloadedEvent.emit();
161
+ }
162
+ supplyButtonData() {
163
+ // Derived class should override
164
+ const buttons = [];
165
+ // istanbul ignore next
166
+ buttons.push({ type: DialogButtonType.OK, onClick: () => { } });
167
+ // istanbul ignore next
168
+ buttons.push({ type: DialogButtonType.Cancel, onClick: () => { } });
169
+ return buttons;
170
+ }
171
+ }
171
172
  //# sourceMappingURL=UiLayoutDataProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"UiLayoutDataProvider.js","sourceRoot":"","sources":["../../../../src/appui-abstract/dialogs/UiLayoutDataProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Dialog\r\n */\r\n\r\nimport { BeUiEvent } from \"@itwin/core-bentley\";\r\nimport { PropertyEditorParams, PropertyEditorParamTypes, SuppressLabelEditorParams } from \"../properties/EditorParams\";\r\nimport { PropertyRecord } from \"../properties/Record\";\r\nimport { PrimitiveValue, PropertyValueFormat } from \"../properties/Value\";\r\nimport { BaseDialogItem, DialogItem, DialogPropertyItem, DialogPropertySyncItem } from \"./DialogItem\";\r\nimport { PropertyChangeResult, PropertyChangeStatus, UiDataProvider } from \"./UiDataProvider\";\r\n\r\n/** Enum for button types. Determines button label, and default button style.\r\n * @public\r\n */\r\nexport enum DialogButtonType {\r\n None = \"\",\r\n Close = \"close\",\r\n OK = \"ok\",\r\n Cancel = \"cancel\",\r\n Yes = \"yes\",\r\n No = \"no\",\r\n Retry = \"retry\",\r\n Next = \"next\",\r\n Previous = \"previous\"\r\n}\r\n\r\n/** Enum for button style.\r\n * @public\r\n */\r\nexport enum DialogButtonStyle {\r\n None = \"\",\r\n Primary = \"iui-cta\",\r\n Hollow = \"iui-default\",\r\n Blue = \"iui-high-visibility\",\r\n}\r\n\r\n/** Interface for a dialog button in a button cluster\r\n * @public\r\n */\r\nexport interface DialogButtonDef {\r\n /** type of button */\r\n type: DialogButtonType;\r\n /** Triggered on button click */\r\n onClick: () => void;\r\n /** Which button style to decorate button width */\r\n buttonStyle?: DialogButtonStyle;\r\n /** Disable the button */\r\n disabled?: boolean;\r\n /** Custom label */\r\n label?: string;\r\n /** Custom CSS class */\r\n className?: string;\r\n}\r\n\r\n/** [[DialogRow]] is the interface that groups dialog items into rows for building UI\r\n * @public\r\n */\r\nexport interface DialogRow {\r\n priority: number;\r\n items: DialogItem[];\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport abstract class UiLayoutDataProvider extends UiDataProvider {\r\n private _items: ReadonlyArray<DialogItem> | undefined;\r\n\r\n /** Applies changes from one or more properties - some dialogs will use this to send a bulk set of changes back to the provider */\r\n public override processChangesInUi(properties: DialogPropertyItem[]): PropertyChangeResult {\r\n // Default implementation is to just pass each property to applyUiPropertyChange\r\n properties.forEach((property) => this.applyUiPropertyChange(property));\r\n return { status: PropertyChangeStatus.Success };\r\n }\r\n\r\n /** Applies change of a single property - this is the default method used when property editors are dynamically generated. */\r\n // istanbul ignore next\r\n public applyUiPropertyChange = (_updatedValue: DialogPropertySyncItem): void => {\r\n throw (new Error(\"Derived UiDataProvider should implement this to apply change to a single property.\"));\r\n };\r\n\r\n private _rows: DialogRow[] | undefined;\r\n\r\n /** Array of dialog rows */\r\n public get rows(): DialogRow[] {\r\n if (!this._rows) {\r\n this._rows = this.layoutDialogRows();\r\n }\r\n return this._rows;\r\n }\r\n\r\n protected loadItemsInternal(items: ReadonlyArray<DialogItem> | undefined) {\r\n this._items = items ? items : [];\r\n this._rows = this.layoutDialogRows();\r\n }\r\n\r\n /** Called by UI to request available properties that can be bound to user supplied UI components (See Tool1UiProvider for example). */\r\n // istanbul ignore next\r\n public supplyDialogItems(): DialogItem[] | undefined {\r\n throw (new Error(\"Derived UiDataProvider must implement this method to supply set of properties.\"));\r\n }\r\n\r\n public get items(): ReadonlyArray<DialogItem> {\r\n if (undefined === this._items) {\r\n this.loadItemsInternal(this.supplyDialogItems());\r\n }\r\n return this._items!;\r\n }\r\n\r\n /** Called to inform listeners that new properties are ready for display in UI. */\r\n public reloadDialogItems(emitEvent = true) {\r\n this.loadItemsInternal(this.supplyDialogItems());\r\n // istanbul ignore else\r\n if (emitEvent)\r\n this.fireItemsReloadedEvent();\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public layoutDialogRows(): DialogRow[] {\r\n const rows: DialogRow[] = [];\r\n\r\n this.items.forEach((item) => {\r\n const row = rows.find((value) => value.priority === item.editorPosition.rowPriority);\r\n if (row) {\r\n row.items.push(item);\r\n } else {\r\n rows.push({ priority: item.editorPosition.rowPriority, items: [item] });\r\n }\r\n });\r\n\r\n // sort rows\r\n rows.sort((a: DialogRow, b: DialogRow) => a.priority - b.priority);\r\n // sort records\r\n rows.forEach((row: DialogRow) => row.items.sort((a: DialogItem, b: DialogItem) => a.editorPosition.columnIndex - b.editorPosition.columnIndex));\r\n return rows;\r\n }\r\n\r\n /** Determines if a dialog item editor wants a label */\r\n public static editorWantsLabel(item: DialogItem): boolean {\r\n if (item.property.editor && item.property.editor.params) {\r\n const params = item.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.SuppressEditorLabel) as SuppressLabelEditorParams;\r\n // istanbul ignore else\r\n if (params)\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n /** Determines if a dialog items has an associated lock property */\r\n public static hasAssociatedLockProperty(item: DialogItem): boolean {\r\n return !!item.lockProperty;\r\n }\r\n\r\n /** Gets the disabled state for a given dialog item */\r\n public static getItemDisabledState(baseDialogItem: BaseDialogItem): boolean {\r\n const dialogItem = baseDialogItem as DialogItem;\r\n // istanbul ignore else\r\n if (dialogItem === undefined || dialogItem.lockProperty === undefined)\r\n return !!baseDialogItem.isDisabled;\r\n const value = dialogItem.lockProperty.value;\r\n // istanbul ignore next\r\n if (value === undefined)\r\n return !!baseDialogItem.isDisabled;\r\n\r\n return !value.value;\r\n }\r\n\r\n /** Gets a property record for a given dialog item */\r\n public static getPropertyRecord = (dialogItem: BaseDialogItem): PropertyRecord => {\r\n const propertyValue = { valueFormat: PropertyValueFormat.Primitive, value: dialogItem.value.value, displayValue: dialogItem.value.displayValue };\r\n const record = new PropertyRecord(propertyValue as PrimitiveValue, dialogItem.property);\r\n record.isDisabled = UiLayoutDataProvider.getItemDisabledState(dialogItem);\r\n return record;\r\n };\r\n\r\n /** Determines if a dialog row only contains button group editors */\r\n public static onlyContainButtonGroupEditors(row: DialogRow): boolean {\r\n for (const item of row.items) {\r\n // istanbul ignore else\r\n if (UiLayoutDataProvider.hasAssociatedLockProperty(item) || undefined === item.property.editor || \"enum-buttongroup\" !== item.property.editor.name || UiLayoutDataProvider.editorWantsLabel(item))\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n\r\n/** [[DialogLayoutDataProvider]] Abstract class that allows property values to be passed between hosting API and Dialog that generates and arranges components dynamically\r\n * including the buttons at the bottom of the dialog.\r\n * @public\r\n */\r\nexport abstract class DialogLayoutDataProvider extends UiLayoutDataProvider {\r\n public onButtonsReloadedEvent = new BeUiEvent<void>();\r\n\r\n /** Called to inform listeners that modal dialog button data needs to be refreshed. */\r\n public fireDialogButtonsReloadEvent() {\r\n this.onButtonsReloadedEvent.emit();\r\n }\r\n\r\n public supplyButtonData(): DialogButtonDef[] | undefined {\r\n // Derived class should override\r\n const buttons: DialogButtonDef[] = [];\r\n // istanbul ignore next\r\n buttons.push({ type: DialogButtonType.OK, onClick: () => { } });\r\n // istanbul ignore next\r\n buttons.push({ type: DialogButtonType.Cancel, onClick: () => { } });\r\n return buttons;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"UiLayoutDataProvider.js","sourceRoot":"","sources":["../../../../src/appui-abstract/dialogs/UiLayoutDataProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Dialog\r\n */\r\n\r\nimport { BeUiEvent } from \"@itwin/core-bentley\";\r\nimport { PropertyEditorParams, PropertyEditorParamTypes, SuppressLabelEditorParams } from \"../properties/EditorParams\";\r\nimport { PropertyRecord } from \"../properties/Record\";\r\nimport { PrimitiveValue, PropertyValueFormat } from \"../properties/Value\";\r\nimport { BaseDialogItem, DialogItem, DialogPropertyItem, DialogPropertySyncItem } from \"./DialogItem\";\r\nimport { PropertyChangeResult, PropertyChangeStatus, UiDataProvider } from \"./UiDataProvider\";\r\n\r\n/** Enum for button types. Determines button label, and default button style.\r\n * @public\r\n */\r\nexport enum DialogButtonType {\r\n None = \"\",\r\n Close = \"close\",\r\n OK = \"ok\",\r\n Cancel = \"cancel\",\r\n Yes = \"yes\",\r\n No = \"no\",\r\n Retry = \"retry\",\r\n Next = \"next\",\r\n Previous = \"previous\"\r\n}\r\n\r\n/** Enum for button style.\r\n * @public\r\n */\r\nexport enum DialogButtonStyle {\r\n None = \"\",\r\n Primary = \"iui-cta\",\r\n Hollow = \"iui-default\",\r\n Blue = \"iui-high-visibility\",\r\n}\r\n\r\n/** Interface for a dialog button in a button cluster\r\n * @public\r\n */\r\nexport interface DialogButtonDef {\r\n /** type of button */\r\n type: DialogButtonType;\r\n /** Triggered on button click */\r\n onClick: () => void;\r\n /** Which button style to decorate button width */\r\n buttonStyle?: DialogButtonStyle;\r\n /** Disable the button */\r\n disabled?: boolean;\r\n /** Custom label */\r\n label?: string;\r\n /** Custom CSS class */\r\n className?: string;\r\n}\r\n\r\n/** [[DialogRow]] is the interface that groups dialog items into rows for building UI\r\n * @public\r\n */\r\nexport interface DialogRow {\r\n priority: number;\r\n items: DialogItem[];\r\n}\r\n\r\n/**\r\n * @public\r\n */\r\nexport abstract class UiLayoutDataProvider extends UiDataProvider {\r\n private _items: ReadonlyArray<DialogItem> | undefined;\r\n\r\n /** Applies changes from one or more properties - some dialogs will use this to send a bulk set of changes back to the provider */\r\n public override processChangesInUi(properties: DialogPropertyItem[]): PropertyChangeResult {\r\n // Default implementation is to just pass each property to applyUiPropertyChange\r\n properties.forEach((property) => this.applyUiPropertyChange(property));\r\n return { status: PropertyChangeStatus.Success };\r\n }\r\n\r\n /** Applies change of a single property - this is the default method used when property editors are dynamically generated. */\r\n // istanbul ignore next\r\n public applyUiPropertyChange = (_updatedValue: DialogPropertySyncItem): void => {\r\n throw (new Error(\"Derived UiDataProvider should implement this to apply change to a single property.\"));\r\n };\r\n\r\n private _rows: DialogRow[] | undefined;\r\n\r\n /** Array of dialog rows */\r\n public get rows(): DialogRow[] {\r\n if (!this._rows) {\r\n this._rows = this.layoutDialogRows();\r\n }\r\n return this._rows;\r\n }\r\n\r\n protected loadItemsInternal(items: ReadonlyArray<DialogItem> | undefined) {\r\n this._items = items ? items : [];\r\n this._rows = this.layoutDialogRows();\r\n }\r\n\r\n /** Called by UI to request available properties that can be bound to user supplied UI components (See Tool1UiProvider for example). */\r\n // istanbul ignore next\r\n public supplyDialogItems(): DialogItem[] | undefined {\r\n throw (new Error(\"Derived UiDataProvider must implement this method to supply set of properties.\"));\r\n }\r\n\r\n public get items(): ReadonlyArray<DialogItem> {\r\n if (undefined === this._items) {\r\n this.loadItemsInternal(this.supplyDialogItems());\r\n }\r\n return this._items!;\r\n }\r\n\r\n /** Called to inform listeners that new properties are ready for display in UI. */\r\n public reloadDialogItems(emitEvent = true) {\r\n this.loadItemsInternal(this.supplyDialogItems());\r\n // istanbul ignore else\r\n if (emitEvent)\r\n this.fireItemsReloadedEvent();\r\n }\r\n\r\n /**\r\n * @internal\r\n */\r\n public layoutDialogRows(): DialogRow[] {\r\n const rows: DialogRow[] = [];\r\n\r\n this.items.forEach((item) => {\r\n const row = rows.find((value) => value.priority === item.editorPosition.rowPriority);\r\n if (row) {\r\n row.items.push(item);\r\n } else {\r\n rows.push({ priority: item.editorPosition.rowPriority, items: [item] });\r\n }\r\n });\r\n\r\n // sort rows\r\n rows.sort((a: DialogRow, b: DialogRow) => a.priority - b.priority);\r\n // sort records\r\n rows.forEach((row: DialogRow) => row.items.sort((a: DialogItem, b: DialogItem) => a.editorPosition.columnIndex - b.editorPosition.columnIndex));\r\n return rows;\r\n }\r\n\r\n /** Determines if a dialog item editor wants a label */\r\n public static editorWantsLabel(item: DialogItem): boolean {\r\n if (item.property.editor && item.property.editor.params) {\r\n const params = item.property.editor.params.find((param: PropertyEditorParams) => param.type === PropertyEditorParamTypes.SuppressEditorLabel) as SuppressLabelEditorParams;\r\n // istanbul ignore else\r\n if (params)\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n /** Determines if a dialog items has an associated lock property */\r\n public static hasAssociatedLockProperty(item: DialogItem): boolean {\r\n return !!item.lockProperty;\r\n }\r\n\r\n /** Gets the disabled state for a given dialog item */\r\n public static getItemDisabledState(baseDialogItem: BaseDialogItem): boolean {\r\n const dialogItem = baseDialogItem as DialogItem;\r\n // istanbul ignore else\r\n if (dialogItem === undefined || dialogItem.lockProperty === undefined)\r\n return !!baseDialogItem.isDisabled;\r\n const value = dialogItem.lockProperty.value;\r\n // istanbul ignore next\r\n if (value === undefined)\r\n return !!baseDialogItem.isDisabled;\r\n\r\n return !value.value;\r\n }\r\n\r\n /** Gets a property record for a given dialog item */\r\n public static getPropertyRecord = (dialogItem: BaseDialogItem): PropertyRecord => {\r\n const propertyValue = { valueFormat: PropertyValueFormat.Primitive, value: dialogItem.value.value, displayValue: dialogItem.value.displayValue };\r\n const record = new PropertyRecord(propertyValue as PrimitiveValue, dialogItem.property);\r\n record.isDisabled = UiLayoutDataProvider.getItemDisabledState(dialogItem);\r\n return record;\r\n };\r\n\r\n /** Determines if a dialog row only contains button group editors */\r\n public static onlyContainButtonGroupEditors(row: DialogRow): boolean {\r\n for (const item of row.items) {\r\n // istanbul ignore else\r\n if (UiLayoutDataProvider.hasAssociatedLockProperty(item) || undefined === item.property.editor || \"enum-buttongroup\" !== item.property.editor.name || UiLayoutDataProvider.editorWantsLabel(item))\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n\r\n/** [[DialogLayoutDataProvider]] Abstract class that allows property values to be passed between hosting API and Dialog that generates and arranges components dynamically\r\n * including the buttons at the bottom of the dialog.\r\n * @public\r\n */\r\nexport abstract class DialogLayoutDataProvider extends UiLayoutDataProvider {\r\n public onButtonsReloadedEvent = new BeUiEvent<void>();\r\n\r\n /** Called to inform listeners that modal dialog button data needs to be refreshed. */\r\n public fireDialogButtonsReloadEvent() {\r\n this.onButtonsReloadedEvent.emit();\r\n }\r\n\r\n public supplyButtonData(): DialogButtonDef[] | undefined {\r\n // Derived class should override\r\n const buttons: DialogButtonDef[] = [];\r\n // istanbul ignore next\r\n buttons.push({ type: DialogButtonType.OK, onClick: () => { } });\r\n // istanbul ignore next\r\n buttons.push({ type: DialogButtonType.Cancel, onClick: () => { } });\r\n return buttons;\r\n }\r\n}\r\n"]}
@@ -1,54 +1,54 @@
1
- /** @packageDocumentation
2
- * @module Item
3
- */
4
- import { BadgeType } from "./BadgeType";
5
- import { ConditionalBooleanValue } from "./ConditionalBooleanValue";
6
- import { ConditionalStringValue } from "./ConditionalStringValue";
7
- /** Prototype for string getter function.
8
- * @public
9
- */
10
- export declare type StringGetter = () => string;
11
- /** Definition that specifies properties shared between many ConfigurableUi components.
12
- * @public
13
- */
14
- export interface CommonItemProps {
15
- /** can be used by application to store miscellaneous data. */
16
- applicationData?: any;
17
- /** Badge to be overlaid on the item. */
18
- badgeType?: BadgeType;
19
- /** if set, it is used to explicitly set the description shown by components that support a description. */
20
- description?: string | ConditionalStringValue;
21
- /** Name of icon WebFont entry or if specifying an imported SVG symbol use "webSvg:" prefix to imported symbol Id. */
22
- icon?: string | ConditionalStringValue;
23
- /** optional data to be used by item implementor. */
24
- readonly internalData?: Map<string, any>;
25
- /** if true component will be hidden - defaults to false */
26
- isHidden?: boolean | ConditionalBooleanValue;
27
- /** if true component will be disabled - defaults to false */
28
- isDisabled?: boolean | ConditionalBooleanValue;
29
- /** if set, component will be considered "active" an will display an "active stripe" - defaults to false */
30
- isActive?: boolean;
31
- /** if set, component will be considered selected but will NOT display an "active stripe" - defaults to false. Typically used by buttons that toggle between two states. */
32
- isPressed?: boolean;
33
- /** if set, it is used to explicitly set the label shown by a component. */
34
- label?: string | ConditionalStringValue;
35
- /** used to explicitly set the tooltip shown by a component. */
36
- tooltip?: string | ConditionalStringValue;
37
- }
38
- /** Definition for a command handler.
39
- * @public
40
- */
41
- export interface CommandHandler {
42
- /** Function to execute */
43
- execute?: (args?: any) => any;
44
- /** Parameters passed to the function */
45
- parameters?: any;
46
- /** Function to get the parameters passed to the function */
47
- getCommandArgs?: () => any[];
48
- }
49
- /** Definition for an item that executes and action.
50
- * @public
51
- */
52
- export interface AbstractActionItemProps extends CommonItemProps, CommandHandler {
53
- }
1
+ /** @packageDocumentation
2
+ * @module Item
3
+ */
4
+ import { BadgeType } from "./BadgeType";
5
+ import { ConditionalBooleanValue } from "./ConditionalBooleanValue";
6
+ import { ConditionalStringValue } from "./ConditionalStringValue";
7
+ /** Prototype for string getter function.
8
+ * @public
9
+ */
10
+ export type StringGetter = () => string;
11
+ /** Definition that specifies properties shared between many ConfigurableUi components.
12
+ * @public
13
+ */
14
+ export interface CommonItemProps {
15
+ /** can be used by application to store miscellaneous data. */
16
+ applicationData?: any;
17
+ /** Badge to be overlaid on the item. */
18
+ badgeType?: BadgeType;
19
+ /** if set, it is used to explicitly set the description shown by components that support a description. */
20
+ description?: string | ConditionalStringValue;
21
+ /** Name of icon WebFont entry or if specifying an imported SVG symbol use "webSvg:" prefix to imported symbol Id. */
22
+ icon?: string | ConditionalStringValue;
23
+ /** optional data to be used by item implementor. */
24
+ readonly internalData?: Map<string, any>;
25
+ /** if true component will be hidden - defaults to false */
26
+ isHidden?: boolean | ConditionalBooleanValue;
27
+ /** if true component will be disabled - defaults to false */
28
+ isDisabled?: boolean | ConditionalBooleanValue;
29
+ /** if set, component will be considered "active" an will display an "active stripe" - defaults to false */
30
+ isActive?: boolean;
31
+ /** if set, component will be considered selected but will NOT display an "active stripe" - defaults to false. Typically used by buttons that toggle between two states. */
32
+ isPressed?: boolean;
33
+ /** if set, it is used to explicitly set the label shown by a component. */
34
+ label?: string | ConditionalStringValue;
35
+ /** used to explicitly set the tooltip shown by a component. */
36
+ tooltip?: string | ConditionalStringValue;
37
+ }
38
+ /** Definition for a command handler.
39
+ * @public
40
+ */
41
+ export interface CommandHandler {
42
+ /** Function to execute */
43
+ execute?: (args?: any) => any;
44
+ /** Parameters passed to the function */
45
+ parameters?: any;
46
+ /** Function to get the parameters passed to the function */
47
+ getCommandArgs?: () => any[];
48
+ }
49
+ /** Definition for an item that executes and action.
50
+ * @public
51
+ */
52
+ export interface AbstractActionItemProps extends CommonItemProps, CommandHandler {
53
+ }
54
54
  //# sourceMappingURL=AbstractItemProps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AbstractItemProps.d.ts","sourceRoot":"","sources":["../../../../src/appui-abstract/items/AbstractItemProps.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;GAEG;AACH,oBAAY,YAAY,GAAG,MAAM,MAAM,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,wCAAwC;IACxC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2GAA2G;IAC3G,WAAW,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IAC9C,sHAAsH;IACtH,IAAI,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACvC,oDAAoD;IACpD,QAAQ,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEzC,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IAC7C,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IAC/C,2GAA2G;IAC3G,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2KAA2K;IAC3K,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACxC,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;IAC9B,wCAAwC;IACxC,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,eAAe,EAAE,cAAc;CAC/E"}
1
+ {"version":3,"file":"AbstractItemProps.d.ts","sourceRoot":"","sources":["../../../../src/appui-abstract/items/AbstractItemProps.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC;AAExC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,8DAA8D;IAC9D,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,wCAAwC;IACxC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,2GAA2G;IAC3G,WAAW,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IAC9C,sHAAsH;IACtH,IAAI,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACvC,oDAAoD;IACpD,QAAQ,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEzC,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IAC7C,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAAC;IAC/C,2GAA2G;IAC3G,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2KAA2K;IAC3K,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;IACxC,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0BAA0B;IAC1B,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,GAAG,CAAC;IAC9B,wCAAwC;IACxC,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,4DAA4D;IAC5D,cAAc,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,eAAe,EAAE,cAAc;CAC/E"}
@@ -1,9 +1,9 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module Item
7
- */
8
- export {};
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Item
7
+ */
8
+ export {};
9
9
  //# sourceMappingURL=AbstractItemProps.js.map
@@ -1,21 +1,21 @@
1
- /** @packageDocumentation
2
- * @module Item
3
- */
4
- import { AbstractActionItemProps, CommonItemProps } from "./AbstractItemProps";
5
- import { ConditionalStringValue } from "./ConditionalStringValue";
6
- /** Properties for a Menu item
7
- * @public
8
- */
9
- export interface AbstractMenuItemProps extends CommonItemProps {
10
- /** The id for the menu item. */
11
- id: string;
12
- /** The item to execute when this item is invoked. Either 'item' or 'submenu' must be specified. */
13
- item?: AbstractActionItemProps;
14
- /** Nested array of item props. Either 'item' or 'submenu' must be specified. */
15
- submenu?: AbstractMenuItemProps[];
16
- /** Icon to display on right side of the menu item.
17
- * Name of icon WebFont entry or if specifying an imported SVG symbol use "webSvg:" prefix to imported symbol Id.
18
- */
19
- iconRight?: string | ConditionalStringValue;
20
- }
1
+ /** @packageDocumentation
2
+ * @module Item
3
+ */
4
+ import { AbstractActionItemProps, CommonItemProps } from "./AbstractItemProps";
5
+ import { ConditionalStringValue } from "./ConditionalStringValue";
6
+ /** Properties for a Menu item
7
+ * @public
8
+ */
9
+ export interface AbstractMenuItemProps extends CommonItemProps {
10
+ /** The id for the menu item. */
11
+ id: string;
12
+ /** The item to execute when this item is invoked. Either 'item' or 'submenu' must be specified. */
13
+ item?: AbstractActionItemProps;
14
+ /** Nested array of item props. Either 'item' or 'submenu' must be specified. */
15
+ submenu?: AbstractMenuItemProps[];
16
+ /** Icon to display on right side of the menu item.
17
+ * Name of icon WebFont entry or if specifying an imported SVG symbol use "webSvg:" prefix to imported symbol Id.
18
+ */
19
+ iconRight?: string | ConditionalStringValue;
20
+ }
21
21
  //# sourceMappingURL=AbstractMenuItemProps.d.ts.map
@@ -1,9 +1,9 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
5
- /** @packageDocumentation
6
- * @module Item
7
- */
8
- export {};
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module Item
7
+ */
8
+ export {};
9
9
  //# sourceMappingURL=AbstractMenuItemProps.js.map
@@ -1,14 +1,14 @@
1
- /** @packageDocumentation
2
- * @module Item
3
- */
4
- import { CommonToolbarItem } from "../toolbars/ToolbarItem";
5
- /** Definition for a Toolbar.
6
- * @public
7
- */
8
- export interface AbstractToolbarProps {
9
- /** Id of Toolbar */
10
- toolbarId?: string;
11
- /** Items shown in the Toolbar */
12
- items: CommonToolbarItem[];
13
- }
1
+ /** @packageDocumentation
2
+ * @module Item
3
+ */
4
+ import { CommonToolbarItem } from "../toolbars/ToolbarItem";
5
+ /** Definition for a Toolbar.
6
+ * @public
7
+ */
8
+ export interface AbstractToolbarProps {
9
+ /** Id of Toolbar */
10
+ toolbarId?: string;
11
+ /** Items shown in the Toolbar */
12
+ items: CommonToolbarItem[];
13
+ }
14
14
  //# sourceMappingURL=AbstractToolbarProps.d.ts.map