@xh/hoist 75.0.0-SNAPSHOT.1753726213836 → 75.0.0-SNAPSHOT.1753731626581

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.
package/CHANGELOG.md CHANGED
@@ -55,6 +55,27 @@
55
55
  * Removed deprecated `FetchService.setDefaultTimeout`
56
56
  * Removed deprecated `IdentityService.logoutAsync`
57
57
 
58
+ ### ✨ Styles
59
+
60
+ * Upgraded the version of Hoist's default Inter UI font to a new major version, now v4.1. Note
61
+ that this brings slight differences to the font's appearance, including tweaks to internal
62
+ spacing and letterforms for tabular numbers. The name of the font face has also changed, from
63
+ `Inter Var` to `InterVariable`. The default value of the `--xh-font-family` CSS variable has been
64
+ updated to match, making this change transparent for most applications.
65
+
66
+ ### 📚 Libraries
67
+
68
+ * @auth0/auth0-spa-js `2.1 → 2.3`
69
+ * @azure/msal-browser `4.12 → 4.16`
70
+ * filesize `6.4 → 11.0`
71
+ * inter-ui `3.19 → 4.1`
72
+ * mobx-react-lite `4.0 → 4.1`
73
+ * qs `6.13 → 6.14`
74
+ * react-markdown `9.0 → 10.1`
75
+ * regenerator-runtime `0.13 → 0.14`
76
+ * semver `7.6 → 7.7`
77
+ * short-unique-id `5.2 → 5.3`
78
+ * ua-parser-js `1.0 → 2.0`
58
79
 
59
80
  ## v74.1.2 - 2025-07-03
60
81
 
@@ -5,7 +5,7 @@
5
5
  * Copyright © 2025 Extremely Heavy Industries Inc.
6
6
  */
7
7
  import {HoistModel} from '@xh/hoist/core';
8
- import parser from 'ua-parser-js';
8
+ import {UAParser} from 'ua-parser-js';
9
9
 
10
10
  /**
11
11
  * Support for user agent parsing.
@@ -32,6 +32,6 @@ export class UserAgentModel extends HoistModel {
32
32
  // Implementation
33
33
  //---------------------
34
34
  private get uaParser() {
35
- return (this._uaParser = this._uaParser ?? new parser());
35
+ return (this._uaParser = this._uaParser ?? new UAParser());
36
36
  }
37
37
  }
@@ -15,18 +15,18 @@ export declare const swiper: import("@xh/hoist/core").ElementFactory<import("rea
15
15
  onHashChange?: (swiper: import("swiper/react").SwiperClass) => void;
16
16
  onHashSet?: (swiper: import("swiper/react").SwiperClass) => void;
17
17
  onKeyPress?: (swiper: import("swiper/react").SwiperClass, keyCode: string) => void;
18
- onScroll?: (swiper: import("swiper/react").SwiperClass, event: WheelEvent) => void;
19
18
  onNavigationHide?: (swiper: import("swiper/react").SwiperClass) => void;
20
19
  onNavigationShow?: (swiper: import("swiper/react").SwiperClass) => void;
21
20
  onNavigationPrev?: (swiper: import("swiper/react").SwiperClass) => void;
22
21
  onNavigationNext?: (swiper: import("swiper/react").SwiperClass) => void;
22
+ onScroll?: (swiper: import("swiper/react").SwiperClass, event: WheelEvent) => void;
23
+ onScrollbarDragStart?: (swiper: import("swiper/react").SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void;
24
+ onScrollbarDragMove?: (swiper: import("swiper/react").SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void;
25
+ onScrollbarDragEnd?: (swiper: import("swiper/react").SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void;
23
26
  onPaginationRender?: (swiper: import("swiper/react").SwiperClass, paginationEl: HTMLElement) => void;
24
27
  onPaginationUpdate?: (swiper: import("swiper/react").SwiperClass, paginationEl: HTMLElement) => void;
25
28
  onPaginationHide?: (swiper: import("swiper/react").SwiperClass) => void;
26
29
  onPaginationShow?: (swiper: import("swiper/react").SwiperClass) => void;
27
- onScrollbarDragStart?: (swiper: import("swiper/react").SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void;
28
- onScrollbarDragMove?: (swiper: import("swiper/react").SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void;
29
- onScrollbarDragEnd?: (swiper: import("swiper/react").SwiperClass, event: MouseEvent | TouchEvent | PointerEvent) => void;
30
30
  onZoomChange?: (swiper: import("swiper/react").SwiperClass, scale: number, imageEl: HTMLElement, slideEl: HTMLElement) => void;
31
31
  onInit?: (swiper: import("swiper/react").SwiperClass) => any;
32
32
  onBeforeDestroy?: (swiper: import("swiper/react").SwiperClass) => void;
@@ -15,7 +15,7 @@
15
15
  border: 1px solid var(--xh-intent-danger);
16
16
  max-width: 50%;
17
17
  text-align: center;
18
- word-break: break-word;
18
+ overflow-wrap: break-word;
19
19
 
20
20
  & > * {
21
21
  margin: 0 0 var(--xh-pad-px);
@@ -5,10 +5,7 @@
5
5
  * Copyright © 2025 Extremely Heavy Industries Inc.
6
6
  */
7
7
  .xh-tile-frame {
8
- // Scrollbar will be shown above the content in order to not take up width.
9
- // Consider increasing the spacing for TileFrames that are expected to scroll.
10
- overflow-y: overlay !important;
11
- overflow-x: overlay !important;
8
+ overflow: auto !important;
12
9
 
13
10
  &__tile {
14
11
  position: absolute !important;
@@ -30,7 +30,7 @@
30
30
  }
31
31
 
32
32
  .bp5-toast-message {
33
- word-break: break-word;
33
+ overflow-wrap: break-word;
34
34
  }
35
35
 
36
36
  // High level of specificity here required to override built-in BP styles
@@ -11,7 +11,7 @@ import '@xh/hoist/desktop/register';
11
11
  import {Icon} from '@xh/hoist/icon';
12
12
  import {action, makeObservable, observable} from '@xh/hoist/mobx';
13
13
  import {isEmpty} from 'codemirror/src/util/misc';
14
- import filesize from 'filesize';
14
+ import {filesize} from 'filesize';
15
15
  import {find, uniqBy, without} from 'lodash';
16
16
 
17
17
  export class FileChooserModel extends HoistModel {
@@ -51,12 +51,12 @@
51
51
  // See https://github.com/xh/hoist-react/issues/862 for why this is necessary. Note need for
52
52
  // datepicker workaround below - indicates that this might be a problematic solution in general
53
53
  // to the original issue, but after a few years that's been the only reported issue, so...
54
- word-break: break-word;
54
+ overflow-wrap: break-word;
55
55
 
56
56
  // Ensure that date numbers in the datepicker do not wrap if the datePicker portal is rendered
57
57
  // inside a dialogBody - e.g. `dateEditor` in a grid in a dialog. See comment on #862.
58
58
  .bp5-datepicker {
59
- word-break: normal;
59
+ overflow-wrap: normal;
60
60
  }
61
61
  }
62
62
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xh/hoist",
3
- "version": "75.0.0-SNAPSHOT.1753726213836",
3
+ "version": "75.0.0-SNAPSHOT.1753731626581",
4
4
  "description": "Hoist add-on for building and deploying React Applications.",
5
5
  "repository": "github:xh/hoist-react",
6
6
  "homepage": "https://xh.io",
@@ -28,8 +28,8 @@
28
28
  ]
29
29
  },
30
30
  "dependencies": {
31
- "@auth0/auth0-spa-js": "~2.1.3",
32
- "@azure/msal-browser": "~4.12.0",
31
+ "@auth0/auth0-spa-js": "~2.3.0",
32
+ "@azure/msal-browser": "~4.16.0",
33
33
  "@blueprintjs/core": "^5.10.5",
34
34
  "@blueprintjs/datetime": "^5.3.7",
35
35
  "@blueprintjs/datetime2": "^2.3.7",
@@ -39,52 +39,52 @@
39
39
  "@fortawesome/pro-regular-svg-icons": "^6.6.0",
40
40
  "@fortawesome/pro-solid-svg-icons": "^6.6.0",
41
41
  "@fortawesome/pro-thin-svg-icons": "^6.6.0",
42
- "@fortawesome/react-fontawesome": "^0.2.2",
42
+ "@fortawesome/react-fontawesome": "^0.2.3",
43
43
  "@onsenui/fastclick": "~1.1.1",
44
44
  "@popperjs/core": "~2.11.0",
45
45
  "@seznam/compose-react-refs": "~1.0.5",
46
46
  "classnames": "~2.5.1",
47
47
  "clipboard-copy": "~4.0.1",
48
48
  "codemirror": "~5.65.0",
49
- "core-js": "^3.0",
49
+ "core-js": "3.x",
50
50
  "debounce-promise": "~3.1.0",
51
51
  "dompurify": "~3.2.3",
52
52
  "downloadjs": "~1.4.7",
53
53
  "fast-deep-equal": "~3.1.1",
54
- "filesize": "~6.4.0",
54
+ "filesize": "~11.0.2",
55
55
  "golden-layout": "~1.5.9",
56
56
  "http-status-codes": "~2.3.0",
57
- "inter-ui": "~3.19.3",
57
+ "inter-ui": "~4.1.1",
58
58
  "jwt-decode": "~4.0.0",
59
59
  "lodash": "~4.17.21",
60
60
  "lodash-inflection": "~1.5.0",
61
61
  "mobx": "~6.13.2",
62
- "mobx-react-lite": "~4.0.7",
62
+ "mobx-react-lite": "~4.1.0",
63
63
  "moment": "~2.30.1",
64
64
  "numbro": "~2.5.0",
65
65
  "onsenui": "~2.12.8",
66
- "qs": "~6.13.0",
66
+ "qs": "~6.14.0",
67
67
  "react-beautiful-dnd": "~13.1.0",
68
68
  "react-dates": "~21.8.0",
69
69
  "react-dropzone": "~10.2.2",
70
70
  "react-grid-layout": "1.5.0",
71
- "react-markdown": "~9.0.1",
71
+ "react-markdown": "~10.1.0",
72
72
  "react-onsenui": "~1.13.2",
73
73
  "react-popper": "~2.3.0",
74
74
  "react-select": "~4.3.1",
75
75
  "react-transition-group": "~4.4.2",
76
76
  "react-windowed-select": "~3.1.2",
77
- "regenerator-runtime": "~0.13.11",
77
+ "regenerator-runtime": "~0.14.1",
78
78
  "remark-breaks": "~4.0.0",
79
79
  "remark-gfm": "~4.0.0",
80
80
  "resize-observer-polyfill": "~1.5.1",
81
81
  "router5": "~7.0.2",
82
82
  "router5-plugin-browser": "~7.0.2",
83
- "semver": "~7.6.0",
84
- "short-unique-id": "~5.2.0",
83
+ "semver": "~7.7.2",
84
+ "short-unique-id": "~5.3.2",
85
85
  "store2": "~2.14.3",
86
86
  "swiper": "^11.2.0",
87
- "ua-parser-js": "~1.0.2"
87
+ "ua-parser-js": "~2.0.4"
88
88
  },
89
89
  "peerDependencies": {
90
90
  "react": "~18.2.0",
@@ -102,13 +102,13 @@
102
102
  "eslint-config-prettier": "10.x",
103
103
  "eslint-plugin-tsdoc": "0.x",
104
104
  "husky": "9.x",
105
- "lint-staged": "15.x",
105
+ "lint-staged": "16.x",
106
106
  "postcss": "8.x",
107
107
  "prettier": "3.x",
108
108
  "react": "~18.2.0",
109
109
  "react-dom": "~18.2.0",
110
110
  "stylelint": "16.x",
111
- "stylelint-config-standard-scss": "14.x",
111
+ "stylelint-config-standard-scss": "15.x",
112
112
  "type-fest": "4.x",
113
113
  "typescript": "~5.8.3"
114
114
  },
package/styles/XH.scss CHANGED
@@ -9,7 +9,7 @@
9
9
  @use 'helpers';
10
10
  @use '~inter-ui/variable' with (
11
11
  $inter-font-display: block,
12
- $inter-font-path: '~inter-ui/Inter (web)'
12
+ $inter-font-path: '~inter-ui/variable'
13
13
  );
14
14
 
15
15
  @include variable.all;
package/styles/vars.scss CHANGED
@@ -374,7 +374,7 @@ body {
374
374
  //------------------------
375
375
  // Fonts
376
376
  //------------------------
377
- --xh-font-family: var(--font-family, #{("Inter Var", system-ui, sans-serif)});
377
+ --xh-font-family: var(--font-family, #{("InterVariable", system-ui, sans-serif)});
378
378
  --xh-font-family-headings: var(--font-family-headings, var(--xh-font-family));
379
379
  --xh-font-family-mono: var(--font-family-mono, #{(Monaco, Consolas, monospace)});
380
380