@skyscanner/backpack-web 41.1.0 → 41.3.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.
- package/bpk-component-autosuggest/index.js +2 -2
- package/bpk-component-autosuggest/src/BpkAutosuggestV2/BpkAutosuggest.d.ts +13 -0
- package/bpk-component-autosuggest/src/BpkAutosuggestV2/BpkAutosuggest.js +3 -3
- package/bpk-component-bottom-sheet/src/BpkBottomSheet.js +3 -2
- package/bpk-component-button/src/BpkButtonV2/BpkButton.module.css +1 -1
- package/bpk-component-card-list/src/BpkCardList.js +2 -2
- package/bpk-component-card-list/src/BpkCardListGridStack/BpkCardListGridStack.js +2 -2
- package/bpk-component-card-list/src/BpkExpand/ExpandAccessoryContent.js +2 -2
- package/bpk-component-chip-group/src/Nudger.js +2 -2
- package/bpk-component-drawer/src/BpkDrawerContent.js +3 -2
- package/bpk-component-floating-notification/src/BpkFloatingNotification.js +2 -2
- package/bpk-component-graphic-promotion/src/BpkGraphicPromo.js +2 -2
- package/bpk-component-grid-toggle/src/BpkGridToggle.js +3 -2
- package/bpk-component-icon/lg/baggage-cabin-included-tick.js +14 -0
- package/bpk-component-icon/lg/baggage-cabin-not-included-cross.js +14 -0
- package/bpk-component-icon/lg/baggage-cabin-uncertain.js +14 -0
- package/bpk-component-icon/lg/baggage-checked-included-tick.js +14 -0
- package/bpk-component-icon/lg/baggage-checked-not-included-cross.js +14 -0
- package/bpk-component-icon/lg/baggage-checked-uncertain.js +14 -0
- package/bpk-component-icon/lg/vdl-cars.js +14 -0
- package/bpk-component-icon/lg/vdl-flight.js +14 -0
- package/bpk-component-icon/lg/vdl-home-beach.js +14 -0
- package/bpk-component-icon/lg/vdl-home-cars.js +14 -0
- package/bpk-component-icon/lg/vdl-home-flight.js +14 -0
- package/bpk-component-icon/lg/vdl-home-hotels.js +14 -0
- package/bpk-component-icon/lg/vdl-hotels.js +14 -0
- package/bpk-component-icon/lg/vdl-tab-drops-selected.js +16 -0
- package/bpk-component-icon/lg/vdl-tab-drops.js +16 -0
- package/bpk-component-icon/lg/vdl-tab-profile-selected.js +14 -0
- package/bpk-component-icon/lg/vdl-tab-profile.js +14 -0
- package/bpk-component-icon/lg/vdl-tab-saved-selected.js +17 -0
- package/bpk-component-icon/lg/vdl-tab-saved.js +17 -0
- package/bpk-component-icon/lg/vdl-tab-search-selected.js +14 -0
- package/bpk-component-icon/lg/vdl_tab-search.js +14 -0
- package/bpk-component-icon/lg/walk.js +14 -0
- package/bpk-component-icon/sm/baggage-cabin-included-tick.js +14 -0
- package/bpk-component-icon/sm/baggage-cabin-not-included-cross.js +14 -0
- package/bpk-component-icon/sm/baggage-cabin-uncertain.js +14 -0
- package/bpk-component-icon/sm/baggage-checked-included-tick.js +14 -0
- package/bpk-component-icon/sm/baggage-checked-not-included-cross.js +14 -0
- package/bpk-component-icon/sm/baggage-checked-uncertain.js +14 -0
- package/bpk-component-icon/sm/vdl-cars.js +14 -0
- package/bpk-component-icon/sm/vdl-flight.js +14 -0
- package/bpk-component-icon/sm/vdl-hotels.js +14 -0
- package/bpk-component-icon/sm/walk.js +14 -0
- package/bpk-component-link/index.d.ts +12 -3
- package/bpk-component-link/index.js +10 -1
- package/bpk-component-link/src/BpkButtonLink.d.ts +8 -0
- package/bpk-component-link/src/BpkButtonLink.js +10 -0
- package/bpk-component-link/src/BpkLink.d.ts +2 -15
- package/bpk-component-link/src/BpkLink.js +85 -40
- package/bpk-component-link/src/common-types.d.ts +44 -0
- package/bpk-component-link/src/common-types.js +1 -0
- package/bpk-component-loading-button/src/BpkLoadingButton.js +2 -2
- package/bpk-component-modal/src/BpkModalInner.js +3 -2
- package/bpk-component-navigation-bar/src/BpkNavigationBarButtonLink.d.ts +4 -5
- package/bpk-component-navigation-bar/src/BpkNavigationBarButtonLink.js +3 -2
- package/bpk-component-nudger/src/BpkNudger.js +3 -3
- package/bpk-component-page-indicator/src/NavButton.js +2 -2
- package/bpk-component-pagination/src/BpkPaginationNudger.js +2 -2
- package/bpk-component-popover/src/BpkPopover.js +7 -4
- package/bpk-component-price/src/BpkPrice.js +3 -0
- package/bpk-component-price/src/common-types.js +1 -0
- package/bpk-component-rtl-toggle/src/BpkRtlToggle.js +3 -2
- package/bpk-component-snippet/src/BpkSnippet.js +2 -2
- package/package.json +3 -3
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
const VdlTabSavedIcon = props => /*#__PURE__*/_jsx("svg", {
|
|
4
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
+
viewBox: "0 0 24 24",
|
|
6
|
+
"aria-hidden": "true",
|
|
7
|
+
width: "1.5rem",
|
|
8
|
+
height: "1.5rem",
|
|
9
|
+
...props,
|
|
10
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
11
|
+
stroke: "#161616",
|
|
12
|
+
strokeLinejoin: "round",
|
|
13
|
+
strokeWidth: 1.6,
|
|
14
|
+
d: "M12 20.495s-9.62-6.26-9.62-12.02a4.88 4.88 0 0 1 1.44-3.53A4.925 4.925 0 0 1 12 6.965a4.925 4.925 0 0 1 8.18-2.02c.98.98 1.46 2.25 1.44 3.53 0 5.76-9.62 12.02-9.62 12.02Z"
|
|
15
|
+
})
|
|
16
|
+
});
|
|
17
|
+
export default VdlTabSavedIcon;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
const VdlTabSearchSelectedIcon = props => /*#__PURE__*/_jsx("svg", {
|
|
4
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
+
viewBox: "0 0 24 24",
|
|
6
|
+
"aria-hidden": "true",
|
|
7
|
+
width: "1.5rem",
|
|
8
|
+
height: "1.5rem",
|
|
9
|
+
...props,
|
|
10
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
11
|
+
d: "M10.5 1.5a9 9 0 0 1 7.334 14.213l4.227 4.227a1.5 1.5 0 1 1-2.122 2.12l-4.226-4.226A9 9 0 1 1 10.5 1.5m0 3a6 6 0 1 0 0 12 6 6 0 0 0 0-12"
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
export default VdlTabSearchSelectedIcon;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
const VdlTabSearchIcon = props => /*#__PURE__*/_jsx("svg", {
|
|
4
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
+
viewBox: "0 0 24 24",
|
|
6
|
+
"aria-hidden": "true",
|
|
7
|
+
width: "1.5rem",
|
|
8
|
+
height: "1.5rem",
|
|
9
|
+
...props,
|
|
10
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
11
|
+
d: "M10.5 2.2a8.3 8.3 0 0 1 6.406 13.575l4.66 4.66a.8.8 0 1 1-1.131 1.13l-4.66-4.659A8.3 8.3 0 1 1 10.5 2.2m0 1.6a6.7 6.7 0 1 0 0 13.4 6.7 6.7 0 0 0 0-13.4"
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
export default VdlTabSearchIcon;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
const WalkIcon = props => /*#__PURE__*/_jsx("svg", {
|
|
4
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
+
viewBox: "0 0 24 24",
|
|
6
|
+
"aria-hidden": "true",
|
|
7
|
+
width: "1.5rem",
|
|
8
|
+
height: "1.5rem",
|
|
9
|
+
...props,
|
|
10
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
11
|
+
d: "M14.247 4.5a2.25 2.25 0 1 0 0-4.501 2.25 2.25 0 0 0 0 4.5m4.43 6.987-1.093-.553-.454-1.378c-.69-2.09-2.61-3.552-4.79-3.557-1.687-.005-2.62.473-4.373 1.181a4.47 4.47 0 0 0-2.33 2.166l-.313.637c-.366.74-.07 1.64.665 2.01a1.48 1.48 0 0 0 1.992-.67l.314-.637a1.5 1.5 0 0 1 .773-.722l1.257-.506-.713 2.845a3.01 3.01 0 0 0 .698 2.756l2.808 3.065c.337.37.576.815.698 1.298l.858 3.436a1.5 1.5 0 0 0 1.818 1.092 1.5 1.5 0 0 0 1.092-1.819l-1.04-4.171a3 3 0 0 0-.698-1.298l-2.133-2.33.806-3.22.258.774a3 3 0 0 0 1.486 1.734l1.092.553a1.48 1.48 0 0 0 1.992-.67 1.517 1.517 0 0 0-.67-2.016m-10.73 6.596a2.9 2.9 0 0 1-.665 1.007l-2.344 2.349a1.5 1.5 0 0 0 0 2.123 1.496 1.496 0 0 0 2.119 0l2.784-2.784c.286-.286.51-.628.665-1.008l.633-1.584c-2.592-2.826-1.814-1.96-2.222-2.517z"
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
export default WalkIcon;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
const BaggageCabinIncludedTickIcon = props => /*#__PURE__*/_jsx("svg", {
|
|
4
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
+
viewBox: "0 0 24 24",
|
|
6
|
+
"aria-hidden": "true",
|
|
7
|
+
width: "1rem",
|
|
8
|
+
height: "1rem",
|
|
9
|
+
...props,
|
|
10
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
11
|
+
d: "M7.5 4A1.5 1.5 0 0 1 9 5.5V12h.5a1.5 1.5 0 0 1 1.5 1.5v4A1.5 1.5 0 0 1 9.5 19v.25a.75.75 0 0 1-1.5 0V19H5v.25a.75.75 0 0 1-1.5 0V19A1.5 1.5 0 0 1 2 17.5v-4A1.5 1.5 0 0 1 3.5 12H4V5.498A1.5 1.5 0 0 1 5.5 4zM5.25 5.5a.25.25 0 0 0-.25.25V12h3V5.75a.25.25 0 0 0-.25-.25zm17.54 6.36a.714.714 0 0 1 0 1.01l-5.892 5.892a.714.714 0 0 1-1.01 0l-2.679-2.678a.714.714 0 0 1 1.01-1.01l2.174 2.173 5.388-5.388a.714.714 0 0 1 1.01 0"
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
export default BaggageCabinIncludedTickIcon;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
const BaggageCabinNotIncludedCrossIcon = props => /*#__PURE__*/_jsx("svg", {
|
|
4
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
+
viewBox: "0 0 24 24",
|
|
6
|
+
"aria-hidden": "true",
|
|
7
|
+
width: "1rem",
|
|
8
|
+
height: "1rem",
|
|
9
|
+
...props,
|
|
10
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
11
|
+
d: "M7.5 4h-2A1.5 1.5 0 0 0 4 5.498V12h-.5A1.5 1.5 0 0 0 2 13.5v4A1.5 1.5 0 0 0 3.5 19v.25a.75.75 0 0 0 1.5 0V19h3v.25a.75.75 0 0 0 1.5 0V19a1.5 1.5 0 0 0 1.5-1.5v-4A1.5 1.5 0 0 0 9.5 12H9V5.5A1.5 1.5 0 0 0 7.5 4M5.25 5.5h2.5a.25.25 0 0 1 .25.25V12H5V5.75a.25.25 0 0 1 .25-.25m15.552 5.97a.72.72 0 0 1 1.034 0 .764.764 0 0 1 0 1.06l-2.652 2.72 2.652 2.72a.764.764 0 0 1 0 1.06.72.72 0 0 1-1.034 0l-2.653-2.72-2.651 2.72a.72.72 0 0 1-1.034 0 .764.764 0 0 1 0-1.06l2.651-2.72-2.651-2.72a.764.764 0 0 1 0-1.06.72.72 0 0 1 1.034 0l2.651 2.718z"
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
export default BaggageCabinNotIncludedCrossIcon;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
const BaggageCabinUncertainIcon = props => /*#__PURE__*/_jsx("svg", {
|
|
4
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
+
viewBox: "0 0 24 24",
|
|
6
|
+
"aria-hidden": "true",
|
|
7
|
+
width: "1rem",
|
|
8
|
+
height: "1rem",
|
|
9
|
+
...props,
|
|
10
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
11
|
+
d: "M7.5 4A1.5 1.5 0 0 1 9 5.5V12h.5a1.5 1.5 0 0 1 1.5 1.5v4A1.5 1.5 0 0 1 9.5 19v.25a.75.75 0 0 1-1.5 0V19H5v.25a.75.75 0 0 1-1.5 0V19A1.5 1.5 0 0 1 2 17.5v-4A1.5 1.5 0 0 1 3.5 12H4V5.498A1.5 1.5 0 0 1 5.5 4zM5.25 5.5a.25.25 0 0 0-.25.25V12h3V5.75a.25.25 0 0 0-.25-.25zm12.512 12.06a.776.776 0 1 1 0 1.552.776.776 0 0 1 0-1.551m0-8.931c1.122 0 1.968.383 2.526.997.542.596.75 1.34.75 1.967 0 .552-.093 1.16-.408 1.738-.32.586-.837 1.082-1.584 1.455a1 1 0 0 0-.354.27.7.7 0 0 0-.128.285c-.046.194-.042.37-.034.614q.006.145.007.325a.776.776 0 0 1-1.55 0q0-.057-.005-.156c-.01-.265-.027-.72.072-1.139.143-.607.517-1.195 1.299-1.586.502-.25.766-.537.916-.81.153-.281.217-.611.217-.996 0-.31-.105-.66-.344-.924-.223-.245-.628-.488-1.38-.488s-1.14.24-1.358.502c-.238.286-.367.713-.367 1.222a.776.776 0 0 1-1.55 0c0-.74.183-1.563.726-2.215.564-.676 1.425-1.06 2.549-1.06"
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
export default BaggageCabinUncertainIcon;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
const BaggageCheckedIncludedTickIcon = props => /*#__PURE__*/_jsx("svg", {
|
|
4
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
+
viewBox: "0 0 24 24",
|
|
6
|
+
"aria-hidden": "true",
|
|
7
|
+
width: "1rem",
|
|
8
|
+
height: "1rem",
|
|
9
|
+
...props,
|
|
10
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
11
|
+
d: "M7.5 4A1.5 1.5 0 0 1 9 5.5V8h.5A1.5 1.5 0 0 1 11 9.5v8A1.5 1.5 0 0 1 9.5 19v.25a.75.75 0 0 1-1.5 0V19H5v.25a.75.75 0 0 1-1.5 0V19A1.5 1.5 0 0 1 2 17.5v-8A1.5 1.5 0 0 1 3.5 8H4V5.498A1.5 1.5 0 0 1 5.5 4zM5.25 5.5a.25.25 0 0 0-.25.25V8h3V5.75a.25.25 0 0 0-.25-.25zm17.55 6.36a.714.714 0 0 1 0 1.01l-5.892 5.892a.714.714 0 0 1-1.01 0l-2.679-2.678a.714.714 0 1 1 1.01-1.01l2.174 2.173 5.388-5.388a.714.714 0 0 1 1.01 0"
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
export default BaggageCheckedIncludedTickIcon;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
const BaggageCheckedNotIncludedCrossIcon = props => /*#__PURE__*/_jsx("svg", {
|
|
4
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
+
viewBox: "0 0 24 24",
|
|
6
|
+
"aria-hidden": "true",
|
|
7
|
+
width: "1rem",
|
|
8
|
+
height: "1rem",
|
|
9
|
+
...props,
|
|
10
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
11
|
+
d: "M7.5 4A1.5 1.5 0 0 1 9 5.5V8h.5A1.5 1.5 0 0 1 11 9.5v8A1.5 1.5 0 0 1 9.5 19v.25a.75.75 0 0 1-1.5 0V19H5v.25a.75.75 0 0 1-1.5 0V19A1.5 1.5 0 0 1 2 17.5v-8A1.5 1.5 0 0 1 3.5 8H4V5.498A1.5 1.5 0 0 1 5.5 4zM5.25 5.5a.25.25 0 0 0-.25.25V8h3V5.75a.25.25 0 0 0-.25-.25zm15.55 5.97a.72.72 0 0 1 1.035 0 .764.764 0 0 1 0 1.06l-2.652 2.72 2.652 2.72a.764.764 0 0 1 0 1.06.72.72 0 0 1-1.034 0l-2.653-2.72-2.65 2.72a.72.72 0 0 1-1.034 0 .764.764 0 0 1 0-1.06l2.651-2.72-2.651-2.72a.764.764 0 0 1 0-1.06.72.72 0 0 1 1.033 0l2.651 2.72z"
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
export default BaggageCheckedNotIncludedCrossIcon;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
const BaggageCheckedUncertainIcon = props => /*#__PURE__*/_jsx("svg", {
|
|
4
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
+
viewBox: "0 0 24 24",
|
|
6
|
+
"aria-hidden": "true",
|
|
7
|
+
width: "1rem",
|
|
8
|
+
height: "1rem",
|
|
9
|
+
...props,
|
|
10
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
11
|
+
d: "M7.5 4A1.5 1.5 0 0 1 9 5.5V8h.5A1.5 1.5 0 0 1 11 9.5v8A1.5 1.5 0 0 1 9.5 19v.25a.75.75 0 0 1-1.5 0V19H5v.25a.75.75 0 0 1-1.5 0V19A1.5 1.5 0 0 1 2 17.5v-8A1.5 1.5 0 0 1 3.5 8H4V5.498A1.5 1.5 0 0 1 5.5 4zM5.25 5.5a.25.25 0 0 0-.25.25V8h3V5.75a.25.25 0 0 0-.25-.25zm12.512 12.06a.776.776 0 1 1 0 1.552.776.776 0 0 1 0-1.551m0-8.931c1.122 0 1.968.383 2.526.997.542.596.75 1.34.75 1.967 0 .552-.093 1.16-.408 1.738-.32.586-.837 1.082-1.584 1.455a1 1 0 0 0-.354.27.7.7 0 0 0-.128.285c-.046.194-.042.37-.034.614q.006.145.007.325a.776.776 0 0 1-1.55 0q0-.057-.005-.156c-.01-.265-.027-.72.072-1.139.143-.607.517-1.195 1.299-1.586.502-.25.766-.537.916-.81.153-.281.217-.611.217-.996 0-.31-.105-.66-.344-.924-.223-.245-.628-.488-1.38-.488s-1.14.24-1.358.502c-.238.286-.367.713-.367 1.222a.776.776 0 0 1-1.55 0c0-.74.183-1.563.726-2.215.564-.676 1.425-1.06 2.549-1.06"
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
export default BaggageCheckedUncertainIcon;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
const VdlCarsIcon = props => /*#__PURE__*/_jsx("svg", {
|
|
4
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
+
viewBox: "0 0 24 24",
|
|
6
|
+
"aria-hidden": "true",
|
|
7
|
+
width: "1rem",
|
|
8
|
+
height: "1rem",
|
|
9
|
+
...props,
|
|
10
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
11
|
+
d: "M9.312 7.924c1.348 0 2.612.725 3.542 1.455.334.262.139.8-.286.8H5.246c-.401 0-.612-.497-.317-.77.842-.774 2.21-1.485 4.383-1.485m14.667 4.264v2.92c0 1.313-.883 2.402-2.04 2.626a3.23 3.23 0 0 1-3.183 2.739 3.23 3.23 0 0 1-3.179-2.691H8.435a3.23 3.23 0 0 1-3.18 2.69 3.23 3.23 0 0 1-3.183-2.738C.92 17.508.041 16.425.041 15.122V9.28c0-.17.044-.336.128-.484.827-1.448 3.38-4.817 9.2-4.817 4.142 0 7.443 3.34 8.356 4.362.785.148 2.716.57 4.727 1.466a2.6 2.6 0 0 1 1.527 2.381M6.539 17.24c0-.707-.576-1.284-1.283-1.284-.708 0-1.284.577-1.284 1.284s.576 1.284 1.284 1.284c.707 0 1.284-.576 1.284-1.284m13.5 0c0-.707-.576-1.284-1.283-1.284-.708 0-1.284.577-1.284 1.284s.576 1.284 1.284 1.284c.707 0 1.284-.576 1.284-1.284m1.99-5.05a.65.65 0 0 0-.37-.6c-2.31-1.029-4.57-1.38-4.591-1.384a.98.98 0 0 1-.612-.35c-.031-.04-3.24-3.926-7.086-3.926-4.402 0-6.483 2.175-7.38 3.619v5.574c0 .32.17.586.389.672a3.23 3.23 0 0 1 2.877-1.789c1.277 0 2.373.75 2.898 1.827h7.704a3.23 3.23 0 0 1 2.898-1.827c1.262 0 2.345.733 2.878 1.79.222-.084.395-.358.395-.687z"
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
export default VdlCarsIcon;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
const VdlFlightIcon = props => /*#__PURE__*/_jsx("svg", {
|
|
4
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
+
viewBox: "0 0 24 24",
|
|
6
|
+
"aria-hidden": "true",
|
|
7
|
+
width: "1rem",
|
|
8
|
+
height: "1rem",
|
|
9
|
+
...props,
|
|
10
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
11
|
+
d: "M23.808 4.846c-.285-.8-1.042-1.363-2.077-1.543-1.68-.296-3.29.097-4.937 1.198l-3.26 2.197-.012-.019-.274.185-7.212-3.07a2.29 2.29 0 0 0-2.837.998 2.29 2.29 0 0 0 .473 2.834l3.635 3.269-1.477.994-2.03-.52a2.6 2.6 0 0 0-2.101.361l-1.194.805a.975.975 0 0 0-.037 1.59l3.866 2.88a1 1 0 0 0 .102.068 4.26 4.26 0 0 0 3.307.367c1.035-.313 2.053-.77 3.139-1.414l1.63 4.677a2.37 2.37 0 0 0 2.534 1.567 2.374 2.374 0 0 0 2.065-2.337v-8.04l3.107-2.116c1.52-1.023 2.188-1.583 2.98-2.498.665-.766.887-1.653.61-2.433M4.966 6.168a.34.34 0 0 1-.068-.42c.082-.144.26-.207.393-.152l6.03 2.567-2.365 1.593zM21.726 6c-.63.726-1.117 1.162-2.601 2.162l-3.538 2.408a.97.97 0 0 0-.426.806v8.551a.418.418 0 0 1-.808.134l-2.034-5.838a.974.974 0 0 0-1.466-.488c-1.334.9-2.501 1.483-3.674 1.837a2.3 2.3 0 0 1-1.734-.17l-2.71-2.02.053-.035a.66.66 0 0 1 .526-.091l2.455.63c.27.07.557.02.788-.136l2.875-1.937c.028-.019.042-.05.067-.072l4.339-2.924c.027-.015.059-.013.085-.03L17.88 6.12c1.224-.816 2.337-1.1 3.514-.897.37.065.55.204.576.277.02.06-.027.25-.246.501"
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
export default VdlFlightIcon;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
const VdlHotelsIcon = props => /*#__PURE__*/_jsx("svg", {
|
|
4
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
+
viewBox: "0 0 24 24",
|
|
6
|
+
"aria-hidden": "true",
|
|
7
|
+
width: "1rem",
|
|
8
|
+
height: "1rem",
|
|
9
|
+
...props,
|
|
10
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
11
|
+
d: "M21.674 12.664V5.492a.97.97 0 0 0-.557-.881C17.583 2.99 14.207 2.65 12 2.65c-4 0-7.16 1.064-9.108 1.957a.97.97 0 0 0-.567.885v7.172a2.5 2.5 0 0 0-1.8 2.395v7.466c0 .249.201.45.45.45h1.05a.45.45 0 0 0 .45-.45v-2.05h19.05v2.05c0 .249.201.45.45.45h1.05a.45.45 0 0 0 .45-.45V15.06a2.5 2.5 0 0 0-1.8-2.395M4.274 6.13A20.1 20.1 0 0 1 12 4.599c1.892 0 4.723.274 7.725 1.53v6.421H4.275zm-1.8 8.93a.56.56 0 0 1 .56-.56h17.932a.56.56 0 0 1 .559.56v3.466H2.475zm7.88-6.46v.8a.455.455 0 0 1-.382.45c-1.147.17-2.298.17-3.444 0a.455.455 0 0 1-.383-.45v-.8c0-.223.162-.418.383-.45 1.146-.17 2.297-.17 3.444 0 .22.032.383.227.383.45m7.5 0v.8a.455.455 0 0 1-.382.45c-1.147.17-2.298.17-3.444 0a.455.455 0 0 1-.383-.45v-.8c0-.223.162-.418.383-.45 1.146-.17 2.297-.17 3.444 0 .22.032.383.227.383.45"
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
export default VdlHotelsIcon;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
const WalkIcon = props => /*#__PURE__*/_jsx("svg", {
|
|
4
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
5
|
+
viewBox: "0 0 24 24",
|
|
6
|
+
"aria-hidden": "true",
|
|
7
|
+
width: "1rem",
|
|
8
|
+
height: "1rem",
|
|
9
|
+
...props,
|
|
10
|
+
children: /*#__PURE__*/_jsx("path", {
|
|
11
|
+
d: "M14.247 4.5a2.25 2.25 0 1 0 0-4.501 2.25 2.25 0 0 0 0 4.5m4.43 6.987-1.093-.553-.454-1.378c-.69-2.09-2.61-3.552-4.79-3.557-1.687-.005-2.62.473-4.373 1.181a4.47 4.47 0 0 0-2.33 2.166l-.313.637c-.366.74-.07 1.64.665 2.01a1.48 1.48 0 0 0 1.992-.67l.314-.637a1.5 1.5 0 0 1 .773-.722l1.257-.506-.713 2.845a3.01 3.01 0 0 0 .698 2.756l2.808 3.065c.337.37.576.815.698 1.298l.858 3.436a1.5 1.5 0 0 0 1.818 1.092 1.5 1.5 0 0 0 1.092-1.819l-1.04-4.171a3 3 0 0 0-.698-1.298l-2.133-2.33.806-3.22.258.774a3 3 0 0 0 1.486 1.734l1.092.553a1.48 1.48 0 0 0 1.992-.67 1.517 1.517 0 0 0-.67-2.016m-10.73 6.596a2.9 2.9 0 0 1-.665 1.007l-2.344 2.349a1.5 1.5 0 0 0 0 2.123 1.496 1.496 0 0 0 2.119 0l2.784-2.784c.286-.286.51-.628.665-1.008l.633-1.584c-2.592-2.826-1.814-1.96-2.222-2.517z"
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
export default WalkIcon;
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import BpkButtonLink, { type Props as BpkButtonLinkProps } from './src/BpkButtonLink';
|
|
2
|
-
import BpkLink
|
|
2
|
+
import BpkLink from './src/BpkLink';
|
|
3
3
|
import themeAttributes, { linkAlternateThemeAttributes } from './src/themeAttributes';
|
|
4
|
-
|
|
4
|
+
import type { BpkLinkProps } from './src/common-types';
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated Use BpkLinkProps for polymorphic usage
|
|
7
|
+
*/
|
|
8
|
+
export type { BpkButtonLinkProps };
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated Use `<BpkLink as="button" />` instead.
|
|
11
|
+
*/
|
|
12
|
+
export { BpkButtonLink };
|
|
13
|
+
export type { BpkLinkProps };
|
|
5
14
|
export default BpkLink;
|
|
6
|
-
export {
|
|
15
|
+
export { themeAttributes, linkAlternateThemeAttributes };
|
|
@@ -19,5 +19,14 @@
|
|
|
19
19
|
import BpkButtonLink from "./src/BpkButtonLink";
|
|
20
20
|
import BpkLink from "./src/BpkLink";
|
|
21
21
|
import themeAttributes, { linkAlternateThemeAttributes } from "./src/themeAttributes";
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated Use BpkLinkProps for polymorphic usage
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* @deprecated Use `<BpkLink as="button" />` instead.
|
|
29
|
+
*/
|
|
30
|
+
export { BpkButtonLink };
|
|
22
31
|
export default BpkLink;
|
|
23
|
-
export {
|
|
32
|
+
export { themeAttributes, linkAlternateThemeAttributes };
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { ReactNode, MouseEvent, ButtonHTMLAttributes } from 'react';
|
|
2
2
|
import themeAttributes from './themeAttributes';
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Use `BpkLinkProps<'button'>` instead.
|
|
5
|
+
*/
|
|
3
6
|
export interface Props extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'className' | 'onClick'> {
|
|
4
7
|
/** The content of the link. */
|
|
5
8
|
children: ReactNode;
|
|
@@ -8,6 +11,11 @@ export interface Props extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'cl
|
|
|
8
11
|
alternate?: boolean;
|
|
9
12
|
implicit?: boolean;
|
|
10
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* @deprecated Use `<BpkLink as="button" />` instead.
|
|
16
|
+
* BpkButtonLink is maintained for backwards compatibility but will be removed in a future major version.
|
|
17
|
+
* @returns {JSX.Element} A button styled as a link.
|
|
18
|
+
*/
|
|
11
19
|
declare const BpkButtonLink: ({ alternate, children, className, implicit, onClick, ...rest }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
12
20
|
export { themeAttributes };
|
|
13
21
|
export default BpkButtonLink;
|
|
@@ -21,6 +21,16 @@ import themeAttributes from "./themeAttributes";
|
|
|
21
21
|
import STYLES from "./BpkLink.module.css";
|
|
22
22
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
23
23
|
const getClassName = cssModules(STYLES);
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @deprecated Use `BpkLinkProps<'button'>` instead.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated Use `<BpkLink as="button" />` instead.
|
|
31
|
+
* BpkButtonLink is maintained for backwards compatibility but will be removed in a future major version.
|
|
32
|
+
* @returns {JSX.Element} A button styled as a link.
|
|
33
|
+
*/
|
|
24
34
|
const BpkButtonLink = ({
|
|
25
35
|
alternate = false,
|
|
26
36
|
children,
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
export interface Props extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href' | 'className' | 'rel'> {
|
|
4
|
-
/** The content of the link. */
|
|
5
|
-
children: ReactNode;
|
|
6
|
-
href: string | null;
|
|
7
|
-
className?: string | null;
|
|
8
|
-
onClick?: (event: MouseEvent<HTMLAnchorElement>) => void;
|
|
9
|
-
blank?: boolean;
|
|
10
|
-
rel?: string | null;
|
|
11
|
-
alternate?: boolean;
|
|
12
|
-
implicit?: boolean;
|
|
13
|
-
}
|
|
14
|
-
declare const BpkLink: import("react").ForwardRefExoticComponent<Props & import("react").RefAttributes<HTMLAnchorElement>>;
|
|
1
|
+
import type { PolymorphicComponent } from './common-types';
|
|
2
|
+
declare const BpkLink: PolymorphicComponent;
|
|
15
3
|
export default BpkLink;
|
|
16
|
-
export { themeAttributes, linkAlternateThemeAttributes };
|
|
@@ -18,54 +18,99 @@
|
|
|
18
18
|
|
|
19
19
|
import { forwardRef } from 'react';
|
|
20
20
|
import { cssModules } from "../../bpk-react-utils";
|
|
21
|
-
import themeAttributes, { linkAlternateThemeAttributes } from "./themeAttributes";
|
|
22
21
|
import STYLES from "./BpkLink.module.css";
|
|
23
22
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
24
23
|
const getClassName = cssModules(STYLES);
|
|
25
|
-
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Processes anchor-specific props and returns the transformed props.
|
|
27
|
+
* Handles href, blank (target="_blank"), and rel attributes.
|
|
28
|
+
* @param {Object} props - The props to process.
|
|
29
|
+
* @returns {Object} The transformed anchor props.
|
|
30
|
+
*/
|
|
31
|
+
const processAnchorProps = props => {
|
|
32
|
+
const {
|
|
33
|
+
blank,
|
|
34
|
+
href,
|
|
35
|
+
rel,
|
|
36
|
+
...otherProps
|
|
37
|
+
} = props;
|
|
38
|
+
return {
|
|
39
|
+
...otherProps,
|
|
40
|
+
href: href ?? undefined,
|
|
41
|
+
...(blank ? {
|
|
42
|
+
target: '_blank',
|
|
43
|
+
rel: rel || 'noopener noreferrer'
|
|
44
|
+
} : {}),
|
|
45
|
+
...(!blank && rel ? {
|
|
46
|
+
rel
|
|
47
|
+
} : {})
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Processes button-specific props and returns the transformed props.
|
|
53
|
+
* Ensures button has type="button" by default to prevent form submission.
|
|
54
|
+
* @param {Object} props - The props to process.
|
|
55
|
+
* @returns {Object} The transformed button props.
|
|
56
|
+
*/
|
|
57
|
+
const processButtonProps = props => ({
|
|
58
|
+
type: 'button',
|
|
59
|
+
...props // Allow override if explicitly provided
|
|
60
|
+
});
|
|
61
|
+
const getClassNames = (alternate, implicit, className) => {
|
|
62
|
+
const classNames = [getClassName('bpk-link'), className, implicit && getClassName('bpk-link--implicit'), alternate && getClassName('bpk-link--alternate')].filter(Boolean);
|
|
63
|
+
|
|
64
|
+
// Lookup table for underlined modifier based on implicit/alternate combination
|
|
65
|
+
const underlinedModifierMap = {
|
|
66
|
+
'true-true': 'bpk-link-underlined-implicit--alternate',
|
|
67
|
+
'true-false': 'bpk-link-underlined--implicit',
|
|
68
|
+
'false-true': 'bpk-link-underlined--alternate'
|
|
69
|
+
};
|
|
70
|
+
const underlinedModifier = underlinedModifierMap[`${implicit}-${alternate}`] || null;
|
|
71
|
+
const underlinedClassNames = [getClassName('bpk-link-underlined'), underlinedModifier && getClassName(underlinedModifier)].filter(Boolean);
|
|
72
|
+
return {
|
|
73
|
+
linkClassName: classNames.join(' '),
|
|
74
|
+
underlinedClassName: underlinedClassNames.join(' ')
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
const BpkLinkInner = ({
|
|
26
78
|
alternate = false,
|
|
27
|
-
|
|
79
|
+
as: Element = 'a',
|
|
28
80
|
children,
|
|
29
81
|
className = null,
|
|
30
|
-
href,
|
|
31
82
|
implicit = false,
|
|
32
|
-
onClick = () => {},
|
|
33
|
-
rel: propRel = null,
|
|
34
83
|
...rest
|
|
35
84
|
}, ref) => {
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
if (implicit && !alternate) {
|
|
50
|
-
underlinedClassNames.push(getClassName('bpk-link-underlined--implicit'));
|
|
51
|
-
} else if (alternate && !implicit) {
|
|
52
|
-
underlinedClassNames.push(getClassName('bpk-link-underlined--alternate'));
|
|
53
|
-
} else if (implicit && alternate) {
|
|
54
|
-
underlinedClassNames.push(getClassName('bpk-link-underlined-implicit--alternate'));
|
|
85
|
+
const {
|
|
86
|
+
linkClassName,
|
|
87
|
+
underlinedClassName
|
|
88
|
+
} = getClassNames(alternate, implicit, className);
|
|
89
|
+
|
|
90
|
+
// Process element-specific props based on the rendered element type
|
|
91
|
+
const baseProps = rest;
|
|
92
|
+
let elementProps = baseProps;
|
|
93
|
+
if (Element === 'a') {
|
|
94
|
+
elementProps = processAnchorProps(baseProps);
|
|
95
|
+
} else if (Element === 'button') {
|
|
96
|
+
elementProps = processButtonProps(baseProps);
|
|
55
97
|
}
|
|
56
|
-
return
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
98
|
+
return (
|
|
99
|
+
/*#__PURE__*/
|
|
100
|
+
// Allowed: className and ref are passed to the underlying DOM element
|
|
101
|
+
// eslint-disable-next-line @skyscanner/rules/forbid-component-props
|
|
102
|
+
_jsx(Element, {
|
|
103
|
+
className: linkClassName,
|
|
104
|
+
ref: ref,
|
|
105
|
+
...elementProps,
|
|
106
|
+
children: /*#__PURE__*/_jsx("span", {
|
|
107
|
+
className: underlinedClassName,
|
|
108
|
+
children: children
|
|
109
|
+
})
|
|
67
110
|
})
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
111
|
+
);
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
// A polymorphic link component that can render as different HTML elements.
|
|
115
|
+
const BpkLink = /*#__PURE__*/forwardRef(BpkLinkInner);
|
|
116
|
+
export default BpkLink;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { ComponentPropsWithoutRef, ElementType, ReactNode, Ref } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Polymorphic component types following Chakra UI pattern.
|
|
4
|
+
* Allows BpkLink to be rendered as different HTML elements while
|
|
5
|
+
* preserving proper type inference for element-specific props.
|
|
6
|
+
*/
|
|
7
|
+
/** Supported element types for BpkLink */
|
|
8
|
+
export type LinkAs = 'a' | 'button' | 'span' | 'div';
|
|
9
|
+
/** Base props that are common to all BpkLink variants */
|
|
10
|
+
export type BpkLinkBaseProps = {
|
|
11
|
+
/** The content of the link. */
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
/** Additional CSS class(es) to apply. */
|
|
14
|
+
className?: string | null;
|
|
15
|
+
/** Use alternate (light) styling for dark backgrounds. */
|
|
16
|
+
alternate?: boolean;
|
|
17
|
+
/** Use implicit styling (no underline until hover). */
|
|
18
|
+
implicit?: boolean;
|
|
19
|
+
};
|
|
20
|
+
/** Props specific to anchor elements */
|
|
21
|
+
export type AnchorOnlyProps = {
|
|
22
|
+
/** The URL the link points to. */
|
|
23
|
+
href: string | null;
|
|
24
|
+
/** Opens link in a new tab/window. */
|
|
25
|
+
blank?: boolean;
|
|
26
|
+
/** The relationship between linked and current document. */
|
|
27
|
+
rel?: string | null;
|
|
28
|
+
};
|
|
29
|
+
/** Props for the `as` prop */
|
|
30
|
+
type AsProps<E extends ElementType> = {
|
|
31
|
+
/** The element type to render as. Defaults to 'a'. */
|
|
32
|
+
as?: E;
|
|
33
|
+
};
|
|
34
|
+
/** Polymorphic props type that merges base props with element-specific props */
|
|
35
|
+
type PolymorphicProps<E extends ElementType> = BpkLinkBaseProps & AsProps<E> & Omit<ComponentPropsWithoutRef<E>, keyof BpkLinkBaseProps | 'as'>;
|
|
36
|
+
/** Full props type with conditional anchor-specific props */
|
|
37
|
+
export type BpkLinkProps<E extends ElementType = 'a'> = E extends 'a' ? Omit<PolymorphicProps<E>, 'href' | 'rel'> & AnchorOnlyProps : PolymorphicProps<E>;
|
|
38
|
+
/** Polymorphic ref type mapping element types to their ref types */
|
|
39
|
+
export type PolymorphicRef<E extends LinkAs> = E extends 'a' ? Ref<HTMLAnchorElement> : E extends 'button' ? Ref<HTMLButtonElement> : E extends 'span' ? Ref<HTMLSpanElement> : E extends 'div' ? Ref<HTMLDivElement> : never;
|
|
40
|
+
/** Polymorphic component type for BpkLink */
|
|
41
|
+
export type PolymorphicComponent = <E extends LinkAs = 'a'>(props: BpkLinkProps<E> & {
|
|
42
|
+
ref?: PolymorphicRef<E>;
|
|
43
|
+
}) => JSX.Element | null;
|
|
44
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
import { BUTTON_TYPES,
|
|
19
|
+
import BpkButton, { BUTTON_TYPES, SIZE_TYPES } from "../../bpk-component-button";
|
|
20
20
|
import { withButtonAlignment, withLargeButtonAlignment, withRtlSupport } from "../../bpk-component-icon";
|
|
21
21
|
import ArrowIconLg from "../../bpk-component-icon/lg/long-arrow-right";
|
|
22
22
|
import ArrowIconSm from "../../bpk-component-icon/sm/long-arrow-right";
|
|
@@ -108,7 +108,7 @@ const BpkLoadingButton = props => {
|
|
|
108
108
|
if (primaryOnDark) {
|
|
109
109
|
type = BUTTON_TYPES.primaryOnDark;
|
|
110
110
|
}
|
|
111
|
-
return /*#__PURE__*/_jsx(
|
|
111
|
+
return /*#__PURE__*/_jsx(BpkButton, {
|
|
112
112
|
iconOnly: iconOnly,
|
|
113
113
|
disabled: showBtnDisabled,
|
|
114
114
|
size: large ? SIZE_TYPES.large : SIZE_TYPES.small,
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
// @ts-expect-error Untyped import. See `decisions/imports-ts-suppressions.md`.
|
|
20
20
|
import BpkCloseButton from "../../bpk-component-close-button";
|
|
21
|
-
import
|
|
21
|
+
import BpkLink from "../../bpk-component-link";
|
|
22
22
|
import BpkNavigationBar, { BAR_STYLES } from "../../bpk-component-navigation-bar";
|
|
23
23
|
import { TransitionInitialMount, cssModules } from "../../bpk-react-utils";
|
|
24
24
|
import STYLES from "./BpkModalInner.module.css";
|
|
@@ -98,7 +98,8 @@ const BpkModalInner = ({
|
|
|
98
98
|
children: title
|
|
99
99
|
}),
|
|
100
100
|
leadingButton: accessoryViewFinal,
|
|
101
|
-
trailingButton: closeText ? /*#__PURE__*/_jsx(
|
|
101
|
+
trailingButton: closeText ? /*#__PURE__*/_jsx(BpkLink, {
|
|
102
|
+
as: "button",
|
|
102
103
|
onClick: onClose,
|
|
103
104
|
alternate: modalStyle === MODAL_STYLING.surfaceContrast,
|
|
104
105
|
children: closeText
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { BpkButtonLink } from '../../bpk-component-link';
|
|
1
|
+
import { type BpkLinkProps } from '../../bpk-component-link';
|
|
3
2
|
import { type BarStyle } from './BpkNavigationBar';
|
|
4
|
-
export interface Props extends
|
|
5
|
-
|
|
6
|
-
onClick: (event: MouseEvent<HTMLElement>) => void;
|
|
3
|
+
export interface Props extends Omit<BpkLinkProps<'button'>, 'as'> {
|
|
4
|
+
/** Additional CSS class(es) to apply to the wrapper span. */
|
|
7
5
|
className?: string;
|
|
6
|
+
/** The bar style to determine link color variant. */
|
|
8
7
|
barStyle?: BarStyle;
|
|
9
8
|
[rest: string]: any;
|
|
10
9
|
}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
import
|
|
19
|
+
import BpkLink from "../../bpk-component-link";
|
|
20
20
|
import { BAR_STYLES } from "./BpkNavigationBar";
|
|
21
21
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
22
22
|
const BpkNavigationBarButtonLink = ({
|
|
@@ -26,7 +26,8 @@ const BpkNavigationBarButtonLink = ({
|
|
|
26
26
|
...rest
|
|
27
27
|
}) => /*#__PURE__*/_jsx("span", {
|
|
28
28
|
className: className,
|
|
29
|
-
children: /*#__PURE__*/_jsx(
|
|
29
|
+
children: /*#__PURE__*/_jsx(BpkLink, {
|
|
30
|
+
as: "button",
|
|
30
31
|
alternate: barStyle === BAR_STYLES.onDark,
|
|
31
32
|
...rest,
|
|
32
33
|
children: children
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
import { useRef } from 'react';
|
|
20
|
-
import {
|
|
20
|
+
import BpkButton, { BUTTON_TYPES } from "../../bpk-component-button";
|
|
21
21
|
import { withButtonAlignment } from "../../bpk-component-icon";
|
|
22
22
|
import MinusIcon from "../../bpk-component-icon/sm/minus";
|
|
23
23
|
import PlusIcon from "../../bpk-component-icon/sm/plus";
|
|
@@ -95,7 +95,7 @@ const BpkNudger = ({
|
|
|
95
95
|
})]
|
|
96
96
|
}), /*#__PURE__*/_jsxs("div", {
|
|
97
97
|
className: nudgerClassNames,
|
|
98
|
-
children: [/*#__PURE__*/_jsx(
|
|
98
|
+
children: [/*#__PURE__*/_jsx(BpkButton, {
|
|
99
99
|
type: BUTTON_TYPES[buttonType],
|
|
100
100
|
iconOnly: true,
|
|
101
101
|
onClick: () => {
|
|
@@ -135,7 +135,7 @@ const BpkNudger = ({
|
|
|
135
135
|
},
|
|
136
136
|
className: inputClassNames,
|
|
137
137
|
...rest
|
|
138
|
-
}), /*#__PURE__*/_jsx(
|
|
138
|
+
}), /*#__PURE__*/_jsx(BpkButton, {
|
|
139
139
|
type: BUTTON_TYPES[buttonType],
|
|
140
140
|
iconOnly: true,
|
|
141
141
|
onClick: () => {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* limitations under the License.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
-
import { BUTTON_TYPES
|
|
19
|
+
import BpkButton, { BUTTON_TYPES } from "../../bpk-component-button";
|
|
20
20
|
import { withButtonAlignment, withRtlSupport } from "../../bpk-component-icon";
|
|
21
21
|
import LeftArrowIcon from "../../bpk-component-icon/lg/chevron-left";
|
|
22
22
|
import RightArrowIcon from "../../bpk-component-icon/lg/chevron-right";
|
|
@@ -35,7 +35,7 @@ const NavButton = ({
|
|
|
35
35
|
disabled = false,
|
|
36
36
|
onClick = () => {},
|
|
37
37
|
type = BUTTON_TYPES.link
|
|
38
|
-
}) => /*#__PURE__*/_jsx(
|
|
38
|
+
}) => /*#__PURE__*/_jsx(BpkButton, {
|
|
39
39
|
iconOnly: true,
|
|
40
40
|
type: type,
|
|
41
41
|
onClick: e => {
|