@skyscanner/backpack-web 43.0.0-dev-v28150129018.1 → 43.0.0-dev-v28222480725.1

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.
@@ -20,7 +20,7 @@ declare const _default: {
20
20
  appearActiveClassName: string;
21
21
  transitionTimeout: number;
22
22
  children: import("react").ReactElement<{
23
- ref?: import("react").RefObject<HTMLElement | null>;
23
+ ref?: import("react").Ref<HTMLElement>;
24
24
  }>;
25
25
  }) => import("react/jsx-runtime").JSX.Element;
26
26
  cssModules: (styles?: {
@@ -1,10 +1,10 @@
1
- import type { ReactElement, RefObject } from 'react';
1
+ import type { ReactElement, Ref } from 'react';
2
2
  type Props = {
3
3
  appearClassName: string;
4
4
  appearActiveClassName: string;
5
5
  transitionTimeout: number;
6
6
  children: ReactElement<{
7
- ref?: RefObject<HTMLElement | null>;
7
+ ref?: Ref<HTMLElement>;
8
8
  }>;
9
9
  };
10
10
  declare const TransitionInitialMount: ({ appearActiveClassName, appearClassName, children, transitionTimeout, }: Props) => import("react/jsx-runtime").JSX.Element;
@@ -16,7 +16,7 @@
16
16
  * limitations under the License.
17
17
  */
18
18
 
19
- import { cloneElement, useRef } from 'react';
19
+ import { cloneElement, useCallback, useRef } from 'react';
20
20
  // @ts-expect-error Untyped import. See `decisions/imports-ts-suppressions.md`.
21
21
  import assign from 'object-assign';
22
22
  import CSSTransition from 'react-transition-group/CSSTransition';
@@ -25,6 +25,18 @@ import CSSTransition from 'react-transition-group/CSSTransition';
25
25
  // It will use the native implementation if it's present and isn't buggy.
26
26
  import { jsx as _jsx } from "react/jsx-runtime";
27
27
  Object.assign = assign;
28
+ const assignRef = (ref, node) => {
29
+ if (!ref) {
30
+ return;
31
+ }
32
+ if (typeof ref === 'function') {
33
+ ref(node);
34
+ } else {
35
+ // eslint-disable-next-line no-param-reassign
36
+ ref.current = node;
37
+ }
38
+ };
39
+
28
40
  // TODO: revisit the cloneElement pattern when react-transition-group v5 ships;
29
41
  // it is expected to remove the nodeRef requirement.
30
42
  const TransitionInitialMount = ({
@@ -34,6 +46,22 @@ const TransitionInitialMount = ({
34
46
  transitionTimeout
35
47
  }) => {
36
48
  const nodeRef = useRef(null);
49
+ // Read the child's own ref so injecting nodeRef does not clobber it.
50
+ // React 19 exposes ref as a normal prop (children.props.ref); React 18 keeps
51
+ // it on the element itself (children.ref). Check props.ref FIRST so that on
52
+ // React 19 we never touch element.ref (which logs a deprecation warning).
53
+ const childProps = children.props;
54
+ const childRef = childProps.ref ?? children.ref;
55
+
56
+ // Compose the nodeRef CSSTransition needs with any ref the child already has,
57
+ // so injecting nodeRef does not clobber the child's own ref (e.g. the
58
+ // `dialogRef` used by withScrim to scope focus inside BpkModal/BpkDialog).
59
+ // Memoised so the callback ref keeps a stable identity across renders and is
60
+ // only re-run when nodeRef or the child's ref actually changes.
61
+ const mergedRef = useCallback(node => {
62
+ assignRef(nodeRef, node);
63
+ assignRef(childRef, node);
64
+ }, [childRef]);
37
65
  return /*#__PURE__*/_jsx(CSSTransition, {
38
66
  nodeRef: nodeRef,
39
67
  classNames: {
@@ -48,7 +76,7 @@ const TransitionInitialMount = ({
48
76
  appear: transitionTimeout
49
77
  },
50
78
  children: /*#__PURE__*/cloneElement(children, {
51
- ref: nodeRef
79
+ ref: mergedRef
52
80
  })
53
81
  });
54
82
  };
@@ -15,4 +15,4 @@
15
15
  * See the License for the specific language governing permissions and
16
16
  * limitations under the License.
17
17
  */
18
- @font-face{font-family:"Skyscanner Relative";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Book-f9356ad6.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Book-46f9f429.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Book-ab1dbcbe.ttf') format('ttf')}@font-face{font-family:"Skyscanner Relative";font-style:italic;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Italic-10532ac3.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Italic-db5d0ac5.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Italic-8eec3f3a.ttf') format('ttf')}@font-face{font-family:"Skyscanner Relative";font-style:normal;font-weight:500;src:url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Medium-c08dc28b.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Medium-865e167a.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Medium-d0ae478a.ttf') format('ttf')}@font-face{font-family:"Skyscanner Relative";font-style:italic;font-weight:500;src:url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-MediumItalic-81517f37.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-MediumItalic-bbdb6b0c.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-MediumItalic-226fe64c.ttf') format('ttf')}@font-face{font-family:"Skyscanner Relative";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Bold-8545937e.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Bold-a099c9f7.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Bold-ec4cc5a7.ttf') format('ttf')}@font-face{font-family:"Skyscanner Relative";font-style:italic;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-BoldItalic-01b5d138.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-BoldItalic-4d6d36e3.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-BoldItalic-dc9284dc.ttf') format('ttf')}@font-face{font-family:"Skyscanner Relative";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Black-bb3c9434.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Black-bba2eb55.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Black-314703cc.ttf') format('ttf')}@font-face{font-family:"Skyscanner Relative";font-style:italic;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-BlackItalic-c2149c91.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-BlackItalic-a34cd594.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-BlackItalic-7e516ee5.ttf') format('ttf')}@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-ExtraBold-d4e678e6.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-ExtraBold-071fa89b.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-ExtraBold-71fc7f76.ttf') format('ttf')}@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-Bold-b656150c.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-Bold-6ddf472f.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-Bold-deeb2988.ttf') format('ttf')}@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-Regular-6ab10d56.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-Regular-70c49e9e.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-Regular-68d5dc69.ttf') format('ttf')}@font-face{font-family:"Noto Sans KR";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-ExtraBold-1dfe3b92.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-ExtraBold-6c571306.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-ExtraBold-f350038a.ttf') format('ttf')}@font-face{font-family:"Noto Sans KR";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-Bold-5286cc6d.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-Bold-74c4cbc7.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-Bold-5651f33d.ttf') format('ttf')}@font-face{font-family:"Noto Sans KR";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-Regular-b6a2ff73.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-Regular-96147637.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-Regular-a2cd60b3.ttf') format('ttf')}@font-face{font-family:"Noto Sans SC";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Bold-22c3e4e0.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Bold-87ef5110.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Bold-57f04989.ttf') format('ttf')}@font-face{font-family:"Noto Sans SC";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Bold-22c3e4e0.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Bold-87ef5110.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Bold-57f04989.ttf') format('ttf')}@font-face{font-family:"Noto Sans SC";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Regular-97e50cfd.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Regular-cba63765.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Regular-f793115b.ttf') format('ttf')}@font-face{font-family:"Noto Sans TC";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Bold-355d38e9.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Bold-2abc3583.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Bold-86244830.ttf') format('ttf')}@font-face{font-family:"Noto Sans TC";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Bold-355d38e9.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Bold-2abc3583.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Bold-86244830.ttf') format('ttf')}@font-face{font-family:"Noto Sans TC";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Regular-5d6d6915.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Regular-c4185417.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Regular-d4301ce6.ttf') format('ttf')}@font-face{font-family:"Noto Sans Thai";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansThai-Bold-74e247cc.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansThai-Bold-91433b5b.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansThai-Bold-778d694c.ttf') format('ttf')}@font-face{font-family:"Noto Sans Thai";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansThai-Bold-74e247cc.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansThai-Bold-91433b5b.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansThai-Bold-778d694c.ttf') format('ttf')}@font-face{font-family:"Noto Sans Thai";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansThai-Regular-49d26bc7.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansThai-Regular-bc78fb35.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansThai-Regular-84e59eed.ttf') format('ttf')}@font-face{font-family:"Noto Sans Devanagari";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansDevanagari-ExtraBold-ff675d8c.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansDevanagari-ExtraBold-2b68fdf3.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansDevanagari-ExtraBold-ad7aee12.ttf') format('ttf')}@font-face{font-family:"Noto Sans Devanagari";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansDevanagari-Bold-19924491.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansDevanagari-Bold-2598dc51.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansDevanagari-Bold-bca34adc.ttf') format('ttf')}@font-face{font-family:"Noto Sans Devanagari";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansDevanagari-Regular-2ddbe014.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansDevanagari-Regular-b7e8aefe.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansDevanagari-Regular-e0474da6.ttf') format('ttf')}@font-face{font-family:"Noto Sans";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-ExtraBold-d8d5cc89.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-ExtraBold-177dbfc0.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-ExtraBold-cac84afc.ttf') format('ttf')}@font-face{font-family:"Noto Sans";font-style:italic;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-ExtraBoldItalic-cf3e028d.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-ExtraBoldItalic-be131c58.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-ExtraBoldItalic-c435f928.ttf') format('ttf')}@font-face{font-family:"Noto Sans";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-Bold-0b4b7c45.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-Bold-68b2bc2e.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-Bold-bc7f5e39.ttf') format('ttf')}@font-face{font-family:"Noto Sans";font-style:italic;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-BoldItalic-61b665f1.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-BoldItalic-eff19cbf.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-BoldItalic-695e28bf.ttf') format('ttf')}@font-face{font-family:"Noto Sans";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-Regular-31a7a3e7.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-Regular-aa4384e7.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-Regular-f04a504e.ttf') format('ttf')}@font-face{font-family:"Noto Sans";font-style:italic;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-Italic-136bdc6a.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-Italic-7cd36c44.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-Italic-716d03e4.ttf') format('ttf')}@font-face{font-family:"Noto Sans Arabic";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-ExtraBold-da8cf050.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-ExtraBold-4ac084a2.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-ExtraBold-a965fbb5.ttf') format('ttf')}@font-face{font-family:"Noto Sans Arabic";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Bold-237618dd.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Bold-9e0190d0.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Bold-d93e430c.ttf') format('ttf')}@font-face{font-family:"Noto Sans Arabic";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Regular-15a84e58.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Regular-a2985c7a.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Regular-471fde3d.ttf') format('ttf')}@font-face{font-family:"Noto Sans Hebrew";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-ExtraBold-e04df8b4.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-ExtraBold-3303fb69.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-ExtraBold-4cfb24e3.ttf') format('ttf')}@font-face{font-family:"Noto Sans Hebrew";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-Bold-ad38ec01.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-Bold-6ecb028a.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-Bold-752057d4.ttf') format('ttf')}@font-face{font-family:"Noto Sans Hebrew";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-Regular-d42b5a85.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-Regular-bdcbbd78.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-Regular-41f881f3.ttf') format('ttf')}[lang=ja-JP],:lang(ja-JP){--bpk-base-font-stack: "Skyscanner Relative", "Noto Sans JP", "Noto Sans SC", "Noto Sans TC", "Noto Sans KR", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans", "Noto Sans Devanagari", "Noto Sans Thai", -apple-system, blinkmacsystemfont, roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}[lang=zh-TW],:lang(zh-TW),[lang=zh-HK],:lang(zh-HK){--bpk-base-font-stack: "Skyscanner Relative", "Noto Sans TC", "Noto Sans SC", "Noto Sans JP", "Noto Sans KR", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans", "Noto Sans Devanagari", "Noto Sans Thai", -apple-system, blinkmacsystemfont, roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}[lang=zh-CN],:lang(zh-CN){--bpk-base-font-stack: "Skyscanner Relative", "Noto Sans SC", "Noto Sans TC", "Noto Sans JP", "Noto Sans KR", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans", "Noto Sans Devanagari", "Noto Sans Thai", -apple-system, blinkmacsystemfont, roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}[lang=ko-KR],:lang(ko-KR){--bpk-base-font-stack: "Skyscanner Relative", "Noto Sans KR", "Noto Sans JP", "Noto Sans SC", "Noto Sans TC", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans", "Noto Sans Devanagari", "Noto Sans Thai", -apple-system, blinkmacsystemfont, roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}[lang=th-TH],:lang(th-TH){--bpk-base-font-stack: "Skyscanner Relative", "Noto Sans Thai", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans", "Noto Sans Devanagari", -apple-system, blinkmacsystemfont, roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}[lang=hi-IN],:lang(hi-IN){--bpk-base-font-stack: "Skyscanner Relative", "Noto Sans Devanagari", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans", "Noto Sans Thai", -apple-system, blinkmacsystemfont, roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}[lang=ar],:lang(ar){--bpk-base-font-stack: "Skyscanner Relative", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans", "Noto Sans Devanagari", "Noto Sans Thai", -apple-system, blinkmacsystemfont, roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}[lang=he],:lang(he){--bpk-base-font-stack: "Skyscanner Relative", "Noto Sans Hebrew", "Noto Sans Arabic", "Noto Sans", "Noto Sans Devanagari", "Noto Sans Thai", -apple-system, blinkmacsystemfont, roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}[lang=el-GR],:lang(el-GR),[lang=ru-RU],:lang(ru-RU),[lang=uk-UA],:lang(uk-UA),[lang=bg-BG],:lang(bg-BG),[lang=vi-VN],:lang(vi-VN){--bpk-base-font-stack: "Skyscanner Relative", "Noto Sans", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans Devanagari", "Noto Sans Thai", -apple-system, blinkmacsystemfont, roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}:where([lang]){font-family:var(--bpk-base-font-stack)}:lang(zh),:lang(ja){line-break:strict;overflow-wrap:anywhere}:lang(ko){line-break:strict;overflow-wrap:break-word;word-break:keep-all}@media(max-width: 48rem){:lang(zh),:lang(ja),:lang(ko){line-break:loose}}:lang(ar),:lang(he){overflow-wrap:break-word}:lang(th){line-break:loose;overflow-wrap:anywhere;word-break:break-all}:lang(hi){overflow-wrap:break-word}:lang(ru),:lang(uk){hyphens:auto;overflow-wrap:break-word}
18
+ @font-face{font-family:"Skyscanner Relative";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Book-f9356ad6.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Book-46f9f429.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Book-ab1dbcbe.ttf') format('ttf')}@font-face{font-family:"Skyscanner Relative";font-style:italic;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Italic-10532ac3.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Italic-db5d0ac5.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Italic-8eec3f3a.ttf') format('ttf')}@font-face{font-family:"Skyscanner Relative";font-style:normal;font-weight:500;src:url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Medium-c08dc28b.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Medium-865e167a.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Medium-d0ae478a.ttf') format('ttf')}@font-face{font-family:"Skyscanner Relative";font-style:italic;font-weight:500;src:url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-MediumItalic-81517f37.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-MediumItalic-bbdb6b0c.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-MediumItalic-226fe64c.ttf') format('ttf')}@font-face{font-family:"Skyscanner Relative";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Bold-8545937e.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Bold-a099c9f7.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Bold-ec4cc5a7.ttf') format('ttf')}@font-face{font-family:"Skyscanner Relative";font-style:italic;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-BoldItalic-01b5d138.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-BoldItalic-4d6d36e3.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-BoldItalic-dc9284dc.ttf') format('ttf')}@font-face{font-family:"Skyscanner Relative";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Black-bb3c9434.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Black-bba2eb55.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-Black-314703cc.ttf') format('ttf')}@font-face{font-family:"Skyscanner Relative";font-style:italic;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-BlackItalic-c2149c91.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-BlackItalic-a34cd594.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/SkyscannerRelative-BlackItalic-7e516ee5.ttf') format('ttf')}@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-ExtraBold-d4e678e6.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-ExtraBold-071fa89b.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-ExtraBold-71fc7f76.ttf') format('ttf')}@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-Bold-b656150c.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-Bold-6ddf472f.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-Bold-deeb2988.ttf') format('ttf')}@font-face{font-family:"Noto Sans JP";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-Regular-6ab10d56.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-Regular-70c49e9e.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansJP-Regular-68d5dc69.ttf') format('ttf')}@font-face{font-family:"Noto Sans KR";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-ExtraBold-1dfe3b92.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-ExtraBold-6c571306.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-ExtraBold-f350038a.ttf') format('ttf')}@font-face{font-family:"Noto Sans KR";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-Bold-5286cc6d.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-Bold-74c4cbc7.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-Bold-5651f33d.ttf') format('ttf')}@font-face{font-family:"Noto Sans KR";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-Regular-b6a2ff73.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-Regular-96147637.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansKR-Regular-a2cd60b3.ttf') format('ttf')}@font-face{font-family:"Noto Sans SC";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Bold-22c3e4e0.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Bold-87ef5110.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Bold-57f04989.ttf') format('ttf')}@font-face{font-family:"Noto Sans SC";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Bold-22c3e4e0.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Bold-87ef5110.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Bold-57f04989.ttf') format('ttf')}@font-face{font-family:"Noto Sans SC";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Regular-97e50cfd.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Regular-cba63765.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansSC-Regular-f793115b.ttf') format('ttf')}@font-face{font-family:"Noto Sans TC";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Bold-355d38e9.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Bold-2abc3583.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Bold-86244830.ttf') format('ttf')}@font-face{font-family:"Noto Sans TC";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Bold-355d38e9.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Bold-2abc3583.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Bold-86244830.ttf') format('ttf')}@font-face{font-family:"Noto Sans TC";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Regular-5d6d6915.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Regular-c4185417.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansTC-Regular-d4301ce6.ttf') format('ttf')}@font-face{font-family:"Noto Sans Thai";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansThai-Bold-74e247cc.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansThai-Bold-91433b5b.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansThai-Bold-778d694c.ttf') format('ttf')}@font-face{font-family:"Noto Sans Thai";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansThai-Bold-74e247cc.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansThai-Bold-91433b5b.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansThai-Bold-778d694c.ttf') format('ttf')}@font-face{font-family:"Noto Sans Thai";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansThai-Regular-49d26bc7.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansThai-Regular-bc78fb35.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansThai-Regular-84e59eed.ttf') format('ttf')}@font-face{font-family:"Noto Sans Devanagari";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansDevanagari-ExtraBold-ff675d8c.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansDevanagari-ExtraBold-2b68fdf3.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansDevanagari-ExtraBold-ad7aee12.ttf') format('ttf')}@font-face{font-family:"Noto Sans Devanagari";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansDevanagari-Bold-19924491.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansDevanagari-Bold-2598dc51.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansDevanagari-Bold-bca34adc.ttf') format('ttf')}@font-face{font-family:"Noto Sans Devanagari";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansDevanagari-Regular-2ddbe014.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansDevanagari-Regular-b7e8aefe.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansDevanagari-Regular-e0474da6.ttf') format('ttf')}@font-face{font-family:"Noto Sans";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-ExtraBold-d8d5cc89.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-ExtraBold-177dbfc0.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-ExtraBold-cac84afc.ttf') format('ttf')}@font-face{font-family:"Noto Sans";font-style:italic;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-ExtraBoldItalic-cf3e028d.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-ExtraBoldItalic-be131c58.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-ExtraBoldItalic-c435f928.ttf') format('ttf')}@font-face{font-family:"Noto Sans";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-Bold-0b4b7c45.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-Bold-68b2bc2e.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-Bold-bc7f5e39.ttf') format('ttf')}@font-face{font-family:"Noto Sans";font-style:italic;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-BoldItalic-61b665f1.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-BoldItalic-eff19cbf.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-BoldItalic-695e28bf.ttf') format('ttf')}@font-face{font-family:"Noto Sans";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-Regular-31a7a3e7.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-Regular-aa4384e7.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-Regular-f04a504e.ttf') format('ttf')}@font-face{font-family:"Noto Sans";font-style:italic;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-Italic-136bdc6a.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-Italic-7cd36c44.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSans-Italic-716d03e4.ttf') format('ttf')}@font-face{font-family:"Noto Sans Arabic";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-ExtraBold-da8cf050.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-ExtraBold-4ac084a2.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-ExtraBold-a965fbb5.ttf') format('ttf')}@font-face{font-family:"Noto Sans Arabic";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Bold-237618dd.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Bold-9e0190d0.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Bold-d93e430c.ttf') format('ttf')}@font-face{font-family:"Noto Sans Arabic";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Regular-15a84e58.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Regular-a2985c7a.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansArabic-Regular-471fde3d.ttf') format('ttf')}@font-face{font-family:"Noto Sans Hebrew";font-style:normal;font-weight:900;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-ExtraBold-e04df8b4.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-ExtraBold-3303fb69.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-ExtraBold-4cfb24e3.ttf') format('ttf')}@font-face{font-family:"Noto Sans Hebrew";font-style:normal;font-weight:700;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-Bold-ad38ec01.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-Bold-6ecb028a.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-Bold-752057d4.ttf') format('ttf')}@font-face{font-family:"Noto Sans Hebrew";font-style:normal;font-weight:400;src:url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-Regular-d42b5a85.woff2') format('woff2'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-Regular-bdcbbd78.woff') format('woff'), url('https://js.skyscnr.com/sttc/bpk-fonts/NotoSansHebrew-Regular-41f881f3.ttf') format('ttf')}[lang=ja-JP],:lang(ja-JP){--bpk-base-font-stack: "Skyscanner Relative", "Noto Sans JP", "Noto Sans SC", "Noto Sans TC", "Noto Sans KR", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans", "Noto Sans Devanagari", "Noto Sans Thai", -apple-system, blinkmacsystemfont, roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}[lang=zh-TW],:lang(zh-TW),[lang=zh-HK],:lang(zh-HK){--bpk-base-font-stack: "Skyscanner Relative", "Noto Sans TC", "Noto Sans SC", "Noto Sans JP", "Noto Sans KR", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans", "Noto Sans Devanagari", "Noto Sans Thai", -apple-system, blinkmacsystemfont, roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}[lang=zh-CN],:lang(zh-CN){--bpk-base-font-stack: "Skyscanner Relative", "Noto Sans SC", "Noto Sans TC", "Noto Sans JP", "Noto Sans KR", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans", "Noto Sans Devanagari", "Noto Sans Thai", -apple-system, blinkmacsystemfont, roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}[lang=ko-KR],:lang(ko-KR){--bpk-base-font-stack: "Skyscanner Relative", "Noto Sans KR", "Noto Sans JP", "Noto Sans SC", "Noto Sans TC", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans", "Noto Sans Devanagari", "Noto Sans Thai", -apple-system, blinkmacsystemfont, roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}[lang=th-TH],:lang(th-TH){--bpk-base-font-stack: "Skyscanner Relative", "Noto Sans Thai", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans", "Noto Sans Devanagari", -apple-system, blinkmacsystemfont, roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}[lang=hi-IN],:lang(hi-IN){--bpk-base-font-stack: "Skyscanner Relative", "Noto Sans Devanagari", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans", "Noto Sans Thai", -apple-system, blinkmacsystemfont, roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}[lang=ar],:lang(ar){--bpk-base-font-stack: "Skyscanner Relative", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans", "Noto Sans Devanagari", "Noto Sans Thai", -apple-system, blinkmacsystemfont, roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}[lang=he],:lang(he){--bpk-base-font-stack: "Skyscanner Relative", "Noto Sans Hebrew", "Noto Sans Arabic", "Noto Sans", "Noto Sans Devanagari", "Noto Sans Thai", -apple-system, blinkmacsystemfont, roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}[lang=el-GR],:lang(el-GR),[lang=ru-RU],:lang(ru-RU),[lang=uk-UA],:lang(uk-UA),[lang=bg-BG],:lang(bg-BG),[lang=vi-VN],:lang(vi-VN){--bpk-base-font-stack: "Skyscanner Relative", "Noto Sans", "Noto Sans Arabic", "Noto Sans Hebrew", "Noto Sans Devanagari", "Noto Sans Thai", -apple-system, blinkmacsystemfont, roboto, oxygen, ubuntu, cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif}:where([lang]){font-family:var(--bpk-base-font-stack)}
@@ -16,13 +16,12 @@
16
16
  * limitations under the License.
17
17
  */
18
18
 
19
- @use 'sass:list';
20
- @use 'sass:map';
21
- @use '../bpk-mixins/tokens';
22
-
23
19
  $base-url: 'https://js.skyscnr.com/sttc/bpk-fonts';
24
20
  $font-formats: (woff2, woff, ttf);
25
21
 
22
+ @use 'sass:list';
23
+ @use 'sass:map';
24
+
26
25
  // Table-driven font registry: add families/weights in $bpk-fonts, and the mixin
27
26
  // will emit matching @font-face rules. Filenames are the hashed names without
28
27
  // extension; only the formats you provide will be output.
@@ -533,64 +532,3 @@ $bpk-fonts: (
533
532
  :where([lang]) {
534
533
  font-family: var(--bpk-base-font-stack);
535
534
  }
536
-
537
- // Locale-aware line-break rules.
538
- // Must be after font-stack rules so source order wins over browser defaults.
539
- // :lang() matches subtags — :lang(ja) covers ja, ja-JP, etc.
540
-
541
- // CJK: strict kinsoku (JIS X 4051 / GB/T 15834) — punctuation/particles cannot
542
- // appear at line-start. Fixes headlines breaking before を、に、の etc.
543
- // overflow-wrap: anywhere is last-resort only — preserves Latin brand names/URLs
544
- // on mixed-script pages by only breaking at non-standard points as a final fallback.
545
- :lang(zh),
546
- :lang(ja) {
547
- line-break: strict;
548
- overflow-wrap: anywhere;
549
- }
550
-
551
- // Korean: word-level breaks (KS X 1026 kinsoku), not character-level.
552
- // word-break: keep-all preserves syllable blocks (Korean typographic convention).
553
- // overflow-wrap: break-word fallback required — on 360–390px viewports a long
554
- // compound word with no spaces still overflows with keep-all alone.
555
- :lang(ko) {
556
- line-break: strict;
557
- overflow-wrap: break-word;
558
- word-break: keep-all;
559
- }
560
-
561
- // Mobile: strict can leave uneven rag or orphaned characters on narrow viewports.
562
- @media #{tokens.$bpk-breakpoint-query-small-tablet} {
563
- :lang(zh),
564
- :lang(ja),
565
- :lang(ko) {
566
- line-break: loose;
567
- }
568
- }
569
-
570
- // Arabic, Hebrew — overflow only; direction handled by existing html[dir] RTL system.
571
- :lang(ar),
572
- :lang(he) {
573
- overflow-wrap: break-word;
574
- }
575
-
576
- // Thai — no word spaces; ICU dictionary failure = no natural break points.
577
- // overflow-wrap: anywhere (not just break-word) because Thai strings have no
578
- // space characters to serve as natural break opportunities.
579
- :lang(th) {
580
- line-break: loose;
581
- overflow-wrap: anywhere;
582
- word-break: break-all;
583
- }
584
-
585
- // Hindi (Devanagari) — space-delimited, wraps like Latin.
586
- :lang(hi) {
587
- overflow-wrap: break-word;
588
- }
589
-
590
- // Russian, Ukrainian — Cyrillic wraps like Latin.
591
- // hyphens: auto works in Safari and Firefox; Chrome degrades silently to no hyphens.
592
- :lang(ru),
593
- :lang(uk) {
594
- hyphens: auto;
595
- overflow-wrap: break-word;
596
- }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyscanner/backpack-web",
3
- "version": "43.0.0-dev-v28150129018.1",
3
+ "version": "43.0.0-dev-v28222480725.1",
4
4
  "description": "Backpack Design System web library",
5
5
  "repository": {
6
6
  "type": "git",