@xh/hoist 56.4.0 → 56.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (623) hide show
  1. package/CHANGELOG.md +30 -4
  2. package/README.md +1 -1
  3. package/admin/App.scss +1 -1
  4. package/admin/App.ts +6 -0
  5. package/admin/AppComponent.ts +1 -1
  6. package/admin/AppModel.ts +1 -1
  7. package/admin/columns/Core.ts +1 -1
  8. package/admin/columns/Rest.ts +1 -1
  9. package/admin/columns/Tracking.ts +1 -1
  10. package/admin/columns/User.ts +1 -1
  11. package/admin/columns/UserData.ts +1 -1
  12. package/admin/differ/Differ.scss +1 -1
  13. package/admin/differ/Differ.ts +1 -1
  14. package/admin/differ/DifferDetail.ts +1 -1
  15. package/admin/differ/DifferDetailModel.ts +1 -1
  16. package/admin/differ/DifferModel.ts +1 -1
  17. package/admin/regroup/RegroupDialog.ts +1 -1
  18. package/admin/regroup/RegroupDialogModel.ts +1 -1
  19. package/admin/tabs/activity/ActivityTab.ts +1 -1
  20. package/admin/tabs/activity/aggregators/RangeAggregator.ts +1 -1
  21. package/admin/tabs/activity/clienterrors/ClientErrorDetail.ts +1 -1
  22. package/admin/tabs/activity/clienterrors/ClientErrorsModel.ts +1 -1
  23. package/admin/tabs/activity/clienterrors/ClientErrorsPanel.ts +1 -1
  24. package/admin/tabs/activity/feedback/FeedbackPanel.ts +1 -1
  25. package/admin/tabs/activity/tracking/ActivityTrackingModel.ts +1 -1
  26. package/admin/tabs/activity/tracking/ActivityTrackingPanel.ts +1 -1
  27. package/admin/tabs/activity/tracking/charts/ChartsModel.ts +1 -1
  28. package/admin/tabs/activity/tracking/charts/ChartsPanel.ts +1 -1
  29. package/admin/tabs/activity/tracking/detail/ActivityDetailModel.ts +1 -1
  30. package/admin/tabs/activity/tracking/detail/ActivityDetailView.ts +1 -1
  31. package/admin/tabs/general/GeneralTab.ts +1 -1
  32. package/admin/tabs/general/about/AboutPanel.scss +1 -1
  33. package/admin/tabs/general/about/AboutPanel.ts +1 -1
  34. package/admin/tabs/general/alertBanner/AlertBannerModel.ts +1 -1
  35. package/admin/tabs/general/alertBanner/AlertBannerPanel.scss +1 -1
  36. package/admin/tabs/general/alertBanner/AlertBannerPanel.ts +1 -1
  37. package/admin/tabs/general/config/ConfigPanel.ts +1 -1
  38. package/admin/tabs/general/config/ConfigPanelModel.ts +1 -1
  39. package/admin/tabs/general/users/UserModel.ts +1 -1
  40. package/admin/tabs/general/users/UserPanel.ts +1 -1
  41. package/admin/tabs/monitor/MonitorColumns.ts +1 -1
  42. package/admin/tabs/monitor/MonitorEditorPanel.ts +1 -1
  43. package/admin/tabs/monitor/MonitorResultsModel.ts +1 -1
  44. package/admin/tabs/monitor/MonitorResultsPanel.scss +1 -1
  45. package/admin/tabs/monitor/MonitorResultsPanel.ts +1 -1
  46. package/admin/tabs/monitor/MonitorResultsToolbar.ts +1 -1
  47. package/admin/tabs/monitor/MonitorTab.ts +1 -1
  48. package/admin/tabs/monitor/Tile.scss +1 -1
  49. package/admin/tabs/monitor/Tile.ts +1 -1
  50. package/admin/tabs/server/ServerTab.ts +1 -1
  51. package/admin/tabs/server/ehcache/EhCacheModel.ts +1 -1
  52. package/admin/tabs/server/ehcache/EhCachePanel.ts +1 -1
  53. package/admin/tabs/server/environment/ServerEnvModel.ts +1 -1
  54. package/admin/tabs/server/environment/ServerEnvPanel.ts +1 -1
  55. package/admin/tabs/server/logLevel/LogLevelColumns.ts +1 -1
  56. package/admin/tabs/server/logLevel/LogLevelPanel.ts +1 -1
  57. package/admin/tabs/server/logViewer/LogDisplay.ts +24 -5
  58. package/admin/tabs/server/logViewer/LogDisplayModel.ts +12 -3
  59. package/admin/tabs/server/logViewer/LogViewer.scss +11 -1
  60. package/admin/tabs/server/logViewer/LogViewer.ts +1 -1
  61. package/admin/tabs/server/logViewer/LogViewerModel.ts +1 -1
  62. package/admin/tabs/server/memory/MemoryMonitorModel.ts +1 -1
  63. package/admin/tabs/server/memory/MemoryMonitorPanel.ts +1 -1
  64. package/admin/tabs/server/services/ServiceModel.ts +1 -1
  65. package/admin/tabs/server/services/ServicePanel.ts +1 -1
  66. package/admin/tabs/server/websocket/WebSocketColumns.ts +1 -1
  67. package/admin/tabs/server/websocket/WebSocketModel.ts +1 -1
  68. package/admin/tabs/server/websocket/WebSocketPanel.ts +1 -1
  69. package/admin/tabs/userData/JsonBlobColumns.ts +1 -1
  70. package/admin/tabs/userData/JsonBlobModel.ts +1 -1
  71. package/admin/tabs/userData/JsonBlobPanel.ts +1 -1
  72. package/admin/tabs/userData/PreferenceModel.ts +1 -1
  73. package/admin/tabs/userData/PreferencePanel.ts +1 -1
  74. package/admin/tabs/userData/UserDataTab.ts +1 -1
  75. package/admin/tabs/userData/UserPreferencePanel.ts +1 -1
  76. package/appcontainer/AboutDialogModel.ts +1 -1
  77. package/appcontainer/AppContainerModel.ts +1 -1
  78. package/appcontainer/AppOption.ts +1 -1
  79. package/appcontainer/BannerModel.ts +1 -1
  80. package/appcontainer/BannerSourceModel.ts +1 -1
  81. package/appcontainer/ChangelogDialogModel.ts +1 -1
  82. package/appcontainer/ErrorBoundary.ts +1 -1
  83. package/appcontainer/ExceptionDialogModel.ts +1 -1
  84. package/appcontainer/FeedbackDialogModel.ts +1 -1
  85. package/appcontainer/ImpersonationBarModel.ts +1 -1
  86. package/appcontainer/MessageModel.ts +1 -1
  87. package/appcontainer/MessageSourceModel.ts +1 -1
  88. package/appcontainer/OptionsDialogModel.ts +1 -1
  89. package/appcontainer/SizingModeModel.ts +1 -1
  90. package/appcontainer/ThemeModel.ts +1 -1
  91. package/appcontainer/ToastModel.ts +1 -1
  92. package/appcontainer/ToastSourceModel.ts +1 -1
  93. package/appcontainer/ViewportSizeModel.ts +1 -1
  94. package/appcontainer/login/LoginPanelModel.ts +1 -1
  95. package/cmp/ag-grid/AgGrid.scss +1 -1
  96. package/cmp/ag-grid/AgGrid.ts +1 -1
  97. package/cmp/ag-grid/AgGridModel.ts +1 -1
  98. package/cmp/badge/Badge.ts +1 -1
  99. package/cmp/chart/Chart.ts +1 -1
  100. package/cmp/chart/ChartModel.ts +1 -1
  101. package/cmp/chart/impl/copyToClipboard.ts +1 -1
  102. package/cmp/chart/impl/zoomout.ts +1 -1
  103. package/cmp/chart/theme/Dark.ts +1 -1
  104. package/cmp/chart/theme/Light.ts +1 -1
  105. package/cmp/clock/Clock.ts +1 -1
  106. package/cmp/dataview/DataView.scss +1 -1
  107. package/cmp/dataview/DataView.ts +25 -9
  108. package/cmp/dataview/DataViewModel.ts +1 -1
  109. package/cmp/filter/FilterChooserFieldSpec.ts +1 -1
  110. package/cmp/filter/FilterChooserModel.ts +1 -1
  111. package/cmp/filter/impl/Option.ts +1 -1
  112. package/cmp/filter/impl/QueryEngine.ts +1 -1
  113. package/cmp/form/BaseFormFieldProps.ts +1 -1
  114. package/cmp/form/Form.ts +1 -1
  115. package/cmp/form/FormModel.ts +1 -1
  116. package/cmp/form/field/BaseFieldModel.ts +1 -1
  117. package/cmp/form/field/FieldModel.ts +1 -1
  118. package/cmp/form/field/SubformsFieldModel.ts +1 -1
  119. package/cmp/form/index.ts +1 -1
  120. package/cmp/grid/Grid.scss +1 -1
  121. package/cmp/grid/Grid.ts +1 -1
  122. package/cmp/grid/GridAutosizeOptions.ts +1 -1
  123. package/cmp/grid/GridContextMenu.ts +1 -1
  124. package/cmp/grid/GridModel.ts +12 -7
  125. package/cmp/grid/GridSorter.ts +1 -1
  126. package/cmp/grid/Types.ts +1 -1
  127. package/cmp/grid/columns/Column.ts +1 -1
  128. package/cmp/grid/columns/ColumnGroup.ts +1 -1
  129. package/cmp/grid/columns/Core.ts +1 -1
  130. package/cmp/grid/columns/DatesTimes.ts +1 -1
  131. package/cmp/grid/columns/index.ts +1 -1
  132. package/cmp/grid/enums/ExcelFormat.ts +1 -1
  133. package/cmp/grid/enums/GridAutosizeMode.ts +1 -1
  134. package/cmp/grid/enums/TreeStyle.ts +1 -1
  135. package/cmp/grid/filter/GridFilterFieldSpec.ts +1 -1
  136. package/cmp/grid/filter/GridFilterModel.ts +1 -1
  137. package/cmp/grid/helpers/GridCountLabel.ts +1 -1
  138. package/cmp/grid/impl/ColumnGroupHeader.ts +1 -1
  139. package/cmp/grid/impl/ColumnHeader.ts +1 -1
  140. package/cmp/grid/impl/ColumnWidthCalculator.ts +1 -1
  141. package/cmp/grid/impl/GridPersistenceModel.ts +1 -1
  142. package/cmp/grid/impl/MenuSupport.ts +1 -1
  143. package/cmp/grid/impl/RowKeyNavSupport.ts +1 -1
  144. package/cmp/grid/impl/Utils.ts +6 -0
  145. package/cmp/grid/index.ts +1 -1
  146. package/cmp/grid/renderers/MultiFieldRenderer.ts +1 -1
  147. package/cmp/grid/renderers/TagsRenderer.ts +1 -1
  148. package/cmp/grouping/GroupingChooserModel.ts +25 -9
  149. package/cmp/input/HoistInput.scss +1 -1
  150. package/cmp/input/HoistInputModel.ts +1 -1
  151. package/cmp/input/HoistInputProps.ts +1 -1
  152. package/cmp/layout/Box.ts +1 -1
  153. package/cmp/layout/Frame.ts +1 -1
  154. package/cmp/layout/Placeholder.ts +1 -1
  155. package/cmp/layout/Spacer.ts +1 -1
  156. package/cmp/layout/Tags.ts +1 -1
  157. package/cmp/layout/TileFrame.scss +1 -1
  158. package/cmp/layout/TileFrame.ts +1 -1
  159. package/cmp/layout/Viewport.ts +1 -1
  160. package/cmp/pinpad/PinPad.ts +1 -1
  161. package/cmp/pinpad/PinPadModel.ts +1 -1
  162. package/cmp/relativetimestamp/RelativeTimestamp.ts +1 -1
  163. package/cmp/spinner/Spinner.ts +1 -1
  164. package/cmp/store/StoreCountLabel.ts +1 -1
  165. package/cmp/store/StoreFilterField.ts +1 -1
  166. package/cmp/store/impl/StoreFilterFieldImplModel.ts +1 -1
  167. package/cmp/tab/TabContainer.ts +1 -1
  168. package/cmp/tab/TabContainerModel.ts +1 -1
  169. package/cmp/tab/TabModel.ts +1 -1
  170. package/cmp/tab/TabSwitcherProps.ts +6 -0
  171. package/cmp/websocket/WebSocketIndicator.ts +1 -1
  172. package/core/AppSpec.ts +1 -3
  173. package/core/AppState.ts +1 -1
  174. package/core/HoistAppModel.ts +1 -1
  175. package/core/HoistBase.ts +2 -2
  176. package/core/HoistBaseDecorators.ts +1 -1
  177. package/core/HoistComponent.ts +1 -1
  178. package/core/HoistProps.ts +1 -1
  179. package/core/HoistService.ts +1 -1
  180. package/core/RefreshContextView.ts +1 -1
  181. package/core/RouterModel.ts +1 -1
  182. package/core/TaskObserver.ts +1 -1
  183. package/core/XH.ts +1 -1
  184. package/core/elem.ts +1 -1
  185. package/core/enums/RefreshMode.ts +1 -1
  186. package/core/enums/RenderMode.ts +1 -1
  187. package/core/enums/SizingMode.ts +1 -1
  188. package/core/exception/Exception.ts +1 -1
  189. package/core/exception/ExceptionHandler.ts +1 -1
  190. package/core/exception/Types.ts +6 -0
  191. package/core/impl/InstallServices.ts +1 -1
  192. package/core/impl/InstanceManager.ts +1 -1
  193. package/core/impl/PlatformManager.ts +1 -1
  194. package/core/load/LoadSpec.ts +1 -1
  195. package/core/load/LoadSupport.ts +1 -1
  196. package/core/load/Loadable.ts +1 -1
  197. package/core/model/CreatesSpec.ts +1 -1
  198. package/core/model/HoistModel.ts +1 -1
  199. package/core/model/Hooks.ts +1 -1
  200. package/core/model/ManagedRefreshContextModel.ts +1 -1
  201. package/core/model/ModelLookup.ts +1 -1
  202. package/core/model/ModelSelector.ts +1 -1
  203. package/core/model/ModelSpec.ts +1 -1
  204. package/core/model/RefreshContextModel.ts +1 -1
  205. package/core/model/RootRefreshContextModel.ts +1 -1
  206. package/core/model/UsesSpec.ts +1 -1
  207. package/core/persist/CustomProvider.ts +1 -1
  208. package/core/persist/DashViewProvider.ts +1 -1
  209. package/core/persist/LocalStorageProvider.ts +1 -1
  210. package/core/persist/PersistOptions.ts +1 -1
  211. package/core/persist/PersistenceProvider.ts +1 -1
  212. package/core/persist/PrefProvider.ts +1 -1
  213. package/core/types/Interfaces.ts +1 -1
  214. package/core/types/Types.ts +1 -1
  215. package/data/Field.ts +1 -1
  216. package/data/RecordAction.ts +1 -1
  217. package/data/Store.ts +1 -1
  218. package/data/StoreRecord.ts +1 -1
  219. package/data/StoreSelectionModel.ts +1 -1
  220. package/data/UrlStore.ts +1 -1
  221. package/data/cube/BucketSpec.ts +1 -1
  222. package/data/cube/Cube.ts +2 -2
  223. package/data/cube/CubeField.ts +1 -1
  224. package/data/cube/Query.ts +1 -1
  225. package/data/cube/View.ts +1 -1
  226. package/data/cube/aggregate/AggregationContext.ts +1 -1
  227. package/data/cube/aggregate/Aggregator.ts +1 -1
  228. package/data/cube/aggregate/AverageAggregator.ts +1 -1
  229. package/data/cube/aggregate/AverageStrictAggregator.ts +1 -1
  230. package/data/cube/aggregate/ChildCountAggregator.ts +1 -1
  231. package/data/cube/aggregate/LeafCountAggregator.ts +1 -1
  232. package/data/cube/aggregate/MaxAggregator.ts +1 -1
  233. package/data/cube/aggregate/MinAggregator.ts +1 -1
  234. package/data/cube/aggregate/NullAggregator.ts +1 -1
  235. package/data/cube/aggregate/SingleAggregator.ts +1 -1
  236. package/data/cube/aggregate/SumAggregator.ts +1 -1
  237. package/data/cube/aggregate/SumStrictAggregator.ts +1 -1
  238. package/data/cube/aggregate/UniqueAggregator.ts +1 -1
  239. package/data/cube/row/AggregateRow.ts +1 -1
  240. package/data/cube/row/BaseRow.ts +1 -1
  241. package/data/cube/row/BucketRow.ts +1 -1
  242. package/data/cube/row/LeafRow.ts +1 -1
  243. package/data/cube/row/RowUpdate.ts +1 -1
  244. package/data/filter/BaseFilterFieldSpec.ts +1 -1
  245. package/data/filter/CompoundFilter.ts +1 -1
  246. package/data/filter/FieldFilter.ts +1 -1
  247. package/data/filter/Filter.ts +1 -1
  248. package/data/filter/FunctionFilter.ts +1 -1
  249. package/data/filter/Types.ts +1 -1
  250. package/data/filter/Utils.ts +1 -1
  251. package/data/impl/RecordSet.ts +1 -1
  252. package/data/impl/RecordValidator.ts +1 -1
  253. package/data/impl/StoreValidator.ts +1 -1
  254. package/data/index.ts +1 -1
  255. package/data/validation/Rule.ts +1 -1
  256. package/data/validation/ValidationState.ts +1 -1
  257. package/data/validation/constraints.ts +1 -1
  258. package/deprecated/index.ts +1 -1
  259. package/desktop/appcontainer/AboutDialog.scss +1 -1
  260. package/desktop/appcontainer/AboutDialog.ts +1 -1
  261. package/desktop/appcontainer/AppContainer.ts +1 -1
  262. package/desktop/appcontainer/Banner.scss +1 -1
  263. package/desktop/appcontainer/Banner.ts +1 -1
  264. package/desktop/appcontainer/ChangelogDialog.ts +1 -1
  265. package/desktop/appcontainer/ExceptionDialog.scss +1 -1
  266. package/desktop/appcontainer/ExceptionDialog.ts +1 -1
  267. package/desktop/appcontainer/ExceptionDialogDetails.ts +1 -1
  268. package/desktop/appcontainer/FeedbackDialog.ts +1 -1
  269. package/desktop/appcontainer/IdlePanel.scss +1 -1
  270. package/desktop/appcontainer/IdlePanel.ts +1 -1
  271. package/desktop/appcontainer/ImpersonationBar.ts +1 -1
  272. package/desktop/appcontainer/LockoutPanel.scss +1 -1
  273. package/desktop/appcontainer/LockoutPanel.ts +1 -1
  274. package/desktop/appcontainer/LoginPanel.scss +1 -1
  275. package/desktop/appcontainer/LoginPanel.ts +1 -1
  276. package/desktop/appcontainer/Message.scss +1 -1
  277. package/desktop/appcontainer/Message.ts +1 -1
  278. package/desktop/appcontainer/MessageSource.ts +1 -1
  279. package/desktop/appcontainer/OptionsDialog.scss +1 -1
  280. package/desktop/appcontainer/OptionsDialog.ts +1 -1
  281. package/desktop/appcontainer/SuspendPanel.scss +1 -1
  282. package/desktop/appcontainer/SuspendPanel.ts +1 -1
  283. package/desktop/appcontainer/Toast.scss +1 -1
  284. package/desktop/appcontainer/ToastSource.ts +1 -1
  285. package/desktop/appcontainer/VersionBar.scss +1 -1
  286. package/desktop/appcontainer/VersionBar.ts +1 -1
  287. package/desktop/appcontainer/index.ts +1 -1
  288. package/desktop/cmp/appOption/AutoRefreshAppOption.ts +1 -1
  289. package/desktop/cmp/appOption/SizingModeAppOption.ts +1 -1
  290. package/desktop/cmp/appOption/ThemeAppOption.ts +1 -1
  291. package/desktop/cmp/appbar/AppBar.scss +1 -1
  292. package/desktop/cmp/appbar/AppBar.ts +1 -1
  293. package/desktop/cmp/appbar/AppBarSeparator.ts +1 -1
  294. package/desktop/cmp/button/AppMenuButton.ts +1 -1
  295. package/desktop/cmp/button/Button.scss +1 -1
  296. package/desktop/cmp/button/Button.ts +1 -1
  297. package/desktop/cmp/button/ButtonGroup.ts +1 -1
  298. package/desktop/cmp/button/ColAutosizeButton.ts +1 -1
  299. package/desktop/cmp/button/ColChooserButton.ts +1 -1
  300. package/desktop/cmp/button/DashCanvasAddViewButton.ts +1 -1
  301. package/desktop/cmp/button/ExportButton.ts +1 -1
  302. package/desktop/cmp/button/FeedbackButton.ts +1 -1
  303. package/desktop/cmp/button/LaunchAdminButton.ts +1 -1
  304. package/desktop/cmp/button/LogoutButton.ts +1 -1
  305. package/desktop/cmp/button/ModalToggleButton.ts +1 -1
  306. package/desktop/cmp/button/OptionsButton.ts +1 -1
  307. package/desktop/cmp/button/RefreshButton.ts +1 -1
  308. package/desktop/cmp/button/RestoreDefaultsButton.ts +1 -1
  309. package/desktop/cmp/button/ThemeToggleButton.ts +1 -1
  310. package/desktop/cmp/button/WhatsNewButton.ts +1 -1
  311. package/desktop/cmp/clipboard/ClipboardButton.ts +1 -1
  312. package/desktop/cmp/clipboard/ClipboardMenuItem.ts +1 -1
  313. package/desktop/cmp/contextmenu/ContextMenu.ts +1 -1
  314. package/desktop/cmp/dash/DashConfig.ts +1 -1
  315. package/desktop/cmp/dash/DashModel.ts +1 -1
  316. package/desktop/cmp/dash/DashViewModel.ts +1 -1
  317. package/desktop/cmp/dash/DashViewSpec.ts +1 -1
  318. package/desktop/cmp/dash/canvas/DashCanvas.ts +1 -1
  319. package/desktop/cmp/dash/canvas/DashCanvasModel.ts +1 -1
  320. package/desktop/cmp/dash/canvas/DashCanvasViewModel.ts +1 -1
  321. package/desktop/cmp/dash/canvas/DashCanvasViewSpec.ts +1 -1
  322. package/desktop/cmp/dash/canvas/impl/DashCanvasContextMenu.ts +1 -1
  323. package/desktop/cmp/dash/canvas/impl/DashCanvasView.ts +1 -1
  324. package/desktop/cmp/dash/canvas/impl/utils.ts +1 -1
  325. package/desktop/cmp/dash/container/DashContainer.ts +1 -1
  326. package/desktop/cmp/dash/container/DashContainerModel.ts +1 -1
  327. package/desktop/cmp/dash/container/DashContainerViewSpec.ts +1 -1
  328. package/desktop/cmp/dash/container/impl/DashContainerContextMenu.ts +1 -1
  329. package/desktop/cmp/dash/container/impl/DashContainerMenuButton.ts +1 -1
  330. package/desktop/cmp/dash/container/impl/DashContainerUtils.ts +1 -1
  331. package/desktop/cmp/dash/container/impl/DashContainerView.ts +1 -1
  332. package/desktop/cmp/dock/DockContainer.ts +1 -1
  333. package/desktop/cmp/dock/DockContainerModel.ts +1 -1
  334. package/desktop/cmp/dock/DockViewModel.ts +1 -1
  335. package/desktop/cmp/dock/impl/Dock.scss +1 -1
  336. package/desktop/cmp/dock/impl/DockContainer.ts +1 -1
  337. package/desktop/cmp/dock/impl/DockView.ts +1 -1
  338. package/desktop/cmp/error/ErrorMessage.ts +1 -1
  339. package/desktop/cmp/filechooser/FileChooser.scss +1 -1
  340. package/desktop/cmp/filechooser/FileChooser.ts +1 -1
  341. package/desktop/cmp/filechooser/FileChooserModel.ts +1 -1
  342. package/desktop/cmp/filter/FilterChooser.scss +1 -1
  343. package/desktop/cmp/filter/FilterChooser.ts +1 -1
  344. package/desktop/cmp/form/FormField.scss +1 -1
  345. package/desktop/cmp/form/FormField.ts +1 -1
  346. package/desktop/cmp/grid/columns/Actions.scss +1 -1
  347. package/desktop/cmp/grid/columns/Actions.ts +1 -1
  348. package/desktop/cmp/grid/editors/BooleanEditor.ts +1 -1
  349. package/desktop/cmp/grid/editors/DateEditor.ts +1 -1
  350. package/desktop/cmp/grid/editors/EditorProps.ts +1 -1
  351. package/desktop/cmp/grid/editors/NumberEditor.ts +1 -1
  352. package/desktop/cmp/grid/editors/SelectEditor.ts +1 -1
  353. package/desktop/cmp/grid/editors/TextAreaEditor.ts +1 -1
  354. package/desktop/cmp/grid/editors/TextEditor.ts +1 -1
  355. package/desktop/cmp/grid/editors/impl/InlineEditorModel.ts +1 -1
  356. package/desktop/cmp/grid/editors/index.ts +1 -1
  357. package/desktop/cmp/grid/find/GridFindField.ts +1 -1
  358. package/desktop/cmp/grid/find/impl/GridFindFieldImplModel.ts +1 -1
  359. package/desktop/cmp/grid/impl/colchooser/ColChooser.ts +1 -1
  360. package/desktop/cmp/grid/impl/colchooser/ColChooserDialog.ts +1 -1
  361. package/desktop/cmp/grid/impl/colchooser/ColChooserModel.ts +1 -1
  362. package/desktop/cmp/grid/impl/filter/ColumnHeaderFilter.scss +1 -1
  363. package/desktop/cmp/grid/impl/filter/ColumnHeaderFilter.ts +1 -1
  364. package/desktop/cmp/grid/impl/filter/ColumnHeaderFilterModel.ts +1 -1
  365. package/desktop/cmp/grid/impl/filter/GridFilterDialog.ts +1 -1
  366. package/desktop/cmp/grid/impl/filter/custom/CustomRow.ts +1 -1
  367. package/desktop/cmp/grid/impl/filter/custom/CustomRowModel.ts +1 -1
  368. package/desktop/cmp/grid/impl/filter/custom/CustomTab.ts +1 -1
  369. package/desktop/cmp/grid/impl/filter/custom/CustomTabModel.ts +1 -1
  370. package/desktop/cmp/grid/impl/filter/values/ValuesTab.ts +1 -1
  371. package/desktop/cmp/grid/impl/filter/values/ValuesTabModel.ts +2 -2
  372. package/desktop/cmp/grouping/GroupingChooser.scss +1 -1
  373. package/desktop/cmp/grouping/GroupingChooser.ts +39 -23
  374. package/desktop/cmp/input/ButtonGroupInput.ts +1 -1
  375. package/desktop/cmp/input/Checkbox.ts +1 -1
  376. package/desktop/cmp/input/CodeInput.scss +1 -1
  377. package/desktop/cmp/input/CodeInput.ts +5 -5
  378. package/desktop/cmp/input/DateInput.scss +1 -1
  379. package/desktop/cmp/input/DateInput.ts +1 -1
  380. package/desktop/cmp/input/JsonInput.ts +1 -1
  381. package/desktop/cmp/input/NumberInput.ts +1 -1
  382. package/desktop/cmp/input/RadioInput.scss +1 -1
  383. package/desktop/cmp/input/RadioInput.ts +1 -1
  384. package/desktop/cmp/input/Select.scss +9 -1
  385. package/desktop/cmp/input/Select.ts +47 -9
  386. package/desktop/cmp/input/Slider.scss +1 -1
  387. package/desktop/cmp/input/Slider.ts +1 -1
  388. package/desktop/cmp/input/SwitchInput.scss +1 -1
  389. package/desktop/cmp/input/SwitchInput.ts +1 -1
  390. package/desktop/cmp/input/TextArea.scss +1 -1
  391. package/desktop/cmp/input/TextArea.ts +1 -1
  392. package/desktop/cmp/input/TextInput.ts +1 -1
  393. package/desktop/cmp/leftrightchooser/LeftRightChooser.scss +1 -1
  394. package/desktop/cmp/leftrightchooser/LeftRightChooser.ts +1 -1
  395. package/desktop/cmp/leftrightchooser/LeftRightChooserFilter.ts +1 -1
  396. package/desktop/cmp/leftrightchooser/LeftRightChooserModel.ts +1 -1
  397. package/desktop/cmp/leftrightchooser/impl/ChooserToolbar.ts +1 -1
  398. package/desktop/cmp/leftrightchooser/impl/Description.ts +1 -1
  399. package/desktop/cmp/loadingindicator/LoadingIndicator.ts +1 -1
  400. package/desktop/cmp/loadingindicator/index.ts +1 -1
  401. package/desktop/cmp/mask/Mask.ts +1 -1
  402. package/desktop/cmp/mask/index.ts +1 -1
  403. package/desktop/cmp/modalsupport/ModalSupport.ts +5 -5
  404. package/desktop/cmp/modalsupport/ModalSupportModel.ts +1 -1
  405. package/desktop/cmp/modalsupport/index.ts +1 -1
  406. package/desktop/cmp/panel/Panel.ts +1 -1
  407. package/desktop/cmp/panel/PanelModel.ts +1 -1
  408. package/desktop/cmp/panel/impl/PanelHeader.ts +1 -1
  409. package/desktop/cmp/panel/impl/ResizeContainer.ts +1 -1
  410. package/desktop/cmp/panel/impl/Splitter.ts +1 -1
  411. package/desktop/cmp/panel/impl/dragger/Dragger.ts +1 -1
  412. package/desktop/cmp/panel/impl/dragger/DraggerModel.ts +1 -1
  413. package/desktop/cmp/panel/index.ts +1 -1
  414. package/desktop/cmp/pinpad/impl/PinPad.ts +1 -1
  415. package/desktop/cmp/record/RecordActionBar.ts +1 -1
  416. package/desktop/cmp/record/impl/RecordActionButton.ts +1 -1
  417. package/desktop/cmp/record/index.ts +1 -1
  418. package/desktop/cmp/rest/Actions.ts +1 -1
  419. package/desktop/cmp/rest/RestGrid.ts +1 -1
  420. package/desktop/cmp/rest/RestGridModel.ts +1 -1
  421. package/desktop/cmp/rest/data/RestField.ts +1 -1
  422. package/desktop/cmp/rest/data/RestStore.ts +1 -1
  423. package/desktop/cmp/rest/impl/RestForm.ts +1 -1
  424. package/desktop/cmp/rest/impl/RestFormField.ts +1 -1
  425. package/desktop/cmp/rest/impl/RestFormModel.ts +1 -1
  426. package/desktop/cmp/rest/impl/RestGridToolbar.ts +1 -1
  427. package/desktop/cmp/rest/index.ts +1 -1
  428. package/desktop/cmp/store/impl/StoreFilterField.ts +1 -1
  429. package/desktop/cmp/tab/TabSwitcher.ts +1 -1
  430. package/desktop/cmp/tab/Tabs.scss +1 -1
  431. package/desktop/cmp/tab/impl/Tab.ts +1 -1
  432. package/desktop/cmp/tab/impl/TabContainer.ts +1 -1
  433. package/desktop/cmp/tab/index.ts +1 -1
  434. package/desktop/cmp/toolbar/Toolbar.ts +1 -1
  435. package/desktop/cmp/toolbar/ToolbarSep.ts +1 -1
  436. package/desktop/cmp/toolbar/index.ts +1 -1
  437. package/desktop/cmp/treemap/SplitTreeMap.ts +1 -1
  438. package/desktop/cmp/treemap/SplitTreeMapModel.ts +1 -1
  439. package/desktop/cmp/treemap/TreeMap.ts +1 -1
  440. package/desktop/cmp/treemap/TreeMapModel.ts +1 -1
  441. package/desktop/cmp/treemap/impl/Splitter.ts +1 -1
  442. package/desktop/cmp/treemap/index.ts +1 -1
  443. package/desktop/hooks/UseContextMenu.ts +1 -1
  444. package/desktop/hooks/UseHotkeys.ts +1 -1
  445. package/desktop/hooks/index.ts +1 -1
  446. package/docs/build-and-deploy.md +1 -1
  447. package/docs/development-environment.md +1 -1
  448. package/dynamics/desktop.ts +1 -1
  449. package/dynamics/mobile.ts +1 -1
  450. package/format/FormatDate.ts +1 -1
  451. package/format/FormatMisc.ts +1 -1
  452. package/format/FormatNumber.ts +1 -1
  453. package/format/FormatUtils.ts +1 -1
  454. package/format/impl/Utils.ts +1 -1
  455. package/format/index.ts +1 -1
  456. package/icon/Icon.ts +1 -1
  457. package/icon/XHLogo.tsx +1 -2
  458. package/icon/impl/IconCmp.ts +1 -1
  459. package/icon/impl/IconHtml.ts +1 -1
  460. package/icon/index.ts +1 -1
  461. package/inspector/InspectorPanel.ts +6 -0
  462. package/inspector/instances/InstancesModel.ts +6 -0
  463. package/inspector/instances/InstancesPanel.ts +6 -0
  464. package/inspector/stats/StatsModel.ts +6 -0
  465. package/inspector/stats/StatsPanel.ts +6 -0
  466. package/kit/ag-grid/index.ts +1 -1
  467. package/kit/blueprint/Dialog.ts +1 -1
  468. package/kit/blueprint/Wrappers.ts +1 -1
  469. package/kit/blueprint/index.ts +1 -1
  470. package/kit/golden-layout/index.js +1 -1
  471. package/kit/golden-layout/styles.scss +1 -1
  472. package/kit/highcharts/index.ts +1 -1
  473. package/kit/onsen/index.ts +1 -1
  474. package/kit/react-beautiful-dnd/index.ts +1 -1
  475. package/kit/react-dates/index.ts +1 -1
  476. package/kit/react-dropzone/index.ts +1 -1
  477. package/kit/react-select/index.ts +1 -1
  478. package/mobile/appcontainer/AboutDialog.ts +1 -1
  479. package/mobile/appcontainer/AppContainer.ts +1 -1
  480. package/mobile/appcontainer/Banner.scss +1 -1
  481. package/mobile/appcontainer/Banner.ts +1 -1
  482. package/mobile/appcontainer/ExceptionDialog.ts +1 -1
  483. package/mobile/appcontainer/ExceptionDialogDetails.ts +1 -1
  484. package/mobile/appcontainer/FeedbackDialog.ts +1 -1
  485. package/mobile/appcontainer/IdlePanel.scss +1 -1
  486. package/mobile/appcontainer/IdlePanel.ts +1 -1
  487. package/mobile/appcontainer/ImpersonationBar.ts +1 -1
  488. package/mobile/appcontainer/LockoutPanel.ts +1 -1
  489. package/mobile/appcontainer/LoginPanel.ts +1 -1
  490. package/mobile/appcontainer/Message.ts +1 -1
  491. package/mobile/appcontainer/MessageSource.ts +1 -1
  492. package/mobile/appcontainer/OptionsDialog.ts +1 -1
  493. package/mobile/appcontainer/SuspendPanel.scss +1 -1
  494. package/mobile/appcontainer/SuspendPanel.ts +1 -1
  495. package/mobile/appcontainer/Toast.ts +1 -1
  496. package/mobile/appcontainer/ToastSource.ts +1 -1
  497. package/mobile/appcontainer/VersionBar.ts +1 -1
  498. package/mobile/appcontainer/index.ts +1 -1
  499. package/mobile/cmp/appOption/AutoRefreshAppOption.ts +1 -1
  500. package/mobile/cmp/appOption/SizingModeAppOption.ts +1 -1
  501. package/mobile/cmp/appOption/ThemeAppOption.ts +1 -1
  502. package/mobile/cmp/appOption/index.ts +1 -1
  503. package/mobile/cmp/button/Button.scss +1 -1
  504. package/mobile/cmp/button/Button.ts +1 -1
  505. package/mobile/cmp/button/ButtonGroup.ts +1 -1
  506. package/mobile/cmp/button/ColAutosizeButton.ts +1 -1
  507. package/mobile/cmp/button/ColChooserButton.ts +1 -1
  508. package/mobile/cmp/button/ExpandCollapseButton.ts +1 -1
  509. package/mobile/cmp/button/FeedbackButton.ts +1 -1
  510. package/mobile/cmp/button/LogoutButton.ts +1 -1
  511. package/mobile/cmp/button/NavigatorBackButton.ts +1 -1
  512. package/mobile/cmp/button/OptionsButton.ts +1 -1
  513. package/mobile/cmp/button/RefreshButton.ts +1 -1
  514. package/mobile/cmp/button/RestoreDefaultsButton.ts +1 -1
  515. package/mobile/cmp/button/ThemeToggleButton.ts +1 -1
  516. package/mobile/cmp/button/index.ts +1 -1
  517. package/mobile/cmp/dialog/Dialog.ts +1 -1
  518. package/mobile/cmp/dialog/index.ts +1 -1
  519. package/mobile/cmp/error/ErrorMessage.ts +1 -1
  520. package/mobile/cmp/error/index.ts +1 -1
  521. package/mobile/cmp/form/FormField.ts +1 -1
  522. package/mobile/cmp/form/index.ts +1 -1
  523. package/mobile/cmp/grid/impl/ColChooser.ts +1 -1
  524. package/mobile/cmp/grid/impl/ColChooserModel.ts +1 -1
  525. package/mobile/cmp/grouping/GroupingChooser.scss +1 -1
  526. package/mobile/cmp/grouping/GroupingChooser.ts +3 -3
  527. package/mobile/cmp/header/AppBar.ts +1 -1
  528. package/mobile/cmp/header/AppMenuButton.ts +1 -1
  529. package/mobile/cmp/header/index.ts +1 -1
  530. package/mobile/cmp/input/ButtonGroupInput.ts +1 -1
  531. package/mobile/cmp/input/Checkbox.ts +1 -1
  532. package/mobile/cmp/input/DateInput.ts +1 -1
  533. package/mobile/cmp/input/Label.ts +1 -1
  534. package/mobile/cmp/input/NumberInput.ts +1 -1
  535. package/mobile/cmp/input/SearchInput.ts +1 -1
  536. package/mobile/cmp/input/Select.scss +1 -1
  537. package/mobile/cmp/input/Select.ts +1 -1
  538. package/mobile/cmp/input/SwitchInput.ts +1 -1
  539. package/mobile/cmp/input/TextArea.ts +1 -1
  540. package/mobile/cmp/input/TextInput.ts +1 -1
  541. package/mobile/cmp/input/index.ts +1 -1
  542. package/mobile/cmp/loadingindicator/LoadingIndicator.ts +1 -1
  543. package/mobile/cmp/loadingindicator/index.ts +1 -1
  544. package/mobile/cmp/mask/Mask.ts +1 -1
  545. package/mobile/cmp/mask/index.ts +1 -1
  546. package/mobile/cmp/menu/MenuButton.ts +1 -1
  547. package/mobile/cmp/menu/impl/Menu.ts +1 -1
  548. package/mobile/cmp/menu/index.ts +1 -1
  549. package/mobile/cmp/navigator/Navigator.ts +1 -1
  550. package/mobile/cmp/navigator/NavigatorModel.ts +1 -1
  551. package/mobile/cmp/navigator/PageModel.ts +1 -1
  552. package/mobile/cmp/navigator/impl/Page.ts +1 -1
  553. package/mobile/cmp/navigator/impl/swipe/BackIndicator.ts +6 -0
  554. package/mobile/cmp/navigator/impl/swipe/RefreshIndicator.ts +6 -0
  555. package/mobile/cmp/navigator/impl/swipe/Swiper.scss +1 -1
  556. package/mobile/cmp/navigator/impl/swipe/Swiper.ts +6 -1
  557. package/mobile/cmp/navigator/impl/swipe/SwiperModel.ts +6 -0
  558. package/mobile/cmp/navigator/index.ts +1 -1
  559. package/mobile/cmp/panel/DialogPanel.ts +1 -1
  560. package/mobile/cmp/panel/Panel.ts +1 -1
  561. package/mobile/cmp/panel/impl/PanelHeader.ts +1 -1
  562. package/mobile/cmp/panel/index.ts +1 -1
  563. package/mobile/cmp/pinpad/impl/PinPad.ts +1 -1
  564. package/mobile/cmp/popover/Popover.ts +1 -1
  565. package/mobile/cmp/popover/index.ts +1 -1
  566. package/mobile/cmp/store/impl/StoreFilterField.ts +1 -1
  567. package/mobile/cmp/tab/impl/Tab.ts +1 -1
  568. package/mobile/cmp/tab/impl/TabContainer.ts +1 -1
  569. package/mobile/cmp/tab/impl/Tabs.scss +1 -1
  570. package/mobile/cmp/toolbar/Toolbar.scss +1 -1
  571. package/mobile/cmp/toolbar/Toolbar.ts +1 -1
  572. package/mobile/cmp/toolbar/ToolbarSeparator.ts +1 -1
  573. package/mobile/cmp/toolbar/index.ts +1 -1
  574. package/mobx/decorators.ts +1 -1
  575. package/mobx/index.ts +1 -1
  576. package/mobx/overrides.ts +1 -1
  577. package/package.json +1 -1
  578. package/promise/Promise.ts +1 -1
  579. package/promise/index.ts +1 -1
  580. package/styles/XH.scss +1 -1
  581. package/styles/vars.scss +1 -1
  582. package/svc/AlertBannerService.ts +1 -1
  583. package/svc/AutoRefreshService.ts +1 -1
  584. package/svc/ChangelogService.ts +1 -1
  585. package/svc/ConfigService.ts +1 -1
  586. package/svc/EnvironmentService.ts +1 -1
  587. package/svc/FetchService.ts +1 -1
  588. package/svc/GridAutosizeService.ts +1 -1
  589. package/svc/GridExportService.ts +1 -1
  590. package/svc/IdentityService.ts +1 -1
  591. package/svc/IdleService.ts +1 -1
  592. package/svc/InspectorService.ts +6 -0
  593. package/svc/JsonBlobService.ts +1 -1
  594. package/svc/LocalStorageService.ts +1 -1
  595. package/svc/PrefService.ts +1 -1
  596. package/svc/TrackService.ts +1 -1
  597. package/svc/WebSocketService.ts +1 -1
  598. package/svc/index.ts +1 -1
  599. package/utils/async/AsyncUtils.ts +1 -1
  600. package/utils/async/Timer.ts +1 -1
  601. package/utils/async/index.ts +1 -1
  602. package/utils/datetime/DateTimeUtils.ts +1 -1
  603. package/utils/datetime/LocalDate.ts +1 -1
  604. package/utils/datetime/index.ts +1 -1
  605. package/utils/impl/Equals.ts +1 -1
  606. package/utils/impl/IsOmitted.ts +1 -1
  607. package/utils/impl/Separators.ts +1 -1
  608. package/utils/impl/TimeZone.ts +1 -1
  609. package/utils/impl/index.ts +1 -1
  610. package/utils/js/BrowserUtils.ts +1 -1
  611. package/utils/js/Decorators.ts +1 -1
  612. package/utils/js/DomUtils.ts +1 -1
  613. package/utils/js/HtmlUtils.ts +1 -1
  614. package/utils/js/LangUtils.ts +1 -1
  615. package/utils/js/LogUtils.ts +1 -1
  616. package/utils/js/VersionUtils.ts +1 -1
  617. package/utils/js/index.ts +1 -1
  618. package/utils/react/ClassName.ts +1 -1
  619. package/utils/react/Hooks.ts +1 -1
  620. package/utils/react/LayoutPropUtils.ts +1 -1
  621. package/utils/react/ObservableRef.ts +1 -1
  622. package/utils/react/ReactUtils.ts +1 -1
  623. package/utils/react/index.ts +1 -1
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import composeRefs from '@seznam/compose-react-refs';
8
8
  import {HoistInputModel, HoistInputProps, useHoistInputModel} from '@xh/hoist/cmp/input';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  .xh-radio-input {
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {HoistInputModel, HoistInputProps, useHoistInputModel} from '@xh/hoist/cmp/input';
8
8
  import {hoistCmp, HoistProps, HSide} from '@xh/hoist/core';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  // Host div for Select option menu portal.
@@ -105,6 +105,14 @@
105
105
  }
106
106
  }
107
107
  }
108
+
109
+ &__tooltip {
110
+ &__target {
111
+ // Required to override tooltip styling applied by Blueprint, which was breaking the
112
+ // react-select styles that elide overly-long values.
113
+ display: inherit;
114
+ }
115
+ }
108
116
  }
109
117
  }
110
118
 
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {HoistInputModel, HoistInputProps, useHoistInputModel} from '@xh/hoist/cmp/input';
8
8
  import {box, div, fragment, hbox, span} from '@xh/hoist/cmp/layout';
@@ -18,6 +18,7 @@ import {
18
18
  } from '@xh/hoist/core';
19
19
  import '@xh/hoist/desktop/register';
20
20
  import {Icon} from '@xh/hoist/icon';
21
+ import {tooltip} from '@xh/hoist/kit/blueprint';
21
22
  import {
22
23
  reactAsyncCreatableSelect,
23
24
  reactAsyncSelect,
@@ -75,6 +76,12 @@ export interface SelectProps extends HoistProps, HoistInputProps, LayoutProps {
75
76
  /** True to allow entry/selection of multiple values - "tag picker" style. */
76
77
  enableMulti?: boolean;
77
78
 
79
+ /**
80
+ * True to enable tooltips on selected values. Enable when the space
81
+ * available to the select component might not support showing the value's full text.
82
+ */
83
+ enableTooltips?: boolean;
84
+
78
85
  /**
79
86
  * True to use react-windowed-select for improved performance on large option lists.
80
87
  * See https://github.com/jacobworrel/react-windowed-select/.
@@ -362,7 +369,7 @@ class SelectInputModel extends HoistInputModel {
362
369
  super.noteFocused();
363
370
  }
364
371
 
365
- selectText() {
372
+ private selectText() {
366
373
  const {reactSelect} = this;
367
374
  if (!reactSelect) return;
368
375
 
@@ -430,7 +437,7 @@ class SelectInputModel extends HoistInputModel {
430
437
  return this.findOption(external, !isNil(external));
431
438
  }
432
439
 
433
- findOption(value, createIfNotFound, options = this.internalOptions) {
440
+ private findOption(value, createIfNotFound, options = this.internalOptions) {
434
441
  // Do a depth-first search of options
435
442
  for (const option of options) {
436
443
  if (option.options) {
@@ -455,7 +462,7 @@ class SelectInputModel extends HoistInputModel {
455
462
  return internal.value;
456
463
  }
457
464
 
458
- normalizeOptions(options, depth = 0) {
465
+ private normalizeOptions(options, depth = 0) {
459
466
  throwIf(depth > 1, 'Grouped select options support only one-deep nesting.');
460
467
 
461
468
  options = options || [];
@@ -465,11 +472,11 @@ class SelectInputModel extends HoistInputModel {
465
472
  // Normalize / clone a single source value into a normalized option object. Supports Strings
466
473
  // and Objects. Objects are validated/defaulted to ensure a label+value or label+options sublist,
467
474
  // with other fields brought along to support Selects emitting value objects with ad hoc properties.
468
- toOption(src, depth) {
475
+ private toOption(src, depth) {
469
476
  return isPlainObject(src) ? this.objectToOption(src, depth) : this.valueToOption(src);
470
477
  }
471
478
 
472
- objectToOption(src, depth) {
479
+ private objectToOption(src, depth) {
473
480
  const {componentProps} = this,
474
481
  labelField = withDefault(componentProps.labelField, 'label'),
475
482
  valueField = withDefault(componentProps.valueField, 'value');
@@ -492,7 +499,7 @@ class SelectInputModel extends HoistInputModel {
492
499
  };
493
500
  }
494
501
 
495
- valueToOption(src) {
502
+ private valueToOption(src) {
496
503
  return {label: src != null ? src.toString() : '-null-', value: src};
497
504
  }
498
505
 
@@ -542,7 +549,7 @@ class SelectInputModel extends HoistInputModel {
542
549
  return optionRenderer(opt);
543
550
  };
544
551
 
545
- optionRenderer = opt => {
552
+ private optionRenderer = opt => {
546
553
  if (this.hideSelectedOptionCheck) {
547
554
  return div(opt.label);
548
555
  }
@@ -609,6 +616,24 @@ class SelectInputModel extends HoistInputModel {
609
616
  };
610
617
  }
611
618
 
619
+ getMultiValueLabelCmp() {
620
+ return this.componentProps.enableTooltips
621
+ ? props => {
622
+ props = this.withTooltip(props, 'xh-select__tooltip__target');
623
+ return createElement(components.MultiValueLabel, props);
624
+ }
625
+ : components.MultiValueLabel;
626
+ }
627
+
628
+ getSingleValueCmp() {
629
+ return this.componentProps.enableTooltips
630
+ ? props => {
631
+ props = this.withTooltip(props, 'xh-select__tooltip__target');
632
+ return createElement(components.SingleValue, props);
633
+ }
634
+ : components.SingleValue;
635
+ }
636
+
612
637
  noOptionsMessageFn = params => {
613
638
  // account for bug in react-windowed-select https://github.com/jacobworrel/react-windowed-select/issues/19
614
639
  if (!params) return '';
@@ -635,6 +660,17 @@ class SelectInputModel extends HoistInputModel {
635
660
  }
636
661
  return portal;
637
662
  }
663
+
664
+ private withTooltip(props: PlainObject, targetClassName: string): PlainObject {
665
+ return {
666
+ ...props,
667
+ children: tooltip({
668
+ targetClassName,
669
+ content: props.children,
670
+ target: props.children
671
+ })
672
+ };
673
+ }
638
674
  }
639
675
 
640
676
  const cmp = hoistCmp.factory<SelectInputModel>(({model, className, ...props}, ref) => {
@@ -663,7 +699,9 @@ const cmp = hoistCmp.factory<SelectInputModel>(({model, className, ...props}, re
663
699
  DropdownIndicator: model.getDropdownIndicatorCmp(),
664
700
  ClearIndicator: model.getClearIndicatorCmp(),
665
701
  IndicatorSeparator: () => null,
666
- ValueContainer: model.getValueContainerCmp()
702
+ ValueContainer: model.getValueContainerCmp(),
703
+ MultiValueLabel: model.getMultiValueLabelCmp(),
704
+ SingleValue: model.getSingleValueCmp()
667
705
  },
668
706
 
669
707
  // A shared div is created lazily here as needed, appended to the body, and assigned
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  .xh-slider {
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {HoistInputModel, HoistInputProps, useHoistInputModel} from '@xh/hoist/cmp/input';
8
8
  import {box} from '@xh/hoist/cmp/layout';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  .xh-switch-input.xh-input-invalid {
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {HoistInputModel, HoistInputProps, useHoistInputModel} from '@xh/hoist/cmp/input';
8
8
  import {hoistCmp, HoistProps, HSide, StyleProps} from '@xh/hoist/core';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  .xh-text-area {
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import composeRefs from '@seznam/compose-react-refs';
8
8
  import {HoistInputModel, HoistInputProps, useHoistInputModel} from '@xh/hoist/cmp/input';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import composeRefs from '@seznam/compose-react-refs';
8
8
  import {HoistInputModel, HoistInputProps, useHoistInputModel} from '@xh/hoist/cmp/input';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  .xh-lr-chooser {
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {grid, GridProps} from '@xh/hoist/cmp/grid';
8
8
  import {hframe, vbox} from '@xh/hoist/cmp/layout';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {hoistCmp, HoistModel, HoistProps, lookup, useLocalModel, uses} from '@xh/hoist/core';
8
8
  import {textInput} from '@xh/hoist/desktop/cmp/input';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {GridModel} from '@xh/hoist/cmp/grid';
8
8
  import {div} from '@xh/hoist/cmp/layout';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {vspacer} from '@xh/hoist/cmp/layout';
8
8
  import {hoistCmp} from '@xh/hoist/core';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {hoistCmp} from '@xh/hoist/core';
8
8
  import {callout} from '@xh/hoist/kit/blueprint';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {hbox} from '@xh/hoist/cmp/layout';
8
8
  import {div} from '@xh/hoist/cmp/layout/Tags';
@@ -2,6 +2,6 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  export * from './LoadingIndicator';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {box, vbox, vspacer} from '@xh/hoist/cmp/layout';
8
8
  import {spinner as spinnerCmp} from '@xh/hoist/cmp/spinner';
@@ -2,6 +2,6 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  export * from './Mask';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  import {box, fragment} from '@xh/hoist/cmp/layout';
@@ -67,15 +67,15 @@ const inlineContainer = hoistCmp.factory<ModalSupportModel>({
67
67
  // Dialog cmp, inside which to place the child cmp when `model.isModal = true`
68
68
  const modalContainer = hoistCmp.factory<ModalSupportModel>({
69
69
  render({model}) {
70
- if (!model.isModal) return null;
71
-
72
- const {width, height, canOutsideClickClose} = model;
70
+ const {isModal, width, height, canOutsideClickClose} = model;
73
71
  return dialog({
74
72
  className: 'xh-modal-support__modal',
75
73
  style: {width, height},
76
74
  canOutsideClickClose,
77
- isOpen: true,
75
+ isOpen: isModal,
78
76
  onClose: () => model.toggleIsModal(),
77
+ // Creates the dialog's portal immediately and keeps it around, to preserve correct ordering relative to any internal popups.
78
+ lazy: false,
79
79
  item: box({
80
80
  ref: model.modalRef,
81
81
  flexDirection: 'column',
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  import {HoistModel} from '@xh/hoist/core';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  export * from './ModalSupport';
8
8
  export * from './ModalSupportModel';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {box, frame, vbox, vframe} from '@xh/hoist/cmp/layout';
8
8
  import {
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import React from 'react';
8
8
  import {
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {box, filler, hbox, vbox} from '@xh/hoist/cmp/layout';
8
8
  import {hoistCmp, useContextModel} from '@xh/hoist/core';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import composeRefs from '@seznam/compose-react-refs';
8
8
  import {box, hbox, vbox} from '@xh/hoist/cmp/layout';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {hbox, vbox} from '@xh/hoist/cmp/layout';
8
8
  import {hoistCmp, useContextModel} from '@xh/hoist/core';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {div} from '@xh/hoist/cmp/layout';
8
8
  import {creates, hoistCmp} from '@xh/hoist/core';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {HoistModel, lookup, XH} from '@xh/hoist/core';
8
8
  import {throwIf} from '@xh/hoist/utils/js';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  export * from './Panel';
8
8
  export * from './PanelModel';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import composeRefs from '@seznam/compose-react-refs';
8
8
  import {div, frame, h1, hbox, p, span, vbox, vframe} from '@xh/hoist/cmp/layout';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  import {Column, GridModel} from '@xh/hoist/cmp/grid';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {Column, GridModel} from '@xh/hoist/cmp/grid';
8
8
  import {hoistCmp} from '@xh/hoist/core';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  export * from './RecordActionBar';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  import '@xh/hoist/desktop/register';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  import {grid} from '@xh/hoist/cmp/grid';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  import {BaseFieldConfig} from '@xh/hoist/cmp/form';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {Field, FieldSpec} from '@xh/hoist/data';
8
8
  import '@xh/hoist/desktop/register';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {PlainObject, XH} from '@xh/hoist/core';
8
8
  import {StoreRecord, StoreRecordId, UrlStore, UrlStoreConfig} from '@xh/hoist/data';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {form} from '@xh/hoist/cmp/form';
8
8
  import {div, filler} from '@xh/hoist/cmp/layout';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {hoistCmp, uses} from '@xh/hoist/core';
8
8
  import {formField} from '@xh/hoist/desktop/cmp/form';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {FormModel} from '@xh/hoist/cmp/form';
8
8
  import {HoistModel, managed, PlainObject, XH} from '@xh/hoist/core';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {gridCountLabel} from '@xh/hoist/cmp/grid';
8
8
  import {filler} from '@xh/hoist/cmp/layout';
@@ -2,7 +2,7 @@
2
2
  * This file belongs to Hoist, an application development toolkit
3
3
  * developed by Extremely Heavy Industries (www.xh.io | info@xh.io)
4
4
  *
5
- * Copyright © 2022 Extremely Heavy Industries Inc.
5
+ * Copyright © 2023 Extremely Heavy Industries Inc.
6
6
  */
7
7
 
8
8
  export * from './data/RestStore';