@skodaflow/web-library 7.0.2 → 7.1.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/README.md +16 -16
- package/cjs/components/alert/Alert.d.ts +3 -0
- package/cjs/components/alert/Alert.js +1 -1
- package/cjs/components/alert/Alert.js.map +1 -1
- package/cjs/components/banner/banner.js +1 -1
- package/cjs/components/banner/banner.js.map +1 -1
- package/cjs/components/box/box.component.d.ts +3 -0
- package/cjs/components/box/index.d.ts +1 -0
- package/cjs/components/index.d.ts +1 -0
- package/cjs/components/label/label.js.map +1 -1
- package/cjs/components/labelFeature/labelFeature.js.map +1 -1
- package/cjs/components/labelStatus/labelStatus.js.map +1 -1
- package/cjs/components/menu/menu.js +1 -1
- package/cjs/components/menu/menu.js.map +1 -1
- package/cjs/components/modal/modal.js +1 -1
- package/cjs/components/modal/modal.js.map +1 -1
- package/cjs/design/skoda/SkodaThemeProvider.d.ts +8 -2
- package/cjs/design/skoda/SkodaThemeProvider.js +1 -1
- package/cjs/design/skoda/SkodaThemeProvider.js.map +1 -1
- package/cjs/design/skoda/SkodaThemeWidgetProvider.d.ts +20 -1
- package/cjs/design/skoda/SkodaThemeWidgetProvider.js +1 -1
- package/cjs/design/skoda/SkodaThemeWidgetProvider.js.map +1 -1
- package/cjs/design/skoda/components/accordion/accordionSummary.theme.js +1 -1
- package/cjs/design/skoda/components/accordion/accordionSummary.theme.js.map +1 -1
- package/cjs/design/skoda/components/autocomplete.theme.js +1 -1
- package/cjs/design/skoda/components/autocomplete.theme.js.map +1 -1
- package/cjs/design/skoda/components/baseline.theme.js.map +1 -1
- package/cjs/design/skoda/components/dialog/dialogContentText.theme.d.ts +2 -0
- package/cjs/design/skoda/components/dialog/dialogContentText.theme.js +2 -0
- package/cjs/design/skoda/components/dialog/dialogContentText.theme.js.map +1 -0
- package/cjs/design/skoda/components/form/select.theme.js +1 -1
- package/cjs/design/skoda/components/form/select.theme.js.map +1 -1
- package/cjs/design/skoda/components/modal.theme.js +1 -1
- package/cjs/design/skoda/components/modal.theme.js.map +1 -1
- package/cjs/design/skoda/components/popover.theme.js +1 -1
- package/cjs/design/skoda/components/popover.theme.js.map +1 -1
- package/cjs/design/skoda/components/tabs/tabs.theme.js +1 -1
- package/cjs/design/skoda/components/tabs/tabs.theme.js.map +1 -1
- package/cjs/design/skoda/index.d.ts +1 -1
- package/cjs/design/skoda/theme.d.ts +5 -2
- package/cjs/design/skoda/theme.js +1 -1
- package/cjs/design/skoda/theme.js.map +1 -1
- package/cjs/index.js +1 -1
- package/cjs/layout/Error/ErrorContent.js +1 -1
- package/cjs/layout/Error/ErrorContent.js.map +1 -1
- package/cjs/layout/Footer/FooterIconButton.d.ts +10 -4
- package/cjs/layout/Footer/FooterIconButton.js +1 -1
- package/cjs/layout/Footer/FooterIconButton.js.map +1 -1
- package/cjs/layout/Footer/FooterMenu.d.ts +7 -3
- package/cjs/layout/Footer/FooterMenu.js +1 -1
- package/cjs/layout/Footer/FooterMenu.js.map +1 -1
- package/cjs/layout/Footer/FooterSectionContact.d.ts +9 -3
- package/cjs/layout/Footer/FooterSectionContact.js +1 -1
- package/cjs/layout/Footer/FooterSectionContact.js.map +1 -1
- package/cjs/layout/Footer/PredefinedFooterIconButtons.d.ts +2 -2
- package/cjs/layout/Footer/PredefinedFooterIconButtons.js +1 -1
- package/cjs/layout/Footer/PredefinedFooterIconButtons.js.map +1 -1
- package/cjs/layout/Footer/assets/FacebookIcon.d.ts +1 -0
- package/cjs/layout/Footer/assets/FacebookIcon.js +2 -0
- package/cjs/layout/Footer/assets/FacebookIcon.js.map +1 -0
- package/cjs/layout/Footer/assets/InstagramIcon.d.ts +1 -0
- package/cjs/layout/Footer/assets/InstagramIcon.js +2 -0
- package/cjs/layout/Footer/assets/InstagramIcon.js.map +1 -0
- package/cjs/layout/Footer/assets/TwitterIcon.d.ts +1 -0
- package/cjs/layout/Footer/assets/{twitter_icon.svg.js.map → TwitterIcon.js} +2 -1
- package/cjs/layout/Footer/assets/TwitterIcon.js.map +1 -0
- package/cjs/layout/Footer/assets/YoutubeIcon.d.ts +1 -0
- package/cjs/layout/Footer/assets/{youtube_icon.svg.js.map → YoutubeIcon.js} +2 -1
- package/cjs/layout/Footer/assets/YoutubeIcon.js.map +1 -0
- package/cjs/layout/Footer/assets/index.d.ts +4 -0
- package/cjs/layout/Header/HeaderButton.js +1 -1
- package/cjs/layout/Header/HeaderButton.js.map +1 -1
- package/cjs/layout/SideMenu/SideMenu.d.ts +3 -3
- package/cjs/layout/SideMenu/SideMenu.js +1 -1
- package/cjs/layout/SideMenu/SideMenu.js.map +1 -1
- package/cjs/organisms/cardPhotoAdjustable/cardPhotoAdjustable.js.map +1 -1
- package/cjs/organisms/cardPhotoFixed/cardPhotoFixed.js.map +1 -1
- package/cjs/organisms/cardTypeOnly/cardTypeOnly.js.map +1 -1
- package/cjs/organisms/carousel2/components/NavButton.js +1 -1
- package/cjs/organisms/carousel2/components/NavButton.js.map +1 -1
- package/cjs/organisms/gallery/Gallery.js +1 -1
- package/cjs/organisms/gallery/Gallery.js.map +1 -1
- package/cjs/organisms/gallery/GalleryTrigger.js +1 -1
- package/cjs/organisms/gallery/GalleryTrigger.js.map +1 -1
- package/cjs/organisms/heroImageCard/heroImageCard.js.map +1 -1
- package/cjs/organisms/index.d.ts +1 -0
- package/cjs/organisms/maps/mapComponents/infoWindowConfig.js.map +1 -1
- package/cjs/organisms/notification/Notification.js +1 -1
- package/cjs/organisms/notification/Notification.js.map +1 -1
- package/cjs/production/Button/Button.js.map +1 -1
- package/cjs/utils/useFeatureFlag/useFeatureFlag.js +1 -1
- package/cjs/utils/useFeatureFlag/useFeatureFlag.js.map +1 -1
- package/components/alert/Alert.d.ts +3 -0
- package/components/alert/Alert.js +1 -1
- package/components/alert/Alert.js.map +1 -1
- package/components/banner/banner.js +1 -1
- package/components/banner/banner.js.map +1 -1
- package/components/box/box.component.d.ts +3 -0
- package/components/box/index.d.ts +1 -0
- package/components/index.d.ts +1 -0
- package/components/label/label.js.map +1 -1
- package/components/labelFeature/labelFeature.js.map +1 -1
- package/components/labelStatus/labelStatus.js.map +1 -1
- package/components/menu/menu.js +1 -1
- package/components/menu/menu.js.map +1 -1
- package/components/modal/modal.js +1 -1
- package/components/modal/modal.js.map +1 -1
- package/design/skoda/SkodaThemeProvider.d.ts +8 -2
- package/design/skoda/SkodaThemeProvider.js +1 -1
- package/design/skoda/SkodaThemeProvider.js.map +1 -1
- package/design/skoda/SkodaThemeWidgetProvider.d.ts +20 -1
- package/design/skoda/SkodaThemeWidgetProvider.js +1 -1
- package/design/skoda/SkodaThemeWidgetProvider.js.map +1 -1
- package/design/skoda/components/accordion/accordionSummary.theme.js +1 -1
- package/design/skoda/components/accordion/accordionSummary.theme.js.map +1 -1
- package/design/skoda/components/autocomplete.theme.js +1 -1
- package/design/skoda/components/autocomplete.theme.js.map +1 -1
- package/design/skoda/components/baseline.theme.js.map +1 -1
- package/design/skoda/components/dialog/dialogContentText.theme.d.ts +2 -0
- package/design/skoda/components/dialog/dialogContentText.theme.js +2 -0
- package/design/skoda/components/dialog/dialogContentText.theme.js.map +1 -0
- package/design/skoda/components/form/select.theme.js +1 -1
- package/design/skoda/components/form/select.theme.js.map +1 -1
- package/design/skoda/components/modal.theme.js +1 -1
- package/design/skoda/components/modal.theme.js.map +1 -1
- package/design/skoda/components/popover.theme.js +1 -1
- package/design/skoda/components/popover.theme.js.map +1 -1
- package/design/skoda/components/tabs/tabs.theme.js +1 -1
- package/design/skoda/components/tabs/tabs.theme.js.map +1 -1
- package/design/skoda/index.d.ts +1 -1
- package/design/skoda/theme.d.ts +5 -2
- package/design/skoda/theme.js +1 -1
- package/design/skoda/theme.js.map +1 -1
- package/eula.txt +40 -40
- package/index.js +1 -1
- package/layout/Error/ErrorContent.js +1 -1
- package/layout/Error/ErrorContent.js.map +1 -1
- package/layout/Footer/FooterIconButton.d.ts +10 -4
- package/layout/Footer/FooterIconButton.js +1 -1
- package/layout/Footer/FooterIconButton.js.map +1 -1
- package/layout/Footer/FooterMenu.d.ts +7 -3
- package/layout/Footer/FooterMenu.js +1 -1
- package/layout/Footer/FooterMenu.js.map +1 -1
- package/layout/Footer/FooterSectionContact.d.ts +9 -3
- package/layout/Footer/FooterSectionContact.js +1 -1
- package/layout/Footer/FooterSectionContact.js.map +1 -1
- package/layout/Footer/PredefinedFooterIconButtons.d.ts +2 -2
- package/layout/Footer/PredefinedFooterIconButtons.js +1 -1
- package/layout/Footer/PredefinedFooterIconButtons.js.map +1 -1
- package/layout/Footer/assets/FacebookIcon.d.ts +1 -0
- package/layout/Footer/assets/FacebookIcon.js +2 -0
- package/layout/Footer/assets/FacebookIcon.js.map +1 -0
- package/layout/Footer/assets/InstagramIcon.d.ts +1 -0
- package/layout/Footer/assets/InstagramIcon.js +2 -0
- package/layout/Footer/assets/InstagramIcon.js.map +1 -0
- package/layout/Footer/assets/TwitterIcon.d.ts +1 -0
- package/layout/Footer/assets/TwitterIcon.js +2 -0
- package/layout/Footer/assets/TwitterIcon.js.map +1 -0
- package/layout/Footer/assets/YoutubeIcon.d.ts +1 -0
- package/layout/Footer/assets/YoutubeIcon.js +2 -0
- package/layout/Footer/assets/YoutubeIcon.js.map +1 -0
- package/layout/Footer/assets/index.d.ts +4 -0
- package/layout/Header/HeaderButton.js +1 -1
- package/layout/Header/HeaderButton.js.map +1 -1
- package/layout/SideMenu/SideMenu.d.ts +3 -3
- package/layout/SideMenu/SideMenu.js +1 -1
- package/layout/SideMenu/SideMenu.js.map +1 -1
- package/organisms/cardPhotoAdjustable/cardPhotoAdjustable.js.map +1 -1
- package/organisms/cardPhotoFixed/cardPhotoFixed.js.map +1 -1
- package/organisms/cardTypeOnly/cardTypeOnly.js.map +1 -1
- package/organisms/carousel2/components/NavButton.js +1 -1
- package/organisms/carousel2/components/NavButton.js.map +1 -1
- package/organisms/gallery/Gallery.js +1 -1
- package/organisms/gallery/Gallery.js.map +1 -1
- package/organisms/gallery/GalleryTrigger.js +1 -1
- package/organisms/gallery/GalleryTrigger.js.map +1 -1
- package/organisms/heroImageCard/heroImageCard.js.map +1 -1
- package/organisms/index.d.ts +1 -0
- package/organisms/maps/mapComponents/infoWindowConfig.js.map +1 -1
- package/organisms/notification/Notification.js +1 -1
- package/organisms/notification/Notification.js.map +1 -1
- package/package.json +1 -1
- package/production/Button/Button.js.map +1 -1
- package/utils/useFeatureFlag/useFeatureFlag.js +1 -1
- package/utils/useFeatureFlag/useFeatureFlag.js.map +1 -1
- package/cjs/layout/Footer/assets/facebook_icon.svg.js +0 -2
- package/cjs/layout/Footer/assets/facebook_icon.svg.js.map +0 -1
- package/cjs/layout/Footer/assets/instagram_icon.svg.js +0 -2
- package/cjs/layout/Footer/assets/instagram_icon.svg.js.map +0 -1
- package/cjs/layout/Footer/assets/twitter_icon.svg.js +0 -2
- package/cjs/layout/Footer/assets/youtube_icon.svg.js +0 -2
- package/layout/Footer/assets/facebook_icon.svg.js +0 -2
- package/layout/Footer/assets/facebook_icon.svg.js.map +0 -1
- package/layout/Footer/assets/instagram_icon.svg.js +0 -2
- package/layout/Footer/assets/instagram_icon.svg.js.map +0 -1
- package/layout/Footer/assets/twitter_icon.svg.js +0 -2
- package/layout/Footer/assets/twitter_icon.svg.js.map +0 -1
- package/layout/Footer/assets/youtube_icon.svg.js +0 -2
- package/layout/Footer/assets/youtube_icon.svg.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
# @skodaflow/web-library
|
|
2
|
-
|
|
3
|
-
> Flow Web Library is the REACT implementation of the [Skoda Flow Design system](https://skoda-brand.com/hub/26).
|
|
4
|
-
>
|
|
5
|
-
> Package contains [theme for @mui/material](https://mui.com/material-ui/customization/theming/) as well as completely custom components.
|
|
6
|
-
> This should simplify development of Skoda Auto Web Applications.
|
|
7
|
-
|
|
8
|
-
## Documentation
|
|
9
|
-
|
|
10
|
-
Visit https://skodaflow-web.azurewebsites.net/ to view the full documentation in the storybook.
|
|
11
|
-
|
|
12
|
-
## Resources
|
|
13
|
-
|
|
14
|
-
- [Storybook](https://skodaflow-web.azurewebsites.net/)
|
|
15
|
-
- [Flow Design System](https://skoda-brand.com/hub/26)
|
|
16
|
-
- [@mui/material](https://mui.com/material-ui/getting-started/overview/)
|
|
1
|
+
# @skodaflow/web-library
|
|
2
|
+
|
|
3
|
+
> Flow Web Library is the REACT implementation of the [Skoda Flow Design system](https://skoda-brand.com/hub/26).
|
|
4
|
+
>
|
|
5
|
+
> Package contains [theme for @mui/material](https://mui.com/material-ui/customization/theming/) as well as completely custom components.
|
|
6
|
+
> This should simplify development of Skoda Auto Web Applications.
|
|
7
|
+
|
|
8
|
+
## Documentation
|
|
9
|
+
|
|
10
|
+
Visit https://skodaflow-web.azurewebsites.net/ to view the full documentation in the storybook.
|
|
11
|
+
|
|
12
|
+
## Resources
|
|
13
|
+
|
|
14
|
+
- [Storybook](https://skodaflow-web.azurewebsites.net/)
|
|
15
|
+
- [Flow Design System](https://skoda-brand.com/hub/26)
|
|
16
|
+
- [@mui/material](https://mui.com/material-ui/getting-started/overview/)
|
|
@@ -3,6 +3,9 @@ export type AlertProps = PropsWithChildren<{
|
|
|
3
3
|
type?: 'success' | 'warning' | 'error';
|
|
4
4
|
actions?: React.ReactNode;
|
|
5
5
|
width?: string | number;
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated direction is taken from the theme
|
|
8
|
+
*/
|
|
6
9
|
direction?: 'rtl' | 'ltr';
|
|
7
10
|
}>;
|
|
8
11
|
export declare const Alert: React.FC<AlertProps>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),t=require("@mui/material"),
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),t=require("@mui/material"),s=require("./assets/successIcon.svg.js"),r=require("./assets/warningIcon.svg.js"),i=require("./assets/errorIcon.svg.js");exports.Alert=({type:a,children:n,actions:d,width:l})=>e.jsxs(t.Box,{sx:{padding:1,paddingLeft:2,paddingRight:1,background:e=>e.palette.brand.tertiary,borderRadius:1,color:e=>e.palette.onSurface.os0,display:"flex",alignItems:"center",gap:"11px",minWidth:"300px",maxWidth:null!=l?l:"624px",width:null!=l?l:"auto"},"data-testid":"Alert",children:[a&&e.jsxs(t.Box,{sx:{height:"40px",display:"flex",flexDirection:"column",justifyContent:"center"},"data-testid":"Alert.icon",children:["success"===a&&e.jsx("img",{src:s.default}),"error"===a&&e.jsx("img",{src:i.default}),"warning"===a&&e.jsx("img",{src:r.default})]}),e.jsx(t.Box,{sx:{flexGrow:1},"data-testid":"Alert.content",children:n}),d&&e.jsx(t.Box,{sx:{paddingLeft:"11px",borderLeft:e=>`1px solid ${e.palette.onSurface.os600}`,alignSelf:"stretch",display:"flex",flexDirection:"row",alignItems:"center"},"data-testid":"Alert.actions",children:d})]});
|
|
2
2
|
//# sourceMappingURL=Alert.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Alert.js","sources":["../../../../src/components/alert/Alert.tsx"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Box } from '@mui/material';\nimport successIcon from './assets/successIcon.svg';\nimport warningIcon from './assets/warningIcon.svg';\nimport errorIcon from './assets/errorIcon.svg';\nexport const Alert = ({ type, children, actions, width
|
|
1
|
+
{"version":3,"file":"Alert.js","sources":["../../../../src/components/alert/Alert.tsx"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Box } from '@mui/material';\nimport successIcon from './assets/successIcon.svg';\nimport warningIcon from './assets/warningIcon.svg';\nimport errorIcon from './assets/errorIcon.svg';\nexport const Alert = ({ type, children, actions, width }) => {\n return (_jsxs(Box, { sx: {\n padding: 1,\n paddingLeft: 2,\n paddingRight: 1,\n background: (theme) => theme.palette.brand.tertiary,\n borderRadius: 1,\n color: (theme) => theme.palette.onSurface.os0,\n display: 'flex',\n alignItems: 'center',\n gap: '11px',\n minWidth: '300px',\n maxWidth: width !== null && width !== void 0 ? width : '624px',\n width: width !== null && width !== void 0 ? width : 'auto',\n }, \"data-testid\": \"Alert\", children: [type && (_jsxs(Box, { sx: {\n height: '40px',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n }, \"data-testid\": \"Alert.icon\", children: [type === 'success' && _jsx(\"img\", { src: successIcon }), type === 'error' && _jsx(\"img\", { src: errorIcon }), type === 'warning' && _jsx(\"img\", { src: warningIcon })] })), _jsx(Box, { sx: {\n flexGrow: 1,\n }, \"data-testid\": \"Alert.content\", children: children }), actions && (_jsx(Box, { sx: {\n paddingLeft: '11px',\n borderLeft: (theme) => `1px solid ${theme.palette.onSurface.os600}`,\n alignSelf: 'stretch',\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n }, \"data-testid\": \"Alert.actions\", children: actions }))] }));\n};\n//# sourceMappingURL=Alert.js.map"],"names":["type","children","actions","width","_jsxs","jsxs","Box","sx","padding","paddingLeft","paddingRight","background","theme","palette","brand","tertiary","borderRadius","color","onSurface","os0","display","alignItems","gap","minWidth","maxWidth","height","flexDirection","justifyContent","_jsx","jsx","src","successIcon","errorIcon","warningIcon","flexGrow","borderLeft","os600","alignSelf"],"mappings":"kNAKqB,EAAGA,OAAMC,WAAUC,UAASC,WACrCC,EAAKC,KAACC,MAAK,CAAEC,GAAI,CACjBC,QAAS,EACTC,YAAa,EACbC,aAAc,EACdC,WAAaC,GAAUA,EAAMC,QAAQC,MAAMC,SAC3CC,aAAc,EACdC,MAAQL,GAAUA,EAAMC,QAAQK,UAAUC,IAC1CC,QAAS,OACTC,WAAY,SACZC,IAAK,OACLC,SAAU,QACVC,SAAUrB,QAAqCA,EAAQ,QACvDA,MAAOA,QAAqCA,EAAQ,QACrD,cAAe,QAASF,SAAU,CAACD,GAASI,OAAME,EAAAA,IAAK,CAAEC,GAAI,CACpDkB,OAAQ,OACRL,QAAS,OACTM,cAAe,SACfC,eAAgB,UACjB,cAAe,aAAc1B,SAAU,CAAU,YAATD,GAAsB4B,EAAIC,IAAC,MAAO,CAAEC,IAAKC,EAAAA,UAAyB,UAAT/B,GAAoB4B,EAAAA,IAAK,MAAO,CAAEE,IAAKE,EAAAA,UAAuB,YAAThC,GAAsB4B,EAAAA,IAAK,MAAO,CAAEE,IAAKG,EAAAA,aAAqBL,EAAAA,IAAKtB,EAAAA,IAAK,CAAEC,GAAI,CACnO2B,SAAU,GACX,cAAe,gBAAiBjC,SAAUA,IAAaC,GAAY0B,EAAIC,IAACvB,MAAK,CAAEC,GAAI,CAClFE,YAAa,OACb0B,WAAavB,GAAU,aAAaA,EAAMC,QAAQK,UAAUkB,QAC5DC,UAAW,UACXjB,QAAS,OACTM,cAAe,MACfL,WAAY,UACb,cAAe,gBAAiBpB,SAAUC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime");require("tslib");var r=require("@mui/material");require("../../design/skoda/theme.js")
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime");require("tslib");var r=require("react"),i=require("@mui/material");require("@emotion/react"),require("@emotion/cache"),require("stylis"),require("stylis-plugin-rtl"),require("../../design/skoda/theme.js"),require("../../design/skoda/theme.breakpoints.js"),require("@mui/material/styles"),require("@mui/system"),require("../accordion/accordion.js"),require("../backdrop/backdrop.js"),require("../button/button.js"),require("../cardContainer/cardContainer.js"),require("../cardMenu/cardMenu.js"),require("../checkbox/checkbox.js"),require("../chip/chipImage/chipImage.js"),require("../chip/regular/chip.js"),require("../chip/chipMultiselect/multiSelectChip.js"),require("../chip/chipDropdownChildren/chipDropdownChildren.js"),require("../controls/controls.js"),require("../divider/divider.js"),require("../drawer/drawer.js"),require("../flag/flag.js"),require("@mui/material/Grid");var a=require("../icon/icon.js");require("../icon/icon.definitions.js"),require("../indicator/indicator.js"),require("../label/label.js"),require("../labelCO2/labelCO2.js"),require("../labelFeature/labelFeature.js"),require("../labelPromotional/labelPromotional.js"),require("../labelStatus/labelStatus.js"),require("../menu/menu.js"),require("@mui/material/MenuItem"),require("@mui/material/MobileStepper"),require("../mobileStepper/mobileStepperButton.js"),require("../modal/modal.js"),require("../modal/modalTitle.js"),require("../numbering/numbering.js"),require("../pagination/pagination.js"),require("../progressBar/progressBar.js"),require("../radioButton/radioButton.js"),require("../selectInput/selectInput.js"),require("../slider/slider.js"),require("../snackbar/snackbar.js"),require("../stepper/stepper.js"),require("../textArea/textArea.js"),require("../common/styled/textFieldStyled.js"),require("../helperTextContent/index.js"),require("../toggleSwitch/toggleSwitch.js"),require("../avatar/Avatar.js"),require("../iconButton/index.js"),require("../alert/AlertButton.js"),require("../../organisms/gallery/Gallery.js"),require("../../organisms/gallery/GalleryItem.js"),require("minimatch"),require("../../utils/enum.js"),require("../../organisms/cardOwnedVehicle/cardOwnedVehicle.js"),require("../../organisms/cardPhotoAdjustable/cardPhotoAdjustable.js"),require("../../organisms/cardPhotoFixed/cardPhotoFixed.js"),require("../../organisms/cardPromoVehicle/cardPromoVehicleComponent.js"),require("../../organisms/common/styled/cardStandardWrapperStyled.js"),require("../../organisms/cardTypeOnly/cardTypeOnly.js"),require("embla-carousel-react"),require("embla-carousel-class-names"),require("embla-carousel-autoplay"),require("../../organisms/carousel/styledComponents/styledCarouselHorizontal.js"),require("../../organisms/carousel/styledComponents/styledCarouselVertical.js"),require("../../organisms/heroImageCard/heroImageCard.js"),require("@googlemaps/react-wrapper"),require("@googlemaps/markerclusterer"),require("../../organisms/maps/utils/mapIcons.js"),require("../../organisms/maps/mapComponents/mapStyled.js"),require("../../organisms/shortcutLink/shortcutLink.js"),require("../../organisms/textCta/textCta.js"),require("../../organisms/tile/tile.js"),require("../../organisms/carousel2/galleryCarousel/galleryContext.js"),require("../../organisms/carousel2/galleryCarousel/galleryItemContext.js"),require("../../organisms/carousel2/heroCarousel/heroCarouselContext.js"),require("../../organisms/notification/Notification.js"),require("../../organisms/notification/NotificationCenter.js"),require("../../layout/Header/HeaderContext.js"),require("../../layout/Header/HeaderButton.js"),require("../../layout/Header/HeaderNavigationHero.js"),require("../../layout/Header/HeaderNavigationLink.js"),require("../../layout/Header/HeaderNavigationMenu.js"),require("../../layout/Header/PredefinedHeaderButtons.js"),require("../../layout/Header/HeaderOverheadItem.js"),require("../../layout/SideMenu/SideMenuItem.js"),require("../../layout/Footer/PredefinedFooterIconButtons.js"),require("../../layout/SecondaryNavigation/SecondaryNavigationCta.js"),require("../../layout/SecondaryNavigation/SecondaryNavigationItem.js"),require("@mui/material/Container"),require("../../production/Button/Button.js");exports.Banner=({children:t,variant:s="info",buttons:o})=>{const n=i.useTheme(),[u,l]=r.useMemo((()=>{switch(s){case"error":return[n.palette.error.main,i.lighten(n.palette.error.light,.9)];case"warning":return[n.palette.warning.main,i.lighten(n.palette.warning.light,.9)];default:return[n.palette.info.main,i.lighten(n.palette.info.light,.9)]}}),[s,n]);return e.jsxs(i.Stack,{direction:{md:"row",sm:"column"},spacing:0,sx:{borderLeft:"6px solid",alignItems:"flex-start",borderColor:u,backgroundColor:l},"data-testid":"Banner",children:[e.jsxs(i.Stack,{direction:"row",spacing:2,sx:{padding:{md:"12px 16px",sm:"16px",xs:"11px 16px"},flexGrow:1,alignItems:"center"},children:[e.jsx(a.Icon,{name:"info"===s?"circle-info":"circle-exclamation",iconStyle:"filled",color:s,sx:{alignSelf:"flex-start",color:u,marginTop:{lg:"2px !important",md:"1px !important",sm:"-2px !important"}}}),e.jsx(i.Box,{children:"string"==typeof t?e.jsx(i.Typography,{children:t}):t})]}),o&&e.jsx(i.Stack,{direction:"row",spacing:1,useFlexGap:!0,sx:{padding:"8px 16px",textWrap:"nowrap",flexWrap:"wrap",alignSelf:"center",marginRight:"auto"},"data-testid":"Banner.buttons",children:o})]})};
|
|
2
2
|
//# sourceMappingURL=banner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.js","sources":["../../../../src/components/banner/banner.tsx"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Icon } from '@/src';\nimport { Box, Stack, Typography, lighten, useTheme } from '@mui/material';\nimport { useMemo } from 'react';\n/**\n * Alert notification banner\n */\nexport const Banner = ({ children, variant = 'info', buttons }) => {\n const theme = useTheme();\n const [borderColor, backgroundColor] = useMemo(() => {\n switch (variant) {\n case 'error':\n return [theme.palette.error.main, lighten(theme.palette.error.light, 0.9)];\n case 'warning':\n return [theme.palette.warning.main, lighten(theme.palette.warning.light, 0.9)];\n case 'info':\n default:\n return [theme.palette.info.main, lighten(theme.palette.info.light, 0.9)];\n }\n }, [variant, theme]);\n return (_jsxs(Stack, { direction: { md: 'row', sm: 'column' }, spacing: 0, sx: {\n borderLeft: '6px solid',\n alignItems: 'flex-start',\n borderColor,\n backgroundColor,\n }, \"data-testid\": \"Banner\", children: [_jsxs(Stack, { direction: \"row\", spacing: 2, sx: { padding: { md: '12px 16px', sm: '16px', xs: '11px 16px' }, flexGrow: 1, alignItems: 'center' }, children: [_jsx(Icon, { name: variant === 'info' ? 'circle-info' : 'circle-exclamation', iconStyle: \"filled\", color: variant, sx: {\n alignSelf: 'flex-start',\n color: borderColor,\n marginTop: { lg: '2px !important', md: '1px !important', sm: '-2px !important' },\n } }), _jsx(Box, { children: typeof children === 'string' ? _jsx(Typography, { children: children }) : children })] }), buttons && (_jsx(Stack, { direction: \"row\", spacing: 1, useFlexGap: true, sx: { padding: '8px 16px', textWrap: 'nowrap', flexWrap: 'wrap', alignSelf: 'center', marginRight: 'auto' }, \"data-testid\": \"Banner.buttons\", children: buttons }))] }));\n};\n//# sourceMappingURL=banner.js.map"],"names":["children","variant","buttons","theme","useTheme","borderColor","backgroundColor","useMemo","palette","error","main","lighten","light","warning","info","_jsxs","Stack","direction","md","sm","spacing","sx","borderLeft","alignItems","jsxs","padding","xs","flexGrow","_jsx","Icon","name","iconStyle","color","alignSelf","marginTop","lg","Box","Typography","useFlexGap","textWrap","flexWrap","marginRight"],"mappings":"
|
|
1
|
+
{"version":3,"file":"banner.js","sources":["../../../../src/components/banner/banner.tsx"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { Icon } from '@/src';\nimport { Box, Stack, Typography, lighten, useTheme } from '@mui/material';\nimport { useMemo } from 'react';\n/**\n * Alert notification banner\n */\nexport const Banner = ({ children, variant = 'info', buttons }) => {\n const theme = useTheme();\n const [borderColor, backgroundColor] = useMemo(() => {\n switch (variant) {\n case 'error':\n return [theme.palette.error.main, lighten(theme.palette.error.light, 0.9)];\n case 'warning':\n return [theme.palette.warning.main, lighten(theme.palette.warning.light, 0.9)];\n case 'info':\n default:\n return [theme.palette.info.main, lighten(theme.palette.info.light, 0.9)];\n }\n }, [variant, theme]);\n return (_jsxs(Stack, { direction: { md: 'row', sm: 'column' }, spacing: 0, sx: {\n borderLeft: '6px solid',\n alignItems: 'flex-start',\n borderColor,\n backgroundColor,\n }, \"data-testid\": \"Banner\", children: [_jsxs(Stack, { direction: \"row\", spacing: 2, sx: { padding: { md: '12px 16px', sm: '16px', xs: '11px 16px' }, flexGrow: 1, alignItems: 'center' }, children: [_jsx(Icon, { name: variant === 'info' ? 'circle-info' : 'circle-exclamation', iconStyle: \"filled\", color: variant, sx: {\n alignSelf: 'flex-start',\n color: borderColor,\n marginTop: { lg: '2px !important', md: '1px !important', sm: '-2px !important' },\n } }), _jsx(Box, { children: typeof children === 'string' ? _jsx(Typography, { children: children }) : children })] }), buttons && (_jsx(Stack, { direction: \"row\", spacing: 1, useFlexGap: true, sx: { padding: '8px 16px', textWrap: 'nowrap', flexWrap: 'wrap', alignSelf: 'center', marginRight: 'auto' }, \"data-testid\": \"Banner.buttons\", children: buttons }))] }));\n};\n//# sourceMappingURL=banner.js.map"],"names":["children","variant","buttons","theme","useTheme","borderColor","backgroundColor","useMemo","palette","error","main","lighten","light","warning","info","_jsxs","Stack","direction","md","sm","spacing","sx","borderLeft","alignItems","jsxs","padding","xs","flexGrow","_jsx","Icon","name","iconStyle","color","alignSelf","marginTop","lg","Box","Typography","useFlexGap","textWrap","flexWrap","marginRight"],"mappings":"oqIAOsB,EAAGA,WAAUC,UAAU,OAAQC,cACjD,MAAMC,EAAQC,EAAAA,YACPC,EAAaC,GAAmBC,EAAOA,SAAC,KAC3C,OAAQN,GACJ,IAAK,QACD,MAAO,CAACE,EAAMK,QAAQC,MAAMC,KAAMC,EAAAA,QAAQR,EAAMK,QAAQC,MAAMG,MAAO,KACzE,IAAK,UACD,MAAO,CAACT,EAAMK,QAAQK,QAAQH,KAAMC,EAAAA,QAAQR,EAAMK,QAAQK,QAAQD,MAAO,KAE7E,QACI,MAAO,CAACT,EAAMK,QAAQM,KAAKJ,KAAMC,EAAAA,QAAQR,EAAMK,QAAQM,KAAKF,MAAO,KAC1E,GACF,CAACX,EAASE,IACb,OAAQY,OAAMC,EAAAA,MAAO,CAAEC,UAAW,CAAEC,GAAI,MAAOC,GAAI,UAAYC,QAAS,EAAGC,GAAI,CACvEC,WAAY,YACZC,WAAY,aACZlB,cACAC,mBACD,cAAe,SAAUN,SAAU,CAACe,EAAKS,KAACR,QAAO,CAAEC,UAAW,MAAOG,QAAS,EAAGC,GAAI,CAAEI,QAAS,CAAEP,GAAI,YAAaC,GAAI,OAAQO,GAAI,aAAeC,SAAU,EAAGJ,WAAY,UAAYvB,SAAU,CAAC4B,EAAAA,IAAKC,EAAAA,KAAM,CAAEC,KAAkB,SAAZ7B,EAAqB,cAAgB,qBAAsB8B,UAAW,SAAUC,MAAO/B,EAASoB,GAAI,CACxSY,UAAW,aACXD,MAAO3B,EACP6B,UAAW,CAAEC,GAAI,iBAAkBjB,GAAI,iBAAkBC,GAAI,sBAC3DS,MAAKQ,EAAAA,IAAK,CAAEpC,SAA8B,iBAAbA,EAAwB4B,MAAKS,EAAAA,WAAY,CAAErC,SAAUA,IAAcA,OAAiBE,GAAY0B,MAAKZ,EAAAA,MAAO,CAAEC,UAAW,MAAOG,QAAS,EAAGkB,YAAY,EAAMjB,GAAI,CAAEI,QAAS,WAAYc,SAAU,SAAUC,SAAU,OAAQP,UAAW,SAAUQ,YAAa,QAAU,cAAe,iBAAkBzC,SAAUE,MAAiB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Box } from '@mui/material';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label.js","sources":["../../../../src/components/label/label.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport styled from '@emotion/styled';\nimport { paletteLight as flowColors } from '../../design/skoda/paletteLight.theme';\nimport { forwardRef, useEffect } from 'react';\n/**\n * @description SkodaFlow Label component.\n * @param props LabelProps\n * @returns React Functional component\n */\nexport const Label = forwardRef((_a, ref) => {\n var { label, children } = _a, props = __rest(_a, [\"label\", \"children\"]);\n const text = label ? label : children;\n useEffect(() => { }, [props]);\n return (_jsx(LabelStyled, Object.assign({}, props, { ref: ref, \"data-testid\": \"Label\", children: text })));\n});\n/**\n * @description Label styling definition\n */\nconst LabelStyled = styled.span `\
|
|
1
|
+
{"version":3,"file":"label.js","sources":["../../../../src/components/label/label.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport styled from '@emotion/styled';\nimport { paletteLight as flowColors } from '../../design/skoda/paletteLight.theme';\nimport { forwardRef, useEffect } from 'react';\n/**\n * @description SkodaFlow Label component.\n * @param props LabelProps\n * @returns React Functional component\n */\nexport const Label = forwardRef((_a, ref) => {\n var { label, children } = _a, props = __rest(_a, [\"label\", \"children\"]);\n const text = label ? label : children;\n useEffect(() => { }, [props]);\n return (_jsx(LabelStyled, Object.assign({}, props, { ref: ref, \"data-testid\": \"Label\", children: text })));\n});\n/**\n * @description Label styling definition\n */\nconst LabelStyled = styled.span `\n font-size: 11px;\n line-height: 12px;\n letter-spacing: 3px;\n text-transform: uppercase;\n font-weight: 900;\n margin: 0px 15px;\n white-space: nowrap;\n text-rendering: geometricPrecision;\n color: ${flowColors.onSurface.os500};\n`;\n//# sourceMappingURL=label.js.map"],"names":["Label","forwardRef","_a","ref","label","children","props","__rest","text","useEffect","_jsx","LabelStyled","Object","assign","styled","span","flowColors","paletteLight","onSurface","os500"],"mappings":"uOAUY,MAACA,EAAQC,EAAUA,YAAC,CAACC,EAAIC,KACjC,IAAIC,MAAEA,EAAKC,SAAEA,GAAaH,EAAII,EAAQC,EAAMA,OAACL,EAAI,CAAC,QAAS,aAC3D,MAAMM,EAAOJ,GAAgBC,EAE7B,OADAI,EAAAA,WAAU,QAAW,CAACH,IACdI,EAAAA,IAAKC,EAAaC,OAAOC,OAAO,CAAA,EAAIP,EAAO,CAAEH,IAAKA,EAAK,cAAe,QAASE,SAAUG,IAAU,IAKzGG,EAAcG,EAAAA,QAAOC,IAAK;;;;;;;;;WASrBC,EAAUC,aAACC,UAAUC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labelFeature.js","sources":["../../../../src/components/labelFeature/labelFeature.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { forwardRef } from 'react';\nimport styled from '@emotion/styled';\nimport { Label } from '../label';\nimport { paletteLight as flowColors } from '../../design/skoda/paletteLight.theme';\nimport { VariantType } from '../../utils/enum';\n/**\n * @description Styled SkodaFlow LabelFeature component.\n * @param props LabelFeatureProps\n * @returns React Function Component\n */\nexport const LabelFeature = forwardRef((_a, ref) => {\n var { children, label, variant = 'primary' } = _a, props = __rest(_a, [\"children\", \"label\", \"variant\"]);\n return (_jsx(LabelFeatureStyled, Object.assign({}, props, { ref: ref, variant: variant, label: label, children: children })));\n});\n/**\n * @description LabelFeature styling defintion\n */\nconst LabelFeatureStyled = styled(Label) `\
|
|
1
|
+
{"version":3,"file":"labelFeature.js","sources":["../../../../src/components/labelFeature/labelFeature.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { forwardRef } from 'react';\nimport styled from '@emotion/styled';\nimport { Label } from '../label';\nimport { paletteLight as flowColors } from '../../design/skoda/paletteLight.theme';\nimport { VariantType } from '../../utils/enum';\n/**\n * @description Styled SkodaFlow LabelFeature component.\n * @param props LabelFeatureProps\n * @returns React Function Component\n */\nexport const LabelFeature = forwardRef((_a, ref) => {\n var { children, label, variant = 'primary' } = _a, props = __rest(_a, [\"children\", \"label\", \"variant\"]);\n return (_jsx(LabelFeatureStyled, Object.assign({}, props, { ref: ref, variant: variant, label: label, children: children })));\n});\n/**\n * @description LabelFeature styling defintion\n */\nconst LabelFeatureStyled = styled(Label) `\n --flow-label-color: ${(props) => {\n switch (props.variant) {\n case VariantType.PRIMARY:\n return flowColors.brand.tertiary;\n case VariantType.NEUTRAL:\n return flowColors.onSurface.os500;\n default:\n return flowColors[props.variant] ? flowColors[props.variant] : flowColors.brand.secondary;\n }\n}};\n color: ${flowColors.onSurface.os0};\n background-color: var(--flow-label-color);\n padding: 4px 8px 4px 10px;\n border-radius: 2px;\n display: inline;\n`;\n//# sourceMappingURL=labelFeature.js.map"],"names":["LabelFeature","forwardRef","_a","ref","children","label","variant","props","__rest","_jsx","LabelFeatureStyled","Object","assign","styled","Label","VariantType","PRIMARY","flowColors","paletteLight","brand","tertiary","NEUTRAL","onSurface","os500","secondary","os0"],"mappings":"uSAYY,MAACA,EAAeC,EAAUA,YAAC,CAACC,EAAIC,KACxC,IAAIC,SAAEA,EAAQC,MAAEA,EAAKC,QAAEA,EAAU,WAAcJ,EAAIK,EAAQC,EAAMA,OAACN,EAAI,CAAC,WAAY,QAAS,YAC5F,OAAQO,EAAAA,IAAKC,EAAoBC,OAAOC,OAAO,CAAE,EAAEL,EAAO,CAAEJ,IAAKA,EAAKG,QAASA,EAASD,MAAOA,EAAOD,SAAUA,IAAc,IAK5HM,EAAqBG,EAAAA,QAAOC,EAAKA,MAAE;wBAChBP,IACrB,OAAQA,EAAMD,SACV,KAAKS,EAAWA,YAACC,QACb,OAAOC,EAAUC,aAACC,MAAMC,SAC5B,KAAKL,EAAWA,YAACM,QACb,OAAOJ,EAAUC,aAACI,UAAUC,MAChC,QACI,OAAON,eAAWV,EAAMD,SAAWW,EAAUC,aAACX,EAAMD,SAAWW,EAAAA,aAAWE,MAAMK,UACvF;WAEMP,EAAUC,aAACI,UAAUG;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labelStatus.js","sources":["../../../../src/components/labelStatus/labelStatus.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { forwardRef } from 'react';\nimport styled from '@emotion/styled';\nimport { Label } from '../label';\nimport { paletteLight as flowColors } from '../../design/skoda/paletteLight.theme';\n/**\n * @description Styled SkodaFlow LabelStatus component\n * @param props LabelStatusProps\n * @returns React Functional Component\n * @deprecated Use Indicator component instead\n */\nexport const LabelStatus = forwardRef((_a, ref) => {\n var { children, label, variant = 'positive' } = _a, props = __rest(_a, [\"children\", \"label\", \"variant\"]);\n return (_jsx(LabelStatusStyled, Object.assign({ className: 'labelStatus' }, props, { ref: ref, variant: variant, label: label, \"data-testid\": \"LabelStatus\", children: children })));\n});\n/**\n * LabelStatus styling defintion\n */\nconst LabelStatusStyled = styled(Label) `\
|
|
1
|
+
{"version":3,"file":"labelStatus.js","sources":["../../../../src/components/labelStatus/labelStatus.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { forwardRef } from 'react';\nimport styled from '@emotion/styled';\nimport { Label } from '../label';\nimport { paletteLight as flowColors } from '../../design/skoda/paletteLight.theme';\n/**\n * @description Styled SkodaFlow LabelStatus component\n * @param props LabelStatusProps\n * @returns React Functional Component\n * @deprecated Use Indicator component instead\n */\nexport const LabelStatus = forwardRef((_a, ref) => {\n var { children, label, variant = 'positive' } = _a, props = __rest(_a, [\"children\", \"label\", \"variant\"]);\n return (_jsx(LabelStatusStyled, Object.assign({ className: 'labelStatus' }, props, { ref: ref, variant: variant, label: label, \"data-testid\": \"LabelStatus\", children: children })));\n});\n/**\n * LabelStatus styling defintion\n */\nconst LabelStatusStyled = styled(Label) `\n --flow-label-color: ${(props) => {\n switch (props.variant) {\n case 'alert':\n return flowColors.alert['main'];\n case 'warning':\n return flowColors.warning['main'];\n case 'positive':\n return flowColors.positive['main'];\n default:\n return flowColors[props.variant] ? flowColors[props.variant] : props.variant;\n }\n}};\n color: ${flowColors.text.primary};\n &::before {\n content: '';\n width: 10px;\n height: 10px;\n border-radius: 50%;\n margin-right: 8px;\n margin-top: -2px;\n display: inline-block;\n vertical-align: middle;\n background-color: var(--flow-label-color);\n }\n`;\n//# sourceMappingURL=labelStatus.js.map"],"names":["LabelStatus","forwardRef","_a","ref","children","label","variant","props","__rest","_jsx","jsx","LabelStatusStyled","Object","assign","className","styled","Label","flowColors","paletteLight","alert","warning","positive","text","primary"],"mappings":"sQAYY,MAACA,EAAcC,EAAUA,YAAC,CAACC,EAAIC,KACvC,IAAIC,SAAEA,EAAQC,MAAEA,EAAKC,QAAEA,EAAU,YAAeJ,EAAIK,EAAQC,EAAMA,OAACN,EAAI,CAAC,WAAY,QAAS,YAC7F,OAAQO,EAAIC,IAACC,EAAmBC,OAAOC,OAAO,CAAEC,UAAW,eAAiBP,EAAO,CAAEJ,IAAKA,EAAKG,QAASA,EAASD,MAAOA,EAAO,cAAe,cAAeD,SAAUA,IAAc,IAKnLO,EAAoBI,EAAAA,QAAOC,EAAKA,MAAE;wBACfT,IACrB,OAAQA,EAAMD,SACV,IAAK,QACD,OAAOW,EAAUC,aAACC,MAAY,KAClC,IAAK,UACD,OAAOF,EAAUC,aAACE,QAAc,KACpC,IAAK,WACD,OAAOH,EAAUC,aAACG,SAAe,KACrC,QACI,OAAOJ,EAAUC,aAACX,EAAMD,SAAWW,EAAAA,aAAWV,EAAMD,SAAWC,EAAMD,QAC5E;WAEMW,EAAUC,aAACI,KAAKC;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("tslib"),t=require("react/jsx-runtime"),i=require("react"),r=require("@mui/material/styles"),o=require("@mui/material/MenuItem"),l=require("@mui/material/MenuList"),a=require("@mui/material/Paper"),n=require("@mui/material/ListItemText"),s=require("@mui/material/ListItemIcon"),u=require("../checkbox/checkbox.js"),c=require("../toggleSwitch/toggleSwitch.js"),g=require("../icon/icon.js");require("../icon/icon.definitions.js");var p=require("@mui/material/Divider"),d=require("@mui/material"),h=require("../flag/flag.js");function m(e){return e&&e.__esModule?e:{default:e}}var x=m(o),f=m(l),
|
|
1
|
+
"use strict";var e=require("tslib"),t=require("react/jsx-runtime"),i=require("react"),r=require("@mui/material/styles"),o=require("@mui/material/MenuItem"),l=require("@mui/material/MenuList"),a=require("@mui/material/Paper"),n=require("@mui/material/ListItemText"),s=require("@mui/material/ListItemIcon"),u=require("../checkbox/checkbox.js"),c=require("../toggleSwitch/toggleSwitch.js"),g=require("../icon/icon.js");require("../icon/icon.definitions.js");var p=require("@mui/material/Divider"),d=require("@mui/material"),h=require("../flag/flag.js");function m(e){return e&&e.__esModule?e:{default:e}}var x=m(o),f=m(l),b=m(a),j=m(n),S=m(s),v=m(p);const M=i.forwardRef(((r,o)=>{var{setIsOpen:l,reactHook:a,items:n,hasIcon:s,multipleSelection:p,groupToggleSelection:m,groupLabel:b="",toggleLabel:M}=r,I=e.__rest(r,["setIsOpen","reactHook","items","hasIcon","multipleSelection","groupToggleSelection","groupLabel","toggleLabel"]);const{state:k,setState:q}=a,[L,T]=i.useState(!1),w=i.useCallback((()=>{((e,t,i,r)=>{const o=!e;i((()=>o?[...t]:[])),r(o)})(L,n,q,T)}),[n,q,L]),C=i.useCallback(((e,t)=>{((e,t,i,r,o,l)=>{const a=e?r.includes(i):r.find((e=>e.value.toString()===i)),n=e?[i]:l.filter((e=>e.value.toString()===i));o(t?a?r.filter((t=>e?t!==i:t.value.toString()!==i)):e=>[...n,...e]:a?[]:n)})(t,p,e.currentTarget.id,k,q,n)}),[n,k,p,q]),O=i.useCallback(((e,i)=>{const r=e?k.includes(i):k.some((e=>e.value===i.value)),o=e?i:i.title,l=e?i:i.value;return t.jsxs(x.default,{id:l,selected:r,onClick:t=>C(t,e),children:[s&&!e&&t.jsx(S.default,{children:t.jsx(h.Flag,{flag:i.flag,title:i.title})}),t.jsx(j.default,{children:t.jsx(d.Typography,{noWrap:!0,children:o})}),p&&t.jsx(u.Checkbox,{checked:r})]},l)}),[k,s,p,C]);return i.useEffect((()=>{((e,t,i,r,o)=>{e&&t&&(r.length===i.length&&o(!0),r.length<i.length&&o(!1))})(p,m,n,k,T)}),[m,n,k,p]),t.jsxs(y,Object.assign({},I,{ref:o,groupLabel:b,groupToggleSelection:m,multipleSelection:p.toString(),sx:b||m&&p?{paddingTop:"0px"}:{},children:[b.length>0&&t.jsxs(t.Fragment,{children:[t.jsxs(x.default,{children:[t.jsx(j.default,{children:t.jsx(d.Typography,{noWrap:!0,children:b})}),t.jsx(S.default,{onClick:()=>l(!1),children:t.jsx(g.Icon,{name:"close"})})]}),t.jsx(v.default,{variant:"middle"})]}),p&&m&&t.jsx(t.Fragment,{children:t.jsxs(x.default,{className:"menu-select-all",children:[t.jsx(j.default,{children:M||"Select all"}),t.jsx(c.ToggleSwitch,{onClick:w,checked:L})]})}),t.jsx(f.default,{children:n.map((e=>O("string"==typeof e,e)))})]}))})),y=r.styled(b.default,{shouldForwardProp:e=>"multipleSelection"!==e&&"groupLabel"!==e&&"groupToggleSelection"!==e})((t=>{var{theme:i}=t;const r=e.__rest(t,["theme"]);let o={};const l={height:"48px",padding:"0px 24px"};return"true"===r.multipleSelection&&(l.paddingRight="16px"),o=Object.assign(Object.assign({},o),{boxShadow:"0px 3px 8px rgba(0, 0, 0, 0.15)","& .MuiList-root":{maxHeight:"240px",overflow:"overlay",padding:"0px",borderRadius:"4px"},"& .MuiTypography-root":{fontSize:"16px",lineHeight:"24px",color:i.palette.onSurface.os900,fontWeight:"500",paddingRight:0},"& li > .MuiListItemIcon-root":{minWidth:"0px",marginRight:"16px"},"& .MuiDivider-root":{marginTop:"0px",marginBottom:"0px"},"& li.menu-select-all":{"& .MuiTypography-root":{textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"},"&:hover":{backgroundColor:i.palette.onSurface.os0}},"& .MuiMenuItem-root":l,"& .MuiFormControlLabel-root":{marginLeft:"16px",marginRight:0}}),r.groupLabel&&r.groupLabel.length>0?o=Object.assign(Object.assign({},o),{"& > .MuiMenuItem-root:first-of-type":{borderRadius:"4px",paddingRight:"21px","& .MuiTypography-root":{fontWeight:"700"},"& .MuiListItemIcon-root":{marginRight:"0px",color:i.palette.onSurface.os900,"& .MuiIcon-root:before":{position:"relative",top:"-3px"}},"&:hover":{backgroundColor:`${i.palette.background.primary}`}}}):r.multipleSelection&&r.groupToggleSelection&&(o=Object.assign(Object.assign({},o),{"& > .MuiMenuItem-root:first-of-type":{borderRadius:"4px"}})),o}));exports.Menu=M;
|
|
2
2
|
//# sourceMappingURL=menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sources":["../../../../src/components/menu/menu.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useCallback, useEffect, useState } from 'react';\nimport { styled } from '@mui/material/styles';\nimport MenuItem from '@mui/material/MenuItem';\nimport MenuList from '@mui/material/MenuList';\nimport MuiPaper from '@mui/material/Paper';\nimport ListItemText from '@mui/material/ListItemText';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport { Checkbox } from '../checkbox';\nimport { ToggleSwitch } from '../toggleSwitch';\nimport { Icon } from '../icon';\nimport Divider from '@mui/material/Divider';\nimport { Typography } from '@mui/material';\nimport { Flag } from '../flag';\n/**\n * @description SkodaFlow Menu component.\n * Properties are inherited from HTML Div element.\n * @param props PaperProps\n * @returns React Functional Component\n */\n/**\n * @function onToggleClickHandler\n * @description Set itemsstate and toggle checked on toggle click.\n */\nconst onToggleClickHandler = (currToggleChecked, initItems, setItems, setToggle) => {\n const expectedFutureToggleCheckedState = !currToggleChecked;\n setItems(() => (expectedFutureToggleCheckedState ? [...initItems] : []));\n setToggle(expectedFutureToggleCheckedState);\n};\n/**\n * @function onMenuItemClickHandler\n * @description Set itemsstate on menu item click.\n */\nconst onMenuItemClickHandler = (isString, multipleSelection, id, itemsState, setItemsState, initItems) => {\n const itemExist = isString ? itemsState.includes(id) : itemsState.find((item) => item.value.toString() === id);\n const newItem = isString\n ? [id]\n : initItems.filter((item) => item.value.toString() === id);\n //if the menu is not multiple selection\n if (!multipleSelection) {\n //if the item is already selected (itemExist === true): return an empty array (deselect item)\n //else return the new item selected (object or string depending on the array of items passed)\n if (itemExist) {\n setItemsState([]);\n }\n else {\n setItemsState(newItem);\n }\n }\n //if the menu is multiple selection\n else {\n if (itemExist) {\n const listWithoutItem = itemsState.filter((item) => (isString ? item !== id : item.value.toString() !== id));\n setItemsState(listWithoutItem);\n }\n else {\n setItemsState((prevArr) => [...newItem, ...prevArr]);\n }\n }\n};\n/**\n * @function setToggle\n * @description Set toggle based on menu items change.\n */\nconst setToggle = (multipleSelection, groupToggleSelection, initItems, itemsState, setToggleChecked) => {\n if (multipleSelection && groupToggleSelection) {\n if (itemsState.length === initItems.length)\n setToggleChecked(true);\n if (itemsState.length < initItems.length)\n setToggleChecked(false);\n }\n};\nexport const Menu = forwardRef((_a, ref) => {\n var { setIsOpen, reactHook, items, hasIcon, multipleSelection, groupToggleSelection, groupLabel = '', toggleLabel } = _a, props = __rest(_a, [\"setIsOpen\", \"reactHook\", \"items\", \"hasIcon\", \"multipleSelection\", \"groupToggleSelection\", \"groupLabel\", \"toggleLabel\"]);\n const { state: itemsState, setState: setItemsState } = reactHook;\n const [toggleChecked, setToggleChecked] = useState(false);\n const onToggleClickHandlerWithUseCallback = useCallback(() => {\n onToggleClickHandler(toggleChecked, items, setItemsState, setToggleChecked);\n }, [items, setItemsState, toggleChecked]);\n //callback fired when an item in the menu list is clicked\n const onMenuItemClickHandlerWithUseCallback = useCallback((e, isString) => {\n onMenuItemClickHandler(isString, multipleSelection, e.currentTarget.id, itemsState, setItemsState, items);\n }, [items, itemsState, multipleSelection, setItemsState]);\n //Return the menuItem depending on the type of the item (string or MenuItemObject)\n const handleTypeItem = useCallback((isString, item) => {\n const selected = isString\n ? itemsState.includes(item)\n : itemsState.some((itemState) => itemState.value === item.value);\n const title = isString ? item : item.title;\n const id = isString ? item : item.value;\n return (_jsxs(MenuItem, { id: id, selected: selected, onClick: (e) => onMenuItemClickHandlerWithUseCallback(e, isString), children: [hasIcon && !isString && (_jsx(ListItemIcon, { children: _jsx(Flag, { flag: item.flag, title: item.title }) })), _jsx(ListItemText, { children: _jsx(Typography, { noWrap: true, children: title }) }), multipleSelection && _jsx(Checkbox, { checked: selected })] }, id));\n }, [itemsState, hasIcon, multipleSelection, onMenuItemClickHandlerWithUseCallback]);\n useEffect(() => {\n setToggle(multipleSelection, groupToggleSelection, items, itemsState, setToggleChecked);\n }, [groupToggleSelection, items, itemsState, multipleSelection]);\n return (_jsxs(PaperStyled, Object.assign({}, props, { ref: ref, groupLabel: groupLabel, groupToggleSelection: groupToggleSelection, multipleSelection: multipleSelection.toString(), sx: groupLabel || (groupToggleSelection && multipleSelection) ? { paddingTop: '0px' } : {}, children: [groupLabel.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(MenuItem, { children: [_jsx(ListItemText, { children: _jsx(Typography, { noWrap: true, children: groupLabel }) }), _jsx(ListItemIcon, { onClick: () => setIsOpen(false), children: _jsx(Icon, { name: \"close\" }) })] }), _jsx(Divider, { variant: \"middle\" })] })), multipleSelection && groupToggleSelection && (_jsx(_Fragment, { children: _jsxs(MenuItem, { className: \"menu-select-all\", children: [_jsx(ListItemText, { children: toggleLabel ? toggleLabel : 'Select all' }), _jsx(ToggleSwitch, { onClick: onToggleClickHandlerWithUseCallback, checked: toggleChecked })] }) })), _jsx(MenuList, { children: items.map((item) => {\n const isString = typeof item === 'string';\n return handleTypeItem(isString, item);\n }) })] })));\n});\n/**\n * @description Menu styling defintion based on props\n */\nconst PaperStyled = styled(MuiPaper, {\n shouldForwardProp: (prop) => prop !== 'multipleSelection' && prop !== 'groupLabel' && prop !== 'groupToggleSelection',\n})((_a) => {\n var { theme } = _a, args = __rest(_a, [\"theme\"]);\n const props = args;\n let styles = {};\n const hasmultipleSelection = props.multipleSelection === 'true';\n const itemStyles = {\n height: '48px',\n padding: '0px 24px',\n };\n if (hasmultipleSelection)\n itemStyles.paddingRight = '16px';\n styles = Object.assign(Object.assign({}, styles), { boxShadow: '0px 3px 8px rgba(0, 0, 0, 0.15)', '& .MuiList-root': {\n maxHeight: '240px',\n overflow: 'overlay',\n padding: '0px',\n borderRadius: '4px',\n }, '& .MuiTypography-root': {\n fontSize: '16px',\n lineHeight: '24px',\n color: theme.palette.onSurface.os900,\n fontWeight: '500',\n paddingRight: '16px',\n }, '& li > .MuiListItemIcon-root': {\n minWidth: '0px',\n marginRight: '16px',\n }, '& .MuiDivider-root': {\n marginTop: '0px',\n marginBottom: '0px',\n }, '& li.menu-select-all': {\n '& .MuiTypography-root': {\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n },\n '&:hover': {\n backgroundColor: theme.palette.onSurface.os0,\n },\n }, '& .MuiMenuItem-root': itemStyles });\n if (props.groupLabel && props.groupLabel.length > 0) {\n styles = Object.assign(Object.assign({}, styles), { '& > .MuiMenuItem-root:first-of-type': {\n borderRadius: '4px',\n paddingRight: '21px',\n '& .MuiTypography-root': {\n fontWeight: '700',\n },\n '& .MuiListItemIcon-root': {\n marginRight: '0px',\n color: theme.palette.onSurface.os900,\n '& .MuiIcon-root:before': {\n position: 'relative',\n top: '-3px',\n },\n },\n '&:hover': {\n backgroundColor: `${theme.palette.background.primary}`,\n },\n } });\n }\n else if (props.multipleSelection && props.groupToggleSelection) {\n styles = Object.assign(Object.assign({}, styles), { '& > .MuiMenuItem-root:first-of-type': {\n borderRadius: '4px',\n } });\n }\n return styles;\n});\n//# sourceMappingURL=menu.js.map"],"names":["Menu","forwardRef","_a","ref","setIsOpen","reactHook","items","hasIcon","multipleSelection","groupToggleSelection","groupLabel","toggleLabel","props","__rest","state","itemsState","setState","setItemsState","toggleChecked","setToggleChecked","useState","onToggleClickHandlerWithUseCallback","useCallback","currToggleChecked","initItems","setItems","setToggle","expectedFutureToggleCheckedState","onToggleClickHandler","onMenuItemClickHandlerWithUseCallback","e","isString","id","itemExist","includes","find","item","value","toString","newItem","filter","prevArr","onMenuItemClickHandler","currentTarget","handleTypeItem","selected","some","itemState","title","_jsxs","MenuItem","onClick","children","_jsx","jsx","ListItemIcon","default","Flag","flag","ListItemText","Typography","noWrap","Checkbox","checked","useEffect","length","PaperStyled","Object","assign","sx","paddingTop","_Fragment","jsxs","Icon","name","Divider","variant","className","ToggleSwitch","MenuList","map","styled","MuiPaper","shouldForwardProp","prop","theme","styles","itemStyles","height","padding","paddingRight","boxShadow","maxHeight","overflow","borderRadius","fontSize","lineHeight","color","palette","onSurface","os900","fontWeight","minWidth","marginRight","marginTop","marginBottom","textOverflow","whiteSpace","backgroundColor","os0","position","top","background","primary"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"menu.js","sources":["../../../../src/components/menu/menu.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport { forwardRef, useCallback, useEffect, useState } from 'react';\nimport { styled } from '@mui/material/styles';\nimport MenuItem from '@mui/material/MenuItem';\nimport MenuList from '@mui/material/MenuList';\nimport MuiPaper from '@mui/material/Paper';\nimport ListItemText from '@mui/material/ListItemText';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport { Checkbox } from '../checkbox';\nimport { ToggleSwitch } from '../toggleSwitch';\nimport { Icon } from '../icon';\nimport Divider from '@mui/material/Divider';\nimport { Typography } from '@mui/material';\nimport { Flag } from '../flag';\n/**\n * @description SkodaFlow Menu component.\n * Properties are inherited from HTML Div element.\n * @param props PaperProps\n * @returns React Functional Component\n */\n/**\n * @function onToggleClickHandler\n * @description Set itemsstate and toggle checked on toggle click.\n */\nconst onToggleClickHandler = (currToggleChecked, initItems, setItems, setToggle) => {\n const expectedFutureToggleCheckedState = !currToggleChecked;\n setItems(() => (expectedFutureToggleCheckedState ? [...initItems] : []));\n setToggle(expectedFutureToggleCheckedState);\n};\n/**\n * @function onMenuItemClickHandler\n * @description Set itemsstate on menu item click.\n */\nconst onMenuItemClickHandler = (isString, multipleSelection, id, itemsState, setItemsState, initItems) => {\n const itemExist = isString ? itemsState.includes(id) : itemsState.find((item) => item.value.toString() === id);\n const newItem = isString\n ? [id]\n : initItems.filter((item) => item.value.toString() === id);\n //if the menu is not multiple selection\n if (!multipleSelection) {\n //if the item is already selected (itemExist === true): return an empty array (deselect item)\n //else return the new item selected (object or string depending on the array of items passed)\n if (itemExist) {\n setItemsState([]);\n }\n else {\n setItemsState(newItem);\n }\n }\n //if the menu is multiple selection\n else {\n if (itemExist) {\n const listWithoutItem = itemsState.filter((item) => (isString ? item !== id : item.value.toString() !== id));\n setItemsState(listWithoutItem);\n }\n else {\n setItemsState((prevArr) => [...newItem, ...prevArr]);\n }\n }\n};\n/**\n * @function setToggle\n * @description Set toggle based on menu items change.\n */\nconst setToggle = (multipleSelection, groupToggleSelection, initItems, itemsState, setToggleChecked) => {\n if (multipleSelection && groupToggleSelection) {\n if (itemsState.length === initItems.length)\n setToggleChecked(true);\n if (itemsState.length < initItems.length)\n setToggleChecked(false);\n }\n};\nexport const Menu = forwardRef((_a, ref) => {\n var { setIsOpen, reactHook, items, hasIcon, multipleSelection, groupToggleSelection, groupLabel = '', toggleLabel } = _a, props = __rest(_a, [\"setIsOpen\", \"reactHook\", \"items\", \"hasIcon\", \"multipleSelection\", \"groupToggleSelection\", \"groupLabel\", \"toggleLabel\"]);\n const { state: itemsState, setState: setItemsState } = reactHook;\n const [toggleChecked, setToggleChecked] = useState(false);\n const onToggleClickHandlerWithUseCallback = useCallback(() => {\n onToggleClickHandler(toggleChecked, items, setItemsState, setToggleChecked);\n }, [items, setItemsState, toggleChecked]);\n //callback fired when an item in the menu list is clicked\n const onMenuItemClickHandlerWithUseCallback = useCallback((e, isString) => {\n onMenuItemClickHandler(isString, multipleSelection, e.currentTarget.id, itemsState, setItemsState, items);\n }, [items, itemsState, multipleSelection, setItemsState]);\n //Return the menuItem depending on the type of the item (string or MenuItemObject)\n const handleTypeItem = useCallback((isString, item) => {\n const selected = isString\n ? itemsState.includes(item)\n : itemsState.some((itemState) => itemState.value === item.value);\n const title = isString ? item : item.title;\n const id = isString ? item : item.value;\n return (_jsxs(MenuItem, { id: id, selected: selected, onClick: (e) => onMenuItemClickHandlerWithUseCallback(e, isString), children: [hasIcon && !isString && (_jsx(ListItemIcon, { children: _jsx(Flag, { flag: item.flag, title: item.title }) })), _jsx(ListItemText, { children: _jsx(Typography, { noWrap: true, children: title }) }), multipleSelection && _jsx(Checkbox, { checked: selected })] }, id));\n }, [itemsState, hasIcon, multipleSelection, onMenuItemClickHandlerWithUseCallback]);\n useEffect(() => {\n setToggle(multipleSelection, groupToggleSelection, items, itemsState, setToggleChecked);\n }, [groupToggleSelection, items, itemsState, multipleSelection]);\n return (_jsxs(PaperStyled, Object.assign({}, props, { ref: ref, groupLabel: groupLabel, groupToggleSelection: groupToggleSelection, multipleSelection: multipleSelection.toString(), sx: groupLabel || (groupToggleSelection && multipleSelection) ? { paddingTop: '0px' } : {}, children: [groupLabel.length > 0 && (_jsxs(_Fragment, { children: [_jsxs(MenuItem, { children: [_jsx(ListItemText, { children: _jsx(Typography, { noWrap: true, children: groupLabel }) }), _jsx(ListItemIcon, { onClick: () => setIsOpen(false), children: _jsx(Icon, { name: \"close\" }) })] }), _jsx(Divider, { variant: \"middle\" })] })), multipleSelection && groupToggleSelection && (_jsx(_Fragment, { children: _jsxs(MenuItem, { className: \"menu-select-all\", children: [_jsx(ListItemText, { children: toggleLabel ? toggleLabel : 'Select all' }), _jsx(ToggleSwitch, { onClick: onToggleClickHandlerWithUseCallback, checked: toggleChecked })] }) })), _jsx(MenuList, { children: items.map((item) => {\n const isString = typeof item === 'string';\n return handleTypeItem(isString, item);\n }) })] })));\n});\n/**\n * @description Menu styling defintion based on props\n */\nconst PaperStyled = styled(MuiPaper, {\n shouldForwardProp: (prop) => prop !== 'multipleSelection' && prop !== 'groupLabel' && prop !== 'groupToggleSelection',\n})((_a) => {\n var { theme } = _a, args = __rest(_a, [\"theme\"]);\n const props = args;\n let styles = {};\n const hasmultipleSelection = props.multipleSelection === 'true';\n const itemStyles = {\n height: '48px',\n padding: '0px 24px',\n };\n if (hasmultipleSelection)\n itemStyles.paddingRight = '16px';\n styles = Object.assign(Object.assign({}, styles), { boxShadow: '0px 3px 8px rgba(0, 0, 0, 0.15)', '& .MuiList-root': {\n maxHeight: '240px',\n overflow: 'overlay',\n padding: '0px',\n borderRadius: '4px',\n }, '& .MuiTypography-root': {\n fontSize: '16px',\n lineHeight: '24px',\n color: theme.palette.onSurface.os900,\n fontWeight: '500',\n paddingRight: 0,\n }, '& li > .MuiListItemIcon-root': {\n minWidth: '0px',\n marginRight: '16px',\n }, '& .MuiDivider-root': {\n marginTop: '0px',\n marginBottom: '0px',\n }, '& li.menu-select-all': {\n '& .MuiTypography-root': {\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n },\n '&:hover': {\n backgroundColor: theme.palette.onSurface.os0,\n },\n }, '& .MuiMenuItem-root': itemStyles, '& .MuiFormControlLabel-root': {\n marginLeft: '16px',\n marginRight: 0,\n } });\n if (props.groupLabel && props.groupLabel.length > 0) {\n styles = Object.assign(Object.assign({}, styles), { '& > .MuiMenuItem-root:first-of-type': {\n borderRadius: '4px',\n paddingRight: '21px',\n '& .MuiTypography-root': {\n fontWeight: '700',\n },\n '& .MuiListItemIcon-root': {\n marginRight: '0px',\n color: theme.palette.onSurface.os900,\n '& .MuiIcon-root:before': {\n position: 'relative',\n top: '-3px',\n },\n },\n '&:hover': {\n backgroundColor: `${theme.palette.background.primary}`,\n },\n } });\n }\n else if (props.multipleSelection && props.groupToggleSelection) {\n styles = Object.assign(Object.assign({}, styles), { '& > .MuiMenuItem-root:first-of-type': {\n borderRadius: '4px',\n } });\n }\n return styles;\n});\n//# sourceMappingURL=menu.js.map"],"names":["Menu","forwardRef","_a","ref","setIsOpen","reactHook","items","hasIcon","multipleSelection","groupToggleSelection","groupLabel","toggleLabel","props","__rest","state","itemsState","setState","setItemsState","toggleChecked","setToggleChecked","useState","onToggleClickHandlerWithUseCallback","useCallback","currToggleChecked","initItems","setItems","setToggle","expectedFutureToggleCheckedState","onToggleClickHandler","onMenuItemClickHandlerWithUseCallback","e","isString","id","itemExist","includes","find","item","value","toString","newItem","filter","prevArr","onMenuItemClickHandler","currentTarget","handleTypeItem","selected","some","itemState","title","_jsxs","MenuItem","onClick","children","_jsx","jsx","ListItemIcon","default","Flag","flag","ListItemText","Typography","noWrap","Checkbox","checked","useEffect","length","PaperStyled","Object","assign","sx","paddingTop","_Fragment","jsxs","Icon","name","Divider","variant","className","ToggleSwitch","MenuList","map","styled","MuiPaper","shouldForwardProp","prop","theme","styles","itemStyles","height","padding","paddingRight","boxShadow","maxHeight","overflow","borderRadius","fontSize","lineHeight","color","palette","onSurface","os900","fontWeight","minWidth","marginRight","marginTop","marginBottom","textOverflow","whiteSpace","backgroundColor","os0","marginLeft","position","top","background","primary"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var t=require("tslib"),a=require("react/jsx-runtime"),e=require("react"),o=require("@mui/material/styles"),i=require("@mui/material/Modal"),n=require("../button/button.js"),d=require("../icon/icon.js");require("../icon/icon.definitions.js");var s=require("./contentDiv.js"),r=require("@mui/material");function l(t){return t&&t.__esModule?t:{default:t}}var c=l(i);const u=e.forwardRef(((o,i)=>{var{children:l,open:c,handleClose:u,onClickTopButton:m,onClickBottomButton:x,ariaLabelledby:b,ariaDescribedBy:h,firstButton:g,secondButton:B,hasCloseButton:f,size:v,firstButtonVariant:C,secondButtonVariant:j,secondButtonVisible:k,defaultButtonSection:w=!0,maxWidth:W,modalLoadedCallback:
|
|
1
|
+
"use strict";var t=require("tslib"),a=require("react/jsx-runtime"),e=require("react"),o=require("@mui/material/styles"),i=require("@mui/material/Modal"),n=require("../button/button.js"),d=require("../icon/icon.js");require("../icon/icon.definitions.js");var s=require("./contentDiv.js"),r=require("@mui/material");function l(t){return t&&t.__esModule?t:{default:t}}var c=l(i);const u=e.forwardRef(((o,i)=>{var{children:l,open:c,handleClose:u,onClickTopButton:m,onClickBottomButton:x,ariaLabelledby:b,ariaDescribedBy:h,firstButton:g,secondButton:B,hasCloseButton:f,size:v,firstButtonVariant:C,secondButtonVariant:j,secondButtonVisible:k,defaultButtonSection:w=!0,maxWidth:W,modalLoadedCallback:F,disableAutoFocus:M,disableEnforceFocus:q}=o,y=t.__rest(o,["children","open","handleClose","onClickTopButton","onClickBottomButton","ariaLabelledby","ariaDescribedBy","firstButton","secondButton","hasCloseButton","size","firstButtonVariant","secondButtonVariant","secondButtonVisible","defaultButtonSection","maxWidth","modalLoadedCallback","disableAutoFocus","disableEnforceFocus"]);const[T,z]=e.useState(!1),[S,V]=e.useState(!1),_=r.useTheme();e.useEffect((()=>{const t=window.matchMedia(`(min-width: ${_.breakpoints.values.md}px)`);V(t.matches)}),[_.breakpoints.values.md]);const D=e.useCallback((()=>{if(S&&"large"===(v||"large"))return!1}),[S,v]);return a.jsx(p,Object.assign({},y,{ref:i,open:c,size:v,onClose:u,isOverFlowing:T,"aria-labelledby":b,"aria-describedby":h,compactButtons:D(),maxWidth:W,"data-testid":"Modal",disableEnforceFocus:q,disableAutoFocus:M,dir:_.direction,children:a.jsxs("div",{className:"modal-container","data-testid":"Modal.container",children:[f&&a.jsx("button",{onClick:u,"data-testid":"Modal.close",children:a.jsx(d.Icon,{name:"close",fontSize:"medium"})}),a.jsx(s.ContentDiv,{setIsOverFlowing:z,className:"modal-container--content",modalLoadedCallback:F,"data-testid":"Modal.content",children:l}),w&&a.jsxs("div",{className:"modal-container--action-buttons","data-testid":"Modal.buttons",children:[a.jsx(n.Button,{label:g,onClick:m,fullWidth:!0,variant:C,compact:D(),"data-testid":"Modal.button1","data-variant":C}),k&&a.jsx(n.Button,{label:B,onClick:x,fullWidth:!0,variant:j,compact:D(),"data-testid":"Modal.button2","data-variant":j})]})]})}))})),p=o.styled(c.default,{shouldForwardProp:t=>"compactButtons"!==t&&"isOverFlowing"!==t&&"maxWidth"!==t})((a=>{var{theme:e}=a,o=t.__rest(a,["theme"]);const i=o.compactButtons?"16px":"24px",n=o.maxWidth?o.maxWidth:"calc(100% - 40px)",d="large"===(o.size||"large"),s=o.size&&"full-width"===o.size,r=d?{maxWidth:"624px",marginTop:"40px",padding:"40px"}:s?{maxWidth:n,marginTop:"40px",padding:"40px"}:{maxWidth:"408px",marginTop:"48px",padding:"24px 40px 40px 40px"};return{"& .modal-container":{maxHeight:"calc(100vh - 64px)",minHeight:"300px",display:"flex",flexDirection:"column","&--content":{overflowX:"hidden",overflowY:"auto",marginTop:"48px",padding:"0px 24px"},"&--action-buttons":{padding:"32px 24px",paddingBottom:i,boxShadow:o.isOverFlowing?"0px 0px 32px rgba(0, 0, 0, 0.15)":null,"div:first-of-type":{marginBottom:"15px"}}},[e.breakpoints.up("md")]:{"& .modal-container":{maxHeight:"calc(100vh - 160px)",margin:"0px",width:"100%",maxWidth:r.maxWidth,"&--content":{marginTop:r.marginTop,padding:"0px 40px"},"&--action-buttons":{padding:r.padding,paddingBottom:i}}}}}));exports.Modal=u;
|
|
2
2
|
//# sourceMappingURL=modal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modal.js","sources":["../../../../src/components/modal/modal.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useCallback, useEffect, useState, forwardRef } from 'react';\nimport { styled } from '@mui/material/styles';\nimport MuiModal from '@mui/material/Modal';\nimport { Button } from '../button';\nimport { Icon } from '../icon';\nimport { ContentDiv } from './contentDiv';\nimport { useTheme } from '@mui/material';\n/**\n * @description Styled SkodaFlow Modal component\n * @param props ModalProps\n * @returns React Functional Component\n */\nexport const Modal = forwardRef((_a, ref) => {\n var { children, open, handleClose, onClickTopButton, onClickBottomButton, ariaLabelledby, ariaDescribedBy, firstButton, secondButton, hasCloseButton, size, firstButtonVariant, secondButtonVariant, secondButtonVisible, defaultButtonSection = true, maxWidth, modalLoadedCallback, disableAutoFocus, disableEnforceFocus } = _a, props = __rest(_a, [\"children\", \"open\", \"handleClose\", \"onClickTopButton\", \"onClickBottomButton\", \"ariaLabelledby\", \"ariaDescribedBy\", \"firstButton\", \"secondButton\", \"hasCloseButton\", \"size\", \"firstButtonVariant\", \"secondButtonVariant\", \"secondButtonVisible\", \"defaultButtonSection\", \"maxWidth\", \"modalLoadedCallback\", \"disableAutoFocus\", \"disableEnforceFocus\"]);\n const [isOverFlowing, setIsOverFlowing] = useState(false);\n const [desktopView, setDesktopView] = useState(false);\n const theme = useTheme();\n useEffect(() => {\n const mq = window.matchMedia(`(min-width: ${theme.breakpoints.values.md}px)`);\n setDesktopView(mq.matches);\n }, [theme.breakpoints.values.md]);\n const isCompactButton = useCallback(() => {\n const isModalLarge = (size || 'large') === 'large';\n if (desktopView && isModalLarge)\n return false;\n }, [desktopView, size]);\n return (_jsx(ModalStyled, Object.assign({}, props, { ref: ref, open: open, size: size, onClose: handleClose, isOverFlowing: isOverFlowing, \"aria-labelledby\": ariaLabelledby, \"aria-describedby\": ariaDescribedBy, compactButtons: isCompactButton(), maxWidth: maxWidth, \"data-testid\": \"Modal\", disableEnforceFocus: disableEnforceFocus, disableAutoFocus: disableAutoFocus, children: _jsxs(\"div\", { className: \"modal-container\", \"data-testid\": \"Modal.container\", children: [hasCloseButton && (_jsx(\"button\", { onClick: handleClose, \"data-testid\": \"Modal.close\", children: _jsx(Icon, { name: \"close\", fontSize: \"medium\" }) })), _jsx(ContentDiv, { setIsOverFlowing: setIsOverFlowing, className: \"modal-container--content\", modalLoadedCallback: modalLoadedCallback, \"data-testid\": \"Modal.content\", children: children }), defaultButtonSection && (_jsxs(\"div\", { className: \"modal-container--action-buttons\", \"data-testid\": \"Modal.buttons\", children: [_jsx(Button, { label: firstButton, onClick: onClickTopButton, fullWidth: true, variant: firstButtonVariant, compact: isCompactButton(), \"data-testid\": \"Modal.button1\", \"data-variant\": firstButtonVariant }), secondButtonVisible && (_jsx(Button, { label: secondButton, onClick: onClickBottomButton, fullWidth: true, variant: secondButtonVariant, compact: isCompactButton(), \"data-testid\": \"Modal.button2\", \"data-variant\": secondButtonVariant }))] }))] }) })));\n});\n/**\n * @description Modal styling definition\n */\nconst ModalStyled = styled(MuiModal, {\n shouldForwardProp: (prop) => prop !== 'compactButtons' && prop !== 'isOverFlowing' && prop !== 'maxWidth',\n})((_a) => {\n var { theme } = _a, args = __rest(_a, [\"theme\"]);\n const bottomButtonPadding = args.compactButtons ? '16px' : '24px';\n const smallModalWidth = '408px';\n const largeModalWidth = '624px';\n const fullWidthModal = args.maxWidth ? args.maxWidth : 'calc(100% - 40px)';\n const isModalLarge = (args.size || 'large') === 'large';\n const isModalFullWidth = args.size && args.size === 'full-width';\n const sizeBasedStyles = isModalLarge\n ? { maxWidth: largeModalWidth, marginTop: '40px', padding: '40px' }\n : isModalFullWidth\n ? { maxWidth: fullWidthModal, marginTop: '40px', padding: '40px' }\n : {\n maxWidth: smallModalWidth,\n marginTop: '48px',\n padding: '24px 40px 40px 40px',\n };\n return {\n '& .modal-container': {\n maxHeight: 'calc(100vh - 64px)',\n minHeight: '300px',\n display: 'flex',\n flexDirection: 'column',\n '&--content': {\n overflowX: 'hidden',\n overflowY: '
|
|
1
|
+
{"version":3,"file":"modal.js","sources":["../../../../src/components/modal/modal.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useCallback, useEffect, useState, forwardRef } from 'react';\nimport { styled } from '@mui/material/styles';\nimport MuiModal from '@mui/material/Modal';\nimport { Button } from '../button';\nimport { Icon } from '../icon';\nimport { ContentDiv } from './contentDiv';\nimport { useTheme } from '@mui/material';\n/**\n * @description Styled SkodaFlow Modal component\n * @param props ModalProps\n * @returns React Functional Component\n */\nexport const Modal = forwardRef((_a, ref) => {\n var { children, open, handleClose, onClickTopButton, onClickBottomButton, ariaLabelledby, ariaDescribedBy, firstButton, secondButton, hasCloseButton, size, firstButtonVariant, secondButtonVariant, secondButtonVisible, defaultButtonSection = true, maxWidth, modalLoadedCallback, disableAutoFocus, disableEnforceFocus } = _a, props = __rest(_a, [\"children\", \"open\", \"handleClose\", \"onClickTopButton\", \"onClickBottomButton\", \"ariaLabelledby\", \"ariaDescribedBy\", \"firstButton\", \"secondButton\", \"hasCloseButton\", \"size\", \"firstButtonVariant\", \"secondButtonVariant\", \"secondButtonVisible\", \"defaultButtonSection\", \"maxWidth\", \"modalLoadedCallback\", \"disableAutoFocus\", \"disableEnforceFocus\"]);\n const [isOverFlowing, setIsOverFlowing] = useState(false);\n const [desktopView, setDesktopView] = useState(false);\n const theme = useTheme();\n useEffect(() => {\n const mq = window.matchMedia(`(min-width: ${theme.breakpoints.values.md}px)`);\n setDesktopView(mq.matches);\n }, [theme.breakpoints.values.md]);\n const isCompactButton = useCallback(() => {\n const isModalLarge = (size || 'large') === 'large';\n if (desktopView && isModalLarge)\n return false;\n }, [desktopView, size]);\n return (_jsx(ModalStyled, Object.assign({}, props, { ref: ref, open: open, size: size, onClose: handleClose, isOverFlowing: isOverFlowing, \"aria-labelledby\": ariaLabelledby, \"aria-describedby\": ariaDescribedBy, compactButtons: isCompactButton(), maxWidth: maxWidth, \"data-testid\": \"Modal\", disableEnforceFocus: disableEnforceFocus, disableAutoFocus: disableAutoFocus, dir: theme.direction, children: _jsxs(\"div\", { className: \"modal-container\", \"data-testid\": \"Modal.container\", children: [hasCloseButton && (_jsx(\"button\", { onClick: handleClose, \"data-testid\": \"Modal.close\", children: _jsx(Icon, { name: \"close\", fontSize: \"medium\" }) })), _jsx(ContentDiv, { setIsOverFlowing: setIsOverFlowing, className: \"modal-container--content\", modalLoadedCallback: modalLoadedCallback, \"data-testid\": \"Modal.content\", children: children }), defaultButtonSection && (_jsxs(\"div\", { className: \"modal-container--action-buttons\", \"data-testid\": \"Modal.buttons\", children: [_jsx(Button, { label: firstButton, onClick: onClickTopButton, fullWidth: true, variant: firstButtonVariant, compact: isCompactButton(), \"data-testid\": \"Modal.button1\", \"data-variant\": firstButtonVariant }), secondButtonVisible && (_jsx(Button, { label: secondButton, onClick: onClickBottomButton, fullWidth: true, variant: secondButtonVariant, compact: isCompactButton(), \"data-testid\": \"Modal.button2\", \"data-variant\": secondButtonVariant }))] }))] }) })));\n});\n/**\n * @description Modal styling definition\n */\nconst ModalStyled = styled(MuiModal, {\n shouldForwardProp: (prop) => prop !== 'compactButtons' && prop !== 'isOverFlowing' && prop !== 'maxWidth',\n})((_a) => {\n var { theme } = _a, args = __rest(_a, [\"theme\"]);\n const bottomButtonPadding = args.compactButtons ? '16px' : '24px';\n const smallModalWidth = '408px';\n const largeModalWidth = '624px';\n const fullWidthModal = args.maxWidth ? args.maxWidth : 'calc(100% - 40px)';\n const isModalLarge = (args.size || 'large') === 'large';\n const isModalFullWidth = args.size && args.size === 'full-width';\n const sizeBasedStyles = isModalLarge\n ? { maxWidth: largeModalWidth, marginTop: '40px', padding: '40px' }\n : isModalFullWidth\n ? { maxWidth: fullWidthModal, marginTop: '40px', padding: '40px' }\n : {\n maxWidth: smallModalWidth,\n marginTop: '48px',\n padding: '24px 40px 40px 40px',\n };\n return {\n '& .modal-container': {\n maxHeight: 'calc(100vh - 64px)',\n minHeight: '300px',\n display: 'flex',\n flexDirection: 'column',\n '&--content': {\n overflowX: 'hidden',\n overflowY: 'auto',\n marginTop: '48px',\n padding: '0px 24px',\n },\n '&--action-buttons': {\n padding: '32px 24px',\n paddingBottom: bottomButtonPadding,\n boxShadow: args.isOverFlowing ? '0px 0px 32px rgba(0, 0, 0, 0.15)' : null,\n 'div:first-of-type': {\n marginBottom: '15px',\n },\n },\n },\n [theme.breakpoints.up('md')]: {\n '& .modal-container': {\n maxHeight: 'calc(100vh - 160px)',\n margin: '0px',\n width: '100%',\n maxWidth: sizeBasedStyles.maxWidth,\n '&--content': {\n marginTop: sizeBasedStyles.marginTop,\n padding: '0px 40px',\n },\n '&--action-buttons': {\n padding: sizeBasedStyles.padding,\n paddingBottom: bottomButtonPadding,\n },\n },\n },\n };\n});\n//# sourceMappingURL=modal.js.map"],"names":["Modal","forwardRef","_a","ref","children","open","handleClose","onClickTopButton","onClickBottomButton","ariaLabelledby","ariaDescribedBy","firstButton","secondButton","hasCloseButton","size","firstButtonVariant","secondButtonVariant","secondButtonVisible","defaultButtonSection","maxWidth","modalLoadedCallback","disableAutoFocus","disableEnforceFocus","props","__rest","isOverFlowing","setIsOverFlowing","useState","desktopView","setDesktopView","theme","useTheme","useEffect","mq","window","matchMedia","breakpoints","values","md","matches","isCompactButton","useCallback","_jsx","jsx","ModalStyled","Object","assign","onClose","compactButtons","dir","direction","_jsxs","jsxs","className","onClick","Icon","name","fontSize","ContentDiv","Button","label","fullWidth","variant","compact","styled","MuiModal","shouldForwardProp","prop","args","bottomButtonPadding","fullWidthModal","isModalLarge","isModalFullWidth","sizeBasedStyles","marginTop","padding","maxHeight","minHeight","display","flexDirection","overflowX","overflowY","paddingBottom","boxShadow","marginBottom","up","margin","width"],"mappings":"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"}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ScopedCssBaselineProps } from '@mui/material';
|
|
3
|
-
import {
|
|
3
|
+
import { Theme } from '@mui/material/styles';
|
|
4
4
|
import './theme.extensions';
|
|
5
5
|
export type SkodaThemeProviderProps = {
|
|
6
6
|
children?: React.ReactNode;
|
|
7
|
-
|
|
7
|
+
/**
|
|
8
|
+
* Theme to be used
|
|
9
|
+
*/
|
|
10
|
+
theme?: Partial<Theme>;
|
|
11
|
+
/**
|
|
12
|
+
* Disable adding extra ScopedCssBaseline as CssBaseline is being used
|
|
13
|
+
*/
|
|
8
14
|
globalBaseline?: boolean;
|
|
9
15
|
} & ScopedCssBaselineProps;
|
|
10
16
|
/**
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("tslib"),r=require("react/jsx-runtime"),i=require("@mui/material"),s=require("./theme.js");exports.SkodaThemeProvider=
|
|
1
|
+
"use strict";var e=require("tslib"),r=require("react/jsx-runtime"),i=require("react"),t=require("@mui/material"),s=require("@emotion/react"),l=require("@emotion/cache"),n=require("stylis"),u=require("stylis-plugin-rtl"),a=require("./theme.js");function c(e){return e&&e.__esModule?e:{default:e}}var d=c(l),o=c(u);exports.SkodaThemeProvider=l=>{var{children:u,theme:c=a.theme,globalBaseline:h=!1}=l,m=e.__rest(l,["children","theme","globalBaseline"]);const q=i.useMemo((()=>d.default(Object.assign({prepend:!0,key:"rtl"===c.direction?"rtl":"css"},"rtl"===c.direction?{stylisPlugins:[n.prefixer,o.default]}:{}))),[c.direction]);return r.jsx(s.CacheProvider,{value:q,children:r.jsx(t.ThemeProvider,{theme:c,children:h?u:r.jsx(t.ScopedCssBaseline,Object.assign({},m,"rtl"===c.direction?{dir:"rtl"}:{},{children:u}))})})};
|
|
2
2
|
//# sourceMappingURL=SkodaThemeProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkodaThemeProvider.js","sources":["../../../../src/design/skoda/SkodaThemeProvider.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { ScopedCssBaseline,
|
|
1
|
+
{"version":3,"file":"SkodaThemeProvider.js","sources":["../../../../src/design/skoda/SkodaThemeProvider.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useMemo } from 'react';\nimport { ScopedCssBaseline, ThemeProvider } from '@mui/material';\nimport { CacheProvider } from '@emotion/react';\nimport createCache from '@emotion/cache';\nimport { prefixer } from 'stylis';\nimport rtlPlugin from 'stylis-plugin-rtl';\nimport { theme as skodaTheme } from './theme';\nimport './theme.extensions';\n/**\n * Wrapper of ThemeProvider that additionally provide Scoped CssBaseline\n */\nexport const SkodaThemeProvider = (_a) => {\n var { children, theme = skodaTheme, globalBaseline = false } = _a, rest = __rest(_a, [\"children\", \"theme\", \"globalBaseline\"]);\n const cache = useMemo(() => {\n return createCache(Object.assign({ \n // inject first\n prepend: true, \n // rtl/ltr cache\n key: theme.direction === 'rtl' ? 'rtl' : 'css' }, (theme.direction === 'rtl' ? { stylisPlugins: [prefixer, rtlPlugin] } : {})));\n }, [theme.direction]);\n return (_jsx(CacheProvider, { value: cache, children: _jsx(ThemeProvider, { theme: theme, children: globalBaseline ? (children) : (_jsx(ScopedCssBaseline, Object.assign({}, rest, (theme.direction === 'rtl' ? { dir: 'rtl' } : {}), { children: children }))) }) }));\n};\n//# sourceMappingURL=SkodaThemeProvider.js.map"],"names":["_a","children","theme","skodaTheme","globalBaseline","rest","__rest","cache","useMemo","createCache","default","Object","assign","prepend","key","direction","stylisPlugins","prefixer","rtlPlugin","_jsx","CacheProvider","value","ThemeProvider","jsx","ScopedCssBaseline","dir"],"mappings":"oVAamCA,IAC/B,IAAIC,SAAEA,EAAQC,MAAEA,EAAQC,EAAUD,MAAAE,eAAEA,GAAiB,GAAUJ,EAAIK,EAAOC,EAAAA,OAAON,EAAI,CAAC,WAAY,QAAS,mBAC3G,MAAMO,EAAQC,EAAAA,SAAQ,IACXC,EAAWC,QAACC,OAAOC,OAAO,CAE7BC,SAAS,EAETC,IAAyB,QAApBZ,EAAMa,UAAsB,MAAQ,OAA8B,QAApBb,EAAMa,UAAsB,CAAEC,cAAe,CAACC,EAAQA,SAAEC,EAASR,UAAM,CAAE,KACjI,CAACR,EAAMa,YACV,OAAQI,EAAAA,IAAKC,EAAAA,cAAe,CAAEC,MAAOd,EAAON,SAAUkB,MAAKG,EAAAA,cAAe,CAAEpB,MAAOA,EAAOD,SAAUG,EAAc,EAAiBe,EAAII,IAACC,oBAAmBb,OAAOC,OAAO,CAAA,EAAIP,EAA2B,QAApBH,EAAMa,UAAsB,CAAEU,IAAK,OAAU,CAAE,EAAG,CAAExB,SAAUA,QAAqB"}
|
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
import { SkodaThemeProviderProps } from './SkodaThemeProvider';
|
|
2
|
+
import { BoxProps, PaletteMode } from '@mui/material';
|
|
3
|
+
import { Direction } from '@mui/material/styles';
|
|
4
|
+
export type SkodaThemeWidgetProviderProps = {
|
|
5
|
+
/**
|
|
6
|
+
* Theme overrides
|
|
7
|
+
*/
|
|
8
|
+
theme?: object;
|
|
9
|
+
/**
|
|
10
|
+
* Props passed to container
|
|
11
|
+
*/
|
|
12
|
+
containerProps?: BoxProps;
|
|
13
|
+
/**
|
|
14
|
+
* Options for Škoda theme generation
|
|
15
|
+
*/
|
|
16
|
+
skodaThemeOptions?: {
|
|
17
|
+
mode?: PaletteMode;
|
|
18
|
+
direction?: Direction;
|
|
19
|
+
};
|
|
20
|
+
} & Omit<SkodaThemeProviderProps, 'theme'>;
|
|
2
21
|
/**
|
|
3
22
|
* Alternative theme provider when the responsive style should be applied based on the container and not window
|
|
4
23
|
*/
|
|
5
|
-
export declare const SkodaThemeWidgetProvider: ({ theme, ...rest }:
|
|
24
|
+
export declare const SkodaThemeWidgetProvider: ({ theme, containerProps, skodaThemeOptions, ...rest }: SkodaThemeWidgetProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("tslib"),
|
|
1
|
+
"use strict";var e=require("tslib"),t=require("react/jsx-runtime"),r=require("react"),n=require("./SkodaThemeProvider.js"),s=require("./theme.js"),i=require("./theme.breakpoints.js"),o=require("@mui/material"),a=require("@mui/material/styles"),u=require("@mui/system");const c=()=>{const e=r.useMemo((()=>u.createBreakpoints(i.flowBreakpoints)),[]),[t,n]=r.useState(i.flowBreakpoints),[s,a]=r.useState(window.innerWidth);r.useEffect((()=>{const e=()=>{a(window.innerWidth)};return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]);const c=r.useRef(null),[d,m]=r.useState(0),l=r.useMemo((()=>new window.ResizeObserver((e=>{m(e[0].contentRect.width||0)}))),[]);r.useLayoutEffect((()=>((null==c?void 0:c.current)&&l.observe(c.current),()=>{l.disconnect()})),[null==c?void 0:c.current]);const h=r.useCallback(((t,r)=>{const s=t-r,i=e.keys.reduce(((t,r)=>Object.assign(Object.assign({},t),{[r]:Math.round(100*(e.values[r]+s))/100})),{});n({values:i})}),[e]),v=r.useMemo((()=>o.debounce(h,250)),[h]);return r.useLayoutEffect((()=>{v(s,d)}),[s,d]),{containerBreakpoints:t,containerRef:c}};exports.SkodaThemeWidgetProvider=i=>{var{theme:u,containerProps:d,skodaThemeOptions:m}=i,l=e.__rest(i,["theme","containerProps","skodaThemeOptions"]);const h=d||{},{sx:v}=h,k=e.__rest(h,["sx"]),{containerBreakpoints:w,containerRef:p}=c(),b=r.useMemo((()=>{const e=s.createSkodaTheme({widget:!0,breakpointsOptions:w,mode:null==m?void 0:m.mode,direction:null==m?void 0:m.direction});return u?a.createTheme(e,u):e}),[u,w]);return t.jsx(o.Box,Object.assign({sx:Object.assign({containerType:"inline-size"},v||{}),ref:p},k,{children:t.jsx(n.SkodaThemeProvider,Object.assign({},l,{theme:b}))}))};
|
|
2
2
|
//# sourceMappingURL=SkodaThemeWidgetProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkodaThemeWidgetProvider.js","sources":["../../../../src/design/skoda/SkodaThemeWidgetProvider.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useMemo } from 'react';\nimport { SkodaThemeProvider } from './SkodaThemeProvider';\nimport { createSkodaTheme } from './theme';\nimport { Box } from '@mui/material';\nimport { createTheme } from '@mui/material/styles';\n/**\n * Alternative theme provider when the responsive style should be applied based on the container and not window\n */\nexport const SkodaThemeWidgetProvider = (_a) => {\n var { theme } = _a, rest = __rest(_a, [\"theme\"]);\n const composedTheme = useMemo(() => {\n const containerTheme = createSkodaTheme({
|
|
1
|
+
{"version":3,"file":"SkodaThemeWidgetProvider.js","sources":["../../../../src/design/skoda/SkodaThemeWidgetProvider.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useMemo, useLayoutEffect, useCallback, useState, useEffect, useRef } from 'react';\nimport { SkodaThemeProvider } from './SkodaThemeProvider';\nimport { createSkodaTheme } from './theme';\nimport { flowBreakpoints } from './theme.breakpoints';\nimport { debounce, Box } from '@mui/material';\nimport { createTheme } from '@mui/material/styles';\nimport { createBreakpoints } from '@mui/system';\n/**\n * Alternative theme provider when the responsive style should be applied based on the container and not window\n */\nexport const SkodaThemeWidgetProvider = (_a) => {\n var { theme, containerProps, skodaThemeOptions } = _a, rest = __rest(_a, [\"theme\", \"containerProps\", \"skodaThemeOptions\"]);\n const _b = containerProps || {}, { sx: containerSx } = _b, rest_container = __rest(_b, [\"sx\"]);\n const { containerBreakpoints, containerRef } = useContainerBreakpoints();\n const composedTheme = useMemo(() => {\n const containerTheme = createSkodaTheme({\n widget: true,\n breakpointsOptions: containerBreakpoints,\n mode: skodaThemeOptions === null || skodaThemeOptions === void 0 ? void 0 : skodaThemeOptions.mode,\n direction: skodaThemeOptions === null || skodaThemeOptions === void 0 ? void 0 : skodaThemeOptions.direction,\n });\n // in case theme is provided, make composition\n if (theme) {\n return createTheme(containerTheme, theme);\n }\n return containerTheme;\n }, [theme, containerBreakpoints]);\n return (_jsx(Box, Object.assign({ sx: Object.assign({ containerType: 'inline-size' }, (containerSx || {})), ref: containerRef }, rest_container, { children: _jsx(SkodaThemeProvider, Object.assign({}, rest, { theme: composedTheme })) })));\n};\nconst useContainerBreakpoints = () => {\n const windowBreakpoints = useMemo(() => createBreakpoints(flowBreakpoints), []);\n const [containerBreakpoints, setContainerBreakpoints] = useState(flowBreakpoints);\n // monitor window width\n const [windowWidth, setWindowWidth] = useState(window.innerWidth);\n useEffect(() => {\n const windowResizeFn = () => {\n setWindowWidth(window.innerWidth);\n };\n window.addEventListener('resize', windowResizeFn);\n return () => {\n window.removeEventListener('resize', windowResizeFn);\n };\n }, []);\n // measure container size\n const containerRef = useRef(null);\n const [containerWidth, setContainerWidth] = useState(0);\n const observer = useMemo(() => new window.ResizeObserver((entries) => {\n setContainerWidth(entries[0].contentRect.width || 0);\n }), []);\n useLayoutEffect(() => {\n (containerRef === null || containerRef === void 0 ? void 0 : containerRef.current) && observer.observe(containerRef.current);\n return () => {\n observer.disconnect();\n };\n }, [containerRef === null || containerRef === void 0 ? void 0 : containerRef.current]);\n // generate container breakpoints\n const handleResize = useCallback((window, container) => {\n const difference = window - container;\n const newContainerBreakpoints = windowBreakpoints.keys.reduce((prev, curr) => (Object.assign(Object.assign({}, prev), { \n // round to two decimal places\n [curr]: Math.round((windowBreakpoints.values[curr] + difference) * 100) / 100 })), {});\n setContainerBreakpoints({ values: newContainerBreakpoints });\n }, [windowBreakpoints]);\n const debounceHandleResize = useMemo(() => debounce(handleResize, 250), [handleResize]);\n useLayoutEffect(() => {\n debounceHandleResize(windowWidth, containerWidth);\n }, [windowWidth, containerWidth]);\n return { containerBreakpoints, containerRef };\n};\n//# sourceMappingURL=SkodaThemeWidgetProvider.js.map"],"names":["useContainerBreakpoints","windowBreakpoints","useMemo","createBreakpoints","flowBreakpoints","containerBreakpoints","setContainerBreakpoints","useState","windowWidth","setWindowWidth","window","innerWidth","useEffect","windowResizeFn","addEventListener","removeEventListener","containerRef","useRef","containerWidth","setContainerWidth","observer","ResizeObserver","entries","contentRect","width","useLayoutEffect","current","observe","disconnect","handleResize","useCallback","container","difference","newContainerBreakpoints","keys","reduce","prev","curr","Object","assign","Math","round","values","debounceHandleResize","debounce","_a","theme","containerProps","skodaThemeOptions","rest","__rest","_b","sx","containerSx","rest_container","composedTheme","containerTheme","createSkodaTheme","widget","breakpointsOptions","mode","direction","createTheme","_jsx","jsx","Box","containerType","ref","children","SkodaThemeProvider"],"mappings":"6QAYY,MAmBNA,EAA0B,KAC5B,MAAMC,EAAoBC,EAAAA,SAAQ,IAAMC,EAAiBA,kBAACC,EAAeA,kBAAG,KACrEC,EAAsBC,GAA2BC,EAAQA,SAACH,EAAeA,kBAEzEI,EAAaC,GAAkBF,EAAAA,SAASG,OAAOC,YACtDC,EAAAA,WAAU,KACN,MAAMC,EAAiB,KACnBJ,EAAeC,OAAOC,WAAW,EAGrC,OADAD,OAAOI,iBAAiB,SAAUD,GAC3B,KACHH,OAAOK,oBAAoB,SAAUF,EAAe,CACvD,GACF,IAEH,MAAMG,EAAeC,SAAO,OACrBC,EAAgBC,GAAqBZ,EAAQA,SAAC,GAC/Ca,EAAWlB,EAAAA,SAAQ,IAAM,IAAIQ,OAAOW,gBAAgBC,IACtDH,EAAkBG,EAAQ,GAAGC,YAAYC,OAAS,EAAE,KACpD,IACJC,EAAAA,iBAAgB,MACXT,aAAmD,EAASA,EAAaU,UAAYN,EAASO,QAAQX,EAAaU,SAC7G,KACHN,EAASQ,YAAY,IAE1B,CAACZ,aAAmD,EAASA,EAAaU,UAE7E,MAAMG,EAAeC,EAAAA,aAAY,CAACpB,EAAQqB,KACtC,MAAMC,EAAatB,EAASqB,EACtBE,EAA0BhC,EAAkBiC,KAAKC,QAAO,CAACC,EAAMC,IAAUC,OAAOC,OAAOD,OAAOC,OAAO,CAAE,EAAEH,GAAO,CAElHC,CAACA,GAAOG,KAAKC,MAAsD,KAA/CxC,EAAkByC,OAAOL,GAAQL,IAAqB,OAAS,CAAE,GACzF1B,EAAwB,CAAEoC,OAAQT,GAA0B,GAC7D,CAAChC,IACE0C,EAAuBzC,EAAOA,SAAC,IAAM0C,EAAQA,SAACf,EAAc,MAAM,CAACA,IAIzE,OAHAJ,EAAAA,iBAAgB,KACZkB,EAAqBnC,EAAaU,EAAe,GAClD,CAACV,EAAaU,IACV,CAAEb,uBAAsBW,eAAc,mCAzDR6B,IACrC,IAAMC,MAAAA,EAAKC,eAAEA,EAAcC,kBAAEA,GAAsBH,EAAII,EAAOC,EAAMA,OAACL,EAAI,CAAC,QAAS,iBAAkB,sBACrG,MAAMM,EAAKJ,GAAkB,IAAMK,GAAIC,GAAgBF,EAAIG,EAAiBJ,EAAMA,OAACC,EAAI,CAAC,QAClF9C,qBAAEA,EAAoBW,aAAEA,GAAiBhB,IACzCuD,EAAgBrD,EAAAA,SAAQ,KAC1B,MAAMsD,EAAiBC,EAAAA,iBAAiB,CACpCC,QAAQ,EACRC,mBAAoBtD,EACpBuD,KAAMZ,aAA6D,EAASA,EAAkBY,KAC9FC,UAAWb,aAA6D,EAASA,EAAkBa,YAGvG,OAAIf,EACOgB,EAAWA,YAACN,EAAgBV,GAEhCU,CAAc,GACtB,CAACV,EAAOzC,IACX,OAAQ0D,EAAIC,IAACC,EAAGA,IAAE3B,OAAOC,OAAO,CAAEa,GAAId,OAAOC,OAAO,CAAE2B,cAAe,eAAkBb,GAAe,CAAA,GAAMc,IAAKnD,GAAgBsC,EAAgB,CAAEc,SAAUL,EAAIC,IAACK,EAAkBA,mBAAE/B,OAAOC,OAAO,CAAE,EAAEU,EAAM,CAAEH,MAAOS,OAAuB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime");require("../../../../components/accordion/accordion.js"),require("../../../../components/backdrop/backdrop.js"),require("../../../../components/button/button.js"),require("tslib"),require("@mui/material"),require("../../theme.js"),require("
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime");require("../../../../components/accordion/accordion.js"),require("../../../../components/backdrop/backdrop.js"),require("../../../../components/button/button.js"),require("tslib"),require("react"),require("@mui/material"),require("@emotion/react"),require("@emotion/cache"),require("stylis"),require("stylis-plugin-rtl"),require("../../theme.js"),require("../../theme.breakpoints.js"),require("@mui/material/styles"),require("@mui/system"),require("../../../../organisms/cardOwnedVehicle/cardOwnedVehicle.js"),require("../../../../organisms/cardPhotoAdjustable/cardPhotoAdjustable.js"),require("../../../../organisms/cardPhotoFixed/cardPhotoFixed.js"),require("../../../../organisms/cardPromoVehicle/cardPromoVehicleComponent.js"),require("../../../../organisms/common/styled/cardStandardWrapperStyled.js"),require("../../../../organisms/cardTypeOnly/cardTypeOnly.js"),require("embla-carousel-react"),require("embla-carousel-class-names"),require("embla-carousel-autoplay"),require("../../../../organisms/carousel/styledComponents/styledCarouselHorizontal.js"),require("../../../../organisms/carousel/styledComponents/styledCarouselVertical.js");var r=require("../../../../components/controls/controls.js");require("../../../../components/numbering/numbering.js"),require("../../../../utils/enum.js"),require("../../../../organisms/heroImageCard/heroImageCard.js"),require("@googlemaps/react-wrapper"),require("@googlemaps/markerclusterer"),require("../../../../organisms/maps/utils/mapIcons.js"),require("../../../../organisms/maps/mapComponents/mapStyled.js"),require("../../../../organisms/shortcutLink/shortcutLink.js"),require("../../../../organisms/textCta/textCta.js"),require("../../../../organisms/tile/tile.js"),require("../../../../organisms/carousel2/galleryCarousel/galleryContext.js"),require("../../../../organisms/carousel2/galleryCarousel/galleryItemContext.js"),require("../../../../organisms/carousel2/heroCarousel/heroCarouselContext.js"),require("../../../../organisms/notification/Notification.js"),require("../../../../organisms/notification/NotificationCenter.js"),require("../../../../layout/Header/HeaderContext.js"),require("../../../../layout/Header/HeaderButton.js"),require("../../../../layout/Header/HeaderNavigationHero.js"),require("../../../../layout/Header/HeaderNavigationLink.js"),require("../../../../layout/Header/HeaderNavigationMenu.js"),require("../../../../layout/Header/PredefinedHeaderButtons.js"),require("../../../../layout/Header/HeaderOverheadItem.js"),require("../../../../organisms/gallery/Gallery.js"),require("../../../../organisms/gallery/GalleryItem.js"),require("../../../../components/icon/icon.definitions.js"),require("../../../../layout/SideMenu/SideMenuItem.js"),require("../../../../layout/Footer/PredefinedFooterIconButtons.js"),require("../../../../layout/SecondaryNavigation/SecondaryNavigationCta.js"),require("../../../../layout/SecondaryNavigation/SecondaryNavigationItem.js"),require("@mui/material/Container"),require("../../../../production/Button/Button.js"),require("../../../../components/cardContainer/cardContainer.js"),require("../../../../components/cardMenu/cardMenu.js"),require("../../../../components/checkbox/checkbox.js"),require("../../../../components/chip/chipImage/chipImage.js"),require("../../../../components/chip/regular/chip.js"),require("../../../../components/chip/chipMultiselect/multiSelectChip.js"),require("../../../../components/chip/chipDropdownChildren/chipDropdownChildren.js"),require("../../../../components/divider/divider.js"),require("../../../../components/drawer/drawer.js"),require("../../../../components/flag/flag.js"),require("@mui/material/Grid"),require("../../../../components/indicator/indicator.js"),require("../../../../components/label/label.js"),require("../../../../components/labelCO2/labelCO2.js"),require("../../../../components/labelFeature/labelFeature.js"),require("../../../../components/labelPromotional/labelPromotional.js"),require("../../../../components/labelStatus/labelStatus.js"),require("../../../../components/menu/menu.js"),require("@mui/material/MenuItem"),require("@mui/material/MobileStepper"),require("../../../../components/mobileStepper/mobileStepperButton.js"),require("../../../../components/modal/modal.js"),require("../../../../components/modal/modalTitle.js"),require("../../../../components/pagination/pagination.js"),require("../../../../components/progressBar/progressBar.js"),require("../../../../components/radioButton/radioButton.js"),require("../../../../components/selectInput/selectInput.js"),require("../../../../components/slider/slider.js"),require("../../../../components/snackbar/snackbar.js"),require("../../../../components/stepper/stepper.js"),require("../../../../components/textArea/textArea.js"),require("../../../../components/common/styled/textFieldStyled.js"),require("../../../../components/helperTextContent/index.js"),require("../../../../components/toggleSwitch/toggleSwitch.js"),require("../../../../components/avatar/Avatar.js"),require("../../../../components/iconButton/index.js"),require("../../../../components/alert/AlertButton.js"),require("minimatch");const o={defaultProps:{expandIcon:e.jsx(r.Controller,{controlType:"plus"})},styleOverrides:{}};exports.flowAccordionSummary=o;
|
|
2
2
|
//# sourceMappingURL=accordionSummary.theme.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordionSummary.theme.js","sources":["../../../../../../src/design/skoda/components/accordion/accordionSummary.theme.tsx"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Controller } from '@/src/components';\nexport const flowAccordionSummary = {\n defaultProps: {\n expandIcon: _jsx(Controller, { controlType: \"plus\" }),\n },\n styleOverrides: {},\n};\n//# sourceMappingURL=accordionSummary.theme.js.map"],"names":["flowAccordionSummary","defaultProps","expandIcon","_jsx","Controller","controlType","styleOverrides"],"mappings":"
|
|
1
|
+
{"version":3,"file":"accordionSummary.theme.js","sources":["../../../../../../src/design/skoda/components/accordion/accordionSummary.theme.tsx"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Controller } from '@/src/components';\nexport const flowAccordionSummary = {\n defaultProps: {\n expandIcon: _jsx(Controller, { controlType: \"plus\" }),\n },\n styleOverrides: {},\n};\n//# sourceMappingURL=accordionSummary.theme.js.map"],"names":["flowAccordionSummary","defaultProps","expandIcon","_jsx","Controller","controlType","styleOverrides"],"mappings":"okKAEY,MAACA,EAAuB,CAChCC,aAAc,CACVC,WAAYC,EAAAA,IAAKC,EAAAA,WAAY,CAAEC,YAAa,UAEhDC,eAAgB,CAAE"}
|