@antscorp/antsomi-ui 1.3.5-beta.2 → 1.3.5-beta.21
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/es/assets/css/main.scss +0 -2
- package/es/assets/images/background/skeleton-background.png +0 -0
- package/es/assets/images/skeleton_bg.png +0 -0
- package/es/assets/svg/mobile-frame.svg +3 -0
- package/es/components/atoms/Spin/Spin.js +2 -2
- package/es/components/common/ConfigProvider/ConfigProvider.js +8 -4
- package/es/components/common/ConfigProvider/GlobalStyle.js +85 -16
- package/es/components/molecules/CalendarSelection/CalendarSelection.d.ts +3 -0
- package/es/components/molecules/CalendarSelection/CalendarSelection.js +45 -0
- package/es/components/molecules/CalendarSelection/actions.d.ts +55 -0
- package/es/components/molecules/CalendarSelection/actions.js +39 -0
- package/es/components/molecules/CalendarSelection/components/AutoUpdateTo/AutoUpdateTo.d.ts +7 -0
- package/es/components/molecules/CalendarSelection/components/AutoUpdateTo/AutoUpdateTo.js +24 -0
- package/es/components/molecules/CalendarSelection/components/AutoUpdateTo/index.d.ts +1 -0
- package/es/components/molecules/CalendarSelection/components/AutoUpdateTo/index.js +1 -0
- package/es/components/molecules/CalendarSelection/components/AutoUpdateTo/styled.d.ts +1 -0
- package/es/components/molecules/CalendarSelection/components/AutoUpdateTo/styled.js +10 -0
- package/es/components/molecules/CalendarSelection/components/CustomPicker/CustomPicker.d.ts +3 -0
- package/es/components/molecules/CalendarSelection/components/CustomPicker/CustomPicker.js +96 -0
- package/es/components/molecules/CalendarSelection/components/CustomPicker/index.d.ts +1 -0
- package/es/components/molecules/CalendarSelection/components/CustomPicker/index.js +1 -0
- package/es/components/molecules/CalendarSelection/components/CustomPicker/styled.d.ts +6 -0
- package/es/components/molecules/CalendarSelection/components/CustomPicker/styled.js +152 -0
- package/es/components/molecules/CalendarSelection/components/CustomPicker/types.d.ts +1 -0
- package/es/components/molecules/CalendarSelection/components/Footer/Footer.d.ts +2 -0
- package/es/components/molecules/CalendarSelection/components/Footer/Footer.js +11 -0
- package/es/components/molecules/CalendarSelection/components/Footer/index.d.ts +1 -0
- package/es/components/molecules/CalendarSelection/components/Footer/index.js +1 -0
- package/es/components/molecules/CalendarSelection/components/Footer/styled.d.ts +1 -0
- package/es/components/molecules/CalendarSelection/components/Footer/styled.js +6 -0
- package/es/components/molecules/CalendarSelection/components/RangePicker/RangePicker.d.ts +5 -0
- package/es/components/molecules/CalendarSelection/components/RangePicker/RangePicker.js +4 -0
- package/es/components/molecules/CalendarSelection/components/RangePicker/index.d.ts +1 -0
- package/es/components/molecules/CalendarSelection/components/RangePicker/index.js +1 -0
- package/es/components/molecules/CalendarSelection/components/RangePicker/styled.d.ts +5 -0
- package/es/components/molecules/CalendarSelection/components/RangePicker/styled.js +13 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/RangeSelectOptions.d.ts +3 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/RangeSelectOptions.js +23 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/components/NumOfDaysRanges/NumOfDaysRanges.d.ts +2 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/components/NumOfDaysRanges/NumOfDaysRanges.js +41 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/components/NumOfDaysRanges/index.d.ts +1 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/components/NumOfDaysRanges/index.js +1 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/components/Option/Option.d.ts +11 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/components/Option/Option.js +40 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/components/Option/index.d.ts +1 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/components/Option/index.js +1 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/components/Option/styled.d.ts +1 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/components/Option/styled.js +29 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/components/index.d.ts +2 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/components/index.js +2 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/index.d.ts +1 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/index.js +1 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/styled.d.ts +3 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/styled.js +34 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/types.d.ts +1 -0
- package/es/components/molecules/CalendarSelection/components/RangeSelectOptions/types.js +1 -0
- package/es/components/molecules/CalendarSelection/components/TimeRangeDisplay/TimeRangeDisplay.d.ts +8 -0
- package/es/components/molecules/CalendarSelection/components/TimeRangeDisplay/TimeRangeDisplay.js +49 -0
- package/es/components/molecules/CalendarSelection/components/TimeRangeDisplay/index.d.ts +2 -0
- package/es/components/molecules/CalendarSelection/components/TimeRangeDisplay/index.js +2 -0
- package/es/components/molecules/CalendarSelection/components/TimeRangeDisplay/styled.d.ts +1 -0
- package/es/components/molecules/CalendarSelection/components/TimeRangeDisplay/styled.js +70 -0
- package/es/components/molecules/CalendarSelection/components/index.d.ts +5 -0
- package/es/components/molecules/CalendarSelection/components/index.js +5 -0
- package/es/components/molecules/CalendarSelection/constants.d.ts +97 -0
- package/es/components/molecules/CalendarSelection/constants.js +183 -0
- package/es/components/molecules/CalendarSelection/context.d.ts +4 -0
- package/es/components/molecules/CalendarSelection/context.js +6 -0
- package/es/components/molecules/CalendarSelection/hooks/index.d.ts +2 -0
- package/es/components/molecules/CalendarSelection/hooks/index.js +2 -0
- package/es/components/molecules/CalendarSelection/hooks/useStateContext.d.ts +4 -0
- package/es/components/molecules/CalendarSelection/hooks/useStateContext.js +13 -0
- package/es/components/molecules/CalendarSelection/hooks/useTriggerOut.d.ts +9 -0
- package/es/components/molecules/CalendarSelection/hooks/useTriggerOut.js +19 -0
- package/es/components/molecules/CalendarSelection/index.d.ts +25 -0
- package/es/components/molecules/CalendarSelection/index.js +6 -0
- package/es/components/molecules/CalendarSelection/reducer.d.ts +3 -0
- package/es/components/molecules/CalendarSelection/reducer.js +121 -0
- package/es/components/molecules/CalendarSelection/styled.d.ts +6 -0
- package/es/components/molecules/CalendarSelection/styled.js +13 -0
- package/es/components/molecules/CalendarSelection/types.d.ts +97 -0
- package/es/components/molecules/CalendarSelection/types.js +1 -0
- package/es/components/molecules/CalendarSelection/utils.d.ts +52 -0
- package/es/components/molecules/CalendarSelection/utils.js +304 -0
- package/es/components/molecules/ColorPicker/CustomPicker/index.js +3 -3
- package/es/components/molecules/ColorPicker/index.d.ts +1 -0
- package/es/components/molecules/ColorPicker/index.js +3 -2
- package/es/components/molecules/DatePicker/components/AdvancedPicker/AdvancedPicker.js +24 -16
- package/es/components/molecules/DatePicker/components/AdvancedPicker/styled.d.ts +5 -0
- package/es/components/molecules/DatePicker/components/AdvancedPicker/styled.js +31 -1
- package/es/components/molecules/DatePicker/components/AdvancedPicker/utils.d.ts +1 -1
- package/es/components/molecules/DatePicker/components/AdvancedRangePicker/AdvancedRangePicker.d.ts +3 -1
- package/es/components/molecules/DatePicker/components/AdvancedRangePicker/AdvancedRangePicker.js +5 -4
- package/es/components/molecules/ModalV2/styled.js +4 -0
- package/es/components/molecules/ResizeGrid/ResizeGrid.js +10 -2
- package/es/components/molecules/ResizeGrid/types.d.ts +1 -0
- package/es/components/molecules/RichMenu/RichMenuBlock/RichMenuBlock.d.ts +1 -0
- package/es/components/molecules/RichMenu/RichMenuBlock/RichMenuBlock.js +2 -2
- package/es/components/molecules/RichMenu/RichMenuMobileView/RichMenuMobileView.d.ts +1 -0
- package/es/components/molecules/RichMenu/RichMenuMobileView/RichMenuMobileView.js +2 -2
- package/es/components/molecules/ShareAccess/components/LayoutContent/LayoutContent.js +2 -2
- package/es/components/molecules/ShareAccess/index.d.ts +2 -3
- package/es/components/molecules/ShareAccess/index.js +2 -3
- package/es/components/molecules/ShareAccess/types.d.ts +1 -0
- package/es/components/molecules/TemplateSaveAs/TemplateSaveAs.d.ts +52 -0
- package/es/components/molecules/TemplateSaveAs/TemplateSaveAs.js +144 -0
- package/es/components/molecules/TemplateSaveAs/TemplateSaveAsModal.d.ts +10 -0
- package/es/components/molecules/TemplateSaveAs/TemplateSaveAsModal.js +38 -0
- package/es/components/molecules/TemplateSaveAs/components/ImageSlider/ImageSlider.d.ts +15 -0
- package/es/components/molecules/TemplateSaveAs/components/ImageSlider/ImageSlider.js +68 -0
- package/es/components/molecules/TemplateSaveAs/components/ImageSlider/index.d.ts +1 -0
- package/es/components/molecules/TemplateSaveAs/components/ImageSlider/index.js +1 -0
- package/es/components/molecules/TemplateSaveAs/components/ImageSlider/styled.d.ts +5 -0
- package/es/components/molecules/TemplateSaveAs/components/ImageSlider/styled.js +175 -0
- package/es/components/molecules/TemplateSaveAs/components/index.d.ts +1 -0
- package/es/components/molecules/TemplateSaveAs/components/index.js +1 -0
- package/es/components/molecules/TemplateSaveAs/index.d.ts +3 -0
- package/es/components/molecules/TemplateSaveAs/index.js +2 -0
- package/es/components/molecules/TemplateSaveAs/styled.d.ts +4 -0
- package/es/components/molecules/TemplateSaveAs/styled.js +70 -0
- package/es/components/molecules/ThumbnailCard/ThumbnailCard.d.ts +3 -0
- package/es/components/molecules/ThumbnailCard/ThumbnailCard.js +72 -0
- package/es/components/molecules/ThumbnailCard/constants.d.ts +3 -0
- package/es/components/molecules/ThumbnailCard/constants.js +3 -0
- package/es/components/molecules/ThumbnailCard/index.d.ts +2 -0
- package/es/components/molecules/ThumbnailCard/index.js +2 -0
- package/es/components/molecules/ThumbnailCard/styled.d.ts +1 -0
- package/es/components/{template/TemplateListing/components/TemplateItem → molecules/ThumbnailCard}/styled.js +14 -7
- package/es/components/molecules/ThumbnailCard/types.d.ts +21 -0
- package/es/components/molecules/ThumbnailCard/types.js +1 -0
- package/es/components/molecules/UploadImage/index.js +1 -1
- package/es/components/molecules/index.d.ts +5 -0
- package/es/components/molecules/index.js +3 -0
- package/es/components/organism/Help/Help.js +23 -1
- package/es/components/organism/Menu/Menu.d.ts +2 -0
- package/es/components/organism/Menu/Menu.js +3 -0
- package/es/components/organism/Menu/index.d.ts +1 -0
- package/es/components/organism/Menu/index.js +3 -0
- package/es/components/organism/PreviewTemplateModal/components/Banner/index.d.ts +3 -0
- package/es/components/organism/PreviewTemplateModal/components/Banner/index.js +12 -0
- package/es/components/organism/PreviewTemplateModal/components/Banner/styled.d.ts +4 -0
- package/es/components/organism/PreviewTemplateModal/components/Banner/styled.js +91 -0
- package/es/components/organism/PreviewTemplateModal/components/Information/index.d.ts +3 -0
- package/es/components/organism/PreviewTemplateModal/components/Information/index.js +29 -0
- package/es/components/organism/PreviewTemplateModal/components/Information/styled.d.ts +2 -0
- package/es/components/organism/PreviewTemplateModal/components/Information/styled.js +41 -0
- package/es/components/organism/PreviewTemplateModal/components/SimilarTemplate/index.d.ts +3 -0
- package/es/components/organism/PreviewTemplateModal/components/SimilarTemplate/index.js +29 -0
- package/es/components/organism/PreviewTemplateModal/components/SimilarTemplate/styled.d.ts +2 -0
- package/es/components/organism/PreviewTemplateModal/components/SimilarTemplate/styled.js +12 -0
- package/es/components/organism/PreviewTemplateModal/components/ThumbnailSlider/index.d.ts +6 -0
- package/es/components/organism/PreviewTemplateModal/components/ThumbnailSlider/index.js +77 -0
- package/es/components/organism/PreviewTemplateModal/components/ThumbnailSlider/styled.d.ts +3 -0
- package/es/components/organism/PreviewTemplateModal/components/ThumbnailSlider/styled.js +62 -0
- package/es/components/organism/PreviewTemplateModal/components/index.d.ts +4 -0
- package/es/components/organism/PreviewTemplateModal/components/index.js +4 -0
- package/es/components/organism/PreviewTemplateModal/constants/dataSample.d.ts +2 -0
- package/es/components/organism/PreviewTemplateModal/constants/dataSample.js +9 -0
- package/es/components/organism/PreviewTemplateModal/constants/defaultProps.d.ts +8 -0
- package/es/components/organism/PreviewTemplateModal/constants/defaultProps.js +11 -0
- package/es/components/organism/PreviewTemplateModal/constants/index.d.ts +3 -0
- package/es/components/organism/PreviewTemplateModal/constants/index.js +3 -0
- package/es/components/organism/PreviewTemplateModal/constants/variables.d.ts +12 -0
- package/es/components/organism/PreviewTemplateModal/constants/variables.js +12 -0
- package/es/components/organism/PreviewTemplateModal/index.d.ts +3 -0
- package/es/components/organism/PreviewTemplateModal/index.js +34 -0
- package/es/components/organism/PreviewTemplateModal/styled.d.ts +4 -0
- package/es/components/organism/PreviewTemplateModal/styled.js +26 -0
- package/es/components/organism/PreviewTemplateModal/types.d.ts +39 -0
- package/es/components/organism/PreviewTemplateModal/types.js +1 -0
- package/es/components/organism/index.d.ts +1 -0
- package/es/components/organism/index.js +1 -0
- package/es/components/template/TemplateListing/Loadable.d.ts +6 -0
- package/es/components/template/TemplateListing/Loadable.js +7 -0
- package/es/components/template/TemplateListing/components/BlankTemplate/index.js +9 -7
- package/es/components/template/TemplateListing/components/BlankTemplate/styled.js +2 -0
- package/es/components/template/TemplateListing/components/CategoryListing/index.js +19 -10
- package/es/components/template/TemplateListing/components/CategoryListing/styled.d.ts +2 -0
- package/es/components/template/TemplateListing/components/CategoryListing/styled.js +44 -7
- package/es/components/template/TemplateListing/components/CategoryListing/types.d.ts +2 -1
- package/es/components/template/TemplateListing/components/Empty/index.d.ts +3 -0
- package/es/components/template/TemplateListing/components/Empty/index.js +18 -0
- package/es/components/template/TemplateListing/components/Empty/styled.d.ts +3 -0
- package/es/components/template/TemplateListing/components/Empty/styled.js +35 -0
- package/es/components/template/TemplateListing/components/index.d.ts +1 -1
- package/es/components/template/TemplateListing/components/index.js +1 -1
- package/es/components/template/TemplateListing/constants/defaultProps.d.ts +8 -4
- package/es/components/template/TemplateListing/constants/defaultProps.js +9 -6
- package/es/components/template/TemplateListing/hooks/index.d.ts +1 -0
- package/es/components/template/TemplateListing/hooks/index.js +1 -0
- package/es/components/template/TemplateListing/hooks/useTemplateListing.d.ts +62 -0
- package/es/components/template/TemplateListing/hooks/useTemplateListing.js +206 -0
- package/es/components/template/TemplateListing/index.js +77 -13
- package/es/components/template/TemplateListing/styled/index.d.ts +2 -0
- package/es/components/template/TemplateListing/styled/index.js +29 -5
- package/es/components/template/TemplateListing/types/BlankTemplate.d.ts +3 -2
- package/es/components/template/TemplateListing/types/CategoryListing.d.ts +5 -2
- package/es/components/template/TemplateListing/types/Empty.d.ts +5 -0
- package/es/components/template/TemplateListing/types/Empty.js +1 -0
- package/es/components/template/TemplateListing/types/TemplateListing.d.ts +20 -9
- package/es/components/template/TemplateListing/types/index.d.ts +0 -1
- package/es/components/template/TemplateListing/types/index.js +0 -1
- package/es/components/template/index.d.ts +2 -1
- package/es/components/template/index.js +5 -1
- package/es/constants/datetime.d.ts +8 -0
- package/es/constants/datetime.js +1594 -0
- package/es/constants/index.d.ts +4 -1
- package/es/constants/index.js +4 -1
- package/es/constants/queries.d.ts +3 -0
- package/es/constants/queries.js +4 -0
- package/es/constants/templateListing.d.ts +58 -0
- package/es/constants/templateListing.js +58 -0
- package/es/hooks/index.d.ts +4 -0
- package/es/hooks/index.js +4 -0
- package/es/hooks/useEffectOnlyOnce.d.ts +2 -0
- package/es/hooks/useEffectOnlyOnce.js +12 -0
- package/es/hooks/useForceUpdate.d.ts +1 -0
- package/es/hooks/useForceUpdate.js +5 -0
- package/es/hooks/useIntersectionObserver.d.ts +57 -0
- package/es/hooks/useIntersectionObserver.js +97 -0
- package/es/hooks/useListingItemResize.d.ts +12 -0
- package/es/hooks/useListingItemResize.js +58 -0
- package/es/hooks/useScrollToEnd.d.ts +1 -0
- package/es/hooks/useScrollToEnd.js +30 -0
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -0
- package/es/locales/en/translation.json +11 -3
- package/es/locales/i18n.d.ts +16 -0
- package/es/locales/translations.d.ts +8 -0
- package/es/locales/vi/translation.json +9 -1
- package/es/models/ObjectTemplate.d.ts +53 -0
- package/es/models/ObjectTemplate.js +80 -0
- package/es/models/TemplateCategory.d.ts +13 -0
- package/es/models/TemplateCategory.js +28 -0
- package/es/queries/TemplateListing/index.d.ts +47 -0
- package/es/queries/TemplateListing/index.js +93 -0
- package/es/queries/index.d.ts +1 -0
- package/es/queries/index.js +1 -0
- package/es/services/TemplateListing/index.d.ts +64 -0
- package/es/services/TemplateListing/index.js +149 -0
- package/es/test.js +62 -11
- package/es/types/index.d.ts +4 -0
- package/es/types/index.js +2 -0
- package/es/types/service.d.ts +22 -0
- package/es/types/service.js +1 -0
- package/es/types/templateListing.d.ts +11 -0
- package/es/types/templateListing.js +1 -0
- package/es/utils/common.d.ts +2 -0
- package/es/utils/common.js +12 -0
- package/package.json +6 -1
- package/es/components/template/TemplateListing/components/TemplateItem/index.d.ts +0 -3
- package/es/components/template/TemplateListing/components/TemplateItem/index.js +0 -53
- package/es/components/template/TemplateListing/components/TemplateItem/styled.d.ts +0 -1
- package/es/components/template/TemplateListing/types/TemplateItem.d.ts +0 -14
- /package/es/components/{template/TemplateListing/types/TemplateItem.js → molecules/CalendarSelection/components/CustomPicker/types.js} +0 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
// Libraries
|
|
2
|
+
import styled, { css } from 'styled-components';
|
|
3
|
+
import { Flex } from '@antscorp/antsomi-ui/es/components';
|
|
4
|
+
// Assets
|
|
5
|
+
import SkeletonBg from '@antscorp/antsomi-ui/es/assets/images/skeleton_bg.png';
|
|
6
|
+
const backgroundImage = css `
|
|
7
|
+
${props => props.$skeleton
|
|
8
|
+
? css `
|
|
9
|
+
background: url(${SkeletonBg}) no-repeat center center, #e5e5e5;
|
|
10
|
+
background-size: contain;
|
|
11
|
+
`
|
|
12
|
+
: css `
|
|
13
|
+
background: #e5e5e5;
|
|
14
|
+
`}
|
|
15
|
+
`;
|
|
16
|
+
const setWidthHeight = ({ w, h }) => `
|
|
17
|
+
width: ${w};
|
|
18
|
+
height: ${h};
|
|
19
|
+
`;
|
|
20
|
+
const centerBlock = css `
|
|
21
|
+
display: flex;
|
|
22
|
+
justify-content: center;
|
|
23
|
+
align-items: center;
|
|
24
|
+
`;
|
|
25
|
+
export const ImageSliderStyled = styled(Flex) `
|
|
26
|
+
/* NOTE: Style for prev and next button in thumbnail slider */
|
|
27
|
+
position: relative;
|
|
28
|
+
|
|
29
|
+
.change-preview-button {
|
|
30
|
+
${centerBlock}
|
|
31
|
+
position: absolute;
|
|
32
|
+
top: 115px;
|
|
33
|
+
transform: translateY(-50%);
|
|
34
|
+
font-size: 24px;
|
|
35
|
+
color: #fafafa;
|
|
36
|
+
|
|
37
|
+
cursor: pointer;
|
|
38
|
+
z-index: 1;
|
|
39
|
+
|
|
40
|
+
&--left {
|
|
41
|
+
left: 6px;
|
|
42
|
+
}
|
|
43
|
+
&--right {
|
|
44
|
+
right: 6px;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.slider-button {
|
|
49
|
+
${centerBlock}
|
|
50
|
+
position: absolute;
|
|
51
|
+
bottom: 36px;
|
|
52
|
+
transform: translateY(50%);
|
|
53
|
+
|
|
54
|
+
font-size: 12px;
|
|
55
|
+
|
|
56
|
+
${setWidthHeight({ w: '24px', h: '24px' })}
|
|
57
|
+
border-radius: 999px;
|
|
58
|
+
background-color: #fff;
|
|
59
|
+
|
|
60
|
+
cursor: pointer;
|
|
61
|
+
z-index: 1;
|
|
62
|
+
|
|
63
|
+
&--left {
|
|
64
|
+
left: 2px;
|
|
65
|
+
}
|
|
66
|
+
&--right {
|
|
67
|
+
right: 2px;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.thumbnail-preview-container {
|
|
72
|
+
width: 330px;
|
|
73
|
+
overflow-x: scroll;
|
|
74
|
+
scrollbar-width: none;
|
|
75
|
+
|
|
76
|
+
/* NOTE: set border-radius for parent of thumbnail list make better UI when scroll horizontal */
|
|
77
|
+
border-radius: 5px;
|
|
78
|
+
|
|
79
|
+
& > div {
|
|
80
|
+
overflow: hidden;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.thumbnail-slider-container {
|
|
85
|
+
position: relative;
|
|
86
|
+
width: 330px;
|
|
87
|
+
overflow-x: scroll;
|
|
88
|
+
scrollbar-width: none;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.image-container {
|
|
92
|
+
&--big,
|
|
93
|
+
&--small {
|
|
94
|
+
${centerBlock}
|
|
95
|
+
${backgroundImage}
|
|
96
|
+
img {
|
|
97
|
+
object-fit: contain;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
div:has(> img) {
|
|
101
|
+
display: flex;
|
|
102
|
+
align-items: center;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
&--big {
|
|
107
|
+
${setWidthHeight({ w: '100%', h: '230px' })}
|
|
108
|
+
/* ${setWidthHeight({ w: '330px', h: '230px' })} */
|
|
109
|
+
flex-shrink: 0;
|
|
110
|
+
|
|
111
|
+
position: relative;
|
|
112
|
+
/* border-radius: 5px; */
|
|
113
|
+
overflow: hidden;
|
|
114
|
+
|
|
115
|
+
&::before {
|
|
116
|
+
content: '';
|
|
117
|
+
position: absolute;
|
|
118
|
+
top: 0;
|
|
119
|
+
left: 0;
|
|
120
|
+
width: 100%;
|
|
121
|
+
height: 100%;
|
|
122
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
123
|
+
z-index: 1;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
&--small {
|
|
128
|
+
width: ${props => `calc(100% / ${props.$slidesPerView || 3} - 10px)`};
|
|
129
|
+
height: 72px;
|
|
130
|
+
flex-shrink: 0;
|
|
131
|
+
|
|
132
|
+
border: 2px solid #e5e5e5;
|
|
133
|
+
border-radius: 2px;
|
|
134
|
+
user-select: none;
|
|
135
|
+
cursor: pointer;
|
|
136
|
+
}
|
|
137
|
+
&--selected {
|
|
138
|
+
border: 2px solid var(--primary-color);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.set-default-button {
|
|
143
|
+
position: absolute;
|
|
144
|
+
top: 50%;
|
|
145
|
+
left: 50%;
|
|
146
|
+
transform: translate(-50%, -50%);
|
|
147
|
+
z-index: 2;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/* .swiper-button-prev,
|
|
151
|
+
.swiper-button-next {
|
|
152
|
+
background: #fff;
|
|
153
|
+
width: 24px;
|
|
154
|
+
height: 24px;
|
|
155
|
+
border-radius: 999px;
|
|
156
|
+
&:after {
|
|
157
|
+
font-size: 14px;
|
|
158
|
+
font-weight: bold;
|
|
159
|
+
color: #000;
|
|
160
|
+
}
|
|
161
|
+
&.swiper-button-disabled {
|
|
162
|
+
opacity: 1;
|
|
163
|
+
cursor: pointer;
|
|
164
|
+
}
|
|
165
|
+
} */
|
|
166
|
+
|
|
167
|
+
/* .swiper-button-prev.swiper-button-disabled {
|
|
168
|
+
opacity: 1;
|
|
169
|
+
cursor: pointer;
|
|
170
|
+
} */
|
|
171
|
+
|
|
172
|
+
/* .swiper-button-lock {
|
|
173
|
+
display: flex;
|
|
174
|
+
} */
|
|
175
|
+
`;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ImageSlider } from './ImageSlider';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ImageSlider } from './ImageSlider';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const TemplateSaveAsStyled: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("antd/es/flex/interface").FlexProps<import("antd/es/_util/type").AnyObject> & import("react").RefAttributes<HTMLElement>>, any, {
|
|
3
|
+
$skeleton?: boolean | undefined;
|
|
4
|
+
}, never>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
var _a;
|
|
2
|
+
// Libraries
|
|
3
|
+
import styled from 'styled-components';
|
|
4
|
+
// Components
|
|
5
|
+
import { Flex } from '@antscorp/antsomi-ui/es/components';
|
|
6
|
+
import { THEME } from '@antscorp/antsomi-ui/es/constants';
|
|
7
|
+
export const TemplateSaveAsStyled = styled(Flex) `
|
|
8
|
+
padding: 10px;
|
|
9
|
+
/* max-width: 1177px; */
|
|
10
|
+
|
|
11
|
+
.save-options-container {
|
|
12
|
+
padding: 15px 0;
|
|
13
|
+
margin-bottom: 20px;
|
|
14
|
+
border-bottom: 1px dashed #e5e5e5;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.template-container {
|
|
18
|
+
width: 698px;
|
|
19
|
+
/* max-height: 567px; */
|
|
20
|
+
max-height: 50vh;
|
|
21
|
+
padding-right: 28px;
|
|
22
|
+
overflow-y: auto;
|
|
23
|
+
}
|
|
24
|
+
.share-access-container {
|
|
25
|
+
flex: 1;
|
|
26
|
+
padding: 0 28px;
|
|
27
|
+
border-left: 1px solid #e5e5e5;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.field-container {
|
|
31
|
+
gap: 10px;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.field-title {
|
|
35
|
+
font-size: 12px;
|
|
36
|
+
width: 150px;
|
|
37
|
+
/* background-color: violet; */
|
|
38
|
+
span {
|
|
39
|
+
color: ${(_a = THEME.token) === null || _a === void 0 ? void 0 : _a.red6};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
&--middle {
|
|
43
|
+
display: flex;
|
|
44
|
+
align-items: center;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
div:has(> .field-input) {
|
|
49
|
+
width: 330px;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.category-container {
|
|
53
|
+
flex: 1;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.selected-category {
|
|
57
|
+
width: 240px;
|
|
58
|
+
height: 30px;
|
|
59
|
+
border: 1px solid #b8cfe6;
|
|
60
|
+
padding: 0 5px;
|
|
61
|
+
border-radius: 3px;
|
|
62
|
+
|
|
63
|
+
& > span.remove-btn {
|
|
64
|
+
font-size: 20px;
|
|
65
|
+
font-weight: bold;
|
|
66
|
+
cursor: pointer;
|
|
67
|
+
user-select: none;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
`;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
11
|
+
var t = {};
|
|
12
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
13
|
+
t[p] = s[p];
|
|
14
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
15
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
16
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
17
|
+
t[p[i]] = s[p[i]];
|
|
18
|
+
}
|
|
19
|
+
return t;
|
|
20
|
+
};
|
|
21
|
+
// Libraries
|
|
22
|
+
import React, { memo } from 'react';
|
|
23
|
+
import Icon from '@antscorp/icons';
|
|
24
|
+
import { Modal } from 'antd';
|
|
25
|
+
// Styled
|
|
26
|
+
import { ThumbnailCardWrapper } from './styled';
|
|
27
|
+
// Components
|
|
28
|
+
import { Button, Flex, Typography } from '../../atoms';
|
|
29
|
+
// Constants
|
|
30
|
+
import { THUMBNAIL_CARD_DEFAULT_HEIGHT, THUMBNAIL_CARD_DEFAULT_WIDTH } from './constants';
|
|
31
|
+
export const ThumbnailCard = memo(props => {
|
|
32
|
+
const [modal, contextHolder] = Modal.useModal();
|
|
33
|
+
const { id, name, width = THUMBNAIL_CARD_DEFAULT_WIDTH, height = THUMBNAIL_CARD_DEFAULT_HEIGHT, thumbnail, removable = true, actionAvailable = true, editText = 'Edit thumbnail', previewText = 'Preview', removeModalProps, onClickEdit, onClickPreview, onClickWrapper } = props, restOfProps = __rest(props, ["id", "name", "width", "height", "thumbnail", "removable", "actionAvailable", "editText", "previewText", "removeModalProps", "onClickEdit", "onClickPreview", "onClickWrapper"]);
|
|
34
|
+
const _a = removeModalProps || {}, { onOk } = _a, restOfRemoveTemplateModalProps = __rest(_a, ["onOk"]);
|
|
35
|
+
// Handlers
|
|
36
|
+
const handleClickEdit = e => {
|
|
37
|
+
e.stopPropagation();
|
|
38
|
+
onClickEdit === null || onClickEdit === void 0 ? void 0 : onClickEdit(id);
|
|
39
|
+
};
|
|
40
|
+
const handleClickPreview = e => {
|
|
41
|
+
e.stopPropagation();
|
|
42
|
+
onClickPreview === null || onClickPreview === void 0 ? void 0 : onClickPreview(id);
|
|
43
|
+
};
|
|
44
|
+
const handleRemoveThumbnail = e => {
|
|
45
|
+
e.stopPropagation();
|
|
46
|
+
modal.confirm(Object.assign(Object.assign({ title: 'Remove Template', centered: true, icon: React.createElement(Icon, { type: "icon-ants-info", style: { fontSize: 16, lineHeight: '25px' } }), content: (React.createElement("div", null,
|
|
47
|
+
React.createElement("p", null, "Are you sure you want to remove the template?"),
|
|
48
|
+
React.createElement("p", null, "This action cant not be undone."))), okText: 'Remove', cancelText: 'Cancel', closable: true }, restOfRemoveTemplateModalProps), { onOk: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
49
|
+
if (onOk)
|
|
50
|
+
onOk(id);
|
|
51
|
+
}) }));
|
|
52
|
+
};
|
|
53
|
+
const handleWrapperClick = e => {
|
|
54
|
+
e.stopPropagation();
|
|
55
|
+
onClickWrapper === null || onClickWrapper === void 0 ? void 0 : onClickWrapper(id);
|
|
56
|
+
};
|
|
57
|
+
return (React.createElement(Flex, Object.assign({ gap: 10, vertical: true }, restOfProps, { style: Object.assign({ width }, restOfProps.style) }),
|
|
58
|
+
React.createElement(ThumbnailCardWrapper, { style: { height, cursor: actionAvailable ? 'default' : 'pointer' }, onClick: handleWrapperClick },
|
|
59
|
+
React.createElement("div", { className: "screen" }, thumbnail && React.createElement("img", { src: thumbnail, alt: "" })),
|
|
60
|
+
actionAvailable && (React.createElement(React.Fragment, null,
|
|
61
|
+
React.createElement(Flex, { className: "center-action", align: "center", gap: 10, vertical: true },
|
|
62
|
+
React.createElement(Button, { type: "primary", className: "animate__animated animate__fadeIn", onClick: handleClickEdit },
|
|
63
|
+
React.createElement(Typography.Text, { ellipsis: { tooltip: editText }, style: { maxWidth: '100%', color: 'inherit' } }, editText)),
|
|
64
|
+
React.createElement(Button, { className: "animate__animated animate__fadeIn", onClick: handleClickPreview },
|
|
65
|
+
React.createElement(Typography.Text, { ellipsis: { tooltip: previewText }, style: { maxWidth: '100%', color: 'inherit' } }, previewText))),
|
|
66
|
+
removable && (React.createElement("div", { className: "top-right-corner-action animate__animated animate__fadeIn" },
|
|
67
|
+
React.createElement(Button, { type: "primary", icon: React.createElement(Icon, { type: "icon-ants-trash-outline", style: { fontSize: 24, color: '#FFFFFF' } }), onClick: handleRemoveThumbnail }))),
|
|
68
|
+
React.createElement("div", { className: "backdrop" }),
|
|
69
|
+
React.createElement("div", null, contextHolder)))),
|
|
70
|
+
!!name && (React.createElement(Typography.Text, { ellipsis: { tooltip: name }, style: { maxWidth: '100%' } }, name))));
|
|
71
|
+
});
|
|
72
|
+
ThumbnailCard.displayName = 'ThumbnailCard';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const ThumbnailCardWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
@@ -1,17 +1,24 @@
|
|
|
1
|
+
// Libraries
|
|
1
2
|
import styled from 'styled-components';
|
|
2
|
-
//
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
export const
|
|
3
|
+
// Images
|
|
4
|
+
import skeletonBackground from '../../../assets/images/background/skeleton-background.png';
|
|
5
|
+
const THUMBNAIL_CARD_RADIUS = 5;
|
|
6
|
+
export const ThumbnailCardWrapper = styled.div `
|
|
6
7
|
background-color: #e5e5e5;
|
|
7
8
|
padding: 10px;
|
|
8
|
-
border-radius: ${
|
|
9
|
+
border-radius: ${THUMBNAIL_CARD_RADIUS}px;
|
|
9
10
|
position: relative;
|
|
10
11
|
box-sizing: border-box;
|
|
12
|
+
width: 100%;
|
|
11
13
|
|
|
12
14
|
:hover {
|
|
13
15
|
.center-action {
|
|
14
16
|
display: flex;
|
|
17
|
+
max-width: 90%;
|
|
18
|
+
|
|
19
|
+
button {
|
|
20
|
+
max-width: 100%;
|
|
21
|
+
}
|
|
15
22
|
}
|
|
16
23
|
|
|
17
24
|
.top-right-corner-action {
|
|
@@ -26,7 +33,7 @@ export const TemplateItemWrapper = styled.div `
|
|
|
26
33
|
.screen {
|
|
27
34
|
width: 100%;
|
|
28
35
|
height: 100%;
|
|
29
|
-
background
|
|
36
|
+
background: center / cover no-repeat url(${skeletonBackground});
|
|
30
37
|
|
|
31
38
|
img {
|
|
32
39
|
width: 100%;
|
|
@@ -68,7 +75,7 @@ export const TemplateItemWrapper = styled.div `
|
|
|
68
75
|
}
|
|
69
76
|
|
|
70
77
|
.backdrop {
|
|
71
|
-
border-radius: ${
|
|
78
|
+
border-radius: ${THUMBNAIL_CARD_RADIUS}px;
|
|
72
79
|
position: absolute;
|
|
73
80
|
width: 100%;
|
|
74
81
|
height: 100%;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ModalFuncProps } from 'antd';
|
|
2
|
+
import { HTMLAttributes } from 'react';
|
|
3
|
+
export type TThumbnailCardId = string | number;
|
|
4
|
+
export type TRemoveModalProps = Omit<ModalFuncProps, 'onOk'> & {
|
|
5
|
+
onOk?: (id: TThumbnailCardId) => void;
|
|
6
|
+
};
|
|
7
|
+
export interface ThumbnailCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'id'> {
|
|
8
|
+
id: TThumbnailCardId;
|
|
9
|
+
name?: string;
|
|
10
|
+
width?: number;
|
|
11
|
+
height?: number;
|
|
12
|
+
thumbnail?: string;
|
|
13
|
+
removable?: boolean;
|
|
14
|
+
editText?: string;
|
|
15
|
+
previewText?: string;
|
|
16
|
+
actionAvailable?: boolean;
|
|
17
|
+
removeModalProps?: TRemoveModalProps;
|
|
18
|
+
onClickEdit?: (id: TThumbnailCardId) => void;
|
|
19
|
+
onClickPreview?: (id: TThumbnailCardId) => void;
|
|
20
|
+
onClickWrapper?: (id: TThumbnailCardId) => void;
|
|
21
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -312,7 +312,7 @@ export const UploadImage = props => {
|
|
|
312
312
|
React.createElement(Input, { label: mode === 'video' ? 'Video URL' : 'Image URL', required: required, placeholder: placeholder, value: selectedMedia.url ? selectedMedia.url : '', focused: focused, onAfterChange: value => handleSelectMedia({
|
|
313
313
|
url: value,
|
|
314
314
|
}) }))))),
|
|
315
|
-
React.createElement(Modal, { title: labelModalDelete, visible: isOpenConfirmDelete, onOk: () => handleRemoveUploadedMedia(deleteMediaRef.current, false), onCancel: () => setOpenConfirmDelete(prev => !prev), okText: "OK", cancelText: "Cancel" },
|
|
315
|
+
React.createElement(Modal, { title: labelModalDelete, visible: isOpenConfirmDelete, onOk: () => handleRemoveUploadedMedia(deleteMediaRef.current, false), onCancel: () => setOpenConfirmDelete(prev => !prev), okText: "OK", cancelText: "Cancel", destroyOnClose: true },
|
|
316
316
|
React.createElement("p", null,
|
|
317
317
|
"Are you sure you want to delete ", (_d = deleteMediaRef.current) === null || _d === void 0 ? void 0 :
|
|
318
318
|
_d.name,
|
|
@@ -30,16 +30,21 @@ export { FontFamilySelect } from './FontFamilySelect';
|
|
|
30
30
|
export { TextDecorationSelect } from './TextDecorationSelect';
|
|
31
31
|
export { TextTransformSelect } from './TextTransformSelect';
|
|
32
32
|
export { FontSetting, FontSettingEdit } from './FontSetting';
|
|
33
|
+
export { ThumbnailCard } from './ThumbnailCard';
|
|
33
34
|
export { Form } from './Form';
|
|
34
35
|
export { ResizeGrid } from './ResizeGrid';
|
|
35
36
|
export * from './RichMenu';
|
|
36
37
|
export { ModalV2 } from './ModalV2';
|
|
38
|
+
export { TemplateSaveAs, TemplateSaveAsModal } from './TemplateSaveAs';
|
|
37
39
|
export * from './PreviewModal';
|
|
38
40
|
export * from './Drawer';
|
|
39
41
|
export { EditorScript } from './EditorScript';
|
|
42
|
+
export { CalendarSelection, CalendarSelectionConstants } from './CalendarSelection';
|
|
40
43
|
export type { AdvancedPickerProps, TAdvancedPickerOption, TAdvancedRangePickerTimeRange, } from './DatePicker';
|
|
41
44
|
export type { ColorPickerProps } from './ColorPicker';
|
|
42
45
|
export type { AlignEditProps, AlignSettingProps } from './AlignSetting';
|
|
43
46
|
export type { TFontSettingProps, TFontSettingEditProps } from './FontSetting';
|
|
44
47
|
export type { IResizeGridProps, TCell, TGrid } from './ResizeGrid';
|
|
45
48
|
export type { ModalProps } from './ModalV2';
|
|
49
|
+
export type { ThumbnailCardProps } from './ThumbnailCard';
|
|
50
|
+
export type { TemplateValueOptions } from './TemplateSaveAs';
|
|
@@ -30,10 +30,13 @@ export { FontFamilySelect } from './FontFamilySelect';
|
|
|
30
30
|
export { TextDecorationSelect } from './TextDecorationSelect';
|
|
31
31
|
export { TextTransformSelect } from './TextTransformSelect';
|
|
32
32
|
export { FontSetting, FontSettingEdit } from './FontSetting';
|
|
33
|
+
export { ThumbnailCard } from './ThumbnailCard';
|
|
33
34
|
export { Form } from './Form';
|
|
34
35
|
export { ResizeGrid } from './ResizeGrid';
|
|
35
36
|
export * from './RichMenu';
|
|
36
37
|
export { ModalV2 } from './ModalV2';
|
|
38
|
+
export { TemplateSaveAs, TemplateSaveAsModal } from './TemplateSaveAs';
|
|
37
39
|
export * from './PreviewModal';
|
|
38
40
|
export * from './Drawer';
|
|
39
41
|
export { EditorScript } from './EditorScript';
|
|
42
|
+
export { CalendarSelection, CalendarSelectionConstants } from './CalendarSelection';
|
|
@@ -281,7 +281,6 @@ const Help = props => {
|
|
|
281
281
|
setAutoExpandParent(false);
|
|
282
282
|
setExpandedKeys([]);
|
|
283
283
|
};
|
|
284
|
-
useEffect(() => () => handleResetData(), []);
|
|
285
284
|
useEffect(() => {
|
|
286
285
|
if (dataRecorded) {
|
|
287
286
|
const dataRecordedBlob = new Blob(dataRecorded, { type: 'video/mp4' });
|
|
@@ -531,6 +530,29 @@ const Help = props => {
|
|
|
531
530
|
}
|
|
532
531
|
}
|
|
533
532
|
};
|
|
533
|
+
useEffect(() => {
|
|
534
|
+
const handleEvent = e => {
|
|
535
|
+
const { type, helpType, helpInfo } = e.data;
|
|
536
|
+
if (!type || !helpType || !helpInfo) {
|
|
537
|
+
return;
|
|
538
|
+
}
|
|
539
|
+
switch (type) {
|
|
540
|
+
case 'open_antsomi_help':
|
|
541
|
+
if (REPORT_TYPES[helpType]) {
|
|
542
|
+
setIsShowPopup(true);
|
|
543
|
+
callback(REPORT_TYPES[helpType]);
|
|
544
|
+
setValueInput(prev => (Object.assign(Object.assign({}, prev), helpInfo)));
|
|
545
|
+
}
|
|
546
|
+
break;
|
|
547
|
+
default:
|
|
548
|
+
}
|
|
549
|
+
};
|
|
550
|
+
window.addEventListener('message', handleEvent);
|
|
551
|
+
return () => {
|
|
552
|
+
handleResetData();
|
|
553
|
+
window.removeEventListener('message', handleEvent);
|
|
554
|
+
};
|
|
555
|
+
}, []);
|
|
534
556
|
const handleCreateTicket = (params) => __awaiter(void 0, void 0, void 0, function* () {
|
|
535
557
|
try {
|
|
536
558
|
setIsMainLoading(true);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as Menu } from './Menu';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// Libraries
|
|
2
|
+
import React, { memo } from 'react';
|
|
3
|
+
// Styled
|
|
4
|
+
import { BannerWrapper } from './styled';
|
|
5
|
+
export const Banner = memo(props => {
|
|
6
|
+
const { deviceType, showBackgroundSkeleton = false, children } = props;
|
|
7
|
+
return (React.createElement(BannerWrapper, { deviceType: deviceType, showBackgroundSkeleton: showBackgroundSkeleton },
|
|
8
|
+
React.createElement("div", { className: "device-type" },
|
|
9
|
+
React.createElement("div", { className: "device-type__wrapper" },
|
|
10
|
+
React.createElement("div", { className: "content-wrapper" }, children || null),
|
|
11
|
+
React.createElement("div", { className: "backdrop" })))));
|
|
12
|
+
});
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import styled from 'styled-components';
|
|
2
|
+
// Images
|
|
3
|
+
import skeletonBackground from '../../../../../assets/images/background/skeleton-background.png';
|
|
4
|
+
import MobileFrame from '../../../../../assets/svg/mobile-frame.svg';
|
|
5
|
+
// Constants
|
|
6
|
+
import { DEVICE_TYPE } from '../../constants';
|
|
7
|
+
const THUMBNAIL_CARD_RADIUS = 5;
|
|
8
|
+
const { MOBILE } = DEVICE_TYPE;
|
|
9
|
+
export const BannerWrapper = styled.div `
|
|
10
|
+
width: 100%;
|
|
11
|
+
height: 762px;
|
|
12
|
+
max-height: 762px;
|
|
13
|
+
overflow-y: auto;
|
|
14
|
+
display: flex;
|
|
15
|
+
justify-content: center;
|
|
16
|
+
align-items: center;
|
|
17
|
+
background-color: #0000001a;
|
|
18
|
+
|
|
19
|
+
.device-type {
|
|
20
|
+
position: relative;
|
|
21
|
+
height: 750px;
|
|
22
|
+
border-radius: ${THUMBNAIL_CARD_RADIUS}px;
|
|
23
|
+
width: 100%;
|
|
24
|
+
|
|
25
|
+
.device-type__wrapper {
|
|
26
|
+
width: 100%;
|
|
27
|
+
height: 100%;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
${p => {
|
|
31
|
+
switch (p.deviceType) {
|
|
32
|
+
case MOBILE.value:
|
|
33
|
+
return `
|
|
34
|
+
width: 416.004px;
|
|
35
|
+
height: 713px;
|
|
36
|
+
z-index: 20;
|
|
37
|
+
background: url(${MobileFrame}) no-repeat center center;
|
|
38
|
+
display: flex;
|
|
39
|
+
justify-content: center;
|
|
40
|
+
align-items: center;
|
|
41
|
+
|
|
42
|
+
.device-type__wrapper {
|
|
43
|
+
width: 391px;
|
|
44
|
+
left: 11px;
|
|
45
|
+
height: 661px;
|
|
46
|
+
top: 11px;
|
|
47
|
+
position: absolute;
|
|
48
|
+
z-index: 1;
|
|
49
|
+
border-radius: 19px 19px 19px 21px / 21px 21px 21px 21px;
|
|
50
|
+
|
|
51
|
+
.content-wrapper {
|
|
52
|
+
border-radius: 19px 19px 19px 21px / 21px 21px 21px 21px;
|
|
53
|
+
|
|
54
|
+
img {
|
|
55
|
+
border-radius: 19px 19px 19px 21px / 21px 21px 21px 21px;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
`;
|
|
60
|
+
default:
|
|
61
|
+
return p.showBackgroundSkeleton
|
|
62
|
+
? `
|
|
63
|
+
.device-type__wrapper {
|
|
64
|
+
background: center / cover no-repeat url(${skeletonBackground});
|
|
65
|
+
.backdrop {
|
|
66
|
+
border-radius: ${THUMBNAIL_CARD_RADIUS}px;
|
|
67
|
+
position: absolute;
|
|
68
|
+
width: 100%;
|
|
69
|
+
height: 100%;
|
|
70
|
+
background-color: black;
|
|
71
|
+
opacity: 0.5;
|
|
72
|
+
z-index: 10;
|
|
73
|
+
top: 0;
|
|
74
|
+
left: 0;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
`
|
|
78
|
+
: '';
|
|
79
|
+
}
|
|
80
|
+
}}
|
|
81
|
+
|
|
82
|
+
.content-wrapper {
|
|
83
|
+
position: absolute;
|
|
84
|
+
top: 0;
|
|
85
|
+
left: 0;
|
|
86
|
+
z-index: 12;
|
|
87
|
+
width: 100%;
|
|
88
|
+
height: 100%;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
`;
|